I drank one of those ghost energy drinks for the first time today and I'm still buzzing after 5 hours. wtf in in those things?
03.08.2025 07:35 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0@exacoustics.bsky.social
Building cool plugins Brisneyland ๐ฆ๐บ exacoustics.com
I drank one of those ghost energy drinks for the first time today and I'm still buzzing after 5 hours. wtf in in those things?
03.08.2025 07:35 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0b r e a k s t a t i o n
22.07.2025 07:01 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0lmao I just checked all the new features. I'm psyched for a working pause
09.06.2025 11:09 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0arc witch. might try ranger or templar next. have you been playing long?
28.05.2025 23:56 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0I started playing Path of Exile 1 for the first time recently. The Maori influence in their art style and lore came as an unexpected surprise -I had no idea this was made by a Kiwi studio! It feels very quaint and hits close to home. It reminds me of art and stories I read growing up. Cool game!
28.05.2025 04:59 โ ๐ 4 ๐ 0 ๐ฌ 1 ๐ 0My body is ready Todd Howard
23.04.2025 02:48 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Defs replace as much of the standard libraries as you can. Plenty of great stuff on GitHub.
All I use is:
Malloc/calloc/realloc/free
Memset/move/cpy/cmp
snprintf
math.h
All other string and i/o functions are awful.
Have you considered switching to plain old C, or something even newer and riskier like Zig, Odin or Jai?
22.03.2025 00:59 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Good design makes gotchas like this hard to make, and I certainly havenโt found the right one yet. If you have ideas or tips to share, Iโd love to hear it!
Also if you hit me up on discord or something Iโm happy to share code
Extra logic is required on mouse exit events to stop this trip up happening. I suspect Iโll run into similar problems with keyboard focus gained lost events, and maybe drop + drag end events.
19.03.2025 09:04 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0A gotcha I ran into with this no callback approach is responding to mouse exit/enter in the correct order. For example, two widgets A & B set/restore a cursor on enter/exit events. If A is drawn before B and the user moves the cursor from B to A, then Bโs exit event will be resolved last.
19.03.2025 09:04 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0Yep, you basically described the code I have so far (ids and bounds checking).
Currently z indexing is an unsolved issue. Iโm hoping clever use of a โgenerational IDโ will help. Thatโs a trick game developers use.
Definitely. The latency thing is a year old issue on GitHub, and probably very easy to solve, I just havenโt gotten around it lol
19.03.2025 08:44 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Iโm struggling to understand your reply. Are you saying certain widgets require callbacks?
If so, I believe key/mouse events can be stored in a queue or similar, then consumed at the site of the widget without any requirement to register a callback.
Good luck! Are you using another lib, or writing your own?
19.03.2025 07:33 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0Youโre not missing out
19.03.2025 05:32 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0Removing a retained mode widget is just as bad. First you remove it from the header, then remove all references to it, possibly across several files and definitely in several functions/methods.
What a nightmare!
This developer friction certainly stops many great ideas from being tested!
The equivalent of this is extremely cumbersome in a retained mode GUI (eg. JUCE, VSTGUI, Qt). To add a widget you will probably add a new member to a class in a header file, then it needs to be initialised correctly in a constructor within a .cpp file, then it needs to drawn in some third place...
18.03.2025 23:49 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0If you want to test a GUI idea using immediate mode widgets, it's as simple as writing all necessary code in one place. If you need to temporarily make space for something, then removing widgets is as easy as commenting out a block of code, or a function call.
18.03.2025 23:49 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0In C/C++, you can literally plot any chart to see and hear results in real-time. You can add/remove temporary "static" parameters for testing (see above pic) and commit them to proper plugin params later
There is also no algorithm rewrite from mathematical notation to C/C++
So far so good! I even managed to make rendering event driven.
IMGUIs are an amazing way to quickly prototype ideas and refine an algorithm. Some plugin devs do this in matlab, desmos, or similar, but I think sticking to your implementation language has some important advantages
All this including the plugin this is built for will be open source at some point
16.03.2025 21:50 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0For rendering Iโm using nanovg with a fork of sokol gfx.
16.03.2025 21:24 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0Nope. Itโs not a full fledged UI framework. It just takes mouse events and manipulates a few booleans and floats so you can have widgets detect mouse enter/exit/hover/drag/dragstart/dragend/single/double/tripleclick.
16.03.2025 21:24 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0Buttons and sliders arenโt hard at all. Things may start to get complicated if I need to support z-indexing.
Given how simple IMGUIs are, I suspect you could hack together a new lib for each project with certain features included/excluded.
This weekend I started working on my first immediate mode GUI library. Itโs amazing how much you can do in so few lines of code!
16.03.2025 03:54 โ ๐ 6 ๐ 0 ๐ฌ 1 ๐ 1If youโre making noise below -120dB, itโs pretty darn high quality. -288 is nuts
13.03.2025 01:03 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0Most boring cyclone ever
07.03.2025 00:10 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Every day. Imagine waking around with a dirty phone. Ew
05.03.2025 08:45 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0I was studying recordings of the famous Square 4 sound from Maelstrom. I managed to create a filter that produces the same output when you run a square wave through it.
Itโs available as โComb 4โ in Ghost v1.0.15. Go make some yoinks with it.