Logo The Customizable Synth

Bin::Main

This is the Main UI File from VeNo.

~Author: Maurice Grönwoldt (VersusTuneZ)
~Version: 1.0
~Name: MainTheme
~Look: Flat

-- ROOT
w: 1200
h: 700
bg: secondaryBG
position-x: automatic

-- Layout
#Sidebar {
    header: Sidebar
    w: 25%
    h: 100%
    bg: primaryBG
    position-y: automatic
    @import Sidebar
}
#Content {
    position-y: automatic
    w: 75%
    -- MAIN TAB BAR
    #Tab {
        h: 65%
        bg: 0,0,0,30
    }
    #BottomGroup {
        h: 35%
        position-y: automatic
        #Modulators {
            h: 80%
            width: 100%
            header: true
        }
        #Controls {
            h: 20%
            width: 100%
            bg: primaryBG
            position-x: automatic
            @import Footer
        }
    }
}

Bin::Footer

#Pitch  {
    y: 5%
    width: 20%
    height: 90%
    position-x: automatic

    @Label {
        text: Pitch Range
        width: 50%
    }

    @ValueBox#Up {
        y: 12.5%
        bind: pitchbend__up
        height: 75%
        width: 25%
        label: no
        tooltip: false
    }

    @ValueBox#Down {
        y: 12.5%
        bind: pitchbend__down
        height: 75%
        width: 25%
        label: no
        tooltip: false
    }
}

@Label#Tooltip {
    width: 60%
    event: tooltip
}

#Legato/Porta {
    width: 20%
    y: 5%
    height: 90%
    position-x: automatic

    @Switch {
        bind: mono_legato
        width: 50%
    }
    @Knob {
        bind: portamento
        width: 50%
        height: 100%
        label: no
        tooltip: true
    }
}

Bin::Sidebar

@Logo {
    height: 70
    width: 100%
}

#LCD {
    -- @TODO: Implement LCD Component -> it will listen to the bg :>
    h: 170
    bg: lcdBG
}

#Preset {
    -- @TODO: Implement Preset Component
    header: true
    h: 40
    bg: secondaryBG
}

#Mixer {
    h: 130
    flex: true
    justify-content: space-around
    bg: 0,0,0,70

    -- Implement :for for easier setup
    @import OSCMixer;i=1
    @import OSCMixer;i=2
    @import OSCMixer;i=3
    @import OSCMixer;i=4
}

#Master Volume {
    y-offset: 10
    w: 50%
    h: 170
    x: 25%

    @Knob#Master {
        bind: master__volume
        label: top
        label-value: semi
    }
}

#ModKnobs {
    h: 100
    position-x: automatic
    y-offset: 10
    flex: true
    justify-content: space-around

    -- ?do 4:
    @Knob {
        w: 20%
        bind: mod1
    }
    @Knob {
        w: 20%
        bind: mod2
    }
    @Knob {
        w: 20%
        bind: mod3
    }
    @Knob {
        w: 20%
        bind: mod4
    }
}

Bin::OSCMixer

#OSC{i} {
    w: 20%
    header: true
    position-y: automatic
    @Switch {
        h: 30
        x: 5%
        w: 90%
        bind: osc{i}__active
        on: On
        off: Off
    }
    @Knob#Volume {
        h: 70
        bind: osc{i}__level
        label: bottom
        label-value: semi
    }
}