Отличная новость, будем пробовать.
Несколько месяцев назад я начинал присматриваться к QML, как я понял изначально среда заточена под тачскрины.
От сюда вопрос - будет или уже есть возможность не просто проигрывать скрипты, а управлять ими в реальном времени?
Исходя из наших условий я представляю внешнее управление при помощи некой панельки с кнопками которая имеет возможность посылать события QML движку.
Включаем титровальный проект OnAir:
1. Появилась табличка
2. Нажимаю кнопку 1 на нашей панели управления QML
3. В табличке подсвечивается строка
или управление крестиком - перемещение по элементам.
Нужна возможность нелинейного управления титрами, не тупо - Вкл/Вкл, а возможность в прямом эфире под чтение ведущего выводить и менять графические объекты на экране.
И напрямую с QML это не связано. Почему именно QML тут как-то должен помочь? Это всего лишь язык описания анимации с довольно большими возможностями (побольше, чем просто выезжающая надпись и бегущая строка).
Нужно иметь возможность выдавать в эфир оперативную, динамическою, красивую информацию, а для этого требуется несколько больше контроля над титрами.
Например я хочу сначала вывести подложку, через минуту мне надо показать столбец за первого кандидата с аним. выездом, потом следующий и т.д. - вот чего хочется мочь делать.
Для интерактивного управления требуется канал передачи управляющих команд. В оригинальном QML такого канала не предусмотрено. И в титровальном элементе QML тоже нет встроенного взаимодействия с внешним миром. Если вы напишите какую-либо библиотеку и встроите ее в систему (зарегистрируете в системе), то можете встроить ее в ваш скрипт. Это может быть QML-скрипт. Но прямо сейчас, наверное, это проще встроить в Java-скрипты, которые есть в наших титровальных объектах. Самоучителей по Java гораздо больше, чем по QML
Игорь, ясно, что на данный момент этого нет, но если это сделать ... думаю появится еще один рынок на базе вашего продукта. Это уже не просто отправлялка команд в OnAir, здесь столько свободы появляется для разработчиков :-)
Все у меня запустилось, пришлось несколько подправить код, за исключением того, что в JS не создается объект:
file = new TextReader();
в интернетах нашел
file = new StreamReader();
Вам не приходит в голову, что TextReader - это наш объект? Т.е. в каком-то стороннем (возможно, даже стандартном) исполнителе QT-скриптов его может просто не быть?
Я просто немного удивляюсь вашей уверенности в том, что можно взять и что-то такое "прикрутить" к чему-нибудь - авось заработает? А потом нас же спрашиваете, почему не работает. Так и хочется ответить: потому что. А затем спросить: почему не хотите попробовать именно то, что вам дают, без всяких экспериментов с "прикручиванием"? Тоже на это ответите "потому что"?