ardour.git
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

8 years agoChanged MCP trim detection to match method used in GUI.
Len Ovens [Sun, 25 Oct 2015 15:22:02 +0000 (08:22 -0700)]
Changed MCP trim detection to match method used in GUI.

8 years agoMarkers use the selection change stack.
nick_m [Sat, 24 Oct 2015 18:26:44 +0000 (05:26 +1100)]
Markers use the selection change stack.

8 years agoAmend last commit.
nick_m [Sat, 24 Oct 2015 17:12:38 +0000 (04:12 +1100)]
Amend last commit.

8 years agoSet a larger minimum size for recent session scrollers.
nick_m [Sat, 24 Oct 2015 17:07:19 +0000 (04:07 +1100)]
Set a larger minimum size for recent session scrollers.

8 years agoback to mjpeg (revert 2cb511e and 3f157f9) for now
Robin Gareus [Fri, 23 Oct 2015 21:34:21 +0000 (23:34 +0200)]
back to mjpeg (revert 2cb511e and 3f157f9) for now

There is anecdotal evidence that using mpeg4 as codec leads to issues
(xjadeo indexes and gets stuck at 99%, likely in libavcodec).

The main motivation for using mpeg4 is/was windows/VFAT 2GB file limit
and improved video quality.  This will have to be revisited.

8 years agoDelete SystemExec in the main process thread.
Robin Gareus [Fri, 23 Oct 2015 21:28:25 +0000 (23:28 +0200)]
Delete SystemExec in the main process thread.

8 years agofix crash on SystemExec::Terminate
Robin Gareus [Fri, 23 Oct 2015 21:27:15 +0000 (23:27 +0200)]
fix crash on SystemExec::Terminate

if Terminated() connects in the same thread and deletes the class itself
the closure in interposer_thread() can fail.

8 years agoRelative snap for markers.
nick_m [Fri, 23 Oct 2015 17:59:57 +0000 (04:59 +1100)]
Relative snap for markers.

- also removes many uninitialised variable warnings in
  editor_drag.cc found by cppcheck.

8 years agoadd ifdefs for LV2-1.0.0 compat
Robin Gareus [Fri, 23 Oct 2015 16:58:17 +0000 (18:58 +0200)]
add ifdefs for LV2-1.0.0 compat

8 years agoResizeNoteDrag selection click behaves as NoteDrag's does.
nick_m [Fri, 23 Oct 2015 14:19:00 +0000 (01:19 +1100)]
ResizeNoteDrag selection click behaves as NoteDrag's does.

8 years agoClear point selection when uniquely selecting a note.
nick_m [Fri, 23 Oct 2015 13:07:03 +0000 (00:07 +1100)]
Clear point selection when uniquely selecting a note.

- Also fix selection undo when creating notes w/control
  in MouseContent mode.

8 years agoMake mackie control view mode save bank for all modes.
Len Ovens [Thu, 22 Oct 2015 22:30:34 +0000 (15:30 -0700)]
Make mackie control  view mode save bank for all modes.
Also moved duplicated code to one function.

8 years agomime-type definition is version independent.
Robin Gareus [Thu, 22 Oct 2015 19:05:20 +0000 (21:05 +0200)]
mime-type definition is version independent.

File glob "*.ardour" -> application/x-ardour is defined in ardour.xml

8 years agoUse lwrcase_dirname for desktop file names and substitutions.
nick_m [Thu, 22 Oct 2015 17:03:16 +0000 (04:03 +1100)]
Use lwrcase_dirname for desktop file names and substitutions.

8 years agoset executable and icon name in desktop-file
Robin Gareus [Thu, 22 Oct 2015 16:07:55 +0000 (18:07 +0200)]
set executable and icon name in desktop-file

Also opt for version-agnostic mime-type (file-format version
is independent of program-version and of file-extension)

8 years agoRemove GhostRegion::CatchDeletion signal to reduce session close times
Tim Mayberry [Thu, 22 Oct 2015 11:56:02 +0000 (21:56 +1000)]
Remove GhostRegion::CatchDeletion signal to reduce session close times

