I keep checking how Pi and Tau have small syntax differences and always go back to their documentations. When I was reading Tau’s Generator topic, there is an example which does not work properly:
sample :bd_haus, on: bools(1, 0, 0, 1, 0, 1, 0, 0).tick
It’s just because it’s not inserted in a live_loop, and it is also missing an sleep, like this:
live_loop :myspread do
sample :bd_haus, on: bools(1, 0, 0, 1, 0, 1, 0, 0).tick
sleep 0.25
end
Good catch, and I think the underlying issue is worth naming in the docs rather than just fixing the one snippet: .tick only advances when it’s evaluated repeatedly, so any example using tick is implicitly a loop example. A one-off line with tick in it isn’t “broken syntax”, it just does exactly one step and stops, which is the most confusing possible outcome for someone learning — it runs, makes a sound, and does the wrong thing silently.
If the docs team wants a minimal fix, adding a short sentence above the ring/bools section along the lines of “tick advances once per evaluation; wrap in a live_loop to hear it move” would prevent the same question for every function in that family, not just bools.
One suggestion for your snippet: consider using .look in a comment next to it, since printing the index while it runs is what made this click for me. Seeing 0,1,2,3 tick past next to the audio is more convincing than any prose explanation of what tick does.
If you file it, listing which page and which exact line makes it much likelier to get a quick doc PR rather than a discussion.
1 Like
Thanks for commenting! I think you’re right about the correction in the doc because it can become really confusing for new users.
And thanks too for the feedback on how I can improve my feedback (the “look” tip!).