13
0
Commit Graph

169 Commits

Author SHA1 Message Date
Johannes Mueller
18511f851e Put duplicate code of a-comp and a-expander into one file ...
... for better maintainability

consolidated duplicate code:
  * drawing the dB-grid of a-comp's and a-expander's full display
  * drawing the gain reduction bar of a-comp's and a-expander's full display
  * the entire only-bars display
2018-06-20 22:57:41 +02:00
Johannes Mueller
0c64eacef5 Consolidated a-comp/a-exp run_mono() and run_stereo() to one run()
Up to now we had in a-comp and a-exp one run_mono() and one run_stero()
function which where almost identical except that run_stereo() treated two
in/outs and run_mono() only one. Now we store the number of channels
acomp->n_channels according to the URI and in run() we loop over an array of
pointers to the in/out buffers.
2018-06-20 22:23:54 +02:00
Johannes Mueller
65fed2fa89 Make makeup_gain smoothening of a-expander same as in a-comp 2018-06-20 22:10:54 +02:00
Johannes Mueller
1ad66cfb3c a-comp: makeup_gain needs to be smoothened after every sample ...
... not only once in every run
2018-06-20 21:06:16 +02:00
Johannes Mueller
a0a4db47a7 Add a control port to a-comp select which mode to display inline 2018-06-20 21:06:16 +02:00
Johannes Mueller
869d48c9a6 Make a-comp's meter show numerical values in "4.1f"
according to discussion in irc.
2018-06-20 21:06:16 +02:00
Johannes Mueller
89aa17fe00 Put input level meter before output level meter in the generic gui
This is done by relying on the fact that the generic gui orders the meters
according to their port indices.
2018-06-20 21:06:16 +02:00
Johannes Mueller
6da18b32b5 Visualize the peak of the compressor state in a-comp 2018-06-20 21:06:16 +02:00
Johannes Mueller
619ba94f51 Drop LPF of input level visualization in a-comp 2018-06-20 21:06:16 +02:00
Johannes Mueller
c9bbb01d98 Show the input level in acomp's inline display rather than output level 2018-06-20 21:06:16 +02:00
Johannes Mueller
ef978d1b35 Inlevel output port to visualize the input level in the generic GUI 2018-06-20 21:06:16 +02:00
Johannes Mueller
87ea757a5d Improve level vizualisation in a-comp
* LPF in the signal visialization

* Lower minimum values
2018-06-20 21:06:16 +02:00
Johannes Mueller
3e124704b0 GR-based visualization in a-comp 2018-06-20 21:06:16 +02:00
Johannes Mueller
d29880da89 New attack and release behavior for a-comp
Details in http://tracker.ardour.org/view.php?id=7439
2018-06-20 21:06:16 +02:00
Johannes Mueller
112ac13b90 Don't use acomp->v_gainr outside LV2_EXTENDED ifdefs 2018-06-20 21:06:16 +02:00
Johannes Mueller
9a9df5a10b Make the peak indication in the graph of a-expander green ...
... so that it has a different color than the expander curve
2018-05-12 19:49:18 +02:00
Johannes Mueller
46aa204eb8 Limit gain reduction of a-expander to 160 dB in order to ...
improve release behavior.

This slows down the release after events like single snare hits as, the gain
reduction only releases to 160 dB rather than to inf.
2018-05-12 19:49:18 +02:00
Johannes Mueller
40f12e1205 Visualize peak input in a-expander 2018-05-12 19:49:18 +02:00
Johannes Mueller
2dc96027d6 Add output control port to a-exp for input level 2018-05-12 19:49:18 +02:00
Johannes Mueller
8be06e6e63 Indicate input level in a-exp's inline display rather than output 2018-05-12 19:49:18 +02:00
Johannes Mueller
0eaf7b1e18 Increase the range of a-exp's ratio to make it usable like a gate 2018-05-12 19:49:18 +02:00
Johannes Mueller
0bc5a6f8e9 Make a-expander react probably on being disabled and enabled. 2018-05-12 19:49:18 +02:00
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