Len Ovens [Mon, 16 Apr 2018 16:51:59 +0000 (09:51 -0700)]
OSC: added context based previous/next select
Len Ovens [Wed, 11 Apr 2018 17:48:24 +0000 (10:48 -0700)]
OSC: select should not show expand if invalid
Len Ovens [Wed, 11 Apr 2018 16:35:51 +0000 (09:35 -0700)]
OSC expand off should check current sellect
Len Ovens [Wed, 11 Apr 2018 16:24:21 +0000 (09:24 -0700)]
OSC: Allow expand to be global
Len Ovens [Sat, 7 Apr 2018 17:42:11 +0000 (10:42 -0700)]
OSC do not recalc select if still valid
Paul Davis [Thu, 14 Jun 2018 21:29:58 +0000 (17:29 -0400)]
context menus should have accelerators
Robin Gareus [Sat, 9 Jun 2018 12:40:46 +0000 (14:40 +0200)]
Hide designated LV2 freewheeling port.
Ben Loftis [Fri, 8 Jun 2018 21:12:35 +0000 (16:12 -0500)]
Allow snapping to the start of the video timeline. (should work, but needs testing on a machine with harvid).
Robin Gareus [Wed, 6 Jun 2018 13:07:08 +0000 (15:07 +0200)]
Remove duplicate class-keys (amend
d95df9164)
Paul Davis [Mon, 4 Jun 2018 21:38:32 +0000 (17:38 -0400)]
remove aeffectx.h; use vestige.h
John Emmas [Mon, 4 Jun 2018 09:43:19 +0000 (10:43 +0100)]
NO-OP: Modify a #include (purely for consistency)
Paul Davis [Sat, 2 Jun 2018 17:24:17 +0000 (13:24 -0400)]
no error logging for CURL HTTP requests; future callers can request it if necessary
Nikolaus Gullotta [Fri, 1 Jun 2018 16:25:46 +0000 (11:25 -0500)]
forgot else in selected-tracks check.
Nikolaus Gullotta [Fri, 6 Apr 2018 17:54:41 +0000 (12:54 -0500)]
moving singen and noisegen from mixbus repo to ardour + change singen display and add noisegen display
Nikolaus Gullotta [Tue, 3 Apr 2018 20:38:54 +0000 (15:38 -0500)]
add Gtk::ColorButton widget to LuaDialog and add ability to change multiple route colors at a time
Nikolaus Gullotta [Fri, 1 Jun 2018 14:51:52 +0000 (09:51 -0500)]
Check-in of set_meter_point() utility/example
Robin Gareus [Thu, 31 May 2018 14:01:52 +0000 (16:01 +0200)]
Example snippet to list plugins (and their presets)
Robin Gareus [Thu, 31 May 2018 14:01:35 +0000 (16:01 +0200)]
Add Lua API to list all available plugins
Paul Davis [Thu, 24 May 2018 03:08:13 +0000 (23:08 -0400)]
no actual error messages when curl requests fail
John Emmas [Sat, 19 May 2018 08:28:30 +0000 (09:28 +0100)]
Move a couple of #undef's
'pbd/timing.h' now includes a call to 'std::numeric_limits<>::max()'
Robin Gareus [Thu, 17 May 2018 20:14:08 +0000 (22:14 +0200)]
Display profile-data in generic plugin-UI.
Robin Gareus [Thu, 17 May 2018 20:09:33 +0000 (22:09 +0200)]
Collect plugin runtime profile statistics.
Robin Gareus [Thu, 17 May 2018 20:00:27 +0000 (22:00 +0200)]
Add a time-profiler with statistics
Ben Loftis [Thu, 17 May 2018 20:00:50 +0000 (15:00 -0500)]
Playhead to Grid: handle case where PH is rolling, and we are prevented from skipping backwards sensibly.
Ben Loftis [Tue, 15 May 2018 14:52:40 +0000 (09:52 -0500)]
Quantize Dialog: Use same grid names as the main grid. (1/16 Note instead of Beats/4)
Ben Loftis [Tue, 15 May 2018 14:36:50 +0000 (09:36 -0500)]
Quantize Dialog: Fix quantize-to-main-grid selection. Was checking against incorrect menu entry string.
Johannes Mueller [Mon, 7 Aug 2017 12:58:59 +0000 (14:58 +0200)]
Make the peak indication in the graph of a-expander green ...
... so that it has a different color than the expander curve
Johannes Mueller [Mon, 7 Aug 2017 12:02:33 +0000 (14:02 +0200)]
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.
Johannes Mueller [Mon, 7 Aug 2017 12:02:21 +0000 (14:02 +0200)]
Visualize peak input in a-expander
Johannes Mueller [Fri, 4 Aug 2017 15:10:42 +0000 (17:10 +0200)]
Add output control port to a-exp for input level
Johannes Mueller [Fri, 4 Aug 2017 13:52:44 +0000 (15:52 +0200)]
Indicate input level in a-exp's inline display rather than output
Johannes Mueller [Thu, 3 Aug 2017 19:22:09 +0000 (21:22 +0200)]
Increase the range of a-exp's ratio to make it usable like a gate
Johannes Mueller [Thu, 3 Aug 2017 19:14:56 +0000 (21:14 +0200)]
Make a-expander react probably on being disabled and enabled.
Johannes Mueller [Thu, 3 Aug 2017 15:10:59 +0000 (17:10 +0200)]
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
}
Johannes Mueller [Thu, 3 Aug 2017 11:45:58 +0000 (13:45 +0200)]
Fixed wrong initialization.
Johannes Mueller [Thu, 3 Aug 2017 11:18:42 +0000 (13:18 +0200)]
Adjust default parameters of a-expander
Johannes Mueller [Thu, 3 Aug 2017 09:39:55 +0000 (11:39 +0200)]
Changed attack and release behavior
Johannes Mueller [Wed, 2 Aug 2017 20:26:08 +0000 (22:26 +0200)]
First draft of a-expander
Ben Loftis [Tue, 8 May 2018 21:12:15 +0000 (16:12 -0500)]
Plugin Ordering: PluginStatusChanged signal went missing. This fixes breakage in drag+drop and live status-updates from the Plugin Manager window.
Ben Loftis [Tue, 8 May 2018 18:27:01 +0000 (13:27 -0500)]
Remove debug printout.
Ben Loftis [Tue, 8 May 2018 18:25:54 +0000 (13:25 -0500)]
Plugin Order: Use the new plugin_manager function to save plugin order.
Ben Loftis [Tue, 8 May 2018 18:00:27 +0000 (13:00 -0500)]
Plugin Order: remove from instant.xml and save to: plugin_metadata/plugin_order
Ben Loftis [Mon, 7 May 2018 17:51:39 +0000 (12:51 -0500)]
Make note of Gesture messages in VST; for later.
Ben Loftis [Tue, 8 May 2018 14:03:20 +0000 (09:03 -0500)]
playhead_X_to_grid: Handle the case of GridTypeNone
Ben Loftis [Tue, 8 May 2018 13:42:57 +0000 (08:42 -0500)]
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.
Ben Loftis [Wed, 2 May 2018 21:37:14 +0000 (16:37 -0500)]
Replace the check for SnapPref, which went missing. Some functions (like playhead_to_next_grid) can request GridOnly.
Paul Davis [Fri, 4 May 2018 22:36:53 +0000 (18:36 -0400)]
fix more cut-n-paste coding errors
Paul Davis [Fri, 4 May 2018 13:40:28 +0000 (09:40 -0400)]
add well known controls to list accessible via a MIDI binding map (or OSC?)
Paul Davis [Fri, 4 May 2018 12:24:07 +0000 (08:24 -0400)]
internally, ControllableDescriptors (used by MIDI binding maps) should use enums for automation types, rather than something custom
Paul Davis [Fri, 4 May 2018 12:23:29 +0000 (08:23 -0400)]
avoid compiler warning (timestamp is unsigned and is thus always >= 0
Paul Davis [Fri, 4 May 2018 12:23:01 +0000 (08:23 -0400)]
avoid compiler warning on at least some linux versions
Robin Gareus [Mon, 30 Apr 2018 20:24:35 +0000 (22:24 +0200)]
Add option to disable plotting collected signal in analysis.
Robin Gareus [Mon, 30 Apr 2018 14:04:22 +0000 (16:04 +0200)]
NO-OP: a ToDo comment for discussion
Robin Gareus [Thu, 26 Apr 2018 21:41:15 +0000 (23:41 +0200)]
Fix issue with AU plugin-analysis
Copy c'tor needs to initialize "audio_input_cnt".
Robin Gareus [Tue, 24 Apr 2018 16:15:07 +0000 (18:15 +0200)]
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.
Damien Zammit [Sun, 22 Apr 2018 02:49:43 +0000 (12:49 +1000)]
ptformat: Update to upstream
c0305a2
Robin Gareus [Fri, 20 Apr 2018 16:22:20 +0000 (18:22 +0200)]
Use https for harrison channelstrip (windows-builds)
Robin Gareus [Thu, 19 Apr 2018 16:32:33 +0000 (18:32 +0200)]
amend
e1f94bbb4a (32/64bit int64 compat)
Robin Gareus [Thu, 19 Apr 2018 13:36:01 +0000 (15:36 +0200)]
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.
Robin Gareus [Fri, 13 Apr 2018 21:19:13 +0000 (23:19 +0200)]
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()
Robin Gareus [Thu, 12 Apr 2018 00:34:19 +0000 (02:34 +0200)]
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.
Damien Zammit [Sun, 8 Apr 2018 10:19:14 +0000 (20:19 +1000)]
ptformat: Update to upstream
762f0db
Damien Zammit [Sun, 8 Apr 2018 05:28:31 +0000 (15:28 +1000)]
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
Damien Zammit [Sun, 8 Apr 2018 05:27:21 +0000 (15:27 +1000)]
ptformat: Update to upstream
d5a73a0
Robin Gareus [Sun, 8 Apr 2018 00:05:16 +0000 (02:05 +0200)]
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".
Len Ovens [Sat, 7 Apr 2018 16:11:45 +0000 (09:11 -0700)]
OSC make strippable null on drop references
Len Ovens [Wed, 21 Mar 2018 22:31:23 +0000 (15:31 -0700)]
Use precalulated value rather than recalculating
Len Ovens [Wed, 21 Mar 2018 21:50:27 +0000 (14:50 -0700)]
OSC: Setting strip types should clear temporary custom modes
Robin Gareus [Fri, 6 Apr 2018 22:16:57 +0000 (00:16 +0200)]
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.
Robin Gareus [Mon, 2 Apr 2018 20:33:11 +0000 (22:33 +0200)]
Implement VST UI touch (begin/end Edit)
Nikolaus Gullotta [Thu, 29 Mar 2018 15:21:09 +0000 (10:21 -0500)]
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
Julien "_FrnchFrgg_" RIVAUD [Fri, 30 Mar 2018 18:52:48 +0000 (20:52 +0200)]
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.
Robin Gareus [Thu, 29 Mar 2018 16:15:20 +0000 (18:15 +0200)]
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.
Paul Davis [Wed, 28 Mar 2018 18:24:15 +0000 (14:24 -0400)]
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
Robin Gareus [Tue, 27 Mar 2018 22:32:32 +0000 (00:32 +0200)]
NO-OP: prefer binary OR to set midi-status byte
Robin Gareus [Tue, 27 Mar 2018 22:13:30 +0000 (00:13 +0200)]
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")
Paul Davis [Tue, 27 Mar 2018 14:17:33 +0000 (10:17 -0400)]
duplicate (regions) should honor ripple edit mode
Robin Gareus [Tue, 27 Mar 2018 13:30:34 +0000 (15:30 +0200)]
Remove debug message and trailing whitespace
Paul Davis [Mon, 26 Mar 2018 22:26:39 +0000 (18:26 -0400)]
faderport: make ::invoke() tell us whether or not something was actually invoked for a button event
Only put the button into "consumed" if it actually invoked something.
This helps to get reverse-polarity footswitches to work as expected
Paul Davis [Mon, 26 Mar 2018 17:56:50 +0000 (13:56 -0400)]
fix binding to long-press for User button on FaderPort
Robin Gareus [Sat, 24 Mar 2018 19:05:17 +0000 (20:05 +0100)]
Fix MIDI-port info in plugin-manager
Nikolaus Gullotta [Fri, 23 Mar 2018 14:00:51 +0000 (09:00 -0500)]
assert(rv) removed, fixed redundant checking, and fixed proc ordering issue caused by commit
c7f7347
Nikolaus Gullotta [Wed, 21 Mar 2018 16:52:21 +0000 (11:52 -0500)]
better group support + mute and solo recall
John Emmas [Thu, 22 Mar 2018 10:54:21 +0000 (10:54 +0000)]
MSVC won't allow us to cast directly from float to an enum. We need to kludge it by first casting to an integer type
(is it safe to be casting from float to enum anyway??)
Len Ovens [Tue, 20 Mar 2018 21:37:08 +0000 (14:37 -0700)]
OSC: Change custom mode to enum
Nikolaus Gullotta [Tue, 20 Mar 2018 20:41:20 +0000 (15:41 -0500)]
more stability fixes
Nikolaus Gullotta [Tue, 20 Mar 2018 18:01:48 +0000 (13:01 -0500)]
fixed processor ordering crash in ardour and added group support (kinda)
Robin Gareus [Tue, 20 Mar 2018 18:16:37 +0000 (19:16 +0100)]
Fix call to labs.
..or as clang puts it:
"error: no member named 'labs' in namespace 'std'; did you mean
simply 'labs'?"
Robin Gareus [Tue, 20 Mar 2018 17:07:55 +0000 (18:07 +0100)]
Fix crash when re-assigning groups to a disjunct set.
Drag a group-tab's right-edge horizontally to the right to remove all
current routes from the groups before adding new routes to the group.
The group becomes temporarily empty, and
Session::route_removed_from_route_group() removes the group (before new
routes can be added).
Len Ovens [Tue, 20 Mar 2018 15:41:06 +0000 (08:41 -0700)]
OSC: a strip controlling a send should deactivate other controls
Len Ovens [Sun, 18 Mar 2018 06:10:16 +0000 (23:10 -0700)]
OSC: Add feedback for bus_only mode and automation and pan
Len Ovens [Sun, 18 Mar 2018 06:07:44 +0000 (23:07 -0700)]
OSC: select should have latch too.
Len Ovens [Sat, 17 Mar 2018 18:00:59 +0000 (11:00 -0700)]
OSC: Add bus only mode for gain controls
Nikolaus Gullotta [Mon, 19 Mar 2018 18:30:19 +0000 (13:30 -0500)]
Fixed issue in plugin id invalidator caused by commit
d5d5c0c
Nikolaus Gullotta [Mon, 19 Mar 2018 17:24:46 +0000 (12:24 -0500)]
cleanup, fix in-on-change issue.
Robin Gareus [Mon, 19 Mar 2018 17:18:35 +0000 (18:18 +0100)]
Lua is not an acronym
Robin Gareus [Mon, 19 Mar 2018 17:13:37 +0000 (18:13 +0100)]
Speed up plugin-selector refill.
* Detach model from treeview and disable sorting during refill.
* Prevent multiple re-fills due to sensitivity updates of ComboBoxes:
gtk_widget_set_sensitive() -> CairoWidget::on_state_changed ()
-> CairoWidget::set_visual_state () -> StateChanged Signal
Robin Gareus [Mon, 19 Mar 2018 14:43:07 +0000 (15:43 +0100)]
Fix "Shortcut" special-case in the script-selector.
The Script-selector is used in various places, not just for
Action-scripts.
Also add a "--" prefix for the separator to avoid name conflicts with
actual script names.
Robin Gareus [Mon, 19 Mar 2018 01:26:24 +0000 (02:26 +0100)]
Lua: Lock bindings into memory for rt-scripts
Empirically this decreases gc-spike duration (worst-case) by a factor of
two and speeds up the average gc-run by a factor of over 4 (depending
on the amount of memory used by the plugin).
Robin Gareus [Mon, 19 Mar 2018 00:33:13 +0000 (01:33 +0100)]
Customize Lua GC, add object-memory-lock API.
Add custom API to prevent Lua Objects from being garbage collected.
This is intended to for Ardour LuaBridge bindings (~1MB Objects:
tables, functions and userdata).
The bindings are persistent and the gc can skip them in mark & sweep
phases. This is a significant performance improvement for garbage
collection.
Note. The next version of Lua (5.4) will come with a generational-gc
rather than an incremental, so extending the API at this point in time
is acceptable.