Проясните ситуацию пожалуйста. Вот в Scenes, время видео показано в формате 00:00:00:00, первые три это конечно часы, минуты, секунды, а вот последнее значение больше смахивает на кадры. Или это все-таки ms?
Если ориентироваться по сценаристу то вроде должны быть фреймы, ну или как вы говорите кадры. Но более точно может сказать сам разработчик.
Кадры (фреймы).
@CDK, Я заметил что, в зависимости от шрифта, могут быть проблемы с отображением расположения шрифта по вертикали или горизонтали на плеере. Очень проблемный, к примеру, оказался шрифт Calibri. Очень мало проблем с Arial Nova, но они все же есть. Вы не могли бы сказать, на заметку, какой шрифт самый беспроблемный.
Самое беспроблемное - преобразовывать текст в графику. В остальных случаях - как повезет. На разных плеерах шрифты рендерятся по разному.
@CDK, Скажите пожалуйста, если я установлю значение GPR на плеймарке в Scenes, например на плеймарке 2, этот GPR будет работать на всей главе 2?
GPR это просто ячейка памяти, куда Вы можете записать целочисленное значение и считать его. Т.е. он в принципе не может “работать” или “не работать”.
Обнуляется GPR сам только при извлечении/остановке диска или выключении плеера. А все остальное время: что туда записали - то там и есть.
@CDK, Вы можете считать меня умственно отсталым, но я Вас не понимаю, если я установлю значение GPR на плеймарке в Scenes, например на плеймарке 2, этот GPR будет работать на всей главе 2?
Если Вы установите значение GPR где бы то ни было в программе - оно останется таким как Вы установили.
Установили в 2 при проходе плеймарка - будет 2, пока Вы же его и не измените где-то в другом месте.
Еще раз - GPR это не магия - оно не “работает” - это просто сохраненное значение. Вы в одном месте в GPR записываете значение, а в другом месте сравниваете и что-то делаете в зависимости от значения.
Например при запуске видео в лоб Вы можете записать в GPR[5] = 0.
А при проходе второго плеймарка у этого видео записать туда 1: GPR[5] = 1.
А потом при вызове попап меню написать свич
if GPR[5]==0 -> Jump Menu 1
if GPR[5]==1 -> Jump Menu 2
Т.е. Вы просто сравниваете значение GPR[5] с числом и что-то делаете в зависимости от значения GPR[5].
Ну, да, теперь все понятно :), надо было сразу так написать :).
Скажите пожалуйста как сделать чтобы в вертикальной таймлинии шло снизу вверх.
Если за основу таймлинии взят пример Escape (Dolby’вский мультик), то вместо Right изменять Top, вычитая значение из нижней точки.
Т.е. если заполнение рисуется от нижней точки (Bottom) 1000, до верхней точки (Top) 100, то координата Top будет наверное 1000 - %time% * 900 / %duration%
Да нет, за основу ничего не брал, самому в голову пришло и сам сделал.
Ну, не знаю, у меня что-то не получается. А после Вашего примера вообще 100 ошибок при компиляции Jar.
P.S. Ошибся, не 100 ошибок а две, но не понятные какие-то.
Ну мой пример для Escape. Если Вы его в скрипт воткнете - будут только ошибки, т.к. это не для скрипта - это формула для Set object property -> Set clipping.
Отличие горизонтальной от вертикальной - обрезание вертикальное вместо горизонтального. Для того что бы шло снизу вверх - надо при увеличении времени уменьшать координату Top. Что именно у Вас не получается?
Я так и делаю.
Все это не получается. Я еще подумал что в скрипте для закладок с такой же таймлинией надо будет кроме замены X на Y и все остальное что-то заменять.
А как это? Я ставлю минус перед Top но у меня не работает. Сделайте скриншот примера, пожалуйста?
Обновил пример Escape на сайте - там появился bd_duration_vertical.bdmd
Спасибо, но у меня две ошибки при компиляции Jar получаются:
InactivityListener_CallBack.java:72: illegal start of expression
manager.setClipping(“F:РM_POPUP_BOOKMARKS.Time”, 0, (int)(772 - ((double) manager.getMediaTime() / 1000000000d) * 646 / %8281%), 1920, 1080);
^
InactivityListener_CallBack.java:72: illegal start of expression
manager.setClipping(“F:РM_POPUP_BOOKMARKS.Time”, 0, (int)(772 - ((double) manager.getMediaTime() / 1000000000d) * 646 / %8281%), 1920, 1080);
Уберите проценты от %8281%
@CDK, С таймлинией я разобрался, Спасибо Большое, но вот как быть с подобным скриптом для закладок, кроме того что заменить X на Y и убрать, как я понимаю + 337:
long time;
if (manager.getBookmarksCount('CONCERT')<1) {
manager.moveToX("F:РM_POPUP_BOOKMARKS.Marker", -14);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark1", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark2", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark3", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark4", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark5", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark6", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark7", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark8", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark9", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark10", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark11", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark12", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark13", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark14", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark15", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark16", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark17", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark18", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark19", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark20", -9);
}
if (manager.getBookmarksCount('CONCERT')==1) {
time = manager.getBookmarkTime('CONCERT', 1);
time = time / 1000000000L * 1245 / 6208 + 337;
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark1", (int)time);
time = manager.currentBookmarkTime('CONCERT');
time = time / 1000000000L * 1245 / 6208 + 332;
manager.moveToX("F:РM_POPUP_BOOKMARKS.Marker", (int)time);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark2", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark3", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark4", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark5", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark6", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark7", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark8", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark9", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark10", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark11", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark12", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark13", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark14", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark15", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark16", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark17", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark18", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark19", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark20", -9);
}
if (manager.getBookmarksCount('CONCERT')==2) {
time = manager.getBookmarkTime('CONCERT', 1);
time = time / 1000000000L * 1245 / 6208 + 337;
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark1", (int)time);
time = manager.getBookmarkTime('CONCERT', 2);
time = time / 1000000000L * 1245 / 6208 + 337;
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark2", (int)time);
time = manager.currentBookmarkTime('CONCERT');
time = time / 1000000000L * 1245 / 6208 + 332;
manager.moveToX("F:РM_POPUP_BOOKMARKS.Marker", (int)time);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark3", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark4", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark5", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark6", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark7", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark8", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark9", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark10", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark11", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark12", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark13", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark14", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark15", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark16", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark17", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark18", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark19", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark20", -9);
}
if (manager.getBookmarksCount('CONCERT')==3) {
time = manager.getBookmarkTime('CONCERT', 1);
time = time / 1000000000L * 1245 / 6208 + 337;
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark1", (int)time);
time = manager.getBookmarkTime('CONCERT', 2);
time = time / 1000000000L * 1245 / 6208 + 337;
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark2", (int)time);
time = manager.getBookmarkTime('CONCERT', 3);
time = time / 1000000000L * 1245 / 6208 + 337;
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark3", (int)time);
time = manager.currentBookmarkTime('CONCERT');
time = time / 1000000000L * 1245 / 6208 + 332;
manager.moveToX("F:РM_POPUP_BOOKMARKS.Marker", (int)time);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark4", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark5", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark6", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark7", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark8", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark9", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark10", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark11", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark12", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark13", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark14", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark15", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark16", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark17", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark18", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark19", -9);
manager.moveToX("F:РM_POPUP_BOOKMARKS.bookmark20", -9);
…
Значение bottom куда вставить?