Secuenciador por pasos

class Beat(pz.App): pattern = ["x...x...x...x...", "....x.......x...", "x.x.x.x.x.x.x.x."] step = 0
def view(self): return ui.audio.StepSequencer( pattern=self.pattern, labels=["Kick", "Snare", "Hat"], current=self.step, on_change=lambda e: setattr(self, "pattern", e.value), )Patrones
Sección titulada «Patrones»pattern es una lista de filas. Cada fila es una lista (True/False, o una velocidad de 0 a 1
que fija el brillo del paso) o un texto donde x (o 1) es un paso que suena y cualquier otro
carácter es un silencio: "x...x...x...x..." es un bombo en cada pulso.
change entrega el patrón nuevo completo como lista de listas, listo para guardar. Un arrastre que
empieza en un paso vacío pinta pasos; uno que empieza en un paso encendido los borra.
Cabezal
Sección titulada «Cabezal»current es el paso que suena: el secuenciador enmarca esa columna y resalta sus pasos. Muévelo
con un temporizador (pz.every) o con el secuenciador del motor (node.state["step"]). Los pasos
se sombrean en grupos de group (4 por defecto) para contar los pulsos fácilmente.
| Propiedad | Por defecto | Qué hace |
|---|---|---|
pattern |
() |
Filas de pasos. |
labels |
() |
Un nombre por fila (a la izquierda). |
current |
-1 |
El paso que suena (-1 para ninguno). |
color |
"accent" |
Color de los pasos que suenan. |
group |
4 |
Pasos por grupo sombreado. |
cell |
22 |
Tamaño de un paso en píxeles. |
Evento: on_change con el patrón nuevo.