Вопросы по теме создания собственного скрипта.
Модераторы: ElenVR, Людмила, PR
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Вопросы по теме создания собственного скрипта.
В этом топике можно задавать вопросы и получать на них ответы по теме
Титровальные скрипты - создание объекта шаг за шагом
Все сообщения, которые не относятся к данной теме, будут удаляться!
Титровальные скрипты - создание объекта шаг за шагом
Все сообщения, которые не относятся к данной теме, будут удаляться!
-
- Сообщения: 330
- Зарегистрирован: 28 окт 2005 01:08
- Откуда: Irkutsk
- Контактная информация:
В скрипте присутствует импорт библиотек:
import LogotypeLib;
в таком случае возможно ли основную часть кода компилить в VS, а из скрипта только делать вызовы?
В каких DLLках находятся объекты?
SLTMTitleCommon.Scripting;
LogotypeLib;
SLTScriptTools;
Хочется подгрузить их в VS, чтобы видеть структуру.
К стати на какой версии Visual Studio ведется работа?
import LogotypeLib;
в таком случае возможно ли основную часть кода компилить в VS, а из скрипта только делать вызовы?
В каких DLLках находятся объекты?
SLTMTitleCommon.Scripting;
LogotypeLib;
SLTScriptTools;
Хочется подгрузить их в VS, чтобы видеть структуру.
К стати на какой версии Visual Studio ведется работа?
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Вопрос в том, что вы называете основной частью? Если это набор кода, который будет использоваться многократно, то имеет смысл выносить это дело в свои собственные библиотеки. Если же это код, который будет использоваться только в конкретном скрипте, то вряд ли это имеет смысл делать. Например, внутри этой библиотеки невозможно обращаться к элементам, которые используются в скрипте. Вернее возможно, но тогда вам нужно будет передавать их список. А в этом случае у вас получается неуниверсальное решение - в разных титровальных скриптах набор элементов разный.в таком случае возможно ли основную часть кода компилить в VS, а из скрипта только делать вызовы?
Мы используем такие библиотеки именно для общего кода. Например, для разбора нотификационного сообщения от программы OnAir. Примерно за секунду до начала следующего ролика в скрипт прилетает сообщение от программы OnAir. В строке содержится куча всяких параметров. Ясно, что писать каждому свой парсер для одной и той же строки ну совсем не правильно. Поэтому сделана отдельная библиотека, которая в частности позволяет парсить нотификацию.
Если вынос кода преследует цель защиты своего изделия от несанкцианированного использования, то существуют другие способы и они будут рассмотрены.
SLTMTitleCommon.IScripting.dllВ каких DLLках находятся объекты?
SLTMTitleCommon.Scripting;
LogotypeLib;
SLTScriptTools;
Хочется подгрузить их в VS, чтобы видеть структуру.
Logotype.dll
SLTScriptTools.dll
Всё здесь:
C:\Program Files\ForwardT Software\FDTitle
VS9 (2008)К стати на какой версии Visual Studio ведется работа?
-
- Сообщения: 83
- Зарегистрирован: 16 фев 2010 15:32
- Откуда: г. Красноярск
когда будет продолжение?
еще подскажите, пожалуйста, не могу понять куда выводится отладочная информацияЧасть 17. Подложка.
Часть 18. Отладка.
Часть 19. Точная информация о длительности задания (GetTaskInfo).
Часть 20. Автоматическое формирование фильтра файлов для титровального элемента "АнимЛого" (Background)
?Debug.Print("error");
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 83
- Зарегистрирован: 16 фев 2010 15:32
- Откуда: г. Красноярск
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Апать у нас на форуме не принято. В следующий раз будем даунить.
Тема продолжена - см. на дату поста:
viewtopic.php?p=17372#17372
Тема продолжена - см. на дату поста:
viewtopic.php?p=17372#17372
-
- Сообщения: 83
- Зарегистрирован: 16 фев 2010 15:32
- Откуда: г. Красноярск
-
- Сообщения: 83
- Зарегистрирован: 16 фев 2010 15:32
- Откуда: г. Красноярск
-
- Сообщения: 76
- Зарегистрирован: 02 июн 2010 12:48
- Откуда: Красноярск, Прима-ТВ
- Контактная информация:
тут у вас опечатка:
//Поле extra позволяет задать файловую маску
//Пока мы её сформируем наполовину вручную, потом ещё раз вернёмся к этому вопросу.
//Сначала добавим статическую графику
info.extra = "All image files (*.png;*.bmp;*.dib;*.jpg;*.tga)|*.png;*.bmp;*.dib;*.jpg;*.tga"|";";
//добавляем фильтр для анимации - берём непосредственно из самого титровального элемента
//добавляем фильтр для анимации - берём непосредственно из самого титровального элемента
info.extra = info.extra + Background.GetTaskMask() + "|";
[/b]
должно быть или так:
info.extra = "All image files (*.png;*.bmp;*.dib;*.jpg;*.tga)|*.png;*.bmp;*.dib;*.jpg;*.tga|";
или так:
info.extra = "All image files (*.png;*.bmp;*.dib;*.jpg;*.tga)|*.png;*.bmp;*.dib;*.jpg;*.tga"+"|";
Ждем продолжения уроков. С нетерпением =)
//Поле extra позволяет задать файловую маску
//Пока мы её сформируем наполовину вручную, потом ещё раз вернёмся к этому вопросу.
//Сначала добавим статическую графику
info.extra = "All image files (*.png;*.bmp;*.dib;*.jpg;*.tga)|*.png;*.bmp;*.dib;*.jpg;*.tga"|";";
//добавляем фильтр для анимации - берём непосредственно из самого титровального элемента
//добавляем фильтр для анимации - берём непосредственно из самого титровального элемента
info.extra = info.extra + Background.GetTaskMask() + "|";
[/b]
должно быть или так:
info.extra = "All image files (*.png;*.bmp;*.dib;*.jpg;*.tga)|*.png;*.bmp;*.dib;*.jpg;*.tga|";
или так:
info.extra = "All image files (*.png;*.bmp;*.dib;*.jpg;*.tga)|*.png;*.bmp;*.dib;*.jpg;*.tga"+"|";
Ждем продолжения уроков. С нетерпением =)
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Спасибо, исправил.
viewtopic.php?p=17373#17373
К сожалению, со временем свободным большие проблемы. Поэтому не всё так быстро, как хотелосб бы.
Кое-что добавил:Ждем продолжения уроков. С нетерпением =)
viewtopic.php?p=17373#17373
К сожалению, со временем свободным большие проблемы. Поэтому не всё так быстро, как хотелосб бы.

