Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

DVD-lab PRO

.pdf
Скачиваний:
45
Добавлен:
24.05.2014
Размер:
5.72 Mб
Скачать

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, чтобы открыть его в окне редактора и исследовать.

В окне редактора Вы увидите что-то подобно этому (строки комментария опущены)