/*
(c) Copyright 1988-1994 Microsoft Corporation.

Microsoft Bars&Pipes Professional Source Code License

This License governs use of the accompanying Software.  
Microsoft hopes you find this Software useful.

You are licensed to do anything you want with the Software. 

In return, we simply require that you agree:

1.      Not to remove any copyright notices from the Software.

2.      That the Software comes "as is", with no warranties.  
        None whatsoever. This means no implied warranty of merchantability or 
        fitness for a particular purpose or any warranty of non-infringement.  
        Also, you must pass this disclaimer on whenever you distribute the Software.

3.      That we will not be liable for any of those types of damages known as indirect, 
        special, consequential, or incidental related to the Software or this License, 
        to the maximum extent the law permits. Also, you must pass this limitation of 
        liability on whenever you distribute the Software.

4.      That if you sue anyone over patents that you think may apply to the Software 
        for that person’s use of the Software, your license to the Software ends automatically.

5.      That the patent rights Microsoft is licensing only apply to the Software, 
        not to any derivatives you make.

6.      That your rights under the License end automatically if you breach this in any way.
*/


static struct PropInfo looploopGadget9SInfo = {
        AUTOKNOB+FREEHORIZ,
        29047,-1,
        10922,-1,
};

static struct Image loopImage1 = {
        49,0,
        23,3,
        0,
        NULL,
        0x0000,0x0000,
        NULL
};

static struct IntuiText loopIText1 = {
        2,0,JAM1,
        -57,0,
        NULL,
        "Repeat:",
        NULL
};

static struct Gadget loopGadget9 = {
        NULL,
        70,42,
        142,7,
        GADGHBOX+GADGHIMAGE,
        RELVERIFY+GADGIMMEDIATE,
        PROPGADGET,
        (APTR)&loopImage1,
        NULL,
        &loopIText1,
        NULL,
        (APTR)&looploopGadget9SInfo,
        5,
        NULL
};

static struct IntuiText loopIText2 = {
        4,2,JAM1,
        20,1,
        NULL,
        "Test",
        NULL
};

static struct Gadget loopGadget8 = {
        &loopGadget9,
        168,68,
        75,10,
        GADGHBOX+GADGHIMAGE,
        RELVERIFY+GADGIMMEDIATE,
        BOOLGADGET,
        NULL,
        NULL,
        &loopIText2,
        NULL,
        NULL,
        13,
        NULL
};

__chip static USHORT loopImageData2[] = {
        0xFFFF,0xFF80,0xC000,0x0180,0xC000,0x0180,0xC07F,0x0180,
        0xC180,0x0180,0xC307,0xE180,0xC181,0xE180,0xC07E,0x6180,
        0xC000,0x0180,0xC000,0x0180,0xFFFF,0xFF80,0x0000,0x0080,
        0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,
        0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,
        0x3FFF,0xFF80,0x7FFF,0xFF80,0x0000,0x0000,0x0000,0x0000,
        0x0FFF,0xF800,0x0F80,0xF800,0x0E7F,0xF800,0x0CF8,0x1800,
        0x0E7E,0x1800,0x0F81,0x9800,0x0FFF,0xF800,0x0000,0x0000,
        0x0000,0x0000
};

static struct Image loopImage2 = {
        0,0,
        25,11,
        3,
        loopImageData2,
        0x0007,0x0000,
        NULL
};

__chip static USHORT loopImageData3[] = {
        0xFFFF,0xFF80,0xC000,0x0180,0xC000,0x0180,0xC07F,0x0180,
        0xC180,0x0180,0xC307,0xE180,0xC181,0xE180,0xC07E,0x6180,
        0xC000,0x0180,0xC000,0x0180,0xFFFF,0xFF80,0xFFFF,0xFF00,
        0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,
        0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,
        0xFFFF,0xFE00,0x8000,0x0000,0x0000,0x0000,0x0000,0x0000,
        0x0FFF,0xF800,0x0F80,0xF800,0x0E7F,0xF800,0x0CF8,0x1800,
        0x0E7E,0x1800,0x0F81,0x9800,0x0FFF,0xF800,0x0000,0x0000,
        0x0000,0x0000
};

static struct Image loopImage3 = {
        0,0,
        25,11,
        3,
        loopImageData3,
        0x0007,0x0000,
        NULL
};

static struct Gadget loopGadget7 = {
        &loopGadget8,
        189,27,
        25,11,
        GADGHIMAGE+GADGIMAGE,
        RELVERIFY+GADGIMMEDIATE,
        BOOLGADGET,
        (APTR)&loopImage2,
        (APTR)&loopImage3,
        NULL,
        NULL,
        NULL,
        4,
        NULL
};

__chip static USHORT loopImageData4[] = {
        0xFFFF,0xFF80,0xC000,0x0180,0xC000,0x0180,0xC33F,0x0180,
        0xC3C0,0xC180,0xC3F0,0x6180,0xC000,0xC180,0xC07F,0x0180,
        0xC000,0x0180,0xC000,0x0180,0xFFFF,0xFF80,0x0000,0x0080,
        0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,
        0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,0x3FFF,0xFF80,
        0x3FFF,0xFF80,0x7FFF,0xFF80,0x0000,0x0000,0x0000,0x0000,
        0x0FFF,0xF800,0x0CC0,0xF800,0x0C3F,0x3800,0x0C0F,0x9800,
        0x0FFF,0x3800,0x0F80,0xF800,0x0FFF,0xF800,0x0000,0x0000,
        0x0000,0x0000
};

