DVD-lab PRO
.pdf
if (GPRM1 == 15)
==if (GPRM1 == GPRM2) if (GPRM1 == SPRM2)
if (GPRM1 != 15)
!= if (GPRM1 != GPRM2) if (GPRM1 != SPRM2)
if (GPRM1 >= 15)
>= if (GPRM1 >= GPRM2) if (GPRM1 >= SPRM2)
if (GPRM1 > 15)
>if (GPRM1 > GPRM2) if (GPRM1 > SPRM2)
if (GPRM1 <= 15)
<= if (GPRM1 <= GPRM2) if (GPRM1 <= SPRM2)
if (GPRM1 < 15)
<if (GPRM1 < GPRM2) if (GPRM1 < SPRM2)
if (GPRM1 & 15)
&if (GPRM1 & GPRM2) if (GPRM1 & SPRM2)
если GPRM равен (удостоверьтесь, что Вы напечатали два знака "равенства" ==)
если GPRM не равен
если GPRM больше или равен
если GPRM больше
если GPRM меньше или равен
если GPRM - меньше
если логический и не является нулевым
Из приведенной таблицы ясно, что левой стороной оператора может только быть регистр GPRM. Правой стороной оператора может быть другой регистр GPRM, SPRM регистр или константа.
Почти все другие команды могут использоваться со сравнением (есть некоторые исключения), однако Вы не всегда можете сравнивать GPRM с постоянным значением.
Например:
if (GPRM1==2) LinkPGCN 1
является правильным, но
if (GPRM1==2) JumpSS VMGM 1
неправилен. Вы должны использовать две строки
GPRM2 = 2
if (GPRM1==GPRM2) JumpSS VMGM 1
Вообще JumpSS, CallSS и Set...(SetHL_BTN например) не может использоваться совместно со сравнением с константой.
Combination Condition commands
Поскольку иногда допустимо использование только одной строки команд (наиболее показательны команды для кнопок и команды ячеек), спецификации DVD допускает специальные комбинированные команды. Это означает, они могут иметь до 3 команд на одной строке, где одно - условие, вторая - оператор, и последняя - связь. Есть также три различных варианта их соединения. Обратите внимание, как фигурная скобка отличается в первых двух строках:
●if (GPRM1 == GPRM2) { GPRM1 = 5 } LinkTopC (button 1)
●if (GPRM1 == GPRM2) { GPRM1 = 5, LinkTopC (button 1) }
●GPRM1 = 5, if (GPRM1 == GPRM2) LinkTopC (button 1)
Первая строка - Условие(Состояние) затем {оператор}, если условие истинно и затем связывать независимо от условия. Вторая строка - Условие(Состояние) затем {оператор и связь)}, если условие истинно.
Третья строка - оператор, затем Условие и связь, если условие истинно.
К сожалению не все команды связи могут использоваться в этой комбинации. Только связи типа: LinkNoLink, LinkTopC...., LinkTopPG..... LinkTopPGC.... LinkTailPGC Правда вероятность такой необходимости не очень высока.
Set combination commands
Несколько команд Set допустимы в комбинации с Link (кроме комбинации с условием). Они полезны для мест типа Кнопки в меню.
SetHL_BTN GPRM1, LinkPGCN 1
Устанавливает подсветку кнопки в зависимости от значения в GPRM1 и затем Связь с PGC 1
SetSTN (audio=1 subp=2:on angle=3) LinkPGCN 2
Установка Audio/Subpicture/Angle Stream затем связь с PGC 2. Это может использоваться например в меню, чтобы выбрать субтитры и затем немедленно связаться с другим меню, где текст титров показан согласно выбора.
Advanced Authoring - Commands
Перечень DVD VM Commands.
Команда |
Параметры |
Nop |
|
Goto |
|
Break |
|
Exit |
|
LinkPGCN |
pgcn |
LinkPTT |
pttn (button hl) |
LinkPGN |
pgn (button hl) |
LinkCN |
cn (button hl) |
LinkNoLink |
(button hl) |
LinkTopC |
(button hl) |
LinkNextC |
(button hl) |
LinkPrevC |
(button hl) |
LinkTopPG |
(button hl) |
LinkNextPG |
(button hl) |
LinkPrevPG |
(button hl) |
LinkTopPGC |
(button hl) |
LinkNextPGC |
(button hl) |
LinkPrevPGC |
(button hl) |
LinkGoUpPGC |
(button hl) |
LinkTailPGC |
(button hl) |
RSM |
|
JumpTT |
ttn |
JumpVTS_TT |
ttn |
JumpVTS_PTT |
(tt , ptt) |
JumpSS FP |
|
JumpSS VMGM |
(pgcn) |
JumpSS VTSM |
(vts, ttn, menu) |
CallSS FP |
(rsm_cell) |
CallSS VMGM |
(menu, rsm_cell) |
Описание |
|
Пример |
Никакой Операции. |
|
|
Перейти к команднуй строке |
|
|
Выйти из текущего командного раздела |
|
|
Остановить воспроизведение DVD диска |
|
|
Связь к PGC в том же самом домене |
|
от меню к меню * |
Связь к PTT в текущей VTS |
|
|
Связь к программе в том же самом PGC |
|
|
Связь к ячейке в том же самом PGC |
|
|
Подсветить указанную кнопку |
|
|
Связь к текущей ячейке в том же самом PGC |
|
|
Связь к следующей ячейке в том же самом PGC |
|
|
Связь к предыдущей ячейке в том же самом PGC |
|
|
Связь к текущей программе в том же самом PGC |
|
|
Связь к следующей программе в том же самом PGC |
|
|
Связь к предыдущей программе в том же самом PGC |
|
|
Связь к текущей PGC в том же самом домене |
|
|
Связь к следующей PGC в том же самом домене |
|
|
Связь к предыдущей PGC в том же самом домене |
|
|
Связь к вызову PGC в том же самом домене |
|
|
Связь к пост-команд секции текущего PGC |
|
|
Вернуться к воспроизведению |
|
|
Перейти к видео заголовку |
|
к кино от VMG |
Перейти к видео заголовку в текущей VTS |
|
к кино в текущей VTS |
Перейти к PTT в указанном TT |
|
к главе в кино |
Перейти к First-Play PGC |
|
|
Перейти к PGC в Video Manager |
|
к меню VMG * |
Перейти к PGC: |
|
от VMG к корневому VTS |
1 - First play, 2 - Title, 3 - Root, 4- subpicture |
|
|
|
|
|
Перейти к First-Play PGC из VTS |
|
|
Перейти к PGC в VMG домене из VTS |
|
|
CallSS VMGM |
Перейти к меню Title из VTS |
от меню до VMG menu* |
(pgcn, rsm_cell) |
|
|
CallSS VTSM |
Перейти к PGC в Video Manager из VTS |
|
(menu, rsm_cell) |
|
|
SetSTN |
Установить Audio/Subpicture/Angle поток |
|
(audio=0 subp=0:on angle=0) |
|
|
SetGPRMMD |
Установить GPRM register/counter режим |
|
counter (GPRM0=0x0) |
|
|
SetHL_BTN |
Установить подсветку кнопки меню |
|
button |
|
|
SetNVTMR |
Установит таймер навигации |
|
(timer=0x0, pgcn=0) |
|
|
SetAMXMD |
Установить режим смешивания звука для Караоке |
|
sval |
|
|
SetTmpPML |
Установить уровень родительского контроля |
|
lvl, line# |
|
* Следует помнить, что все PGC Номера должны быть +1 из-за теневых меню VTS и VMG в DVD Lab Pro (Кроме случаев если откомпилировано без Abstraction Layer)
Вы можете указать, чтобы в окне Connection отображался истинный номер PGC вместо порядкового номера элемента, нажав на кнопку Show PGC Number. Номер PGC появляется в верхнем левом углу объекта (отображается красным цветом).
Вы можете использовать этот номер непосредственно в VM Commands как номер PGC
Attach External VTS (Присоединение внешнего VTS)
File - Attach External VTS
Обратите внимание: Если Вы не полностью поймете это, Вы можете запросто создать диск, который не будет проигрываться или будет "тормозить" на плеере.
Attach External VTS позволят пользователю загружать целые VTS, которые был предварительно откомпилированы в DVDlab PRO.
Одним примером использования этой возможности был бы очень сложный DVD с несколькими сотнями меню. Было бы намного проще обработать и проверять его, если Вы разделите его на несколько блоков VTS, которые созданы, откомпилированы и проверены отдельно. Тогда в конце Вы можете присоединиться эти блоки VTS в конечный диск,
используя Attach External VTS.
Другой пример: создать специальный проект VTS в другой программе авторинга DVD и затем использовать его в DVD-lab PRO. Например создайте причудливую демонстрацию слайдов в некотором расширенном программном обеспечении демонстрации слайдов на DVD. Однако, здесь особенно учтите вышеупомянутое предупреждение: если Вы не понимаете, как внешние VTS сформированы и какие объекты он вызывает изнутри, Вы можете создать не играемый DVD.
Эта опция будет делать только то, что она означает - она присоединяет целые VTS без каких-либо изменений. Это Ваша обязанность знать то, что Ваши VTS делают. VTS, который вызывает другие меню VTS или VMG, которые будут присутствовать в этом новом диске, заблокируются или "повесят" плеер.
Импорт VTS имеет два ввода, которые могут использоваться в связях:
●Root menu
●First Movie
Дважды нажимая на импортированных VTS Вы увидите некоторые подробности:
Здесь Вы увидите более детальную информацию об импортированных VTS. Из подробностей выше мы видим, что VTS имеют Root menu. Мы также видим, что есть только один PGC (одно кино), которое имеет 6 глав (Num of Programs/Cells).
Обратите внимание, что в некоторых случаях Root menu может быть только "кукла" (пустышка), содержащая только VM command.
Обратите внимание: в одном проекте Вы можете прикрепить только 3 VTS (В настоящее время количество увеличено до
99).
Connection (Связь)
Только одно действие, которое Вы можете сделать (подключить) - вход в VTS. VTS должны обработать конечную связь отдельно.
Так как это - VTS, Вы должны подключить его из меню VMG.
Выберите любую кнопку в меню VMG и сделайте R-click (или нажмите SPACEBAR), чтобы открыть меню связей.
Импортируемый VTS будет иметь два входа Меню и Кино. Подобно, тому как мы создаем связь кнопки из окна Connection, мы выбираем вход в импортированный VTS или как Root menu, или First Movie
Вы не можете связаться с импортированной VTS из VTS меню из-за ограничений перекрестных VTS на DVD. В конечном счете Вы можете подключить любое меню VTS к импортированному используя Bridge Tool.
Если Вы связываетесь из конца меню VMG (menu timeout) или Bridge, то связь неопределена (связь прибывает в левую сторону). Перед компиляцией сначала будет проверено, если импортированная VTS имеет Root Menu и если его нет, то соединится с First Movie.
Простой пример
Это - очень простой пример, который показывает идею работы над одним проектом в VTS, но представьте, что проект намного сложнее.
Сначала мы создаем проект VTS как ниже.
Мы имеем одно меню VMG, которое является временным. Оно вызывает Root VTS menu. Корневое меню VTS имеет кнопку Play и кнопку Scene Selection, но имеет также кнопку по имени "Main Menu", которое связывается с меню VMG.
Мы сохраняем проект, затем компилируем его, например, в C:\DVDVolume1 и затем проверяем его с помощью программного плеера DVD.
На изображении выше, все объекты, которые имеют синий номер 1 в верхнем левом угле, принадлежит VTS и могут быть позже присоединены к новому проекту. Меню VMG здесь временное. Оно будет присоединено в конечном проекте, но связь из меню VTS для первого VMG Меню будет существовать в VTS.
Теперь создайте новый проект: в него импортируйте предварительно созданные VTS
В этом проекте мы прикрепляем внешние VTS: VTS_01_0. IFO которые мы создали предварительно в C:\DVDvolume1 \VIDEO_TS
Затем добавьте меню VMG и другое кино с собственным VTS root menu. Кнопки меню VMG связываются с VTS Import Root Menu и другим - новым VTS Menu 1 со связью к некоторому фильму. Поскольку в предварительно откомпилированных VTS в меню мы поместили кнопку "Main Menu", которая связана с временным первым меню VMG, она будет также работать и в новом проекте. Импортированное меню VTS свяжется с первым меню VMG, но на сей раз мы имеем VMG Меню, которое мы хотим на заключительном DVD.
Теперь скомпилируйте проект в новое место, например: C:\DVDVolumeResult
Результат должен быть полностью рабочим.
Attach External VTS разработаны для проектов, откомпилированных в DVD-lab PRO. В то время как есть теоретическая возможность добавлять VTS, сформированные другими программами создания DVD, пожалуйста обратите внимание, что во многих других приложениях не совсем ясно автору, какие меню помещены в VMG и какие в VTS. Даже некоторые профессиональные, дорогие приложения, создадут структуру, где простая связь из одного меню в другое может пройти несколько фиктивных VMG меню.
В таких VTS, связываясь с Root menu можно легко "повесить" или "тормознуть" плеер, и только соединение с First Movie может сработать.
DVD-lab PRO показывает чистую структуру, где Вы точно знаете, где - что, поэтому импорт внешних VTS должен работать без проблем, если Вы понимаете то, что Вы делаете.
Advanced Authoring - LabTALK
LabTALK - внутренний язык сценариев, который используется, чтобы создать компоненты, шаблоны, макросы или различные скрипты эффектов.
Примером использования LabTALK служит компонент keypad в Plug-ins:
После того, как Вы перетащите компонент в окно Connection, будет выполнен его сценарий и отобразится начальный диалог. После нажатия "OK", сценарий создаст все необходимые объекты и связи в зависимости от выбора. Это пример компонента, использующего LabTALK сценарий.
Нет необходимости изучать LabTALK для любой проблемы, связанной с DVD. LabTALK не имеет никакого отношения к DVD диску непосредственно, это скорее сценарий обращений к функциям DVD-lab Pro и командам.
Если Вы, создавая свои DVD диски, не имеете потребности в написании сценариев DVD-lab Pro тогда Вы не найдете здесь ничего полезного для себя и спокойно можете пропустить всю эту часть.
Lab-TALK
Lab-TALK - БЕЙСИКо-подобный язык, и является чистым интерпретатором. Это означает, что он не обнаружит ошибку, пока выполнение программы не достигнет ошибочной строки.
LabTalk можно вызвать из меню lab-TALK - Open Script Editor:
Верхняя часть окна - редактор, в нижней части есть окно Output в котором выводятся сообщения об ошибках в режиме выполнения и окно Functions с набором доступных функций.
В процессе написания сценария, Вы можете нажать на кнопку Run
Начнется выполнение сценария. В окне Output Вы будете видеть ошибки, или прослеживать выполнение команд.
Usage of LabTALK scripts
При сохранении LabTALK сценария (*.talk), он появится в закладке Plug-ins-Script, окна Assets.
Двойное щелчок на скрипте откроет LabTALK редактор для редактирования сценария.
Вы можете исследовать некоторые из заданных по умолчанию сценариев, читая их исходный текст.
Пример:
Откройте меню и напечатайте Текст в нем:
Теперь откройте Plug-ins в окне Assets, затем Script и перетащите скрипт Flip Horizontal на напечатанный текст
Сценарий будет применен к объекту
И Вы увидите зеркально отраженный текст.
Теперь дважды щелкните на Flip Horizontal script, чтобы открыть его в окне редактора и исследовать.
В окне редактора Вы увидите что-то подобно этому (строки комментария опущены)
