ACOMP_GAINR,
ACOMP_INLEVEL,
ACOMP_OUTLEVEL,
+
ACOMP_SIDECHAIN,
ACOMP_ENABLE,
+ ACOMP_FULL_INLINEDISP,
ACOMP_A0,
ACOMP_A1,
float* gainr;
float* outlevel;
float* inlevel;
+
float* sidechain;
float* enable;
+ float* full_inline_display;
float* input0;
float* input1;
float v_lvl_out;
float v_state_x;
+ bool v_full_inline_display;
+
float v_peakdb;
uint32_t peakdb_samples;
#endif
case ACOMP_ENABLE:
acomp->enable = (float*)data;
break;
+ case ACOMP_FULL_INLINEDISP:
+ acomp->full_inline_display = (float*)data;
+ break;
default:
break;
}
acomp->v_makeup = makeup;
acomp->need_expose = true;
}
+
+ bool full_inline = *acomp->full_inline_display > 0.5;
+ if (full_inline != acomp->v_full_inline_display) {
+ acomp->v_full_inline_display = full_inline;
+ acomp->need_expose = true;
+ }
#endif
float in_peak_db = -160.f;
acomp->v_makeup = makeup;
acomp->need_expose = true;
}
+
+ bool full_inline = *acomp->full_inline_display > 0.5;
+ if (full_inline != acomp->v_full_inline_display) {
+ acomp->v_full_inline_display = full_inline;
+ acomp->need_expose = true;
+ }
#endif
float in_peak_db = -160.f;
AComp* self = (AComp*)instance;
uint32_t h = MIN (w, max_h);
- if (w < 200) {
- h = 40;
+ if (w < 200 && !self->v_full_inline_display) {
+ h = MIN (40, max_h);
}
if (!self->display || self->w != w || self->h != h) {
cairo_t* cr = cairo_create (self->display);
- if (w >= 200) {
+ if (w >= 200 || self->v_full_inline_display) {
render_inline_full (cr, self);
} else {
render_inline_only_bars (cr, self);