EXPORT void CALL VolumeMute(void) { if (VolMutedSave > -1) { //unmute VolPercent = VolMutedSave; VolMutedSave = -1; if (VolumeControlType == VOLUME_TYPE_SDL) { VolSDL = SDL_MIX_MAXVOLUME * VolPercent / 100; } else { //OSS mixer volume volSet(VolPercent); } } else { //mute VolMutedSave = VolPercent; VolPercent = 0; if (VolumeControlType == VOLUME_TYPE_SDL) { VolSDL = 0; } else { //OSS mixer volume volSet(0); } } }
EXPORT void CALL VolumeDown(void) { //if muted, unmute first if (VolMutedSave > -1) VolumeMute(); // reload volume if we're using OSS if (VolumeControlType == VOLUME_TYPE_OSS) { VolPercent = volGet(); } // adjust volume variable VolPercent -= VolDelta; if (VolPercent < 0) VolPercent = 0; if (VolumeControlType == VOLUME_TYPE_SDL) { VolSDL = SDL_MIX_MAXVOLUME * VolPercent / 100; } else { //OSS mixer volume volSet(VolPercent); } }
EXPORT void CALL VolumeSetLevel(int level) { if (!l_PluginInit) return; // adjust volume VolPercent = level; if (VolPercent < 0) VolPercent = 0; else if (VolPercent > 100) VolPercent = 100; if (VolumeControlType == VOLUME_TYPE_SDL) { VolSDL = SDL_MIX_MAXVOLUME * VolPercent / 100; } else { //OSS mixer volume volSet(VolPercent); } }