ardour.git
5 years agoShow VCA pane when a new VCA is created.
Robin Gareus [Fri, 1 Mar 2019 18:02:38 +0000 (19:02 +0100)]
Show VCA pane when a new VCA is created.

5 years agoAdd a signal to indicate VCA creation
Robin Gareus [Fri, 1 Mar 2019 17:56:56 +0000 (18:56 +0100)]
Add a signal to indicate VCA creation

As opposed to VCAAdded this is not emitted when re-loading a session
and only emitted when a user creates a new VCA.

5 years agoRevert "Show VCA pane whan adding a VCA"
Robin Gareus [Fri, 1 Mar 2019 17:44:52 +0000 (18:44 +0100)]
Revert "Show VCA pane whan adding a VCA"

This reverts commit 9a0260148d7c582037bdc13aab6b412379638ab3.

5 years agoShow VCA pane whan adding a VCA
Robin Gareus [Fri, 1 Mar 2019 17:00:11 +0000 (18:00 +0100)]
Show VCA pane whan adding a VCA

5 years agoPrefix an asterisk to indicate plugin replication
Robin Gareus [Fri, 1 Mar 2019 16:48:46 +0000 (17:48 +0100)]
Prefix an asterisk to indicate plugin replication

This saves space compared to "(NxN) ", especially with narrow
mixer-strips

5 years agoReplicated plugin instances may or may not be mono
Robin Gareus [Fri, 1 Mar 2019 16:43:44 +0000 (17:43 +0100)]
Replicated plugin instances may or may not be mono

5 years agoGUI updates to handle monitor-section changes
Robin Gareus [Fri, 1 Mar 2019 15:51:08 +0000 (16:51 +0100)]
GUI updates to handle monitor-section changes

This fixes various MS related action sensitivity issues, as well
as action-states.

Also manually adding a monitor-section to a session now always
immediately shows it, regardless of prior ToggleMonitorSection
visibility.

5 years agoUpdate scripts, monitor-section API change
Robin Gareus [Fri, 1 Mar 2019 15:46:08 +0000 (16:46 +0100)]
Update scripts, monitor-section API change

5 years agoRevert Monitor-Section to be per session
Robin Gareus [Fri, 1 Mar 2019 15:45:42 +0000 (16:45 +0100)]
Revert Monitor-Section to be per session

This partially reverts 639dff3a7c7. When loading a session,
the monitor-bus that was saved with the session is used.

This changes semantics of the monitor-section/config.

Config::set_use_monitor_bus(bool) is used to initiate a change!
Notification about the change is sent asynchronously by
Session::MonitorBusAddedOrRemoved

It is no longer possible to directly call add/remove_monitor_section()
and leave the session + config in an inconsistent state.

5 years agoNO-OP: whitespace
Robin Gareus [Fri, 1 Mar 2019 14:59:41 +0000 (15:59 +0100)]
NO-OP: whitespace

5 years agoDon't use c99 (amend 959947e7f84a)
Robin Gareus [Fri, 1 Mar 2019 14:51:17 +0000 (15:51 +0100)]
Don't use c99 (amend 959947e7f84a)

5 years agoAdd/remove source(s) in our MSVC project (gtk2_ardour)
John Emmas [Fri, 1 Mar 2019 08:40:18 +0000 (08:40 +0000)]
Add/remove source(s) in our MSVC project (gtk2_ardour)

5 years agoAdd/remove source(s) in our MSVC project (libardour)
John Emmas [Fri, 1 Mar 2019 08:39:50 +0000 (08:39 +0000)]
Add/remove source(s) in our MSVC project (libardour)

5 years agosimplifications to the logic and additional comments for code that handles auto-retur...
Paul Davis [Fri, 1 Mar 2019 00:18:08 +0000 (17:18 -0700)]
simplifications to the logic and additional comments for code that handles auto-return at transport stop

5 years agoauto-return is still available if using JACK transport
Paul Davis [Thu, 28 Feb 2019 23:46:42 +0000 (16:46 -0700)]
auto-return is still available if using JACK transport

