コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: MusicView.cs プロジェクト: CathalaNicolas/PianoHub
    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();
    }
コード例 #3
0
        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;
        }
コード例 #4
0
        //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);
            }
        }
コード例 #5
0
        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();
        }