ardour.git
8 years agoadd dedicated API to check plugin class
Robin Gareus [Wed, 18 Nov 2015 17:11:19 +0000 (18:11 +0100)]
add dedicated API to check plugin class

8 years agorelayout plugin-manager filter & related details
Robin Gareus [Wed, 18 Nov 2015 16:20:36 +0000 (17:20 +0100)]
relayout plugin-manager filter & related details

8 years agopass release signal up to ArdourButton (_grabbed state)
Robin Gareus [Wed, 18 Nov 2015 15:50:27 +0000 (16:50 +0100)]
pass release signal up to ArdourButton (_grabbed state)

8 years agoreduce math weirdness (thanks to Steven Yi)
Robin Gareus [Wed, 18 Nov 2015 13:29:13 +0000 (14:29 +0100)]
reduce math weirdness (thanks to Steven Yi)

8 years agoreduce clutter in Plugin Manager List
Robin Gareus [Wed, 18 Nov 2015 02:46:50 +0000 (03:46 +0100)]
reduce clutter in Plugin Manager List

8 years agoAdd --profile waf option so frame pointer isn't omitted in optimized builds
Tim Mayberry [Tue, 27 Oct 2015 11:26:12 +0000 (21:26 +1000)]
Add --profile waf option so frame pointer isn't omitted in optimized builds

8 years agoRemove -O0 optimize flag from debuggable flags to enable debuggable optimized builds
Tim Mayberry [Tue, 27 Oct 2015 11:08:24 +0000 (21:08 +1000)]
Remove -O0 optimize flag from debuggable flags to enable debuggable optimized builds

This allows debug symbol information to be included for optimized builds. This
may not always be useful for debugging but it is necessary to use profiling
tools like perf.

The default optimize level is -O0 if no other optimize flag is specified so the
optimization level will be the same unless overridden.

8 years agotweak selection code for mixer strip Duplicate func
Ben Loftis [Tue, 17 Nov 2015 23:34:33 +0000 (17:34 -0600)]
tweak selection code for mixer strip Duplicate func

8 years agoadd Duplicate action to track and mixer context menus
Ben Loftis [Tue, 17 Nov 2015 22:55:11 +0000 (16:55 -0600)]
add Duplicate action to track and mixer context menus

8 years agonew test tools to check thread-pool based disk i/o
Paul Davis [Tue, 17 Nov 2015 15:14:44 +0000 (10:14 -0500)]
new test tools to check thread-pool based disk i/o

8 years agouse thread private data **pointer** correctly for Stateful::ID regeneration
Paul Davis [Tue, 17 Nov 2015 13:53:29 +0000 (08:53 -0500)]
use thread private data **pointer** correctly for Stateful::ID regeneration

8 years agofix inadvertently commit error related to at-process-exit deletion for thread private...
Paul Davis [Tue, 17 Nov 2015 02:55:57 +0000 (21:55 -0500)]
fix inadvertently commit error related to at-process-exit deletion for thread private variable

8 years agocorrect value testing for Stateful thread-private variable controlling ID regeneration
Paul Davis [Tue, 17 Nov 2015 02:23:39 +0000 (21:23 -0500)]
correct value testing for Stateful thread-private variable controlling ID regeneration

8 years agoFix bug #6506, crash when moving tempo markers with automation on midi tracks
Tim Mayberry [Thu, 12 Nov 2015 13:17:44 +0000 (23:17 +1000)]
Fix bug #6506, crash when moving tempo markers with automation on midi tracks

8 years agofix logic errors in duplicate tracks dialog
Paul Davis [Sat, 14 Nov 2015 21:02:05 +0000 (16:02 -0500)]
fix logic errors in duplicate tracks dialog

8 years agoget PlaylistDisposition argument of Session::new_route_from_template() working
Paul Davis [Sat, 14 Nov 2015 21:01:24 +0000 (16:01 -0500)]
get PlaylistDisposition argument of Session::new_route_from_template() working

8 years agoremove leftover declaration
Paul Davis [Sat, 14 Nov 2015 20:24:40 +0000 (15:24 -0500)]
remove leftover declaration

8 years agoremove leftover declarations
Paul Davis [Sat, 14 Nov 2015 20:22:36 +0000 (15:22 -0500)]
remove leftover declarations

