Утилита предназначена для пакетного конвертирования файлов ilda-анимации в wav- файлы.
go get -u github.com/Sevlyar/ilda2
Для установки утилиты требуется программное окружение Go, устанавливать отсюда:
Утилита для своей работы использует файл-сценарий (конфигурационный файл), в котором описываются требуемые операции и их параметры. Он представляет из себя текстовый файл в формате json (wikipedia.org/wiki/JSON).
Сценарий имеет следующий формат:
{ "target-dir": "<dir>", "gen-list": <true|false>, "def-opts": { "fps": <fps>, "pps": <pps>, "order": "<order>", "time": "<time>" }, "files": [ { "name": "<ilda-file>" "fps": <fps>, "pps": <pps>, "order": "<order>", "time": "<time>" }, ... ] }
Утилита оперирует тремя уровнями параметров (в порядке уменьшения приоритета):
- Параметры, указанные для конкретного файла;
- Пользовательские параметры по умолчанию;
- Встроенные параметры по умолчанию. Если какой-то из параметров опущен, то используется менее приоритетный параметр.
Встроенные параметры по умолчанию имеют следующие значения:
"fps": 15, "pps": 20000, "order": "Y|-1X|B|C", "time": "*"
Параметр order указывает в какой канал какие данные следует записывать. Каналы идут в следующем порядке: FL FR BL BR. Если указано два канала, то используется стерео - две дорожки, если четыре канала - то квадро. Значения каналов должны быть разделены вертикальной чертой - '|'.
Допустимые значения каналов:
- X - отклонение по X;
- Y - отклонение по Y;
- Z - отклонение по Z;
- B - бланкинг (включен - +MAX, погашен - 0);
- C - цвет (номер в таблице);
- 0 - всегда нулевые значения.
Для значений X, Y и Z могут дополнительно указываться модификаторы-множители, тогда значение кординаты будет домножаться на него перед записью в файл. Множитель указывается числом с плавающей заапятой перед значением канала. Если хотите инвертировать значения, то просто укажите '-1'.
Утилита отдельно конвертирует каждый кадр анимации, для этого сначала считается допустимое число точек в кадре: pps/fps Потом расчитывается количество повторений текущего кадра: pps/fps/pts_in_frame Если количество точек в кадре больше допустимого, то выдается сообщение и утилита завершает работу, иначе кадр конвертируется и помещается в файл необходимое число раз.
После запуска, утилита ищет в текущем каталоге файл сценария с именем ilda2.json и читает его. Далее проверяется корректность всех указанных параметров и наличие файлов, если обнаруживается ошибка то будет выдано сообщение и утилита завершит работу.
После этого очищается целевая директория, куда будут помещаться wav-файлы, и последовательно конвертируются указанные ilda-файлы с указанными параметрами. На последнем этапе, если включена эта опция, генерируется список wav-файлов и помещается в целевой каталог.