Hi @Galapagoose. Thanks for the reply.
When crow connects to norns, we ‘reset’ the crow virtual machine, stopping any currently running script. This is by design, and was implemented a while back because it became very confusing to people when they tried to run a norns script with crow integration and it was partially still doing the ‘crow-script’ thing, plus whatever the norns script added on top.
I mentioned that crow did this when Norns usb was connected because in my brain it seems like as long as Crow has that usb connection it is in a “Norns” mode and so far I haven’t been able to get crow to run it’s “memory script” when in “Norns” mode.
We don’t clear the script on crow when connecting to norns, simply deactivating it instead. That script is still available though, hence my suggestion of simply running crow.send “init()” which tells crow to run it’s internal init() function that the crow script should define.
Yes yes, now if we can reactivate it as easy from Norns! So far the crow.send “init()” hasn’t fully gotten there for me.
One thing to note, whenever you load a new norns script, the crow environment is reset. This means you could have a script that just executes the above line, but as soon as you reload another script to have norns do anything, it will disable crow again.
I guess what I would do then is initialize Crow’s “memory script” then simply unplug Crow from Norns. That way Crow would be doing it’s internal script and I could then select a Norns script without any issue.
Now that I think about that, if simply unplugging the usb connection between Crow and Norns could re-initialize Crow that would work fine for me.
From your message it sounds like the above is not working correctly, but I’m having a hard time understand what is happening vs what you’re expecting. If you could run through what happens on crow before you attach it norns, then when you connect to norns, and again when you run the crow.send “init()” command. If you could post the crow script you’re using that’d be super helpful too. I looked at Cyrene and nothing in there suggests it would break this functionality.
Yes I used Cyrene in the example because I have been using it a lot lately so I wanted to see if I could go from that script running to initializing Crow easily.
So to try and keep this clear, when I run the crow.send “init()” script, Crow “resets”. Which is to say it stops outputting any script on it’s outputs, but it does continue to output Norns clock signal (on output 4). This happens regardless of running it while having a Norns script running or from “none”. Does that make sense? So Crow just doesn’t go that extra step to running it’s “memory script” it seems.
Now as far as before I attach Norns to Crow; lately I power up the rig all together. Crow powers on with a usb connection to Norns and is in “Norns mode”. If I power up Crow without a usb connection to Norns, Crow plays it’s “memory script”.
The current script I have on Crow is: 0-ctrl crow.lua (426 Bytes)