616f7f40b6
Properly remove-time automation
...
Previously "remove time" was able to produce overlapping, not
ordered automation.
2018-12-22 01:09:24 +01:00
4b9d96ff8e
Cleanup LV2 file-dialog extension
...
<drobilla> "This function returns immediately"
2018-12-22 00:34:31 +01:00
b8aba905c3
Fix plugin-preset description markup
2018-12-22 00:32:49 +01:00
df666326f7
Fix insert/remove time duplicate automation move -- #7712
...
Editor::insert_time(), Editor::remove_time() handle automation
directly because time may be inserted to Routes without playlists
and combined undo-operation with marker, and tempo-changes.
However when the preference "automation_follows_regions" is enabled,
the playlist already moves the automation of region under any region
(possibly overriding future automation).
This resulted in possibly lossy, duplicate automation moves.
2018-12-21 17:33:59 +01:00
19a2d384fc
NO-OP: whitespace
...
* Remove leading and trailing whitespace.
* use tabs to indent, space to align
/* prefer C-style comments like this,
* always use an asterisk on every line, this
* way small ASCII-graphics are always aligned
* using spaces after the asterisk.
*
* ^
* / \
* / \
* / \
* / \
* / \
* / /\ \
* /__/ \_/\_^__\
* A R D O U R
*
<< NO asterisk, there may be tabs :(
*
*/
2018-12-21 17:33:55 +01:00
9ec031cfce
Remove duplicate automation shift
...
Amp, Trim are now processors, moving processor-automation takes care
of gain automation.
2018-12-21 17:33:51 +01:00
58db958839
Fix crash for external windows
...
eg. LV2 externalUI windows are not managed by ardour; Ardour cannot
intercept mapped() or delete_event() signals and hence also not
create a visibility-tracker.
First call to WindowProxy::toggle() creates the window, and the 2nd call
crashed since 6ca8ec5141
, due to missing vistracker.
e.g. externalUI plugin windows, the processor-box uses WindowProxy
for all plugin-UIs incl. externalUIs.
2018-12-20 19:41:57 +01:00
9594e12c52
Add a plugin-preset list/selector GUI
...
This is currently only used for "Preset only" plugins, generic UI.
And also depends on plugin-presets having a description.
2018-12-20 16:56:49 +01:00
a48d6a37b3
Amend e4304f3bf
, plugin-preset, preset-record
2018-12-20 16:56:49 +01:00
560054dfd6
Use lilv_world_get()
...
Leaves the now-trivial get_value() helper there since it keeps the call sites
shorter and nicer to read.
2018-12-19 20:08:47 -05:00
79c9c62154
Remove conditional support for ancient versions of Lilv
...
This updates the dependency to 0.24.2, which was released in January 2017 and
is the most recent version in Debian 9 (stretch).
2018-12-19 20:08:47 -05:00
ff51744671
make StepEntry actions be static.
...
Unfinished, because bindings are problematic.
2018-12-19 17:19:51 -05:00
1d8e533553
explicitly clear ProcessorEntries from ProcessorBox when the latter's Route is destroyed
2018-12-19 17:19:51 -05:00
3a215271b5
cast_dynamic<> => get_toggle_action()
2018-12-19 17:19:51 -05:00
55bc0eec91
adjustments for latest boost shared_ptr debug patch
2018-12-19 17:19:51 -05:00
084e22baf5
move #include directive
2018-12-19 17:19:51 -05:00
c1f0f4eb7a
more organized and coherent handling of route control connections in MonitorSection
2018-12-19 17:19:51 -05:00
1528df2f5a
Compliant LV2 state path-mapping
...
lv2 state mandates that
> The plugin MUST use this function [ absolute_path] in order to
> actually open or otherwise use any paths loaded from plugin state.
Previously the plugin uses the value directly. Also
> The caller is responsible for freeing the returned value with free().
is now implemented on systems other than windows (where this is not
possible, since the memory must be free()ed in the same module where it
was allocated.
2018-12-19 22:28:40 +01:00
Carl Hetherington
3a5da6fdc4
Copy-edit track type descriptions a little, improving consistency and removing some capital letters.
2018-12-19 20:02:15 +00:00
df35d277f5
Only show user-presets in favorite sidebar
...
Plugins can have hundreds of factory presets, or in case of VST
useless "default" program/presets. Those just clutter up the favorite
plugin-list.
2018-12-18 14:13:20 +01:00
e4304f3bf2
Wouldn't it be nice if plugin presets had a description/comment?
2018-12-18 14:13:15 +01:00
0a3fc4a87f
Add LV2 option/extension for plugin thread sched priority
...
This allows plugins that need threads to process to configure their
thread priority to not interfere with the host's process threads.
2018-12-18 13:30:31 +01:00
0d55dad045
MSVC won't allow us to erase an item that's managed by 'const_iterator'
2018-12-17 09:32:19 +00:00
6c8abb26c8
ptformat: Update to 877fa28 - more endian resilient && pt5 fixes
2018-12-16 15:08:23 +11:00
f28ccd5e3a
NO-OP: whitespace
2018-12-16 04:25:25 +01:00
6a171eb847
Remove cruft: previous set_value_unchecked optimization
2018-12-16 04:25:24 +01:00
6b1b72a247
Optimize automation-event process splitting
...
Use RCU of automated parameter when looking for next automation event
to use for split processing. This speeds up PluginInsert processing
when rolling for plugins with many not-automated parameters.
2018-12-16 04:25:24 +01:00
e4d3ebfb66
Optimize plugin-processing for non-automated params
...
Keep a dedicated list of automated parameters to evaluate in realtime.
This fixes a performance issue with plugins that have many controls
with only few of them being automated.
2018-12-16 04:25:20 +01:00
17a8a50e58
fix issue with ProcessorBox inside MonitorSection (session was not set correctly)
2018-12-15 11:58:58 -05:00
b94c9ef8e0
Fix Mixbus action fc83d044f8
& 65bda27d4
rebase ordering
2018-12-13 18:36:31 +01:00
922bc86b8e
Video-Frame (not sample)
2018-12-13 17:44:58 +01:00
95a61717fa
Fix ExportFormatSpecification copy-c'tor
...
This initialize some otherwise uninitalized variables and may fix
cue/toc export oddities
2018-12-13 17:07:08 +01:00
Jan Lentfer
5d2a03578c
LCXL: some more small tweaks
...
* assign Pan knob to Comp thresh as secondary function
* make cancel_all_solo and cancel_all_mute work in device mode, too
2018-12-12 18:14:48 +01:00
17f5fb81d2
replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
2018-12-12 11:22:38 -05:00
69777d600f
replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
2018-12-12 11:12:48 -05:00
360261f110
replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
2018-12-12 11:12:48 -05:00
758d0ca263
replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
2018-12-12 10:08:01 -05:00
961870142d
remove explicit use of ::cast_dynamic() from Gtk::Action to Gtk::ToggleAction
2018-12-11 23:43:22 -05:00
20c55065ab
more changes flowing from a persistent MonitorSection object
2018-12-11 12:25:31 -05:00
fbab611a73
use syntactic sugar
2018-12-11 12:25:12 -05:00
8a2c824659
do not reset session for MonitorSection just because monitor out was removed
2018-12-11 12:24:49 -05:00
5216bf3771
use correct path for various actions/bindings in monitor section
2018-12-11 12:23:23 -05:00
fc6f90aefc
fix commentary
2018-12-11 12:22:51 -05:00
639dff3a7c
make session/Config now responsible for adding/removing a monitor section
2018-12-11 12:22:28 -05:00
098b0f8a8b
full (?) set of changes required to make MonitorSection an "always-there" component of the MixerUI
...
Obviously, it is not always shown, but it always exists, which means that its actions are always accessible
2018-12-11 10:28:47 -05:00
685c4f8955
change action group owner pointer to be the relevant keybindings; reorder setting keybindings value and defining actions
...
The reorder is required so that the value of "bindings" has been set and is meaningful
2018-12-11 05:06:26 -05:00
e1b7a43139
add ActionManager::get_actions() to fetch all actions created in ActionGroups with a given "owner" value
2018-12-11 05:05:09 -05:00
5981b7f1b8
add nominal owners for all action groups
...
Note: this is not yet correct. The owner (pointer) values passed in are not yet usable
2018-12-10 18:44:05 -05:00
605b7783ee
fix more Window/show-* to Common/show-* details
2018-12-10 18:43:35 -05:00
6d5f33f6e8
remove static from some members, after MonitorSection is now persistent
2018-12-10 18:42:35 -05:00