@@ -21,6 +21,7 @@ def __init__(self, parent):
21
21
self .audio_progress_var = tk .IntVar ()
22
22
self .video_progress_var = tk .IntVar ()
23
23
self .fps_var = tk .StringVar ()
24
+ self .audio_shift_var = tk .StringVar ()
24
25
self .start_button = None
25
26
26
27
self .generate_ui ()
@@ -41,6 +42,12 @@ def generate_ui(self):
41
42
tk .Label (fps_frame , text = 'FPS:' ).pack (side = tk .LEFT )
42
43
tk .Entry (fps_frame , textvariable = self .fps_var ).pack (side = tk .LEFT )
43
44
45
+ audio_shift_frame = tk .Frame (self )
46
+ audio_shift_frame .pack ()
47
+ tk .Label (audio_shift_frame , text = 'Shift Audio forward' ).pack (side = tk .LEFT )
48
+ tk .Entry (audio_shift_frame , textvariable = self .audio_shift_var ).pack (side = tk .LEFT )
49
+ tk .Label (audio_shift_frame , text = 'frames' ).pack (side = tk .LEFT )
50
+
44
51
cmd_frame = tk .Frame (self )
45
52
cmd_frame .pack (fill = tk .X )
46
53
self .start_button = tk .Button (cmd_frame , text = 'Start' , command = self .execute )
@@ -53,7 +60,7 @@ def generate_ui(self):
53
60
54
61
def center_window (self ):
55
62
w = 500
56
- h = 120
63
+ h = 140
57
64
58
65
sw = self .parent .winfo_screenwidth ()
59
66
sh = self .parent .winfo_screenheight ()
@@ -91,21 +98,27 @@ def execute(self):
91
98
messagebox .showerror (title = 'audiosync' , message = 'FPS has to be decimal number' )
92
99
return
93
100
101
+ try :
102
+ audio_shift = int (self .audio_shift_var .get ())
103
+ except ValueError :
104
+ messagebox .showerror (title = 'audiosync' , message = 'Audio shift has to be integer' )
105
+ return
106
+
94
107
thread = Thread (target = self .thread_target ,
95
- args = (self .audio_progress_var , self .video_progress_var , self .start_button , fps , directory ))
108
+ args = (self .audio_progress_var , self .video_progress_var , self .start_button , fps , directory , audio_shift ))
96
109
thread .start ()
97
110
self .start_button .config (state = 'disabled' )
98
111
99
112
100
113
@staticmethod
101
- def thread_target (audio_progress_var , video_progress_var , start_button , fps , directory ):
114
+ def thread_target (audio_progress_var , video_progress_var , start_button , fps , directory , audio_shift ):
102
115
video_ret = analyse_directory (os .path .join (directory , 'video' ), video_progress_var )
103
116
audio_ret = analyse_directory (os .path .join (directory , 'audio' ), audio_progress_var )
104
117
105
118
program_logic .rename_files (audio_ret , 'a' )
106
119
program_logic .rename_files (video_ret , 'v' )
107
120
108
- program_logic .generate_edls (video_ret , audio_ret , fps , os .path .join (directory , 'edl' ))
121
+ program_logic .generate_edls (video_ret , audio_ret , fps , os .path .join (directory , 'edl' ), audio_shift )
109
122
110
123
audio_progress_var .set (0 )
111
124
video_progress_var .set (0 )
0 commit comments