[audio] Why have just one spectral analyzer when you can have two for the same price? 😀 Creates some nice glitchiness - still runs like a charm on a RP4... #godot #raspberrypi #audioplayers #mp3player #vfx
Posts by aaron-tamarin
and I have to say Offspring's The Kids Aren't Alright makes it really pop 😍
A quick demo of clocky playing an externally loaded mp3 file with playback debug parameters showing - its mostly just taking a series of geometric patterns, applying spectral strength as a modifier, randomizing colors/sizes, and tweening it all. #godot #music #raspberrypi #classicRock
func font_size_cache_clear(font : FontFile): for i : int in range(font.get_cache_count()): for size_cache : Vector2i in font.get_size_cache_list(i): font.remove_size_cache(i, size_cache)
I've noticed while working on Clocky that recurring adjustments to font settings in #godot script winds up loosing memory (i.e. this discussion: tinyurl.com/mv6njbr3) - which apparently is not so much a "leak" as "over-caching". Adding this func and calling it before font adjustments helps a lot.
Watching Ralph Fiennes trudging through life muttering the lyrics to Girls on Film 😂 ...and I thought I was the only one... really enjoyed 28 Years Later: Bone Temple #BoneTemple #duranduran
Apparently in Godot you can't just set the HSV values on a color, even though they are exposed - you have to use the from_hsv method off the color class. HSV is nice for creating a spread of colors cause you can just iterate over the H value instead of triangulating RGB's #godot #color #hsv #clocks
[sound] And now we use our old friend "lerp" to help transition line and 2D mesh positions when shifting between display models and bring them all together #music #spectral #godot #clock #lerp
HTOP screen grab showing low utilization
My new HTOP from my Raspberry Pi4 - much better! I kind of thought that since ColorRects are basic Control nodes that you could maybe be a bit more "sloppy" with them, but they seem to have about the same overhead as a 2d mesh which kind of surprised me.
[sound] Redid this effect as a 2DMultiMesh and its much lighter weight (now runs on a Pi4 with plenty of processor room to spare) - originally this was done by instantiating ColorRects and queue_free'ing them, but ColorRects aren't free candy you can sprinkle everywhere🤔 #godot #raspberrypi #clock
...completely different approach using points on a line per track - going to have to keep yutzing with this, but its MUCH lighter-weight than what I was doing before and runs very smooth on the #raspberrypi 4 and 5. #clock #music #godot
interestingly enough, the pi5 seems to keep up with the visualizations while the pi4 is clearly dropping frames and skipping tweens - but I guess that makes sense as the pi5 has a stronger processor.
[sound] Playing with the maths for a more interesting visual and making clocky show the #clock - also you might notice my janky #bpm syncing kicking in - first track (the guitar) controls the rhythm in this case. #godot #music #visualizations
then again, maybe I'm just running non-optimized code 🫠
HTOP grab showing low utilization
HTOP grab showing high utilization
Clocky doing normal clocky things vs running spectral analysis
[sound on] three separate looped tracks with circular spectral analyzers - holds up fine on desktop, but publishing to #raspberrypi I'm seeing 1 of the 3 visuals being dropped and HTOP tells me 1 of the 4 processors on the pi is maxed. Might be too much per frame for it. #godot #music
Adding swiping actions to #clocky - left/right to change clock faces, up to set a timer. Buttons need to be chonky for a 3.5" screen otherwise otherwise my giant fingers can't type - trying to make this so it does not require a stylus. #godot #raspberrypi #cezanne #humansHaveChonkyFingers
(sound on) Testing a plain 'o spectral analyzer to make sure I have the mechanics right - this is two tracks each with their own spectrum_analyzer in #godotEngine and then sampling 250 separate frequency levels in each, coloring the tracks differently #audio #spectralAnalyzer
(volume on) Somehow I wasn't thinking of music when I was working on audio visualizations but it kind of works🤔 two tracks, separate visualizations, size driven by spectral strength, other behaviors controlled at the track level... #godot #spectralAnalyzer #music #western
Still experimenting with #clock displays loading on #raspberrypi - its very clear to me now how this could be data-driven, multiple clocks could talk to each other creating a mini-closed household communication hub, and how most digital #signage I've seen is pretty limited. #godot
I remember seeing this movie a few years after it came out and wasn't sure what to make of it - years later, it seems more prescient than people might have thought... Might as well say, "Hi, I'm Tilly Norwood. I'm the perfect female type, 18-25."
www.youtube.com/watch?v=yoT-...
A very #bradybunch #ui design 😀
My "70's TV Era" clock - its kind of interesting how much you can do with 4 labels, cause that's all this is - 4 labels with colors, positions, text randomized following some formatting rules. #godot #clocks #1970s runs on #raspberrypi
I've also grown quite fond of instantiating an object, slapping a tween on it to do the animation and then using the end of the tween to cull the instantiated object - its very self-regulating at that point.
<yourTween>.tween_callback(<objectBeingTweened>.queue_free)
Update on my #clock project - implemented an "artsy" background - its impressive how much animation you can do with just tweens 🤯 Every 10 minute slice of an hour has its own color scheme and animation type - this shows you a full hour's worth in 30 seconds. #godot #raspberrypi #abstractart
The one thing I made that I use the most is a raspberry pi clock that sits in the living room - originally built in pygame, I've been rebuilding it in Godot. It sounds useless, but I check it all the time - the fact that I made it has become invisible to me. Now I'm making it better. Build a clock.
If you feel stuck, keep creating - its good exercise. Make something simple, like a painting or a skateboard or a clock, and see what you can do with it. #godot #clock #raspberrypi #creating
Oh - also note that going from 3 or 4 to 5, the 5's DSI ports got smaller, so if you want to reuse existing displays you'll need a DSI cable that downsizes to the new size. Lucky me, I had one.
So if you're dev'ing for distribution on a raspberry, avoid anything lower than a model 4. So far the 5 is kicking butt...
Same app, same build, same point in the program and here's the htop's across Raspberry Pi3, 4, and (now) 5. Big difference in performance, especially from 3 to 4. I'm also noticing that 3's were issued with 1gb ram while 4's and 5's got 4gb #raspberrypi #godot #performance
I guess I shouldn't be surprised that the Pi3 did an autokill of the app due to limited system resources... Happens pretty consistently around 15 minutes of runtime - the Pi4 runs for many hours and no autokill. You can see this information on the Pi by scrolling through journalctl