50 std::vector<AudioOutput *> outputs;
89 return outputs.size();
230 bool AllFinished()
const;
245 bool Update(
bool force);
250 bool IsChunkConsumed(
const MusicChunk *chunk)
const;
257 void ClearTailChunk(
const MusicChunk *chunk,
bool *locked);
An interface between the AudioOutput and the #Player.
void Open(const AudioFormat audio_format, MusicBuffer &_buffer)
Opens all audio outputs which are not disabled.
void Pause()
Puts all audio outputs into pause mode.
A queue of MusicChunk objects.
const AudioOutput & Get(unsigned i) const
Returns the "i"th audio output device.
gcc_pure unsigned Size() const
Returns the total number of audio output devices, including those which are disabled right now...
void SetReplayGainMode(ReplayGainMode mode)
void Drain()
Drain all audio outputs.
An event loop that polls for events on file/socket descriptors.
MultipleOutputs(MixerListener &_mixer_listener)
Load audio outputs from the configuration file and initialize them.
unsigned Check()
Checks if the output devices have drained their music pipe, and returns the consumed music chunks to ...
An allocator for MusicChunk objects.
void Play(MusicChunk *chunk)
Enqueue a MusicChunk object for playing, i.e.
void Release()
Closes all audio outputs.
static constexpr SignedSongTime Negative()
Generate a negative value.
void Close()
Closes all audio outputs.
gcc_pure SignedSongTime GetElapsedTime() const
Returns the "elapsed_time" stamp of the most recently finished chunk.
void SetSoftwareVolume(unsigned volume)
Similar to SetVolume(), but sets the volume only for software mixers.
void EnableDisable()
Checks the "enabled" flag of all audio outputs, and if one has changed, commit the change...
void Cancel()
Try to cancel data which may still be in the device's buffers.
bool SetVolume(unsigned volume)
Sets the volume on all available mixers.
A variant of SongTime that is based on a signed integer.
An interface that listens on events from mixer plugins.
gcc_pure int GetVolume() const
Returns the average volume of all available mixers (range 0..100).
void SongBorder()
Indicate that a new song will begin now.
void Configure(EventLoop &event_loop, const ReplayGainConfig &replay_gain_config, AudioOutputClient &client)
AudioOutput & Get(unsigned i)
gcc_pure AudioOutput * FindByName(const char *name) const
Returns the audio output device with the specified name.
gcc_pure int GetSoftwareVolume() const
Similar to GetVolume(), but gets the volume only for software mixers.
const Partition const char * name