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 class  SoundDriverType { NONE , SDL }
 

Public Member Functions

 Mixer (Reactor &reactor, CommandController &commandController)
 
 ~Mixer ()
 
void registerMixer (MSXMixer &mixer)
 Register per-machine mixer.
 
void unregisterMixer (MSXMixer &mixer)
 Unregister per-machine mixer.
 
void mute ()
 This methods (un)mute the sound.
 
void unmute ()
 
void uploadBuffer (MSXMixer &msxMixer, std::span< const StereoFloat > buffer)
 Upload new sample data.
 
IntegerSettinggetMasterVolume ()
 
BooleanSettinggetMuteSetting ()
 

Detailed Description

Definition at line 25 of file Mixer.hh.

Member Enumeration Documentation

◆ SoundDriverType

Enumerator
NONE 
SDL 

Definition at line 28 of file Mixer.hh.

Constructor & Destructor Documentation

◆ Mixer()

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

◆ ~Mixer()

openmsx::Mixer::~Mixer ( )

Definition at line 65 of file Mixer.cc.

References openmsx::Subject< T >::detach().

Member Function Documentation

◆ getMasterVolume()

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

Definition at line 55 of file Mixer.hh.

◆ getMuteSetting()

BooleanSetting & openmsx::Mixer::getMuteSetting ( )
inline

Definition at line 56 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 119 of file Mixer.cc.

Referenced by openmsx::Reactor::block().

◆ registerMixer()

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

Register per-machine mixer.

Definition at line 105 of file Mixer.cc.

References contains().

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

◆ unmute()

void openmsx::Mixer::unmute ( )

Definition at line 126 of file Mixer.cc.

Referenced by openmsx::Reactor::unblock().

◆ unregisterMixer()

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

Unregister per-machine mixer.

Definition at line 112 of file Mixer.cc.

References move_pop_back(), and rfind_unguarded().

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

◆ uploadBuffer()

void openmsx::Mixer::uploadBuffer ( MSXMixer msxMixer,
std::span< const StereoFloat buffer 
)

Upload new sample data.

Definition at line 150 of file Mixer.cc.

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


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