stopped my pc from falling by letting it fall
Some checks failed
/ build (push) Has been cancelled

This commit is contained in:
okay stopped screaming 2026-03-08 22:35:35 +02:00
parent 4f5c332f48
commit 54f0a95f3a
2 changed files with 58 additions and 38 deletions

View file

@ -1,10 +1,11 @@
# tek [![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page) # tek [![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page)
a music making program for [24-bit unicode terminals](https://sw.kovidgoyal.net/kitty/). ***tek*** is a a music making program for [24-bit unicode terminals](https://sw.kovidgoyal.net/kitty/).
written in [rust](https://www.rust-lang.org/) written in [rust](https://www.rust-lang.org/)
with [ratatui](https://ratatui.rs/) on [crossterm](https://docs.rs/crossterm/latest/crossterm/) with [ratatui](https://ratatui.rs/) on [crossterm](https://docs.rs/crossterm/latest/crossterm/)
for [jack](https://jackaudio.org/) and [pipewire](https://www.pipewire.org/). for [jack](https://jackaudio.org/) and [pipewire](https://www.pipewire.org/).
it plays well with your midi controller, wav samples, and lv2 plugins.
**tek** is available as [source](https://codeberg.org/unspeaker/tek#building-from-source), **tek** is available as [source](https://codeberg.org/unspeaker/tek#building-from-source),
[statically linked binaries](https://codeberg.org/unspeaker/tek/releases), and on the [statically linked binaries](https://codeberg.org/unspeaker/tek/releases), and on the
@ -17,38 +18,36 @@ or [**matrix** `@unspeaker:matrix.org`](https://matrix.to/#/@unspeaker:matrix.or
|-|-| |-|-|
|![Screenshot of Arranger Mode](https://codeberg.org/unspeaker/tek/attachments/5014ff4d-9ece-4862-90de-3bc6573eacf6)|![Screenshot of Groovebox Mode](https://codeberg.org/unspeaker/tek/attachments/bbc12eda-1d5e-4e0f-9474-f585128255a5)<br>![Screenshot of Help in Groovebox Mode](https://codeberg.org/unspeaker/tek/attachments/d8963b84-8183-4c05-b77b-349a4c4c6161)| |![Screenshot of Arranger Mode](https://codeberg.org/unspeaker/tek/attachments/5014ff4d-9ece-4862-90de-3bc6573eacf6)|![Screenshot of Groovebox Mode](https://codeberg.org/unspeaker/tek/attachments/bbc12eda-1d5e-4e0f-9474-f585128255a5)<br>![Screenshot of Help in Groovebox Mode](https://codeberg.org/unspeaker/tek/attachments/d8963b84-8183-4c05-b77b-349a4c4c6161)|
## usage ## project status
* **requirements:** linux; jack or pipewire; 24-bit terminal (i use `kitty`) codebase and author currently undergoing renormalization (with one welcoming it
* **recommended:** midi controller; samples in wav format; lv2 plugins. while the other keeps feinting.)
## keymaps getting to some of these hot tui pix above was such a pain in the upper trunk, that debugging
the last 20% of the app into existence became an effective impossibility (what with an attention
span frazzled by precarious work commitments in teleologically paradoxical pocket dimensions,
chat is this permanent.)
* Arranger: current focus is on removing a layer of inner cruft in `tengri` and finally making the whole
* [x] arrows: navigate affair totally live-codable using `dizzle`.
* [x] tab: enter editor
* [x] `q`: enqueue clip to that end, besides the default commitments of the AGPL3, currently the **author explicitly
* [x] space: play/pause requests: thoughts, prayers**, mantras to be chanted, candles to be lit, etc., any treasured
* Editor: personal and/or tribal superstitions to be observed extra hard, etc. and all in the name of
* [x] arrows: navigate the upcoming version
* [x] `,` / `.`: change note length
* [x] enter: write note for people who don't have any to spare, try
* [x] `-` / `=`: zoom midi editor recalling some silly folktale, idiom, or other harmless nonsense meme from the surrounding
* [ ] `z`: zoom lock/unlock vernacular, and coming up with a half-convincing interpretation of its secret occult,
* [ ] del: delete plain-sight esoteric, outrageously conspiratorial, ancient and justified true meaning.
* Global: that should also help.
* [x] esc: options menu
* [x] f1: help/command list
* [ ] f2: rename
* [ ] f6: save
* [ ] f9: load
## installation ## installation
### binary download ### binary download
you can download [tek 0.2.0 "almost static"](https://codeberg.org/unspeaker/tek/releases/tag/0.2.0) you can download [tek 0.2.0 "almost static"](https://codeberg.org/unspeaker/tek/releases/tag/0.2.0)
from codeberg releases. this standalone binary release, should work on any glibc-based system. from codeberg releases. this is a standalone binary release targeting glibc-based systems.
### from distro repositories ### from distro repositories
@ -74,17 +73,3 @@ cat bin/release-glibc.sh # preview build script
sudo bin/release-glibc.sh # run build script sudo bin/release-glibc.sh # run build script
sudo cp bin/tek /usr/local/bin/tek # install sudo cp bin/tek /usr/local/bin/tek # install
``` ```
## design goals
* inspired by trackers and hardware sequencers,
but with the critical feature that 90s samplers lack:
able to **resample, i.e. record while playing!**
* **pop-up scratchpad for musical ideas.**
low resource consumption, can stay open in background.
but flexible enough to allow expanding on compositions
* **human- and machine- readable project format**
simple representation for project data
enable scripting and remapping.

35
TODO.md Normal file
View file

@ -0,0 +1,35 @@
## keymaps
* Arranger:
* [x] arrows: navigate
* [x] tab: enter editor
* [x] `q`: enqueue clip
* [x] space: play/pause
* Editor:
* [x] arrows: navigate
* [x] `,` / `.`: change note length
* [x] enter: write note
* [x] `-` / `=`: zoom midi editor
* [ ] `z`: zoom lock/unlock
* [ ] del: delete
* Global:
* [x] esc: options menu
* [x] f1: help/command list
* [ ] f2: rename
* [ ] f6: save
* [ ] f9: load
## design goals
* inspired by trackers and hardware sequencers,
but with the critical feature that 90s samplers lack:
able to **resample, i.e. record while playing!**
* **pop-up scratchpad for musical ideas.**
low resource consumption, can stay open in background.
but flexible enough to allow expanding on compositions
* **human- and machine- readable project format**
simple representation for project data
enable scripting and remapping.