Пример #1
0
  public void controlEvent(ControlEvent theEvent) {
    // DropdownList is of type ControlGroup.
    // A controlEvent will be triggered from inside the ControlGroup class.
    // therefore you need to check the originator of the Event with
    // if (theEvent.isGroup())
    // to avoid an error message thrown by controlP5.

    /*  if (theEvent.getController().getName().equals("restart")) {
      paddles[0].points=0;
      paddles[1].points=0;
    }*/

    if (theEvent.isGroup()) {
      // check if the Event was triggered from a ControlGroup
      //  println("event from group : "+theEvent.getGroup().getValue()+" from
      // "+theEvent.getGroup());
      if (theEvent.getGroup().toString().equals("paddle1 [DropdownList]")) {
        println("paddle1 " + theEvent.getGroup().getValue());
        paddleSelector1 = translations[(int) theEvent.getGroup().getValue()];
        println(jointNames[paddleSelector1]);
      } else if (theEvent.getGroup().toString().equals("paddle2 [DropdownList]")) {
        println("paddle2 " + theEvent.getGroup().getValue());
        paddleSelector2 = translations[(int) theEvent.getGroup().getValue()];
        println(jointNames[paddleSelector2]);
      } else if (theEvent.getGroup().toString().equals("1_or_2_player [DropdownList]")) {
        if ((int) theEvent.getGroup().getValue() == 0) {
          onePlayer = true;
        } else {
          onePlayer = false;
        }
      } else if (theEvent.getGroup().toString().equals("speed [DropdownList]")) {
        if ((int) theEvent.getGroup().getValue() == 0) {
          ball.speed = new PVector(5, 5);
        } else if ((int) theEvent.getGroup().getValue() == 1) {
          ball.speed = new PVector(10, 10);
        } else if ((int) theEvent.getGroup().getValue() == 2) {
          ball.speed = new PVector(15, 15);
        }
      }
    } else if (theEvent.isController()) {
      println(
          "event from controller : "
              + theEvent.getController().getValue()
              + " from "
              + theEvent.getController());
    }
  }
  public void controlEvent(ControlEvent theEvent) {
    // DropdownList is of type ControlGroup.
    // A controlEvent will be triggered from inside the ControlGroup class.
    // therefore you need to check the originator of the Event with
    // if (theEvent.isGroup())
    // to avoid an error message thrown by controlP5.
    float value = -1f;
    int intVal;
    String name;

    if (theEvent.isGroup()) {
      // check if the Event was triggered from a ControlGroup
      // LOG.log(Level.INFO, theEvent.getGroup().getValue()+" from "+theEvent.getGroup());
      value = theEvent.getGroup().getValue();
    } else if (theEvent.isController()) {
      // LOG.log(Level.INFO, theEvent.getController().getValue()+" from "+theEvent.getController());
      value = theEvent.getController().getValue();
    } else if (theEvent.isTab()) {
      // events from tabs are ignored
      return;
    }
    intVal = (int) value;

    GuiElement selection = GuiElement.valueOf(theEvent.getName());

    switch (selection) {
      case EFFECT_ONE_DROPDOWN:
      case EFFECT_TWO_DROPDOWN:
        LOG.log(Level.INFO, "EFFECT Value: " + value);
        handleEffect(value, selection);
        break;

      case GENERATOR_ONE_DROPDOWN:
      case GENERATOR_TWO_DROPDOWN:
        LOG.log(Level.INFO, selection + " Value: " + value);
        handleGenerator(value, selection);
        break;

      case MIXER_DROPDOWN:
        LOG.log(Level.INFO, selection + " Value: " + value);
        createMessage(ValidCommands.CHANGE_MIXER, value);
        break;

      case BUTTON_RANDOM_CONFIGURATION:
        LOG.log(Level.INFO, selection + " Value: " + value);
        createMessage(ValidCommands.RANDOMIZE, value);
        break;

      case BUTTON_TOGGLE_RANDOM_MODE:
        LOG.log(Level.INFO, selection + " Value: " + value);
        handleRandomMode(value);
        break;

      case BUTTON_RANDOM_PRESET:
        LOG.log(Level.INFO, selection + " Value: " + value);
        createMessage(ValidCommands.PRESET_RANDOM, value);
        break;

      case CURRENT_VISUAL:
        LOG.log(Level.INFO, selection + " Value: " + value);
        createMessage(ValidCommands.CURRENT_VISUAL, value);
        break;

      case CURRENT_OUTPUT:
        List<Boolean> outputs = new ArrayList<Boolean>();
        for (float f : theEvent.getGroup().getArrayValue()) {
          if (f == 0 ? outputs.add(Boolean.FALSE) : outputs.add(Boolean.TRUE)) ;
        }
        LOG.log(Level.INFO, selection + ": " + value);
        createMessage(ValidCommands.CURRENT_OUTPUT, value);
        break;

      case THRESHOLD:
        LOG.log(Level.INFO, selection + ": " + intVal);
        createMessage(ValidCommands.CHANGE_THRESHOLD_VALUE, intVal);
        break;

      case FX_ROTOZOOMER:
        LOG.log(Level.INFO, selection + ": " + intVal);
        createMessage(ValidCommands.CHANGE_ROTOZOOM, intVal);
        break;

      case BLINKENLIGHTS_DROPDOWN:
        name = theEvent.getGroup().getCaptionLabel().getText();
        LOG.log(Level.INFO, selection + " " + name);
        createMessage(ValidCommands.BLINKEN, name);
        break;

      case IMAGE_DROPDOWN:
        name = theEvent.getGroup().getCaptionLabel().getText();
        LOG.log(Level.INFO, selection + " " + name);
        createMessage(ValidCommands.IMAGE, name);
        break;

      case OUTPUT_FADER_DROPDOWN:
        LOG.log(Level.INFO, selection + " " + value);
        createMessage(ValidCommands.CHANGE_OUTPUT_FADER, value);
        break;

      case OUTPUT_SELECTED_VISUAL_DROPDOWN:
        LOG.log(Level.INFO, selection + " " + value);
        createMessage(ValidCommands.CHANGE_OUTPUT_VISUAL, value);
        break;

      case OUTPUT_ALL_SELECTED_VISUAL_DROPDOWN:
        LOG.log(Level.INFO, selection + " " + value);
        createMessage(ValidCommands.CHANGE_ALL_OUTPUT_VISUAL, value);
        break;

      case OUTPUT_ALL_FADER_DROPDOWN:
        LOG.log(Level.INFO, selection + " " + value);
        createMessage(ValidCommands.CHANGE_ALL_OUTPUT_FADER, value);
        break;

      case TEXTUREDEFORM_OPTIONS:
        LOG.log(Level.INFO, selection + " " + value);
        createMessage(ValidCommands.TEXTDEF, value);
        break;

      case COLORSCROLL_OPTIONS:
        LOG.log(Level.INFO, selection + " " + value);
        createMessage(ValidCommands.COLOR_SCROLL_OPT, value);
        break;

      case TEXTFIELD:
        name = theEvent.getStringValue();
        LOG.log(Level.INFO, selection + " " + name);
        createMessage(ValidCommands.TEXTWR, name);
        break;

      case RANDOM_ELEMENT:
        String param = "";
        for (float ff : theEvent.getGroup().getArrayValue()) {
          if (ff < 0.5f) {
            param += "0 ";
          } else {
            param += "1 ";
          }
        }
        LOG.log(Level.INFO, selection + " " + param);
        createShufflerMessage(param);
        break;

      case COLOR_SET_DROPDOWN:
        LOG.log(Level.INFO, selection + " " + value);
        createMessage(ValidCommands.CURRENT_COLORSET, value);
        break;

      case PRESET_BUTTONS:
        LOG.log(Level.INFO, selection + " " + intVal);
        createMessage(ValidCommands.CHANGE_PRESENT, intVal);
        break;

      case LOAD_PRESET:
        LOG.log(Level.INFO, "LOAD_PRESET");
        createMessage(ValidCommands.LOAD_PRESENT, "");
        break;

      case SAVE_PRESET:
        LOG.log(Level.INFO, "SAVE_PRESET");
        createMessage(ValidCommands.SAVE_PRESENT, "");
        break;

      case BUTTON_TOGGLE_FREEZE:
        createMessage(ValidCommands.FREEZE, "");
        break;

      case BRIGHTNESS:
        float brightness = value;
        createMessage(ValidCommands.CHANGE_BRIGHTNESS, brightness);
        break;

      default:
        LOG.log(Level.INFO, "Invalid Object: " + selection + ", Value: " + value);
        break;
    }
  }