Adding a preset object to my 'transport' object based patch
I've created a patch which uses the Transport object in order to play different drum rhythms.
Was wondering if anyone could help me figure out how to add a preset object in so that I can select between different rhythms?
Patch added in this post if anyone would be so kind as to help!
Cheers!
Transport should just be able to understand bpm and time signature. Just make message and number boxes. Eg. Prepend tempo. Plug a float into that. Connect that float to preset and store your settings
Hi thanks for response! I think I know what you mean but I've got different metro and timepoint objects representing a different drum hit, Eg a snare for example.
I want to save all those as one preset, as though it's one type of specified rhythm and then click the next preset button to change the rhythm.
If you look at my patch I posted in the other post above it could help?
Cheers!
Well your basically looking at making a sequencer (not my strongest point yet in Max).
You can check the max for live objects. livestep.
Heres a basic patch showing how you can use Phasor to drive a whole timing system combined with rate to get different rates.
Using so many metros and ezdac units isn't necessary.
I'm sure you can find a good sequencer example on the forum somewhere.
Hope this helps.
Thanks mate! yeah that's excellent really appreciate the help, I've used max a fair bit with uni but still not that competent yet!
I'll have a play around with that try and get some presets loaded for different rhythms.
I forgot to mention that It's for my final year project, and It's supposed to be educational so I'll test people so they hear the rhythm being played and then guess which tempo it is at, along with the time signature, that's why I needed the presets.
I was intending to create a 'question' and 'answer' based system with that idea in mind using the '==' object to compare against the right answer (tempo etc) and then give a resulting yes or no or something.
I don't know if that's something that's easily doable or not?
Thanks again!
just get the tempo number and put it into some == objects
eg == 120. would mean that if the tempo == 120 then give a bang.
You might want to use the round object to round off a number or limit the possible bpms to a couple of numbers and keep it simple.or just only use INT instead of float for the tempo.
You can also use vexpr to test if someones close to the bpm
eg.
vexpr if($f1 > 120.) || ($f1 < 130.) then 1 else 0
if tempo is between 120-130 output a 1 else 0