Сборка вставки не начинается заново от каждой правки
Затухание в семьдесят секунд не собиралось никогда: сборка сведённого куска шла полторы минуты, и любая правка в это время сбрасывала её на ноль. В журнале это видно как «Расстановка изменилась» и тот же самый запуск ffmpeg по кругу. Причина — в вопросе, который задавался. «Нужна ли ещё эта работа» проверялось по списку недостающего, а недостающее у нас — это то, чего нет на диске. У куска, который делается прямо сейчас, файл уже есть: ffmpeg создаёт его в первую же секунду. Кусок в список не попадал, ответ был «не нужна», работа отменялась. Теперь уплощение отдельно отдаёт список нужного — независимо от того, лежит файл на диске или ещё пишется. Заодно закрыта та же дыра со вставками тишины: проверка их вообще не видела, потому что звуковые дорожки считаются отдельным проходом. Проверено обеими сторонами (tests/genrestart.sh, на настоящем материале, затухание 70 с): пять резов в стороне от затухания — один запуск и ни одной отмены, было шесть запусков и десять отмен. Удалили всё — работа прекращается за две секунды, как и прежде.
This commit is contained in:
parent
235cd00e9a
commit
d2a49343c3
4 changed files with 229 additions and 7 deletions
25
README.md
25
README.md
|
|
@ -840,6 +840,16 @@ Wine с новой библиотекой не грузилось ничего.
|
|||
привычный RGB. Записанный по привычке код даёт цвет с переставленными
|
||||
красным и синим.
|
||||
|
||||
**Список недостающего — не список нужного.** Недостающее у нас — это то,
|
||||
чего нет на диске. Но у куска, который делается прямо сейчас, файл уже
|
||||
есть: ffmpeg создаёт его в первую же секунду и пишет до конца. Проверка
|
||||
«нужна ли ещё эта работа» спрашивала по списку недостающего — и отвечала
|
||||
«не нужна» про то, что делается. Работа отменялась в разгаре и начиналась
|
||||
заново. На коротком затухании это проходило незаметно, на затухании в
|
||||
семьдесят секунд сборка не заканчивалась никогда: любая правка сбрасывала
|
||||
её. Теперь уплощение отдельно отдаёт список нужного, независимо от того,
|
||||
лежит файл на диске или ещё пишется (`tests/genrestart.sh`).
|
||||
|
||||
**MousePos у колеса мыши — не экранный.** По описанию `DoMouseWheel`
|
||||
получает точку в координатах экрана, но под gtk2 в ней уже клиентские:
|
||||
`ScreenToClient` переводит их второй раз, и точка уезжает влево ровно на
|
||||
|
|
@ -935,6 +945,21 @@ Wine с новой библиотекой не грузилось ничего.
|
|||
уход выглядит как накапливающийся рассинхрон, которого нет. На это уже
|
||||
попались один раз.
|
||||
|
||||
Ещё три проверки гоняют саму программу на невидимом экране (`Xvfb :99`).
|
||||
Рабочий экран они не занимают:
|
||||
|
||||
```
|
||||
./tests/buttonclicks.sh <окно> <x> <y> каждый щелчок по кнопке считается
|
||||
./tests/zoomanchor.py <окно> масштаб берётся от точки под мышкой
|
||||
./tests/genrestart.sh [<путь к nlve>] сборка вставки не сбрасывается зря
|
||||
```
|
||||
|
||||
Последней нужен проект с одним клипом и долгим — секунд на семьдесят —
|
||||
затуханием: такой кусок сводится около полутора минут, и всё это время
|
||||
человек продолжает работать. Путь к проекту задаётся переменной
|
||||
`NLVE_FADE_PROJECT`; в репозиторий он не входит, потому что ссылается на
|
||||
съёмку, которой здесь нет.
|
||||
|
||||
## Структура
|
||||
|
||||
| Файл | Что это |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue