22#ifndef BLADERUNNER_AUDIO_PLAYER_H
23#define BLADERUNNER_AUDIO_PLAYER_H
25#include "common/array.h"
26#include "common/mutex.h"
27#include "common/str.h"
29#include "audio/audiostream.h"
30#include "audio/mixer.h"
32#include "bladerunner/bladerunner.h"
34namespace BladeRunner {
36class BladeRunnerEngine;
40enum AudioPlayerFlags {
42 kAudioPlayerOverrideVolume = 2
46#if BLADERUNNER_ORIGINAL_BUGS
47 static const int kTracks = 6;
50 static const int kTracks = 12;
67 Track _tracks[kTracks];
68 int _sfxVolumeFactorOriginalEngine;
75 bool isActive(
int track)
const;
76 uint32 getLength(
int track)
const;
77 void stop(
int track,
bool immediately);
79 void adjustVolume(
int track,
int volume, uint32 delaySeconds,
bool explicitVolumeAdjustment);
80 void adjustPan(
int track,
int pan, uint32 delaySeconds);
82#if BLADERUNNER_ORIGINAL_SETTINGS
83 void setVolume(
int volume);
84 int getVolume()
const;
89 void remove(
int channel);
90 static void mixerChannelEnded(
int channel,
void *data);
SoundType
Definition: mixer.h:73
@ kSFXSoundType
Definition: mixer.h:77
Definition: aud_stream.h:35
Definition: audio_player.h:45
Definition: bladerunner.h:113