public void GUISetup() {
    // set up GUI
    String[] outputs = MidiBus.availableOutputs();
    String[] inputs = MidiBus.availableInputs();

    controlP5 = new ControlP5(this);
    programlabel = controlP5.addTextlabel("programlabel", "Programs", 350, 65);
    Radio programs = controlP5.addRadio("programs", 350, 80);
    programs.deactivateAll();
    programs.add("on", 1);
    programs.add("off", 2);
    programs.add("oscillate", 0);
    programs.add("fade", 4);
    programs.add("random", 3);

    midioutlabel = controlP5.addTextlabel("midioutlabel", "MIDI Outputs", 200, 65);
    Radio midioutdevices = controlP5.addRadio("midioutdevices", 200, 80);
    midioutdevices.deactivateAll();
    for (int i = 0; i < (outputs.length - 1); i++) {
      midioutdevices.add(outputs[i], i);
    }

    midiinlabel = controlP5.addTextlabel("midiinlabel", "MIDI Inputs", 100, 65);
    Radio midiindevices = controlP5.addRadio("midiindevices", 100, 80);
    midiindevices.deactivateAll();
    for (int i = 0; i < (inputs.length - 1); i++) {
      midiindevices.add(inputs[i], i);
    }

    options = controlP5.addTextlabel("options", "Options", 10, 65);
    optionsbox = controlP5.addCheckBox("optionsbox", 10, 80);
    optionsbox.setItemsPerRow(3);
    optionsbox.setSpacingColumn(30);
    optionsbox.setSpacingRow(10);
    optionsbox.addItem("notes -> cc", 0);

    heading = controlP5.addTextlabel("heading", "grmnygrmny.lightarray", 200, 20);
  }