5 years agoRemove unused RulerType
Robin Gareus [Thu, 28 Feb 2019 23:52:36 +0000 (00:52 +0100)]
Remove unused RulerType

5 years agoNO-OP: whitespace
Robin Gareus [Thu, 28 Feb 2019 22:57:44 +0000 (23:57 +0100)]
NO-OP: whitespace

5 years agoAbort when Action cast failed
Robin Gareus [Thu, 28 Feb 2019 22:57:32 +0000 (23:57 +0100)]
Abort when Action cast failed

Previously the action-manager only called ::abort() when
an action could no be found. This add a further restriction
that the expected class must match.

5 years agoConsolidate ToggleAction cast, use new API
Robin Gareus [Thu, 28 Feb 2019 22:54:42 +0000 (23:54 +0100)]
Consolidate ToggleAction cast, use new API

Furthermore we can assume that all Actions are registered and
Unregistered actions will ::abort() execution.

5 years agoInitialize per session instant state
Robin Gareus [Thu, 28 Feb 2019 21:56:35 +0000 (22:56 +0100)]
Initialize per session instant state

Per session (instant.xml) GUI options do not have a sigc::slot<> backed
configuration interface to initialize the Actions.

This fixes a first-time start issue (no instant.xml) where GUI panes
may be visible (default) while the actions are "off" (default).

This is a tentative solution, instant.xml backed ToggleAction
initialization needs to be consolidated somehow.

5 years agox-fade uses cairo-generated icons, remove XPM
Robin Gareus [Thu, 28 Feb 2019 20:30:45 +0000 (21:30 +0100)]
x-fade uses cairo-generated icons, remove XPM

5 years agoNO-OP: whitespace (remove vi modelines)
Robin Gareus [Thu, 28 Feb 2019 19:56:23 +0000 (20:56 +0100)]
NO-OP: whitespace (remove vi modelines)

5 years agoConsolidate gdither noise code
Robin Gareus [Thu, 28 Feb 2019 19:40:45 +0000 (20:40 +0100)]
Consolidate gdither noise code

5 years agoAmazing PCM byte/array convert functions, unused.
Robin Gareus [Thu, 28 Feb 2019 17:52:10 +0000 (18:52 +0100)]
Amazing PCM byte/array convert functions, unused.

5 years agoThe end of long and winding "road to compiling" cdc2d055f
Robin Gareus [Thu, 28 Feb 2019 17:41:57 +0000 (18:41 +0100)]
The end of long and winding "road to compiling" cdc2d055f

5 years agoRemove unused RDF in RIFF prototype
Robin Gareus [Thu, 28 Feb 2019 17:30:06 +0000 (18:30 +0100)]
Remove unused RDF in RIFF prototype

5 years agoRemove even more cruft
Robin Gareus [Thu, 28 Feb 2019 17:28:44 +0000 (18:28 +0100)]
Remove even more cruft

http://lv2plug.in/ns/dev/host-info# doesn't exist, and nobody needs
a config.guess from 2005 :)

5 years agoMove bug-tool into the Python Museum
Robin Gareus [Thu, 28 Feb 2019 17:21:05 +0000 (18:21 +0100)]
Move bug-tool into the Python Museum

5 years agoRemove ancient, unmaintained xcode project files
Robin Gareus [Thu, 28 Feb 2019 17:12:44 +0000 (18:12 +0100)]
Remove ancient, unmaintained xcode project files

5 years agoRemove cruft, unused files
Robin Gareus [Thu, 28 Feb 2019 17:04:42 +0000 (18:04 +0100)]
Remove cruft, unused files

5 years agoClean up remnants from a half eaten apple
Robin Gareus [Thu, 28 Feb 2019 17:00:08 +0000 (18:00 +0100)]
Clean up remnants from a half eaten apple

5 years agoAdd phase labels -180..180 deg for analysis display
Robin Gareus [Thu, 28 Feb 2019 03:15:37 +0000 (04:15 +0100)]
Add phase labels -180..180 deg for analysis display

