OpenTTD Source 20260917-master-gec444f7315
MusicDriver_BeMidi Class Reference

The midi player for BeOS. More...

#include <bemidi.h>

Inheritance diagram for MusicDriver_BeMidi:
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.
Public Member Functions inherited from Driver
virtual ~Driver ()=default
 Ensure the destructor of the sub classes are called as well.

Private Attributes

BMidiSynthFile * midi_synth_file = nullptr
double current_volume = 1.0
bool just_started = false

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...
Static Public Member Functions inherited from MusicDriver
static MusicDriver * GetInstance ()
 Get the currently active instance of the music driver.

Detailed Description

The midi player for BeOS.

Definition at line 19 of file bemidi.h.

Member Function Documentation

◆ GetName()

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

Get the name of this driver.

Returns
The name of the driver.

Implements Driver.

Definition at line 32 of file bemidi.h.

◆ IsSongPlaying()

bool MusicDriver_BeMidi::IsSongPlaying ( )
overridevirtual

Are we currently playing a song?

Returns
True if a song is being played.

Implements MusicDriver.

Definition at line 58 of file bemidi.cpp.

◆ PlaySong()

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

Play a particular song.

Parameters
songThe information for the song to play.

Implements MusicDriver.

Definition at line 31 of file bemidi.cpp.

References MidiFile::GetSMFFile(), and Stop().

◆ SetVolume()

void MusicDriver_BeMidi::SetVolume ( uint8_t vol)
overridevirtual

Set the volume, if possible.

Parameters
volThe new volume.

Implements MusicDriver.

Definition at line 72 of file bemidi.cpp.

◆ Start()

std::optional< std::string_view > MusicDriver_BeMidi::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 21 of file bemidi.cpp.

◆ Stop()

void MusicDriver_BeMidi::Stop ( )
overridevirtual

Stop this driver.

Implements Driver.

Definition at line 26 of file bemidi.cpp.

References StopSong().

Referenced by PlaySong().

◆ StopSong()

void MusicDriver_BeMidi::StopSong ( )
overridevirtual

Stop playing the current song.

Implements MusicDriver.

Definition at line 50 of file bemidi.cpp.

Referenced by Stop().

Field Documentation

◆ current_volume

double MusicDriver_BeMidi::current_volume = 1.0
private

Definition at line 36 of file bemidi.h.

◆ just_started

bool MusicDriver_BeMidi::just_started = false
private

Definition at line 37 of file bemidi.h.

◆ midi_synth_file

BMidiSynthFile* MusicDriver_BeMidi::midi_synth_file = nullptr
private

Definition at line 35 of file bemidi.h.


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