KnowHow_ActionsScripting
[print]
[en ]

Table of contents



Kurzbeschreibung

Wie man aus Processing AppleScript ausführt

Installation

SpringGUI

http://www.repeatwhiletrue.com/SpringGUI/ installieren nach Anleitung im Zip-file

Apple Java Jar

  • zip-file vom Ordner /System/Library/Java/com erstellen


  • "com.zip" in "apple.jar" umbenennen.
  • Ordnerstruktur "apple/library" unter "Programme/Processing xxx/libraries" erstellen.
  • "apple.jar" in den neu erstellten Ordner "library" legen



Programmiercode

/**
 * Simple Applescript Interface
 * von Martin T Froehlich. 
 *
 * Controls Google Earth via Processing
 */

import com.apple.cocoa.application.NSApplication;
import com.apple.cocoa.foundation.*;
import SpringGUI.*;

boolean record = false;
SpringGUI gui;
NSApplication myApplApps;
NSAppleScript myScript;
NSMutableDictionary errors;
String script;


void setup() {
  // This line loads the Cocoa libraries.
  NSApplication.sharedApplication();

  size(400, 400);
  gui = new SpringGUI(this); // initialise SpringGUI
  
  // Create a button named "myButton" at coordinates 10,10 with width 200px and height 25px...
  gui.addButton("myButton", "Mach einen neuen Ordner", 10, 10, 200, 25);

  // This is the text of the AppleScript
  script = "tell application \"Finder\" \n"
   + " make new folder at desktop \n"
   + "end tell";

  // This creates a new NSAppleScript
  // object to execute the script
  myScript = new NSAppleScript(script);

  // This dictionary holds any errors that are
  // encountered during script execution
  errors = new NSMutableDictionary();
}

void draw() {
  
}

void handleEvent(String[] parameters) {
  // This will print a message whenever any of the buttons in
  // SpringGUI has been pushed.
  if ( parameters[1].equals("myButton") &&
       parameters[2].equals("mouseClicked") ) {
    // Execute the script!
    myScript.execute(errors);
    println("You have created anew folder!");
  }
}




NSApplication Class Reference
Controlling Your Mac with AppleScript and Java

!Programmiercode
{CODE()}
/**
 * Einfaches Applescript Interface
 * von Martin Fröhlich. 
 *
 * Press the Button to create a new folder on your desktop
 */

import com.apple.cocoa.application.NSApplication;
import com.apple.cocoa.foundation.*;
import SpringGUI.*;

boolean record = false;
SpringGUI gui;
NSApplication myApplApps;
NSAppleScript myScript;
NSMutableDictionary errors;
String script;

final String BUTTON_NAME_LOOK_DOWN = "LookDown";
final String BUTTON_NAME_ZOOM_IN = "ZoomIn";
final String BUTTON_NAME_ZOOM_OUT ="ZOut";
final String BUTTON_NAME_LOOK_UP ="LookOut";
final String BUTTON_NAME_LOOK_LEFT ="LookLeft";
final String BUTTON_NAME_LOOK_RIGHT ="LookRight";
final String BUTTON_NAME_GO_BACK ="GoBack";
final String BUTTON_NAME_GO_STOP ="GoStop";
final String BUTTON_NAME_GO_STRAIGHT ="GoStraight";
final String BUTTON_NAME_GO_LEFT ="GoLeft";
final String BUTTON_NAME_GO_RIGHT ="GoRight";
final String BUTTON_NAME_POINT_NORTH ="PointNorth";
final String BUTTON_NAME_STRAIGHT_DOWN ="StraightDown";

