Skip to content

Commit b48e669

Browse files
committed
3
1 parent b5757fa commit b48e669

2 files changed

Lines changed: 65 additions & 123 deletions

File tree

check_standalone.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,13 @@ def fix_checker(master: tkinter.Tk, BUTTONS: List):
109109
elif i[0] < dbbl_sbs[s][0] and (
110110
i[1] > dbbl_sbs[s][0] and i[1] < dbbl_sbs[s][1]
111111
):
112-
dbbl_sbs[s][2] += 1
112+
if dbbl_sbs[s][0] < middle < dbbl_sbs[s][1]:
113+
dbbl_sbs[s][2] += 1
113114
elif i[0] > dbbl_sbs[s][0] and (
114115
i[0] < dbbl_sbs[s][1] and i[1] > dbbl_sbs[s][1]
115116
):
116-
dbbl_sbs[s][2] += 1
117+
if dbbl_sbs[s][0] < middle < dbbl_sbs[s][1]:
118+
dbbl_sbs[s][2] += 1
117119
for s in dbbl_sbs:
118120
if dbbl_sbs[s][2] < 2:
119121
project.add_marker(dbbl_sbs[s][0], 'DUBBLE HERE', (255, 255, 0))

main.py

Lines changed: 61 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -152,110 +152,43 @@ def subs_generator(
152152
flag: str
153153
) -> None:
154154
for i in range(strt_idx, end_idx):
155-
start = sbttls[i].start / 1000
156-
end = sbttls[i].end / 1000
157-
if flag == 'region':
158-
project.add_region(
159-
start, end, sbttls[i].text, (147, 112, 219)
160-
)
161-
elif flag == 'item':
162-
item = project.tracks[1].add_item(start, end)
163-
RPR.ULT_SetMediaItemNote(item.id, sbttls[i].text)
164-
165-
166-
def import_subs(subs: List[str], project: reapy.Project, flag: str) -> None:
167-
sbttls = pysubs2.load(subs[0])
168-
mid = len(sbttls) // 2
169-
four = mid // 2
170-
eight = four // 2
171-
subs_gen_1 = (
172-
mp.Process(
173-
target=subs_generator,
174-
args=(
175-
project, sbttls, 0, eight,
176-
flag
177-
)
178-
)
179-
)
180-
subs_gen_2 = (
181-
mp.Process(
182-
target=subs_generator,
183-
args=(
184-
project, sbttls, eight, four,
185-
flag
186-
)
187-
)
188-
)
189-
subs_gen_3 = (
190-
mp.Process(
191-
target=subs_generator,
192-
args=(
193-
project, sbttls, four, (four + eight),
194-
flag
195-
)
196-
)
197-
)
198-
subs_gen_4 = (
199-
mp.Process(
200-
target=subs_generator,
201-
args=(
202-
project, sbttls, (four + eight), mid,
203-
flag
204-
)
205-
)
206-
)
207-
subs_gen_5 = (
208-
mp.Process(
209-
target=subs_generator,
210-
args=(
211-
project, sbttls, mid, (mid + eight),
212-
flag
213-
)
214-
)
215-
)
216-
subs_gen_6 = (
217-
mp.Process(
218-
target=subs_generator,
219-
args=(
220-
project, sbttls, (mid + eight), (mid + four),
221-
flag
222-
)
223-
)
224-
)
225-
subs_gen_7 = (
226-
mp.Process(
227-
target=subs_generator,
228-
args=(
229-
project, sbttls, (mid + four), (mid + four + eight),
230-
flag
231-
)
232-
)
233-
)
234-
subs_gen_8 = (
235-
mp.Process(
236-
target=subs_generator,
237-
args=(
238-
project, sbttls, (mid + four + eight), len(sbttls),
239-
flag
155+
try:
156+
start = sbttls[i].start / 1000
157+
end = sbttls[i].end / 1000
158+
if flag == 'region':
159+
project.add_region(
160+
start, end, sbttls[i].text, (147, 112, 219)
161+
)
162+
elif flag == 'item':
163+
item = project.tracks[1].add_item(start, end)
164+
RPR.ULT_SetMediaItemNote(item.id, sbttls[i].text)
165+
except IndexError:
166+
break
167+
168+
169+
def import_subs(
170+
sbttls: pysubs2.SSAFile,
171+
project: reapy.Project,
172+
step: int,
173+
flag: str,
174+
strt_idx: int,
175+
end_idx: int
176+
) -> None:
177+
if strt_idx >= len(sbttls):
178+
pass
179+
else:
180+
subs_gen = (
181+
mp.Process(
182+
target=subs_generator,
183+
args=(
184+
project, sbttls, strt_idx, end_idx,
185+
flag
186+
)
240187
)
241188
)
242-
)
243-
subs_gen_1.start()
244-
subs_gen_2.start()
245-
subs_gen_3.start()
246-
subs_gen_4.start()
247-
subs_gen_5.start()
248-
subs_gen_6.start()
249-
subs_gen_7.start()
250-
subs_gen_8.start()
251-
subs_gen_1.join()
252-
subs_gen_2.join()
253-
subs_gen_3.join()
254-
subs_gen_4.join()
255-
subs_gen_5.join()
256-
subs_gen_6.join()
257-
subs_gen_7.join()
258-
subs_gen_8.join()
189+
subs_gen.start()
190+
import_subs(sbttls, project, step, flag, end_idx, (end_idx + step))
191+
subs_gen.join()
259192

260193

261194
def list_generator(
@@ -283,25 +216,27 @@ def list_generator(
283216

284217
def fix_check(project: reapy.Project, subs: List[str]) -> None:
285218
"""Функция для проверки на пропуски и наложения"""
286-
sbttls = pysubs2.load(subs[0])
287-
pattern = '- '
288219
dbbl_sbs = {}
289-
subs_enum = len(sbttls)
220+
subs_list = []
221+
if subs:
222+
sbttls = pysubs2.load(subs[0])
223+
pattern = '- '
224+
subs_enum = len(sbttls)
225+
subs_list = [[float] * 2] * subs_enum
226+
position = 0
227+
for i, sub in enumerate(sbttls):
228+
start = sub.start / 1000
229+
end = sub.end / 1000
230+
subs_list[position] = [start, end]
231+
if pattern in sub.text.lower():
232+
dbbl_sbs[i] = [(sub.start / 1000), (sub.end / 1000), 0]
233+
position += 1
290234
items_enum = project.n_items
291235
sub_items_enum = project.tracks[1].n_items
292236
voice_items = items_enum - sub_items_enum - 1
293237
items_mid = voice_items // 2
294-
subs_list = [[float] * 2] * subs_enum
295238
items_list_1 = [[float] * 2] * items_mid
296239
items_list_2 = [[float] * 2] * (voice_items - items_mid)
297-
position = 0
298-
for i, sub in enumerate(sbttls):
299-
start = sub.start / 1000
300-
end = sub.end / 1000
301-
subs_list[position] = [start, end]
302-
if pattern in sub.text.lower():
303-
dbbl_sbs[i] = [(sub.start / 1000), (sub.end / 1000), 0]
304-
position += 1
305240
queue_1 = mp.Queue()
306241
queue_2 = mp.Queue()
307242
items_list_gen_1 = mp.Process(
@@ -363,7 +298,6 @@ def fix_check(project: reapy.Project, subs: List[str]) -> None:
363298
if s not in checked_subs:
364299
project.add_marker(s[0], 'FIX', (255, 0, 255))
365300
for s in dbbl_sbs:
366-
lenght = dbbl_sbs[s][1] - dbbl_sbs[s][0]
367301
for i in items_list:
368302
middle = i[0] + ((i[1] - i[0]) / 2)
369303
if i[0] >= dbbl_sbs[s][0] and i[1] <= dbbl_sbs[s][1]:
@@ -373,11 +307,13 @@ def fix_check(project: reapy.Project, subs: List[str]) -> None:
373307
elif i[0] < dbbl_sbs[s][0] and (
374308
i[1] > dbbl_sbs[s][0] and i[1] < dbbl_sbs[s][1]
375309
):
376-
dbbl_sbs[s][2] += 1
310+
if dbbl_sbs[s][0] < middle < dbbl_sbs[s][1]:
311+
dbbl_sbs[s][2] += 1
377312
elif i[0] > dbbl_sbs[s][0] and (
378313
i[0] < dbbl_sbs[s][1] and i[1] > dbbl_sbs[s][1]
379314
):
380-
dbbl_sbs[s][2] += 1
315+
if dbbl_sbs[s][0] < middle < dbbl_sbs[s][1]:
316+
dbbl_sbs[s][2] += 1
381317
for s in dbbl_sbs:
382318
if dbbl_sbs[s][2] < 2:
383319
project.add_marker(dbbl_sbs[s][0], 'DUBBLE HERE', (255, 255, 0))
@@ -482,12 +418,16 @@ def reaper_main(
482418
audio_select(audio)
483419
RPR.InsertMedia(video[0], 512 | 0)
484420
project.save(False)
421+
if subs:
422+
sbttls = pysubs2.load(subs[0])
423+
step = len(sbttls) // 8
424+
strt_idx, end_idx = 0, step
425+
if get_option('sub_region'):
426+
import_subs(sbttls, project, step, 'region', strt_idx, end_idx)
427+
if get_option('sub_item'):
428+
import_subs(sbttls, project, step, 'item', strt_idx, end_idx)
485429
if get_option('split'):
486430
split(project)
487-
if subs and (get_option('sub_region')):
488-
import_subs(subs, project, 'region')
489-
if subs and get_option('sub_item'):
490-
import_subs(subs, project, 'item')
491431
project.save(False)
492432
hidden_normalize(project)
493433
back_up(project, new_path)

0 commit comments

Comments
 (0)