From 860764b30ab91e6af1ee98d26eaa622b215df948 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Mon, 12 May 2003 10:37:47 +0000 Subject: 18520: add a bunch of old new completions (had all been left unfinished awhile) --- Completion/Unix/Command/_ecasound | 210 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 Completion/Unix/Command/_ecasound (limited to 'Completion/Unix/Command/_ecasound') diff --git a/Completion/Unix/Command/_ecasound b/Completion/Unix/Command/_ecasound new file mode 100644 index 000000000..cb6b724a0 --- /dev/null +++ b/Completion/Unix/Command/_ecasound @@ -0,0 +1,210 @@ +#compdef ecasound + +local curcontext="$curcontext" state line expl +typeset -A opt_args + +_arguments \ + '-c[start in interactive mode]' \ + '(-q)-d\:-[debug level]:debug level' \ + '-D[print all debug information to stderr]' \ + '(-d)-q[quiet mode, no output]' \ + '(-)--help[show usage information]' \ + '(-)--version[show version information]' \ + '-n\:-[set the name of chainsetup]:chainsetup name' \ + '-s\:-[create a new chainsetup from file]:chainsetup file:_files' \ + '-sr\:-[set internal sampling rate]:Internal sampling rate:(8000 11025 22050 44100 48000)' \ + '*-a\:-[select active signal chains]:chain name' \ + '-b\:-[set the size of buffer in samples]:buffer size:->b' \ + '-m\:-[force use of specified mix mode]:Mix mode:((auto\:Automatic simple\:Only\ one\ input/cain/output normal\:Normal\ single-threaded\ mode))' \ + '-r[use realtime scheduling policy (SCHED_FIFO)]' \ + '-r\:-[use realtime scheduling policy (SCHED_FIFO)]:sched_priority' \ + '-x[truncate outputs]' \ + '*-z\:-[enable feature]:feature:->z' \ + '-t\:-[set processing time in seconds]:seconds (int/float)' \ + '-tl[enable looping]' \ + '*-f\:-[set sampling parameters for the following input/output files]: :->f' \ + '*-y\:-[set starting position for last specified input/output]:seconds' \ + '*-i\:-[specifies a new input source]:input source:->io' \ + '*-o\:-[specifies a new output source]:output source:->io' \ + '*-Md\:-[set the active MIDI-device]:device name:_files' \ + '*-Mms\:-[send MMC start/stop to MIDI device-id]:device id' \ + '*-mss[sends MIDI-sync to the selected MIDI-device]' \ + '*-pf\:-[use the first preset found from file as chain operator]:preset file:_files -g *.epp' \ + '*-pn\:-[find preset from global preset database]:preset name:->pn' \ + '*-ev[analyze sample data to find max apm value without clipping]' \ + '*-ezf[find the optimal value for DC-adjusting]' \ + '*-eS\:-[audio stamp]:stamp-id (int)' \ + '*-ea\:-[amplify signal]:amplification value (percent)' \ + '*-eac\:-[amplify signal of channel]: :->eac' \ + '*-eaw\:-[amplify singal (clipping)]: :->eaw' \ + '*-eal\:-[limits audio level]:limit (percent)' \ + '*-ec\:-[compressor (a simple one)]: :->ec' \ + '*-eca\:-[a more advanced compressor]: :->eca' \ + '*-enm\:-[noise gate. (each channel is processes separately)]: :->enm' \ + '*-ei\:-[pitch shifter (modifies audio pitch by altering its length)]:pitch-shift (percent)' \ + '*-epp\:-[normal pan effect]:panning (0=left, 50=center, 100=right)' \ + '*-ezx\:-[adjusts the signal DC (use -ezf to find optimal values)]: :->ezx' \ + '*-eem-[envelope modulation]: :->emod' \ + '*-ef-[apply filter effects]: :->filters' \ + '*-erc\:-[copy channel]: :->erc' \ + '*-erm\:-[mix all channels to one channel]:to channel' \ + '*-et-[time based effects]: :->teffects' \ + '*-el\:-[LADSPA Plugin]: :->el' \ + '*-eli\:-[LADSPA Plugin]: :->el' \ + '*-gc\:-[time crop gate]: :->gc' \ + '*-ge\:-[threshold gate]: :->ge' \ + && return 0 + +case $state in + filters) + _values -S : 'filter effect' \ + '1[resonant bandpass filter]: :->ef1' \ + '3[resonant lowpass filter]: :->ef3' \ + '4[resonant lowpass filter (3rd-order, 36dB)]: :->ef4' \ + 'a[allpass filter]: :->efa' \ + 'c[comb filter]: :->efc' \ + 'b[bandpass filter]: :->efb' \ + 'h[highpass filter]:cutoff frequency' \ + 'i[inverse comb filter]: :->efi' \ + 'l[lowpass filter]:cutoff frequency' \ + 'r[bandreject filter]: :->efr' \ + 's[resonator (resonating bandpass filter)]: :->efs' + ;; + teffects) + _values -S : 'time based effect' \ + 'c[chorus]: :->etc' \ + 'd[delay effect]: :->etd' \ + 'e[a more advanced reverb effect]: :->ete' \ + 'f[fake-stereo effect]:delay time (msec)' \ + 'l[flanger]: :->etl' \ + 'm[multitap delay]: :->etm' \ + 'p[phaser]: :->etp' \ + 'r[reverb effect]: :->etr' + ;; + emod) + _values -S : 'envelopme modulation' \ + 'b[pulse gate]: :->eemb' \ + 'p[pulse gate (hz)]: :->eemp' \ + 't[tremolo effect]: :->eemt' + ;; +esac + +case $state in + b) + _wanted -V sizes expl 'buffer size' compadd \ + 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 + ;; + f) + if compset -P '*,*,*,'; then + _values 'interleaving' \ + 'i[interleaved stream format]' \ + 'n[noninterleaved]' + elif compset -P '*,*,'; then + _message 'sampling rate' + elif compset -P '*,'; then + _message 'channels' + else + _values 'sampling parameters' \ + 'u8[unsigned 8-bit]' \ + 's16_le[signed 16-bit little endian]' \ + 's16_be[signed 16-bit big endian]' \ + 's24_le[signed 24-bit little endian]' \ + 's24_be[signed 24-bit big endian]' \ + 's32_le[signed 32-bit little endian]' \ + 's32_be[signed 32-bit big endian]' \ + 'f32_le[32-bit float (little endian)]' \ + 'f32_be[32-bit float (big endian)]' + fi + ;; + z) + _values -s , feature \ + '(nodb)db[enable double-buffering]' \ + '(db)nodb[disable double-buffering]' \ + 'dbsize[set db buffer size]:buffer size in sample frames:(0 1 2 4 8 16)' \ + '(nointbuf)intbuf[use extra internal buffering for realtime devices]' \ + '(intbuf)nointbuf[prevent extra internal buffering for realtime devices]' \ + 'xruns[processing will be halted when a under/overrun occurs]' \ + 'psr[enable the precise-sample-rates]' + ;; + io) + if compset -P 'alsa,'; then + if [[ -e /proc/asound ]]; then + eval `grep "^[[:digit:]]" < /proc/asound/cards|awk 'BEGIN {print "_values '\''ALSA device'\''" }; {print "'\''" $1 "[" $6, $7, $8, $9 "]'\''"}'||echo _message Wrong` + else + _message 'ALSA information bot found in proc filesystem' + fi + else + _alternative \ + 'files:input/output file:_files -g "*.(aif|aiff|mid|wav|ewf|mp3|mp2)"' \ + 'streams:stream:(stdin stdout)' \ + 'devices:realtime device:((/dev/dsp alsa\:alsa\ device null\:null\ device))' + fi + ;; + pn) + _wanted presets expl preset compadd \ + ${${(M)${(f)"$(