Sneak Preview: LV2 Create

Programming applications for making music on Linux.

Moderators: khz, MattKingUSA

j_e_f_f_g
Established Member
Posts: 1045
Joined: Fri Aug 10, 2012 10:48 pm

Sneak Preview: LV2 Create

Postby j_e_f_f_g » Mon Aug 12, 2013 5:42 am

Here's a sneak preview of my newest project, so y'all can get an idea how it works so far. It's a tool for developers making LV2 plugins. It's called "LV2 Create". It's a GUI utility that lets you easily enter information about a plugin, without needing to know too many details about LV2 (certainly not about those godawful, over-engineered, developer/enduser hostile, inefficient, easily-broken TTL files. Terrible design for audio work). Then you click a button, and the utility creates the TTL files, and C skeleton code for the plugin. You just need to add your DSP code, and compile to create your plugin. It even generates the GNU Makefile for you. (Well, it will when I finish it).

Anyway that's the goal. The TTL generation is finished. So you can use it to generate TTL files for your plugins. But it doesn't produce the finished C source yet. (I'll be working on that this week). And yes, it does have help windows. Click on those Help buttons (or press F1) to learn how to use it.

I didn't include an executable since it's still evolving. Compile it yourself by typing "make" in a terminal.

http://home.roadrunner.com/~jgglatt/lv2_create.zip

male
Established Member
Posts: 232
Joined: Tue May 22, 2012 5:45 pm

Re: Sneak Preview: LV2 Create

Postby male » Mon Aug 12, 2013 5:56 pm

j_e_f_f_g wrote:Here's a sneak preview of my newest project, so y'all can get an idea how it works so far. It's a tool for developers making LV2 plugins. It's called "LV2 Create". It's a GUI utility that lets you easily enter information about a plugin, without needing to know too many details about LV2 (certainly not about those godawful, over-engineered, developer/enduser hostile, inefficient, easily-broken TTL files. Terrible design for audio work). Then you click a button, and the utility creates the TTL files, and C skeleton code for the plugin. You just need to add your DSP code, and compile to create your plugin. It even generates the GNU Makefile for you. (Well, it will when I finish it).

Anyway that's the goal. The TTL generation is finished. So you can use it to generate TTL files for your plugins. But it doesn't produce the finished C source yet. (I'll be working on that this week). And yes, it does have help windows. Click on those Help buttons (or press F1) to learn how to use it.

I didn't include an executable since it's still evolving. Compile it yourself by typing "make" in a terminal.

http://home.roadrunner.com/~jgglatt/lv2_create.zip


Jeff, remind me why you prefer LV2 over LADSPA/DSSI again? You seem to be complaining about LV2's architecture a lot in this post and it's a bit incongruent.
Image

nilshi
Established Member
Posts: 277
Joined: Wed Oct 22, 2008 9:05 pm
Contact:

Re: Sneak Preview: LV2 Create

Postby nilshi » Mon Aug 12, 2013 6:30 pm

What is the difference to FAUST?

ssj71
Established Member
Posts: 1292
Joined: Tue Sep 25, 2012 6:36 pm

Re: Sneak Preview: LV2 Create

Postby ssj71 » Mon Aug 12, 2013 7:56 pm

NilsGey wrote:What is the difference to FAUST?

I requested such a program. I don't have much desire to learn faust or any other language, but I think its pretty much the same idea, just in C. I'm lazy and want to write c dsp for plugins. Jeff's program will cater to that. It will hopefully be useful for lots of potential developers.
_ssj71

music: https://soundcloud.com/ssj71
My plugins are Infamous! http://ssj71.github.io/infamousPlugins
I just want to get back to making music!

j_e_f_f_g
Established Member
Posts: 1045
Joined: Fri Aug 10, 2012 10:48 pm

Re: Sneak Preview: LV2 Create

Postby j_e_f_f_g » Mon Aug 12, 2013 8:42 pm

male wrote:remind me why you prefer LV2 over LADSPA/DSSI


I don't. It would have been better if LADSPA had been updated to fix its deficiencies (i.e a way to implement MIDI control or some other efficient form of realtime automation, a better way for the plugin to tell a host how to visually draw a control and set its range/value). But that's not what happened.

LV2 addresses the deficiencies, but does so using "turtle". Turtle is ok if your boss says "I want you to update our software to be more extensible. It operates via the internet, on an already existing, large database stored in a proprietary text-based format. You have 2 weeks to update the software and do any needed database conversion".

But as a database format for audio plugins, it's a horrible idea. Nevertheless, too many notable music apps have moved to support it, in lieu of something better. And it's too late to stop the trainwreck. LV2 is here. LADSPA/DSSI is off to the graveyard.

j_e_f_f_g
Established Member
Posts: 1045
Joined: Fri Aug 10, 2012 10:48 pm

Re: Sneak Preview: LV2 Create

Postby j_e_f_f_g » Mon Aug 12, 2013 9:03 pm

NilsGey wrote:What is the difference to FAUST?


A discussion of Faust versus C/C++ is not germane to this topic. But in general, for anything important I plan to use for a long time, I try to avoid relying on oddball, esoteric support. A generally single-purpose programming language doesn't appeal to me. Even the most successful examples of COBOL and Forth demonstrate the perils.

Anyway, Faust does nothing to help create ttl files. LV2 Create does.

male
Established Member
Posts: 232
Joined: Tue May 22, 2012 5:45 pm

Re: Sneak Preview: LV2 Create

Postby male » Tue Aug 13, 2013 4:17 am

j_e_f_f_g wrote:
male wrote:remind me why you prefer LV2 over LADSPA/DSSI


I don't. It would have been better if LADSPA had been updated to fix its deficiencies (i.e a way to implement MIDI control or some other efficient form of realtime automation, a better way for the plugin to tell a host how to visually draw a control and set its range/value). But that's not what happened.

LV2 addresses the deficiencies, but does so using "turtle". Turtle is ok if your boss says "I want you to update our software to be more extensible. It operates via the internet, on an already existing, large database stored in a proprietary text-based format. You have 2 weeks to update the software and do any needed database conversion".

But as a database format for audio plugins, it's a horrible idea. Nevertheless, too many notable music apps have moved to support it, in lieu of something better. And it's too late to stop the trainwreck. LV2 is here. LADSPA/DSSI is off to the graveyard.


Too late, huh? One can still count the number of LV2 specific plugins on both hands. So in other words, your answer is that you know LV2 is inferior or at least not an improvement, but you promote it anyway.
Image

j_e_f_f_g
Established Member
Posts: 1045
Joined: Fri Aug 10, 2012 10:48 pm

Re: Sneak Preview: LV2 Create

Postby j_e_f_f_g » Tue Aug 13, 2013 7:32 am

male wrote:One can still count the number of LV2 specific plugins on both hands.


You must have a lot of fingers (and expecting to grow more).

male wrote:you know LV2 is inferior or at least not an improvement, but you promote it anyway.


I'm not "promoting" anything. i'm simply trying to mitigate the pain of dealing with LV2.

I'm not sure if your comments are you just being antagonistic for the hell of it, as usual. But if you have an axe to grind with LV2, and looking to fight with someone, you're flailing at the wrong person. My bottom line is that the turtle stuff makes LV2 not a good audio plugin design.

Alwaysanewb
Established Member
Posts: 232
Joined: Sat Oct 13, 2012 9:04 pm

Re: Sneak Preview: LV2 Create

Postby Alwaysanewb » Tue Aug 13, 2013 12:59 pm

I think it would be awesome to have something like that.

male
Established Member
Posts: 232
Joined: Tue May 22, 2012 5:45 pm

Re: Sneak Preview: LV2 Create

Postby male » Tue Aug 13, 2013 3:41 pm

j_e_f_f_g wrote:
male wrote:One can still count the number of LV2 specific plugins on both hands.


You must have a lot of fingers (and expecting to grow more).

male wrote:you know LV2 is inferior or at least not an improvement, but you promote it anyway.


I'm not "promoting" anything. i'm simply trying to mitigate the pain of dealing with LV2.

I'm not sure if your comments are you just being antagonistic for the hell of it, as usual. But if you have an axe to grind with LV2, and looking to fight with someone, you're flailing at the wrong person. My bottom line is that the turtle stuff makes LV2 not a good audio plugin design.


You flatter yourself Jeff, as usual. I simply find it fascinating that everyone seems to know that LV2 is an 'over engineered' mess that barely extends the capabilities of DSSI, and yet welcomes everyone to hammer nails into LADSPA/DSSI's coffin in favor of it. I suppose it makes sense that your hardheadedness doesn't imply any kind of actual fortitude.
Image

male
Established Member
Posts: 232
Joined: Tue May 22, 2012 5:45 pm

Re: Sneak Preview: LV2 Create

Postby male » Tue Aug 13, 2013 4:19 pm

NilsGey wrote:What is the difference to FAUST?


Faust is an actual DSP programming language written by intelligent people to be a more or less complete solution for authoring DSP plugins. It generates code for several plugin standards.

LV2 Create is just a wizard-like script to generate the metadata file used by LV2 plugin discovery process. It allows one to say "this plugin, which is identified by such and such URI has 2 audio input ports named a and b"--nothing more.
Image

ssj71
Established Member
Posts: 1292
Joined: Tue Sep 25, 2012 6:36 pm

Re: Sneak Preview: LV2 Create

Postby ssj71 » Tue Aug 13, 2013 6:19 pm

male wrote:LV2 Create is just a wizard-like script to generate the metadata file used by LV2 plugin discovery process.

Which is exactly what I wanted. All politics aside, this is a useful contribution to the community. At least useful for me.
_ssj71

music: https://soundcloud.com/ssj71
My plugins are Infamous! http://ssj71.github.io/infamousPlugins
I just want to get back to making music!

j_e_f_f_g
Established Member
Posts: 1045
Joined: Fri Aug 10, 2012 10:48 pm

Re: Sneak Preview: LV2 Create

Postby j_e_f_f_g » Tue Aug 13, 2013 7:05 pm

male wrote:everyone seems to know that LV2 is an 'over engineered' mess


I don't know what "everyone knows", so thanks for the heads-up, Miss Cleo. But I'm assuming the folks who put together LV2 don't think that. Sure, I literally laughed out loud when reading the specs and I got to the part about choosing turtle. But I assume their goal wasn't to make a developer laugh.

welcomes everyone to hammer nails into LADSPA/DSSI's coffin


Given that there isn''t anyone addressing the deficiencies of those standards, it makes sense to conclude that more active projects will supplant them. Even Miss Cleo could call that one.

P.S. If the quoted content of your posts is repeatedly more than new content, and the entire contents of the post to which you're replying, then you're doing it wrong.

tramp
Established Member
Posts: 1391
Joined: Mon Jul 01, 2013 8:13 am

Re: Sneak Preview: LV2 Create

Postby tramp » Thu Aug 15, 2013 3:12 pm

The Idea to have a easy to use ttl file generator tool, is a good one. So I've checked what your tool provide, unfortunately I must say that it isn't what I've suspected.
From my experience the most time-consumption part when create the ttl file is to find the correct hints to use, to let the host know what the port is doing. Special for control ports with enums, int or float, range, . . .
A other point of critic, and I mean it constructive, is, I hate when a tool create a folder directly in my home dir, I've ordered project dirs, and it would be more common when I get asked were I wish to save my stuff, special when the tool just overwrite my older work. And it would be cool if you could select to just create a ttl file, not more.

However, you've said it's a preview so I guess there is room to improve it.
On the road again.

j_e_f_f_g
Established Member
Posts: 1045
Joined: Fri Aug 10, 2012 10:48 pm

Re: Sneak Preview: LV2 Create

Postby j_e_f_f_g » Fri Aug 16, 2013 1:57 am

tramp wrote:the correct hints to use, to let the host know what the port is doing. Special for control ports with enums, int or float, range


When you click the "New" button to define an Input (or Output) port, you should see 3 checkmark controls for "integer", "toggled", and "logarithmic". Also, there are controls to enter default, max, and min values. Did you click the "New" button? You should find it does what you want. (It doesn't yet do enum and scale points. Soon).

hate when a tool create a folder directly in my home dir


A shortcut to avoid coding a file dialog. May adjust later.


Return to “Developer's Section”

Who is online

Users browsing this forum: No registered users and 3 guests