I'm not, sorry. There was a server running from moddevices but that one is currently offline. Anyway, running a LV2 plug in a server needs some special treatment when building the plug, and requires a special UI. UI's generated by XUiDesigner wouldn't be able to run in a server.
XUiDesigner v0.5 released
Moderators: raboof, MattKingUSA, khz
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: XUiDesigner v0.5 released
On the road again.
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: XUiDesigner v0.5 released
Yes, there is reaper, ardour and Ildaeil (by falktx) to name a few. Falktx provide binary's for linux macos and windows here:
https://github.com/DISTRHO/Ildaeil/releases/tag/v1.0
the others been easy to find by web search.
https://github.com/DISTRHO/Ildaeil/releases/tag/v1.0
the others been easy to find by web search.
On the road again.
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
XUiDesigner v0.7 released
XUiDesigner v0.7 released
A easy to use tool to generator/design X11 based LV2 plugins.
Beside that XUiDesigner allow to generate and install GUI's for existing LV2 plugins, it support as well to generate LV2 plugins from scratch.
Special support is implemented for FAUST dsp files, which allow you to generate a LV2 plugin with X11 based UI by just drag'n'drop a FAUST dsp file into the XUiDesigner interface. This works now as well for MIDI capable faust modules.
In any way, you don't need to interference with any of the annoying LV2 implementations. XUiDesigner handle that all for you.
The very same is true when you like to implement your own dsp (C or C++) into a LV2 plugin. You could create the GUI interface, save the plugin bundle, and implement the needed calls to init, activate and run your dsp.
This release comes with a couple of Bug-fixes and aims to be nearly stable.
Here is a introduction Wiki entry to show the first steps.
New in this release:
implement interim save format (json)
(Allow to load and rework the generated UI in XUiDesigner at any time)
Project page:
https://github.com/brummer10/XUiDesigner
Download Release:
https://github.com/brummer10/XUiDesigne ... 0.7.tar.gz
Enjoy anyway.
A easy to use tool to generator/design X11 based LV2 plugins.
Beside that XUiDesigner allow to generate and install GUI's for existing LV2 plugins, it support as well to generate LV2 plugins from scratch.
Special support is implemented for FAUST dsp files, which allow you to generate a LV2 plugin with X11 based UI by just drag'n'drop a FAUST dsp file into the XUiDesigner interface. This works now as well for MIDI capable faust modules.
In any way, you don't need to interference with any of the annoying LV2 implementations. XUiDesigner handle that all for you.
The very same is true when you like to implement your own dsp (C or C++) into a LV2 plugin. You could create the GUI interface, save the plugin bundle, and implement the needed calls to init, activate and run your dsp.
This release comes with a couple of Bug-fixes and aims to be nearly stable.
Here is a introduction Wiki entry to show the first steps.
New in this release:
implement interim save format (json)
(Allow to load and rework the generated UI in XUiDesigner at any time)
Project page:
https://github.com/brummer10/XUiDesigner
Download Release:
https://github.com/brummer10/XUiDesigne ... 0.7.tar.gz
Enjoy anyway.
On the road again.
- LinMusGuy
- Established Member
- Posts: 551
- Joined: Wed Feb 27, 2019 9:33 pm
- Has thanked: 22 times
- Been thanked: 2 times
Re: XUiDesigner v0.5 released
Some more testing (on Linux Mint):
- FunnyLoop1 works with its XUiDesigner made GUI in Carla.
- FunnyLoop1 works with its XUiDesigner made GUI in Jalv.
- FunnyLoop1 works in Reaper, but there is no GUI.
FunnyLoop1 appears in the LV2 list of Reaper, but not in the LV2i list. Could that be the problem?
- FunnyLoop1 works with its XUiDesigner made GUI in Carla.
- FunnyLoop1 works with its XUiDesigner made GUI in Jalv.
- FunnyLoop1 works in Reaper, but there is no GUI.
FunnyLoop1 appears in the LV2 list of Reaper, but not in the LV2i list. Could that be the problem?
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: XUiDesigner v0.5 released
I just did a quick test in reaper and it works here:
I really didn't know, it may be that reaper didn't like additional UI's, means in a separated package. It's still LV2 standard to do so, but, as far I remember reaper implemented there own LV2 parser so it may fail between the lines.
So you may try what happen when you parse your faust file directly within XUiDesigner and generate the complete package at once instead create a extra GUI package. (Still you could rework the UI later by load the json file)
In case you didn't like the polyphony controller, just delete it from the UI before save first time. That didn't harm.
On more plus doing it this way is that the ttl descriptor provide the correct information about controllers in case you switch the controller (toggle button to simple button for example) so that the generic UI provided by reaper could display the correct controller for that port.
One more point in doing it this way is, when I implemented support for display a virtual keyboard on the plugin UI, the complete plugin must be in one package, because it requires a additional port which cant be added afterwards.
I really didn't know, it may be that reaper didn't like additional UI's, means in a separated package. It's still LV2 standard to do so, but, as far I remember reaper implemented there own LV2 parser so it may fail between the lines.
So you may try what happen when you parse your faust file directly within XUiDesigner and generate the complete package at once instead create a extra GUI package. (Still you could rework the UI later by load the json file)
In case you didn't like the polyphony controller, just delete it from the UI before save first time. That didn't harm.
On more plus doing it this way is that the ttl descriptor provide the correct information about controllers in case you switch the controller (toggle button to simple button for example) so that the generic UI provided by reaper could display the correct controller for that port.
One more point in doing it this way is, when I implemented support for display a virtual keyboard on the plugin UI, the complete plugin must be in one package, because it requires a additional port which cant be added afterwards.
On the road again.
- LinMusGuy
- Established Member
- Posts: 551
- Joined: Wed Feb 27, 2019 9:33 pm
- Has thanked: 22 times
- Been thanked: 2 times
Re: XUiDesigner v0.5 released
I don't quite understand what you mean. Should I do the following?:
- Drop the dsp file in XUiDesigner.
- Save as Full Plugin-Bundle.
- Change the GUI if you like to.
- Do "make" and afterwards "make install" in the Command Line from the top directory of FunnyLoop1_ui.
- Drop the dsp file in XUiDesigner.
- Save as Full Plugin-Bundle.
- Change the GUI if you like to.
- Do "make" and afterwards "make install" in the Command Line from the top directory of FunnyLoop1_ui.
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: XUiDesigner v0.5 released
Yes. That allow to create UI and plugin into one single bundle.
Don't forget to declare nvoices in the dsp file when you need midi support.
If you would change a controller to a other type, you best do it before save the first time. The same is true when you would remove a controller. You could do it afterwards, but then, the descriptor in the ttl may not match (not a big problem, but cosmetic).
Don't forget to declare nvoices in the dsp file when you need midi support.
If you would change a controller to a other type, you best do it before save the first time. The same is true when you would remove a controller. You could do it afterwards, but then, the descriptor in the ttl may not match (not a big problem, but cosmetic).
On the road again.
- LinMusGuy
- Established Member
- Posts: 551
- Joined: Wed Feb 27, 2019 9:33 pm
- Has thanked: 22 times
- Been thanked: 2 times
Re: XUiDesigner v0.5 released
For this GUI:
I did:
But then "make" in the Command Line ends in errors:
I did:
But then "make" in the Command Line ends in errors:
Code: Select all
FunnyLoop1.cpp:37:17: error: ‘Dsp’ in namespace ‘funnyloop1’ does not name a type
37 | funnyloop1::Dsp* plugin;
| ^~~
FunnyLoop1.cpp: In constructor ‘funnyloop1::Xfunnyloop1::Xfunnyloop1()’:
FunnyLoop1.cpp:71:5: error: class ‘funnyloop1::Xfunnyloop1’ does not have any field named ‘plugin’
71 | plugin(funnyloop1::plugin()) {};
| ^~~~~~
FunnyLoop1.cpp:71:24: error: ‘plugin’ is not a member of ‘funnyloop1’; did you mean ‘FunnyLoop1::plugin’?
71 | plugin(funnyloop1::plugin()) {};
| ^~~~~~
In file included from FunnyLoop1.cpp:17:
FunnyLoop1.cc:137:6: note: ‘FunnyLoop1::plugin’ declared here
137 | Dsp *plugin() {
| ^~~~~~
FunnyLoop1.cpp: In destructor ‘funnyloop1::Xfunnyloop1::~Xfunnyloop1()’:
FunnyLoop1.cpp:75:5: error: ‘plugin’ was not declared in this scope; did you mean ‘FunnyLoop1::plugin’?
75 | plugin->del_instance(plugin);
| ^~~~~~
| FunnyLoop1::plugin
In file included from FunnyLoop1.cpp:17:
FunnyLoop1.cc:137:6: note: ‘FunnyLoop1::plugin’ declared here
137 | Dsp *plugin() {
| ^~~~~~
FunnyLoop1.cpp: In member function ‘void funnyloop1::Xfunnyloop1::init_dsp_(uint32_t)’:
FunnyLoop1.cpp:82:5: error: ‘plugin’ was not declared in this scope; did you mean ‘FunnyLoop1::plugin’?
82 | plugin->init(rate);
| ^~~~~~
| FunnyLoop1::plugin
In file included from FunnyLoop1.cpp:17:
FunnyLoop1.cc:137:6: note: ‘FunnyLoop1::plugin’ declared here
137 | Dsp *plugin() {
| ^~~~~~
FunnyLoop1.cpp: In member function ‘void funnyloop1::Xfunnyloop1::run_dsp_(uint32_t)’:
FunnyLoop1.cpp:129:9: error: ‘bypass_’ was not declared in this scope; did you mean ‘bypass’?
129 | if (bypass_ != static_cast<uint32_t>(*(bypass))) {
| ^~~~~~~
| bypass
FunnyLoop1.cpp:129:42: error: no match for ‘operator*’ (operand type is ‘PortIndex’)
129 | if (bypass_ != static_cast<uint32_t>(*(bypass))) {
| ^~~~~~~~~
FunnyLoop1.cpp:130:41: error: no match for ‘operator*’ (operand type is ‘PortIndex’)
130 | bypass_ = static_cast<uint32_t>(*(bypass));
| ^~~~~~~~~
FunnyLoop1.cpp:142:9: error: ‘plugin’ was not declared in this scope; did you mean ‘FunnyLoop1::plugin’?
142 | plugin->compute(n_samples, output1);
| ^~~~~~
| FunnyLoop1::plugin
In file included from FunnyLoop1.cpp:17:
FunnyLoop1.cc:137:6: note: ‘FunnyLoop1::plugin’ declared here
137 | Dsp *plugin() {
| ^~~~~~
FunnyLoop1.cpp: In member function ‘void funnyloop1::Xfunnyloop1::connect_all__ports(uint32_t, void*)’:
FunnyLoop1.cpp:154:5: error: ‘plugin’ was not declared in this scope; did you mean ‘FunnyLoop1::plugin’?
154 | plugin->connect(port,data);}
| ^~~~~~
| FunnyLoop1::plugin
In file included from FunnyLoop1.cpp:17:
FunnyLoop1.cc:137:6: note: ‘FunnyLoop1::plugin’ declared here
137 | Dsp *plugin() {
| ^~~~~~
make[1]: *** [makefile:97: FunnyLoop1] Error 1
make[1]: Leaving directory '/home/nameless/Desktop/FunnyLoop1_ui/FunnyLoop1'
make: *** [makefile:13: FunnyLoop1] Error 2
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: XUiDesigner v0.5 released
Ah, the issue is in the declared name,
declare name "Funny Loop";
contain a white-space.
rename it to
declare name "funnyloop";
or
declare name "funny_loop";
will make it work.
In the mean time I'll investigate to support white-space in names.
On the road again.
- LinMusGuy
- Established Member
- Posts: 551
- Joined: Wed Feb 27, 2019 9:33 pm
- Has thanked: 22 times
- Been thanked: 2 times
Re: XUiDesigner v0.5 released
Changing "Funny Loop" into "funnyloop" doesn't help, "make" still ends in errors.
I'm using this dsp file now:
I'm using this dsp file now:
Code: Select all
declare name "funnyloop";
import("maths.lib");
import("filters.lib");
var = 10^7*(hslider("variation", 0.20, 0.05, 0.25, 0.001))^4;
vol = 0.1*(hslider("volume", 0.5, 0, 1, 0.0001))^2;
start = 0.01*button("start");
pol = 1 - ( 2 - hslider("sway", 0.25, 0.01, 0.5, 0.0001) )*button("restart");
A = _ , start :> _*-1 : _ ;
B = _ : _*var : atan : pole(pol) : _*var : atan : pole(pol) : _*var : _ ;
C = A~B ;
process = C : atan : _*vol <: _,_ ;
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: XUiDesigner v0.5 released
Okay, I've fixed the issue, except the one for the white-space. That will come later.
But, after update, your funnyloop.dsp should work now when dropped on XUiDesigner.
I can confirm that Reaper refuse to load UI's from a extra bundle.
But, after update, your funnyloop.dsp should work now when dropped on XUiDesigner.
I can confirm that Reaper refuse to load UI's from a extra bundle.
On the road again.
- LinMusGuy
- Established Member
- Posts: 551
- Joined: Wed Feb 27, 2019 9:33 pm
- Has thanked: 22 times
- Been thanked: 2 times
Re: XUiDesigner v0.5 released
I get a fully working FunnyLoop1 plugin complete with the XUiDesigner made GUI in Reaper when I put Ildaeil-Synth in a track on Reaper and load FunnyLoop1 in Ildaeil-Synth. Thus:
- LinMusGuy
- Established Member
- Posts: 551
- Joined: Wed Feb 27, 2019 9:33 pm
- Has thanked: 22 times
- Been thanked: 2 times
Re: XUiDesigner v0.5 released
The FunnyLoop1 plugin (in the two maps version) is also working now complete with the XUiDesigner made GUI in LMMS when I open it in Carla Rack in LMMS.
Is the virtual keyboard for XUiDesigner made GUI's already available?
Is the virtual keyboard for XUiDesigner made GUI's already available?