Others have discussed the merits of having a "tweak by album" feature; I'll take it as given and look at the mechanics of implementing it.
In reply to:
- Introduce the concept of an album to the player's database format. Each track would belong to an album, not just have a Source field. The albums wouldn't have to be named, I'd just use a unique ID number for them internally.
- Create a UI in Emplode in which songs can be selected and added to these albums. Possibly just by designating an album playlist as, well, an album playlist. Possibly by drag-and-dropping them into some list of album entries, but I don't like that as much as the album playlist idea.
- Each track within that album would have a reference to the album in the database, which would in turn have references to each of the album's tracks (sorted.)
- When listening to the track and you want to hear the album, the player just cross-references the track to the album, and tweaks the order with the album's contents.
I think we can do this without having to change the database format, as follows. Define an album as "a playlist that has the same name as the Source field of track in question." That's not a perfect definition, of course. But if we extend the definition to constrain the result to be "the playlist that has the same name as the Source field of track in question and most closely contains the track," we can deal with the majority of cases. (If such a playlist doesn't exist, I guess we should just say "no match".)
This definition deals neatly with albums like Black Sabbath, which in my setup is a child playlist of Black Sabbath (the band), as the album is a closer ancestor than the artist. I expect this is true for most people. It also deals with albums like The Wall (for those who have separate Side 1 etc. sub-playlists) and ELO's Out Of The Blue (for those who make a sub-playlist for the Concerto For A Rainy Day).
OTOH, it does seem wrong to constrain playlist layout, even in such a tiny way. So it might be nice to have an "options" flag to indicate that a playlist is to be considered an album for all tracks whose Source field matches.