I guess I missed that, is it in the docs? More studying immediately ahead! Is that the duration parameter in the dual m4l device? I tried playing with that a little…

EDIT: I figured it out, and it IS the Attack and Decay parameters in the ^^dual device. Cool!

I also had some fun playing with the Slew and the Base parameters, pointing a m4l lfo at Base for some crazy atonality…

1 Like

Coming soon to a crow package near u…

image

22 Likes

Do some of these objects make it possible to address multiple crow devices simultaneously?

Either way
this is insanely detailed and useful

1 Like

Not specifically… don’t know if it is possible to have two crows connected to Max simultaneously… I’ve never tried (only have the one!)… if they show up as two separate devices in the serial list, then you could have two different [crow] objects, one connected to each of your crows via the connection dropdown menu… then sending the same message to both objects would be sufficient for simultaneously addressing them… but I have no idea if two crows will actually show up as two separate devices in the device dropdown list for crow!

@dan_derks

1 Like

awesome

that’s pretty much the intent behind my question (which could have been worded more clearly)

can max talk to two crow that are plugged in at the same time? seems yes, i’ll be able to test soon and report back

“nb. (pt 2) currently only one crow is addressable at a time. Multi-crow support will be added in the future.”

From https://github.com/monome/crow-max-and-m4l

EDIT: I am looking forward to this. I recall something where Dan said he had developed this but decided to focus on the single Crow implementation because it made it more complex (paraphrasing from poor memory, but something along those lines…) IIRC, he also said that if folks were interested in running more than one Crow with M4L, to email him, but again, my memory may be corrupted…

1 Like

That is specifically in re: the ^^command_center

A single [crow] object definitely cannot talk to two crows currently.

However I am wondering if two crows are connected, can separate [crow] objects can be used to connect each one of them…

Looking forward to hearing what u report @glia

1 Like

Ah, good point. I am also curious about this…

Clearly multiple Crow modules would be a brilliant way to get a lot of connectivity to Ableton…

1 Like

yeah, this was a design choice – basically, I was trying to consider what would be easiest to recall upon load.

right now, a saved Live set with a bunch of crow devices just needs you to select the hardware crow to send messages to. previously, I outfitted each device with its own dropdown, but that led to a few problems:
- if you instantiate two [crow] objects and have them both transmit to the same crow hardware, you get dropped messages + general lag
- even if we could address that, this approach meant identifying your crow up to like, 9 times every time you opened a saved Live set.

the ^^command_center approach seemed like the best way to handle the launch, where most folks would be using only one hardware crow but a lot of m4l devices. I originally wanted to use --- prefixes to help route traffic to multiple ^^command_centers (and multiple crow hardware), but these are the challenges I ran into:
- --- prefixes increment as long as Live is open, not with each new set load, which means the counter resets back to 001 only when the program closes. so, let’s say you open a Live set with two sets of ---^^command_center: if this is the first thing you do in Live then you’ll have 001^^command_center and 002^^command_center. dope! but…
- to avoid you having to choose which one every time you load a set, I’d like you to be able to save this identifier. let’s say you save a Live set specifying that each of your m4l devices talks to 001^^command_center and 002^^command_center. but if you have already opened a Live set that uses --- prefixes, then Live will auto assign 003 and 004 to these devices, since it increments agnostic of your intent. this means your loaded set will be sending messages to ^^command_centers that don’t exist. so you’d have to close Live each time you wanted to switch sets :confused:

that said, here’s where I think I’ll go:
- decide on an arbitrary cap of 3 crow hardware maximum
- hard-code unique identifiers and bundle 3 different ID’d versions of the m4l suite, let’s say 1[name of device]
- allow a multi-hardware user to instantiate 1^^outs, 2^^outs, 3^^outs to talk to 1^^command_center, 2^^command_center, 3^^command_center (for example)
- single-hardware users will just instantiate as normal

I hope this makes sense? plz send objectivity!

sam solved it below! I’ll get this folded in tonight

2 Likes

why not an approach like this?
image

2 Likes

Conceptually:

Each M4L device has a “command center address” [live.numbox] (or your other favorite [live.] UI object) which specifies which command center to talk to. Each command center has an address number box. Addresses default to 1.

every command that goes to a command center is prepended with an address which specifies which command center to talk to. All command centers receive all commands, but ignore commands addressed to other command centers, only passing commands which match its index onto its internal crow connection.

4 Likes

oh. duh. yeah, this is wicked easy + straightforward. thanks sam!!

3 Likes

I’d recommend enabling parameter mode on the index selector for a trip to wonky town :sunglasses:

1 Like

Here’s a bit of audio from this afternoon.

Ableton sequence #1 -> ^^jf_synth -> Crow -> i2c -> JF in sound/transient mode. JF v/8 time, run, intone and curve being wiggled by various stuff (maths, stages, batumi, Pittsburgh Bender). Plus some hand wiggling… This is the stuff that is a little reminiscent of some Elliot Sharp I’ve heard… Not as over the top, but fun…

Ableton sequence #2 -> ^^dual -> Crow out1 -> cv -> Mangrove 1 -> Optomix ch. 1 struck by gate from Crow out2…

Ableton sequence #3 -> ^^dual -> Crow out3 -> cv -> Mangrove 2 -> Optomix ch. 2 struck by gate from Crow out4

The sequences are short, so it’s a bit repetitive, but I kind of like where it’s going…

4 Likes

max for live device walkthrough: https://youtu.be/dKMO1Vg0heA

6 Likes

Omg I literally just remembered. Sigh. Hope it went good and hope to catch the rerun. Thanks for doing this!

1 Like

That was really fun. Thank you dan !!

2 Likes

Yes, thanks Dan! Really helpful!

1 Like

thanks Dan! that was wonderful

2 Likes

livestreams are a good idea and we should do more

6 Likes