Developing for monome without the physical monome? is there a simple desktop emulator?

I’m starting to write some node.js code to interact with my 128 grid, the problem is, i’m not all the time with my grid around.

Is there a simple emulator that i could use to emulate a monome being connected / disconnected / turning on/off the lights, etc?

i’m on OSX. i saw some people taking about something similar in 2008 and found some max patches but it doesn’t seem to be what i need.

thanks

1 Like

i have been wondering about this too, for testing/debugging aleph/modular code without a grid on hand.

if i can find the time i would like to make a little utility to emulate grids on the serial port level. not sure if that’s what you need. but probably worth asking if anyone has done this already.

3 Likes

yeah that would be cool, at the moment i’m implement a desktop app.

i might just have a “fake grid” on the screen always representing a grid and then when you plug the grid the grid actually “assumes” the state of what is on the screen, similar to how the white whale works on the modular ( if you disconnect the device or load without the device it just carries on from where it was )

oh ok, that is kind of a different need. i need to provide hardware with something that looks like a monome over serial (emulating the FTDI chip on USB would be even better but intrinsically more difficult.)

is your JS code dealing with OSC over UDP? if so then maybe what you need is something very similar to the serialosc python script, but not actually talking to to a serial device, instead sending / responding to OSC messages based on a separate command stream (console IO, additional UDP port, GUI, i dunno.)

i’d be a little surprised no one has made something like this already. the serialosc code itself is pretty simple, non-monome-specific tricky bits are taken care of by pyOSC and pyBonjour libraries

i’m sure you could do the same stuff in node pretty easily.

hey @zebra thanks for your reply.

I’m using a node-js module that already deal with recognising the device and all that jazz for me, i just would actually need something that simulates the device being connected to USB and then have a UI to press the buttons ( i think that is what you up to? ).

Anyway for now i’ll take this route, the app will work by itself and when you connect the monome it just “assumes the state”, i pretty much like this behaviour, which as i said is the same as the white whale ( and probably the other modules too ).

regarding node.js + bonjour i found this: https://github.com/agnat/node_mdns pretty amazing.

I had originally withdrawn my response a few days ago for lack of understanding, but I think the request makes sense: it seems like it might be pretty achievable to make an iPad monome interface, co-opting serialosc into something usable by TouchOSC or Lemur to push and receive messages over USB into existing monome apps.

this kind of $300 multifunction portability (vs carrying an $800 monome for on the go jams) would open up tons of productivity for the iPad-owning members of our community.

1 Like

@hems

I’m using a node-js module that already deal with recognising the device and all that jazz for me

ok, well what is that?
still assuming that your app is just speaking OSC.

so to emulate a device connection, send your app /serialosc/add s <id> where s is the device type. monome osc reference

as @dan_derks says, GUI could be a TouchOSC app.
make a multi-push or multitoggle control ( guess), with “local feedback” turned off.

and then on your host, make a little bridge program that converts between touchosc formatted messages, and monome formatted messages. e.g. on receiving /multitoggle/1/1 0 from touchosc, send /grid/key 1 1 0.

the only wrinkle i see is that in touchOSC, if i understand correctly, the state that a control sends is always coupled to its visible state, even with ‘local feedback’ turned off… so the bridge might need to keep track of two different state models and make adjustments.

the bridge program could be made using pyOSC, node-osc, liblo, JUCE, max, pd, or whatever you like.

1 Like

iiiiiiinteresting. decoupled lights ftw.

if it helps at all, you can run Pd vanilla patches on the iPad using MobMuPlat very cleanly. might be a cool side project to port over some classic monome apps over to this platform.

I’m here to test anything that gets thrown around – very invested in this idea, though lacking code knowledge.

Did any of you have any luck with this? Was just wondering the same thing (actually just posted about it before I saw this.)