diff --git a/Components/6560/6560.hpp b/Components/6560/6560.hpp index 5bafeba65..0995c2545 100644 --- a/Components/6560/6560.hpp +++ b/Components/6560/6560.hpp @@ -17,7 +17,7 @@ namespace MOS::MOS6560 { // audio state -class AudioGenerator: public ::Outputs::Speaker::SampleSource { +class AudioGenerator: public ::Outputs::Speaker::SampleSource { public: AudioGenerator(Concurrency::AsyncTaskQueue &audio_queue); @@ -28,7 +28,6 @@ class AudioGenerator: public ::Outputs::Speaker::SampleSource { void get_samples(std::size_t number_of_samples, int16_t *target); void skip_samples(std::size_t number_of_samples); void set_sample_volume_range(std::int16_t range); - static constexpr bool is_stereo = false; private: Concurrency::AsyncTaskQueue &audio_queue_; diff --git a/Components/AY38910/AY38910.hpp b/Components/AY38910/AY38910.hpp index 48dcf6277..f9ffe1476 100644 --- a/Components/AY38910/AY38910.hpp +++ b/Components/AY38910/AY38910.hpp @@ -66,7 +66,7 @@ enum class Personality { This AY has an attached mono or stereo mixer. */ -template class AY38910: public ::Outputs::Speaker::SampleSource> { +template class AY38910: public ::Outputs::Speaker::SampleSource, stereo> { public: /// Creates a new AY38910. AY38910(Personality, Concurrency::AsyncTaskQueue &); @@ -109,7 +109,6 @@ template class AY38910: public ::Outputs::Speaker::SampleSource &task_queue_; diff --git a/Components/AudioToggle/AudioToggle.hpp b/Components/AudioToggle/AudioToggle.hpp index 84cebb762..26ef7007e 100644 --- a/Components/AudioToggle/AudioToggle.hpp +++ b/Components/AudioToggle/AudioToggle.hpp @@ -16,14 +16,13 @@ namespace Audio { /*! Provides a sample source that can programmatically be set to one of two values. */ -class Toggle: public Outputs::Speaker::SampleSource { +class Toggle: public Outputs::Speaker::SampleSource { public: Toggle(Concurrency::AsyncTaskQueue &audio_queue); void get_samples(std::size_t number_of_samples, std::int16_t *target); void set_sample_volume_range(std::int16_t range); void skip_samples(const std::size_t number_of_samples); - static constexpr bool is_stereo = false; void set_output(bool enabled); bool get_output() const; diff --git a/Components/KonamiSCC/KonamiSCC.hpp b/Components/KonamiSCC/KonamiSCC.hpp index a8c767f79..8d2986e85 100644 --- a/Components/KonamiSCC/KonamiSCC.hpp +++ b/Components/KonamiSCC/KonamiSCC.hpp @@ -20,7 +20,7 @@ namespace Konami { and five channels of output. The original SCC uses the same wave for channels four and five, the SCC+ supports different waves for the two channels. */ -class SCC: public ::Outputs::Speaker::SampleSource { +class SCC: public ::Outputs::Speaker::SampleSource { public: /// Creates a new SCC. SCC(Concurrency::AsyncTaskQueue &task_queue); @@ -31,7 +31,6 @@ class SCC: public ::Outputs::Speaker::SampleSource { /// As per ::SampleSource; provides audio output. void get_samples(std::size_t number_of_samples, std::int16_t *target); void set_sample_volume_range(std::int16_t range); - static constexpr bool is_stereo = false; /// Writes to the SCC. void write(uint16_t address, uint8_t value); diff --git a/Components/OPx/Implementation/OPLBase.hpp b/Components/OPx/Implementation/OPLBase.hpp index 98bee264f..569e970a2 100644 --- a/Components/OPx/Implementation/OPLBase.hpp +++ b/Components/OPx/Implementation/OPLBase.hpp @@ -13,7 +13,7 @@ namespace Yamaha::OPL { -template class OPLBase: public ::Outputs::Speaker::SampleSource { +template class OPLBase: public ::Outputs::Speaker::SampleSource { public: void write(uint16_t address, uint8_t value) { if(address & 1) { diff --git a/Components/OPx/OPLL.hpp b/Components/OPx/OPLL.hpp index 5323fbeaf..8d35e8e1b 100644 --- a/Components/OPx/OPLL.hpp +++ b/Components/OPx/OPLL.hpp @@ -19,7 +19,7 @@ namespace Yamaha::OPL { -class OPLL: public OPLBase { +class OPLL: public OPLBase { public: /// Creates a new OPLL or VRC7. OPLL(Concurrency::AsyncTaskQueue &task_queue, int audio_divider = 1, bool is_vrc7 = false); @@ -27,7 +27,6 @@ class OPLL: public OPLBase { /// As per ::SampleSource; provides audio output. void get_samples(std::size_t number_of_samples, std::int16_t *target); void set_sample_volume_range(std::int16_t range); - static constexpr bool is_stereo = false; // The OPLL is generally 'half' as loud as it's told to be. This won't strictly be true in // rhythm mode, but it's correct for melodic output. @@ -37,7 +36,7 @@ class OPLL: public OPLBase { uint8_t read(uint16_t address); private: - friend OPLBase; + friend OPLBase; void write_register(uint8_t address, uint8_t value); int audio_divider_ = 0; diff --git a/Components/SN76489/SN76489.hpp b/Components/SN76489/SN76489.hpp index 820170f3b..cab4469e1 100644 --- a/Components/SN76489/SN76489.hpp +++ b/Components/SN76489/SN76489.hpp @@ -13,7 +13,7 @@ namespace TI { -class SN76489: public Outputs::Speaker::SampleSource { +class SN76489: public Outputs::Speaker::SampleSource { public: enum class Personality { SN76489, @@ -31,7 +31,6 @@ class SN76489: public Outputs::Speaker::SampleSource { void get_samples(std::size_t number_of_samples, std::int16_t *target); bool is_zero_level() const; void set_sample_volume_range(std::int16_t range); - static constexpr bool is_stereo = false; private: int master_divider_ = 0; diff --git a/Machines/Apple/AppleIIgs/Sound.hpp b/Machines/Apple/AppleIIgs/Sound.hpp index 2eed23a8f..dece2832d 100644 --- a/Machines/Apple/AppleIIgs/Sound.hpp +++ b/Machines/Apple/AppleIIgs/Sound.hpp @@ -16,7 +16,7 @@ namespace Apple::IIgs::Sound { -class GLU: public Outputs::Speaker::SampleSource { +class GLU: public Outputs::Speaker::SampleSource { // TODO: isn't this stereo? public: GLU(Concurrency::AsyncTaskQueue &audio_queue); @@ -37,7 +37,6 @@ class GLU: public Outputs::Speaker::SampleSource { void get_samples(std::size_t number_of_samples, std::int16_t *target); void set_sample_volume_range(std::int16_t range); void skip_samples(const std::size_t number_of_samples); - static constexpr bool is_stereo = false; private: Concurrency::AsyncTaskQueue &audio_queue_; diff --git a/Machines/Apple/Macintosh/Audio.hpp b/Machines/Apple/Macintosh/Audio.hpp index e23bcb16b..d7cbcaae0 100644 --- a/Machines/Apple/Macintosh/Audio.hpp +++ b/Machines/Apple/Macintosh/Audio.hpp @@ -23,7 +23,7 @@ namespace Apple::Macintosh { Designed to be clocked at half the rate of the real hardware — i.e. a shade less than 4Mhz. */ -class Audio: public ::Outputs::Speaker::SampleSource