
Several minor problems were corrected, one of which occurred when an Ultra-SiMPLE user tried to
specify a window that was too large to fit onto the screen. (Also, running a program in a window
under Vista would cause unnecessary error messages to be displayed. This too has now been fixed.)
In addition, a file ("Libraries.txt") is now included in
the SiMPLE folder. It is an abridged list of the most commonly used Tasks/Functions in the libraries.
Also, a new task has been added to the Ultra-SiMPLE system library:
Name: Savescreen (Int xul, Int yul, Int xlr, Int ylr, Text path)
Savescreen (Text path)
Type: Task
Operation: Saves the specified region of the current screen to a file
as a 24-bit BMP image. (If no region is specified, saves the
entire screen.)
Enter with: xul, yul - the upper-left corner of the region.
xlr, ylr - the lower-right corner of the region.
path - the path to the output file.
It is now possible to pre-compile your tasks in "Drag & Drop" mode (similar to what "Command-line" mode allows). To do so, just place all the task source listings that you wish to pre-compile into a single text document. Then change that file's extension from ".TXT" to ".SRC", and drop the file onto the "Drop SiMPLE Listing Here" icon. (Click here to read more.)
"Drag & Drop" mode now displays the version number (i.e., the date of the revision) for the copy of SiMPLE that is currently being used.
Several new tasks and functions have been added to the Ultra-SiMPLE system library:
Name: Readquitkeyc (Int key)
Readquitkeyc
Type: Task
Operation: Tests to see if the specified key has been pressed.
If so, a small window appears and asks the user to
confirm that the program is to be immediately termi-
nated.
Calling parameter: key: the specified key. (If no key is specified,
any key will work.)
Note: (This task uses auxiliary screen #7.)
_____________________________________________________________________________
Name: Messagebox (Text message)
Type: Task
Operation: Displays a small window containing a message,
along with an "OK" button. It then waits for the
user to click the button.
Calling parameter: message: the message to be displayed
Examples: messagebox ("This is a one-line message.")
messagebox ("This is a\ntwo-line message.")
Note: (This task uses auxiliary screen #7.)
_____________________________________________________________________________
Name: Querybox (Text question)
Type: Int function
Operation: Displays a small window containing a "yes or no"
question, along with a "Yes" button and a "No"
button. It then waits for the user to respond.
Calling parameter: question: the "yes or no" question beeing asked
Returns: 1, if the "Yes" button was clicked (or if the "Y"
key was pressed).
0, if the "No" button was clicked (or if the "N"
key was pressed).
Note: (This function uses auxiliary screen 7.)
_____________________________________________________________________________
Name: Confirmquit ( )
Type: Int function
Operation: Displays a small window containing the message:
"Are you sure you want to quit?"
along with a "Yes" button and a "No" button.
It then waits for the user to respond.
Returns: 1, if the "Yes" button was clicked (or if the "Y"
key was pressed).
0, if the "No" button was clicked (or if the "N"
key was pressed).
Note: (This function uses auxiliary screen 7.)
SiMPLE now works in Windows 7 (just like it does in Windows Vista).
The "Drop SiMPLE Listing Here" icon has been changed from an apple to a target:
The name of the "OUTPUT" file (created by the "Output" task) has been changed to "OUTPUT.TXT".
In Pro-SiMPLE all disk files are accessed through "channels" (disignated by the letters A-G). To help maintain compatibility with Pro-SiMPLE, Ultra-SiMPLE now provides you with the option of using this same "channel" method for accessing disk files.
When using a flash drive, the "Fetch The Proper Icons" program now produces a much smaller black window (displaying the word "Working . . ." in yellow letters), and places it in the upper-left corner of the screen.
The "ReadMe.html" document (for use with a flash drive) has been expanded to include more information.
Some of the files inside the "SiMPLE" folder (and some of its subfolders) have been reorganized.
Am error in Pro-SiMPLE's declaration of the "Ellipse" task has been fixed.
The "PULSATE.EXE" program has been removed from the "SiMPLE Samples" folder. (It didn't work correctly on some computers.)
The following function has been added to the Pro-SiMPLE and Ultra-SiMPLE system libraries:
Name: Keyintext (Text question, Int timeout)
Type: Text function
Operation: Displays a question on the screen and then waits
for user input of a text string, followed by the
Enter key. If the Enter key is not pressed in the
allotted time, the function returns a a text char-
acter whose Ascii value is -1.
Calling parameters: question: the question to be displayed
timeout: the number of seconds allotted
for the user to respond
Example: question = "Which planet is closest to the sun? "
answer = keyin text (question, 5)
If (answer = char(-1)) Display "Out of time!"
Else
If (answer ~ "mercury") Display "Correct!"
Else Display "Wrong!"
Endelse
It is now possible to play sounds by directly accessing the midi CONTROLER. To support this capability, The following new tasks have been added to the Ultra-SiMPLE system library:
Name: Openmidi
Type: Task
Operation: Opens the midi controler.
_____________________________________________________________________________
Name: Playnote (Int voice, Int note, Int dur)
Type: Task
Operation: Plays the specified musical note at maximum volume.
Enter with: voice - the voice to be used for the note.
1 = Acoustic Grand Piano
2 = Bright Acoustic Piano
3 = Electric Grand Piano
4 = Honky-tonk Piano
5 = Electric Piano 1
6 = Electric Piano 2
7 = Harpsichord
(etc.)
note - the note to be played.
(60 = Middle C, 0 = silence)
dur - the duration of the note (in milliseconds).
(If the 'note' parameter is greater than 0,
the note will stop playing abruptly after
the specified duration. If the 'note' para-
meter is less than 0, the note will be sus-
tained until the next non-silent note is en-
countered.)
_____________________________________________________________________________
Name: Closemidi
Type: Task
Operation: Closes the midi controler.
_____________________________________________________________________________
Example:
The following program will play a "do-re-mi" sequence of notes (in the key
of C) on a Harpsichord, with each note lasting for one second:
open midi
play note (7, 60, 1000)
play note (7, 62, 1000)
play note (7, 64, 1000)
close midi
_____________________________________________________________________________
For more "exotic" applications (such as playing chords), the following tasks
are also available:
_____________________________________________________________________________
Name: Startmidi (Int chan, Int voice, Int note, Int vol)
Type: Task
Operation: Starts playing the specified musical note.
Enter with: chan - the midi channel (0-15) in which
the note is to be played.
voice - the voice to be used for the note:
1 = Acoustic Grand Piano
2 = Bright Acoustic Piano
3 = Electric Grand Piano
4 = Honky-tonk Piano
5 = Electric Piano 1
6 = Electric Piano 2
7 = Harpsichord
(etc.)
note - the note to be played.
(60 = Middle C, 0 = silence)
vol - the volume (0-127) to be used for the note.
_____________________________________________________________________________
Name: Stopmidi
Type: Task
Operation: Stops playing all midi sounds.
_____________________________________________________________________________
Example:
The following program will use channels 0, 1, and 2 to play a quiet 3-note
Grand Piano chord (in the key of C) for two seconds:
open midi
start midi (0, 1, 60, 32)
start midi (1, 1, 64, 32)
start midi (2, 1, 67, 32)
delay (2000)
stop midi
close midi
Color #6 in Ultra-SiMPLE did not display correctly. (It contained too much green.) This bug has now been fixed.
When running a SiMPLE program in a window, the mouse cursor would sometimes be erroneously shown as an hour glass. This bug has now been fixed.
NEW: Each of the 16 "Standard Colors" can now be expressed either by a number in the range 0 - 15 (just as before), or by its name:
| Number | Name |
| 0 | Black |
| 1 | Dark Blue |
| 2 | Dark Green |
| 3 | Dark Aqua |
| 4 | Dark Red |
| 5 | Dark Violet |
| 6 | Dark Yellow (or Brown) |
| 7 | Gray |
| 8 | Dark Gray |
| 9 | Blue |
| 10 | Green |
| 11 | Aqua |
| 12 | Red |
| 13 | Violet |
| 14 | Yellow |
| 15 | White |
Notice that the first letter of each word in the color's name must be upper case.
Example:
solid color (Dark Red)
solid circle (300, 200, 100)
NEW: Each of the "Special" keys on the keyboard ("Esc", "Tab", "Backspace", etc.) can now be expressed either by a number (just as before), or by its name:
| Number | Name |
| 8 | Backspace |
| 9 | Tab |
| 13 | Enter |
| 27 | Esc |
| 274 | Alt |
| 315 - 324 | F1 - F10 |
| 327 | Home |
| 328 | Up Arrow |
| 329 | Page Up |
| 331 | Left Arrow |
| 333 | Right Arrow |
| 335 | End |
| 336 | Down Arrow |
| 337 | Page Down |
| 338 | Insert |
| 339 | Delete |
| 389 - 390 | F11 - F12 |
Notice that the first letter of each word in the key's name must be upper case.
Example:
wait quitkey (Esc)
The RGB values of the 16 "Standard Colors" in Ultra-SiMPLE have been slightly adjusted so as to exactly match the RGB values of the corresponding colors in Pro-SiMPLE.
A somewhat major bug was discovered in both the "Messagebox" task and in the "Querybox" function. If these modules were to be invoked in an Ultra-SiMPLE program that used the on-screen graphics buttons, a conflict could occur. These problems have now been fixed.
Some bugs in SiMPLE's translator were discovered and fixed.
The numerical values of the "voices" in Ultra-SiMPLE's midi tasks were off by one. (E.g., a "Church Organ" was 19 instead of the 20 that it should have been.) All of the midi voices have now been corrected.
The functionality of Ultra-SiMPLE's virtual screens has been made more robust.
A new function has been added to the Ultra-SiMPLE system library:
Name: Verifyfolder (Text path)
Type: Int function
Operation: Does the folder (specified by path) exist and,
if so, is it writable? (If "path" is a null string,
the folder being specified is the current device's
root directory.)
Returns: 0: The folder was not found
1: The folder was found but it is not writable
2: The folder was found and it is writable
The previous version of SiMPLE (10.2.25) incorrectly displayed the version number as 10.2.23.
The previous version had incorrectly set the initial display mode for the Ultra-SiMPLE. (It would display all output onto the user's desktop.) This has now been corrected.
None of Ultra-SiMPLE's "keyin" functions ("Keyintext", "Keyinint", etc.) were working correctly. Those problems have now been fixed.
When expressing the names of colors, the first letter of a color's name MUST be an upper case letter. But, if the color's name consists of two words (such as "Dark" and "Blue"), the second word can now be either upper or lower case (e.g., "Dark Blue" or "Darkblue")
When expressing the names of keys on the keyboard, the first letter of a key's name MUST be an upper case letter. But, if the key's name consists of two words (such as "Left" and "Arrow"), the second word can now be either upper or lower case (e.g., "Left Arrow" or "Leftarrow")