counter which i can tell the increments to count?

karl krach's icon

hi,
it's propably drop dead simple but i just can't get my head around it. i'm looking for a counter object (count up, down, reset,...) which i can tell the increments to add every time it counts, that is i.e. example that it would count like 4, 8, 12, 16... instead of always 1, 2, 3...
does something like this exist?

for info: the background is, that i'm trying to translate the playrate-info from a jit.qt.movie to a sequence of numbered matrices to play back in variable speed.

any help much appreciated!

Mériol Lehmann's icon

You could put a / 4 object after the first counter and another counter after the / object.

Brian Gruber's icon

just multiply the counter output by your increment.

Tim Lloyd's icon

You could just use counter as normal, and multiply the output by the increment you want. So if you want it to increment by 4 at a time, multiply the output by 4.

karl krach's icon

thanks very much for your quick answers but unfortunately it's not that simple in my case:

if i multiply the result by x my maximum count is multiplied too and as i'm reading out a buffer with a fixed number of videoframes this doesn't work.

in the second case (/4 then *4) the problem is, that the speed of counts (counts per time) gets lower resulting in video stuttering (only every 4. frame gets updated).
i need to put out my matrix at a steady 25 fps...

any ideas how to do this?

Luke Hall's icon

Can't you just [/ 4] the input to set the maximum count. This way things will even out over all.

lh

Chris Muir's icon

multiply by n, then run the output of the counter into clip.

karl krach's icon

no, none of these approaches this will do... i will try to explain:

as said, i'm trying to translate the playrate-info from a jit.qt.movie to a sequence of video frames stored as numbered matrices (jit.matrixset) to play back in variable speed.
my output is running at 25 fps and my maximum shuttle speed is 32x/-32x.

have a look at the patch below. it uses the /4-then-*4-approach and sort of works but there are two problems i need to fix:
1. at playrates smaller then 4x/-4x the metro is larger then 40 (=25 fps) resulting in a framerate lower then 25 fps.
2. as it's done right now i can't change the speed dynamically and it doesn't take slowmos like 0.5x... but i think this will be not a big problem once the rest works.

i really hope, anybody understands what i'm trying to achieve.
thank you so much for your help!
:)

Max Patch
Copy patch and select New From Clipboard in Max.

karl krach's icon

maybe i forgot to write the most important: my idea is, that if i could tell a counter the number of steps to increment on each count, i could translate the play speed (0-32) directly to this variable avoiding the changing of metro speed altogether...

karl krach's icon

i got it!

i found an external named f0.ultimate_counter ( http://www.fredrikolofsson.com/pages/code-max.html ) which lets me do exactly what i want (it even accepts floats) and it works like a charm!:)

have a good day!

jkeston's icon

If anyone comes here looking for a way to increment/decrement the counter object by a number other than one while maintaining its value and the min max functions, it can be done using the "jam" message.

Max Patch
Copy patch and select New From Clipboard in Max.