Exemple #1
0
 public unsafe void SetPlaybackCallback(MidiEventHandler handler)
 {
     LibFluidsynth.fluid_player_set_playback_callback(Handle,
                                                      Utility.PassDelegatePointer <LibFluidsynth.handle_midi_event_func_t>(
                                                          (d, e) =>
     {
         using (var ev = new MidiEvent(e))
         {
             return(handler(ev));
         }
     }, out var b), null);
     _handler = b;
 }
Exemple #2
0
 public unsafe MidiRouter(Settings settings, MidiEventHandler handler)
     : base(LibFluidsynth.new_fluid_midi_router(settings.Handle,
                                                Utility.PassDelegatePointer <LibFluidsynth.handle_midi_event_func_t>(
                                                    (d, e) =>
 {
     using (var ev = new MidiEvent(e))
     {
         return(handler(ev));
     }
 },
                                                    out var wrapHandler), null))
 {
     _settings = settings;
     _handler  = wrapHandler;
 }
Exemple #3
0
 public unsafe MidiDriver(Settings settings, MidiEventHandler handler)
     : base(new_fluid_midi_driver(
                settings.Handle,
                Utility.PassDelegatePointer <handle_midi_event_func_t>(
                    (d, e) =>
 {
     using (var ev = new MidiEvent(e))
     {
         return(handler(ev));
     }
 }, out var b),
                null))
 {
     _handler  = b;
     _settings = settings;
 }
 public MidiRouter(Settings settings, MidiEventHandler handler, byte [] eventHandlerData)
     : base(LibFluidsynth.Midi.new_fluid_midi_router (settings.Handle, (d, e) => handler (d, new MidiEvent (e)), eventHandlerData), true)
 {
 }
 public MidiDriver(Settings settings, MidiEventHandler handler, byte [] handlerData)
     : base(LibFluidsynth.Midi.new_fluid_midi_driver(settings.Handle, (d, e) => handler(d, new MidiEvent(e)), handlerData), true)
 {
 }
Exemple #6
0
        /// <summary>
        /// Remove a previously set Event Handler
        /// </summary>
        /// <param name="handler"></param>
		public void RemoveEventHandler(MidiEventHandler handler )
		{
            //midi.TraceMessage("MidiPort: RemoveEventHandler()");
			OnMidiInputPortData -= handler;
		}
Exemple #7
0
        // NOTE: Race condition.  Not being set during startup, but works ok if connected after started.
		#region IMidiDynamicEvent
        /// <summary>
        /// Set an event handler to receive input MIDI data.
        /// </summary>
        /// <param name="handler">The event handler to be called when MIDI data is received</param>
		public void SetEventHandler(MidiEventHandler handler )
		{
            //midi.TraceMessage("MidiPort: SetEventHandler()");
			OnMidiInputPortData += handler;
		}