Таймкод
LTC через звуковую карту, MTC через MIDI, Movie File In, который сам идёт за таймкодом, и как узнать, что сигнал пропал, если флага у LTC In нет.
На шоу с фонограммой время задаёт внешний источник, а не ваш таймлайн, и TouchDesigner умеет таймкод и принимать, и отдавать.
| Оператор | Что делает |
|---|---|
| LTC In CHOP | Читает SMPTE-таймкод, закодированный в аудиосигнале |
| LTC Out CHOP | Генерирует такой сигнал |
| Timecode CHOP | Держит текущий таймкод: из параметров, строки, каналов, другого оператора; считает и переводит форматы |
| MIDI In CHOP / MIDI Out CHOP | Приём MIDI-таймкода (MTC) и его отправка |
| Timer CHOP | Собственные отсчёты и последовательности |
Внутри таймкод — объект tdu.Timecode, и член .timecode есть у Movie
File In, LTC In, Timer, Timecode CHOP, MIDI In и других. Info CHOP на таком
операторе отдаёт таймкод каналами.
LTC
Линейный таймкод — звук, поэтому он приходит на вход звуковой карты (Audio Device In), LTC In CHOP его декодирует, а Timecode CHOP приводит к нужной форме:
audio device in ──▶ ltc in ──▶ timecode ──▶ null
У LTC In Input Frame Rate — частота таймкода, а Discrete Channels
даёт отдельные hour, minute, second, frame. Частота таймкода с частотой
проекта совпадать не обязана: 24, 25, 29.97
drop frame, 30, 50, 60.
Куда его
Movie File In умеет идти за таймкодом сам: Play Mode =
Timecode Object/CHOP/DAT и ссылка на CHOP с hour, minute, second,
frame — LTC In с Discrete Channels или Timecode CHOP. Timecode Mode
выбирает, считать ли от начала ролика или по таймкоду, записанному в файле.
Видео тогда идёт ровно по шоу (Movie File In).
События запускают по таблице «таймкод → действие» из колбэка, а машины
синхронизирует то, что все слушают один таймкод.
Привязка главного таймлайна к внешнему таймкоду почти всегда даёт рывки: от таймлайна зависит кук многих вещей. Таймлайн оставляют свободным, а таймкод используют как данные, из которых считается всё синхронное.
Сигнал пропал
Кабель выдернули, плеер остановили, пауза между песнями. Флага «сигнал
есть» у LTC In нет, но в Debug Channels есть decode_count, который
растёт с каждым разобранным кадром: перестал расти — сигнала нет. Можно
и сравнивать таймкод с прошлым кадром: стоит дольше полсекунды — пропал.
Дальше нужно заранее решить, что делать при пропаже — замереть, идти
по своим часам или уйти в чёрное — и при скачке назад, когда на репетиции
перематывают.
Отдавать
LTC Out CHOP делает сигнал для звукового выхода, а оттуда — свету, звуку,
механике. Время он берёт из своих параметров (часы, минуты, секунды,
кадры, Frame Rate) или из другого оператора с таймкодом. MIDI Out CHOP
с Send MIDI Timecode шлёт MTC на 24, 25, 29.97 drop frame или 30 кадров.
Так TouchDesigner становится мастером времени шоу; со стороны света —
Таймкод и шоу.
Крупные цифры и индикатор сигнала в служебной панели отвечают на вопрос, стоит ли шоу или завис патч. Сборка целиком — Шоу по таймкоду.
Нашли в статье ошибку, устаревшее или непонятное место?
На других пультах
весь переводчик →- ResolumeSMPTE
- WATCHOUTTimecode
- disguise (d3)Timecode