Example #1
0
	def set_default_global(self):
		
		""" Sets the default GLOBAL vars each time the user wants to create a new disc """
		
		self.global_vars["action_todo"]=2
		self.global_vars["struct_name"]=""
		self.global_vars["do_menu"]=True
		self.global_vars["with_menu"]=True
		self.global_vars["menu_bg"]=os.path.join(self.global_vars["path"],"backgrounds","default_bg.png")
		self.global_vars["menu_sound"]=os.path.join(self.global_vars["path"],"silence.ogg")
		test=devede_newfiles.file_get_params()
		check,channels=test.read_file_values(self.global_vars["menu_sound"],True)
		if (check!=False) or (channels!=1):
			self.global_vars["menu_sound_duration"]=20
		else:
			self.global_vars["menu_sound_duration"]=test.length
		print "Longitud sonido: "+str(test.length)
		test=None
		self.global_vars["titlecounter"]=2
		self.current_title_selected=-1
		self.current_file_selected=-2
		self.global_vars["fontname"]="Sans 12"
		self.global_vars["menu_bgcolor"]=[0,0,0,49152]
		self.global_vars["menu_font_color"]=[65535,65535,65535,65535]
		self.global_vars["menu_selc_color"]=[0,65535,65535,65535]
		self.global_vars["menu_shadow_color"]=[0,0,0,0]
		self.global_vars["menu_alignment"]=2 # middle
		self.global_vars["menu_halignment"]=2 # center
		self.global_vars["menu_title_color"]=[0,0,0,65535]
		self.global_vars["menu_title_shadow"]=[0,0,0,0]
		self.global_vars["menu_title_text"]=""
		self.global_vars["menu_title_fontname"]="Sans 14"
Example #2
0
	def set_default_global(self):
		
		""" Sets the default GLOBAL vars each time the user wants to create a new disc """
		
		self.global_vars["action_todo"]=2
		self.global_vars["struct_name"]=""
		self.global_vars["do_menu"]=True
		self.global_vars["with_menu"]=True
		self.global_vars["menu_bg"]=os.path.join(self.global_vars["path"],"backgrounds","default_bg.png")
		self.global_vars["menu_sound"]=os.path.join(self.global_vars["path"],"silence.ogg")
		test=devede_newfiles.file_get_params()
		check,channels=test.read_file_values(self.global_vars["menu_sound"],True)
		if (check!=False) or (channels!=1):
			self.global_vars["menu_sound_duration"]=20
		else:
			self.global_vars["menu_sound_duration"]=test.length
		print "Longitud sonido: "+str(test.length)
		test=None
		self.global_vars["titlecounter"]=2
		self.current_title_selected=-1
		self.current_file_selected=-2
		self.global_vars["fontname"]="Sans 12"
		self.global_vars["menu_bgcolor"]=[0,0,0,49152]
		self.global_vars["menu_font_color"]=[65535,65535,65535,65535]
		self.global_vars["menu_selc_color"]=[0,65535,65535,65535]
		self.global_vars["menu_shadow_color"]=[0,0,0,0]
		self.global_vars["menu_alignment"]=2 # middle
		self.global_vars["menu_halignment"]=2 # center
		self.global_vars["menu_title_color"]=[0,0,0,65535]
		self.global_vars["menu_title_shadow"]=[0,0,0,0]
		self.global_vars["menu_title_text"]=""
		self.global_vars["menu_title_fontname"]="Sans 14"
Example #3
0
	def on_menu_sound_selection_changed(self,widget):
		
		print "Entro"
		
		if self.adding_sound:
			self.adding_sound=False
			return
		
		filename=widget.get_filename()
		if (filename==None) or (filename==""):
			return
		
		test=devede_newfiles.file_get_params()
		check,channels=test.read_file_values(filename,True)
		if (check!=False) or (channels!=1):
			filename=os.path.join(self.global_vars["path"],"silence.ogg")
			widget.set_filename(filename)
			w = devede_dialogs.show_error(self.gladefile,_("The menu soundtrack seems damaged. Using the default silent soundtrack."))
			w = None
		test=None
Example #4
0
    def on_menu_sound_selection_changed(self, widget):

        print "Entro"

        if self.adding_sound:
            self.adding_sound = False
            return

        filename = widget.get_filename()
        if (filename == None) or (filename == ""):
            return

        test = devede_newfiles.file_get_params()
        check, channels = test.read_file_values(filename, True)
        if (check != False) or (channels != 1):
            filename = os.path.join(self.global_vars["path"], "silence.ogg")
            widget.set_filename(filename)
            w = devede_dialogs.show_error(
                self.gladefile,
                _("The menu soundtrack seems damaged. Using the default silent soundtrack."
                  ))
            w = None
        test = None
