Apple Events -- BP2 in a client-server environment

Bol Processor BP2 is designed for client-server technology.

First of all, BP2 can run in background. For instance, after launching an improvisation or a script, clicking outside BP2 (in the Finder or any other application window visible in the back) sends BP2 to background. This means, it continues its job, including playing sounds through the MIDI output, while the user is doing (almost) anything else on the same computer. Indeed, running several applications implies that enough RAM space is available and the machine is good at sharing resources in an efficient way.

In addition, BP2 responds to Apple Events, i.e. events that enable communication between different applications under MacOS. A typical "client" application is supplied to show the range of possibilities. It is a Claris® FileMaker Pro database named "TryAppleEvents.fm", which contains scripts telling BP2 to do certain things, and explanations on the actual operation.

If it does not work, check Apple Events created by the FileMaker scripts (call "ScriptMaker" in the "Script" menu of FileMaker 3.0). Each event appearing in the script should show "BP2.9.3" as the target, not "<unknown>". If it shows "<unknown>" it probably means that "TryAppleEvents.fm" is not in the same folder as "BP2.9.3", or the desktop needs to be rebuilt.

Note that FileMaker Pro 3.0 does not recognise an application on a remote disk, which means it is not able to send a remote Apple Event even though BP2 would be able to process it.

The environment should be arranged properly when BP2 is used as a server. It is recommended that no client application hides the bottom part of the screen on which BP2 displays messages. The top left part is also useful to see that BP2 has received a "pause" event and is waiting for "resume" or "stop". Doing so, its activity can be controlled without bringing BP2 to the foreground.

The list of currently available Apple Events is found in the on-line documentation under the "Apple Events" entry accessed in the "Frequently aked questions..." dialog. The current version processes events sending musical 'scores' in text format, BP2 scripts, and various tasks such as loading a settings file or changing the note convention.

The client-server technology has tremendous potential. BP2 is so far a unique MIDI software able to handle musical material as text (scores and processes such as grammars or scripts). This data may be stored in the fields of a standard database working as a client of BP2.

BP2 may in turn send Apple Events to other applications (running on the same computer) thanks to script instructions:

AE send normal class '«AEclass»' ID '«AEID»' to application '«signature»'
AE send fast class '«AEclass»' ID '«AEID»' to application '«signature»'

The difference between these two instructions lies in the priority which the Finder will give to the event.

Note that in the current version, the target application must already be opened, failing to which the Apple Event won't be able to reach it; in other words, BP2 does not launch applications.

If you are working in the field of graphic animations you may take advantage of BP2 as a server for producing high-quality music on MIDI devices. Random improvisation may be an important asset: each time the animation is played part of the music track will be composed afresh.