summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/dsp_filter.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-03-25 01:21:14 +0100
committerRobin Gareus <robin@gareus.org>2016-03-25 01:21:14 +0100
commit581e25f3699132628785943e770c2653f5d09efc (patch)
tree5a8e3e4237fb6eadcf5814b7c08ac1d0d7f258dc /libs/ardour/ardour/dsp_filter.h
parentcac89c0b42a9854e3623dd56bcdb70971e6800d4 (diff)
add some more documentation
Diffstat (limited to 'libs/ardour/ardour/dsp_filter.h')
-rw-r--r--libs/ardour/ardour/dsp_filter.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/ardour/ardour/dsp_filter.h b/libs/ardour/ardour/dsp_filter.h
index c2572e0a71..0ecf08cf44 100644
--- a/libs/ardour/ardour/dsp_filter.h
+++ b/libs/ardour/ardour/dsp_filter.h
@@ -121,11 +121,36 @@ namespace ARDOUR { namespace DSP {
size_t _size;
};
+ /** lua wrapper to memset() */
void memset (float *data, const float val, const uint32_t n_samples);
+ /** matrix multiply
+ * multiply every sample of `data' with the corresponding sample at `mult'.
+ *
+ * @param data multiplicand
+ * @param mult multiplicand
+ * @param n_samples number of samples in data and mmult
+ */
void mmult (float *data, float *mult, const uint32_t n_samples);
+ /** calculate peaks
+ *
+ * @param data data to analyze
+ * @param min result, minimum value found in range
+ * @param max result, max value found in range
+ * @param n_samples number of samples to analyze
+ */
void peaks (float *data, float &min, float &max, uint32_t n_samples);
+ /** non-linear power-scale meter deflection
+ *
+ * @param power signal power (dB)
+ * @returns deflected value
+ */
float log_meter (float power);
+ /** non-linear power-scale meter deflection
+ *
+ * @param coeff signal value
+ * @returns deflected value
+ */
float log_meter_coeff (float coeff);
/** 1st order Low Pass filter */