Commit Graph

231 Commits

Author SHA1 Message Date
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
Robin Gareus 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
Robin Gareus 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
Damien Zammit 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
Damien Zammit 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
Robin Gareus 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
Robin Gareus 8f2a5c01dd fix a-reverb, cut tail on deactivate, plug memory-leak 2017-03-08 23:04:16 +01:00
Robin Gareus 2a7ad06e79 fix a-fluidsynth bank select (use MMA style, 14 bit MSB/LSB) 2017-01-31 10:44:07 +01:00
Robin Gareus 9a13a563d0 fix a-fluidsynth midnam bank select 2017-01-31 00:43:43 +01:00
Robin Gareus 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
Robin Gareus 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
Robin Gareus f26ed23fd9 a-fluid synth: list all bank/programs 2016-12-06 17:00:12 +01:00
Robin Gareus 9c20892c27 Turn a-fluidsynth into C++ 2016-12-06 17:00:12 +01:00
Robin Gareus 8d8132aa3c rough-in a-fluid synth midnam support 2016-12-06 17:00:12 +01:00
Robin Gareus 5f1d94a7b2 Protect a-comp's display/state against NaN/Inf. 2016-11-29 09:04:13 +01:00
Robin Gareus 0fe62a34da protect a-delay again Inf, NaN, HUGE and stuff. 2016-11-29 08:41:10 +01:00
Robin Gareus 7b687d08a1 properly handle FS pitch-bend - closes #7140 2016-11-28 12:53:20 +01:00
Robin Gareus c5d4900ea4 a-fluidsynth: fix off-by one. Assign all MIDI channels if possible 2016-10-29 19:57:43 +02:00
Robin Gareus 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
Robin Gareus f6570bb507 Revert "add debug info to a-fluidsynth"
This reverts commit 6821f54817.
2016-10-05 16:07:10 +02:00
Robin Gareus 6821f54817 add debug info to a-fluidsynth 2016-10-05 15:01:12 +02:00
Robin Gareus 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
Robin Gareus aca6e667a8 update a-plugins to use official lv2plug.in URI 2016-09-18 19:07:49 +02:00
John Emmas 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
Robin Gareus ffb3e9bb21 fix lv2 ttl 2016-08-28 13:18:48 +02:00
Robin Gareus c6ef3a75d3 backwards compatible a-comp stereo sidechain ports 2016-08-27 18:08:46 +02:00
Robin Gareus f814e68e30 Prepare a-comp for click-free bypass/enable 2016-08-27 17:14:49 +02:00
Robin Gareus d6952445ce click-free a-delay bypass/enable 2016-08-27 16:59:15 +02:00
Robin Gareus 0fa1123f82 NO-OP clean up plugin ttl 2016-08-27 16:01:16 +02:00
Robin Gareus 62de4d0c31 add NaN/Inf protection now that bypass no longer de/activates 2016-08-27 14:10:51 +02:00
Robin Gareus 36776bafcd click-free a-reverb bypass 2016-08-27 14:09:47 +02:00
Robin Gareus 935fd3b32f Add automatable click-free bypass/enable feature to a-eq 2016-08-27 13:23:25 +02:00
Robin Gareus aee5d24cfa a reverb is a reverb is a reverb 2016-08-24 23:45:02 +02:00
Robin Gareus 427d9f888a reduce initial fluidsynth load 2016-08-24 17:51:15 +02:00
Robin Gareus 953b8ac99f prevent a unlikely race: concurrent restore() + work_response () 2016-08-24 15:38:36 +02:00
Robin Gareus 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
Robin Gareus aa349d3f8c add support for reverb & chorus in a-fluidsynth 2016-08-24 05:33:18 +02:00
Robin Gareus 870cb19737 a-fluidsynth 2016-08-24 03:18:14 +02:00
Damien Zammit 6bf40e3a44 a-Reverb: Fixed bug with the reverb all pass filters causing bad sound 2016-08-18 00:41:43 +10:00
Robin Gareus 613ae0c110 Nobody expects the LV2 inquisition! 2016-08-13 14:51:57 +02:00
Robin Gareus 2b7a89ecff prefix blessed scripted DSP plugins with a-* 2016-08-10 03:11:49 +02:00
Robin Gareus dd88461942 clean up plugin ttls - always add semicolon for compatibility 2016-08-09 22:00:38 +02:00
Robin Gareus 8419c7b79c initialize uninitialized variable 2016-07-28 13:28:38 +02:00
Damien Zammit b648ad9cc7 a-Delay: Smooth transition on LPF changes and set max feedback 100 2016-07-20 21:17:51 +10:00
Damien Zammit 62cd4d43bf a-Comp: Fix bug with DSP in the knee processing region 2016-07-20 20:10:46 +10:00
Damien Zammit f8207524e9 a-Delay: Add feedback control 0 to 90 percent 2016-07-19 14:43:43 +10:00
Robin Gareus f71fdd4143 clean up a-comp, remove old prototype UI 2016-07-14 21:41:16 +02:00
Robin Gareus 2b262dbfdd fix a-eq interpolation 2016-07-14 20:44:47 +02:00
Robin Gareus 1d78150d45 refine a-eq inline display size + grid 2016-07-14 19:44:03 +02:00
Damien Zammit fdfff81850 a-EQ: Remove LPF/HPF completely from this plugin 2016-07-15 01:54:50 +10:00
Damien Zammit b64fab95e0 a-EQ, a-Reverb: Tweaks to parameter smoothing 2016-07-14 16:41:26 +10:00
Damien Zammit 7a1084d349 a-EQ: Tweak bandwidth range on parametric eq and use log controls 2016-07-14 05:44:14 +10:00
Damien Zammit 08f9fc40dc a-EQ: Fixed transfer functions, now boost/cut cancel out correctly 2016-07-14 03:06:47 +10:00
Damien Zammit 0fdbbac99d a-EQ: Tidy transfer function calculation 2016-07-14 02:03:08 +10:00
Damien Zammit 0b3d09b011 a-Reverb: Interpolate parameters, stable version 2016-07-13 23:58:07 +10:00
Damien Zammit 7dc6c0fc08 a-Reverb: Revert some of previous changes, sound of reverb much improved 2016-07-13 19:30:03 +10:00
Damien Zammit 5965fedc51 a-Reverb: Using new algorithm based on FreeVerb 2016-07-13 18:08:28 +10:00
Robin Gareus a66ad18402 initialize some uninitialized variables 2016-07-13 04:31:34 +02:00
Damien Zammit 625c589d80 a-Reverb: fix typo in plugin name 2016-07-13 01:27:23 +10:00
Damien Zammit 49fbb6fa15 a-Reverb: Fix ttl and tweak maximum input gain 2016-07-13 01:16:08 +10:00
Damien Zammit af69fd6850 a-EQ: Transfer function curves improvement 2016-07-13 00:55:38 +10:00
Robin Gareus c612cea5ea fix a-eq library extension 2016-07-12 16:43:10 +02:00
Robin Gareus 43f8d2503c a-reverb prototype (based on setBfree b_reverb) 2016-07-12 16:43:10 +02:00
Robin Gareus d9f19ad1fe fix a a-eq ttl typo 2016-07-12 14:38:28 +02:00
Robin Gareus 1f02dd2a85 fix compilation with lv2 < 1.10 (lv2 extended) 2016-07-12 13:44:55 +02:00
Robin Gareus 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
Robin Gareus 1f7f7f8597 remove implicit labels from a-eq 2016-07-11 16:58:53 +02:00
Damien Zammit b7a7c1bbd8 a-EQ: Tweak default values and inline display scale +-20dB 2016-07-09 00:29:59 +10:00
Damien Zammit 44de8560a6 Add a-EQ (basic 4 band EQ) with inline display based on SVF filters 2016-07-07 22:15:44 +10:00
Damien Zammit f2f7414751 a-delay: Fix compiler warning 2016-07-06 02:18:10 +10:00
Damien Zammit de4cb2f8af Add a-Delay plugin 2016-07-06 01:53:59 +10:00
Robin Gareus 83e1d9fff3 tweak a-series plugin names 2016-07-05 17:17:59 +02:00
Robin Gareus 5966612a4f consistent use of fmaxf() in a-comp 2016-07-05 15:38:24 +02:00
Damien Zammit a16c0c445a a-comp: Use input signal x as cutoff for inline comp curve 2016-07-05 18:36:04 +10:00
Damien Zammit 2a7bd996cd a-comp: Fix inline comp curve shading 2016-07-05 18:19:00 +10:00
Damien Zammit bf7c4c7d60 a-comp: Fix peak level on both stereo and mono plugins 2016-07-05 15:07:06 +10:00
Paul Davis 8507d2c9dd add required check for cairo in a-comp 2016-07-04 15:10:35 -04:00
Damien Zammit 2f7c167fc9 a-comp: Make ratio control logarithmic 2016-07-05 02:32:05 +10:00
Damien Zammit 46bfe2b51a a-comp: Add stereo version 2016-07-05 02:15:47 +10:00
Robin Gareus a1a6dd3865 a-comp display is getting fancy :) 2016-07-04 15:50:05 +02:00
Robin Gareus d2f20120b7 display level in a-comp display 2016-07-04 14:26:37 +02:00
Robin Gareus 49294644fb con't work on a-comp inline-display 2016-07-04 14:07:05 +02:00
Robin Gareus ebdb8dc2ce add C99 flags for lv2 plugin 2016-07-04 13:08:23 +02:00
Robin Gareus d9ba78d594 basic inline display for a-comp 2016-07-04 12:59:04 +02:00
Damien Zammit da5ab866c2 a-comp: Tweak control bounds and clear state on deactivate 2016-07-04 19:43:06 +10:00
Robin Gareus 9220e81e20 clean up a-comp .ttl -- maintainer: the a-team 2016-07-03 14:45:15 +02:00
Robin Gareus 94e5060168 bundle a-comp 2016-07-03 03:21:44 +02:00
Robin Gareus 741428b6fd add a debug mode (in synth) to track down lost note-on 2016-06-26 17:15:46 +02:00
John Emmas b0200b23f2 Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path 2016-05-21 10:33:18 +01:00
John Emmas 40aa4cfe06 Modify our MSVC projects to build liblua as a DLL rather than a static lib 2016-04-04 16:40:20 +01:00
Robin Gareus 97c9722236 silence clang int/float/double -Wabsolute-value 2015-06-23 15:46:00 +02:00
John Emmas 801af5df9e Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side) 2015-06-09 13:18:42 +01:00
Robin Gareus 7a1baeee79 promote sustain pedal from meh to reasonable. 2015-02-28 15:52:28 +01:00
Robin Gareus 3a63b785a9 rsynth: map note-on with zero velocity to note-off 2015-02-19 00:54:30 +01:00
Robin Gareus 304b05ffd9 clarify reasonable synth description. 2015-01-20 21:25:59 +01:00
John Emmas 95091a52a0 When building with MSVC make sure any backends / panners etc get copied to the correct target folder
(i.e. 'lib/ardour3' or 'lib/mixbus3' as appropriate)

