Nicolas Dufresne
fbd9a62504
lv2: Try and reflect better lilv default path
...
While keeping it simple, this patch tries and mimic lilv default path.
It does not matter if some path are duplicated due to symlink because in
the end it's lilv that will walk these paths. The worst case is that we
update our cache more often then strictly needed.
https://bugzilla.gnome.org/show_bug.cgi?id=791717
2017-12-18 14:51:12 -05:00
Nicolas Dufresne
8c850b3465
lv2: Recursively monitor the lv2 plugin path
...
Otherwise we might not update the cache when needed.
https://bugzilla.gnome.org/show_bug.cgi?id=791717
2017-12-18 14:51:12 -05:00
Thibault Saunier
78022a6e0c
docs: Port all docstring to gtk-doc markdown
2017-04-12 12:57:57 -03:00
Stefan Sauer
e9a2c4f1e1
lv2: support for loading presets
...
Detect if plugins can do presets. Lazily read a list of presets and add support
for loading.
2016-07-04 21:18:28 +02:00
Stefan Sauer
a1bf2e17cc
lv2: support CVPorts
...
CVPorts are ports that take a buffer. For now we just fill the buffers with
the control value.
2016-05-18 21:33:43 -07:00
Stefan Sauer
b483717322
lv2: cleanup the predicates
...
Use the defines from the headers and get rid of our own namespace defines.
Replace the 'role' prop with 'designation'.
2016-05-15 23:31:33 -07:00
Stefan Sauer
e2184b2fc4
lv2: remove lv2_symbol_pred
...
We're not actually using it.
2016-05-15 17:58:51 -07:00
Stefan Sauer
1c83ce7a96
lv2: add registry caching
...
Use the plugin_cache extra data to avoid introspecting over and over again.
2016-05-15 14:47:22 -07:00
Stefan Sauer
3101fe78f9
lvs: add require_feature checks
...
Plugins can report what host features they need. Since we start to implement host feature
check which plugins we can no suuport.
2016-05-15 14:47:22 -07:00
Stefan Sauer
dfa6fb3c86
lv2: add a source plugin
...
Update the readme with a working example and list what feature are supported.
2016-05-13 11:54:08 -07:00
Stefan Sauer
d7b7d9deb7
lv2: skip plugins that need host features
...
We haven't implemented this yet and those plugin would fail when we instantiate
them.
2016-05-10 22:04:48 -07:00
Thibault Saunier
c32e74fd8a
lv2: Port filters to GStreamer 1.0 and use lilv instead of slv2
...
Properly separate files as we will not have only one single base class
for all elements as we used to with 0.10, but the same way it is done
with ladspa, we subclass GstAudioFilter, GstBaseSource etc...
https://bugzilla.gnome.org/show_bug.cgi?id=678207
2016-03-27 19:28:00 +02:00
Tim-Philipp Müller
9e1b75fda3
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Mark Nauwelaerts
578861abea
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:27:49 +02:00
Sebastian Dröge
cda192b3b7
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 18:02:56 +02:00
Stefan Sauer
9f73890892
controller: port to new controller location and api
2011-11-04 20:14:01 +01:00
Nicolas Dufresne
e8d24859ca
Fix compilation for unused but not set
...
https://bugzilla.gnome.org/show_bug.cgi?id=654572
2011-07-20 13:11:53 -04:00
Stefan Kost
579188d436
lv2: ensure uniqe property names
...
Copy and adjust the code from ladspa plugin to ensure unique gobject property
names.
2011-05-25 23:26:39 +03:00
Stefan Kost
fcf7b11a55
lv2: update url for port-groups extension
2011-03-07 22:41:30 +02:00
Stefan Kost
67c21b18f4
ladspa,lv2: don't fail in plugin_init when having 0 elements
...
If we fail, the plugin scanner will blacklist us.
2010-04-26 15:07:16 +03:00
Benjamin Otte
775c7584fd
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 22:46:41 +01:00
Stefan Kost
88009080e8
lv2: code cleanups
...
More logging and comments. Rename some vars for consistency. Fully init port
struct.
2010-02-01 22:37:39 +02:00
Stefan Kost
ebdf1c2a18
signalprocessor,lv2,ladspa: move sample-rate to baseclass
...
We need the sample-rate in baseclass for upcomming timestamp changes.
2010-02-01 22:32:32 +02:00
Stefan Kost
8f1bb31255
lv2: shorter element names
...
Cut off the protocol part from the uri. Also just g_Strdup, instead of printf
the name.
2010-02-01 22:24:52 +02:00
Stefan Kost
1658472183
lv2: simpify property registration
...
Avoid type cheking casts for each property. Use a running index.
2010-01-31 22:25:52 +02:00
Stefan Kost
792c181edc
lv2: use plugin dependency registry api
2010-01-31 22:25:51 +02:00
Stefan Kost
6f4bf4cf8f
lv2: lookup GQuark just once instead for each plugin+1
2010-01-31 22:25:51 +02:00
Stefan Kost
ee2c1e6624
ladspa/lv2: link and init to gst-controller
2010-01-31 22:25:51 +02:00
Stefan Kost
78b699278c
lv2: add more debug and remove "\n" from debug logging
2010-01-27 23:34:34 +02:00
Stefan Kost
6aed9cfedb
lv2: better gobject properties
...
Use lv2:symbol as a base for the property name and lv2:name for nick and blurb.
2010-01-27 23:31:33 +02:00
Stefan Kost
faa007d4b0
lv2: create valid gobject property names. Fixes #602528
...
We cannot use the names as we get them from lv2 for the gparamspec name, only
for nick/blurb. Apply same algorithms like elsewhere (ladspa) for name.
2010-01-25 11:53:35 +02:00
Benjamin Otte
89d9aaee48
[cleanup] Various style and cleanups
...
Various fixes for gtk-doc warnings and making functions without
arguments take void as parameter.
2010-01-20 13:30:48 +01:00
Stefan Kost
1803eb4d7a
lv2: set the audio-channel positions again, but now in _setup
...
Readd the code that was reverted for the release. We now set audio-channel
positions if any on the pad caps and not on the templates.
2009-11-19 23:01:29 +02:00
Stefan Kost
d7a4293774
lv2: only use g_return_val_if_fail for checking pre-conditions
...
g_return_* can be disabled. Still we want to check for failed instance creation.
2009-11-19 21:11:35 +02:00
Stefan Kost
8a5e9a3363
signalprocessor: change _setup to pass whole caps and not just sampling_rate
...
This allows to get rid of the sampling_rate variable in the base-class. Also now
subclasses can modify the caps to actualy negotiate. This is needed to e.g. set
audio-channel positions.
2009-11-19 21:11:35 +02:00
Stefan Kost
38592a566d
signalprocessor: don't set channel positions in template-caps, Fixes #601775
...
Revert the changes that added audio positions to template caps. We have an un-
fortunate limitation in core that does not allow to do it. Keep a few things
commented out, so that the channel position can later on be set in setcaps.
2009-11-16 10:20:31 +02:00
Stefan Kost
63734cbb3c
lv2: fix pad direction for ungrouped ports
...
Classic copy'n'paste bug.
2009-10-27 22:01:09 +02:00
Stefan Kost
ac3ed46d71
Revert "LV2 preset support."
...
This reverts commit c95f59cd2d
.
2009-09-22 13:44:14 +03:00
Stefan Kost
f82a4fa622
Revert "Fix property index when setting preset."
...
This reverts commit 0a6b22b191
.
2009-09-22 13:43:57 +03:00
Dave Robillard
0a6b22b191
Fix property index when setting preset.
2009-09-22 09:44:07 +03:00
Dave Robillard
c95f59cd2d
LV2 preset support.
2009-09-22 09:44:06 +03:00
Dave Robillard
fa47a5ff3a
More tolerate port group support, plugin cleanup.
...
Gracefully handle plugins with illegal groups that contain no symbol by
treating ports in that group normally (i.e. as if they weren't part of a
group). The port groups spec mandates that groups have a valid unique
symbol, but plugins aren't perfect...
Make (conceptually) static plugin variables actually (C) static,
and clean up SLV2 related things with a GCC shared library destructor,
if GCC is in use.
2009-09-17 09:46:50 +03:00
Dave Robillard
9956118be8
Make mono warning visible in public documentation.
2009-09-17 09:46:49 +03:00
Dave Robillard
374d52d257
Multi-channel support with channel positions.
...
This queries port roles from the LV2 data and converts it into GStreamer
channel positions. This should allow any type of multi-channel plugin
(including beyond stereo, e.g. surround) to work fine in GStreamer,
and with elements that require channel positions to be explicitly stated.
2009-09-17 09:46:49 +03:00
Dave Robillard
8538d382e3
Add documentation for LV2 element.
2009-09-17 09:46:49 +03:00
Dave Robillard
403f58b562
Working multi-channel pads for LV2 plugins.
2009-09-17 09:46:48 +03:00
Dave Robillard
c076e7d34f
Allocate a static predicate for pg:inGroup.
2009-09-17 09:46:48 +03:00
Dave Robillard
1ef08edb7c
Only allocate lv2:inPlaceBroken predicate once.
2009-09-17 09:46:48 +03:00
Dave Robillard
b849ae89b5
Separate port discovery from pad template creation.
...
This first counts ports (using the builtin slv2 functions to do so
rather than manually as before), then creates descriptors for each port
and finds all port groups. Only then are pad templates created (towards
using group information for creating multi-channel pads).
2009-09-17 09:46:48 +03:00
Dave Robillard
28b35ae923
Use silly glib types :).
2009-09-17 09:46:48 +03:00