OpenTTD Source 20250312-master-gcdcc6b491d
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 = 0
 

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 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 102 of file extmidi.cpp.

◆ DoStop()

void MusicDriver_ExtMidi::DoStop ( )
private

Definition at line 156 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 88 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 73 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 97 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 37 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 67 of file extmidi.cpp.

◆ StopSong()

void MusicDriver_ExtMidi::StopSong ( )
overridevirtual

Stop playing the current song.

Implements MusicDriver.

Definition at line 82 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 = 0
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: