From 289f498737b522131b077c6285e4b8dc9c4d670c Mon Sep 17 00:00:00 2001 From: Vesa Date: Sun, 16 Feb 2014 11:15:25 +0200 Subject: [PATCH] Dynamics processor, first commit --- plugins/CMakeLists.txt | 1 + plugins/dynamics_processor/CMakeLists.txt | 3 + plugins/dynamics_processor/add1_active.png | Bin 0 -> 959 bytes plugins/dynamics_processor/add1_inactive.png | Bin 0 -> 928 bytes plugins/dynamics_processor/artwork.png | Bin 0 -> 74374 bytes plugins/dynamics_processor/avg_active.png | Bin 0 -> 1553 bytes plugins/dynamics_processor/avg_inactive.png | Bin 0 -> 1077 bytes .../dynamics_processor/dynamics_processor.cpp | 201 ++++++++++++++++++ .../dynamics_processor/dynamics_processor.h | 66 ++++++ .../dynamics_processor_control_dialog.cpp | 150 +++++++++++++ .../dynamics_processor_control_dialog.h | 48 +++++ .../dynamics_processor_controls.cpp | 172 +++++++++++++++ .../dynamics_processor_controls.h | 98 +++++++++ plugins/dynamics_processor/logo.png | Bin 0 -> 3225 bytes plugins/dynamics_processor/max_active.png | Bin 0 -> 1477 bytes plugins/dynamics_processor/max_inactive.png | Bin 0 -> 969 bytes plugins/dynamics_processor/reset_active.png | Bin 0 -> 1203 bytes plugins/dynamics_processor/reset_inactive.png | Bin 0 -> 1187 bytes plugins/dynamics_processor/smooth_active.png | Bin 0 -> 1356 bytes .../dynamics_processor/smooth_inactive.png | Bin 0 -> 1369 bytes plugins/dynamics_processor/sub1_active.png | Bin 0 -> 927 bytes plugins/dynamics_processor/sub1_inactive.png | Bin 0 -> 900 bytes plugins/dynamics_processor/unl_active.png | Bin 0 -> 1387 bytes plugins/dynamics_processor/unl_inactive.png | Bin 0 -> 854 bytes plugins/dynamics_processor/wavegraph.png | Bin 0 -> 40827 bytes 25 files changed, 739 insertions(+) create mode 100644 plugins/dynamics_processor/CMakeLists.txt create mode 100644 plugins/dynamics_processor/add1_active.png create mode 100644 plugins/dynamics_processor/add1_inactive.png create mode 100644 plugins/dynamics_processor/artwork.png create mode 100644 plugins/dynamics_processor/avg_active.png create mode 100644 plugins/dynamics_processor/avg_inactive.png create mode 100644 plugins/dynamics_processor/dynamics_processor.cpp create mode 100644 plugins/dynamics_processor/dynamics_processor.h create mode 100644 plugins/dynamics_processor/dynamics_processor_control_dialog.cpp create mode 100644 plugins/dynamics_processor/dynamics_processor_control_dialog.h create mode 100644 plugins/dynamics_processor/dynamics_processor_controls.cpp create mode 100644 plugins/dynamics_processor/dynamics_processor_controls.h create mode 100644 plugins/dynamics_processor/logo.png create mode 100644 plugins/dynamics_processor/max_active.png create mode 100644 plugins/dynamics_processor/max_inactive.png create mode 100644 plugins/dynamics_processor/reset_active.png create mode 100644 plugins/dynamics_processor/reset_inactive.png create mode 100644 plugins/dynamics_processor/smooth_active.png create mode 100644 plugins/dynamics_processor/smooth_inactive.png create mode 100644 plugins/dynamics_processor/sub1_active.png create mode 100644 plugins/dynamics_processor/sub1_inactive.png create mode 100644 plugins/dynamics_processor/unl_active.png create mode 100644 plugins/dynamics_processor/unl_inactive.png create mode 100644 plugins/dynamics_processor/wavegraph.png diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 01aa7868b..6dc69ad0b 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -1,6 +1,7 @@ ADD_SUBDIRECTORY(audio_file_processor) ADD_SUBDIRECTORY(bass_booster) ADD_SUBDIRECTORY(bit_invader) +ADD_SUBDIRECTORY(dynamics_processor) ADD_SUBDIRECTORY(flp_import) ADD_SUBDIRECTORY(HydrogenImport) ADD_SUBDIRECTORY(kicker) diff --git a/plugins/dynamics_processor/CMakeLists.txt b/plugins/dynamics_processor/CMakeLists.txt new file mode 100644 index 000000000..4e95af34a --- /dev/null +++ b/plugins/dynamics_processor/CMakeLists.txt @@ -0,0 +1,3 @@ +INCLUDE(BuildPlugin) + +BUILD_PLUGIN(dynamics_processor dynamics_processor.cpp dynamics_processor_controls.cpp dynamics_processor_control_dialog.cpp MOCFILES dynamics_processor_controls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/dynamics_processor/add1_active.png b/plugins/dynamics_processor/add1_active.png new file mode 100644 index 0000000000000000000000000000000000000000..89ae87e0fe6039e746e1edd4a09d648ed8a52285 GIT binary patch literal 959 zcmV;w13>(VP)&02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00SpUL_t(I%e9oxPa8)R$3L?( zJG0ylnw_ZBZ%$pg#nfK;9-|rL4%gZ(h0<_i$A^5+VwU#)JsZ=Vc+BY>8 zzh0#Lc^N4s7C_jsCkRnk1Xym8vS0-Wi2*Qx< z?VrFxG>CZj=Q~z@{$>0IOSxReaU2}q_tBn@_B_0C|Mk@?w5Rd4$A|L|tgNiy`#y!Q zhwu6H`+eTN{e!)|JrLme9M75e}5gWjtTwc^;)w39U7*a#31qJWu0k52aM` z3qqh>jkT5s-#!4~`1p8Cv;xz^!$a!zI@8nBG@DI?5DbSy-n{vpBuTiuyrj`+ptU!- zQz?Zb9n@`x9UUFfYPIO~dNi9&mX?;-*w`S;GK?{FyIricSZisuT5N4?5yvr8Q&U`B zU6JQGjYb10CFkeooSd9ctJM%f+);)ajYbSdBaAUTe7Mfq+8R4MJ3M((C(Cl$?KU>I z7-Q&kyTwmh%V;#B*X!X3fiV%CP6uNQ7wtBV<4`JKsQG_u=w04=Bn?=;?b-TK{$`|+VljXM1sVJh@@myH@ zsQ`#Osw&EX5QT(pkP*e8WI-G(IMQKyW`@OT6}7OiK&@88_x(F?{@13I!gbvV!ETu9 hy6&CQdb8(9$-jkETeMn8nKS?Z002ovPDHLkV1mqXx48fS literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/add1_inactive.png b/plugins/dynamics_processor/add1_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..94213a27c648dd7dcc3ec5180eced0ca687ed409 GIT binary patch literal 928 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 IM6N<$f=+$&UH||9 literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/avg_active.png b/plugins/dynamics_processor/avg_active.png new file mode 100644 index 0000000000000000000000000000000000000000..baa6b36e3a17330912cb9c42f345df472e738f22 GIT binary patch literal 1553 zcmV+s2JZQZP)F~};3N?#HsuEA_=_roqRG>{N%5XD>!iK2G3 zl#ty}2r-WTtgXZFK+>1}ns%$YfJo_Xf~|3CjZYIJne?%lhW$*WiK5(%{D;dmZe zYqZux%~~5hfKu_CSc@0~)?%&2uX>JpYb^?}N}(YBUM=Z$^j>SM2mm62gfWcoBfgLC z`)s-Yex|3Vaiai^=aHzb#jB~oOD1tV4=0g80mfP|1`!Do5{VNP5kv&E1`!hB!J>86 z7$iD)2!ajAHcVP;jdI=K03m2v>v%sg25StJav4*pU`wSKST{maYYmPAu1m76j{V1v zb9l!N{`=#P?D_CR{`S~o*h&R!E#1An{PVy8o_qUkiZ^Zq2?GB*bcn}ad4CUQBvREpY6 zhWyM7r9y%J7hVXY5h7YD6zK2i0iY(6;i=bO=Rar90+4NQr&20$*8>l5esB;g!s?A1 zS^x0E40Ly6%4J%gc!Kt>F3!IDE~WW-`ntLT^nD+{SPYmAa~2U|kt?l1DU{>TxOp=d zPMxB0(VQ{&?_Y}&*(qoa7qB*|2Y+nbsgdFLI( zT8f1Nz1`h$K!9SQKwoz^cW&9jy-z>Q^ySNFt*KkN665>iXJ(lC{(Bl)Tlx0PnSl9_ z%|~B*jayc%zykfxJVRlAp1voa#P@wFr4lAI1ykiv+Vi}?<{SsdacI2zZk8=y&R+)y z`D0@vYunmTz|~8aSpVRI6!UrfN(BXh?ju@70=b09e0}mH#eAMWZQY7kOG8^5H{W_I zy9WnZ-PA<3qXVTi*RNgUw)%Rs)(pP*B7M(38^j3ZBVl|MIZ`OqsIc|i++5&5N`X=| zwYKt)0|z*`eLKB7cd~ZfI#7xqaydFWJNY4(i)mCL?bUv+0%$;lGw;7o>$Ytu5waUM zGPr*~hdMjyeg1hGo14K}KL6+=w(i;$$X6*=tXV@conELb#|hNodGT{p9{_Gt5Mm4{ z#i~2*;Jb6@z*?rST;ay-EGx5F#&bE+nG9o}eu}A707#|N?0oON*cDD6J&FbV@cq~) zpYZ3N9{#Xy9jof=89#Rp-}jlha)sHM8E$K6;PUzNBr_Sh`}=W|NlNqcL4k^pzUd}* z9y=C0&xtqR_ADrsDf-x$izECns_9`8-M~OsRy?nqSN1fU+={ zRw~%EDv4?ri04Hh)a9ZzENLRYnTsOZYGh&IcfuHKIF|4*i*DkmqOlew5_obII!hB@ znwVG%A~Ch{J4r8Xc1cX7RE&818K9%wLW_;|irW7H2pR@T@@3U literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/avg_inactive.png b/plugins/dynamics_processor/avg_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..816900e2c1d61cbe9f46291799ec091a80b85c7f GIT binary patch literal 1077 zcmV-51j_q~P)(}ZD`1X_BpKc|nWnL{v_vYEqFgR3V%^={BoYav zlze=AaC&-*=XuP}&r_{d71^`1Gv43d8#=1_i?v!!$;UKJK0ZD$41;2^h-Fzsqfwrp zp9uzo=(>(=+c=KH?(S|wMQXJgdwY9|@Z{vA+CVfK#q&H&(hGSPX!CK96A-0GOspKA-<>+v~w~UB`7@ zwPqLw*=&~1&Q2BE*Vo6z#f6HyzrV+EoCf^g$;WkFzC2Cc-QC>W+z^RG2nK`Xayd-X zL`sQa7+992Dx6FvNhXtwj*bG*)YQb>+#Jix%Z!bUadviw5CS0tU0q$=-Q5w1MASiU zX=&m8{k@?8_xJY-e_~>S$;nBEhljr`mgY;xx3;!6T-U|6Z3=|~rfKr@^n|8q1cN~g z!{FlLLdhkSO8p|CR4PS09%o=+fKsWXhOx_t@ANO-)Sz?C(bCew>gp=dXq29w9;B35mPKD*AJuAAwfnP#q?F3{`1pw9 zIP~`RDp`g?Ar==G>FDSn7KXm2m&@3;O(YWG<>iIu=4PIr zo>aW9>&(y3t3;QVmkpb + * Copyright (c) 2006-2009 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + + +#include "dynamics_processor.h" +#include "embed.cpp" + + +extern "C" +{ + +Plugin::Descriptor PLUGIN_EXPORT dynamics_processor_plugin_descriptor = +{ + STRINGIFY( PLUGIN_NAME ), + "Dynamics Processor", + QT_TRANSLATE_NOOP( "pluginBrowser", + "plugin for processing dynamics in a flexible way" ), + "Vesa Kivimäki ", + 0x0100, + Plugin::Effect, + new PluginPixmapLoader( "logo" ), + NULL, + NULL +} ; + +} + + + +dynProcEffect::dynProcEffect( Model * _parent, + const Descriptor::SubPluginFeatures::Key * _key ) : + Effect( &dynamics_processor_plugin_descriptor, _parent, _key ), + m_dpControls( this ) +{ + currentPeak[0] = 0.0f; + currentPeak[1] = 0.0f; +} + + + + +dynProcEffect::~dynProcEffect() +{ +} + + + + +bool dynProcEffect::processAudioBuffer( sampleFrame * _buf, + const fpp_t _frames ) +{ + if( !isEnabled() || !isRunning () ) + { + return( false ); + } + +// variables for effect + int i = 0; + float lookup; + float frac; + float sm_peak[2] = { 0.0f, 0.0f }; + float gain; + + double out_sum = 0.0; + const float d = dryLevel(); + const float w = wetLevel(); + + float att_tmp = ( 1.0f / ( m_dpControls.m_attackModel.value() / 1000.0f ) ) / engine::mixer()->processingSampleRate(); + float rel_tmp = ( 1.0f / ( m_dpControls.m_releaseModel.value() / 1000.0f ) ) / engine::mixer()->processingSampleRate(); + + for( fpp_t f = 0; f < _frames; ++f ) + { + sample_t s[2] = { _buf[f][0], _buf[f][1] }; + +// update peak values + for ( i=0; i <= 1; i++ ) + { + if( qAbs( s[i] ) > currentPeak[i] ) + { + currentPeak[i] = qMin ( currentPeak[i] + att_tmp, qAbs( s[i] ) ); + } + else + if( qAbs( s[i] ) < currentPeak[i] ) + { + currentPeak[i] = qMax ( currentPeak[i] - rel_tmp, qAbs( s[i] ) ); + } + } + +// account for stereo mode + switch( m_dpControls.m_stereomodeModel.value() ) + { + case dynProcControls::SM_Maximum: + { + sm_peak[0] = qMax( currentPeak[0], currentPeak[1] ); + sm_peak[1] = qMax( currentPeak[0], currentPeak[1] ); + break; + } + case dynProcControls::SM_Average: + { + sm_peak[0] = ( currentPeak[0] + currentPeak[1] ) / 2; + sm_peak[1] = ( currentPeak[0] + currentPeak[1] ) / 2; + break; + } + case dynProcControls::SM_Unlinked: + { + sm_peak[0] = currentPeak[0]; + sm_peak[1] = currentPeak[1]; + break; + } + } + +// apply input gain + if( m_dpControls.m_inputModel.value() != 1.0f ) + { + s[0] *= m_dpControls.m_inputModel.value(); + s[1] *= m_dpControls.m_inputModel.value(); + } + + +// start effect + + for ( i=0; i <= 1; i++ ) + { + lookup = sm_peak[i] * 200.0f; + + if ( lookup < 1 ) + { + frac = lookup - truncf(lookup); + gain = frac * m_dpControls.m_wavegraphModel.samples()[0]; + } + else + if ( lookup < 200 ) + { + frac = lookup - truncf(lookup); + gain = + (( (1.0f-frac) * m_dpControls.m_wavegraphModel.samples()[ (int)truncf(lookup) - 1 ] ) + + ( frac * m_dpControls.m_wavegraphModel.samples()[ (int)truncf(lookup) ] )); + } + else + { + gain = m_dpControls.m_wavegraphModel.samples()[199]; + }; + + s[i] = ( s[i] / sm_peak[i] ) * gain; + } + +// apply output gain + s[0] *= m_dpControls.m_outputModel.value(); + s[1] *= m_dpControls.m_outputModel.value(); + +// mix wet/dry signals + _buf[f][0] = d * _buf[f][0] + w * s[0]; + _buf[f][1] = d * _buf[f][1] + w * s[1]; + + out_sum += _buf[f][0]*_buf[f][0] + _buf[f][1]*_buf[f][1]; + } + + checkGate( out_sum / _frames ); + + return( isRunning() ); +} + + + + + +extern "C" +{ + +// necessary for getting instance out of shared lib +Plugin * PLUGIN_EXPORT lmms_plugin_main( Model * _parent, void * _data ) +{ + return( new dynProcEffect( _parent, + static_cast( + _data ) ) ); +} + +} + diff --git a/plugins/dynamics_processor/dynamics_processor.h b/plugins/dynamics_processor/dynamics_processor.h new file mode 100644 index 000000000..287b46d55 --- /dev/null +++ b/plugins/dynamics_processor/dynamics_processor.h @@ -0,0 +1,66 @@ +/* + * dynamics_processor.h - dynamics_processor effect-plugin + * + * Copyright (c) 2014 Vesa Kivimäki + * Copyright (c) 2006-2008 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + + +#ifndef _DYNPROC_H +#define _DYNPROC_H + +#include "Effect.h" +#include "effect_lib.h" +#include "dynamics_processor_controls.h" + + + +class dynProcEffect : public Effect +{ +public: + dynProcEffect( Model * _parent, + const Descriptor::SubPluginFeatures::Key * _key ); + virtual ~dynProcEffect(); + virtual bool processAudioBuffer( sampleFrame * _buf, + const fpp_t _frames ); + + virtual EffectControls * controls() + { + return( &m_dpControls ); + } + + +private: + + dynProcControls m_dpControls; + +// this member array is needed for peak detection + float currentPeak[2]; + + friend class dynProcControls; + +} ; + + + + + +#endif diff --git a/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp b/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp new file mode 100644 index 000000000..a14c160f7 --- /dev/null +++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp @@ -0,0 +1,150 @@ +/* + * dynamics_processor_control_dialog.cpp - control-dialog for dynamics_processor-effect + * + * Copyright (c) 2014 Vesa Kivimäki + * Copyright (c) 2006-2008 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + + +#include + +#include "dynamics_processor_control_dialog.h" +#include "dynamics_processor_controls.h" +#include "embed.h" +#include "graph.h" +#include "pixmap_button.h" +#include "tooltip.h" +#include "led_checkbox.h" + + +dynProcControlDialog::dynProcControlDialog( + dynProcControls * _controls ) : + EffectControlDialog( _controls ) +{ + setAutoFillBackground( true ); + QPalette pal; + pal.setBrush( backgroundRole(), + PLUGIN_NAME::getIconPixmap( "artwork" ) ); + setPalette( pal ); + setFixedSize( 224, 340 ); + + graph * waveGraph = new graph( this, graph::LinearNonCyclicStyle, 204, 205 ); + waveGraph -> move( 10, 32 ); + waveGraph -> setModel( &_controls -> m_wavegraphModel ); + waveGraph -> setAutoFillBackground( true ); + pal = QPalette(); + pal.setBrush( backgroundRole(), + PLUGIN_NAME::getIconPixmap("wavegraph") ); + waveGraph->setPalette( pal ); + waveGraph->setGraphColor( QColor( 170, 255, 255 ) ); + waveGraph -> setMaximumSize( 204, 205 ); + + knob * inputKnob = new knob( knobBright_26, this); + inputKnob -> move( 14, 251 ); + inputKnob->setModel( &_controls->m_inputModel ); + inputKnob->setLabel( tr( "INPUT" ) ); + inputKnob->setHintText( tr( "Input gain:" ) + " ", "" ); + + knob * outputKnob = new knob( knobBright_26, this ); + outputKnob -> move( 54, 251 ); + outputKnob->setModel( &_controls->m_outputModel ); + outputKnob->setLabel( tr( "OUTPUT" ) ); + outputKnob->setHintText( tr( "Output gain:" ) + " ", "" ); + + knob * attackKnob = new knob( knobBright_26, this); + attackKnob -> move( 14, 291 ); + attackKnob->setModel( &_controls->m_attackModel ); + attackKnob->setLabel( tr( "ATTACK" ) ); + attackKnob->setHintText( tr( "Peak attack time:" ) + " ", "ms" ); + + knob * releaseKnob = new knob( knobBright_26, this ); + releaseKnob -> move( 54, 291 ); + releaseKnob->setModel( &_controls->m_releaseModel ); + releaseKnob->setLabel( tr( "RELEASE" ) ); + releaseKnob->setHintText( tr( "Peak release time:" ) + " ", "ms" ); + +//waveform control buttons + + pixmapButton * resetButton = new pixmapButton( this, tr("Reset waveform") ); + resetButton -> move( 164, 251 ); + resetButton -> resize( 12, 48 ); + resetButton -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "reset_active" ) ); + resetButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "reset_inactive" ) ); + toolTip::add( resetButton, tr( "Click here to reset the wavegraph back to default" ) ); + + pixmapButton * smoothButton = new pixmapButton( this, tr("Smooth waveform") ); + smoothButton -> move( 164, 267 ); + smoothButton -> resize( 12, 48 ); + smoothButton -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "smooth_active" ) ); + smoothButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "smooth_inactive" ) ); + toolTip::add( smoothButton, tr( "Click here to apply smoothing to wavegraph" ) ); + + pixmapButton * addOneButton = new pixmapButton( this, tr("Increase wavegraph amplitude by 1dB") ); + addOneButton -> move( 133, 251 ); + addOneButton -> resize( 12, 29 ); + addOneButton -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "add1_active" ) ); + addOneButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "add1_inactive" ) ); + toolTip::add( addOneButton, tr( "Click here to increase wavegraph amplitude by 1dB" ) ); + + pixmapButton * subOneButton = new pixmapButton( this, tr("Decrease wavegraph amplitude by 1dB") ); + subOneButton -> move( 133, 267 ); + subOneButton -> resize( 12, 29 ); + subOneButton -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "sub1_active" ) ); + subOneButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "sub1_inactive" ) ); + toolTip::add( subOneButton, tr( "Click here to decrease wavegraph amplitude by 1dB" ) ); + +//stereomode switches + pixmapButton * smMaxButton = new pixmapButton( this, tr( "Stereomode Maximum" ) ); + smMaxButton -> move( 165, 290 ); + smMaxButton -> resize( 48, 13 ); + smMaxButton -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "max_active" ) ); + smMaxButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "max_inactive" ) ); + toolTip::add( smMaxButton, tr( "Process based on the maximum of both stereo channels" ) ); + + pixmapButton * smAvgButton = new pixmapButton( this, tr( "Stereomode Average" ) ); + smAvgButton -> move( 165, 290 + 13 ); + smAvgButton -> resize( 48, 13 ); + smAvgButton -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "avg_active" ) ); + smAvgButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "avg_inactive" ) ); + toolTip::add( smAvgButton, tr( "Process based on the average of both stereo channels" ) ); + + pixmapButton * smUnlButton = new pixmapButton( this, tr( "Stereomode Unlinked" ) ); + smUnlButton -> move( 165, 290 + (13*2) ); + smUnlButton -> resize( 48, 13 ); + smUnlButton -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "unl_active" ) ); + smUnlButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "unl_inactive" ) ); + toolTip::add( smUnlButton, tr( "Process each stereo channel independently" ) ); + + automatableButtonGroup * smGroup = new automatableButtonGroup( this ); + smGroup -> addButton( smMaxButton ); + smGroup -> addButton( smAvgButton ); + smGroup -> addButton( smUnlButton ); + smGroup -> setModel( &_controls -> m_stereomodeModel ); + + connect( resetButton, SIGNAL (clicked () ), + _controls, SLOT ( resetClicked() ) ); + connect( smoothButton, SIGNAL (clicked () ), + _controls, SLOT ( smoothClicked() ) ); + connect( addOneButton, SIGNAL( clicked() ), + _controls, SLOT( addOneClicked() ) ); + connect( subOneButton, SIGNAL( clicked() ), + _controls, SLOT( subOneClicked() ) ); +} diff --git a/plugins/dynamics_processor/dynamics_processor_control_dialog.h b/plugins/dynamics_processor/dynamics_processor_control_dialog.h new file mode 100644 index 000000000..23770debd --- /dev/null +++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.h @@ -0,0 +1,48 @@ +/* + * dynamics_processor_control_dialog.h - control-dialog for dynamics_processor-effect + * + * * Copyright (c) 2014 Vesa Kivimäki + * Copyright (c) 2006-2008 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef _DYNPROC_CONTROL_DIALOG_H +#define _DYNPROC_CONTROL_DIALOG_H + +#include "EffectControlDialog.h" + + +class dynProcControls; + + +class dynProcControlDialog : public EffectControlDialog +{ +public: + dynProcControlDialog( dynProcControls * _controls ); + virtual ~dynProcControlDialog() + { + } + + +private: + +} ; + +#endif diff --git a/plugins/dynamics_processor/dynamics_processor_controls.cpp b/plugins/dynamics_processor/dynamics_processor_controls.cpp new file mode 100644 index 000000000..614aed8e9 --- /dev/null +++ b/plugins/dynamics_processor/dynamics_processor_controls.cpp @@ -0,0 +1,172 @@ +/* + * dynamics_processor_controls.cpp - controls for dynamics_processor-effect + * + * Copyright (c) 2014 Vesa Kivimäki + * Copyright (c) 2008 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + + +#include + +#include "dynamics_processor_controls.h" +#include "dynamics_processor.h" +#include "graph.h" +#include "engine.h" +#include "song.h" + + +#define onedB 1.1220184543019633f + +dynProcControls::dynProcControls( dynProcEffect * _eff ) : + EffectControls( _eff ), + m_effect( _eff ), + m_inputModel( 1.0f, 0.0f, 5.0f, 0.01f, this, tr( "Input gain" ) ), + m_outputModel( 1.0f, 0.0f, 5.0f, 0.01f, this, tr( "Output gain" ) ), + m_attackModel( 10.0f, 1.0f, 500.0f, 1.0f, this, tr( "Attack time" ) ), + m_releaseModel( 100.0f, 1.0f, 500.0f, 1.0f, this, tr( "Release time" ) ), + m_wavegraphModel( 0.0f, 1.0f, 200, this ), + m_stereomodeModel( 0, 0, 2, this, tr( "Stereo mode" ) ) +{ + connect( &m_inputModel, SIGNAL( dataChanged() ), + this, SLOT( changeControl() ) ); + + connect( &m_outputModel, SIGNAL( dataChanged() ), + this, SLOT( changeControl() ) ); + + connect( &m_attackModel, SIGNAL( dataChanged() ), + this, SLOT( changeControl() ) ); + + connect( &m_releaseModel, SIGNAL( dataChanged() ), + this, SLOT( changeControl() ) ); + + connect( &m_stereomodeModel, SIGNAL( dataChanged() ), + this, SLOT( changeControl() ) ); + + connect( &m_wavegraphModel, SIGNAL( samplesChanged( int, int ) ), + this, SLOT( samplesChanged( int, int ) ) ); + + + setDefaultShape(); + +} + + + +void dynProcControls::changeControl() +{ + engine::getSong()->setModified(); +} + +void dynProcControls::samplesChanged( int _begin, int _end) +{ + engine::getSong()->setModified(); +} + + + + +void dynProcControls::loadSettings( const QDomElement & _this ) +{ +//load knobs, stereomode + m_inputModel.setValue( _this.attribute( "inputGain" ).toFloat() ); + m_outputModel.setValue( _this.attribute( "outputGain" ).toFloat() ); + m_attackModel.setValue( _this.attribute( "attack" ).toFloat() ); + m_releaseModel.setValue( _this.attribute( "release" ).toFloat() ); + m_stereomodeModel.setValue( _this.attribute( "stereoMode" ).toInt() ); + +//load waveshape + int size = 0; + char * dst = 0; + base64::decode( _this.attribute( "waveShape"), &dst, &size ); + + m_wavegraphModel.setSamples( (float*) dst ); + delete[] dst; + +} + + + + +void dynProcControls::saveSettings( QDomDocument & _doc, + QDomElement & _this ) +{ +//save input, output knobs + _this.setAttribute( "inputGain", m_inputModel.value() ); + _this.setAttribute( "outputGain", m_outputModel.value() ); + _this.setAttribute( "attack", m_attackModel.value() ); + _this.setAttribute( "release", m_releaseModel.value() ); + _this.setAttribute( "stereoMode", m_stereomodeModel.value() ); + + +//save waveshape + QString sampleString; + base64::encode( (const char *)m_wavegraphModel.samples(), + m_wavegraphModel.length() * sizeof(float), sampleString ); + _this.setAttribute( "waveShape", sampleString ); + +} + + +void dynProcControls::setDefaultShape() +{ + float shp [200] = { }; + for ( int i = 0; i<200; i++) + { + shp[i] = ((float)i + 1.0f) / 200.0f; + } + + m_wavegraphModel.setLength( 200 ); + m_wavegraphModel.setSamples( (float*)&shp ); +} + +void dynProcControls::resetClicked() +{ + setDefaultShape(); + engine::getSong()->setModified(); +} + +void dynProcControls::smoothClicked() +{ + m_wavegraphModel.smoothNonCyclic(); + engine::getSong()->setModified(); +} + +void dynProcControls::addOneClicked() +{ + for( int i=0; i<200; i++ ) + { + m_wavegraphModel.setSampleAt( i, qBound( 0.0f, m_wavegraphModel.samples()[i] * onedB, 1.0f ) ); + } + engine::getSong()->setModified(); +} + +void dynProcControls::subOneClicked() +{ + for( int i=0; i<200; i++ ) + { + m_wavegraphModel.setSampleAt( i, qBound( 0.0f, m_wavegraphModel.samples()[i] / onedB, 1.0f ) ); + } + engine::getSong()->setModified(); +} + + +#include "moc_dynamics_processor_controls.cxx" + diff --git a/plugins/dynamics_processor/dynamics_processor_controls.h b/plugins/dynamics_processor/dynamics_processor_controls.h new file mode 100644 index 000000000..70ec9895c --- /dev/null +++ b/plugins/dynamics_processor/dynamics_processor_controls.h @@ -0,0 +1,98 @@ +/* + * dynamics_processor_controls.h - controls for dynamics_processor-effect + * + * Copyright (c) 2014 Vesa Kivimäki + * Copyright (c) 2008 Tobias Doerffel + * + * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef _WAVESHAPER_CONTROLS_H +#define _WAVESHAPER_CONTROLS_H + +#include "EffectControls.h" +#include "dynamics_processor_control_dialog.h" +#include "knob.h" +#include "graph.h" + +class dynProcEffect; + + +class dynProcControls : public EffectControls +{ + Q_OBJECT +public: + enum StereoModes + { + SM_Maximum, + SM_Average, + SM_Unlinked, + NumStereoModes + }; + dynProcControls( dynProcEffect * _eff ); + virtual ~dynProcControls() + { + } + + virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent ); + virtual void loadSettings( const QDomElement & _this ); + inline virtual QString nodeName() const + { + return( "dynamicsprocessor_controls" ); + } + + virtual void setDefaultShape(); + + virtual int controlCount() + { + return( 6 ); + } + + virtual EffectControlDialog * createView() + { + return( new dynProcControlDialog( this ) ); + } + + +private slots: + void changeControl(); + void samplesChanged( int, int ); + + void resetClicked(); + void smoothClicked(); + + void addOneClicked(); + void subOneClicked(); + +private: + dynProcEffect * m_effect; + + FloatModel m_inputModel; + FloatModel m_outputModel; + FloatModel m_attackModel; + FloatModel m_releaseModel; + graphModel m_wavegraphModel; + IntModel m_stereomodeModel; + + friend class dynProcControlDialog; + friend class dynProcEffect; + +} ; + +#endif diff --git a/plugins/dynamics_processor/logo.png b/plugins/dynamics_processor/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..89e9f3680118931dd86f065a8f6bc0b4c631a585 GIT binary patch literal 3225 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 literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/max_inactive.png b/plugins/dynamics_processor/max_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..0b556b2ee9ce6e5f69dc09a808814161ac96fd21 GIT binary patch literal 969 zcmV;)12+7LP)batbOI$j+$>TdoP%aSguY# z^E{7}lM}5Vkw|cMc19|d(r*fd0*i}_2q8!&lkD&BBZOdYZx4XO!$X#qmb47VaX2_Q zKnTJ1_IAwpt*tEpc6WEl=kq9~P)cFjHaj~zKLe0bB7{IniQ_m3ArL~~dEOXJDMdD$ z)u10AA6Z^r#xM-l*4C(0Dq1FhVHmistKU10Gv@h$z5$OA0?V@Wy=7T{jsQTf*TXbT z48uSvg=JavdOb~dU6<$QXMEq+z``)3TCGwj6fjMb*Vk8VjFggIuSYta)-r9|rr+ELeTH`Nu^SnCzHuctP?pY-upBmg;ISYG$Y!(T zayfz^&`M0xq~Gt;>2&z~{KWG-t#A;vxw$zl&oB%PpwVdHI1aw=(`+_lhEFP3DJ9Kj z6Wg|NU6)3q5lgopBOs-uTCL)F9=TkOYPG7B`Mys&ou*hUVp$do3kzCUp-|xV_Lh~E z6=r5;Vh)i~QmfVQeV=SLOArKOQ5sDlAq4e$9mjES97h8f?M8`7Db($DF${xbGD)k| z(n>tf?&PQoOvp;5ZKJ>+9Uz-NlMH3`5Rm)^4|PU6*>j zj&0ktS}hGM3`3-pB$G+LzrQCIabmO^43q{zKq8UQ-Wa6EzYY;b*j z4M4eE=J@!S`}_N`4%28fFbpG>I^}Yi&CN{=!=TgYaC37Lvt<%b%;BX{NnKoAP^nbL z!udBRilT`jR!YSN;!gwZr$IG(A4L&S6j3Y||DDAD^$Z(1I+=(6f10+xSv7`hbhw=+ rM!V3oo#eNB%HJ9|ZB>}&EP#Ii85Lg|1O@1A00000NkvXXu0mjfRY0zw literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/reset_active.png b/plugins/dynamics_processor/reset_active.png new file mode 100644 index 0000000000000000000000000000000000000000..7bb3957eec9074c082ad71dedac93cd51d7d78c9 GIT binary patch literal 1203 zcmV;k1WfyhP))DhyytTsZihu?%#tsa0!>@#GMmT5sk!^9x#VU;ZzP#A<|%D@9*hheN5#j%E8Dj{;kVd0{YJJ<{e9Ts*cdJLEQOAfd_I*}YSNUe~YkIvN$B#F%S;p|y;vy?6EByWPCBHv< zgozWp>J%3*uH#Kj(Yt+{Mxzc02E*yor`g-vLkzrn^@`?+6BuCg>QyY;!XQU!Lx4C* zsCpiApU~;>fNH-?UsQSW0?Rk`8Q#D z`WUutqg>ZTyA`zS;uHXigqs|@fYzEyrIKNLH^lQiT(^Rw9ki=Uo{Y(yj>lt?G{LQC z+U+*O;Se|Xp(}14SY9h8D=+OhXxBXqT8@A?WC*bYt=$ZO)*9EzI++mwh8=zyIXflyUoo_s?{o;PKP^p?r`eVDVCR)X|-C22tgQdcWbM( zzjo~!wOTDFN^rIQWD|=BN~sLMr@Fnkl~UZeaf4^ip7G$p1GLt>efyR;j@j7QDDB4M zG2`)=`T2RSU%$@o?k@N5->2X2v%bDg5CmMgas?5=vMkaxWiS|E+cr@Y5r!d_Wg#LH z_s1?31Oa{!5Cj295|gG`AZeNqMKMtn5l1lx2M7H1;sv!@jVOwE`0yd^cAN2N#Qy%9 ztmluEYyas}TCEmKOG_*)EU>-3&AD?w5Cj4HZ}t&ON;ZoC5B|w~I7(qFg`*UXi7FuhPBtiMUPvHBEMk7RoFboNTfG`Y+<2VPC;`=_s!2p1>XV3EZ@naSj z7m1UE@z{Tlncdx88jS|^dY#v=UsJ2q@cn=!N$>;zgKS1|RQf0~RFq3r>MmOA5>y<= zsL^P|a4^KSZNe}liXze^B{fM-sg%tWMiF3`o0~&K*n9q*D2lju?_L>1yU^aaU3I;E?qKb z&YYn+J4>9TVA5O}a*-23j5*w_WI}0kx0$q+btHuv$%Gyjdj%qg+sqN^GJqx4Y5QL(X9LJeB>J;A)_!kQC;0JFa R`DOqB002ovPDHLkV1i@O zU2LgPMZs>Ggr+WZW5xPs#B3Tjsn~x&3!0U<5h`{eXdz9g4VaBI)kuUJ=Q=ZYKF+)@ z<|FZoZrihYXNLFVdFDLlIkK{{qH!FPWf}jcmFGG4?%l&lvlQR==|_EX&EH!vJ$;c* zX9!g#>PLKj_zQOK{FIARQ*?%g>bzaMc60FH2y1I=+`4s(+~y1n3~==5S9q-!Q&Uq6 zZO-4li>1Go0C@7`3EQ@917LFUTSUw|u^17au0G|_@*^BUu-1~<6q_r80s>k_DPo#t zjE{|>A_PIe&sVN+{`?PQ)-o|MQBFK(c%`AvT5u^lOA|h8MjuVVAIE_YwX0u6_HF31cRFHxSs)z`V zS(x4X`kEgvy9Hb%4Q67?fyXJ_lY z$;t0%4-9bR$d}AqnqkL|PdISkGxqJsC6Q z4y&uH3=R$wMIqK&qA&t^w@j-Uh+xWHs?KTCb#a?b@;tA9n3JX{VHom!?KyE$uvIO9 z7l?{U)>`^egeq*`z8zI%VPSzNikO+XRD{3%_dr6(qebI-7b$GKgL;JUgrLT z`vtRxQ-BdE-LQBr{Jpe0dCh5SFPHl6*tkXndCd>2y8@AoYo=~irM*#rmPt|)0&8<# z`0K3v{SVHyYu9-8>=~}>zIEFFt4mc$l7t`#cm+pDU#k{k=Mew^002ovPDHLkV1k<{ BCfxu4 literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/smooth_active.png b/plugins/dynamics_processor/smooth_active.png new file mode 100644 index 0000000000000000000000000000000000000000..a44bef32d8467bb53790e477ece1d05b7f7aaabb GIT binary patch literal 1356 zcmV-S1+)5zP)Z*j$@7-If6P>ImP4$lN=sCjBVQ( z05N?_5XtWd81?}gFalzb!DDWi+vNW8&h>!qz((!IkUXsz%z?abBt=l=cs zT)+M`J!5$G<*%+`5Cm9RSz&2;83EEPBk+C3kBy^-JdeQl@qHhq8~`3Y`i?KIT;b4r z@A31qXH=_IE?l^PtrV}ewg>_rL3s6Q3#Dv=AYgNIlij^NmY0{nzz^U5z|o`Q94{Sb z^Vd!G_V!r5b`4|9Tix+#mX?+fBiy`olclBQ{z-%FIQYS#{QL~qw#}iy?~_3o9xh

3e=*&liyCJUY;&~o>du?pXMkz(DRwMV)g@RE=nl?78Vw`efu`0Qi;>2PgAK>uq+F$H78EYP_Nesf`DVkj?r%CfSS!F!^6WE zlk;_KY>d~hUn63%v$I2?P#7dH7K_wsHSB&q5kUl;cN$5Y#N4@aXTbe9PSCC%*ej)S z0RQ%tpE+}enVA_jHa1vYUFGG=mn<$WlBOvW6BAUcReaxPWMqW(^>v!fCaqSBMx!x^ zk!9IHwzIQCyC>n9zR$wK0-bi7W^)J6 z^LYOJIU}Q^0BkoJ1VKO;h6F*tix)2#9UTFL?Z!5q=keyvn?ZqL7_#-p7FdF#6n}*w z+uPeXj)UVkBuPTM)4}co)>@Ng8LHdu5_P+@+igUIIF5Pz_%Xd+k3yk9qtQTXO|#h~ ziDQg0BuPT64<^krI-M@%a+$TYH7;Jf2*BFf8s&1CZug(MpVofjgdlxK)0fF0SgyCkI_Q8wEWx%FB7!A? zQVvH(-e+oZ8dWS7DV0iio;TcDzHXV{mtGHDF O0000u(Gj!h6% z2n7&8X|XVrq@qHirjCn%5DjT4u@%Z#p#TM;NGt79U}WJ4h~#DQ13T>NKK4E*#l7AD ze?fAJtC{oszBA`sQLEK-5Cp_=%>PN!G^JE3VMTF7tJR|8cSv;#z~~EP)_N65=Ex zNi_n^-0U1vQ&Vj3-A?6Mncts0;pDd`aU6$*=g%1%8w23Q!V6s2C5~fWE-g{5R++vu z4Zz&&EQMl`p?&*V`tv2#YL!dV7eNSSXJ;uE3hdjzkBie60hsx5hUtr$JxNpA?KW{7 zp%Dn6-EI@bF#<@nCI~_d!@w|26Wg}2Z5t&eQYswBAxRQ!B^e+8iiwE{q>?D5Xt&x3 z0n)aq)oR$bjg*pSl?tcNoS|4OP%IQUb?OwAav3QlmC7?tpFT~or-wprE0@c8J&Cdv zmSG{KLgqTlvaqGfd~AtjSSV>@OB>5HQA$!!MJ&s*kW!MSDOzg)&Ye5Qt=qRaICPMS z$q7csMllQnDJ2IF9b$81lWp6!F*rDg=XscxNxfdDzpt-5G6Msbn$0FV`}--CN|Z_^cJJOz zr_&+mbm;BvrCO~Lg&}biQLDXU=gyr(QAA%~A8%`K3B!;e2v}ZTX2*^lc%Fyrx;T!D z<2W=L4eIrJM%Zz1U6&vTh@yxjNj{m9EwPd$AqWCI&m&1a!2J9?M~)o9_x-MIYU%1;>&-2*a*dz!u zw#SZr&HelL@%;{#WpV!8c|6}INfJEIXYby<#Bq$D>wLe%fddD4|NcF^ff_lBq^71m)>({R-SIQYP)5^ez46)A7LhFpj*82jw>!x$CS@A98 zTIV`Jx2suSvOt~dL^s)%+h+mj+)3nwAW2f1tp>HX@37|P=2%}}M@sogNB+yAwI&Qh bT-W6vN05p%8YBlO00000NkvXXu0mjf9=T(3 literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/sub1_active.png b/plugins/dynamics_processor/sub1_active.png new file mode 100644 index 0000000000000000000000000000000000000000..b82eb2585dde3a2ddb6bbf2c1bc8c90202371e52 GIT binary patch literal 927 zcmV;Q17Q4#P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Rd}L_t(I%e9nCPaH=Sg}>WX zT|IP1WF7`b0wn{|WC22Q#Ku;z*sz@~tBH5P$w1Ya!0^1Cgs2hh(jjFvaqZv@5_TV&oh!VbK?M^8_+!wqP)_*t*9ptZ%XGV4DwWEZ54~QGy}do^ z^*RUyl>p!O2}}h6tc|Hws{|DT2qJGgVaIvtD&%Fc?QwZ>B(`k}+Dwe0NdP!t90 z>+38mERbaxd7fjfeS<95NUVvDN~P&CN}cBq2$Lbh}-OqQDgnYc2h&tFn{MF&qxLzP`p2!P=O9zmK(+ zi_1$q&tqz8inFsb`u%<>tMB9cx-^-!mixOql;@FU8A+0mWmyU4+=N}0WelvHyf+#R zPESvnnVI49=f8>Lm^4kfzq26eD2gbGf;3G@)0ExaT>z9)tgWpP-^bWE#@YeK_{`4E zAnkVBt*or@&C{pkg)4I^C5juJ#kns7Kpv&4bh$_wp|LVjE?Skw!GWhdYV|sc%_e$& zex6pVHHw4#&*M#Njqm#tgN>c)`~IWRI{xM<#lIdNXn@b2l28Bu002ovPDHLkV1k}r Brmg@0 literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/sub1_inactive.png b/plugins/dynamics_processor/sub1_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..075239fd483fc0000854e0b6d9f724ca00a86d9a GIT binary patch literal 900 zcmV-~1AF|5P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00QhuL_t(I%e9m}Yg|VZhM&1J z_pTZx3b7^O#HGsZ;#Q4=3bg{Kh$~x-KuYpA91tWC*oNRDCI%tUFWAZ{R64}MLPgkJ z8RS?W1nuXYov)MPYS#*=^%OIgxpVGw?t9KVs@-mjbB-7zBErWSN-4be?CtGgVvGz1 z18iwYlCBL1A@Kb9Z#;PL@Y?rVTU%^wZ1CfwN6gO65kkNi!`FB3^5yN@0Axz>?w|Lx z+ii?eiWnmydSVh30w|DbEp5r}?k-11Z}Hw=3+?rKc<%`@^6mZm01W$metq_gAHMq@ zl#r6(-H0s9Fvb}2JST)4GgemwRE2+Y@P>N5&hhavMNyzoh!W0D&v^0TcW&OCMMS6- zH8QO!iW~%nC}uwSl%gm=f%l%GR%2>v3Zu2AC<;MFIV8UR{rYGbG|hN37C5z2DN2^9;TjG5n#z;z$iP}ML`)xtEJO@U@B1)v1 zNpk1j^L23_Gf9V@&ABt@eDDAN`;NMJ@uFO~aDm5DQz)%bmW3i*TE$=0WkkXc5d;up zs{chY3P9@`A%oP@0cgMg#I{5h*^@}#h=2$t2nZ?_Hn+DkH8q7DUrgn4*jl4(8)aFb z6iVwb2&F>BBB3#3kRZTB3KOGBp)Cs)$tDieI%G_8-$Vh#ODTl_Dwd1v#kK<9$5bl# zHOWc7oK%YLQVA!QBc02U&FA@HaFC4aa%^mj)$7)gX=otlx*QoCBwZ-*e6V&c8P_G_x_mb{NIIYA@W=?6LV-*^&(4!4*-$K!Dir9R znBd^h5Qm0_I5;%KyUop{3I%?enBdUJ2uDgKzU}QLR5bw4^H55KC07dDve1@= zZ{^^!2 zxD5^bH9U-M+su{AoZh{g)5RjEi$(r^^ayQP%+1d7>&~70ymc$j9z0;f?%g3m;sB4tT^8QFNw}5G<>JxY&{2@o5M9-fRz!F( zK8_J#b!#gos#GSMW$NBNR=2d^E?b5ug)xS=Z{O0hV+X%%+s1DP4qz%3jPHjDG$tf} zl+f6Q@B51bs00C8>k!*Y;ro69Cx9F0&hdG%2wEeSg(!usHQI5|5hr2@#ruu3XKCBB zC*+t2v*j{3dV08h?Ha8e9o6m=LB#|?h=jxqX|N7ca;a3Sl;V z9}@)J8W`ZCmKGY8FAwn_Ra3G&YmMse?w0ZKaUMT?igp}q#|a0R)^#UvGM%H=t71&XLnr3V{|v09)41M> zF^>pAR8294!1Jhh9-G_Rc=+&PbrLVk&7l_-@S;h&l-$Wwjh_n9@Az))_@bvnjhw3I zT%F*I)=+aEw`W8MqNyyt4}j-+VF2lLn&nMRJbV7UI@aqv17d>!S_GoL{+}Qt2kPla tNLl;VS#n;#Bvo#`w{j&53kx`o!@n?O!|T$A)jj|K002ovPDHLkV1jYFk6r)( literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/unl_inactive.png b/plugins/dynamics_processor/unl_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..850b7077bef39a63eb8bc41f34e206aa821b2788 GIT binary patch literal 854 zcmV-c1F8IpP)IfnF!s=JA)29%Eot+&nFE7#ff%FsjPvlR6@0LvGrc$X$KQ}fu0NCE% zW^iyYb-uZ|nF3r}TSEvzrBab>R#sL3SY2IBf;S9<$;n9o*4NjuZ5!LRu`G*$fq_JS zd3hPzwlPf;RaGT_S`Y*%iqeyjc&{i5hGB4Ybd;PcijsUgnd;on&(Bk<)g&w-1VRYL z$H&QLvs_1hgu0c`*=J-6e85$Z&k(1BoDHe+~8jU33?ly^{Nb)6w;OgoMUDxFn>SnN;ff&ef92OQ9 zq(C~8=+)O}XJ^dK&83nxO%u=aXt&#muBxh7mW5?m7>3c4$acFeku8LfXP_4g0AUz% zdwYuzf{BTVj%*@P4`n_(O zPApB+@O@uOPO8B3^D`qOBLL{S&ePMA1oH6k!0YR)#N1a`UZ>65+gr-UbzMeBN6F{& zeP5}CLV^4Hd&!4{>NpOIi;GF7$H&JhW}3|=<#L%QicnRRt*tEpJkO(EuS?9uLA6>f zOw&vy=(;Ymv$HfB4Kz(-X=y33IX^$=@$nH=RVkOt0KB}saB*?*Il!3=%HH0dI6OS0 zUa$Yv*YjV$#Jjt@IF9pKf&U%UPw?WKGYEo@8OY^wOifLt%Kz11_B+7e>2yAZKUo09 gViDi>$!4?s0)fC-{HhrF#{d8T07*qoM6N<$f;M`F$^ZZW literal 0 HcmV?d00001 diff --git a/plugins/dynamics_processor/wavegraph.png b/plugins/dynamics_processor/wavegraph.png new file mode 100644 index 0000000000000000000000000000000000000000..650fcec02388044486a61b54817fdc2fd4a81d59 GIT binary patch literal 40827 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₫Lr9`|2xv`t{eKgz!&AzWU|XmHAk! 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 brW5}Ufji;gW)5+f00000NkvXXu0mjfphg|r literal 0 HcmV?d00001