Lines Matching refs:pData
110 static void PutBackChar (S_IMELODY_DATA *pData) in PutBackChar() argument
112 if (pData->index) in PutBackChar()
113 pData->index--; in PutBackChar()
117 EAS_INLINE void PutBackChar (S_IMELODY_DATA *pData) { if (pData->index) pData->index--; } in PutBackChar() argument
133 static EAS_BOOL IMY_PlayNote (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData, EAS_I8 note, EAS_INT par…
134 static EAS_BOOL IMY_PlayRest (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData);
135 static EAS_BOOL IMY_GetDuration (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_I32 *pDu…
136 static EAS_BOOL IMY_GetLEDState (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData);
137 static EAS_BOOL IMY_GetVibeState (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData);
138 static EAS_BOOL IMY_GetBackState (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData);
139 static EAS_BOOL IMY_GetVolume (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_BOOL inHea…
140 static EAS_BOOL IMY_GetNumber (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_INT *temp,…
141 static EAS_RESULT IMY_ParseHeader (S_EAS_DATA *pEASData, S_IMELODY_DATA* pData);
142 static EAS_I8 IMY_GetNextChar (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_BOOL inHea…
195 S_IMELODY_DATA* pData; in IMY_CheckFileType() local
214 pData = EAS_CMEnumData(EAS_CM_IMELODY_DATA); in IMY_CheckFileType()
216 pData = EAS_HWMalloc(pEASData->hwInstData, sizeof(S_IMELODY_DATA)); in IMY_CheckFileType()
217 if (!pData) in IMY_CheckFileType()
219 EAS_HWMemSet(pData, 0, sizeof(S_IMELODY_DATA)); in IMY_CheckFileType()
222 pData->fileHandle = fileHandle; in IMY_CheckFileType()
223 pData->fileOffset = offset; in IMY_CheckFileType()
224 pData->state = EAS_STATE_ERROR; in IMY_CheckFileType()
225 pData->state = EAS_STATE_OPEN; in IMY_CheckFileType()
228 *ppHandle = pData; in IMY_CheckFileType()
254 S_IMELODY_DATA* pData; in IMY_Prepare() local
262 pData = (S_IMELODY_DATA*) pInstData; in IMY_Prepare()
263 if (pData->state != EAS_STATE_OPEN) in IMY_Prepare()
267 if ((result = VMInitMIDI(pEASData, &pData->pSynth)) != EAS_SUCCESS) in IMY_Prepare()
274 if ((result = IMY_ParseHeader(pEASData, pData)) != EAS_SUCCESS) in IMY_Prepare()
281 pData ->state = EAS_STATE_READY; in IMY_Prepare()
306 S_IMELODY_DATA *pData; in IMY_Time() local
308 pData = (S_IMELODY_DATA*) pInstData; in IMY_Time()
312 *pTime = pData->time >> 8; in IMY_Time()
335 S_IMELODY_DATA* pData; in IMY_Event() local
341 pData = (S_IMELODY_DATA*) pInstData; in IMY_Event()
342 if (pData->state >= EAS_STATE_OPEN) in IMY_Event()
345 if (pData->state == EAS_STATE_READY) { in IMY_Event()
346 pData->state = EAS_STATE_PLAY; in IMY_Event()
350 if (pData->time == 0) in IMY_Event()
357 VMProgramChange(pEASData->pVoiceMgr, pData->pSynth, IMELODY_CHANNEL, IMELODY_PROGRAM); in IMY_Event()
360 VMControlChange(pEASData->pVoiceMgr, pData->pSynth, IMELODY_CHANNEL, 7, 127); in IMY_Event()
364 if (pData->note) in IMY_Event()
371 VMStopNote(pEASData->pVoiceMgr, pData->pSynth, IMELODY_CHANNEL, pData->note, 0); in IMY_Event()
372 pData->note = 0; in IMY_Event()
375 if (pData->restTicks) in IMY_Event()
377 pData->time += pData->restTicks; in IMY_Event()
378 pData->restTicks = 0; in IMY_Event()
389 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_FALSE); in IMY_Event()
400 if (pData->repeatOffset < 0) in IMY_Event()
402 pData->repeatOffset = pData->startLine + (EAS_I32) pData->index; in IMY_Event()
405 pData->repeatTime = pData->time; in IMY_Event()
422 if (pData->repeatTime == pData->time) { in IMY_Event()
423 pData->repeatCount = -1; in IMY_Event()
424 pData->repeatOffset = -1; in IMY_Event()
425 } else if (pData->repeatCount >= 0) { in IMY_Event()
428 if (pData->repeatCount > 0) in IMY_Event()
430 if (--pData->repeatCount == 0) in IMY_Event()
432 pData->repeatCount = -1; in IMY_Event()
441 if ((parserMode == eParserModePlay) || (pData->repeatCount != 0)) in IMY_Event()
448 …if ((result = EAS_HWFileSeek(pEASData->hwInstData, pData->fileHandle, pData->repeatOffset)) != EAS… in IMY_Event()
450 … IMY_ReadLine(pEASData->hwInstData, pData->fileHandle, pData->buffer, &pData->startLine); in IMY_Event()
451 pData->index = 0; in IMY_Event()
454 if (pData->repeatCount == -1) in IMY_Event()
455 pData->repeatOffset = -1; in IMY_Event()
462 if (!IMY_GetNumber(pEASData->hwInstData, pData, &temp, EAS_FALSE)) in IMY_Event()
464 else if (pData->repeatOffset > 0) in IMY_Event()
470 if (pData->repeatCount < 0) in IMY_Event()
471 pData->repeatCount = (EAS_I16) temp; in IMY_Event()
477 if (!IMY_GetVolume(pEASData->hwInstData, pData, EAS_FALSE)) in IMY_Event()
483 pData->noteModifier = -1; in IMY_Event()
488 pData->noteModifier = +1; in IMY_Event()
493 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_FALSE); in IMY_Event()
495 pData->octave = (EAS_U8) ((c - '0' + 1) * 12); in IMY_Event()
502 if (!IMY_GetLEDState(pEASData, pData)) in IMY_Event()
508 if (!IMY_GetVibeState(pEASData, pData)) in IMY_Event()
514 if (IMY_GetNextChar(pEASData->hwInstData, pData, EAS_FALSE) == 'a') in IMY_Event()
516 if (!IMY_GetBackState(pEASData, pData)) in IMY_Event()
521 PutBackChar(pData); in IMY_Event()
522 if (IMY_PlayNote(pEASData, pData, c, parserMode)) in IMY_Event()
531 if (IMY_PlayRest(pEASData, pData)) in IMY_Event()
549 if (IMY_PlayNote(pEASData, pData, c, parserMode)) in IMY_Event()
563 pData->state = EAS_STATE_STOPPING; in IMY_Event()
564 VMReleaseAllVoices(pEASData->pVoiceMgr, pData->pSynth); in IMY_Event()
589 S_IMELODY_DATA* pData; in IMY_State() local
592 pData = (S_IMELODY_DATA*) pInstData; in IMY_State()
595 if (pData->state == EAS_STATE_STOPPING) in IMY_State()
597 if (VMActiveVoices(pData->pSynth) == 0) in IMY_State()
599 pData->state = EAS_STATE_STOPPED; in IMY_State()
606 if (pData->state == EAS_STATE_PAUSING) in IMY_State()
608 if (VMActiveVoices(pData->pSynth) == 0) in IMY_State()
613 pData->state = EAS_STATE_PAUSED; in IMY_State()
618 *pState = pData->state; in IMY_State()
641 S_IMELODY_DATA* pData; in IMY_Close() local
648 pData = (S_IMELODY_DATA*) pInstData; in IMY_Close()
651 if ((result = EAS_HWCloseFile(pEASData->hwInstData, pData->fileHandle)) != EAS_SUCCESS) in IMY_Close()
655 if (pData->pSynth != NULL) in IMY_Close()
656 VMMIDIShutdown(pEASData, pData->pSynth); in IMY_Close()
660 EAS_HWFree(pEASData->hwInstData, pData); in IMY_Close()
684 S_IMELODY_DATA* pData; in IMY_Reset() local
690 pData = (S_IMELODY_DATA*) pInstData; in IMY_Reset()
693 VMReset(pEASData->pVoiceMgr, pData->pSynth, EAS_TRUE); in IMY_Reset()
696 pData->time = 0; in IMY_Reset()
697 pData->note = 0; in IMY_Reset()
700 pData->state = EAS_STATE_ERROR; in IMY_Reset()
701 …if ((result = EAS_HWFileSeek(pEASData->hwInstData, pData->fileHandle, pData->fileOffset)) != EAS_S… in IMY_Reset()
703 if ((result = IMY_ParseHeader (pEASData, pData)) != EAS_SUCCESS) in IMY_Reset()
710 pData->state = EAS_STATE_READY; in IMY_Reset()
734 S_IMELODY_DATA *pData; in IMY_Pause() local
741 pData = (S_IMELODY_DATA*) pInstData; in IMY_Pause()
742 if (pData->state == EAS_STATE_STOPPED) in IMY_Pause()
746 VMMuteAllVoices(pEASData->pVoiceMgr, pData->pSynth); in IMY_Pause()
747 pData->state = EAS_STATE_PAUSING; in IMY_Pause()
771 S_IMELODY_DATA *pData; in IMY_Resume() local
778 pData = (S_IMELODY_DATA*) pInstData; in IMY_Resume()
779 if (pData->state == EAS_STATE_STOPPED) in IMY_Resume()
783 pData->state = EAS_STATE_PLAY; in IMY_Resume()
809 S_IMELODY_DATA *pData; in IMY_SetData() local
811 pData = (S_IMELODY_DATA*) pInstData; in IMY_SetData()
817 EAS_HWMemCpy(&pData->metadata, (void*) value, sizeof(S_METADATA_CB)); in IMY_SetData()
847 S_IMELODY_DATA *pData; in IMY_GetData() local
849 pData = (S_IMELODY_DATA*) pInstData; in IMY_GetData()
859 *pValue = (EAS_I32) pData->pSynth; in IMY_GetData()
889 static EAS_BOOL IMY_PlayNote (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData, EAS_I8 note, EAS_INT par… in IMY_PlayNote() argument
900 if (!IMY_GetDuration(pEASData->hwInstData, pData, &duration)) in IMY_PlayNote()
904 pData->note = (EAS_U8) (pData->octave + noteTable[note - 'a'] + pData->noteModifier); in IMY_PlayNote()
905 velocity = (EAS_U8) (pData->volume ? pData->volume * IMELODY_VEL_MUL + IMELODY_VEL_OFS : 0); in IMY_PlayNote()
909 VMStartNote(pEASData->pVoiceMgr, pData->pSynth, IMELODY_CHANNEL, pData->note, velocity); in IMY_PlayNote()
916 switch (pData->style) in IMY_PlayNote()
920 pData->restTicks = duration >> 4; in IMY_PlayNote()
923 pData->restTicks = 0; in IMY_PlayNote()
927 pData->restTicks = duration >> 1; in IMY_PlayNote()
932 pData->restTicks = duration >> 4; in IMY_PlayNote()
937 pData->time += duration - pData->restTicks; in IMY_PlayNote()
940 pData->noteModifier = 0; in IMY_PlayNote()
961 static EAS_BOOL IMY_PlayRest (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData) in IMY_PlayRest() argument
970 if (!IMY_GetDuration(pEASData->hwInstData, pData, &duration)) in IMY_PlayRest()
978 pData->time += duration; in IMY_PlayRest()
999 static EAS_BOOL IMY_GetDuration (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_I32 *pDu… in IMY_GetDuration() argument
1006 c = IMY_GetNextChar(hwInstData, pData, EAS_FALSE); in IMY_GetDuration()
1018 duration = pData->tick * (1 << ('5' - c)); in IMY_GetDuration()
1021 c = IMY_GetNextChar(hwInstData, pData, EAS_FALSE); in IMY_GetDuration()
1034 PutBackChar(pData); in IMY_GetDuration()
1057 static EAS_BOOL IMY_GetLEDState (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData) in IMY_GetLEDState() argument
1068 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_FALSE); in IMY_GetLEDState()
1122 static EAS_BOOL IMY_GetVibeState (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData) in IMY_GetVibeState() argument
1133 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_FALSE); in IMY_GetVibeState()
1187 static EAS_BOOL IMY_GetBackState (S_EAS_DATA *pEASData, S_IMELODY_DATA *pData) in IMY_GetBackState() argument
1198 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_FALSE); in IMY_GetBackState()
1252 static EAS_BOOL IMY_GetVolume (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_BOOL inHea… in IMY_GetVolume() argument
1261 c = IMY_GetNextChar(hwInstData, pData, inHeader); in IMY_GetVolume()
1264 if (pData->volume < 15) in IMY_GetVolume()
1265 pData->volume++; in IMY_GetVolume()
1270 if (pData->volume > 0) in IMY_GetVolume()
1271 pData->volume--; in IMY_GetVolume()
1279 c = IMY_GetNextChar(hwInstData, pData, inHeader); in IMY_GetVolume()
1283 PutBackChar(pData); in IMY_GetVolume()
1289 pData->volume = (EAS_U8) temp; in IMY_GetVolume()
1310 static EAS_BOOL IMY_GetNumber (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_INT *temp,… in IMY_GetNumber() argument
1323 c = IMY_GetNextChar(hwInstData, pData, inHeader); in IMY_GetNumber()
1332 PutBackChar(pData); in IMY_GetNumber()
1359 static EAS_BOOL IMY_GetVersion (S_IMELODY_DATA *pData, EAS_INT *pVersion) in IMY_GetVersion() argument
1368 c = pData->buffer[pData->index++]; in IMY_GetVersion()
1408 static void IMY_MetaData (S_IMELODY_DATA *pData, E_EAS_METADATA_TYPE metaType, EAS_I8 *buffer) in IMY_MetaData() argument
1413 if (!pData->metadata.callback) in IMY_MetaData()
1418 if (len >pData->metadata.bufferSize) in IMY_MetaData()
1419 len = pData->metadata.bufferSize; in IMY_MetaData()
1420 strncpy((char*) pData->metadata.buffer, (char*) buffer, (size_t) len); in IMY_MetaData()
1421 pData->metadata.buffer[len] = 0; in IMY_MetaData()
1424 pData->metadata.callback(metaType, pData->metadata.buffer, pData->metadata.pUserData); in IMY_MetaData()
1445 static EAS_RESULT IMY_ParseHeader (S_EAS_DATA *pEASData, S_IMELODY_DATA* pData) in IMY_ParseHeader() argument
1457 pData->time = 0; in IMY_ParseHeader()
1458 pData->tick = DEFAULT_TICK_CONV; in IMY_ParseHeader()
1459 pData->note = 0; in IMY_ParseHeader()
1460 pData->noteModifier = 0; in IMY_ParseHeader()
1461 pData ->restTicks = 0; in IMY_ParseHeader()
1462 pData->volume = 7; in IMY_ParseHeader()
1463 pData->octave = 60; in IMY_ParseHeader()
1464 pData->repeatOffset = -1; in IMY_ParseHeader()
1465 pData->repeatCount = -1; in IMY_ParseHeader()
1466 pData->style = 0; in IMY_ParseHeader()
1469 pData->index = 1; in IMY_ParseHeader()
1475 if (pData->index != 0) in IMY_ParseHeader()
1477 …if ((result = IMY_ReadLine(pEASData->hwInstData, pData->fileHandle, pData->buffer, &pData->startLi… in IMY_ParseHeader()
1485 token = IMY_ParseLine(pData->buffer, &pData->index); in IMY_ParseHeader()
1494 if (!IMY_GetVersion(pData, &temp)) in IMY_ParseHeader()
1507 if (!IMY_GetVersion(pData, &temp)) in IMY_ParseHeader()
1520 IMY_MetaData(pData, EAS_METADATA_TITLE, pData->buffer + pData->index); in IMY_ParseHeader()
1524 IMY_MetaData(pData, EAS_METADATA_AUTHOR, pData->buffer + pData->index); in IMY_ParseHeader()
1529 IMY_GetNumber(pEASData->hwInstData, pData, &temp, EAS_TRUE); in IMY_ParseHeader()
1531 pData->tick = TICK_CONVERT / temp; in IMY_ParseHeader()
1536 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_TRUE); in IMY_ParseHeader()
1538 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_TRUE); in IMY_ParseHeader()
1540 pData->style = (EAS_U8) (c - '0'); in IMY_ParseHeader()
1543 PutBackChar(pData); in IMY_ParseHeader()
1550 c = IMY_GetNextChar(pEASData->hwInstData, pData, EAS_TRUE); in IMY_ParseHeader()
1553 PutBackChar(pData); in IMY_ParseHeader()
1560 IMY_GetVolume(pEASData->hwInstData, pData, EAS_TRUE); in IMY_ParseHeader()
1575 pData->index = 1; in IMY_ParseHeader()
1598 static EAS_I8 IMY_GetNextChar (EAS_HW_DATA_HANDLE hwInstData, S_IMELODY_DATA *pData, EAS_BOOL inHea… in IMY_GetNextChar() argument
1606 c = pData->buffer[pData->index++]; in IMY_GetNextChar()
1615 pData->index = 0; in IMY_GetNextChar()
1616 pData->buffer[0] = 0; in IMY_GetNextChar()
1617 … if (IMY_ReadLine(hwInstData, pData->fileHandle, pData->buffer, &pData->startLine) != EAS_SUCCESS) in IMY_GetNextChar()
1626 if (IMY_ParseLine(pData->buffer, &index) == TOKEN_END) in IMY_GetNextChar()
1631 pData->buffer[0] = 0; in IMY_GetNextChar()