public MidiSignal Allocate(MTrkEvent data) { var signal = _freeSignals.Count > 0 ? _freeSignals.Pop() : new MidiSignal(); signal.Event = data; _usedSignals.Push(signal); return(signal); }
public bool Check(MTrkEvent e) { if (e is NoteEvent midiEvent) { return(Check(midiEvent)); } return(false); }
public bool Check(MTrkEvent e, out NoteEvent noteEvent) { if (e is NoteEvent ne) { noteEvent = ne; return(Check(ne)); } noteEvent = null; return(false); }
public MTrkEventLabel(MTrkEvent mTrkEvent) { var eventName = mTrkEvent.GetType().Name; style.flexDirection = new StyleEnum <FlexDirection>(FlexDirection.Row); // Remove Event eventName = eventName.Remove(eventName.Length - 5); var eventNameLabel = new Label(eventName); eventNameLabel.style.width = 100; Add(eventNameLabel); AddParameterElement("Ticks", mTrkEvent.Ticks.ToString(), 100); // AddParameterElement("Ticks", (int) mTrkEvent.Ticks, 100, x => Debug.Log(x.newValue)); }
private void PushSignal(MTrkEvent mTrkEvent) { _frameData.output.PushNotification(_playable, _signalPool.Allocate(mTrkEvent)); }