Пример #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]);
        }
Пример #2
0
        public static BASS_MIDI_MARK BASS_MIDI_StreamGetMark(int handle, BASSMIDIMarker type, int index)
        {
            BASS_MIDI_MARK bass_MIDI_MARK = new BASS_MIDI_MARK();

            if (BassMidi.BASS_MIDI_StreamGetMark(handle, type, index, bass_MIDI_MARK))
            {
                return(bass_MIDI_MARK);
            }
            return(null);
        }
Пример #3
0
        public static bool BASS_MIDI_StreamGetMark(int handle, BASSMIDIMarker type, int index, BASS_MIDI_MARK mark)
        {
            bool flag = BassMidi.BASS_MIDI_StreamGetMarkInternal(handle, type, index, ref mark._internal);

            if (flag)
            {
                mark.track = mark._internal.track;
                mark.pos   = mark._internal.pos;
                mark.text  = Utils.IntPtrAsStringAnsi(mark._internal.text);
            }
            return(flag);
        }