aboutsummaryrefslogtreecommitdiff

JIT

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

Build status

build status

Binaries

For GNU/Linux (64-bit, 32-bit, armv7, arm64). (64/32-bit univeral).

To install the plugin bundle on your system, simply copy the jit.lv2 folder out of the platform folder of the downloaded package into your LV2 path.

Unstable (nightly) release

Sources

Git repository

Bugs and feature requests

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/lv2/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

License

Copyright (c) 2019 Hanspeter Portner (dev@open-music-kontrollers.ch)

This is free software: you can redistribute it and/or modify it under the terms of the Artistic License 2.0 as published by The Perl Foundation.

This source is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Artistic License 2.0 for more details.

You should have received a copy of the Artistic License 2.0 along the source as a COPYING file. If not, obtain it from http://www.perlfoundation.org/artistic_license_2_0.