^^ crow help: max and max for live

finally diving into crow/max programming after some life curveballs

I’m having no issues sending commands to ii devices, but I’m also interested in getting information back from them, and I seem to be having trouble with this.

for example, if I tell_crow ii.kria.help() I get back a list of all the commands and such. tell_crow ii.kria.scale(2) (or whatever number) changes the scale accordingly on Kria. But if I try tell_crow "ii.kria.get( 'scale' )" as stylized in the printout from kria.help(), I’m not getting anything back from crow. I don’t get any string evaluation errors which is promising, but getting nothing in return makes me think I’m missing something here.

really stoked for what you build! your max patches have been very inspiring.

i thiiiiink getters are getting fixed in the coming update (there’s a beta release on the crow github if you’re feeling curious) — not at my synth at the moment, but if you can confirm that the commands also don’t return anything in druid then that’ll rule out max troubles.

woop, @voidstar has it. sorry for confusing the convo!

1 Like

Getters don’t return anything. They initiate a query; a callback occurs when the data is returned from the queried device. You have to define what happens to the asynchronously returned data within the corresponding device’s callback event. You can pass the data into max with a print.

2 Likes

@ellips_s @voidstar
To clarify, by default, ii.kria.get('scale') queries do print a message to the usb port. This is in the form ^^ii.kria('scale', <number> ). This is true for all ii getters.

The reason these might not be appearing in your max patch, is because any message from crow preceeded with ^^ gets sent out the first outlet (and typically into a [route] object). Try printing the rightmost [route] outlet and you should see the responses.

@dan_derks ii getters have been working in general (since launch!). It’s just that Just Friends hadn’t implemented them on the JF side.

2 Likes

apologies for misrepresenting + misunderstanding!

Im running kria on ansible into crow to play ableton midi instruments with cv-note and ableton is one step behind kria. The trigger must be happening before the cv note is updated? Is there a way to sync kria and ableton?

paging @Lervais, you feeling good about sharing more about the device you made?

1 Like

Thanks @dan_derks, The kria_command device is awesome and Ive got it working with the transport controls, I can start and stop ableton and kria listens when teletype clocking is enabled. But still the grid sequence is one step ahead of ableton, is this your experience as well @Lervais ?

Reseting my transport in ableton to 1. 1. 1 sets the grid to the second note in the sequence, not the beginning. So i tried using teletype to KR.RES 0 0 and instead of setting the grid back to the first note in kria it actually jumps it to the very last note in the sequence.

1 Like

Bizzare! Maybe worth mentioning that kria_command resets all parameters of kria when the ableton transport is stopped (so it has to be playing first), the playhead location shouldn’t make any difference.

Your issue goes beyond my understanding of kria, but the fact that TT clocking is also misaligned might enable an easier diagnosis. Maybe something is up with how your ansible is reading i2c messages? I wonder if anyone else has had similar issues with kria_control?

Strange indeed, Ive now lost any CV pitch via i2c from kria, teletype polls 0 and jf only responds to triggers. Might be a conflict of teletype and crow both talking to ansible at the same time? Can’t figure out how to get it back, power cycling doesnt help, will reflash the firmware.

Hello! Finally set up Live talking to Crow last night. Thank you @dan_derks for all the work on this!

I am wondering if anyone else is seeing drops in communication to Crow while doing other Live operations. I am currently running one instance of jf_synth and one of outs, just sending a clock. I find if I try to load short clips into audio tracks, Crow will often (but not always) stall. Experientially, it ‘feels’ like Live is loading the clip into memory, and once it’s done with that, Crow continues where it left off.

hey Tim! so glad to hear you’re digging in! thank you for the kind words + also @voidstar did some excellent work on the toolkit :slight_smile:

w/r/t timing when performing other operations in Live, this is covered upthread:

being able to force jit.gl.lua events into the high priority queue is on Cycling’s roadmap, but it’s not ready yet – lmk if you run into any other troubles tho!

1 Like

Apologies! I read some of that, but didn’t fully understand or process it, and since some of the discussion was within the context of Jitter, and I saw gl, I made the bad association that this specifically related to Crow in the context of Jitter and video/graphic uses of Crow (which in retrospect, not sure exactly what I was thinking…possibly CV inputs into Jitter patches?)

If I really need the timing, I’ll try the experimental command_center. Just wanted to make sure I wasn’t doing anything wrong w/r/t to the m4l tools or Ableton configuration or such.

Thanks for answering!

1 Like

oh, that makes total sense! yeah, the main code structure of the crow object is in lua and handled by jit.gl.lua — all messages that pass in and out of the crow object are pushed into the low priority queue as a necessity, so when a higher priority event in Live happens then the crow messages are briefly bottlenecked. it’s a structural thing, but lmk if you end up using the experimental version and i can wrap that up in a

2 Likes

I posted a while ago in this thread asking about porting @Galapagoose’s boids script for Crow into Max. I ended up rewriting the Lua code in ChucK instead since it let me do a more direct translation and ChucK has timing elements built in. In case anyone is interested, here is the ChucK version and a simple OSC interface to connect to it in Max. Thank you @voidstar for pointing me in the right direction!

You’ll need to run the ChucK patch in miniAudicle. I have the boids running fairly slowly for stability, but you can easily adjust that with the timing variable in the ChucK patch.

Boids in Chuck.ck (4.1 KB) Boids Max Interface.maxpat (41.8 KB)

3 Likes

Please help !!!
My crow crashes more than a drunk Driver on New Year’s Day that’s texting !!!
And it’s really warm when running,
especially if not hooked up to usb?
I purchased it right when it came out,
Is there an update to fix this my problem is especially apparent when using Ableton
Thank you

hi paul – the m4l devices as well as crow’s direct firmware have just been updated! please let us know how it goes thru help@monome.org

[closing this thread as much of the help required was related to a new + massive fix that was just implemented!]

new thread:

3 Likes