Goal
Provide a easy to use GUI generator tool to create X11 UI's for LV2 plugins. Currently only libxputty is supported, but the generated GUI C file could be used probably with other widget tool-kits as well, just a wrapper file is needed to translate the generated file to the needs of a toolkit.
Currently state
XUiDesigner parse the ttl file from a selected plugin and generate the needed controller widgets. Supported been the usual lv2:port parameter and as well the new atom based LV2_PATCH__writable and LV2_PATCH__readable so as LV2_ATOM__Path. XUiDesigner use the environment variable LV2_PATH to scan for plugins when no path is given with the -p command-line parameter. So you could easily create a GUI for a existing plugin. A integrated Color chooser allow to create a Color theme for your GUI. The created GUI could be saved as UI-Bundle, which then could be build (just make) and installed (just make install) to replace or provide a new GUI for the plugin.
You could as well create a LV2 plugin from scratch and save it as Full Plugin-Bundle to a selected location. The project settings window allow to setup the specs (like Author name, URI, Audio/Midi ports, etc.) for your plugin XUIDesigner save the bundle in a git repository format, contain a working LV2 plugin with all needed resources (ttl files, converted C files from used images, etc.) and build files to build, install and run the new generated plugin. All you need to do to finish your plug is to implement your DSP part.
Control widgets could be created and moved/resized freely around in the top Window. A grid could be displayed and widgets could snap to grid (left, right, Center) to order them easily. Control widgets could be grouped in a frame or a tab box and then the complete group could be moved to the final position in the Window. Any control widget could be replaced with a other control widget, so for example a Toggle Button could be replaced with a ComboBox, or a Knob could be replaced with a slider, or . . You could set the range for a controller, and it's default value, You could create enums for a ComboBox, . .
Most Control widgets could be replaced with images you could select from a included file browser.
XUIDesigner have a test-mode as well, which will build and run the created GUI, and give some useful information out in the terminal.
Currently supported widget types
- Knob -> support horizontal framed png/svg
- HSlider
- VSlider
- Button -> support png/svg/horizontal framed png/svg
- Toggle Button -> support horizontal framed png/svg
- ComboBox
- Value Display
- Label
- VMeter
- HMeter
- Frame
- TabBox
- WaveView
- File Chooser Button
Build
- git submodule init
- git submodule update
- make
- sudo make install # will install into /usr/bin
https://github.com/brummer10/XUiDesigner
https://github.com/brummer10/XUiDesigner/releases/tag/v0.3
regards
hermann
_______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx https://lists.linuxaudio.org/listinfo/linux-audio-user