8 years agomove logic of track/bus duplication into DuplicateRouteDialog
Paul Davis [Sat, 14 Nov 2015 20:21:20 +0000 (15:21 -0500)]
move logic of track/bus duplication into DuplicateRouteDialog

8 years agoFix fader in mackie control to work with groups.
Len Ovens [Sat, 14 Nov 2015 18:39:53 +0000 (10:39 -0800)]
Fix fader in mackie control to work with groups.

8 years agotweak duplicate routes dialog appearance depending on whether or not busses/tracks...
Paul Davis [Sat, 14 Nov 2015 16:05:15 +0000 (11:05 -0500)]
tweak duplicate routes dialog appearance depending on whether or not busses/tracks are the target

8 years agoexpose count widgets for duplicate track dialog
Paul Davis [Sat, 14 Nov 2015 15:35:07 +0000 (10:35 -0500)]
expose count widgets for duplicate track dialog

8 years agopartial dialog to control track duplication
Paul Davis [Sat, 14 Nov 2015 15:29:50 +0000 (10:29 -0500)]
partial dialog to control track duplication

8 years agolinux installer tweak:
Robin Gareus [Fri, 13 Nov 2015 23:36:19 +0000 (17:36 -0600)]
linux installer tweak:

check architecture before gcc4/5 compat

8 years agoinitial/partial implementation of duplicate track/bus
Paul Davis [Fri, 13 Nov 2015 21:14:42 +0000 (16:14 -0500)]
initial/partial implementation of duplicate track/bus

8 years agosubstantial part of infrastructure required for track/bus duplication
Paul Davis [Fri, 13 Nov 2015 21:14:09 +0000 (16:14 -0500)]
substantial part of infrastructure required for track/bus duplication

This includes removing the removal of ID values in XML, and its replacement with
thread-local forcing of ID resets, implemented in a previous commit

8 years agofix return value from Route::save_as_template()
Paul Davis [Fri, 13 Nov 2015 21:12:53 +0000 (16:12 -0500)]
fix return value from Route::save_as_template()

8 years agoFix #6673 - another prematurely closed undo transaction.
nick_m [Fri, 13 Nov 2015 16:14:23 +0000 (03:14 +1100)]
Fix #6673 - another prematurely closed undo transaction.

- add_midi_region used to commit, resulting in
  _region->set_position() adding a command when there was
  no current transaction. The sub-bug here was that repeatedly
  calling set_position() on the new region resulted in nonsensical
  automation movement after the drag.

8 years agoArdour::Region - add method required to fix #6673.
nick_m [Fri, 13 Nov 2015 16:05:53 +0000 (03:05 +1100)]
Ardour::Region - add method required to fix #6673.

8 years agofix edge-case in Dummy-backend random number generator initialization
Robin Gareus [Thu, 12 Nov 2015 15:49:40 +0000 (09:49 -0600)]
fix edge-case in Dummy-backend random number generator initialization

8 years agoprovide a mechanism to force ID regeneration/reset in PBD::Stateful when settingthe...
Paul Davis [Thu, 12 Nov 2015 15:24:41 +0000 (10:24 -0500)]
provide a mechanism to force ID regeneration/reset in PBD::Stateful when settingthe ID object from XML or string sources

8 years agoremove requirement for transport speed to be 1.0 when generating click (metronome)
Paul Davis [Thu, 12 Nov 2015 14:46:14 +0000 (09:46 -0500)]
remove requirement for transport speed to be 1.0 when generating click (metronome)

This is experimental and may not work

8 years agoUse XMLNode::remove_child_and_delete in Stateful::add_extra_xml
Tim Mayberry [Sat, 7 Nov 2015 05:26:27 +0000 (15:26 +1000)]
Use XMLNode::remove_child_and_delete in Stateful::add_extra_xml

As the node being replaced has been added with XMLNode::add_child_nocopy the
node also needs to be deleted or a memory leak occurs.

8 years agoUse constructor initialization list in Stateful class
Tim Mayberry [Fri, 6 Nov 2015 12:16:27 +0000 (22:16 +1000)]
Use constructor initialization list in Stateful class

8 years agoReplace spaces with tabs in pbd/stateful.h
Tim Mayberry [Fri, 6 Nov 2015 10:04:48 +0000 (20:04 +1000)]
Replace spaces with tabs in pbd/stateful.h

