<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-DisplayLists




<ClassName>
class:			DisplayList
<ClassHeading>
superclass:		DependentComposite

category:		MusicUI-DisplayLists

<ClassComment>
comment:
\	Instances of DisplayList are used for representing composed structured graphics. They can be nested (see the class examples) and can display themselves and their components.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	offset\	\	\<Point\> the object's offset distance relative to its container




<ClassName>
class:			DisplayItem
<ClassHeading>
superclass:		DependentPart

category:		MusicUI-DisplayLists

<ClassComment>
comment:
\	Instances of the subclasses of the abstract class DisplayItem are used as the items in display lists. They can generally display themselves on graphics contexts.
\	
\	\	\	These are done this way because I don't think wrappers are right for use in display lists.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	offset\	\	\<Point\> the object's offset relative to its container (display list)

\	\	\	color\	\	\<ColorValue\> the object's display color (or nil)

\	\	

\	\	The subclasses add special display-related state and behavior such as an extent point and display method, or a visual item such as a string or image to display.

\	\	They generally implement displayOn: aGraphicsContext and bounds accessing methods.

\	\	

\	\	This implementation is MODE 1.1, STEIM, Amsterdam, May/June 1990; updated at the Lagoon in Palo Alto, July, 1991-May, 1992.

\	\	

\	\	The entirety of this software is Copyright (c) 1990, Stephen Travis Pope, Nomad Object Design/Nomad Computer Music Research. 

\	\	All Rights Reserved.

\	\	




<ClassName>
class:			DisplayLine
<ClassHeading>
superclass:		DisplayItem

category:		MusicUI-DisplayLists

<ClassComment>
comment:
\	Instances of DisplayLine are used for visual lines in display lists.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	width\	\	\<Number\> the object's line width

\	\	\	extent\	\	\<Point\> the object's visual extent




<ClassName>
class:			DisplayRectangle
<ClassHeading>
superclass:		DisplayLine

category:		MusicUI-DisplayLists

<ClassComment>
comment:
\	Instances of DisplayRectangle can be used to display bordered or filled rectangles in display lists. This is a subclass of DisplayLine for reasons of practicality. a "purist" (e.g., David Liebs), would create an intermediate abstract class (e.g., BoundedDisplayItem) for both DisplayLine and DisplayRectangle.
\	
\	\	\	
\	
\	\	\	Instanve Variables:
\	
\	\	\	\	fill\	\	\<Boolean or nil\> whether or not to fill the receiver on display (no by default)




<ClassName>
class:			DisplayPolyline
<ClassHeading>
superclass:		DisplayRectangle

category:		MusicUI-DisplayLists




<ClassName>
class:			DisplayString
<ClassHeading>
superclass:		DisplayItem

category:		MusicUI-DisplayLists

<ClassComment>
comment:
\	Instances of DisplayString are used for visual text items in display lists.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	string\	\	\<String or Text\> the object's string/text

\	\	\	font\	\	\<ImplementationFont\> the object's display font




<ClassName>
class:			DisplayVisual
<ClassHeading>
superclass:		DisplayItem

category:		MusicUI-DisplayLists

<ClassComment>
comment:
\	Instances of DisplayVisual are used for displaying arbitrary visual objects (e.g., cached images) in display lists.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	visual\	\	\<VisualComponent\> the object's visual object, typically an image

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-DisplayListViews




<ClassName>
class:			DisplayListEditor
<ClassHeading>
superclass:		Model

category:		MusicUI-DisplayListViews

<ClassComment>
comment:
\	An instance of DisplayListEditor is used as the intermediary model for viewing lists.
\	
\	\	\	It handles selection and operation on the list.
\	
\	\	\	It adds itself as a dependent of the list and echoes its change messages (i.e., the update: message says self changed).
\	
\	\	\	
\	
\	\	\	Instance Variable:
\	
\	\	\	\	list\	\	\	\<DisplayList\> the 'subject' list model
\	
\	\	\	\	selection\	\	\<DisplayItem orDisplayLIst\> the current selection or nil
\	
\	\	\	




<ClassName>
class:			DisplayListView
<ClassHeading>
superclass:		AutoScrollingView

