@@ -283,29 +283,46 @@ def list_generator(
283283
284284def fix_check (project : reapy .Project , subs : List [str ]) -> None :
285285 """Функция для проверки на пропуски и наложения"""
286- subs_enum = project .tracks [1 ].n_items
286+ sbttls = pysubs2 .load (subs [0 ])
287+ pattern = '- '
288+ dbbl_sbs = {}
289+ subs_enum = len (sbttls )
287290 items_enum = project .n_items
291+ sub_items_enum = project .tracks [1 ].n_items
292+ voice_items = items_enum - sub_items_enum - 1
293+ items_mid = voice_items // 2
288294 subs_list = [[float ] * 2 ] * subs_enum
289- items_list = [[float ] * 2 ] * (items_enum - subs_enum - 1 )
290- queue_subs = mp .Queue ()
291- queue_items = mp .Queue ()
292- checked_subs = []
293- dubbles_items = []
294- subs_list_gen = mp .Process (
295+ items_list_1 = [[float ] * 2 ] * items_mid
296+ 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
305+ queue_1 = mp .Queue ()
306+ queue_2 = mp .Queue ()
307+ items_list_gen_1 = mp .Process (
295308 target = list_generator ,
296- args = (0 , 1 , (subs_enum + 1 ), subs_list , queue_subs )
309+ args = (0 , (sub_items_enum + 1 ), (sub_items_enum + 1 + items_mid ),
310+ items_list_1 , queue_1 )
297311 )
298- items_list_gen = mp .Process (
312+ items_list_gen_2 = mp .Process (
299313 target = list_generator ,
300- args = (0 , (subs_enum + 1 ), items_enum ,
301- items_list , queue_items )
314+ args = (0 , (sub_items_enum + 1 + items_mid ), items_enum ,
315+ items_list_2 , queue_2 )
302316 )
303- subs_list_gen .start ()
304- items_list_gen .start ()
305- subs_list = queue_subs .get ()
306- items_list = queue_items .get ()
307- subs_list_gen .join ()
308- items_list_gen .join ()
317+ items_list_gen_1 .start ()
318+ items_list_gen_2 .start ()
319+ items_list_1 = queue_1 .get ()
320+ items_list_2 = queue_2 .get ()
321+ items_list = list (items_list_1 + items_list_2 )
322+ items_list_gen_1 .join ()
323+ items_list_gen_2 .join ()
324+ checked_subs = []
325+ dubbles_items = []
309326 for s in subs_list :
310327 lenght = s [1 ] - s [0 ]
311328 for i in items_list :
@@ -345,21 +362,6 @@ def fix_check(project: reapy.Project, subs: List[str]) -> None:
345362 for s in subs_list :
346363 if s not in checked_subs :
347364 project .add_marker (s [0 ], 'FIX' , (255 , 0 , 255 ))
348- if subs :
349- dubbles_check (project , subs , items_list )
350-
351-
352- def dubbles_check (
353- project : reapy .Project ,
354- subs : List [str ],
355- items_list : List
356- ) -> None :
357- sbttls = pysubs2 .load (subs [0 ])
358- pattern = '- '
359- dbbl_sbs = {}
360- for i , sub in enumerate (sbttls ):
361- if pattern in sub .text .lower ():
362- dbbl_sbs [i ] = [(sub .start / 1000 ), (sub .end / 1000 ), 0 ]
363365 for s in dbbl_sbs :
364366 lenght = dbbl_sbs [s ][1 ] - dbbl_sbs [s ][0 ]
365367 for i in items_list :
0 commit comments