LSP Plugins release 1.1.10 is ready!

The development of 1.1.10 version took the longest cycle in contrast to previous releases.
All the changes were planned since January 2019 but many supplementary problems should be solved first.
This release contains a lot of internal plugin framework changes, implementation of new UI widgets and, probably, a killer toy: LSP Room Builder plugin series. This plugin allows to simulate impulse response of ANY room (and not only room). You just need to model it first in a 3D editor/designer and export as a Wavefont (OBJ) file.

The overall changelist is the following:

  • Implemented 3D reverb simulator plugin series - Room Builder Mono and Room Builder Stereo.
  • Fixed improper InlineDisplay feature support in LV2 TTL files.
  • Plugin names now have ‘LSP’ prefix for the LV2 format.
  • Each plugin can now provide it’s custom UI class which is derived from common plugin’s UI class.
  • Code now compiles for the PPC64 architecture.
  • Code now compiles for the IBM s390x architecture.
  • Added command-line option to pass configuration file name for standalone JACK plugins.
    The settings stored in configuration file will be automatically loaded at startup.
  • Updated function signatures for libraries which now support ‘-fvisibility=hidden’
    compilation flag.
  • Added support of nested menus in the UI toolkit.
  • Added 3D scene rendering support in the UI by using different rendering backends.
  • Implemented GLX backend based on openGL 2.x for rendering 3D scenes.
  • Implemented key-value tree storage (KVTStorage) for storing and managing dynamic parameters.
  • Implemented key-value tree storage (KVTStorage) UI<->DSP synchronization mechanisms.
  • Implemented key-value tree storage (KVTStorage) serialization/deserialization in parameters.
  • Implemented key-value tree storage (KVTStorage) serialization/deserialization for the plugin state.
  • Implemented mechanism for UI<->DSP OSC message interchange.
  • Added support of OSC protocol messages serialization, deserialization and pattern matching.
  • Optimized complex number functions for AArch64 architecture.
  • Changed installation path for jack core library from to /lsp-plugins.
  • Added more careful file type analysis for non-EXT file systems.
  • Added support of Hygon Dhyana x86 family CPU optimizations and detection of some other CPU vendors.
  • Now both release and test binaries are available to build into separate subdirectories independently.
  • Improved built-in resource generation tool.
  • Embedded resources are now alphabetically sorted to make the build more deterministic.
  • Added support of built-in presets for plugin’s UI.

You can help the project by donating on BountySource page
Also you may submit your *.obj models of room. And if they are good, they will be added to the list of presets in the future releases of Room Builder plugin.

The URL to video with plugin review: https://youtu.be/J-ruYw9TwCE

7 Likes

:star_struck: I’m very impressed!

1 Like

Crazzy fantastic stuff!! (3D build reverb)

Amazing work, indeed! Now I only need a 32 core machine to render those IRs more quickly.

How portable is the whole thing? I know “L” in LSP stands for Linux, but now the plugins also run on BSD…
Is there a good reason to deprive other OS users from those plugins? It would be cool to have them available on all systems that Ardour runs on.

1 Like

That’s one of the future targets of LSP evolution. Some code already can be compiled for Windows platform, but not completely. I believe I need to perform decomposition of entire repository into separate modules: testing, SIMD-optimized DSP, UI libraries and, of course, plugins. This will help to accelerate portability but also requires a lot of architectural job.
Also I don’t want to distribute LSP binaries for free for commercial platforms. @x42, I believe you already have such experience with x42 plugins?

Also I don’t want to distribute LSP binaries for free for commercial platforms…

The fairest / clearest option would be to charge for binaries on all platforms, or none. Many people use a mixture of open-source, free, non-commercial and commercial software on other OS (maybe an OS that just came pre-installed on their PC, or suits their existing workflow) not just Linux.

2 Likes

Yes, this is also what I do for the x42-plugins. Know to work, tested plugin binaries, and support is a commercial endeavor - regardless of OS.

