DokuWiki LADSPA plugin

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.

Work in progres

Notes

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:

LADSPA tagging

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 patternTag-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.

other TODO items

  • see TODO, FIXmE and XXX marks in the source.
  • add a reset-to-defaults preset & button.
  • AJAX (save as preset, on-port-value-change notifications)
  • add LV2 plugin and generic data parser. RDF parser.
  • improve style and color.
  • toggle Legend box (alike TOC ?!).
 
wiki/dokuladspa.txt · Last modified: 23.12.2011 21:25 (external edit)