static struct Image loopImage4 = {
        0,0,
        25,11,
        3,
        loopImageData4,
        0x0007,0x0000,
        NULL
};

__chip static USHORT loopImageData5[] = {
        0xFFFF,0xFF80,0xC000,0x0180,0xC000,0x0180,0xC33F,0x0180,
        0xC3C0,0xC180,0xC3F0,0x6180,0xC000,0xC180,0xC07F,0x0180,
        0xC000,0x0180,0xC000,0x0180,0xFFFF,0xFF80,0xFFFF,0xFF00,
        0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,
        0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,0xFFFF,0xFE00,
        0xFFFF,0xFE00,0x8000,0x0000,0x0000,0x0000,0x0000,0x0000,
        0x0FFF,0xF800,0x0CC0,0xF800,0x0C3F,0x3800,0x0C0F,0x9800,
        0x0FFF,0x3800,0x0F80,0xF800,0x0FFF,0xF800,0x0000,0x0000,
        0x0000,0x0000
};

static struct Image loopImage5 = {
        0,0,
        25,11,
        3,
        loopImageData5,
        0x0007,0x0000,
        NULL
};

static struct Gadget loopGadget6 = {
        &loopGadget7,
        189,14,
        25,11,
        GADGHIMAGE+GADGIMAGE,
        RELVERIFY+GADGIMMEDIATE,
        BOOLGADGET,
        (APTR)&loopImage4,
        (APTR)&loopImage5,
        NULL,
        NULL,
        NULL,
        3,
        NULL
};

static struct PropInfo looploopGadget5SInfo = {
        AUTOKNOB+FREEHORIZ,
        27866,-1,
        10922,-1,
};

static struct Image loopImage6 = {
        47,0,
        23,3,
        0,
        NULL,
        0x0000,0x0000,
        NULL
};

static struct IntuiText loopIText3 = {
        2,0,JAM1,
        -41,0,
        NULL,
        "Root:",
        NULL
};

static struct Gadget loopGadget5 = {
        &loopGadget6,
        70,55,
        142,7,
        GADGHBOX+GADGHIMAGE,
        RELVERIFY+GADGIMMEDIATE,
        PROPGADGET,
        (APTR)&loopImage6,
        NULL,
        &loopIText3,
        NULL,
        (APTR)&looploopGadget5SInfo,
        8,
        NULL
};

static UBYTE looploopGadget4SIBuff[20];
static struct StringInfo looploopGadget4SInfo = {
        looploopGadget4SIBuff,
        NULL,
        0,
        20,
        0,
        0,0,0,0,0,
        0,
        0,
        NULL
};

static struct IntuiText loopIText4 = {
        2,0,JAM1,
        -32,0,
        NULL,
        "End:",
        NULL
};

static struct Gadget loopGadget4 = {
        &loopGadget5,
        69,29,
        114,8,
        NULL,
        RELVERIFY+GADGIMMEDIATE,
        STRGADGET,
        NULL,
        NULL,
        &loopIText4,
        NULL,
        (APTR)&looploopGadget4SInfo,
        2,
        NULL
};

static UBYTE looploopGadget3SIBuff[20];
static struct StringInfo looploopGadget3SInfo = {
        looploopGadget3SIBuff,
        NULL,
        0,
        20,
        0,
        0,0,0,0,0,
        0,
        0,
        NULL
};

static struct IntuiText loopIText5 = {
        2,0,JAM1,
        -48,0,
        NULL,
        "Start:",
        NULL
};

static struct Gadget loopGadget3 = {
        &loopGadget4,
        69,16,
        114,8,
        NULL,
        RELVERIFY+GADGIMMEDIATE,
        STRGADGET,
        NULL,
        NULL,
        &loopIText5,
        NULL,
        (APTR)&looploopGadget3SInfo,
        1,
        NULL
};

static struct IntuiText loopIText6 = {
        4,2,JAM1,
        17,1,
        NULL,
        "Erase",
        NULL
};

static struct Gadget loopGadget2 = {
        &loopGadget3,
        89,68,
        75,10,
        GADGHBOX+GADGHIMAGE,
        RELVERIFY+GADGIMMEDIATE+TOGGLESELECT,
        BOOLGADGET,
        NULL,
        NULL,
        &loopIText6,
        NULL,
        NULL,
        12,
        NULL
};

static struct IntuiText loopIText7 = {
        4,2,JAM1,
        13,1,
        NULL,
        "Record",
        NULL
};

static struct Gadget loopGadget1 = {
        &loopGadget2,
        10,68,
        75,10,
        GADGHBOX+GADGHIMAGE,
        RELVERIFY+GADGIMMEDIATE+TOGGLESELECT,
        BOOLGADGET,
        NULL,
        NULL,
        &loopIText7,
        NULL,
        NULL,
        11,
        NULL
};

