<snapdata remixID="11954013"><project name="Dexter Assignment week 10 " app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAABytJREFUeF7tl21MVXUcx79XnlLAxYNuDGyKcWlN75VMr7SWFSymvOHB1eIhaWO52rLZm/RFU9ebci0TpC01J09ubs5hM5INnTYnUEO41CRwFEOJwYoikeK53cN2M2vcn9z+93+u53vecA7ne36//+/z/3Au1zY7OzsLHiSgiYCNAmoiz7YGAQpIEbQSoIBa8bM5BaQDWglQQK342ZwC0gGtBCigVvxsTgHpgFYCFFArfjangHRAKwEKqBU/m1NAOqCVAAXUip/NKSAd0EqAAmrFz+YUkA5oJUABteJncwpIB7QSoIBa8bM5BaQDWglQQK342ZwC0gGtBCigVvxsTgHpgFYCFFArfjangHRAKwEKqBU/m1NAOqCVAAXUip/NKSAd0EqAAmrFz+YUkA5oJUABteJncwpIB7QSML2APT09WgHN13z16tWmXVuwLMzyAkbcbMHDX+4W7dev2R9iInG9N0sBRdjmDQWVgJcuXUJvby9KSkp8Tu52u+F0OtHY2Ijo6Gi4XC7jmY6ODjgcDu/zkW21iPrmmPc6Iv99TPc0YWa4D4tiVmDK/bn33u1Nr2PM8SIF9ElfHggqAcvLy1FUVISamhqEhIRgenoaa9asQWtrKwYGBpCRkYEzZ84gPT0d7e3t8ORzc3ORmpqKzMxMNDU1ITIyEuHh4eju7kZZWRnuFXDxjlOYaCzDoqS1sIWGY+JCGQWU+3TfyaASsKKiAiMjI0hMTDTebBs3bkRpaSk6Oztx7tw5FBYWor6+HjabDX19fThw4AAOHz6Mq1evori42Pi5atUqDA0NwW63Iy8v718CPvRyGaZ//Bozv/2ERcsfxeRXRyjgfWslfyCoBJSPJU8uvn4WS698LHpg5Nnd+NOexY9gES1ZyPICyjD9d4pfQvyhN/es6QX0f0RWMDMBCmjm3bHA2iigBTbZzCNSQDPvjgXWRgEtsMlmHpECmnl3LLA2CmiBTTbziBTQzLtjgbVRQAtssplHpIBm3h0LrI0CWmCTzTwiBTTz7lhgbRTQApts5hEpoJl3xwJro4AW2GQzj0gBzbw7FlhbwAX86MgVvHfoooH23beex9uvPW2cj/0xiW07TuJy8w9YHh+FumNFcD6eYNxrvz6A3NIaDP08is2bknH60wIsWRxm3GO9OX7BegRcwKWP7cftO+MGr+jICPz+/V7j/GSdG4VvnvJyfOGZFDTUvmpcP7m1Aq3f9nvv1Za/hIIcp3HNenP8gvUIuIBRqftwZ2zC4BW5JByjXfuM88rT11Cy67SX43NPJePiqVLjem3mIXzXNei9d+LgNmzf9oRxzXpz/IL1CLiA+w9ewAefXDZ4vfPGZuzdlWGce96K2a9Uoqm1D3GxS3D2s2K40lYY95qv3UROaTV+GR5D+vpH8EXVduPt6TlYb45fsB4BFzBYQXHdaghQQDVcWVVIgAIKQTGmhgAFVMOVVYUEKKAQFGNqCFBANVxZVUiAAgpBMaaGAAVUw5VVhQQooBAUY2oIUEA1XFlVSIACCkExpoYABVTDlVWFBCigEBRjaghQQDVcWVVIgAIKQTGmhgAFVMOVVYUEKKAQFGNqCFBANVxZVUiAAgpBMaaGAAVUw5VVhQQooBAUY2oIUEA1XFlVSIACCkExpoYABVTDlVWFBCigEBRjaghQQDVcWVVIgAIKQTGmhgAFVMOVVYUEKKAQFGNqCFBANVxZVUiAAgpBMaaGAAVUw5VVhQQooBAUY2oIUEA1XFlVSIACCkExpoYABVTDlVWFBCigEBRjaghQQDVcWVVIgAIKQTGmhgAFVMOVVYUEKKAQFGNqCFBANVxZVUiAAgpBMaaGAAVUw5VVhQQooBAUY2oIUEA1XFlVSIACCkExpoaAWMDh4WE1K9BQNSYmBjabTUNntryXgFjAnp6eB4beypUrERIS8sDME8yDLEjAtrY2pKWl4datW0hKSjLmb2lpgcvl8rKoqalBUVER9uzZg4SEBOzcudO4193dDbvdrpUZBdSK/x/N/RKwubkZbrcb4+PjRlGPZMePH0dcXBxCQ0ORnZ2N6upqVFZWoqCgAMnJyejv70dERATq6uqQlZWF8+fPo7a2NqBEKGBAcc/bbEECNjQ0oKurC3l5eYZQUVFRGB0dNd6Anjeh54iNjUVKSgpu3LiBwcFBhIWFGb/3/P/lOYaGhry/u/vNGQg0FDAQlGU9FiSgrLR5UxTQPHuzIAEjW0+YZwLhSu6sL/EmKaAQWgBiCxbw7g0NwDr9auH5g6GAfiFU9rDfAt777Xe+lXq+sDidzv9lmMbGRsTHx2PdunU+61FAn4i0BfwScGZmBlVVVSgp+fvjbb5JOjs70dvbiy1btvg98NGjRw35NmzY4LMWBfSJSFvALwE9q+7o6IDD4fA5wNTUFOrr6zE5OYn8/HyfeV8Bj4DLli1DTk6OrygooE9E2gJ/AUrfitW4RzAQAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="Dexter Assignment week 10 "><notes></notes><palette><category name="Music" color="195,0,204,1"/><category name="MIDI" color="255,39,10,1"/><category name="Sample Musical Motifs" color="181,0,184,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="SendMessageToSoundScope %&apos;message&apos;" type="command" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>message</l></list><l>window.parent.postMessage(message, "*");</l></block><list><block var="message"/></list></block><block s="doBroadcast"><block var="message"/><list></list></block></script></block-definition><block-definition s="Set Instrument To %&apos;Instrument Name&apos;" type="command" category="Music"><comment x="0" y="0" w="90" collapsed="false">Sets the global instrument used for playing notes to the selected instrument.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>instrumentName</l></list><l>window.parent.changeInstrument &amp;&amp; window.parent.changeInstrument(instrumentName)</l></block><list><block var="Instrument Name"/></list></block><block s="doIfElse"><l/><script><block s="doWaitUntil"><block s="reportIsIdentical"><block var="currentInstrument"/><block var="Instrument Name"/></block></block></script><script><block s="doWait"><l>0.1</l></block></script></block></script></block-definition><block-definition s="Set Volume To %&apos;Percent&apos; %" type="command" category="Music"><comment x="0" y="0" w="403" collapsed="false">Sets the global volume percentage used when playing notes to the provided value. </comment><header></header><code></code><translations></translations><inputs><input type="%n">50</input></inputs><script><block s="doDeclareVariables"><list><l>message</l></list></block><block s="doSetVar"><l>message</l><block s="reportJoinWords"><list><l>setVolumePercent(</l><block var="Percent"/><l>)</l></list></block></block><custom-block s="SendMessageToSoundScope %s"><block var="message"/></custom-block></script></block-definition><block-definition s="Set Instrument %&apos;Instrument&apos; Volume to %&apos;VolumePercent&apos; %" type="command" category="Music"><comment x="0" y="0" w="243.00000000000006" collapsed="false">Sets the default volume percentage of the selected instrument to the specified number.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%n">50</input></inputs><script><block s="doDeclareVariables"><list><l>message</l></list></block><block s="doSetVar"><l>message</l><block s="reportJoinWords"><list><l>setVolumeOfInstrument(</l><block var="Instrument"/><l>,</l><block var="VolumePercent"/><l>)</l></list></block></block><custom-block s="SendMessageToSoundScope %s"><block var="message"/></custom-block></script></block-definition><block-definition s="Play Note %&apos;Note&apos; for Duration %&apos;Duration&apos; and Wait" type="command" category="Music"><comment x="0" y="0" w="638" collapsed="false">Plays the selected note for the specified number of seconds. A full list of acceptable notes can be found by using the dropdown. This block waits for the selected note to finish playing.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"><options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%txt"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>note</l><l>noteLength</l></list><l>window.parent.playNote &amp;&amp; window.parent.playNote(note, noteLength)</l></block><list><block var="Note"/><custom-block s="Note Duration %txt (Adjusted for Tempo)"><block var="Duration"/></custom-block></list></block><block s="doWait"><custom-block s="Note Duration %txt (Adjusted for Tempo)"><block var="Duration"/></custom-block></block></script></block-definition><block-definition s="Play Note %&apos;Note&apos; for Duration %&apos;Duration&apos;" type="command" category="Music"><comment x="0" y="0" w="638" collapsed="false">Plays the selected note for the specified number of seconds. A full list of acceptable notes can be found by using the dropdown. This block waits for the selected note to finish playing.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>note</l><l>noteLength</l></list><l>window.parent.playNote &amp;&amp; window.parent.playNote(note, noteLength)</l></block><list><block var="Note"/><custom-block s="Note Duration %txt (Adjusted for Tempo)"><block var="Duration"/></custom-block></list></block></script></block-definition><block-definition s="Rest for Note Duration %&apos;Duration&apos;" type="command" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doWait"><custom-block s="Note Duration %txt (Adjusted for Tempo)"><block var="Duration"/></custom-block></block></script></block-definition><block-definition s="Chromatic Scale" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l></list></block></block></script></block-definition><block-definition s="Note %&apos;Number&apos; in Major Scale %&apos;Scale&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><block var="Number"/><custom-block s="Major Scale %s"><block var="Scale"/></custom-block></block><block var="Octave"/></list></block></block></script></block-definition><block-definition s="Interval between Notes %&apos;Note 1&apos; and %&apos;Note 2&apos; in the %&apos;Scale&apos; Major Scale" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note 1 Position</l><l>Note 2 Position</l><l>list</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>list</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><l>7</l><script><block s="doSetVar"><l>list</l><block s="reportConcatenatedLists"><list><block var="list"/><custom-block s="Major Scale %s Octave %n Reporter"><block var="Scale"/><block var="i"/></custom-block></list></block></block></script></block><block s="doSetVar"><l>Note 1 Position</l><block s="reportListIndex"><block var="Note 1"/><block var="list"/></block></block><block s="doSetVar"><l>Note 2 Position</l><block s="reportListIndex"><block var="Note 2"/><block var="list"/></block></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Major Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 1"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 1"/><l> is not in the </l><block var="Scale"/><l> Major scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Major Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 2"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 2"/><l> is not in the </l><block var="Scale"/><l> Major scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doReport"><block s="reportDifference"><block var="Note 2 Position"/><block var="Note 1 Position"/></block></block></script></block></script></block-definition><block-definition s="Note %&apos;Number&apos; in Minor Scale %&apos;Scale&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><block var="Number"/><custom-block s="Minor Scale %s"><block var="Scale"/></custom-block></block><block var="Octave"/></list></block></block></script></block-definition><block-definition s="Get Note %&apos;Notation&apos; from Scientific Notation" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Output</l></list></block><block s="doSetVar"><l>Output</l><l></l></block><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportStringSize"><block var="Notation"/></block><l>1</l></block><script><block s="doSetVar"><l>Output</l><block s="reportJoinWords"><list><block var="Output"/><block s="reportLetter"><block var="i"/><block var="Notation"/></block></list></block></block></script></block><block s="doReport"><block var="Output"/></block></script></block-definition><block-definition s="Interval between Notes %&apos;Note 1&apos; and %&apos;Note 2&apos; in the %&apos;Scale&apos; Minor Scale" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note 1 Position</l><l>Note 2 Position</l><l>list</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>list</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><l>7</l><script><block s="doSetVar"><l>list</l><block s="reportConcatenatedLists"><list><block var="list"/><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Scale"/><block var="i"/></custom-block></list></block></block></script></block><block s="doSetVar"><l>Note 1 Position</l><block s="reportListIndex"><block var="Note 1"/><block var="list"/></block></block><block s="doSetVar"><l>Note 2 Position</l><block s="reportListIndex"><block var="Note 2"/><block var="list"/></block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Minor Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 1"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 1"/><l> is not in the </l><block var="Scale"/><l> Minor scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Minor Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 2"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 2"/><l> is not in the </l><block var="Scale"/><l> Minor scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doReport"><block s="reportDifference"><block var="Note 2 Position"/><block var="Note 1 Position"/></block></block></script></block-definition><block-definition s="%&apos;Major/Minor&apos; Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input><input type="%n"><options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Note %&apos;#&apos; in %&apos;Major/Minor&apos; Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input><input type="%n"><options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Note %n in Major Scale %s Octave %n"><block var="#"/><block var="Note"/><block var="Octave"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Note %n in Minor Scale %s Octave %n"><block var="#"/><block var="Note"/><block var="Octave"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Interval Between Notes %&apos;Note 1&apos; and %&apos;Note 2&apos; in the %&apos;Major/Minor&apos; Scale %&apos;Note&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Interval between Notes %s and %s in the %s Major Scale"><block var="Note 1"/><block var="Note 2"/><block var="Note"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Interval between Notes %s and %s in the %s Minor Scale"><block var="Note 1"/><block var="Note 2"/><block var="Note"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Note Duration %&apos;Note Duration&apos; (Adjusted for Tempo)" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note Duration"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Whole</l><l>4</l></list></block><block s="reportNewList"><list><l>Half</l><l>2</l></list></block><block s="reportNewList"><list><l>Quarter</l><l>1</l></list></block><block s="reportNewList"><list><l>Eighth</l><l>.5</l></list></block><block s="reportNewList"><list><l>Sixteenth</l><l>.25</l></list></block><block s="reportNewList"><list><l>Thirtysecond</l><l>.125</l></list></block><block s="reportNewList"><list><l>Dotted Whole</l><l>6</l></list></block><block s="reportNewList"><list><l>Dotted Half</l><l>3</l></list></block><block s="reportNewList"><list><l>Dotted Quarter</l><l>1.5</l></list></block><block s="reportNewList"><list><l>Dotted Eighth</l><l>.75</l></list></block><block s="reportNewList"><list><l>Dotted Sixteenth</l><l>.345</l></list></block><block s="reportNewList"><list><l>Dotted Thirtysecond</l><l>0.1875</l></list></block><block s="reportNewList"><list><l>Half Triplet</l><block s="reportQuotient"><l>4</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Quarter Triplet</l><block s="reportQuotient"><l>2</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Eighth Triplet</l><block s="reportQuotient"><l>1</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Sixteenth Triplet</l><block s="reportQuotient"><l>.5</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Whole Triplet</l><block s="reportQuotient"><l>8</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Thirtysecond Triplet</l><block s="reportQuotient"><l>.125</l><l>3</l></block></list></block></list></block></custom-block></block><block s="reportQuotient"><l>60</l><block s="getTempo"></block></block></list></block></block></script></block-definition><block-definition s="Major Scale %&apos;Note&apos; Octave %&apos;Octave&apos; Reporter" type="reporter" category="other" helper="true"><comment x="0" y="0" w="354.8333984374997" collapsed="false">Reports all notes in a given minor scale in order, beginning with the input note and octave.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportLetter"><l>1</l><block var="Note"/></block><l>C</l></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Major Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Major Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block s="reportVariadicSum"><list><block var="Octave"/><l>1</l></list></block></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><block s="reportVariadicSum"><list><custom-block s="Major Scale Index %s"><block var="Note"/></custom-block><l>1</l></list></block><l>7</l></block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script></block></script></block-definition><block-definition s="Minor Scale %&apos;Note&apos; Octave %&apos;Octave&apos; Reporter" type="reporter" category="other" helper="true"><comment x="0" y="0" w="354.8333984374997" collapsed="false">Reports all notes in a given minor scale in order, beginning with the input note and octave.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportLetter"><l>1</l><block var="Note"/></block><l>C</l></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Minor Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Minor Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block s="reportVariadicSum"><list><block var="Octave"/><l>1</l></list></block></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><block s="reportVariadicSum"><list><custom-block s="Minor Scale Index %s"><block var="Note"/></custom-block><l>1</l></list></block><l>7</l></block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script></block></script></block-definition><block-definition s="Play Chord %&apos;Chord&apos; for Duration %&apos;Duration&apos;" type="command" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doForEach"><l>item</l><block var="Chord"/><script><custom-block s="Play Note %s for Duration %s"><block var="item"/><block var="Duration"/></custom-block></script></block><custom-block s="Rest for Note Duration %s"><block var="Duration"/></custom-block></script></block-definition><block-definition s="Major Chord %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes of a major chord, given the starting note and octave of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block></list></block></block></script></block-definition><block-definition s="Notes of Scale %&apos;Scale&apos; before %&apos;Note&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Scale"/></block><script><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="Scale"/></block><block var="Note"/></block></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="Scale"/></block><block var="Subscale"/></block></script><script><block s="doReport"><block var="Subscale"/></block></script></block></script></block></script></block-definition><block-definition s="Notes of Scale %&apos;Scale&apos; after %&apos;Note&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><block s="reportListAttribute"><l><option>length</option></l><block var="Scale"/></block><l>1</l><script><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="Scale"/></block><block var="Note"/></block></block><script><block s="doInsertInList"><block s="reportListItem"><block var="i"/><block var="Scale"/></block><l>1</l><block var="Subscale"/></block></script><script><block s="doReport"><block var="Subscale"/></block></script></block></script></block></script></block-definition><block-definition s="Major Scale - Major Chords" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>1</l><l>4</l><l>5</l></list></block></block></script></block-definition><block-definition s="Major Scale - Minor Chords" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>2</l><l>3</l><l>6</l></list></block></block></script></block-definition><block-definition s="Minor Scale - Major Chords" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>3</l><l>6</l><l>7</l></list></block></block></script></block-definition><block-definition s="Minor Scale - Minor Chords" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>1</l><l>4</l><l>5</l></list></block></block></script></block-definition><block-definition s="Position of Notes in Diminished Scale" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>1</l><l>3</l><l>4</l><l>6</l><l>7</l><l>9</l><l>10</l><l>12</l></list></block></block></script></block-definition><block-definition s="Diminished Scale %&apos;Note&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Scale</l><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>Scale</l><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block var="Note"/></list></block><custom-block s="Notes of Scale %s after %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block><custom-block s="Notes of Scale %s before %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block></list></block><comment w="139.16666666666669" collapsed="false">Arranges the Chromatic scale to begin with the input note.</comment></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doAddToList"><block s="reportListItem"><block s="reportListItem"><block var="i"/><custom-block s="Position of Notes in Diminished Scale"></custom-block></block><block var="Scale"/></block><block var="Subscale"/></block></script><comment w="90" collapsed="false">Selects the notes of the Diminished scale from the Chromatic scale.</comment></block><block s="doReport"><block var="Subscale"/></block></script><scripts><comment x="248.79622395833346" y="10" w="268.33333333333337" collapsed="false">Reports all notes in a given diminished scale in order, beginning with the input note. Does not include octave.</comment></scripts></block-definition><block-definition s="Diminished Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="296.6563151041664" collapsed="false">Reports all notes in a given diminished scale in order, beginning with the input note and octave.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Scale</l><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>Scale</l><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><custom-block s="Notes of Scale %s after %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block s="reportVariadicSum"><list><block var="Octave"/><l>1</l></list></block></list></block></autolambda><list></list></block><custom-block s="Notes of Scale %s before %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block></block></list></block><comment w="90" collapsed="false">Arranges the Chromatic scale to begin with the input note and octave.</comment></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doAddToList"><block s="reportListItem"><block s="reportListItem"><block var="i"/><custom-block s="Position of Notes in Diminished Scale"></custom-block></block><block var="Scale"/></block><block var="Subscale"/><comment w="90" collapsed="false">Selects the notes of the Diminished scale from the Chromatic scale.</comment></block></script></block><block s="doReport"><block var="Subscale"/></block></script></block-definition><block-definition s="Roman Numeral Conversion" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>I</l><l>1</l></list></block><block s="reportNewList"><list><l>II</l><l>2</l></list></block><block s="reportNewList"><list><l>III</l><l>3</l></list></block><block s="reportNewList"><list><l>IV</l><l>4</l></list></block><block s="reportNewList"><list><l>V</l><l>5</l></list></block><block s="reportNewList"><list><l>VI</l><l>6</l></list></block><block s="reportNewList"><list><l>VII</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="Converted Roman Numeral %&apos;Roman Numeral&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Roman Numeral"/><custom-block s="Roman Numeral Conversion"></custom-block></custom-block></block></block></script></block-definition><block-definition s="Find Major Chord in the %&apos;Position&apos; Position of the Major Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="Major Chord %s Octave %n"><block s="reportListItem"><block var="Position"/><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block><comment w="235.83333333333337" collapsed="false">Given a starting scale and octave, this block will find the corresponding chord for each note in that scale.</comment></block></script></block-definition><block-definition s="Find Minor Chord in the %&apos;Position&apos; Position of the Major Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="Minor Chord %s Octave %n"><block s="reportListItem"><block var="Position"/><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block><comment w="107.5" collapsed="false">Given a starting scale and octave, this block will find the corresponding chord for each note in that scale.</comment></block></script></block-definition><block-definition s="Find Major Chord in the %&apos;Position&apos; Position of Minor Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="Major Chord %s Octave %n"><block s="reportListItem"><block var="Position"/><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block><comment w="235.83333333333337" collapsed="false">Given a starting scale and octave, this block will find the corresponding chord for each note in that scale.</comment></block></script></block-definition><block-definition s="Find Minor Chord in the %&apos;Position&apos; Position of Minor Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="Minor Chord %s Octave %n"><block s="reportListItem"><block var="Position"/><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block><comment w="107.5" collapsed="false">Given a starting scale and octave, this block will find the corresponding chord for each note in that scale.</comment></block></script></block-definition><block-definition s="%&apos;Note&apos; Diminished Chord %&apos;Octave&apos; Octave" type="reporter" category="other" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes of a diminished chord, given the starting note and octave of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="Diminished Scale %s Octave %s"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="Diminished Scale %s Octave %s"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="Diminished Scale %s Octave %s"><block var="Note"/><block var="Octave"/></custom-block></block></list></block></block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations>pt:executa no modo turbo _&#xD;</translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="Minor Chord %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes of a minor chord, given the starting note and octave of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block></list></block></block></script></block-definition><block-definition s="Major Chord %&apos;Note&apos; Octave %&apos;Octave&apos; Chord Position %&apos;Roman Numeral&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">I<options>I&#xD;ii&#xD;iii&#xD;IV&#xD;V&#xD;vi&#xD;vii</options></input></inputs><script><custom-block s="turbo %cs"><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="Major Scale - Major Chords"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Find Major Chord in the %s Position of the Major Scale %s Octave %s"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><block var="Note"/><block var="Octave"/></custom-block></block></script></block><block s="doIf"><block s="reportListContainsItem"><custom-block s="Major Scale - Minor Chords"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Find Minor Chord in the %s Position of the Major Scale %s Octave %s"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><block var="Note"/><block var="Octave"/></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><l>7</l></block><script><block s="doReport"><custom-block s="%s Diminished Chord %s Octave"><block s="reportListItem"><l>8</l><custom-block s="Diminished Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script></block></script></custom-block></script></block-definition><block-definition s="Minor Chord %&apos;Note&apos; Octave %&apos;Octave&apos; Chord Position %&apos;Roman Numeral&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">i<options>i&#xD;ii&#xD;III&#xD;iv&#xD;v&#xD;VI&#xD;VII</options></input></inputs><script><custom-block s="turbo %cs"><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="Minor Scale - Major Chords"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Find Major Chord in the %s Position of Minor Scale %s Octave %s"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><block var="Note"/><block var="Octave"/></custom-block></block></script></block><block s="doIf"><block s="reportListContainsItem"><custom-block s="Minor Scale - Minor Chords"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Find Minor Chord in the %s Position of Minor Scale %s Octave %s"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><block var="Note"/><block var="Octave"/></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><l>2</l></block><script><block s="doReport"><custom-block s="%s Diminished Chord %s Octave"><block s="reportListItem"><l>2</l><custom-block s="Diminished Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script></block></script></custom-block></script></block-definition><block-definition s="List of Major Scales" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>D</l><l>E</l><l>F</l><l>G</l><l>A</l><l>B</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>C#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C#</l><l>D#</l><l>E#</l><l>F#</l><l>G#</l><l>A#</l><l>B#</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>Db</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Db</l><l>Eb</l><l>F</l><l>Gb</l><l>Ab</l><l>Bb</l><l>C</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>D</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D</l><l>E</l><l>F#</l><l>G</l><l>A</l><l>B</l><l>C#</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>Eb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Eb</l><l>F</l><l>G</l><l>Ab</l><l>Bb</l><l>C</l><l>D</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>E</l><block s="reportNewList"><list><block s="reportNewList"><list><l>E</l><l>F#</l><l>G#</l><l>A</l><l>B</l><l>C#</l><l>D#</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>F</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F</l><l>G</l><l>A</l><l>Bb</l><l>C</l><l>D</l><l>E</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>F#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F#</l><l>G#</l><l>A#</l><l>B</l><l>C#</l><l>D#</l><l>E#</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>Gb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Gb</l><l>Ab</l><l>Bb</l><l>Cb</l><l>Db</l><l>Eb</l><l>F</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>G</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G</l><l>A</l><l>B</l><l>C</l><l>D</l><l>E</l><l>F#</l></list></block><l>3</l></list></block></list></block><block s="reportNewList"><list><l>Ab</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Ab</l><l>Bb</l><l>C</l><l>Db</l><l>Eb</l><l>F</l><l>G</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A</l><l>B</l><l>C#</l><l>D</l><l>E</l><l>F#</l><l>G#</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A#</l><l>B#</l><l>C</l><l>D#</l><l>E#</l><l>F</l><l>G</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>Bb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Bb</l><l>C</l><l>D</l><l>Eb</l><l>F</l><l>G</l><l>A</l></list></block><l>1</l></list></block></list></block><block s="reportNewList"><list><l>B</l><block s="reportNewList"><list><block s="reportNewList"><list><l>B</l><l>C#</l><l>D#</l><l>E</l><l>F#</l><l>G#</l><l>A#</l></list></block><l>1</l></list></block></list></block></list></block></block></script></block-definition><block-definition s="List of Minor Scales" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>D</l><l>Eb</l><l>F</l><l>G</l><l>Ab</l><l>Bb</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>C#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C#</l><l>D#</l><l>E</l><l>F#</l><l>G#</l><l>A</l><l>B</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>D</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D</l><l>E</l><l>F</l><l>G</l><l>A</l><l>Bb</l><l>C</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>D#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D#</l><l>E#</l><l>F</l><l>G#</l><l>A#</l><l>B</l><l>C#</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>Eb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Eb</l><l>F</l><l>Gb</l><l>Ab</l><l>Bb</l><l>Cb</l><l>Db</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>E</l><block s="reportNewList"><list><block s="reportNewList"><list><l>E</l><l>F#</l><l>G</l><l>A</l><l>B</l><l>C</l><l>D</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>F</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F</l><l>G</l><l>Ab</l><l>Bb</l><l>C</l><l>Db</l><l>Eb</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>F#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F#</l><l>G#</l><l>A</l><l>B</l><l>C#</l><l>D</l><l>E</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>G</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G</l><l>A</l><l>Bb</l><l>C</l><l>D</l><l>Eb</l><l>F</l></list></block><l>3</l></list></block></list></block><block s="reportNewList"><list><l>G#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G#</l><l>A#</l><l>B</l><l>C#</l><l>D#</l><l>E</l><l>F#</l></list></block><l>3</l></list></block></list></block><block s="reportNewList"><list><l>Ab</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Ab</l><l>Bb</l><l>Cb</l><l>Db</l><l>Eb</l><l>Fb</l><l>Gb</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A</l><l>B</l><l>C</l><l>D</l><l>E</l><l>F</l><l>G</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A#</l><l>B#</l><l>C#</l><l>D#</l><l>E#</l><l>F#</l><l>G#</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>Bb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Bb</l><l>C</l><l>Db</l><l>Eb</l><l>F</l><l>Gb</l><l>Ab</l></list></block><l>1</l></list></block></list></block><block s="reportNewList"><list><l>B</l><block s="reportNewList"><list><block s="reportNewList"><list><l>B</l><l>C#</l><l>D</l><l>E</l><l>F#</l><l>G</l><l>A</l></list></block><l>1</l></list></block></list></block></list></block></block></script></block-definition><block-definition s="Major Scale Index %&apos;Scale&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Scale"/><custom-block s="List of Major Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Minor Scale Index %&apos;Scale&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Scale"/><custom-block s="List of Minor Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Major Scale %&apos;Note&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note"/><custom-block s="List of Major Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Minor Scale %&apos;Note&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note"/><custom-block s="List of Minor Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="%&apos;Major/Minor&apos; Chord %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Major Chord %s Octave %n"><block var="Note"/><block var="Octave"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Minor Chord %s Octave %n"><block var="Note"/><block var="Octave"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="%&apos;Major/Minor&apos; Chord %&apos;Note&apos; Octave %&apos;Octave&apos; Chord Position %&apos;Numeral&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input><input type="%n"><options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s"><options>Major Positions={&#xD;I&#xD;ii&#xD;iii&#xD;IV&#xD;V&#xD;vi&#xD;vii&#xD;}&#xD;Minor Positions={&#xD;i&#xD;ii&#xD;III&#xD;iv&#xD;v&#xD;VI&#xD;VII&#xD;}</options></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Major Chord %s Octave %n Chord Position %s"><block var="Note"/><block var="Octave"/><block var="Numeral"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Minor Chord %s Octave %n Chord Position %s"><block var="Note"/><block var="Octave"/><block var="Numeral"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Add Note %&apos;Note&apos; to Chord %&apos;Chord&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>New Chord</l></list></block><block s="doSetVar"><l>New Chord</l><block var="Chord"/></block><block s="doAddToList"><block var="Note"/><block var="New Chord"/></block><block s="doReport"><block var="New Chord"/></block></script></block></script></block-definition><block-definition s="Chord Rest" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>R</l><l>R</l><l>R</l></list></block></block></script></block-definition><block-definition s="Measure %&apos;Notes/Chords&apos; %&apos;Pairs&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Notes<options>Notes&#xD;Chords</options></input><input type="%mult%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Notes/Chords"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Notes</l><custom-block s="Measure of Note %s"><block var="Pairs"/></custom-block></list></block><block s="reportNewList"><list><l>Chords</l><custom-block s="Measure of Chords %mult%s"><list><block var="Pairs"/></list></custom-block></list></block></list></block></custom-block></block></block></script></block></script><scripts><script x="24.9951171875" y="198.99999999999994"><block s="reportListAttribute"><l><option>length</option></l><block var="Pairs"/></block></script></scripts></block-definition><block-definition s="Beats in Measure %&apos;Measure&apos; $nl Time Signature %&apos;Time&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">4/4<options>4/4&#xD;3/4&#xD;2/4&#xD;6/8&#xD;5/4&#xD;7/4&#xD;9/8&#xD;12/8</options></input></inputs><script><block s="doDeclareVariables"><list><l>Beats Necessary</l><l>Actual Beats</l></list></block><block s="doSetVar"><l>Beats Necessary</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Time"/><block s="reportNewList"><list><block s="reportNewList"><list><l>4/4</l><l>4</l></list></block><block s="reportNewList"><list><l>3/4</l><l>3</l></list></block><block s="reportNewList"><list><l>2/4</l><l>2</l></list></block><block s="reportNewList"><list><l>6/8</l><l>3</l></list></block><block s="reportNewList"><list><l>5/4</l><l>5</l></list></block><block s="reportNewList"><list><l>7/4</l><l>7</l></list></block><block s="reportNewList"><list><l>9/8</l><l>4.5</l></list></block><block s="reportNewList"><list><l>12/8</l><l>5</l></list></block></list></block></custom-block></block></block><block s="doSetVar"><l>Actual Beats</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Measure"/></block><script><block s="doSetVar"><l>Actual Beats</l><block s="reportVariadicSum"><list><block var="Actual Beats"/><custom-block s="Duration of Note %s"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="Measure"/></block></block></custom-block></list></block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="Actual Beats"/><l> of </l><block var="Beats Necessary"/><l> beats</l></list></block></block></script></block-definition><block-definition s="Play MIDI Controller Named %&apos;controller_name&apos; using Instrument %&apos;Instrument&apos;" type="command" category="MIDI"><header></header><code></code><translations></translations><inputs><input type="%s"><options>MPK mini 3&#xD;MPK mini play&#xD;MPK Mini Mk II&#xD;M-audio Keystation 49es</options></input><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>controller_name,instrument</l></list><l>window.parent.playMidiController &amp;&amp; window.parent.playMidiController(controller_name,instrument)</l></block><list><block var="controller_name"/><block var="Instrument"/></list></block></script></block-definition><block-definition s="Duration of Note %&apos;Duration&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Duration"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Whole</l><l>4</l></list></block><block s="reportNewList"><list><l>Half</l><l>2</l></list></block><block s="reportNewList"><list><l>Quarter</l><l>1</l></list></block><block s="reportNewList"><list><l>Eighth</l><l>.5</l></list></block><block s="reportNewList"><list><l>Sixteenth</l><l>.25</l></list></block><block s="reportNewList"><list><l>Thirtysecond</l><l>.125</l></list></block><block s="reportNewList"><list><l>Dotted Whole</l><l>6</l></list></block><block s="reportNewList"><list><l>Dotted Half</l><l>3</l></list></block><block s="reportNewList"><list><l>Dotted Quarter</l><l>1.5</l></list></block><block s="reportNewList"><list><l>Dotted Eighth</l><l>.75</l></list></block><block s="reportNewList"><list><l>Dotted Sixteenth</l><l>.345</l></list></block><block s="reportNewList"><list><l>Dotted Thirtysecond</l><l>0.1875</l></list></block><block s="reportNewList"><list><l>Half Triplet</l><block s="reportQuotient"><l>4</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Quarter Triplet</l><block s="reportQuotient"><l>2</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Eighth Triplet</l><block s="reportQuotient"><l>1</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Sixteenth Triplet</l><block s="reportQuotient"><l>.5</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Whole Triplet</l><block s="reportQuotient"><l>8</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Thirtysecond Triplet</l><block s="reportQuotient"><l>.125</l><l>3</l></block></list></block></list></block></custom-block></block></block></script></block-definition><block-definition s="Measure of Note %&apos;Note/Duration&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="Note/Duration"/></block><l>1</l></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="Note/Duration"/></block></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="Note/Duration"/></block></list></block></block></script></block><block s="doReport"><block s="reportListItem"><l>1</l><block var="Note/Duration"/></block></block></script></block><block s="doReport"><block var="Note/Duration"/></block></script></block-definition><block-definition s="Measure of Chords %&apos;Chord/Duration&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Chord List</l></list></block><block s="doSetVar"><l>Chord List</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportGreaterThan"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="Chord/Duration"/></block></block></block></block><l>2</l></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="Chord/Duration"/></block></block></list></block></block></script></block><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="Chord/Duration"/></block></block></block></script></block-definition><block-definition s="Section %&apos;Measures&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>List</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>List</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>Measure in Section</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Measures"/></block><script><block s="doSetVar"><l>List</l><block s="reportConcatenatedLists"><list><block var="List"/><block s="reportListItem"><block var="Measure in Section"/><block var="Measures"/></block></list></block></block></script></block><block s="doReport"><block var="List"/></block></script></block></script></block-definition><block-definition s="Melody with Instrument %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note/Duration Pairs</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>Pair #</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Notation"/></block><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportConcatenatedLists"><list><block var="Note/Duration Pairs"/><block s="reportListItem"><block var="Pair #"/><block var="Notation"/></block></list></block></block></script></block><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Melody</l><block var="Instrument"/></list></block></list></block><block var="Note/Duration Pairs"/></list></block></block></script></block></script></block-definition><block-definition s="Melody Loop with Instrument %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note/Duration Pairs</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>Pair #</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Notation"/></block><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportConcatenatedLists"><list><block var="Note/Duration Pairs"/><block s="reportListItem"><block var="Pair #"/><block var="Notation"/></block></list></block></block></script></block><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Melody</l><block var="Instrument"/></list></block></list></block><block var="Note/Duration Pairs"/></list></block></block></script></block></script></block-definition><block-definition s="Chord Track with %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Chords</l><block var="Instrument"/></list></block></list></block><block var="Notation"/></list></block></block></script></block-definition><block-definition s="Chord Loop with %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Chords</l><block var="Instrument"/></list></block></list></block><block var="Notation"/></list></block></block></script></block-definition><block-definition s="Drum %&apos;Instrument&apos; Loop %&apos;Pattern&apos; Beat Duration %&apos;Beat&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Snare Drum<options>Bass Drum&#xD;Snare Drum&#xD;Crash Cymbal&#xD;Cabasa&#xD;Toms={&#xD;High Tom&#xD;Mid Tom&#xD;}&#xD;Hi-Hats={&#xD;Closed Hi-hat&#xD;Open Hi-hat&#xD;}</options></input><input type="%l"></input><input type="%s"><options>Quarter&#xD;Eighth&#xD;Sixteenth</options></input></inputs><script><block s="doDeclareVariables"><list><l>notes and durations</l></list></block><block s="doSetVar"><l>notes and durations</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Drums</l><block var="Instrument"/></list></block></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Pattern"/></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block var="Pattern"/></block><block var="Beat"/></list></block><block var="notes and durations"/></block></script></block><block s="doReport"><block var="notes and durations"/></block></script></block-definition><block-definition s="Track %&apos;Type&apos; Instrument %&apos;Instrument&apos; $nl Musical Notation (Notes or Chords) %&apos;Notation&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Melody<options>Melody&#xD;Chords&#xD;Loops={&#xD;Loop-Melody&#xD;Loop-Chords&#xD;}</options></input><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Type"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Melody</l><custom-block s="Melody with Instrument %s Notation %mult%s"><block var="Instrument"/><list><block var="Notation"/></list></custom-block></list></block><block s="reportNewList"><list><l>Chords</l><custom-block s="Chord Track with %s Notation %s"><block var="Instrument"/><block var="Notation"/></custom-block></list></block><block s="reportNewList"><list><l>Loop-Melody</l><custom-block s="Melody Loop with Instrument %s Notation %mult%s"><block var="Instrument"/><list><block var="Notation"/></list></custom-block></list></block><block s="reportNewList"><list><l>Loop-Chords</l><custom-block s="Chord Loop with %s Notation %s"><block var="Instrument"/><block var="Notation"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="create %&apos;scope&apos; var %&apos;names&apos;" type="command" category="variables" helper="true"><comment x="0" y="0" w="146" collapsed="false">This block creates  new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in &apos;names&apos; list).&#xD;&#xD;If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.</comment><header></header><code></code><translations>pt:cria as variáveis _ _&#xD;ca:crea les _ variables _&#xD;es:crear las _ variables _&#xD;de:erstellen _ var _&#xD;</translations><inputs><input type="%s" readonly="true">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="scope"/><l>script</l></block><script><block s="doForEach"><l>each item</l><block var="names"/><script><block s="doRun"><block s="reportJSFunction"><list><l>varName</l><l>proc</l></list><l>if ((typeof varName) != "string" || varName === "") {&#xD;    throw new Error("name isn&apos;t a string: " + varName);&#xD;}&#xD;if (!proc.homeContext.variables.vars[varName]) proc.homeContext.variables.addVar(varName);</l></block><list><block var="each item"/></list></block></script></block></script><script><block s="doDeclareVariables"><list><l>global</l></list></block><block s="doIfElse"><block s="reportEquals"><block var="scope"/><l>sprite</l></block><script><block s="doSetVar"><l>global</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>global</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doForEach"><l>each item</l><block var="names"/><script><block s="doRun"><block s="reportJSFunction"><list><l>varName</l><l>global</l><l>proc</l></list><l>if ((typeof varName) != "string" || varName === "") {&#xD;    throw new Error("name isn&apos;t a string: " + varName);&#xD;}&#xD;if (global &amp;&amp; !proc.homeContext.variables.parentFrame.parentFrame.vars[varName]) this.addVariable(varName, true);&#xD;if (!global &amp;&amp; !proc.homeContext.variables.parentFrame.vars[varName]) this.addVariable(varName, false);</l></block><list><block var="each item"/><block var="global"/></list></block></script></block><block s="doRun"><block s="reportJSFunction"><list></list><l>var ide = this.parentThatIsA(IDE_Morph);&#xD;ide.flushBlocksCache(&apos;variables&apos;); // b/c of inheritance&#xD;ide.refreshPalette();</l></block><list></list></block></script></block></script></block-definition><block-definition s="delete var %&apos;names&apos;" type="command" category="variables" helper="true"><comment x="0" y="0" w="216.99999999999997" collapsed="false">This block deletes all the variables with the names given (inside input list).&#xD;&#xD;Each name will make only one variable deletion, and this will be the variable found following the scope order: &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;If we have a &quot;testing&quot; sprite variable and also a &quot;testing&quot; global one, deleting &quot;testing&quot; will delete only the sprite one (Yes! we can also do &quot;delete var (testing, testing)&quot; to delete both.&#xD;&#xD;If one variable does not exists (in any scope) an error happens, stopping block action in that point. You can check it before with the &quot;does var (name) exists?&quot;block. </comment><header></header><code></code><translations>pt:remove as variáveis _&#xD;ca:esborra les variables _&#xD;es:borrar variables _&#xD;de:löschen var _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doForEach"><l>each item</l><block var="names"/><script><block s="doRun"><block s="reportJSFunction"><list><l>varName</l><l>proc</l></list><l>if ((typeof varName) != "string" || varName === "") {&#xD;    throw new Error("name isn&apos;t a string: " + varName);&#xD;}&#xD;if (typeof proc.homeContext.variables.vars[varName] !== &apos;undefined&apos;) {&#xD;    delete proc.homeContext.variables.vars[varName];&#xD;} else if (this.deletableVariableNames().indexOf(varName) != -1) {&#xD;    this.deleteVariable(varName);&#xD;} else {&#xD;    throw new Error("variable doesn&apos;t exist: " + varName);&#xD;}</l></block><list><block var="each item"/></list></block></script></block><block s="doRun"><block s="reportJSFunction"><list></list><l>var ide = this.parentThatIsA(IDE_Morph);&#xD;ide.flushBlocksCache(&apos;variables&apos;); // b/c of inheritance&#xD;ide.refreshPalette();</l></block><list></list></block></script></block-definition><block-definition s="var %&apos;name&apos;" type="reporter" category="variables" helper="true"><comment x="0" y="0" w="178.00000000000003" collapsed="false">This block reports the value of the variable with the name given.&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>pt:o valor de _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>varName</l><l>proc</l></list><l>if ((typeof varName) != "string") {&#xD;    throw new Error("name isn&apos;t a string: " + varName);&#xD;}&#xD;return proc.homeContext.variables.getVar(varName);</l></block><list><block var="name"/></list></block></block></script></block-definition><block-definition s="shape of $⍴-1-255-255-0 %&apos;data&apos;" type="reporter" category="lists" helper="true"><comment x="0" y="0" w="310" collapsed="false">Reports a flat list of the maximum size of the input array along&#xD;each dimension: number of rows, number of columns, etc.&#xD;&quot;Maximum&quot; because it works even if the array isn&apos;t uniformly shaped.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>sublists</l></list></block><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doSetVar"><l>sublists</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListIsEmpty"><l/></block></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="shape of $⍴-1-255-255-0 %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block></block></block><block s="doIfElse"><block s="reportListIsEmpty"><block var="sublists"/></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><custom-block s="flatten (ravel) $,-1-255-255-0 %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><block var="number"/><l/></block></autolambda><list></list></block><block var="sublists"/></block><block s="reifyReporter"><autolambda><custom-block s="max %s $⌈-1-255-255-0 %s"><l></l><l></l></custom-block></autolambda><list></list></block></block></autolambda><list><l>number</l></list></block><block s="reportNumbers"><l>1</l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>length</option></l><l/></block></autolambda><list></list></block><block var="sublists"/></block><block s="reifyReporter"><autolambda><custom-block s="max %s $⌈-1-255-255-0 %s"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></block></custom-block></block></block></script></block></script><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block></script></block-definition><block-definition s="max %&apos;a&apos; $⌈-1-255-255-0 %&apos;b&apos;" type="reporter" category="operators" helper="true"><comment x="0" y="0" w="150.66666666666666" collapsed="false">Reports the greater of its two inputs. Works on strings too.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><block var="a"/><block var="b"/></block></autolambda><list><l>a</l><l>b</l></list></block></custom-block><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="flatten (ravel) $,-1-255-255-0 %&apos;data&apos;" type="reporter" category="lists" helper="true"><comment x="0" y="0" w="216" collapsed="false">Reports a flat list of all the atomic elements &#xD;of sublists of the input list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="flatten (ravel) $,-1-255-255-0 %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block var="data"/></list></block></block></script></block></script></block-definition><block-definition s="rank of $⍴⍴-1-255-255-0 %&apos;array&apos;" type="reporter" category="lists" helper="true"><comment x="0" y="0" w="240.00000000000003" collapsed="true">Reports the number of dimensions of the input.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="array"/></custom-block></custom-block></block></block></script></block-definition><block-definition s="multimap %&apos;function&apos; %&apos;data&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="215.33333333333331" collapsed="false">Like MAP, but can take any number of lists&#xD;as inputs.  The lists must all be the same size.&#xD;The function input must take a number of inputs&#xD;equal to the number of lists.  MULTIMAP calls&#xD;the function with all the first items, then all the&#xD;second items, and so on.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doIf"><custom-block s="combine in rows (reduce by column vectors) %repRing $/-1-255-255-0 %l"><block s="reifyReporter"><autolambda><block s="reportOr"><l/><l/></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListIsEmpty"><l/></block></autolambda><list></list></block><block var="data"/></block></custom-block><script><block s="doIfElse"><custom-block s="combine in rows (reduce by column vectors) %repRing $/-1-255-255-0 %l"><block s="reifyReporter"><autolambda><block s="reportAnd"><l/><l/></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListIsEmpty"><l/></block></autolambda><list></list></block><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><custom-block s="error %txt"><l>Non-conforming shapes.</l></custom-block></script></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="data"/></block></block><custom-block s="multimap %repRing %mult%l"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><block var="data"/></block></custom-block></block></block></script></block-definition><block-definition s="combine in rows (reduce by column vectors) %&apos;func&apos; $/-1-255-255-0 %&apos;stuff&apos;" type="reporter" category="lists" helper="true"><comment x="0" y="0" w="288.6666666666667" collapsed="false">This function has two names because there are two ways&#xD;to understand it.&#xD;&#xD;Lisp way:  A matrix is a list of rows.  This block combines the numbers in each row, producing one value for the entire row.&#xD;&#xD;APL way:  A matrix is made of vectors.  This block takes each column as a vector, and does vector arithmetic on the columns, producing one column as the result.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportGreaterThan"><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="stuff"/></custom-block><l>1</l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="combine in rows (reduce by column vectors) %repRing $/-1-255-255-0 %l"><block var="func"/><l/></custom-block></autolambda><list></list></block><block var="stuff"/></block></block></script><script><block s="doReport"><block s="reportCombine"><block var="stuff"/><block var="func"/></block></block></script></block></script></block-definition><block-definition s="scalar -&gt; hyper %&apos;func&apos;" type="reporter" category="control" helper="true"><comment x="0" y="0" w="218" collapsed="false">Takes a dyadic scalar function as input, and&#xD;hyperizes it, so that it can take lists as inputs.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>hyper func</l></list></block><block s="doSetVar"><l>hyper func</l><block s="reifyReporter"><script><block s="doIfElse"><custom-block s="scalar? %s"><block var="a"/></custom-block><script><block s="doIfElse"><custom-block s="scalar? %s"><block var="b"/></custom-block><script><block s="doReport"><block s="evaluate"><block var="func"/><list><custom-block s="scalar-value helper %s"><block var="a"/></custom-block><custom-block s="scalar-value helper %s"><block var="b"/></custom-block></list></block></block></script><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><custom-block s="scalar-value helper %s"><block var="a"/></custom-block><l></l></list></block></autolambda><list></list></block><block var="b"/></block></block></script></block></script><script><block s="doIfElse"><custom-block s="scalar? %s"><block var="b"/></custom-block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><l></l><custom-block s="scalar-value helper %s"><block var="b"/></custom-block></list></block></autolambda><list></list></block><block var="a"/></block></block></script><script><block s="doReport"><custom-block s="multimap %repRing %mult%l"><block var="hyper func"/><list><block var="a"/><block var="b"/></list></custom-block></block></script></block></script></block></script><list><l>a</l><l>b</l></list></block></block><block s="doReport"><block var="hyper func"/></block></script></block-definition><block-definition s="scalar? %&apos;x&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="199.33333333333334" collapsed="false">Reports True if the input is an APL scalar,&#xD;i.e., either an atomic (non-list) value, or&#xD;an array (list of lists) of any depth with only&#xD;one atomic item, e.g., (list (list (list (3)))).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><block s="reportEquals"><block s="reportCombine"><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="x"/></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block><l>1</l></block></block></script></block-definition><block-definition s="scalar-value helper %&apos;x&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="200.66666666666663" collapsed="false">The input must be a value for which SCALAR? reports true, i.e., either an atom or a list of any depth but only one scalar item of item of... etc.  This function returns the underlying scalar (number, etc.).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="x"/></block></script></block><block s="doReport"><custom-block s="scalar-value helper %s"><block s="reportListItem"><l>1</l><block var="x"/></block></custom-block></block></script></block-definition><block-definition s="Delete Clones" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>60</l><l>72</l><script><block s="doTellTo"><block s="reportJoinWords"><list><block var="i"/></list></block><block s="reifyScript"><script><block s="doSetVar"><l><option>my temporary?</option></l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="removeClone"></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="Make Clones" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doTellTo"><l>Dot</l><block s="reifyScript"><script><block s="show"></block><block s="doSwitchToCostume"><l>Dot</l></block></script><list></list></block><list></list></block><block s="doFor"><l>i</l><l>60</l><l>72</l><script><block s="doTellTo"><block s="newClone"><l>Dot</l></block><block s="reifyScript"><script><block s="doSetVar"><l><option>my temporary?</option></l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l><option>my name</option></l><block var="i"/></block></script><list></list></block><list></list></block></script></block><block s="doTellTo"><l>Dot</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="Position Clones" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>X Position</l></list></block><block s="doSetVar"><l>X Position</l><l>-150</l></block><block s="doFor"><l>i</l><l>60</l><l>72</l><script><block s="doTellTo"><block s="reportJoinWords"><list><block var="i"/></list></block><block s="reifyScript"><script><block s="gotoXY"><block var="X Position"/><l>0</l></block></script><list></list></block><list></list></block><block s="doChangeVar"><l>X Position</l><l>20</l></block></script></block></script></block-definition><block-definition s="Convert MIDI %&apos;#&apos; to Note" type="reporter" category="Music"><comment x="0" y="0" w="217.80831473214303" collapsed="false">Reports the corresponding note (in scientific pitch notation) for the specified MIDI number.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Octave</l><l>Note</l></list></block><block s="doSetVar"><l>Octave</l><block s="reportLetter"><l>1</l><block s="reportDifference"><block s="reportQuotient"><block var="#"/><l>12</l></block><l>1</l></block></block></block><block s="doSetVar"><l>Note</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="#"/><l>12</l></block><l>1</l></list></block><block s="reportNewList"><list><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l></list></block></block></block><block s="doReport"><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></block></script></block-definition><block-definition s="assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="a-list"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="key"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></script></block><block s="doReport"><custom-block s="assoc %s %l"><block var="key"/><block s="reportCDR"><block var="a-list"/></block></custom-block></block></script></block-definition><block-definition s="Shift Dot" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeYPosition"><l>50</l></block><block s="doWait"><l>.1</l></block><block s="changeYPosition"><l>-50</l></block></script></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="218" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations>pt:_ sem o último caractere&#xD;ca:_ sense la darrera lletra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script></block><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block><l><option>letter</option></l></block></block></block></block></block></block></script></block-definition><block-definition s="require nonempty %&apos;text&apos; %&apos;message&apos;" type="reporter" category="operators" helper="true"><comment x="0" y="0" w="220" collapsed="false">Helper function for word/sentence library.&#xD;Reports its first input, unless that input is empty, in which case it gives its second input as an error message.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIfElse"><block s="reportIsA"><block var="text"/><l><option>list</option></l></block><block s="reportListIsEmpty"><block var="text"/></block><block s="reportEquals"><block s="reportStringSize"><block var="text"/></block><l>0</l></block></block><script><custom-block s="error %txt"><block var="message"/></custom-block></script><script><block s="doReport"><block var="text"/></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations>pt:o último caractere de _&#xD;ca:primera lletra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="word"/></block><l>0</l></block><script><custom-block s="error %txt"><l>Last of empty word.</l></custom-block></script></block><block s="doReport"><block s="reportLetter"><block s="reportStringSize"><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="Dot Piano" type="command" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForever"><script><block s="doIf"><block var="Changed Note?"/><script><block s="doTellTo"><block s="reportJoinWords"><list><block var="Current Note MIDI"/></list></block><block s="reifyScript"><script><custom-block s="Shift Dot"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>Changed Note?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="MIDI Keyboard Chords" type="command" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForever"><script><block s="doIf"><block var="Changed Note?"/><script><custom-block s="Play Chord %s for Duration %s"><custom-block s="%s Chord %s Octave %s"><l>Major</l><custom-block s="all but last letter of %txt"><block var="Current Note"/></custom-block><custom-block s="last letter of %txt"><block var="Current Note"/></custom-block></custom-block><l>Quarter</l></custom-block><block s="doSetVar"><l>Changed Note?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="Record Notes" type="command" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>List of Notes</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>Notes</l><l>Durations</l></list></block><block var="List of Notes"/></block><block s="doSetVar"><l>Time</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doForever"><script><block s="doIf"><block var="Changed Note?"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="Current Note"/><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="Time"/></block></list></block><block var="List of Notes"/></block><block s="doSetVar"><l>Time</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doSetVar"><l>Changed Note?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="Dex Music Assignment 10" type="command" category="Sample Musical Motifs"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doSetTempo"><l>170</l></block><custom-block s="Play Tracks %mult%l Time Signature: %s"><list><custom-block s="Track: %s Instrument: %s %br Musical Notation (Notes or Chords): %mult%s"><l>Melody</l><l>Piano</l><list><custom-block s="Section %mult%l"><list><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>C4</l><l>Half</l></list></block><block s="reportNewList"><list><l>C5</l><l>Half</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>D4</l><l>Quarter</l></list></block><block s="reportNewList"><list><l>F#4</l><l>Eighth</l></list></block><block s="reportNewList"><list><l>A4</l><l>Eighth</l></list></block><block s="reportNewList"><list><l>G4</l><l>Quarter</l></list></block><block s="reportNewList"><list><l>B4</l><l>Quarter</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>C4</l><l>Half</l></list></block><block s="reportNewList"><list><l>C5</l><l>Half</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>G4</l><l>Quarter</l></list></block><block s="reportNewList"><list><l>B4</l><l>Eighth</l></list></block><block s="reportNewList"><list><l>D5</l><l>Eighth</l></list></block><block s="reportNewList"><list><l>B4</l><l>Quarter</l></list></block><block s="reportNewList"><list><l>G4</l><l>Quarter</l></list></block></list></custom-block></list></custom-block></list></custom-block><custom-block s="Drum %s Loop: %l Beat Duration: %s"><l>Snare Drum</l><custom-block s="Drum Pattern %mult%s"><list><l>X</l><l></l><l>X</l><l></l><l>X</l><l></l><l>X</l><l></l></list></custom-block><l>Eighth</l></custom-block><custom-block s="Drum %s Loop: %l Beat Duration: %s"><l>Bass Drum</l><custom-block s="Drum Pattern %mult%s"><list><l></l><l>X</l><l></l><l>X</l><l></l><l>X</l><l></l><l>X</l></list></custom-block><l>Eighth</l></custom-block><custom-block s="Track: %s Instrument: %s %br Musical Notation (Notes or Chords): %mult%s"><l>Chords</l><l>Guitar, Electric</l><list><custom-block s="Section %mult%l"><list><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><l>C</l><l>3</l></custom-block><l>Half</l></list></block><block s="reportNewList"><list><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><l>C</l><l>3</l></custom-block><l>Half</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><l>D</l><l>3</l></custom-block><l>Half</l></list></block><block s="reportNewList"><list><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><l>G</l><l>3</l></custom-block><l>Half</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><l>C</l><l>4</l></custom-block><l>Half</l></list></block><block s="reportNewList"><list><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><l>C</l><l>4</l></custom-block><l>Half</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><l>G</l><l>3</l></custom-block><l>Whole</l></list></block></list></custom-block></list></custom-block></list></custom-block><custom-block s="Track: %s Instrument: %s %br Musical Notation (Notes or Chords): %mult%s"><l>Melody</l><l>Organ</l><list><custom-block s="Section %mult%l"><list><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>C3</l><l>Whole</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>D3</l><l>Half</l></list></block><block s="reportNewList"><list><l>G3</l><l>Half</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>C3</l><l>Whole</l></list></block></list></custom-block><custom-block s="Measure %mult%l"><list><block s="reportNewList"><list><l>G3</l><l>Whole</l></list></block></list></custom-block></list></custom-block></list></custom-block></list><l>4/4</l></custom-block></script></block-definition><block-definition s="Measure %&apos;Pairs&apos;" type="reporter" category="Music"><comment x="0" y="0" w="286.4285714285714" collapsed="false">This block is used to group sequences of notes and chords into measures. Each note or chord in the measure is paired with a note duration. The pairs are entered into the block using a list. </comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block var="Pairs"/></block></script></block-definition><block-definition s="Section %&apos;Measures&apos;" type="reporter" category="Music"><comment x="0" y="0" w="428.2220145089286" collapsed="false">This code block groups measures together. This can be helpful for separating groups of measures that repeat in various places throughout a song, like verses and choruses. This block works with both notes and chords. To add measures to a section, put the measures into a list.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doDeclareVariables"><list><l>Section</l></list></block><block s="doSetVar"><l>Section</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="Measures"/><script><block s="doSetVar"><l>Section</l><block s="reportConcatenatedLists"><list><block var="Section"/><block var="item"/></list></block></block></script></block><block s="doReport"><block var="Section"/></block></script></block-definition><block-definition s="Track: %&apos;Type&apos; Instrument: %&apos;Instrument&apos; $nl Musical Notation (Notes or Chords): %&apos;Notation&apos;" type="reporter" category="Music"><comment x="0" y="0" w="272.8571428571429" collapsed="false">This code block specifies the type of track to be played and assigns it an instrument. Both the track type and instrument are set using drop-down menus. This block accepts notes or chords paired with corresponding durations. This block also allows for the creation of note or chord loops that will repeat for the whole duration of the song. Both types of loops may be selected from the track drop-down menu. For a loop to play, it must have an accompanying track that is not a loop.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Melody<options>Melody&#xD;Chords&#xD;Loops={&#xD;Loop-Melody&#xD;Loop-Chords&#xD;}</options></input><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Track</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>Track</l><block s="reportNewList"><list><block s="reportNewList"><list><block var="Type"/><block var="Instrument"/></list></block></list></block></block><block s="doForEach"><l>item</l><block var="Notation"/><script><block s="doSetVar"><l>Track</l><block s="reportConcatenatedLists"><list><block var="Track"/><block var="item"/></list></block></block></script></block><block s="doReport"><block var="Track"/></block></script></block></script><scripts><script x="645" y="186.57142857142878"><block s="doThinkFor"><block var="item"/><l>2</l></block></script></scripts></block-definition><block-definition s="Drum Pattern %&apos;Step&apos;" type="reporter" category="Music"><comment x="0" y="0" w="245.9644252232142" collapsed="false">This block reports a series of beats that tell the drum when to play. Beats are represented as an “X,” which can be typed into the block. Beats can be added or subtracted using the arrows on the right of the block.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block var="Step"/></block></script></block-definition><block-definition s="Drum %&apos;Instrument&apos; Loop: %&apos;Pattern&apos; Beat Duration: %&apos;Beat&apos;" type="reporter" category="Music"><comment x="0" y="0" w="288.5714285714286" collapsed="false">This block reports a drum pattern, assigns a drum to it, and sets the duration value of each item in the pattern. Different drums can be selected from the drop-down menu. Beat durations can be selected from the drop-down menu or entered directly.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Snare Drum<options>Bass Drum&#xD;Snare Drum&#xD;Crash Cymbal&#xD;Cabasa&#xD;Toms={&#xD;High Tom&#xD;Mid Tom&#xD;}&#xD;Hi-Hats={&#xD;Closed Hi-hat&#xD;Open Hi-hat&#xD;}</options></input><input type="%l"></input><input type="%s">Eighth<options>Quarter&#xD;Eighth&#xD;Sixteenth</options></input></inputs><script><block s="doDeclareVariables"><list><l>notes and durations</l></list></block><block s="doSetVar"><l>notes and durations</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Drums</l><block var="Instrument"/></list></block></list></block></block><block s="doForEach"><l>item</l><block var="Pattern"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="item"/><block var="Beat"/></list></block><block var="notes and durations"/></block></script></block><block s="doReport"><block var="notes and durations"/></block></script></block-definition><block-definition s="%&apos;Major/Minor&apos; Chord: %&apos;Note&apos; Octave: %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="163.5714285714284" collapsed="false">Reports the notes comprising a major or minor chord, using the specified note and octave as the root note of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s">C</input><input type="%s">4</input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportAnd"><block s="reportListContainsItem"><custom-block s="Chromatic Notes"></custom-block><block var="Note"/></block><block s="reportIsA"><block var="Octave"/><l><option>number</option></l></block></block><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>3</l><l>5</l></list></block><custom-block s="%s Scale: %s Octave: %n"><block var="Major/Minor"/><block var="Note"/><block var="Octave"/></custom-block></block><l></l></block></block></script></block-definition><block-definition s="Chromatic Notes" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>24</l></list></block><block s="reportNewList"><list><l>C#</l><l>25</l></list></block><block s="reportNewList"><list><l>Db</l><l>26</l></list></block><block s="reportNewList"><list><l>D</l><l>26</l></list></block><block s="reportNewList"><list><l>D#</l><l>27</l></list></block><block s="reportNewList"><list><l>Eb</l><l>27</l></list></block><block s="reportNewList"><list><l>E</l><l>28</l></list></block><block s="reportNewList"><list><l>F</l><l>29</l></list></block><block s="reportNewList"><list><l>F#</l><l>30</l></list></block><block s="reportNewList"><list><l>Gb</l><l>30</l></list></block><block s="reportNewList"><list><l>G</l><l>31</l></list></block><block s="reportNewList"><list><l>G#</l><l>32</l></list></block><block s="reportNewList"><list><l>Ab</l><l>32</l></list></block><block s="reportNewList"><list><l>A</l><l>33</l></list></block><block s="reportNewList"><list><l>A#</l><l>34</l></list></block><block s="reportNewList"><list><l>Bb</l><l>34</l></list></block><block s="reportNewList"><list><l>B</l><l>35</l></list></block></list></block></block></block></block></script></block-definition><block-definition s="%&apos;Scale Type&apos; Scale: %&apos;Note&apos; Octave: %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="264.7690848214286" collapsed="false">Reports all notes in a specified scale using the provided note and octave number as the starting note of the scale.&#xD;&#xD;To add additional scales to the &quot;Types&quot; script variable, create a list with the name of the scale as the first item and the steps between each note of the scale as the second item.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Chromatic<options>Chromatic&#xD;Major&#xD;Minor</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doIfElse"><block s="reportAnd"><block s="reportListContainsItem"><custom-block s="Chromatic Notes"></custom-block><block var="Note"/></block><block s="reportIsA"><block var="Octave"/><l><option>number</option></l></block></block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>Types</l><l>MIDI Number</l><l>Scale</l><l>Pattern</l></list></block><block s="doSetVar"><l>Types</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Chromatic</l><block s="reportTextSplit"><l>11111111111</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Major</l><block s="reportTextSplit"><l>221222</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Minor</l><block s="reportTextSplit"><l>212212</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Diminished</l><block s="reportTextSplit"><l>2121212</l><l><option>letter</option></l></block></list></block></list></block></block><block s="doSetVar"><l>MIDI Number</l><custom-block s="Convert Note %s to MIDI"><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></custom-block></block><block s="doSetVar"><l>Scale</l><block s="reportNewList"><list><block var="MIDI Number"/></list></block></block><block s="doSetVar"><l>Pattern</l><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Scale Type"/><block var="Types"/></custom-block></block></block><block s="doForEach"><l>item</l><block var="Pattern"/><script><block s="doChangeVar"><l>MIDI Number</l><block var="item"/></block><block s="doAddToList"><block var="MIDI Number"/><block var="Scale"/></block></script></block></script></block><block s="doReport"><custom-block s="Convert MIDI %n to Note using %s"><block var="Scale"/><custom-block s="Check for Sharp/Flat %s"><block var="Note"/></custom-block></custom-block></block></script><script><block s="doReport"><l></l></block></script></block></script></block-definition><block-definition s="Convert Note %&apos;Note&apos; to MIDI" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="273.5714285714286" collapsed="false">Reports the midi number of the specified note. The note should be entered using scientific pitch notation (e.g., &quot;C4&quot;).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><custom-block s="MIDI %s Note"><custom-block s="Get Note %s"><block var="Note"/></custom-block></custom-block><block s="reportVariadicProduct"><list><l>12</l><block s="reportDifference"><custom-block s="Get Octave %s"><block var="Note"/></custom-block><l>1</l></block></list></block></list></block></block></script></block-definition><block-definition s="Get Note %&apos;Note + Octave&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Extracts the note name from the provided scientific pitch notation. (e.g., An input of &quot;C4&quot; produces an output of &quot;C&quot;.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportEquals"><block s="reportStringSize"><block var="Note + Octave"/></block><l>2</l></block><block s="reportLetter"><l>1</l><block var="Note + Octave"/></block><block s="reportJoinWords"><list><block s="reportLetter"><l>1</l><block var="Note + Octave"/></block><block s="reportLetter"><l>2</l><block var="Note + Octave"/></block></list></block></block></block></script></block-definition><block-definition s="MIDI %&apos;Note&apos; Note" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Association list for note names and their corresponding MIDI numbers in the first octave. Used to convert note names to MIDI. </comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Note"/><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>24</l></list></block><block s="reportNewList"><list><l>C#</l><l>25</l></list></block><block s="reportNewList"><list><l>Db</l><l>26</l></list></block><block s="reportNewList"><list><l>D</l><l>26</l></list></block><block s="reportNewList"><list><l>D#</l><l>27</l></list></block><block s="reportNewList"><list><l>Eb</l><l>27</l></list></block><block s="reportNewList"><list><l>E</l><l>28</l></list></block><block s="reportNewList"><list><l>E#</l><l>29</l></list></block><block s="reportNewList"><list><l>F</l><l>29</l></list></block><block s="reportNewList"><list><l>F#</l><l>30</l></list></block><block s="reportNewList"><list><l>Gb</l><l>30</l></list></block><block s="reportNewList"><list><l>G</l><l>31</l></list></block><block s="reportNewList"><list><l>G#</l><l>32</l></list></block><block s="reportNewList"><list><l>Ab</l><l>32</l></list></block><block s="reportNewList"><list><l>A</l><l>33</l></list></block><block s="reportNewList"><list><l>A#</l><l>34</l></list></block><block s="reportNewList"><list><l>Bb</l><l>34</l></list></block><block s="reportNewList"><list><l>B</l><l>35</l></list></block><block s="reportNewList"><list><l>B#</l><l>36</l></list></block></list></block></custom-block></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block var="key"/><block s="reportListItem"><l>1</l><l/></block></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="Get Octave %&apos;Note&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Extracts the octave number from the provided scientific pitch notation. (e.g., An input of &quot;C4&quot; produces an output of &quot;4&quot;.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="Note"/></block><l>2</l></block><script><block s="doReport"><block s="reportLetter"><l>2</l><block var="Note"/></block></block></script></block><block s="doReport"><block s="reportLetter"><l>3</l><block var="Note"/></block></block></script></block-definition><block-definition s="Check for Sharp/Flat %&apos;Note&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports &quot;#&quot; or &quot;b&quot; of the input scientific pitch notation contains either.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportGreaterThan"><block s="reportStringSize"><block var="Note"/></block><l>1</l></block><block s="reportLetter"><l><option>last</option></l><block var="Note"/></block><l></l></block></block></script></block-definition><block-definition s="Convert MIDI %&apos;#&apos; to Note using %&apos;Sharps/Flats&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="217.80831473214303" collapsed="false">Reports the corresponding note (in scientific pitch notation) for the specified MIDI number, matching the use of sharps and flats to the input scientific pitch notation.</comment><header></header><code></code><translations></translations><inputs><input type="%n">60<options>§_pianoKeyboardMenu</options></input><input type="%s" readonly="true">Sharps<options>Sharps&#xD;Flats</options></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="#"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Convert MIDI %n to Note using %s"><l></l><block var="Sharps/Flats"/></custom-block></autolambda><list></list></block><block var="#"/></block></block></script><script><block s="doDeclareVariables"><list><l>Octave</l><l>Note</l></list></block><block s="doSetVar"><l>Octave</l><block s="reportLetter"><l>1</l><block s="reportDifference"><block s="reportQuotient"><block var="#"/><l>12</l></block><l>1</l></block></block></block><block s="doSetVar"><l>Note</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="#"/><l>12</l></block><l>1</l></list></block><block s="reportIfElse"><block s="reportListContainsItem"><block s="reportNewList"><list><l>♭</l><l>b</l></list></block><block var="Sharps/Flats"/></block><block s="reportNewList"><list><l>C</l><l>Db</l><l>D</l><l>Eb</l><l>E</l><l>F</l><l>Gb</l><l>G</l><l>Ab</l><l>A</l><l>Bb</l><l>B</l></list></block><block s="reportNewList"><list><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l></list></block></block></block></block><block s="doReport"><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></block></script></block></script></block-definition><block-definition s="Play Tracks %&apos;tracks&apos; Time Signature: %&apos;timeSignature&apos;" type="command" category="Music"><comment x="0" y="0" w="198.57142857142858" collapsed="false">This block is used to play multiple music tracks. In most cases, several tracks with musical instruments are played in parallel. </comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input><input type="%s" readonly="true">4/4<options>4/4&#xD;3/4&#xD;5/4&#xD;7/4&#xD;6/8&#xD;9/8&#xD;12/8</options></input></inputs><script><block s="doApplyExtension"><l>ts_playtracks(tracklist, timesignature)</l><list><block var="tracks"/><block var="timeSignature"/><block s="getTempo"></block></list></block></script></block-definition><block-definition s="Initialize TuneScope" type="command" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/WebAudioFontPlayer.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/webmidi.iife.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0020_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0121_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0180_Chaos_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0230_Aspirin_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0241_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0260_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0320_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0350_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0400_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0420_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0460_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0560_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0580_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0600_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0650_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0680_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0700_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0710_Chaos_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0730_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0770_SBLive_sf2.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1040_Aspirin_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1050_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1070_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12835_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12840_6_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12842_0_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12846_0_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12847_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12848_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12849_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12869_6_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/TS_init.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/TuneScope.js</l></list></block><block s="doWaitUntil"><block s="reportApplyExtension"><l>ts_loaded()</l><list></list></block></block><block s="doSayFor"><l>TuneScope Initialized</l><l>2</l></block></script></block-definition><block-definition s="Play %&apos;Motif&apos; Motif" type="command" category="Sample Musical Motifs"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>item</l><block var="Motif"/><script></script></block></script></block-definition><block-definition s="Play" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="Motif Dex" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Dex Music Assignment 10"></custom-block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="120" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="5198"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="5199"></list></costumes><sounds><list struct="atomic" id="5200"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Code" idx="1" x="-197.39688979039852" y="32.08849718885915" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="5205"><costumes><list id="5206"><item><ref mediaID="Code_cst_Untitled"></ref></item></list></costumes><sounds><list struct="atomic" id="5207"></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="10"><custom-block s="Play MIDI Controller Named %s using Instrument %s"><l>MPK mini 3</l><l>Piano</l></custom-block></script><script x="267.1428571428572" y="135.14285714285714"><custom-block s="Record Notes"></custom-block></script><script x="265.42857142857144" y="94.2857142857143"><custom-block s="MIDI Keyboard Chords"></custom-block></script><script x="69.85714285714289" y="460.33333333333167"><block s="doReport"><l></l></block></script><script x="504.7142857142858" y="73.57142857142836"><block s="receiveGo"></block><custom-block s="Delete Clones"><comment w="90" collapsed="false">1. Click to Delete Clones</comment></custom-block><custom-block s="Make Clones"><comment w="90" collapsed="false">2. Click to Make Clones</comment></custom-block><custom-block s="Position Clones"><comment w="90" collapsed="false">3. Click to Position Clones</comment></custom-block><block s="fork"><block s="reifyScript"><script><custom-block s="Dot Piano"></custom-block></script><list></list></block><list></list></block><block s="fork"><block s="reifyScript"><script><custom-block s="Play %s Motif"><custom-block s="Motif Dex"></custom-block></custom-block></script><list></list></block><list></list></block></script></scripts></sprite><sprite name="Dot" idx="2" x="-198.43137254901922" y="32.08849718885915" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="5244"><costumes><list id="5245"><item><ref mediaID="Dot_cst_Dot"></ref></item></list></costumes><sounds><list struct="atomic" id="5246"></list></sounds><blocks></blocks><variables></variables><scripts></scripts></sprite><watcher var="Changed Note?" style="normal" x="0.19216020372186904" y="0.1921602037218051" color="243,118,29" hidden="true"/><watcher var="Current Note MIDI" style="normal" x="0.19216020372186904" y="0.9992331362173914" color="243,118,29" hidden="true"/><watcher var="currentInstrument" style="normal" x="0.19216020372186904" y="1.4027696024652094" color="243,118,29" hidden="true"/><watcher scope="Stage" s="getTempo" style="normal" x="-0.7745064629452827" y="-1.0936939312870244" color="207,74,217" hidden="true"/><watcher scope="Stage" s="getTimer" style="normal" x="10" y="165.00000400000002" color="4,148,220" hidden="true"/><watcher var="Time" style="normal" x="258" y="70.20000200000001" color="243,118,29" hidden="true"/><watcher var="Current Note" style="normal" x="119.52549353705444" y="105.29569666996957" color="243,118,29"/><watcher var="List of Notes" style="normal" x="30" y="329" color="243,118,29" extX="128.5615234375" extY="35"/><sprite name="60" idx="3" x="-150" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5258"><inherit exemplar="Dot"><list struct="atomic" id="5259">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="61" idx="4" x="-130" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5263"><inherit exemplar="Dot"><list struct="atomic" id="5264">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="62" idx="5" x="-110" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5268"><inherit exemplar="Dot"><list struct="atomic" id="5269">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="63" idx="6" x="-90" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5273"><inherit exemplar="Dot"><list struct="atomic" id="5274">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="64" idx="7" x="-70" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5278"><inherit exemplar="Dot"><list struct="atomic" id="5279">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="65" idx="8" x="-50" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5283"><inherit exemplar="Dot"><list struct="atomic" id="5284">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="66" idx="9" x="-30" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5288"><inherit exemplar="Dot"><list struct="atomic" id="5289">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="67" idx="10" x="-10" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5293"><inherit exemplar="Dot"><list struct="atomic" id="5294">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="68" idx="11" x="10" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5298"><inherit exemplar="Dot"><list struct="atomic" id="5299">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="69" idx="12" x="30" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5303"><inherit exemplar="Dot"><list struct="atomic" id="5304">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="70" idx="13" x="50" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5308"><inherit exemplar="Dot"><list struct="atomic" id="5309">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="71" idx="14" x="70" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5313"><inherit exemplar="Dot"><list struct="atomic" id="5314">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite><sprite name="72" idx="15" x="90" y="0" heading="90" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="5318"><inherit exemplar="Dot"><list struct="atomic" id="5319">scripts,costumes,sounds</list></inherit><blocks></blocks><variables></variables><dispatches></dispatches></sprite></sprites></stage><variables><variable name="Changed Note?"><bool>false</bool></variable><variable name="Current Note"><l>E4</l></variable><variable name="Current Note MIDI"><l>64</l></variable><variable name="currentInstrument"><l>piano</l></variable><variable name="List of Notes"><list id="5324"><item><list struct="atomic" id="5325">Notes,Durations</list></item></list></variable><variable name="Time"><l>1667233744438</l></variable></variables></scene></scenes></project><media name="Dexter Assignment week 10 " app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Untitled" center-x="13" center-y="13" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IArs4c6QAAAetJREFUSEu11k1oE0EUwPH/S0h78VCE2sNuPElUBE8KtldLD4KejFAFFaUeFURrNiBGCtlYRdCjxU9Qwd4sFRS9WkFPgqjFk90cVCi91tA8Gdclydakse7sbXfee78ZdngzQjfPwLlN9GT2AFtANoYpugh84WftDd+ufV+rjHQMcIqHQMcQhjvGKS9BpqiWn7SL+zvkFneCXgf2rjXT2PgrkLME5ffxvNWQU8gjPATJ/CPyJ1xrKEeoVqab81uhbGEUlUfrA2JZoodZqDyOvjYgxxtEeJ0IEhVRhqj6c+a1AbneW2BXohC8I/B3NyDXOw3cSBiJyp0h8G+GK3K9j8A2S9AnAn+7YOPfxGesDAmuNw5csbSaqOwFwSneRfS4VUjlnlnRLLDPKgTPDPQcGLEMvTCQaYR5y9C0gcxGMBvC5jNptvdBhJYGmLio5IX+0gZ6l5eAdOJAWHCF5d6+qDPcAsYsQVME/qkQcrwcwmcrkLKVqj/f1L0L50Emk8V0nKBytfWY+N1ci7dBTySDyR2C8smo1uqjPFu4j8rR/8JEH7BQOdZco93lpAR6aX2YXCYol+K57a9b5vhIqYfK/q5A0Rnq4kdHd/dQFLn54g5WagdIpQZRcqD94ZD8QJinXp8jnXnK14kPnSb0C1zdgaVZDO0mAAAAAElFTkSuQmCC" mediaID="Code_cst_Untitled"/><costume name="Dot" center-x="13" center-y="13" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IArs4c6QAAAetJREFUSEu11k1oE0EUwPH/S0h78VCE2sNuPElUBE8KtldLD4KejFAFFaUeFURrNiBGCtlYRdCjxU9Qwd4sFRS9WkFPgqjFk90cVCi91tA8Gdclydakse7sbXfee78ZdngzQjfPwLlN9GT2AFtANoYpugh84WftDd+ufV+rjHQMcIqHQMcQhjvGKS9BpqiWn7SL+zvkFneCXgf2rjXT2PgrkLME5ffxvNWQU8gjPATJ/CPyJ1xrKEeoVqab81uhbGEUlUfrA2JZoodZqDyOvjYgxxtEeJ0IEhVRhqj6c+a1AbneW2BXohC8I/B3NyDXOw3cSBiJyp0h8G+GK3K9j8A2S9AnAn+7YOPfxGesDAmuNw5csbSaqOwFwSneRfS4VUjlnlnRLLDPKgTPDPQcGLEMvTCQaYR5y9C0gcxGMBvC5jNptvdBhJYGmLio5IX+0gZ6l5eAdOJAWHCF5d6+qDPcAsYsQVME/qkQcrwcwmcrkLKVqj/f1L0L50Emk8V0nKBytfWY+N1ci7dBTySDyR2C8smo1uqjPFu4j8rR/8JEH7BQOdZco93lpAR6aX2YXCYol+K57a9b5vhIqYfK/q5A0Rnq4kdHd/dQFLn54g5WagdIpQZRcqD94ZD8QJinXp8jnXnK14kPnSb0C1zdgaVZDO0mAAAAAElFTkSuQmCC" mediaID="Dot_cst_Dot"/></media></snapdata>