leipzig.live
jam
(jam riff)
Plays riff repeatedly, freshly dereferencing it each time (riff must be a ref). To terminate the looping, set riff to nil. e.g. (jam (var melody)) ; Later... (def melody nil)
play-note
multimethod
Plays a note according to its :part. e.g. (play-note {:part :bass :time _})