Our great sponsors
-
stk
The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
SampledSignals.jl
Core types for regularly-sampled multichannel signals like Audio, RADAR and Software-Defined Radio
It looks nice. I would use STK instead if JUCE (https://github.com/thestk/stk) In particulat RtAudio.cpp, RtMidi.cpp, RtWvIn.cpp) and a local or remote visualizer based on ImGUI and OpenGL, since I have that code already I would only need to add a few lines to my audio app to debug visually, using shared memory (which is much faster than printf and works inside a debugger and anywhere else, on Linux, MacOS and Windows)
You found the Achilles' heel of my project! I don't mind the fonts being different sizes or not monospaced, but the fact that there's a difference in height in the font rendering between ⎺ and ‾ on different platforms is a bummer. I have a flag in the C++ implementation so they can still be rendered "correctly" in IDEs like Xcode [1].
I felt doomed to Unicode in this case because of the number of places I wanted them to show up (CLion lldb integration, GitHub actions output, terminal). I would have loved to actually render graphics! I actually never thought about how they would render on a blog article, I wouldn't generally wouldn't use them for blogging...
1. https://github.com/sudara/melatonin_audio_sparklines/blob/ma...
STK is cool! I'm building a synth plugin, so that's why I'm in JUCE...
I want to hear more about the remote visualizer! I was using Jim Credland's buffer debugger (again, JUCE)[1]. It pops open a window, making it fairly easy to visualize buffers with one caveat: you actually have to tell it about the buffers you care about visualizing and then recompile. This means debugging can't really be on the fly (unless you only always care about the same buffer or two).
The other issue I ran into was viewing audio from my tests. I'd love to hear about the shared memory approach — real waveforms would be ideal!
1. https://github.com/jcredland/juce-toys/blob/master/jcf_debug...
These visual displays are very useful. Here's how the Julia REPL shows them:
https://github.com/JuliaAudio/SampledSignals.jl#repl-display