(define topclock-variable
(lambda (time variable-name beat . data)
(if (and (= (length data) 1)
(list? (car data)))
(set! data (car data)))
(apply io:osc:send
(now) (cons *topclock-master-ip* *topclock-port*) "/clock/variable/set"
(1970->1900 (samples->clock time)) (atom->string variable-name)
(rational->n beat) (rational->d beat) data)))