[sharing] sub_div external
Hi Max community,
Here is my first Max external, its a type of count object built for objects like [live.grid], [multislider] etc. It allows you to switch between subdivisions of your programmed beats, so you could for example reduce your hi-hats from 16ths to 8ths and keep your beat pattern playing as was. Im really new to coding (started last week) so Im really open to creative criticism and would really appreciate any feedback.
I have applied some better logic to the counting system, allowing for the sub division changes to happen on beat, rather than having to wait till the beginning of a bar.
Lee, it is allways great when somebody develops usefull stuff for Max, thank You !
"your subdivisions need to be whole divisions
of your max division, i,e max 8 would have
subs of 4 2 and 1, max six would have 3 2 and 1
and so on. "
Maybe You could make auto correction if the set subdivisions don’t match.
Just a tought.
Hi Source Audio,
Thanks for your kind words and input idea, I’ve been thinking about trying to include a Euclid algorithm in for that very problem, but as I’m extremely new to programming Im a little scared by it. But I will make a start on that as soon as I get some free time.
Ive implemented a function that allows for non whole sub divisions, I looked at both this one and the euclid system and found this one landed on more useable counts.
I have deleted this external, until I understand the free function more
I understand what You are going through, asking what this subdivisions etc should mean and do.
Well, maybe a question would be, what would be so helpful, and not so easy done
with plane max objects, and external like the one You are developing could offer.
From my point of view, I think it goes in direction of step sequencer, and what could be really handy,
would be external, where You could set beat and number of beats as loop( or bar in traditional manner),
and then divide the loop into other free divisions.
like 10 or 15 beats, presented with multislider, but each multislider value should be able to trigger
click or bang.
The concept of Polyrhythm could mean either dividing length of time into different slices,
or dividing a beat (a portion) of the time length into several divisions, and running them
And whatever You decide at the end, will for sure be usefull, for one or the other concept.
I do have a few ideas of other externals I want to build, but as Im so new to programming the ideas I have are a bit above my post. The reason I took this external down is I don’t understand the free function (destruct)in the C coding whilst building externals. Ive read into it a bit and believe it is for freeing up any memory that has been allocated to your object on it construction (or making the object in a patch). I believe it is only used when your external only uses other objects such as arrays and the likes and as this one only uses floats and ints I think it is fine with the main object destruct, but I want to make sure this is correct before uploading it again or uploading any more. Im going to buy a book on developing max externals soon, hopefully that will have information about this matter, or if anyone could answer this here that would be great. Ill start a new post asking if anyone knows
Do you have any experience at all with building externals for max?
No, I never built external from the scratch, die some in the past, modifying existing sources
to my needs, but that was in max 4 time.
Forums > MaxMSP