You can use the
P() object to get a generic interface to Sardine patterns. This object can be used just anywhere you would like to see a pattern. It means that you can contaminate your Python functions or anything in your code with them. Under the hood, Sardine patterns are spitting out valid Python integers, floats or strings.
@swim def free(p=0.5, i=0): print(P('1 2 3 4', i)) again(free, p=0.5, i=i+1)
In the example above, we are just using a swimming function to print the result of a pattern in the interpreter window. Note that
P() can take your basic iterator arguments as always (
P(pattern, iterator, divisor, rate).
We can do the same thing but using
P() in a strategic location, replacing the static value for
@swim def free(p=0.5, i=0): D('cp') again(free, p=P('0.5!4 0.25!2', i), i=i+1)
Using this technique, you can easily generate rhythms or pattern data that you send to any Python function. Using
P() is a good way to study Sardine patterns. You can just take a few minutes and study some specific patterns if you have a hard time understanding them. That’s what I do sometimes when developping them :)