File: musicweaver_AA.zip Author: Pete Goodeve (pete@jwgibbs.cchem.berkeley.edu) Release: 0.1 -- 19 July 1997 Compatibility: AA:PR Location: contrib/audio Description: 'The MusicWeaver' MIDI Stream Arranger Notes: This is an initial demonstration of a scheme -- initially, but not necessarily, targetted toward MIDI -- to connect modules graphically into a configuration for controlling and transforming data streams. A couple of other kinds of modules are included to show its potential. (Only a bare minimum of modules unfortunately exist as yet.) To run MIDI, you will need a BeBox; the rest of the package should be compatible with any AA:PR system. The 'MusicWeaver' is an implementation of the more general 'DataWeaver' concept. which provides a graphical, interactive, and dynamic way of linking data-handling modules together to perform a desired task. A unique and important characteristic of the scheme is that data flowing around the diagram is 'tagged' with an identification of its type, so different kinds may be mixed within a configuration, even flowing on some of the same paths. Each element will simply ignore data that it doesn't know about. The scheme is designed for efficient data transfer along a path. Copying is minimized -- usually entirely unnecessary in a simple 'filter'. Multithreading is of course central, with each path being its own thread, and the Add-on and Drag-and-Drop metaphors make diagram construction quick and intuitive. Usage: The zip archive should unpack into a single directory with distinct icons. The only actual executable here is 'Weaver': double-clicking it starts everything up. The other application icons are all add-ons, which can be dragged into the diagram window -- and connected with other drags -- to build a running configuration. See the README in the package for a full walk-through.