5 years agoNO-OP: whitespace
Robin Gareus [Thu, 28 Feb 2019 02:43:22 +0000 (03:43 +0100)]
NO-OP: whitespace

5 years agoNO-OP: whitespace
Robin Gareus [Thu, 28 Feb 2019 02:12:04 +0000 (03:12 +0100)]
NO-OP: whitespace

5 years agoFix analysis plugin when using plugin-presets
Robin Gareus [Thu, 28 Feb 2019 03:19:16 +0000 (04:19 +0100)]
Fix analysis plugin when using plugin-presets

5 years agoAllow to special case plugins used for IR analysis
Robin Gareus [Thu, 28 Feb 2019 03:46:25 +0000 (04:46 +0100)]
Allow to special case plugins used for IR analysis

This is relevant for some VST specifics (e.g connected pins) or
similar audioMasterCallbacks that use either global or plugin-insert
specific data.

5 years agoCopy state when replicating an AU plugin
Robin Gareus [Thu, 28 Feb 2019 03:47:48 +0000 (04:47 +0100)]
Copy state when replicating an AU plugin

This is only used for plugin-analysis, AU plugins are otherwise not
replicated, and variable-i/o is used instead

5 years agoProperly copy LV2 plugin instances on replication
Robin Gareus [Thu, 28 Feb 2019 03:17:54 +0000 (04:17 +0100)]
Properly copy LV2 plugin instances on replication

This fixes issues for stateful plugins and plugins with
previously loaded preset.

5 years agoTake latency into account when analyzing live signal
Robin Gareus [Thu, 28 Feb 2019 02:09:33 +0000 (03:09 +0100)]
Take latency into account when analyzing live signal

5 years agoNO-OP: whitespace
Robin Gareus [Thu, 28 Feb 2019 02:08:21 +0000 (03:08 +0100)]
NO-OP: whitespace

5 years agoRe-work plugin-analysis (fix crashes)
Robin Gareus [Thu, 28 Feb 2019 00:26:21 +0000 (01:26 +0100)]
Re-work plugin-analysis (fix crashes)

Plugin-analysis uses a fixed number of samples, which may be larger
than the session's block-size. This caused problems for some VST
plugins that use audioMasterCallback to query the session's block-size.

Plugin FFT analysis now processes in chunks of the session's block-size
to avoid this issue. This also allows to increase accuracy for
all plugin standards (FFT size was increased to 8192).

5 years agoMore slaved_to() replacements, fix typo
Robin Gareus [Wed, 27 Feb 2019 15:49:29 +0000 (16:49 +0100)]
More slaved_to() replacements, fix typo

5 years agoConsolidate code, use dedicated API
Robin Gareus [Wed, 27 Feb 2019 15:46:16 +0000 (16:46 +0100)]
Consolidate code, use dedicated API

5 years agoAmend f474d0d4a9, remove explicit casts
Robin Gareus [Wed, 27 Feb 2019 15:44:39 +0000 (16:44 +0100)]
Amend f474d0d4a9, remove explicit casts

5 years agoPrefer to expose the virtual method for VCA and Route
Robin Gareus [Wed, 27 Feb 2019 15:43:52 +0000 (16:43 +0100)]
Prefer to expose the virtual method for VCA and Route

5 years agoUpdate Lua VCA example script
Robin Gareus [Wed, 27 Feb 2019 15:34:48 +0000 (16:34 +0100)]
Update Lua VCA example script

5 years agoExpose Lua bindings to check VCA assignments
Robin Gareus [Wed, 27 Feb 2019 15:33:59 +0000 (16:33 +0100)]
Expose Lua bindings to check VCA assignments

5 years agoFix crash when pressing "Esc" without a session
Robin Gareus [Tue, 26 Feb 2019 19:08:56 +0000 (20:08 +0100)]
Fix crash when pressing "Esc" without a session

Ardour's UI can process a key-binding or emit the Escape() signal
without a loaded session or when unloading a session.

