Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for non-numeric tracknumbers tags #1652

Closed
awsms opened this issue Mar 13, 2022 · 8 comments
Closed

Support for non-numeric tracknumbers tags #1652

awsms opened this issue Mar 13, 2022 · 8 comments

Comments

@awsms
Copy link

awsms commented Mar 13, 2022

A TON of vinyl rips are tagged A1, A5, B4 etc. A bit sad to see these albums not sorted in correct order in navidrome :(
It looks like Airsonic do support them fine.

@certuna
Copy link
Contributor

certuna commented Mar 16, 2022

This would be worth looking at, but the id3v2.4 standard does say it should be numeric:

  TRCK
   The 'Track number/Position in set' frame is a numeric string
   containing the order number of the audio-file on its original
   recording. This MAY be extended with a "/" character and a numeric
   string containing the total number of tracks/elements on the original
   recording. E.g. "4/9".

FLAC/Vorbis of course has no standard, so "A1" is not wrong there.

Allowing non-numeric track numbers would make it harder to add functionality like "detect incomplete albums" later though.

@DJoLoAo
Copy link

DJoLoAo commented Oct 27, 2022

I definitely need tracknumber to be alphanumeric too, all my library contains ripped vinyl in flac. Right now Navidrome doesn't display the tracks in the right order.

@deluan
Copy link
Member

deluan commented Nov 10, 2022

Thanks for reporting. I also have albums like this, my workaround is simply change the tracks to a numeric sequence (1, 2, 3,...) I may take a look at this later, but it is not a priority for now.

@DJoLoAo
Copy link

DJoLoAo commented Nov 11, 2022

Thanks for your answer. Would it be a problem to change the variable to string? I´m not willing to change the right order just to have work around. I prefer to make a fork. For this I´d like to know if it would make a logic problem inside navidrome to use string instead, thx and big up for your fab work!

@deluan
Copy link
Member

deluan commented Nov 11, 2022

For this I´d like to know if it would make a logic problem inside navidrome to use string instead

Go is a typed static language, Just change the type to string and see where it breaks :) But.....

Would it be a problem to change the variable to string?

In the Subsonic API, track is numeric, so this would not work or even break communication with some (all?) Subsonic clients.
If you really want this I think the best thing to do is:

  1. At scan time, convert "A1", "A2", ... to 1, 2... At least the tracks would be valid for all clients (subsonic and ND's UI)
  2. Optionally, you could add a new field (TrackStr?) in the media_file model/table, store the original string value there. It would be automatically exposed to Navidrome's UI, where you could display it instead of the numeric one. This would not change how track numbers are displayed in Subsonic clients, thou.

If you really implements this, a PR would be great! Good luck!

@certuna
Copy link
Contributor

certuna commented Nov 23, 2022

I like the TrackStr idea, should be fairly simple to implement at scan time. Do an IsNumeric check, if false then populate the TrackStr field in the media_file table.

Client-side, if there's no track number, then display TrackStr. And sort tracklists first by TrackNr then by TrackStr

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity. The resources of the Navidrome team are limited, and so we are asking for your help.
If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.
This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.

@github-actions github-actions bot added the stale label May 23, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 22, 2023
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants