mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-18 20:56:28 +01:00
Inlevel output port to visualize the input level in the generic GUI
This commit is contained in:
parent
87ea757a5d
commit
ef978d1b35
3 changed files with 47 additions and 19 deletions
|
|
@ -103,18 +103,28 @@
|
||||||
unit:unit unit:db ;
|
unit:unit unit:db ;
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:InputPort, lv2:ControlPort ;
|
a lv2:OutputPort, lv2:ControlPort ;
|
||||||
lv2:index 8 ;
|
lv2:index 8 ;
|
||||||
lv2:name "Sidechain" ;
|
lv2:name "Input Level" ;
|
||||||
lv2:symbol "sidech" ;
|
lv2:symbol "inlevel" ;
|
||||||
lv2:default 0 ;
|
lv2:default -45.000000 ;
|
||||||
lv2:minimum 0 ;
|
lv2:minimum -45.000000 ;
|
||||||
lv2:maximum 1 ;
|
lv2:maximum 0.000000 ;
|
||||||
lv2:portProperty lv2:integer, lv2:toggled ;
|
unit:unit unit:db ;
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:InputPort, lv2:ControlPort ;
|
a lv2:InputPort, lv2:ControlPort ;
|
||||||
lv2:index 9 ;
|
lv2:index 9 ;
|
||||||
|
lv2:name "Sidechain" ;
|
||||||
|
lv2:symbol "sidech" ;
|
||||||
|
lv2:default 0.000000 ;
|
||||||
|
lv2:minimum 0.000000 ;
|
||||||
|
lv2:maximum 1.000000 ;
|
||||||
|
lv2:portProperty lv2:integer, lv2:toggled ;
|
||||||
|
] ,
|
||||||
|
[
|
||||||
|
a lv2:InputPort, lv2:ControlPort ;
|
||||||
|
lv2:index 10 ;
|
||||||
lv2:name "Enable" ;
|
lv2:name "Enable" ;
|
||||||
lv2:symbol "enable" ;
|
lv2:symbol "enable" ;
|
||||||
lv2:default 1 ;
|
lv2:default 1 ;
|
||||||
|
|
@ -126,32 +136,32 @@
|
||||||
|
|
||||||
lv2:port [
|
lv2:port [
|
||||||
a lv2:InputPort, lv2:AudioPort ;
|
a lv2:InputPort, lv2:AudioPort ;
|
||||||
lv2:index 10 ;
|
lv2:index 11 ;
|
||||||
lv2:symbol "in_1" ;
|
lv2:symbol "in_1" ;
|
||||||
lv2:name "Audio Input 1" ;
|
lv2:name "Audio Input 1" ;
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:InputPort, lv2:AudioPort ;
|
a lv2:InputPort, lv2:AudioPort ;
|
||||||
lv2:index 11 ;
|
lv2:index 12 ;
|
||||||
lv2:symbol "in_2" ;
|
lv2:symbol "in_2" ;
|
||||||
lv2:name "Audio Input 2" ;
|
lv2:name "Audio Input 2" ;
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:InputPort, lv2:AudioPort ;
|
a lv2:InputPort, lv2:AudioPort ;
|
||||||
lv2:index 12 ;
|
lv2:index 13 ;
|
||||||
lv2:symbol "sidechain_in" ;
|
lv2:symbol "sidechain_in" ;
|
||||||
lv2:name "Sidechain Input" ;
|
lv2:name "Sidechain Input" ;
|
||||||
lv2:portProperty lv2:isSideChain ;
|
lv2:portProperty lv2:isSideChain ;
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:OutputPort, lv2:AudioPort ;
|
a lv2:OutputPort, lv2:AudioPort ;
|
||||||
lv2:index 13 ;
|
lv2:index 14 ;
|
||||||
lv2:symbol "out_1" ;
|
lv2:symbol "out_1" ;
|
||||||
lv2:name "Audio Output 1" ;
|
lv2:name "Audio Output 1" ;
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
a lv2:OutputPort, lv2:AudioPort ;
|
a lv2:OutputPort, lv2:AudioPort ;
|
||||||
lv2:index 14 ;
|
lv2:index 15 ;
|
||||||
lv2:symbol "out_2" ;
|
lv2:symbol "out_2" ;
|
||||||
lv2:name "Audio Output 2" ;
|
lv2:name "Audio Output 2" ;
|
||||||
] ;
|
] ;
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ typedef enum {
|
||||||
|
|
||||||
ACOMP_GAINR,
|
ACOMP_GAINR,
|
||||||
ACOMP_OUTLEVEL,
|
ACOMP_OUTLEVEL,
|
||||||
|
ACOMP_INLEVEL,
|
||||||
ACOMP_SIDECHAIN,
|
ACOMP_SIDECHAIN,
|
||||||
ACOMP_ENABLE,
|
ACOMP_ENABLE,
|
||||||
|
|
||||||
|
|
@ -68,6 +69,7 @@ typedef struct {
|
||||||
|
|
||||||
float* gainr;
|
float* gainr;
|
||||||
float* outlevel;
|
float* outlevel;
|
||||||
|
float* inlevel;
|
||||||
float* sidechain;
|
float* sidechain;
|
||||||
float* enable;
|
float* enable;
|
||||||
|
|
||||||
|
|
@ -161,6 +163,9 @@ connect_port(LV2_Handle instance,
|
||||||
case ACOMP_OUTLEVEL:
|
case ACOMP_OUTLEVEL:
|
||||||
acomp->outlevel = (float*)data;
|
acomp->outlevel = (float*)data;
|
||||||
break;
|
break;
|
||||||
|
case ACOMP_INLEVEL:
|
||||||
|
acomp->inlevel = (float*)data;
|
||||||
|
break;
|
||||||
case ACOMP_SIDECHAIN:
|
case ACOMP_SIDECHAIN:
|
||||||
acomp->sidechain = (float*)data;
|
acomp->sidechain = (float*)data;
|
||||||
break;
|
break;
|
||||||
|
|
@ -250,6 +255,7 @@ activate(LV2_Handle instance)
|
||||||
|
|
||||||
*(acomp->gainr) = 0.0f;
|
*(acomp->gainr) = 0.0f;
|
||||||
*(acomp->outlevel) = -70.0f;
|
*(acomp->outlevel) = -70.0f;
|
||||||
|
*(acomp->inlevel) = -160.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
@ -373,6 +379,7 @@ run_mono(LV2_Handle instance, uint32_t n_samples)
|
||||||
}
|
}
|
||||||
|
|
||||||
*(acomp->outlevel) = (max < 0.0056f) ? -70.f : to_dB(max);
|
*(acomp->outlevel) = (max < 0.0056f) ? -70.f : to_dB(max);
|
||||||
|
*(acomp->inlevel) = in_peak_db;
|
||||||
acomp->makeup_gain = makeup_gain;
|
acomp->makeup_gain = makeup_gain;
|
||||||
|
|
||||||
#ifdef LV2_EXTENDED
|
#ifdef LV2_EXTENDED
|
||||||
|
|
@ -537,6 +544,7 @@ run_stereo(LV2_Handle instance, uint32_t n_samples)
|
||||||
}
|
}
|
||||||
|
|
||||||
*(acomp->outlevel) = (max < 0.0056f) ? -70.f : to_dB(max);
|
*(acomp->outlevel) = (max < 0.0056f) ? -70.f : to_dB(max);
|
||||||
|
*(acomp->inlevel) = in_peak_db;
|
||||||
acomp->makeup_gain = makeup_gain;
|
acomp->makeup_gain = makeup_gain;
|
||||||
|
|
||||||
#ifdef LV2_EXTENDED
|
#ifdef LV2_EXTENDED
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,18 @@
|
||||||
unit:unit unit:db ;
|
unit:unit unit:db ;
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:InputPort, lv2:ControlPort ;
|
a lv2:OutputPort, lv2:ControlPort ;
|
||||||
lv2:index 8 ;
|
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:name "Sidechain" ;
|
||||||
lv2:symbol "sidech" ;
|
lv2:symbol "sidech" ;
|
||||||
lv2:default 0.000000 ;
|
lv2:default 0.000000 ;
|
||||||
|
|
@ -114,7 +124,7 @@
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:InputPort, lv2:ControlPort ;
|
a lv2:InputPort, lv2:ControlPort ;
|
||||||
lv2:index 9 ;
|
lv2:index 10 ;
|
||||||
lv2:name "Enable" ;
|
lv2:name "Enable" ;
|
||||||
lv2:symbol "enable" ;
|
lv2:symbol "enable" ;
|
||||||
lv2:default 1 ;
|
lv2:default 1 ;
|
||||||
|
|
@ -126,20 +136,20 @@
|
||||||
|
|
||||||
lv2:port [
|
lv2:port [
|
||||||
a lv2:InputPort, lv2:AudioPort ;
|
a lv2:InputPort, lv2:AudioPort ;
|
||||||
lv2:index 10 ;
|
lv2:index 11 ;
|
||||||
lv2:symbol "lv2_audio_in_1" ;
|
lv2:symbol "lv2_audio_in_1" ;
|
||||||
lv2:name "Audio Input 1" ;
|
lv2:name "Audio Input 1" ;
|
||||||
] ,
|
] ,
|
||||||
[
|
[
|
||||||
a lv2:InputPort, lv2:AudioPort ;
|
a lv2:InputPort, lv2:AudioPort ;
|
||||||
lv2:index 11 ;
|
lv2:index 12 ;
|
||||||
lv2:symbol "lv2_sidechain_in" ;
|
lv2:symbol "lv2_sidechain_in" ;
|
||||||
lv2:name "Sidechain Input" ;
|
lv2:name "Sidechain Input" ;
|
||||||
lv2:portProperty lv2:isSideChain ;
|
lv2:portProperty lv2:isSideChain ;
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
a lv2:OutputPort, lv2:AudioPort ;
|
a lv2:OutputPort, lv2:AudioPort ;
|
||||||
lv2:index 12 ;
|
lv2:index 13 ;
|
||||||
lv2:symbol "lv2_audio_out_1" ;
|
lv2:symbol "lv2_audio_out_1" ;
|
||||||
lv2:name "Audio Output 1" ;
|
lv2:name "Audio Output 1" ;
|
||||||
] ;
|
] ;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue