Suggestion: Global transpose in filter

Bug report for @brad:

I found a bug in this new feature that occurs when a MIDI route is located in a rack. If the global transpose changes while the rack is disabled, then any global transpose filters within the rack mistakenly use the old global transpose value when the rack gets re-enabled (Cantabile Performer Build 4309).

Steps to reproduce:

  1. Create a fresh song and create a fresh embedded rack in it.
  2. Create a MIDI route from your Main Keyboard input port to the rack’s MIDI-In, and another MIDI route from the rack’s MIDI-Out to the Onscreen Keyboard. Be sure that both routes’ settings have “Ignore Global Transpose” turned on.
  3. Within the rack, create a MIDI route from the rack’s MIDI-In to its MIDI-Out. Again, ensure that this new route has “Ignore Global Transpose” turned on.
  4. Add a Transpose filter to the in-rack route you created in step 3, and set it to “Apply” the global transpose.
  5. Ensure the global transpose is set to 0, and play a key on your keyboard. You should see the same key light up on the onscreen keyboard (correct behavior).
  6. Disable the rack, then change the global transpose to +1, then re-enable the rack.
  7. Play a key on your keyboard. Observed behavior: The non-transposed key still lights up on the onscreen keyboard (incorrect behavior). Expected behavior: It should have lit up the key one semitone up.
  8. Open up the settings for the in-rack route you created in step 3, and click OK without changing any settings.
  9. Repeat step 7. Observe that the error has been corrected — the filter is now transposing properly.