Example #5
0
	def load(self,file_name):
		
		""" This method loads a configuration file """
		
		self.done = False
		
		if (len(self.structure)>1) or (len(self.structure[0])>1):
			w = devede_dialogs.ask_overwrite_onload(self.gladefile)
			retval = w.run()
			w = None
			if retval!=-8:
				return

		if file_name==None:
			tree=devede_other.create_tree(self,"wloadconfig",self.gladefile,False)
			window = tree.get_object("wloadconfig")
			
			filter = gtk.FileFilter()
			filter.add_pattern("*.devede")
			filter.set_name(".devede")
			window.add_filter(filter)
			
			window.show()
			retval = window.run()
			window.hide()
			if retval!=-5:
				window.destroy()
				window = None
				return
			
			file_name=window.get_filename()
			window.destroy()
			window = None
		
		try:
			output=open(file_name)
		except:
			w = devede_dialogs.show_error(self.gladefile,_("Can't open the file."))
			w = None
			return
	
		try:
			values=pickle.load(output)
		except:
			w = devede_dialogs.show_error(self.gladefile,_("That file doesn't contain a disc structure."))
			w = None
			return
		
		if values!="DeVeDe":
			w = devede_dialogs.show_error(self.gladefile,_("That file doesn't contain a disc structure."))
			w = None
			return
		
		global_vars2={}
		try:
			values=pickle.load(output)
			global_vars2=pickle.load(output)
		except:
			w = devede_dialogs.show_error(self.gladefile,_("That file doesn't contain a DeVeDe structure."))
			w = None
			return
	
		
		output.close()
		
		not_found=[]
		for element in values:
			for element2 in element[1:]:
				try:
					v=os.stat(element2["path"])
				except:
					not_found.append(str(element2["path"]))
					continue
				
				if False==element2.has_key("copy_audio"):
					element2["copy_audio"]=False # for backward compatibility
				if False==element2.has_key("sound51"):
					element2["sound51"]=False # for backward compatibility
				if False==element2.has_key("rotate"):
					element2["rotate"]=0
				if False==element2.has_key("vmirror"):
					element2["vmirror"]=False
				if False==element2.has_key("hmirror"):
					element2["hmirror"]=False
				if False==element2.has_key("gop12"):
					element2["gop12"]=True # for backward compatibility
				if False==element2.has_key("isvob"):
					element2["isvob"]=False # for backward compatibility
				if False==element2.has_key("swap_fields"):
					element2["swap_fields"]=False # for backward compatibility
				if False==element2.has_key("twopass"):
					element2["twopass"]=False # for backward compatibility
				if False==element2.has_key("turbo1stpass"):
					element2["turbo1stpass"]=False # for backward compatibility
				if False==element2.has_key("subfont_size"):
					element2["subfont_size"]=28 # subtitle font size
				if False==element2.has_key("sub_fill_color"):
					element2["sub_fill_color"]=[65535,65535,65535,65535] # subtitle fill color
				if False==element2.has_key("sub_outline_color"):
					element2["sub_outline_color"]=[0,0,0,65535] # subtitle outline color
				if False==element2.has_key("volume"):
					element2["volume"]=100 # default volume (in percentage)
				if False==element2.has_key("force_subs"):
					element2["force_subs"]=False # by default, subtitles aren't forced
				
				if False==element2.has_key("audio_stream"):
					fileprop=devede_newfiles.newfile("","")
					(fine,audio)=fileprop.read_file_values(element2["path"],0)
					if fine and (audio==0):
						element2["audio_list"]=fileprop.file_values["audio_list"]
						element2["audio_stream"]=fileprop.file_values["audio_stream"]
						fileprop=None
				
				if False==element2.has_key("sub_list"):
					element2["sub_list"]=[]
					if element2["subtitles"]!="":
						tmp={}
						tmp["subtitles"]=element2["subtitles"]
						tmp["sub_codepage"]=element2["sub_codepage"]
						tmp["sub_language"]="EN (ENGLISH)"
						tmp["subtitles_up"]=element2["subtitles_up"]
						del element2["subtitles"]
						del element2["sub_codepage"]
						del element2["subtitles_up"]
						element2["sub_list"].append(tmp)
				
	
		if len(not_found)!=0:
			t_string=_("Can't find the following movie files. Please, add them and try to load the disc structure again.\n")
			for element in not_found:
				t_string+="\n"+element
			w = devede_dialogs.show_error(self.gladefile,t_string)
			w = None
			return
		
		try:
			os.stat(global_vars2["menu_bg"])
		except:
			w = devede_dialogs.show_error(self.gladefile,_("Can't find the menu background. I'll open the disc structure anyway with the default menu background, so don't forget to fix it before creating the disc."))
			w = None
			global_vars2["menu_bg"]=os.path.join(self.global_vars["path"],"backgrounds","default_bg.png")
			
		use_default_sound=False
	
		if False==global_vars2.has_key("menu_sound"):
			use_default_sound=True
		else:
			if (global_vars2["menu_sound"][-11:]=="silence.mp3"):
				global_vars2["menu_sound"]=os.path.join(self.global_vars["path"],"silence.ogg")
			try:
				os.stat(global_vars2["menu_sound"])
			except:
				use_default_sound=True
				w = devede_dialogs.show_error(self.gladefile,_("Can't find the menu soundtrack file. I'll open the disc structure anyway with a silent soundtrack, so don't forget to fix it before creating the disc."))
				w = None
		
		if (use_default_sound):
			global_vars2["menu_sound"]=os.path.join(self.global_vars["path"],"silence.ogg")

		if False==global_vars2.has_key("with_menu"):
			global_vars2["with_menu"]=True
		
		if False==global_vars2.has_key("menu_halignment"):
			global_vars2["menu_halignment"]=2 # center
			
		if False==global_vars2.has_key("menu_shadow_color"):
			global_vars2["menu_shadow_color"]=[0,0,0,0]
			
		if False==global_vars2.has_key("menu_title_shadow"):
			global_vars2["menu_title_shadow"]=[0,0,0,0]

		test=devede_newfiles.file_get_params()
		check,channels=test.read_file_values(global_vars2["menu_sound"],True)
		if (check!=False) or (channels!=1):
			global_vars2["menu_sound"]=os.path.join(self.global_vars["path"],"silence.ogg")
			w = devede_dialogs.show_error(self.gladefile,_("The menu soundtrack seems damaged. Using the default silent soundtrack."))
			w = None
			check,channels=test.read_file_values(global_vars2["menu_sound"],True)

		global_vars2["menu_sound_duration"]=test.length
		test=None

		while (len(self.structure)>0):
			self.structure.pop()
		
		for element in values:
			self.structure.append(element)
		for element in global_vars2:
			self.global_vars[element]=global_vars2[element]
		
		if self.global_vars.has_key("menu_top_margin")==False:
			self.global_vars["menu_top_margin"]=0.125
			self.global_vars["menu_bottom_margin"]=0.125
			self.global_vars["menu_left_margin"]=0.1
			self.global_vars["menu_right_margin"]=0.1
		
		if self.global_vars.has_key("menu_bgcolor")==False:
			self.global_vars["menu_bgcolor"]=[0,0,0,49152]
			self.global_vars["menu_font_color"]=[65535,65535,65535]
			self.global_vars["menu_selc_color"]=[0,65535,65535,65535]
			self.global_vars["menu_alignment"]=2 # middle

		if self.global_vars.has_key("menu_title_text")==False:
			self.global_vars["menu_title_color"]=[0,0,0,65535]
			self.global_vars["menu_title_text"]=""
			self.global_vars["menu_title_fontname"]="Sans 14"

		if global_vars2.has_key("erase_files")==False:
			w=self.tree.get_object("create_iso")
			w.set_active(True)

		self.global_vars["struct_name"]=file_name # update the path
		
		self.done = True