8 years agomore correct semantics for reserved IO name checking
Paul Davis [Mon, 9 Nov 2015 13:24:35 +0000 (08:24 -0500)]
more correct semantics for reserved IO name checking

8 years agoslightly improved fix for reserved name handling
Paul Davis [Sun, 8 Nov 2015 03:23:23 +0000 (22:23 -0500)]
slightly improved fix for reserved name handling

8 years agodon't force rename of reserved route/IO names if the name isn't taken yet
Paul Davis [Sun, 8 Nov 2015 03:15:59 +0000 (22:15 -0500)]
don't force rename of reserved route/IO names if the name isn't taken yet

8 years agoMackie Control: Initialize vpot assignment on start-up.
Len Ovens [Sat, 7 Nov 2015 03:28:24 +0000 (19:28 -0800)]
Mackie Control: Initialize vpot assignment on start-up.

8 years agoMackie Control: Add send functionality to vpot assign section.
Len Ovens [Sat, 7 Nov 2015 00:18:13 +0000 (16:18 -0800)]
Mackie Control: Add send functionality to vpot assign section.

8 years agoAdd some newly introduced sources to our MSVC project (libardour)
John Emmas [Fri, 6 Nov 2015 08:22:58 +0000 (08:22 +0000)]
Add some newly introduced sources to our MSVC project (libardour)

8 years agoMerge branch 'chaot4-feature_open_dialog_before_chat'
Paul Davis [Wed, 4 Nov 2015 22:53:15 +0000 (17:53 -0500)]
Merge branch 'chaot4-feature_open_dialog_before_chat'

8 years agoShow info dialog when opening chat via Help -> Chat.
André Nusser [Mon, 2 Nov 2015 21:51:45 +0000 (22:51 +0100)]
Show info dialog when opening chat via Help -> Chat.

This should clarify for users that in IRC you post your question and
wait, and not leave after a few minutes.

8 years agoMerge branch 'chaot4-f_overwrite_dialog_improvement'
Paul Davis [Wed, 4 Nov 2015 22:52:10 +0000 (17:52 -0500)]
Merge branch 'chaot4-f_overwrite_dialog_improvement'

8 years agoRemove explicit positioning of overwrite_file_dialog.
André Nusser [Sun, 1 Nov 2015 21:24:02 +0000 (22:24 +0100)]
Remove explicit positioning of overwrite_file_dialog.

ArdourDialog takes care of this.

8 years agoFix ordering of buttons in midi export dialog.
André Nusser [Sun, 1 Nov 2015 21:23:01 +0000 (22:23 +0100)]
Fix ordering of buttons in midi export dialog.

[Cancel] [Save] instead of [Save] [Cancel].

8 years agoImprove behavior of overwrite_file_dialog.
André Nusser [Sun, 1 Nov 2015 20:00:05 +0000 (21:00 +0100)]
Improve behavior of overwrite_file_dialog.

- Make overwrite file dialogs transient.
- Cancelling the overwrite dialog doesn't close initial dialog.

8 years agono-op; reordering of class forward declarations in editor.h.
André Nusser [Sun, 1 Nov 2015 20:56:09 +0000 (21:56 +0100)]
no-op; reordering of class forward declarations in editor.h.

8 years agoMerge branch 'chaot4-fix_duplicate_fencepost_error'
Paul Davis [Wed, 4 Nov 2015 22:50:24 +0000 (17:50 -0500)]
Merge branch 'chaot4-fix_duplicate_fencepost_error'

8 years agoFix fencepost error in duplicate_some_regions. Adapt start position.
André Nusser [Wed, 28 Oct 2015 21:09:39 +0000 (22:09 +0100)]
Fix fencepost error in duplicate_some_regions. Adapt start position.

8 years agoMake duplicate start at position, not position + 1. (libs part)
André Nusser [Wed, 28 Oct 2015 21:06:46 +0000 (22:06 +0100)]
Make duplicate start at position, not position + 1. (libs part)

8 years agoMerge branch 'chaot4-fix_click_gain_entry_enter'
Paul Davis [Wed, 4 Nov 2015 22:49:24 +0000 (17:49 -0500)]
Merge branch 'chaot4-fix_click_gain_entry_enter'

