ardour.git
7 years agoOSC scrub, fix numbers to work with usec rather than msec.
Len Ovens [Mon, 1 May 2017 20:53:03 +0000 (13:53 -0700)]
OSC scrub, fix numbers to work with usec rather than msec.

7 years agoOSC: fix scrub to not use boost ptime.
Len Ovens [Mon, 1 May 2017 20:45:47 +0000 (13:45 -0700)]
OSC: fix scrub to not use boost ptime.

7 years agoOSC: add /scrub function
Len Ovens [Mon, 1 May 2017 14:08:02 +0000 (07:08 -0700)]
OSC: add /scrub function

7 years agoMake -A open action list in a browser instead of command terminal.
Len Ovens [Sun, 30 Apr 2017 05:47:24 +0000 (22:47 -0700)]
Make -A open action list in a browser instead of command terminal.

7 years agoTime flies
Robin Gareus [Sat, 29 Apr 2017 23:22:05 +0000 (01:22 +0200)]
Time flies

7 years agoFix copy/paste typos in --help
Robin Gareus [Sat, 29 Apr 2017 23:21:41 +0000 (01:21 +0200)]
Fix copy/paste typos in --help

7 years agoFix vari-speed and non-locked slave modes
Robin Gareus [Sat, 29 Apr 2017 21:02:40 +0000 (23:02 +0200)]
Fix vari-speed and non-locked slave modes

A transport-speed-change is no reason to skip processing.

Prior to this change cannot_process() silently skipped in the process
cycle of the speed-change (which may have been every process-cycle),
without moving the transport or doing any processing.

7 years agoSet -b to open in browser.
Len Ovens [Sat, 29 Apr 2017 22:37:31 +0000 (15:37 -0700)]
Set -b to open in browser.

7 years agoFP8: channel-navigation/scroll select track on encoder press
Robin Gareus [Sat, 29 Apr 2017 10:38:38 +0000 (12:38 +0200)]
FP8: channel-navigation/scroll select track on encoder press

7 years agoAdd a "select topmost" track editor action
Robin Gareus [Sat, 29 Apr 2017 10:38:03 +0000 (12:38 +0200)]
Add a "select topmost" track editor action

7 years agoFP8: snap-to scroll tracks, both editor+mixer
Robin Gareus [Sat, 29 Apr 2017 10:37:31 +0000 (12:37 +0200)]
FP8: snap-to scroll tracks, both editor+mixer

7 years agoNO-OP: whitespace
Robin Gareus [Sat, 29 Apr 2017 10:01:56 +0000 (12:01 +0200)]
NO-OP: whitespace

7 years agoMissed a spot in adding -A, fixed
Len Ovens [Fri, 28 Apr 2017 15:44:35 +0000 (08:44 -0700)]
Missed a spot in adding -A, fixed

7 years agoChange actions to -A and use -b to output keybindings
Len Ovens [Fri, 28 Apr 2017 15:19:20 +0000 (08:19 -0700)]
Change actions to -A and use -b to output keybindings

7 years agoextend 3cda0e2a: Don't switch to range-mode if not needed for similar OPs.
Robin Gareus [Fri, 28 Apr 2017 13:07:41 +0000 (15:07 +0200)]
extend 3cda0e2a: Don't switch to range-mode if not needed for similar OPs.

7 years agoWhen in smart-mode, don't switch to range-mode after "set range selection"
Robin Gareus [Fri, 28 Apr 2017 12:57:13 +0000 (14:57 +0200)]
When in smart-mode, don't switch to range-mode after "set range selection"

closes #7332

7 years agoOpen session folder when selecting path
Robin Gareus [Fri, 28 Apr 2017 12:33:06 +0000 (14:33 +0200)]
Open session folder when selecting path

7 years agoAllow "remove from recent" only for top-level
Robin Gareus [Fri, 28 Apr 2017 12:32:37 +0000 (14:32 +0200)]
Allow "remove from recent" only for top-level

7 years agotry work-around occasionally misplaced app icons in dmg (set twice)
Robin Gareus [Thu, 27 Apr 2017 19:19:27 +0000 (21:19 +0200)]
try work-around occasionally misplaced app icons in dmg (set twice)

7 years agoAllow to hide engine dialog w/o unloading session.
Robin Gareus [Thu, 27 Apr 2017 19:10:37 +0000 (21:10 +0200)]
Allow to hide engine dialog w/o unloading session.

7 years agoEngineDialog: immediadely push latency changes to running backends
Robin Gareus [Thu, 27 Apr 2017 19:10:10 +0000 (21:10 +0200)]
EngineDialog: immediadely push latency changes to running backends

7 years agoNO-OP: whitespace
Robin Gareus [Thu, 27 Apr 2017 19:09:12 +0000 (21:09 +0200)]
NO-OP: whitespace

7 years agoFix flow for measuring latencies of live backends
Robin Gareus [Thu, 27 Apr 2017 19:07:18 +0000 (21:07 +0200)]
Fix flow for measuring latencies of live backends

7 years agoALSA backend: always register ports with systemic latency
Robin Gareus [Thu, 27 Apr 2017 18:59:15 +0000 (20:59 +0200)]
ALSA backend: always register ports with systemic latency

and allow re-start to un/set reporting latency.

7 years agoDon't directly call into engine to stop latency detection.
Robin Gareus [Thu, 27 Apr 2017 17:45:56 +0000 (19:45 +0200)]
Don't directly call into engine to stop latency detection.

7 years agoFix flow for latency measurements that needs an engine stop.
Robin Gareus [Thu, 27 Apr 2017 17:43:34 +0000 (19:43 +0200)]
Fix flow for latency measurements that needs an engine stop.

Make AudioEngine::prepare_for_latency_measurement() idempotent. There are
multple calls (when switching to the measurement page and every time
a measurement is preformed).

Also the Stopped() signal is important for the Dialog state regardless
if the engine was stopped for latency or not.

7 years agoFix Editor/Mixer visibility (OSX, NSGLCanvas)
Robin Gareus [Thu, 27 Apr 2017 14:21:27 +0000 (16:21 +0200)]
Fix Editor/Mixer visibility (OSX, NSGLCanvas)

Only unpacking a widget retains the GdkWindow and and the widget is still
mapped. The NSView is still visible. See also 235631a6.

7 years agoAnnotate CC-to-Automation Lua-script and fix start/pos offset.
Robin Gareus [Thu, 27 Apr 2017 13:36:50 +0000 (15:36 +0200)]
Annotate CC-to-Automation Lua-script and fix start/pos offset.

7 years agoConsistent button visibility (mixer-strips + VCAs)
Robin Gareus [Wed, 26 Apr 2017 22:25:57 +0000 (00:25 +0200)]
Consistent button visibility (mixer-strips + VCAs)

7 years agoFix nested VCA assigns and mixer-layout:
Robin Gareus [Wed, 26 Apr 2017 22:11:18 +0000 (00:11 +0200)]
Fix nested VCA assigns and mixer-layout:

Show initial VCA assign button on all mixer-strips and VCAs if
there's no assignment.

7 years agofix a -Wreorder following d837914e2
Robin Gareus [Wed, 26 Apr 2017 21:42:47 +0000 (23:42 +0200)]
fix a -Wreorder following d837914e2

7 years agoAutomationLine time-unit conversion and paste API update
Robin Gareus [Wed, 26 Apr 2017 14:21:39 +0000 (16:21 +0200)]
AutomationLine time-unit conversion and paste API update

This fixes copy/paste of MIDI automation (time-unit: beat) from/to
Parameter automation (time-unit: samples).

It also fixes repeatedly pasting with tempo-ramps: pre-multiply length
before converting to samples.

7 years agoSkip script-setup if there are no parameters (and name is unique)
Robin Gareus [Wed, 26 Apr 2017 17:45:03 +0000 (19:45 +0200)]
Skip script-setup if there are no parameters (and name is unique)

7 years agoUse a const iterator for sorted RouteList in Session::state
Tim Mayberry [Wed, 26 Apr 2017 07:33:55 +0000 (17:33 +1000)]
Use a const iterator for sorted RouteList in Session::state

7 years agoSort Route xml node order by PBD::ID instead of by PresentationInfo
Tim Mayberry [Fri, 21 Apr 2017 10:33:05 +0000 (20:33 +1000)]
Sort Route xml node order by PBD::ID instead of by PresentationInfo

