LADSPA RDF Support
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
I think the TAP plugins explain this the best, so I'll simply quote the author:
> "The [TAP] plugins have been developed with Ardour as a primary host in mind, but they should be usable within any LADSPA-capable host. The main issue here is that **LADSPA plugins don't generate their own GUIs**, but the GUIs are generated by the host. Therefore the arrangement and appearance of the controls may vary using another host. In particular, Ardour displays drop-down lists instead of pure integer inputs in LADSPA plugin GUIs, if and **when appropriate RDF metadata of the plugins is available. TAP-plugins makes use of this feature**, see the screenshots of TAP Dynamics and TAP Reverberator for example.
>
> **On other (non-RDF-aware) hosts, it is very likely that only numerical input fields will appear in place of drop-down lists.** In this case, the mapping is simple: 0 means the first item in the list, 1 the following and so on. However, no audio processing ability is involved, so the plugins should perform the same way even with a somewhat lacking GUI."
The RDF file format (wikipedia.com):
> "The Resource Description Framework (RDF) is a family of World Wide Web Consortium (W3C) specifications originally designed as a metadata data model. It has come to be used as a general method for conceptual description or modeling of information that is implemented in web resources, using a variety of syntax notations and data serialization formats. It is also used in knowledge management applications."
So it turns out the author of the `swh`plugins (Steve Harris) and Taybin Rutkin wrote a lightweight RDF reader called [`LRDF`](https://github.com/swh/LRDF) which Ardour uses.
I'm having some trouble figuring out exactly how the rdf is loaded and then used to populate the GUI though... Perhaps someone else can help find the relevant code...
https://github.com/Ardour/ardour/blob/master/libs/ardour/ladspa_plugin.cc#L646
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked Ardour implementation at libs/ardour/ladspa_plugin.cc around line 646, then locate LMMS’s LADSPA loading and GUI code. Determine how RDF metadata should be read and mapped to plugin controls. Done means supported RDF metadata can populate appropriate GUI controls while preserving the existing numerical behavior for hosts without RDF support.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100