Currently when a GhostRegion is deleted by its "parent" RegionView it emits the
static GhostRegion::CatchDeletion signal which is connected to the
RegionView::remove_ghost method of every RegionView instance.

With a static GhostRegion::CatchDeletion signal a particular test session
causes 31 Million calls of RegionView::remove_ghost on Session deletion and the
session takes 70 seconds to close with a debug build.

The lifetime of a ghost region is tied to both the TimeAxisView(TAV) and
RegionView(RV) in that when a RegionView is deleted all GhostRegion instances
associated with the RegionView should be deleted or when a TimeAxisView is
deleted all ghost regions that are contained in the view should be deleted.

This means that there needs to be notification between GhostRegion and both
classes. Instead of using a signal for this as we know there are only two
listeners and GhostRegion already holds a reference to the TimeAxisView, also
take a reference to the parent RegionView in the GhostRegion constructor and
use it to notify the RegionView when GhostRegion destructor is called so it can
drop any references it holds.

Using a direct function call in the GhostRegion destructor to notify the
TimeAxisView and RegionView "parents" brings the unload/close time down for the
test session from 70 seconds to 4.5 seconds.

The GhostRegion also references canvas items that are added to the TimeAxisView
canvas group or at least a canvas group that it manages. So when the
TimeAxisView is destroyed and the canvas group that is the parent of those
items is destroyed, the GhostRegion's canvas items will also be
deleted/destroyed by the parent canvas item/group. This means the GhostRegions
must be destroyed when the TimeAxisView they are contained in is destroyed or
there will be dangling references to canvas items that have already been
deleted and trying to delete them again will be bad.

8 years agoEnable i18n for info/error messages in MidiPatchManager
Tim Mayberry [Mon, 19 Oct 2015 10:51:01 +0000 (20:51 +1000)]
Enable i18n for info/error messages in MidiPatchManager

8 years agoOnly parse additional Session midnam files on Session load
Tim Mayberry [Mon, 19 Oct 2015 10:23:33 +0000 (20:23 +1000)]
Only parse additional Session midnam files on Session load

When loading a Session add the Session patchfiles directory to the
MidiPatchManager search path and only process/parse the files for that
directory rather than refreshing/reparsing all the files. Similarly for unload,
just unload the devices that are from the Session specific midnam files instead
of removing the path and refreshing/reparsing all the files.

This will not remove the "system" midnam files as they are always added first
and duplicates from the session patchfiles directory are ignored.

8 years agoStore the file path when constructing MidiNameDocument
Tim Mayberry [Mon, 19 Oct 2015 10:18:16 +0000 (20:18 +1000)]
Store the file path when constructing MidiNameDocument

This is so we can compare and see if we have already parsed the file

8 years agoDecouple Session from MidiPatchManager and reduce parsing of midnam xml files
Tim Mayberry [Mon, 19 Oct 2015 04:52:48 +0000 (14:52 +1000)]
Decouple Session from MidiPatchManager and reduce parsing of midnam xml files

The MidiPatchManager only requires a reference to the session to get the path
to the Session midnam directory so change it so that the path is passed to
MidiPatchManager::add_search_path on Session construction and removed on
Session Destruction. This will also make it easier to test and reduce compile
times etc.

For the common case where the Session doesn't have a Session specific midnam
patch files directory(for instance a new session) it won't cause a refresh and
reparsing of all the midnam files. This saves about 2 seconds to load a Session
on my machine(fast machine with SSD), or about half the time spent in the
Session constructor for a new session.

There is still going to be that initial cost of parsing the midnam files when
the first session is created after starting Ardour. Options to remove that
would be to parse the files asynchronously and or use a faster xml
parser(eventually), neither of which seem worth doing at this stage.

This change will cause a performance regression for the uncommon case where a
Session with Session specific midnam files is unloaded and then another Session
with Session specific midnam files is loaded as it will cause the common midnam
files in midi_patch_path to be parsed twice(unload and load).

8 years agoAdd PBD::Searchpath::contains method to check if a Searchpath contains a path
Tim Mayberry [Mon, 19 Oct 2015 04:46:50 +0000 (14:46 +1000)]
Add PBD::Searchpath::contains method to check if a Searchpath contains a path

