sentriz/gonic

feat: use `originalReleaseDate` and set `year` to edition year

Opened this issue · 4 comments

Since #132, gonic returns original release date as the release date.

Firstly, having this as a default is unfortunately confusing for users. Importing, e.g., a recently released remastered 20th anniversary special something edition album does not make the album show up when looking at releases from this year. When looking at artists who have re-released a large part of their discography, it makes distinguishing between the original and the remaster unnecessarily difficult.

Secondly, it makes me question and debug my metadata tagging process, as seeing an album show up with a wildly different date than expected makes me think that something has messed up. Musicbrainz contains both dates, and at least in beets you can configure your tagging process to use one or the other. Having both values in the metadata and then seeing software report the value of one tag as the value of another is something I'd consider a bug, not a feature.

Finally, it is inconsistent with regards to how most other music software works.

However, I see the value of the use-case described (in fact, I used to do the same thing many years ago, except by utilizing the aforementioned tagging option in beets). The simple solution would be to make this non-standard behavior opt-in. For a more comprehensive solution, looking at the opensubsonic docs, I see that there is now a "originalReleaseDate" field. Would it be feasible to use that? I would definitely welcome if opensubsonic-compatible clients would be able to show me both dates.

I'm willing to help implement this, but skimming the code it would probably need to touch the DB schema, which is not something I'm comfortable doing as an occasional drive-by contributor and would require your guidance in this regard. If you'd want to go the opt-in route, I can probably make a PR for that.

i see. i definitely prefer the current behaviour personally. when i look at an artists discography i'd like to see it in chronological order, regardless of when a particular reissue or remaster came out. and legacy clients only look at the "year" field

but i see the point. you propose that we make gonic's current year to be originalReleaseDate, and year be the edition year

we can do that, just unfortunate that clients like dsub will show artist's discographies in a weird order (assuming no config option, which i'd rather not add)

The main issue with the current behavior is that it forces a certain behavior without allowing the alternative.

If year would return the year like it used to, users who want to use original years can do so by simply setting it to the original year.
Now that year returns original_year, to get gonic to return me the original year, I can either:

  • delete original_year from the tags, thus losing information
  • swap the values of original_year and year, which is quite silly

I can see why you'd want to avoid introducing a config option for such a small change, but I wouldn't call it "weird order", for some people, that is the correct order :)

If you want to keep the current behavior, I can patch it out locally, just thought that now that opensubsonic exists, it might be nice to use some of the features.

i agree it's the right thing to do. maybe we can get dsub to respect originalReleaseDate in the far future

Great, let me know if you'd like help implementing/testing it.