ardour.git
7 years agoArdourButton: Pick up initial action sensitivity
Robin Gareus [Tue, 9 May 2017 22:15:44 +0000 (00:15 +0200)]
ArdourButton: Pick up initial action sensitivity

e.g. monitor-section show/hide button

7 years agoRemember Monitor-section state (show/hide, attached/detached)
Robin Gareus [Tue, 9 May 2017 16:32:04 +0000 (18:32 +0200)]
Remember Monitor-section state (show/hide, attached/detached)

7 years agoBump VST param-name length limit to 128 bytes and centralize definition
Robin Gareus [Tue, 9 May 2017 19:58:50 +0000 (21:58 +0200)]
Bump VST param-name length limit to 128 bytes and centralize definition

The official VST spec says 8 bytes, JUCE uses 24 + 1, and there's
anecdotal evidence that some VSTs use up to 100 (which apparently works
in many hosts).

7 years agoOSC: Fix select fader automation play feedback as well fixes issue #7160
Len Ovens [Tue, 9 May 2017 21:10:49 +0000 (14:10 -0700)]
OSC: Fix select fader automation play feedback as well fixes issue #7160

7 years agoOSC: Get gain feedback to show with automation Play.
Len Ovens [Tue, 9 May 2017 20:38:57 +0000 (13:38 -0700)]
OSC: Get gain feedback to show with automation Play.

7 years agoOSC: Add Automation mode feedback to /strip
Len Ovens [Tue, 9 May 2017 19:40:20 +0000 (12:40 -0700)]
OSC: Add Automation mode feedback to /strip

7 years agoOSC: removed letter automation modes to not conflict with feedback
Len Ovens [Tue, 9 May 2017 18:52:21 +0000 (11:52 -0700)]
OSC: removed letter automation modes to not conflict with feedback

7 years agoOSC: Propagate return value so debug shows errors
Len Ovens [Tue, 9 May 2017 16:05:30 +0000 (09:05 -0700)]
OSC: Propagate return value so debug shows errors

7 years agoOSC: set Automation mode for fader
Len Ovens [Tue, 9 May 2017 14:49:26 +0000 (07:49 -0700)]
OSC: set Automation mode for fader

7 years agoOSC: automation mode get strip (step 2)
Len Ovens [Mon, 8 May 2017 21:08:10 +0000 (14:08 -0700)]
OSC: automation mode get strip (step 2)

7 years agoOSC: Add framework for /*/automation mode
Len Ovens [Mon, 8 May 2017 17:54:43 +0000 (10:54 -0700)]
OSC: Add framework for /*/automation mode

7 years agoArdour does support VST's audioMasterGetProductString, return true;
Robin Gareus [Tue, 9 May 2017 14:31:42 +0000 (16:31 +0200)]
Ardour does support VST's audioMasterGetProductString, return true;

7 years agoiterator std::set::erase (iterator) is C++11
Robin Gareus [Mon, 8 May 2017 14:30:54 +0000 (16:30 +0200)]
iterator std::set::erase (iterator) is C++11

7 years agoLimit clock displays to 30days (720hours) by default.
Robin Gareus [Mon, 8 May 2017 10:37:17 +0000 (12:37 +0200)]
Limit clock displays to 30days (720hours) by default.

This prevents various edge-cases of selection-clocks (eg. unbound range
selection after start-range; and makes it near impossible to roll-over
2^63 using GUI operations)

7 years agofix copy-n-paste error
Paul Davis [Mon, 8 May 2017 10:03:35 +0000 (11:03 +0100)]
fix copy-n-paste error

7 years agofix logic when removing routes
Paul Davis [Mon, 8 May 2017 09:56:24 +0000 (10:56 +0100)]
fix logic when removing routes

Selection change and re-order signals are distinct.

7 years agoremove misc. debug output
Paul Davis [Mon, 8 May 2017 09:40:11 +0000 (10:40 +0100)]
remove misc. debug output

