In another closed posting the camelot conversion was discussed:
convert-initialkey
I learned that according to the ID3 standard http://id3.org/id3v2.4.0-frames only the musical notation is allowed in the "Initial Key" frame TKEY. Some software tools can store different notation. VirtualDJ for example can display key different but does save tags back only in musical notation (they follow standards!). I learned this in the good VirtualDJ forum.
Due to this I created two new tags "OPENKEY" and "LANCELOT". With the following two actions in Mp3tag the "INITIALKEY" is used to create the other keys.
Action: key_initial2lancelot
Action type: Format value
Field: LANCELOT
Format string: $replace(%initialkey%,Abm,1A,Ebm,2A,Bbm,3A,Fm,4A,Cm,5A,Gm,6A,Dm,7A,Am,8A,Em,9A,Bm,10A,F#m,11A,Dbm,12A,B,1B,F#,2B,D#,3B,Ab,4B,Eb,5B,Bb,6B,F,7B,C,8B,G,9B,D,10B,A,11B,E,12B)
Action: key_initial2open
Action type: Format value
Field: OPENKEY
Format string: $replace(%initialkey%,Abm,6m,Ebm,7m,Bbm,8m,Fm,9m,Cm,10m,Gm,11m,Dm,12m,Am,1m,Em,2m,Bm,3m,F#m,4m,Dbm,5m,B,6d,F#,7d,D#,8d,Ab,9d,Eb,10d,Bb,11d,F,12d,C,1d,G,2d,D,3d,A,4d,E,5d)
In principle this method works, however the replacement gives partially wrong results. For example "F#m" is replaced with "1111B" for Harmonic=Lancelot=Camelot. How can this please be corrected? A limitation to exact strings and not parts of a string is required.
The replace command in actions would be an option with (exact words) however then you need 2 x 24 replace commands for both actions. And first two "format string" commands to copy data from INITIALKEY to the two fields. Editing the action MTA-file is a good alternative. Action file are located her:
"C:\Users\USER\AppData\Roaming\Mp3tag\data\actions*.mta"
If there is no other proposal, I will do this and share the MTA-file if requested.

