Sonic Scenarist NT руководство

Теперь соединяем каждую из невидимых



Теперь соединяем каждую из невидимых кнопок со своей же собственной PGC. Таким образом, при попадании на любую из невидимых кнопок, плеер автоматически перейдет к Pre PGC текущего меню. Теперь напишем последовательность команд, которая будет выполнять нужные нам действия, на Pre PGC первого меню эпизодов.
1:Mov GPRM0, 9216
2:if ( GPRM0 == SPRM8 ) SetSTN audio=1
3:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=1
4:Mov GPRM0, 11264
5:if ( GPRM0 == SPRM8 ) SetSTN audio=2
6:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=2
7:Mov GPRM0, 8192
8:if ( GPRM0 == SPRM8 ) SetSTN audio=3
9:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=3
10:Mov GPRM0, 10240
11:if ( GPRM0 == SPRM8 ) SetSTN audio=4
12:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=4
13:SetSTN audio=1
14:SetHL_BTNN HL_BTNN=1
Рассмотрим подробно набор команд только для одной кнопки (9 невидимой и первой видимой), поскольку наборы команд для каждой кнопки по сути одинаковы.
Mov GPRM0, 9216 - по этой команде (Set GPRM) мы записываем в регистр GPRM0 номер кнопки. Почему 9216? Потому, что DVD плеер в регистр SPRM8, в котором хранится номер последней выбранной кнопки, записывает номер кнопки, умноженный на 1024, т.е. 8-ая кнопка будет запомнена с кодом 9216, а 11 кнопка, например, с кодом 11264.
if ( GPRM0 == SPRM8 ) SetSTN audio=1 - по этой команде (Set Angle/Audio/Sub-picture)мы устанавливаем для воспроизведения первую звуковую дорожку в том и только в том случае, если зритель выбрал переход к кнопке "Часть 1" (первой) и тем самым сработала 8-ая невидимая кнопка.
if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=1 - по этой команде (Jump to Program), опять же в том и только в том случае, если зритель выбрал переход к кнопке "Часть 1" (первой) и тем самым сработала 8-ая невидимая кнопка, мы переходим к нашему же меню эпизодов.
Последние команды (13 и 14) предназначены для тех случаев, когда мы попадаем в данное меню эпизодов извне, из другого меню эпизодов по кнопкам "Вперед" или "Назад" или же из главного (root) меню. Если же меню будет просто крутиться в цикле, то будет одна и та же кнопка и музыка к ней соответственно, но для этого не забудьте "замкнуть" воспроизведение меню через команду cell. Что еще необходимо - на Pre основного фильма следует обязательно "повесить" команду установки первой звуковой дорожки. Дело в том, что если хотя бы в одном Title есть несколько дорожек, то DVD плеер будет считать, что у каждого Title в этом VTS тоже по 4 дорожки. Поэтому, если вы ушли в фильм из меню при включенной 4-ой звуковой дорожке, то звука фильма вы не услышите - так четвертая и несуществующая (для фильма) дорожка и останется включенной.
При смене кнопки и звуковой дорожки кнопки нашего тестового проекта на мгновение исчезнут, но надо понимать, что это происходит только из-за того, что в нашем проекте кнопки являются единственными картинками в меню, т.е. меню состоит фактически из subpicture. В реальных меню такого эффекта не будет.
Готовый проект вы можете переписать отсюда.
Пример, рассмотренный выше легок в том смысле, что вы создаете физически один клип или одно still show меню и только меняете звуковые дорожки. Минусы у такого способа таковы:
1. Для зрителя на индикаторе DVD плеера будет та же картина, что и при просмотре обычного видео, поскольку меню эпизодов размещается не в домене Language. Строго говоря, следует через UOP запретить возможность перемотки клипов такого меню, остановки, переключения звуковой дорожки и т.п.
2. PGC в Title с меню надо перемещать к началу DVD диска, ближе к Root menu, как показано на рисунке:

Содержание раздела