Skip to content

Commit 45b0a8d

Browse files
author
Hermann Meyer
committed
Update readme
1 parent a16e13e commit 45b0a8d

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

README.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,39 @@
11
# XUiDesigner
2-
Very early draft of a X11 LV2 GUI design tool
2+
A WYSIWYG LV2 X11UI GUI creator tool
33

44
![XUiDesigner](https://i.imgur.com/wKA2eqO.gif)
55

66
## Goal
7-
Provide a easy to use GUI generator tool to create UI's for LV2 plugins.
7+
Provide a easy to use GUI generator tool to create X11 UI's for LV2 plugins.
88
Currently only libxputty is supported, but the generated GUI C file could be used probably with other
99
widget tool-kits as well, just a wrapper file is needed to translate the generated file to the needs of a toolkit.
1010

1111
## Currently state
12-
XUiDesigner could parse the ttl file from a selected plugin and generate the needed controller widgets.
12+
XUiDesigner parse the ttl file from a selected plugin and generate the needed controller widgets.
1313
Supported been the usual lv2:port parameter and as well the new atom based LV2_PATCH__writable and LV2_PATCH__readable
1414
so as LV2_ATOM__Path.
1515
XUiDesigner use the environment variable LV2_PATH to scan for plugins when no path is given with the
1616
-p command-line parameter.
1717
So you could easily create a GUI for a existing plugin.
18+
A integrated Color chooser allow to create a Color theme for your GUI.
1819
The created GUI could be saved as UI-Bundle, which then could be build (just make) and installed (just make install)
1920
to replace or provide a new GUI for the plugin.
2021

21-
Additional control widgets could be created and moved freely around in the top Window, or,
22-
a grid could be displayed and widgets could snap to grid (left, right, Center) to order them easily.
22+
You could as well create a LV2 plugin from scratch and save it as Full Plugin-Bundle to a selected location.
23+
The project settings window allow to setup the specs (like Author name, URI, Audio/Midi ports, etc.) for your plugin
24+
XUIDesigner save the bundle in a git repository format, contain a working LV2 plugin with all needed resources
25+
(ttl files, converted C files from used images, etc.) and build files to build, install and run the new generated plugin.
26+
All you need to do to finish your plug is to implement your DSP part.
27+
28+
Control widgets could be created and moved/resized freely around in the top Window.
29+
A grid could be displayed and widgets could snap to grid (left, right, Center) to order them easily.
2330
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.
2431
Any control widget could be replaced with a other control widget, so for example a Toggle Button could be replaced with a ComboBox,
2532
or a Knob could be replaced with a slider, or . .
2633
You could set the range for a controller, and it's default value, You could create enums for a ComboBox, . .
2734

2835
Most Control widgets could be replaced with images you could select from a included file browser.
2936

30-
You could as well create a LV2 plugin from scratch and save it as Full Plugin-Bundle to a selected location.
31-
The project settings window allow to setup the specs (like Author name, URI, Audio/Midi ports, etc.) for your plugin
32-
XUIDesigner save the bundle in a git repository format, contain a working LV2 plugin with all needed resources
33-
(ttl files, converted C files from used images, etc.) and build files to build, install and run it.
34-
All you need to do to finish your plug is, implement your DSP part.
35-
3637
XUIDesigner have a test-mode as well, which will build and run the created GUI, and give some useful information out in the terminal.
3738

3839
## Currently supported widget types

XUiDesigner/XUiImageLoader.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ void pop_menu_response(void *w_, void* item_, void* user_data) {
328328
designer->controls[designer->active_widget_num].is_type == IS_VSLIDER ||
329329
designer->controls[designer->active_widget_num].is_type == IS_LABEL ||
330330
designer->controls[designer->active_widget_num].is_type == IS_HSLIDER) break;
331-
Widget_t *dia = open_file_dialog(designer->ui, designer->image_path, ".png");
331+
Widget_t *dia = open_file_dialog(designer->ui, designer->image_path, "image");
332332
XSetTransientForHint(designer->ui->app->dpy, dia->widget, designer->ui->widget);
333333
if (designer->controls[designer->active_widget_num].is_type == IS_FRAME ||
334334
designer->controls[designer->active_widget_num].is_type == IS_IMAGE) {

0 commit comments

Comments
 (0)