A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++
summary
A concrete case study about rewriting a legacy GUI property system into GlassProperties that uses C++17 compile-time meta-programming to convert runtime type and wiring errors into compile-time failures. Covers the actual design: property-type structs with serialize/deserialize, optional and composed property types, automatic didSet hookup, and a thin porcelain layer over the old Canvas plumbing while adopting yoga and skia and SparkleMotion. Shows incremental rollout across products (Insight, Neutron, Neoverb, RX) and reports real improvements in developer productivity and runtime safety.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 2:45Property Systems
- 5:17Challenges
- 9:44Rewrite
- 14:36Canvas Properties
- 17:49PropSignals
- 18:52Creating Properties
- 20:27Connecting Properties
- 25:29Types
- 26:00Summary
- 27:05Macros
- 30:48String Property Type
- 38:37List
- 41:16git property
- 43:26fold expression
- 44:58create properties
- 46:09pass properties
- 47:19cast
- 51:17wrap property signal
- 52:24example class
- 53:11button declaration
- 54:57outro
related talks
31mFunctional Shell and Reusable Components for Easy GUIs
01h 04mData oriented design in practice
01h 10mUI prototyping and development for multiple devices in C++
35mQtinUse - UI & System Design Challenges for the NxG Lighting Tool
45mChanging attitudes toward legacy code
43mClosing Keynote
11mWriting Approachable Reason
01h 06mHourglass Interfaces for C++ APIs