#define loopGadgetList1 loopGadget1

static struct IntuiText loopIText8 = {
        3,1,COMPLEMENT,
        19,0,
        NULL,
        "Modulate",
        NULL
};

static struct MenuItem loopMenuItem5 = {
        NULL,
        0,32,
        99,8,
        CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP+CHECKED,
        0,
        (APTR)&loopIText8,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText9 = {
        3,1,COMPLEMENT,
        19,0,
        NULL,
        "Transpose ",
        NULL
};

static struct MenuItem loopMenuItem4 = {
        &loopMenuItem5,
        0,24,
        99,8,
        CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP+CHECKED,
        0,
        (APTR)&loopIText9,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText10 = {
        3,1,COMPLEMENT,
        19,0,
        NULL,
        "Riff",
        NULL
};

static struct MenuItem loopMenuItem3 = {
        &loopMenuItem4,
        0,16,
        99,8,
        CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP+CHECKED,
        0,
        (APTR)&loopIText10,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText11 = {
        3,1,COMPLEMENT,
        19,0,
        NULL,
        "Trigger",
        NULL
};

static struct MenuItem loopMenuItem2 = {
        &loopMenuItem3,
        0,8,
        99,8,
        CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP+CHECKED,
        0,
        (APTR)&loopIText11,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText12 = {
        3,1,COMPLEMENT,
        19,0,
        NULL,
        "Free Run",
        NULL
};

static struct MenuItem loopMenuItem1 = {
        &loopMenuItem2,
        0,0,
        99,8,
        CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP+CHECKED,
        0,
        (APTR)&loopIText12,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct Menu loopMenu2 = {
        NULL,
        46,0,
        95,0,
        MENUENABLED,
        "Performance",
        &loopMenuItem1
};

static struct IntuiText loopIText13 = {
        3,1,COMPLEMENT,
        0,0,
        NULL,
        "Copy to Track",
        NULL
};

static struct MenuItem loopMenuItem12 = {
        NULL,
        0,48,
        160,8,
        ITEMTEXT+ITEMENABLED+HIGHCOMP,
        0,
        (APTR)&loopIText13,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText14 = {
        3,1,COMPLEMENT,
        0,0,
        NULL,
        "Paste from Track",
        NULL
};

static struct MenuItem loopMenuItem11 = {
        &loopMenuItem12,
        0,40,
        160,8,
        ITEMTEXT+ITEMENABLED+HIGHCOMP,
        0,
        (APTR)&loopIText14,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText15 = {
        3,1,COMPLEMENT,
        0,0,
        NULL,
        "Copy to ClipBoard",
        NULL
};

static struct MenuItem loopMenuItem10 = {
        &loopMenuItem11,
        0,32,
        160,8,
        ITEMTEXT+ITEMENABLED+HIGHCOMP,
        0,
        (APTR)&loopIText15,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText16 = {
        3,1,COMPLEMENT,
        0,0,
        NULL,
        "Paste from ClipBoard",
        NULL
};

static struct MenuItem loopMenuItem9 = {
        &loopMenuItem10,
        0,24,
        160,8,
        ITEMTEXT+ITEMENABLED+HIGHCOMP,
        0,
        (APTR)&loopIText16,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText17 = {
        3,1,COMPLEMENT,
        0,0,
        NULL,
        "Save...",
        NULL
};

static struct MenuItem loopMenuItem8 = {
        &loopMenuItem9,
        0,16,
        160,8,
        ITEMTEXT+ITEMENABLED+HIGHCOMP,
        0,
        (APTR)&loopIText17,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText18 = {
        3,1,COMPLEMENT,
        0,0,
        NULL,
        "Load...",
        NULL
};

static struct MenuItem loopMenuItem7 = {
        &loopMenuItem8,
        0,8,
        160,8,
        ITEMTEXT+ITEMENABLED+HIGHCOMP,
        0,
        (APTR)&loopIText18,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct IntuiText loopIText19 = {
        3,1,COMPLEMENT,
        0,0,
        NULL,
        "Clear",
        NULL
};

static struct MenuItem loopMenuItem6 = {
        &loopMenuItem7,
        0,0,
        160,8,
        ITEMTEXT+ITEMENABLED+HIGHCOMP,
        0,
        (APTR)&loopIText19,
        NULL,
        NULL,
        NULL,
        MENUNULL
};

static struct Menu loopMenu1 = {
        &loopMenu2,
        0,0,
        39,0,
        MENUENABLED,
        "Loop",
        &loopMenuItem6
};

#define loopMenuList1 loopMenu1

static struct NewWindow loopNewWindowStructure1 = {
        219,62,
        253,83,
        0,0,
        MOUSEBUTTONS+MOUSEMOVE+GADGETDOWN+GADGETUP+MENUPICK+CLOSEWINDOW+INTUITICKS,
        WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+ACTIVATE+NOCAREREFRESH,
        &loopGadget1,
        NULL,
        "Loop",
        NULL,
        NULL,
        5,5,
        -1,-1,
        CUSTOMSCREEN
};
