[GH-ISSUE #10] Multiple Album Artists #7

Closed
opened 2026-02-27 15:47:54 +03:00 by kerem · 2 comments
Owner

Originally created by @markjoshwel on GitHub (Dec 14, 2021).
Original GitHub issue: https://github.com/Rafiuth/Soggfy/issues/10

As an example, the song Bruno Mars, Anderson .Paak, Silk Sonic - Leave The Door Open would be saved under Bruno Mars\An Evening With Silk Sonic\2. Leave The Door Open.ogg.

Is it intentional to treat the album artist as the first artist (Bruno Mars) rather than include all of the album artists? (Bruno Mars, Anderson .Paak, Silk Sonic)

I've noticed that this behaviour comes from SpotifyOggDumper/StateManager.cpp:389 where the name of the first artist in the artists key is taken.

Originally created by @markjoshwel on GitHub (Dec 14, 2021). Original GitHub issue: https://github.com/Rafiuth/Soggfy/issues/10 As an example, the song [Bruno Mars, Anderson .Paak, Silk Sonic - Leave The Door Open](https://open.spotify.com/track/7MAibcTli4IisCtbHKrGMh?si=cfcec3a91b5a45ca) would be saved under `Bruno Mars\An Evening With Silk Sonic\2. Leave The Door Open.ogg`. Is it intentional to treat the album artist as the first artist (Bruno Mars) rather than include all of the album artists? (Bruno Mars, Anderson .Paak, Silk Sonic) I've noticed that this behaviour comes from [SpotifyOggDumper/StateManager.cpp:389](https://github.com/Rafiuth/Soggfy/blob/master/SpotifyOggDumper/StateManager.cpp#L389) where the name of the first artist in the `artists` key is taken.
kerem closed this issue 2026-02-27 15:47:54 +03:00
Author
Owner

@markjoshwel commented on GitHub (Dec 14, 2021):

Is it intentional to treat the album artist as the first artist (Bruno Mars) rather than include all of the album artists? (Bruno Mars, Anderson .Paak, Silk Sonic)

I'm trying to read your codebase (I come from a background of Python experience, C++ is still not too easy for me to read) and it appears that you do indeed merge all the artists together. (SpotifyOggDumper/StateManager:382)

However I think my issue comes from the bundled config.json in the releases, as the "track_path_fmt" key is set to "%userprofile%/Music/Soggfy/{album_artist}/{album_name}/{track_num}. {track_name}.ogg") rather than "%userprofile%/Music/Soggfy/{artist_name}/{album_name}/{track_num}. {track_name}.ogg") (as per SpotifyOggDumper/StateManager.cpp:57). This means that I encounter my issue with only the first artist name being used as album_artist only uses the first artist name rather than artist_name.

<!-- gh-comment-id:993407749 --> @markjoshwel commented on GitHub (Dec 14, 2021): > Is it intentional to treat the album artist as the first artist (Bruno Mars) rather than include all of the album artists? (Bruno Mars, Anderson .Paak, Silk Sonic) I'm trying to read your codebase (I come from a background of Python experience, C++ is still not too easy for me to read) and it appears that you do indeed merge all the artists together. ([SpotifyOggDumper/StateManager:382](https://github.com/Rafiuth/Soggfy/blob/master/SpotifyOggDumper/StateManager.cpp#L382)) However I think my issue comes from the bundled config.json in the releases, as the `"track_path_fmt"` key is set to `"%userprofile%/Music/Soggfy/{album_artist}/{album_name}/{track_num}. {track_name}.ogg")` rather than `"%userprofile%/Music/Soggfy/{artist_name}/{album_name}/{track_num}. {track_name}.ogg")` (as per [SpotifyOggDumper/StateManager.cpp:57](https://github.com/Rafiuth/Soggfy/blob/master/SpotifyOggDumper/StateManager.cpp#L57)). This means that I encounter my issue with only the first artist name being used as `album_artist` only uses the first artist name rather than `artist_name`.
Author
Owner

@Rafiuth commented on GitHub (Dec 14, 2021):

Yes, this is the default behavior, but you can change {album_artist} to {artist} in the config.json file, to get all artists like in your example.

The code at StateManager:57 is outdated, I changed the keys a while back and forgot to change this.

By the way, you can use any key listed in StateManager:387 in the config.json path variables.

<!-- gh-comment-id:993447794 --> @Rafiuth commented on GitHub (Dec 14, 2021): Yes, this is the default behavior, but you can change `{album_artist}` to `{artist}` in the config.json file, to get all artists like in your example. The code at [StateManager:57](https://github.com/Rafiuth/Soggfy/blob/master/SpotifyOggDumper/StateManager.cpp#L57) is outdated, I changed the keys a while back and forgot to change this. By the way, you can use any key listed in [StateManager:387](https://github.com/Rafiuth/Soggfy/blob/master/SpotifyOggDumper/StateManager.cpp#L387) in the config.json path variables.
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Soggfy#7
No description provided.