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); } }
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); }