Lines Matching refs:sequence
96 static void __SEQPushSequenceList(SEQSEQUENCE *sequence) in __SEQPushSequenceList() argument
103 sequence->next = __SEQSequenceList; in __SEQPushSequenceList()
105 sequence->next = NULL; in __SEQPushSequenceList()
107 __SEQSequenceList = sequence; in __SEQPushSequenceList()
116 static void __SEQRemoveSequenceFromList(SEQSEQUENCE *sequence) in __SEQRemoveSequenceFromList() argument
130 if (thisSequence != sequence) in __SEQRemoveSequenceFromList()
182 SEQSEQUENCE *sequence; in __SEQSetTicksPerFrame() local
186 sequence = (SEQSEQUENCE*)track->sequence; in __SEQSetTicksPerFrame()
194 sequence->timeFormat))); in __SEQSetTicksPerFrame()
224 SEQSEQUENCE *sequence; in __SEQTrackEnd() local
228 sequence = track->sequence; in __SEQTrackEnd()
229 sequence->tracksRunning--; in __SEQTrackEnd()
233 if (sequence->tracksRunning == 0) in __SEQTrackEnd()
234 sequence->end = 1; in __SEQTrackEnd()
313 SEQCALLBACK callback = ((SEQSEQUENCE*)(track->sequence))->callback[ch[1]]; in __SEQHandleSynthEvent()
371 static void __SEQInitTracks(SEQSEQUENCE *sequence, u8 *read, int tracks) in __SEQInitTracks() argument
391 SEQTRACK *track = &sequence->track[i]; in __SEQInitTracks()
393 track->sequence = sequence; in __SEQInitTracks()
402 sequence->timeFormat))); in __SEQInitTracks()
422 static void __SEQReadHeader(SEQSEQUENCE *sequence, u8 *midiStream) in __SEQReadHeader() argument
442 sequence->nTracks = *(u16*)(read); read += 2; in __SEQReadHeader()
443 sequence->timeFormat = *(s16*)(read); read += 2; in __SEQReadHeader()
446 sequence->timeFormat >= 0, in __SEQReadHeader()
459 sequence->nTracks = 1; in __SEQReadHeader()
461 __SEQInitTracks(sequence, read, 1); in __SEQReadHeader()
468 sequence->nTracks < SEQ_MAX_TRACKS, in __SEQReadHeader()
472 __SEQInitTracks(sequence, read, sequence->nTracks); in __SEQReadHeader()
483 sequence->tracksRunning = sequence->nTracks; in __SEQReadHeader()
523 SEQSEQUENCE *sequence = __SEQSequenceList; in SEQRunAudioFrame() local
531 while (sequence) in SEQRunAudioFrame()
533 if ((sequence->state == SEQ_STATE_RUN) || in SEQRunAudioFrame()
534 (sequence->state == SEQ_STATE_RUNLOOPED)) in SEQRunAudioFrame()
538 for (i = 0; i < sequence->nTracks; i++) in SEQRunAudioFrame()
540 SEQTRACK *track = &sequence->track[i]; in SEQRunAudioFrame()
556 __SEQRunEvent(&sequence->synth, track); in SEQRunAudioFrame()
570 if (sequence->end) in SEQRunAudioFrame()
572 if (sequence->state == SEQ_STATE_RUNLOOPED) in SEQRunAudioFrame()
574 SEQSetState(sequence, SEQ_STATE_STOP); in SEQRunAudioFrame()
575 SEQSetState(sequence, SEQ_STATE_RUNLOOPED); in SEQRunAudioFrame()
579 SEQSetState(sequence, SEQ_STATE_STOP); in SEQRunAudioFrame()
583 sequence = sequence->next; in SEQRunAudioFrame()
593 SEQSEQUENCE *sequence, // User allocated SEQSEQUENCE. in SEQAddSequence() argument
605 ASSERT(sequence); in SEQAddSequence()
616 &sequence->synth, in SEQAddSequence()
626 sequence->state = SEQ_STATE_STOP; in SEQAddSequence()
631 sequence->callback[i] = NULL; in SEQAddSequence()
635 __SEQReadHeader(sequence, midiStream); in SEQAddSequence()
638 __SEQPushSequenceList(sequence); in SEQAddSequence()
645 void SEQRemoveSequence(SEQSEQUENCE *sequence) in SEQRemoveSequence() argument
647 ASSERT(sequence); in SEQRemoveSequence()
650 __SEQRemoveSequenceFromList(sequence); in SEQRemoveSequence()
653 SYNQuitSynth(&sequence->synth); in SEQRemoveSequence()
661 SEQSEQUENCE *sequence, // User initialized SEQSEQUENCE. in SEQRegisterControllerCallback() argument
666 ASSERT(sequence); in SEQRegisterControllerCallback()
670 sequence->callback[controller] = callback; in SEQRegisterControllerCallback()
677 void SEQSetState(SEQSEQUENCE *sequence, u32 state) in SEQSetState() argument
681 ASSERT(sequence); in SEQSetState()
690 if (sequence->state == SEQ_STATE_STOP) in SEQSetState()
694 for (i = 0; i < sequence->nTracks; i++) in SEQSetState()
697 SEQTRACK *track = &sequence->track[i]; in SEQSetState()
707 sequence->tracksRunning = sequence->nTracks; in SEQSetState()
712 sequence->end = 0; in SEQSetState()
732 SYNMidiInput(&sequence->synth, ch); in SEQSetState()
740 sequence->state = state; in SEQSetState()
747 u32 SEQGetState(SEQSEQUENCE *sequence) in SEQGetState() argument
749 ASSERT(sequence); in SEQGetState()
751 return sequence->state; in SEQGetState()
758 void SEQSetTempo(SEQSEQUENCE *sequence, u32 trackIndex, f32 bpm) in SEQSetTempo() argument
760 ASSERT(sequence); in SEQSetTempo()
761 ASSERT((trackIndex < sequence->nTracks) || (trackIndex == SEQ_ALL_TRACKS)); in SEQSetTempo()
767 for (i = 0; i < sequence->nTracks; i++) in SEQSetTempo()
768 __SEQSetTicksPerFrame(&sequence->track[i], bpm / 60); in SEQSetTempo()
772 __SEQSetTicksPerFrame(&sequence->track[trackIndex], bpm / 60); in SEQSetTempo()
780 f32 SEQGetTempo(SEQSEQUENCE *sequence, u32 trackIndex) in SEQGetTempo() argument
782 ASSERT(sequence); in SEQGetTempo()
783 ASSERT(trackIndex < sequence->nTracks); in SEQGetTempo()
785 return sequence->track[trackIndex].beatsPerSec * 60; in SEQGetTempo()
792 void SEQSetVolume(SEQSEQUENCE *sequence, s32 dB) in SEQSetVolume() argument
794 ASSERT(sequence); in SEQSetVolume()
796 SYNSetMasterVolume(&sequence->synth, dB); in SEQSetVolume()
803 s32 SEQGetVolume(SEQSEQUENCE *sequence) in SEQGetVolume() argument
805 ASSERT(sequence); in SEQGetVolume()
807 return SYNGetMasterVolume(&sequence->synth); in SEQGetVolume()