コード例 #1
0
ファイル: EventStore.cs プロジェクト: starakaj/syncopaste
    IEnumerator AddMidiEventWithTimeBoundaries(MidiEvent e, float startSeconds, float endSeconds)
    {
        yield return new WaitForSeconds(startSeconds);

        mevent = e;
        endValidTime = Time.time + (endSeconds - startSeconds);
    }
コード例 #2
0
ファイル: MIDICounter.cs プロジェクト: starakaj/syncopaste
 void HandleMidiEvent(MidiEvent e)
 {
     if (outputEnabled) {
         MidiEventListener[] listeners = FindObjectsOfType<MidiEventListener> ();
         foreach (MidiEventListener l in listeners) {
             if (l.RespondsToMidiEvent (e, this))
                 l.HandleMidiEvent (e, lookaheadSeconds, this);
         }
     }
 }
コード例 #3
0
    IEnumerator UpdateColorForMidiEventWithDelay(MidiEvent e, float lookahead, MIDICounter source)
    {
        yield return new WaitForSeconds (lookahead);

        SynchronizedMIDISwapper swapper = GameObject.Find ("MidiManager").GetComponent<SynchronizedMIDISwapper> ();

        if (swapper.ActiveMIDICounter () == source) {
            SongData.BeatType beatType = SongData.BeatType.None;
            if (e.data1 == onBeatNote)
                beatType = SongData.BeatType.OnBeat;
            else if (e.data1 == offBeatNote)
                beatType = SongData.BeatType.OffBeat;
            else if (e.data1 == syncoBeatNote)
                beatType = SongData.BeatType.SyncoBeat;

            Color c = ShipViewModel.ColorForBeatType (beatType);

            gameObject.GetComponent<SpriteRenderer> ().material.color = c;
        }
    }
コード例 #4
0
 public override bool RespondsToMidiEvent(MidiEvent e, MIDICounter source)
 {
     return e.status == 144;
 }
コード例 #5
0
 public override void HandleMidiEvent(MidiEvent e, float lookaheadSeconds, MIDICounter source)
 {
     StartCoroutine(UpdateColorForMidiEventWithDelay (e, lookaheadSeconds, source));
 }
コード例 #6
0
ファイル: SmfLite.cs プロジェクト: starakaj/syncopaste
 public DeltaEventPair(int delta, MidiEvent midiEvent)
 {
     this.delta = delta;
     this.midiEvent = midiEvent;
 }
コード例 #7
0
ファイル: SmfLite.cs プロジェクト: starakaj/syncopaste
 public void AddEvent(int delta, MidiEvent midiEvent)
 {
     sequence.Add (new DeltaEventPair (delta, midiEvent));
 }
コード例 #8
0
 public void AddEvent(int delta, MidiEvent midiEvent)
 {
     sequence.Add(new DeltaEventPair(delta, midiEvent));
 }
コード例 #9
0
 public DeltaEventPair(int delta, MidiEvent midiEvent)
 {
     this.delta     = delta;
     this.midiEvent = midiEvent;
 }
コード例 #10
0
 public abstract bool RespondsToMidiEvent(MidiEvent e, MIDICounter source);
コード例 #11
0
 public abstract void HandleMidiEvent(MidiEvent e, float lookaheadSeconds, MIDICounter source);
コード例 #12
0
ファイル: EventStore.cs プロジェクト: starakaj/syncopaste
 public override void HandleMidiEvent(MidiEvent e, float lookaheadSeconds, MIDICounter source)
 {
     currentCoroutine = AddMidiEventWithTimeBoundaries (e, lookaheadSeconds - leadingCushionSeconds, lookaheadSeconds + trailingCushionSeconds);
     StartCoroutine (currentCoroutine);
 }