[jmsl] MidiInstrumentSending Program Message

jmsl at music.columbia.edu jmsl at music.columbia.edu
Mon May 11 15:59:33 EDT 2009


Hi Chi

Yes, sendin the program change is part of opening the instrument.  I 
could change this behavior but then existing applications that expect 
this behavior will break.

Maybe the best thing to do is for JMSL midi to include a user-definable 
switch which only sends program change N once on a particular channel. 
This could run into scary side effects so it would have to be something 
the programmer took responsibility for and programmed for it.  Maybe 
something like the following (with less ridiculous names eventually):

JMSL.midi.onlySendMIDIProgramOnce(true);
JMSL.midi.clearMIDIProgramChannelTable();   // do this before each launch!
myPiece.launch(JMSL.now());

Have to think about this

???
Nick

jmsl at music.columbia.edu wrote:
> Hi,
>
> Is there way to make MidiInstrument to send program message only when 
> setProgram is called instead sending it every time a MusicShape repeats?
> Every time MusicShape repeats, MidiInstrument sends a program message 
> that delays an external midi device in the beginning. As a result, I 
> hear a hickup in the beginning of every repeat. If I don't setProgram 
> for MidiInstrument, it doesn't have that hickup. However, I have to 
> manually set the program for all the channels from my external device.
> Thanks,
>
> Chi
> _______________________________________________
> jmsl mailing list
> jmsl at music.columbia.edu
> http://music.columbia.edu/mailman/listinfo/jmsl


More information about the jmsl mailing list