Loading…
CppCon 2021 has ended
• Software Design [clear filter]
Wednesday, October 27
 

4:45pm MDT

A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++
This session is part of the Software Design Track.

A case-study in the design and development of iZotope's GUI framework,
for real-time audio software, using C++17 to eliminate common sources of
bugs and increase developer productivity. To illustrate this process,
we will study GlassProperties, a new open-source library for property
serialization and accessor method synthesis. While designed to support
building GUIs for real-time audio software, GlassProperties is a general
purpose framework not tied to any one GUI library and could easily be
adapted into your GUI or any part in your tech stack.

We will cover the library design process, starting with
analysis of legacy code and bugs to develop user problem statements.
These user problems will be our guide for wrapping a legacy system with
a new type-safe API using C++17 compile-time meta-programming so that
run-time bugs become compile-time errors. Once we arrive at a C++17
design, we will close with a brief look to the future and how the
library would look with C++20 Concepts.

In addition to learning the software design techniques to succeed in
this rewrite, some lessons learned will be shared so you will be armed
with both the C++ skills and business strategy to take on a project like
this at your organization.

Speakers
avatar for Roth Michaels

Roth Michaels

Principal Software Engineer, Native Instruments
Roth Michaels is a Principal Software Engineer at Native Instruments, an industry leader in real-time audio software for music production and broadcast/film post-production. In his current role he is involved with software architecture and bringing together three merged engineering... Read More →


Wednesday October 27, 2021 4:45pm - 5:45pm MDT
D) Valley 1
 
Thursday, October 28
 

4:45pm MDT

Up to Code
This session is part of the Software Design Track.

Many engineering disciplines require alterations or improvements of existing systems to be "up to code," whether that be the installation of railings on a staircase or upgrades to electrical work. In this talk, we'll apply this concept to Software Engineering and, in particular, C++-based systems. Using one real-world example, we'll cover best practices including: contracts, type-driven architecture, hierarchical design, and difficult testing scenarios as they apply to "old work."

While many of these topics are covered elsewhere, they are usually presented as if all code is being written from scratch. Application to an existing system is an entirely different matter. That is the subject of this talk.

Speakers
avatar for David Sankel

David Sankel

Principal Architect, Adobe
David Sankel is a Principal Scientist at Adobe and an active member of the C++ Standardization Committee. His experience spans microservice architectures, CAD/CAM, computer graphics, visual programming languages, web applications, computer vision, and cryptography. He is a frequent... Read More →


Thursday October 28, 2021 4:45pm - 5:45pm MDT
A) Aurora C/D
  • Software Design, Onsite
 
  • Timezone
  • Filter By Date CppCon 2021 Oct 24 -29, 2021
  • Filter By Venue online
  • Filter By Type
  • • Algorithms/Functional
  • • Async/Concurrency/Parallelism
  • • C++20/Future of C++
  • • Code Design
  • • const/Units/Time
  • • Education/Coaching
  • • Embedded
  • • GPU/Graphics
  • • Modules/Libraries
  • • Real-time/Data Science
  • • Software Design
  • • Templates/Concepts
  • • Testing/Error Handling
  • • Tooling/Debugging
  • • Type Design
  • Business
  • Social
  • Access


Filter sessions
Apply filters to sessions.