UNPKG

music21j-port

Version:

A toolkit for computer-aided musicology, Javascript version

7,540 lines 106 kB
<!DOCTYPE html>

<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Music21j Class: Stream</title>

	<!--[if lt IE 9]>
	<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
	<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">

	<link type="text/css" rel="stylesheet" href="styles/site.spruce.css">

</head>

<body>
<div class="container-fluid">
	<div class="navbar navbar-fixed-top navbar-inverse">
		<div class="navbar-inner">
			<a class="brand" href="index.html">Music21j</a>
			<ul class="nav">
				
				<li class="dropdown">
					<a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b
						class="caret"></b></a>

					<ul class="dropdown-menu ">
						
						<li>
							<a href="music21.html">music21</a>
						</li>
						
						<li>
							<a href="music21.articulations.html">music21.articulations</a>
						</li>
						
						<li>
							<a href="music21.audioSearch.html">music21.audioSearch</a>
						</li>
						
						<li>
							<a href="music21.base.html">music21.base</a>
						</li>
						
						<li>
							<a href="music21.beam.html">music21.beam</a>
						</li>
						
						<li>
							<a href="music21.chord.html">music21.chord</a>
						</li>
						
						<li>
							<a href="music21.clef.html">music21.clef</a>
						</li>
						
						<li>
							<a href="music21.common.html">music21.common</a>
						</li>
						
						<li>
							<a href="music21.duration.html">music21.duration</a>
						</li>
						
						<li>
							<a href="music21.dynamics.html">music21.dynamics</a>
						</li>
						
						<li>
							<a href="music21.expressions.html">music21.expressions</a>
						</li>
						
						<li>
							<a href="music21.fromPython.html">music21.fromPython</a>
						</li>
						
						<li>
							<a href="music21.instrument.html">music21.instrument</a>
						</li>
						
						<li>
							<a href="music21.interval.html">music21.interval</a>
						</li>
						
						<li>
							<a href="music21.key.html">music21.key</a>
						</li>
						
						<li>
							<a href="music21.keyboard.html">music21.keyboard</a>
						</li>
						
						<li>
							<a href="music21.meter.html">music21.meter</a>
						</li>
						
						<li>
							<a href="music21.miditools.html">music21.miditools</a>
						</li>
						
						<li>
							<a href="music21.note.html">music21.note</a>
						</li>
						
						<li>
							<a href="music21.pitch.html">music21.pitch</a>
						</li>
						
						<li>
							<a href="music21.prebase.html">music21.prebase</a>
						</li>
						
						<li>
							<a href="music21.renderOptions.html">music21.renderOptions</a>
						</li>
						
						<li>
							<a href="music21.roman.html">music21.roman</a>
						</li>
						
						<li>
							<a href="music21.scale.html">music21.scale</a>
						</li>
						
						<li>
							<a href="music21.sites.html">music21.sites</a>
						</li>
						
						<li>
							<a href="music21.stream.html">music21.stream</a>
						</li>
						
						<li>
							<a href="music21.tempo.html">music21.tempo</a>
						</li>
						
						<li>
							<a href="music21.tie.html">music21.tie</a>
						</li>
						
						<li>
							<a href="music21.tinyNotation.html">music21.tinyNotation</a>
						</li>
						
						<li>
							<a href="music21.vfShow.html">music21.vfShow</a>
						</li>
						
						<li>
							<a href="music21.webmidi.html">music21.webmidi</a>
						</li>
						

					</ul>
				</li>
				
				<li class="dropdown">
					<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
						class="caret"></b></a>

					<ul class="dropdown-menu ">
						
						<li>
							<a href="music21.articulations.Accent.html">music21.articulations.Accent</a>
						</li>
						
						<li>
							<a href="music21.articulations.Articulation.html">music21.articulations.Articulation</a>
						</li>
						
						<li>
							<a href="music21.articulations.DynamicArticulation.html">music21.articulations.DynamicArticulation</a>
						</li>
						
						<li>
							<a href="music21.articulations.LengthArticulation.html">music21.articulations.LengthArticulation</a>
						</li>
						
						<li>
							<a href="music21.articulations.Marcato.html">music21.articulations.Marcato</a>
						</li>
						
						<li>
							<a href="music21.articulations.PitchArticulation.html">music21.articulations.PitchArticulation</a>
						</li>
						
						<li>
							<a href="music21.articulations.Spiccato.html">music21.articulations.Spiccato</a>
						</li>
						
						<li>
							<a href="music21.articulations.Staccatissimo.html">music21.articulations.Staccatissimo</a>
						</li>
						
						<li>
							<a href="music21.articulations.Staccato.html">music21.articulations.Staccato</a>
						</li>
						
						<li>
							<a href="music21.articulations.StrongAccent.html">music21.articulations.StrongAccent</a>
						</li>
						
						<li>
							<a href="music21.articulations.Tenuto.html">music21.articulations.Tenuto</a>
						</li>
						
						<li>
							<a href="music21.articulations.TimbreArticulation.html">music21.articulations.TimbreArticulation</a>
						</li>
						
						<li>
							<a href="music21.base.Music21Object.html">music21.base.Music21Object</a>
						</li>
						
						<li>
							<a href="music21.beam.Beam.html">music21.beam.Beam</a>
						</li>
						
						<li>
							<a href="music21.beam.Beams.html">music21.beam.Beams</a>
						</li>
						
						<li>
							<a href="music21.chord.Chord.html">music21.chord.Chord</a>
						</li>
						
						<li>
							<a href="music21.clef.AltoClef.html">music21.clef.AltoClef</a>
						</li>
						
						<li>
							<a href="music21.clef.BassClef.html">music21.clef.BassClef</a>
						</li>
						
						<li>
							<a href="music21.clef.Clef.html">music21.clef.Clef</a>
						</li>
						
						<li>
							<a href="music21.clef.MezzoSopranoClef.html">music21.clef.MezzoSopranoClef</a>
						</li>
						
						<li>
							<a href="music21.clef.PercussionClef.html">music21.clef.PercussionClef</a>
						</li>
						
						<li>
							<a href="music21.clef.SopranoClef.html">music21.clef.SopranoClef</a>
						</li>
						
						<li>
							<a href="music21.clef.TenorClef.html">music21.clef.TenorClef</a>
						</li>
						
						<li>
							<a href="music21.clef.Treble8vaClef.html">music21.clef.Treble8vaClef</a>
						</li>
						
						<li>
							<a href="music21.clef.Treble8vbClef.html">music21.clef.Treble8vbClef</a>
						</li>
						
						<li>
							<a href="music21.clef.TrebleClef.html">music21.clef.TrebleClef</a>
						</li>
						
						<li>
							<a href="music21.duration.Duration.html">music21.duration.Duration</a>
						</li>
						
						<li>
							<a href="music21.duration.Tuplet.html">music21.duration.Tuplet</a>
						</li>
						
						<li>
							<a href="music21.dynamics.Dynamic.html">music21.dynamics.Dynamic</a>
						</li>
						
						<li>
							<a href="music21.expressions.Expression.html">music21.expressions.Expression</a>
						</li>
						
						<li>
							<a href="music21.expressions.Fermata.html">music21.expressions.Fermata</a>
						</li>
						
						<li>
							<a href="music21.fromPython.Converter.html">music21.fromPython.Converter</a>
						</li>
						
						<li>
							<a href="music21.instrument.Instrument.html">music21.instrument.Instrument</a>
						</li>
						
						<li>
							<a href="music21.interval.ChromaticInterval.html">music21.interval.ChromaticInterval</a>
						</li>
						
						<li>
							<a href="music21.interval.DiatonicInterval.html">music21.interval.DiatonicInterval</a>
						</li>
						
						<li>
							<a href="music21.interval.GenericInterval.html">music21.interval.GenericInterval</a>
						</li>
						
						<li>
							<a href="music21.interval.Interval.html">music21.interval.Interval</a>
						</li>
						
						<li>
							<a href="music21.key.Key.html">music21.key.Key</a>
						</li>
						
						<li>
							<a href="music21.key.KeySignature.html">music21.key.KeySignature</a>
						</li>
						
						<li>
							<a href="music21.keyboard.BlackKey.html">music21.keyboard.BlackKey</a>
						</li>
						
						<li>
							<a href="music21.keyboard.Key.html">music21.keyboard.Key</a>
						</li>
						
						<li>
							<a href="music21.keyboard.Keyboard.html">music21.keyboard.Keyboard</a>
						</li>
						
						<li>
							<a href="music21.keyboard.WhiteKey.html">music21.keyboard.WhiteKey</a>
						</li>
						
						<li>
							<a href="music21.meter.TimeSignature.html">music21.meter.TimeSignature</a>
						</li>
						
						<li>
							<a href="music21.miditools.Event.html">music21.miditools.Event</a>
						</li>
						
						<li>
							<a href="music21.miditools.MidiPlayer.html">music21.miditools.MidiPlayer</a>
						</li>
						
						<li>
							<a href="music21.note.GeneralNote.html">music21.note.GeneralNote</a>
						</li>
						
						<li>
							<a href="music21.note.Lyric.html">music21.note.Lyric</a>
						</li>
						
						<li>
							<a href="music21.note.Note.html">music21.note.Note</a>
						</li>
						
						<li>
							<a href="music21.note.NotRest.html">music21.note.NotRest</a>
						</li>
						
						<li>
							<a href="music21.note.Rest.html">music21.note.Rest</a>
						</li>
						
						<li>
							<a href="music21.pitch.Accidental.html">music21.pitch.Accidental</a>
						</li>
						
						<li>
							<a href="music21.pitch.Pitch.html">music21.pitch.Pitch</a>
						</li>
						
						<li>
							<a href="music21.prebase.ProtoM21Object.html">music21.prebase.ProtoM21Object</a>
						</li>
						
						<li>
							<a href="music21.renderOptions.RenderOptions.html">music21.renderOptions.RenderOptions</a>
						</li>
						
						<li>
							<a href="music21.roman.RomanNumeral.html">music21.roman.RomanNumeral</a>
						</li>
						
						<li>
							<a href="music21.stream.Measure.html">music21.stream.Measure</a>
						</li>
						
						<li>
							<a href="music21.stream.Part.html">music21.stream.Part</a>
						</li>
						
						<li>
							<a href="music21.stream.Score.html">music21.stream.Score</a>
						</li>
						
						<li>
							<a href="music21.stream.Stream.html">music21.stream.Stream</a>
						</li>
						
						<li>
							<a href="music21.stream.Voice.html">music21.stream.Voice</a>
						</li>
						
						<li>
							<a href="music21.tempo.Metronome.html">music21.tempo.Metronome</a>
						</li>
						
						<li>
							<a href="music21.tie.Tie.html">music21.tie.Tie</a>
						</li>
						
						<li>
							<a href="music21.vfShow.Renderer.html">music21.vfShow.Renderer</a>
						</li>
						
						<li>
							<a href="music21.vfShow.RenderStack.html">music21.vfShow.RenderStack</a>
						</li>
						
						<li>
							<a href="Notation.html">Notation</a>
						</li>
						
						<li>
							<a href="Page.html">Page</a>
						</li>
						
						<li>
							<a href="Recorder.html">Recorder</a>
						</li>
						

					</ul>
				</li>
				
				<li class="dropdown">
					<a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b
						class="caret"></b></a>

					<ul class="dropdown-menu ">
						
						<li>
							<a href="global.html#getM21attribute">getM21attribute</a>
						</li>
						
						<li>
							<a href="global.html#layout">layout</a>
						</li>
						
						<li>
							<a href="global.html#midiNumDiffFromFrequency">midiNumDiffFromFrequency</a>
						</li>
						
						<li>
							<a href="global.html#recorderWorkerJs">recorderWorkerJs</a>
						</li>
						
						<li>
							<a href="global.html#unpickler">unpickler</a>
						</li>
						
						<li>
							<a href="global.html#warnBanner">warnBanner</a>
						</li>
						

					</ul>
				</li>
				
			</ul>
		</div>
	</div>

	<div class="row-fluid">

		
		<div class="span8">
			
				<div id="main">
					


	<h1 class="page-title">Class: Stream</h1>
