#include <sound_pc_v1.h>
Public Member Functions | |
SoundPC_v1 (KyraEngine_v1 *vm, Audio::Mixer *mixer, kType type) | |
kType | getMusicType () const override |
bool | init () override |
void | process () 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 | playTrack (uint8 track) override |
void | haltTrack () override |
bool | isPlaying () const override |
void | playSoundEffect (uint16 track, uint8 volume=0xFF) override |
void | beginFadeOut () override |
int | checkTrigger () override |
void | resetTrigger () override |
![]() | |
Sound (KyraEngine_v1 *vm, Audio::Mixer *mixer) | |
virtual kType | getSfxType () const |
virtual bool | useDigitalSfx () const |
virtual void | unloadSoundFile (const Common::String &file) |
virtual void | loadSfxFile (const Common::Path &file) |
virtual void | stopAllSoundEffects () |
virtual void | beginFadeOut (int) |
virtual void | pause (bool paused) |
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::SeekableAudioStream * | getVoiceStream (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) |
Additional Inherited Members | |
![]() | |
enum | kType { kAdLib, kMidiMT32, kMidiGM, kTowns, kPC98, kPCSpkr, kPCjr, kAmiga, kSegaCD, kMac } |
![]() | |
enum | { kNumChannelHandles = 4 } |
![]() | |
SoundChannel | _soundChannels [kNumChannelHandles] |
int | _musicEnabled |
bool | _sfxEnabled |
KyraEngine_v1 * | _vm |
Audio::Mixer * | _mixer |
AdLib/PC Speaker (early version) implementation of the sound output device.
It uses a special sound file format special to EoB I, II, Dune II, Kyrandia 1 and 2 and LoL. EoB I has a slightly different (oldest) file format, EoB II, Dune II and Kyrandia 1 have the exact same format, Kyrandia 2 and LoL have a slightly different format.
For PC Speaker this is a little different. Only the EoB games use the old driver with this data file format. The newer games use a MIDI-like driver (see pcspeaker_v2.cpp).
See AdLibDriver / PCSpeakerDriver for more information.
|
overridevirtual |
|
overridevirtual |
Updates the device, this is needed for some devices.
Reimplemented from Kyra::Sound.
|
overridevirtual |
Updates internal volume settings according to ConfigManager.
Reimplemented from Kyra::Sound.
|
overridevirtual |
Assigns static resource data with information on how to load audio resources to
set | value 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.
|
overridevirtual |
Select audio resource set.
set | value defined in AudioResourceSet enum |
Implements Kyra::Sound.
|
overridevirtual |
Checks if a given sound file is present.
track | track number |
Implements Kyra::Sound.
|
overridevirtual |
Load a specifc sound file for use of playing music and sound effects.
Implements Kyra::Sound.
|
overridevirtual |
Load a sound file for playing music (and sometimes sound effects) from.
Implements Kyra::Sound.
|
overridevirtual |
|
overridevirtual |
Stop playback of the current track.
Implements Kyra::Sound.
|
overridevirtual |
Checks if the sound driver plays any sound.
Reimplemented from Kyra::Sound.
|
overridevirtual |
|
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.
|
overridevirtual |
Receive notifications from a song at certain points.
Reimplemented from Kyra::Sound.
|
overridevirtual |
Reset sound trigger.
Reimplemented from Kyra::Sound.