5 years agoDo not save export format for indirect changes
Robin Gareus [Tue, 26 Feb 2019 18:57:02 +0000 (19:57 +0100)]
Do not save export format for indirect changes

Previously selecting a different export format that changed global
settings (eg. toggle analysis) triggered an indirect save of the format.

5 years agoclarifying comment
Paul Davis [Tue, 26 Feb 2019 17:17:04 +0000 (10:17 -0700)]
clarifying comment

5 years agoAdd example script to thin automation
Robin Gareus [Tue, 26 Feb 2019 17:04:06 +0000 (18:04 +0100)]
Add example script to thin automation

5 years agoinitial version of transport state machine diagram
Paul Davis [Tue, 26 Feb 2019 16:27:20 +0000 (09:27 -0700)]
initial version of transport state machine diagram

5 years agoenhanced debug trace output
Paul Davis [Tue, 26 Feb 2019 16:02:28 +0000 (09:02 -0700)]
enhanced debug trace output

5 years agoreorder call to ::track_transport_master() so that delta is computed correctly
Paul Davis [Tue, 26 Feb 2019 16:02:18 +0000 (09:02 -0700)]
reorder call to ::track_transport_master() so that delta is computed correctly

5 years agoenhanced debug trace output
Paul Davis [Tue, 26 Feb 2019 16:01:33 +0000 (09:01 -0700)]
enhanced debug trace output

5 years agoenhanced debug trace output
Paul Davis [Tue, 26 Feb 2019 16:01:16 +0000 (09:01 -0700)]
enhanced debug trace output

5 years agoExportFormatFFMPEG supports tagging meta-data
Robin Gareus [Tue, 26 Feb 2019 16:01:17 +0000 (17:01 +0100)]
ExportFormatFFMPEG supports tagging meta-data

5 years agoDisable ffmpeg/metadata by default, use "tag-metadata"
Robin Gareus [Tue, 26 Feb 2019 15:54:01 +0000 (16:54 +0100)]
Disable ffmpeg/metadata by default, use "tag-metadata"

5 years agoDebug AudioGrapher::CmdPipeWriter<> command
Robin Gareus [Tue, 26 Feb 2019 15:41:49 +0000 (16:41 +0100)]
Debug AudioGrapher::CmdPipeWriter<> command

5 years agoAmend d61efbee3 - remove check for Mixbus
Nikolaus Gullotta [Tue, 26 Feb 2019 15:45:58 +0000 (09:45 -0600)]
Amend d61efbee3 - remove check for Mixbus

5 years agoRoute::save_as_template() needs call state() with true, and add modified-with node...
Nikolaus Gullotta [Tue, 26 Feb 2019 15:42:30 +0000 (09:42 -0600)]
Route::save_as_template() needs call state() with true, and add modified-with node to state for template-files

5 years agoRemove unused define
Robin Gareus [Tue, 26 Feb 2019 02:49:02 +0000 (03:49 +0100)]
Remove unused define

5 years agoPrefer vfork() over system() when opening an URI
Robin Gareus [Tue, 26 Feb 2019 02:47:36 +0000 (03:47 +0100)]
Prefer vfork() over system() when opening an URI

see also https://github.com/surge-synthesizer/surge/issues/657

5 years agoTimeFx-Filter: do not create a region when operation is canceled
Robin Gareus [Tue, 26 Feb 2019 02:07:49 +0000 (03:07 +0100)]
TimeFx-Filter: do not create a region when operation is canceled

5 years agoRe-work TimeFX cancel/abort
Robin Gareus [Tue, 26 Feb 2019 02:01:53 +0000 (03:01 +0100)]
Re-work TimeFX cancel/abort

When processing multiple regions, apply results at the end, so that
when the action is canceled, no changes are applied.
Furthermore, do not commit an undo-command if time-stretch is a no-op.

5 years agoFix TimeFX threading (detached thread must not be joined)
Robin Gareus [Tue, 26 Feb 2019 01:16:59 +0000 (02:16 +0100)]
Fix TimeFX threading (detached thread must not be joined)

