Metadata-Version: 2.4
Name: potatoslicer
Version: 0.1.0
Summary: Potatoslicer — tracker-style pattern sequencer with multi-engine audio synthesis
Author: Potatoslicer
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Topic :: Multimedia :: Sound/Audio :: Sound Synthesis
Classifier: Topic :: Multimedia :: Sound/Audio :: MIDI
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: potatoslicer-client>=0.1.0
Requires-Dist: pygame-ce>=2.4
Requires-Dist: numpy>=1.24
Requires-Dist: sounddevice>=0.4
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"

# Potatoslicer Sequencer

A tracker-style pattern sequencer built with Pygame-CE. Create and edit pattern-based songs using the built-in synthesizer engine with real-time audio playback.

## Requirements

- Python 3.10+
- System packages: `libportaudio2`, `python3-venv`
- Python packages: `pygame-ce`, `numpy`, `sounddevice`

## Setup

```bash
make setup   # installs system deps, creates venv, installs Python packages
```

## Running

```bash
make run
```

## Keyboard Shortcuts

### Navigation

| Key | Action |
|-----|--------|
| Arrow keys | Move selection in pattern grid |
| Tab / Shift+Tab | Next / previous channel |
| Page Up/Down | Scroll grid |
| Scroll wheel | Scroll grid or sidebars |
| Esc | Clear selection / close modal |

### Playback

| Key | Action |
|-----|--------|
| Space | Play / pause |

### Note Entry

| Key | Action |
|-----|--------|
| A-G | Set note letter |
| 0-9 | Set octave |
| # or S | Sharp |
| Enter | Confirm note, move cursor down |
| Delete / Backspace | Clear cell |
| - | Note-off (---) |
| + | Chord mode |
| I | Cycle instrument |

### Editing

| Key | Action |
|-----|--------|
| Ctrl+C / Ctrl+V | Copy / paste cell |
| Ctrl+Z | Undo |
| Ctrl+S | Save song |

### Other

| Key | Action |
|-----|--------|
| ? or F1 | Toggle help |
| F2 | Open piano keyboard |

CapsLock remapped to Control at the OS level is supported.

## Song Tools

```bash
make list-songs              # list available songs
make play-song SONG=groove   # play a song from the CLI
make song-info SONG=groove   # show song details
```

## Architecture

See [ARCHITECTURE.md](ARCHITECTURE.md) for details on the codebase structure, audio pipeline, and data flow.
