mip2
Moderators: MattKingUSA, khz
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
mip2
hi!
here's a set of clap plugins i ported during the development of the mip2 framework (or toolbox, as i like to call it).. they aren't really meant to be big and shiny plugins competing with the other great plugins out there.. i did them mainly to test mip2, and to see if i were on the right track regarding abstractions and simplifications and things.. if mip2 is actually usable for making proper plugins..
but then i thought it could be nice to have them available in linux and in both the hosts i use myself (bitwig/reaper).. and, maybe someone else might find a use for one or two of them..
when i finish the vst2/3 wrappers, they will all be available in these formats as well..
and automatically get a better 'generic' gui when that part is more fleshed out..
https://torhelgeskei.com/wp-content/upl ... ug2022.zip
(130 kb, linux, 64bit, clap)
see also:
https://github.com/skei/MIP2
https://torhelgeskei.com
tor.helge.skei@gmail.com
----------------------------------------------------------------------
--------------------
sa_fibonacci
--------------------
fibonacci/pisano based note effect.. it doesn't generate notes, but
modifies incoming ones, and pitches them up or down according to the
'current number' in the fibonacci sequence..
i will add an editor, so you can see better what's going on and what the current state is.. but that have to wait until the gui stuff is more stable..
https://www.youtube.com/watch?v=o1eLKODSCqw
(there's also some other previews of upcoming things on my youtube channel)
--------------------
sa_ladspa_wrapper
--------------------
it looks in /usr/lib/ladspa, and wraps each plugin it finds as a clap plugin.. not all plugins make much sense in a regular daw setting, and not all audio ports map nicely with normal stereo channels and similar.. some hosts let you configure this.. but an idea i had is to add a .ini file thing, where you can route and override ports and channels.. and maybe also a double-mono version..
this could also be extended to make a dssi wrapper.. but there's not many interesting dssi synths around, i think.. earlier, i successfully wrapped whysynth to vst2, and that had some quite nice sounds.. but apart from that, i'm not sure if there's any point.. and then, the next step would be lv2.. but currently, i have very little motivation to do that.. but we'll see..
https://www.youtube.com/watch?v=jLj6-Z8tSdc
--------------------
sa_ports
--------------------
original authors:
compciter - Michael Gruhn
event_horizon - Thomas Scott Stillwell
exciter - Michael Gruhn
exciter2 - Thomas Scott Stillwell
hall_reverb - Michael Gruhn
hrtf - Benno Straub
large_room_reverb - Michael Gruhn
limiter - Michael Gruhn
saturation - tale/loser
small_room_reverb - Michael Gruhn
sonic_maximizer - Dominique Guichaoua
tilteq - Lubomir I. Ivanov
transient_killer - Michael Gruhn
see individual source files for info, licenses, links, etc..
https://github.com/skei/MIP2/tree/maste ... s/sa_ports
here's a set of clap plugins i ported during the development of the mip2 framework (or toolbox, as i like to call it).. they aren't really meant to be big and shiny plugins competing with the other great plugins out there.. i did them mainly to test mip2, and to see if i were on the right track regarding abstractions and simplifications and things.. if mip2 is actually usable for making proper plugins..
but then i thought it could be nice to have them available in linux and in both the hosts i use myself (bitwig/reaper).. and, maybe someone else might find a use for one or two of them..
when i finish the vst2/3 wrappers, they will all be available in these formats as well..
and automatically get a better 'generic' gui when that part is more fleshed out..
https://torhelgeskei.com/wp-content/upl ... ug2022.zip
(130 kb, linux, 64bit, clap)
see also:
https://github.com/skei/MIP2
https://torhelgeskei.com
tor.helge.skei@gmail.com
----------------------------------------------------------------------
--------------------
sa_fibonacci
--------------------
fibonacci/pisano based note effect.. it doesn't generate notes, but
modifies incoming ones, and pitches them up or down according to the
'current number' in the fibonacci sequence..
i will add an editor, so you can see better what's going on and what the current state is.. but that have to wait until the gui stuff is more stable..
https://www.youtube.com/watch?v=o1eLKODSCqw
(there's also some other previews of upcoming things on my youtube channel)
--------------------
sa_ladspa_wrapper
--------------------
it looks in /usr/lib/ladspa, and wraps each plugin it finds as a clap plugin.. not all plugins make much sense in a regular daw setting, and not all audio ports map nicely with normal stereo channels and similar.. some hosts let you configure this.. but an idea i had is to add a .ini file thing, where you can route and override ports and channels.. and maybe also a double-mono version..
this could also be extended to make a dssi wrapper.. but there's not many interesting dssi synths around, i think.. earlier, i successfully wrapped whysynth to vst2, and that had some quite nice sounds.. but apart from that, i'm not sure if there's any point.. and then, the next step would be lv2.. but currently, i have very little motivation to do that.. but we'll see..
https://www.youtube.com/watch?v=jLj6-Z8tSdc
--------------------
sa_ports
--------------------
original authors:
compciter - Michael Gruhn
event_horizon - Thomas Scott Stillwell
exciter - Michael Gruhn
exciter2 - Thomas Scott Stillwell
hall_reverb - Michael Gruhn
hrtf - Benno Straub
large_room_reverb - Michael Gruhn
limiter - Michael Gruhn
saturation - tale/loser
small_room_reverb - Michael Gruhn
sonic_maximizer - Dominique Guichaoua
tilteq - Lubomir I. Ivanov
transient_killer - Michael Gruhn
see individual source files for info, licenses, links, etc..
https://github.com/skei/MIP2/tree/maste ... s/sa_ports
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
well, i can just as well post this example too.. the traditional, simplistic gain plugin, the "hello world!" of plugins..
it uses opengl and nanovg for the (resizable) gui, but i haven't tested it on other machines than my own (amd/nvidia desktop, intel laptop), so i feel very uncertain about the stability of the code.. the more reports and comments and info i can get, the better.. as soon as i feel more 'secure' about the gui layer, i can finalize and release a bunch of my own "work in progress" plugins..
there's not too many clap hosts around yet, and even less for linux, so there aren't that many possibilities for testing it yet... but it works well in bitwig, and also seems to work in reaper, but i just did some very superficial and cursory testing.. it loads, and the editor seems to react like i expect.. doesn't work in the qtractor version i tested with, maybe because of appimage.. will test more later..
https://torhelgeskei.com/wp-content/upl ... ug2022.zip
(linux, 64bit clap, 240 kb)
it uses opengl and nanovg for the (resizable) gui, but i haven't tested it on other machines than my own (amd/nvidia desktop, intel laptop), so i feel very uncertain about the stability of the code.. the more reports and comments and info i can get, the better.. as soon as i feel more 'secure' about the gui layer, i can finalize and release a bunch of my own "work in progress" plugins..
there's not too many clap hosts around yet, and even less for linux, so there aren't that many possibilities for testing it yet... but it works well in bitwig, and also seems to work in reaper, but i just did some very superficial and cursory testing.. it loads, and the editor seems to react like i expect.. doesn't work in the qtractor version i tested with, maybe because of appimage.. will test more later..
https://torhelgeskei.com/wp-content/upl ... ug2022.zip
(linux, 64bit clap, 240 kb)
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
resizable editor in progress.. or rather, a scalable widget mode (in addition to the existing auto-alignment,. -sizing, -positioning stuff)...
still lots of work to do..
https://www.youtube.com/watch?v=dCCI24vLyV8
still lots of work to do..
https://www.youtube.com/watch?v=dCCI24vLyV8
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
some slightly newer binaries, in case anyone is feeling adventurous..
"in progress" things, but i can already start listening to comments and suggestions and questions and bug reports, etc.. for both the mip2 toolkit itself, and the plugins.. (all source code available in the same github repository, as always)..
"in progress" things, but i can already start listening to comments and suggestions and questions and bug reports, etc.. for both the mip2 toolkit itself, and the plugins.. (all source code available in the same github repository, as always)..
- sysrqer
- Established Member
- Posts: 2524
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 153 times
- Contact:
Re: mip2
Cool, some very nice plugins there!
I can't see any of the ladspa plugins?
sa_botage has some problems on my system. This is what it looks like when it loads:
And this is what happens if I try to move a slider or the knob:
I can't see any of the ladspa plugins?
sa_botage has some problems on my system. This is what it looks like when it loads:
And this is what happens if I try to move a slider or the knob:
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
first, thanks for reporting!!
ladspa wrapper.. hmm.. this obviously needs some more care.. the search path is hardcoded to "/usr/lib/ladspa" now, but i plan to make it configurable via a .ini file (which also can override some of the ladspa port mappings, etc).. not sure if that's the problem, though.. i will dive into it asap..
what host, by the way? and do you run any of those sandbox things like snap, flatpak, etc? i don't know much about these, but they can affect loading of external .so files, can't they?
and sa_botage.. i remember now that i load a specific .ttf font, with hardcoded path.. /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf.. i planned to find a nice free/open .ttf file to include in the plugin binary itself, so no external fonts needed.. will look at the before next update/version.. hopefully that fixes it..
the second thing, when moving sliders.. looks like the background isn't (re-) painted properly when moving sliders.. i had some issues with clipping and scissor rectangle. if i remember correctly, opengl drivers had different opinions about if the clipping rectangle should be taken into account when swapping buffers.. or something like that.. also, i cull repaints by not drawing anything outside the update rectangle.. so, it looks like something is going wrong there.. i have an idea about where to start looking..
but, at least it seems the basic opengl part itself is more or less working (or else there wouldn't be any gui at all), which was my absoluitely biggest concern .. i should probably post debug builds, with a bit more diagnostics and error reporting and stuff..
ladspa wrapper.. hmm.. this obviously needs some more care.. the search path is hardcoded to "/usr/lib/ladspa" now, but i plan to make it configurable via a .ini file (which also can override some of the ladspa port mappings, etc).. not sure if that's the problem, though.. i will dive into it asap..
what host, by the way? and do you run any of those sandbox things like snap, flatpak, etc? i don't know much about these, but they can affect loading of external .so files, can't they?
and sa_botage.. i remember now that i load a specific .ttf font, with hardcoded path.. /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf.. i planned to find a nice free/open .ttf file to include in the plugin binary itself, so no external fonts needed.. will look at the before next update/version.. hopefully that fixes it..
the second thing, when moving sliders.. looks like the background isn't (re-) painted properly when moving sliders.. i had some issues with clipping and scissor rectangle. if i remember correctly, opengl drivers had different opinions about if the clipping rectangle should be taken into account when swapping buffers.. or something like that.. also, i cull repaints by not drawing anything outside the update rectangle.. so, it looks like something is going wrong there.. i have an idea about where to start looking..
but, at least it seems the basic opengl part itself is more or less working (or else there wouldn't be any gui at all), which was my absoluitely biggest concern .. i should probably post debug builds, with a bit more diagnostics and error reporting and stuff..
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
in the meanwhile.....
vst2/3 versions aren't far behind..
currently supporting the official sdk's only, but will add support for vestige (and travesty seems interesting)..
vst2/3 versions aren't far behind..
currently supporting the official sdk's only, but will add support for vestige (and travesty seems interesting)..
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
does these work any better?
the font is now embedded, and i did a lot of work on the clipping and culling of (sub-) widgets.. (as well as a bunch of other things).
compiled both a standalone executable, and a clap plugin: https://github.com/skei/MIP2/tree/maste ... est_layout
source code: https://github.com/skei/MIP2/tree/master/build/test.
the faster i can get the base stable and bug-free, the faster i can go back to the real stuff - the plugins
the font is now embedded, and i did a lot of work on the clipping and culling of (sub-) widgets.. (as well as a bunch of other things).
compiled both a standalone executable, and a clap plugin: https://github.com/skei/MIP2/tree/maste ... est_layout
source code: https://github.com/skei/MIP2/tree/master/build/test.
the faster i can get the base stable and bug-free, the faster i can go back to the real stuff - the plugins
Re: mip2
Hi!
Using the Flatpak version of Bitwig I was able to load LADSPA plugins manually copied to /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/21.08/active/files/lib/ladspa. If you went forward with your .ini file idea, keeping the plugins in ~/.ladspa would be a much prettier solution .
They all worked perfectly except for loudmax. The mono version works fine, but the stereo and 5.1 version only output one channel. I also tried with this version.
Thank you very much for the hard work! I've been looking for a clean and convenient way to load LADSPA and LV2 plugins inside Bitwig for a while now, very impressed!
Using the Flatpak version of Bitwig I was able to load LADSPA plugins manually copied to /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/21.08/active/files/lib/ladspa. If you went forward with your .ini file idea, keeping the plugins in ~/.ladspa would be a much prettier solution .
They all worked perfectly except for loudmax. The mono version works fine, but the stereo and 5.1 version only output one channel. I also tried with this version.
Thank you very much for the hard work! I've been looking for a clean and convenient way to load LADSPA and LV2 plugins inside Bitwig for a while now, very impressed!
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
thanks a lot for testing! good to hear that this (initial version) generally works..9_9 wrote: ↑Sun Aug 21, 2022 1:29 am Hi!
Using the Flatpak version of Bitwig I was able to load LADSPA plugins manually copied to /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/21.08/active/files/lib/ladspa. If you went forward with your .ini file idea, keeping the plugins in ~/.ladspa would be a much prettier solution .
They all worked perfectly except for loudmax. The mono version works fine, but the stereo and 5.1 version only output one channel. I also tried with this version.
Thank you very much for the hard work! I've been looking for a clean and convenient way to load LADSPA and LV2 plugins inside Bitwig for a while now, very impressed!
yeah, there's some issues with audio ports.. there doesn't seem to be any common, or "agreed upon" way to specify what is 'normal' audio ports, and what is meant for more modular stuff (sidechain inputs, pitch and whatnot).. and also, the ordering is all over the place.. but we'll see when/if i continue with the .ini idea..
i also thought about setting up two instances of the ladspa plugin if it has only one audio in/out, one for each channel.. but i would need to slightly rewrite the wrapper for this..
currently deep into experimenting with making the .so files (renamed to .clap) directly executable from the command line:
still a work in progress, as you can see, but it actually works! just need to initialize global variables, class/object constructors manually.. which is a bit involved .. but if i can make it work (a big if), i can publish single binary files, which will work as clap, vst2, vst3, and standalone executable..
- sysrqer
- Established Member
- Posts: 2524
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 153 times
- Contact:
Re: mip2
Sorry for not coming back, I had this open in a tab along with the other hundred or so others I intend to get back to
I am using Bitwig and no snap or flatpak (installed via AUR and the deb package).
Just tried the test_layout and it certainly looks to be an improvement, this is how it looks when loaded - there is still some corruption at the top:
And this is when I turn one of the knobs:
- sysrqer
- Established Member
- Posts: 2524
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 153 times
- Contact:
Re: mip2
I checked Bitwig's plugin errors and this is what it says about the ladspa plugin:
I also noticed that there is an entry there for the git folder I have, does bitwig scan the entire home for clap plugins? I had copied them into ~/.clap so this would explain why I have them listed twice in bitwig.
Code: Select all
com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Communications error with plugin host process
exit code:139
stdout:
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
Successfully set thread realtime priority to 50
PluginHost: Reading CLAP plugin metadata for /home/me/.clap/sa_ladspa_wrapper.clap
- skei
- Established Member
- Posts: 343
- Joined: Sun May 18, 2014 4:24 pm
- Has thanked: 8 times
- Been thanked: 58 times
- Contact:
Re: mip2
first, thanks for testing again!sysrqer wrote: ↑Sun Aug 21, 2022 10:18 amI am using Bitwig and no snap or flatpak (installed via AUR and the deb package).
Just tried the test_layout and it certainly looks to be an improvement, this is how it looks when loaded - there is still some corruption at the top:
(screenshot)
And this is when I turn one of the knobs:
(screenshot)
looks very much like some clipping issues, since the knobs themselves are drawn ok..
i will investigate further!
may i ask what video card you are using? and drivers?