Esempio n. 1
0
        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]);
        }
Esempio n. 2
0
 private static extern bool BASS_MIDI_StreamGetMarkInternal(int handle, BASSMIDIMarker type, int index, [In][Out] ref MIDI_MARK_INTERNAL mark);