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

Event_large

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

Files

Feedback

Click here to let us know how you liked this event.