Add option to fade in/out volume change

This commit is contained in:
WarmUpTill
2021-11-12 22:20:35 +01:00
committed by WarmUpTill
parent 9d04b4d1a0
commit cce6e240c2
5 changed files with 174 additions and 25 deletions

View File

@@ -1,7 +1,10 @@
#pragma once
#include <QSpinBox>
#include <QHBoxLayout>
#include "macro-action-edit.hpp"
#include "duration-control.hpp"
#include <QSpinBox>
#include <QCheckBox>
#include <QHBoxLayout>
enum class AudioAction {
MUTE,
@@ -26,6 +29,8 @@ public:
OBSWeakSource _audioSource;
AudioAction _action = AudioAction::MUTE;
int _volume = 0;
bool _fade = false;
Duration _duration;
private:
static bool _registered;
@@ -53,6 +58,8 @@ private slots:
void SourceChanged(const QString &text);
void ActionChanged(int value);
void VolumeChanged(int value);
void FadeChanged(int value);
void DurationChanged(double seconds);
signals:
void HeaderInfoChanged(const QString &);
@@ -60,9 +67,11 @@ protected:
QComboBox *_audioSources;
QComboBox *_actions;
QSpinBox *_volumePercent;
QCheckBox *_fade;
DurationSelection *_duration;
QHBoxLayout *_fadeLayout;
std::shared_ptr<MacroActionAudio> _entryData;
private:
QHBoxLayout *_mainLayout;
bool _loading = true;
};

View File

@@ -6,6 +6,7 @@
#include <QDateTime>
#include <QThread>
#include <curl/curl.h>
#include <unordered_map>
#include "scene-group.hpp"
#include "scene-trigger.hpp"
@@ -92,6 +93,10 @@ struct SwitcherData {
StartupBehavior startupBehavior = PERSIST;
AutoStartEvent autoStartEvent = AutoStartEvent::NEVER;
std::vector<std::thread> audioHelperThreads;
std::atomic_bool masterAudioFadeActive = {false};
std::unordered_map<std::string, std::atomic_bool> activeAudioFades;
Duration cooldown;
std::chrono::high_resolution_clock::time_point lastMatchTime;