From ced391d104e4797052d7a853818f30d5eb23b167 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Sun, 21 Jul 2024 16:31:57 +0300 Subject: [PATCH] docs: add more docs and todos --- README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3c26566d..20e3ee9b 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,24 @@ See `demos/project.edn` for the initial contents of the session. * Samples at ~/Lab/Music/pak * Odin2 LV2 ~/.lv2/Odin2.lv2 +## Overview + +Tek is inspired by "clip launching" workflows as exemplified by Ableton Live, Bitwig Studio, +Ardour, and probably others. The main view consists of three sections: + +* The **arranger view** corresponds to Ableton's Session and Arrangement views. + It allows you to put together a musical composition as a sequence of **phrases**, + playing simultaneously across multiple **tracks**. +* The **sequencer view** allows you to edit phrases, which consist of MIDI events. +* The **chain view** allows you to add **devices** to each track. Devices determine + how a given phrase will sound. Currently, there are two devices implemented: + **sampler** and **plugin**. + +> [!NOTE] +> Use `Tab` to switch focus between views. Use `Enter` to exclusively focus the highlighted view, +> and `Esc` to unfocus it. When a view is focused, use the `Arrow Keys` and `Enter` to navigate. +> Use `;` (semicolon) to open the command palette, which will list the remaining keybindings. + ## TODO: * Control: @@ -34,6 +52,8 @@ See `demos/project.edn` for the initial contents of the session. * [ ] Envelope * [ ] Stretch sample to BPM * [ ] Set BPM from sample + * [ ] Map MIDI note to sample + * [ ] Multisample * Sequencer/Arranger: * [x] Fix next/prev clip * [ ] Move clip/track/scene @@ -47,11 +67,14 @@ See `demos/project.edn` for the initial contents of the session. * [ ] Open LV2 GUI * [ ] Pin favorite FX parameters with `*` * [ ] Parallel monitoring chain + * [ ] Support CLAP plugins + * [ ] Support VST2 + * [ ] Support VST3 * Transport: * [x] Focus transport to set BPM/sync/quant with `.,` * [ ] Double/halve BPM with `xX` * Rendering: * [ ] LineBuffer for scroll? * [ ] Buffered rendering with e.g. needs_update (only needed if the release build becomes slow) - * [ ] Buffered sequencer + * [x] Buffered sequencer * [ ] Buffered chain view