<section>

<header>
    <h2>
        <span class="ancestors"><a href="music21.html">music21</a><a href="music21.stream.html">.stream</a>.</span>
    
    Stream
    </h2>
    
</header>

<article>
    <div class="container-overview">
    

    
        
<dt>
    <h4 class="name" id="Stream"><span class="type-signature"></span>new Stream<span class="signature">()</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>A generic Stream class -- a holder for other music21 objects<br>Will be subclassed into <a href="music21.stream.Score.html"><code>music21.stream.Score</code></a>,<br><a href="music21.stream.Part.html"><code>music21.stream.Part</code></a>,<br><a href="music21.stream.Measure.html"><code>music21.stream.Measure</code></a>,<br><a href="music21.stream.Voice.html"><code>music21.stream.Voice</code></a>, but most functions will be found here.</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	<h5 class="subsection-title">Properties:</h5>

	<dl>

<table class="props table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>elements</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array.&lt;<a href="music21.base.Music21Object.html">music21.base.Music21Object</a>></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>the elements in the stream. DO NOT MODIFY individual components (consider it like a Python tuple)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>length</code></td>
            

            <td class="type">
            
                
<span class="param-type">Int</span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>(readonly) the number of elements in the stream.</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>duration</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.duration.Duration.html">music21.duration.Duration</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>the total duration of the stream's elements</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>highestTime</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><ul>
<li>the highest time point in the stream's elements</li>
</ul></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>clef</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.clef.Clef.html">music21.clef.Clef</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>the clef for the Stream (if there is one; if there are multiple, then the first clef)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>timeSignature</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.meter.TimeSignature.html">music21.meter.TimeSignature</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>the first TimeSignature of the Stream</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>keySignature</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.key.KeySignature.html">music21.key.KeySignature</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>the first KeySignature for the Stream</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>renderOptions</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.renderOptions.RenderOptions.html">music21.renderOptions.RenderOptions</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>an object specifying how to render the stream</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>flat</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>(readonly) a flattened representation of the Stream</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>notes</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>(readonly) the stream with only <a href="music21.note.Note.html"><code>music21.note.Note</code></a> and <a href="music21.chord.Chord.html"><code>music21.chord.Chord</code></a> objects included</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>notesAndRests</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>(readonly) like notes but also with <a href="music21.note.Rest.html"><code>music21.note.Rest</code></a> objects included</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>parts</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>(readonly) a filter on the Stream to just get the parts (NON-recursive)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>measures</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>(readonly) a filter on the Stream to just get the measures (NON-recursive)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>tempo</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>tempo in beats per minute (will become more sophisticated later, but for now the whole stream has one tempo</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>instrument</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.instrument.Instrument.html">music21.instrument.Instrument</a></span>
|

<span class="param-type">undefined</span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>an instrument object associated with the stream (can be set with a string also, but will return an <code>Instrument</code> object)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>autoBeam</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>whether the notes should be beamed automatically or not (will be moved to <code>renderOptions</code> soon)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>staffLines</code></td>
            

            <td class="type">
            
                
<span class="param-type">Int</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                
                </td>
            

            
                <td class="default">
                
                    5
                
                </td>
            

            <td class="description last"><p>number of staff lines</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>changedCallbackFunction</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>
|

<span class="param-type">undefined</span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>function to call when the Stream changes through a standard interface</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>maxSystemWidth</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>confusing... should be in renderOptions</p></td>
        </tr>

	
	</tbody>
</table>
</dl>

	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-58">line 58</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    
    
</dd>

    
    </div>

    
        <h3 class="subsection-title">Extends</h3>

        <ul>
            <li><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></li>
        </ul>
    

    

    

    

    

    

    
        <h3 class="subsection-title">Methods</h3>

        <dl>
            
<dt>
    <h4 class="name" id="append"><span class="type-signature">&lt;static> </span>Stream#append<span class="signature">(el)</span><span class="type-signature"> &rarr; {this}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Add an element to the end of the stream, setting its <code>.offset</code> accordingly</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>el</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></span>
|

<span class="param-type">Array</span>


            
            </td>

            

            

            <td class="description last"><p>element or list of elements to append</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-433">line 433</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">this</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="appendNewDOM"><span class="type-signature">&lt;static> </span>Stream#appendNewDOM<span class="signature">(<span class="optional">appendElement</span>, <span class="optional">width</span>, <span class="optional">height</span>, elementType)</span><span class="type-signature"> &rarr; {DOMObject}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Creates a new canvas, renders vexflow on it, and appends it to the DOM.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>appendElement</code></td>
            

            <td class="type">
            
                
<span class="param-type">JQueryDOMObject</span>
|

<span class="param-type">DOMObject</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    document.body
                
                </td>
            

            <td class="description last"><p>where to place the svg</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>elementType</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                    svg
                
                </td>
            

            <td class="description last"><p>what type of element, default = svg</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1532">line 1532</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>svg (not the jQueryDOMObject -- this is a difference with other routines and should be fixed. TODO: FIX)</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">DOMObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="createDOM"><span class="type-signature">&lt;static> </span>Stream#createDOM<span class="signature">(<span class="optional">width</span>, <span class="optional">height</span>, elementType)</span><span class="type-signature"> &rarr; {JQueryDOMObject}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Creates a new svg and renders vexflow on it</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>
|

<span class="param-type">undefined</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>
|

<span class="param-type">undefined</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>elementType</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                    svg
                
                </td>
            

            <td class="description last"><p>what type of element svg or canvas, default = svg</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1508">line 1508</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>canvas or SVG</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">JQueryDOMObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="createNewDOM"><span class="type-signature">&lt;static> </span>Stream#createNewDOM<span class="signature">(width, height, elementType)</span><span class="type-signature"> &rarr; {JQueryDOMObject}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Creates and returns a new <code>&amp;lt;canvas&amp;gt;</code> or <code>&amp;lt;svg&amp;gt;</code> object.</p>
<p>Calls setSubstreamRenderOptions() first.</p>
<p>Does not render on the DOM element.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>
|

<span class="param-type">undefined</span>


            
            </td>

            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>will use <code>this.estimateStaffLength()</code> + <code>this.renderOptions.staffPadding</code> if not given</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>
|

<span class="param-type">undefined</span>


            
            </td>

            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>if undefined will use <code>this.renderOptions.height</code>. If still undefined, will use <code>this.estimateStreamHeight()</code></p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>elementType</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            
                <td class="default">
                
                    svg
                
                </td>
            

            <td class="description last"><p>what type of element, default = svg</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1426">line 1426</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>svg in jquery.</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">JQueryDOMObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="createPlayableDOM"><span class="type-signature">&lt;static> </span>Stream#createPlayableDOM<span class="signature">(width, height, elementType)</span><span class="type-signature"> &rarr; {JQueryDOMObject}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Creates a rendered, playable svg where clicking plays it.</p>
<p>Called from appendNewDOM() etc.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>
|

<span class="param-type">undefined</span>


            
            </td>

            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>
|

<span class="param-type">undefined</span>


            
            </td>

            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>elementType</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            
                <td class="default">
                
                    svg
                
                </td>
            

            <td class="description last"><p>what type of element, default = svg</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1490">line 1490</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>canvas or svg</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">JQueryDOMObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="diatonicNoteNumFromScaledY"><span class="type-signature">&lt;static> </span>Stream#diatonicNoteNumFromScaledY<span class="signature">(yPxScaled)</span><span class="type-signature"> &rarr; {int}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Given a Y position find the diatonicNoteNum that a note at that position would have.</p>
<p>searches this.storedVexflowStave</p>
<p>Y position must be offset from the start of the stave...</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>yPxScaled</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1781">line 1781</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Int</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="editableAccidentalDOM"><span class="type-signature">&lt;static> </span>Stream#editableAccidentalDOM<span class="signature">(<span class="optional">width</span>, <span class="optional">height</span>)</span><span class="type-signature"> &rarr; {DOMObject}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Renders a stream on svg with the ability to edit it and<br>a toolbar that allows the accidentals to be edited.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1981">line 1981</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>&lt;div&gt; tag around the svg.</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">DOMObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="estimateStaffLength"><span class="type-signature">&lt;static> </span>Stream#estimateStaffLength<span class="signature">()</span><span class="type-signature"> &rarr; {number}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Estimates the length of the Stream in pixels.</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1273">line 1273</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>length in pixels</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">number</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="estimateStreamHeight"><span class="type-signature">&lt;static> </span>Stream#estimateStreamHeight<span class="signature">(<span class="optional">ignoreSystems</span>)</span><span class="type-signature"> &rarr; {number}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Estimate the stream height for the Stream.</p>
<p>If there are systems they will be incorporated into the height unless <code>ignoreSystems</code> is <code>true</code>.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>ignoreSystems</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1225">line 1225</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>height in pixels</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">number</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="findNoteForClick"><span class="type-signature">&lt;static> </span>Stream#findNoteForClick<span class="signature">(svg, e, x, y)</span><span class="type-signature"> &rarr; {Array}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Given an event object, and an x and y location, returns a two-element array<br>of the pitch.Pitch.diatonicNoteNum that was clicked (i.e., if C4 was clicked this<br>will return 29; if D4 was clicked this will return 30) and the closest note in the<br>stream that was clicked.</p>
<p>Return a list of [diatonicNoteNum, closestXNote]<br>for an event (e) called on the svg (svg)</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>svg</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMObject</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>e</code></td>
            

            <td class="type">
            
                
<span class="param-type">Event</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>x</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>y</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1903">line 1903</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>[diatonicNoteNum, closestXNote]</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Array</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="get"><span class="type-signature">&lt;static> </span>Stream#get<span class="signature">(index)</span><span class="type-signature"> &rarr; {<a href="music21.base.Music21Object.html">music21.base.Music21Object</a>|undefined}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Get the <code>index</code>th element from the Stream.  Equivalent to the<br>music21p format of s[index].  Can use negative indexing to get from the end.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>index</code></td>
            

            <td class="type">
            
                
<span class="param-type">Int</span>


            
            </td>

            

            

            <td class="description last"><p>can be -1, -2, to index from the end, like python</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-682">line 682</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></span>
|

<span class="param-type">undefined</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getAccidentalToolbar"><span class="type-signature">&lt;static> </span>Stream#getAccidentalToolbar<span class="signature">(minAccidental, maxAccidental, $siblingSvg)</span><span class="type-signature"> &rarr; {jQueryObject}</span></h4>
    
    
</dt>
<dd>
    
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>minAccidental</code></td>
            

            <td class="type">
            
                
<span class="param-type">Int</span>


            
            </td>

            

            

            <td class="description last"><p>alter of the min accidental (default -1)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>maxAccidental</code></td>
            

            <td class="type">
            
                
<span class="param-type">Int</span>


            
            </td>

            

            

            <td class="description last"><p>alter of the max accidental (default 1)</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>$siblingSvg</code></td>
            

            <td class="type">
            
                
<span class="param-type">jQueryObject</span>


            
            </td>

            

            

            <td class="description last"><p>svg to use for redrawing;</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-2014">line 2014</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>the accidental toolbar.</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">jQueryObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getElementsByClass"><span class="type-signature">&lt;static> </span>Stream#getElementsByClass<span class="signature">(classList)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Find all elements with a certain class; if an Array is given, then any<br>matching class will work.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>classList</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array.&lt;string></span>
|

<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last"><p>a list of classes to find</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1005">line 1005</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getPlayToolbar"><span class="type-signature">&lt;static> </span>Stream#getPlayToolbar<span class="signature">()</span><span class="type-signature"> &rarr; {jQueryObject}</span></h4>
    
    
</dt>
<dd>
    
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-2082">line 2082</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>a Div containing two buttons -- play and stop</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">jQueryObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getScaledXYforDOM"><span class="type-signature">&lt;static> </span>Stream#getScaledXYforDOM<span class="signature">(svg, e)</span><span class="type-signature"> &rarr; {Array.&lt;number>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>return a list of [scaledX, scaledY] for<br>a svg element.</p>
<p>xScaled refers to 1/scaleFactor.x -- for instance, scaleFactor.x = 0.7 (default)<br>x of 1 gives 1.42857...</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>svg</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMObject</span>


            
            </td>

            

            

            <td class="description last"><ul>
<li>a canvas or SVG object</li>
</ul></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>e</code></td>
            

            <td class="type">
            
                
<span class="param-type">Event</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1761">line 1761</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>[scaledX, scaledY]</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Array.&lt;number></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getStreamFromScaledXandSystemIndex"><span class="type-signature">&lt;static> </span>Stream#getStreamFromScaledXandSystemIndex<span class="signature">(<span class="optional">xPxScaled</span>, <span class="optional">allowablePixels</span>, <span class="optional">systemIndex</span>)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Returns the stream that is at X location xPxScaled and system systemIndex.</p>
<p>Override in subclasses, always returns this; here.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>xPxScaled</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>allowablePixels</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    10
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>systemIndex</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1810">line 1810</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getUnscaledXYforDOM"><span class="type-signature">&lt;static> </span>Stream#getUnscaledXYforDOM<span class="signature">(svg, e)</span><span class="type-signature"> &rarr; {Array.&lt;number>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Given a mouse click, or other event with .pageX and .pageY,<br>find the x and y for the svg.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>svg</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMObject</span>


            
            </td>

            

            

            <td class="description last"><p>a canvas or SVG object</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>e</code></td>
            

            <td class="type">
            
                
<span class="param-type">Event</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1712">line 1712</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>two-elements, [x, y] in pixels.</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Array.&lt;number></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="hasLyrics"><span class="type-signature">&lt;static> </span>Stream#hasLyrics<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Returns true if any note in the stream has lyrics, otherwise false</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-952">line 952</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="hasSubStreams"><span class="type-signature">&lt;static> </span>Stream#hasSubStreams<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Returns Boolean about whether this stream contains any other streams.</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-739">line 739</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="hasVoices"><span class="type-signature">&lt;static> </span>Stream#hasVoices<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Does this stream have a <a href="music21.stream.Voice.html"><code>music21.stream.Voice</code></a> inside it?</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-2153">line 2153</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="insert"><span class="type-signature">&lt;static> </span>Stream#insert<span class="signature">(offset, el)</span><span class="type-signature"> &rarr; {this}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Add an element to the specified place in the stream, setting its <code>.offset</code> accordingly</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>offset</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>offset to place.</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>el</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></span>


            
            </td>

            

            

            <td class="description last"><p>element to append</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-483">line 483</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">this</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="makeAccidentals"><span class="type-signature">&lt;static> </span>Stream#makeAccidentals<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Sets Pitch.accidental.displayStatus for every element with a<br>pitch or pitches in the stream. If a natural needs to be displayed<br>and the Pitch does not have an accidental object yet, adds one.</p>
<p>Called automatically before appendDOM routines are called.</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1033">line 1033</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="makeMeasures"><span class="type-signature">&lt;static> </span>Stream#makeMeasures<span class="signature">(options)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Takes a stream and places all of its elements into<br>measures (:class:<code>~music21.stream.Measure</code> objects)<br>based on the :class:<code>~music21.meter.TimeSignature</code> objects<br>placed within<br>the stream. If no TimeSignatures are found in the<br>stream, a default of 4/4 is used.<br>If <code>options.inPlace</code> is true, the original Stream is modified and lost<br>if <code>options.inPlace</code> is False, this returns a modified deep copy.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-764">line 764</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="noteChanged"><span class="type-signature">&lt;static> </span>Stream#noteChanged<span class="signature">(clickedDiatonicNoteNum, foundNote, svg)</span><span class="type-signature"> &rarr; {any}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Change the pitch of a note given that it has been clicked and then<br>call changedCallbackFunction</p>
<p>To be removed...</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>clickedDiatonicNoteNum</code></td>
            

            <td class="type">
            
                
<span class="param-type">Int</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>foundNote</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>svg</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMObject</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1924">line 1924</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>output of changedCallbackFunction</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">any</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="noteElementFromScaledX"><span class="type-signature">&lt;static> </span>Stream#noteElementFromScaledX<span class="signature">(xPxScaled, <span class="optional">allowablePixels</span>, <span class="optional">systemIndex</span>, <span class="optional">options</span>)</span><span class="type-signature"> &rarr; {<a href="music21.base.Music21Object.html">music21.base.Music21Object</a>|undefined}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Return the note at pixel X (or within allowablePixels [default 10])<br>of the note.</p>
<p>systemIndex element is not used on bare Stream</p>
<p>options can be a dictionary of: 'allowBackup' which gets the closest<br>note within the window even if it's beyond allowablePixels (default: true)<br>and 'backupMaximum' which specifies a maximum distance even for backup<br>(default: 70);</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>xPxScaled</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>allowablePixels</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    10
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>systemIndex</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1833">line 1833</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></span>
|

<span class="param-type">undefined</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="offsetMap"><span class="type-signature">&lt;static> </span>Stream#offsetMap<span class="signature">()</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Returns a list of OffsetMap objects</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-967">line 967</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>[music21.stream.OffsetMap]</p>
</div>




        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="playStream"><span class="type-signature">&lt;static> </span>Stream#playStream<span class="signature">(<span class="optional">options</span>)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Plays the Stream through the MIDI/sound playback (for now, only MIDI.js is supported)</p>
<p><code>options</code> can be an object containing:</p>
<ul>
<li>instrument: <a href="music21.instrument.Instrument.html"><code>music21.instrument.Instrument</code></a> object (default, <code>this.instrument</code>)</li>
<li>tempo: number (default, <code>this.tempo</code>)</li>
</ul>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>object of playback options</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1333">line 1333</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="pop"><span class="type-signature">&lt;static> </span>Stream#pop<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="music21.base.Music21Object.html">music21.base.Music21Object</a>|undefined}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Remove and return the last element in the stream,<br>or return undefined if the stream is empty</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-579">line 579</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>last element in the stream</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></span>
|

<span class="param-type">undefined</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="recursiveGetStoredVexflowStave"><span class="type-signature">&lt;static> </span>Stream#recursiveGetStoredVexflowStave<span class="signature">()</span><span class="type-signature"> &rarr; {Vex.Flow.Stave|undefined}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Recursively search downward for the closest storedVexflowStave...</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1675">line 1675</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Vex.Flow.Stave</span>
|

<span class="param-type">undefined</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="redrawDOM"><span class="type-signature">&lt;static> </span>Stream#redrawDOM<span class="signature">(svg)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Redraws an svgDiv, keeping the events of the previous svg.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>svg</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMObject</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1953">line 1953</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="renderVexflow"><span class="type-signature">&lt;static> </span>Stream#renderVexflow<span class="signature">(canvasOrSVG)</span><span class="type-signature"> &rarr; {vfShow.Renderer}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Uses <a href="music21.vfShow.Renderer.html"><code>music21.vfShow.Renderer</code></a> to render Vexflow onto an<br>existing canvas or SVG object.</p>
<p>Runs <code>this.setRenderInteraction</code> on the canvas.</p>
<p>Will be moved to vfShow eventually when converter objects are enabled...maybe.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>canvasOrSVG</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMObject</span>
|

<span class="param-type">JQueryDOMObject</span>


            
            </td>

            

            

            <td class="description last"><p>a canvas or the div surrounding an SVG object</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1178">line 1178</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">vfShow.Renderer</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="replaceDOM"><span class="type-signature">&lt;static> </span>Stream#replaceDOM<span class="signature">(<span class="optional">where</span>, <span class="optional">preserveSvgSize</span>, elementType)</span><span class="type-signature"> &rarr; {JQueryDOMObject}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Replaces a particular Svg with a new rendering of one.</p>
<p>Note that if 'where' is empty, will replace all svges on the page.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>where</code></td>
            

            <td class="type">
            
                
<span class="param-type">JQueryDOMObject</span>
|

<span class="param-type">DOMObject</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>the canvas or SVG to replace or a container holding the canvas(es) to replace.</p></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>preserveSvgSize</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>elementType</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                    svg
                
                </td>
            

            <td class="description last"><p>what type of element, default = svg</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1570">line 1570</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>the svg</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">JQueryDOMObject</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="resetRenderOptions"><span class="type-signature">&lt;static> </span>Stream#resetRenderOptions<span class="signature">(<span class="optional">recursive</span>, <span class="optional">preserveEvents</span>)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Resets all the RenderOptions back to defaults. Can run recursively<br>and can also preserve the <code>RenderOptions.events</code> object.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		
		<th>Argument</th>
		

		
		<th>Default</th>
		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>recursive</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last"></td>
        </tr>

	

        <tr>
            
                <td class="name"><code>preserveEvents</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1140">line 1140</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="setRenderInteraction"><span class="type-signature">&lt;static> </span>Stream#setRenderInteraction<span class="signature">(canvasOrDiv)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Set the type of interaction on the svg based on</p>
<ul>
<li>Stream.renderOptions.events.click</li>
<li>Stream.renderOptions.events.dblclick</li>
<li>Stream.renderOptions.events.resize</li>
</ul>
<p>Currently the only options available for each are:</p>
<ul>
<li>'play' (string)</li>
<li>'reflow' (string; only on event.resize)</li>
<li>customFunction (will receive event as a first variable; should set up a way to<pre class="prettyprint source"><code>          find the original stream; var s = this; var f = function () { s...}
         )</code></pre></li>
</ul>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>canvasOrDiv</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMObject</span>


            
            </td>

            

            

            <td class="description last"><p>canvas or the Div surrounding it.</p></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1630">line 1630</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="setSubstreamRenderOptions"><span class="type-signature">&lt;static> </span>Stream#setSubstreamRenderOptions<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Sets the render options for any substreams (such as placing them<br>in systems, etc.) DOES NOTHING for music21.stream.Stream, but is<br>overridden in subclasses.</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1127">line 1127</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="stopPlayStream"><span class="type-signature">&lt;static> </span>Stream#stopPlayStream<span class="signature">()</span><span class="type-signature"> &rarr; {musci21.stream.Stream}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Stops a stream from playing if it currently is.</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-1394">line 1394</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">musci21.stream.Stream</span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="windowReflowStart"><span class="type-signature">&lt;static> </span>Stream#windowReflowStart<span class="signature">(jSvg)</span><span class="type-signature"> &rarr; {<a href="music21.stream.Stream.html">music21.stream.Stream</a>}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>Begins a series of bound events to the window that makes it<br>so that on resizing the stream is redrawn and reflowed to the<br>new size.</p>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>jSvg</code></td>
            

            <td class="type">
            
                
<span class="param-type">JQueryDOMObject</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-2110">line 2110</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <p>this</p>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span>


	</dd>
</dl>


        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id=".this.DOMChangerFunction"><span class="type-signature">&lt;static> </span>this.DOMChangerFunction<span class="signature">(e)</span><span class="type-signature"> &rarr; {<a href="music21.base.Music21Object.html">music21.base.Music21Object</a>|undefined}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        <p>A function bound to the current stream that<br>will changes the stream. Used in editableAccidentalDOM, among other places.</p>
<pre class="prettyprint source"><code> var can = s.appendNewDOM();
 $(can).on('click', s.DOMChangerFunction);</code></pre>
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params table table-striped">
    <thead>
	<tr>
		
		<th>Name</th>
		

		<th>Type</th>

		

		

		<th class="last">Description</th>
	</tr>
	</thead>

	<tbody>
	

        <tr>
            
                <td class="name"><code>e</code></td>
            

            <td class="type">
            
                
<span class="param-type">Event</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

	
	</tbody>
</table>

    
    
    
<dl class="details">
	

	

	

	

	

	

	

	

	



	
	<dt class="tag-source">Source:</dt>
	<dd class="tag-source">
		<ul class="dummy">
			<li>
				<a href="music21_stream.js.html">music21/stream.js</a>,
				 <a href="music21_stream.js.html#sunlight-1-line-131">line 131</a>
			</li>
		</ul>
	</dd>
	

	

	

	
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    <ul>
<li>returns whatever changedCallbackFunction does.</li>
</ul>
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type"><a href="music21.base.Music21Object.html">music21.base.Music21Object</a></span>
|

<span class="param-type">undefined</span>


	</dd>
</dl>


        
    
    
</dd>

        </dl>
    

    

    
</article>

</section>




				</div>

				<div class="clearfix"></div>
				<footer>
					
					
		<span class="copyright">
		Music21j, Copyright © 2013-2018 Michael Scott Cuthbert and cuthbertLab.
		</span>
					<br />
					
		<span class="jsdoc-message">
		Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
		on Wed Jul 4th 2018 using the <a
			href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
		</span>
				</footer>
			</div>

			
			<div class="span3">
				<div id="toc"></div>
			</div>
			
			<br clear="both">
		</div>

	</div>
	<!--<script src="scripts/sunlight.js"></script>-->
	<script src="scripts/docstrap.lib.js"></script>
	<script src="scripts/bootstrap-dropdown.js"></script>
	<script src="scripts/toc.js"></script>

	<script>
		$( function () {
			$( "[id*='$']" ).each( function () {
				var $this = $( this );

				$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
			} );

			$( "#toc" ).toc( {
				anchorName  : function ( i, heading, prefix ) {
					return $( heading ).attr( "id" ) || ( prefix + i );
				},
				selectors   : "h1,h2,h3,h4",
				showAndHide : false,
				scrollTo    : "100px"
			} );

			$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
			$( "#main span[id^='toc']" ).addClass( "toc-shim" );
			$( '.dropdown-toggle' ).dropdown();
//			$( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );

			$( ".tutorial-section pre, .readme-section pre" ).each( function () {
				var $this = $( this );

				var example = $this.find( "code" );
				exampleText = example.html();
				var lang = /{@lang (.*?)}/.exec( exampleText );
				if ( lang && lang[1] ) {
					exampleText = exampleText.replace( lang[0], "" );
					example.html( exampleText );
					lang = lang[1];
				} else {
					lang = "javascript";
				}

				if ( lang ) {

					$this
						.addClass( "sunlight-highlight-" + lang )
						.addClass( "linenums" )
						.html( example.html() );

				}
			} );

			Sunlight.highlightAll( {
				lineNumbers : true,
				showMenu : true,
				enableDoclinks : true
			} );
		} );
	 </script>



	<!--Navigation and Symbol Display-->
	


	<!--Google Analytics-->
	

</body>
</html>