# Configure file for MozPlugger 1.7
# Version: July 17, 2005
#
# Commands which are not installed on your system will not be used.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.


###################
### m4 macros   ###
###################

changequote([,])

### Helpers

#define(ENABLE_HELPERS)

ifdef([ENABLE_HELPERS],[
  define(HELPER,[nokill noisy: $1])
],[
  define(HELPER,[])
])

### MPlayer

define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 </dev/null])

define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)])

define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD($1)])

define(MP_VIDEO_STREAM,[stream MP_EMBED($1 "$file")
	stream MP_NOEMBED($1 "$file")])

define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -really-quiet -nojoystick "$file" </dev/null])

ifelse(esyscmd([mplayer -afm help 2>&1 | grep vorbis]),[],[
  define(MP_NO_VORBIS)
],[
  define(MP_VORBIS)
])

### Totem

define(TM_CMD,[totem $1</dev/null])

define(TM_EMBED,[embed noisy ignore_errors hidden fill swallow(Totem): TM_CMD(--toggle-controls $1)])

define(TM_NOEMBED,[nokill noembed noisy ignore_errors: TM_CMD($1)])

define(TM_VIDEO_STREAM,[stream TM_EMBED("$file")
	stream TM_NOEMBED("$file")])

define(TM_AUDIO_STREAM,[controls stream noisy ignore_errors: TM_CMD("$file")])

### OpenOffice

define([OO],[swallow(OpenOffice) fill: openoffice -nologo $1 "$file"
	swallow(OpenOffice) fill: ooffice -nologo $1 "$file"
	swallow(OpenOffice) fill: soffice -nologo $1 "$file"])

### Acrobat Reader

define(ACROREAD_OPTS,[-geometry +9000+9000 -tempFileTitle acroread])
define(ACROREAD_FLAGS,[repeat swallow(acroread) fill])
ifelse(esyscmd([acroread -helpall | grep openInNewWindow]),[],[
  define(ACROREAD,[ACROREAD_FLAGS(): acroread ACROREAD_OPTS() +useFrontEndProgram "$file"])
],[
  define(ACROREAD,[ACROREAD_FLAGS(): acroread ACROREAD_OPTS() -openInNewWindow "$file"])
])

### GV

#define(GV_OPTS,[--safer --quiet --antialias -geometry +9000+9000])
define(GV_OPTS,[-geometry +9000+9000])
define(GV_FLAGS,[repeat noisy swallow(gv) fill])
define(GV,[GV_FLAGS(): gv GV_OPTS() "$file"])

###################
### Video       ###
###################

video/mpeg:mpeg,mpg,mpe:MPEG animation
video/x-mpeg:mpeg,mpg,mpe:MPEG animation
video/x-mpeg2:mpv2,mp2ve:MPEG2 animation
	MP_VIDEO_STREAM()
	TM_VIDEO_STREAM()
        HELPER(xine -pq "$file")
	loop: mtvp -l -W$window "$file"
	: mtvp -W$window "$file"
	loop: xanim +Av100 -Zr +W$window +q +f "$file"
	: xanim +Av100 -Zr +W$window +q +Ze +f "$file"

video/mp4:mp4:MPEG4 animation
	MP_VIDEO_STREAM()
	TM_VIDEO_STREAM()
	HELPER(xine -pq "$file")

video/msvideo:avi:AVI animation
video/x-msvideo:avi:AVI animation
video/fli:fli,flc:FLI animation
video/x-fli:fli,flc:FLI animation
	MP_VIDEO_STREAM()
	TM_VIDEO_STREAM()
	HELPER(xine -pq "$file")

application/x-mplayer2:wmv,asf,mov:Windows Media
video/x-ms-asf:asf,asx,wma,wax,wmv,wvx:Windows Media
video/x-ms-wmv:wmv:Windows Media
	MP_VIDEO_STREAM()
	TM_VIDEO_STREAM()

application/x-quicktimeplayer:mov:Quicktime animation
image/x-macpaint:pntg,mov:Quicktime animation
video/quicktime:mov,qt:Quicktime animation
video/x-quicktime:mov,qt:Quicktime animation
	MP_VIDEO_STREAM()
	TM_VIDEO_STREAM()
	HELPER(xine -pq "$file")

video/x-theora:ogg:OGG stream with video
video/theora:ogg:OGG stream with video
video/ogg:ogg:OGG stream with video
video/x-ogg:ogm,ogv:OGG stream with video
ifdef([MP_VORBIS],[	MP_VIDEO_STREAM()
])	TM_VIDEO_STREAM()

video/dl:dl:DL animation
video/x-dl:dl:DL animation
video/sgi-movie:movie,movi,mv:SGI animation
video/x-sgi-movie:movie,movi,mv:SGI animation
video/anim:iff,anim5,anim3,anim7:IFF animation
video/x-anim:iff,anim5,anim3,anim7:IFF animation
	loop: xanim +Av100 -Zr +W$window +q +f "$file"
	: xanim +Av100 -Zr +W$window +q +Ze +f "$file"


