13
0
Commit Graph

13125 Commits

Author SHA1 Message Date
Johannes Mueller
eb79ae7d41 Don't try to chop of the file name extension from a template dir
Template files reside in
.config/ardour5/templates/$(template_name)/$(template_name).template

We run through .config/ardour5/templates/ and find there the names of the
directories the .template-files are located in. These directory names don't
have a .template extension. So we shouldn't try to chop the non existing
extension of, because then we only modify template names with a '.' in them.
2017-07-12 16:15:03 +02:00
Jelle van der Waa
b1cf27bed4 Fix duplicate ‘const’ declaration specifier 2017-07-12 12:09:59 +02:00
fd8053da9e Don't use VST ->user points, prefer host-reserved ptr
Apparently "user" is for plugins (not hosts) to use.
2017-07-08 18:13:42 +02:00
82278af424 Add API to expand/flatten AC groups 2017-07-08 15:35:30 +02:00
60df2a342c Don't drop processor references with process-lock
_processors = new_list; may drop the last shared-ptr reference.
This may deadlock in ~IO() for I/O processors or plugins with sidechain
inputs. It's been mostly a non-issues since the GUI usually holds a last
shared-ptr reference for a processor to be deleted, but that is
not always the case.
2017-07-07 23:05:59 +02:00
deba170d6c Consistent ControlList freezing -- fixes #7419
AudioRegion::set_fade_in() freezes the original ControlList, then
assigns a new one and thaws that.
Frozen state needs to be retained during assignment.

Related: The overloaded assignment operator in AutomationList
performed duplicate signal emission and didn't freeze the list.
2017-07-07 02:35:00 +02:00
b732aa2ca1 fix void return with value (amend d5d297c4) 2017-07-06 18:01:49 +02:00
d5d297c407 Fix FP8 shutdown sequence (amend d421e56fc) 2017-07-06 16:55:02 +02:00
73ad5c97f2 Consistently set parameter steps.
And it's actually mostly moot. interface_to_internal maps
any range to 0..1.
The GUI could just hardcode min/max 0, 1 and steps 1/30, 1/300.
Except for controls that have explicit range-steps & ctrl surfaces.
2017-07-06 16:32:27 +02:00
2a809dcf70 OSC: add delta controls to master, monitor and select as well 2017-07-05 08:08:57 -07:00
cd30a29691 Fix session-event queue (multiple writer, single reader)
The reading is done in rt-process thread, but multiple UIs (surfaces,
GUI) can produce events to be queued.
2017-07-04 20:44:33 +02:00
c4578db595 Compatibility with old out-of-range automation-lane data
Ardour may have ignored log-scale for parameters 0..N and allowed
writing '0'. Force those values into the valid range on session load.
Also mark the list as "needs sorting" which removes potential duplicates.
2017-07-04 20:12:51 +02:00
135ffdcf6b Work-around for plugins with log-scale parameter 0..SR/2 2017-07-04 20:09:11 +02:00
5292a8f4ae Allow DnDVbox to sort the selection, using original order
In preparation for Processors to be copy/pasted in the same order
as they appear on the strip -- not order in which they are selected.
2017-07-04 18:08:35 +02:00
b11c64ea5b OSC: GUI tweaking 2017-07-03 13:22:56 -07:00
b87bec3200 FP8: "Link" mode works with AutomationControl only. 2017-07-03 19:56:16 +02:00
d76885e9ef Revert "Prefer Stereo-Balance Panner for stereo tracks"
This reverts commit e9ee454ced.

