UNPKG

music21j-port

Version:

A toolkit for computer-aided musicology, Javascript version

3,194 lines (1,211 loc) 75 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Music21j Class: Renderer</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: Renderer</h1> <section> <header> <h2> <span class="ancestors"><a href="music21.html">music21</a><a href="music21.vfShow.html">.vfShow</a>.</span> Renderer </h2> </header> <article> <div class="container-overview"> <dt> <h4 class="name" id="Renderer"><span class="type-signature"></span>new Renderer<span class="signature">(s, <span class="optional">div</span>, <span class="optional">where</span>)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Renderer is a function that takes a stream, an<br>optional existing canvas or SVG element and a DOM<br>element where the canvas or SVG element should be placed<br>and renders the stream as Vexflow on the<br>canvas or svg element, placing it then in the where<br>DOM.</p> <p>&quot;s&quot; can be any type of Stream.</p> <p>&quot;div&quot; and &quot;where&quot; can be either a DOM<br>element or a jQuery 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>s</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>main stream to render</p></td> </tr> <tr> <td class="name"><code>div</code></td> <td class="type"> <span class="param-type">div</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> </td> <td class="description last"><p>existing canvas or div-surroundingSVG element</p></td> </tr> <tr> <td class="name"><code>where</code></td> <td class="type"> <span class="param-type">DOMObject</span> | <span class="param-type">jQueryDOMObject</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> document.body </td> <td class="description last"><p>where to render the stream</p></td> </tr> </tbody> </table> <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 class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>vfRenderer</code></td> <td class="type"> <span class="param-type">Vex.Flow.Renderer</span> </td> <td class="description last"><p>a Vex.Flow.Renderer to use<br>(will create if not existing)</p></td> </tr> <tr> <td class="name"><code>rendererType</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>canvas or svg</p></td> </tr> <tr> <td class="name"><code>ctx</code></td> <td class="type"> <span class="param-type">Vex.Flow.Context</span> </td> <td class="description last"><p>a Vex.Flow.Context (Canvas or SVG) to use.</p></td> </tr> <tr> <td class="name"><code>div</code></td> <td class="type"> <span class="param-type">div</span> </td> <td class="description last"><p>div-with-svg-or-canvas element</p></td> </tr> <tr> <td class="name"><code>$div</code></td> <td class="type"> <span class="param-type">jQueryDOMObject</span> </td> <td class="description last"><p>jQuery div or canvas element</p></td> </tr> <tr> <td class="name"><code>$where</code></td> <td class="type"> <span class="param-type">jQueryDOMObject</span> </td> <td class="description last"><p>jQuery element to render onto</p></td> </tr> <tr> <td class="name"><code>activeFormatter</code></td> <td class="type"> <span class="param-type">Vex.Flow.Formatter</span> </td> <td class="description last"><p>formatter</p></td> </tr> <tr> <td class="name"><code>beamGroups</code></td> <td class="type"> <span class="param-type">Array.&lt;Vex.Flow.Beam></span> </td> <td class="description last"><p>beamGroups</p></td> </tr> <tr> <td class="name"><code>vfTies</code></td> <td class="type"> <span class="param-type">Array.&lt;Vex.Flow.StaveTie></span> </td> <td class="description last"><p>ties as instances of Vex.Flow.StaveTie</p></td> </tr> <tr> <td class="name"><code>systemBreakOffsets</code></td> <td class="type"> <span class="param-type">Array.&lt;number></span> </td> <td class="description last"><p>where to break the systems</p></td> </tr> <tr> <td class="name"><code>vfTuplets</code></td> <td class="type"> <span class="param-type">Array.&lt;Vex.Flow.Tuplet></span> </td> <td class="description last"><p>tuplets represented in Vexflow</p></td> </tr> <tr> <td class="name"><code>stacks</code></td> <td class="type"> <span class="param-type">Array.&lt;<a href="music21.vfShow.RenderStack.html">music21.vfShow.RenderStack</a>></span> </td> <td class="description last"><p>array of RenderStack objects</p></td> </tr> </tbody> </table> </dl> <dt class="tag-source">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="music21_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-87">line 87</a> </li> </ul> </dd> </dl> </dd> </div> <h3 class="subsection-title">Methods</h3> <dl> <dt> <h4 class="name" id="addStaffConnectors"><span class="type-signature">&lt;static> </span>Renderer#addStaffConnectors<span class="signature">(s)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>If a stream has parts (NOT CHECKED HERE) create and<br>draw an appropriate Vex.Flow.StaveConnector</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>s</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Score.html">music21.stream.Score</a></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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-1026">line 1026</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="applyFormatterInformationToNotes"><span class="type-signature">&lt;static> </span>Renderer#applyFormatterInformationToNotes<span class="signature">(stave, <span class="optional">s</span>, formatter)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Adds the following pieces of information to each Note</p> <ul> <li>el.x -- x location in pixels</li> <li>el.y -- y location in pixels</li> <li>el.width - width of element in pixels.</li> <li>el.systemIndex -- which system is it on</li> <li>el.activeVexflowNote - which Vex.Flow.StaveNote is it connected with.</li> </ul> <p>mad props to our friend Vladimir Viro for figuring this out! Visit http://peachnote.com/</p> <p>Also sets s.storedVexflowStave to stave.</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>stave</code></td> <td class="type"> <span class="param-type">Vex.Flow.Stave</span> </td> <td class="attributes"> </td> <td class="default"> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>s</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> this.stream </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>formatter</code></td> <td class="type"> <span class="param-type">Vex.Flow.Formatter</span> </td> <td class="attributes"> </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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-1140">line 1140</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="drawBeamGroups"><span class="type-signature">&lt;static> </span>Renderer#drawBeamGroups<span class="signature">()</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Draws the beam groups.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="music21_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-625">line 625</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="drawMeasureStacks"><span class="type-signature">&lt;static> </span>Renderer#drawMeasureStacks<span class="signature">()</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Draws the Voices (music and text) from <code>this.stacks</code></p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="music21_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-386">line 386</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="drawTies"><span class="type-signature">&lt;static> </span>Renderer#drawTies<span class="signature">()</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>draws the vfTies</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="music21_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-412">line 412</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="drawTuplets"><span class="type-signature">&lt;static> </span>Renderer#drawTuplets<span class="signature">()</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>draws the tuplets.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="music21_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-401">line 401</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="formatMeasureStacks"><span class="type-signature">&lt;static> </span>Renderer#formatMeasureStacks<span class="signature">()</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Aligns all of <code>this.stacks</code> (after they've been prepared) so they align properly.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="music21_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-512">line 512</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="formatVoiceGroup"><span class="type-signature">&lt;static> </span>Renderer#formatVoiceGroup<span class="signature">(stack, <span class="optional">autoBeam</span>)</span><span class="type-signature"> &rarr; {Vex.Flow.Formatter}</span></h4> </dt> <dd> <div class="description"> <p>Formats a single voice group from a stack.</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>stack</code></td> <td class="type"> <span class="param-type"><a href="music21.vfShow.RenderStack.html">music21.vfShow.RenderStack</a></span> </td> <td class="attributes"> </td> <td class="default"> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>autoBeam</code></td> <td class="type"> <span class="param-type">Boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> measures[0].autoBeam </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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-534">line 534</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">Vex.Flow.Formatter</span> </dd> </dl> </dd> <dt> <h4 class="name" id="getLyricVoice"><span class="type-signature">&lt;static> </span>Renderer#getLyricVoice<span class="signature">(s, stave)</span><span class="type-signature"> &rarr; {Vex.Flow.Voice}</span></h4> </dt> <dd> <div class="description"> <p>Returns a Vex.Flow.Voice with the lyrics set to render in the proper place.</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>s</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span> </td> <td class="description last"><ul> <li>usually a Measure or Voice</li> </ul></td> </tr> <tr> <td class="name"><code>stave</code></td> <td class="type"> <span class="param-type">Vex.Flow.Stave</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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-500">line 500</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">Vex.Flow.Voice</span> </dd> </dl> </dd> <dt> <h4 class="name" id="getVoice"><span class="type-signature">&lt;static> </span>Renderer#getVoice<span class="signature">(<span class="optional">s</span>, stave)</span><span class="type-signature"> &rarr; {Vex.Flow.Voice}</span></h4> </dt> <dd> <div class="description"> <p>Returns a Vex.Flow.Voice object with all the tickables (i.e., Notes, Voices, etc.)</p> <p>Does not draw 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>s</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> this.stream </td> <td class="description last"><ul> <li>usually a Measure or Voice</li> </ul></td> </tr> <tr> <td class="name"><code>stave</code></td> <td class="type"> <span class="param-type">Vex.Flow.Stave</span> </td> <td class="attributes"> </td> <td class="default"> </td> <td class="description last"><p>not optional (would never fly in 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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-479">line 479</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">Vex.Flow.Voice</span> </dd> </dl> </dd> <dt> <h4 class="name" id="newStave"><span class="type-signature">&lt;static> </span>Renderer#newStave<span class="signature">(s)</span><span class="type-signature"> &rarr; {Vex.Flow.Stave}</span></h4> </dt> <dd> <div class="description"> <p>Return a new Vex.Flow.Stave object, which represents<br>a single MEASURE of notation in m21j</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>s</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-639">line 639</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">Vex.Flow.Stave</span> </dd> </dl> </dd> <dt> <h4 class="name" id="prepareArrivedFlat"><span class="type-signature">&lt;static> </span>Renderer#prepareArrivedFlat<span class="signature">(m)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Prepares a score that arrived flat... sets up<br>stacks and vfTies after calling prepareFlat</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>m</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Stream.html">music21.stream.Stream</a></span> </td> <td class="description last"><p>a flat stream (maybe a measure or voice)</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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-295">line 295</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="prepareFlat"><span class="type-signature">&lt;static> </span>Renderer#prepareFlat<span class="signature">(s, stack, <span class="optional">optionalStave</span>, <span class="optional">optional_renderOp</span>)</span><span class="type-signature"> &rarr; {Vex.Flow.Stave}</span></h4> </dt> <dd> <div class="description"> <p>Main internal routine to prepare a flat stream</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>s</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="description last"><p>a flat stream object</p></td> </tr> <tr> <td class="name"><code>stack</code></td> <td class="type"> <span class="param-type"><a href="music21.vfShow.RenderStack.html">music21.vfShow.RenderStack</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>a RenderStack object to prepare into.</p></td> </tr> <tr> <td class="name"><code>optionalStave</code></td> <td class="type"> <span class="param-type">Vex.Flow.Stave</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>an optional existing stave.</p></td> </tr> <tr> <td class="name"><code>optional_renderOp</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>render options.<br>Passed to <code>music21.vfShow.Renderer#renderStave</code></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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-337">line 337</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>staff to return too<br>(also changes the <code>stack</code> parameter and runs <code>makeAccidentals</code> on s)</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Vex.Flow.Stave</span> </dd> </dl> </dd> <dt> <h4 class="name" id="prepareMeasure"><span class="type-signature">&lt;static> </span>Renderer#prepareMeasure<span class="signature">(m, stack)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Prepares a measure (w/ or w/o voices) or generic Stream -- makes accidentals,<br>associates a Vex.Flow.Stave with the stream and<br>returns a vexflow Voice object</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>m</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Measure.html">music21.stream.Measure</a></span> </td> <td class="description last"><p>a measure object (w or w/o voices)</p></td> </tr> <tr> <td class="name"><code>stack</code></td> <td class="type"> <span class="param-type"><a href="music21.vfShow.RenderStack.html">music21.vfShow.RenderStack</a></span> </td> <td class="description last"><p>a RenderStack object to prepare into.</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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-311">line 311</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="preparePartlike"><span class="type-signature">&lt;static> </span>Renderer#preparePartlike<span class="signature">(p)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Prepares a Partlike stream (that is one with Measures<br>or substreams that should be considered like Measures)<br>for rendering.</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>p</code></td> <td class="type"> <span class="param-type"><a href="music21.stream.Part.html">music21.stream.Part</a></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_vfShow.js.html">music21/vfShow.js</a>, <a href="music21_vfShow.js.html#sunlight-1-line-268">line 268</a> </li> </ul> </dd> </dl> </dd> <dt> <h4 class="name" id="prepareScorelike"><span class="type-signature">&lt;static> </span>Renderer#prepareScorelike<span class="signature">(s)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Prepares a scorelike stream (i.e., one with parts or<br>Streams that should be rendered vertically like parts)<br>for rendering and adds Staff Connectors</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>s</code></td> <td class="type">