These changes are MSVC specific and shouldn't affect the other builds
2015-01-12 14:43:22 +00:00
Robin Gareus 4e2673ca2c add explicit chmod for good measure 2014-12-28 10:20:46 +01:00
John Emmas 9cf5b23392 Modifications needed to build ReasonableSynth with MSVC 2014-11-09 08:11:46 +00:00
Robin Gareus 730e09ce65 another round of compiler warning fixes 2014-10-23 05:31:40 +02:00
Robin Gareus 36135baaac change reasonable-synth to be sample accurate (note on/off)
at expense of slightly increased CPU load.
2014-07-06 13:24:53 +02:00
Robin Gareus 912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
Paul Davis 7000afdc66 fix merge conflict with master 2014-01-23 13:41:20 -05:00
Robin Gareus fb8af16778 attenuate master volume 2014-01-22 18:10:44 +01:00
Robin Gareus 114997b7e6 tweak reasonable synth:
* prevent denormals / cut low volume
* reduce default amplitude of fundamental
2014-01-22 15:30:38 +01:00
Robin Gareus 7418c12a5b override -fvisibility=hidden for the LV2plugin descriptor 2014-01-17 16:10:03 +01:00
Robin Gareus 8f69af4af3 add support for old compilers w/o implicit stdbool 2013-12-27 14:53:30 +01:00
Robin Gareus e82ccd7648 rsynth.lv2: fix note off+on follow up:
special case if the same note is turned off and on in the
same [internal] synth cycle (64samples). x-fade to ADSR attack.
2013-12-14 04:29:12 +01:00
Robin Gareus 6c84362959 fix reasonable synth octave 2013-12-13 20:59:08 +01:00
Robin Gareus c43a1f39a6 xmas-egg 2013-12-13 20:28:30 +01:00
Robin Gareus 17dc72d08e silence warning for ancient libc users&devs :)
string.h 'index' is a global declaration
marked legacy in 2001 and removed in posix.1-2008
2013-10-27 17:03:49 +01:00
Robin Gareus 2cad99bf39 add notes about inlined lv2 atom/util.h functions 2013-10-27 09:56:07 +01:00
Robin Gareus be6d6231fb expand tabs in reaonablesynth code 2013-10-27 09:52:46 +01:00
Robin Gareus caa7c3b579 mark some unused variables -- fewer compiler warnings 2013-10-27 09:51:08 +01:00
Robin Gareus dcd6103231 make reasonable synth a bit more piano-like.
(overtone + decay time)
2013-10-26 17:33:07 +02:00
Robin Gareus e451411719 remove c99'ness from rsynth.c - should fix #5751 2013-10-26 16:42:27 +02:00
Robin Gareus 75271a17d8 relax requirement on lv2 stack 2013-10-23 13:45:28 +02:00
Robin Gareus 78e3864c5d add missing waflib include to rsynth.lv2 2013-10-20 17:29:03 +02:00
Robin Gareus 9faae9c8a3 bundled LV2 plugin build and deployment 2013-10-20 17:24:59 +02:00
Robin Gareus d6e2e34025 fix typo (rsynth.lv2 configure) 2013-10-20 15:28:13 +02:00
Robin Gareus f5c386bbb4 add reasonablesynth.lv2
A reasonably simple synth to allow new users to 'hear midi'.
This is a first step. It still needs proper install and bundling.
2013-10-20 04:31:07 +02:00