Rosegarden sends a Bank selection (CC 0 + CC 32) and Program change
every single time playback starts from the beginning (i.e. measure 1,
and this includes if you are looping with a measure which includes
measure 1).
This _can_ be disabled by deselecting Bank and Program checkboxes in the
Instrument Parameters pane. But..
I think this behaviour is still a bit too 'aggressive'. An example is
using Rosegarden with Yoshimi where yoshimi is set-up to react to MSB
and program changes. If the bank and program change are on, and you have
a note on the very first beat the note is effectivelycut off. I'm
assuming this is because Yoshimi (but this could apply to any other
synth) is 'doing stuff' each time it needs to set-up a new bank/instrument.
Anyway, why does the sequencer need to send program change at each
playback restart? My experience with both hardware and soft synths is
that typically a synth/sound generator sets the program for the channel
and then retains it _unless_ it is changed. I am not aware of a synth
were bank/program set-up is directly related to position zero (plus most
synths don't even know anything about (position) time??)
Now, we know that program changes can also be embedded in a track as an
event (this was quite common with midi files in the day when you had
harder limits on numbers of tracks and midi channels), but still I think
if whoever made the midi track is embedding program changes in the
events (segments to use the rosegarden terminology) they should take
care (if needed) to embed the first program they want at position 0 in
their track(s).
If I'm setting the program in the dropdowns I probably want to retain
that program throughout the track and piece.
So my proposal would be that Rosegarden only changes bank program
changes if:
- They are selected in the pane (this is currently already like this, good!)
- The user changes them explicitly from the Instrument parameter
dropdowns (then a synth should 'remember' and keep that setting until
there is another change)
- A program change is explicitly in the track/segment
The fact that a program change is being re-sent at each restart is a bit
of an unexpected and 'hidden' behaviour which IMHO creates more
confusion than benefit as it stands.
A compromise could be to have a new option to 'Always send Bank /
Program changes when playback is restarted' in the options for users who
are really fond of this feature? :)
Lorenzo
_______________________________________________
Rosegarden-user mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user