Титровальные скрипты
Модераторы: Людмила, PR, vd, Даниленко Сергей
-
- Сообщения: 76
- Зарегистрирован: 02 июн 2010 12:48
- Откуда: Красноярск, Прима-ТВ
- Контактная информация:
-
- Сообщения: 13
- Зарегистрирован: 28 мар 2011 17:04
Добрый день.AlMaz писал(а):Добрый день. Возник вопрос: в теле примеров есть текст вида
Debug.WriteLine("text" );
Хотелось бы поподробнее узнать об отладке. Как ее настроить, куда выводятся эти отладочные сообщения =)
Собственно, отладочные сообщения выводятся в стандартный отладочный вывод Win32 (см. OutputDebugString в MSDN).
Увидеть эти сообщения можно различными способами. Например запустившись под отладчиком (VisualStudio, WinDbg...), или использовать программы, перехватчики дебагерных сообщений.
Самая доступная и правильная (ИМХО) DebugView (DbgView.exe) от Sysinternals.com.
Эти сообщения выводятся, если скрипт запущен в FDTitleDesigner и в настройках включена отладка скриптов, как отмечено на картинке (слева).
А если раскомментировать строчку отмеченную справа, то в этом месте вставится DbgBreak и дойдя до этого места система запросит отладку (будьте ОЧЕНЬ осторожны с этим). Можно будет ставить точки останова, просматривать переменные, ходить по шагам и т.д...)
Отладку, также, можно включить в программе 'FDTitleRunTimeTest.exe'.
В FDOnAir отладка выключена. Включить её, конечно, можно, но крайне не рекомендуется.
Вообще, тема отладки, очень обширна.
Успехов.
Дмитрий Шишкин.
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Пример титровального скрипта для показа информации в стиле a-la "Россия 24":
На рисунке, к сожалению, не видна динамика. Здесь видео:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... nfoBar.zip
Здесь "труба":
http://youtu.be/XVJuyvu6z7s
Скрипт разрабатывается для одной из телекомпаний.
Будет доступен также и остальным пользователям в коммерческой библиотеке TitleScripts1
На рисунке, к сожалению, не видна динамика. Здесь видео:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... nfoBar.zip
Здесь "труба":
http://youtu.be/XVJuyvu6z7s
Скрипт разрабатывается для одной из телекомпаний.
Будет доступен также и остальным пользователям в коммерческой библиотеке TitleScripts1
-
- Сообщения: 26
- Зарегистрирован: 17 янв 2011 21:45
Подскажите, возможно ли делать анонс на фоне анимированной плашки (avi с прозрачностью), т.е. чтобы в комментарии вводить только текст, а подложка была бы всегда одна, возможно указывалась бы в самом скрипте.Даниленко Сергей писал(а):Есть скрипт под названием Announce.SLTitleTmpl
Он как раз предназначен для этих целей.
Сам скрипт можно найти здесь:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... nounce.zip
Рабочий документ с описанием работы со скриптами здесь:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... _05_03.zip
Отступ может быть как от начала передачи ("сейчас в эфире"), так и от ее конца ("далее следует").
-
- Сообщения: 1403
- Зарегистрирован: 10 сен 2004 12:09
Сейчас такой возможности нет: показывать можно или только текст, или только картинку, или только анимированную плашку.
В будущем такую возможность постараются добавить, а пока можно порекомендовать в титровальном проекте создавать два титровальных объекта со скриптом: один для показа плашки, другой - текста.
В будущем такую возможность постараются добавить, а пока можно порекомендовать в титровальном проекте создавать два титровальных объекта со скриптом: один для показа плашки, другой - текста.
-
- Сообщения: 7
- Зарегистрирован: 06 июл 2011 17:07
Извиняюсь, предложение ещё в силе?Нужно написать письмо на адрес техподдержки.1)Так все таки что нужно чтобы получить "сертификат"?
forward@softlab.tv
forward@sl.iae.nsk.su
forward@softlab-nsk.com
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 7
- Зарегистрирован: 06 июл 2011 17:07
Спасибо, сертификат получил. По инструкциям, которые были в письме попробовал. Код действитеьно недоступен для редактирования. Копипаста побеждена
В процессе пока возился с шифрованием дошло, что скрытый код это только часть проблемы защиты. Код то спрятан, но как запретить копирование всего скрипта целиком? Т.е. делаем что-то для кого-то. А этот кто-то пересылает это что-то своему корефану. Или просто тупо в инет выкладывает?
Есть идеи?
В процессе пока возился с шифрованием дошло, что скрытый код это только часть проблемы защиты. Код то спрятан, но как запретить копирование всего скрипта целиком? Т.е. делаем что-то для кого-то. А этот кто-то пересылает это что-то своему корефану. Или просто тупо в инет выкладывает?
Есть идеи?
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Идеи есть. Каждая наша плата имеет номер. Можно делать защиту на конкретный номер платы. В этом случае ваш скрипт будет работать только на той плате, для которой он предназначен. Для отладки проекта в режиме без платы, например, в FDTitleDesigner, можно понимать из скрипта, что сейчас идет работа не в эфире а в дизайн-моде.
В общем это общие направления в которых можно двигаться.
Детали этого мероприятия на форуме обсуждать не хотелось бы. Если нужны подробности, то пишите письмо.
В общем это общие направления в которых можно двигаться.
Детали этого мероприятия на форуме обсуждать не хотелось бы. Если нужны подробности, то пишите письмо.
-
- Сообщения: 76
- Зарегистрирован: 02 июн 2010 12:48
- Откуда: Красноярск, Прима-ТВ
- Контактная информация:
функции Stop и Start
Добрый день. Делаю скрипт.
Возникла такая проблема: почему то по отладочным сообщениям видно что при нажатии кнопки Старт в OnAir - запускается процедура Start().
Затем управление преходит в функцию Stop().
А затем скрипт спокойно продолжает работать.
Это глюк в моем скрипте или так и задумано в OnAir ?
Возникла такая проблема: почему то по отладочным сообщениям видно что при нажатии кнопки Старт в OnAir - запускается процедура Start().
Затем управление преходит в функцию Stop().
А затем скрипт спокойно продолжает работать.
Это глюк в моем скрипте или так и задумано в OnAir ?
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Это нормальное поведение OnAir. После старта титровального объекта ему сразу же сообщается когда он будет остановлен. В некоторых ситуациях (при исполнении расписания) - это конкретное время. В некоторых ситуациях (зацикленный титровальный объект, который был запущен вручную) конкретное время остановки сказать невозможно. Поэтому время остановки в таких ситуациях является некоторой абстракцией. Типа "остановимся где-то там в бесконечности".
-
- Сообщения: 76
- Зарегистрирован: 02 июн 2010 12:48
- Откуда: Красноярск, Прима-ТВ
- Контактная информация:
Спасибо за разъяснение. Я уже и сам начал что то подобное подозревать. Но еще не докопался.
Надо теперь подумать как этот первый Стоп обрабатывать. У меня собственные элементы там стопятся. Наверное смотреть по значению паметра atStart.
Подскажите еще , может знаете простой способ как посмотреть - какое в минутах/секундах время передается в этот atStart. В формате double мне это увидеть не под силу.
Надо теперь подумать как этот первый Стоп обрабатывать. У меня собственные элементы там стопятся. Наверное смотреть по значению паметра atStart.
Подскажите еще , может знаете простой способ как посмотреть - какое в минутах/секундах время передается в этот atStart. В формате double мне это увидеть не под силу.
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Категорически не рекомендуем об этом думать. Обрабатывайте каждый "Стоп". Это правильный вариант. Даже если в первом "Стоп" время остановки будет "в бесконечности" всё равно нужно обрабатывать. В дальнейшем прилетит "Стоп" с нормальным временем и вы поменяете параметры остановки своих элементов.Надо теперь подумать как этот первый Стоп обрабатывать. У меня собственные элементы там стопятся. Наверное смотреть по значению паметра atStart.
Например, у вас два титровальных элемента в скрипте. Прилетел "Стоп" с параметром atStart t1. Вы каждому элементу говорите "Стоп" ко времени t1.
Потом прилетел "Стоп" с параметром atStart t2. Вы снова каждому элементу говорите "Стоп", но уже с другим временем - t2.
Если это нужно для отладки, то можно написать функцию, которая берёт на выходе double, а на выход отдаёт строку вида "чч:мм:сс:кк".Подскажите еще , может знаете простой способ как посмотреть - какое в минутах/секундах время передается в этот atStart. В формате double мне это увидеть не под силу.
Время в параметре atStart передаётся в секундах.
-
- Сообщения: 76
- Зарегистрирован: 02 июн 2010 12:48
- Откуда: Красноярск, Прима-ТВ
- Контактная информация:
Добрый день. Снова я - со своими детскими вопросами =)
Мой скрипт выдает рекламные банеры в эфир. По 4 штуки за раз.
Он берет сценарий банеров из текстового файла. Это просто список строк содержащих путь к файлам.
Я загружаю первый раз сценарий в массив- при инициализации скрипта (при запуске ОнЭйра или при перезагрузке скрипта).
Если прописан путь к файлу сценария в переменной - то все отлично грузится.
Я хотел этот путь хранить в Параметре скрипта. Оказалось что эти параметры инициализируются (получают свои значения) уже после окончания функции Init(). И в ней путь к файлу сценария еще пустой =(
Идея была в следующем - при инициализации скрипта или смене значения переменной - загружать сценарий , сразу с проверкой наличия файлов банеров. Чтобы уменьшить задержку при нажатии "Старт".
Получается в Init() - сценарий так не загрузить. Может попробовать грузить его в SetPropertyValue() ?
Мой скрипт выдает рекламные банеры в эфир. По 4 штуки за раз.
Он берет сценарий банеров из текстового файла. Это просто список строк содержащих путь к файлам.
Я загружаю первый раз сценарий в массив- при инициализации скрипта (при запуске ОнЭйра или при перезагрузке скрипта).
Если прописан путь к файлу сценария в переменной - то все отлично грузится.
Я хотел этот путь хранить в Параметре скрипта. Оказалось что эти параметры инициализируются (получают свои значения) уже после окончания функции Init(). И в ней путь к файлу сценария еще пустой =(
Идея была в следующем - при инициализации скрипта или смене значения переменной - загружать сценарий , сразу с проверкой наличия файлов банеров. Чтобы уменьшить задержку при нажатии "Старт".
Получается в Init() - сценарий так не загрузить. Может попробовать грузить его в SetPropertyValue() ?