PageRenderTime 69ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/apidocs/echonest.support.midi.constants-pysrc.html

http://echo-nest-remix.googlecode.com/
HTML | 325 lines | 294 code | 10 blank | 21 comment | 0 complexity | c147cb07fa8da9d910bfa0274a317352 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?xml version="1.0" encoding="ascii"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  5. <head>
  6. <title>echonest.support.midi.constants</title>
  7. <link rel="stylesheet" href="epydoc.css" type="text/css" />
  8. <script type="text/javascript" src="epydoc.js"></script>
  9. </head>
  10. <body bgcolor="white" text="black" link="blue" vlink="#204080"
  11. alink="#204080">
  12. <!-- ==================== NAVIGATION BAR ==================== -->
  13. <table class="navbar" border="0" width="100%" cellpadding="0"
  14. bgcolor="#a0c0ff" cellspacing="0">
  15. <tr valign="middle">
  16. <!-- Tree link -->
  17. <th>&nbsp;&nbsp;&nbsp;<a
  18. href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
  19. <!-- Index link -->
  20. <th>&nbsp;&nbsp;&nbsp;<a
  21. href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
  22. <!-- Help link -->
  23. <th>&nbsp;&nbsp;&nbsp;<a
  24. href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
  25. <!-- Project homepage -->
  26. <th class="navbar" align="right" width="100%">
  27. <table border="0" cellpadding="0" cellspacing="0">
  28. <tr><th class="navbar" align="center"
  29. ><a class="navbar" target="_top" href="http://code.google.com/p/echo-nest-remix/">Project Homepage</a></th>
  30. </tr></table></th>
  31. </tr>
  32. </table>
  33. <table width="100%" cellpadding="0" cellspacing="0">
  34. <tr valign="top">
  35. <td width="100%">
  36. <span class="breadcrumbs">
  37. <a href="echonest-module.html">Package&nbsp;echonest</a> ::
  38. <a href="echonest.support-module.html">Package&nbsp;support</a> ::
  39. <a href="echonest.support.midi-module.html">Package&nbsp;midi</a> ::
  40. Module&nbsp;constants
  41. </span>
  42. </td>
  43. <td>
  44. <table cellpadding="0" cellspacing="0">
  45. <!-- hide/show private -->
  46. <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
  47. onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
  48. <tr><td align="right"><span class="options"
  49. >[<a href="frames.html" target="_top">frames</a
  50. >]&nbsp;|&nbsp;<a href="echonest.support.midi.constants-pysrc.html"
  51. target="_top">no&nbsp;frames</a>]</span></td></tr>
  52. </table>
  53. </td>
  54. </tr>
  55. </table>
  56. <h1 class="epydoc">Source Code for <a href="echonest.support.midi.constants-module.html">Module echonest.support.midi.constants</a></h1>
  57. <pre class="py-src">
  58. <a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: ISO-8859-1 -*-</tt> </tt>
  59. <a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
  60. <a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  61. <a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">## Definitions of the different midi events</tt> </tt>
  62. <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> </tt>
  63. <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
  64. <a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> </tt>
  65. <a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  66. <a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment">## Midi channel events (The most usual events)</tt> </tt>
  67. <a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment">## also called "Channel Voice Messages"</tt> </tt>
  68. <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> </tt>
  69. <a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable echonest.support.midi.constants.NOTE_OFF=echonest.support.midi.constants-module.html#NOTE_OFF"><a title="echonest.support.midi.constants.NOTE_OFF" class="py-name" href="#" onclick="return doclink('link-0', 'NOTE_OFF', 'link-0');">NOTE_OFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x80</tt> </tt>
  70. <a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># 1000cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity)</tt> </tt>
  71. <a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> </tt>
  72. <a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable echonest.support.midi.constants.NOTE_ON=echonest.support.midi.constants-module.html#NOTE_ON"><a title="echonest.support.midi.constants.NOTE_ON" class="py-name" href="#" onclick="return doclink('link-1', 'NOTE_ON', 'link-1');">NOTE_ON</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x90</tt> </tt>
  73. <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># 1001cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity)</tt> </tt>
  74. <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> </tt>
  75. <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable echonest.support.midi.constants.AFTERTOUCH=echonest.support.midi.constants-module.html#AFTERTOUCH"><a title="echonest.support.midi.constants.AFTERTOUCH" class="py-name" href="#" onclick="return doclink('link-2', 'AFTERTOUCH', 'link-2');">AFTERTOUCH</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xA0</tt> </tt>
  76. <a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"># 1010cccc 0nnnnnnn 0vvvvvvv (channel, note, velocity)</tt> </tt>
  77. <a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> </tt>
  78. <a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable echonest.support.midi.constants.CONTINUOUS_CONTROLLER=echonest.support.midi.constants-module.html#CONTINUOUS_CONTROLLER"><a title="echonest.support.midi.constants.CONTINUOUS_CONTROLLER" class="py-name" href="#" onclick="return doclink('link-3', 'CONTINUOUS_CONTROLLER', 'link-3');">CONTINUOUS_CONTROLLER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xB0</tt> <tt class="py-comment"># see Channel Mode Messages!!!</tt> </tt>
  79. <a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-comment"># 1011cccc 0ccccccc 0vvvvvvv (channel, controller, value)</tt> </tt>
  80. <a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
  81. <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable echonest.support.midi.constants.PATCH_CHANGE=echonest.support.midi.constants-module.html#PATCH_CHANGE"><a title="echonest.support.midi.constants.PATCH_CHANGE" class="py-name" href="#" onclick="return doclink('link-4', 'PATCH_CHANGE', 'link-4');">PATCH_CHANGE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xC0</tt> </tt>
  82. <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-comment"># 1100cccc 0ppppppp (channel, program)</tt> </tt>
  83. <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
  84. <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable echonest.support.midi.constants.CHANNEL_PRESSURE=echonest.support.midi.constants-module.html#CHANNEL_PRESSURE"><a title="echonest.support.midi.constants.CHANNEL_PRESSURE" class="py-name" href="#" onclick="return doclink('link-5', 'CHANNEL_PRESSURE', 'link-5');">CHANNEL_PRESSURE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xD0</tt> </tt>
  85. <a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-comment"># 1101cccc 0ppppppp (channel, pressure)</tt> </tt>
  86. <a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
  87. <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable echonest.support.midi.constants.PITCH_BEND=echonest.support.midi.constants-module.html#PITCH_BEND"><a title="echonest.support.midi.constants.PITCH_BEND" class="py-name" href="#" onclick="return doclink('link-6', 'PITCH_BEND', 'link-6');">PITCH_BEND</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xE0</tt> </tt>
  88. <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-comment"># 1110cccc 0vvvvvvv 0wwwwwww (channel, value-lo, value-hi)</tt> </tt>
  89. <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
  90. <a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
  91. <a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  92. <a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-comment">## Channel Mode Messages (Continuous Controller)</tt> </tt>
  93. <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-comment">## They share a status byte.</tt> </tt>
  94. <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-comment">## The controller makes the difference here</tt> </tt>
  95. <a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
  96. <a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-comment"># High resolution continuous controllers (MSB)</tt> </tt>
  97. <a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
  98. <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable echonest.support.midi.constants.BANK_SELECT=echonest.support.midi.constants-module.html#BANK_SELECT"><a title="echonest.support.midi.constants.BANK_SELECT" class="py-name" href="#" onclick="return doclink('link-7', 'BANK_SELECT', 'link-7');">BANK_SELECT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x00</tt> </tt>
  99. <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable echonest.support.midi.constants.MODULATION_WHEEL=echonest.support.midi.constants-module.html#MODULATION_WHEEL"><a title="echonest.support.midi.constants.MODULATION_WHEEL" class="py-name" href="#" onclick="return doclink('link-8', 'MODULATION_WHEEL', 'link-8');">MODULATION_WHEEL</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x01</tt> </tt>
  100. <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable echonest.support.midi.constants.BREATH_CONTROLLER=echonest.support.midi.constants-module.html#BREATH_CONTROLLER"><a title="echonest.support.midi.constants.BREATH_CONTROLLER" class="py-name" href="#" onclick="return doclink('link-9', 'BREATH_CONTROLLER', 'link-9');">BREATH_CONTROLLER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x02</tt> </tt>
  101. <a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable echonest.support.midi.constants.FOOT_CONTROLLER=echonest.support.midi.constants-module.html#FOOT_CONTROLLER"><a title="echonest.support.midi.constants.FOOT_CONTROLLER" class="py-name" href="#" onclick="return doclink('link-10', 'FOOT_CONTROLLER', 'link-10');">FOOT_CONTROLLER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x04</tt> </tt>
  102. <a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable echonest.support.midi.constants.PORTAMENTO_TIME=echonest.support.midi.constants-module.html#PORTAMENTO_TIME"><a title="echonest.support.midi.constants.PORTAMENTO_TIME" class="py-name" href="#" onclick="return doclink('link-11', 'PORTAMENTO_TIME', 'link-11');">PORTAMENTO_TIME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x05</tt> </tt>
  103. <a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable echonest.support.midi.constants.DATA_ENTRY=echonest.support.midi.constants-module.html#DATA_ENTRY"><a title="echonest.support.midi.constants.DATA_ENTRY" class="py-name" href="#" onclick="return doclink('link-12', 'DATA_ENTRY', 'link-12');">DATA_ENTRY</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x06</tt> </tt>
  104. <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable echonest.support.midi.constants.CHANNEL_VOLUME=echonest.support.midi.constants-module.html#CHANNEL_VOLUME"><a title="echonest.support.midi.constants.CHANNEL_VOLUME" class="py-name" href="#" onclick="return doclink('link-13', 'CHANNEL_VOLUME', 'link-13');">CHANNEL_VOLUME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x07</tt> </tt>
  105. <a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt id="link-14" class="py-name" targets="Variable echonest.support.midi.constants.BALANCE=echonest.support.midi.constants-module.html#BALANCE"><a title="echonest.support.midi.constants.BALANCE" class="py-name" href="#" onclick="return doclink('link-14', 'BALANCE', 'link-14');">BALANCE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x08</tt> </tt>
  106. <a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt id="link-15" class="py-name" targets="Variable echonest.support.midi.constants.PAN=echonest.support.midi.constants-module.html#PAN"><a title="echonest.support.midi.constants.PAN" class="py-name" href="#" onclick="return doclink('link-15', 'PAN', 'link-15');">PAN</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x0A</tt> </tt>
  107. <a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt id="link-16" class="py-name" targets="Variable echonest.support.midi.constants.EXPRESSION_CONTROLLER=echonest.support.midi.constants-module.html#EXPRESSION_CONTROLLER"><a title="echonest.support.midi.constants.EXPRESSION_CONTROLLER" class="py-name" href="#" onclick="return doclink('link-16', 'EXPRESSION_CONTROLLER', 'link-16');">EXPRESSION_CONTROLLER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x0B</tt> </tt>
  108. <a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt id="link-17" class="py-name" targets="Variable echonest.support.midi.constants.EFFECT_CONTROL_1=echonest.support.midi.constants-module.html#EFFECT_CONTROL_1"><a title="echonest.support.midi.constants.EFFECT_CONTROL_1" class="py-name" href="#" onclick="return doclink('link-17', 'EFFECT_CONTROL_1', 'link-17');">EFFECT_CONTROL_1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x0C</tt> </tt>
  109. <a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt id="link-18" class="py-name" targets="Variable echonest.support.midi.constants.EFFECT_CONTROL_2=echonest.support.midi.constants-module.html#EFFECT_CONTROL_2"><a title="echonest.support.midi.constants.EFFECT_CONTROL_2" class="py-name" href="#" onclick="return doclink('link-18', 'EFFECT_CONTROL_2', 'link-18');">EFFECT_CONTROL_2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x0D</tt> </tt>
  110. <a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_1=echonest.support.midi.constants-module.html#GEN_PURPOSE_CONTROLLER_1"><a title="echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_1" class="py-name" href="#" onclick="return doclink('link-19', 'GEN_PURPOSE_CONTROLLER_1', 'link-19');">GEN_PURPOSE_CONTROLLER_1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x10</tt> </tt>
  111. <a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt id="link-20" class="py-name" targets="Variable echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_2=echonest.support.midi.constants-module.html#GEN_PURPOSE_CONTROLLER_2"><a title="echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_2" class="py-name" href="#" onclick="return doclink('link-20', 'GEN_PURPOSE_CONTROLLER_2', 'link-20');">GEN_PURPOSE_CONTROLLER_2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x11</tt> </tt>
  112. <a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt id="link-21" class="py-name" targets="Variable echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_3=echonest.support.midi.constants-module.html#GEN_PURPOSE_CONTROLLER_3"><a title="echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_3" class="py-name" href="#" onclick="return doclink('link-21', 'GEN_PURPOSE_CONTROLLER_3', 'link-21');">GEN_PURPOSE_CONTROLLER_3</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x12</tt> </tt>
  113. <a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt id="link-22" class="py-name" targets="Variable echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_4=echonest.support.midi.constants-module.html#GEN_PURPOSE_CONTROLLER_4"><a title="echonest.support.midi.constants.GEN_PURPOSE_CONTROLLER_4" class="py-name" href="#" onclick="return doclink('link-22', 'GEN_PURPOSE_CONTROLLER_4', 'link-22');">GEN_PURPOSE_CONTROLLER_4</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x13</tt> </tt>
  114. <a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
  115. <a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-comment"># High resolution continuous controllers (LSB)</tt> </tt>
  116. <a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
  117. <a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt id="link-23" class="py-name"><a title="echonest.support.midi.constants.BANK_SELECT" class="py-name" href="#" onclick="return doclink('link-23', 'BANK_SELECT', 'link-7');">BANK_SELECT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x20</tt> </tt>
  118. <a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt id="link-24" class="py-name"><a title="echonest.support.midi.constants.MODULATION_WHEEL" class="py-name" href="#" onclick="return doclink('link-24', 'MODULATION_WHEEL', 'link-8');">MODULATION_WHEEL</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x21</tt> </tt>
  119. <a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt id="link-25" class="py-name"><a title="echonest.support.midi.constants.BREATH_CONTROLLER" class="py-name" href="#" onclick="return doclink('link-25', 'BREATH_CONTROLLER', 'link-9');">BREATH_CONTROLLER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x22</tt> </tt>
  120. <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt id="link-26" class="py-name"><a title="echonest.support.midi.constants.FOOT_CONTROLLER" class="py-name" href="#" onclick="return doclink('link-26', 'FOOT_CONTROLLER', 'link-10');">FOOT_CONTROLLER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x24</tt> </tt>
  121. <a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt id="link-27" class="py-name"><a title="echonest.support.midi.constants.PORTAMENTO_TIME" class="py-name" href="#" onclick="return doclink('link-27', 'PORTAMENTO_TIME', 'link-11');">PORTAMENTO_TIME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x25</tt> </tt>
  122. <a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt id="link-28" class="py-name"><a title="echonest.support.midi.constants.DATA_ENTRY" class="py-name" href="#" onclick="return doclink('link-28', 'DATA_ENTRY', 'link-12');">DATA_ENTRY</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x26</tt> </tt>
  123. <a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt id="link-29" class="py-name"><a title="echonest.support.midi.constants.CHANNEL_VOLUME" class="py-name" href="#" onclick="return doclink('link-29', 'CHANNEL_VOLUME', 'link-13');">CHANNEL_VOLUME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x27</tt> </tt>
  124. <a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt id="link-30" class="py-name"><a title="echonest.support.midi.constants.BALANCE" class="py-name" href="#" onclick="return doclink('link-30', 'BALANCE', 'link-14');">BALANCE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x28</tt> </tt>
  125. <a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt id="link-31" class="py-name"><a title="echonest.support.midi.constants.PAN" class="py-name" href="#" onclick="return doclink('link-31', 'PAN', 'link-15');">PAN</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x2A</tt> </tt>
  126. <a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt id="link-32" class="py-name"><a title="echonest.support.midi.constants.EXPRESSION_CONTROLLER" class="py-name" href="#" onclick="return doclink('link-32', 'EXPRESSION_CONTROLLER', 'link-16');">EXPRESSION_CONTROLLER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x2B</tt> </tt>
  127. <a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt id="link-33" class="py-name"><a title="echonest.support.midi.constants.EFFECT_CONTROL_1" class="py-name" href="#" onclick="return doclink('link-33', 'EFFECT_CONTROL_1', 'link-17');">EFFECT_CONTROL_1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x2C</tt> </tt>
  128. <a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt id="link-34" class="py-name"><a title="echonest.support.midi.constants.EFFECT_CONTROL_2" class="py-name" href="#" onclick="return doclink('link-34', 'EFFECT_CONTROL_2', 'link-18');">EFFECT_CONTROL_2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x2D</tt> </tt>
  129. <a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt id="link-35" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_1=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_1"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_1" class="py-name" href="#" onclick="return doclink('link-35', 'GENERAL_PURPOSE_CONTROLLER_1', 'link-35');">GENERAL_PURPOSE_CONTROLLER_1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x30</tt> </tt>
  130. <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt id="link-36" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_2=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_2"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_2" class="py-name" href="#" onclick="return doclink('link-36', 'GENERAL_PURPOSE_CONTROLLER_2', 'link-36');">GENERAL_PURPOSE_CONTROLLER_2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x31</tt> </tt>
  131. <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt id="link-37" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_3=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_3"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_3" class="py-name" href="#" onclick="return doclink('link-37', 'GENERAL_PURPOSE_CONTROLLER_3', 'link-37');">GENERAL_PURPOSE_CONTROLLER_3</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x32</tt> </tt>
  132. <a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt id="link-38" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_4=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_4"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_4" class="py-name" href="#" onclick="return doclink('link-38', 'GENERAL_PURPOSE_CONTROLLER_4', 'link-38');">GENERAL_PURPOSE_CONTROLLER_4</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x33</tt> </tt>
  133. <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
  134. <a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-comment"># Switches</tt> </tt>
  135. <a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> </tt>
  136. <a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt id="link-39" class="py-name" targets="Variable echonest.support.midi.constants.SUSTAIN_ONOFF=echonest.support.midi.constants-module.html#SUSTAIN_ONOFF"><a title="echonest.support.midi.constants.SUSTAIN_ONOFF" class="py-name" href="#" onclick="return doclink('link-39', 'SUSTAIN_ONOFF', 'link-39');">SUSTAIN_ONOFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x40</tt> </tt>
  137. <a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt id="link-40" class="py-name" targets="Variable echonest.support.midi.constants.PORTAMENTO_ONOFF=echonest.support.midi.constants-module.html#PORTAMENTO_ONOFF"><a title="echonest.support.midi.constants.PORTAMENTO_ONOFF" class="py-name" href="#" onclick="return doclink('link-40', 'PORTAMENTO_ONOFF', 'link-40');">PORTAMENTO_ONOFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x41</tt> </tt>
  138. <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt id="link-41" class="py-name" targets="Variable echonest.support.midi.constants.SOSTENUTO_ONOFF=echonest.support.midi.constants-module.html#SOSTENUTO_ONOFF"><a title="echonest.support.midi.constants.SOSTENUTO_ONOFF" class="py-name" href="#" onclick="return doclink('link-41', 'SOSTENUTO_ONOFF', 'link-41');">SOSTENUTO_ONOFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x42</tt> </tt>
  139. <a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable echonest.support.midi.constants.SOFT_PEDAL_ONOFF=echonest.support.midi.constants-module.html#SOFT_PEDAL_ONOFF"><a title="echonest.support.midi.constants.SOFT_PEDAL_ONOFF" class="py-name" href="#" onclick="return doclink('link-42', 'SOFT_PEDAL_ONOFF', 'link-42');">SOFT_PEDAL_ONOFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x43</tt> </tt>
  140. <a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt id="link-43" class="py-name" targets="Variable echonest.support.midi.constants.LEGATO_ONOFF=echonest.support.midi.constants-module.html#LEGATO_ONOFF"><a title="echonest.support.midi.constants.LEGATO_ONOFF" class="py-name" href="#" onclick="return doclink('link-43', 'LEGATO_ONOFF', 'link-43');">LEGATO_ONOFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x44</tt> </tt>
  141. <a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt id="link-44" class="py-name" targets="Variable echonest.support.midi.constants.HOLD_2_ONOFF=echonest.support.midi.constants-module.html#HOLD_2_ONOFF"><a title="echonest.support.midi.constants.HOLD_2_ONOFF" class="py-name" href="#" onclick="return doclink('link-44', 'HOLD_2_ONOFF', 'link-44');">HOLD_2_ONOFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x45</tt> </tt>
  142. <a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
  143. <a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-comment"># Low resolution continuous controllers</tt> </tt>
  144. <a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
  145. <a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt id="link-45" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_1=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_1"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_1" class="py-name" href="#" onclick="return doclink('link-45', 'SOUND_CONTROLLER_1', 'link-45');">SOUND_CONTROLLER_1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x46</tt> <tt class="py-comment"># (TG: Sound Variation; FX: Exciter On/Off)</tt> </tt>
  146. <a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt id="link-46" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_2=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_2"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_2" class="py-name" href="#" onclick="return doclink('link-46', 'SOUND_CONTROLLER_2', 'link-46');">SOUND_CONTROLLER_2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x47</tt> <tt class="py-comment"># (TG: Harmonic Content; FX: Compressor On/Off)</tt> </tt>
  147. <a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt id="link-47" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_3=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_3"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_3" class="py-name" href="#" onclick="return doclink('link-47', 'SOUND_CONTROLLER_3', 'link-47');">SOUND_CONTROLLER_3</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x48</tt> <tt class="py-comment"># (TG: Release Time; FX: Distortion On/Off)</tt> </tt>
  148. <a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt id="link-48" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_4=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_4"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_4" class="py-name" href="#" onclick="return doclink('link-48', 'SOUND_CONTROLLER_4', 'link-48');">SOUND_CONTROLLER_4</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x49</tt> <tt class="py-comment"># (TG: Attack Time; FX: EQ On/Off)</tt> </tt>
  149. <a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_5=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_5"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_5" class="py-name" href="#" onclick="return doclink('link-49', 'SOUND_CONTROLLER_5', 'link-49');">SOUND_CONTROLLER_5</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x4A</tt> <tt class="py-comment"># (TG: Brightness; FX: Expander On/Off)75 SOUND_CONTROLLER_6 (TG: Undefined; FX: Reverb OnOff)</tt> </tt>
  150. <a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt id="link-50" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_7=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_7"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_7" class="py-name" href="#" onclick="return doclink('link-50', 'SOUND_CONTROLLER_7', 'link-50');">SOUND_CONTROLLER_7</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x4C</tt> <tt class="py-comment"># (TG: Undefined; FX: Delay OnOff)</tt> </tt>
  151. <a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt id="link-51" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_8=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_8"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_8" class="py-name" href="#" onclick="return doclink('link-51', 'SOUND_CONTROLLER_8', 'link-51');">SOUND_CONTROLLER_8</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x4D</tt> <tt class="py-comment"># (TG: Undefined; FX: Pitch Transpose OnOff)</tt> </tt>
  152. <a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt id="link-52" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_9=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_9"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_9" class="py-name" href="#" onclick="return doclink('link-52', 'SOUND_CONTROLLER_9', 'link-52');">SOUND_CONTROLLER_9</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x4E</tt> <tt class="py-comment"># (TG: Undefined; FX: Flange/Chorus OnOff)</tt> </tt>
  153. <a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt id="link-53" class="py-name" targets="Variable echonest.support.midi.constants.SOUND_CONTROLLER_10=echonest.support.midi.constants-module.html#SOUND_CONTROLLER_10"><a title="echonest.support.midi.constants.SOUND_CONTROLLER_10" class="py-name" href="#" onclick="return doclink('link-53', 'SOUND_CONTROLLER_10', 'link-53');">SOUND_CONTROLLER_10</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x4F</tt> <tt class="py-comment"># (TG: Undefined; FX: Special Effects OnOff)</tt> </tt>
  154. <a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt id="link-54" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_5=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_5"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_5" class="py-name" href="#" onclick="return doclink('link-54', 'GENERAL_PURPOSE_CONTROLLER_5', 'link-54');">GENERAL_PURPOSE_CONTROLLER_5</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x50</tt> </tt>
  155. <a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt id="link-55" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_6=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_6"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_6" class="py-name" href="#" onclick="return doclink('link-55', 'GENERAL_PURPOSE_CONTROLLER_6', 'link-55');">GENERAL_PURPOSE_CONTROLLER_6</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x51</tt> </tt>
  156. <a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt id="link-56" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_7=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_7"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_7" class="py-name" href="#" onclick="return doclink('link-56', 'GENERAL_PURPOSE_CONTROLLER_7', 'link-56');">GENERAL_PURPOSE_CONTROLLER_7</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x52</tt> </tt>
  157. <a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt id="link-57" class="py-name" targets="Variable echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_8=echonest.support.midi.constants-module.html#GENERAL_PURPOSE_CONTROLLER_8"><a title="echonest.support.midi.constants.GENERAL_PURPOSE_CONTROLLER_8" class="py-name" href="#" onclick="return doclink('link-57', 'GENERAL_PURPOSE_CONTROLLER_8', 'link-57');">GENERAL_PURPOSE_CONTROLLER_8</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x53</tt> </tt>
  158. <a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt id="link-58" class="py-name" targets="Variable echonest.support.midi.constants.PORTAMENTO_CONTROL=echonest.support.midi.constants-module.html#PORTAMENTO_CONTROL"><a title="echonest.support.midi.constants.PORTAMENTO_CONTROL" class="py-name" href="#" onclick="return doclink('link-58', 'PORTAMENTO_CONTROL', 'link-58');">PORTAMENTO_CONTROL</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x54</tt> <tt class="py-comment"># (PTC) (0vvvvvvv is the source Note number) (Detail)</tt> </tt>
  159. <a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt id="link-59" class="py-name" targets="Variable echonest.support.midi.constants.EFFECTS_1=echonest.support.midi.constants-module.html#EFFECTS_1"><a title="echonest.support.midi.constants.EFFECTS_1" class="py-name" href="#" onclick="return doclink('link-59', 'EFFECTS_1', 'link-59');">EFFECTS_1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x5B</tt> <tt class="py-comment"># (Ext. Effects Depth)</tt> </tt>
  160. <a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt id="link-60" class="py-name" targets="Variable echonest.support.midi.constants.EFFECTS_2=echonest.support.midi.constants-module.html#EFFECTS_2"><a title="echonest.support.midi.constants.EFFECTS_2" class="py-name" href="#" onclick="return doclink('link-60', 'EFFECTS_2', 'link-60');">EFFECTS_2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x5C</tt> <tt class="py-comment"># (Tremelo Depth)</tt> </tt>
  161. <a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt id="link-61" class="py-name" targets="Variable echonest.support.midi.constants.EFFECTS_3=echonest.support.midi.constants-module.html#EFFECTS_3"><a title="echonest.support.midi.constants.EFFECTS_3" class="py-name" href="#" onclick="return doclink('link-61', 'EFFECTS_3', 'link-61');">EFFECTS_3</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x5D</tt> <tt class="py-comment"># (Chorus Depth)</tt> </tt>
  162. <a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt id="link-62" class="py-name" targets="Variable echonest.support.midi.constants.EFFECTS_4=echonest.support.midi.constants-module.html#EFFECTS_4"><a title="echonest.support.midi.constants.EFFECTS_4" class="py-name" href="#" onclick="return doclink('link-62', 'EFFECTS_4', 'link-62');">EFFECTS_4</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x5E</tt> <tt class="py-comment"># (Celeste Depth)</tt> </tt>
  163. <a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt id="link-63" class="py-name" targets="Variable echonest.support.midi.constants.EFFECTS_5=echonest.support.midi.constants-module.html#EFFECTS_5"><a title="echonest.support.midi.constants.EFFECTS_5" class="py-name" href="#" onclick="return doclink('link-63', 'EFFECTS_5', 'link-63');">EFFECTS_5</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x5F</tt> <tt class="py-comment"># (Phaser Depth)</tt> </tt>
  164. <a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt id="link-64" class="py-name" targets="Variable echonest.support.midi.constants.DATA_INCREMENT=echonest.support.midi.constants-module.html#DATA_INCREMENT"><a title="echonest.support.midi.constants.DATA_INCREMENT" class="py-name" href="#" onclick="return doclink('link-64', 'DATA_INCREMENT', 'link-64');">DATA_INCREMENT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x60</tt> <tt class="py-comment"># (0vvvvvvv is n/a; use 0)</tt> </tt>
  165. <a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt id="link-65" class="py-name" targets="Variable echonest.support.midi.constants.DATA_DECREMENT=echonest.support.midi.constants-module.html#DATA_DECREMENT"><a title="echonest.support.midi.constants.DATA_DECREMENT" class="py-name" href="#" onclick="return doclink('link-65', 'DATA_DECREMENT', 'link-65');">DATA_DECREMENT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x61</tt> <tt class="py-comment"># (0vvvvvvv is n/a; use 0)</tt> </tt>
  166. <a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt id="link-66" class="py-name" targets="Variable echonest.support.midi.constants.NON_REGISTERED_PARAMETER_NUMBER=echonest.support.midi.constants-module.html#NON_REGISTERED_PARAMETER_NUMBER"><a title="echonest.support.midi.constants.NON_REGISTERED_PARAMETER_NUMBER" class="py-name" href="#" onclick="return doclink('link-66', 'NON_REGISTERED_PARAMETER_NUMBER', 'link-66');">NON_REGISTERED_PARAMETER_NUMBER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x62</tt> <tt class="py-comment"># (LSB)</tt> </tt>
  167. <a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt id="link-67" class="py-name"><a title="echonest.support.midi.constants.NON_REGISTERED_PARAMETER_NUMBER" class="py-name" href="#" onclick="return doclink('link-67', 'NON_REGISTERED_PARAMETER_NUMBER', 'link-66');">NON_REGISTERED_PARAMETER_NUMBER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x63</tt> <tt class="py-comment"># (MSB)</tt> </tt>
  168. <a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt id="link-68" class="py-name" targets="Variable echonest.support.midi.constants.REGISTERED_PARAMETER_NUMBER=echonest.support.midi.constants-module.html#REGISTERED_PARAMETER_NUMBER"><a title="echonest.support.midi.constants.REGISTERED_PARAMETER_NUMBER" class="py-name" href="#" onclick="return doclink('link-68', 'REGISTERED_PARAMETER_NUMBER', 'link-68');">REGISTERED_PARAMETER_NUMBER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x64</tt> <tt class="py-comment"># (LSB)</tt> </tt>
  169. <a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt id="link-69" class="py-name"><a title="echonest.support.midi.constants.REGISTERED_PARAMETER_NUMBER" class="py-name" href="#" onclick="return doclink('link-69', 'REGISTERED_PARAMETER_NUMBER', 'link-68');">REGISTERED_PARAMETER_NUMBER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x65</tt> <tt class="py-comment"># (MSB)</tt> </tt>
  170. <a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
  171. <a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-comment"># Channel Mode messages - (Detail)</tt> </tt>
  172. <a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
  173. <a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt id="link-70" class="py-name" targets="Variable echonest.support.midi.constants.ALL_SOUND_OFF=echonest.support.midi.constants-module.html#ALL_SOUND_OFF"><a title="echonest.support.midi.constants.ALL_SOUND_OFF" class="py-name" href="#" onclick="return doclink('link-70', 'ALL_SOUND_OFF', 'link-70');">ALL_SOUND_OFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x78</tt> </tt>
  174. <a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt id="link-71" class="py-name" targets="Variable echonest.support.midi.constants.RESET_ALL_CONTROLLERS=echonest.support.midi.constants-module.html#RESET_ALL_CONTROLLERS"><a title="echonest.support.midi.constants.RESET_ALL_CONTROLLERS" class="py-name" href="#" onclick="return doclink('link-71', 'RESET_ALL_CONTROLLERS', 'link-71');">RESET_ALL_CONTROLLERS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x79</tt> </tt>
  175. <a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt id="link-72" class="py-name" targets="Variable echonest.support.midi.constants.LOCAL_CONTROL_ONOFF=echonest.support.midi.constants-module.html#LOCAL_CONTROL_ONOFF"><a title="echonest.support.midi.constants.LOCAL_CONTROL_ONOFF" class="py-name" href="#" onclick="return doclink('link-72', 'LOCAL_CONTROL_ONOFF', 'link-72');">LOCAL_CONTROL_ONOFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x7A</tt> </tt>
  176. <a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt id="link-73" class="py-name" targets="Variable echonest.support.midi.constants.ALL_NOTES_OFF=echonest.support.midi.constants-module.html#ALL_NOTES_OFF"><a title="echonest.support.midi.constants.ALL_NOTES_OFF" class="py-name" href="#" onclick="return doclink('link-73', 'ALL_NOTES_OFF', 'link-73');">ALL_NOTES_OFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x7B</tt> </tt>
  177. <a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt id="link-74" class="py-name" targets="Variable echonest.support.midi.constants.OMNI_MODE_OFF=echonest.support.midi.constants-module.html#OMNI_MODE_OFF"><a title="echonest.support.midi.constants.OMNI_MODE_OFF" class="py-name" href="#" onclick="return doclink('link-74', 'OMNI_MODE_OFF', 'link-74');">OMNI_MODE_OFF</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x7C</tt> <tt class="py-comment"># (also causes ANO)</tt> </tt>
  178. <a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt id="link-75" class="py-name" targets="Variable echonest.support.midi.constants.OMNI_MODE_ON=echonest.support.midi.constants-module.html#OMNI_MODE_ON"><a title="echonest.support.midi.constants.OMNI_MODE_ON" class="py-name" href="#" onclick="return doclink('link-75', 'OMNI_MODE_ON', 'link-75');">OMNI_MODE_ON</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x7D</tt> <tt class="py-comment"># (also causes ANO)</tt> </tt>
  179. <a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt id="link-76" class="py-name" targets="Variable echonest.support.midi.constants.MONO_MODE_ON=echonest.support.midi.constants-module.html#MONO_MODE_ON"><a title="echonest.support.midi.constants.MONO_MODE_ON" class="py-name" href="#" onclick="return doclink('link-76', 'MONO_MODE_ON', 'link-76');">MONO_MODE_ON</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x7E</tt> <tt class="py-comment"># (Poly Off; also causes ANO)</tt> </tt>
  180. <a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt id="link-77" class="py-name" targets="Variable echonest.support.midi.constants.POLY_MODE_ON=echonest.support.midi.constants-module.html#POLY_MODE_ON"><a title="echonest.support.midi.constants.POLY_MODE_ON" class="py-name" href="#" onclick="return doclink('link-77', 'POLY_MODE_ON', 'link-77');">POLY_MODE_ON</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x7F</tt> <tt class="py-comment"># (Mono Off; also causes ANO)</tt> </tt>
  181. <a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
  182. <a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
  183. <a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> </tt>
  184. <a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  185. <a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-comment">## System Common Messages, for all channels</tt> </tt>
  186. <a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt>
  187. <a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt id="link-78" class="py-name" targets="Variable echonest.support.midi.constants.SYSTEM_EXCLUSIVE=echonest.support.midi.constants-module.html#SYSTEM_EXCLUSIVE"><a title="echonest.support.midi.constants.SYSTEM_EXCLUSIVE" class="py-name" href="#" onclick="return doclink('link-78', 'SYSTEM_EXCLUSIVE', 'link-78');">SYSTEM_EXCLUSIVE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xF0</tt> </tt>
  188. <a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-comment"># 11110000 0iiiiiii 0ddddddd ... 11110111</tt> </tt>
  189. <a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt>
  190. <a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt id="link-79" class="py-name" targets="Variable echonest.support.midi.constants.MTC=echonest.support.midi.constants-module.html#MTC"><a title="echonest.support.midi.constants.MTC" class="py-name" href="#" onclick="return doclink('link-79', 'MTC', 'link-79');">MTC</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xF1</tt> <tt class="py-comment"># MIDI Time Code Quarter Frame</tt> </tt>
  191. <a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-comment"># 11110001</tt> </tt>
  192. <a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
  193. <a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt id="link-80" class="py-name" targets="Variable echonest.support.midi.constants.SONG_POSITION_POINTER=echonest.support.midi.constants-module.html#SONG_POSITION_POINTER"><a title="echonest.support.midi.constants.SONG_POSITION_POINTER" class="py-name" href="#" onclick="return doclink('link-80', 'SONG_POSITION_POINTER', 'link-80');">SONG_POSITION_POINTER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xF2</tt> </tt>
  194. <a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-comment"># 11110010 0vvvvvvv 0wwwwwww (lo-position, hi-position)</tt> </tt>
  195. <a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> </tt>
  196. <a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt id="link-81" class="py-name" targets="Variable echonest.support.midi.constants.SONG_SELECT=echonest.support.midi.constants-module.html#SONG_SELECT"><a title="echonest.support.midi.constants.SONG_SELECT" class="py-name" href="#" onclick="return doclink('link-81', 'SONG_SELECT', 'link-81');">SONG_SELECT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xF3</tt> </tt>
  197. <a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-comment"># 11110011 0sssssss (songnumber)</tt> </tt>
  198. <a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt>
  199. <a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-comment">#UNDEFINED = 0xF4</tt> </tt>
  200. <a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-comment">## 11110100</tt> </tt>
  201. <a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> </tt>
  202. <a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-comment">#UNDEFINED = 0xF5</tt> </tt>
  203. <a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-comment">## 11110101</tt> </tt>
  204. <a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> </tt>
  205. <a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt id="link-82" class="py-name" targets="Variable echonest.support.midi.constants.TUNING_REQUEST=echonest.support.midi.constants-module.html#TUNING_REQUEST"><a title="echonest.support.midi.constants.TUNING_REQUEST" class="py-name" href="#" onclick="return doclink('link-82', 'TUNING_REQUEST', 'link-82');">TUNING_REQUEST</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xF6</tt> </tt>
  206. <a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-comment"># 11110110</tt> </tt>
  207. <a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> </tt>
  208. <a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt id="link-83" class="py-name" targets="Variable echonest.support.midi.constants.END_OFF_EXCLUSIVE=echonest.support.midi.constants-module.html#END_OFF_EXCLUSIVE"><a title="echonest.support.midi.constants.END_OFF_EXCLUSIVE" class="py-name" href="#" onclick="return doclink('link-83', 'END_OFF_EXCLUSIVE', 'link-83');">END_OFF_EXCLUSIVE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xF7</tt> <tt class="py-comment"># terminator</tt> </tt>
  209. <a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-comment"># 11110111 # End of system exclusive</tt> </tt>
  210. <a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> </tt>
  211. <a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> </tt>
  212. <a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  213. <a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-comment">## Midifile meta-events</tt> </tt>
  214. <a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt>
  215. <a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt id="link-84" class="py-name" targets="Variable echonest.support.midi.constants.SEQUENCE_NUMBER=echonest.support.midi.constants-module.html#SEQUENCE_NUMBER"><a title="echonest.support.midi.constants.SEQUENCE_NUMBER" class="py-name" href="#" onclick="return doclink('link-84', 'SEQUENCE_NUMBER', 'link-84');">SEQUENCE_NUMBER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x00</tt> <tt class="py-comment"># 00 02 ss ss (seq-number)</tt> </tt>
  216. <a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt id="link-85" class="py-name" targets="Variable echonest.support.midi.constants.TEXT=echonest.support.midi.constants-module.html#TEXT"><a title="echonest.support.midi.constants.TEXT" class="py-name" href="#" onclick="return doclink('link-85', 'TEXT', 'link-85');">TEXT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x01</tt> <tt class="py-comment"># 01 len text...</tt> </tt>
  217. <a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt id="link-86" class="py-name" targets="Variable echonest.support.midi.constants.COPYRIGHT=echonest.support.midi.constants-module.html#COPYRIGHT"><a title="echonest.support.midi.constants.COPYRIGHT" class="py-name" href="#" onclick="return doclink('link-86', 'COPYRIGHT', 'link-86');">COPYRIGHT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x02</tt> <tt class="py-comment"># 02 len text...</tt> </tt>
  218. <a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt id="link-87" class="py-name" targets="Variable echonest.support.midi.constants.SEQUENCE_NAME=echonest.support.midi.constants-module.html#SEQUENCE_NAME"><a title="echonest.support.midi.constants.SEQUENCE_NAME" class="py-name" href="#" onclick="return doclink('link-87', 'SEQUENCE_NAME', 'link-87');">SEQUENCE_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x03</tt> <tt class="py-comment"># 03 len text...</tt> </tt>
  219. <a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt id="link-88" class="py-name" targets="Variable echonest.support.midi.constants.INSTRUMENT_NAME=echonest.support.midi.constants-module.html#INSTRUMENT_NAME"><a title="echonest.support.midi.constants.INSTRUMENT_NAME" class="py-name" href="#" onclick="return doclink('link-88', 'INSTRUMENT_NAME', 'link-88');">INSTRUMENT_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x04</tt> <tt class="py-comment"># 04 len text...</tt> </tt>
  220. <a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt id="link-89" class="py-name" targets="Variable echonest.support.midi.constants.LYRIC=echonest.support.midi.constants-module.html#LYRIC"><a title="echonest.support.midi.constants.LYRIC" class="py-name" href="#" onclick="return doclink('link-89', 'LYRIC', 'link-89');">LYRIC</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x05</tt> <tt class="py-comment"># 05 len text...</tt> </tt>
  221. <a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt id="link-90" class="py-name" targets="Variable echonest.support.midi.constants.MARKER=echonest.support.midi.constants-module.html#MARKER"><a title="echonest.support.midi.constants.MARKER" class="py-name" href="#" onclick="return doclink('link-90', 'MARKER', 'link-90');">MARKER</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x06</tt> <tt class="py-comment"># 06 len text...</tt> </tt>
  222. <a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt id="link-91" class="py-name" targets="Variable echonest.support.midi.constants.CUEPOINT=echonest.support.midi.constants-module.html#CUEPOINT"><a title="echonest.support.midi.constants.CUEPOINT" class="py-name" href="#" onclick="return doclink('link-91', 'CUEPOINT', 'link-91');">CUEPOINT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x07</tt> <tt class="py-comment"># 07 len text...</tt> </tt>
  223. <a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt id="link-92" class="py-name" targets="Variable echonest.support.midi.constants.PROGRAM_NAME=echonest.support.midi.constants-module.html#PROGRAM_NAME"><a title="echonest.support.midi.constants.PROGRAM_NAME" class="py-name" href="#" onclick="return doclink('link-92', 'PROGRAM_NAME', 'link-92');">PROGRAM_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x08</tt> <tt class="py-comment"># 08 len text...</tt> </tt>
  224. <a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt id="link-93" class="py-name" targets="Variable echonest.support.midi.constants.DEVICE_NAME=echonest.support.midi.constants-module.html#DEVICE_NAME"><a title="echonest.support.midi.constants.DEVICE_NAME" class="py-name" href="#" onclick="return doclink('link-93', 'DEVICE_NAME', 'link-93');">DEVICE_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x09</tt> <tt class="py-comment"># 09 len text...</tt> </tt>
  225. <a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> </tt>
  226. <a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt id="link-94" class="py-name" targets="Variable echonest.support.midi.constants.MIDI_CH_PREFIX=echonest.support.midi.constants-module.html#MIDI_CH_PREFIX"><a title="echonest.support.midi.constants.MIDI_CH_PREFIX" class="py-name" href="#" onclick="return doclink('link-94', 'MIDI_CH_PREFIX', 'link-94');">MIDI_CH_PREFIX</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x20</tt> <tt class="py-comment"># MIDI channel prefix assignment (unofficial)</tt> </tt>
  227. <a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
  228. <a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt id="link-95" class="py-name" targets="Variable echonest.support.midi.constants.MIDI_PORT=echonest.support.midi.constants-module.html#MIDI_PORT"><a title="echonest.support.midi.constants.MIDI_PORT" class="py-name" href="#" onclick="return doclink('link-95', 'MIDI_PORT', 'link-95');">MIDI_PORT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x21</tt> <tt class="py-comment"># 21 01 port, legacy stuff but still used</tt> </tt>
  229. <a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt id="link-96" class="py-name" targets="Variable echonest.support.midi.constants.END_OF_TRACK=echonest.support.midi.constants-module.html#END_OF_TRACK"><a title="echonest.support.midi.constants.END_OF_TRACK" class="py-name" href="#" onclick="return doclink('link-96', 'END_OF_TRACK', 'link-96');">END_OF_TRACK</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x2F</tt> <tt class="py-comment"># 2f 00</tt> </tt>
  230. <a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt id="link-97" class="py-name" targets="Variable echonest.support.midi.constants.TEMPO=echonest.support.midi.constants-module.html#TEMPO"><a title="echonest.support.midi.constants.TEMPO" class="py-name" href="#" onclick="return doclink('link-97', 'TEMPO', 'link-97');">TEMPO</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x51</tt> <tt class="py-comment"># 51 03 tt tt tt (tempo in us/quarternote)</tt> </tt>
  231. <a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt id="link-98" class="py-name" targets="Variable echonest.support.midi.constants.SMTP_OFFSET=echonest.support.midi.constants-module.html#SMTP_OFFSET"><a title="echonest.support.midi.constants.SMTP_OFFSET" class="py-name" href="#" onclick="return doclink('link-98', 'SMTP_OFFSET', 'link-98');">SMTP_OFFSET</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x54</tt> <tt class="py-comment"># 54 05 hh mm ss ff xx</tt> </tt>
  232. <a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt id="link-99" class="py-name" targets="Variable echonest.support.midi.constants.TIME_SIGNATURE=echonest.support.midi.constants-module.html#TIME_SIGNATURE"><a title="echonest.support.midi.constants.TIME_SIGNATURE" class="py-name" href="#" onclick="return doclink('link-99', 'TIME_SIGNATURE', 'link-99');">TIME_SIGNATURE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x58</tt> <tt class="py-comment"># 58 04 nn dd cc bb</tt> </tt>
  233. <a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt id="link-100" class="py-name" targets="Variable echonest.support.midi.constants.KEY_SIGNATURE=echonest.support.midi.constants-module.html#KEY_SIGNATURE"><a title="echonest.support.midi.constants.KEY_SIGNATURE" class="py-name" href="#" onclick="return doclink('link-100', 'KEY_SIGNATURE', 'link-100');">KEY_SIGNATURE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x59</tt> <tt class="py-comment"># ??? len text...</tt> </tt>
  234. <a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt id="link-101" class="py-name" targets="Variable echonest.support.midi.constants.SPECIFIC=echonest.support.midi.constants-module.html#SPECIFIC"><a title="echonest.support.midi.constants.SPECIFIC" class="py-name" href="#" onclick="return doclink('link-101', 'SPECIFIC', 'link-101');">SPECIFIC</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x7F</tt> <tt class="py-comment"># Sequencer specific event</tt> </tt>
  235. <a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> </tt>
  236. <a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt id="link-102" class="py-name" targets="Variable echonest.support.midi.constants.FILE_HEADER=echonest.support.midi.constants-module.html#FILE_HEADER"><a title="echonest.support.midi.constants.FILE_HEADER" class="py-name" href="#" onclick="return doclink('link-102', 'FILE_HEADER', 'link-102');">FILE_HEADER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'MThd'</tt> </tt>
  237. <a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt id="link-103" class="py-name" targets="Variable echonest.support.midi.constants.TRACK_HEADER=echonest.support.midi.constants-module.html#TRACK_HEADER"><a title="echonest.support.midi.constants.TRACK_HEADER" class="py-name" href="#" onclick="return doclink('link-103', 'TRACK_HEADER', 'link-103');">TRACK_HEADER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'MTrk'</tt> </tt>
  238. <a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> </tt>
  239. <a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  240. <a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-comment">## System Realtime messages</tt> </tt>
  241. <a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-comment">## I don't supose these are to be found in midi files?!</tt> </tt>
  242. <a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> </tt>
  243. <a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt id="link-104" class="py-name" targets="Variable echonest.support.midi.constants.TIMING_CLOCK=echonest.support.midi.constants-module.html#TIMING_CLOCK"><a title="echonest.support.midi.constants.TIMING_CLOCK" class="py-name" href="#" onclick="return doclink('link-104', 'TIMING_CLOCK', 'link-104');">TIMING_CLOCK</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xF8</tt> </tt>
  244. <a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-comment"># undefined = 0xF9</tt> </tt>
  245. <a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt id="link-105" class="py-name" targets="Variable echonest.support.midi.constants.SONG_START=echonest.support.midi.constants-module.html#SONG_START"><a title="echonest.support.midi.constants.SONG_START" class="py-name" href="#" onclick="return doclink('link-105', 'SONG_START', 'link-105');">SONG_START</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xFA</tt> </tt>
  246. <a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt id="link-106" class="py-name" targets="Variable echonest.support.midi.constants.SONG_CONTINUE=echonest.support.midi.constants-module.html#SONG_CONTINUE"><a title="echonest.support.midi.constants.SONG_CONTINUE" class="py-name" href="#" onclick="return doclink('link-106', 'SONG_CONTINUE', 'link-106');">SONG_CONTINUE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xFB</tt> </tt>
  247. <a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt id="link-107" class="py-name" targets="Variable echonest.support.midi.constants.SONG_STOP=echonest.support.midi.constants-module.html#SONG_STOP"><a title="echonest.support.midi.constants.SONG_STOP" class="py-name" href="#" onclick="return doclink('link-107', 'SONG_STOP', 'link-107');">SONG_STOP</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xFC</tt> </tt>
  248. <a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-comment"># undefined = 0xFD</tt> </tt>
  249. <a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt id="link-108" class="py-name" targets="Variable echonest.support.midi.constants.ACTIVE_SENSING=echonest.support.midi.constants-module.html#ACTIVE_SENSING"><a title="echonest.support.midi.constants.ACTIVE_SENSING" class="py-name" href="#" onclick="return doclink('link-108', 'ACTIVE_SENSING', 'link-108');">ACTIVE_SENSING</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xFE</tt> </tt>
  250. <a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt id="link-109" class="py-name" targets="Variable echonest.support.midi.constants.SYSTEM_RESET=echonest.support.midi.constants-module.html#SYSTEM_RESET"><a title="echonest.support.midi.constants.SYSTEM_RESET" class="py-name" href="#" onclick="return doclink('link-109', 'SYSTEM_RESET', 'link-109');">SYSTEM_RESET</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xFF</tt> </tt>
  251. <a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> </tt>
  252. <a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> </tt>
  253. <a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  254. <a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-comment">## META EVENT, it is used only in midi files.</tt> </tt>
  255. <a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-comment">## In transmitted data it means system reset!!!</tt> </tt>
  256. <a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> </tt>
  257. <a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt id="link-110" class="py-name" targets="Variable echonest.support.midi.constants.META_EVENT=echonest.support.midi.constants-module.html#META_EVENT"><a title="echonest.support.midi.constants.META_EVENT" class="py-name" href="#" onclick="return doclink('link-110', 'META_EVENT', 'link-110');">META_EVENT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0xFF</tt> </tt>
  258. <a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-comment"># 11111111</tt> </tt>
  259. <a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> </tt>
  260. <a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> </tt>
  261. <a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-comment">###################################################</tt> </tt>
  262. <a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-comment">## Helper functions</tt> </tt>
  263. <a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> </tt>
  264. <a name="is_status"></a><div id="is_status-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="is_status-toggle" onclick="return toggle('is_status');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="echonest.support.midi.constants-module.html#is_status">is_status</a><tt class="py-op">(</tt><tt class="py-param">byte</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
  265. </div><div id="is_status-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_status-expanded"><a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">byte</tt> <tt class="py-op">&amp;</tt> <tt class="py-number">0x80</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0x80</tt> <tt class="py-comment"># 1000 0000</tt> </tt>
  266. </div><a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> </tt><script type="text/javascript">
  267. <!--
  268. expandto(location.href);
  269. // -->
  270. </script>
  271. </pre>
  272. <br />
  273. <!-- ==================== NAVIGATION BAR ==================== -->
  274. <table class="navbar" border="0" width="100%" cellpadding="0"
  275. bgcolor="#a0c0ff" cellspacing="0">
  276. <tr valign="middle">
  277. <!-- Tree link -->
  278. <th>&nbsp;&nbsp;&nbsp;<a
  279. href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
  280. <!-- Index link -->
  281. <th>&nbsp;&nbsp;&nbsp;<a
  282. href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
  283. <!-- Help link -->
  284. <th>&nbsp;&nbsp;&nbsp;<a
  285. href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
  286. <!-- Project homepage -->
  287. <th class="navbar" align="right" width="100%">
  288. <table border="0" cellpadding="0" cellspacing="0">
  289. <tr><th class="navbar" align="center"
  290. ><a class="navbar" target="_top" href="http://code.google.com/p/echo-nest-remix/">Project Homepage</a></th>
  291. </tr></table></th>
  292. </tr>
  293. </table>
  294. <table border="0" cellpadding="0" cellspacing="0" width="100%%">
  295. <tr>
  296. <td align="left" class="footer">
  297. Generated by Epydoc 3.0.1 on Wed Sep 1 16:09:00 2010
  298. </td>
  299. <td align="right" class="footer">
  300. <a target="mainFrame" href="http://epydoc.sourceforge.net"
  301. >http://epydoc.sourceforge.net</a>
  302. </td>
  303. </tr>
  304. </table>
  305. <script type="text/javascript">
  306. <!--
  307. // Private objects are initially displayed (because if
  308. // javascript is turned off then we want them to be
  309. // visible); but by default, we want to hide them. So hide
  310. // them unless we have a cookie that says to show them.
  311. checkCookie();
  312. // -->
  313. </script>
  314. </body>
  315. </html>