Your August 2024 Newsletter is Here
|
This month’s edition brings you four blogs: More Ways to Rust, Part 5 of the Qt and Trivial Relocation series, Mastering Cross-platform Desktop Apps, and the first blog of a new blog series about Implementing an Audio Mixer in QMediaPlayer with Qt Multimedia.
If videos are your preferred format for learning, you can even click over to our YouTube channel to watch the newest module of our Introduction to Qt Widgets video series. Six new videos are waiting for you there, featuring 6 new important introductory Qt Widgets topics, including String Handling, Regular Expressions, Container Classes, File Handling, QVariant, and Properties.
GammaRay has seen a new release this month. You can now get your hands on version 3.1, which is available for download on GitHub. Scroll down for more details, including a direct link to the blog that highlights the changes and the GammaRay GitHub page.
Are you considering visiting Berlin anytime soon? October and November are excellent months in Berlin, as we have three scheduled trainings at our Berlin training center during that time period. For more information, see the KDAB Training section below.
If you can’t travel to Berlin, there are a couple of upcoming events in other cities where we could meet instead.
Read on for more about all of the above
|
|
|
|
|
by Andrew Hayzen and Leon Matthes
|
In our earlier blog, The Smarter Way to Rust, we discussed why a blend of C++ and Rust is sometimes the best solution to building robust applications. But when you’re merging these two languages, it’s critical to keep in mind that the transition from C++ to Rust isn’t about syntax, it’s about philosophy.
|
|
|
|
|
|
In the previous posts of this series, we explore what relocation means, what trivial relocation means, and how it can be used to optimize the implementation of certain data structures. Furthermore, we have explored how trivial relocation is connected to move assignments and how some types may be trivially relocatable for move construction but not for assignments. In this blog post, we’ll have a look at trivial relocation from a “Standard C++” point of view.
|
|
|
|
|
Creating applications for cross-platform compatibility is a modern best practice. It increases deployment flexibility and allows applications to reach a wider audience. However, doing it properly can involve some trial and error. At KDAB, we’ve built many multiplatform desktop applications. Here, we’ve compiled a few insights from that process to help you build better software.
|
|
|
|
|
When using Qt Multimedia to play audio from several sources, a single instance of QMediaPlayer can play only one audio source at a time. In order to avoid a huge number of streams to the system mixer being opened and closed and QMediaPlayers constantly being constructed and destructed, the application needs a mixer of its own to combine all the audio into the one stream. Before we can implement this, we first need to understand how PCM audio works.
|
|
|
|
|
KDAB Video Releases this Month
|
|
|
|
Introduction to Qt Widgets
|
|
If you go to our YouTube channel, you’ll find 6 — yes, 6 — new Introduction to Qt Widgets videos since July. These videos, together, comprise our training module number 5. Feel free to watch them at your leisure, but before the end of September. By that time, we’ll have a brand new video series for you.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In this video, you’ll have a look at the tool called pre-commit. It’s a tool, as the name suggests, for setting up (and reusing) git pre-commit URLs.
|
|
|
|
|
|
|
All of our Germany courses take place at our training facility in Berlin. The address, map, and directions can be found here.
|
|
|
|
|
You’ll quickly get up to speed with Qt/QML as well as an introduction to developing for Embedded with Qt Creator and performance tuning.
|
|
|
|
Get introduced to various tools that help developers and testers find bugs and identify performance issues in C++ applications on Linux.
|
|
|
|
Seize the opportunity to lift your C++ skills to the next level with this advanced course, designed for developers with a good working knowledge of the C++ language.
|
|
|
|
|
|
|
Events
|
You probably don’t want to miss these upcoming events. We’ll be there and are excited about the opportunity to meet you and chat a bit about what’s new.
|
|
|
|
|
|