Quite a while back there was talk of maybe adding a Key field in the Song Details - is that still on the cards?
If not could it be?
The reason I raise it now is that I was thinking about a neater way of having the same song multiple times in your library, with audio tracks and/or lyrics in different keys AND then doing song matching for local lyrics in a Network Session environment.
Currently, if you have multiple instance of the same song in different Keys (or even different tempos), it is quite common to add that information into the Song Title field, or the Artist field.
This is done because the current local lyric song matching in a network Session setup only compares Song Title and Artist to find a local match.
So, if you have SongA by artist "The Band" in the Key of F and also in the Key of G you might store them as:
Title: SongA (Key F)
Artist: The Band
Title: SongA (Key G)
Artist: The Band
as mentioned, the other way some do it is to repurpose the Artist field:
Title: SongA
Artist: Key F
Title: SongA
Artist: Key G
this way there is a unique Title/Artist combination for local lyric matching.
In ST4, we've had some additional fields added to the Song Details - Year and Song Notes. I'm sure I recall some discussion about also adding a dedicated field for Key, which would be helpful and neat.
The reason for that is that if there was a Key field AND the local lyric matching logic was expanded to include it, then it would allow us to stop making a mess of the title and artist fields. We could have:
Title: SongA
Artist: The Band
Key: F
Title: SongA
Artist: The Band
Key: G
and that would give us (1) unique matching fields to get the correct match, and (2) the Title and Artist fields are now 'clean' and accurate.
I know this may feel like over-engineering and over-complicating something that we already have a workaround for.
To make the matching logic a little 'safer', it could be set to only check the Key field when there are 2 songs with identical title and artist. I.e. the Key field becomes a tie breaker only when needed. This will stop people accidently messing up by having the Key defined for a song on a Host, but forgetting to do same on a client, and that causing the matching to not find a match.
It would also be 'backward compatible' (i.e. not break matching for existing stuff) so there would be no risk of creating problems for users unintentionally.