From 2ccf54183599d31babfbe68d64b3a1bf1bcb5941 Mon Sep 17 00:00:00 2001 From: glenntanner3 Date: Mon, 18 May 2015 13:54:38 -0400 Subject: [PATCH 1/5] Added regex to escape double quote charater in filenames --- src/devedeng/interface_manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/devedeng/interface_manager.py b/src/devedeng/interface_manager.py index ff3c15a..bde2bd5 100644 --- a/src/devedeng/interface_manager.py +++ b/src/devedeng/interface_manager.py @@ -17,6 +17,8 @@ from gi.repository import GObject,Gdk +import re + class interface_manager(GObject.GObject): """ This class allows to automatically generate variables for a GLADE interface, set the widgets in the interface to their values, and copy the current values @@ -75,7 +77,7 @@ class interface_manager(GObject.GObject): The default value can be a text or None """ if (default_value != None): - exec('self.'+text_name+' = "'+str(default_value)+'"') + exec('self.'+text_name+' = "'+re.sub('\"','\\\"', str(default_value))+'"') else: exec('self.'+text_name+' = None') self.interface_text.append( (text_name, callback) ) From 2a4919e85f0e1149c3be2e12a7842da00c6c5310 Mon Sep 17 00:00:00 2001 From: glenntanner3 Date: Mon, 18 May 2015 18:39:29 -0400 Subject: [PATCH 2/5] removed regex replacement and used str.replace function instead --- src/devedeng/interface_manager.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/devedeng/interface_manager.py b/src/devedeng/interface_manager.py index bde2bd5..9e51e2f 100644 --- a/src/devedeng/interface_manager.py +++ b/src/devedeng/interface_manager.py @@ -17,8 +17,6 @@ from gi.repository import GObject,Gdk -import re - class interface_manager(GObject.GObject): """ This class allows to automatically generate variables for a GLADE interface, set the widgets in the interface to their values, and copy the current values @@ -77,7 +75,7 @@ class interface_manager(GObject.GObject): The default value can be a text or None """ if (default_value != None): - exec('self.'+text_name+' = "'+re.sub('\"','\\\"', str(default_value))+'"') + exec('self.'+text_name+' = "'+str(default_value).replace('\"','\\"')+'"') else: exec('self.'+text_name+' = None') self.interface_text.append( (text_name, callback) ) From 72815ecbf25b3c9809769b1488cc3c42a5d69317 Mon Sep 17 00:00:00 2001 From: glenntanner3 Date: Fri, 3 Jul 2015 09:02:46 -0400 Subject: [PATCH 3/5] Added audio bitrate check for mp2.Updated avconv scale options. --- src/devedeng/avconv.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/devedeng/avconv.py b/src/devedeng/avconv.py index 5d59ee1..c1ca4af 100644 --- a/src/devedeng/avconv.py +++ b/src/devedeng/avconv.py @@ -203,7 +203,7 @@ class avconv(devedeng.executor.executor): if (file_project.width_final != file_project.width_midle) or (file_project.height_final != file_project.height_midle): if (cmd_line!=""): cmd_line+=",fifo," - cmd_line+="scale="+str(file_project.width_final)+":"+str(file_project.height_final) + cmd_line+="scale=w="+str(file_project.width_final)+":h="+str(file_project.height_final) if cmd_line!="": self.command_var.append("-vf") @@ -376,6 +376,8 @@ class avconv(devedeng.executor.executor): self.command_var.append("-acodec") if (use_mp2): self.command_var.append("mp2") + if (audio_rate > 384): + audio_rate = 384 #max bitrate for mp2 else: self.command_var.append("ac3") self.command_var.append("-s") From 06d04c40c42ee832f409722870eafa184e88d78f Mon Sep 17 00:00:00 2001 From: klarkc Date: Wed, 19 Aug 2015 12:50:01 -0300 Subject: [PATCH 4/5] Added manual chapters entry --- data/interface/wfile_properties.ui | 61 +++++++++++++++++++++-------- src/devedeng/dvdauthor_converter.py | 9 +++++ src/devedeng/file_movie.py | 4 +- 3 files changed, 56 insertions(+), 18 deletions(-) diff --git a/data/interface/wfile_properties.ui b/data/interface/wfile_properties.ui index 3b203ea..05d24b8 100644 --- a/data/interface/wfile_properties.ui +++ b/data/interface/wfile_properties.ui @@ -848,23 +848,6 @@ True False - - - Split the file in chapters (for easy seeking) - True - True - False - 0 - True - True - - - 0 - 0 - 2 - 1 - - True @@ -896,6 +879,50 @@ 1 + + + Split the file in chapters (for easy seeking) + True + True + False + 0 + True + True + + + 0 + 0 + 2 + 1 + + + + + True + False + 0 + 4 + Manual chapter list (split by comma in mm:ss format): + + + 0 + 2 + 1 + 1 + + + + + True + True + + + 1 + 2 + 1 + 1 + + diff --git a/src/devedeng/dvdauthor_converter.py b/src/devedeng/dvdauthor_converter.py index 366d85a..3d68b91 100644 --- a/src/devedeng/dvdauthor_converter.py +++ b/src/devedeng/dvdauthor_converter.py @@ -384,9 +384,18 @@ class dvdauthor_converter(devedeng.executor.executor): xml_file.write('chapters="0') if (element.original_length > 5): if (element.divide_in_chapters): # add chapters + if (element.chapter_list_entry): + manual_chapter_list = element.chapter_list_entry.split(",") toadd = element.chapter_size seconds = toadd*60 while seconds < (element.original_length - 4): + # Check manual_chapter_list for manual entries before set next chapter + for idx, m_chapter in enumerate(manual_chapter_list): + m_chapter = m_chapter.split(":") + m_chapter = int(m_chapter[0])*60+int(m_chapter[1]) # Change from mm:ss to seconds + if (m_chapter < seconds): + seconds = m_chapter + del manual_chapter_list[idx] thetime = self.return_time(seconds,False) xml_file.write(","+thetime) seconds += (toadd*60) diff --git a/src/devedeng/file_movie.py b/src/devedeng/file_movie.py index 48dfa30..6209e29 100644 --- a/src/devedeng/file_movie.py +++ b/src/devedeng/file_movie.py @@ -55,6 +55,8 @@ class file_movie(devedeng.interface_manager.interface_manager): self.add_toggle("show_in_menu", True) else: self.original_aspect_ratio = 1.777 # dummy value + + self.add_text("chapter_list_entry", None); self.add_dualtoggle("format_pal","format_ntsc",self.config.PAL) self.add_toggle("video_rate_automatic", True) @@ -107,7 +109,7 @@ class file_movie(devedeng.interface_manager.interface_manager): self.add_show_hide("format_pal", ["size_pal"], ["size_ntsc"]) - self.add_enable_disable("divide_in_chapters", ["chapter_size_spinbutton"], []) + self.add_enable_disable("divide_in_chapters", ["chapter_size_spinbutton", "chapter_list_entry"], []) self.add_enable_disable("video_rate_automatic", [], ["video_spinbutton"]) self.add_enable_disable("audio_rate_automatic", [], ["audio_spinbutton"]) self.add_enable_disable("sound5_1", ["copy_sound"], []) From 79725e337b3550a9c18faafb7b95fa375a9505c3 Mon Sep 17 00:00:00 2001 From: klarkc Date: Wed, 19 Aug 2015 16:17:39 -0300 Subject: [PATCH 5/5] Fixed: local variable 'manual_chapter_list' referenced before assignment --- src/devedeng/dvdauthor_converter.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/devedeng/dvdauthor_converter.py b/src/devedeng/dvdauthor_converter.py index 3d68b91..906087c 100644 --- a/src/devedeng/dvdauthor_converter.py +++ b/src/devedeng/dvdauthor_converter.py @@ -384,6 +384,7 @@ class dvdauthor_converter(devedeng.executor.executor): xml_file.write('chapters="0') if (element.original_length > 5): if (element.divide_in_chapters): # add chapters + manual_chapter_list = []; if (element.chapter_list_entry): manual_chapter_list = element.chapter_list_entry.split(",") toadd = element.chapter_size