diff --git a/Changes.txt b/Changes.txt index bbba0f6cb..7d6eab080 100644 --- a/Changes.txt +++ b/Changes.txt @@ -23,6 +23,9 @@ * Full rewrite of the audio subsystem; resample TIA output to target sample rate directly in Stella. + * Added option to force stereo sound for all ROMs, or to use the setting + on a per-ROM basis. + * Threading: decouple emulation from frame rendering. * Main loop rewritten; emulating speed and timing is now much more faithful @@ -69,17 +72,17 @@ * Updated PAL palette. - * Updated included PNG library to latest stable version. - * For UNIX systems: in the ROM launcher, when using symlinks use the symlink pathname instead of the underlying filesystem pathname. - * The Linux builds now use the system-installed PNG and ZLIB libraries + * The UNIX builds now use the system-installed PNG and ZLIB libraries by default. * For better compatibility, the Windows 32-bit version does not require SSE2 anymore. + * Updated included PNG library to latest stable version. + -Have fun! diff --git a/src/common/AudioSettings.hxx b/src/common/AudioSettings.hxx index 07640d8ce..f120228be 100644 --- a/src/common/AudioSettings.hxx +++ b/src/common/AudioSettings.hxx @@ -56,7 +56,7 @@ class AudioSettings static constexpr uInt32 DEFAULT_BUFFER_SIZE = 3; static constexpr uInt32 DEFAULT_HEADROOM = 2; static constexpr ResamplingQuality DEFAULT_RESAMPLING_QUALITY = ResamplingQuality::lanczos_2; - static constexpr const char* DEFAULT_STEREO = "BYROM"; + static constexpr const char* DEFAULT_STEREO = "byrom"; static constexpr uInt32 DEFAULT_VOLUME = 80; static constexpr bool DEFAULT_ENABLED = true; diff --git a/src/emucore/Console.cxx b/src/emucore/Console.cxx index 5977184ed..446b82c51 100644 --- a/src/emucore/Console.cxx +++ b/src/emucore/Console.cxx @@ -753,10 +753,17 @@ void Console::setTIAProperties() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Console::createAudioQueue() { + const string& stereo = myOSystem.settings().getString(AudioSettings::SETTING_STEREO); + bool useStereo = false; + if(BSPF::equalsIgnoreCase(stereo, "byrom")) + useStereo = myProperties.get(Cartridge_Sound) == "STEREO"; + else + useStereo = BSPF::equalsIgnoreCase(stereo, "stereo"); + myAudioQueue = make_shared( myEmulationTiming.audioFragmentSize(), myEmulationTiming.audioQueueCapacity(), - myProperties.get(Cartridge_Sound) == "STEREO" + useStereo ); }