13#include "Serializable.h"
23template <
typename T>
struct AudioVolume : Serializable {
39 AudioVolume<T>& operator= (
const AudioVolume<T>& other) {
49 void serialize(W& worker)
56 if (isChecker(worker))
return;
62 } SERIALIZERS(serialize);
65 bool isFadingIn()
const {
return delta > 0 && current != maximum; }
66 bool isFadingOut()
const {
return delta < 0 && current != 0; }
67 bool isFading()
const {
return isFadingIn() || isFadingOut(); }
70 void set(
float value) { current = value; delta = 0.0; }
73 void mute(isize steps = 10000) {
78 delta = -maximum / steps;
83 void unmute(isize steps = 10000) {
86 current = maximum; delta = 0;
88 delta = maximum / steps;
95 if (delta < 0 && current != 0) {
97 if ((current += delta) > 0)
return;
100 if (delta > 0 && current != maximum) {
102 if ((current += delta) < maximum)
return;
108typedef AudioVolume<float> Volume;
VirtualC64 project namespace.
Definition CmdQueue.cpp:16