-
- Сообщения: 17
- Зарегистрирован: 11 янв 2014 19:29
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 17
- Зарегистрирован: 11 янв 2014 19:29
В 14-ой части)Даниленко Сергей писал(а):А у нас где-то ArrayList в GetProperties упоминался?
Многое не будет работать если не импортировать соответствующие сборки.
Вопрос по скриптам, бьюсь уже который час)
Нужно чтобы в надпись вставлялся какой-либо текст, висел на одном месте 5 секунд, исчезал на 0.5 секунд и появлялся следующий текст
Пауза в свойствах надписи не действует, время отображения тоже ставится с трудом)
пытался добавить свойство скрипта для этого, тип свойства double, меняю значение на 0.5 - оно сбрасывается на 0, если ставлю например 1 то оно устанавливается нормально)
sleep тоже не нашел)
через код удалось поставить второй надписи время отображения 0.5, но все равно пауза не 0.5 секунд у меня получается)
в общем между окончанием одного титра и показом другого проходит 1.3-1.5 секунд почему-то
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
Прочитайте, пожалуйста, более внимательно:.А у нас где-то ArrayList в GetProperties упоминался?
Многое не будет работать если не импортировать соответствующие сборки
В 14-ой части)
И, кстати, если скачать исходники 14 урока, то там нужная строка импорта присутствует - см. строку 3 кода.Начнём с описания свойства. Функция GetProperties() возвращает массив объектов типа ScriptPropertyInfo. Каждый из объектов содержит описание одного свойства. Сделаем импорт библиотек, позволяющих работать с массивами. В начало нашего скрипта добавим следующую строку:
import System.Collections;
1)Почему-то в наших скриптах всё работает и устанавливается.Нужно чтобы в надпись вставлялся какой-либо текст, висел на одном месте 5 секунд, исчезал на 0.5 секунд и появлялся следующий текст
Пауза в свойствах надписи не действует, время отображения тоже ставится с трудом)
пытался добавить свойство скрипта для этого, тип свойства double, меняю значение на 0.5 - оно сбрасывается на 0, если ставлю например 1 то оно устанавливается нормально)
sleep тоже не нашел)
через код удалось поставить второй надписи время отображения 0.5, но все равно пауза не 0.5 секунд у меня получается)
в общем между окончанием одного титра и показом другого проходит 1.3-1.5 секунд почему-то
2)Очень трудно отвечать на ваши вопросы не имея исходников вашего же скрипта.
3)Если вы уже взялись решать свою задачу через скрипты, то подход, на мой взгляд должен быть другим. Примерно так:
а)Для показа текста используем пару титровальных элементов "подпись"
б)Вычитываем в память все строки текста, которые нужно показывать
в)Загружаем текст в первый элемент "подпись"
г)Стартуем показ текста, в этот же момент грузим следующую строчку во второй элемент "подпись" (это можно делать, т.к. у вас между показами есть пауза)
д)Получаем сообщение, что первый титровальный элемент закончил свою работу
е)Выдерживаем нужную паузу
ё)Начинаем показ текста из второго элемента подпись и сразу же грузим текст в первый титровальный элемент
и т.д.