예제 #1
0
        public void PushBuffer(IMessage[] messages)
        {
            // Add messages to buffer, applying transformations
            LinkedList <IMessage> buffer = new LinkedList <IMessage>();

            foreach (IMessage message in messages)
            {
                buffer.AddLast(message);
            }

            foreach (ITransform transform in Transforms)
            {
                buffer = transform.Apply(buffer);
            }

            MidiStream.PushBuffer(buffer);
        }
예제 #2
0
 public MetaMidiStream()
 {
     MetaState  = new MetaState();
     MidiStream = new MidiStream();
 }
예제 #3
0
 public MetaMidiStream(int beatsPerMeasure, int subdivision, int bpm)
 {
     MetaState  = new MetaState(beatsPerMeasure, subdivision, bpm);
     MidiStream = new MidiStream();
     Transforms = new List <ITransform>();
 }