internal override void DisconnectMidiDev(clsBassOutMidi bassoutmidi) { CheckOK(Bass.ChannelStop(bassoutmidi.MidiStream)); CheckOK(BassMix.MixerRemoveChannel(bassoutmidi.MidiStream)); CheckOK(Bass.StreamFree(bassoutmidi.MidiStream)); bassoutmidi.MidiStream = 0; }
internal override void ConnectMidiDev(clsBassOutMidi bassoutmidi) { //mixed by windows/hardware bassoutmidi.MidiStream = CheckHandle(BassMidi.CreateStream( bassoutmidi.NumMidiChans, BassFlags.AutoFree, 1)); bassoutmidi.InitStream(); //soundfonts etc. CheckOK(Bass.ChannelPlay(bassoutmidi.MidiStream, false)); }
internal override void ConnectMidiDev(clsBassOutMidi bassoutmidi) { bassoutmidi.MidiStream = CheckHandleHard(BassMidi.CreateStream( bassoutmidi.NumMidiChans, BassFlags.Decode | BassFlags.Float, 1)); bassoutmidi.InitStream(); CheckOKHard(BassMix.MixerAddChannel( MixerStream, bassoutmidi.MidiStream, BassFlags.Default)); }
internal override void DisconnectMidiDev(clsBassOutMidi bassoutmidi) { CheckOK(Bass.ChannelStop(bassoutmidi.MidiStream)); Bass.StreamFree(bassoutmidi.MidiStream); //may be already be freed by channelstop bassoutmidi.MidiStream = 0; }
internal abstract void DisconnectMidiDev(clsBassOutMidi bassoutmidi);