Thanks for your help. We've received your bug report.

Mr Matrix – Draggable FX routing system.


UPDATED 24th March 2013 – FX box position can now be used to modulate FX – This is massively fun BTW! Download V3 below.

I was teaching the other day and one of my students had this patch with lots of effects in it. They were all routed to a central matrix~ object. It was really powerful but let down by the fact that controlling the matrix~ can be quite confusing esp when performing live. Personally I don’t like having to think in rows and columns when I just want to put the delay after the gate instead of before it.

Today I made a first step towards solving this problem and Mr Matrix was born, have a look at the attached patch and hopefully it will be pretty self explanatory. Basically you define your FX blocks, they appear in a GUI and you can drag them around to re-order or remove them from the signal chain. I’ve included some very basic FX for you to demo but the intention is you’ll fill up Mr Matrix with your own creations.

Have fun and let me know how you get on….

Video Here:


Mr Matrix by Leafcutter John is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at

Mr Matrix – Draggable FX routing system.

Feb 19, 2013 at 12:26am

This is so good, awesome work! Dyou reckon it would be possible to create a way to add and subtract as many FX modules as you wanted?

Feb 19, 2013 at 2:23pm

yes it would but might require scripting to add/remove send/receive pairs and FX blocks.

Feb 21, 2013 at 12:16am

Cool, if you ever give it a go I’d love to know – this is one of the main issues with my fx chains in max, that they can’t be re-ordered, and that it interrupts audio everytime a new effect is added. I’d love to see your idea develop – but even as it is, I’m gonna play with it in live performance with my own effects loaded up, should be awesome

Mar 18, 2013 at 8:45am

Hi again,

the matrix ramp time doesn’t seem to be working – any idea why?

Mar 18, 2013 at 8:52am

It works fine here.

Mar 23, 2013 at 11:39pm

I fixed it – for some reason the “@ramp 50″ arguments in the matrix~ objects were overriding any new ramp values – once I deleted them it was fine. Just thought I’d post here in case anyone else has the same problem

Mar 23, 2013 at 11:41pm

Is there a simple way to access the x-y coordinates for each FX box, so they could be mapped to FX parameters?

Mar 24, 2013 at 6:59am

Hi Al, Yes it’s really easy to get the coordinates they live inside a coll. I’ve updated the patch to make this visible and I’ve made simple mapping between the FX box position and certain FX parameters – I’m shocked how much fun it is to play with. Don’t download the updated patch unless you have at least 20mins to play wit it! Have fun……

Mar 26, 2013 at 3:18pm

Thanks John, that’s amazing, great work! I made some custom effects for it and integrated it into a performance patch, it works beautifully

Apr 2, 2013 at 11:41am

Thanks so much so posting this! I’m new to max and the more patches I can study the better!

Apr 3, 2013 at 2:21am

Great Al, do you feel like sharing your effects for the next release? I’ve made a new version where you can add effects by loading them into poly objects. The matrix has also been scripted so its fully automatic.

May 20, 2013 at 4:27am

Thaaaaaannnnnkkkkk YYYYOOOUUUUUU!!!

Mar 11, 2014 at 5:59pm

This is really great! Thank you so much for sharing it!


You must be logged in to reply to this topic.