Object audio-player allows the use of other sound generation tools with little modification to the AFL primitives. PLAY-NOTES is a simple C program that plays a short beep when called with a set of arguments. A foreign function interface to this C function provides the Lisp counterpart:
[LVerbatim1181]
To create an audio player that uses the above to generate sounds, we can write:
[LVerbatim1183]
We can now turn this object on or off, and also change the note that is played by executing:
[LVerbatim1185]
Finally, we can implement a new component space around this audio-player object, called the play-notes-space, with its local state etc., and manipulate it using AFL constructs.