openMSX
Public Types | Public Member Functions | List of all members
openmsx::Mixer Class Referencefinal

#include <Mixer.hh>

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

Public Types

enum  SoundDriverType { SND_NULL, SND_SDL }
 

Public Member Functions

 Mixer (Reactor &reactor, CommandController &commandController)
 
 ~Mixer ()
 
void registerMixer (MSXMixer &mixer)
 Register per-machine mixer. More...
 
void unregisterMixer (MSXMixer &mixer)
 Unregister per-machine mixer. More...
 
void mute ()
 This methods (un)mute the sound. More...
 
void unmute ()
 
void uploadBuffer (MSXMixer &msxMixer, float *buffer, unsigned len)
 Upload new sample data. More...
 
IntegerSettinggetMasterVolume ()
 

Detailed Description

Definition at line 18 of file Mixer.hh.

Member Enumeration Documentation

◆ SoundDriverType

Enumerator
SND_NULL 
SND_SDL 

Definition at line 21 of file Mixer.hh.

Constructor & Destructor Documentation

◆ Mixer()

openmsx::Mixer::Mixer ( Reactor reactor,
CommandController commandController 
)

◆ ~Mixer()

openmsx::Mixer::~Mixer ( )

Member Function Documentation

◆ getMasterVolume()

IntegerSetting& openmsx::Mixer::getMasterVolume ( )
inline

Definition at line 48 of file Mixer.hh.

◆ mute()

void openmsx::Mixer::mute ( )

This methods (un)mute the sound.

These methods may be called multiple times, as long as you never call unmute() more than mute()

Definition at line 118 of file Mixer.cc.

Referenced by uploadBuffer().

◆ registerMixer()

void openmsx::Mixer::registerMixer ( MSXMixer mixer)

Register per-machine mixer.

Definition at line 104 of file Mixer.cc.

References contains().

Referenced by openmsx::MSXMixer::unmute().

◆ unmute()

void openmsx::Mixer::unmute ( )

Definition at line 125 of file Mixer.cc.

Referenced by uploadBuffer().

◆ unregisterMixer()

void openmsx::Mixer::unregisterMixer ( MSXMixer mixer)

Unregister per-machine mixer.

Definition at line 111 of file Mixer.cc.

References move_pop_back(), and rfind_unguarded().

Referenced by openmsx::MSXMixer::mute().

◆ uploadBuffer()

void openmsx::Mixer::uploadBuffer ( MSXMixer msxMixer,
float *  buffer,
unsigned  len 
)

Upload new sample data.

Definition at line 149 of file Mixer.cc.

References openmsx::BooleanSetting::getBoolean(), mute(), unmute(), and UNREACHABLE.

Referenced by openmsx::MSXMixer::updateStream().


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