#### Players #### # MPlayer player 'mplayer' file 'mplayer' plays_video 'false' exts 'aac flac m4a mka mp3 oga ogg opus ra ram wav wma' args_normal '-vo null -really-quiet -slave (FILE)' args_verbose '-vo null -quiet -slave (FILE)' args_debug '-vo null -quiet -slave (FILE)' backend_mode 'true' backend_mode_linemode 'true' backend_mode_commands_pause 'pausing_toggle pause' backend_mode_commands_unpause 'pausing_keep pause' backend_mode_commands_fast_forward 'seek +5' backend_mode_commands_rewind 'seek -5' backend_mode_commands_stop 'quit' check '(PLAYER_FILE) -vo null -quiet (SAMPLE_WAV)' end # MPlayer (ALSA) player 'mplayer_alsa' file 'mplayer' plays_video 'false' exts 'aac flac m4a mka mp3 oga ogg opus ra ram wav wma' args_normal '-ao alsa -vo null -really-quiet -slave (FILE)' args_verbose '-ao alsa -vo null -quiet -slave (FILE)' args_debug '-ao alsa -vo null -quiet -slave (FILE)' backend_mode 'true' backend_mode_linemode 'true' backend_mode_commands_pause 'pausing_toggle pause' backend_mode_commands_unpause 'pausing_keep pause' backend_mode_commands_fast_forward 'seek +5' backend_mode_commands_rewind 'seek -5' backend_mode_commands_stop 'quit' check '(PLAYER_FILE) -ao alsa -vo null -quiet (SAMPLE_WAV)' end # MPlayer (Video) player 'mplayer_video' file 'mplayer' plays_video 'true' exts '3g2 3gp aac amr ape apl asf avi cdr dif dv f4a f4b f4p f4v flac flv m4a m4b m4p m4r m4v mka mkv mov mp3 mp4 mpeg mpg mtv nut oga ogg ogm ogv ogx qt ra ram rm rmvb shn spx ts vob wav webm wma wm' args_normal '(NO_VIDEO) -really-quiet -zoom (FILE)' args_verbose '(NO_VIDEO) -quiet -zoom (FILE)' args_debug '(NO_VIDEO) -quiet -zoom (FILE)' args_no_video '-vo null' backend_mode 'true' backend_mode_linemode 'false' backend_mode_commands_pause 'p' backend_mode_commands_unpause 'p' backend_mode_commands_stop 'q' check '(PLAYER_FILE) -vo null -quiet (SAMPLE_WAV)' end # MPlayer (Video) (ALSA) player 'mplayer_video_alsa' file 'mplayer' plays_video 'true' exts '3g2 3gp aac amr ape apl asf avi cdr dif dv f4a f4b f4p f4v flac flv m4a m4b m4p m4r m4v mka mkv mov mp3 mp4 mpeg mpg mtv nut oga ogg ogm ogv ogx opus qt ra ram rm rmvb shn spx ts vob wav webm wma wm' args_normal '-ao alsa (NO_VIDEO) -really-quiet -zoom (FILE)' args_verbose '-ao alsa (NO_VIDEO) -quiet -zoom (FILE)' args_debug '-ao alsa (NO_VIDEO) -quiet -zoom (FILE)' args_no_video '-vo null' backend_mode 'true' backend_mode_linemode 'false' backend_mode_commands_pause 'p' backend_mode_commands_unpause 'p' backend_mode_commands_stop 'q' check '(PLAYER_FILE) -ao alsa -vo null -quiet (SAMPLE_WAV)' end # SoX Player (play) player 'play' file 'play' plays_video 'false' exts '8svx aif aifc aiff aiffc al alsa au auto avi avr cdda cdr cvs cvsd dat dvms ffmpeg flac fssd gsm hcom ima ircam la lpc lpc10 lu m4a maud mp2 mp3 mpg nist nul null ogg opus oss ossdsp pls prc raw s1 s2 s3 s4 sb sf sl smp snd sndt sou sph sw txw u1 u2 u3 u4 ub ul uw vms voc vorbis vox wav wmv wve xa' args_normal '(FILE) -q -V1' args_verbose '(FILE) -q -V2' args_debug '(FILE) -q -V2' backend_mode 'false' check '(PLAYER_FILE) -q (SAMPLE_WAV)' end # SoX (ALSA) player 'sox_alsa' file 'sox' plays_video 'false' exts '8svx aif aifc aiff aiffc al alsa au auto avi avr cdda cdr cvs cvsd dat dvms ffmpeg flac fssd gsm hcom ima ircam la lpc lpc10 lu m4a maud mp2 mp3 mpg nist nul null ogg opus oss ossdsp pls prc raw s1 s2 s3 s4 sb sf sl smp snd sndt sou sph sw txw u1 u2 u3 u4 ub ul uw vms voc vorbis vox wav wmv wve xa' args_normal '-q -V1 (FILE) -t alsa default' args_verbose '-q -V2 (FILE) -t alsa default' args_debug '-q -V2 (FILE) -t alsa default' backend_mode 'false' check '(PLAYER_FILE) -q (SAMPLE_WAV) -t alsa default' end # SoX (OSS DSP) player 'sox_ossdsp' file 'sox' plays_video 'false' exts '8svx aif aifc aiff aiffc al alsa au auto avi avr cdda cdr cvs cvsd dat dvms ffmpeg flac fssd gsm hcom ima ircam la lpc lpc10 lu m4a maud mp2 mp3 mpg nist nul null ogg opus oss ossdsp pls prc raw s1 s2 s3 s4 sb sf sl smp snd sndt sou sph sw txw u1 u2 u3 u4 ub ul uw vms voc vorbis vox wav wmv wve xa' args_normal '-q -V1 (FILE) -t ossdsp /dev/dsp' args_verbose '-q -V2 (FILE) -t ossdsp /dev/dsp' args_debug '-q -V2 (FILE) -t ossdsp /dev/dsp' backend_mode 'false' check '(PLAYER_FILE) -q (SAMPLE_WAV) -t ossdsp /dev/dsp' end # VLC player 'vlc' # file 'vlc' plays_video 'true' exts '3gp 3g2 aac m4a m4b m4p m4v m4r mp4 aiff aif aifc amr asf avi evo flac flv f4v f4p f4a f4b mkv mka mov qt mpg mpeg mp1 mp2 mp3 m1v m1a m2a mpa mpv mtv vob mxf ogg oga ogv ogx ogm opus ra rm rmvb ram s3m spx ts wav webm wma wmv wv' args_normal '(NO_VIDEO) -q (FILE)' args_verbose '(NO_VIDEO) (FILE)' args_debug '(NO_VIDEO) (FILE)' args_no_video '--no-video' stderr '/dev/null' stdout '/dev/null' setup ' local _USE_VLC_WRAPPER=false _USE_RC=false if [[ EUID -eq 0 ]] && hash vlc-wrapper &>/dev/null; then Play.Players.set vlc file vlc-wrapper if Play.Players.test vlc -q -I oldrc --rc-fake-tty --play-and-exit (SAMPLE_WAV); then _USE_VLC_WRAPPER=true _USE_RC=true elif Play.Players.test vlc -q -I dummy --no-interact --play-and-exit (SAMPLE_WAV); then _USE_VLC_WRAPPER=true fi fi if [[ ${_USE_VLC_WRAPPER} == false ]]; then Play.Players.set vlc file vlc Play.Players.test vlc -q -I oldrc --rc-fake-tty --play-and-exit (SAMPLE_WAV) && _USE_RC=true fi if [[ ${_USE_RC} == true ]]; then Play.Players.set vlc args_default "-I oldrc --rc-fake-tty --play-and-exit" Play.Players.set vlc backend_mode true Play.Players.set vlc backend_mode_linemode true Play.Players.set vlc backend_mode_commands_pause pause Play.Players.set vlc backend_mode_commands_unpause pause Play.Players.set vlc backend_mode_commands_stop quit else Play.Players.set vlc args_default "-I dummy --no-interact --play-and-exit" Play.Players.set vlc backend_mode false fi ' check '(PLAYER_FILE) (PLAYER_ARGS_DEFAULT) -q (SAMPLE_WAV)' end # FFPlay player 'ffplay' file 'ffplay' plays_video 'false' exts 'aac flac m4a mka mp3 oga ogg opus vob wav wma' args_normal '-vn -nodisp -v quiet -nostats -autoexit (FILE)' args_verbose '-vn -nodisp -nostats -autoexit (FILE)' args_debug '-vn -nodisp -nostats -autoexit (FILE)' backend_mode 'false' check '(PLAYER_FILE) -vn -nodisp -v quiet -nostats -autoexit (SAMPLE_WAV)' end # FFPlay (Video) player 'ffplay_video' file 'ffplay' plays_video 'true' exts '3gp avi flv m4v mkv mov mp4 mpeg mpg mtv ogm ogv rm rmvb ts webm wm' args_normal '(NO_VIDEO) -v quiet -nostats -autoexit (FILE)' args_verbose '(NO_VIDEO) -nostats -autoexit (FILE)' args_debug '(NO_VIDEO) -nostats -autoexit (FILE)' args_no_video '-vn -nodisp' backend_mode 'false' check '(PLAYER_FILE) -vn -nodisp -v quiet -nostats -autoexit (SAMPLE_WAV)' end # gst123 player 'gst123' file 'gst123' plays_video 'true' exts '3gp 3g2 aac m4a m4b m4p m4v m4r mp4 aiff aif aifc amr asf avi evo flac flv f4v f4p f4a f4b mkv mka mov qt mpg mpeg mp1 mp2 mp3 m1v m1a m2a mpa mpv mtv vob mxf ogg oga ogv ogx ogm opus ra rm rmvb ram s3m spx ts wav webm wma wmv wv' args_normal '(NO_VIDEO) -q (FILE)' args_verbose '(NO_VIDEO) -q (FILE)' args_debug '(NO_VIDEO) -q (FILE)' args_no_video '--novideo' backend_mode 'true' backend_mode_linemode 'false' backend_mode_commands_pause ' ' backend_mode_commands_unpause ' ' backend_mode_commands_stop 'q' backend_mode_commands_fast_forward 'OC' backend_mode_commands_rewind 'OD' # gst123 resets terminal input so let's just turn its output off. stdout '/dev/null' stderr '/dev/null' check '(PLAYER_FILE) --novideo -q (SAMPLE_WAV)' end # amp player 'amp' file 'amp' plays_video 'false' exts 'mp3' args_normal '-q (FILE)' args_verbose '(FILE)' args_debug '-q (FILE)' backend_mode 'false' check '(PLAYER_FILE) -q (SAMPLE_WAV)' end # aplay player 'aplay' file 'aplay' plays_video 'false' exts 'wav voc au raw' args_normal '-q (FILE)' args_verbose '(FILE)' args_debug '-q (FILE)' backend_mode 'false' check '(PLAYER_FILE) -q (SAMPLE_WAV)' end # madplay player 'madplay' file 'madplay' plays_video 'false' exts 'mp3' args_normal '-q (FILE)' args_verbose '(FILE)' args_debug '-q (FILE)' backend_mode 'false' check '(PLAYER_FILE) -q (SAMPLE_MP3)' end # mpg123 player 'mpg123' file 'mpg123' plays_video 'false' exts 'mp3' args_normal '-q (FILE)' args_verbose 'FILE)' args_debug '(FILE)' # stderr '/dev/null' check '(PLAYER_FILE) -q (SAMPLE_MP3)' end # mpg123 (alsa) player 'mpg123_alsa' file 'mpg123' plays_video 'false' exts 'mp3' args_normal '-o alsa -q (FILE)' args_verbose '-o alsa (FILE)' args_debug '-o alsa (FILE)' # stderr '/dev/null' check '(PLAYER_FILE) -o alsa -q (SAMPLE_MP3)' end # mpg321 player 'mpg321' file 'mpg321' plays_video 'false' exts 'mp3' args_normal '-q (FILE)' args_verbose '(FILE)' args_debug '-q (FILE)' backend_mode 'false' # Unfortunately there's no way we can make mpg321 automatically stop # after play has ended so we can't have backend mode (remote mode). # args_normal '-R --skip-printing-frames=38 -q DUMMY.FILE' # args_verbose '-R --skip-printing-frames=38 DUMMY.FILE' # args_debug '-R --skip-printing-frames=38 -q DUMMY.FILE' # backend_mode 'true' # backend_mode_linemode 'true' # backend_mode_commands_play 'LOAD (FILE)' # backend_mode_commands_pause 'PAUSE' # backend_mode_commands_unpause 'PAUSE' # backend_mode_commands_fast_forward 'JUMP +190' # estimated # backend_mode_commands_rewind 'JUMP -190' # estimated # backend_mode_commands_stop 'STOP' # stdout '/dev/null' # stderr '' check '(PLAYER_FILE) -q (SAMPLE_MP3)' end # mpg321 (alsa) player 'mpg321_alsa' file 'mpg321' plays_video 'false' exts 'mp3' args_normal '-o alsa -q (FILE)' args_verbose '-o alsa (FILE)' args_debug '-o alsa -q (FILE)' backend_mode 'false' # Unfortunately there's no way we can make mpg321 automatically stop # after play has ended so we can't have backend mode (remote mode). # args_normal '-R -o alsa --skip-printing-frames=38 -q DUMMY.FILE' # args_verbose '-R -o alsa --skip-printing-frames=38 DUMMY.FILE' # args_debug '-R -o alsa --skip-printing-frames=38 -q DUMMY.FILE' # backend_mode 'true' # backend_mode_linemode 'true' # backend_mode_commands_play 'LOAD (FILE)' # backend_mode_commands_pause 'PAUSE' # backend_mode_commands_unpause 'PAUSE' # backend_mode_commands_fast_forward 'JUMP +190' # estimate # backend_mode_commands_rewind 'JUMP -190' # estimate # backend_mode_commands_stop 'STOP' # stdout '/dev/null' # stderr '' check '(PLAYER_FILE) -o alsa -q (SAMPLE_MP3)' end # splay player 'splay' file 'splay' plays_video 'false' exts 'mp1 mp2 mp3' args_normal '(FILE)' args_verbose '(FILE)' args_debug '(FILE)' end #### Players' Order #### players_order # Videos avi 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' flv 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' mkv 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' mp4 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' mpg 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' ogm 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' ts 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' webm 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' wmv 'mplayer_video mplayer_video_alsa vlc ffplay_video gst123' # Audios flac 'mplayer mplayer_alsa gst123 vlc play sox_ossdsp sox_alsa ffplay' m4a 'mplayer mplayer_alsa gst123 vlc ffplay' mp3 'mplayer mplayer_alsa gst123 vlc mpg123 play sox_ossdsp sox_alsa amp ffplay' ogg 'mplayer mplayer_alsa gst123 vlc play sox_ossdsp sox_alsa ffplay' opus 'mplayer mplayer_alsa gst123 vlc play sox_ossdsp sox_alsa ffplay' wav 'mplayer mplayer_alsa gst123 vlc play sox_ossdsp sox_alsa ffplay' wma 'mplayer mplayer_alsa gst123 vlc play sox_ossdsp sox_alsa ffplay' end