13
0
Commit Graph

197 Commits

Author SHA1 Message Date
Johannes Mueller
2a5d56215c New visualization of the compressor state in graph view
To properly visualize attack and release we calculate the input level out of
the gain reduction the output level threshold and ratio.

if (output_level >= threshold) { // no expansion
        input_level = output_level
} else {
        input_level = (gain_reduction - threshold * (1-ratio)) / ratio
}
2018-05-12 19:49:18 +02:00
Johannes Mueller
48c568187d Fixed wrong initialization. 2018-05-12 19:49:18 +02:00
Johannes Mueller
37d2a7bc95 Adjust default parameters of a-expander 2018-05-12 19:49:18 +02:00
Johannes Mueller
bce3497d2a Changed attack and release behavior 2018-05-12 19:49:18 +02:00
Johannes Mueller
3620122ad0 First draft of a-expander 2018-05-12 19:49:18 +02:00
b9c9777b9a When building with MSVC, allow for the fact that Mixbus and Ardour can be using different versions of the SESSION_FILE format 2018-02-15 09:03:32 +00:00
6f019faaa0 Accommodate the change from libtimecode to libtemporal 2018-02-14 10:02:11 +00:00
52aa9bf848 a-comp: Fix typo with previous patch 2017-11-12 00:16:44 +11:00
f3efff4c7e a-comp: Fix noise floor - asymptotics 2017-11-11 14:26:50 +11:00
4c58ada24b Fix a-reverb bypass/enable 2017-11-08 01:38:17 +01:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
019f664356 Fix a-fluidsynth bank/program restore (during session load)
* set program in work-response, synchronous to run()
* properly store bank per channel (for replay)
2017-09-11 16:48:54 +02:00
fdbe22d005 a-fluidsynth: query current bank/program after loading .sf2 2017-09-10 16:06:16 +02:00
b7227415ad a-fluidsynth mark session as modified if .sf2 changes 2017-09-08 23:35:00 +02:00
ba7bbd1d51 a-fluidsynth: implement LV2_BANKPATCH__notify 2017-09-08 23:35:00 +02:00
Johannes Mueller
6663a26755 Signal wish to show inline display in gui by lv2:optionalFeature
... in .ttl file rather than by extension_data() in code. That's more in the
spirit of LV2.
2017-07-31 21:31:23 +02:00
Johannes Mueller
e75db87bf6 Tweaking the a-comp inline display a bit. Make it more skinny. 2017-07-31 21:31:23 +02:00
Johannes Mueller
2716ce41e0 Indicate whether to show plugin's inline display in GUI
This is currently done by an extension data similarly to
LV2_INLINEDISPLAY__interface.
2017-07-31 21:31:23 +02:00
Johannes Mueller
59775df9be Simplified inline display if the channel strip is not wide enough
If the width of the display area is below 200 px, we switch from the graph
display to displaying only two bars, one for output level and one for gain
reduction. In the bar mode we also visualize threshold and ratio.
2017-07-31 21:31:22 +02:00
Johannes Mueller
24cbb1b153 Honor attack and release parameters in a-comp's inline graph 2017-07-31 21:31:22 +02:00
Johannes Mueller
ccab32654b Indicate gain reduction in a-comp 2017-07-31 21:31:22 +02:00
e65ff3fb4a Show range -60 .. +10 dBFS in acomp's inline display 2017-07-31 21:31:22 +02:00
Johannes Mueller
85106d81a0 Set makeup to 0.f when bypassed also in stereo version 2017-07-31 21:31:22 +02:00
Johannes Mueller
29df879edd Adjust the indication of the treshold value by the makup gain.
When lifting the compressor curve by the makeup gain value the actual
treshold (the level when the curve kinks in) is also lifted. Therefore we need
to adjust the dashed line indicating the threshold as well as the level when
the color gradient to show compression kicks in.
2017-07-31 21:31:22 +02:00
Johannes Mueller
dff4153024 Also the stereo version needs to set need_expose 2017-07-31 21:31:22 +02:00
Johannes Mueller
f68754b19d Show a-comp's makeup grain in inline rendering 2017-07-31 21:31:22 +02:00
b42dbe9e4e Sanitize printing of a-eq gain parameters 2017-07-22 17:41:35 +02:00
Johannes Mueller
0109042e7b Increase range of a-comp#stereo release time
Like for the mono version in f52443e17e
2017-07-21 16:11:17 +02:00
Jelle van der Waa
b1cf27bed4 Fix duplicate ‘const’ declaration specifier 2017-07-12 12:09:59 +02:00
d08b81d33d a-EQ: Revert one of the previous changes
One of the previous changes was not a typo, revert it.
2017-06-09 23:09:36 +10:00
ca815acd61 a-EQ: DSP bugfix
Previously there were large spurious spikes in the signal when
the bandwidth parameter was adjusted on a pure sine tone
for the peaking circuits. This has been *greatly* reduced if not
eliminated by fixing a typo in two of the equations.
2017-06-08 02:04:12 +10:00
Nil Geisweiller
a07ca8fa3e Fix a-EQ when parameter changes are very slow
If the parameters change too slowly the filter may never get updated. Indeed,
in spite of v_f0, v_g or v_bw being updated, set_params may never be called,
thus v_filter never updated.
2017-06-06 14:44:19 +02:00
0b6e2d1e46 Improve a-delay to follow tempo-ramps & BPM changes
This is a bit of a hotfix, not a proper solution
2017-03-11 23:10:44 +01:00
8f2a5c01dd fix a-reverb, cut tail on deactivate, plug memory-leak 2017-03-08 23:04:16 +01:00
2a7ad06e79 fix a-fluidsynth bank select (use MMA style, 14 bit MSB/LSB) 2017-01-31 10:44:07 +01:00
9a13a563d0 fix a-fluidsynth midnam bank select 2017-01-31 00:43:43 +01:00
9a46d593cb a-fluidsynth process events even when no sf2 is loaded.
Keep track of program-changes, re-apply Bank/PGM once the
soundfont is loaded. fluidsynth itself keeps track of CCs.
2016-12-07 19:48:52 +01:00
2d37392f1a a-fluid synth: label Reverb & Chorus sends.
Also globally enable Reverb + Chorus FX (so that sends work by default)
2016-12-06 22:56:04 +01:00
f26ed23fd9 a-fluid synth: list all bank/programs 2016-12-06 17:00:12 +01:00
9c20892c27 Turn a-fluidsynth into C++ 2016-12-06 17:00:12 +01:00
8d8132aa3c rough-in a-fluid synth midnam support 2016-12-06 17:00:12 +01:00
5f1d94a7b2 Protect a-comp's display/state against NaN/Inf. 2016-11-29 09:04:13 +01:00
0fe62a34da protect a-delay again Inf, NaN, HUGE and stuff. 2016-11-29 08:41:10 +01:00
7b687d08a1 properly handle FS pitch-bend - closes #7140 2016-11-28 12:53:20 +01:00
c5d4900ea4 a-fluidsynth: fix off-by one. Assign all MIDI channels if possible 2016-10-29 19:57:43 +02:00
f52443e17e Increase range of a-comp release time.
This facilitates ducking music for voice-overs w/o hold-time.
2016-10-15 21:27:29 +02:00
f6570bb507 Revert "add debug info to a-fluidsynth"
This reverts commit 6821f54817.
2016-10-05 16:07:10 +02:00
6821f54817 add debug info to a-fluidsynth 2016-10-05 15:01:12 +02:00
7e09dc1aa6 fix LV2 State Flags for Atom:Path
state-restore does not set the same flag, so lilv_state_equals()
returns false even for identical states and a new state is saved regardless

actual fix also depends on http://dev.drobilla.net/ticket/1145
2016-09-21 03:34:43 +02:00
aca6e667a8 update a-plugins to use official lv2plug.in URI 2016-09-18 19:07:49 +02:00
0ff233d234 Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format 2016-08-30 07:15:00 +01:00
ffb3e9bb21 fix lv2 ttl 2016-08-28 13:18:48 +02:00
c6ef3a75d3 backwards compatible a-comp stereo sidechain ports 2016-08-27 18:08:46 +02:00
f814e68e30 Prepare a-comp for click-free bypass/enable 2016-08-27 17:14:49 +02:00
d6952445ce click-free a-delay bypass/enable 2016-08-27 16:59:15 +02:00
0fa1123f82 NO-OP clean up plugin ttl 2016-08-27 16:01:16 +02:00
62de4d0c31 add NaN/Inf protection now that bypass no longer de/activates 2016-08-27 14:10:51 +02:00
36776bafcd click-free a-reverb bypass 2016-08-27 14:09:47 +02:00
935fd3b32f Add automatable click-free bypass/enable feature to a-eq 2016-08-27 13:23:25 +02:00
aee5d24cfa a reverb is a reverb is a reverb 2016-08-24 23:45:02 +02:00
427d9f888a reduce initial fluidsynth load 2016-08-24 17:51:15 +02:00
953b8ac99f prevent a unlikely race: concurrent restore() + work_response () 2016-08-24 15:38:36 +02:00
f5602adfe8 tweak a-fluidsynth reinit strategy.
reset synth in offline thread, queue panic on deactivate to be
called in run() after first re-activate.

