(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
