01e0f51223
LV2 extUI handling - amend to previous commit.
2013-09-02 16:57:46 +02:00
c05ad01b2d
LV2 external UI handling - revert to <= 3.3. behaviour
...
Don't ever clean up external UI plugins that use the LV2plug.in URI.
only free the memory of the last instance when the plugin is removed
or ardour closes.
2013-09-02 16:21:12 +02: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
4cdb018cae
free memory of external plugins on GUI close (major mem leak).
...
There is at least one known plugin that has a problem with this
(custom thread race condition) but it also crashes in other hosts:
http://www.drumgizmo.org/wiki/doku.php?id=bugs&do=showcaselink&showid=8&project=drumgizmo
tested to be working with various nedko, falktx and x42 plugins
2013-08-25 16:21:18 +02:00
3ca63cc38c
fix gtk "child->parent == NULL" asserts
2013-08-03 13:45:27 +02:00
c33cabeb82
update plugin UIs at reasonable rate (25Hz)
2013-07-11 20:39:24 +02:00
4c5ef5318e
Sent precise transport information to LV2 plugins via events.
...
We send the full transport state (frame position, BBT time, transport speed,
meter) to the plugin:
* At the start of a cycle whenever a relocate or transport speed change has
occurred
* On every occurrence of a meter change within a cycle
This means the plugin gets a sample accurate meter/tempo map, even if the meter
changes in the middle of a cycle. However, this is not quite right yet: things
can get wonky if the tempo map is edited while rolling, since this code will
not detect the change and fail to update the plugin at the start of the cycle.
Other changes:
* Factor out TempoMetric::set_metric() and simplify some tempo functions
* Clean up LV2 URID stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@13513 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17 18:41:19 +00: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
760ccbabfb
add -Wpointer-arith -Wcast-qual -Wcast-align and others to compile flags, and fix const cast warnings generated by new flags
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-10 15:57:09 +00:00
34321110dd
patch for handling LV2 presets from colinf ( #4698 )
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12785 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19 15:59:14 +00:00
6fa6514cfd
Remove over 500 unnecessary includes (including 54 of session.h).
...
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff). I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.
This commit only targets includes of ardour/*.h. There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.
git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
17406258ae
Gracefully handle LV2 UIs that fail to return a widget.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12416 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:50:36 +00:00
bc34fd18c2
Fix crashes when closing LV2 plugin UIs.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12085 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 22:07:05 +00:00
8b111ed224
Fix crash when closing LV2 UIs.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12067 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 19:54:31 +00:00
6e2dd99a04
Remove support for old and/or experimental LV2 stuff.
...
Ardour 3 now simply depends on the latest version of Lilv, which depends on the LV2 package (which contains all the LV2 headers).
git-svn-id: svn://localhost/ardour2/branches/3.0@12041 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20 01:00:45 +00:00
81a76cc0fd
A bit of crash proofiness for insane plugin UIs.
...
Plugin UI touch confirmed working with suil r4173 and distrho JUCE plugin "TAL Filter II".
git-svn-id: svn://localhost/ardour2/branches/3.0@11935 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 04:03:14 +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
Carl Hetherington
5638dd0c17
Patch from Nick to fix crash on closing a LV2 plugin
...
(#4794 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@11764 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-27 21:08:11 +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
fdca23a791
Sshh.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11523 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25 20:55:57 +00:00
66f9f3061f
Fix real-time violation, only send UI updates if explicitly requested by UI.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11522 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25 20:54:38 +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
9383f8e09e
do not crash if an LV2 plugin calls the UI write callback with a port number that ardour has decided is not an automatable parameter. deeper questions surround this commit
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11398 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-31 16:00:19 +00:00
fb5f590b11
Show generic plugin UI toolbar (for presets etc.) on LV2 UIs (except external).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11019 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-18 02:25:19 +00:00
63cf87beb7
Remove LV2 support via SLV2 (Lilv only now).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10184 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-03 18:10:05 +00:00
bb2e171ea5
fix crash for slv-based build when destroying an LV2 plugin GUI; assuming for now that that lilv does this better
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9831 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-10 17:16:58 +00:00
52a1667cc2
remove lv2 GUI debugging, after confirming that LinuxDSP plugins close on plugin deletion or session exit
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9727 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-14 00:20:31 +00:00
395ba6b0d4
more debugging external LV2 GUI cleanup
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9724 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-13 21:05:46 +00:00
d5fee8e2f5
debugging external LV2 GUI cleanup
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9723 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-13 21:00:53 +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
1959efd94d
Support compilation with (old) SLV2, or (new) Lilv and (optionally) Suil.
...
Fix ticket #0004041 .
git-svn-id: svn://localhost/ardour2/branches/3.0@9516 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-15 23:10:13 +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
ac367e8904
Make LV2World local to lv2_plugin.cc
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9513 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-14 19:55:46 +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
62168b674d
reverse debugging stuff
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9424 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24 15:36:56 +00:00
2f1bc2334c
better temporary debugging for slv2/calf issue
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9419 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24 14:13:49 +00:00
a851e3b5d9
more temporary debugging for slv2/calf issue
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24 14:02:22 +00:00
046a91db0b
temporary debugging for slv2/calf issue
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9417 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24 14:00:36 +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
75bea74412
don't assume that there is an AutomationControl for every signalled control
...
change from ::lv2_ui_write()
git-svn-id: svn://localhost/ardour2/branches/3.0@9328 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-07 17:20:30 +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
785e32237d
Fix compilation with old SLV2.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9109 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 22:43:02 +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
fc32ea7642
Uncrustify (no functional changes).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-06 20:23:15 +00:00