Нашли альтернативу флеш анимации

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: ElenVR, Людмила, PR

Ответить
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

Мне кажется, что будет достаточно сделать следущий набор функций:

1) GetSchedulePos(int *nScheduleIndex, int *nScheduleLine) - возвращает индекс активного расписания и номер линии, на которой сейчас стоит позиция исполнения (самая левая колонка в OnAir).

2) GetScheduleLine(int nScheduleIndex, int nScheduleLine, String *xmlCommand) - возвращает полное описание в XML-формате для строки nScheduleLine из расписания nScheduleIndex.

И Вы уже сами анализируете команды перехода и понимаете что делать, если расписание зацикленное, или ждет конкретного времени, или ждет команды оператора и так далее.
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

Игорь Таранцев писал(а):Мне кажется, что будет достаточно сделать следущий набор функций:

1) GetSchedulePos(int *nScheduleIndex, int *nScheduleLine) - возвращает индекс активного расписания и номер линии, на которой сейчас стоит позиция исполнения (самая левая колонка в OnAir).

2) GetScheduleLine(int nScheduleIndex, int nScheduleLine, String *xmlCommand) - возвращает полное описание в XML-формате для строки nScheduleLine из расписания nScheduleIndex.

И Вы уже сами анализируете команды перехода и понимаете что делать, если расписание зацикленное, или ждет конкретного времени, или ждет команды оператора и так далее.
Да, похоже этого достаточно.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Для fedor:
У нас другое предложение. Мы предлагаем сделать две переменные для комментариев.
Как-то так:
var notifyCommentBefore
var notifyCommentAfter
Сделали. Софт выкладывать?
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

Даниленко Сергей писал(а):Для fedor:
У нас другое предложение. Мы предлагаем сделать две переменные для комментариев.
Как-то так:
var notifyCommentBefore
var notifyCommentAfter
Сделали. Софт выкладывать?
Конечно! :)
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

Даниленко Сергей писал(а): Сделали. Софт выкладывать?
мы всё еще ждём. Может не там ждём?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Возникли небольшие технические проблемы. Постараемся выложить софт в ближайшее время.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

ПО с изменениями:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... 6_2542.exe

Комментарии разработчиков:
Добавлены свойства notifyCommentBefore(содержит комментарии до ролика) и notifyCommentAfter(содержит комментарии после).
Чтобы получить в QML скрипте строки со списком комментариев, разделенных запятой, нужно обратиться к соответствующим свойствам
SLRunTime.notifyCommentBefore.toString() и SLRunTime.notifyCommentAfter.toString().
Пример использования:

import QtQuick 2.0
Item {
width: 720
height: 576

Text {
x: 34
y: 46
color: "#ff0000"
text: qsTr("notifyComment:")
font.pixelSize: 14
styleColor: "#ff0000"
font.bold: true
}
Text {
id: _notifyComment
x: 210
y: 46
color: "#ff0000"
text: SLRunTime.notifyComment.toString();
font.pixelSize: 14
styleColor: "#ff0000"
font.bold: true
}
Text {
x: 34
y: 66
color: "#ff0000"
text: qsTr("notifyCommentBefore:")
font.pixelSize: 14
styleColor: "#ff0000"
font.bold: true
}
Text {
id: _notifyCommentBefore
x: 210
y: 66
color: "#ff0000"
text: SLRunTime.notifyCommentBefore.toString();
font.pixelSize: 14
styleColor: "#ff0000"
font.bold: true
}
Text {
x: 34
y: 86
color: "#ff0000"
text: qsTr("notifyCommentAfter:")
font.pixelSize: 14
styleColor: "#ff0000"
font.bold: true
}
Text {
id: _notifyCommentAfter
x: 210
y: 86
color: "#ff0000"
text: SLRunTime.notifyCommentAfter.toString();
font.pixelSize: 14
styleColor: "#ff0000"
font.bold: true
}
}


!!!Внимание. В данной версии ПО мы перешли на QML 5.4 (до этого использовалась версии 4.7). Поэтому вместо import QtQuick 1.0 должно быть import QtQuick 2.0
fedor
Сообщения: 283
Зарегистрирован: 17 янв 2007 13:02
Откуда: Хабаровск

Сообщение fedor »

Даниленко Сергей писал(а):ПО с изменениями:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... 6_2542.exe
Попробовали. Всё как надо. Большое спасибо. :D
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Ну тогда ждём следующих замечаний/пожеланий.
Самотлор
Сообщения: 15
Зарегистрирован: 25 окт 2013 13:34

Сообщение Самотлор »

