timer will call fn every beatValue.
the return of sync.on() is a function which clears fn from being called any more.
Your function will be called with the actual clock time of the call, a count for the beatValue, and a function you can call to clear the current call for good.

var quarter = sync.on(1/4,function(time, beatCount, clear, swing){

// do something every quarter-beat

// beatCount is the # of times this beatValue has been called.

if(beatCount %4==0)// only do something every 4th quarter beat

if(forSomeReason)clear()// clear the timer

//new!

// the siwng function allows you to have the next beat (or all beats)

// changed to a new interval

if(true) swing(interval)

elseif(true) swing(0)// you must set it back manually

}

setTimeout(function(){

quarter()// clears it

},4000)

###timer.tick()
Timer tick does not require any arguments, but will pass them on to your function. Simply call it for every sample.