13
0
Commit Graph

41 Commits

Author SHA1 Message Date
e297951b30 Extend LV2UI-Request-Parameter File/Path GUI
This is a bit of a playground implementation, the various `#if 0`
code-blocks should be removed.
2018-11-22 15:02:35 +01:00
07beca2852 Early prototype for _LV2UI_Request_Parameter extension 2018-11-21 02:27:18 +01:00
b976bf8986 NO-OP whitespace & foratting of header files 2017-07-01 21:19:56 +02:00
5dd5bf0f70 notify LV2 GUIs about port-changes when loading presets 2015-10-28 04:06:14 +01:00
0880a166c4 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
2015-10-21 08:10:25 -04:00
ac008dac02 Clean up generic and LV2 plugin GUI to deal with ParameterChanged(Externally) alteration 2015-10-20 10:23:49 -04:00
7804a524dc Revert "rename ParameterChanged signal in Plugin to ParameterChangedExternally to reflect its intent, and clean up the result."
This reverts commit 336b2eb9a4.
2015-10-20 10:23:49 -04:00
336b2eb9a4 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
2015-10-20 09:07:58 -04:00
a0eeb80885 fix embedded plugin UI keyboard handling
When the GUI is opened the first time all is fine, focus is on the
embedded widget. However once a user presses one of the preset buttons
(Add, Save,...) there is no possibility to return focus to the
embedded widget. Ardour always 'sees' it as focus=GtkButton and passes
the event to the editor.
2015-02-21 03:16:04 +01:00
03c26762e6 update external plugin UI handling
amend to 4cdb018 and 1d972d0

override ui_closed() behavior for lv2ui:external
Keep UI around and do not re-instantiate, but simply show it again.
(this is against the original specs but was agreed upon by various
authors and the previous behavior or Ardour.)

