Skip to content

Commit 81c9ff7

Browse files
committed
3.21
1 parent 9d741b1 commit 81c9ff7

4 files changed

Lines changed: 44 additions & 62 deletions

File tree

ReaperScript.exe

-136 Bytes
Binary file not shown.

ReaperScript.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def on_fix_check_click(master: tkinter.Tk, BUTTONS: List):
159159
y = (s_height - height) // 2
160160
master.geometry(f'{width}x{height}+{x}+{y - upper}')
161161
master.resizable(width=False, height=False)
162-
master.title('REAPERSCRIPT v3.20')
162+
master.title('REAPERSCRIPT v3.21')
163163
master.iconbitmap(default=resource_path('ico.ico'))
164164
img = Image.open(resource_path('background.png'))
165165
tk_img = ImageTk.PhotoImage(img)

file_works.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def resource_path(path):
3434
return os.path.join(base_path, path)
3535

3636

37-
def get_path_to_files(folder: str, extension: str) -> List[str]:
37+
def glob_path(folder: str, extension: str) -> List[str]:
3838
"""Функция для получения пути к файлу"""
3939
return glob.glob(os.path.join(folder, extension))
4040

@@ -44,7 +44,7 @@ def get_fx_chains() -> Dict[str, str] or None:
4444
fx_chains_folder = load_path('fx_chains_folder')
4545
if fx_chains_folder:
4646
fx_dict = {}
47-
fx_chains = get_path_to_files(fx_chains_folder, '*.RfxChain')
47+
fx_chains = glob_path(fx_chains_folder, '*.RfxChain')
4848
for chain in fx_chains:
4949
fx_chain_name = chain.split('\\')[-1]
5050
dubber_name = fx_chain_name.split('.')[-2].lower()
@@ -97,7 +97,7 @@ def subs_rename(
9797
filenamae = os.path.splitext(subs[0])[0].split('\\')[-2]
9898
new_name = f'{filenamae}/{number}.srt'
9999
os.rename(subs[0], new_name)
100-
subs = get_path_to_files(folder, '*.srt')
100+
subs = glob_path(folder, '*.srt')
101101
except PermissionError:
102102
tkinter.messagebox.showerror('Файл используется', IN_USE)
103103
return None
@@ -150,7 +150,7 @@ def video_rename(
150150
new_name = f'{filename}/{title} {number}{ext}'
151151
try:
152152
os.rename(video[0], new_name)
153-
video = get_path_to_files(folder, f'*{ext}')
153+
video = glob_path(folder, f'*{ext}')
154154
return video, title, number, ext
155155
except PermissionError:
156156
tkinter.messagebox.showerror('Файл используется', IN_USE)
@@ -175,7 +175,7 @@ def audio_rename(folder: str, audio: List[str], ext: str) -> List[str] or None:
175175
except PermissionError:
176176
tkinter.messagebox.showerror('Файл используется', IN_USE)
177177
return None
178-
fixed_audio = get_path_to_files(folder, f'*{ext}')
178+
fixed_audio = glob_path(folder, f'*{ext}')
179179
return fixed_audio
180180

181181

@@ -244,8 +244,8 @@ def file_works(folder: str) -> (
244244
if not folder:
245245
tkinter.messagebox.showerror('Ошибка', NO_FOLDER)
246246
return None, None, None, None, None, None
247-
mkv_video = get_path_to_files(folder, '*.mkv')
248-
mp4_video = get_path_to_files(folder, '*.mp4')
247+
mkv_video = glob_path(folder, '*.mkv')
248+
mp4_video = glob_path(folder, '*.mp4')
249249
if not mkv_video and not mp4_video:
250250
tkinter.messagebox.showerror('Нет видеофайлов', NO_VIDEO)
251251
return None, None, None, None, None, None
@@ -256,8 +256,8 @@ def file_works(folder: str) -> (
256256
video, title, number, ext = video_rename(folder, mkv_video)
257257
elif mp4_video:
258258
video, title, number, ext = video_rename(folder, mp4_video)
259-
flac_audio = get_path_to_files(folder, '*.flac*')
260-
wav_audio = get_path_to_files(folder, '*.wav*')
259+
flac_audio = glob_path(folder, '*.flac*')
260+
wav_audio = glob_path(folder, '*.wav*')
261261
if not flac_audio and not wav_audio:
262262
tkinter.messagebox.showerror('Нет аудиофайлов', NO_AUDIO)
263263
return None, None, None, None, None, None
@@ -266,7 +266,7 @@ def file_works(folder: str) -> (
266266
if wav_audio:
267267
wav_audio = audio_rename(folder, wav_audio, '.wav')
268268
audio = list(flac_audio + wav_audio)
269-
subs = get_path_to_files(folder, '*.srt')
269+
subs = glob_path(folder, '*.srt')
270270
if len(subs) > 1:
271271
tkinter.messagebox.showerror('Много файлов субтитров', MANY_SUBS)
272272
return None, None, None, None, None, None
@@ -278,8 +278,8 @@ def file_works(folder: str) -> (
278278
rus_sub = '0:s:m:language:rus'
279279
eng_sub = '0:s:m:language:eng'
280280
any_sub = '0:s:m:language:?'
281-
ass_subs = get_path_to_files(folder, '*.ass')
282-
vtt_subs = get_path_to_files(folder, '*.vtt')
281+
ass_subs = glob_path(folder, '*.ass')
282+
vtt_subs = glob_path(folder, '*.vtt')
283283
if (ass_subs and vtt_subs) or len(ass_subs) > 1 or len(vtt_subs) > 1:
284284
tkinter.messagebox.showerror('Много файлов субтитров', MANY_SUBS)
285285
return None, None, None, None, None, None
@@ -292,18 +292,18 @@ def file_works(folder: str) -> (
292292
elif not ass_subs:
293293
if os.path.splitext(video[0])[-1] == '.mkv':
294294
subs_extract(folder, video, 'ass', rus_sub)
295-
ass_subs = get_path_to_files(folder, '*.ass')
295+
ass_subs = glob_path(folder, '*.ass')
296296
if not ass_subs:
297297
subs_extract(folder, video, 'ass', eng_sub)
298-
ass_subs = get_path_to_files(folder, '*.ass')
298+
ass_subs = glob_path(folder, '*.ass')
299299
if not ass_subs:
300300
subs_extract(folder, video, 'ass', any_sub)
301-
ass_subs = get_path_to_files(folder, '*.ass')
301+
ass_subs = glob_path(folder, '*.ass')
302302
if ass_subs:
303303
if get_option('subs_cleaner'):
304304
subs_edit(ass_subs, 'ass')
305305
ass_sub_convert(folder, ass_subs)
306-
srt_subs = get_path_to_files(folder, '*.srt')
306+
srt_subs = glob_path(folder, '*.srt')
307307
if srt_subs:
308308
subs = subs_rename(folder, srt_subs, number)
309309
if get_option('subs_cleaner'):
@@ -312,7 +312,7 @@ def file_works(folder: str) -> (
312312
try:
313313
if os.path.splitext(video[0])[-1] == '.mkv':
314314
subs_extract(folder, video, 'srt', '0:s:m:language:?')
315-
subs = get_path_to_files(folder, '*.srt')
315+
subs = glob_path(folder, '*.srt')
316316
subs = subs_rename(folder, subs, number)
317317
if get_option('subs_cleaner'):
318318
subs_edit(subs, 'srt')

reaper_works.py

Lines changed: 26 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from reapy import reascript_api as RPR
22
from config_works import get_option, load_path
3-
from file_works import get_fx_chains, get_path_to_files
3+
from file_works import get_fx_chains, glob_path
44
from typing import List
55
import multiprocessing as mp
66
import win32con
@@ -64,23 +64,19 @@ def split(project: reapy.Project) -> None:
6464
win32gui.SendMessage(hwnd, win32con.WM_COMMAND, 1, 0)
6565

6666

67-
def normalize_all(command: int, project: reapy.Project) -> None:
67+
def normalize(command: int, project: reapy.Project, flag: str) -> None:
6868
"""Функция для нормализации всего по громкости"""
69-
project.select_all_items()
70-
reapy.perform_action(command)
71-
72-
73-
def normalize_dubbers(command: int, project: reapy.Project) -> None:
74-
"""Функция для нормализации дорог по громкости"""
75-
project.select_all_items()
76-
RPR.SetMediaItemSelected(project.items[0].id, False)
77-
reapy.perform_action(command)
78-
79-
80-
def normalize_video(command: int, project: reapy.Project) -> None:
81-
"""Функция для нормализации видео по громкости"""
82-
project.select_all_items(False)
83-
RPR.SetMediaItemSelected(project.items[0].id, True)
69+
if flag == 'all' or flag == 'dubbers':
70+
select_all = True
71+
else:
72+
select_all = False
73+
if flag == 'dubbers':
74+
select_item = False
75+
elif flag == 'video':
76+
select_item = True
77+
project.select_all_items(select_all)
78+
if flag == 'video' or flag == 'dubbers':
79+
RPR.SetMediaItemSelected(project.items[0].id, select_item)
8480
reapy.perform_action(command)
8581

8682

@@ -91,8 +87,8 @@ def hidden_normalize(project: reapy.Project) -> None:
9187
clsname, title = '#32770', 'SWS/BR - Normalizing loudness...'
9288
if get_option('normalize'):
9389
norm = mp.Process(
94-
target=normalize_all,
95-
args=(command, project)
90+
target=normalize,
91+
args=(command, project, 'all')
9692
)
9793
hide = mp.Process(
9894
target=hide_window,
@@ -104,8 +100,8 @@ def hidden_normalize(project: reapy.Project) -> None:
104100
hide.join()
105101
if get_option('normalize_dubbers'):
106102
norm = mp.Process(
107-
target=normalize_dubbers,
108-
args=(command, project)
103+
target=normalize,
104+
args=(command, project, 'dubbers')
109105
)
110106
hide = mp.Process(
111107
target=hide_window,
@@ -117,8 +113,8 @@ def hidden_normalize(project: reapy.Project) -> None:
117113
hide.join()
118114
if get_option('normalize_video'):
119115
norm = mp.Process(
120-
target=normalize_video,
121-
args=(command, project)
116+
target=normalize,
117+
args=(command, project, 'video')
122118
)
123119
hide = mp.Process(
124120
target=hide_window,
@@ -379,30 +375,21 @@ def render(folder: str, flag: str, tracks: int = None) -> str or None:
379375
hide.start()
380376
win32gui.SendMessage(render, win32con.BM_CLICK, 0, 0)
381377
if flag == 'main':
382-
output_file = os.path.normpath(get_path_to_files(folder, 'audio.*')[0])
378+
output_file = os.path.normpath(glob_path(folder, 'audio.*')[0])
383379
return output_file
384380

385381

386382
def hide_window(clsname: str, title: str, flag: str, tracks: int = None):
387-
hwnd = win32gui.FindWindow(clsname, title)
388-
if flag == 'normalize':
389-
while not hwnd:
390-
time.sleep(0.1)
391-
hwnd = win32gui.FindWindow(clsname, title)
392-
elif flag == 'render_main':
393-
while not hwnd:
394-
time.sleep(0.1)
395-
hwnd = win32gui.FindWindow(clsname, title)
396-
elif flag == 'render_to_file':
383+
if flag == 'render_to_file' or flag == 'de_noize':
397384
time.sleep(1)
398-
hwnd = win32gui.FindWindow(clsname, title)
385+
hwnd = win32gui.FindWindow(clsname, title)
386+
if flag != 'de_noize':
399387
while not hwnd:
400388
time.sleep(0.1)
401389
hwnd = win32gui.FindWindow(clsname, title)
402-
elif flag == 'de_noize':
403-
time.sleep(1)
390+
win32gui.ShowWindow(hwnd, 0)
391+
else:
404392
if tracks == 1:
405-
hwnd = win32gui.FindWindow(clsname, title)
406393
while not hwnd:
407394
time.sleep(0.1)
408395
hwnd = win32gui.FindWindow(clsname, title)
@@ -418,8 +405,6 @@ def hide_window(clsname: str, title: str, flag: str, tracks: int = None):
418405
clsname, f'Rendering region {i}/{tracks}...'
419406
)
420407
win32gui.ShowWindow(hwnd, 0)
421-
if flag != 'de_noize':
422-
win32gui.ShowWindow(hwnd, 0)
423408

424409

425410
def de_noizer(folder: str, audio) -> List[str]:
@@ -436,10 +421,7 @@ def de_noizer(folder: str, audio) -> List[str]:
436421
for file in audio:
437422
os.remove(file)
438423
os.remove(f'{file}.reapeaks')
439-
flac = get_path_to_files(folder, '*.flac')
440-
wave = get_path_to_files(folder, '*.wave')
441-
audio = list(flac + wave)
442-
return audio
424+
return list(glob_path(folder, '*.flac') + glob_path(folder, '*.wave'))
443425

444426

445427
if __name__ == '__main__':

0 commit comments

Comments
 (0)