NAME
Audio::LADSPA - Perl extension for processing audio streams using LADSPA plugins.
SYNOPSIS
use Audio::LADSPA;
for my $class (Audio::LADSPA->plugins) {
print "\t",$class->name," (",$class->id,"/",$class->label,")";
}
DESCRIPTION
This module starts up a LADSPA 1.1 host environment as a perl extension you can use it to query LADSPA plugins, and to apply plugins to audio streams.
USER GUIDE
This is the reference documentation. If you want a general overview/introduction on this set of modules, take a look at Audio::LADSPA::UserGuide.
STARTUP
By default, use Audio::LADSPA
will attempt to load all libraries in the $ENV{LADSPA_PATH} (a colon seperated list of directories) or "/usr/lib/ladspa" and "/usr/local/lib/ladspa" if $ENV{LADSPA_PATH} is not set.
You can then get the loaded libraries and their plugins using the libraries
, plugins
and plugin
methods described below.
METHODS
All methods in the Audio::LADSPA package are class methods.
plugins
my @availabe_plugins = Audio::LADSPA->plugins();
Returns the list of @available_plugins. These are package names you can use to create a new instance of those plugins, can invoke class-methods on to query the plugins, and pass to Audio::LADSPA::Network to do most of the work for you. See also Audio::LADSPA::Plugin and Audio::LADSPA::Network.
plugin
my $plugin = Audio::LADSPA->plugin( %search_arguments );
Get the package name (class) for a specific Audio::LADSPA::Plugin subclass given the %search_arguments. Returns the first matching plugin class or undef
if none is found. You can use one or less of each of these:
id
my $sine_faaa_class = Audio::LADSPA->plugin( id => 1044 );
Match a plugin class by unique id. If one is loaded returns the class name. If an id
argument is present, other %search_arguments will not be considered.
label
my $delay_5s = Audio::LADSPA->plugin( label => 'delay_5s' );
Match a plugin class by label
. If name
is also specified, the plugin must also match name
.
name
my $noise = Audio::LADSPA->plugin( name => 'White Noise Source' );
Match a plugin class by name
. If label
is also specified, the plugin must also match label
.
libraries
my @loaded_libraries = Audio::LADSPA->libraries();
Returns the list of @loaded_libraries (Audio::LADSPA::Library subclasses), mostly useful if you want to know which plugins are in a specific library.
See also Audio::LADSPA::Library.
SEE ALSO
Audio::LADSPA::UserGuide - the user guide.
Modules and scripts in this distribution
pluginfo - query ladspa plugins.
Audio::LADSPA - this module.
Audio::LADSPA::Library - libraries containing one or more plugins
Audio::LADSPA::Plugin - Base class for ladspa plugins
Audio::LADSPA::Plugin::XS - Base class real (compiled) ladspa plugins
Audio::LADSPA::Plugin::Perl - Base class for perl-based ladspa plugins.
Audio::LADSPA::Buffer - audio/data buffer that can be used to control a plugin or to connect plugins together
Audio::LADSPA::Network - a set of connected plugins and buffers
Audio::LADSPA::LibraryLoader - loads ladspa shared libraries (.so files) into Audio::LADSPA::Library classes
Audio::LADSPA::Plugin::Play - output audio to soundcard.
Audio::LADSPA::Plugin::Sequencer4 - a simple 4-step sequencer.
Links
For more information about the LADSPA API, and how to obtain more plugins, see http://www.ladspa.org/
The website for these modules is located at: http://www.hortus-mechanicus.net/perl/
THANKS TO
Mike Castle, for providing a patch for non-C'99 compilers.
COPYRIGHT AND LICENSE
Copyright (C) 2003 - 2004 Joost Diepenmaat <joost AT hortus-mechanicus.net>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.