public PlayingMidi() { this.transpose = 60; if (OutputDevice.DeviceCount == 0) { MessageBox.Show("No MIDI output devices available.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop); } outDevice = new OutputDevice(0); builder = new ChannelMessageBuilder(); isDeviceOpen = true; //Set instrument to piano builder.Command = ChannelCommand.ProgramChange; builder.MidiChannel = 0; builder.Data1 = 0; builder.Build(); outDevice.Send(builder.Result); ParseCommaDelimited(); tmpmidiFilePlayer = new MidiFilePlayer(outDevice); midiFilePlayer1 = new MidiFilePlayer(outDevice); midiFilePlayer1.PlayingFinished += this.midiFilePlayer1_PlayingFinished; }
void Start() { midiFilePlayer = Instantiate(preFabMFP); midiStreamPlayer = Instantiate(preFabMSP); DontDestroyOnLoad(midiFilePlayer); DontDestroyOnLoad(midiStreamPlayer); midiFilePlayer.MPTK_PlayOnStart = false; midiFilePlayer.MPTK_DirectSendToPlayer = false; if (!midiStreamPlayer || !midiFilePlayer) { Debug.LogError("MSP or MFP is null can't create music"); return; } sliders = GameObject.FindGameObjectsWithTag("noteSlider"); // If call is already set from the inspector there is no need to set another listeneer if (midiFilePlayer.OnEventNotesMidi.GetPersistentEventCount() == 0) { // No listener defined, set now by script. NotesToPlay will be called for each new notes read from Midi file Debug.Log("No OnEventNotesMidi defined, set by script"); midiFilePlayer.OnEventNotesMidi = new MidiFilePlayer.ListNotesEvent(); midiFilePlayer.OnEventNotesMidi.AddListener(NotesToPlay); } midiFilePlayer.MPTK_MidiName = "auclair_pno"; playMusic(); }
//static private GUIStyle styleInfoMidi; // PopupSelectMidi PopMidi; void OnEnable() { try { //Debug.Log("OnEnable MidiFilePlayerEditor"); CustomEventStartPlayMidi = serializedObject.FindProperty("OnEventStartPlayMidi"); CustomEventListNotesEvent = serializedObject.FindProperty("OnEventNotesMidi"); CustomEventEndPlayMidi = serializedObject.FindProperty("OnEventEndPlayMidi"); instance = (MidiFilePlayer)target; // Load description of available soundfont if (MidiPlayerGlobal.CurrentMidiSet == null || MidiPlayerGlobal.CurrentMidiSet.ActiveSounFontInfo == null) { ToolsEditor.LoadMidiSet(); ToolsEditor.CheckMidiSet(); } } catch (System.Exception ex) { MidiPlayerGlobal.ErrorDetail(ex); } }
public void TriggerUiScript(string songName) { var MIDIPlayerGameObject = GameObject.FindGameObjectWithTag(Const.Tags.MidiPlayer); midiPlayer = MIDIPlayerGameObject.GetComponent <MidiFilePlayer>(); midiPlayer.MPTK_MidiName = songName; midiPlayer.OnEventNotesMidi = new MidiFilePlayer.ListNotesEvent(); midiPlayer.OnEventNotesMidi.AddListener(NotesToPlay); var notes = midiPlayer.MPTK_MidiEvents; midiPlayer.MPTK_Play(); midiPlayer.MPTK_LogEvents = true; noteSpeed = midiPlayer.MPTK_Tempo / 25; var name = midiPlayer.MPTK_MidiName; var instrumentName = midiPlayer.MPTK_TrackInstrumentName; watch = new Stopwatch(); watch.Start(); }