if(($ACT == 'edit' || $ACT == 'preview') && $INFO['editable']){ ?> } else { ?> } ?>
Visualizes LADSPA plugins and allows to demonstrate audio effect-presets in a wiki page story.
It consists of CSS/JavaScript/XHTML visualization scripts and a parser for the output of the LADSPA utility analyseplugin
.
use the git repository for now. See http://robin.linuxaudio.org/apps4/ladspa/so/dj_eq_1901 for an example usage and http://robin.linuxaudio.org/apps4/wiki/ladspa_test for an example article.
This dokuwiki plugin is actually a fork of a small standalone project, using the same JavaScript in a different XHTML context. Once the dokuwiki visualization is done it will be merged back and I'll publish the main project.
Before getting there there's few features to gain:
There's a standalone PHP script that collects all plugins available on the system using listplugins
and later gathers information about them using analyseplugin
which provides all the necessary information apart from proper category tags.
To remedy this one can do a regular-expression search on the plugin's title and label. Here's a set of pattern ⇒ Tag-name pairs that I've come up with. Please comment.
Note: \b
denote word boundaries, /i
case insensitive comparisons.
array( '/verb/i' => 'Reverb', '/plate/i' => 'Reverb', '/echo/i' => 'Reverb', # actually 'Delay' ?! '/delay/i' => 'Delay', '/distor/i' => 'Distortion', '/ambisonic/i' => 'Ambisonic', '/fuzz/i' => 'Distortion', '/valve/i' => 'Distortion', '/overd/i' => 'Distortion', '/Chorus/i' => 'Phasing', '/Flange/i' => 'Phasing', '/Phaser/i' => 'Phasing', '/Phase/i' => 'Phasing', '/Filter/i' => 'Filter', '/pass/i' => 'Filter', '/Resonan/i' => 'Resonant', '/moog/i' => 'Moog', '/Pitch/i' => 'Pitch', '/Pitchshift/i' => 'Pitch', '/ir\b/i' => 'Impulse_Response', '/matrix/i' => 'matrix', '/quanti/i' => 'Quantiser', '/\brandom\b/i' => 'Noise', '/noise\b/i' => 'Noise', # '/\bpan/i' => 'Panner', '/\bpan/i' => 'Panorama', '/\bamp/i' => 'Amplifier', '/\bpreamp/i' => 'Amplifier', # ?? '/\bTone/i' => 'Tone_Control', '/\banalog/i' => 'Analogue', '/\bTube/i' => 'Tube', '/Cabinet/i' => 'Speaker Emulation', '/\bOsc/i' => 'Oscillator', '/VCO/i' => 'Oscillator', '/generator/i' => 'Generator', '/adsr/i' => 'ADSR', # Dynamics ?! '/emulat/i' => 'Emulation', '/decay/i' => 'ADSR', # actually 'Reverb' ?! '/limit/i' => 'Dynamics', '/\bcompres/i' => 'Dynamics', '/sc[0-4]/i' => 'Dynamics', '/se[0-4]/i' => 'Dynamics', '/expand/i' => 'Dynamics', '/dynamic/i' => 'Dynamics', '/parametri/i' => 'Parametric', '/\beq\b/i' => 'Equalizer', # beware of frEQuencies! '/\bequali/i' => 'Equalizer', );
Once the above patterns are stable, I'll post the script to generate a list of all plugins on the host it runs exporting the data as DokuWiki pages, ready for copy/paste or upload. stay tuned.
TODO
, FIXmE
and XXX
marks in the source.