Organelle OLED simulator app

I wanted to share a little project that grew out of working on handling OSC messages and communicating with an HTML-based GUI over udp (via web sockets).

In the end I wrote a simulation in JavaScript that draws the Organelle screen in an HTML <canvas> element based on the standard Organelle OS graphics messages that go out via mother.pd. (The JavaScript graphics code is a loose translation from the C++ code in the Organelle OS source.)

It’s pretty fun to play with and I think it could be useful for developing and testing new patches, so I’ve packaged it up in a couple different ways:

One is just an html page that you can open in a browser window, but it requires a Python script to run in the background for communication between PureData and Chrome/Safari (/ Firefox? - untested)

I’ve provided instructions in the readme but maybe that’s a bit complicated to get running if you are not familiar with Python.

So the alternative is a version of the GUI that is packaged as a native macOS app - no python or special installation steps needed.

Both of these projects include a very slightly modified mother.pd that needs to run alongside your patch in PureData on your laptop/desktop, which provides the necessary runtime for Organelle patches.

See the readme in both projects for details.

Python/html/websockets: GitHub - samesimilar/cactos-py: A Browser-Based OLED emulator for Organelle

macOS: GitHub - samesimilar/CactOLED-macOS: A native macOS OLED emulator for Organelle

Cheers!

7 Likes

Currently waiting for my actual Organelle to arrive and this is exactly what I was looking for in the meantime. Thanks! Doesn’t work with all patches, but I got it working quickly by following the instructions.

1 Like

Awesome! And welcome to the Organelle community! I’m glad it works outside of my environment here; thank you for testing and reporting back.

As a follow-up to my post above, yes certain patches may not work:

  1. Patches that use Pd ‘externals’ that are only compiled for Linux/ARM will not work (or only partially work), since those externals can’t be loaded on a Mac (or Windows) machine. The solution is to track down compiled versions for those platforms, or find the source code.

This includes some of the default factory Organelle patches too. For example, the built-in sequencer doesn’t work on many of the patches, but they still mostly work otherwise.

  1. Patches that use the ‘gFrame’ graphics command. This isn’t wired up yet in my simulator yet, mostly since I haven’t found a patch that can be used for testing it.

  2. Other reasons I’m not aware of. For any patches that don’t work, where incompatible externals are not the issue, I invite bug reports - the issues tab of the github repo is a good place, or here is fine too if you don’t have a github account. I can’t promise I can get everything to work 100% but maybe there are a few more simple glitches to fix. I’ll try to get around to it.

I also found some patches (like “CZZ-Multi”) that fail a version check on startup and display a message like “This Patch requires OS version 2 or higher.”

The check involves looking for a file at /root/version in the filesystem, which probably doesn’t exist … you can try routing around the version check in Pd (CZZ-Multi actually works fine in that case)…

Should be worth mentioning that Organelle patches assume they are running in the Organelle filesystem, so any patches that read and write files could attempt to perform such operations in unexpected locations in your mac or Windows filesystem…

1 Like