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 27 of file Mixer.hh.

Member Enumeration Documentation

◆ SoundDriverType

Enumerator
NONE 
SDL 

Definition at line 30 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 57 of file Mixer.hh.

◆ getMuteSetting()

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

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

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

◆ registerMixer()

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

Register per-machine mixer.

Definition at line 101 of file Mixer.cc.

References contains().

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

◆ unmute()

void openmsx::Mixer::unmute ( )

Definition at line 122 of file Mixer.cc.

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

◆ unregisterMixer()

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

Unregister per-machine mixer.

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

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


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