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
 
SoundDeviceoperator= (const SoundDevice &)=delete
 
const std::string & getName () const
 Get the unique name that identifies this sound device. More...
 
std::string_view getDescription () const
 Gets a description of this sound device, to be presented to the user. More...
 
bool isStereo () const
 Is this a stereo device? This is set in the constructor and cannot be changed anymore. More...
 
AmplificationFactors getAmplificationFactor () const
 
void setSoftwareVolume (float volume, EmuTime::param time)
 Change the 'software volume' of this sound device. More...
 
void setSoftwareVolume (float left, float right, EmuTime::param time)
 
void recordChannel (unsigned channel, const Filename &filename)
 
void muteChannel (unsigned channel, bool muted)
 
virtual void setOutputRate (unsigned hostSampleRate, double speed)=0
 When a SoundDevice registers itself with the Mixer, the Mixer sets the required sampleRate through this method. More...
 
virtual bool updateBuffer (size_t length, float *buffer, EmuTime::param time)=0
 Generate sample data. More...
 

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. More...
 
 ~SoundDevice ()
 
virtual float getAmplificationFactorImpl () const
 Get amplification/attenuation factor for this device. More...
 
void registerSound (const DeviceConfig &config)
 Registers this sound device with the Mixer. More...
 
void unregisterSound ()
 Unregisters this sound device with the Mixer. More...
 
void updateStream (EmuTime::param time)
 
void setInputRate (unsigned sampleRate)
 
unsigned getInputRate () const
 
virtual void generateChannels (std::span< float * > buffers, unsigned num)=0
 Abstract method to generate the actual sound data. More...
 
bool mixChannels (float *dataOut, size_t samples)
 Calls generateChannels() and combines the output to a single channel. More...
 
const DynamicClockgetHostSampleClock () const
 See MSXMixer::getHostSampleClock(). More...
 
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. More...
 

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: