Список форумов Kage Project Kage Project
 
  РегистрацияРегистрация  ВходВход
  Архив субтитровАрхив субтитров  ПоискПоиск  ЧаВоЧаВо  ПользователиПользователи
 Войти и проверить личные сообщенияВойти и проверить личные сообщения

Скрипты автоматизации для Aegisub by Zabr [28.10.18]
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка
Предыдущая тема :: Следующая тема 
Автор Сообщение
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Вт Июл 17, 2018 4:03 am   Заголовок сообщения: Скрипты автоматизации для Aegisub by Zabr [28.10.18] Ответить с цитатой

Всем здравствуйте.

Изначально тема создавалась только для скрипта очистки сабов, так что по нему тут больше всего инфы. Но в итоге решил переделать тему под все свои скрипты с описаниями их функций и возможностей.

Скрипты можно скачать тут: https://yadi.sk/d/DPu3_GT23Zi9vz и обновляться будут там же по мере фикса багов (если они найдутся) и новых фич. В названия фалов включены дата и версия для удобства отслеживания (можно удалить из названия, для удобства бинда хот кеев, поскольку в самом скрипте эта информация также прописана).

Для тех, кто не знает как использовать скрипты: кидать в папку «Aegisub\automation\autoload», после этого перезапустить Aegisubs (или перезагрузить скрипты через менеджер автоматизации) и в меню «Автоматизация» они у вас появятся.

Все баги и предложения можно писать в эту тему или в ЛС или в телеграм: https://t.me/Zabrr

Так же хотелось бы выразить благодарности:
  • в первую очередь unanimated'у, который сподвиг меня на правильное оформление и написание скриптов. А так же за огромный пак его скриптов, которые до сих пор использую и которые очень экономят время. Ну и, конечно же, за идеи некоторых его скриптов, которые были использованы за основу в моих;
  • Endill'у, с которым много общались на тему оформления и автоматизации в Aegisubs;
  • Ну и многим русскоязычным оформителям: Surokune, Sa4ko, LiaNdrY, Усатый Ня, chainsaw и тд, которые мне в далекие времени показали, что такое «оформленное аниме»
Приятного использования!

Скрипт со всеми необходимыми функциями для моих скриптов («Functions», файл «z_functions.lua»)
    В скрипте содержаться функции, необходимые для большей части моих скриптов. Лучше скачать, чтобы не думать: «а нужен ли он мне?»
Скрипт работы с \clip'ом («Clip», файл «z_clip.lua». Для работы необходим «z_functions.lua»)
    Божественнейший скрипт, который экономит мне массу времени. Содержит следующие функции по работе с \clip:
    • «Clip <-> iclip»: преобразование \clip в \iclip и наоборот (скрипт для бинда на хоткей)
    • «Clip copy»: копирование клипа из первой строки в следующие в выделенных строках. Для запуска должен быть \clip в первой выделенной строке. Пример/логика использования: допустим у вас покадровое изменение клипа, а надпись занимает 2 и более строк. Для каждого кадра в первой строке рисуете свой клип, сортируете по времени, выделяете все строки этой надписи и запускаете скрипт. В итоге, у вас во все строки одного кадра скопирован клип из первой строки этого кадра. !!!Важно!!! В остальных строках не должно быть \clip, а то скрипт подумает, что это новый \clip, который нужно вставить дальше.
    • «Clip split»: разбивает \clip по четырёхугольникам используя 2 первые и 2 последние координаты. Должно быть кратное 4 количество координат. Используется когда вам нужно рисование от клипа разбить на какие то области (например, сделать плитку). Например, из строки:
      Код:
      Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,{\clip(m 308 420 l 574 330 650 306 994 204 1066 354 778 440 684 490 458 618)}

      получатся строки:
      Код:
      Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,{\clip(m 308 420 l 574 330 684 490 458 618)}
      Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,{\clip(m 650 306 l 994 204 1066 354 778 440)}

    • «Clip transform»: делает появление в любом направлении (из преждложенных Smile) для прямоугольного \clip. Например, если нужно, чтобы надпись появлялась слева, то этот скрипт то, что вам нужно)