##################
### Audio      ###
##################

audio/mid:midi,mid:MIDI audio file
audio/x-mid:midi,mid:MIDI audio file
audio/midi:midi,mid:MIDI audio file
audio/x-midi:midi,mid:MIDI audio file
	controls noisy stream: timidity -Od "$file"
	controls: playmidi "$file"

audio/mod:mod:Soundracker audio Module
audio/x-mod:mod:Soundracker audio Module
	controls loop noisy: mikmod -q --interpolate "$file"
	controls noisy: mikmod -q --interpolate "$file"
	controls loop noisy: xmp -l --nocmd "$file"
	controls noisy: xmp --nocmd "$file"

audio/mp3:mp3:MPEG audio
audio/x-mp3:mp3:MPEG audio
audio/mpeg2:mp2:MPEG audio
audio/x-mpeg2:mp2:MPEG audio
audio/mpeg3:mp3:MPEG audio
audio/x-mpeg3:mp3:MPEG audio
audio/mpeg:mpa,abs,mpega:MPEG audio
audio/x-mpeg:mpa,abs,mpega:MPEG audio
	MP_AUDIO_STREAM()
	TM_AUDIO_STREAM()
	controls: mpg321 -q "$file"
	controls: mpg123 -q "$file"
	controls: splay -t 200 "$file"
	controls: amp -b 200 -q "$file"
	controls: maplay "$file"
	controls: mpeg3play "$file"
	HELPER(xmms -e -p "$file")
	repeat noisy swallow(alsaplayer): alsaplayer -q "$file"

audio/mpeg-url:m3u:MPEG music resource locator
audio/x-mpeg-url:m3u:MPEG music resource locator
audio/mpegurl:m3u:MPEG music resource locator
audio/x-mpegurl:m3u:MPEG music resource locator
audio/mpeg-url:m3u:MPEG music resource locator
audio/x-mpeg-url:m3u:MPEG music resource locator
audio/x-scpls:pls:Shoutcast Playlists
#	controls: mpg321 -q -@ "$file"
	HELPER(xmms -e -p "$file")

audio/x-ogg:ogg:OGG audio
application/x-ogg:ogg:OGG audio
application/ogg:ogg:OGG audio
ifdef([MP_VORBIS],[	MP_AUDIO_STREAM()
])	TM_AUDIO_STREAM()
	controls stream noisy: ogg123 -q -b 128 "$file"
	HELPER(xmms -e -p "$file")

audio/x-sidtune:sid,psid:Commodore 64 Audio
audio/sidtune:sid,psid:Commodore 64 Audio
audio/psid:psid,sid:Commodore 64 Audio
audio/x-psid:psid,sid:Commodore 64 Audio
	controls noisy: sidplay -16 -f44100 -a "$file"

audio/basic:au,snd:Basic audio file
audio/x-basic:au,snd:Basic audio file
	controls: play "$file"
	controls: sox "$file" -t .au - > /dev/audio

audio/wav:wav:Microsoft wave file
audio/x-wav:wav:Microsoft wave file
audio/x-pn-wav:wav:Microsoft wave file
audio/x-pn-windows-acm:wav:Microsoft wave file
        controls: play "$file"
	controls: wavplay -q "$file"
	controls noisy: bplay "$file"
	controls: splay "$file"
	HELPER(xmms -e -p "$file")
 	repeat noisy swallow(alsaplayer): alsaplayer -q "$file"

audio/x-pn-realaudio-plugin:rpm:RealPlayer Plugin Metafile
audio/x-pn-realaudio:ra,rm,ram:Realaudio-plugin resource locator
audio/x-realaudio:ra,rm,ram:RealAudio file
application/vnd.rn-realmedia:rm:RealMedia file
application/smil:smi:RealPlayer
audio/vnd.rn-realaudio:ra,ram:RealAudio file
audio/vnd.rn-realvideo:rv:RealVideo file
	nokill stream: hxplay "$file"
        nokill stream: realplay "$file"

audio/x-ms-wax:wax,wma:Windows Media
	MP_AUDIO_STREAM()
	TM_AUDIO_STREAM()

#######################
### Documents       ###
#######################

image/sun-raster:rs:SUN raster image
image/x-sun-raster:rs:SUN raster image
image/x-rgb:rgb:RGB Image
image/x-portable-pixmap:ppm:PPM Image
image/x-portable-graymap:pgm:PGM Image
image/x-portable-bitmap:pbm:PBM Image
image/x-portable-anymap:pnm:PBM Image
image/tiff:tiff,tif:TIFF image
image/x-tiff:tiff,tif:TIFF image
	repeat noisy swallow(gqview) fill: gqview -t "$file"
	swallow(:) maxaspect: xv -ima -igeom +9000+9000 -geometry +9000+9000 "$file"
	repeat swallow(display): display "$file"
	repeat swallow(Sdtimage) fill: sdtimage "$file"
	swallow(*qiv:) fill maxaspect: qiv -n "$file"

