Hi i am trying these with windows 10 and i dont know if i need to install virtual COM ports or not
in ableton i loaded command center but i dont seem to be getting any communication

hmm. gonna tackle windows 10 installations on my own machine tomorrow, but do u have any COM ports in the drop down?

hi
i switched over to the mac to make sure i was not insane and it works with Max8/Ableton10 fine on the mac
i tested the i2c with JF as well

On Windows10 i installed a virtual port creator --vspd – not sure if that made it more complicated than it needed to be but yes i had COMS 4 and 6 but never any communication.
i can test whatever, let me know if i should ditch the virtual serial driver

i envisioned the mac doing most of the fun talking to crow stuff but i have a 2nd crow for my make noise Shared system that would be talking via windows 10 predominantly. let me know if i can help in any way.

The sync at least coming from ableton to JF is so nice

Update with Windows10 – did NOT need virtual port – i had 2 COM1 and COM3 crow installed as COM7
Ran Ableton Stuff first to no avail, ran max crow.help and crow sings

You should not need to install any virtual serial port stuff. It will show up as the next com port. For now, the auto connect method works like this (on Windows - for Mac, just substitute the word ā€œCOMā€ in the description below with ā€œusbmodemā€):

  1. crow must be connected to your computer before you instantiate the crow object in max or the command center in ableton in order for the autoconnect to work.
  2. it will try to autoconnect to the first com port it finds - so if you have a lower numbered com port active at instantiation, it will try to connect to that and fail. In this case, you will need to manually select the correct COM port for crow from the drop down menu.
  3. if you plug crow in after you instantiate the crow object (or command center), you will need to manually select the COM port since the autoconnection only happens on instantiation.

I have a design for remembering the correct COM port in max/Ableton to avoid problem 2 (and also to allow a single ableton session to remember which crow to connect to if multiple are connected). I don’t know when I will have time to work on it though - hopefully in the next week or two - real life is busy though :smile:

3 Likes

thanks for the help – i got it working in both O/s
i love the accuracy --so cool it’s crispy crows for sure
i ordered a second crow for my MakeNoise shared system and i am interested to see if i can get the shared System to clock ableton via CV/gate crow

Ok, I have spent a few days engrossed in introductory m4l courses/tutorials and this seems very manageable! Just a few questions:

  • Is it sufficient to send this message to the ^^command_center device with ā€œs commands_to_command_centerā€ or does the message need any further formatting / prefixes?
  • How should the first argument read if I want to reset all tracks simultaneously?
  • For clocking kria with ā€œcrow.ii.kria.clock( track )ā€ - does this message need to be sent repeatedly (ie 1 message = 1 clock step advance)?
  • Do I have to take any precautions when sending messages at the same time, or is all taken care of by the [better.zl.queue] subpatch in the ^^command_center device?

Please redirect me if this is the wrong thread for these questions! :cowboy_hat_face:

  • you should remove the crow. portion of the command, which is only included when controlling crow via norns: ii.kria.position(<args>) would be what you want if scripting directly on crow.
  • in max you need to prepend a command with the tell_crow message before sending it to the command center. The easiest way to do this is to pass your message through a [prepend] object whose argument is tell_crow. Also, you will also want to make sure your original command is wrapped up in quotes to turn it into a single symbol (this is especially important when dealing with commands that have commas in them, as yours will). the final message sent to the command center will look like this: tell_crow "ii.kria.position(track, param, pos)"
  • If you want to dynamically change the the track/parameter position (rather than having fixed message boxes) you will want to use [sprintf] with the symout option activated.
  • NB: forthcoming max package includes the [crow.function] object which will handle all the string formatting and prefixes for you, allowing you to pass arguments in as a max list for easy use. You can download the objects from the github.

Can’t help you with these questions sorry. Not an ansible owner!

1 Like

For loop, pos, clock, and reset Kria commands it should work to pass 0 as the track argument to mean ā€œall tracks at onceā€.

Yep, in this mode the track will only advance when it gets a ii message. Note that you also need to enable remote clocking of each track on the Kria side: on the Scale page, the first column of 4 keys in the top left corner toggles remote clocking for each track.

1 Like

Amazing! Thanks both of you for your help!

Edit: I wouldn’t have believed this was possible less than a week ago! It is sending all the desired messages, just needs testing with crow tomorrow:

36

10 Likes

Can i assume crow talks to ansible? can this be done in m4l too?

ayyyyy, this looks great! I’m so glad you were able to get this up and running! excited to see the finished device :slight_smile:

I’d love to hear more about this!

I have a Crow and an Ansible but no TT…

Wondering whether the Crow m4l devices have been updated to work with multiple Crows yet… There was some discussion about that a while back but on re-downloading the collection they don’t seem to be different than before…

I can definitely see some nice use cases for more than one Crow…

Edit for typos

apologies for the non-announcement! this was added a few weeks ago :slight_smile:

we’re still wrapping up some loose ends to keep in lockstep with new firmware, so I was gonna announce everything all in one go once that was completed. but the docs + devices are updated! if you don’t see the same results on your devices, it’s possible you still have the old ones linked in Live’s Places?

Thanks, good to know!

I’ll check on the Places placement…

If I only have one Crow will the devices look much the same as before?

all devices have been updated with the ā€œaddressā€ tab at the top of each device, which shows regardless of how many crows are connected. clicking into that will allow you to specify the address you gave to your ^^command_center:

image

all the devices default to address = 1, so while you don’t have to do anything if you only have one crow, you definitely should see the options.

I don’t recall seeing that box, so I’ll try to sort out what is going on. Thanks!

screenshot might be misleading – that box only shows up if the ā€œaddressā€ tab at the top of the device is highlighted. I wanted it to be unobtrusive, but perhaps it’s too subtle :sweat_smile:

1 Like

So I got the device working with ansible! But I had to use a different send/receive channel than commands_to_command_center for it to work. But no issues when I used a separate send/receive connection and added that to the ^^command_center device:

Maybe there is a more elegant way of doing this which doesnt involve altering the ^^command_center device?

Either way it does exactly what I wanted (starts and clocks kria when transport starts in ableton live and resets kria when live transport is stopped). The clocking is somewhat jittery but it works well for my purposes!

Thanks again for everyone’s help :slight_smile:

1 Like

Your issue was probably that you did not pretend an index - the message sent to the command center should start with an integer index (the address of which command center to talk to) before tell_crow:

1 tell_crow ā€˜<lua chunk>’

or

2 tell_crow ā€˜<lua chunk>’

(Or another higher address)

Sorry that part is only relevant to working with command center - should have mentioned it in my previous post.

1 Like