8 years agoExpose protected PBD::Searchpath API
Tim Mayberry [Mon, 19 Oct 2015 03:04:00 +0000 (13:04 +1000)]
Expose protected PBD::Searchpath API

I prefer to use these as they are more explicit than using the overloaded
operators.

8 years agoDon't parse midnam patch files contained in Session twice
Tim Mayberry [Mon, 19 Oct 2015 02:01:04 +0000 (12:01 +1000)]
Don't parse midnam patch files contained in Session twice

MidiPatchManager::refresh already adds the patch files contained in the session
folder

8 years agoRefactor common code in MidiPatchManager class into new method
Tim Mayberry [Mon, 19 Oct 2015 00:08:47 +0000 (10:08 +1000)]
Refactor common code in MidiPatchManager class into new method

8 years agoDon't call MidiPatchManager::refresh when creating MidiPatchManager instance
Tim Mayberry [Sun, 18 Oct 2015 22:42:28 +0000 (08:42 +1000)]
Don't call MidiPatchManager::refresh when creating MidiPatchManager instance

Currently when loading a session for the first time MidiPatchManager::instance
creates the MidiPatchManager singleton which calls MPM::refresh and all the
midnam files are parsed etc. MPM::set_session is then immediately called and
all the MPM state that has just been set when parsing all the midnam files is
cleared and the parsing of all the files is performed again but this time with
any session specific midnam patch files.

MPM::instance and MPM::set_session consume about 55% of the time spent in the
Session ctor according to kcachegrind and removing the double call to refresh
brings Session construction time for a particular test session down from 7.5s
to 5.5s

8 years agoFix a small buffer issue which could sometimes prevent sessions from being able to...
John Emmas [Thu, 22 Oct 2015 15:35:13 +0000 (16:35 +0100)]
Fix a small buffer issue which could sometimes prevent sessions from being able to load

In the function 'LV2Plugin::add_state()' the snprintf() call can easily print 19 or even 20 bytes - so a 16-byte buffer wasn't large enough.

8 years agoBuild freedesktop files if requested.
nick_m [Thu, 22 Oct 2015 15:21:01 +0000 (02:21 +1100)]
Build freedesktop files if requested.

8 years agoAmend last commit.
nick_m [Thu, 22 Oct 2015 15:14:03 +0000 (02:14 +1100)]
Amend last commit.

8 years agoCenter some windows known to be presented by ardour.
nick_m [Thu, 22 Oct 2015 14:10:56 +0000 (01:10 +1100)]
Center some windows known to be presented by ardour.

8 years agofix edge-case: (move playhead w/o session)
Robin Gareus [Thu, 22 Oct 2015 12:14:27 +0000 (14:14 +0200)]
fix edge-case: (move playhead w/o session)

8 years agoremove invalid assertion - #6634
Robin Gareus [Thu, 22 Oct 2015 10:20:42 +0000 (12:20 +0200)]
remove invalid assertion - #6634

There is a highly unlikely case where the render thread can have zero
requests in the queue, but it is not supposed to be terminated.

 1) WaveView::queue_get_image();
wake up thread, *but* the thread does not start yet
 2) WaveView::cancel_my_render_request();
and now the thread starts.

1,2 are initiated by user actions from the GUI thread and are normally
orders of magnitude slower than scheduler-thread wakeup.

8 years agoAdd some newly introduced sources to our MSVC project (libardour)
John Emmas [Thu, 22 Oct 2015 08:19:02 +0000 (09:19 +0100)]
Add some newly introduced sources to our MSVC project (libardour)

8 years agoMerge branch 'chaot4-fix_overwrite_file'
Paul Davis [Thu, 22 Oct 2015 03:28:58 +0000 (23:28 -0400)]
Merge branch 'chaot4-fix_overwrite_file'

8 years agoAlso use overwrite_file_dialog at all the other places.
André Nusser [Mon, 12 Oct 2015 11:01:05 +0000 (13:01 +0200)]
Also use overwrite_file_dialog at all the other places.

8 years agoConfirmation on overwrite for track and session templates. -fixes #6587
André Nusser [Mon, 12 Oct 2015 10:29:16 +0000 (12:29 +0200)]
Confirmation on overwrite for track and session templates. -fixes #6587

