Version 2.0
60min: The NXP SmartStudio Use Case
Qt5.5 + PyQt5.5 complex software integration of a multi-platform application in a mixed environment
In this talk, we will show the architecture design strategy adopted to create a desktop application interacting with audio hardware platforms through USB direct connection, Network over USB and Ethernet network.
SmartStudio monitosr a wide range of complex DSP real-time data over a user friendly User Interface for the best User Experience, paying special attention to the usability ergonomics of the software.
The key factors empowered by the Qt/QML platform are efficiency, reliability, flexibility and real-time data monitoring with a less than 15 ms expected delay response.
The starting point was an original, partially working application mostly focused on the Python environment and based on the PyQt4/Qt 4.8. The use of the Qt features through PyQt was extremely limited, resulting in a very slow and uneffective application.
During a preliminary step, SmartStudio has been ported to the improved development environment PyQt5/Qt 5.5, and then the internal architecture fully redesigned.
The new version was primarily aimed to gaining a significantly improved speed and efficiency, real-time reactivity and flexibility, in addition to an easy-to-maintain and easy-to-use application set of packages.
Redesigning the application architecture involved the streamlining and reduction of the Python portion of the application, thus managing only the higher level tasks on a model-view-controller application approach based on the company needs.
In this talk, we will analize the architecture design paying special attention to the benefits and advantages of using Qt as a powerful user interface and calculation platform controlled by a Python environment.
Topics:
- Python + PyQt5 + Qt5.5 software design: pros and cons of a multi-language application architecture
- SmartStudio efficiency and responsiveness: a key factor in real-time audio DSP data acquisition and visualization
- Finding the right code balance between Python and the power of Qt
- C++ and QML to design flexible and adaptable User Interfaces and supporting fast and reliable math
- The plugin approach: creating modular Qt components to maximize the software flexibility and maintenance
- Python as the application super-architecture supported by standard and custom Qt components
- C++ Qt modules for real-time data calculation
- Python vs Qt components: a message/signal-driven approach in a multi thread architecture
Info
Day:
2016-09-03
Start time:
11:15
Duration:
00:10
Track:
Qt in Use
Links
- NXP Semiconductors Mobile Audio
- One of the involved components in the monitoring system
- Another monitored device
- Video
Files
Feedback
Click here to let us know how you liked this event.
Speakers
Enrico Miglino |