~hp/jit.lv2

A Just-in-Time C/Rust compiler embedded in an LV2 plugin
Append Issues/Patches section to readme
eda9028d — builds.sr.ht 5 months ago
Update ci to release-0.1.0
Update ci to release-0.0.0

refs

master
browse  log 

clone

read-only
https://git.open-music-kontrollers.ch/~hp/jit.lv2
read/write
git@git.open-music-kontrollers.ch:~hp/jit.lv2

You can also use your local clone with git send-email.

#JIT

#a Just-in-Time C/Rust compiler embedded in an LV2 plugin

#Packages

#Plugins

Screenshot

#Mono

Mono version of the plugin.

Prototype new audio filters in C/Rust directly in your favorite running host, without the need to restart the latter after code changes.

#Stereo

Stereo version of the plugin.

Prototype new audio filters in C/Rust directly in your favorite running host, without the need to restart the latter after code changes.

#Dependencies

  • LV2 (LV2 Plugin Standard)

You'll need to have a C and/or Rust compiler installed at runtime for this plugin to work

  • GCC (GNU Compiler Collection)
  • CLANG (Clang C Language Family Frontend for LLVM)
  • RUST (Rust)

#Build / install

git clone https://git.open-music-kontrollers.ch/~hp/jit.lv2
cd jit.lv2
meson build
cd build
ninja -j4
sudo ninja install
#UI

This plugin features a native LV2 plugin UI which embeds a terminal emulator which can run your favorite terminal editor to edit the plugin's C/Rust source.

Currently, the editor has to be defined via the environment variable EDITOR:

export EDITOR='vim'
export EDITOR='emacs'

If no environment variable is defined, the default fallback editor is 'vi', as it must be part of every POSIX system.

Whenever you save the C/Rust source, the plugin will try to just-in-time compile and inject it. Potential warnings and errors are reported in the plugin host's log and the UI itself.

On hi-DPI displays, the UI scales automatically if you have set the correct DPI in your ~/.Xresources.

Xft.dpi: 200

If not, you can manually set your DPI via environmental variable D2TK_SCALE:

export D2TK_SCALE=200

#Issues/Patches

Please report issues to https://todo.open-music-kontrollers.ch/~hp/issues

Please submit patches to https://lists.open-music-kontrollers.ch/~hp/patches