private static bool OnNoteOff(IMessage message, BasicInstrument inst) { return(CheckAndApply <NoteOffMessage>(message, (msg) => { if (inst.MatchesChannel(msg.Note)) { inst.StopNote(msg.Note); } })); }
void Start() { if (instrument == null) { instrument = GetComponent <BasicInstrument>(); } if (instrument != null) { instrument.running = true; StartCoroutine(Ticker()); } }
private static bool OnTimeTickMessage(IMessage message, BasicInstrument inst) { // TODO: Once MidiStream.MillisecondsPerTick is implemented, this needs to use that. return(CheckAndApply <TimingTickMessage>(message, (msg) => inst.ticks = msg.TimeDelta)); }