mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 13:33:52 +01:00
55940daefb
thanks to Rene H. Larsen.
166 lines
8.1 KiB
Plaintext
166 lines
8.1 KiB
Plaintext
#compdef mplayer gmplayer
|
|
|
|
local suf ret=1 curcontext="$curcontext"
|
|
local -a vals state line
|
|
|
|
_x_arguments -C -s \
|
|
'!-abs:buffer size' \
|
|
'-ac[force usage of a specific audio codec]:audio codec attachment:->audio-codecs' \
|
|
'-af[activate audio filters]:filter' -af-adv:option \
|
|
'-afm[force usage of a specific audio codec family]:audio codec family:->audio-codec-families' \
|
|
'-aid:audio channel id' \
|
|
'-alang[select the DVD audio language]:country code' \
|
|
'(-nosound)-ao[specify audio driver]:audio-driver attachment:->audio-drivers' \
|
|
'-aofile:file:_files' \
|
|
'(-nosound)*-aop[specify audio output filter]:audio output filter:->audio-plugins' \
|
|
'-aspect:ratio' \
|
|
'-audiofile:audio file:_files -g "(#i)*.(wav|mp3|ogg)(-.)"' \
|
|
-autoq:quality -autosync:factor \
|
|
-bandwidth:bandwidth\ value -benchmark -bpp:depth \
|
|
'(-nocache)-cache:cache size (kb)' \
|
|
'-cdda:audio CD options:(spped paranoia generic-dev sector-size overlap toc-bias toc-offset skip noskip)' \
|
|
'-cdrom-device:cdrom device:_files -g "*(-%b)"' \
|
|
'-channels:playback channels:((2\:stereo 4\:surround 6\:full\ 5.1))' \
|
|
'-chapter:chapter' -contract:value \
|
|
'-csslib:libcss.so location:_files' \
|
|
-cuefile -delay:delay -demuxer:number -dfbopts:value \
|
|
'(-nodouble)-double[enable double buffering]' \
|
|
'-dr[enable direct rendering]' \
|
|
-dxr2:option -dumpaudio -dumpstream -dumpvideo \
|
|
'-dumpfile:output file:_files' \
|
|
-dumpmicrodvdsub -dumpmpsub -dumpsrtsub -dumpjacosub -dumpsami -dumpsub \
|
|
'-dvd:title id' '-dvdauth:DVD device' \
|
|
'-dvd-device:dvd device:_files -g "*(-%b)"' \
|
|
'-dvdangle:angle id' '-dvdkey:key' \
|
|
'-edl:edl file:_files' '-edlout:edl file:_files' -enqueue \
|
|
'-fbmode:video mode' '-fbmodeconfig:config file:_files' \
|
|
'-fb[specify framebuffer device to use]:device:_files -g "*(-%b)"' \
|
|
'-ffactor:factor:(0 0.75 1 10)' \
|
|
-flip '-font:font.desc file:_files' -forceidx -forcexv -format:format \
|
|
'-fps[force frame rate]:frame-rate' \
|
|
'-framedrop' \
|
|
'-frames:frame number' \
|
|
'-fs[fullscreen]' -fstype:type \
|
|
-gui -{,gui}'wid:X window:_x_window' \
|
|
{-h,-help,--help}'[display help info]' \
|
|
-hardframedrop \-hr-mp3-seek \
|
|
'-hue:video signal hue adjustment' \
|
|
'(-rootwin)-icelayer:icewm layer:((0\:Desktop 2\:Below 4\:Normal 6\:OnTop 8\:Dock 10\:AboveDock 12\:Menu))' \
|
|
'(-use-stdin)-idx[rebuild index of the avi]' \
|
|
'-ifo:ifo file:_files' '-include:config-file:_files' \
|
|
'-input:command:(conf ar-delay ar-rate keylist cmdlist js-dev file)' \
|
|
'-jpeg:option' -lavdopts:option \
|
|
'-lircconf:lirc config file:_files' '-loop:repetitions' \
|
|
'-mc[specify max sync correction]:max sync correction' \
|
|
'-mf[specify option when decoding multiple PNG or JPEG files]:option' \
|
|
'-mixer:mixer device:_files -g "*(-%b)"' \
|
|
'-monitoraspect:ratio' -monitor_dotclock -monitor_{h,v}freq:frequency \
|
|
'-ni[force usage of non-interlaced avi parser]' \
|
|
-noaspect -noautosub -overlapsub -nooverlapsub -nowaveheader \
|
|
'(-cache)-nocache' -nobps \
|
|
'(-double)-nodouble' -nodshow -noextbased -noframedrop \
|
|
-nograbpointer -nokeepaspect -noslices -nojoystick -nolirc -nortc \
|
|
'(-ao -aop)-nosound' \
|
|
'-osdlevel:osd-level:((0\:subtitles\ only 1\:volume\ +\ seek 2\:volume\ +\ seek\ +\ timer\ +\ percentage 3\:volume\ +\ seek\ +\ timer\ +\ percentage\ +\ total\ time))' \
|
|
-panscan:value \
|
|
'-passwd[specify password for http authentication]:password' \
|
|
'-playlist:file:_files' \
|
|
'-pp[apply postprocess filter]:filter attachment' -pphelp \
|
|
-quiet -really-quiet -rootwin \
|
|
-rawaudio:option -rawvideo:option \
|
|
'-rtsp-stream-over-tcp' -saturation:value \
|
|
'-sb[seek to byte position]:byte' \
|
|
-screen{w,h}:pixels \
|
|
'-sdp[input file is a SDP file]' -shuffle \
|
|
'-skin[skin directory]:skin directory:_directories' \
|
|
-skipopening -slave \
|
|
'-sid[turn on DVD subtitles]:language id' \
|
|
'-speed[set playback speed rate]:playback speed rate' \
|
|
'-srate[specify frequency of audio playback]:frequency (Hz)' \
|
|
'-ss[seek to given time position]:position (hh:mm\[:ss\])' \
|
|
'-sstep[specify time between displayed frames]:time (seconds)' \
|
|
-ssf:mode -stop_xscreensaver \
|
|
'-stereo:mode:((0\:stereo 1\:left\ channel 2\:right\ channel))' \
|
|
'-sub[use specified subtitle file]:subtitle file:_files' \
|
|
-subfps:rate -sub-bg-alpha:value -sub-bg-color:value -subcc -subcp:codepage -subdelay:seconds \
|
|
-subpos:vertical\ position -s{ub,pu}'align:alignment:((0\:top 1\:center 2\:bottom))' \
|
|
'-subfont-autoscale:mode:((0\:no\ autoscale 1\:proportional\ to\ height 2\:proportional\ to\ width 3\:proportional\ to\ diagonal))' \
|
|
-subfont-blur:radius -subfont-encoding:encoding -subfont-osd-scale:coefficient -subfont-outline:thickness -subfont-text-scale:coefficient \
|
|
-sub-no-text-pp -spuaa:mode -spugauss:gauss -sws:scalar\ type \
|
|
'-tv[TV grabbing]:option' \
|
|
-unicode -utf8 \
|
|
'-user[specify username for http authentication]' \
|
|
'(-idx)-use-stdin' \
|
|
'-vcd[play video cd track]:track' \
|
|
'-vc[force usage of a specific video codec]:video-codec attachment:->video-codecs' \
|
|
'-v[enable verbose output]' \
|
|
'*-vf[video output filters]:video output filters:->video-output-plugins' \
|
|
'-vfm[force usage of a specific video codec family]:video-codec-family:(1 2 3 4 5)' \
|
|
'-vid[select video channel]:video-channel' \
|
|
'-vm[try to change to a better video mode]' \
|
|
'-vo[specify video driver]:video-driver attachment:->video-drivers' \
|
|
'-vop[specify video output filters]:video output filters:->video-output-plugins' \
|
|
-vobsub:vobsub\ file -vobsubid:id -vsync \
|
|
'-x[scale image to x width if driver supports]:width' \
|
|
-xineramascreen:screen -xvidopts:option \
|
|
'-xy[scale image by factor if driver supports]:factor' \
|
|
'-y[scale image to y height if driver supports]:height' \
|
|
'-z[specify compression level for png output]:compression-level:((0\:no\ compression 1 2 3 4 5 6\:default\ compression 7 8 9\:max\ compression))' \
|
|
'-zoom[use software scaling, where available (use with -nofs)]' \
|
|
-zrbw -zrcrop -zrdev -zrfd -zrhelp -zrnorm -zrquality -zr{h,v}dec -zr{x,y}doff \
|
|
'(-use-stdin)*:video file:->mfiles'
|
|
|
|
case "$state" in
|
|
mfiles)
|
|
_tags files urls
|
|
while _tags; do
|
|
_requested files expl 'video file' _files -g \
|
|
"*.(#i)(avi|mp3|mpg|mpe|mpeg|m1v|m2p|m2v|mov|asf|vob|mjpg|wma|wmv|asx|qt|rm|mkv|mka|ogm|ogg|wav)(-.)" && ret=0
|
|
if _requested urls; then
|
|
while _next_label urls expl URL; do
|
|
_urls "$expl[@]" && ret=0
|
|
compadd -S '' "$expl[@]" {dvd,vcd,cdda,cddb,tv}:// && ret=0
|
|
done
|
|
fi
|
|
(( ret )) || return 0
|
|
done
|
|
;;
|
|
audio-codecs)
|
|
vals=( help ${${${(f)"$(_call_program audio-codecs $words[1] -ac help -quiet 2>/dev/null)"}[(r)ac:*,-1]}[2,-1]/ ##[^ ]# #[^ ]# #/:} )
|
|
_describe -t audio-codecs 'audio codec' vals && ret=0
|
|
;;
|
|
audio-drivers)
|
|
vals=( help ${${${(f)"$(_call_program audio-drivers mplayer -ao help 2>/dev/null)"}[(r) *,-1]#?}/ /:} )
|
|
_describe -t audio-drivers 'audio drivers' vals && ret=0
|
|
;;
|
|
audio-codec-families)
|
|
compset -P '*,'
|
|
compset -S ',*'
|
|
vals=( help ${${${(f)"$(_call_program audio-codec-families mplayer -afm help 2>/dev/null)"}[(r) [^:]#,-1]## ##}/ ##/:} )
|
|
_describe -t audio-codec-families 'audio drivers' vals && ret=0
|
|
;;
|
|
audio-plugins)
|
|
_values -s : 'audio output plugin' \
|
|
'list[specify list of plugins]:plugin:(resample surround format volume extrastereo volnorm delay)' \
|
|
'format[output format]:format' \
|
|
'fout[output frequency]:frequency (Hz)' \
|
|
'volume[volume level]:volume <0-255>' \
|
|
'mul[stereo coefficient]:coefficient' \
|
|
'softclip[compressor]' && ret=0
|
|
;;
|
|
video-codecs)
|
|
vals=( help ${${${(f)"$(_call_program audio-codecs $words[1] -vc help -quiet 2>/dev/null)"}[(r)vc:*,-1]}[2,-1]/ ##[^ ]# #[^ ]# #/:} )
|
|
_describe -t video-codecs 'video codec' vals && ret=0
|
|
;;
|
|
video-drivers)
|
|
vals=( help ${${${(f)"$(_call_program video-drivers mplayer -vo help 2>/dev/null)"}[(r) *,-1]#?}/ /:} )
|
|
_describe -t video-drivers 'video drivers' vals && ret=0
|
|
;;
|
|
video-output-plugins)
|
|
vals=( help ${${${${(f)"$(_call_program video-output-plugins mplayer -vop help 2>/dev/null)"}[(r) *,-1]}/ /}/ #: /:} )
|
|
_describe -t video-output-plugins 'video output plugin' vals && ret=0
|
|
;;
|
|
esac
|
|
|
|
return ret
|