5 years agoFix never-ending timestretch
Robin Gareus [Tue, 26 Feb 2019 00:57:02 +0000 (01:57 +0100)]
Fix never-ending timestretch

This is relevant when time-stretch is canceled. In that case
stretcher.process() is never called with final=true, and hence
stretcher.available() will always return a value >=0.

5 years agoUpdate Fluidsynth to v2.0.4
Robin Gareus [Sat, 23 Feb 2019 16:58:05 +0000 (17:58 +0100)]
Update Fluidsynth to v2.0.4

see https://github.com/FluidSynth/fluidsynth/releases/tag/v2.0.4

5 years agoremove PostTransportWorkCurveReallocate (no longer used)
Paul Davis [Fri, 22 Feb 2019 21:52:08 +0000 (14:52 -0700)]
remove PostTransportWorkCurveReallocate (no longer used)

5 years agoSort route-templates by name
Robin Gareus [Fri, 22 Feb 2019 21:33:01 +0000 (22:33 +0100)]
Sort route-templates by name

5 years agoRemove unused API, unused variable
Robin Gareus [Thu, 21 Feb 2019 15:11:32 +0000 (16:11 +0100)]
Remove unused API, unused variable

5 years agoAvoid dynamic-cast, prefer virtual inheritance for performance reasons
Robin Gareus [Thu, 21 Feb 2019 15:10:45 +0000 (16:10 +0100)]
Avoid dynamic-cast, prefer virtual inheritance for performance reasons

5 years agoAdd API to check for ongoing de-click
Robin Gareus [Thu, 21 Feb 2019 00:34:58 +0000 (01:34 +0100)]
Add API to check for ongoing de-click

5 years agoRemove more cruft (unused rf-scale)
Robin Gareus [Wed, 20 Feb 2019 23:24:56 +0000 (00:24 +0100)]
Remove more cruft (unused rf-scale)

5 years agoRemove cruft (unused PostTransportInputChange)
Robin Gareus [Wed, 20 Feb 2019 18:23:37 +0000 (19:23 +0100)]
Remove cruft (unused PostTransportInputChange)

5 years agoTweak Plugin List script: output formatting and name
Robin Gareus [Wed, 20 Feb 2019 16:23:45 +0000 (17:23 +0100)]
Tweak Plugin List script: output formatting and name

5 years agoALlow Markup for LuaDialog.Message
Robin Gareus [Wed, 20 Feb 2019 16:22:36 +0000 (17:22 +0100)]
ALlow Markup for LuaDialog.Message

5 years agoScript to list and count plugins used in this session
Robin Gareus [Wed, 20 Feb 2019 15:47:51 +0000 (16:47 +0100)]
Script to list and count plugins used in this session

5 years agoAdd unified API to select plugins to show on control-surfaces
Robin Gareus [Wed, 20 Feb 2019 15:26:51 +0000 (16:26 +0100)]
Add unified API to select plugins to show on control-surfaces

e.g. Mixbus channelstrip should be hidden, also mixbus' built-in
effects are exposed as well-known controls

5 years agoMade any -> none mappings remove events
Alby M [Tue, 19 Feb 2019 04:06:08 +0000 (22:06 -0600)]
Made any -> none mappings remove events

5 years agoSimplified translation table, fixed edge cases
Alby M [Mon, 18 Feb 2019 18:29:02 +0000 (12:29 -0600)]
Simplified translation table, fixed edge cases

5 years agoMinor updates from code review
Alby M [Mon, 18 Feb 2019 16:44:49 +0000 (10:44 -0600)]
Minor updates from code review

"Off" option, improved note name handling, name change, code formatting

5 years agoAdded MIDI Remap Lua DSP plugin
Alby M [Mon, 18 Feb 2019 06:19:51 +0000 (00:19 -0600)]
Added MIDI Remap Lua DSP plugin

