コード例 #1
0
 public void ExecuteMidiEventSeek(MetaStatus aMetaStatus, MidiSynthesizer aMidiSynthesizer, int aDivision, int aDelta)
 {
     for (int i = 0; i < aDelta; i++)
     {
         if (midiEventAffecterListDictionary.ContainsKey(i))
         {
             for (int j = 0; j < midiEventAffecterListDictionary[i].Count; j++)
             {
                 if (midiEventAffecterListDictionary[i][j].GetType().ToString() != "LayerMiddle.Sound.Controller.Midi.Affecter.MidiEventAffecterNoteOn")
                 {
                     midiEventAffecterListDictionary[i][j].Execute(aMidiSynthesizer, aDivision, aMetaStatus.GetBpm());
                 }
             }
         }
     }
 }
コード例 #2
0
        private void Caching()
        {
            MidiSynthesizer lMidiSynthesizer = new MidiSynthesizer();
            MetaStatus      lMetaStatus      = new MetaStatus();

            for (int i = 0; i < music.deltaMax; i++)
            {
                lMetaStatus.SetDelta(i);

                for (int j = 0; j < music.tracks; j++)
                {
                    sequenceTrackArray[j].ExecuteMetaEventOneDelta(lMetaStatus);

                    sequenceTrackArray[j].ExecuteMidiEventOneDelta(lMetaStatus, lMidiSynthesizer, music.division);
                }
            }
        }
コード例 #3
0
        public MidiSequencer(MusicMidi aMusicMidi, MidiSynthesizer aMidiSynthesizer)
        {
            music       = aMusicMidi;
            synthesizer = aMidiSynthesizer;

            metaStatus         = new MetaStatus();
            sequenceTrackArray = new MidiSequenceTrack[music.tracks];

            for (int i = 0; i < music.tracks; i++)
            {
                sequenceTrackArray[i] = new MidiSequenceTrack(music.mtrkChunkArray[i]);
            }

            deltaPosition  = 0;
            samplePosition = 0;

            bufferArray = new float[2];

            Caching();
        }
コード例 #4
0
 public override void Execute(MetaStatus aMetaStatus)
 {
 }
コード例 #5
0
 public override void Execute(MetaStatus aMetaStatus)
 {
     //MidiSequencer.SetNumerator( metaMessageArray[index].nn );
     //MidiSequencer.SetDenominator( metaMessageArray[index].dd );
 }
コード例 #6
0
        public override void Execute(MetaStatus aMetaStatus)
        {
            MetaEventTempo lTempoEvent = ( MetaEventTempo )metaEvent;

            aMetaStatus.SetTempo(lTempoEvent.GetTempo());
        }
コード例 #7
0
 public abstract void Execute(MetaStatus aMetaStatus);