Initial activation does not warrant a panic.
2016-08-24 13:05:47 +02:00
aa349d3f8c add support for reverb & chorus in a-fluidsynth 2016-08-24 05:33:18 +02:00
870cb19737 a-fluidsynth 2016-08-24 03:18:14 +02:00
6bf40e3a44 a-Reverb: Fixed bug with the reverb all pass filters causing bad sound 2016-08-18 00:41:43 +10:00
613ae0c110 Nobody expects the LV2 inquisition! 2016-08-13 14:51:57 +02:00
2b7a89ecff prefix blessed scripted DSP plugins with a-* 2016-08-10 03:11:49 +02:00
dd88461942 clean up plugin ttls - always add semicolon for compatibility 2016-08-09 22:00:38 +02:00
8419c7b79c initialize uninitialized variable 2016-07-28 13:28:38 +02:00
b648ad9cc7 a-Delay: Smooth transition on LPF changes and set max feedback 100 2016-07-20 21:17:51 +10:00
62cd4d43bf a-Comp: Fix bug with DSP in the knee processing region 2016-07-20 20:10:46 +10:00
f8207524e9 a-Delay: Add feedback control 0 to 90 percent 2016-07-19 14:43:43 +10:00
f71fdd4143 clean up a-comp, remove old prototype UI 2016-07-14 21:41:16 +02:00
2b262dbfdd fix a-eq interpolation 2016-07-14 20:44:47 +02:00
1d78150d45 refine a-eq inline display size + grid 2016-07-14 19:44:03 +02:00
fdfff81850 a-EQ: Remove LPF/HPF completely from this plugin 2016-07-15 01:54:50 +10:00
b64fab95e0 a-EQ, a-Reverb: Tweaks to parameter smoothing 2016-07-14 16:41:26 +10:00
7a1084d349 a-EQ: Tweak bandwidth range on parametric eq and use log controls 2016-07-14 05:44:14 +10:00
08f9fc40dc a-EQ: Fixed transfer functions, now boost/cut cancel out correctly 2016-07-14 03:06:47 +10:00
0fdbbac99d a-EQ: Tidy transfer function calculation 2016-07-14 02:03:08 +10:00
0b3d09b011 a-Reverb: Interpolate parameters, stable version 2016-07-13 23:58:07 +10:00
7dc6c0fc08 a-Reverb: Revert some of previous changes, sound of reverb much improved 2016-07-13 19:30:03 +10:00
5965fedc51 a-Reverb: Using new algorithm based on FreeVerb 2016-07-13 18:08:28 +10:00
a66ad18402 initialize some uninitialized variables 2016-07-13 04:31:34 +02:00
625c589d80 a-Reverb: fix typo in plugin name 2016-07-13 01:27:23 +10:00
49fbb6fa15 a-Reverb: Fix ttl and tweak maximum input gain 2016-07-13 01:16:08 +10:00
af69fd6850 a-EQ: Transfer function curves improvement 2016-07-13 00:55:38 +10:00
c612cea5ea fix a-eq library extension 2016-07-12 16:43:10 +02:00
43f8d2503c a-reverb prototype (based on setBfree b_reverb) 2016-07-12 16:43:10 +02:00
d9f19ad1fe fix a a-eq ttl typo 2016-07-12 14:38:28 +02:00
1f02dd2a85 fix compilation with lv2 < 1.10 (lv2 extended) 2016-07-12 13:44:55 +02:00
157564947b a-eq tweaks:
* shorten e-eq Hz display (no decimals)
* use 16:9 aspect inline display
* fix a compiler warning
2016-07-12 04:01:56 +02:00
1f7f7f8597 remove implicit labels from a-eq 2016-07-11 16:58:53 +02:00
b7a7c1bbd8 a-EQ: Tweak default values and inline display scale +-20dB 2016-07-09 00:29:59 +10:00
44de8560a6 Add a-EQ (basic 4 band EQ) with inline display based on SVF filters 2016-07-07 22:15:44 +10:00
f2f7414751 a-delay: Fix compiler warning 2016-07-06 02:18:10 +10:00
de4cb2f8af Add a-Delay plugin 2016-07-06 01:53:59 +10:00
83e1d9fff3 tweak a-series plugin names 2016-07-05 17:17:59 +02:00
5966612a4f consistent use of fmaxf() in a-comp 2016-07-05 15:38:24 +02:00