コード例 #1
0
ファイル: MidiManager.cs プロジェクト: fbxiang/ChordEditor
        public void Init()
        {
            int tget = BassMidi.BASS_MIDI_FontInit("test.sf2");

            Fonts           = new BASS_MIDI_FONT[1];
            Fonts[0].font   = tget;
            Fonts[0].bank   = 0;
            Fonts[0].preset = -1;
            NoteStreams     = new int[256];
            for (int i = 60; i <= 84; ++i)
            {
                NoteStreams[i] = BassMidi.BASS_MIDI_StreamCreateEvents(SingleNoteEvent(i), 100, 0, 0);
                BassMidi.BASS_MIDI_StreamSetFonts(NoteStreams[i], Fonts, 1);
            }
        }
コード例 #2
0
        public static void Play()
        {
            BASS_MIDI_EVENT[] events =
            {
                new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_TEMPO,        500000,    0,    0, 0),
                new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_PROGRAM,          40,    0,    0, 0),
                new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE,    MAKEWORD(60, 100),    0,  0,0),
                //new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE, MAKEWORD(80,100), 0, 0 ,0),
                new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE,             60,    0,  200, 0),
                //new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE, 80, 0, 96,0 ),
                new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_END,               0,    0, 2000, 0),
            };

            int stream = BassMidi.BASS_MIDI_StreamCreateEvents(events, 100, BASSFlag.BASS_SAMPLE_LOOP, 1);

            Bass.BASS_ChannelPlay(stream, true);

            Console.ReadKey(false);
            Bass.BASS_StreamFree(stream);
        }