Скрипт помощник для тайминга с нуля («Timing helper», файл «z_timing_helper.lua». Для работы необходим «z_functions.lua»)
    Скрипт помогает делать тайминг с 0. Есть функции генерации N пронумерованных строк и правки нумерации в таких строках при путанице.
    Отдельно стоит рассказать, что такое Timing mode: в скрипте 2 функции Start и End при выключенном Timing mode работают аналогично стандартным функциям Aegisubs «Установить начало/конец строки на текущий видеокадр». Это сделано специально, чтобы не перебиндивать постоянно хот кеи. При включенном Timing mode, эти 2 функции делают ровно тоже самое, но вдобавок они модифицируют тайминг всех следующих строк сохраняя их длительность, но чтобы тайминг был непрерывным, начиная от текущей строки. Это решает очень много проблем, например, что у строки на самом деле тайминг длиннее, чем было, и след строка на неё налезает или что нужно самому соединять тайминг строк, чтобы не было однокадровых пропусков и так далее. С этим скриптом делать тайминг с 0 стало эффективнее раза в 1.5-2. Даже задумывался о том, что делать с ним нормальный тайминг с 0 быстрее, чем править чужой тайминг, но проверить пока не удалось.

    В общем, очень полезная штука.

    Так же есть проверка на включенный Timing mode, если скрипт давно не использывался, чтобы не сломать тайминг в готовых сабах)
Скрипт для выравнивания длинного текста по ширине («Split and justify», файл «z_split_and_justify.lua». Для работы необходимы «z_functions.lua» и «ks_utf8.lua» (можно скачать по ссылке в папке «Another required scripts»))
    Мощный скрипт, который очень выручает, когда нужно сделать длинный текст, выровненным по ширине. Последнии версии научились работать со строчными тегами. Жаль не часто приходится его использовать. В GUI 2 настройки:
    • Величина красной строки - количество пробелов;
    • Ширина необходимого текста - в пикселях.
    После этого скрипта рекомендую обязательно использовать Subs cleanup, поскольку этот скрипт генерирует массу тегов, для того, чтобы все верно отображалось. Но они, скорее всего, будут очищены за ненадобностью.
Скрипт, который делает левое выравнивание строк («Fix mass speech lines», файл «z_fix_mass_speech.lua». Для работы необходим «z_functions.lua»)
    Помогает сделать выравнивание по левому краю у строк, которые содержат речь двух и более разных персонажей. Умеет работать со строчными тегами. Самая длинная строка останется на экране неподвижной, все остальные выравниваются по левому краю.
Скрипт делаеющий эффект сломанного ТВ («TV effect», файл «z_tv_effect.lua». Для работы необходим «z_functions.lua»)
    Ещё один мощный скрипт, который был написан буквально для одной надписи. Позволяет сделать на текст, рисование, да что угодно эффект помех сломанного ТВ. При генерации ТВ эффекта помех с жесткими и не оптимальными настройками, субтитры могут вообще зависать на этом моменте. Но при тонкой настройке и подборе параметров, а так же немножко удачи (90% данных от скрипта генерируется случайно, даааа, немножко))), выглядит просто потрясающе)
Скрипт очистки субтитров от мусора («Subs cleanup», файл «z_subs_cleanup.lua». Для работы необходимы «z_text_layer.lua», «z_functions.lua» и «ks_utf8.lua» (можно скачать по ссылке в папке «Another required scripts»))
    Хочу вам представить мой скрипт по очистки сабов от мусора. Долгое время пользовался скриптом unanimated'a, но в конечном счёте он перестал меня удовлетворять + чаще всего приходилось использовать связку из 3 вещей (сам скрипт очистки, сортировка тегов в Hydra, округление значений в Relocator), что начало изрядно напрягать, поэтому наконец-то появился этот скрипт. Идея его написать родилась уже давно, поскольку было множество дополнительных вещей, которые бы хотел в нём видеть. Ну и основные функции также были тут реализованы.

    • Для кого он предназначен?
      В первую очередь для оформителей. Поюзав его несколько дней, уже не могу без него жить, настолько все стало прекрасно и быстрее xD
      Но, тем не менее, рекомендую прогонять через него (конкретно через «Subs cleanup -> Release») абсолютно любые ass субтитры перед релизом, ибо за всё время какого только говна я в них не видел (можно начать с банального дублирования названия стилей или вот на днях видел скрипт с 250+ стилями, из которых использовались 10-15...), и вообще удивлялся, как там что-то работает и не виснет...
    • Чем он лучше?
      В первую очередь, намного более глубокой очисткой тегов от мусора. Кому интереснее узнать на этот счёт подробнее, могут прочесть массу комментариев в самом скрипте.
      Вдобавок, очистка инфы скрипта (самый верхний блок) и стилей от дубликатов и мусора.
      Далее, что просто мега важно для меня, можно вынести на хот кей тайп и релиз очистки (настроить, что туда входит, можно в начале скрипта), которые включают в себя определенные функции (ну и есть GUI для запуска конкретных функций по отдельности/вместе и очистка конкретных/всех тегов).
      Так же тут исправлены некоторые баги/недоработки (например, очистка работающих тегов перед \r, не очистка дубликатов тегов, если они без значения, убрана очистка двойных пробелов в тайпе, которая очень бесила и тд)
    • Чем он хуже?
      Отсутствуют некоторые функции из того скрипта, которые я никогда не использовал
      Могут быть баги xD
    • Какие есть известные баги?
      Если вы используете \rStyle со стилем, отличным от того, который у строки, то, скорее всего, у вас эти строчки сломаются.
    • Почему это не пофикшено?
      Подумал об этом когда всё уже практически было готово. А поскольку пару раз в жизни видел, чтобы кто-то использовал \r с параметром стиля, решил, что фиксить это смысла никакого нет.
      Да и вообще, использование \r - неоправданное зло)))
    • Будет ли новый функционал?
      Вряд ли. Всё, что было нужно мне, тут написано. Да и не представляю, что нового может быть, не касающееся очистки тегов. Одну вещь (очистку дублей между тег блоками) не планировал делать сейчас, но в итоге написал. Разве что кто-то подкинет идейку того, что ещё можно очищать в тегах, что генерируется массово при работе других скриптов или кривыми руками)))

    GUI почти ничем не отличается (от скрипта unanimated'a), разве что он стал меньше, поскольку были убраны некоторые функции. Для некоторых строчек в GUI, у которых написано «(?)», можно прочитать комментарии при наведении. Все функции запускаются кнопкой «Clear script». По умолчанию, запуск функций из GUI применяется ко всем строкам, если не стоит галочка «Only seleted». Кнопки «Delete all tags» и «Delete inline tags» работают сами по себе и применяются только к выделенным строкам. Для удаления выбранных тегов, нужно их отметить и нажать «^^ Delete checked tags ^^» (применяется только к выделенным строкам). По умолчанию, все подобные теги удаляются везде в строке. Можно запретить удалять теги в старт теге / строчных тегах / в \t, поставив соответствующие галочки «S (?)» / «I (?)» / «T (?)».

    При запуске из меню «Subs cleanup -> Type/Custom» применяется к выделенным строкам, «Subs cleanup -> Release» - ко всем строкам.

    Кто будет пользоваться, рекомендую на первых порах делать резервные копии и проверять всё на предмет поломки)
Скрипт преобразования клипа в рисование и обратно («Clip <-> Draw», файл «z_clip_draw.lua». Для работы необходим «z_functions.lua»)
    Ещё одна вещь, без которой невозможно жить. Чтобы что-то нарисовать, не нужно лезть а убогий ASS Draw или чтобы поправить рисовалку достаточно преобразовать её в клип, изменить нужную координату и вернуть обратно. У unanimated'a есть подобная вещь в Hydra, но она:
    • Не работает с прямоугольным \clip
    • Не учитывает \fscx \fscy при преобразовании Draw <-> Clip
    • Не сохраняет \clip при преобразовании Draw <-> Clip, если у вас рисование + \clip
    • Не сохраняет текст при приобразовании Clip <-> Draw
    • Нельзя повесить на хоткей (Хотя в поледней версии unanimated это исправил)))
    Тут нет этих недостатков) Причём, если можно сократить рисование в прямоугольный \clip, то при преобразовании Draw <-> Clip скрипт это сделает) Эх, ещё бы в Aegisubs можно было перемещать видео, когда оно в экран не помещается, сказка бы была... (и не нужно мне писать, про отсоединение видео - это нефига не помогает, оно липнет к концам экрана и в итоге нельзя замашстабировать правый нижний угол...)
Скрипт перемещения по строкам субтитров («Jump», файл «z_jump.lua». Для работы необходимы «z_functions.lua» и «ks_utf8.lua» (можно скачать по ссылке в папке «Another required scripts»))
    Ещё один скрипт, который пришлось переписывать и дописывать. Сохранён весь функционал (50% которого не нужно, имхо, но он добавлялся двумя строчками...), который был у unanimated'a, кроме GUI, оно нафиг тут не нужно.
    Ну и добавлена новая возможность «Jump to next/prev sign». Собственно название говорит само за себя: от первой выделенной строки анализируются все соседние на предмет того, что принадлежит этому кадру и на основе этого перемещает к предыдущей или следующей надписи. У unanimated'a это реализовано в «Jump to next/prev text», если выделить все строки одного кадра, что принадлежат к этой надписи, но мне это дико не удобно, поэтому и появлися этот скрипт)
Скрипт для изменения значений тегов \pos \move \org \clip \iclip и рисования («Position shifter», файл «z_position_shifter.lua». Для работы необходим «z_functions.lua»)
    Очередной переработанный скрипт. Оригинал был изящно написан, но умел лишь изменять значение в уже имеющихся тегах (то есть, если вам нада сдвинуть надпись на 10 вправо, но она без тега \pos или \move, то ничего бы не вышло).
    Этот же скрипт может двигать что угодно при наличие любого набора тегов в строке: например, если у вас есть \pos, а вам нужно из него сделать \move на 100 вправо, просто напишите 100 в соответствующую ячейку, скрипт сам преобразует теги в нужные. Для \pos и \move ячейки объеденены: скрипт сам поймет на основе имеющихся тегов и введенных значений, что нужно двигать. Приятный бонус: если у вас \move не двигается (\move(x, y, x, y,...)), то скрипт преобразует его в \pos. Подытожив, если у вас отсутствует любой из тегов \pos \move \org, но вы хотите сдвинуть любую из их координат, скрипт сделает эти теги на основе стиля и стартовых тегов.
    \clip и рисование, естественно, сами по себе генерироваться не из чего не будут, но для них есть другие приятные опции:
    • для \clip можно поставить галочку, чтобы сдвигать его вместе с \pos;
    • для рисования можно фиксить первую координату, чтобы она была 0 0.
Скрипт установки 9 слоя для текста (песен) («Text layer», файл «z_text_layer.lua»)
    В принципе в названии уже все сказано. Однокнопочное решение для установки 9 слоя тексту (и песням). Обрабатывает все популярные названия стилей. Чаще всего, 9 слоя для текста хватает выше головы.
Скрипт работы с комментариями («Comments», файл «z_comments.lua»)
    Опять же все ясно из названия: скрипт переключает состояние комментария у строки или выключает его.
Скрипт для изменения FPS субтитров («Change FPS», файл «z_fps.lua»)
    И ещё раз всё ясно из названия: перерассчёт тайминга строк с одного из предложенных FPS на другой с высокой точностью) Миниатрюрный, интуитивно понятный, удобный GUI в комплекте)
Скрипт для добавления символов (кавычек ёлочками, тире) в конец строки («Special chars», файл «z_special.lua»)
    И напоследок, маленький скрипт, который добавляет конкретный спец символ в конец строки. Чтобы всегда было под рукой ©
[/list]


Последний раз редактировалось: Вс Окт 28, 2018 21:34 pm
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Вт Июл 17, 2018 19:14 pm   Ответить с цитатой

v1.1 z_subs_cleanup
Добавлена сортировка нескольких \t внутри блока тегов по времени
Изменена величина округления для рисования до 1 знака после точки
Поправлены маски с кириллицей
Поправлена работа с \t при удалении тегов между между блоками
Поправлено схлопывание \bord \shad \alpha


Последний раз редактировалось: Пн Окт 01, 2018 3:34 am
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Вт Июл 17, 2018 19:56 pm   Ответить с цитатой

v1.2 z_subs_cleanup
Поправлена сортировка нескольких \t внутри блока тегов по времени


Последний раз редактировалось: Пн Окт 01, 2018 3:39 am
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Пн Июл 30, 2018 14:00 pm   Ответить с цитатой

v1.4 z_subs_cleanup
Добавлены другие популярные названия стилей в условия
Добавлен ещё один настраиваемый набор очисток
Добавлено сохранение работающих стартовых тегов в \t, которые туда попали
Поправлены очистка тегов связанная с \bord и \shad


