Page 1 of 5

Sneak Preview: LV2 Create

Posted: Mon Aug 12, 2013 5:42 am
by j_e_f_f_g
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

Re: Sneak Preview: LV2 Create

Posted: Mon Aug 12, 2013 5:56 pm
by male
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.

Re: Sneak Preview: LV2 Create

Posted: Mon Aug 12, 2013 6:30 pm
by nilshi
What is the difference to FAUST?

Re: Sneak Preview: LV2 Create

Posted: Mon Aug 12, 2013 7:56 pm
by ssj71
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.

Re: Sneak Preview: LV2 Create

Posted: Mon Aug 12, 2013 8:42 pm
by j_e_f_f_g
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.

Re: Sneak Preview: LV2 Create

Posted: Mon Aug 12, 2013 9:03 pm
by j_e_f_f_g
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.

Re: Sneak Preview: LV2 Create

Posted: Tue Aug 13, 2013 4:17 am
by male
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.

Re: Sneak Preview: LV2 Create

Posted: Tue Aug 13, 2013 7:32 am
by j_e_f_f_g
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.

Re: Sneak Preview: LV2 Create

Posted: Tue Aug 13, 2013 12:59 pm
by Alwaysanewb
I think it would be awesome to have something like that.

Re: Sneak Preview: LV2 Create

Posted: Tue Aug 13, 2013 3:41 pm
by male
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.

Re: Sneak Preview: LV2 Create

Posted: Tue Aug 13, 2013 4:19 pm
by male
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.

Re: Sneak Preview: LV2 Create

Posted: Tue Aug 13, 2013 6:19 pm
by ssj71
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.

Re: Sneak Preview: LV2 Create

Posted: Tue Aug 13, 2013 7:05 pm
by j_e_f_f_g
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.

Re: Sneak Preview: LV2 Create

Posted: Thu Aug 15, 2013 3:12 pm
by tramp
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.

Re: Sneak Preview: LV2 Create

Posted: Fri Aug 16, 2013 1:57 am
by j_e_f_f_g
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.