Чтение онлайн

на главную

Жанры

Профессиональный авторинг DVD
Шрифт:

Рис. 25.3. Флаги NSM у ячеек PGC.


Как же устранить такую ситуацию? Для этого следует воспользоваться свойством программы Scenarist, позволяющим создавать любое допустимое количество объектов сценария на основе зарегистрированных материалов, не увеличивая общий объем проекта. Иными словами, если зарегистрировать полуторачасовой видеофильм общим размером 4 Гбайт, то можно создать 10 титульных папок, и в каждую из них поместить фильм. При этом общий размер проекта не увеличится. Точнее, он увеличится крайне незначительно, только

для того, чтобы учесть служебные объекты типа титульных папок.

Где же могут потребоваться такие задачи? Например, при создании DVD-диска с мультфильмами, которые можно посмотреть целиком или только по одному мультфильму. Если ваш ребенок хорошо себя вел, то он заслужил просмотр всего набора мультиков, а если он готовится ко сну, то вы можете включить ему только один мультфильм (ведь все знают, насколько трудно оторвать детей от экрана телевизора).

Итак, требуется создать четыре титульные папки, в каждую из которых будет помещено по одной сцене, как показано на рис. 25.4.

Рис. 25.4. Сценарий с возможностью просмотра фильма целиком или частично.


Но зачем потребовалось создавать по одной титульной папке для каждой сцены? Если вызов отдельных сцен будет осуществляться из главного меню, то связи от главного меню могут быть протянуты только к титульным папкам, а не к какой-то конкретной программе PGC. Именно поэтому и были созданы четыре титульных папки. Если пользователь уверен в том, что вызовы сцен на просмотр осуществляются из корневого меню или из подменю, то можно создавать только одну дополнительную титульную папку для сцен и размещать в ней фильм. В этой папке можно соединять ячейки (флаги Cell) с меню, так как здесь не требуется непрерывное воспроизведение.

Теперь следует рассмотреть очень интересную возможность, предоставляемую спецификацией DVD. Она позволяет временно выходить в меню, например для просмотра какой-либо информации в разделе «Библиография», и потом возвращаться в то место фильма, откуда был осуществлен выход в меню.

Функция Resume

Одним из значений слова «resume» в английском языке является глагол «продолжить». Команда Resume применяется в командах условного перехода и для команд третьего типа в областях программных цепочек Pre, Post и Btns.

Следует рассмотреть пример, когда зритель из меню попадает в фильм, некоторое время просматривает его, а затем, нажимая клавишу Menu на пульте дистанционного управления, снова попадает в меню. После некоторой последовательности действий в меню зритель должен вернуться обратно к воспроизведению фильма, на то место, где оно было прервано.

Для этого будет использовано меню, изображенное на рис. 25.5. В нем присутствуют три кнопки. Одна кнопка запускает фильм на воспроизведение, вторая передает управление главному меню, а третья вызывает продолжение просмотра фильма с того момента, откуда произошел переход к меню.

Рис. 25.5. Меню для обеспечения возврата в просматриваемый фильм.


Меню надо добавить в проект и сделать его корневым меню в сценарии. Затем следует добавить главное меню, сам фильм и расставить связи, как показано на рис. 25.6. Нужно провести связь от стартовой точки к главному меню, от главного меню – к корневому меню, а от корневого меню – к главному меню и к фильму. Также надо не забыть замкнуть ячейки меню на себя.

Рис. 25.6. Сценарий фильма с меню возврата.


Теперь можно приступать к созданию функции возврата в то место фильма, откуда произошел переход в меню. Для этого нужно дважды щелкнуть на флаге Btns иконки Buttons корневого меню. Откроется окно моделирования на закладке Button Commands (Команды кнопок). На третьей кнопке с надписью «Возврат в фильм» пока нет никаких команд. Туда надо добавить команду Jump by Sub-Instructions или Type3 Command. Так как данная задача не слишком сложна, то команда третьего типа не нужна. Поэтому следует использовать команду условного перехода Jump by Sub-Instructions.

Эту команду надо установить на третью кнопку меню, а в появившейся секции Jump to (Переход) выбрать команду Resume, которая установлена по умолчанию. При выполнении этой команды зритель перейдет к тому месту фильма, откуда он переходил к меню.

Если теперь протестировать сценарий с помощью окна моделирования, то можно увидеть, что при нажатии кнопки «Возврат в фильм» производится возврат в самое начало фильма. По всей видимости, это ошибка окна моделирования программы Scenarist, связанная с отсутствием аппаратных средств моделирования. Если создать видеофайлы DVD или образ диска, а затем протестировать пример на программном плеере, то можно увидеть, что все работает так, как надо, и возврат в воспроизведение фильма производится корректно.

Теперь надо устранить небольшой недостаток сценария. Дело в том, что информация для выполнения команды Resume появляется только после начала воспроизведения фильма. Если нажать эту кнопку до запуска фильма, то в информационном окне появится надпись Info: Cannot find Resume information (Невозможно найти информацию для команды Resume). Следовательно, надо как-то узнать, что зритель вошел в режим просмотра фильма и только в этом случае исполнять такую команду. Если команда вызвана до просмотра или даже после окончания просмотра фильма, то нужно эту команду обойти и не выполнять.

Для этого также придется использовать регистры GPRM.

Применяться будет в данной задаче GPRM0. Изначально во всех регистрах GPRM записано нулевое значение. Поэтому, когда производится запуск фильма, в этот регистр надо занести единичное значение. Когда фильм будет просмотрен до конца и произойдет возврат в меню, в регистр надо занести нулевое значение.

Для этого надо задать Pre-команду Set to GPRM в PGC нашего фильма, которая установит единичное значение регистра GPRM0. Точно так же надо задать Post-команду Set to GPRM, где будет установлено нулевое значение регистра GPRM0.

Поделиться:
Популярные книги

Идущий в тени. Книга 2

Амврелий Марк
2. Идущий в тени
Фантастика:
фэнтези
6.93
рейтинг книги
Идущий в тени. Книга 2

Сонный лекарь 4

Голд Джон
4. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Сонный лекарь 4

Возрождение Феникса. Том 1

Володин Григорий Григорьевич
1. Возрождение Феникса
Фантастика:
фэнтези
попаданцы
альтернативная история
6.79
рейтинг книги
Возрождение Феникса. Том 1

Не грози Дубровскому!

Панарин Антон
1. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому!

Покоритель Звездных врат

Карелин Сергей Витальевич
1. Повелитель звездных врат
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Покоритель Звездных врат

Партиец

Семин Никита
2. Переломный век
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Партиец

Эффект Фостера

Аллен Селина
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Эффект Фостера

В теле пацана 4

Павлов Игорь Васильевич
4. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 4

Ваше Сиятельство 7

Моури Эрли
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Ваше Сиятельство 7

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Мой любимый (не) медведь

Юнина Наталья
Любовные романы:
современные любовные романы
7.90
рейтинг книги
Мой любимый (не) медведь

Смертник из рода Валевских. Книга 1

Маханенко Василий Михайлович
1. Смертник из рода Валевских
Фантастика:
фэнтези
рпг
аниме
5.40
рейтинг книги
Смертник из рода Валевских. Книга 1

Бездомыш. Предземье

Рымин Андрей Олегович
3. К Вершине
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Бездомыш. Предземье

Пустоши

Сай Ярослав
1. Медорфенов
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Пустоши