7 years agowhen removing a Route from Session, remove it from CoreSelection and signal that...
Paul Davis [Mon, 8 May 2017 09:36:46 +0000 (10:36 +0100)]
when removing a Route from Session, remove it from CoreSelection and signal that change if necessary

7 years agowhen removing Stripables from CoreSelection by ID, be sure to remove all possible...
Paul Davis [Mon, 8 May 2017 09:36:04 +0000 (10:36 +0100)]
when removing Stripables from CoreSelection by ID, be sure to remove all possible entries in the Selection

A Stripable may have itself plus zero-to-N automation controls in
CoreSelection.

7 years agoallow Session to call Session::remove_stripable_by_id()
Paul Davis [Mon, 8 May 2017 09:35:10 +0000 (10:35 +0100)]
allow Session to call Session::remove_stripable_by_id()

7 years agowhen a Route is removed, don't bother triggering a sync-presentation-info-from-treevi...
Paul Davis [Mon, 8 May 2017 09:33:37 +0000 (10:33 +0100)]
when a Route is removed, don't bother triggering a sync-presentation-info-from-treeview because it isn't necessary

Also, don't update mixer selection unless selection actually changed

7 years agowhen a Route is removed, don't bother triggering a sync-presentation-info-from-treevi...
Paul Davis [Mon, 8 May 2017 09:31:59 +0000 (10:31 +0100)]
when a Route is removed, don't bother triggering a sync-presentation-info-from-treeview because it isn't necessary

7 years agoUpdate Japanese translation
Hiroki Inagaki [Sun, 7 May 2017 20:19:09 +0000 (13:19 -0700)]
Update Japanese translation

7 years agoSemaphores need to have a unique name -- fixes #7341
Robin Gareus [Sun, 7 May 2017 00:02:30 +0000 (02:02 +0200)]
Semaphores need to have a unique name -- fixes #7341

On Windows (and OSX) semaphores are named. If the name matches an existing
semaphore, it is re-used and not re-initialized. In case of multiple
LV2-plugins each with a worker-thread this can lead to a deadlock.

7 years agoreally fix opening session-archives -- amend 1f80f059be
Robin Gareus [Sat, 6 May 2017 20:05:26 +0000 (22:05 +0200)]
really fix opening session-archives -- amend 1f80f059be

7 years agoFix opening session-archives
Robin Gareus [Sat, 6 May 2017 16:31:18 +0000 (18:31 +0200)]
Fix opening session-archives

7 years ago-Wnon-virtual-dtor
Robin Gareus [Sat, 6 May 2017 13:41:22 +0000 (15:41 +0200)]
-Wnon-virtual-dtor

7 years agoNO-OP: whitespace and FSF address
Robin Gareus [Sat, 6 May 2017 13:11:53 +0000 (15:11 +0200)]
NO-OP: whitespace and FSF address

