!7

static BufferedImage img;
static MouseMover mover;
static ExternalAI findVolumeIcon, findAudioMixer;

static int w = 400, h = 200;

p {
  findVolumeIcon = loadWinnerAI(#1007093);
  findAudioMixer = loadWinnerAI(#1007103);
  
  mover = new MouseMover().enable();
  try {
    if (!step2()) {
      if (!step1()) fail("no volume icon");
      long time = sysNow();
      while (!step2()) {
        if (mover.hasInterference()) ret;
        if (sysNow() >= time+5000) fail("timeout, no popup found");
      }
      print("Done, audio mixer should pop up");
    }
  } finally {
    mover.disable();
  }
}

sbool step1() {
  ret findAndClick(findVolumeIcon);
}

sbool step2() {
  ret findAndClick(findAudioMixer);
}

sbool findAndClick(ExternalAI ai) {
  img = shootBottomRightCorner2(w, h);
  Pt p = ai.call(img);
  if (p == null) false;
  mover.click(p.x+screenWidth()-img.getWidth(), p.y+screenHeight()-img.getHeight());
  true;
}