> On Thu, 5 Feb 2015 20:22:34 +0000
> Abrolag <[email protected]> wrote:
>
> [...]
> I've tried attaching the MIDI version of my test file if anyone wants to
> have a
> look at it and see what happens.
>

Have looked at your test MIDI and let MidiEvent::print trace it out. 
Thank you, and also thank whoever created MidiEvent::print years ago.

The one wrong-looking thing I see is that we never erase the msb and lsb
variables.  Once case MIDI_CTRL_CHANGE has set lsb or msb, case
MIDI_PROG_CHANGE will consider it set to that value, forever, until case
MIDI_CTRL_CHANGE sets another value.  We don't aim lsb and msb at a
specific channel, either, so other channels' MIDI_PROG_CHANGEs could be
affected.

My suspicion is that remembering lsb,msb after MIDI_PROG_CHANGE confuses
later MIDI_PROG_CHANGEs that don't have bank controllers, and also we
probably shouldn't share them between channels.

Does this make sense to you?

        Tom Breton (Tehom)

PS: Added a CC to the devel list.  Does this still need to go to RG-user?


------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to