category:		MusicUI-DisplayListViews

<ClassComment>
comment:
\	DisplayListViews can display and scroll structured graphics display lists generated by various models or layout managers.
\	
\	\	\	Using their page offset, they can scroll over very large display lists.
\	
\	\	\	They can have colored or gridded background pixmaps and can scroll/page on demand; they display their lists on their graphics contexts.
\	
\	\	\	
\	
\	\	\	Subclasses generally override the displayOn: or displayOnImage methods, and add initialization or transformation methods.
\	
\	\	\	
\	
\	\	\	Instance Variables
\	
\	\	\	\	displayList\	\<DisplayList\> the view's display list
\	
\	\	\	\	pixmap\	\	\	\<Pixmap or nil\> the view's cached display pixel map (optional)
\	
\	\	\	\	background\	\	\<Pixmap or nil\> the view's background form (e.g., gridding)
\	
\	\	\	\	zoom\	\	\	\<Point or nil\> the display list's zoom-in factor or nil
\	
\	\	\	\	pageOffset\	\	\<Point\> the offset in "pages" used for very large display lists
\	
\	\	\	\	backgroundColor\	\<ColorValue\> graphics background color
\	
\	\	\	\	foregroundColor\	\<ColorValue\> graphics display color
\	
\	\	\	\	redrawn\	\	\<nil or not\> set to nil to re-draw cache
\	
\	\	\	
\	
\	\	\	See the class examples for numerous ways of using display list views.
\	
\	\	\	The subclasses add knowledge of smart display list generation, background pixmap generation (e.g., gridding), display of item or x/y-range selection, x- or y-scaling or step/grid, property-\>color mapping, "clef forms" or other special pixmaps, multiple-model viewing, etc.
\	
\	\	\	




<ClassName>
class:			DisplayListController
<ClassHeading>
superclass:		ControllerWithMenu

category:		MusicUI-DisplayListViews

<ClassComment>
comment:
\	Instances of DisplayListController (or its subclasses) are used by DisplayListViews (or subclass instances) for menu management and selection.
\	
\	\	\	
\	
\	\	\	By default, a simple YellowButton menu allows for group/inspect/redraw/zoom.
\	
\	\	\	The RedButton is used for display item selection (by pointing or boxing-in).
\	
\	\	\	LeftShift extends the selection, and dragging a selection moves it.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	selection\	\	\<DisplayList\> the object's selected items

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Layout




<ClassName>
class:			StructureAccessor
<ClassHeading>
superclass:		Object

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of StructureAccessor and its subclasses are 'protocol convertors' which provide predictable interfaces (e.g., tree-speak), for diverse data structures.
\	
\	\	\	The basic display item generating protocol is: 
\	
\	\	\	\	(aStructureAccessor itemFor: aModelNode).
\	
\	\	\	
\	
\	\	\	InstanceVariableNames:
\	
\	\	\	\	subject\	\	\	\<Object\> the model or victim
\	
\	\	\	\	itemGenerator   \	\<Symbol or Block\> the DisplayItem generator
\	
\	\	\	\	\	\	\	\	\	Model items are passed to it (if it's a Block),
\	
\	\	\	\	\	\	\	\	\	or have to perform: it (if it's a Symbol).
\	
\	\	\	
\	
\	\	\	




<ClassName>
class:			LayoutManager
<ClassHeading>
superclass:		Object

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of the LayoutManager classes are used to generate display lists given random data structures and possibly hints in terms of structure accessors.
\	
\	\	\	This is David's miraculous idea and the heart of the Navigator architecture.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	view\	\	\<DisplayListView\> the view--May provide the displayItems

\	\	\	orientation\	\<Symbol or nil\> my 'base' symbol (e.g., #top)

\	\	\	itemAccessor\	\<StructureAccessor\> my referencing protocol translator

\	\	

\	\	Look for class references to the LayoutManager classes (mostly from DisplayListView classes), for lots of examples of the use of LayoutManagers.

\	\	

\	\	This implementation is Topaz 0, STEIM, Amsterdam, May/June 1990.

\	\	

\	\	The entirety of this software is Copyright (c) 1990, Stephen Travis Pope, Nomad Object Design/Nomad Computer Music Research. 

\	\	All Rights Reserved.




<ClassName>
class:			HierarchyLayoutManager
<ClassHeading>
superclass:		LayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of the HierarchyLayoutManager classes are used to generate display lists from tree-like data and tree accessors.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	length\	\	\<Integer or Point\> temp. depth used in layout

\	\	\	xStep\	\	\<Integer\> step size for x

\	\	\	yStep\	\	\<Integer\> step size for x

\	\	\	treeAccessor\	\<TreeAccessor\> the TreeAccessor used to access the model

\	\	




<ClassName>
class:			BinaryTreeLayoutManager
<ClassHeading>
superclass:		HierarchyLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of BinaryTreeLayoutManager are used to generate display lists which mirror the hierarchy of their models (accessed using a TreeAccessor) in the tree structure of a binary tree.




<ClassName>
class:			LeafLinearTreeLayoutManager
<ClassHeading>
superclass:		BinaryTreeLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of LeafLinearBinaryTreeLayoutManager are used to generate display lists which mirror the hierarchy of their models (accessed using a TreeAccessor) in the tree structure of a binary tree whose leaves are adjusted to lie in a line at the same y value.




<ClassName>
class:			TRTreeLayoutManager
<ClassHeading>
superclass:		LeafLinearTreeLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of TRTBinaryTreeLayoutManager are used to generate display lists which mirror the hierarchy of their models (tension-relaxation or prolongational reduction trees accessed using a TreeAccessor) in the tree structure of a binary tree whose leaves are adjusted to lie in a line at the same y value and whose branches are straightened according to the TRTree semantics described in "A Generative Theory of Tonal Music" by Fred Lerdahl and Ray Jackendoof.




<ClassName>
class:			TreeLayoutManager
<ClassHeading>
superclass:		BinaryTreeLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of TreeLayoutManager are used to generate display lists which mirror the hierarchy of their models (accessed using a TreeAccessor) in the tree structure of a graphical tree.




<ClassName>
class:			IndentedListLayoutManager
<ClassHeading>
superclass:		HierarchyLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of IndentedListLayoutManager are used to generate display lists which mirror the hierarchy of their models (accessed using a TreeAccessor) in the indentation of a list-like outline.




<ClassName>
class:			IndentedTreeLayoutManager
<ClassHeading>
superclass:		IndentedListLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of IndentedTreeLayoutManager are used to generate display lists which mirror the hierarchy of their models (accessed using a TreeAccessor) in the indentation of a list-like tree.




<ClassName>
class:			SequenceLayoutManager
<ClassHeading>
superclass:		LayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of the SequenceLayoutManager classes are used to generate display lists with "x = time" from event lists.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	timeScale\	\	\<Integer\> the msec./pixel scale

\	\	\	timeOffset\	\	\<Integer\> the start of the layout in msec.

\	\	




<ClassName>
class:			PitchTimeLayoutManager
<ClassHeading>
superclass:		SequenceLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of the PitchTimeLayoutManager classes are used to generate display lists with "x = time" and "y = pitch" from event lists.
\	
\	\	\	The default layout is linear pitch-to-y, like piano-roll or Hauer-Steffens notation.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	pitchScale\	\	\<Integer\> the key#/pixel scale

\	\	\	pitchOffset\	\	\<Integer\> the bottom of the layout as a key#

\	\	




<ClassName>
class:			PositionTimeLayoutManager
<ClassHeading>
superclass:		PitchTimeLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of PositionTimeLayoutManager are used to generate display lists with "x = time" and "y = position" from event lists.
\	
\	\	\	




<ClassName>
class:			CMNLayoutManager
<ClassHeading>
superclass:		PitchTimeLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of CMNLayoutManager are used to generate display lists which common-practise Western music notation.
\	
\	\	\	They handle (together with CMNViews) the nasty heuristics of CMN generation.




<ClassName>
class:			GroupingLayoutManager
<ClassHeading>
superclass:		SequenceLayoutManager

category:		MusicUI-Layout

<ClassComment>
comment:
\	Instances of GroupingLayoutManager are used to generate display lists which display the hierarchical grouping of event lists.

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Editors




<ClassName>
class:			TimeSequenceController
<ClassHeading>
superclass:		DisplayListController

category:		MusicUI-Editors




<ClassName>
class:			PitchTimeController
<ClassHeading>
superclass:		TimeSequenceController

category:		MusicUI-Editors




<ClassName>
class:			EventListEditor
<ClassHeading>
superclass:		Model

category:		MusicUI-Editors

<ClassComment>
comment:
\	Instances of EventListEditor are used as the models of EventListViews.
\	
\	\	\	They hold onto EventLists and send messages to them.
\	
\	\	\	
\	
\	\	\	Instance variables:
\	
\	\	\	\	list \	\	\	\<EventList\> my EventList (subject)
\	
\	\	\	\	ostinato \	\<Ostinato\> my loop process (if i'm looping)
\	
\	\	\	\	selection \	\<EventList\> The "selected" notes
\	
\	\	\	\	ampl \	\	\<Number or Amplitude\> My default amplitude
\	
\	\	\	




<ClassName>
class:			TimeSequenceView
<ClassHeading>
superclass:		DisplayListView

category:		MusicUI-Editors

<ClassComment>
comment:
\	Instances of SequenceView (and its subclasses) are time-line oriented DisplayListViews.
\	
\	\	\	Time may run horizontally (default) or vertically, depending on the layout manager.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	clefForm\	\<Form\> the view's clef form or axes (optional), may be staff or scale/grid/ruler

\	\	\	xScale\	\<Number\> the time-to-x-coordinate scale

\	\	\	xColor\	\<ColorValue\> the color of the lines for note duration

\	\	\	yColor\	\<ColorValue\> the color of the lines for note amplitude

\	\	\	headColor\	\<ColorValue\> the note head color

\	\	\	clefColor\	\<ColorValue\> the clef color

\	\	\	itemAccessors\	\<Symbol or Dictionary of (Voice -\> Symbol)\> the item accessor(s) to use to generate the display list items for the notes

\	\	

\	\	This implementation is MODE 1.1, STEIM, Amsterdam, May/June 1990; updated at the Lagoon in Palo Alto, July, 1991-May, 1992.

\	\	

\	\	The entirety of this software is Copyright (c) 1990, Stephen Travis Pope, Nomad Object Design/Nomad Computer Music Research. 

\	\	All Rights Reserved.




<ClassName>
class:			PitchTimeView
<ClassHeading>
superclass:		TimeSequenceView

category:		MusicUI-Editors

<ClassComment>
comment:
\	Instances of PitchTimeView (and its subclasses) are time-line oriented DisplayListViews which make the assumption that the y-coordinate is related to pitch.
\	
\	\	\	The relationship may be a function (as in piano-roll and Hauer-Steffens notation), or involve a look-up table (as in CMN).
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	pitchOffset\	\<Number\> the view's lowest pitch (normally a key number)




<ClassName>
class:			CMNView
<ClassHeading>
superclass:		PitchTimeView

category:		MusicUI-Editors

<ClassComment>
comment:
\	Instances of CMNView display common-practise Western music notation (after a fashion).
\	
\	\	\	For reasons of size and readability, it is kept simple. It handles clefs, accidentals and ledger lines, but has no beaming or fancy page layout; this should be added in a subclass.
\	
\	\	\	
\	
\	\	\	
Instance Variables:

\	\	\	staves\	\<OrderedCollection of (Integer -\> Symbol)\> the x positions of the staves 

\	\	\	\	\	\	and their symbolic names (clefs), e.g., 40 -\> #piano.

\	\	\	steps\	\<Array of Integers\> the step array (pitch number mapped to y value)

\	\	\	sharps\	\<Array of Integers\> the sharp array (pitch offsets that take accidentals)

\	\	\	ledgers\	\<Array of Integers\> The y positions of the ledger lines (5 by default)

\	\	\	xTable\	\<OrderedCollection of Integers\> the table of x positions of the events;

\	\	\	\	\	needed for fancy layout or lots of notes or accidentals




<ClassName>
class:			HauerSteffensView
<ClassHeading>
superclass:		PitchTimeView

category:		MusicUI-Editors




<ClassName>
class:			PositionTimeView
<ClassHeading>
superclass:		PitchTimeView

category:		MusicUI-Editors




<ClassName>
class:			GroupingView
<ClassHeading>
superclass:		TimeSequenceView

category:		MusicUI-Editors

<ClassComment>
comment:
\	Instances of Grouping view display the hierarchy of event lists.




<ClassName>
class:			PhraseView
<ClassHeading>
superclass:		TimeSequenceView

category:		MusicUI-Editors

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Functions




<ClassName>
class:			FunctionController
<ClassHeading>
superclass:		DisplayListController

category:		MusicUI-Functions

<ClassComment>
comment:
\	Instances of FunctionController are the controllers used within FunctionViews.
\	
\	\	\	The allow click-and-drag breakpoint function editing.
\	
\	\	\	
\	
\	\	\	Instance Variables
\	
\	\	\	\	modelIndex\	\	\<Integer 1-4\> the index into the view's array of functions.




<ClassName>
class:			FunctionView
<ClassHeading>
superclass:		DisplayListView

category:		MusicUI-Functions

<ClassComment>
comment:
\	Instances of class FunctionView are views on breakpoint or sampled data functions.
\	
\	\	\	They can display up to 4 model functions on a fixed-size non-scrolling field.
\	
\	\	\	
\	
\	\	\	Instance variables:
\	
\	\	\	\	models\	\	\<Array of 1 to 4 Functions\> the function array
\	
\	\	\	\	aScale\	\	\<Number\> the y-scale of the view
\	
\	\	\	\	vRange\	\	\<Number\> the vertical range, normally = aScale
\	
\	\	\	\	hRange\	\	\<Number\> the horizontal range
\	
\	\	\	\	colors \	\<Array of 1 to 4 colorValues\> the colors for the 4 functions

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Sound




<ClassName>
class:			SoundController
<ClassHeading>
superclass:		ControllerWithMenu

category:		MusicUI-Sound

<ClassComment>
comment:
\	Instances of SoundController are used with SoundViews and perform horizontal scrolling and menu operations




<ClassName>
class:			SoundBrowser
<ClassHeading>
superclass:		Browser

category:		MusicUI-Sound

<ClassComment>
comment:
\	The SoundBrowser is a new Browser for managing the System's SoundLibrary with class SoundManager.
\	
\	\	\	




<ClassName>
class:			SoundView
<ClassHeading>
superclass:		DisplayListView

category:		MusicUI-Sound

<ClassComment>
comment:
\	Instances of SoundView are used for displaying samples sound objects in R4.
\	
\	\	\	They can do horizontal scrolling and scaling.
\	
\	\	\	
\	
\	\	\	Instance variables:
\	
\	\	\	\	displayContents\	\<GraphicsContext\> the cached display
\	
\	\	\	\	marker1, 2\	\	\<Number\> the offset into the sound in samples for 2 markers
\	
\	\	\	\	step\	\	\	\	\<Number\> the step size for displaying--show every n'th sample
\	
\	\	\	\	scale\	\	\	\<Number\> the vertical scale for multiplying the sample's value
\	
\	\	\	




<ClassName>
class:			SoundEditor
<ClassHeading>
superclass:		Model

category:		MusicUI-Sound




<ClassName>
class:			SoundBrowserView
<ClassHeading>
superclass:		Browser

category:		MusicUI-Sound

<ClassComment>
comment:
\	The SoundBrowserView is a new BrowserView with special relevance to the SoundManager.




<ClassName>
class:			PlayList
<ClassHeading>
superclass:		FileBrowser

category:		MusicUI-Sound

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Mixing




<ClassName>
class:			MixElement
<ClassHeading>
superclass:		MusicEvent

category:		MusicUI-Mixing

<ClassComment>
comment:
\	Instances of MixElement are Event types with special behaviors for sound manipulation.
\	
\	\	\	
\	
\	\	\	Instance variables:
\	
\	\	\	\	sound\	\	\<SampledSound\> the instance's sound object
\	
\	\	\	




<ClassName>
class:			MixLayoutManager
<ClassHeading>
superclass:		PitchTimeLayoutManager

category:		MusicUI-Mixing




<ClassName>
class:			MixController
<ClassHeading>
superclass:		PitchTimeController

category:		MusicUI-Mixing




<ClassName>
class:			MixView
<ClassHeading>
superclass:		PitchTimeView

category:		MusicUI-Mixing

<ClassComment>
comment:
\	A MixView can display the elements ofa Mix top-to-bottom with various switches and sliders, a la MacMix.
\	
\	\	\	




<ClassName>
class:			Mix
<ClassHeading>
superclass:		EventList

category:		MusicUI-Mixing

<ClassComment>
comment:
\	A Mix instance has an array of elements and a mixing window.
\	
\	\	\	It interfaces with the SoundManager for interactive mixing and performance.
\	
\	\	\	
\	
\	\	\	
\	
\	\	\	Instance variables:
\	
\	\	\	\	sound\	\	\<SampledSound\> the current mix's result or temp. sound
\	
\	\	\	
\	
\	\	\	This implementation is MODE 1.0, Palo Alto, July, 1991.
\	
\	\	\	
\	
\	\	\	The entirety of this software is Copyright (c) 1991, Stephen Travis Pope, Nomad Object Design/Nomad Computer Music Research. 
\	
\	\	\	All Rights Reserved.

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Networks




<ClassName>
class:			NetworkLayoutManager
<ClassHeading>
superclass:		LayoutManager

category:		MusicUI-Networks




<ClassName>
class:			NetLink
<ClassHeading>
superclass:		Model

category:		MusicUI-Networks




<ClassName>
class:			NetNode
<ClassHeading>
superclass:		Model

category:		MusicUI-Networks

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Trees




<ClassName>
class:			TreeAccessor
<ClassHeading>
superclass:		StructureAccessor

category:		MusicUI-Trees

<ClassComment>
comment:
\	Instances of TreeAccessor tree-navigation interfaces to diverse data structures.
\	
\	\	\	The basic display tree walking protocol is: 
\	
\	\	\	\	(aTreeAccessor childrenOf: aModelNode); and
\	
\	\	\	\	(aTreeAccessor isTerminal: aModelNode).
\	
\	\	\	
\	
\	\	\	InstanceVariableNames:
\	
\	\	\	\	terminalQuery\	\<Symbol or Block\> the isLeaf or hasChildrenNot query
\	
\	\	\	\	childAccessor\	\	\<Symbol or Block\> accessor to get a node's children
\	
\	\	\	\	\	\	\	\	\	Model items are passed to these (if they're Blocks),
\	
\	\	\	\	\	\	\	\	\	or have to perform: them (if they're Symbols).
\	
\	\	\	
\	
\	\	\	




<ClassName>
class:			TreeEditor
<ClassHeading>
superclass:		DisplayListEditor

category:		MusicUI-Trees




<ClassName>
class:			TRTreeEditor
<ClassHeading>
superclass:		TreeEditor

category:		MusicUI-Trees




<ClassName>
class:			TreeController
<ClassHeading>
superclass:		DisplayListController

category:		MusicUI-Trees




<ClassName>
class:			TreeNode
<ClassHeading>
superclass:		NetNode

category:		MusicUI-Trees




<ClassName>
class:			BTreeNode
<ClassHeading>
superclass:		TreeNode

category:		MusicUI-Trees




<ClassName>
class:			TRTreeNode
<ClassHeading>
superclass:		BTreeNode

category:		MusicUI-Trees




<ClassName>
class:			ProlongationNode
<ClassHeading>
superclass:		TRTreeNode

category:		MusicUI-Trees




<ClassName>
class:			ProgressionNode
<ClassHeading>
superclass:		TRTreeNode

category:		MusicUI-Trees

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-LinearPrediction




<ClassName>
class:			LPCFrame
<ClassHeading>
superclass:		Object

category:		MusicUI-LinearPrediction




<ClassName>
class:			LPCFrameData
<ClassHeading>
superclass:		OrderedCollection

category:		MusicUI-LinearPrediction




<ClassName>
class:			LPCFrameController
<ClassHeading>
superclass:		ControllerWithMenu

category:		MusicUI-LinearPrediction




<ClassName>
class:			LPCFrameView
<ClassHeading>
superclass:		DisplayListView

category:		MusicUI-LinearPrediction

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-PhaseVocoder




<ClassName>
class:			PhaseVocFrame
<ClassHeading>
superclass:		LPCFrame

category:		MusicUI-PhaseVocoder




<ClassName>
class:			PhaseVocFrameData
<ClassHeading>
superclass:		LPCFrameData

category:		MusicUI-PhaseVocoder




<ClassName>
class:			PhaseVocFrameView
<ClassHeading>
superclass:		LPCFrameView

category:		MusicUI-PhaseVocoder

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-Support




<ClassName>
class:			ColorBox
<ClassHeading>
superclass:		VisualPart

category:		MusicUI-Support




<ClassName>
class:			GridTracker
<ClassHeading>
superclass:		MenuTracker

category:		MusicUI-Support




<ClassName>
class:			ColorPopUp
<ClassHeading>
superclass:		PopUpMenu

category:		MusicUI-Support




<ClassName>
class:			EventListDictionaryInspector
<ClassHeading>
superclass:		DictionaryInspector

category:		MusicUI-Support

<ClassComment>
comment:
\	ELDInspector is used for eventLists; it has the play and edit functions




<ClassName>
class:			ColorActionButton
<ClassHeading>
superclass:		ActionButton

category:		MusicUI-Support




<ClassName>
class:			EventListDictionaryInspectorView
<ClassHeading>
superclass:		Inspector

category:		MusicUI-Support

<ClassComment>
comment:
\	ELDIView is used with the ELDInspector.




<ClassName>
class:			MODESystemController
<ClassHeading>
superclass:		StandardSystemController

category:		MusicUI-Support

<!DefineTag Section>
<!DefineTag ClassName>
<!DefineTag ClassHeading>
<!DefineTag ClassComment>
<!DefineTag ProtocolHeader>
<!DefineTag Protocols>
<!DefineTag ClassProtocols>
<!DefineTag InstanceProtocols>
<!DefineTag MethodsMessage>
<!DefineTag MethodsComment>
<!DefineTag MethodsCode>

<Section>
MusicUI-SupportOLD




<ClassName>
class:			EventInspectorView
<ClassHeading>
superclass:		Inspector

category:		MusicUI-SupportOLD

<ClassComment>
comment:
\	EventInspectorView is used for events and eventLists, it adds new functions and buttons.




<ClassName>
class:			InstrumentSelectorController
<ClassHeading>
superclass:		Controller

category:		MusicUI-SupportOLD

<ClassComment>
comment:
\	I am the controller for the InstrumentSelector and do simplistic gridding for icon selection.




<ClassName>
class:			InstrumentSelector
<ClassHeading>
superclass:		View

category:		MusicUI-SupportOLD

<ClassComment>
comment:
\	The InstrumentSelector is used for the iconic menus of instreument icons used in the HSEventListViews.
\	
\	\	\	
\	
\	\	\	Instance variables:
\	
\	\	\	\	elView\	\<EventListView\> the view I effect




<ClassName>
class:			SoundSelector
<ClassHeading>
superclass:		InstrumentSelector

category:		MusicUI-SupportOLD




<ClassName>
class:			NoteSelector
<ClassHeading>
superclass:		InstrumentSelector

category:		MusicUI-SupportOLD

<ClassComment>
comment:
\	NoteSelector is a fancier InstrumentSelector for use in the common-practise music notation editors.
\	
\	\	\	It presents a menu of note heads and rests.




<ClassName>
class:			EventInspector
<ClassHeading>
superclass:		Inspector

category:		MusicUI-SupportOLD

<ClassComment>
comment:
\	EventInspector allows extra menu messages like property access




<ClassName>
class:			PathEditorController
<ClassHeading>
superclass:		Controller

category:		MusicUI-SupportOLD

<ClassComment>
comment:
\	I am the controller for the PathEditor, use redButton to move points, yellowButton to recomputer path.

