Logo The Customizable Synth

GUI Markup Language

GUI Markup Language is parsed line by line

It will interpret the GUI on Runtime for every opening don't make the layout to complex

Syntax

SyntaxMeaning
@{0}#{1}0 is the component 1 is the Name and it's optional
#{0}0 is the name and not Optional
~File Information
--Comment
@importImport files to avoid code duplication

Available Components

  • Label
  • Knob
  • Slider
  • Select
  • Button
  • Switch
  • ValueBox
  • Logo

Imports

to use Imports write: @import {name}

if you want to use import variables you can they are separated by: ; and =

example:

@import Bin::Oscillator;osc=1;isActive

That example line imports the Binary Oscillator File with variable osc with the value "1" and isActive with value " false"

Group & Component Properties

propertyvalueexample
xx-position based on parent10
yy-position based on parent10
wwidth(px or %)10
hheight(px or %)10

GROUP

propertyvalueexample
bgr,g,b,a or keyprimaryBG
idgroupIDGroup One
headerheader nameGroup One
positionautomatic, fixed(default)fixed

Components

propertyvalueexample
bindparameter-bindmaster__volume

Color Values

we allow predefined colors that you can set up software wide or instead use custom bgs

primaryBG
secondaryBG
primary
secondary
font
clip
lcdBG
lcd

if an invalid color picked then it will fall back to 255,255,255,255 aka white

if you use custom make sure it's rgb or rgba format range 0-255!

the parser don't allow corrupted rgba values! if you specific an invalid color it will skip the bg and use no color

RED Color RGBA!
custom color: bg: 255,0,0,255

Component Properties (Not Default ones)

Components are registered with Component Factories that know how to implement them all of them are based on BaseComponent

If a Custom Component is needed ask if we can provide it or build it yourself :P

Label

propertyvalue
texttext to show
eventcan bind a event for listening

Knob

propertyvalue
labelbottom,top,no,center
label-valuereal, show-name

Select

propertyvalue
presetdetune,filter,clip
values, seperated list of values example: hard,soft,acid

Button

propertyvalue
modepush or toggle
actionevent-listener name (only on push mode)

LCD

propertyvalue
modenumber (1-4)

Switch

propertyvalue
onCustom On Value
offCustom Off Value