Player
Documentation
Release Notes 1.2
February 1999
Version 1.2, shipping at the same time as 1.5, is a free maintenance release -- primarily for MacOS versions up thru 8.1. (Version 1.5 is a "features" release, with a new price and an upgrade charge.)
What's Fixed
- Pop-up menus no longer stay up for 15 seconds (or whatever it was) on OS 8.0 and later. (There may be a few exceptions for applications with non-standard implementation of pop-ups. If you find one, try a mouse delay of 7 or so.)
- Player can type multiple modifiers keys, e.g. command-shift-option y.
- Fixed a problem making menu selections on certain configurations.
- For Frontier 5.x: the updated PlayerExtras.utils.tickSound fixes Player's "click to log".
Caveats
- Player 1.2 and earlier may not work well with OS 8.5. Because of the substantial work required to work around changes that Apple made in 8.5, we included these features in Player 1.5 which is a paid update. OS 8.5 problems include: Player doesn't see the names of dialog items (ID & XY still work), "set value of checkbox" isn't reliable.
- Player's Balloon Help may be flaky in certain apps (e.g. flashing or not appearing at all). Alas, that's just the way it is. Player's "outline dialog" and "get info" verbs provide name & ID (and more). If you need XY location in these cases, we recommend KeyQuencer's "where is click".
- Player (along with, to the best of our knowledge, the keyboard macro products) cannot "see" dialog items created with the new Appearance Manager; not by name, not by ID. (Location may work but that's not sufficient for checkboxes and is much more work for the script writer.)
- We do not know if Player will work with MacOS X.
Version 1.1 Release Notes
February 1997
Notes
- Free updaters to this version are available for downloading at no charge. We will send a disk for our standard shipping & handling charge (or free on request if you purchased within the past 90 days).
- A 30-day trial version is available on the internet and commercial online services. Tell your colleagues and friends!
New Features
- Breakthrough in scripting Photoshop: query & control most dialog items by name or ID, view with balloon help! As of this writing, no other automation product can see the Photoshop dialog items that were created with Apple's MacApp library; they can only control Photoshop items by XY coordinates. (A few Photoshop dialogs, including open and save, call the standard MacOS dialog manager rather than MacApp.) This new feature should work for other applications written with MacApp, though we do not have a list and have not tested in anything but Photoshop. No new verbs are required, just use Player's standard verbs. The fine print: includes checkboxes, pop-ups, radio buttons, buttons -- does NOT include text boxes or static text, may not include controls in palettes.
- New set dialog folder verb to set the default folder for an Open or Save dialog. This verb is much faster than PlayerLib's locateFile & locateFolder since it does not travel the entire folder path. See the manual errata and revised "Save As" example script for details. Note: we licensed the code behind "set dialog folder" from St. Clair Software, makers of the cool Default Folder utility. (In fact, we like it so much we are including it on the Player floppy disk. If you keep it, please pay your shareware fee!)
- Added the repeat until successful parameter to "do menu"; you no longer need your own repeat/wait loop! This parameter is useful when the prior operation in a script may take a long time and leave the menu bar unavailable -- e.g. because a progress bar is in front. When "repeat until successful" is set to true, Player will periodically try to select the menu, yielding processor time to other applications between tries. (Frontier scripters: be sure to install the new verbs.)
- New set checkbox sequence verb to rapidly set a list of checkboxes in sequence. The best way to speed up a typical script is to minimize the number of discrete Apple events that are sent. Since each verb in a scriptable app (including Player) generally corresponds to one Apple event, minimizing the number of separate calls to application verbs will improve speed. Previous versions of Player could click a list of items in sequence -- but of course checkboxes need to be set to a certain state not merely clicked; this new verb is the solution. (Another performance tip: Player's type verb can handle a string or a list, separate type verbs one after another are only needed if you want a short delay.)
- Player's ability to extract text from "static text" elements in dialogs has been enhanced to resolve text that is inserted by applications when posting the dialog. (Player used to just display the placeholder: one or more digits preceeded by a caret symbol.)
- Added "outline menus" and "outline dialog" to Player Runtime and to the AppleScript dictionary & other documentation. (In Frontier, moved them from the PlayerExtras suite to the Player table.)
- Added AppleScript constants "default mouse delay" and "default typing delay". (These contants were already in Frontier.)
- In Frontier, copied all items from subtables into the main Player table so that the subtables no longer have to be specified as part of a "with" statement. (The subtables were left behind to avoid breaking existing scripts.) Added a menu command to switch between short & long menus. Made verb insertion smarter about a "with Player" context.
- Modified Player's name matching to ignore certain invisible or nonsensical characters. (A few applications -- including Adobe Illustrator & Acrobat -- have strange characters in the names of menu or dialog items.)
Fixes
- "do popup" no longer requires an extra click on certain pop-up menus. (We built the extra click into the verb's behavior to compensate for an apparent change in the MacOS.)
- Enhanced most Player verbs to handle a wider variety of datatypes.
- Balloon help no longer flashes in certain dialogs.
Example Scripts
- The examples we shipped with 1.0 were good, but gradually became out of date. We've revised them as needed and added many new ones. Please review these scripts! Each was designed to demonstrate one or more verbs or key ideas.
- All the AppleScript examples are saved as text files. You can open them even if you don't have the application they control. You can also open them with any text editor, and search them (e.g. for specific verbs) if you have a utility that can search multiple files. (Of course, the Frontier examples are searchable directly in the Object Database.)
Player 1.1 AppleScript Summary
do menu menu item: choose from a pull-down menu... [repeat until successful boolean] -- if "true", Player will repeat the command until it is successful (or until the user aborts with command-period)
set checkbox sequence: rapidly set a list of checkboxes in sequence
set checkbox sequence anything -- list of lists, using the form { {checkbox1, value}, {checkbox2, value}, ... } where the checkbox is either a name or ID number and value is 1 for "checked", 0 for "unchecked"
set dialog folder to: set the target folder for the next file open or save dialog
set dialog folder to alias -- path to a folder or a file
Player 1.1 UserTalk Summary
Player.chooseMenu(menu, item, holding: modifierKeys, repeatUntilSuccessful: true) Player.chooseHierMenu(menu, submenu, item, holding: modifierKeys, repeatUntilSuccessful: true)Player.setCheckboxSequence(listOfLists)
Player.setDialogFolder(path)
Version 1.09 Release Notes
Player Runtime 1.09 is included with Luminous OPEN 1.1. We weren't quite finished with Player 1.1 by their deadline so we created a special version that included most of the 1.1 features. The free updater that converts prior versions of Player Runtime to 1.1 should work with 1.09.
Version 1.03 Release Notes (edited for version 1.1)
October 1995
Notes
- This version is primarily a maintenance release.
New Features
- New screen coordinates constant that can be used as the third item in a list instead of calling the screen coordinates verb. For example:
tell application "PreFab Player" -- AppleScript click location {x, y, screen coordinates} -- xy relative to screen not frontmost window end tellwith Player « Frontier's UserTalk (*1.1*: name abbreviated to prevent conflict with the verb) clickMouse( {x, y, screenCoords} ) « xy relative to screen not frontmost window
- New yield time verb to give processor time to other applications, e.g. when they are running a compute-intensive task that must be completed before the script continues. Note that the time is not intended to be precise, it depends entirely on how much processor time other apps take. New in 1.1: see the example script "Many ways to wait".
Fixes
- When given XY coordinates, the pop-up menu verb uses those exact coordinates rather than the center of the object at that location (if any). Solves problem of custom "pop-ups" where the label is part of the object and wider than the menu portion.
- The type verb now accepts a number datatype.
- Fixed the "screen coordinates" verb. (1.1: In AppleScript, the recommended way to specify absolute position is to use the new screen coordinates constant, since the screen coordinates verb is part of the obsolete PlayerLib library rather than built in.)
- Fixed problem where modifier key was held down after certain error messages.
- Fixed crash at shutdown that occurred when certain versions of DebugServices for PowerPC were installed.
Fixes for AppleScript
- "set value of checkbox" requires a value of 1 or 0, no constants are supported.
- Fixed crash when an invalid parameter was supplied. Player now generates an error.
- Renamed "end" to "end key" to avoid conflict with AppleScript's "end". Changed default for related keys to "home key", "page up key", "page down key"; the old terminology for these 3 will automatically be converted into the new.
- Fixed bug in PlayerLib's locateFolder for the case where a file is specified. (1.1: locateFolder has been superceeded by "set dialog folder")
- Added Enable/Disable Balloon scripts, which were accidentally omitted from 1.0.
Fixes for Frontier's UserTalk
- Fixed locateFile() for a file located on the desktop. (1.1: locateFile has been superceeded by setDialogFolder)
- Added Player.isRunning(), which was accidentally omitted from 1.0.
Release History
Versions 1.01 & 1.02 were distributed on a limited basis. Version 1.0 was released in Aug. '94Watch our website http://www.prefab.com/ for the latest information.
Updating to 1.2
Copyright 1993-99, PreFab Software, Inc. All Rights Reserved.
This site built and maintained using Stage Three, a set of custom Frontier scripts.