OpenTTD Source 20260917-master-gec444f7315
MusicDriver Class Referenceabstract

Driver for all music playback. More...

#include <music_driver.hpp>

Inheritance diagram for MusicDriver:
Driver MusicDriver_Allegro MusicDriver_BeMidi MusicDriver_Cocoa MusicDriver_DMusic MusicDriver_ExtMidi MusicDriver_FluidSynth MusicDriver_Null MusicDriver_Win32

Public Member Functions

virtual void PlaySong (const MusicSongInfo &song)=0
 Play a particular song.
virtual void StopSong ()=0
 Stop playing the current song.
virtual bool IsSongPlaying ()=0
 Are we currently playing a song?
virtual void SetVolume (uint8_t vol)=0
 Set the volume, if possible.
Public Member Functions inherited from Driver
virtual std::optional< std::string_view > Start (const StringList &parm)=0
 Start this driver.
virtual void Stop ()=0
 Stop this driver.
virtual ~Driver ()=default
 Ensure the destructor of the sub classes are called as well.
virtual std::string_view GetName () const =0
 Get the name of this driver.

Static Public Member Functions

static MusicDriver * GetInstance ()
 Get the currently active instance of the music driver.

Additional Inherited Members

Public Types inherited from Driver
enum class  Type : uint8_t {
  Begin = 0 , Music = 0 , Sound , Video ,
  End
}
 The type of driver. More...

Detailed Description

Driver for all music playback.

Definition at line 18 of file music_driver.hpp.

Member Function Documentation

◆ GetInstance()

MusicDriver * MusicDriver::GetInstance ( )
inlinestatic

◆ IsSongPlaying()

virtual bool MusicDriver::IsSongPlaying ( )
pure virtual

Are we currently playing a song?

Returns
True if a song is being played.

Implemented in MusicDriver_Allegro, MusicDriver_BeMidi, MusicDriver_Cocoa, MusicDriver_DMusic, MusicDriver_ExtMidi, MusicDriver_FluidSynth, MusicDriver_Null, and MusicDriver_Win32.

◆ PlaySong()

virtual void MusicDriver::PlaySong ( const MusicSongInfo & song)
pure virtual

Play a particular song.

Parameters
songThe information for the song to play.

Implemented in MusicDriver_Allegro, MusicDriver_BeMidi, MusicDriver_Cocoa, MusicDriver_DMusic, MusicDriver_ExtMidi, MusicDriver_FluidSynth, MusicDriver_Null, and MusicDriver_Win32.

Referenced by MusicSystem::Play().

◆ SetVolume()

virtual void MusicDriver::SetVolume ( uint8_t vol)
pure virtual

◆ StopSong()

virtual void MusicDriver::StopSong ( )
pure virtual

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