Example #6
0
    def set_new_bg(self, global_vars):

        w = self.tree.get_object("menu_bg_file")
        menu_filename = w.get_filename()
        if menu_filename == None:
            menu_filename = os.path.join(self.global_vars["path"],
                                         "backgrounds", "default_bg.png")
        global_vars["menu_bg"] = menu_filename

        w = self.tree.get_object("menu_sound")
        sound_filename = w.get_filename()
        test = devede_newfiles.file_get_params()
        check, channels = test.read_file_values(sound_filename, True)
        global_vars["menu_sound"] = sound_filename
        global_vars["menu_sound_duration"] = test.length
        test = None

        w = self.tree.get_object("menufont")
        global_vars["fontname"] = w.get_font_name()

        w = self.tree.get_object("unselected_color")
        color = w.get_color()
        global_vars["menu_font_color"] = [
            color.red, color.green, color.blue,
            w.get_alpha()
        ]

        w = self.tree.get_object("selected_color")
        color = w.get_color()
        global_vars["menu_selc_color"] = [
            color.red, color.green, color.blue, 65535
        ]

        w = self.tree.get_object("shadow_color")
        color = w.get_color()
        global_vars["menu_shadow_color"] = [
            color.red, color.green, color.blue,
            w.get_alpha()
        ]

        w = self.tree.get_object("bg_color")
        color = w.get_color()
        global_vars["menu_bgcolor"] = [
            color.red, color.green, color.blue,
            w.get_alpha()
        ]

        align = 0  # top
        w = self.tree.get_object("menumiddle")
        if w.get_active():
            align = 2  # middle
        else:
            w = self.tree.get_object("menubottom")
            if w.get_active():
                align = 1  # bottom
        global_vars["menu_alignment"] = align

        halign = 0  # left
        w = self.tree.get_object("menucenter")
        if w.get_active():
            halign = 2  # middle
        else:
            w = self.tree.get_object("menuright")
            if w.get_active():
                halign = 1  # right
        global_vars["menu_halignment"] = halign

        w = self.tree.get_object("domenu")
        global_vars["do_menu"] = w.get_active()

        w = self.tree.get_object("menu_title_text")
        global_vars["menu_title_text"] = w.get_text()

        w = self.tree.get_object("menu_title_color")
        color = w.get_color()
        global_vars["menu_title_color"] = [
            color.red, color.green, color.blue,
            w.get_alpha()
        ]

        w = self.tree.get_object("menu_title_shadow")
        color = w.get_color()
        global_vars["menu_title_shadow"] = [
            color.red, color.green, color.blue,
            w.get_alpha()
        ]

        w = self.tree.get_object("menu_title_font")
        global_vars["menu_title_fontname"] = w.get_font_name()

        # repaint the used size
        self.callback()