7 years agoFactor RMS normalization by sqrt(2); match sine peak
Robin Gareus [Sat, 6 May 2017 13:09:05 +0000 (15:09 +0200)]
Factor RMS normalization by sqrt(2); match sine peak

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 6 May 2017 12:35:06 +0000 (13:35 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoAccommodate newly introduced source(s) in our MSVC project (libardour)
John Emmas [Sat, 6 May 2017 12:34:39 +0000 (13:34 +0100)]
Accommodate newly introduced source(s) in our MSVC project (libardour)

7 years agoMSVC won't allow us to erase an item referenced by const_iterator
John Emmas [Sat, 6 May 2017 12:33:38 +0000 (13:33 +0100)]
MSVC won't allow us to erase an item referenced by const_iterator

7 years agoThe new class 'ARDOUR::CoreSelection' needs to be exportable (since it gets used...
John Emmas [Sat, 6 May 2017 12:32:20 +0000 (13:32 +0100)]
The new class 'ARDOUR::CoreSelection' needs to be exportable (since it gets used outside of libardour)

7 years agoOSC: make some more paths work with or without a parameter.
Len Ovens [Fri, 5 May 2017 15:58:49 +0000 (08:58 -0700)]
OSC: make some more paths work with or without a parameter.

7 years agoOSC: remove debug output.
Len Ovens [Fri, 5 May 2017 05:01:07 +0000 (22:01 -0700)]
OSC: remove debug output.

7 years agopart two of add missing files from selection development branch(es)
Paul Davis [Fri, 5 May 2017 18:26:10 +0000 (19:26 +0100)]
part two of add missing files from selection development branch(es)

7 years agoadd missing files from selection development branch(es)
Paul Davis [Fri, 5 May 2017 18:25:35 +0000 (19:25 +0100)]
add missing files from selection development branch(es)

7 years agoEditor::axis_view_by_control() needs to explore child tracks, now that Selection...
Paul Davis [Fri, 5 May 2017 17:06:51 +0000 (18:06 +0100)]
Editor::axis_view_by_control() needs to explore child tracks, now that Selection is relying on it

7 years agomaintain CoreSelection order in GUI track selection
Paul Davis [Fri, 5 May 2017 15:34:32 +0000 (16:34 +0100)]
maintain CoreSelection order in GUI track selection

7 years agouse CoreSelection for track selection
Paul Davis [Fri, 5 May 2017 11:31:49 +0000 (12:31 +0100)]
use CoreSelection for track selection

7 years agolibardour now has CoreSelection object to manage selection status of Stripables and...
Paul Davis [Fri, 5 May 2017 11:31:21 +0000 (12:31 +0100)]
libardour now has CoreSelection object to manage selection status of Stripables and AutomationControls

7 years agoextend PBD::ID API to allow construction and operator== using uint64_t
Paul Davis [Fri, 5 May 2017 11:18:06 +0000 (12:18 +0100)]
extend PBD::ID API to allow construction and operator== using uint64_t

This is theoretically dangerous, because a PBD::ID is supposed to be unique, and this new constructor
cannot guarantee that. However, the same danger already exists with the std::string-based constructor

7 years agoFP8: use new libardour API
Robin Gareus [Fri, 5 May 2017 14:48:11 +0000 (16:48 +0200)]
FP8: use new libardour API

7 years agoMove special-cased FP8 mute-state into libardour
Robin Gareus [Fri, 5 May 2017 14:47:25 +0000 (16:47 +0200)]
Move special-cased FP8 mute-state into libardour

7 years agoFP8: ignore inactive muted tracks w/mute-clear
Robin Gareus [Fri, 5 May 2017 13:36:08 +0000 (15:36 +0200)]
FP8: ignore inactive muted tracks w/mute-clear

7 years agoFP8: solo+mute undo
Robin Gareus [Fri, 5 May 2017 13:26:52 +0000 (15:26 +0200)]
FP8: solo+mute undo

Eventually this should be moved into libardour: Mixer undo history.
the tentative solution is specifically ifdef'ed FP8_MUTESOLO_UNDO.

7 years agoFix converting v4 monitor state -- amend 8a6d30377
Robin Gareus [Fri, 5 May 2017 12:31:19 +0000 (14:31 +0200)]
Fix converting v4 monitor state -- amend 8a6d30377

It looks like MonitorControl::_monitoring is unused and should be removed.
The actual value is Evoral::Control::_user_value

7 years agoremove cruft (unused UI::ui_scale)
Robin Gareus [Fri, 5 May 2017 11:59:48 +0000 (13:59 +0200)]
remove cruft (unused UI::ui_scale)

7 years agofix ruler scaling -- #7226
Robin Gareus [Fri, 5 May 2017 11:58:59 +0000 (13:58 +0200)]
fix ruler scaling -- #7226

7 years agoOSC: personal monitoring, fix crash and minor bugs
Len Ovens [Thu, 4 May 2017 22:50:24 +0000 (15:50 -0700)]
OSC: personal monitoring, fix crash and minor bugs

7 years agofix/amend previous commit.
Robin Gareus [Thu, 4 May 2017 21:06:52 +0000 (23:06 +0200)]
fix/amend previous commit.

7 years agoDon't save "end-is-free" with templates
Robin Gareus [Thu, 4 May 2017 21:00:21 +0000 (23:00 +0200)]
Don't save "end-is-free" with templates

7 years agoLua bindings for "end-is-free" (automatic session-end location marker)
Robin Gareus [Thu, 4 May 2017 19:08:17 +0000 (21:08 +0200)]
Lua bindings for "end-is-free" (automatic session-end location marker)

7 years agoScaleable group-tabs: use Pango to layout text, scale with UI #7331
Robin Gareus [Thu, 4 May 2017 17:15:18 +0000 (19:15 +0200)]
Scaleable group-tabs: use Pango to layout text, scale with UI #7331

7 years agoScale scommer and piano-keyboard width with GUI
Robin Gareus [Thu, 4 May 2017 15:22:43 +0000 (17:22 +0200)]
Scale scommer and piano-keyboard width with GUI

7 years agoConvert old v4 Track monitoring session-state (untested)
Robin Gareus [Thu, 4 May 2017 15:19:55 +0000 (17:19 +0200)]
Convert old v4 Track monitoring session-state (untested)

7 years agoUpdate Tempo Tapping:
Robin Gareus [Thu, 4 May 2017 14:12:26 +0000 (16:12 +0200)]
Update Tempo Tapping:

* Allow tap with keyboard (Space, Enter)
* Ignore double-clicks (2nd rapid event skewed calculation)

7 years agoOSC: Add /jog/mode/name
Len Ovens [Thu, 4 May 2017 04:38:52 +0000 (21:38 -0700)]
OSC: Add /jog/mode/name

7 years agoOSC: Fix puctuation
Len Ovens [Thu, 4 May 2017 04:36:58 +0000 (21:36 -0700)]
OSC: Fix puctuation

7 years agoOSC: arrange modes in a more logical order.
Len Ovens [Thu, 4 May 2017 01:19:45 +0000 (18:19 -0700)]
OSC: arrange modes in a more logical order.

7 years agoOSC: Add multimode /jog command
Len Ovens [Wed, 3 May 2017 23:31:46 +0000 (16:31 -0700)]
OSC: Add multimode /jog command

7 years agoNO-OP: whitespace
Robin Gareus [Wed, 3 May 2017 22:43:40 +0000 (00:43 +0200)]
NO-OP: whitespace

7 years agoThe return of explicit exclusive solo.
Robin Gareus [Wed, 3 May 2017 22:42:07 +0000 (00:42 +0200)]
The return of explicit exclusive solo.

7 years agoMIDI learn on ctrl + middle-click only (not ctrl + other mods + btn2).
Robin Gareus [Wed, 3 May 2017 22:35:56 +0000 (00:35 +0200)]
MIDI learn on ctrl + middle-click only (not ctrl + other mods + btn2).

This fixes various other operations that use ctrl + btn2.
e.g. ctrl+alt+btn2 temporary all un/solo/mute.

7 years agoLua bindings to set group color
Robin Gareus [Wed, 3 May 2017 15:47:16 +0000 (17:47 +0200)]
Lua bindings to set group color

7 years agoGUI update: migrate group-color into the session (not GUI state)
Robin Gareus [Wed, 3 May 2017 15:46:58 +0000 (17:46 +0200)]
GUI update: migrate group-color into the session (not GUI state)

7 years agoMove RouteGroup color into libardour.
Robin Gareus [Wed, 3 May 2017 15:36:35 +0000 (17:36 +0200)]
Move RouteGroup color into libardour.

This allows to change it from scripts and surfaces and consolidates code.

7 years agoNO-OP: whitespace
Robin Gareus [Wed, 3 May 2017 13:03:23 +0000 (15:03 +0200)]
NO-OP: whitespace

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.