====== 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 [[http://gareus.org/gitweb/?p=dokuladspa.git|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 **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. ==== 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 ?!). {{tag>floss www dokuplugin}}