(Please excuse crappy webmail formatting. No spell check!)

Hooookay.. Ol' Timmy has just about finished the work.
Merged into trunk. No more Song Type :-)


You need to know at least one thing:
------------------------------------------------------

Old MusE: Choose your exact Instrument, say XG or
Binford2000, and use the Song Type setting to change
what 'Mode' the Instrument is in - GM, GS, or XG. 

(Most devices, including XG, allow at least GM mode.)


New MusE: Choose the Instrument that fits the desired mode.
If you want GM mode from your XG instrument,
 choose the GM Instrument !

If you want GM mode from your fancy Binford2000 device,
 choose the GM Instrument !


Yes, I would have preferred to "select my exact instrument
and choose some mode for it so that I know at all times
I am indeed using that model instrument."

But that would mean multiple Init sequences AND mutiple
 patch and controller lists in the .idf files.

Essentially copying what's already in the GM, GS and XG files.
(I observed that some devices in their native modes have 

GM patch sets sandwiched among the others but they are 

NOTGM patch numbers. Thus multiple patch lists required.)

After careful study it's clear that all devices which support GM
can (must) use the same GM .idf file.
Although, there are differences even in 'standard' GM support
(additional drum notes etc.) 

So if you want 'em, make a new .idf file !

Hope it all works out...

There are a few things left:
----------------------------------------

I need to take care of sending inital values when rewound. 

You may notice it may not completely reset all controllers 

to Instrument defaults when rewound right now, but I believe
it sends the Instrument Init sequences (the Mode sysexes)
and any stored automation controllers. Just not Instrument 

 defaults I think.


Somebody (all of us) should go through ALL our instruments and
add pertinent Init sequences in the Instrument Definition Files (.idf).
Four are done so far: GM, GS, XG, and Yamaha S90 (borrowed 

 from muse_evoution).


And one or two other details.

No doubt there will be issues cropping up so try it and let me know.

Please thoroughly test: 
--------------------------------

All importing/exporting of midi files, including self-export and 

re-import, along with the new multi-port features and options.

Go import a bunch of GM, GS, and XG songs from the web.
Try 'add to song', with an existing Fluidsynth and see how it works.
(Hint: Trying to make playing midis as easy as possible, ie. could
 possibly be used towards a "MusE player" mode or separate app. 

Need to add things like a "default soundfont" to use, and more 

options for default instrument etc.)


Midi track info patch popup lists for correctness/operation.
Midi track info patch HBank, LBank, and Prog box correctness/operation.

That's with both real instruments and synths.


All things which depended on Song Type.


Well, cheers for now, me talk too much... 

Tim.


Here's a work summary for you:
-------------------------------------------


         * !!! Song type is now removed !!! :            TODO: Instrument init 
sequences. Need some kind of editor. Need timing mechanism while in 'stop' 
mode. 

                 Was thinking these events should be in FRAMES or real time - 
not affected by tempo. Jack slow sync 
                  callback might help. (Also try to re-enable metronome 
precount - similar concept here!)
         * Improved: Multi-port (aka multi-channel) midi import and export, via 
Device Name, Port, or Instrument metas. 

           - MusE can now export a midi file and re-import exactly as it was, 
all ports + devices + instruments incl.
           - Extra options for import/export added.
           - Import midi now passes 'unabsorbed' meta events on to the track. 
They were discarded before - lost forever.
           - Solved: Export midi now stores an instrument's Init sequence, 
instead of the old song type sysexes.
           - MPEventList now has highly customized same-time sorting, helps 
'cement' import/export events in place, such 
              as controllers or program changes before notes, instrument metas 
before mode sysexes. (EventList NOT done.)

         - Old bug: Fixed superfluous NULLS in meta texts in midi export.
         - Old bug, annoying: Midi Import: parts are too short and 'events past 
end' indicator is on.
         - TODO: Bug: Deicsonze: Midi track info patch popup: Screen all black 
until esc or click.
         - Fixed old fluidsynth bug: Drum patch numbers incorrect. 
           Confusion due to special fluidsynth drum bank = 129. Changed 
FluidSynth::getFirstPatch, 
            ::getNextPatch, and CTRL_PROGRAM section of ::setController. 
         - Midi track info patches popup menu: Don't display category if empty. 


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to