Последний раз редактировалось: Пн Окт 01, 2018 3:40 am
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Вс Авг 12, 2018 13:45 pm   Ответить с цитатой

v1.5 z_subs_cleanup
Добавлена проверка шрифтов на @ (в Print checks)
Изменён порядок сортировка шапки скрипта
Поправлена очистка лишних букв в тегах
v1.1 z_clip_draw
Поправлена обработка сохранённого текста
v2.1 z_clip
Поправлено добавление \clip в каждый блок тегов


Последний раз редактировалось: Вс Окт 28, 2018 21:35 pm
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Вс Авг 26, 2018 20:52 pm   Ответить с цитатой

v1.6 z_subs_cleanup
Снова поправлена очистка лишних букв в тегах


Последний раз редактировалось: Пн Окт 01, 2018 3:35 am
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Сб Сен 15, 2018 17:02 pm   Ответить с цитатой

v1.7 z_subs_cleanup
поправлено удаление \t при удалении выбранных тегов


Последний раз редактировалось: Пн Окт 01, 2018 3:35 am
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Пн Окт 01, 2018 3:30 am   Ответить с цитатой

v1.2 z_jump
новый скрипт для перемещения по строкам сабов
v1.2 z_functions
новый скрипт, содержащий все типовые функции для других скриптов
v1.2 z_clip_draw
v1.2 z_text_layer
v2.2 z_split_and_justify
v2.2 z_fix_mass_speech

вынес скрипты в отдельные файлы (из z_subs_cleanup и z_lines), поскольку сделал файл с функциями
v1.2 z_comments
v1.2 z_fps
v2.2 z_clip
v2.2 z_timing_helper
v2.2 z_tv_effect

небольшие изменения связанные с вынесением общих функций в отдельные файлы
v1.8 z_subs_cleanup
Изменена величина округления для значений в скобках до 1 знака после точки

также во всех скриптах поправил форматирование кода
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Sa4ko aka Kiyoso

Переводы



Зарегистрирован: 16.12.2012
Сообщения: 4756
Откуда: Минск
СообщениеДобавлено: Пн Окт 01, 2018 3:57 am   Ответить с цитатой

Zabr
А tv_effect что даёт? А то у меня в К0литке ЭЛТ-монитор с полосами по всему экрану, и там нужно делать маски... со всеми вытекающими.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Пн Окт 01, 2018 4:00 am   Ответить с цитатой

Sa4ko aka Kiyoso, он помехи пилит с нужной частотой, заполненостью, размером и тд

Можешь просто скачать, сгенерить пример и посмотреть)
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Sa4ko aka Kiyoso

Переводы



Зарегистрирован: 16.12.2012
Сообщения: 4756
Откуда: Минск
СообщениеДобавлено: Пн Окт 01, 2018 4:02 am   Ответить с цитатой

А скрипта для вышеописанной фигни у тебя нет? Или мне опять палочки ресайзить в полэкрана?
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Пн Окт 01, 2018 4:04 am   Ответить с цитатой

Sa4ko aka Kiyoso, не особо представляю, что ты хочешь, но всё что кодил, есть тут)
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Ср Окт 03, 2018 22:32 pm   Ответить с цитатой

v1.0 z_position_shifter
новый скрипт для изменения значений тегов \pos \move \org \clip \iclip и рисования
v1.3 z_functions
v2.3 z_split_and_justify

забыл перенести одну функцию из z_split_and_justify в z_functions
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Sa4ko aka Kiyoso

Переводы



Зарегистрирован: 16.12.2012
Сообщения: 4756
Откуда: Минск
СообщениеДобавлено: Ср Окт 03, 2018 22:51 pm   Ответить с цитатой

Zabr
Так проще будет понять, о чём я.
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Zabr

Переводы



Зарегистрирован: 18.08.2015
Сообщения: 1557
Откуда: Москва
СообщениеДобавлено: Ср Окт 03, 2018 23:10 pm   Ответить с цитатой

После всех релизов случаются хотфиксы xD
v1.4 z_functions
поправил маски в функции изменения стиля (и как я наткнулся на это только щас?)
v1.1 z_position_shifter
добавил дефолтный стиль, который необходим для функции изменения стиля
К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы, прикрепленные к сообщениям