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

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

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

Показано с 271 по 280 из 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. #271
    @lapcell, только покупать либо же использовать Lite версию, данный вопрос часто встречаем и вам не мешало бы как минимум бегло просмотреть тему.
  4. #272
    В версии 4.5.0.2021 добавлены функции для изменения отключения звука и усиления звука для PIP и основного звука. У меня v.4.5.0.2034, но я не могу найти, где это. Кто-нибудь, подскажите, пожалуйста, где эти функции искать.
  5. #273
    Вообще-то мы здесь блюрэями занимаемся.
    Если это так, то может скажете скрипт для Duration.
  6. #274
    @maks8881,
    manager.getDuration(); - продолжительность в наносекундах
    long manager.getDurationInSeconds(); - продолжительность в секундах
    (не путать с manager.duration)
    И дальше что хочете с ним то и делаете
    Сообщение от В. Крапивин. Трое с площади Карронад
    Хочете — сварите на закуску, а хочете — чучело делайте, оно дешевле обойдется, чем готовое.
    Например:
    manager.setText("F: PM_Timeline.Duration", manager.time2str(manager.getDuration()));

    усиления звука для PIP и основного звука
    Кто-нибудь, подскажите, пожалуйста, где эти функции искать.
    Primary Audio
    void manager.setDB(float mute) - уровень звука в децибелах
    void manager.setLevel(float mute) - регулировка уровня в десятичных долях от 0.0 (silence), 1.0 (max level)
    void manager.setMute(boolean mute) - включение\выключение звука
    Secondary Audio
    void manager.setPIPDB(float mute) - уровень звука в децибелах
    void manager.setPIPLevel(float mute) - точная регулировка уровня в десятичных долях от 0.0 (silence), 1.0 (max level)
    void manager.setPIPMute(boolean mute) - включение\выключение звука

    Теперь вопрос:
    Сообщение от В. Крапивин. Трое с площади Карронад
    Зачем он такой? Для чего он годен?
  7. Поблагодарил:

  8. #275
    @Mowny Devam, А как всё-таки правильно?

    Так?
    long Duration = (long) manager.getDuration() - 341591000000L;
    manager.setText("F:РM_NamePopup.CurrentTime", manager.time2str(manager.getDuration()));


    Или так?
    manager.setText("F:РM_NamePopup.CurrentTime", manager.time2str(manager.getDuration() - 341591000000L));
  9. #276
    @maks8881, wakarimasen

    Чего Вы Добиваетесь?

    341591000000L это что?
    Переменная long Duration, она для чего?

    Капитан очевидность подсказывает мне, что объект с названием CurrentTime, должен отображать именно current time, а у нас для этого есть функция manager.getMediaTime().
    Последний раз редактировалось Mowny Devam; 12.06.2023 в 19:57.
  10. #277
    Чего Вы Добиваетесь?
    Помните, я говорил, что хочу сделать текущее и общее время для треков, но только тех, которые в избранном. Как оказалось, для 9 треков нужно делать 1024 условий, для 10 уже 2048, для 8 – 512. У меня 9 треков, никакого кода не хватит. Когда сделал больше 260 условий, то понял, что это нереально и тупо подсчитывать вручную. Должен быть один небольшой скрипт. Я логически пришёл к выводу, что там должна быть задействована и продолжительность для текущего времени, для треков, которые не добавлены в избранное. А для общего времени – только продолжительность, возможно, только для добавленных в избранное.

    341591000000L это что?
    Продолжительность одного из чаптеров.

    Переменная long Duration, она для чего?
    Хороший вопрос , поэтому и спрашиваю "Правильно или нет?"

    Капитан очевидность подсказывает мне, что объект с названием CurrentTime, должен отображать именно current time
    Просто для экспериментов над текущим и общим временем я использую один текстовой объект.
    Последний раз редактировалось maks8881; 12.06.2023 в 20:36.
  11. #278
    @maks8881,
    Как я понял вы хотите чтобы после добавления трека в избранное отображалась его продолжительность и продолжительность всех треков что добавлены в избранное.
    Не зная всего вашего алгоритма трудно давать готовый рецепт. Но функция manager.getDuration() вовращает продолжительность только того плейлиста который воспроизводится.
    А по коду могу сказать следующее:
    long Duration = manager.getChapterTimeByNumber('Movie', 3) - manager.getChapterTimeByNumber('Movie', 2);
    manager.setText("F:РM_NamePopup.CurrentTime", manager.time2str(Duration));
    Так будет отображаться продолжительность второй главы.

    Далее вам придется сделать выражение более универсальным, а значит узнавать какая глава добавлена в избранное (уж не знаю какой там алгоритм) и заносить ее в отдельную переменную, тогда вид будет иной:

    int Chapter = (узнаём номер главы)
    int NextChapter = Chapter + 1;
    long ChapterTime = manager.getChapterTimeByNumber('Movie', Chapter);
    long NextChapterTime = manager.getChapterTimeByNumber('Movie', NextChapter);
    long Duration = NextChapterTime - ChapterTime;
    manager.setText("F:РM_NamePopup.CurrentTime", manager.time2str(Duration));

    Для последней главы будет такое вычисление:
    long Duration = (общая продолжительность в наносекундах) - manager.getChapterTimeByNumber('Movie', Chapter);

    Далее таким же образом задаём значение переменных long Duration02, long Duration03 (и т.д.), суммируем и даем функции:
    manager.setText("F:РM_NamePopup.CurrentTime", manager.time2str(ComonDuration));

    Это рецепт на вскидку. Как именно должны строится выражения надо подумать и поэксперементировать, а как все это будет работать - хз.
  12. Поблагодарил:

  13. #279
    Это рецепт на вскидку. Как именно должны строится выражения надо подумать и поэксперементировать
    Очень жаль, что вы в последнее время даёте рецепты на вскидку, потому что у меня ошибки при
    long Duration = manager.getChapterTimeByNumber('Movie', 3) - manager.getChapterTimeByNumber('Movie', 2);
    manager.setText(“F:РM_NamePopup.CurrentTime”, manager.time2str(Duration));

    17 errors

    MediaManagement.java:9543: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 2) - getChapterTimeByNumber(1, 1);
    _____________^
    MediaManagement.java:9543: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 2) - getChapterTimeByNumber(1, 1);
    ________________________________________^
    MediaManagement.java:9547: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 3) - getChapterTimeByNumber(1, 2);
    _____________^
    MediaManagement.java:9547: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 3) - getChapterTimeByNumber(1, 2);
    ________________________________________^
    MediaManagement.java:9551: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 4) - getChapterTimeByNumber(1, 3);
    _____________^
    MediaManagement.java:9551: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 4) - getChapterTimeByNumber(1, 3);
    ________________________________________^
    MediaManagement.java:9555: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 5) - getChapterTimeByNumber(1, 4);
    _____________^
    MediaManagement.java:9555: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 5) - getChapterTimeByNumber(1, 4);
    ________________________________________^
    MediaManagement.java:9559: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 6) - getChapterTimeByNumber(1, 5);
    _____________^
    MediaManagement.java:9559: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 6) - getChapterTimeByNumber(1, 5);
    ________________________________________^
    MediaManagement.java:9563: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 7) - getChapterTimeByNumber(1, 6);
    _____________^
    MediaManagement.java:9563: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 7) - getChapterTimeByNumber(1, 6);
    ________________________________________^
    MediaManagement.java:9567: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 8) - getChapterTimeByNumber(1, 7);
    _____________^
    MediaManagement.java:9567: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 8) - getChapterTimeByNumber(1, 7);
    ________________________________________^
    MediaManagement.java:9571: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 9) - getChapterTimeByNumber(1, 8);
    _____________^
    MediaManagement.java:9571: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = getChapterTimeByNumber(1, 9) - getChapterTimeByNumber(1, 8);
    ________________________________________^
    MediaManagement.java:9575: cannot find symbol
    symbol : method getChapterTimeByNumber(int,int)
    location: test module.MediaManagement
    long Duration = (2817189000000L) - getChapterTimeByNumber(1, 9);
    ______________________________^
    [свернуть]

    Естественно, что я заменил NamePopup и Movie на нужные имена, а также исправил F:РM.
    Сейчас я решил не думать несколько дней “А в чём же ошибка?”, а решил спросить в лоб “А в чём же ошибка?”

    P.S. Решил заменить
    long Duration = manager.getChapterTimeByNumber('Movie', 3) - manager.getChapterTimeByNumber('Movie', 2);
    manager.setText(“F:РM_NamePopup.CurrentTime”, manager.time2str(Duration));

    везде на
    long Duration = (266516000000L) - (000000000000L);
    manager.setText("F:РM_NamePopup.CurrentTime", manager.time2str(Duration));

    это для первого чаптера, для остальных в том же духе. Он рабочий и без ошибок. Теперь буду думать как создать скрипт для общего времени, потому что, как оказалось, я не правильно предполагал его.

    Спасибо Большое.
    Последний раз редактировалось maks8881; 13.06.2023 в 13:59.
  14. #280
    решил спросить в лоб “А в чём же ошибка?”
    У вас старый билд в котором еще нет функции manager.getChapterTimeByNumber()
    У меня прекрасно работают оба варианта.
    Working Script.jpg
    Working Script02.jpg
    Последний раз редактировалось Mowny Devam; 13.06.2023 в 22:37.

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

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

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

Похожие темы

  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
-->