OpenTTD Source 20241224-master-gf74b0cf984
MusicDriver_ExtMidi Class Reference
Inheritance diagram for MusicDriver_ExtMidi:
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.
 

Private Member Functions

void DoPlay ()
 
void DoStop ()
 

Private Attributes

std::vector< std::string > command_tokens
 
std::string song
 
pid_t pid
 

Additional Inherited Members

- Public Types inherited from Driver
enum  Type {
  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 MusicDriverGetInstance ()
 Get the currently active instance of the music driver.
 

Detailed Description

Definition at line 15 of file extmidi.h.

Member Function Documentation

◆ DoPlay()

void MusicDriver_ExtMidi::DoPlay ( )
private

Definition at line 103 of file extmidi.cpp.

◆ DoStop()

void MusicDriver_ExtMidi::DoStop ( )
private

Definition at line 157 of file extmidi.cpp.

◆ GetName()

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

Get the name of this driver.

Returns
The name of the driver.

Implements Driver.

Definition at line 36 of file extmidi.h.

Referenced by Start().

◆ IsSongPlaying()

bool MusicDriver_ExtMidi::IsSongPlaying ( )
overridevirtual

Are we currently playing a song?

Returns
True if a song is being played.

Implements MusicDriver.

Definition at line 89 of file extmidi.cpp.

◆ PlaySong()

void MusicDriver_ExtMidi::PlaySong ( const MusicSongInfo song)
overridevirtual

Play a particular song.

Parameters
songThe information for the song to play.

Implements MusicDriver.

Definition at line 74 of file extmidi.cpp.

References MidiFile::GetSMFFile().

◆ SetVolume()

void MusicDriver_ExtMidi::SetVolume ( uint8_t  vol)
overridevirtual

Set the volume, if possible.

Parameters
volThe new volume.

Implements MusicDriver.

Definition at line 98 of file extmidi.cpp.

References Debug.

◆ Start()

std::optional< std::string_view > MusicDriver_ExtMidi::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 38 of file extmidi.cpp.

References EXTERNAL_PLAYER, GetDriverParam(), SoundDriver::GetInstance(), VideoDriver::GetInstance(), GetName(), and StrEmpty().

◆ Stop()

void MusicDriver_ExtMidi::Stop ( )
overridevirtual

Stop this driver.

Implements Driver.

Definition at line 68 of file extmidi.cpp.

◆ StopSong()

void MusicDriver_ExtMidi::StopSong ( )
overridevirtual

Stop playing the current song.

Implements MusicDriver.

Definition at line 83 of file extmidi.cpp.

Field Documentation

◆ command_tokens

std::vector<std::string> MusicDriver_ExtMidi::command_tokens
private

Definition at line 17 of file extmidi.h.

◆ pid

pid_t MusicDriver_ExtMidi::pid
private

Definition at line 19 of file extmidi.h.

◆ song

std::string MusicDriver_ExtMidi::song
private

Definition at line 18 of file extmidi.h.


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