application/pdf:pdf:PDF file
application/x-pdf:pdf:PDF file
text/pdf:pdf:PDF file
text/x-pdf:pdf:PDF file
	ACROREAD()
	repeat noisy swallow(evince) fill: evince "$file"
	repeat noisy swallow(kpdf) fill: kpdf "$file"
	repeat noisy swallow(Xpdf) fill: xpdf -g +9000+9000 "$file"
	GV()

application/x-dvi:dvi:DVI file
        repeat swallow(kviewshell) fill: kdvi "$file"
	repeat swallow(xdvi) fill: xdvi -safer -hush -geometry +9000+9000 "$file"

application/x-postscript:ps:PostScript file
application/postscript:ps:PostScript file
	repeat noisy swallow(evince) fill: evince "$file"
	GV()
	repeat swallow(Pageview) fill: pageview "$file"

application/x-rtf:rtf:Rich Text Format
application/rtf:rtf:Rich Text Format
text/rtf:rtf:Rich Text Format
	repeat noisy swallow(Ted) fill: Ted "$file"
#	repeat noisy swallow(AbiWord) fill: abiword --nosplash --geometry +9000+9000 "$file"
#	repeat noisy swallow(kwrite): kwrite "$file"
	repeat noisy swallow(kword): kword "$file"
	OO()

application/x-msword:doc,dot:Microsoft Word Document
application/msword:doc,dot:Microsoft Word Document
#       repeat noisy swallow(AbiWord) fill: abiword --nosplash --geometry +9000+9000 "$file"
	repeat noisy swallow(kword): kword "$file"
	OO()

application/vnd.ms-excel:xls,xlb:Microsoft Excel Document
	repeat swallow(PluggerGnumeric) fill: gnumeric --name PluggerGnumeric "$file"
	OO()

# OpenOffice MimeTypes (http://framework.openoffice.org/documentation/mimetypes/mimetypes.html)
application/vnd.sun.xml.writer:sxw:OpenOffice Writer 6.0 documents
application/so7_vnd.sun.xml.writer:sxw:OpenOffice Writer 7.0 documents
application/vnd.sun.xml.writer.template:stw:OpenOffice Writer 6.0 templates
application/vnd.sun.xml.writer.global:sxg:OpenOffice Writer 6.0 global documents
application/vnd.stardivision.writer:sdw:StarWriter 5.x documents
application/vnd.stardivision.writer-global:sgl:StarWriter 5.x global documents
application/x-starwriter:sdw:StarWriter 4.x documents
	OO()

application/vnd.sun.xml.calc:sxc:OpenOffice Calc 6.0 spreadsheets
application/so7_vnd.sun.xml.calc:sxc:OpenOffice Calc 7.0 spreadsheets
application/vnd.sun.xml.calc.template:stc:OpenOffice Calc 6.0 templates
application/vnd.stardivision.calc:sdc:StarCalc 5.x spreadsheets
application/x-starcalc:sdc:StarCalc 4.x spreadsheets
	OO()

application/vnd.sun.xml.draw:sxd:OpenOffice Draw 6.0 documents
application/so7_vnd.sun.xml.draw:sxc:StarOffice Draw 7.0 documents
application/vnd.sun.xml.draw.template:std:OpenOffice Draw 6.0 templates
application/vnd.stardivision.draw:sda:StarDraw 5.x documents
application/x-stardraw:sda:StarDraw 4.x documents
	OO()

application/vnd.sun.xml.impress:sxi:OpenOffice Impress 6.0 presentations
application/so7_vnd.sun.xml.impress:sxi:StarOffice 7.0 Impress presentations
application/vnd.sun.xml.impress.template:sti:OpenOffice Impress 6.0 templates
application/vnd.stardivision.impress:sdd:StarImpress 5.x presentations
application/vnd.stardivision.impress-packed:sdp:StarImpress Packed 5.x files
application/x-starimpress:sdd:StarImpress 4.x presentations
application/vnd.ms-powerpoint:ppt:PowerPoint Slideshow
application/mspowerpoint:ppt,ppz,pps,pot:PowerPoint Slideshow
	OO()

application/vnd.sun.xml.math:sxm:OpenOffice Math 6.0 documents
application/so7_vnd.sun.xml.math:sxm:StarOffice 7.0 Math documents
application/vnd.stardivision.math:smf:StarMath 5.x documents
application/x-starmath:smf:StarMath 4.x documents
	OO()
