;In styles without a fourth note you will hear no difference between a C and a C7. ;This program will check if all the main variations contain a fourth note. ;If not each first note is changed to a fourth note (C to B). ;A fourth will be played as a first note in a C and as a fourth note in a C7. Define PartName1-4 String Define EventNote Numeric ForEachStyle PrintLine StyleName ForEachPart Let PartName1-4 = SubString PartName 1 4 If PartName1-4 = 'Main' ForEachTrack If DrumTrack = 0 ;Exclude drum track ForEachEvent If EventType = 1 Let EventNote = Modulus DataByte1 12 If EventNote = ChordNote4 GoTo SkipPart ;This part already has fourth notes Endif EndIf NextEvent EndIf NextTrack ;Process this part again and change root notes to extended notes (mostly C to B) Print ' Repairing ' Print PartName ForEachTrack If DrumTrack = 0; Exclude drum track If TranspositionType <> 3; Exclude Bass track If SourceChordType = 0 Let SourceChordType = 2 ;Change Maj to Maj7 to make the source chord extended Endif If ChordNote4 > -1 ;Skip if there is no fourth note in the source chord of this track ForEachEvent If EventType = 1 ;Note-on Let EventNote = Modulus DataByte1 12 ;0 thru 11 is C to B If EventNote = ChordNote1 ;Change it from chordnote1 to chordnote4 Let DataByte1 = Subtract DataByte1 ChordNote1 Let DataByte1 = Add DataByte1 ChordNote4 Let DataByte1 = Subtract DataByte1 12 ;Octave lower is closer to original UpdateEvent EndIf EndIf NextEvent EndIf EndIf Endif NextTrack SaveStyle Label SkipPart EndIf NextPart NextStyle