mip2

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

mip2

Post by skei »

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
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

well, i can just as well post this example too.. the traditional, simplistic gain plugin, the "hello world!" of plugins..

Image

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)
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

i'm also rebuilding sa_botage using the mip2 toolkit..

Image
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

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
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

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)..
User avatar
sysrqer
Established Member
Posts: 2516
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 147 times
Contact:

Re: mip2

Post by sysrqer »

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:
Screenshot_20220812_104045.png
Screenshot_20220812_104045.png (8.1 KiB) Viewed 1663 times
And this is what happens if I try to move a slider or the knob:
Screenshot_20220812_104029.png
Screenshot_20220812_104029.png (46.78 KiB) Viewed 1663 times
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

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..
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

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)..

Image
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

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 :-D
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

nobody?
too bad...
User avatar
9_9
Posts: 1
Joined: Sun Aug 21, 2022 12:55 am

Re: mip2

Post by 9_9 »

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! :o
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

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! :o
thanks a lot for testing! good to hear that this (initial version) generally works..

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:

Image

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..
User avatar
sysrqer
Established Member
Posts: 2516
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 147 times
Contact:

Re: mip2

Post by sysrqer »

skei wrote: Fri Aug 12, 2022 10:44 am
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?
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 :lol:

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:
Screenshot_20220821_111040.png
Screenshot_20220821_111040.png (37.54 KiB) Viewed 1366 times
And this is when I turn one of the knobs:
Screenshot_20220821_111058.jpg
Screenshot_20220821_111058.jpg (72.08 KiB) Viewed 1366 times
User avatar
sysrqer
Established Member
Posts: 2516
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 147 times
Contact:

Re: mip2

Post by sysrqer »

I checked Bitwig's plugin errors and this is what it says about the ladspa plugin:

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
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.
User avatar
skei
Established Member
Posts: 334
Joined: Sun May 18, 2014 4:24 pm
Has thanked: 8 times
Been thanked: 57 times
Contact:

Re: mip2

Post by skei »

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)
first, thanks for testing again!
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?
Post Reply