Beispiel #1
0
        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);
        }
Beispiel #4
0
        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));
 }