The logical instruments branch now saves and restores the "fixedness" of
instruments' channels. It works correctly on my test files. I was able
to make it forward and backward compatible, so I just bumped
FILE_FORMAT_VERSION_POINT up to 1.
I thought the best thing to do was group "fixed" with "channel" that it
affects, so I made it an attribute of of "instrument" too. The affected
XML looks like:
: <instrument id="2000" channel="0" fixed="false" type="midi">
Oddly, channel means something different for each type of Instrument.
Someone please correct me if I'm wrong, I'm going by the comments in
RoseXmlHandler.cpp that "Synth and Audio instruments always have the
channel set to 2." implying that (as I suspected) SoftSynth are not
playing on distinct channels as MIDI are. I also see that Audio uses it
to mean "mono or stereo".
I removed the handler.channelsWereRemapped message in
RosegardenDocument::xmlParse, since it no longer applies and it now can
never fire.
I also added another example file with a fixed instrument, this one saved
with the new code. It loads in old versions but triggers the
channelsWereRemapped message because of the fixed instrument.
Tom Breton (Tehom)
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel