Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updateladspa #6

Merged
merged 53 commits into from Feb 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
69fd565
crash fix: inputs and outputs can have zero size.
May 26, 2018
39e5262
crashfix: tick can grow beyond self->ticks.size()
May 26, 2018
e83be7b
Merge pull request #177 from oget/master
boomshop May 27, 2018
bc10435
Remove malloc.h from includes (stdlib.h is already included, too); Fi…
boomshop May 28, 2018
7afdefc
Limiter: try to fix memleak
boomshop Jun 20, 2018
6ec9e1a
Analyzer: fix crash if host didn't set srate before opening the UI (Q…
boomshop Jul 3, 2018
3ad2f00
Attempt to add allpass filter
boomshop Jul 3, 2018
cd53de6
changelog and version
boomshop Jul 8, 2018
a54f10a
EQ30: add elliptic filter type
thedrgreenthumb Jul 28, 2018
f7d394f
Merge pull request #185 from thedrgreenthumb/master
boomshop Jul 28, 2018
3d500a9
New config option: window to tray; Hides all windows to tray when mai…
boomshop Aug 10, 2018
91de6e4
New config option: Hide window on start; fixes #187
boomshop Aug 10, 2018
7d45246
Slightly improved preferences window
boomshop Aug 10, 2018
92c50f6
Preferences: layout selector is a gtkcomboboxtext now
boomshop Aug 10, 2018
9f91732
Update Limiter.html
trebmuh Aug 11, 2018
b370d1b
Update Multiband Limiter.html
trebmuh Aug 11, 2018
85254cb
Update Sidechain Limiter.html
trebmuh Aug 11, 2018
d6db906
Add files via upload
trebmuh Aug 11, 2018
297abac
fix
trebmuh Aug 11, 2018
29c7978
New option: --no-gui|-n; fixes #184
boomshop Aug 11, 2018
962ad67
Merge pull request #189 from trebmuh/documentation
boomshop Aug 11, 2018
189f5ae
Try to fix segfault on limiters in jalv
boomshop Aug 12, 2018
313e722
fix a segfault in limiter and a build error
jpcima Aug 13, 2018
2bfa567
Merge pull request #190 from jpcima/fix-limiter
boomshop Aug 13, 2018
a598d4a
initialize the members of equalizerNband
jpcima Aug 13, 2018
423afaa
avoid a global lv2_wrapper to be freed on unloaded library
jpcima Aug 13, 2018
5ead0c7
Merge pull request #191 from jpcima/fix-memory-problems
boomshop Aug 13, 2018
0aff2f6
EQ30: Allow compilation with -std=c++98
thedrgreenthumb Aug 14, 2018
85c4e4e
Merge pull request #193 from thedrgreenthumb/master
boomshop Aug 14, 2018
750a137
Attempt to improve win-start-hidden behavior
boomshop Aug 14, 2018
427639e
Limiter: Allow toggling auto-leveling
haasn Aug 26, 2018
8de3ac7
Merge pull request #196 from haasn/auto_level
boomshop Aug 26, 2018
192988a
Move all limiter auto-level toggles to header
boomshop Aug 26, 2018
f8acd0d
Don't init GTK if --no-gui
boomshop Sep 21, 2018
bba03b6
fluidsynth: port to API for fluidsynth version > 2.0.0
schnitzeltony Oct 9, 2018
fb479a0
Merge pull request #203 from schnitzeltony/master
boomshop Oct 10, 2018
6c0610b
Add option -t (--no-tray) to disable tray icon on start; Fixes #208
boomshop Dec 16, 2018
b6f1b71
Code cleanup
shlyakpavel Dec 27, 2018
e5c08dc
Merge pull request #210 from shlyakpavel/patch-1
boomshop Jan 5, 2019
cc842e9
changed "and" and "or" to "&&" and "||"
Jan 11, 2019
5527945
casting between float and enum not allowed in MSVC
Jan 9, 2019
508f7c2
MSVC array fixes
Jan 9, 2019
1af0a6b
msvc compatibility
Jan 10, 2019
7e36923
fixed bitreverse bitforward mistake
Jan 13, 2019
021850b
Fix detection of LV2 for latest git
schnitzeltony Jan 19, 2019
855cf20
Find headers for all versions of LV2
schnitzeltony Jan 19, 2019
a981ba5
Merge pull request #213 from schnitzeltony/master
boomshop Jan 19, 2019
65cdeed
gcc warning: enum constant in boolean context (#4)
Jan 26, 2019
0966939
Merge pull request #212 from justnope/msvccalf
boomshop Jan 27, 2019
e142f7c
added <functional> header needed for bind2nd
Jan 30, 2019
9da2716
Merge pull request #215 from justnope/incmaster
boomshop Jan 30, 2019
045bba7
Merge pull request #5 from justnope/updatemaster
JohannesLorenz Feb 2, 2019
b164a4d
Merge branch 'master' into updateladspa
Feb 7, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Version 0.90.1.0
+ Various bugfixes
+ Trayicon

Version 0.90.0.0

+ New plug-ins: Multiband Enhancer, Multi Spread, Vinyl
Expand Down
81 changes: 66 additions & 15 deletions calf-gui.xml
Original file line number Diff line number Diff line change
Expand Up @@ -93,19 +93,19 @@
</action-widgets>
</object>
<object class="GtkDialog" id="preferences">
<property name="border_width">5</property>
<property name="border_width">16</property>
<property name="title" translatable="yes">Calf Preferences</property>
<property name="window_position">center</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkVBox" id="dialog-vbox2">
<property name="visible">True</property>
<property name="spacing">2</property>
<property name="spacing">32</property>
<child>
<object class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="homogeneous">True</property>
<property name="n_rows">4</property>
<property name="n_rows">7</property>
<property name="n_columns">2</property>
<property name="row_spacing">10</property>
<property name="column_spacing">15</property>
Expand Down Expand Up @@ -156,21 +156,22 @@
</child>

<child>
<object class="GtkLabel" id="prefs_label_rack_float">
<object class="GtkLabel" id="prefs_label_win_to_tray">
<property name="visible">True</property>
<property name="xalign">1.0</property>
<property name="label" translatable="yes">Float (0=horiz / 1=vert)</property>
<property name="label" translatable="yes">Hide window to tray</property>
</object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="rack-float">
<object class="GtkCheckButton" id="win-to-tray">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">1</property>
Expand All @@ -181,21 +182,22 @@
</child>

<child>
<object class="GtkLabel" id="prefs_label_float_size">
<object class="GtkLabel" id="prefs_label_win_start_hidden">
<property name="visible">True</property>
<property name="xalign">1.0</property>
<property name="label" translatable="yes">Float Size</property>
<property name="label" translatable="yes">Start hidden to tray</property>
</object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="float-size">
<object class="GtkCheckButton" id="win-start-hidden">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">1</property>
Expand All @@ -206,21 +208,20 @@
</child>

<child>
<object class="GtkLabel" id="prefs_label_style">
<object class="GtkLabel" id="prefs_label_rack_float">
<property name="visible">True</property>
<property name="xalign">1.0</property>
<property name="label" translatable="yes">Style (needs restart)</property>
<property name="label" translatable="yes">Direction</property>
</object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="rcstyles">
<object class="GtkComboBoxText" id="rack-float">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
</object>
<packing>
<property name="left_attach">1</property>
Expand All @@ -230,6 +231,56 @@
</packing>
</child>

<child>
<object class="GtkLabel" id="prefs_label_float_size">
<property name="visible">True</property>
<property name="xalign">1.0</property>
<property name="label" translatable="yes">Items per row/column</property>
</object>
<packing>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="float-size">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
</packing>
</child>

<child>
<object class="GtkLabel" id="prefs_label_style">
<property name="visible">True</property>
<property name="xalign">1.0</property>
<property name="label" translatable="yes">Style (needs restart)</property>
</object>
<packing>
<property name="top_attach">6</property>
<property name="bottom_attach">7</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="rcstyles">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">6</property>
<property name="bottom_attach">7</property>
</packing>
</child>

</object>
<packing>
<property name="position">1</property>
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.63)
AC_INIT([calf],[0.90.0],[[email protected]])
AC_INIT([calf],[0.90.1],[[email protected]])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADER([config.h])
LT_INIT([dlopen])
Expand Down Expand Up @@ -79,7 +79,7 @@ if test "$JACK_FOUND" = "yes"; then
PKG_CHECK_MODULES(JACK_RENAME_PORT, jack >= 1.9.11, JACK_HAS_RENAME="yes", JACK_HAS_RENAME_DUMMY="no")
fi

PKG_CHECK_MODULES(LV2_DEPS, lv2core >= 6, LV2_FOUND="yes", LV2_FOUND="no")
PKG_CHECK_MODULES(LV2_DEPS, lv2 >= 1.1.14, LV2_FOUND="yes", LV2_FOUND="no")

PKG_CHECK_MODULES(LASH_DEPS, lash-1.0 >= 0.6.0,
AC_CHECK_LIB([lash], [lash_client_is_being_restored], LASH_0_6_FOUND="yes", LASH_0_6_FOUND="no"),
Expand Down
19 changes: 18 additions & 1 deletion doc/manuals/Limiter.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,30 @@ <h2>Controls</h2>
<li><strong>Split:</strong> Frequency to split between these strips</li>
<li><strong>S:</strong> Separate or overlap the frequencies of the neighbour bands</li>
<li><strong>Q:</strong> Raise the center frequency</li>
<li><strong>Limit:</strong> Don't let signals above this level pass the limiter. The removed amplitude is added automatically.</li>
<li><strong>Limit:</strong> Don't let signals above this level pass the limiter.</li>
<li><strong>Auto-level:</strong> If enabled, scales the output signal to 0 dBFS, effectively applying a gain equal to the inverse of the limit setting - adding back the removed amplitude in the process.</li>
<li><strong>Lookahead:</strong> The Limiter will reach its attenuation level in this amount of time (output will be delayed two times this time)</li>
<li><strong>Min Release:</strong>Don't let the release time fall beneath 2.5 times the lowest possible wavelength per band</li>
<li><strong>Release:</strong> Come back from limiting to attenuation 1.0 in this amount of milliseconds</li>
<li><strong>ASC:</strong> When gain reduction is always needed ASC takes care of releasing to an average reduction level rather than reaching a reduction of 0 in the release time</li>
<li><strong>ASC Level:</strong> Select how much the release time is affected by ASC, 0 means nearly no changes in release time while 1 produces higher release times</li>
</ul>
<h3>ASC: Adaptive Slope Control</h3>
<div style="text-align:center"><a href="images/Calf - Limiter - ASC.jpg" title="Calf - Limiters - ASC" class="prettyPhoto"><img class="thumbnail" src="images/Calf - Limiters - ASC.jpg" style="width: 90%; max-width: 97px" /></a></div>
<p>
The release time is the time needed to return from possible gain reduction after a peak appeared back to no reduction.<br /><br />
Now let's look at the case when permanent gain reduction of e.g. 6dB appears. If a peak appears in this situation the release time would be calculated to reach zero. Since it isn't able to go back to no reduction (because on average it just goes back to the permanent 6dB) the time for the release would on average be shorter than set by the user. That's what ASC is developed for.<br /><br />
It keeps track of the average gain reduction (in fact it keeps track of the average signal strength, but for this explanation seeing it as reduction is easier for understanding) and takes this as the final state of the reduction while calculating the release slope.<br /><br />
The LED displays when the ASC slope is used instead of the normal one. This happens if the ASC slope is smaller than the normal one.<br /><br />
The value of the ASC Level knob sets the amount of the ASC slope before the comparison. The higher this value is set the more often the ASC slope is used instead of the normal one. This results in a temporary higher release time for this peak, if releasing back to no reduction.
</p>
<li><strong>Normal behavior:</strong> release time 5ms from -12 dB peak reduction to no reduction.</li>
<li><strong>ASC behavior:</strong> release time 5ms from -12 dB to -6 dB (average level)</li>
<div style="text-align:center"><a href="images/Calf - Limiter - ASC behaviours.jpg" title="Calf - Limiters - ASC behaviours" class="prettyPhoto"><img class="thumbnail" src="images/Calf - Limiters - ASC behaviours.jpg" style="width: 90%; max-width: 437px" /></a></div>
<p>
(The image doesn't care about logarithm)<br /><br />
This results in a much softer limiting with more smooth release processes whatever material is stuffed in there. A little less loudness but audibly less distortion. If only few peaks happen while the limiter isn't doing anything most of the time, enabling ASC doesn't affect the limiting process. It only hits in as soon as there is permanent gain reduction and evens it out, that's why it is enabled by default.
</p>
<div class="footer"><a href="index.html" title="Index">Index</a><a href="#" title="Top">Top</a></a></div>
</div>
</body>
Expand Down
7 changes: 6 additions & 1 deletion doc/manuals/Multiband Limiter.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ <h2>Controls</h2>
<li><strong>Output (knob):</strong> Raise the overall volume after the compression stage</li>
<li><strong>Bypass:</strong> Don't process anything, just bypass the signal</li>

<li><strong>Limit:</strong> Don't let signals above this level pass the limiter. The removed amplitude is added automatically.</li>
<li><strong>Limit:</strong> Don't let signals above this level pass the limiter.</li>
<li><strong>Auto-level:</strong> If enabled, scales the output signal to 0 dBFS, effectively applying a gain equal to the inverse of the limit setting - adding back the removed amplitude in the process.</li>
<li><strong>Lookahead:</strong> The Limiter will reach its attenuation level in this amount of time (output will be delayed two times this time)</li>
<li><strong>Min Release:</strong>Don't let the release time fall beneath 2.5 times the lowest possible wavelength per band</li>
<li><strong>Release:</strong> Come back from limiting to attenuation 1.0 in this amount of milliseconds</li>
Expand All @@ -44,6 +45,10 @@ <h2>Controls</h2>
<li><strong>Weight:</strong> The "importance" of this strip in the resulting signal</li>
<li><strong>Solo:</strong> Hear single (or more) bands exclusively to set the crossover and the release times exactly</li>
</ul>
<h3>ASC: Adaptive Slope Control</h3>
<p>
Please refer to the <a href="Limiter.html" title="Calf Limiter">Limiter</a> page for more details.
</p>
<div class="footer"><a href="index.html" title="Index">Index</a><a href="#" title="Top">Top</a></a></div>
</div>
</body>
Expand Down
5 changes: 5 additions & 0 deletions doc/manuals/Sidechain Limiter.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ <h2>Tips</h2>
<h2>Controls</h2>
<p>
Please refer to the <a href="Multiband Limiter.html" title="Calf Multiband Limiter">Multiband Limiter</a> page for more details.
</p>
<h3>ASC: Adaptive Slope Control</h3>
<p>
Please refer to the <a href="Limiter.html" title="Calf Limiter">Limiter</a> page for more details.
</p>
<div class="footer"><a href="index.html" title="Index">Index</a><a href="#" title="Top">Top</a></a></div>
</div>
</body>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/manuals/images/Calf - Limiters - ASC.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion gui/gui/eq30.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<led param="level_in_clipR" attach-x="2" attach-y="2" expand-x="0" />

<label param="filters" attach-x="3" attach-y="0" expand-x="0" />
<combo param="filters" attach-x="3" attach-y="1" expand-x="0" attach-h="2" />
<combo param="filters" attach-x="3" attach-y="1" expand-x="0" attach-h="3" />

<label param="bypass" attach-x="4" attach-y="0" expand-x="0" />
<toggle param="bypass" icon="bypass" attach-x="4" attach-y="1" attach-h="2" expand-x="0" pad-x="10"/>
Expand Down
33 changes: 17 additions & 16 deletions gui/gui/limiter.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,26 @@

<label attach-x="3" attach-y="0" expand-x="0" param="bypass"/>
<toggle attach-x="3" attach-y="1" expand-x="0" attach-h="2" param="bypass" icon="bypass"/>

<label attach-x="4" attach-y="0" expand-x="1" text="Output level"/>
<vumeter param="meter_outL" position="2" mode="0" hold="1.5" falloff="2.5" attach-x="4" attach-y="1" expand-x="1" />
<vumeter param="meter_outR" position="2" mode="0" hold="1.5" falloff="2.5" attach-x="4" attach-y="2" expand-x="1" />
<meterscale param="meter_outR" marker="0 0.0625 0.125 0.25 0.5 0.71 1" dots="1" position="2" mode="0" attach-x="4" attach-y="3" expand-x="1" />

<label attach-x="5" attach-y="0" expand-x="0" text="Clip"/>
<led param="clip_outL" mode="1" attach-x="5" attach-y="1" expand-x="0" />
<led param="clip_outR" mode="1" attach-x="5" attach-y="2" expand-x="0" />
<label param="auto_level" attach-x="4" attach-y="0" expand-x="0"/>
<toggle param="auto_level" attach-x="4" attach-y="1" attach-h="2" expand-x="0"/>

<label param="level_out" attach-x="6" attach-y="0" expand-x="0" />
<knob param="level_out" attach-x="6" attach-y="1" attach-h="2" expand-x="0" type="1" />
<value param="level_out" attach-x="6" attach-y="3" expand-x="0" />
<label attach-x="5" attach-y="0" expand-x="1" text="Output level"/>
<vumeter param="meter_outL" position="2" mode="0" hold="1.5" falloff="2.5" attach-x="5" attach-y="1" expand-x="1" />
<vumeter param="meter_outR" position="2" mode="0" hold="1.5" falloff="2.5" attach-x="5" attach-y="2" expand-x="1" />
<meterscale param="meter_outR" marker="0 0.0625 0.125 0.25 0.5 0.71 1" dots="1" position="2" mode="0" attach-x="5" attach-y="3" expand-x="1" />

<label attach-x="6" attach-y="0" expand-x="0" text="Clip"/>
<led param="clip_outL" mode="1" attach-x="6" attach-y="1" expand-x="0" />
<led param="clip_outR" mode="1" attach-x="6" attach-y="2" expand-x="0" />

<label param="level_out" attach-x="7" attach-y="0" expand-x="0" />
<knob param="level_out" attach-x="7" attach-y="1" attach-h="2" expand-x="0" type="1" />
<value param="level_out" attach-x="7" attach-y="3" expand-x="0" />
</table>

<frame attach-x="0" attach-y="1" label="Limit" expand="0" fill="1">
<hbox homogenous="1" spacing="25">
<label/>
<hbox homogeneous="1" spacing="25">
<vbox>
<label param="oversampling"/>
<knob param="oversampling" size="3" ticks="1 2 3 4"/>
Expand All @@ -56,12 +58,11 @@
<vbox>
<label param="asc"/>
<align><toggle param="asc" /></align>
<hbox>
<align><hbox spacing="8">
<knob param="asc_coeff" size="1" type="1" />
<align><led param="asc_led" /></align>
</hbox>
</hbox></align>
</vbox>
<label/>
</hbox>
</frame>

Expand Down
Loading