This needs more work to preserve non-customized panners in existing
sessions. "user-panner" is only set if a user explicitly selects a
panner.
2017-07-03 16:21:35 +02:00
ddf55c0d88 PBD::init() failing is fatal in main(), don't silently exit. 2017-07-03 14:45:41 +02:00
e9ee454ced Prefer Stereo-Balance Panner for stereo tracks 2017-07-03 02:24:53 +02:00
ebc8e352bf FP8: toggle editor/mixer (now that "link" button is used)
..and some TODO notes.
2017-07-03 01:42:36 +02:00
3a42383975 Add binding-proxy to ClickBox 2017-07-02 22:48:39 +02:00
b942c76df9 FP8: properly control enum+integer parameters. 2017-07-02 21:05:42 +02:00
7ed775a716 Add API to step though parameter enumerations 2017-07-02 21:04:22 +02:00
0310f89971 FP8: Implement "Control-Link" 2017-07-02 18:19:13 +02:00
c4fcb12d12 Add control-focus notifications from bindable widgets. 2017-07-02 18:19:13 +02:00
6f986173f3 Controllable focus notification API
This allows to inform control-surfaces about the current GUI
control-element. "Link" control-surface interaction to GUI focus.
2017-07-02 18:19:13 +02:00
ec76d7ce03 OSC: GUI indicate invalid port and set to old port on defocus if not valid 2017-07-02 08:28:34 -07:00
34c0e3f1c8 FP8: plugin GUI display options 2017-07-02 02:06:48 +02:00
15b6b29112 Prepare x-thread signals plugin-GUI visibility 2017-07-02 01:58:16 +02:00
d1d6e696aa FP8: fix 2-line text 2017-07-02 01:57:21 +02:00
b2f3523ab6 Remove old libardour API for plugin UIs 2017-07-01 23:42:28 +02:00
c42db10044 OSC: issue 7176 patch applied. shows plugin descriptors. 2017-07-01 13:13:04 -07:00
2219021389 OSC: add feedback for solo isolate and solo safe to strips (issue 7161) 2017-07-01 11:49:08 -07:00
8bc25fb971 OSC: add strip type flag for master and monitor to strip list 2017-07-01 11:14:55 -07:00
f413b83cb9 Fix thinko in dd3f922788 2017-07-01 18:31:55 +02:00
58beb02024 FP8: Use Mixer-Order 2017-07-01 17:11:55 +02:00
a967a942d2 OSC: include all of select in feedback[13] 2017-06-30 20:47:42 -07:00
296c9ae03e OSC: try to prevent race when clearing devices 2017-06-30 20:13:18 -07:00
41bc5bc116 OSC: test param type in a way that works when optimized too. 2017-06-30 19:05:30 -07:00
d421e56fc0 FP8: Clear input port on close. Fixes crash when switching snapshots
The midi_input_handler for the AsyncMIDIPort is connected to the
main event-loop. Events may still be delivered after the surface was
destroyed.

That by itself is not harmful, unless a given message produces a reply:
The _output_port is already gone, FaderPort8::tx_midi crashes.
2017-07-01 02:55:47 +02:00
Johannes Mueller
f7452c2a3a Addressing #7371: don't trigger session->undo() from non-GUI-thread
When triggering Session::undo() or Session::redo() from a
non-GUI-thread (e.g. from a surface protocol) Ardour crashes if setting a
CairoWidget dirty due to a ENSURE_GUI_THREAD assertion. (see #7371)

By triggering undo by BasicUI::access_action() rather than by Session::undo()
we ensure that the GUI thread will finally call Session::undo().

So more like a workaround ... but better than crashing :)
2017-07-01 01:04:44 +02:00
1cbc91788f Don't invert azimuth & elevation display value 2017-06-30 20:01:53 +02:00
1682368052 NO-OP: whitespace 2017-06-30 19:56:40 +02:00
17bcb67af5 Remove cruft (ParameterDescriptor sets this) 2017-06-30 19:56:01 +02:00
389d2cab36 FP8: Scribble-strip display preferences 2017-06-30 19:55:03 +02:00
cd728fdd73 FP8: Allow to select Plugin Presets 2017-06-30 19:13:55 +02:00
1fe1d17ef8 FP8: don't allow to toggle Channelstrip bypass/enable 2017-06-30 02:31:36 +02:00
773c31afc0 FaderPort8 updates
* use 2 lines for Plugin Parameter Names
* Expose Plugin Bypass/Enable per plugin
 - Shift + Select in Plugin Select Mode
 - Bypass Button in Plugin Parameter Edit Mode
2017-06-30 01:59:12 +02:00
dd3f922788 Tweak LV2 float parameter printing 2017-06-30 01:56:49 +02:00
496ac30c41 Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext) 2017-06-29 10:11:05 +01:00