kx:external-ui are cleaned up after ui_closed().
2013-08-29 13:05:11 +02:00
1d972d05c5 add LV2 support for kx:external-ui#
the ABI of http://kxstudio.sf.net/ns/lv2ext/external-ui# is identical to
http://lv2plug.in/ns/extensions/ui#external
It just adds a distinction between #Host and #Widget for cosmetic reasons.
Sadly some newer plugins are released with only support for kxstudio URI :(
2013-08-25 16:21:18 +02:00
3ca63cc38c fix gtk "child->parent == NULL" asserts 2013-08-03 13:45:27 +02:00
4e3aee3548 LV2: Send messages from one UI to all replicated instances.
Addresses issue mentioned in previous commit.

git-svn-id: svn://localhost/ardour2/branches/3.0@13149 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-28 15:42:42 +00:00
7b7140f5ed Create and realize LV2 UI container before instantiating (required for proper embedding in some situations).
git-svn-id: svn://localhost/ardour2/branches/3.0@13140 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-21 19:29:19 +00:00
d99311d21b Implement ui:portIndex and ui:touch features.
Touch should allow custom plugin UIs to work properly with automation as the
generic UI does.  IIRC this was requested for mixbus, however, no current
plugin UI I am aware of implements it, so it is completely untested.


git-svn-id: svn://localhost/ardour2/branches/3.0@11888 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 04:53:47 +00:00
1716dc0ce6 Update to latest LV2 atom extension.
Implement proper support for fixed size LV2 plugin UIs.


git-svn-id: svn://localhost/ardour2/branches/3.0@11757 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-25 17:17:40 +00:00
Carl Hetherington
0e5abb0e4b Make lv2ui_instantiate and lv2ui_free a little more symmetrical, so that there aren't GTK errors on reopening a LV2 plugin UI because of trying to repack already packed widgets (#4733).
git-svn-id: svn://localhost/ardour2/branches/3.0@11589 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-04 21:45:51 +00:00
1e6694f41a Use FastScreenUpdate for UI message updating, and only if plugin has message output ports.
git-svn-id: svn://localhost/ardour2/branches/3.0@11521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25 20:43:14 +00:00
c65b95f6d3 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@11520 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25 09:19:03 +00:00
4d7810dee8 Full round-trip message communication between LV2 UIs and plugins.
Still a little bit rough around the edges, but it works.  This can be tested
with the eg-sampler plugin from LV2 svn (whose UI can load different samples).


git-svn-id: svn://localhost/ardour2/branches/3.0@11519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25 08:43:23 +00:00
ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
d367b210f4 Create and destroy (non-external) LV2 plugin UIs as window is shown/hidden.
Fixes ticket #4067 (not to mention avoids having every UI that has ever been shown loaded in memory until exit time...)


git-svn-id: svn://localhost/ardour2/branches/3.0@9638 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-31 02:00:16 +00:00
4e49c56361 Completely localist use of SLV2 to lv2_plugin.cc and lv2_plugin_ui.cc.
git-svn-id: svn://localhost/ardour2/branches/3.0@9514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-14 21:05:26 +00:00
06e8b6452d Fix external UIs (e.g. Calf git).
git-svn-id: svn://localhost/ardour2/branches/3.0@9442 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-28 15:36:51 +00:00
e54a8f8437 Update for new Suil API.
git-svn-id: svn://localhost/ardour2/branches/3.0@9437 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-28 01:52:51 +00:00
c37722f7dc Use new Suil and SLV2 APIs for LV2 plugin UIs.
Add lv2_ui.h (required by lv2_external_ui.h).


git-svn-id: svn://localhost/ardour2/branches/3.0@9406 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-22 08:08:37 +00:00
b1697a75ac Fix LV2 UI related memory errors with new SLV2.
git-svn-id: svn://localhost/ardour2/branches/3.0@9150 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-14 21:02:51 +00:00
ca9a816d30 Update for new SLV2 UI API.
git-svn-id: svn://localhost/ardour2/branches/3.0@9108 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 20:14:45 +00:00
Carl Hetherington
fb2ef7cb9a Call PluginControl when a LV2 GUI control changes, rather than calling the plugin directly. Fixes problems with ganged mono plugins on multi-channel tracks.
git-svn-id: svn://localhost/ardour2/branches/3.0@9076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-04 23:14:16 +00:00
Carl Hetherington
5f4bdb233a Clean up plugin preset handling a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@8301 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-19 23:11:01 +00:00
da8eec7a83 remove Glib::ustring from gtk2_ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@7774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14 16:51:02 +00:00
aae367b63c use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +00:00
e5258d4ed1 Fix angle bracket project-local include paths.
git-svn-id: svn://localhost/ardour2/branches/3.0@5975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30 00:21:40 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
37779a45c9 LV2 external UI patch from nedko via 2.X and a couple of .rej's
git-svn-id: svn://localhost/ardour2/branches/3.0@5702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-01 16:28:02 +00:00
88beef2e93 merge pre- and post-fader processor boxes; start removing Placement (not finished) ; add -DWAF_BUILD and use per-directory foobar-config.h to correctly pick up configure-time settings like HAVE_OGG ; check for libgiomm (part of upgrade to newer gtk stack); 32 bit marker reload fix from 2.X; audiounit IO config cache fix from 2.X; multi-add route template fix from 2.X; plugin GUI delete fix from 2.X; solo button labels are A or P for listen mode
git-svn-id: svn://localhost/ardour2/branches/3.0@5344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-13 00:26:28 +00:00
8491953e20 Fix LV2 compilation.
git-svn-id: svn://localhost/ardour2/branches/3.0@5030 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-03 19:53:09 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
ad9913538e Apply LV2 GUI parameter update patch from kfoltman.
git-svn-id: svn://localhost/ardour2/branches/3.0@4407 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-14 15:47:58 +00:00
7f66b71539 Apply LV2 changes from 2.0.
Completely and utterly untested.


git-svn-id: svn://localhost/ardour2/branches/3.0@4178 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-14 22:14:15 +00:00
c86210a9d5 merge 2.0-ongoing into 3.0 @ 3581 - 3710
git-svn-id: svn://localhost/ardour2/branches/3.0@3712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 21:27:39 +00:00