From 26b809549b7cdadd75b55a1799d6cb7a2184b0a1 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 17 Mar 2019 22:39:29 -0400 Subject: service/am: Add basic implementation of ChangeMainAppletMasterVolume All this does is supply a new volume level and a fade time in nanoseconds for the volume transition to occur within. --- src/core/hle/service/am/am.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/core/hle/service/am/am.h') diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index b77a8c96c..565dd8e9e 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h @@ -4,6 +4,7 @@ #pragma once +#include #include #include #include "core/hle/kernel/writable_event.h" @@ -81,6 +82,7 @@ private: void SetExpectedMasterVolume(Kernel::HLERequestContext& ctx); void GetMainAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx); void GetLibraryAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx); + void ChangeMainAppletMasterVolume(Kernel::HLERequestContext& ctx); void SetTransparentAudioRate(Kernel::HLERequestContext& ctx); static constexpr float min_allowed_volume = 0.0f; @@ -89,6 +91,12 @@ private: float main_applet_volume{0.25f}; float library_applet_volume{max_allowed_volume}; float transparent_volume_rate{min_allowed_volume}; + + // Volume transition fade time in nanoseconds. + // e.g. If the main applet volume was 0% and was changed to 50% + // with a fade of 50ns, then over the course of 50ns, + // the volume will gradually fade up to 50% + std::chrono::nanoseconds fade_time_ns{0}; }; class IDisplayController final : public ServiceFramework { -- cgit v1.2.3