8 years agoAdd overwrite option to save_template. (default = false)
André Nusser [Mon, 12 Oct 2015 10:27:28 +0000 (12:27 +0200)]
Add overwrite option to save_template. (default = false)

Before it could not overwrite.

8 years agofix automation update at transport stop when in automation Play mode
Paul Davis [Thu, 22 Oct 2015 03:06:40 +0000 (23:06 -0400)]
fix automation update at transport stop when in automation Play mode

8 years agofix mute automation in Play automation state
Paul Davis [Thu, 22 Oct 2015 03:06:05 +0000 (23:06 -0400)]
fix mute automation in Play automation state

8 years agoAdd AutomationControl::set_value_unchecked() and AutomationControl::writable() and...
Paul Davis [Thu, 22 Oct 2015 02:31:30 +0000 (22:31 -0400)]
Add AutomationControl::set_value_unchecked() and AutomationControl::writable() and use them.

Classes derived from AutomationControl now check ::writable() in their ::set_value() methods to ensure that they
do not attempt to overwrite data sent to them while automation playback is underway.

8 years agoadd commentary and clean up blank lines
Paul Davis [Thu, 22 Oct 2015 02:30:13 +0000 (22:30 -0400)]
add commentary and clean up blank lines

8 years agoMore desktop file renaming.
nick_m [Wed, 21 Oct 2015 16:51:15 +0000 (03:51 +1100)]
More desktop file renaming.

8 years agoRemove old ardour3 desktop files.
nick_m [Wed, 21 Oct 2015 15:54:53 +0000 (02:54 +1100)]
Remove old ardour3 desktop files.

8 years agoAdd ardour4 desktop and mime type files.
nick_m [Wed, 21 Oct 2015 15:46:18 +0000 (02:46 +1100)]
Add ardour4 desktop and mime type files.
- looks like the install target for these has been removed, but
  the existence of these may be of help to packagers.

8 years agoUser interaction preferences tooltips clarify button names.
nick_m [Wed, 21 Oct 2015 14:23:36 +0000 (01:23 +1100)]
User interaction preferences tooltips clarify button names.

8 years agovariable name change: make purpose of formerly named "_values" in LV2 plugin UI code...
Paul Davis [Wed, 21 Oct 2015 12:10:25 +0000 (08:10 -0400)]
variable name change: make purpose of formerly named "_values" in LV2 plugin UI code more clear

And if this is wrong, then rename it again with the right one

8 years agovariable name change: percent is 0..100, 0..1.0 is a fraction
Paul Davis [Wed, 21 Oct 2015 12:09:40 +0000 (08:09 -0400)]
variable name change: percent is 0..100, 0..1.0 is a fraction

8 years agoensure that mutator function for CONFIG_VARIABLE_SPECIAL is used when assigning initi...
Paul Davis [Wed, 21 Oct 2015 11:53:21 +0000 (07:53 -0400)]
ensure that mutator function for CONFIG_VARIABLE_SPECIAL is used when assigning initial value during construction

8 years agoMake sure Mackie Control view modes start with route 1 except Mixer mode goes to...
Len Ovens [Wed, 21 Oct 2015 02:31:04 +0000 (19:31 -0700)]
Make sure Mackie Control view modes start with route 1 except Mixer mode goes to last position.

8 years agoAdded "Selected" view mode to Mackie Control.
Len Ovens [Wed, 21 Oct 2015 01:54:56 +0000 (18:54 -0700)]
Added "Selected" view mode to Mackie Control.

8 years agoFix crash in new CoreaudioSource code (on invalid file)
Robin Gareus [Wed, 21 Oct 2015 01:12:45 +0000 (03:12 +0200)]
Fix crash in new CoreaudioSource code (on invalid file)

8 years agoconfirm LV2 GUI changes
Robin Gareus [Tue, 20 Oct 2015 23:57:16 +0000 (01:57 +0200)]
confirm LV2 GUI changes

If a parameter change is initiated by the UI, the host sends a
notifications to confirm (echo) or invalidates (replaces) the value.
(automation: touch, playback,...).

Stateless LV2 GUIs without internal data-model depend on this.

8 years agohack to keep UI responsive with heavy AU views.
Robin Gareus [Tue, 20 Oct 2015 17:14:14 +0000 (19:14 +0200)]
hack to keep UI responsive with heavy AU views.

8 years agoOSX copy/constraint mod tweak (amend 0675fe1)
Robin Gareus [Tue, 20 Oct 2015 14:15:38 +0000 (16:15 +0200)]
OSX copy/constraint mod tweak (amend 0675fe1)

8 years agodo not update LV2 output port displays unless the value has changed
Paul Davis [Tue, 20 Oct 2015 15:39:56 +0000 (11:39 -0400)]
do not update LV2 output port displays unless the value has changed

8 years agoadd commentary
Paul Davis [Tue, 20 Oct 2015 15:31:18 +0000 (11:31 -0400)]
add commentary

8 years agoalso update LV2 output port displays as part of periodic updates
Paul Davis [Tue, 20 Oct 2015 15:28:53 +0000 (11:28 -0400)]
also update LV2 output port displays as part of periodic updates

8 years agofix AudioUnit parameter listening to work with new ParameterChangedExternally semantics
Paul Davis [Tue, 20 Oct 2015 14:24:39 +0000 (10:24 -0400)]
fix AudioUnit parameter listening to work with new ParameterChangedExternally semantics

8 years agoClean up generic and LV2 plugin GUI to deal with ParameterChanged(Externally) alteration
Paul Davis [Tue, 20 Oct 2015 14:12:51 +0000 (10:12 -0400)]
Clean up generic and LV2 plugin GUI to deal with ParameterChanged(Externally) alteration

8 years agorename Plugin::ParameterChanged to ParameterChangedExternally to reflect its intent...
Paul Davis [Tue, 20 Oct 2015 14:12:21 +0000 (10:12 -0400)]
rename Plugin::ParameterChanged to ParameterChangedExternally to reflect its intent, and clean up the libardour side of result.

The signal exists to notify listeners that something outside of the host's control (e.g. a plugin's own GUI for AU or VST)
has modified a plugin parameter. Previous code had strange feedback loops and ambiguous semantics.

8 years agoRevert "rename ParameterChanged signal in Plugin to ParameterChangedExternally to...
Paul Davis [Tue, 20 Oct 2015 14:10:35 +0000 (10:10 -0400)]
Revert "rename ParameterChanged signal in Plugin to ParameterChangedExternally to reflect its intent, and clean up the result."

This reverts commit 336b2eb9a4a8634bae84a15e952d20335aa28c12.

8 years agopossible fix for invalid cleanup space calc on win32.
Robin Gareus [Tue, 20 Oct 2015 13:08:50 +0000 (15:08 +0200)]
possible fix for invalid cleanup space calc on win32.

8 years agoNOOP, re-indent
Robin Gareus [Tue, 20 Oct 2015 13:08:02 +0000 (15:08 +0200)]
NOOP, re-indent

8 years agoremove cruft
Robin Gareus [Tue, 20 Oct 2015 13:06:54 +0000 (15:06 +0200)]
remove cruft

8 years agorename ParameterChanged signal in Plugin to ParameterChangedExternally to reflect...
Paul Davis [Tue, 20 Oct 2015 13:07:51 +0000 (09:07 -0400)]
rename ParameterChanged signal in Plugin to ParameterChangedExternally to reflect its intent, and clean up the result.

The signal exists to notify listeners that something outside of the host's control (e.g. a plugin's own GUI for AU or VST)
has modified a plugin parameter. Previous code had strange feedback loops and ambiguous semantics.

Significant modification of LV2 GUI updating was required.

Still to be tested for feedback loop issues: AudioUnits

8 years agoremove unused "copy modifier hint"
Robin Gareus [Tue, 20 Oct 2015 09:12:36 +0000 (11:12 +0200)]
remove unused "copy modifier hint"

8 years agosuggest primary-mod as default for copy
Robin Gareus [Tue, 20 Oct 2015 09:12:14 +0000 (11:12 +0200)]
suggest primary-mod as default for copy

fixes inconsistency on OSX.