from the faq u linked above : P “A Slope Language” but also “think a/s/l”

2 Likes

Hahaha ok oops that answer was very obvious :stuck_out_tongue:

1 Like

I’m experiencing some issues with my crow…:frowning:
There seems to be a problem with the usb connection. I’ve tried to connect it to 3 different computers (2 windows, 1 apple). None of them recognise it… I’ve flashed the firmware (had to force it ) & that worked, so there seems to be some kind of connection through usb…

This can happen when crow has a bad user script that crashes the module saved on it. Try forcing the bootloader again and running the erase_userscript command in the firmware zip.

Thanks :pray: that worked!

@Galapagoose I was able to run jfs.lua from the 2nd to last Maps (episode?) as of last night, but I just flashed JF with the most recent v3.1.2and lost the ability to run any of my usual crow commands or even Awake on Norns using crow ii JF output option.

JF update behaved according to definition of success in the instructions
Crow is updated to latest 1.0.3
Norns is updated to latest 200424
ii.jf.trigger(1,1) is my go to tester for crow > jf and no dice.
I erased user script beforehand, ran ii.jf.mode(1) and have JF set to sound/transient

Any suggestions? Am I just caught in between compatible versions? I heard you mention a few more on the way…

Thanks in advance!

I don’t really have any suggestions I’m afraid. There is no version compatibility issue. Just Friends 3.1.2 is the firmware version I built & tested crow with, so they are absolutely compatible. Must be something else going on…

Also, you shouldn’t need ii.jf.mode(1) to confirm the i2c link is working, just ii.jf.trigger(1,1) should be enough in shape/transient mode.

wasn’t really sure of the best thread for this scripting question, but I just wanted to ask, what would be the preferred way to write to a file from a druid script? I would be fine if said file was the druid.log one that pops up sometimes, or a new file my script creates. found this lua file i/o stuff https://www.tutorialspoint.com/lua/lua_file_io.htm, but figured I’d ask if there are any gotchas or tricks I should be aware of that you have come across @Galapagoose . I’m thinking there could potentially be weirdness, and I don’t want the script to fail if it’s not connected to a computer or if it can’t find the file/doesn’t have permission to write to the file, etc.

use case:
on my sequencer, when I randomize, I want to be able to save the contents of the relevant variables so that I can recall them, and paste them into the script. I wrote a thing to print the tables out (so I can see them in the druid console), but I’m having trouble getting mouse selection for copy/pasting from druid (both iTerm and the vscode terminal). But really, a file would be preferred, so I have a running history of all the previous voices and can recall when I want to.

2 Likes

On Norns you can do this sort of thing:

file = io.open('./crow.txt', 'a')
crow.receive = function (v) file:write(v .. '\n') end
crow.send('print(123); print(456)')
file:close()

and get all crow’s output appended to crow.txt. You may also wish to have your crow.receive function print('crow: ' .. v) as the default handler does so that your crow output also gets echoed by matron’s Lua environment.

In druid there is not (currently) any hosted Lua environment. This would probably be the most flexible thing, though you would need some way of differentiating code that runs host-side from code that’s sent to crow. Mouse selection in druid seems to be terminal dependent, this does work okay for me on Windows using either cmd or “git bash” (MSYS2). Not sure if there is something else we need to do to deal with this in general, I recall seeing an issue that this is also broken in GNOME terminal.

2 Likes

There’s not a way to “pipe” or otherwise send Druid’s output to a file rather than standard out is there? I vaguely remember doing something like that in school, but those programs just printed to the console, Druid is more complex as it sort of takes over the windowing of the terminal and stuff

Yeah, druid definitely wants to control the whole console, so you can’t exactly use stdout. It would be fairly straightforward to add a command line option to druid which writes crow’s output to a specified file. I suspect that there is also some sneaky OS level way to accomplish this sort of thing by wrapping the crow /dev/ttyXXX device in some other program, but I don’t know it.

Hi. I read quite a lot about crow but I didn’t see this answered yet.

Is it possible to address multiple crows from druid, or are we limited to having a single one connected at a time while programming? Also, can multiple crows co-exist on the ii bus? Can you have druid talk to your alpha crow and she can talk to the other crows? If you’d like a murder of crows, how big of a flock is possible?

2 Likes

Simple meta-noob question : How do I change the scales in the quantizer.lua script?

I found how to transpose (in the code), but I can’t figure out where / how to change the default octaves quantization that I get on every output. I’m up to date with Crows in 1.0.3 and Druid in 3.8 and I use Sublime Text to modify the code. I’m impress how I can navigate through the codes of the other scripts, but the quantizer.lua one is a mystery that cost me a big chunk of my night.

I feel like I climbed multiple mountains as confirmed non coder, but still unable to peel a banana or tie my showlaces.

Thanks for your help!

1 Like

Are you trying to change scales? Try here: https://github.com/monome/norns/blob/dev/lua/lib/musicutil.lua

Should be able to copy paste these.

You want to add new scales, in the form:

dorian = {0,2,3,5,7,9,10,12}
1 Like

From what I’ve seen it’s in development but not there yet. I haven’t looked at the GitHub in awhile so it might be worth checking there for a better sense of where things are at. I could be out of the loop.

Thank you for the reference page, it will be a nice addition to the code source.

I see this in the code source

Capture d’écran 2020-05-17 à 17.09.55

I tried to re-assign scale1/2/3 but I’m always stuck in an octave variation of my input… nothing else.

Am I supposed to paste something like “scale1 = minor” or “scale1 = {0,2,3,5,7,8,10,12}” in Druid? If it’s the case, it’s not doing anything.

Thanks again.

I think you would just do somthing like this? and then just save the script and reload:

your_new_scale = {0,1,2,3,4}

-- try re-assigning scale1/2/3 to change your quantizer!
scale1 = your_new_scale

That is exactly what I was thinking, in vain.

I tried this first, then saved and reloaded

Capture d’écran 2020-05-17 à 21.11.23

And then this, just in case it was that obvious

Capture d’écran 2020-05-17 à 21.14.13

Without success.

I will look around to see if there is another version of the code as this one is clearly stuck in octaves, but at the same time it’s straight from the Bowery Github… so I doubt it will change anything.

:man_shrugging:

Thanks a bunch @Oootini for helping me.

I think you’re probably getting a bit mixed up between the scale tables, for example,

majorTriad = {0,4,7,12}

and the scale name variables that are used to set the scales used in the script,

scale1 = majorTriad

So you add your scale tables to the script, and then set the scale1, scale2, scale3 variables to match the names of the new scale tables.

Hi, I’ve been running Crow and Druid without any issues but for some reason now I cannot connect to crow. I’ve tried different cables and different USB ports but still get the same “crow disconnected” when Druid opens. The last thing I was doing was running Trents scripts from his Fridays tutorial.

Are there any other things I should try?