Example #7
0
	def set_new_bg(self,global_vars):
		
		w=self.tree.get_object("menu_bg_file")
		menu_filename=w.get_filename()
		if menu_filename==None:
			menu_filename=os.path.join(self.global_vars["path"],"backgrounds","default_bg.png")
		global_vars["menu_bg"]=menu_filename

		w=self.tree.get_object("menu_sound")
		sound_filename=w.get_filename()
		test=devede_newfiles.file_get_params()
		check,channels=test.read_file_values(sound_filename,True)
		global_vars["menu_sound"]=sound_filename
		global_vars["menu_sound_duration"]=test.length
		test=None

		w=self.tree.get_object("menufont")
		global_vars["fontname"]=w.get_font_name()
		
		w=self.tree.get_object("unselected_color")
		color=w.get_color()
		global_vars["menu_font_color"]=[color.red,color.green,color.blue,w.get_alpha()]
				
		w=self.tree.get_object("selected_color")
		color=w.get_color()
		global_vars["menu_selc_color"]=[color.red,color.green,color.blue,65535]
		
		w=self.tree.get_object("shadow_color")
		color=w.get_color()
		global_vars["menu_shadow_color"]=[color.red,color.green,color.blue,w.get_alpha()]
		
		w=self.tree.get_object("bg_color")
		color=w.get_color()
		global_vars["menu_bgcolor"]=[color.red,color.green,color.blue,w.get_alpha()]

		align=0 # top
		w=self.tree.get_object("menumiddle")
		if w.get_active():
			align=2 # middle
		else:
			w=self.tree.get_object("menubottom")
			if w.get_active():
				align=1 # bottom
		global_vars["menu_alignment"]=align
		
		halign=0 # left
		w=self.tree.get_object("menucenter")
		if w.get_active():
			halign=2 # middle
		else:
			w=self.tree.get_object("menuright")
			if w.get_active():
				halign=1 # right
		global_vars["menu_halignment"]=halign
		
		w=self.tree.get_object("domenu")
		global_vars["do_menu"]=w.get_active()
		
		w=self.tree.get_object("menu_title_text")
		global_vars["menu_title_text"]=w.get_text()
		
		w=self.tree.get_object("menu_title_color")
		color=w.get_color()
		global_vars["menu_title_color"]=[color.red,color.green,color.blue,w.get_alpha()]
		
		w=self.tree.get_object("menu_title_shadow")
		color=w.get_color()
		global_vars["menu_title_shadow"]=[color.red,color.green,color.blue,w.get_alpha()]
		
		w=self.tree.get_object("menu_title_font")
		global_vars["menu_title_fontname"]=w.get_font_name()
		
		# repaint the used size
		self.callback()