On Fri, 3 Feb 2012, Element Green wrote:
If your MIDI song itself contains a CC7 event you could perhaps filter
it with the FluidSynth MIDI router:
router_begin cc
router_par1 7 7 1 0
router_par2 0 127 0 127
router_end
I think that would cause all CC 7 events received to set the volume to
100% (127).
That was my thinking as well. The downside is that, to be on the safe
side, it appears you should first issue a router_clear command and rebuild
the 1:1 mapping from scratch, excluding CC7 (and CC39, as I believe main
volume is a 14-bit controller).
At this point, you can either add a new CC7 rule or just "set it and
forget it."
Fortunately, there's only note, cc, prog, pbend, cpress, and kpress, so
it's not like it takes thousands of lines. Still, it sure would be nice
to be able to issue a command like "router_clear cc".
If the MIDI song has a MIDI reset command in it, then I'm not real sure
how to handle that off hand.
Generally speaking, that should *never* happen, however, AFAIK, the
majority of "hardware" synths handle it by ignoring it. :) On a linux
system, I might bang out a quick-and-dirty filter to interpose between
fluidsynth and the event source (the ALSA sequencer API makes this easy),
but darned if I know what to do with windows.
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev