JMSL hierarchies, however, are not particularly concerned with modeling real-world hierarchies. You can build hierarchies with JMSL classes that have no real-world counterparts.
For example, you might design a “MusicJob” (a JMSL Composable that does some user-defined task repeatedly over time), that periodically scans your computer's Recycling Bin for data.This MusicJob could be put in a ParallelCollection with other MusicJobs that sonify the data in various ways (thanks to Christopher Koenigsberg who wrote a non-JMSL piece that did something similar).
Note, too, that hierarchies can be built on-the-fly during the execution of a piece. SequentialCollections can be created, performed, rearranged, embedded within ParallelCollections within ParallelCollections within other SequentialCollections... very complex networks of interrelationships can be managed easily.
This has been a brief introduction to JMSL's use of hierarchies. Now
check out what else JMSL has to offer.
(C) 1997-2003 Phil Burk and Nick Didkovsky, All Rights Reserved
JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.