public void Stop() { FluidSynth.Stop(); _midiBuffer = null; // Clear databuffer for GC _state = MidiState.Finished; }
public InputState(MouseState mouse = null, KeyboardState keyboard = null, JoystickState joystick = null, MidiState midi = null) { Mouse = mouse ?? new MouseState(); Keyboard = keyboard ?? new KeyboardState(); Joystick = joystick ?? new JoystickState(); Midi = midi ?? new MidiState(); }
public InputState(MouseState mouse = null, KeyboardState keyboard = null, TouchState touch = null, JoystickState joystick = null, MidiState midi = null, TabletState tablet = null) { Mouse = mouse ?? new MouseState(); Keyboard = keyboard ?? new KeyboardState(); Touch = touch ?? new TouchState(); Joystick = joystick ?? new JoystickState(); Midi = midi ?? new MidiState(); Tablet = tablet ?? new TabletState(); }
public Midi(string defaultSoundFontPath) { _state = MidiState.None; if (!FluidSynth.Initialize(defaultSoundFontPath)) { throw new Exception("Midi initializing failed"); } }
public void Play(DataBuffer midiBuffer) { if (_state == MidiState.Playing) { throw new InvalidOperationException("Midi must be stopped before playing assigning a new buffer"); } _midiBuffer = midiBuffer; _state = MidiState.Playing; FluidSynth.Play(midiBuffer.GetIntPtr(), midiBuffer.GetSize()); }