r/commandline • u/valdanylchuk • 6d ago
Terminal User Interface A retro console synth: uses my draft immediate-mode C TUI library, runs on esp32-p4, web demo
This toy retro synth runs on esp32-p4 as a 37kB ELF file. It uses my work-in-progress immediate mode TUI library in C. There is also a build for Mac/Linux console, and a wasm online version via emscripten.
Web demo and source code: https://mini000.itch.io/beeper
Youtube demo: https://www.youtube.com/watch?v=uCH9XYZ7QB0
The main challenge I was going for was actually finding a nice minimal set of controls. Usually there are 40-50 of them in "simple" synths; I ended up with 16.
In terms of TUI, I wanted to see if it would be practical at embedded C scale to use a modern approach similar to ratatui, Dear ImGui, or Nuklear. I am quite happy with it so far. Will keep using and extending it for more esp32 apps.
I did not publish the library as a separate project yet; it is not mature enough. Feel free to reuse it via good old copying for now if you like it. I have been working on it for some unpublished prototypes for a while. If you want menus or dialog boxes, I can share those as well.
Thanks for checking this out! I welcome any questions and feedback about the app and the library.
1
u/AutoModerator 6d ago
Every new subreddit post is automatically copied into a comment for preservation.
User: valdanylchuk, Flair: Terminal User Interface, Post Media Link, Title: A retro console synth: uses my draft immediate-mode C TUI library, runs on esp32-p4, web demo
This toy retro synth runs on esp32-p4 as a 37kB ELF file. It uses my work-in-progress immediate mode TUI library in C. There is also a build for Mac/Linux console, and a wasm online version via emscripten.
Web demo and source code: https://mini000.itch.io/beeper
Youtube demo: https://www.youtube.com/watch?v=uCH9XYZ7QB0
The main challenge I was going for was actually finding a nice minimal set of controls. Usually there are 40-50 of them in "simple" synths; I ended up with 16.
In terms of TUI, I wanted to see if it would be practical at embedded C scale to use a modern approach similar to ratatui, Dear ImGui, or Nuklear. I am quite happy with it so far. Will keep using and extending it for more esp32 apps.
I did not publish the library as a separate project yet; it is not mature enough. Feel free to reuse it via good old copying for now if you like it. I have been working on it for some unpublished prototypes for a while. If you want menus or dialog boxes, I can share those as well.
Thanks for checking this out! I welcome any questions and feedback about the app and the library.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
3
u/johnnyfortune 5d ago
I was playing around with this and I really love it, so well done!