Hello,
We are building a plugin for Avid Media Composer. The plugin will use a custom UI that will be launched through the DoDialog method. We are using Qt for our plugin but we are having a hard time getting it to work. Do you have any run books or documentation specifically for Qt based plugins that can help solve the problem? We saw that other plugins use Qt for their interface so it seems that this is doable?
We installed the follow libraries:- QT 5.12.11 msvc2017_64.- Visual Studio 2017.- QT VS Tools.And made a QT plugin that works in AVID Media Composer (It compiles, loads and start functions), but when we try to create a QT Window (QT Widget) the program crash (See the error description below).Are we having a configuration problem? AVID doesn't find the QT components and reports the error: "this application failed to start because no qt platform plugin could be initialized".
Can someone give us a guide on what's happening?
Error description (Microsoft Visual C++ Runtime Library):
Debug Error!
Program: C:\Qt\5.12.11\msvc2017_64\bin\Qt5Cored.dll
Module: 5.12.11
File: kernel\qguiapplication.cpp
Line: 1219
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
(Press Retry to debug the application)
deleted my response as incorrectly assumed this was related to the now defunct QT libraries.
Broadcast & Post Production Consultant / Trainer Avid Certified Instructor VET (Retired Early 2022)
Still offering training and support for: QC/QAR Training - Understanding Digital Media - Advanced Files * Compression - Avid Ingest - PSE fixing courses and more.
Mainly delivered remotely via zoom but onsite possible.
T 07581 201248 | E pat@vet-training.co.uk
Yes, we are referring to the programming framework that builds the plugin UI and not Quicktime :)
You are experiencing https://en.wikipedia.org/wiki/DLL_Hell.
Media Composer has it's own version of the Qt DLLs & framworks with custom patches to Qt that are not necessarily binary compatible with any externally built Qt-based AVX plugins. Your AVX plugin is loaded into the Media Composer process, so it cannot also load DLLs from an externally deployed version of the Qt libraries.
Also, different releases of Media Composer may have significantly different patched versions of Qt. For example, the releases starting with 21.5 are built with a patched version of Qt 5.15.3 (vs2019), but 20.12 is using a special patched verson with Qt 5.12.9 and qtwebengine from 5.11.1. We also use windeployqt (and macdeployqt), so only the subset of the Qt modules needed for Media Composer are installed with the application's directory (or .app bundle on macOS).
What to try first?
Some 3rd-party AVX developers have had success with following configurations to use Qt in their plugins:
Even with all of those changes there may still be compatibility issues when Media Composer releases future versions with newer patched verisons of Qt.
What to try next if there are still problems encountered with your AVX plugin?
The best solution is move the modal Qt UI into a separately deployed external process and use IPC to transfer parameter data. This is more more work to setup the plugin, but it pays off by removing the possibility DLL Hell caused by Qt symbol conflicts with Media Composer's patched versions of Qt.
Hey there....
I did get a response toyour email which I sent along to engineering Charbel :)
Question: We are using Qt for our plugin, but we have a hard time getting it to work. Do you have any run books or documentation specifically for Qt-based plugins to help solve the problem?
Answer: No we don’t have any samples on using Qt based plug-ins.
--------
Questions: We saw that other plugins use Qt for their interface, so it seems that this is doable?
Answer: This is doable under specific conditions.
Questions: Are we having a configuration problem? AVID doesn't find the Qt components and reports the error: "This application failed to start because no Qt platform plugin could be initialized."
Answer: We’ll follow-up with a response about this. From what I understand the plug-in being developed would bring up a Qt based modal dialog.
Let me know what else I can get them to address.....
I will see your response as I am on this email thread.
Marianna
marianna.montague@avid.com
Thank you, Tom, for this valuable information. I will pass it on to the team and reply with the results or more questions :)
Much appreciated!
Thank you, Marianna! I will forward the answers to the team.
To answer your last question, yes, the plugin we are developing will launch its own UI through Avid's effects control panel, similar to many 3rd-party plugins (Baselight for Avid, Sapphire Builder, NewBlue Titler, etc.)
That user interface will be built on the Qt programming framework (at least our intentions at the moment).
Ha Tom and I posted at the same time.
LOL Tom of course was much more detailed.....
Thanks Tom!!!!!
© Copyright 2011 Avid Technology, Inc. Terms of Use | Privacy Policy | Site Map | Find a Reseller