4#ifndef ZRYTHM_DSP_PAN_H
5#define ZRYTHM_DSP_PAN_H
7#include "utils/format.h"
8#include "utils/logger.h"
10#include <QtTranslation>
32enum class PanAlgorithm
44enum class BalanceControlAlgorithm
69[[nodiscard]] std::pair<float, float>
70calculate_panning (PanLaw law, PanAlgorithm algo,
float pan);
86[[nodiscard]] std::pair<float, float>
87calculate_balance_control (
88 BalanceControlAlgorithm algorithm,
89 float balance_control_position);
93DEFINE_ENUM_FORMATTER (
94 zrythm::dsp::PanAlgorithm,
96 QT_TR_NOOP_UTF8 (
"Linear"),
97 QT_TR_NOOP_UTF8 (
"Square Root"),
98 QT_TR_NOOP_UTF8 (
"Sine"));
100DEFINE_ENUM_FORMATTER (
104 QT_TR_NOOP_UTF8 (
"0dB"),
105 QT_TR_NOOP_UTF8 (
"-3dB"),
106 QT_TR_NOOP_UTF8 (
"-6dB"));
108DEFINE_ENUM_FORMATTER (
109 zrythm::dsp::BalanceControlAlgorithm,
110 BalanceControlAlgorithm,
111 QT_TR_NOOP_UTF8 (
"Linear"));