5 years agoAdd/remove source(s) in our MSVC project (libardour)
John Emmas [Mon, 18 Feb 2019 10:12:57 +0000 (10:12 +0000)]
Add/remove source(s) in our MSVC project (libardour)

5 years agoRemain silent while a disk-buffer is overwritten
Robin Gareus [Mon, 18 Feb 2019 01:18:13 +0000 (02:18 +0100)]
Remain silent while a disk-buffer is overwritten

This catches a case where a user-operation results in a complete
buffer re-fill during playback (e.g. split or move regions while playing)

5 years agoUpdate Latency UI, subscribe to changes
Robin Gareus [Sun, 17 Feb 2019 02:15:18 +0000 (03:15 +0100)]
Update Latency UI, subscribe to changes

5 years agoEmit signal when plugin latency changes
Robin Gareus [Sun, 17 Feb 2019 01:22:03 +0000 (02:22 +0100)]
Emit signal when plugin latency changes

5 years agoClean up Latency API (Processor vs Plugin)
Robin Gareus [Sun, 17 Feb 2019 00:51:29 +0000 (01:51 +0100)]
Clean up Latency API (Processor vs Plugin)

Plugins are only a source of Latency (Plugin delay).
The API to query, signal and override Latency is managed
by PluginInsert.

5 years agoTweak meterbridge track reordering -- amend d03574987
Robin Gareus [Sat, 16 Feb 2019 22:36:59 +0000 (23:36 +0100)]
Tweak meterbridge track reordering -- amend d03574987

5 years agoremove references to "Editor_menus" which is an action that no longer exists
Paul Davis [Sat, 16 Feb 2019 20:12:45 +0000 (13:12 -0700)]
remove references to "Editor_menus" which is an action that no longer exists

5 years agoadditional logic to avoid showing top-level menu actions in the key shortcut editor
Paul Davis [Sat, 16 Feb 2019 20:06:08 +0000 (13:06 -0700)]
additional logic to avoid showing top-level menu actions in the key shortcut editor

5 years agorename Main_menu action to Main menu
Paul Davis [Sat, 16 Feb 2019 20:05:41 +0000 (13:05 -0700)]
rename Main_menu action to Main menu

So that if it ever does show up in a list, it looks nice

5 years agofix mistaken action paths used in MonitorSection
Paul Davis [Sat, 16 Feb 2019 20:04:16 +0000 (13:04 -0700)]
fix mistaken action paths used in MonitorSection

(after recent changes to make some actions "global")

5 years agomonitor section "global actions" are only global, no MS-specific versions
Paul Davis [Sat, 16 Feb 2019 08:14:26 +0000 (01:14 -0700)]
monitor section "global actions" are only global, no MS-specific versions

5 years agoget ordering correct of global binding set creation and action registration (part2)
Paul Davis [Sat, 16 Feb 2019 08:13:56 +0000 (01:13 -0700)]
get ordering correct of global binding set creation and action registration (part2)

5 years agoMonitorSection should only define global actions for mono/dim/cut (all channels)
Paul Davis [Sat, 16 Feb 2019 08:13:21 +0000 (01:13 -0700)]
MonitorSection should only define global actions for mono/dim/cut (all channels)

If it defines local versions, we can end up with two (different) bindings for the same action, one
in global scope, one when MonitorSection has key focus. Bad.

5 years agoget ordering correct of global binding set creation and action registration
Paul Davis [Sat, 16 Feb 2019 08:12:07 +0000 (01:12 -0700)]
get ordering correct of global binding set creation and action registration

5 years agoTentative Latency GUI update
Robin Gareus [Sat, 16 Feb 2019 00:10:31 +0000 (01:10 +0100)]
Tentative Latency GUI update

5 years agoFix some signed/unsigned warnings
Robin Gareus [Fri, 15 Feb 2019 23:59:11 +0000 (00:59 +0100)]
Fix some signed/unsigned warnings

5 years agoNO-OP: whitespace
Robin Gareus [Fri, 15 Feb 2019 23:31:15 +0000 (00:31 +0100)]
NO-OP: whitespace