What's Changed
New Features / improvements
-
Made application settings portable (resolves #17 )
The application settings will no longer be written to the %APPDATA%
folder but in the <Application Folder>/settings/settings.json
file.
This makes the application more portable.
-
Changed Max. File/Folder name length
To allow better use of the changes to the tagging options below, the maximum length that can be set for folder & filenames has been increased to 150 with 100 as default (instead of 36).
Your mileage may vary on this...
-
Performers tagging overhaul (resolves #39)
New settings
- Producer checkbox: write the producer(s) tag(s) to the audiofile (only for FLAC downloads).
- Label checkbox: write the record label to the Publisher tag to the audiofile.
The tag follows the ID3 v2.4 standard for Publisher for mp3's.
Since the Vorbis Comment standard uses the "ORGANIZATION" tag for the Publisher, this tag is used in FLAC files. - Involved People checkbox: write the InvolvedPeople tag to the audiofile.
The Qobuz API gives a string containing all "performers" and their roles for a Track in a "not ideally structured" way.
In order to give the user all available info, the entire unaltered string is written to the InvolvedPeople tag.
This field is recognized in the ID3 v2.4 standard standard but not in the Vorbis Comment standard. Nevertheless the same tag is written to both MP3 and FLAC files. - PrimaryListSeparator Textfield: A string of max 3 characters which will be used to separate all but the second to last and last item of a list. Default value set to ", ".
- ListEndSeparator Textfield: A string of max 3 characters which will be used to separate the second to last and last item of a list. Default value set to "& ".
- Merge Performers checkbox: Merge the tags that consist of (possible) lists into 1 string. (unchecked by default)
Functionality is explained in a tooltip. Detailed info of impacted tags below:
AlbumArtist
Instead of using the Album.Artist.Name returned by the Qobuz API by default, now all Album.Artists returned by the Qobuz API are gathered and a list of "Album.Artist.Name"s is used instead.
First the Artists with role "main-artist" (if any) are collected and then the Artists with role "featured-artist" (if any) are added to the list.
Only if the resulting AlbumArtists list is empty, the singular Album.Artist.Name is used.
-
Merge Performers unchecked
The gathered list of AlbumArtists is written to the audio file using the respective ID3 v2.4 (MP3) or Vorbis Comment (FLAC) specifications. This means that if there are multiple artists, multiple ALBUMARTIST tags will be written to the audio file.
The Album.Artist.Name is still used in folder names (like before). -
Merge Performers checked
The gathered list of AlbumArtists is merged into a singular delimited string and written to the audio file in 1 ALBUMARTIST tag. This merged string is also used in folder names.
In order to create the merged string of artists, first all of the Main Artists are concatenated using the PrimaryListSeparator string as delimiter. This is done for all artists except for the last 2. These 2 are concatenated using the ListEndSeparator value as delimiter.
The same process is used to merge the Featured Artists if any and more then 1 are present.
Finally the merged string of Main Artists is concatenated with the merged Featured Artists list (if any), using the " Feat. " string as delimiter.
TrackArtist (Artist)
Instead of using the Track.Performer.Name returned by the Qobuz API by default, now the complete Track.Performers string, returned by the Qobuz API, is parsed (best effort) into a list of Performers and their respective roles.
From this resulting list, first the Performers with role "main-artist" (if any) are collected and then the Performers with role "featured-artist" (if any) are added to the list.
Only if the resulting Artists list is empty, the singular Track.Performer.Name is used.
-
Merge Performers unchecked
The gathered list of Artists is written to the audio file using the respective ID3 v2.4 (MP3) or Vorbis Comment (FLAC) specifications. This means that if there are multiple Performers, multiple ARTIST tags will be written to the audio file.
The Track.Performer.Name is still used in file names (like before when downloading single tracks). -
Merge Performers checked
The parsed list of Artists is merged into a singular delimited string and written to the audio file in 1 ARTIST tag. This merged string is also used in file names (when downloading single tracks).
The same merger process as described for the AlbumArtist is used to merge the Track's Main Artists and Featured Artists.
Composer
From the parsed Track.Performers string, the Performers with the Composer role are collected into a list of Composers.
Only if the resulting Composers list is empty, the singular Track.Composer.Name as returned by the Qobuz API, is used.
-
Merge Performers unchecked
The gathered list of Composers is written to the audio file using the respective ID3 v2.4 (MP3) or Vorbis Comment (FLAC) specifications. This means that if there are multiple Composers, multiple COMPOSER tags will be written to the audio file. -
Merge Performers checked
The parsed list of Composers is merged into a singular delimited string and written to the audio file in 1 COMPOSER tag.
The Composers are merged using the PrimaryListSeparator & ListEndSeparator, as described ealier.
Producer
From the parsed Track.Performers string, the Performers with the Producer role are collected into a list of Producers.
The Producers only seem to be returned in the Track.Performers string by the Qobuz API, so there is no fallback field.
The ID3 v2.4 (MP3) spec doesn't seem to provide a tag for Producer, so it's only written to FLAC files.
-
Merge Performers unchecked
The gathered list of Producers is written to the audio file in analogy with the previous described tags. This means that if there are multiple Producers, multiple PRODUCER tags will be written to the audio file. -
Merge Performers checked
The parsed list of Producers is merged into a singular delimited string and written to the audio file in 1 PRODUCER tag.
The Producers are merged using the PrimaryListSeparator & ListEndSeparator, as described ealier.
Example album Magic Island Sampler 002, 1st Track (01 - Mediterraneo (Club Mix)):
-
Results with Merge Performers UNCHECKED
Download Folder =<DownloadPath>\Der Mystik\Magic Island Sampler 002\<Quality>\
ALBUMAARTIST tag =Der Mystik\\Alex Reliic\\Perplexity\\Renov8\\EuphoriK
(= 5 separate tags)
ARTIST tag=Alex Reliic\\Perplexity\\Der Mystik & Alex Reliic
(= 3 separate tags) -
Results with Merge Performers CHECKED (PrimaryListSeparator & ListEndSeparator left default ", " and " & ")
Download Folder =<DownloadPath>\Der Mystik, Alex Reliic, Perplexity, Renov8 & EuphoriK\Magic Island Sampler 002\<Quality>\
ALBUMAARTIST tag =Der Mystik, Alex Reliic, Perplexity, Renov8 & EuphoriK
(= 1 tag)
ARTIST tag=Der Mystik, Alex Reliic & Perplexity
(= 1 tag)
Full Changelog: 1.2.1.0...1.2.2.0