Add option to specifiy rate of change instead of duration for audio fade

This commit is contained in:
WarmUpTill
2022-03-03 20:39:34 +01:00
committed by WarmUpTill
parent e1bacd75b6
commit 1df513585d
3 changed files with 156 additions and 21 deletions

View File

@@ -3,6 +3,7 @@
#include "duration-control.hpp"
#include <QSpinBox>
#include <QDoubleSpinBox>
#include <QCheckBox>
#include <QHBoxLayout>
@@ -13,6 +14,11 @@ enum class AudioAction {
MASTER_VOLUME,
};
enum class FadeType {
DURATION,
RATE,
};
class MacroActionAudio : public MacroAction {
public:
MacroActionAudio(Macro *m) : MacroAction(m) {}
@@ -29,9 +35,11 @@ public:
OBSWeakSource _audioSource;
AudioAction _action = AudioAction::MUTE;
FadeType _fadeType = FadeType::DURATION;
int _volume = 0;
bool _fade = false;
Duration _duration;
double _rate = 100.;
bool _wait = false;
private:
@@ -67,16 +75,20 @@ private slots:
void VolumeChanged(int value);
void FadeChanged(int value);
void DurationChanged(double seconds);
void RateChanged(double value);
void WaitChanged(int value);
void FadeTypeChanged(int value);
signals:
void HeaderInfoChanged(const QString &);
protected:
QComboBox *_audioSources;
QComboBox *_actions;
QComboBox *_fadeTypes;
QSpinBox *_volumePercent;
QCheckBox *_fade;
DurationSelection *_duration;
QDoubleSpinBox *_rate;
QCheckBox *_wait;
QHBoxLayout *_fadeLayout;
std::shared_ptr<MacroActionAudio> _entryData;