public PlayerMidi(string aFilePath) { MusicMidi lMusic = ( MusicMidi )LoaderMusic.Load(aFilePath); sequencer = new MidiSequencer(lMusic, new MidiSynthesizer()); updatePlayCurrent = sequencer.UpdatePlay; float lVolume = ( float )(40.0d * Math.Log10(0.5f)); volume = ( float )Math.Pow(10.0d, lVolume / 20.0d) * 2.0f; }
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(); }