public static BASS_MIDI_MARK[] BASS_MIDI_StreamGetMarks(int handle, int track, BASSMIDIMarker type) { int num = BassMidi.BASS_MIDI_StreamGetMarksCount(handle, track, type); if (num <= 0) { return(null); } MIDI_MARK_INTERNAL[] array = new MIDI_MARK_INTERNAL[num]; for (int i = 0; i < num; i++) { array[i] = default(MIDI_MARK_INTERNAL); } num = BassMidi.BASS_MIDI_StreamGetMarksInternal(handle, track, type, array); if (num > 0) { BASS_MIDI_MARK[] array2 = new BASS_MIDI_MARK[num]; for (int j = 0; j < num; j++) { array2[j] = new BASS_MIDI_MARK(); array2[j].track = array[j].track; array2[j].pos = array[j].pos; array2[j].text = Utils.IntPtrAsStringAnsi(array[j].text); } return(array2); } return(new BASS_MIDI_MARK[0]); }
private static extern bool BASS_MIDI_StreamGetMarkInternal(int handle, BASSMIDIMarker type, int index, [In][Out] ref MIDI_MARK_INTERNAL mark);