8 years agoLet Entry of FaderOption react on ENTER and allow only numerical input.
André Nusser [Wed, 4 Nov 2015 22:10:27 +0000 (23:10 +0100)]
Let Entry of FaderOption react on ENTER and allow only numerical input.

This enables setting click gain and solo gain in the preferences using
the text field. -- fixes #6668

8 years agoadd required header
Paul Davis [Wed, 4 Nov 2015 12:58:10 +0000 (07:58 -0500)]
add required header

8 years agolibardour wrapper for EBUr128 VAMP plugin
Robin Gareus [Tue, 3 Nov 2015 18:20:00 +0000 (19:20 +0100)]
libardour wrapper for EBUr128 VAMP plugin

8 years agoadd basic VAMP plugin for EBUr128 analysis
Robin Gareus [Tue, 3 Nov 2015 06:51:39 +0000 (07:51 +0100)]
add basic VAMP plugin for EBUr128 analysis

FeatureSet will be extended to report detailed analysis.

8 years agoGUI checkbox to disable plugins
Robin Gareus [Tue, 3 Nov 2015 07:02:22 +0000 (08:02 +0100)]
GUI checkbox to disable plugins

for the benefit of Windows and OSX users and everyone else who does
not run Ardour from the commandline.

8 years agoupdate midi channel button display when mode changes
Robin Gareus [Tue, 3 Nov 2015 18:16:06 +0000 (19:16 +0100)]
update midi channel button display when mode changes

8 years agoClean up selection history in Editor destructor.
nick_m [Mon, 2 Nov 2015 18:25:15 +0000 (05:25 +1100)]
Clean up selection history in Editor destructor.

8 years agoAutomationList::set_automation_state () only needs a memento for toggled.
nick_m [Mon, 2 Nov 2015 17:18:09 +0000 (04:18 +1100)]
AutomationList::set_automation_state () only needs a memento for toggled.

8 years agoClass 'PhaseControllable' needs to be importable since it gets referenced outside...
John Emmas [Mon, 2 Nov 2015 11:27:43 +0000 (11:27 +0000)]
Class 'PhaseControllable' needs to be importable since it gets referenced outside of libardour

Specifically, 'PhaseControllable::channel()' and 'PhaseControllable::set_channel()' get called from 'mackie/strip.cc'

At some point we might also need to do this for the related classes (SoloControllable and MuteControllable) although it doesn't seem to be needed right at this moment.

8 years agofix crash when cleaning up canvas items
Robin Gareus [Mon, 2 Nov 2015 04:15:55 +0000 (05:15 +0100)]
fix crash when cleaning up canvas items

Backport from Mixbus. In Ardour this does not currently matter
since there is no top-level canvas destroyed top-down.

...
Editor::session_going_away
MixerStrip::~MixerStrip
MixbusStripCanvas::~MixbusStripCanvas
ArdourCanvas::GtkCanvas::~GtkCanvas
ArdourCanvas::Canvas::~Canvas
ArdourCanvas::Root::~Root
ArdourCanvas::Container::~Container
ArdourCanvas::Item::~Item
ArdourCanvas::Item::clear_items
GtkCanvas::item_going_away()
queue_draw_item_area()

..expose can take place async to garbage collection: crash in one of the
items.

8 years agoDon't handle possible phase change if no audio channels in mackie control
Len Ovens [Mon, 2 Nov 2015 03:25:45 +0000 (19:25 -0800)]
Don't handle possible phase change if no audio channels in mackie control

8 years agoFix Mackie surface phase control for flip and more than one audio channel.
Len Ovens [Sun, 1 Nov 2015 23:30:36 +0000 (15:30 -0800)]
Fix Mackie surface phase control for flip and more than one audio channel.

8 years agoAdded Phase control mackie controls as part of the Trim (track) vpot assignment.
Len Ovens [Sun, 1 Nov 2015 21:35:02 +0000 (13:35 -0800)]
Added Phase control mackie controls as part of the Trim (track) vpot assignment.

8 years agoFix missing undo for record mute automation.
nick_m [Sun, 1 Nov 2015 18:34:09 +0000 (05:34 +1100)]
Fix missing undo for record mute automation.

