openMSX
Public Member Functions | List of all members
openmsx::DACSound16S Class Reference

#include <DACSound16S.hh>

Inheritance diagram for openmsx::DACSound16S:
Inheritance graph
[legend]
Collaboration diagram for openmsx::DACSound16S:
Collaboration graph
[legend]

Public Member Functions

 DACSound16S (std::string_view name, static_string_view desc, const DeviceConfig &config)
 
virtual ~DACSound16S ()
 
void reset (EmuTime::param time)
 
void writeDAC (int16_t value, EmuTime::param time)
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 
- Public Member Functions inherited from openmsx::SoundDevice
 SoundDevice (const SoundDevice &)=delete
 
 SoundDevice (SoundDevice &&)=delete
 
SoundDeviceoperator= (const SoundDevice &)=delete
 
SoundDeviceoperator= (SoundDevice &&)=delete
 
const std::string & getName () const
 Get the unique name that identifies this sound device.
 
std::string_view getDescription () const
 Gets a description of this sound device, to be presented to the user.
 
unsigned getNumChannels () const
 How many channels does this device have?
 
bool hasStereoChannels () const
 Are the individual channels of this device stereo?
 
bool isStereo () const
 Is the full output of this device stereo?
 
AmplificationFactors getAmplificationFactor () const
 
void setSoftwareVolume (float volume, EmuTime::param time)
 Change the 'software volume' of this sound device.
 
void setSoftwareVolume (float left, float right, EmuTime::param time)
 
void recordChannel (unsigned channel, const Filename &filename)
 
void muteChannel (unsigned channel, bool muted)
 
std::span< const float > getLastBuffer (unsigned channel)
 Query the last generated audio signal for a specific channel.
 
float getNativeSampleRate () const
 The samples returned by 'getLastBuffer()' have this sample rate.
 
unsigned getLastMonoBufferSize () const
 getLastBuffer() with return buffers containing this many samples.
 
unsigned getLastBufferSize () const
 

Additional Inherited Members

- Static Public Attributes inherited from openmsx::SoundDevice
static constexpr unsigned MAX_CHANNELS = 24
 
- Protected Member Functions inherited from openmsx::SoundDevice
 SoundDevice (MSXMixer &mixer, std::string_view name, static_string_view description, unsigned numChannels, unsigned inputRate, bool stereo)
 Constructor.
 
 ~SoundDevice ()
 
virtual float getAmplificationFactorImpl () const
 Get amplification/attenuation factor for this device.
 
void registerSound (const DeviceConfig &config)
 Registers this sound device with the Mixer.
 
void unregisterSound ()
 Unregisters this sound device with the Mixer.
 
void updateStream (EmuTime::param time)
 
void setInputRate (unsigned sampleRate)
 
unsigned getInputRate () const
 
bool mixChannels (float *dataOut, size_t samples)
 Calls generateChannels() and combines the output to a single channel.
 
const DynamicClockgetHostSampleClock () const
 See MSXMixer::getHostSampleClock().
 
double getEffectiveSpeed () const
 
- Static Protected Member Functions inherited from openmsx::SoundDevice
static void addFill (float *&buffer, float value, unsigned num)
 Adds a number of samples that all have the same value.
 

Detailed Description

Definition at line 12 of file DACSound16S.hh.

Constructor & Destructor Documentation

◆ DACSound16S()

openmsx::DACSound16S::DACSound16S ( std::string_view  name,
static_string_view  desc,
const DeviceConfig config 
)

Definition at line 12 of file DACSound16S.cc.

References openmsx::SoundDevice::registerSound().

◆ ~DACSound16S()

openmsx::DACSound16S::~DACSound16S ( )
virtual

Definition at line 19 of file DACSound16S.cc.

References openmsx::SoundDevice::unregisterSound().

Member Function Documentation

◆ reset()

void openmsx::DACSound16S::reset ( EmuTime::param  time)

◆ serialize()

template<typename Archive >
void openmsx::DACSound16S::serialize ( Archive &  ar,
unsigned  version 
)

Definition at line 63 of file DACSound16S.cc.

References openmsx::SoundDevice::getHostSampleClock(), and writeDAC().

◆ writeDAC()

void openmsx::DACSound16S::writeDAC ( int16_t  value,
EmuTime::param  time 
)

The documentation for this class was generated from the following files: