Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This API is not official, and the upcoming official API differs.
The source-code is left in-place since most of it will be
re-usable as-is, regardless.
|
|
|
|
|
|
Copyright-holder and year information is extracted from git log.
git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
|
|
<drobilla> "This function returns immediately"
|
|
This updates the dependency to 0.24.2, which was released in January 2017 and
is the most recent version in Debian 9 (stretch).
|
|
This is a bit of a playground implementation, the various `#if 0`
code-blocks should be removed.
|
|
|
|
|
|
This fixes a crash when a plugin sends a touch events for non-control ports.
|
|
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
|
|
|
|
|
|
|
|
|
|
|
|
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
|
|
|
|
UI code more clear
And if this is wrong, then rename it again with the right one
|
|
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.
|
|
|
|
|
|
|
|
ParameterChanged(Externally) alteration
|
|
ParameterChangedExternally to reflect its intent, and clean up the result."
This reverts commit 336b2eb9a4a8634bae84a15e952d20335aa28c12.
|
|
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
|
|
This reverts commit 3a6114c02579db5eaf22c1a44efc3c34f504f99c.
The actual solution is http://dev.drobilla.net/ticket/1085
|
|
|
|
|
|
|
|
Before this, LV2 preset deletion in Ardour was doubly broken: the wrong file
was being removed, and removing the correct file would only result in a broken
preset. This change uses a new version of Lilv which has a more sophisticated
mechanism for preset deletion.
Also, fix "clashing" presets saved with the same name for different plugins, by
prefixing the plugin name to the bundle (this is now a recommendation in the
LV2 preset specification).
|
|
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.
|
|
|
|
|
|
PBD::Timers
|
|
Work towards ParameterDescriptor being used more universally to describe control characteristics.
|
|
|
|
Discard messages in LV2PluginUI::write_to_ui() if the
ringbuffer exists but the UI is not active.
This fixes "[ERROR]: Error writing from plugin to UI" messages
if the UI was once active but has been closed since.
This is a hotfix solution, eventually the LV2 backend should be updated
and a function LV2Plugin::disable_ui_emmission() implemented.
|
|
|
|
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.
|
|
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().
|
|
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 :(
|
|
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
|
|
|
|
|
|
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
|
|
Addresses issue mentioned in previous commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@13149 d708f5d6-7413-0410-9779-e7cbd77b26cf
|