Another week of lockdown, stayed inside, modified some text files in very precise way, did some video calls.
Continuing my work to trim AAC-in-MP4 files. It’s of course a lot more
complicated than anticipated, but I’m seeing the end of it. I wrote a lot more
test-cases, and still don’t understand how Safari manages to find the correct
duration of an AAC file produced using the standard tool
afconvert, but I
haven’t spent too much time on it yet. Files produced using
means most files), will soon be sample-accurate in Firefox. This matters a great
deal when decoding and looping files.
The main issue I had this week was that the machine I use for Windows
development is starting to be unusable for work. I don’t know exactly what it is
(maybe the disk?
memtest86+ says everything is fine, same for the DELL online
diagnosing utility) but it BSODs quite frequently, and does internal compiler
errors on both
clang, so I need to run
mach build four or five
times to get a Firefox build. Thankfully Mozilla’s IT is sending me a
replacement laptop, and I might buy another M.2 NVME drive to reinstall a
Windows and see what’s up with the current one. It’s still a ridiculously fast
machine, but I think we’re hitting the hardware a bit too hard when working, and
it doesn’t last very long.
Again, that was the majority of my week. Read some issue comments, wrote some
issue comments. It seems like we’re making progress on the two topics I really
care about: time representation (converging on timestamps in microsecond
int64_t), and memory access patterns, allowing direct decode of audio data
into a regular
SharedArrayBuffer, in addition to
AudioBuffer, that is useful for ergonomic reasons, for folks that use native
Web Audio API nodes.
The Web Codecs editors, of which I am part of, have presented Web Codecs during the W3C Games Community Group’s call. I hope to have the video and slides available, because I think Web Codecs is going to solve lots of problems games developers face. I tried to explain it by contrast with what the Web offers today, drawing from my long experience working on audio standards on the Web, and answering game developers (real) issues with (in particular) the Web Audio API.
Not much again. I overhauled my personal website, https://paul.cx, to go from a set of hand-written HTML pages to a static site generated using Hugo. The goal was to easily add content of various nature. I’m constantly doing lots of things, but never sharing it outside my close friends circle, and sometimes I find it a bit sad to have worked for quite some times on random things, but never sharing it.
Anyways, I did a new mix, with an emphasis on percussions. It contains only tracks I’ve bought or downloaded recently, with no genre or tempo range constraints. It’s improvised, I literally imported all the music I had wish-listed on BandCamp and bought during their last Friday, and added a couple records I had only on vinyl and downloaded using the little mp3 download card often present in the record sleeve. Traktor analyzed it, I used the double sort by tempo and key, and pressed play on the first track.
It’s called Les percussions du Samedi, clocking in at about 2h, and is available, with the other mixes, at the new https://paul.cx.
Unrelated, I kind of want to code-golf and optimize the animation on the front page. Maybe it’s because I haven’t done any demoscene related coding lately?