Lines Matching refs:pData

76 static EAS_RESULT RTTTL_GetStyle (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData);
77 static EAS_RESULT RTTTL_GetDuration (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I8 *pDuration);
78 static EAS_RESULT RTTTL_GetOctave (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_U8 *pOctave);
79 static EAS_RESULT RTTTL_GetTempo (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData);
80 static EAS_RESULT RTTTL_GetNumber (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I32 *pValue);
81 static EAS_RESULT RTTTL_ParseHeader (S_EAS_DATA *pEASData, S_RTTTL_DATA* pData, EAS_BOOL metaData);
82 static EAS_RESULT RTTTL_GetNextChar (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I8 *pValue);
83 static EAS_RESULT RTTTL_PeekNextChar (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I8 *pValue);
86 EAS_INLINE void RTTTL_PutBackChar (S_RTTTL_DATA *pData, EAS_I8 value) { pData->dataByte = value; }
136 S_RTTTL_DATA *pData;
147 pData = EAS_CMEnumData(EAS_CM_RTTTL_DATA);
149 pData = EAS_HWMalloc(pEASData->hwInstData, sizeof(S_RTTTL_DATA));
150 if (!pData)
152 EAS_HWMemSet(pData, 0, sizeof(S_RTTTL_DATA));
155 pData->fileHandle = fileHandle;
156 pData->fileOffset = offset;
157 pData->state = EAS_STATE_OPEN;
158 *ppHandle = pData;
184 S_RTTTL_DATA* pData;
188 pData = (S_RTTTL_DATA*) pInstData;
189 if (pData->state != EAS_STATE_OPEN)
193 if ((result = VMInitMIDI(pEASData, &pData->pSynth)) != EAS_SUCCESS)
199 pData->state = EAS_STATE_ERROR;
200 if ((result = RTTTL_ParseHeader (pEASData, pData, (EAS_BOOL) (pData->metadata.callback != NULL))) != EAS_SUCCESS)
204 EAS_HWFree(pEASData->hwInstData, pData);
208 pData->state = EAS_STATE_READY;
233 S_RTTTL_DATA *pData;
235 pData = (S_RTTTL_DATA*) pInstData;
239 *pTime = pData->time >> 8;
262 S_RTTTL_DATA* pData;
270 pData = (S_RTTTL_DATA*) pInstData;
271 if (pData->state >= EAS_STATE_OPEN)
275 if (pData->time == 0)
278 VMProgramChange(pEASData->pVoiceMgr, pData->pSynth, RTTTL_CHANNEL, RTTTL_PROGRAM);
281 VMControlChange(pEASData->pVoiceMgr, pData->pSynth, RTTTL_CHANNEL, 7, 127);
285 if (pData->note)
288 VMStopNote(pEASData->pVoiceMgr, pData->pSynth, RTTTL_CHANNEL, pData->note, 0);
289 pData->note = 0;
292 if (pData->restTicks)
294 pData->time += pData->restTicks;
295 pData->restTicks = 0;
301 octave = pData->octave;
303 ticks = pData->duration * pData->tick;
308 if ((result = RTTTL_GetNextChar(pEASData->hwInstData, pData, &c)) != EAS_SUCCESS)
317 if (pData->repeatCount == 0)
319 pData->state = EAS_STATE_STOPPING;
320 VMReleaseAllVoices(pEASData->pVoiceMgr, pData->pSynth);
325 if (pData->repeatCount != RTTTL_INFINITE_LOOP)
326 pData->repeatCount--;
331 pData->state = EAS_STATE_STOPPING;
332 VMReleaseAllVoices(pEASData->pVoiceMgr, pData->pSynth);
337 if ((result = EAS_HWFileSeek(pEASData->hwInstData, pData->fileHandle, pData->repeatOffset)) != EAS_SUCCESS)
351 if ((result = RTTTL_PeekNextChar(pEASData->hwInstData, pData, &c)) != EAS_SUCCESS)
357 if ((result = RTTTL_GetNumber(pEASData->hwInstData, pData, &temp)) != EAS_SUCCESS)
369 pData->tick = TICK_CONVERT / (EAS_U32) temp;
387 if ((result = RTTTL_GetOctave(pEASData->hwInstData, pData, &pData->octave)) != EAS_SUCCESS)
394 if ((result = RTTTL_GetStyle(pEASData->hwInstData, pData)) != EAS_SUCCESS)
401 RTTTL_PutBackChar(pData, c);
406 if ((result = RTTTL_GetDuration(pEASData->hwInstData, pData, &c)) != EAS_SUCCESS)
408 ticks = c * pData->tick;
414 if ((result = RTTTL_GetOctave(pEASData->hwInstData, pData, &octave)) != EAS_SUCCESS)
453 pData->note = note + octave;
455 VMStartNote(pEASData->pVoiceMgr, pData->pSynth, RTTTL_CHANNEL, pData->note, RTTTL_VELOCITY);
458 switch (pData->style)
463 pData->restTicks = ticks >> 4;
468 pData->restTicks = 0;
474 pData->restTicks = ticks >> 1;
478 { /* dpp: EAS_ReportEx(_EAS_SEVERITY_WARNING, "RTTTL_Event: Unexpected style type %c\n", pData->style); */ }
483 pData->time += ticks - pData->restTicks;
488 pData->time += ticks;
495 pData->state = EAS_STATE_PLAY;
520 S_RTTTL_DATA* pData;
523 pData = (S_RTTTL_DATA*) pInstData;
526 if (pData->state == EAS_STATE_STOPPING)
528 if (VMActiveVoices(pData->pSynth) == 0)
529 pData->state = EAS_STATE_STOPPED;
532 if (pData->state == EAS_STATE_PAUSING)
534 if (VMActiveVoices(pData->pSynth) == 0)
535 pData->state = EAS_STATE_PAUSED;
539 *pState = pData->state;
562 S_RTTTL_DATA* pData;
565 pData = (S_RTTTL_DATA*) pInstData;
568 if ((result = EAS_HWCloseFile(pEASData->hwInstData, pData->fileHandle)) != EAS_SUCCESS)
572 if (pData->pSynth != NULL)
573 VMMIDIShutdown(pEASData, pData->pSynth);
577 EAS_HWFree(pEASData->hwInstData, pData);
601 S_RTTTL_DATA* pData;
604 pData = (S_RTTTL_DATA*) pInstData;
607 VMReset(pEASData->pVoiceMgr, pData->pSynth, EAS_TRUE);
610 pData->time = 0;
611 pData->note = 0;
614 pData->state = EAS_STATE_ERROR;
615 if ((result = EAS_HWFileSeek(pEASData->hwInstData, pData->fileHandle, pData->fileOffset)) != EAS_SUCCESS)
617 if ((result = RTTTL_ParseHeader (pEASData, pData, EAS_TRUE)) != EAS_SUCCESS)
620 pData->state = EAS_STATE_READY;
643 S_RTTTL_DATA *pData;
646 pData = (S_RTTTL_DATA*) pInstData;
647 if (pData->state == EAS_STATE_STOPPED)
651 VMMuteAllVoices(pEASData->pVoiceMgr, pData->pSynth);
652 pData->state = EAS_STATE_PAUSING;
676 S_RTTTL_DATA *pData;
679 pData = (S_RTTTL_DATA*) pInstData;
680 if (pData->state == EAS_STATE_STOPPED)
684 pData->state = EAS_STATE_PLAY;
708 S_RTTTL_DATA *pData;
710 pData = (S_RTTTL_DATA *) pInstData;
716 EAS_HWMemCpy(&pData->metadata, (void*) value, sizeof(S_METADATA_CB));
746 S_RTTTL_DATA *pData;
748 pData = (S_RTTTL_DATA *) pInstData;
759 *pValue = pData->transposition;
764 *pValue = (EAS_I32) pData->pSynth;
793 static EAS_RESULT RTTTL_GetStyle (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData)
799 if ((result = RTTTL_GetNextChar(hwInstData, pData, &style)) != EAS_SUCCESS)
805 pData->style = style;
825 static EAS_RESULT RTTTL_GetDuration (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I8 *pDuration)
832 if ((result = RTTTL_GetNumber(hwInstData, pData, &duration)) != EAS_SUCCESS)
867 static EAS_RESULT RTTTL_GetOctave (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_U8 *pOctave)
873 if ((result = RTTTL_GetNumber(hwInstData, pData, &octave)) != EAS_SUCCESS)
899 static EAS_RESULT RTTTL_GetTempo (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData)
905 if ((result = RTTTL_GetNumber(hwInstData, pData, &tempo)) != EAS_SUCCESS)
911 pData->tick = TICK_CONVERT / (EAS_U32) tempo;
931 static EAS_RESULT RTTTL_GetNumber (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I32 *pValue)
941 if ((result = RTTTL_PeekNextChar(hwInstData, pData, &c)) != EAS_SUCCESS)
950 pData->dataByte = 0;
977 static EAS_RESULT RTTTL_ParseHeader (S_EAS_DATA *pEASData, S_RTTTL_DATA* pData, EAS_BOOL metaData)
985 pData->time = 0;
986 pData->tick = DEFAULT_TICK_CONV;
987 pData->note = 0;
988 pData->duration = 4;
989 pData ->restTicks = 0;
990 pData->octave = 60;
991 pData->repeatOffset = -1;
992 pData->repeatCount = 0;
993 pData->style = 'n';
994 pData->dataByte = 0;
996 metaData = metaData && (pData->metadata.buffer != NULL) && (pData->metadata.callback != NULL);
999 if ((result = EAS_HWFileSeek(pEASData->hwInstData, pData->fileHandle, pData->fileOffset)) != EAS_SUCCESS)
1004 EAS_HWMemSet(pData->metadata.buffer, 0, pData->metadata.bufferSize);
1009 if ((result = EAS_HWGetByte(pEASData->hwInstData, pData->fileHandle, &temp)) != EAS_SUCCESS)
1018 if (i < (pData->metadata.bufferSize- 1))
1019 pData->metadata.buffer[i] = (char) temp;
1029 (*pData->metadata.callback)(EAS_METADATA_TITLE, pData->metadata.buffer, pData->metadata.pUserData);
1036 if ((result = RTTTL_GetNextChar(pEASData->hwInstData, pData, &control)) != EAS_SUCCESS)
1040 if ((result = RTTTL_GetNextChar(pEASData->hwInstData, pData, &temp)) != EAS_SUCCESS)
1051 if ((result = RTTTL_GetTempo(pEASData->hwInstData, pData)) != EAS_SUCCESS)
1057 if ((result = RTTTL_GetDuration(pEASData->hwInstData, pData, &temp)) != EAS_SUCCESS)
1059 pData->duration = temp;
1064 if ((result = RTTTL_GetNumber(pEASData->hwInstData, pData, &i)) != EAS_SUCCESS)
1068 pData->repeatCount = (EAS_U8) i;
1073 if ((result = RTTTL_GetOctave(pEASData->hwInstData, pData, &pData->octave)) != EAS_SUCCESS)
1079 if ((result = RTTTL_GetStyle(pEASData->hwInstData, pData)) != EAS_SUCCESS)
1089 if ((result = RTTTL_GetNextChar(pEASData->hwInstData, pData, &temp)) != EAS_SUCCESS)
1102 if ((result = EAS_HWFilePos(pEASData->hwInstData, pData->fileHandle, &pData->repeatOffset)) != EAS_SUCCESS)
1124 static EAS_RESULT RTTTL_GetNextChar (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I8 *pValue)
1134 if (pData->dataByte)
1136 temp = pData->dataByte;
1137 pData->dataByte = 0;
1141 if ((result = EAS_HWGetByte(hwInstData, pData->fileHandle, &temp)) != EAS_SUCCESS)
1170 static EAS_RESULT RTTTL_PeekNextChar (EAS_HW_DATA_HANDLE hwInstData, S_RTTTL_DATA *pData, EAS_I8 *pValue)
1180 if (!pData->dataByte)
1182 if ((result = EAS_HWGetByte(hwInstData, pData->fileHandle, &pData->dataByte)) != EAS_SUCCESS)
1186 temp = pData->dataByte;
1194 pData->dataByte = 0;