Blu-Disc Studio: Создаём меню на Java. часть II - Страница 19

!!! Внимание, это архивный форум. Здесь написание новых сообщений отключено! Для того, чтобы присоединиться к обсуждению интересующих Вас тем, переходите в действующую версию форума, по адресу wedframe.ru

Blu-Disc Studio: Создаём меню на Java. часть II

Показано с 181 по 190 из 306

  1. #1

    Blu-Disc Studio: Создаём меню на Java. часть II



    Официальный сайт программы

    Официальный сайт DVDLogic

    Blu-Disc Studio - это профессиональная программа для создания дисков Blu-Ray, предназначенная для простого создания дисков Blu-ray с интерактивным Java-меню.

    Используя Blu-Disc Studio, вы можете создавать полноценные диски Blu-ray для личного использования, для вывода CMF (мастеринга) или экспорта данных в Scenarist® BD.

    Усовершенствованный и мощный пользовательский интерфейс, не требующий специальных знаний спецификации BD, и встроенный DVDLogic BD Muxer делают Blu-Disc Studio доступным для домашних пользователей и любителей.

    Профессиональные пользователи и студии будут приятно удивлены поддержкой экспорта проекта в Scenarist® BD и возможностью вывода CMF встроенным мультиплексором.

    UHD-версия Blu-Disc Studio является частью KITe UHD Authoring Suite.


    Скриншоты

    Основное окно программы



    Создание глав



    Мтрица и свитч



    Структура проекта и расширенная анимация



    Подпись JAR



    Симуляция меню


    [свернуть]

    Демонстрация возможностей


    Друзья! Представляю вашему вниманию ролики меню, созданные в Blu-Disc Studio нашим коллегой - bbcby!
    Он любезно предоставил их нам, что бы мы сами могли убедиться, на что способна программа уже сейчас, не говоря о том, что она сможет создавать в будущем!
    Дружище, спасибо огромное за предоставленный материал!

    P.S. Ролики смотрим на полном экране с максимальным разрешением (1080р HD)







    Ну что ж, будущее уже наступило, в программе появилась масса новых возможностей и на настоящий момент она уже является полноценной профессиональной программой способной обеспечить создание Blu-ray структур голливудского уровня. Ниже продемонстрированы некоторые возможности новых версий.

    Закладки и немного анимации.


    Диснеевский таймлайн и локализованный видеоряд

    Пояснения:
    В левом нижнем углу появляется окно с таймером и картинкой текущей главы. При нажатии клавиш "Следующая глава"и "Предыдущая глава" оно появляется на 15 секунд. При нажатии клавиш "Пауза", "Перемотка вперёд" и "Перемотка назад" оно висит всё время, пока не будет нажата клавиша "Воспроизведение".
    Переключение видеоряда происходит при смене языков озвучки — при выборе руского языка автоматически включается руский видеоряд, при выборе англиского языка автоматически включается английский видеоряд.
    В ролике видно, что русское название фильма меняется на английское.
    [свернуть]

    Описание возможностей


    Возможности
    * Создание как главного меню, так и попап
    * Добавление функции закладок
    * Создание таймлайн
    * Программирование кнопок пульта ДУ
    * Анимация графических объектов меню
    * Генерация текста и векторных прямоугольников
    * Настраиваемые переходы между клипами (муви)
    * Подсветка активного чаптера, звуковой дорожки или субтитров
    * Автоматическое создание сцен
    * Симлесс
    * Компиляция диска встроенным муксером DVDLogic
    * Экспорт проекта в Scenarist®

    Поддерживаемые форматы звука, видео, графики
    * Графика: PNG 32 bit (24 + 8), а также импорт Adobe® Photoshop® PSD
    * Видео: AVC (h264), VC-1, M2V (MPEG-2) с разрешением 1920x1080, 1440x1080, 1280x720 и фреймрейтом 23,976p, 24p, 25i, 29,97i
    * Звук: AC3 (Dolby Digital), E-AC3 (Dolby Digital +), True-HD, DTS, DTS-HD и стерео WAV
    * Субтитры: SRT, BDN.xml + PNG, PES + MUI

    Для создание диска в Blu-Disc Studio нужно
    * Подготовить видео и звук соответствующих форматов
    * Подготовить графику
    * Расставить аудио и видео дорожки
    * Разместить графику (кнопки и картинки) в дизайнере
    * Расставить переходы между кнопками, меню и муви
    * Откомпилировать проект встроенным муксером или экспортировать его в Scenarist® BD
    [свернуть]

    Видеоинструкции от bbcby


    Данные уроки сделаны по нашей просьбе bbcby, за что ему большое спасибо!

    Создание простого меню:


    Анимация меню сцен:


    Карусельная анимация меню сцен:

    [свернуть]


    Мануал Blu-Disc Studio (актуально до билда 4.0.0.1508) от kinor

    Шпаргалка функций плавности анимации Slide

    Для получение ключа на 30-дней нужно:
    - Поставить актуальную дату и время - Trial может не заработать при неправильной дате (спасет только перестановка).
    - Скачать и установить соответствующую версию программы: Blu-Disc Studio (без встроенного муксера) или Blu-Disc Studio MX (со встроенным муксером)
    - Запустить Blu-Disc Studio (MX) - она покажет Hardware ID
    - Отправить Hardware ID на адрес bludiscstudio@dvd-logic.com
    - В ответ придет key-файл (для MX-версии 2 файла)
    - Положить key-файл(ы) в папку с установленной программой

    ВНИМАНИЕ: триальная версия не работает на виртуальной машине.





    If you do not speak Russian: please write in two languages ​​- your native language or English and Russian using Google Translate.
    Последний раз редактировалось Mowny Devam; 11.06.2023 в 16:31.
  2. Поблагодарил:

     acem
  3. #181
    Да нет тут никакого секрета.
    Начнем с того что у вас 20 (+еще 20) одинаковых элементов и из них только 5 (+еще 5) видны единовременно, так нафига их все создавать?
    Создаем пять кнопок как вы наверняка делали, далее на Left-переходе кнопки №5 вешаем команды перехода на кнопку №1 + nextBookmark + UDF в которой описываем перерисовку пяти наших кнопок, т.е. если у нас 12 закладок и мы переходим с 5-ой закладки на 6-ю мы пишем на 1-й кнопке "Bookmark 6" и время 6-й закладки, на 2-й кнопке "Bookmark 7" и время 7-й закладки и так далее до 10-й закладки. На переходе с 10-й на 11-ю закладку мы с помощью другой UDF пишем на 1-й кнопке "Bookmark 11" и время 11-й закладки, на 2-й кнопке "Bookmark 12" и время 12-й закладки, кнопки 13-15 просто скрываем с помощью клипинга. Что бы нелзя было перейти на скрытые кнопки в Right состяниях создаём Switch: если количество закладок = (в нашем случае12) то ничего не делаем, если больше то идём дальше. Ну а анимационные переходы делаем из 10 групп объектов соответствующим нашим кнопкам и при переходе с 5-й на 6-ю закладку с помощью UDF приводим наши 10 групп к виду кнопок с 1-й по 10-ю и анимируем. При переходе с 10-й на 11-ю закладку с помощью UDF приводим наши 10 групп к виду кнопок с 6-й по 12-ю и анимируем.
    Подробности оставляю вам.
  4. #182
    @Mowny Devam, Смысл того что Вы сказали я понял, но на практике мне по меню легче ориентироваться, чем по тому, что в UDF записано. Не думаю что большое количество меню и объектов сильно отражается на коде. Кстати, если скрывать объект с помощью клипинга, то на экране ТВ может быть видна тонкая полоска от объекта, особенно когда объект светлее фона, поэтому лучше скрывать за пределы экрана.
  5. #183
    если скрывать объект с помощью клипинга, то на экране ТВ может быть видна тонкая полоска от объекта
    Это что-то новое. Помнится такое было когда скрывал объект с помощью масштабирования.

    мне по меню легче ориентироваться
    Ну это кому как. Во времена первой-второй версии, кто-то сделал проект из пары сотен страниц, естесственно вызвав судороги не только у програмы но и разработчика. В общем в том и прелесть пограммирования и BDS что можно можно добиться одного результата разными путями.
    Последний раз редактировалось Mowny Devam; 06.11.2021 в 00:13.
  6. #184
    Скажите пожалуйста, как пользоваться int currentAudio в Switch custom. Что бы я ни делал, всё время вылезают какие нибуть ошибки при добавлении.
  7. #185
  8. #186
    @CDK, Не ожидал, что так просто. Спасибо.
  9. #187
    Не думаю что большое количество меню и объектов сильно отражается на коде.
    Не хочу навязывать свое мнение. Тут, как говорится, решать вам.
    Только сейчас обратил внимание и предлагаю вам сравнить два проекта одного и того же диска: 2017 года когда все делал без единой UDF, с помощью большого количества страниц меню(слева); и 2021 года где с помощью UDF сделано меню эпизодов и добавлено еще несколько новых функций(справа).
    Оба проекта открыты были в новой версии чтобы алгоритм был одинаков.
    В проекте 2017 года основное меню было импортировано в виде PSD для Scenarist Designer PS, по этому папок с графикой меньше.
    Размер файлов.jpg
  10. #188
    @Mowny Devam, Значит я был не прав. У меня пока проблем с кодом нет, поэтому переделывать работу, на которую затратил неделю, пока не буду, но я буду иметь в виду и в новом проекте постараюсь сделать с одним меню и UDFами, если получится конечно у меня. Мне ещё многому надо учиться.
  11. #189
    в новом проекте постараюсь сделать с одним меню и UDFами
    Мы в вас верим!
    Последний раз редактировалось Mowny Devam; 18.11.2021 в 13:19.
  12. #190
    Я всё-же реализовал свич для активации попап с информацией об активной аудио/субтитр дорожке при переключении, если кому-то интересно. И помогла мне именно смекалка а не знание программирования на Java. В Start action у меня такой скрипт,

    Скрытый текст

    if (manager.getCurrentAudioID()==1) {
    manager.setGPR(1, 1);
    }
    if (manager.getCurrentAudioID()==2) {
    manager.setGPR(1, 2);
    }
    if (manager.getCurrentAudioID()==3) {
    manager.setGPR(1, 3);
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    }
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    }
    [свернуть]

    из которого я сделал UDF, потому что внедрить это в остальные попап не получилось из-за того что для двух анимаций Fade In/Out у меня просто нет места в попап, а тупое мгновенное появление/исчезновение мне не нравится, и я его поместил во все Close popup, куда не внедрил. В AES муви, а также в AES этих попап и попап добавления закладок и попап "Слишком много закладок" у меня такой свич:

    if [isPlaying | isPaused] -> manager.UDF_Audio_Sub();

    а этот UDF такой:

    Скрытый текст

    public void UDF_Audio_Sub() {
    if (manager.getGPR(1)==1) {
    if (manager.getCurrentAudioID()==2) {
    manager.setGPR(1, 2);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==3) {
    manager.setGPR(1, 3);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    if (manager.getGPR(1)==2) {
    if (manager.getCurrentAudioID()==1) {
    manager.setGPR(1, 1);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==3) {
    manager.setGPR(1, 3);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    if (manager.getGPR(1)==3) {
    if (manager.getCurrentAudioID()==1) {
    manager.setGPR(1, 1);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==2) {
    manager.setGPR(1, 2);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    if (manager.getGPR(1)==4) {
    if (manager.getCurrentAudioID()==1) {
    manager.setGPR(1, 1);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==2) {
    manager.setGPR(1, 2);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==3) {
    manager.setGPR(1, 3);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    if (manager.getGPR(1)==5) {
    if (manager.getCurrentAudioID()==1) {
    manager.setGPR(1, 1);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==2) {
    manager.setGPR(1, 2);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==3) {
    manager.setGPR(1, 3);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    if (manager.getGPR(2)==0) {
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==1) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==2) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==3) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==4) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==5) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==6) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==7) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==8) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==9) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==10) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==11) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==12) {
    manager.setGPR(2, 12);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    if (manager.getGPR(2)==12) {
    if (manager.getCurrentSubID()==0) {
    manager.setGPR(2, 0);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==1) {
    manager.setGPR(2, 1);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==2) {
    manager.setGPR(2, 2);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==3) {
    manager.setGPR(2, 3);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==4) {
    manager.setGPR(2, 4);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==5) {
    manager.setGPR(2, 5);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==6) {
    manager.setGPR(2, 6);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==7) {
    manager.setGPR(2, 7);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==8) {
    manager.setGPR(2, 8);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==9) {
    manager.setGPR(2, 9);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==10) {
    manager.setGPR(2, 10);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    if (manager.getCurrentSubID()==11) {
    manager.setGPR(2, 11);
    manager.activateSegment("S:РМ_Subtitles.animate1");
    }
    }
    }
    [свернуть]


    В ссылке на анимацию в скриптах - пустая анимация, в Action которой ссылка на вторую анимацию (не пустую) и с опережающим простым свичем для аудио/субтитров. А в Action второй анимации просто такой же простой свич.

    Обратите внимание

    if (manager.getGPR(1)==1) {
    if (manager.getCurrentAudioID()==2) {
    manager.setGPR(1, 2);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==3) {
    manager.setGPR(1, 3);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    if (manager.getGPR(1)==2) {
    if (manager.getCurrentAudioID()==1) {
    manager.setGPR(1, 1);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==3) {
    manager.setGPR(1, 3);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    if (manager.getGPR(1)==3) {
    if (manager.getCurrentAudioID()==1) {
    manager.setGPR(1, 1);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==2) {
    manager.setGPR(1, 2);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    if (manager.getCurrentAudioID()==5) {
    manager.setGPR(1, 5);
    manager.activateSegment("S:РМ_Audio.animate1");
    }
    }
    [свернуть]

    То есть, если if (manager.getGPR(1)==4) {, значит в этом разделе или подразделе, уж не знаю как называется, нет

    if (manager.getCurrentAudioID()==4) {
    manager.setGPR(1, 4);
    manager.activateSegment("S:РМ_Audio.animate1");


    Я почему написал, просто в "Avatar" русская лицензия там мгновенно активируется попап при переключении, а у меня только при активации аудио/субтитр дорожки. Значит в "Avatar" как-то по другому сделано. Если у кого-то есть мнение как сделано в "Avatar", поделитесь пожалуйста. У меня просто желания и стимула нет больше, учитывая что я сделал по своему.

    P.S. Из-за того что смайлик с язычком был в скриптах, я заменил латинскую P русской Р, в S:РМ. Это я для тех, кто возьмёт на вооружение скрипты.
    Последний раз редактировалось Mowny Devam; 24.11.2021 в 17:02.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Редактируем меню на Java
    от Palych в разделе Авторинг дисков Blu-ray
    Ответов: 1812
    Последнее сообщение: 29.03.2024, 18:38
  2. Blu-Disc Studio: Создаём меню на Java. часть I
    от CDK в разделе Авторинг дисков Blu-ray
    Ответов: 1999
    Последнее сообщение: 06.11.2021, 23:16
  3. MKVToolnix - Создаём MKV легко и быстро
    от Palych в разделе Общие вопросы авторинга
    Ответов: 25
    Последнее сообщение: 16.08.2015, 13:59
  4. Создаём глянцевый текст
    от WishMaster в разделе Графика и web дизайн
    Ответов: 0
    Последнее сообщение: 19.06.2013, 17:17
-->