13
0
Commit Graph

26530 Commits

Author SHA1 Message Date
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
131c545a3c Plugin Ordering: PluginStatusChanged signal went missing. This fixes breakage in drag+drop and live status-updates from the Plugin Manager window. 2018-05-08 16:12:15 -05:00
811aed2be5 Remove debug printout. 2018-05-08 13:27:01 -05:00
f5bbbe321c Plugin Order: Use the new plugin_manager function to save plugin order. 2018-05-08 13:26:08 -05:00
7a52428538 Plugin Order: remove from instant.xml and save to: plugin_metadata/plugin_order 2018-05-08 13:26:08 -05:00
a156f00617 Make note of Gesture messages in VST; for later. 2018-05-08 13:26:08 -05:00
c074c7ce52 playhead_X_to_grid: Handle the case of GridTypeNone 2018-05-08 09:03:20 -05:00
a5d90c3d9d Arrow keys (playhead_x_to_grid()) should move the view along with it. This is more consistent with jog-wheel operation, which has proven to work nicely. 2018-05-08 08:45:22 -05:00
e83301daaa Replace the check for SnapPref, which went missing. Some functions (like playhead_to_next_grid) can request GridOnly. 2018-05-08 08:43:44 -05:00
81bff2edee fix more cut-n-paste coding errors 2018-05-04 18:36:53 -04:00
a5e8a69dec add well known controls to list accessible via a MIDI binding map (or OSC?) 2018-05-04 09:40:28 -04:00
2e41652e61 internally, ControllableDescriptors (used by MIDI binding maps) should use enums for automation types, rather than something custom 2018-05-04 08:25:04 -04:00
1f9963cd56 avoid compiler warning (timestamp is unsigned and is thus always >= 0 2018-05-04 08:25:04 -04:00
37a9803542 avoid compiler warning on at least some linux versions 2018-05-04 08:25:04 -04:00
f69938a9c4 Add option to disable plotting collected signal in analysis. 2018-04-30 22:24:35 +02:00
11b02e90ac NO-OP: a ToDo comment for discussion 2018-04-30 16:05:04 +02:00
6690e4d39d Fix issue with AU plugin-analysis
Copy c'tor needs to initialize "audio_input_cnt".
2018-04-26 23:41:49 +02:00
9bf40bde3a Use URIs to identify plugin-presets
This fixes duplicate AU presets when adding a new preset.
Presets are kept in a std::map<URI,...> adding a new presets uses
the file-URI as ID. Loaded presets needs to have the same URI.
2018-04-24 18:15:31 +02:00
ffd8855391 ptformat: Update to upstream c0305a2 2018-04-22 12:53:42 +10:00
8473cdb086 Use https for harrison channelstrip (windows-builds) 2018-04-20 18:22:20 +02:00
baba08c264 amend e1f94bbb4a (32/64bit int64 compat) 2018-04-19 18:32:33 +02:00
e1f94bbb4a Fix 32bit builds
Unsigned long is 32bit on 32bit systems, besides sampleoffset and start
variables are signed int64_t.

resulting in a compiler error:
integer constant is too large for 'unsigned long' type.
2018-04-19 15:36:30 +02:00
cc5e758a08 Fix plugin analysis for some VST and AU Plugins.
set_block_size() implies plugin deactivate(), activate() calls
to re-initialize AU and VST plugins. So plugins will reset the
internal state and not immediately respond correctly.
Some plugins zero the output or ramp up internally, leading the analyzer
to show invalid or random/uncorrelated information.

This avoid periodic calls to de/activate()
2018-04-13 23:19:13 +02:00
4983eb565d Only update tooltips if there is an actual change -- #7268
Changing a tooltip resets the timeout. In one particular case,
while rolling, AudioClock::set() is calling set_tooltip() at a rate
faster than the tooltip timeout and prevents tooltip from showing at all
(even if there is no actual change to the tooltip text).
Alas, there is no trivial fix for this UI side and there may be other
such cases. A central check is more than practical.
2018-04-12 02:54:55 +02:00
d0539f5e8a ptformat: Update to upstream 762f0db 2018-04-08 20:24:53 +10:00
e0947579b9 pt import: Add commented out code for inserting silent missing sources
- Disabled due to ptformat not knowing the length of sources
- Added MIDI region/track summary information to dialog
2018-04-08 15:31:52 +10:00
572b3940fb ptformat: Update to upstream d5a73a0 2018-04-08 15:31:52 +10:00
dd5f124c60 Fix crash when testing unsupported MIDI file
smf_delete() does not handle NULL, and segfaults instead.

This only crashes with optimized builds.
libsmf will call g_critical() earlier and in that case debug-builds
call UI::handle_fatal() and ask the user to "click to exit".
2018-04-08 02:09:35 +02:00
518f8108ac OSC make strippable null on drop references 2018-04-07 09:16:07 -07:00
0e88eff05c Use precalulated value rather than recalculating 2018-04-07 09:16:07 -07:00
b286f4f851 OSC: Setting strip types should clear temporary custom modes 2018-04-07 09:16:07 -07:00
b15d80ca77 Fix VstParameterProperties (bug from ac03e4a93)
This fixes VST parameter prop.flags (toggle, integer-step).
VestigeMaxLabelLen is used in various places in libardour, most notably
with effGetParamName.
2018-04-07 00:16:57 +02:00
868eec264f Implement VST UI touch (begin/end Edit) 2018-04-02 22:33:11 +02:00
Nikolaus Gullotta
d0f7bec624 lots of changes including: ability to store and recall more than one mixer state, ability to work on selected tracks only, plus bugfixes and removal of redundant checks 2018-04-02 10:11:22 -05:00
ca0e4f2e32 Fix a French translation
It conveyed the idea of continuous silencing as long as the transport
is in a stopped state. Make it correctly mean a one-shot reset when the
transport is being stopped.
2018-03-30 20:55:56 +02:00
37df98d0af CoreAudio/MIDI: add locks for port-registration
CoreMIDI ports are dynamic. When dis/connecting a device CoreAudio's
AudioHardware-PropertyListener triggers a callback which can
add/remove ports.

This can not happen concurrently with processing, but it may happen
concurrently with a user creating tracks using Ardour's UI
and/or session-load/setup.
2018-03-29 18:15:20 +02:00
5132a6c2eb fix undo/redo for duplicate-regions in ripple mode
Also fix duplicate of multiple regions in the same track, and change "gap" variable
name to "span" for greater clarity
2018-03-28 14:24:21 -04:00
dd83d25baf NO-OP: prefer binary OR to set midi-status byte 2018-03-28 00:32:32 +02:00
1de68d7917 Sparse update for granular controls on sliders
Don't call ::set_value() if the actual value has not changed.
e.g. MIDI-CC or integer controls. Moving the Bar-controller was able to
create events even though the actual value remained unchanged.

This check has to be done UI-side, since the underlying API is also used
for state-restore and automation. e.g.
"old value" (user-set) may be default "0", "new value" may also be "0" but
libardour still needs to send an event (a synth's internal state may not
default to "0")
2018-03-28 00:18:13 +02:00