summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorJohannes Mueller <github@johannes-mueller.org>2017-08-04 17:10:42 +0200
committerJohannes Mueller <github@johannes-mueller.org>2018-05-12 19:49:18 +0200
commit2dc96027d69caee843b2f8b0af0af910fd5bf982 (patch)
tree7f0bc345df83d8a1bb88861bed81f8e206a577a3 /libs
parent8be06e6e63cb3ac745bf07be8985fc21a44b296b (diff)
Add output control port to a-exp for input level
Diffstat (limited to 'libs')
-rw-r--r--libs/plugins/a-exp.lv2/a-exp#stereo.ttl.in24
-rw-r--r--libs/plugins/a-exp.lv2/a-exp.c8
-rw-r--r--libs/plugins/a-exp.lv2/a-exp.ttl.in20
3 files changed, 40 insertions, 12 deletions
diff --git a/libs/plugins/a-exp.lv2/a-exp#stereo.ttl.in b/libs/plugins/a-exp.lv2/a-exp#stereo.ttl.in
index 99796abc08..d26a2f2d5c 100644
--- a/libs/plugins/a-exp.lv2/a-exp#stereo.ttl.in
+++ b/libs/plugins/a-exp.lv2/a-exp#stereo.ttl.in
@@ -103,8 +103,18 @@
unit:unit unit:db ;
] ,
[
- a lv2:InputPort, lv2:ControlPort ;
+ a lv2:OutputPort, lv2:ControlPort ;
lv2:index 8 ;
+ lv2:name "Input Level" ;
+ lv2:symbol "inlevel" ;
+ lv2:default -45.000000 ;
+ lv2:minimum -45.000000 ;
+ lv2:maximum 0.000000 ;
+ unit:unit unit:db ;
+ ] ,
+ [
+ a lv2:InputPort, lv2:ControlPort ;
+ lv2:index 9 ;
lv2:name "Sidechain" ;
lv2:symbol "sidech" ;
lv2:default 0.000000 ;
@@ -114,7 +124,7 @@
] ,
[
a lv2:InputPort, lv2:ControlPort ;
- lv2:index 9 ;
+ lv2:index 10 ;
lv2:name "Enable" ;
lv2:symbol "enable" ;
lv2:default 1 ;
@@ -126,32 +136,32 @@
lv2:port [
a lv2:InputPort, lv2:AudioPort ;
- lv2:index 10 ;
+ lv2:index 11 ;
lv2:symbol "lv2_audio_in_1" ;
lv2:name "Audio Input 1" ;
] ,
[
a lv2:InputPort, lv2:AudioPort ;
- lv2:index 11 ;
+ lv2:index 12 ;
lv2:symbol "lv2_audio_in_2" ;
lv2:name "Audio Input 2" ;
] ,
[
a lv2:InputPort, lv2:AudioPort ;
- lv2:index 12 ;
+ lv2:index 13 ;
lv2:symbol "lv2_sidechain_in" ;
lv2:name "Sidechain Input" ;
lv2:portProperty lv2:isSideChain ;
],
[
a lv2:OutputPort, lv2:AudioPort ;
- lv2:index 13 ;
+ lv2:index 14 ;
lv2:symbol "lv2_audio_out_1" ;
lv2:name "Audio Output 1" ;
],
[
a lv2:OutputPort, lv2:AudioPort ;
- lv2:index 14 ;
+ lv2:index 15 ;
lv2:symbol "lv2_audio_out_2" ;
lv2:name "Audio Output 2" ;
] ;
diff --git a/libs/plugins/a-exp.lv2/a-exp.c b/libs/plugins/a-exp.lv2/a-exp.c
index bc5bc29ce6..8105c594c3 100644
--- a/libs/plugins/a-exp.lv2/a-exp.c
+++ b/libs/plugins/a-exp.lv2/a-exp.c
@@ -51,6 +51,7 @@ typedef enum {
AEXP_GAINR,
AEXP_OUTLEVEL,
+ AEXP_INLEVEL,
AEXP_SIDECHAIN,
AEXP_ENABLE,
@@ -71,6 +72,7 @@ typedef struct {
float* gainr;
float* outlevel;
+ float* inlevel;
float* sidechain;
float* enable;
@@ -166,6 +168,9 @@ connect_port(LV2_Handle instance,
case AEXP_OUTLEVEL:
aexp->outlevel = (float*)data;
break;
+ case AEXP_INLEVEL:
+ aexp->inlevel = (float*)data;
+ break;
case AEXP_SIDECHAIN:
aexp->sidechain = (float*)data;
break;
@@ -255,6 +260,7 @@ activate(LV2_Handle instance)
*(aexp->gainr) = 160.0f;
*(aexp->outlevel) = -45.0f;
+ *(aexp->inlevel) = -45.0f;
}
static void
@@ -382,6 +388,7 @@ run_mono(LV2_Handle instance, uint32_t n_samples)
*(aexp->gainr) = current_gainr;
*(aexp->outlevel) = (max < 0.0056f) ? -45.f : to_dB(max);
+ *(aexp->inlevel) = in_peak_db;
aexp->makeup_gain = makeup_gain;
#ifdef LV2_EXTENDED
@@ -539,6 +546,7 @@ run_stereo(LV2_Handle instance, uint32_t n_samples)
*(aexp->gainr) = current_gainr;
*(aexp->outlevel) = (max < 0.0056f) ? -45.f : to_dB(max);
+ *(aexp->inlevel) = in_peak_db;
aexp->makeup_gain = makeup_gain;
#ifdef LV2_EXTENDED
diff --git a/libs/plugins/a-exp.lv2/a-exp.ttl.in b/libs/plugins/a-exp.lv2/a-exp.ttl.in
index 887ea23860..2ab3860eff 100644
--- a/libs/plugins/a-exp.lv2/a-exp.ttl.in
+++ b/libs/plugins/a-exp.lv2/a-exp.ttl.in
@@ -103,8 +103,18 @@
unit:unit unit:db ;
] ,
[
- a lv2:InputPort, lv2:ControlPort ;
+ a lv2:OutputPort, lv2:ControlPort ;
lv2:index 8 ;
+ lv2:name "Input Level" ;
+ lv2:symbol "inlevel" ;
+ lv2:default -45.000000 ;
+ lv2:minimum -45.000000 ;
+ lv2:maximum 0.000000 ;
+ unit:unit unit:db ;
+ ] ,
+ [
+ a lv2:InputPort, lv2:ControlPort ;
+ lv2:index 9 ;
lv2:name "Sidechain" ;
lv2:symbol "sidech" ;
lv2:default 0.000000 ;
@@ -114,7 +124,7 @@
] ,
[
a lv2:InputPort, lv2:ControlPort ;
- lv2:index 9 ;
+ lv2:index 10 ;
lv2:name "Enable" ;
lv2:symbol "enable" ;
lv2:default 1 ;
@@ -126,20 +136,20 @@
lv2:port [
a lv2:InputPort, lv2:AudioPort ;
- lv2:index 10 ;
+ lv2:index 11 ;
lv2:symbol "lv2_audio_in_1" ;
lv2:name "Audio Input 1" ;
] ,
[
a lv2:InputPort, lv2:AudioPort ;
- lv2:index 11 ;
+ lv2:index 12 ;
lv2:symbol "lv2_sidechain_in" ;
lv2:name "Sidechain Input" ;
lv2:portProperty lv2:isSideChain ;
],
[
a lv2:OutputPort, lv2:AudioPort ;
- lv2:index 12 ;
+ lv2:index 13 ;
lv2:symbol "lv2_audio_out_1" ;
lv2:name "Audio Output 1" ;
] ;