LV2 X11 GUI generator/designer tool

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

tramp
Established Member
Posts: 2328
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 450 times

LV2 X11 GUI generator/designer tool

Post by tramp »

Hi


I'm currently working on a X11 based GUI generator/designer tool to make
LV2 GUI development a bit easier.

Current state is pre-alpha.

The tool is able to scan ttl files and create the needed control widgets
for a plugin, the widgets could be moved around, ordered in frames
and/or replaced by other control widgets (replace knob with slider etc.)

It's as well possible to just create a GUI without parsing a ttl, set
the controls, ranges, labels, etc.

It' inspired by Glade (which we heavily used in guitarix), but the
generated output file is a plain C file.

The resulting GUI could already be used (a small makefile will be
generated together with the gui definition C file so the GUI library
could be build)

Currently only libxputty (by a included wrapper file) is supported to
act as back-end library for the generated file, but that is just a
question of writing wrappers for other widget toolkits.

As mentioned above, this is pre-alpha, so no release jet, but the issue
tracker is open for comments and suggestions, as for bug reports.

If you like to give it a go, here it is:

https://github.com/brummer10/XUiDesigner

regards

hermann
On the road again.
User avatar
d.healey
Established Member
Posts: 608
Joined: Fri Sep 22, 2017 8:33 pm
Has thanked: 272 times
Been thanked: 100 times

Re: LV2 X11 GUI generator/designer tool

Post by d.healey »

Cool idea, good luck!
David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
Basslint
Established Member
Posts: 1511
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 382 times
Been thanked: 298 times

Re: LV2 X11 GUI generator/designer tool

Post by Basslint »

This could be huge! Props!
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
tramp
Established Member
Posts: 2328
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 450 times

Re: LV2 X11 GUI generator/designer tool

Post by tramp »

Here is a little gif demoing what you could do already.
Image
On the road again.
Basslint
Established Member
Posts: 1511
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 382 times
Been thanked: 298 times

Re: LV2 X11 GUI generator/designer tool

Post by Basslint »

Looking great! Are grids implemented yet, if not do you plan to?
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
tramp
Established Member
Posts: 2328
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 450 times

Re: LV2 X11 GUI generator/designer tool

Post by tramp »

Basslint wrote: Sun Feb 28, 2021 2:13 pm Are grids implemented yet,
Yes, grid and grid control (width, height) been implemented. As well you could select for every widget the snap point (left, Center, right).
Image loading for the controllers and backgrounds been supported as well.
the following widget types been supported for now:

Knob
HSlider
VSlider
Button
Toggle Button
ComboBox
Value Display
Label
VMeter
HMeter
Frame
TabBox
WaveView
File Chooser Button
On the road again.
Basslint
Established Member
Posts: 1511
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 382 times
Been thanked: 298 times

Re: LV2 X11 GUI generator/designer tool

Post by Basslint »

Wow, good job @tramp! Now please tell me if I can help you in some way to help you grow this program. I will certainly make an openSUSE package for it, that's for sure :D
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
tramp
Established Member
Posts: 2328
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 450 times

Re: LV2 X11 GUI generator/designer tool

Post by tramp »

@Basslint Thanks for your support.
Well, this tool isn't ready for distribution, I'll make a announcement when it reach that state.
Currently it have some rough edges when setup a new project/plug which I want to clear/automate.
Even true, I've make already my first plug using XUiDesigner:
Image

https://github.com/brummer10/XWaveView.lv2
On the road again.
User avatar
LAM
Established Member
Posts: 992
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 140 times
Been thanked: 348 times

Re: LV2 X11 GUI generator/designer tool

Post by LAM »

This is a very cool project @tramp! :D
I'm not a programmer but i see how this could improve design and speed up development of plugins.

Totally unrelated: Do you ever thought about making a simple oscilloscope plugin?
Like this: DiscoDSP Scope

in mix, nobody can hear your screen

tramp
Established Member
Posts: 2328
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 450 times

Re: LV2 X11 GUI generator/designer tool

Post by tramp »

Hi @LAM

I really don't know what waveform is displayed on this site. :(
But, for the case you talk about direct waveform rendering, I've already done it in guitarix within the Oscilloscope plugin. For LV2 this is a bit trickier, then the GUI performance depend on the host (updates per sec) which means it require a large buffer to render all data without data lost.
However, I've implemented a direct mode into XWaveView.lv2 now which will show you the wave form instead the RMS values. So you'll be able to inspect the influence of a nonlin plugin on the resulting waveform. Still, as I said, this requires a larger buffer and therefore there is a delay in the display.
On the road again.
User avatar
LAM
Established Member
Posts: 992
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 140 times
Been thanked: 348 times

Re: LV2 X11 GUI generator/designer tool

Post by LAM »

@tramp thank you very much, I will have a look at it.

in mix, nobody can hear your screen

tramp
Established Member
Posts: 2328
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 450 times

Re: LV2 X11 GUI generator/designer tool

Post by tramp »

/me doing some quick plugs with this tool:
https://github.com/brummer10/XMixer.lv2
https://github.com/brummer10/XKeyboard.lv2

regards
hermann
On the road again.
GMoon
Established Member
Posts: 51
Joined: Sat Oct 03, 2020 1:10 pm
Has thanked: 11 times
Been thanked: 20 times

Re: LV2 X11 GUI generator/designer tool

Post by GMoon »

This is really brilliant! The designer UI is a little rough (as stated - early alpha), but so cool (the widgets are really good)!!

PLEASE continue developing this!
tramp
Established Member
Posts: 2328
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 450 times

Re: LV2 X11 GUI generator/designer tool

Post by tramp »

GMoon wrote: Sat Jun 12, 2021 5:41 pm This is really brilliant! The designer UI is a little rough (as stated - early alpha), but so cool (the widgets are really good)!!

PLEASE continue developing this!
Thanks.

I've done some work on it , It is now able to generate a git repository with all needed sources, turtle and make files included.
The result could be directly compiled and installed and just work (dummy dsp implemented).
All you need to do is replace the dummy dsp with yours to make some use of it.
On the road again.
folderol
Established Member
Posts: 2066
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 223 times
Been thanked: 398 times
Contact:

Re: LV2 X11 GUI generator/designer tool

Post by folderol »

Watching development on this.
The Yoshimi guy {apparently now an 'elderly'}
Post Reply