|
|
|
|
|
by oriolid
1669 days ago
|
|
Over the last years I've been working with an audio library that makes several simplifying assumptions, like - Audio interfaces are never added or removed over the app's lifetime - Audio is never rerouted between interfaces, or at least the app doesn't need to know about it - The details of an audio interface, like number of channels or supported sample rates, do not change while the interface is running - Audio latency never changes and callback timing is always precise, so timestamps are not really needed and a single number is enough Of course, none of these are really true and adding support for some of them would require rewriting a few APIs and many, many implementations. On the overengineering side, of course it has its own smart pointers, string class, thread implementation etc just in case someone needs to build for a target that doesn't support C++11. |
|