#include <vector>
#include "bmusb/bmusb.h"
+#include "db.h"
#include "defs.h"
#include "filter.h"
#include "resampling_queue.h"
// See comments inside get_output().
void set_current_loudness(double level_lufs) { loudness_lufs = level_lufs; }
+ void set_fader_volume(unsigned card_index, float level_db) { cards[card_index].fader_volume_db = level_db; }
+
void set_locut_cutoff(float cutoff_hz)
{
locut_cutoff_hz = cutoff_hz;
{
std::unique_lock<std::mutex> lock(compressor_mutex);
final_makeup_gain_auto = false;
- final_makeup_gain = pow(10.0f, gain_db / 20.0f);
+ final_makeup_gain = from_db(gain_db);
}
float get_final_makeup_gain_db()
{
std::unique_lock<std::mutex> lock(compressor_mutex);
- return 20.0 * log10(final_makeup_gain);
+ return to_db(final_makeup_gain);
}
void set_final_makeup_gain_auto(bool enabled)
std::mutex audio_mutex;
std::unique_ptr<ResamplingQueue> resampling_queue; // Under audio_mutex.
int64_t next_local_pts = 0; // Beginning of next frame, in TIMEBASE units. Under audio_mutex.
+ std::atomic<float> fader_volume_db{0.0f};
};
CaptureCard cards[MAX_CARDS];