ScummVM API documentation
Kyra::SoundMidiPC Class Reference

#include <sound_intern.h>

Inheritance diagram for Kyra::SoundMidiPC:
Kyra::Sound

Public Member Functions

 SoundMidiPC (KyraEngine_v1 *vm, Audio::Mixer *mixer, MidiDriver *driver, kType type)
 
kType getMusicType () const override
 
bool init () override
 
void updateVolumeSettings () override
 
void initAudioResourceInfo (int set, void *info) override
 
void selectAudioResourceSet (int set) override
 
bool hasSoundFile (uint file) const override
 
void loadSoundFile (uint file) override
 
void loadSoundFile (const Common::Path &file) override
 
void loadSfxFile (const Common::Path &file) override
 
void playTrack (uint8 track) override
 
void haltTrack () override
 
bool isPlaying () const override
 
void playSoundEffect (uint16 track, uint8 volume=0xFF) override
 
void stopAllSoundEffects () override
 
void beginFadeOut () override
 
void pause (bool paused) override
 
- Public Member Functions inherited from Kyra::Sound
 Sound (KyraEngine_v1 *vm, Audio::Mixer *mixer)
 
virtual kType getSfxType () const
 
virtual bool useDigitalSfx () const
 
virtual void process ()
 
virtual void unloadSoundFile (const Common::String &file)
 
virtual void beginFadeOut (int)
 
virtual void enableMusic (int enable)
 
int musicEnabled () const
 
void enableSFX (bool enable)
 
bool sfxEnabled () const
 
bool isVoicePresent (const char *file) const
 
virtual int32 voicePlay (const char *file, Audio::SoundHandle *handle=0, uint8 volume=255, uint8 priority=255, bool isSfx=false)
 
Audio::SeekableAudioStreamgetVoiceStream (const char *file) const
 
bool playVoiceStream (Audio::AudioStream *stream, Audio::SoundHandle *handle=0, uint8 volume=255, uint8 priority=255, bool isSfx=false)
 
bool voiceIsPlaying (const Audio::SoundHandle *handle=0) const
 
bool allVoiceChannelsPlaying () const
 
uint32 voicePlayedTime (const Audio::SoundHandle &handle) const
 
void voiceStop (const Audio::SoundHandle *handle=0)
 
virtual int checkTrigger ()
 
virtual void resetTrigger ()
 

Additional Inherited Members

- Public Types inherited from Kyra::Sound
enum  kType {
  kAdLib, kMidiMT32, kMidiGM, kTowns,
  kPC98, kPCSpkr, kPCjr, kAmiga,
  kSegaCD, kMac
}
 
- Protected Types inherited from Kyra::Sound
enum  { kNumChannelHandles = 4 }
 
- Protected Attributes inherited from Kyra::Sound
SoundChannel _soundChannels [kNumChannelHandles]
 
int _musicEnabled
 
bool _sfxEnabled
 
KyraEngine_v1_vm
 
Audio::Mixer_mixer
 

Detailed Description

MIDI output device.

This device supports both MT-32 MIDI, as used in Kyrandia 1 and 2, and GM MIDI, as used in Kyrandia 2.

Member Function Documentation

◆ init()

bool Kyra::SoundMidiPC::init ( )
overridevirtual

Initializes the output device.

Returns
true on success, else false

Implements Kyra::Sound.

◆ updateVolumeSettings()

void Kyra::SoundMidiPC::updateVolumeSettings ( )
overridevirtual

Updates internal volume settings according to ConfigManager.

Reimplemented from Kyra::Sound.

◆ initAudioResourceInfo()

void Kyra::SoundMidiPC::initAudioResourceInfo ( int  set,
void *  info 
)
overridevirtual

Assigns static resource data with information on how to load audio resources to

Parameters
setvalue defined in AudioResourceSet enum info various types of resource info data (file list, file name pattern, struct, etc. - depending on the inheriting driver type)

Implements Kyra::Sound.

◆ selectAudioResourceSet()

void Kyra::SoundMidiPC::selectAudioResourceSet ( int  set)
overridevirtual

Select audio resource set.

Parameters
setvalue defined in AudioResourceSet enum

Implements Kyra::Sound.

◆ hasSoundFile()

bool Kyra::SoundMidiPC::hasSoundFile ( uint  file) const
overridevirtual

Checks if a given sound file is present.

Parameters
tracktrack number
Returns
true if available, false otherwise

Implements Kyra::Sound.

◆ loadSoundFile() [1/2]

void Kyra::SoundMidiPC::loadSoundFile ( uint  file)
overridevirtual

Load a specifc sound file for use of playing music and sound effects.

Implements Kyra::Sound.

◆ loadSoundFile() [2/2]

void Kyra::SoundMidiPC::loadSoundFile ( const Common::Path file)
overridevirtual

Load a sound file for playing music (and sometimes sound effects) from.

Implements Kyra::Sound.

◆ loadSfxFile()

void Kyra::SoundMidiPC::loadSfxFile ( const Common::Path file)
overridevirtual

Load a sound file for playing sound effects from.

Reimplemented from Kyra::Sound.

◆ playTrack()

void Kyra::SoundMidiPC::playTrack ( uint8  track)
overridevirtual

Plays the specified track.

Parameters
tracktrack number

Implements Kyra::Sound.

◆ haltTrack()

void Kyra::SoundMidiPC::haltTrack ( )
overridevirtual

Stop playback of the current track.

Implements Kyra::Sound.

◆ isPlaying()

bool Kyra::SoundMidiPC::isPlaying ( ) const
overridevirtual

Checks if the sound driver plays any sound.

Returns
true if playing, false otherwise

Reimplemented from Kyra::Sound.

◆ playSoundEffect()

void Kyra::SoundMidiPC::playSoundEffect ( uint16  track,
uint8  volume = 0xFF 
)
overridevirtual

Plays the specified sound effect.

Parameters
tracksound effect id

Implements Kyra::Sound.

◆ stopAllSoundEffects()

void Kyra::SoundMidiPC::stopAllSoundEffects ( )
overridevirtual

Stop playback of all sfx tracks.

Reimplemented from Kyra::Sound.

◆ beginFadeOut()

void Kyra::SoundMidiPC::beginFadeOut ( )
overridevirtual

Starts fading out the volume.

This keeps fading out the output until it is silenced, but does not change the volume set by setVolume! It will automatically reset the volume when playing a new track or sound effect.

Implements Kyra::Sound.

◆ pause()

void Kyra::SoundMidiPC::pause ( bool  paused)
overridevirtual

Stops all audio playback when paused. Continues after end of pause.

Reimplemented from Kyra::Sound.


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