void Start() { MIDISong song = MIDIFileReader.Read(m_midiFile); m_songPlayer = new MIDISongPlayer(); m_songPlayer.SetSong(song); m_songPlayer.SetSpeedFactor(1.0f); m_songPlayer.RegisterSongListener(m_songVisualizer.GetComponent <MIDISongVisualizer>()); m_songPracticeMode = new MIDISongPracticeMode(m_songPlayer); m_songPlayer.RegisterSongListener(m_songPracticeMode); m_midiDevice.GetComponent <MIDIDevice>().RegisterDeviceListener(m_songPracticeMode); m_songPracticeMode.Disable(); m_songPerformanceFeedback = new MIDISongPerformanceFeedback(m_songVisualizer.GetComponent <MIDISongVisualizer>()); m_songPlayer.RegisterSongListener(m_songPerformanceFeedback); m_midiDevice.GetComponent <MIDIDevice>().RegisterDeviceListener(m_songPerformanceFeedback); }
public MIDISongPracticeMode(MIDISongPlayer songPlayer) { m_songPlayer = songPlayer; m_pendingNotes = new Dictionary <MIDINoteEvent, int>(); m_earlyPressedNotes = new List <MIDINoteEvent>(); }