Just putting random stuff I’m working on and/or thinking about.
I’ll try to update this daily. RSS should reflect this.
A bit of work on making uxn drawing
even faster: it now keeps track of a region on the screen that will
need to be redrawn. For simplicity, that region is always a rectangle
with the width being the width of the screen. On
made the CPU load drop to 4% when moving the mouse pointer. Before it
would go up to 15%.
After making that change I noticed
uxn on 9front via drawterm is still
as slow as it was (the mouse pointer is lagging). Apparently I made
npe redraw the whole texture disregarding
what portions were actually updated. This will need to be fixed.
Not much interesting.
Went bouldering for the first time. Lots of fun!
Small change to uxn to make
CPU load low when idling in terms of drawing. Actual redrawing happens only
when at least one pixel was changed. On my x220 thinkpad the load
piano.rom dropped from 25% to 4% in idle.
Wow. I got a new job and was veeery busy. It’s fun though!
I was reading some interesting papers during this time. For example, time warp related ones have been the most interesting. Someday in the future I want to try building a prototype of a PL/kernel that utilizes those ideas from the start.
Flashed my old X220 with coreboot and it powered on. Installed more RAM, cleaned and changed thermal paste. It’s a great laptop.
More work on neindaw. Better
“autovoicing” logic, even less pops and cracks.
the timings go wrong, it seems. Sounds much better without it.
Fixing neindaw. Mixing logic in
(and DSP filesystems) has been fixed so it makes more sense now. The
number of automatic voices has been limited to 16, they are also
recycled based on level when the limit hits (the most quiet one goes
away). In addition to
[autovoice] metadata for Gate buttons that
would enabled automatic voice creation,
[crossvoice] has been added.
That one makes the DSP create automatic voices and start playing them
when the previous voice crossed zero point amplitude, in which case
it’s also silenced. That allows kick drums to have way less artifacts
when they are repeated fast.
There is still a lot to learn in regards to mixing. Hard clipping is still present, and various sounds played together do not sound that well because the mixer does not account for anything, it just adds all samples together and clips.
Computers? Not really.
Played a bit with the “theming through libdraw” idea. Managed to get
sam themed dynamically (changing colors while it’s running) with
picker without a single change to
sam itself. Several issues still to figure out, best ways to make
this usable to find, but at least it seems possible so far.
usize became 64 bits on 64-bit platforms, alignment of
libvpx structures went sideways. I updated the port to use
ulong instead. A fixed release of
treason has been uploaded.
Went hiking, made a fire, cooked potato and peppers. It was really nice.
rtmp can stream to multiple destinations now. Both Twitch and PeerTube work.
Started to work on audio loopback for
Mostly nothing? Some rtmp work.
hj264 will no longer require multiple-of-16 window/screen size. That means no more green line at the bottom when capturing 1920x1080, for example.
rtmp: Audio reading is running in a
separate proc now. By using kvik’s
mq I achieved audio loopback reading
and was able to stream Quake gameplay with audio to Twitch.
I should try writing SIMD on paper since I can never get enough computer access and distractions are constant. Once I’m on the new job, I will start going to coffee shops to work at. Working at home with other people present is impossible at this point.
Watched “12 Years A Slave” for the first time.
AAC audio support has been added to rtmp.
Not much of anything.
rtmp can now stream directly to Twitch. Success.
I got to sent first portion of video frames over RTMP from 9front natively, without breaking the server. Video player on the other side doesn’t like those though, it produces some really nice glitch art. Need to figure out what is wrong. But it’s getting really close!
hj264 will have much lower CPU usage on text editing streams by comparing the frame to the previous one and ignoring it entirely if the contents are the same.
More work on rtmp. Getting closer to sending video data.
Last update: September 22, 2021 06:30PM