OpenTTD Source 15.0-RC3
MusicDriver_DMusic Class Reference

Music player making use of DirectX. More...

#include <dmusic.h>

Inheritance diagram for MusicDriver_DMusic:
MusicDriver Driver

Public Member Functions

std::optional< std::string_view > Start (const StringList &param) override
 Start this driver.
 
void Stop () override
 Stop this driver.
 
void PlaySong (const MusicSongInfo &song) override
 Play a particular song.
 
void StopSong () override
 Stop playing the current song.
 
bool IsSongPlaying () override
 Are we currently playing a song?
 
void SetVolume (uint8_t vol) override
 Set the volume, if possible.
 
std::string_view GetName () const override
 Get the name of this driver.
 

Additional Inherited Members

- Public Types inherited from Driver
enum  Type : uint8_t {
  DT_BEGIN = 0 , DT_MUSIC = 0 , DT_SOUND , DT_VIDEO ,
  DT_END
}
 The type of driver. More...
 
- Static Public Member Functions inherited from MusicDriver
static MusicDriver * GetInstance ()
 Get the currently active instance of the music driver.
 

Detailed Description

Music player making use of DirectX.

Definition at line 16 of file dmusic.h.

Constructor & Destructor Documentation

◆ ~MusicDriver_DMusic()

MusicDriver_DMusic::~MusicDriver_DMusic ( )
virtual

Definition at line 1139 of file dmusic.cpp.

Member Function Documentation

◆ GetName()

std::string_view MusicDriver_DMusic::GetName ( ) const
inlineoverridevirtual

Get the name of this driver.

Returns
The name of the driver.

Implements Driver.

Definition at line 31 of file dmusic.h.

◆ IsSongPlaying()

bool MusicDriver_DMusic::IsSongPlaying ( )
overridevirtual

Are we currently playing a song?

Returns
True if a song is being played.

Implements MusicDriver.

Definition at line 1216 of file dmusic.cpp.

◆ PlaySong()

void MusicDriver_DMusic::PlaySong ( const MusicSongInfo &  song)
overridevirtual

Play a particular song.

Parameters
songThe information for the song to play.

Implements MusicDriver.

Definition at line 1194 of file dmusic.cpp.

References _thread_event, _thread_mutex, lock, MusicSongInfo::loop, MusicSongInfo::override_end, and MusicSongInfo::override_start.

◆ SetVolume()

void MusicDriver_DMusic::SetVolume ( uint8_t  vol)
overridevirtual

Set the volume, if possible.

Parameters
volThe new volume.

Implements MusicDriver.

Definition at line 1222 of file dmusic.cpp.

◆ Start()

std::optional< std::string_view > MusicDriver_DMusic::Start ( const StringList &  parm)
overridevirtual

Start this driver.

Parameters
parmParameters passed to the driver.
Returns
std::nullopt if everything went okay, otherwise an error message.

Implements Driver.

Definition at line 1058 of file dmusic.cpp.

References _buffer, _dmusic_thread, _music, _port, _thread_event, convert_from_fs(), Debug, GetDriverParam(), GetDriverParamInt(), and StartNewThread().

◆ Stop()

void MusicDriver_DMusic::Stop ( )
overridevirtual

Stop this driver.

Implements Driver.

Definition at line 1145 of file dmusic.cpp.

References _buffer, _dls_downloads, _dmusic_thread, _music, _port, and _thread_event.

◆ StopSong()

void MusicDriver_DMusic::StopSong ( )
overridevirtual

Stop playing the current song.

Implements MusicDriver.

Definition at line 1209 of file dmusic.cpp.

References _thread_event.


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