From 47f8bd0383f0371ca8a347ac9a6a5156f25ab792 Mon Sep 17 00:00:00 2001 From: shinydoofy Date: Sun, 22 Mar 2009 02:25:04 +0000 Subject: [PATCH] SDL now supports tuning individual sound channels --- changelog.txt | 1 + src/drivers/sdl/config.cpp | 5 +++++ src/drivers/sdl/sdl-sound.cpp | 12 +++++++++++- src/drivers/sdl/sdl.cpp | 13 +++++++++---- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/changelog.txt b/changelog.txt index 84d473da..d6768fa6 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,5 @@ ---version 2.0.4 yet to be released--- +22-mar-2009 - shinydoofy - sdl - added commandline options for sound channels' volumes 22-mar-2009 - shinydoofy - sdl - updated window title 19-mar-2009 - adelikat - Win32 - make Video - windowed mode - disable hardware accel the default setting. Made high quality sound the default setting. 16-mar-2009 - adelikat - Win32 - GUI Dialog - added an option to disable the context menu diff --git a/src/drivers/sdl/config.cpp b/src/drivers/sdl/config.cpp index 4435dd4c..59692e78 100644 --- a/src/drivers/sdl/config.cpp +++ b/src/drivers/sdl/config.cpp @@ -116,6 +116,11 @@ InitConfig() // sound options config->addOption('s', "sound", "SDL.Sound", 1); config->addOption("volume", "SDL.SoundVolume", 100); + config->addOption("trianglevol", "SDL.TriangleVolume", 100); + config->addOption("square1vol", "SDL.Square1Volume", 100); + config->addOption("square2vol", "SDL.Square2Volume", 100); + config->addOption("noisevol", "SDL.NoiseVolume", 100); + config->addOption("pcmvol", "SDL.PCMVolume", 100); config->addOption("soundrate", "SDL.SoundRate", 11000); config->addOption("soundq", "SDL.SoundQuality", 1); config->addOption("soundrecord", "SDL.SoundRecordFile", ""); diff --git a/src/drivers/sdl/sdl-sound.cpp b/src/drivers/sdl/sdl-sound.cpp index 4e71056d..46b1c69a 100644 --- a/src/drivers/sdl/sdl-sound.cpp +++ b/src/drivers/sdl/sdl-sound.cpp @@ -79,7 +79,7 @@ fillaudio(void *udata, int InitSound(FCEUGI *gi) { - int sound, soundrate, soundbufsize, soundvolume, soundq; + int sound, soundrate, soundbufsize, soundvolume, soundtrianglevolume, soundsquare1volume, soundsquare2volume, soundnoisevolume, soundpcmvolume, soundq; SDL_AudioSpec spec; g_config->getOption("SDL.Sound", &sound); @@ -99,6 +99,11 @@ InitSound(FCEUGI *gi) g_config->getOption("SDL.SoundBufSize", &soundbufsize); g_config->getOption("SDL.SoundVolume", &soundvolume); g_config->getOption("SDL.SoundQuality", &soundq); + g_config->getOption("SDL.TriangleVolume", &soundtrianglevolume); + g_config->getOption("SDL.Square1Volume", &soundsquare1volume); + g_config->getOption("SDL.Square2Volume", &soundsquare2volume); + g_config->getOption("SDL.NoiseVolume", &soundnoisevolume); + g_config->getOption("SDL.PCMVolume", &soundpcmvolume); spec.freq = soundrate; spec.format = AUDIO_S16SYS; @@ -128,6 +133,11 @@ InitSound(FCEUGI *gi) FCEUI_SetSoundVolume(soundvolume); FCEUI_SetSoundQuality(soundq); FCEUI_Sound(soundrate); + FCEUI_SetTriangleVolume(soundtrianglevolume); + FCEUI_SetSquare1Volume(soundsquare1volume); + FCEUI_SetSquare2Volume(soundsquare2volume); + FCEUI_SetNoiseVolume(soundnoisevolume); + FCEUI_SetPCMVolume(soundpcmvolume); return(1); } diff --git a/src/drivers/sdl/sdl.cpp b/src/drivers/sdl/sdl.cpp index cc7b855a..9b129195 100644 --- a/src/drivers/sdl/sdl.cpp +++ b/src/drivers/sdl/sdl.cpp @@ -80,10 +80,10 @@ char *DriverUsage="\ --fullscreen {0|1} Enables full screen mode.\n\ --clipsides {0|1} Clips left and rightmost 8 columns of pixels.\n\ --noframe {0|1} Hides title bar and window decorations.\n\ ---slstart {0 - 239} Sets the first drawn emulated scanline.\n\ ---special {1 - 4} Use special video scaling filters\n\ +--slstart {0-239} Sets the first drawn emulated scanline.\n\ +--special {1-4} Use special video scaling filters\n\ (1 = hq2x 2 = Scale2x 3 = hq3x 4 = Scale3x)\n\ ---slend {0 - 239} Sets the last drawn emulated scanline.\n\ +--slend {0-239} Sets the last drawn emulated scanline.\n\ --ntsccolor {0|1} Emulates an NTSC TV's colors.\n\ --hue x Sets hue for NTSC color emulation.\n\ --tint x Sets tint for NTSC color emulation.\n\ @@ -92,7 +92,12 @@ char *DriverUsage="\ --soundrate x Sets sound playback rate to x Hz.\n\ --soundq {0|1} Enables high sound quality.\n\ --soundbufsize x Sets sound buffer size to x ms.\n\ ---volume {0 - 100} Sets volume.\n\ +--volume {0-100} Sets volume.\n\ +--trianglevol {0-100} Sets Triangle volume.\n\ +--square1vol {0-100} Sets Square 1 volume.\n\ +--square2vol {0-100} Sets Square 2 volume.\n\ +--noisevol {0-100} Sets Noise volume.\n\ +--pcmvol {0-100} Sets PCM volume.\n\ --lowpass {0|1} Enables low-pass filter if x is nonzero.\n\ --soundrecord f Records sound to file f.\n\ --input(1,2) d Set the input device for input 1 or 2.\n\