local dockerized build

This commit is contained in:
🪞👃🪞 2025-04-19 01:39:52 +03:00
parent 8fa0f8a409
commit 393634a1a4
12 changed files with 93 additions and 71 deletions

View file

@ -10,7 +10,7 @@ for [jack](https://jackaudio.org/) and [pipewire](https://www.pipewire.org/).
[statically linked binaries](https://codeberg.org/unspeaker/tek/releases), and on the
[aur](https://codeberg.org/unspeaker/tek#arch-linux).
hmu on [**mastodon** `@unspeaker@mastodon.social`](https://mastodon.social/@unspeaker)
author is reachable via [**mastodon** `@unspeaker@mastodon.social`](https://mastodon.social/@unspeaker)
or [**matrix** `@unspeaker:matrix.org`](https://matrix.to/#/@unspeaker:matrix.org)
![Screenshot](https://codeberg.org/unspeaker/tek/releases/download/0.2.0-rc.7/Screenshot%20From%202025-01-02%2023-18-05.png)
@ -20,38 +20,6 @@ or [**matrix** `@unspeaker:matrix.org`](https://matrix.to/#/@unspeaker:matrix.or
* **requirements:** linux; jack or pipewire; 24-bit terminal (i use `kitty`)
* **recommended:** midi controller; samples in wav format; lv2 plugins.
```
Usage: tek [OPTIONS] <COMMAND>
Commands:
clock A standalone transport clock
sequencer A MIDI sequencer
sampler A MIDI-controlled audio sampler
groovebox Sequencer and sampler together
arranger Multi-track MIDI sequencer
mixer TODO: A MIDI-controlled audio mixer
track TODO: A customizable channel strip
plugin TODO: An audio plugin host
help Print this message or the help of the given subcommand(s)
Options:
-n, --name <NAME> Name of JACK client
-S, --sync-lead Whether to attempt to become transport master
-s, --sync-follow Whether to sync to external transport master
-b, --bpm <BPM> Initial tempo in beats per minute
-t, --show-clock Whether to include a transport toolbar (default: true)
-I, --midi-from <MIDI_FROM> MIDI outs to connect to (multiple instances accepted)
-i, --midi-from-re <MIDI_FROM_RE> MIDI outs to connect to (multiple instances accepted)
-O, --midi-to <MIDI_TO> MIDI ins to connect to (multiple instances accepted)
-o, --midi-to-re <MIDI_TO_RE> MIDI ins to connect to (multiple instances accepted)
-l, --left-from <LEFT_FROM> Audio outs to connect to left input
-r, --right-from <RIGHT_FROM> Audio outs to connect to right input
-L, --left-to <LEFT_TO> Audio ins to connect from left output
-R, --right-to <RIGHT_TO> Audio ins to connect from right output
-h, --help Print help
-V, --version Print version
```
## keymaps
* [x] `arrows/wasd`: navigate
@ -68,18 +36,6 @@ Options:
## installation
### binary download
see the [releases page](https://codeberg.org/unspeaker/tek/releases).
### from source with cargo
requires rust nightly.
```
cargo install --git https://codeberg.org/unspeaker/tek
```
### from distro repositories
[![Packaging status](https://repology.org/badge/vertical-allrepos/tek.svg)](https://repology.org/project/tek/versions)
@ -93,24 +49,17 @@ you can install it using an AUR helper (e.g. `paru`):
paru -S tek
```
## development
### building from source
you'll need a Rust toolchain and various system libraries.
requires docker
you can obtain the former using `rustup` and the latter using `nix-shell`.
there's a `shell.nix` provided with the project.
from there, use the commands in the `Justfile`, e.g.:
```sh
just arranger
```
note that `tek > 0.2.0-rc.7` will require rust nightly
for the unstable features `type_alias_impl_trait` and
`impl_trait_in_assoc_type`. make some noise for lucky
[**rust rfc2515**](https://github.com/rust-lang/rust/issues/63063)
if you want to see this buildable with stable/beta.
git clone https://codeberg.org/unspeaker/tek # obtain source
cd tek # enter directory
cat bin/release.sh # preview build script
sudo bin/release.sh # run build script
sudo cp bin/tek /usr/local/bin/tek # install
```
## design goals