8 years agoClean up _before XMLNode in AutomationList if no automation write occurred.
nick_m [Sun, 1 Nov 2015 15:12:54 +0000 (02:12 +1100)]
Clean up _before XMLNode in AutomationList if no automation write occurred.

8 years agoAutomation watch sets position for new write pass when transport stopped.
nick_m [Sun, 1 Nov 2015 12:21:08 +0000 (23:21 +1100)]
Automation watch sets position for new write pass when transport stopped.

8 years agoRevert starting write pass only in write mode when transport located.
nick_m [Sun, 1 Nov 2015 12:13:40 +0000 (23:13 +1100)]
Revert starting write pass only in write mode when transport located.

8 years agoGrey out unavailable note context menu items rather than hiding them.
nick_m [Sat, 31 Oct 2015 19:06:31 +0000 (06:06 +1100)]
Grey out unavailable note context menu items rather than hiding them.

8 years agoClarify context menu for midi notes.
nick_m [Sat, 31 Oct 2015 18:22:55 +0000 (05:22 +1100)]
Clarify context menu for midi notes.

- right click on a note selects it if unselected or selection empty.

- note_context_menu is shown as described in #6348

8 years agoAdd comment to MRV snap workaround.
nick_m [Sat, 31 Oct 2015 14:43:13 +0000 (01:43 +1100)]
Add comment to MRV snap workaround.

8 years agoFix snap modifiers not working on notes when grid is set to off.
nick_m [Fri, 30 Oct 2015 19:02:54 +0000 (06:02 +1100)]
Fix snap modifiers not working on notes when grid is set to off.

8 years agoHandle paste from non-toggled to boolean automation track.
nick_m [Fri, 30 Oct 2015 16:54:18 +0000 (03:54 +1100)]
Handle paste from non-toggled to boolean automation track.

- sort-of fixes #6431

8 years agosuspend timers while flushing the gtk-event queue.
Robin Gareus [Fri, 30 Oct 2015 14:54:54 +0000 (15:54 +0100)]
suspend timers while flushing the gtk-event queue.

This fixes an issues where Ardour never completes to flush the GUI event
queue due to rapid updates for meters and similar events.

ARDOUR_UI::load_session() never returned and the complete session
ran inside Gtkmm2ext::UI::flush_pending(), this later causes a crash
at exit.

as side effect, this also speeds up session load.

8 years agoRAII Timer Suspend wrapper
Robin Gareus [Fri, 30 Oct 2015 14:50:46 +0000 (15:50 +0100)]
RAII Timer Suspend wrapper

8 years agoadd API to suspend timers signal emission.
Robin Gareus [Fri, 30 Oct 2015 14:50:12 +0000 (15:50 +0100)]
add API to suspend timers signal emission.

8 years ago"End" -> "end" in end point trim command name.
nick_m [Fri, 30 Oct 2015 12:43:09 +0000 (23:43 +1100)]
"End" -> "end" in end point trim command name.

8 years agoUse automation line's frame of reference for y position.
nick_m [Fri, 30 Oct 2015 10:14:16 +0000 (21:14 +1100)]
Use automation line's frame of reference for y position.

- removes the need for 'pixel hunting' wrt NAME_HIGHLIGHT_SIZE.
- new control points generated by clicking on a line are placed
  where the verbose canvas cursor says they are.

8 years agoDont do duplocate calls to MidiRegionView::trim_front_ending () in TrimDrag.
nick_m [Thu, 29 Oct 2015 17:01:44 +0000 (04:01 +1100)]
Dont do duplocate calls to MidiRegionView::trim_front_ending () in TrimDrag.

- fixes #6658
- also leaves undo history alone if point trim does nothing.

8 years agoFix reversed ratio in last commit.
nick_m [Thu, 29 Oct 2015 13:01:33 +0000 (00:01 +1100)]
Fix reversed ratio in last commit.

8 years agoStart line drag using canvas y coords.
nick_m [Thu, 29 Oct 2015 12:37:01 +0000 (23:37 +1100)]
Start line drag using canvas y coords.

- fixes #5759

8 years agorework dbf28e3 (hidden parameters)
Robin Gareus [Wed, 28 Oct 2015 20:25:01 +0000 (21:25 +0100)]
rework dbf28e3 (hidden parameters)

