Lines Matching refs:sequence
77 static void __SEQPushSequenceList(SEQSEQUENCE *sequence) in __SEQPushSequenceList() argument
84 sequence->next = __SEQSequenceList; in __SEQPushSequenceList()
86 sequence->next = NULL; in __SEQPushSequenceList()
88 __SEQSequenceList = sequence; in __SEQPushSequenceList()
97 static void __SEQRemoveSequenceFromList(SEQSEQUENCE *sequence) in __SEQRemoveSequenceFromList() argument
111 if (thisSequence != sequence) in __SEQRemoveSequenceFromList()
163 SEQSEQUENCE *sequence; in __SEQSetTicksPerFrame() local
167 sequence = (SEQSEQUENCE*)track->sequence; in __SEQSetTicksPerFrame()
175 sequence->timeFormat))); in __SEQSetTicksPerFrame()
205 SEQSEQUENCE *sequence; in __SEQTrackEnd() local
209 sequence = track->sequence; in __SEQTrackEnd()
210 sequence->tracksRunning--; in __SEQTrackEnd()
214 if (sequence->tracksRunning == 0) in __SEQTrackEnd()
215 sequence->end = 1; in __SEQTrackEnd()
294 SEQCALLBACK callback = ((SEQSEQUENCE*)(track->sequence))->callback[ch[1]]; in __SEQHandleSynthEvent()
352 static void __SEQInitTracks(SEQSEQUENCE *sequence, u8 *read, int tracks) in __SEQInitTracks() argument
372 SEQTRACK *track = &sequence->track[i]; in __SEQInitTracks()
374 track->sequence = sequence; in __SEQInitTracks()
383 sequence->timeFormat))); in __SEQInitTracks()
403 static void __SEQReadHeader(SEQSEQUENCE *sequence, u8 *midiStream) in __SEQReadHeader() argument
423 sequence->nTracks = *(u16*)(read); read += 2; in __SEQReadHeader()
424 sequence->timeFormat = *(s16*)(read); read += 2; in __SEQReadHeader()
427 sequence->timeFormat >= 0, in __SEQReadHeader()
440 sequence->nTracks = 1; in __SEQReadHeader()
442 __SEQInitTracks(sequence, read, 1); in __SEQReadHeader()
449 sequence->nTracks < SEQ_MAX_TRACKS, in __SEQReadHeader()
453 __SEQInitTracks(sequence, read, sequence->nTracks); in __SEQReadHeader()
464 sequence->tracksRunning = sequence->nTracks; in __SEQReadHeader()
495 SEQSEQUENCE *sequence = __SEQSequenceList; in SEQRunAudioFrame() local
498 while (sequence) in SEQRunAudioFrame()
500 if ((sequence->state == SEQ_STATE_RUN) || in SEQRunAudioFrame()
501 (sequence->state == SEQ_STATE_RUNLOOPED)) in SEQRunAudioFrame()
505 for (i = 0; i < sequence->nTracks; i++) in SEQRunAudioFrame()
507 SEQTRACK *track = &sequence->track[i]; in SEQRunAudioFrame()
523 __SEQRunEvent(&sequence->synth, track); in SEQRunAudioFrame()
537 if (sequence->end) in SEQRunAudioFrame()
539 if (sequence->state == SEQ_STATE_RUNLOOPED) in SEQRunAudioFrame()
541 SEQSetState(sequence, SEQ_STATE_STOP); in SEQRunAudioFrame()
542 SEQSetState(sequence, SEQ_STATE_RUNLOOPED); in SEQRunAudioFrame()
546 SEQSetState(sequence, SEQ_STATE_STOP); in SEQRunAudioFrame()
550 sequence = sequence->next; in SEQRunAudioFrame()
560 SEQSEQUENCE *sequence, // user allocated SEQSEQUENCE in SEQAddSequence() argument
572 ASSERT(sequence); in SEQAddSequence()
583 &sequence->synth, in SEQAddSequence()
593 sequence->state = SEQ_STATE_STOP; in SEQAddSequence()
598 sequence->callback[i] = NULL; in SEQAddSequence()
602 __SEQReadHeader(sequence, midiStream); in SEQAddSequence()
605 __SEQPushSequenceList(sequence); in SEQAddSequence()
612 void SEQRemoveSequence(SEQSEQUENCE *sequence) in SEQRemoveSequence() argument
614 ASSERT(sequence); in SEQRemoveSequence()
617 __SEQRemoveSequenceFromList(sequence); in SEQRemoveSequence()
620 SYNQuitSynth(&sequence->synth); in SEQRemoveSequence()
628 SEQSEQUENCE *sequence, // user initialized SEQSEQUENCE in SEQRegisterControllerCallback() argument
633 ASSERT(sequence); in SEQRegisterControllerCallback()
637 sequence->callback[controller] = callback; in SEQRegisterControllerCallback()
644 void SEQSetState(SEQSEQUENCE *sequence, u32 state) in SEQSetState() argument
648 ASSERT(sequence); in SEQSetState()
657 if (sequence->state == SEQ_STATE_STOP) in SEQSetState()
661 for (i = 0; i < sequence->nTracks; i++) in SEQSetState()
664 SEQTRACK *track = &sequence->track[i]; in SEQSetState()
674 sequence->tracksRunning = sequence->nTracks; in SEQSetState()
679 sequence->end = 0; in SEQSetState()
699 SYNMidiInput(&sequence->synth, ch); in SEQSetState()
707 sequence->state = state; in SEQSetState()
714 u32 SEQGetState(SEQSEQUENCE *sequence) in SEQGetState() argument
716 ASSERT(sequence); in SEQGetState()
718 return sequence->state; in SEQGetState()
725 void SEQSetTempo(SEQSEQUENCE *sequence, u32 trackIndex, f32 bpm) in SEQSetTempo() argument
727 ASSERT(sequence); in SEQSetTempo()
728 ASSERT((trackIndex < sequence->nTracks) || (trackIndex == SEQ_ALL_TRACKS)); in SEQSetTempo()
734 for (i = 0; i < sequence->nTracks; i++) in SEQSetTempo()
735 __SEQSetTicksPerFrame(&sequence->track[i], bpm / 60); in SEQSetTempo()
739 __SEQSetTicksPerFrame(&sequence->track[trackIndex], bpm / 60); in SEQSetTempo()
747 f32 SEQGetTempo(SEQSEQUENCE *sequence, u32 trackIndex) in SEQGetTempo() argument
749 ASSERT(sequence); in SEQGetTempo()
750 ASSERT(trackIndex < sequence->nTracks); in SEQGetTempo()
752 return sequence->track[trackIndex].beatsPerSec * 60; in SEQGetTempo()
759 void SEQSetVolume(SEQSEQUENCE *sequence, s32 dB) in SEQSetVolume() argument
761 ASSERT(sequence); in SEQSetVolume()
763 SYNSetMasterVolume(&sequence->synth, dB); in SEQSetVolume()
770 s32 SEQGetVolume(SEQSEQUENCE *sequence) in SEQGetVolume() argument
772 ASSERT(sequence); in SEQGetVolume()
774 return SYNGetMasterVolume(&sequence->synth); in SEQGetVolume()