Commit graph

95 commits

Author SHA1 Message Date
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
Stefan Kost e4a3bc43c0 lv2: add more examples 2010-03-25 23:02:00 +02: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
Yaakov Selkowitz fac1f741c3 signalprocessor: Use correct CFLAGS for the signalprocessor headers in LV2/LADSPA
This makes sure that the headers from the source tree are taken and not
accidentially installed system headers in the case of builddir!=srcdir.

Fixes bug #602161.
2009-11-18 08:05:55 +01: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 00a4088950 Add swh and calf LV2 port group patches. 2009-09-17 09:46:48 +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
Dave Robillard 8eeb2f3751 Query and store port group information.
Replace port index arrays with a struct for holding more information
than just indices (e.g. groups).
2009-09-17 09:46:48 +03:00
Dave Robillard db1a4ba50b Working basic LV2 signal processing.
LV2 plugins, short of any surprises, should work with the same basic
functionality as LADSPA plugins.
2009-09-17 09:46:47 +03:00
Dave Robillard ab96789f58 Set class inPlaceBroken property. 2009-09-17 09:46:47 +03:00
Sebastian Dröge 5a8e9cd080 signalprocessor: Fix various build/dist issues
Install the headers, version the library with @GST_MAJORMINOR@,
add all required libraries to _LIBADD instead of _LDFLAGS,
and add GST_*_LDFLAGS to _LDFLAGS.

Fixes bug #594715.
2009-09-10 07:56:25 +02:00
Stefan Kost 60fa2e2cce make: remove whitespace after trailing backslash 2009-07-21 17:52:32 +03:00
Dave Robillard 78a12a37a3 Use GST_WARNING instead of fprintf. 2009-06-26 00:09:36 +03:00
Dave Robillard 72ae74e889 Add LV2 quick start README. 2009-06-26 00:09:34 +03:00
Stefan Kost a2a0322df9 signalprocessor: use $(top_builddir) instead of relative paths 2009-06-22 23:50:49 +03:00
Dave Robillard ea184d72f5 Working LV2 plugin discovery.
- Separate gstsignalprocessor into a separate library (not sure if this
  is in the right place, but it works for now anyway)
- Create LV2 element based on LADSPA element, port most discovery
  functionality
2009-06-22 22:25:03 +03:00