8 years agonote to self: at least test compilation before git push.
Robin Gareus [Wed, 28 Oct 2015 18:00:59 +0000 (19:00 +0100)]
note to self: at least test compilation before git push.

8 years agodon't display hidden automation-controls.
Robin Gareus [Wed, 28 Oct 2015 17:58:46 +0000 (18:58 +0100)]
don't display hidden automation-controls.

8 years agofix JACK/windows compilation
Robin Gareus [Wed, 28 Oct 2015 13:11:17 +0000 (14:11 +0100)]
fix JACK/windows compilation

8 years agofix embedding AU/carbon UIs
Robin Gareus [Wed, 28 Oct 2015 13:09:13 +0000 (14:09 +0100)]
fix embedding AU/carbon UIs

the UI shows top/left (not centered, no resize) more detail work to come.

8 years agoRevert "potential fix for some AU plugin UIs not displaying"
Robin Gareus [Wed, 28 Oct 2015 13:02:57 +0000 (14:02 +0100)]
Revert "potential fix for some AU plugin UIs not displaying"

This reverts commit e8fe35d96ed13f3df0e2f03e2f347e908064a31d.

8 years agonotify LV2 GUIs about port-changes when loading presets
Robin Gareus [Wed, 28 Oct 2015 03:06:14 +0000 (04:06 +0100)]
notify LV2 GUIs about port-changes when loading presets

8 years agouse weak-jack's jack_port_rename wrapper
Robin Gareus [Wed, 28 Oct 2015 00:19:44 +0000 (01:19 +0100)]
use weak-jack's jack_port_rename wrapper

This avoids "[ERROR]: JACK: jack_port_set_name: deprecated".

if libjack does not have jack_port_rename(), weak_libjack.def provides
a fallback using jack_port_set_name().

8 years agopotential fix for some AU plugin UIs not displaying
Robin Gareus [Tue, 27 Oct 2015 22:11:45 +0000 (23:11 +0100)]
potential fix for some AU plugin UIs not displaying

looks like not all AU plugin GUIs redraw themselves if
[win setAutodisplay:1] is unnot.

A user reported that some Waves plugins and Shattered Glass 32bit AUs
are blank in 4.4 on 32bit OSX.

see also 5eefdf7 and earlier AU/API changes.

8 years agoanother log-scale automation fix
Robin Gareus [Tue, 27 Oct 2015 19:53:51 +0000 (20:53 +0100)]
another log-scale automation fix

8 years agoLineDrag fixes wrt initial drag position and display of y value.
nick_m [Tue, 27 Oct 2015 18:33:43 +0000 (05:33 +1100)]
LineDrag fixes wrt initial drag position and display of y value.

8 years agoAutomationLine::drag_motion () returns any clamped fractions correctly.
nick_m [Tue, 27 Oct 2015 16:14:10 +0000 (03:14 +1100)]
AutomationLine::drag_motion () returns any clamped fractions correctly.

8 years agoFix incorrectly placed control points (y-axis). fixes #6647.
nick_m [Tue, 27 Oct 2015 15:46:03 +0000 (02:46 +1100)]
Fix incorrectly placed control points (y-axis). fixes #6647.

- also use the return from AutomationLine::drag_motion () in
  anticipation of it correctly reporting its clamping to
  AutomationRangeDrag.

8 years agolinux-package: add gcc5 suffix to the file-name
Robin Gareus [Tue, 27 Oct 2015 10:34:12 +0000 (11:34 +0100)]
linux-package: add gcc5 suffix to the file-name

8 years agofun with valgrind
Robin Gareus [Tue, 27 Oct 2015 10:15:34 +0000 (11:15 +0100)]
fun with valgrind

8 years agoand another LV2-1.0.0 compat ifdef
Robin Gareus [Mon, 26 Oct 2015 12:32:51 +0000 (13:32 +0100)]
and another LV2-1.0.0 compat ifdef

8 years agoamend 311adde (LV2-1.0.0 compat)
Robin Gareus [Mon, 26 Oct 2015 12:24:23 +0000 (13:24 +0100)]
amend 311adde (LV2-1.0.0 compat)

8 years agoproperly translatable plural forms
Robin Gareus [Sun, 25 Oct 2015 16:46:39 +0000 (17:46 +0100)]
properly translatable plural forms