music21j-port
Version:
A toolkit for computer-aided musicology, Javascript version
2,226 lines (979 loc) • 37.8 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>Music21j Namespace: miditools</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">Namespace: miditools</h1>
<section>
<header>
<h2>
<span class="ancestors"><a href="music21.html">music21</a>.</span>
miditools
</h2>
</header>
<article>
<div class="container-overview">
<div class="description"><p>Module that holds <strong>music21</strong> tools for connecting with MIDI.js and somewhat with the<br>events from the Jazz plugin or the WebMIDI protocol.</p></div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-25">line 25</a>
</li>
</ul>
</dd>
</dl>
</div>
<h3 class="subsection-title">Classes</h3>
<dl>
<dt><a href="music21.miditools.Event.html">Event</a></dt>
<dd></dd>
<dt><a href="music21.miditools.MidiPlayer.html">MidiPlayer</a></dt>
<dd></dd>
</dl>
<h3 class="subsection-title">Members</h3>
<dl>
<dt class="name" id=".miditools.callBacks">
<h4><span class="type-signature"><static> </span>miditools.callBacks<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>callBacks is an object with three keys:</p>
<ul>
<li>raw: function (t, a, b,c) to call when any midievent arrives. Default: <code>function (t, a, b, c) { return new miditools.Event(t, a, b, c); }</code></li>
<li>general: function ( miditools.Event() ) to call when an Event object has been created. Default: <code>[miditools.sendToMIDIjs, miditools.quantizeLastNote]</code></li>
<li>sendOutChord: function (array_of_note.Note_objects) to call when a sufficient time has passed to build a chord from input. Default: empty function.</li>
</ul>
<p>At present, only "general" can take an Array of event listening functions, but I hope to change that for sendOutChord also.</p>
<p>"general" is usually the callback list to play around with.</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-265">line 265</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt class="name" id=".miditools.heldChordNotes">
<h4><span class="type-signature"><static> </span>miditools.heldChordNotes<span class="type-signature"> :Array|undefined</span></h4>
</dt>
<dd>
<div class="description">
<p>An Array (or undefined) of currently held chords that have not been sent out yet.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array</span>
|
<span class="param-type">undefined</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-121">line 121</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt class="name" id=".miditools.heldChordTime">
<h4><span class="type-signature"><static> </span>miditools.heldChordTime<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
<p>At what time (in ms since Epoch) the chord started.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-114">line 114</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt class="name" id=".miditools.lastElement">
<h4><span class="type-signature"><static> </span>miditools.lastElement<span class="type-signature"> :<a href="music21.chord.Chord.html">music21.chord.Chord</a>|<a href="music21.note.Note.html">music21.note.Note</a>|undefined</span></h4>
</dt>
<dd>
<div class="description">
<p>The last Note or Chord to be sent out from miditools. This is an important semi-global<br>attribute, since the last element may need to be quantized by quantizeLastNote() to<br>determine its length, since the note may need to be placed into a staff before its total<br>length can be determined.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="music21.chord.Chord.html">music21.chord.Chord</a></span>
|
<span class="param-type"><a href="music21.note.Note.html">music21.note.Note</a></span>
|
<span class="param-type">undefined</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-219">line 219</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt class="name" id=".miditools.loadedSoundfonts">
<h4><span class="type-signature"><static> </span>miditools.loadedSoundfonts<span class="type-signature"> :object</span></h4>
</dt>
<dd>
<div class="description">
<p>a mapping of soundfont text names to true, false, or "loading".</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-330">line 330</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt class="name" id=".miditools.maxDelay">
<h4><span class="type-signature"><static> </span>miditools.maxDelay<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
<p>How long to wait in milliseconds before deciding that a note belongs to another chord. Default 100ms</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-107">line 107</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt class="name" id=".miditools.metronome">
<h4><span class="type-signature"><static> </span>miditools.metronome<span class="type-signature"> :<a href="music21.tempo.Metronome.html">music21.tempo.Metronome</a></span></h4>
</dt>
<dd>
<div class="description">
<p>Assign (or query) a Metronome object to run all timing information.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="music21.tempo.Metronome.html">music21.tempo.Metronome</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-139">line 139</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt class="name" id=".miditools.timeOfLastNote">
<h4><span class="type-signature"><static> </span>miditools.timeOfLastNote<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
<p>When, in MS since Jan 1, 1970, was the last <a href="music21.note.Note.html"><code>music21.note.Note</code></a> played.<br>Defaults to the time that the module was loaded.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-130">line 130</a>
</li>
</ul>
</dd>
</dl>
</dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<h4 class="name" id=".miditools.clearOldChords"><span class="type-signature"><static> </span>miditools.clearOldChords<span class="signature">()</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>Clears chords that are older than miditools.heldChordTime</p>
<p> Runs a setTimeout on itself.<br> Calls miditools.sendOutChord</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="music21_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-170">line 170</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id=".miditools.loadSoundfont"><span class="type-signature"><static> </span>miditools.loadSoundfont<span class="signature">(soundfont, callback)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>method to load soundfonts while waiting for other processes that need them<br>to load first.</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>soundfont</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last"><p>The name of the soundfont that was just loaded</p></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"><p>A function to be called after the soundfont is loaded.</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_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-398">line 398</a>
</li>
</ul>
</dd>
</dl>
<h5>Example</h5>
<pre class="sunlight-highlight-javascript">s = new music21.stream.Stream();
music21.miditools.loadSoundfont(
'clarinet',
function(i) {
console.log('instrument object', i, 'loaded');
s.instrument = i;
});</pre>
</dd>
<dt>
<h4 class="name" id=".miditools.makeChords"><span class="type-signature"><static> </span>miditools.makeChords<span class="signature">(jEvent)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>Take a series of jEvent noteOn objects and convert them to a single Chord object<br> so long as they are all sounded within miditools.maxDelay milliseconds of each other.<br> this method stores notes in miditools.heldChordNotes (Array).</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>jEvent</code></td>
<td class="type">
<span class="param-type"><a href="music21.miditools.Event.html">music21.miditools.Event</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_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-192">line 192</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>undefined</p>
</div>
</dd>
<dt>
<h4 class="name" id=".miditools.postLoadCallback"><span class="type-signature"><static> </span>miditools.postLoadCallback<span class="signature">(soundfont, callback)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>Called after a soundfont has been loaded. The callback is better to be specified elsewhere<br>rather than overriding this important method.</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>soundfont</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last"><p>The name of the soundfont that was just loaded</p></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"><p>A function to be called after the soundfont is loaded.</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_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-340">line 340</a>
</li>
</ul>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id=".miditools.quantizeLastNote"><span class="type-signature"><static> </span>miditools.quantizeLastNote<span class="signature">(lastElement)</span><span class="type-signature"> → {<a href="music21.note.GeneralNote.html">music21.note.GeneralNote</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Quantizes the lastElement (passed in) or music21.miditools.lastElement.</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>lastElement</code></td>
<td class="type">
<span class="param-type"><a href="music21.note.GeneralNote.html">music21.note.GeneralNote</a></span>
</td>
<td class="description last"><p>A <a href="music21.note.Note.html"><code>music21.note.Note</code></a> to be quantized</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_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-279">line 279</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The same <a href="music21.note.Note.html"><code>music21.note.Note</code></a> object passed in with<br>duration quantized</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="music21.note.GeneralNote.html">music21.note.GeneralNote</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id=".miditools.sendOutChord"><span class="type-signature"><static> </span>miditools.sendOutChord<span class="signature">(chordNoteList)</span><span class="type-signature"> → {<a href="music21.note.Note.html">music21.note.Note</a>|<a href="music21.chord.Chord.html">music21.chord.Chord</a>|undefined}</span></h4>
</dt>
<dd>
<div class="description">
<p>Take the list of Notes and makes a chord out of it, if appropriate and call<br><code>music21.miditools.callBacks.sendOutChord</code> callback with the Chord or Note as a parameter.</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>chordNoteList</code></td>
<td class="type">
<span class="param-type">Array.<<a href="music21.note.Note.html">music21.note.Note</a>></span>
</td>
<td class="description last"><p>an Array of <a href="music21.note.Note.html"><code>music21.note.Note</code></a> objects</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_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-230">line 230</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>A <a href="music21.chord.Chord.html"><code>music21.chord.Chord</code></a> object,<br>most likely, but maybe a <a href="music21.note.Note.html"><code>music21.note.Note</code></a> object)</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="music21.note.Note.html">music21.note.Note</a></span>
|
<span class="param-type"><a href="music21.chord.Chord.html">music21.chord.Chord</a></span>
|
<span class="param-type">undefined</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id=".miditools.sendToMIDIjs"><span class="type-signature"><static> </span>miditools.sendToMIDIjs<span class="signature">(midiEvent)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>Callback to midiEvent.sendToMIDIjs.</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>midiEvent</code></td>
<td class="type">
<span class="param-type"><a href="music21.miditools.Event.html">music21.miditools.Event</a></span>
</td>
<td class="description last"><p>event to send out.</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_miditools.js.html">music21/miditools.js</a>,
<a href="music21_miditools.js.html#sunlight-1-line-318">line 318</a>
</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>undefined</p>
</div>
</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>