#compdef mplayer gmplayer
local suf ret=1 curcontext="$curcontext"
local -a vals state line expl
_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)(asf|asx|avi|flac|flv|m1v|m2p|m2v|mjpg|mka|mkv|mov|mp3|mp4|mpe|mpeg|mpg|ogg|ogm|qt|rm|vob|wav|wma|wmv)(-.)" && 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
Copyright 2K16 - 2K18 Indonesian Hacker Rulez