OxygenCobalt / Auxio

A simple, rational music player for android
GNU General Public License v3.0
1.82k stars 120 forks source link

Support disc subtitle tags #331

Closed alessandrococco closed 1 year ago

alessandrococco commented 1 year ago

Description

Hi @OxygenCobalt, thanks for Auxio, it's an awesome app!


I have some multi-CD albums where each CD has a title, e.g.:

image (this is Lollypop on Linux)

The tag is DISCSUBTITLE:

image

Could Auxio show the DISCSUBTITLE (if available) next to (or instead of) Disc X?

image


ps: I'm a Java/Kotlin backend developer with a little Android experience - I could try to open a pull request 😄

Problem solved

No response

Other implementations

I don't know 😅

Benefit

This is a quality of life improvement 😄

Duplicates

OxygenCobalt commented 1 year ago

Oh, that's neat. I can do this (always willing to add new metadata support), but:

  1. What's the ID3v2 analogue for this? In vorbis you can do DISCSUBTITLE, but in ID3v2 I'm not quite sure. I'd imagine TSST (Set subtitle) would work here.
  2. Would you like it formatted like Disc 1: [subtitle] or just [subtitle]?
alessandrococco commented 1 year ago

Great, thank you!

  1. Yes, it should be TSST
  2. Uhm, maybe the disc number should remain. What about [subtitle]\nDisc N? E.g.
    The Supernal Clear Light of the Void (smaller) Disc 3
OxygenCobalt commented 1 year ago

Okay, I'll either go with your proposed style or my style, depends on which one looks better. This isn't likely to make it into the next release, but definitely the one after.

illdeletethis commented 1 year ago

while it is not directly related to this issue, could you make items tagged as "disc 0" show up as such? this would be useful for separating classical works, where an overture might not be part of any of the acts, and other apps allow it too.

OxygenCobalt commented 1 year ago

The issue is that a disc number of "zero" may refer to a legitimate pre-lude such as in your case, or that there is no disc value whatsoever. The latter is common in older files that want to maintain consistent tag sizes and thus reduced I/O work.

How about this: If a zeroed disc has a subtitle value, it will be shown. Otherwise, it will be ignored. What do you think @illdeletethis?

KraXen72 commented 1 year ago

How about this: If a zeroed disc has a subtitle value, it will be shown. Otherwise, it will be ignored. What do you think

imo good idea. for style, i think
Disc 2: The Supernal Clear Light of the Void
could work

OxygenCobalt commented 1 year ago

Good idea @KraXen72. Albeit, to retain consistency I might actually do something like:

Disc 2 (Bright Font) The Supernal Clear Light of the Void (Dimmer Font)

Sort of like how song text is structured.

Another thing: I'll probably add a special shortcut alongside this that will allow you to play and enqueue individual disc groups. Seems like a good QoL thing.

KraXen72 commented 1 year ago

galaxybrain idea good job

illdeletethis commented 1 year ago

How about this: If a zeroed disc has a subtitle value, it will be shown. Otherwise, it will be ignored. What do you think @illdeletethis?

Quite a clever solution. Sadly wouldn"t get a benefit from it before another round of retagging, since i don"t use disc subtitles yet, only realized they exist from this request. Would checking if anything else on the album has a nonzero disc number work as a condition too, or does that introduce other undesired effects?

OxygenCobalt commented 1 year ago

Would checking if anything else on the album has a nonzero disc number work as a condition too, or does that introduce other undesired effects?

Not sure. Zeroed values are removed during the initial round of tag extraction, so some heuristics would have to occur there. Do you use "total discs" values @illdeletethis? I could implement a check where zeroed discs are accepted only if the "total disc" tag is also present and non-zero.

illdeletethis commented 1 year ago

Great solution, yes, that"d work

OxygenCobalt commented 1 year ago

Okay, I'll do that and the subtitle check when adding this.

OxygenCobalt commented 1 year ago

Okay, I got this implemented.

Screenshot_20230121-172120_Auxio_Debug_1

Note: While I did add the total disc check to accept zeroed discs, I decided not to add the subtitle check, as it was much harder to test.

KraXen72 commented 1 year ago

oh, the disc names wont make it into the app? i might also be misunderstanding this.

OxygenCobalt commented 1 year ago

No, disc names are making it into the app @KraXen72. They just won't factor in to the new checks for whether a disc number of 0 was intentional or not.