Нашли альтернативу флеш анимации
Модераторы: 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.
И Вы уже сами анализируете команды перехода и понимаете что делать, если расписание зацикленное, или ждет конкретного времени, или ждет команды оператора и так далее.
1) GetSchedulePos(int *nScheduleIndex, int *nScheduleLine) - возвращает индекс активного расписания и номер линии, на которой сейчас стоит позиция исполнения (самая левая колонка в OnAir).
2) GetScheduleLine(int nScheduleIndex, int nScheduleLine, String *xmlCommand) - возвращает полное описание в XML-формате для строки nScheduleLine из расписания nScheduleIndex.
И Вы уже сами анализируете команды перехода и понимаете что делать, если расписание зацикленное, или ждет конкретного времени, или ждет команды оператора и так далее.
-
- Сообщения: 283
- Зарегистрирован: 17 янв 2007 13:02
- Откуда: Хабаровск
Да, похоже этого достаточно.Игорь Таранцев писал(а):Мне кажется, что будет достаточно сделать следущий набор функций:
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
-
- Сообщения: 283
- Зарегистрирован: 17 янв 2007 13:02
- Откуда: Хабаровск
-
- Сообщения: 283
- Зарегистрирован: 17 янв 2007 13:02
- Откуда: Хабаровск
-
- Сообщения: 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
Комментарии разработчиков:
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
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
-
- Сообщения: 283
- Зарегистрирован: 17 янв 2007 13:02
- Откуда: Хабаровск
Попробовали. Всё как надо. Большое спасибо.Даниленко Сергей писал(а):ПО с изменениями:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... 6_2542.exe

-
- Сообщения: 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
Из документации:
По имени файла (notifyFileName) можно построить путь к файлу SLIni. После этого разобрать SLIni-файл и получить нужные значения параметров из него.
Здесь есть длительность ролика (с учётом MarkIn/MarkOut) и полная длительность (notifyFileDuratuon/notifyFileDuratuonFull).Также, при получении нотификации из программы FDOnAir о скором выполнении команды, относящейся к командам полноэкранного расписания (например, команда показа ролика), класс SLRunTime вызывает следующие нотификации:
long notifyStartTime время старта команды (глобальный номер кадра).
long notifyStartCrossfade длительность мягкой склейки в команде (в кадрах).
long notifyType тип команды (0 – показ ролика, 1 – показ видеовхода).
long notifyChannel номер видеовхода (если тип команды равен единице).
string notifyFileName имя файла ролика (если тип команды равен нулю).
long notifyFileCrossfade длительность мягкой склейки для ролика (в кадрах).
long notifyFileDuratuon длительность воспроизведения ролика (в кадрах)
long notifyFileDuratuonFull длительность воспроизведения ролика (в кадрах).
var notifyComment список комментариев вокруг команды в расписании.
По имени файла (notifyFileName) можно построить путь к файлу SLIni. После этого разобрать SLIni-файл и получить нужные значения параметров из него.
-
- Сообщения: 15
- Зарегистрирован: 25 окт 2013 13:34
Спасибо огромное.Даниленко Сергей писал(а):Из документации:
Здесь есть длительность ролика (с учётом MarkIn/MarkOut) и полная длительность (notifyFileDuratuon/notifyFileDuratuonFull).Также, при получении нотификации из программы FDOnAir о скором выполнении команды, относящейся к командам полноэкранного расписания (например, команда показа ролика), класс SLRunTime вызывает следующие нотификации:
long notifyStartTime время старта команды (глобальный номер кадра).
long notifyStartCrossfade длительность мягкой склейки в команде (в кадрах).
long notifyType тип команды (0 – показ ролика, 1 – показ видеовхода).
long notifyChannel номер видеовхода (если тип команды равен единице).
string notifyFileName имя файла ролика (если тип команды равен нулю).
long notifyFileCrossfade длительность мягкой склейки для ролика (в кадрах).
long notifyFileDuratuon длительность воспроизведения ролика (в кадрах)
long notifyFileDuratuonFull длительность воспроизведения ролика (в кадрах).
var notifyComment список комментариев вокруг команды в расписании.
По имени файла (notifyFileName) можно построить путь к файлу SLIni. После этого разобрать SLIni-файл и получить нужные значения параметров из него.
Просьба, а можно ссылку на мануал или напишите в каком мануале это описано, чтобы больше я не задавал глупых вопросов

-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 4
- Зарегистрирован: 16 мар 2016 16:11
Добрый день!
Есть вот такой скрипт на QML
раньше на движке 4.7 играло плавненько, а вот на 5.4 уже подергивается.
с чем интересно может быть связано?
Есть вот такой скрипт на 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
}
}
с чем интересно может быть связано?
-
- Сообщения: 7093
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK