slow down uzi

newtfish's icon

Hi,

Is there any way to slow uzi down? Im using the third outlet (index) and its going too fast for some of my objects to handle.

Ive tried speedlim, qlim and line. None of which work. I need to make sure I get every number from the index of uzi (which line doesnt seem to do).

Cheers

geotrupede's icon

why not using metro with a counter temporarily?

geotrupede's icon
Max Patch
Copy patch and select New From Clipboard in Max.

like this:

newtfish's icon

Cool solution. Ive since found I have a problem with something else here - https://cycling74.com/forums/buffer-index-slow-while-reading-peak/ with buffer, but this solution might help also .

Floating Point's icon
Max Patch
Copy patch and select New From Clipboard in Max.

use deferlow to slow uzi down, like this:

(should also work for your other problem with buffer reading)

Michael Gary Dean's icon

I recently needed a slower version of uzi, but even slower than deferlow. I've attached a js external, and pasted the code here for anybody else it might be useful for.

The first argument is how many numbers you want to spit out (starting at 0).

The second argument is how many ms between each number. Obviously the timing for js is not suitable for things that need to be tempo-locked.

/*
 * @author         Michael Dean <contact@michaeldean.ca>
 * @see                 michaeldean.ca
 * @see                 https://github.com/mykedean
 * @project        wMultiKnob Max for Live plugin
 *
 * @description    Iterate through a specific number of indices with a time delay between each one.
 *
 * @param    count_maximum     js arg 1: number of indices to output (starting from 0)
 * @param    time_delay      js arg 2: time between each index in ms
 */

/* 
 * SETUP
 */

/* initialize attributes */
autowatch = 1; 
outlets = 1;

/* initialize variables */
var time_delay = 30;         //time between each index in ms
var count_maximum = 7;        //number of indices to output (starting from 0)

/* object initialization */
onLoad();

/* set-up the task object */
tsk = new Task(outputIndices, this);
tsk.interval = time_delay; // time between each task

/* 
 * FUNCTIONS
 */

/*
 * Get the arguments from the js object, if there are any.
 */
function onLoad() {
    
    //Get arguments from object
    
    //check for time_delay
    if(jsarguments[2] != undefined) {
        time_delay = jsarguments[2];
    } 

    //check for count_maximum
    if(jsarguments[1] != undefined) {
        count_maximum = jsarguments[1];
    }
}

/*
 * Send incrementing numbers from the 0th outlet, with a time delay between each number.
 */
function bang() {
    tsk.repeat(count_maximum);  // run the outputIndices function from 0 to count_maximum
}

/*
 * Output indices using the Task object at intervalues specified by the var time_delay.
 */
function outputIndices() {
    outlet(0,arguments.callee.task.iterations);
}

slow-uzi.js
text/javascript 1.49 KB
slow-uzi.js

Roman Thilenius's icon


slower than deferlow would be outside the thread i guess.

Jean-Francois Charles's icon

Yes, no need for js, really: you could just use a metro & a counter, or a counter & a del object, or a del, a comparator & a gate, or other options.

Source Audio's icon

this is slow uzi I usually use

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