# Banks & Patterns

Cagire organizes all your patterns and data following a strict hierarchy:

- **Projects** contain **Banks**.
- **Banks** contain **Patterns**.
- **Patterns** contain **Steps**.

## Structure

```
Project
└── 32 Banks
    └── 32 Patterns (per bank)
        └── 1024 Steps (per pattern)
```

A single project gives you 32 banks, each holding 32 patterns. You get 1024 patterns in each project, ~1.048.000 steps. This means that you can create a staggering amount of things. Don't hesitate to create copies, variations, and explore the pattern system thoroughly.

## Patterns

Each pattern is an independent sequence of steps with its own properties:

| Property | Description | Default |
|----------|-------------|---------|
| Length | Steps before the pattern loops (`1`-`1024`) | `16` |
| Speed | Playback rate (`1/8x` to `8x`) | `1x` |
| Quantization | When the pattern launches | `Bar` |
| Sync Mode | Reset or Phase-Lock on re-trigger | `Reset` |
| Follow Up | What happens when the pattern finishes an iteration | `Loop` |

Press `e` in the patterns view to edit these settings.

### Follow Up

The follow-up action determines what happens when a pattern reaches the end of its steps:

- **Loop** — the pattern repeats indefinitely. This is the default behavior.
- **Stop** — the pattern plays once and stops.
- **Chain** — the pattern plays once, then starts another pattern. Use `Left`/`Right` to set the target bank and pattern in the edit view.

## Patterns View

Access the patterns view with `F2` (or `Ctrl+Up` from the sequencer). The view shows all banks and patterns in a grid. Indicators show pattern state:

- `>` Currently playing
- `+` Staged to play
- `-` Staged to stop
- `M` Muted
- `S` Soloed

### Keybindings

| Key | Action |
|-----|--------|
| `Arrows` | Navigate banks and patterns |
| `Enter` | Select and return to sequencer |
| `p` | Stage pattern to play/stop |
| `c` | Commit staged changes |
| `m` / `x` | Stage mute / solo toggle |
| `e` | Edit pattern properties |
| `r` | Rename bank or pattern |
| `Ctrl+c` / `Ctrl+v` | Copy / Paste |
| `Delete` | Reset to empty pattern |
| `Esc` | Cancel staged changes |
