--- BasiliskII/src/audio.cpp 1999/10/03 14:16:25 1.1 +++ BasiliskII/src/audio.cpp 2000/06/23 14:22:44 1.4 @@ -1,7 +1,7 @@ /* * audio.cpp - Audio support * - * Basilisk II (C) 1997-1999 Christian Bauer + * Basilisk II (C) 1997-2000 Christian Bauer * Portions (C) 1997-1999 Marc Hellwig * * This program is free software; you can redistribute it and/or modify @@ -48,6 +48,16 @@ bool AudioAvailable = false; // Flag: a /* + * Reset audio emulation + */ + +void AudioReset(void) +{ + audio_data = 0; +} + + +/* * Get audio info */ @@ -113,27 +123,39 @@ static int32 AudioGetInfo(uint32 infoPtr } case siSpeakerMute: - WriteMacInt16(infoPtr, audio_get_main_mute()); + WriteMacInt16(infoPtr, audio_get_speaker_mute()); break; case siSpeakerVolume: - WriteMacInt32(infoPtr, audio_get_main_volume()); + WriteMacInt32(infoPtr, audio_get_speaker_volume()); + break; + + case siHeadphoneMute: + WriteMacInt16(infoPtr, 0); + break; + + case siHeadphoneVolume: + WriteMacInt32(infoPtr, 0x01000100); + break; + + case siHeadphoneVolumeSteps: + WriteMacInt16(infoPtr, 13); break; case siHardwareMute: - WriteMacInt16(infoPtr, audio_get_dac_mute()); + WriteMacInt16(infoPtr, audio_get_main_mute()); break; case siHardwareVolume: - WriteMacInt32(infoPtr, audio_get_dac_volume()); + WriteMacInt32(infoPtr, audio_get_main_volume()); break; - case siHardwareBusy: - WriteMacInt16(infoPtr, AudioStatus.num_sources != 0); + case siHardwareVolumeSteps: + WriteMacInt16(infoPtr, 13); break; - case siHardwareVolumeSteps: - WriteMacInt16(infoPtr, 64); + case siHardwareBusy: + WriteMacInt16(infoPtr, AudioStatus.num_sources != 0); break; default: // Delegate to Apple Mixer @@ -197,21 +219,25 @@ static int32 AudioSetInfo(uint32 infoPtr return badChannel; case siSpeakerMute: - audio_set_main_mute((uint16)infoPtr); + audio_set_speaker_mute((uint16)infoPtr); break; case siSpeakerVolume: D(bug(" set speaker volume %08lx\n", infoPtr)); - audio_set_main_volume(infoPtr); + audio_set_speaker_volume(infoPtr); + break; + + case siHeadphoneMute: + case siHeadphoneVolume: break; case siHardwareMute: - audio_set_dac_mute((uint16)infoPtr); + audio_set_main_mute((uint16)infoPtr); break; case siHardwareVolume: D(bug(" set hardware volume %08lx\n", infoPtr)); - audio_set_dac_volume(infoPtr); + audio_set_main_volume(infoPtr); break; default: // Delegate to Apple Mixer @@ -351,7 +377,7 @@ adat_error: printf("FATAL: audio compone return noErr; case kComponentVersionSelect: - return 0x00010002; + return 0x00010003; case kComponentCloseSelect: open_count--;