1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
## JIT
### a Just-in-Time C/Rust compiler embedded in an LV2 plugin
#### Build status
[](https://gitlab.com/OpenMusicKontrollers/jit.lv2/commits/master)
### 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](http://lv2plug.in/pages/filesystem-hierarchy-standard.html).
<!--
#### Stable release
* [jit.lv2-0.16.0.zip](https://dl.open-music-kontrollers.ch/jit.lv2/stable/jit.lv2-0.16.0.zip) ([sig](https://dl.open-music-kontrollers.ch/jit.lv2/stable/jit.lv2-0.16.0.zip.sig))
-->
#### Unstable (nightly) release
* [jit.lv2-latest-unstable.zip](https://dl.open-music-kontrollers.ch/jit.lv2/unstable/jit.lv2-latest-unstable.zip) ([sig](https://dl.open-music-kontrollers.ch/jit.lv2/unstable/jit.lv2-latest-unstable.zip.sig))
### Sources
<!--
#### Stable release
* [jit.lv2-0.16.0.tar.xz](https://git.open-music-kontrollers.ch/lv2/jit.lv2/snapshot/jit.lv2-0.16.0.tar.xz)
-->
#### Git repository
* <https://git.open-music-kontrollers.ch/lv2/jit.lv2>
<!--
### Packages
* [ArchLinux](https://www.archlinux.org/packages/community/x86_64/jit.lv2/)
-->
### Bugs and feature requests
* [Gitlab](https://gitlab.com/OpenMusicKontrollers/jit.lv2)
* [Github](https://github.com/OpenMusicKontrollers/jit.lv2)
### Plugins

#### 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](http://lv2plug.in) (LV2 Plugin Standard)
You'll need to have a C and/or Rust compiler installed at runtime for this
plugin to work
* [GCC](https://gcc.gnu.org) (GNU Compiler Collection)
* [CLANG](https://clang.llvm.org) (Clang C Language Family Frontend for LLVM)
* [RUST](https://rust-lang.org) (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>.
|