This prevents the node order from changing when the display order of the Routes
changes, which helps to reduce the amount of Session file change.

This is useful for testing and if keeping sessions under version control.

Resolves: #7327

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Wed, 26 Apr 2017 07:09:35 +0000 (08:09 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoAssume VST chunks are portable (Mac, Linux, Windows VST)
Robin Gareus [Tue, 25 Apr 2017 16:40:43 +0000 (18:40 +0200)]
Assume VST chunks are portable (Mac, Linux, Windows VST)

7 years agoFix conversion in 41b997a90 (monitor cut, invert)
Robin Gareus [Tue, 25 Apr 2017 15:22:39 +0000 (17:22 +0200)]
Fix conversion in 41b997a90 (monitor cut, invert)

7 years agoUpdate LuaDialog scripts
Robin Gareus [Tue, 25 Apr 2017 14:46:21 +0000 (16:46 +0200)]
Update LuaDialog scripts

7 years agoLua Dialog refinements:
Robin Gareus [Tue, 25 Apr 2017 14:45:18 +0000 (16:45 +0200)]
Lua Dialog refinements:

* Add Heading Widget
* Swap OK/Cancel Buttons
* Update table layout (spacing + alignment)
* Some whitespace tweaks

7 years agoAdd missing Lua ClassKeys (windows build)
Robin Gareus [Tue, 25 Apr 2017 13:48:14 +0000 (15:48 +0200)]
Add missing Lua ClassKeys (windows build)

7 years agoFix Windows build: declare static class-keys (amend 201fd5574)
Robin Gareus [Tue, 25 Apr 2017 12:05:34 +0000 (14:05 +0200)]
Fix Windows build: declare static class-keys (amend 201fd5574)

7 years agoUpdate CC-to-Automation script: use Lua-Dialog for parameters
Robin Gareus [Tue, 25 Apr 2017 12:00:29 +0000 (14:00 +0200)]
Update CC-to-Automation script: use Lua-Dialog for parameters

7 years agoAdd a Lua script to exercise the LuaDialog
Robin Gareus [Tue, 25 Apr 2017 03:26:56 +0000 (05:26 +0200)]
Add a Lua script to exercise the LuaDialog

7 years agoLua: Action Script Dialog & MessageBox
Robin Gareus [Mon, 24 Apr 2017 20:12:09 +0000 (22:12 +0200)]
Lua: Action Script Dialog & MessageBox

7 years agoSome more Lua ARDOUR::Plugin bindings
Robin Gareus [Tue, 25 Apr 2017 11:59:43 +0000 (13:59 +0200)]
Some more Lua ARDOUR::Plugin bindings

7 years agoAdd an API to conveniently query plugin-parameter labels
Robin Gareus [Tue, 25 Apr 2017 11:59:15 +0000 (13:59 +0200)]
Add an API to conveniently query plugin-parameter labels

7 years agoExpose ArdourDropdown's menu for submenu packing
Robin Gareus [Tue, 25 Apr 2017 08:57:35 +0000 (10:57 +0200)]
Expose ArdourDropdown's menu for submenu packing

7 years agoRemove old special case (ArdourDialog::on_response hides the dialog)
Robin Gareus [Tue, 25 Apr 2017 01:55:25 +0000 (03:55 +0200)]
Remove old special case (ArdourDialog::on_response hides the dialog)

7 years agode-select WASAPI by default
Robin Gareus [Mon, 24 Apr 2017 19:08:32 +0000 (21:08 +0200)]
de-select WASAPI by default

7 years agoAdd example script to convert MIDI-CC to Plugin Automation
Robin Gareus [Mon, 24 Apr 2017 02:15:16 +0000 (04:15 +0200)]
Add example script to convert MIDI-CC to Plugin Automation

7 years agoSimplify example script
Robin Gareus [Mon, 24 Apr 2017 02:12:13 +0000 (04:12 +0200)]
Simplify example script

Now that AutomationList is-a ControlList no explicit cast is needed.

7 years agoAdd ControlEvent Lua bindings and related methods to access MIDI-CC
Robin Gareus [Mon, 24 Apr 2017 02:10:10 +0000 (04:10 +0200)]
Add ControlEvent Lua bindings and related methods to access MIDI-CC

7 years agoSwap inheritance, simplifies Lua Bindings
Robin Gareus [Mon, 24 Apr 2017 02:08:53 +0000 (04:08 +0200)]
Swap inheritance, simplifies Lua Bindings

7 years agoAdd regions at once rather than individually when restoring Selection state
Tim Mayberry [Sun, 23 Apr 2017 11:32:09 +0000 (21:32 +1000)]
Add regions at once rather than individually when restoring Selection state

This is a workaround for performance issues with the current implementation
when adding many regions to the selection one at a time.

If the Selection implementation was to change at some point and adding regions
to the selection only takes a small constant amount of time, then this
optimization may no longer be necessary.

Related to: #7274

7 years agoChanged "ardour" to PROGRAM_NAME
Len Ovens [Sat, 22 Apr 2017 22:32:48 +0000 (15:32 -0700)]
Changed "ardour" to PROGRAM_NAME

7 years agoClose all dialogs when closing a session (not only at exit).
Robin Gareus [Sat, 22 Apr 2017 21:05:37 +0000 (23:05 +0200)]
Close all dialogs when closing a session (not only at exit).

7 years agoReset process-graph semaphores on engine-restart
Robin Gareus [Sat, 22 Apr 2017 21:01:26 +0000 (23:01 +0200)]
Reset process-graph semaphores on engine-restart

7 years agoAdd mechanism to reset/lock semaphores
Robin Gareus [Sat, 22 Apr 2017 21:00:53 +0000 (23:00 +0200)]
Add mechanism to reset/lock semaphores

7 years agoremove unused semaphore
Robin Gareus [Sat, 22 Apr 2017 20:16:06 +0000 (22:16 +0200)]
remove unused semaphore

7 years agoNO-OP: whitespace
Robin Gareus [Sat, 22 Apr 2017 19:28:05 +0000 (21:28 +0200)]
NO-OP: whitespace

7 years agoPrivatize non-public methods
Robin Gareus [Sat, 22 Apr 2017 19:27:00 +0000 (21:27 +0200)]
Privatize non-public methods

7 years agoSet -b switch to only two columns, correct options text.
Len Ovens [Sat, 22 Apr 2017 15:07:35 +0000 (08:07 -0700)]
Set -b switch to only two columns, correct options text.

7 years agoNO-OP: whitespace
Robin Gareus [Sat, 22 Apr 2017 14:09:10 +0000 (16:09 +0200)]
NO-OP: whitespace

7 years agoAdd a Readme pertaining to GH release tarballs
Robin Gareus [Sat, 22 Apr 2017 14:04:35 +0000 (16:04 +0200)]
Add a Readme pertaining to GH release tarballs

7 years agoRemove stub file which was used for pre-commit hook testing
Robin Gareus [Sat, 22 Apr 2017 13:19:34 +0000 (15:19 +0200)]
Remove stub file which was used for pre-commit hook testing

7 years agoamend be62d335ee
Robin Gareus [Fri, 21 Apr 2017 23:06:54 +0000 (01:06 +0200)]
amend be62d335ee

7 years agofix endless loop when clicking on the canvas w/o backend
Robin Gareus [Fri, 21 Apr 2017 21:54:17 +0000 (23:54 +0200)]
fix endless loop when clicking on the canvas w/o backend

7 years agoAdd HTML output for -b so that output can replace actions page in manual.
Len Ovens [Fri, 21 Apr 2017 19:58:59 +0000 (12:58 -0700)]
Add HTML output for -b so that output can replace actions page in manual.

7 years agoOSC: correct spelling
Len Ovens [Fri, 21 Apr 2017 14:29:13 +0000 (07:29 -0700)]
OSC: correct spelling

7 years agoResolve potential variable name ambiguity for older compilers
Robin Gareus [Fri, 21 Apr 2017 14:05:24 +0000 (16:05 +0200)]
Resolve potential variable name ambiguity for older compilers

7 years agoRe-nice ALSA MIDI port names
Robin Gareus [Fri, 21 Apr 2017 08:43:22 +0000 (10:43 +0200)]
Re-nice ALSA MIDI port names

7 years agoDo not clear pretty-names set by the backend
Robin Gareus [Fri, 21 Apr 2017 08:26:59 +0000 (10:26 +0200)]
Do not clear pretty-names set by the backend

Since 7dde6c3b8f pretty-names are no longer saved and hence initially
empty. The port-manager cleared existing pretty-port-names.

7 years agoFix thinko in 6ae047cdd and 8f488515 (prefer LV2 symbol over ID)
Robin Gareus [Fri, 21 Apr 2017 03:36:52 +0000 (05:36 +0200)]
Fix thinko in 6ae047cdd and 8f488515 (prefer LV2 symbol over ID)

7 years agoUse correct property names in PBD::Undo class
Tim Mayberry [Thu, 20 Apr 2017 00:55:31 +0000 (10:55 +1000)]
Use correct property names in PBD::Undo class

These have been "normalized" in XMLProperty ctor for many years, so this does
not change the Session format.

7 years agoUse XMLNode::get_property in Session::restore_history
Tim Mayberry [Wed, 19 Apr 2017 12:21:03 +0000 (22:21 +1000)]
Use XMLNode::get_property in Session::restore_history

Avoid using std::stringstream due to potential future issues with C++ locale.

Also avoids potential NULL pointer dereferences.

7 years agoUse hyphen for XML property names
Tim Mayberry [Wed, 19 Apr 2017 10:57:18 +0000 (20:57 +1000)]
Use hyphen for XML property names

These have been normalized/modified by the XMLProperty ctor for many years (~9)
so special treatment when reading properties should not be needed.

7 years agoUse XMLNode::get_property in Session::memento_command_factory
Tim Mayberry [Wed, 19 Apr 2017 10:48:47 +0000 (20:48 +1000)]
Use XMLNode::get_property in Session::memento_command_factory

Avoids potential issues with dereferencing a NULL XMLProperty pointer and
improves readability by using better locally scoped variable names.

7 years agoFix restoration of Plugin Controllable state ID's
Tim Mayberry [Fri, 21 Apr 2017 01:40:03 +0000 (11:40 +1000)]
Fix restoration of Plugin Controllable state ID's

Caused by thinko when merging/replacing two conditional clauses in the
string-convert changes which resulted in bindings not being restored and
regeneration of id's in XML.

7 years agoRetain state of disabled ctrl-surfaces
Robin Gareus [Fri, 21 Apr 2017 01:47:26 +0000 (03:47 +0200)]
Retain state of disabled ctrl-surfaces

7 years agoFix adeadlock (or rather NDEADLCK)
Robin Gareus [Fri, 21 Apr 2017 01:37:26 +0000 (03:37 +0200)]
Fix adeadlock (or rather NDEADLCK)

ControlProtocolManager::set_state() already takes the protocols_lock.
However effectively this is a NO-OP. During ::set_state no CPI should
be instantiated and  ControlProtocolManager::teardown() returns early.

7 years agoUpdate preferences when Ctrl-surfaces change with session.
Robin Gareus [Fri, 21 Apr 2017 00:56:29 +0000 (02:56 +0200)]
Update preferences when Ctrl-surfaces change with session.

7 years agoNotify GUI when tearing down ctrl-surfaces
Robin Gareus [Fri, 21 Apr 2017 00:53:51 +0000 (02:53 +0200)]
Notify GUI when tearing down ctrl-surfaces

7 years agosquelch "curl failed: No Error"
Robin Gareus [Thu, 20 Apr 2017 22:12:20 +0000 (00:12 +0200)]
squelch "curl failed: No Error"

7 years agoNO-OP: whitespace
Robin Gareus [Thu, 20 Apr 2017 21:47:39 +0000 (23:47 +0200)]
NO-OP: whitespace

7 years agoShow the splash-screen if the engine dialog's run() hid it.
Robin Gareus [Thu, 20 Apr 2017 21:16:09 +0000 (23:16 +0200)]
Show the splash-screen if the engine dialog's run() hid it.

7 years agoRun gtk-main iteration after hiding dialogs
Robin Gareus [Thu, 20 Apr 2017 21:15:13 +0000 (23:15 +0200)]
Run gtk-main iteration after hiding dialogs

7 years agoFix operator precedence (amend e7e9e025)
Robin Gareus [Thu, 20 Apr 2017 20:47:45 +0000 (22:47 +0200)]
Fix operator precedence (amend e7e9e025)

7 years agoRemove unused enum
Robin Gareus [Thu, 20 Apr 2017 20:14:36 +0000 (22:14 +0200)]
Remove unused enum

7 years agoRelax LocaleGuards
Robin Gareus [Thu, 20 Apr 2017 20:11:50 +0000 (22:11 +0200)]
Relax LocaleGuards

Arodur itself on longer depends on C/C++ locale for saving/loading sessions.
However, the Localeguard is kept for 3rd party plugins: Reset the C locale
to "C" to enforce consisten numerics and portable sessions as well
as verify that no plugin changes the C++ locale.

7 years agoDo not set C++ locale.
Robin Gareus [Thu, 20 Apr 2017 20:12:18 +0000 (22:12 +0200)]
Do not set C++ locale.

Ardour translations and GUI string formatting only depends on the C locale.
Modifying the C++ locale may produce erratic results on various systems
(in particular OSX and macOS) and cause incompatibilies with plugins.

7 years agoFix crash when clicking on the canvas while un/loading a session.
Robin Gareus [Thu, 20 Apr 2017 17:41:06 +0000 (19:41 +0200)]
Fix crash when clicking on the canvas while un/loading a session.

GTK events are still handled while un/loading a session (e.g display
"Loading" message or showing the splash triggers an event-loop run).
Global canvas elements (e.g. Rulers) may respond to session-specific
actions.

7 years agoKeep Dialogs which report process around.
Robin Gareus [Thu, 20 Apr 2017 17:03:52 +0000 (19:03 +0200)]
Keep Dialogs which report process around.

Since 5.8-245-g3e43585fa, a response hides the dialog Window
in ArdourDialog::on_response (to prevent dialogs windows staying
around unresponsively while Ardour does background work).
This logic does not apply to Dialog Windows which implement
ProgressReporter or support dialog responses other than OK, Close.

7 years agoNO-OP: re-order code, add comments
Robin Gareus [Thu, 20 Apr 2017 15:19:03 +0000 (17:19 +0200)]
NO-OP: re-order code, add comments

7 years agoFP8: some code comments and cleanup
Robin Gareus [Thu, 20 Apr 2017 14:06:47 +0000 (16:06 +0200)]
FP8: some code comments and cleanup

7 years agoChanges needed for building Tim's new 'string_convert' stuff with MSVC (gtk2_ardour)
John Emmas [Wed, 19 Apr 2017 16:23:52 +0000 (17:23 +0100)]
Changes needed for building Tim's new 'string_convert' stuff with MSVC (gtk2_ardour)

7 years agoChanges needed for building Tim's new 'string_convert' stuff with MSVC (libardour)
John Emmas [Wed, 19 Apr 2017 16:22:44 +0000 (17:22 +0100)]
Changes needed for building Tim's new 'string_convert' stuff with MSVC (libardour)

7 years agoChanges needed for building Tim's new 'string_convert' stuff with MSVC (libpbd)
John Emmas [Wed, 19 Apr 2017 16:21:12 +0000 (17:21 +0100)]
Changes needed for building Tim's new 'string_convert' stuff with MSVC (libpbd)

7 years agoDon't explicitly store Auditioner -> Monitor connections.
Robin Gareus [Wed, 19 Apr 2017 14:38:41 +0000 (16:38 +0200)]
Don't explicitly store Auditioner -> Monitor connections.

The monitor section connection is implicit and done by default.
This fixes an issue with the auditioner connections being lost when
switching between sessions that use/don't use the monitor-section.

Previously:
1) load session with monitor section, save session
  -> global config explicitly saved
  "auditioner-output-left" -> "ardour:Monitor/audio_in 1"

2) Load a session w/o monitor-section. The config is parsed,
  "ardour:Monitor/audio_in" port does not exist, connection was lost.

7 years agoPrefer boolean over literal
Robin Gareus [Wed, 19 Apr 2017 10:51:11 +0000 (12:51 +0200)]
Prefer boolean over literal