@@ -38,7 +38,9 @@ static void _updateSquareSample(struct GBAudioSquareChannel* ch);
3838static int16_t _coalesceNoiseChannel (struct GBAudioNoiseChannel * ch );
3939
4040static void _updateFrame (struct mTiming * timing , void * user , uint32_t cyclesLate );
41+ #ifdef M_CORE_GB
4142static void _sample (struct mTiming * timing , void * user , uint32_t cyclesLate );
43+ #endif
4244
4345static void GBAudioSample (struct GBAudio * audio , int32_t timestamp );
4446
@@ -68,21 +70,25 @@ void GBAudioInit(struct GBAudio* audio, size_t samples, uint8_t* nr52, enum GBAu
6870 audio -> frameEvent .name = "GB Audio Frame Sequencer" ;
6971 audio -> frameEvent .callback = _updateFrame ;
7072 audio -> frameEvent .priority = 0x10 ;
73+ #ifdef M_CORE_GB
7174 audio -> sampleEvent .context = audio ;
7275 audio -> sampleEvent .name = "GB Audio Sample" ;
7376 audio -> sampleEvent .callback = _sample ;
7477 audio -> sampleEvent .priority = 0x18 ;
78+ #endif
7579}
7680
7781void GBAudioDeinit (struct GBAudio * audio ) {
7882 mAudioBufferDeinit (& audio -> buffer );
7983}
8084
8185void GBAudioReset (struct GBAudio * audio ) {
86+ #ifdef M_CORE_GB
8287 mTimingDeschedule (audio -> timing , & audio -> sampleEvent );
8388 if (audio -> style != GB_AUDIO_GBA ) {
8489 mTimingSchedule (audio -> timing , & audio -> sampleEvent , 0 );
8590 }
91+ #endif
8692 audio -> ch1 = (struct GBAudioSquareChannel ) { .sweep = { .time = 8 }, .envelope = { .dead = 2 } };
8793 audio -> ch2 = (struct GBAudioSquareChannel ) { .envelope = { .dead = 2 } };
8894 audio -> ch3 = (struct GBAudioWaveChannel ) { .bank = 0 };
@@ -817,6 +823,7 @@ void GBAudioSample(struct GBAudio* audio, int32_t timestamp) {
817823 }
818824}
819825
826+ #ifdef M_CORE_GB
820827static void _sample (struct mTiming * timing , void * user , uint32_t cyclesLate ) {
821828 struct GBAudio * audio = user ;
822829 GBAudioSample (audio , mTimingCurrentTime (audio -> timing ));
@@ -844,6 +851,7 @@ static void _sample(struct mTiming* timing, void* user, uint32_t cyclesLate) {
844851 }
845852 mTimingSchedule (timing , & audio -> sampleEvent , audio -> sampleInterval * audio -> timingFactor - cyclesLate );
846853}
854+ #endif
847855
848856bool _resetEnvelope (struct GBAudioEnvelope * envelope , enum GBAudioStyle style ) {
849857 envelope -> currentVolume = envelope -> initialVolume ;
0 commit comments