In the last few days I’ve managed to get a version of Scheme/Java interoperability working where Scheme code can call to Java using a side channel alongside the normal communication with the host Wombat process.
Continuing the update to the Petite back-end, I’ve rewritten the matrix library and most of the image library (everything except for read-image
, write-image
, and draw-image
). The current code is all in Scheme, although I don’t want to write the image loading/saving code in Scheme otherwise we’ll be back into the original situation with the C211 libraries. The APIs haven’t changed though, so the previous APIs are still valid:
Just a small change, now a short (8 character) alpha-numeric string will be used whenever a user hosts a connection, rather than just having to enter the IP and port combination:
As I mentioned once before, I’ve been meaning to add the ability to share screens between different users. I spent a few hours yesterday evening, trying to get everything working correctly in the new setup. So far, I have messages sent and received (encoded using a Public Domain Java Base64 library) between a host and one or more clients, all with an easy enough to use GUI built right into Wombat:
Threads can get all sorts of interesting sometimes. And fun to debug. Essentially, whenever the user would restart the Petite process (using the Stop button) a new output thread would be spawned. There wasn’t any problem with the output being duplicated or lost–I already had locking in place to prevent that–but what would happen is that the threads would interleave the output, scrambling output nicely.
Bug fixes: