
markup.push({

VolumeView: {
    "+": "GroupView",
    gxLayout: [
            "H:|-12-[volumeBtn(20)]-5-[gain]-12-|&alignCenterY",
            "V:|-31-[volumeBtn]-17-[overdriveLabel]-16-|",

            "V:[gainLabel]-(1)-[volumeBtn(20)]&alignLeft",
            "V:[gainReadout]-(-1)-[gain]&alignRight",

            "H:|-12-[overdriveLabel]-8-[off(51)]-1-[x2(43)]-1-[x3(43)]-1-[x4(47)]-12-|&alignBaseline",
        ],
    gxChildViews: {
        gain: {
            "+": "SliderView",
            gxValueKey: "nodeModel.gain",
            gxDisableOnKey: "nodeModel.muted",
            gxDefaultValue: 1,
            axTitle: "Volume",
            axValueKeyPath: "axValue",
            axHelpKeyPath: "axHelp",
        },
        gainLabel: labelView("Volume"),
        gainReadout: {
            "+": "ReadoutView",
            gxValueKey: "nodeModel.totalGain",
            gxFormatter: "PercentFormatter",
            gxIntrinsicHeight:20,
            axIsIgnored: true,
            axTitle: "Total Gain",
        },
        volumeBtn: {
            "+": "ImageButtonView",
            gxValueKey: "nodeModel.muted",
            gxDisplayValueKey: "nodeModel.displayValue",
            gxButtonType: "toggle",
            gxToolTip: "Mute Audio",
            gxOnToolTip: "Unmute Audio",
            axTitle: "Mute",
            },
        overdriveLabel: labelView("Overdrive:"),
        off: {
            "+": "ButtonView.leftSegment",
            gxTitle: "Off",
            axTitle: "overdrive Off",
            gxValueKey: "nodeModel.overdrive_x_1",
            gxButtonType: "toggle",
            gxIntrinsicHeight: 22,
            gxBaselineOffset: 5,
        },
        x2: {
            "+": "ButtonView.middleSegment",
            gxTitle: "2×",
            axTitle: "overdrive 2×",
            gxValueKey: "nodeModel.overdrive_x_2",
            gxButtonType: "toggle",
            gxIntrinsicHeight: 22,
            gxBaselineOffset: 5,
        },
        x3: {
            "+": "ButtonView.middleSegment",
            gxTitle: "3×",
            axTitle: "overdrive 3×",
            gxValueKey: "nodeModel.overdrive_x_3",
            gxButtonType: "toggle",
            gxIntrinsicHeight: 22,
            gxBaselineOffset: 5,
        },
        x4: {
            "+": "ButtonView.rightSegment",
            gxTitle: "4×",
            axTitle: "overdrive 4×",
            gxValueKey: "nodeModel.overdrive_x_4",
            gxButtonType: "toggle",
            gxIntrinsicHeight: 22,
            gxBaselineOffset: 5,
        },
    }
},

VolumePopover: {
    "+": "PopoverTemplate",
    gxTitle: "Volume",
    gxCanDrawSubviewsIntoLayer: true,
    gxLayout: [
        "H:|-12-[self(284)]-12-|",
        "V:|-12-[self]-12-|",
        "V:|-41-[settingsContainer]-8-[presetsGroup]",
        "H:|-0-[settingsContainer]-0-|",
    ],
    gxChildViews: {
        title: "PopoverTitle",
        switch: "PopoverOnOffSwitch",
        presetsGroup: presetsGroup(),
        settingsContainer: {
            nsClass: "GXDrawView"
        }
    }
},
    
VolumePresets:
{
    gxDefaultPresets:
    [
        {   presetName: "1x",
            presetValues: { "smartOverdrive": 1 },
        },
        {
            presetName: "2x",
            presetValues: { "smartOverdrive": 2 },
        },
        {
            presetName: "3x",
            presetValues: { "smartOverdrive": 3 },
        },
        {
            presetName: "4x",
            presetValues: { "smartOverdrive": 4 },
        }
    ]
},

})
