Atom druid : livecoding crow with atom

Atom Druid

Now available on the atom package repository, let me know how it works for you!


Hi!
I started working on a atom editor plugin for crow, to have integrated livecoding functionality.

I’m thinking of doing something similar to other livecoding plugin (start,stop,evaluate line,evaluate selection).

As I have some good amount of time I’m confident I can get this done in the following weeks, but I would like to know if anyone has done it already (would be silly to duplicate work :smiley: ), and if there’s any feature you’d be interested in for this.

20 Likes

This would be great! You probably want to look at druid and potentially crow.js for some ideas of how to handle the serial connection. I’d love to have this kind of functionality built into the editor!

I think the main difficulty is that crow runs asynchronously to the computer - this makes it potentially difficult to say “execute this line of code” and then know the next thing you capture is the response to that command (eg. crow could be sending data for some other reason). That said, even if it had some limitations in that direction, it’d still be really useful!

2 Likes

Oh I didn’t know about crow.js, that will make it easier to get a first version out quickly!

I didn’t really think about that difficulty to be honest, but if I can get the same thing I use druid for (sending commands, running scripts), that’s good enough for me (until it’s not and I need a v2)

1 Like

First very rough version is there, look on first post

There’s a few things that needs to be done to make this shippable like a proper extension, but I managed to get it to work and send some lua to crow.

I’ll need to do testing across devices and OS, and give feedback to the user (right now there’s a few crude console.log).

2 Likes

Published version is there, look on first post

Now available on the atom package repository, let me know how it works for you!

1 Like

Very cool, thank you @electret!

I’m surprised there’s no feedback yet - I figured Crow users would be all over this? - so I’ll at least do my part in chiming in. I installed the package, made sure I was getting the “crow connected” message in druid on a separate terminal window, and then tried the various options on different typed-out lines - eval, reboot druid, boot druid, eval multi-line - but there was no perceivable result, Crow didn’t follow the lua lines, and no messages appeared in the console. I don’t know enough about Atom to troubleshoot or perform the recommended fixes (rebuilding serialport, etc.), so I’m holding off until the next iteration, unless you have any suggestions!

By the way, just curious - what do you see as the major benefits of livecoding in Atom, as compared to livecoding in druid? I have some ideas of what appeals to me (color-coded syntax, most obviously?) but want to get a better understanding.

1 Like

Thanks for the feedback :slight_smile: First thing, if druid is open in a terminal, atom-druid can’t connect to crow (only one connection at a time). I still have to make connection/eval success/error visible in atom, that will be useful to indicate why things don’t work. Also, which OS are you using?

Main benefit I see for me is that I could have a workflow similar to how I use tidalcycles: being able to pre-save lots of tiny scripts that I can run and modify bits by bit.

2 Likes

Ah, good to know! I will experiment with running atom-druid without druid being open in a terminal. I’m using Mac OS 10.14.6.

That does seem like a huge benefit!

Hm, trying without druid running concurrently, and it’s still not working unfortunately.