You can get the source, and do whatever you like (in terms of the GPL), but you’re on your own then. Some Linux distros offer packages and there’s a mac homebrew repo as well. It’s very similar to Ardour, really.

I don’t want anyone to force an OS onto me, so I consider it only fair not ask users to switch to Linux either. Then again I can also understand developers to prioritize an OS over another for their software.

Anyway it’s great to know that LSPlugins plan to some day also run on other platforms! Keep up the good work!

So while I am not going to jump into the shark, electric eel, piranha, blue ringed octopus, or whatever other deadly sea creature fits your fancy, infested water of the politics of charging vs not charging on specific OSes, I will give one other thing use case to consider that may or may not make a difference to anyone.

I teach a class annually that is an introductory mixing class. Really it tends to be focused more on ear training than mixing honestly, but I use mixing in Mixbus as the impetus for it. Part of my difficulty has been finding good plugins available across platform for my students for relatively cheap/free when they are already spending a lot of money on the class itself. A decent, and comprehensive, set of plugins that allows for across platform work (so they aren’t wondering why their session no longer sounds the same on Windows from the Mac desktop in the lab) is something that is really needed if anyone wants to step up to that need.

I do understand that everyone wants to get rewarded for the time they spent developing things, and that is more than your right, it should be the norm but it gets harder and harder every year for me to justify the cost of colleges to my students, and as a result I try to keep additional costs to a minimum for them as much as possible.

      Seablade

I do understand that everyone wants to get rewarded for the time they spent developing things, and that is more than your right, it should be the norm but it gets harder and harder every year for me to justify the cost of colleges to my students, and as a result I try to keep additional costs to a minimum for them as much as possible.

… and, it gets harder and harder to make a living in all aspects of this industry generally, and that will be true for your students too when they become professionals in the industry, and (as they should) expect to be rewarded for their work (if nothing else, to cover the cost of their studies). Eventually there won’t be any new students, because it won’t be seen as a viable living…

it gets harder and harder every year for me to justify the cost of colleges to my students, and as a result I try to keep additional costs to a minimum for them as much as possible.

hmm - I completely get where you are coming from, but, in effect this feels as if other people should be rewarded less, so that your business case is still attractive? - Perhaps I’m misinterpreting that, but I’m not sure if that’s best for anyone long-term…

‘Today class, we’re going to learn about how college places cost money, but software is free…’ :slight_smile:

(These are GPL, so, I guess the license would allow you to build them yourself, and distribute them to your students for free - or better, encourage them to do so for themselves - that way they also get an appreciation that software doesn’t just magically happen… :slight_smile: )

But enough of that, @SadKo - these seem like very fine plug-ins, which you’ve obviously put a lot of time and work into, so, own the value of what you create - don’t just give it all away.

I’d like to add that LSP Plugins do accept donations and I am most happy to donate some amount whenever I have some extra cash (unfortunately, not as often as I’d wish…). So until Vladimir decides to put a price tag on his products, I invite all interested to consider financially support his fine work.

1 Like

I teach a class annually that is an introductory mixing class. Really it tends to be focused more on ear training than mixing honestly, but I use mixing in Mixbus as the impetus for it.

I appreciate you work but if you’ve started to talk about your business, let’s talk about my business.
I don’t know how much you earn from your students and don’t want to ask because it is pretty impolite. But let’s talk about my budget as of a plugin developer starting from January, 2019.
According to statistics of BountySource, I’m getting around 30$/month donations. Up to this month, it will be around $30*7 = $210, including BountySource’s tax of 10% it will be $189.
To develop Room Builder Plugin, I’ve spent around 4 hr/day, often working at weekends, too. So we’ll consider that I was working 20hr/week to get the things done up to the end of July.
The period from January up to the end of March was an Research and Development period. I already knew that raytracing of single rays won’t work in large rooms. The research was targeted to find the proper solution for raytracing of ray groups in any 3D environment. This took around 240 hours of development.
The nearly April I was forced to solve the problem of integrating 3D rendering library (openGL) with a 2D rendering library (cairo), all within X11 environment. Also I was forced to solve supplementary tasks like proper rendering of transparent walls in the UI (this requires implementation of BSP trees). So we’ll consider that I’ve spent 80 hours for it.
Then I met another problems as a result of the UI implementation. Because you can load any 3D model for the Room Builder plugin, the DSP code (backend) nad UI (frontend) should properly handle variable number of 3D objects. Plugin developers know, that not all plugin APIs provide well such facility, especially hard things are with LV2 which separates UI from DSP and requires implementation of additiional UI<->DSP exchange protocol. So I was involved in development of OSC message serialization/deserialization support and implementation of special tree data structure - Key-Value-Tree Storage (KVTStorage). Also some significant refactoring of UI engine was required to support all this. - 240 hours.

