Implemented volume control for jukebox
This commit is contained in:
@@ -118,6 +118,20 @@ namespace lms::jukebox
|
||||
return _outputStream->isPaused();
|
||||
}
|
||||
|
||||
void JukeboxService::setVolume(float volume)
|
||||
{
|
||||
std::unique_lock lock{ _mutex };
|
||||
|
||||
_outputStream->setVolume(volume);
|
||||
}
|
||||
|
||||
float JukeboxService::getVolume() const
|
||||
{
|
||||
std::shared_lock lock{ _mutex };
|
||||
|
||||
return _outputStream->getVolume();
|
||||
}
|
||||
|
||||
std::optional<std::size_t> JukeboxService::getCurrentTrackIndex() const
|
||||
{
|
||||
std::shared_lock lock{ _mutex };
|
||||
|
||||
@@ -51,6 +51,9 @@ namespace lms::jukebox
|
||||
void resume() override;
|
||||
bool isPaused() const override;
|
||||
|
||||
void setVolume(float volume) override;
|
||||
float getVolume() const override;
|
||||
|
||||
std::optional<std::size_t> getCurrentTrackIndex() const override;
|
||||
std::chrono::microseconds getPlaybackTrackTime() const override;
|
||||
|
||||
|
||||
@@ -48,6 +48,9 @@ namespace lms::jukebox
|
||||
virtual void resume() = 0;
|
||||
virtual bool isPaused() const = 0;
|
||||
|
||||
virtual void setVolume(float volume) = 0; // from 0 to 1
|
||||
virtual float getVolume() const = 0;
|
||||
|
||||
virtual std::optional<std::size_t> getCurrentTrackIndex() const = 0; // may be unset if queue is cleared while playing
|
||||
virtual std::chrono::microseconds getPlaybackTrackTime() const = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user