Konrad Glas

Individual Contractor

Muse Group

About Me

Konrad Glas has been building professional music software since 2013. At Vienna Symphonic Library, he has held central engineering roles across the entire software stack—from sampling engines and audio processing to user interfaces—for products including Vienna Synchron Player, Vienna MIR Pro 3D, and Vienna Ensemble Pro.

He later joined StaffPad as a contractor and, following its acquisition by Muse Group, became the principal developer of MuseSampler—the playback engine behind MuseScore’s sampled instruments.

Recent projects involving network-loaded instruments and increasingly complex asynchronous systems introduced him to the less charming side of concurrency: blocked threads, missing exceptions, tangled callback chains, mysterious deadlocks, and background tasks that simply wandered off and never returned. Looking for a better way led him down the rabbit hole of C++20 coroutines. He has yet to find the bottom.

Sessions

  • std::future Is Not the Future

    C++20 Coroutines for Audio Developers
    00:00 - 00:00 UTC | Monday 9th November 2026 |
    Intermediate
    Advanced

    Concurrency is hard. But does it need to be? Audio applications and plugins constantly deal with asynchronous work: loading files, fetching resources or performing unbounded network operations just to name a few. Traditionally and painfully, this leads to: - the infamous spinning beach ball of death, - blocking calls and stuttering UI updates, - tangled callbacks, - fragile state machines or - ad-hoc thread management. C++20 introduced coroutines, but in a very C++ way: not as a ready-made library feature, but as a confusing low-level language feature with a few keywords and plenty of sharp edges. Other ecosystems are seemingly […]