Max and Node.js event starting in 45 min! https://www.eventbrite.co.uk/e/max-and-nodejs-age-of-javascript-tickets-107100562666

1 Like

Just getting started in max, and beginning by trying to build a little i2c suite to fascinate personalized midi control in my Modular.

Got some basic questions, I’m Bringing in multiple midi channels, and wanted to be able to shift the by changing a number, not the whole midiselect tool.

Currently, my voices midi channel is selected via an object reading as;

Midiselect @note all @ch 1

I would like to be able to change channel # to whatever channel by scrolling through numbers 1-16. I’m sure it’s pretty simple to have an input variable, just can’t quickly find it online. Any tips?

hey hey!

you’re right on with the attribute declaration – you can also adjust an object’s attributes by sending messages to that object. since messages can be formatted dynamically using $1, this allows us to set attributes dynamically.

for example, from midiselect's help file, we know that sending a message ch 1 3 4 to midiselect's inlet will select channels 1, 3 and 4:

so, we can use ch $1 inside of a message to pass an incoming number to the ch attribute:

and that should allow us to dynamically set the channel for midiselect :slight_smile:

5 Likes

Awesome! This will help me create a few sets of tools now to change settings simply. Thanks!!

1 Like

I’m looking for a little help or advice on how to turn a Max patch into a Max4live patch.

I built something so I can midi control the GRM Player using a Faderfox SC4. To be honest I don’t know what I’m doing and totally winged it but it works. It’s using OSC, I just referenced the messages from the manual and hooked them up to faders and fumbled around with values till it all worked

I’d love to get this into Ableton so I can some modulation going.

2 Likes

This looks awesome! Do you have any specific questions? I’d be happy to help.

This is a great resource to get started:

4 Likes

Thanks for sharing the PDF. I think I’m putting off the inevitable time investment to learn at the moment. I guess I was interested in getting an idea of whether it’s straight forward or requires a lot of learning. I’ll say I’m like an expert hacker of things but by no means capable :slightly_smiling_face:

I’m happy to share what I’ve done if you want to hack it around. The GRM player is free and a hidden gem, it sounds amazing for repitching and micro looping. Worth checking out on its own.

1 Like

One of the cool things about M4L devices is the depth you go into it is really up to you. In this example, you could have your “Spring Delay Mapped” sub-patcher just pop out and float like a VST. Then the only “new” work you’d need to do would be to make sure your dials can be mapped to live with live.dials and that the audio input and output are wired up to the plugin~ and plugout~objects.

This is the default/empty Max Audio Effect. As you can see, nothing crazy going on here. The midi one is similar.

Screen Shot 2020-07-21 at 15.09.33

Certainly, there are plenty of gotchas, best practices, and nuances to discover. But it is surprisingly low effort to get a patch ported over to M4L.

I’m happy to look at any of your work and offer feedback.

2 Likes

Sorry for what might be a dumb q here, but does what you’re saying here mean that it would be possible (and maybe even kinda easy?) to port individual ppooll acts from Max to m4l?

Ok, interesting thanks. I think that my quandary will be how to map the values from the current sliders into live.dials. The values I arrived at are completely trial and error, tweaking and seeing how it responds in GRM Player, they do work for my needs anyway.

It would be great if you could have a look and offer any further help, hopefully you can make use of it too there’s a lot of potential in it.

Here’s a link to a project folder that’s also got a copt of GRM Player in there. I also translated the manual from French to English, I could send that if it’s helpful.

1 Like

Thanks for posting this. The GRM player may be very useful for a (now) online class I’m delivering in a few months.

That would be very helpful if you could! I’m finding a few things that seem to not be working as expected…

Porting your live.dials over should be as simple as this! I assume these are what you mean by “sliders”? I didn’t see any actual slider objects in here.

It’s actually in the folder GRM-Player Goodies/Documentation/GRM-Player.fr.en.pdf

and yes, functionality takes some getting used to I think partly because it was designed primarily for touch screens.

2 Likes

Ok, I can do that. I think I just need to roll my sleeves up and get going with it. May well be asking a few more questions along the way though.

Thanks for the input.

1 Like

I just took a look at ppooll. This is wild. I have no idea what’s going on here! I tried to edit some of the individual acts and it looks like this would fall into the “possible but probably not easy” category. These are really sophisticated patches with lots of intricate interdependencies and such. It also makes extensive use of abstractions and other shared resources. Based on my 5 min analysis, if I wanted to get ppooll into M4L I’d probably start a new project from scratch.

1 Like

Yep! Just start by opening live, dragging a new M4L device onto a track, and click the edit button. Then start copy and pasting stuff over.

Also, save your current patch as a backup/reference (i.e. don’t start by renaming it .amxd - that works but you’ll want your original).

1 Like

Hey this is working! Just did a select all copy paste and tried to map the values to a live.dial as a test.

This is distracting me from my actual work though.

1 Like

Art fuels life. Not the other way around!

ppooll is indeed pretty wild. I’m pretty happy with the myriad of modulation options available in m4l. The one act that I always go to ppooll for is gg.rainer. There is no other granular option that I know of that gets the same musical results as gg.rainer (at least not as quickly).

3 Likes

How do I hide these cables so they don’t appear in Ableton?