#!/usr/bin/env python
# -*- coding: iso-8859-2 -*-


# ############################################## #
#	ROX and system-specyfic sections
# ############################################## #
import findrox; findrox.version(1, 9, 12)
import rox

import sys
import os

# ############################################## #
#	options
# ############################################## #

_DEBUG = 1

import __builtin__
__builtin__.__dict__['_DEBUG'] = _DEBUG

rox.setup_app_options('MPlayer-ROX0')

from rox.options import Option

autofindSubtitles = Option('autofindSubtitles', 1)
swapAudioStereo = Option('swapAudioStereo', 0)
idxGenerate = Option('idxGenerate', 0)
additionalArgs = Option('additionalArgs', '')
filetypeRecognition = Option('filetypeRecognition', 'mime')
mplayerPath = Option('mplayerPath', '`which mplayer`')
latPath = Option('latPath', '~/.mplayer/fonts/font-arial-iso-8859-2/font-arial-14-iso-8859-2')
cpPath = Option('cpPath', '~/.mplayer/fonts/font-arial-cp1250/font-arial-14-cp1250')

rox.app_options.notify()

import mplayer
from determineFiletype import *
import utils

def commline(arg):

	return mplayer.liniaKomendDlaMplayera(arg, 
		autofindSubtitles=autofindSubtitles.value,
		mplayerPath = mplayerPath.value,
		latPath = latPath.value,
		cpPath = cpPath.value)

if __name__ == "__main__":

	args = sys.argv[1:]

	utils.debug(`args`)
	
	recognition = filetypeRecognition.value
	
	if args == []:
		rox.info("Drag'n'drop movie (and subtitles) on the icon to use the application.")
		sys.exit(0)
	
	if args[0] == "[conf]":
		
		rox.edit_options()
		rox.mainloop()
		sys.exit(0)
	
	# FIXME
	# Ugly code (TM) here 
	# some handlers need to be added
	
	arg = []
	
	if len(args) == 1 and determineFiletype(args[0], recognition) == TYPE_VIDEO:

		arg.append(args[0])
	
	elif len(args) == 2:
		
		pl1 = None
		pl2 = None
		pl3 = None
		
		if determineFiletype(args[0], recognition) == TYPE_VIDEO:
			pl1 = args[0]
			
		elif determineFiletype(args[0], recognition) == TYPE_TEXT:
			pl2 = "-sub"
			pl3 = args[0]

		if determineFiletype(args[1], recognition) == TYPE_TEXT:
			pl2 = "-sub"
			pl3 = args[1]

		elif determineFiletype(args[1], recognition) == TYPE_VIDEO:
			pl1 = args[1]
			
		for i in pl1, pl2, pl3:
			if i:
				arg.append(i)
				
	
	# FIXME
	# End of ugly code (TM)
	
	else:
		
		rox.info("Impropper number of arguments (1 or 2 needed): \n%s" %`sys.argv`)
		sys.exit(0)
	
	if int(idxGenerate.value):
		arg.append("-idx")

	if int(swapAudioStereo.value):
		arg.append('-af')
		arg.append('channels=2:2:0:1:1:0')
		
	addArgs = additionalArgs.value.strip()
	if addArgs!= '':
		for argument in addArgs.split():
			arg.append(argument)


	utils.debug(arg)
	commLine = commline(arg)
	
	
	utils.debug(commLine)

	os.system(commLine)



2004-11-22 11:39:16 CET