Даниленко Сергей писал(а):Ну тогда ждём следующих замечаний/пожеланий.
Добрый день уважаемые разработчики.
С начала хочу поблагодарить Вас за то, что внедрили в Форвард такую замечательную штуку как QML. Спасибо Вам за помощь, что всегда быстро помогаете и ни когда не остаетесь в стороне, низкий Вам за это поклон!
Теперь по теме, как говориться. Вопрос: а можно сделать так чтобы Форвард передавал в QML, не только комментарии (notifyCommentBefore, notifyCommentAfter) но и атрибуты проигрываемого видео файла (параметры *.SLini файла) то есть ограничение по возрасту, имя файла, альтернативное название файла (*.SLini), длинна видео ролика?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Из документации:
Также, при получении нотификации из программы FDOnAir о скором выполнении команды, относящейся к командам полноэкранного расписания (например, команда показа ролика), класс SLRunTime вызывает следующие нотификации:
long notifyStartTime время старта команды (глобальный номер кадра).
long notifyStartCrossfade длительность мягкой склейки в команде (в кадрах).
long notifyType тип команды (0 – показ ролика, 1 – показ видеовхода).
long notifyChannel номер видеовхода (если тип команды равен единице).
string notifyFileName имя файла ролика (если тип команды равен нулю).
long notifyFileCrossfade длительность мягкой склейки для ролика (в кадрах).
long notifyFileDuratuon длительность воспроизведения ролика (в кадрах)
long notifyFileDuratuonFull длительность воспроизведения ролика (в кадрах).
var notifyComment список комментариев вокруг команды в расписании.
Здесь есть длительность ролика (с учётом MarkIn/MarkOut) и полная длительность (notifyFileDuratuon/notifyFileDuratuonFull).

По имени файла (notifyFileName) можно построить путь к файлу SLIni. После этого разобрать SLIni-файл и получить нужные значения параметров из него.
Самотлор
Сообщения: 15
Зарегистрирован: 25 окт 2013 13:34

Сообщение Самотлор »

Даниленко Сергей писал(а):Из документации:
Также, при получении нотификации из программы FDOnAir о скором выполнении команды, относящейся к командам полноэкранного расписания (например, команда показа ролика), класс SLRunTime вызывает следующие нотификации:
long notifyStartTime время старта команды (глобальный номер кадра).
long notifyStartCrossfade длительность мягкой склейки в команде (в кадрах).
long notifyType тип команды (0 – показ ролика, 1 – показ видеовхода).
long notifyChannel номер видеовхода (если тип команды равен единице).
string notifyFileName имя файла ролика (если тип команды равен нулю).
long notifyFileCrossfade длительность мягкой склейки для ролика (в кадрах).
long notifyFileDuratuon длительность воспроизведения ролика (в кадрах)
long notifyFileDuratuonFull длительность воспроизведения ролика (в кадрах).
var notifyComment список комментариев вокруг команды в расписании.
Здесь есть длительность ролика (с учётом MarkIn/MarkOut) и полная длительность (notifyFileDuratuon/notifyFileDuratuonFull).

По имени файла (notifyFileName) можно построить путь к файлу SLIni. После этого разобрать SLIni-файл и получить нужные значения параметров из него.
Спасибо огромное.
Просьба, а можно ссылку на мануал или напишите в каком мануале это описано, чтобы больше я не задавал глупых вопросов :(
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Напишите, пожалуйста, письмо на адрес техподдержки. Мы скинем документик.
atx
Сообщения: 4
Зарегистрирован: 16 мар 2016 16:11

Сообщение atx »

Добрый день!

Есть вот такой скрипт на QML

Код: Выделить всё


 import QtQuick 2.3
 Rectangle {
    id: screen  
	
    property color textColor: "black"  
	property int duration: screen.width*100
	property int length: screen.width*4
	property int size: 24
	
	width: 1000
	height: 48*2
	
    color: "steelblue" 

    property string text1: "723478954789078045780780780956890890890890890 ываогываываываваываываыв" 
	
	Text {	 
		width: screen.length  
        NumberAnimation on x { from: screen.width; to: -screen.length ; duration: screen.duration; loops: Animation.Infinite }  
		 
        id: text1
		font.pixelSize: screen.size
		color: screen.textColor
		text: screen.text1
		verticalAlignment: Text.AlignVCenter  
     }   
 }
 
раньше на движке 4.7 играло плавненько, а вот на 5.4 уже подергивается.

с чем интересно может быть связано?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

А на чём вы смотрите? На телевизоре или на мониторе компьютера?
Ответить