At the same time, I also worked on portability of plugins. You know, Microsoft doesn’t allow to use both 32- and 64-bit installations even if provides two installation DVDs in one box. So I was forced to buy Windows 7 box license ($70) and Windows 8 box license ($70) to install all this stuff in a virtual environment.

Also, I’m supporting Ardour directly from these donations - $10/month, so I’ve spent $70 on Ardour support.
So, the final calculations are

  • In money: $189 - 3*$70 = -$21
  • In time: 560 hours.

I believe if you’d spent 560 hours with your students, you would earn more than -$21.
If I’d quit my full-time job (for which I additionally spend 8hr/day), all my family would die from hunger and you would’nt finally get Room Builder plugin series at all.

So I consider my position pretty fair and pretty philosophic: if people are ready to pay for commercial software and proprietary solutions like Windows, Cubase, Reaper, Apple MacBook with MacOS and ProTools, they’re pretty ready to buy yet another LSP Plugin suite for some funny price.

I’d like to add that LSP Plugins do accept donations and I am most happy to donate some amount whenever I have some extra cash (unfortunately, not as often as I’d wish…).

I really appreciate all your donations. They help me to get some tools that will help to promote LSP project. For example, I’ve purchased set of ARM-based single-board computers which helped me to provide better portability of plugins for the ARM 32-bit and 64-bit platforms.

3 Likes

Well that got more of a response than I was anticipating.

To be clear I have no problem with anyone charging for their work. And to be clear while teaching at the university I do make some money, the money is far from the only reason I am here and probably the smallest reason. I only wanted to toss out the thought for people to consider, not say that things should be a certain price or free. And yes for the record I have put my money where my mouth is on open source software (As well as closed source obviously) I have used in the past. The comment wasn’t about me paying for it at all honestly and if it was it would have been a moot issue and I wouldn’t have much leg to stand on.

The comment was more for consideration for those that need to make a living from their work to balance the needs and the philosophy of why they develop in open source. For some people this is not a compelling reason and I am perfectly fine with that. For some people it may be, and that is fine as well. To each their own. This is not an attack on anyone making money from software development.

Not exactly, in this case the ‘business case’ as it exists for my teaching is a completely separate conversation to me, but suffice to say I do think it is going to shrink significantly here in the not so distant future for completely different reasons honestly. Suffice to say I care far less about my personal ‘business case’ as much as I do about giving my students as much of a possibility to succeed as possible, and if there are others that are like minded great, if not either I need to step up and do it (Which I have in other cases) or they will have to deal.

I guess the entire premise of my point has to do with the question of ‘Why Open Source?’ (Or in a less specific way, ‘why create new tools’) for a developer and must be answered by each developer personally. As I stated above for some people my premise make absolutely no difference, and that is fine I have no problem with that and will continue to support those I can/should/etc. no matter what their answer is as I respect most sides of this debate.

     Seablade

Really powerful tool!

Tested with Blender:

4 Likes

Glad to see you’ve liked this toy.
A good example how to get set of different reverbs with a simple box with a hole within ten minutes.
It would be also nice to rename the video from “lsp_room_builder” to “LSP Room Builder”. I believe it will be better indexed by search engines then.

It would be also nice to rename the video from “lsp_room_builder” to “LSP Room Builder”.

Done!

1 Like