void setup() {
  // This line loads the Cocoa libraries.
  NSApplication.sharedApplication();

  size(225, 700);
  gui = new SpringGUI(this); // initialise SpringGUI
  
  // Create a button named "myButton" at coordinates 10,10 with width 200px and height 25px...
  gui.addButton(BUTTON_NAME_LOOK_DOWN, "Schau runter", 10, 10, 200, 25);
  gui.addButton(BUTTON_NAME_ZOOM_IN, "Reinzoomen", 10, 60, 200, 25);
  gui.addButton(BUTTON_NAME_ZOOM_OUT, "Rauszoomen", 10, 110, 200, 25);
  gui.addButton(BUTTON_NAME_LOOK_UP, "Schau nicht runter", 10, 160, 200, 25);
  gui.addButton(BUTTON_NAME_LOOK_LEFT, "Schau links", 10, 210, 200, 25);
  gui.addButton(BUTTON_NAME_LOOK_RIGHT, "Schau rechts", 10, 260, 200, 25);
  gui.addButton(BUTTON_NAME_GO_BACK, "Go back", 10, 310, 200, 25);
  gui.addButton(BUTTON_NAME_GO_STOP, "Go stop", 10, 360, 200, 25);
  gui.addButton(BUTTON_NAME_GO_STRAIGHT, "Go", 10, 410, 200, 25);
  gui.addButton(BUTTON_NAME_GO_LEFT, "Go left", 10, 460, 200, 25);
  gui.addButton(BUTTON_NAME_GO_RIGHT, "Go right", 10, 510, 200, 25);
  gui.addButton(BUTTON_NAME_POINT_NORTH, "Point north", 10, 560, 200, 25);
  gui.addButton(BUTTON_NAME_STRAIGHT_DOWN, "Gerade abwaerds", 10, 610, 200, 25);
  // This dictionary holds any errors that are
  // encountered during script execution
  errors = new NSMutableDictionary();
}
//lookdown
NSAppleScript getScriptLookDown(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set tilt of viewInf to ((tilt of viewInf) + 10) \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//zoom in
NSAppleScript getScriptZoomIn(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set distance of viewInf to ((distance of viewInf) * 0.8) \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//zoom out
NSAppleScript getScriptZoomOut(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set distance of viewInf to ((distance of viewInf) / 0.8) \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//looknichtdown
NSAppleScript getScriptLookNichtDown(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set tilt of viewInf to ((tilt of viewInf) - 10) \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//lookleft
NSAppleScript getScriptLookLeft(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set azimuth of viewInf to ((azimuth of viewInf) - 10) \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//look right
NSAppleScript getScriptLookRight(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set azimuth of viewInf to ((azimuth of viewInf) + 10) \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}



//go right
NSAppleScript getScriptGoRight(){
  String script = "tell application \"Google Earth\" \n"
                 
                 + "MoveCamera {0.5, 0} \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//go back
NSAppleScript getScriptGoBack(){
  String script = "tell application \"Google Earth\" \n"
                 
                 + "MoveCamera {0, -0.5} \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//gostop
NSAppleScript getScriptGoStop(){
  String script = "tell application \"Google Earth\" \n"
                 
                 + "MoveCamera {0, 0} \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//go
NSAppleScript getScriptGo(){
  String script = "tell application \"Google Earth\" \n"
                 
                 + "MoveCamera {0, 0.5} \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//go left
NSAppleScript getScriptGoLeft(){
  String script = "tell application \"Google Earth\" \n"
                 
                 + "MoveCamera {-0.5, 0} \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}



//point north(severka)
NSAppleScript getScriptPointNorth(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set azimuth of viewInf to 0 \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}


//direkt abwaerds schauen
NSAppleScript getScriptLookStraightDown(){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set tilt of viewInf to 0 \n"
                 + "SetViewInfo viewInf speed 4 \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}

//direkt abwaerds schauen
NSAppleScript getScriptDirekteSteuerung(float azimuth, float longitude, float latitude, float distance, float tilt, float speed){
  String script = "tell application \"Google Earth\" \n"
                 + "set viewInf to GetViewInfo \n"
                 + "set tilt of viewInf to " + tilt + " \n"
                 + "set longitude of viewInf to " + longitude + " \n"
                 + "set latitude of viewInf to " + latitude + " \n"
                 + "set azimuth of viewInf to " + azimuth + " \n"
                 + "set distance of viewInf to " + distance + " \n"
                 + "SetViewInfo viewInf speed " + speed + " \n"
               + "end tell";
  NSAppleScript AppleScript = new NSAppleScript(script);
  return AppleScript;
}


void draw() {
  
}

void handleEvent(String[] parameters) {
  // This will print a message whenever any of the buttons in
  // SpringGUI has been pushed.
  if (parameters[1].equals(BUTTON_NAME_LOOK_DOWN) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptLookDown().execute(errors);
      println("Du solltest jetzt direkt auf die erde runter schauen");
      
   }  else if(parameters[1].equals(BUTTON_NAME_ZOOM_OUT) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptZoomOut().execute(errors);
      println("Du solltest jetzt raus zoomen");
      
   } else if(parameters[1].equals(BUTTON_NAME_ZOOM_IN) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptZoomIn().execute(errors);
      println("Du solltest jetzt rein zoomen");
      
   } else if(parameters[1].equals(BUTTON_NAME_LOOK_UP) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptLookNichtDown().execute(errors);
      println("Du solltest jetzt nicht rein zoomen");
      
   }else if(parameters[1].equals(BUTTON_NAME_LOOK_LEFT) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptLookLeft().execute(errors);
      println("Du solltest jetzt nach links schauen");
      
   }else if(parameters[1].equals(BUTTON_NAME_LOOK_RIGHT) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptLookRight().execute(errors);
      println("Du solltest jetzt nach rechts schauen");
      
   }else if(parameters[1].equals(BUTTON_NAME_GO_BACK) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptGoBack().execute(errors);
      println("Du solltest jetzt rueckgang fahren");
      
   }else if(parameters[1].equals(BUTTON_NAME_GO_STOP) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptGoStop().execute(errors);
      println("Du solltest jetzt nicht fahren");
      
    }else if(parameters[1].equals(BUTTON_NAME_GO_STRAIGHT) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptGo().execute(errors);
      println("Du solltest jetzt geradeaus fahren");
      
    }else if(parameters[1].equals(BUTTON_NAME_GO_LEFT) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptGoLeft().execute(errors);
      println("Du solltest jetzt links fahren");
      
    } else if(parameters[1].equals(BUTTON_NAME_GO_RIGHT) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptGoRight().execute(errors);
      println("Du solltest jetzt rechts fahren");
      
    } else if(parameters[1].equals(BUTTON_NAME_POINT_NORTH) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptPointNorth().execute(errors);
      println("Du solltest jetzt nord anzeigen");
      
    }else if(parameters[1].equals(BUTTON_NAME_STRAIGHT_DOWN) &&
       parameters[2].equals("mouseClicked")) {
    // Execute the script!
      getScriptLookStraightDown().execute(errors);
      println("Du solltest direkt nach unten schauen");
    }     
}
{CODE}


pic

thumbnail
905_Pic060.jpg