/apidocs/echonest.support.midi.DataTypeConverters-module.html

http://echo-nest-remix.googlecode.com/ · HTML · 439 lines · 381 code · 36 blank · 22 comment · 0 complexity · e67663f7ce22d63fcc1a243105222d31 MD5 · raw file

  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.DataTypeConverters</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;DataTypeConverters
  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.DataTypeConverters-module.html"
  51. target="_top">no&nbsp;frames</a>]</span></td></tr>
  52. </table>
  53. </td>
  54. </tr>
  55. </table>
  56. <!-- ==================== MODULE DESCRIPTION ==================== -->
  57. <h1 class="epydoc">Module DataTypeConverters</h1><p class="nomargin-top"><span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html">source&nbsp;code</a></span></p>
  58. <!-- ==================== FUNCTIONS ==================== -->
  59. <a name="section-Functions"></a>
  60. <table class="summary" border="1" cellpadding="3"
  61. cellspacing="0" width="100%" bgcolor="white">
  62. <tr bgcolor="#70b0f0" class="table-header">
  63. <td colspan="2" class="table-header">
  64. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  65. <tr valign="top">
  66. <td align="left"><span class="table-header">Functions</span></td>
  67. <td align="right" valign="top"
  68. ><span class="options">[<a href="#section-Functions"
  69. class="privatelink" onclick="toggle_private();"
  70. >hide private</a>]</span></td>
  71. </tr>
  72. </table>
  73. </td>
  74. </tr>
  75. <tr>
  76. <td width="15%" align="right" valign="top" class="summary">
  77. <span class="summary-type">&nbsp;</span>
  78. </td><td class="summary">
  79. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  80. <tr>
  81. <td><span class="summary-sig"><a href="echonest.support.midi.DataTypeConverters-module.html#getNibbles" class="summary-sig-name">getNibbles</a>(<span class="summary-sig-arg">byte</span>)</span><br />
  82. Returns hi and lo bits in a byte as a tuple
  83. &gt;&gt;&gt; getNibbles(142)
  84. (8, 14)</td>
  85. <td align="right" valign="top">
  86. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#getNibbles">source&nbsp;code</a></span>
  87. </td>
  88. </tr>
  89. </table>
  90. </td>
  91. </tr>
  92. <tr>
  93. <td width="15%" align="right" valign="top" class="summary">
  94. <span class="summary-type">&nbsp;</span>
  95. </td><td class="summary">
  96. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  97. <tr>
  98. <td><span class="summary-sig"><a name="setNibbles"></a><span class="summary-sig-name">setNibbles</span>(<span class="summary-sig-arg">hiNibble</span>,
  99. <span class="summary-sig-arg">loNibble</span>)</span><br />
  100. Returns byte with value set according to hi and lo bits
  101. Asserts hiNibble and loNibble in range(16)
  102. &gt;&gt;&gt; setNibbles(8, 14)
  103. 142</td>
  104. <td align="right" valign="top">
  105. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#setNibbles">source&nbsp;code</a></span>
  106. </td>
  107. </tr>
  108. </table>
  109. </td>
  110. </tr>
  111. <tr>
  112. <td width="15%" align="right" valign="top" class="summary">
  113. <span class="summary-type">&nbsp;</span>
  114. </td><td class="summary">
  115. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  116. <tr>
  117. <td><span class="summary-sig"><a name="readBew"></a><span class="summary-sig-name">readBew</span>(<span class="summary-sig-arg">value</span>)</span><br />
  118. Reads string as big endian word, (asserts len(value) in [1,2,4])
  119. &gt;&gt;&gt; readBew('a&#225;&#226;&#227;')
  120. 1642193635L
  121. &gt;&gt;&gt; readBew('a&#225;')
  122. 25057</td>
  123. <td align="right" valign="top">
  124. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#readBew">source&nbsp;code</a></span>
  125. </td>
  126. </tr>
  127. </table>
  128. </td>
  129. </tr>
  130. <tr>
  131. <td width="15%" align="right" valign="top" class="summary">
  132. <span class="summary-type">&nbsp;</span>
  133. </td><td class="summary">
  134. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  135. <tr>
  136. <td><span class="summary-sig"><a href="echonest.support.midi.DataTypeConverters-module.html#writeBew" class="summary-sig-name">writeBew</a>(<span class="summary-sig-arg">value</span>,
  137. <span class="summary-sig-arg">length</span>)</span><br />
  138. Write int as big endian formatted string, (asserts length in [1,2,4])
  139. Difficult to print the result in doctest, so I do a simple roundabout test.</td>
  140. <td align="right" valign="top">
  141. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#writeBew">source&nbsp;code</a></span>
  142. </td>
  143. </tr>
  144. </table>
  145. </td>
  146. </tr>
  147. <tr>
  148. <td width="15%" align="right" valign="top" class="summary">
  149. <span class="summary-type">&nbsp;</span>
  150. </td><td class="summary">
  151. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  152. <tr>
  153. <td><span class="summary-sig"><a href="echonest.support.midi.DataTypeConverters-module.html#readVar" class="summary-sig-name">readVar</a>(<span class="summary-sig-arg">value</span>)</span><br />
  154. Converts varlength format to integer.</td>
  155. <td align="right" valign="top">
  156. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#readVar">source&nbsp;code</a></span>
  157. </td>
  158. </tr>
  159. </table>
  160. </td>
  161. </tr>
  162. <tr>
  163. <td width="15%" align="right" valign="top" class="summary">
  164. <span class="summary-type">&nbsp;</span>
  165. </td><td class="summary">
  166. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  167. <tr>
  168. <td><span class="summary-sig"><a name="varLen"></a><span class="summary-sig-name">varLen</span>(<span class="summary-sig-arg">value</span>)</span><br />
  169. Returns the the number of bytes an integer will be when
  170. converted to varlength</td>
  171. <td align="right" valign="top">
  172. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#varLen">source&nbsp;code</a></span>
  173. </td>
  174. </tr>
  175. </table>
  176. </td>
  177. </tr>
  178. <tr>
  179. <td width="15%" align="right" valign="top" class="summary">
  180. <span class="summary-type">&nbsp;</span>
  181. </td><td class="summary">
  182. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  183. <tr>
  184. <td><span class="summary-sig"><a name="writeVar"></a><span class="summary-sig-name">writeVar</span>(<span class="summary-sig-arg">value</span>)</span><br />
  185. Converts an integer to varlength format</td>
  186. <td align="right" valign="top">
  187. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#writeVar">source&nbsp;code</a></span>
  188. </td>
  189. </tr>
  190. </table>
  191. </td>
  192. </tr>
  193. <tr>
  194. <td width="15%" align="right" valign="top" class="summary">
  195. <span class="summary-type">&nbsp;</span>
  196. </td><td class="summary">
  197. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  198. <tr>
  199. <td><span class="summary-sig"><a name="to_n_bits"></a><span class="summary-sig-name">to_n_bits</span>(<span class="summary-sig-arg">value</span>,
  200. <span class="summary-sig-arg">length</span>=<span class="summary-sig-default">1</span>,
  201. <span class="summary-sig-arg">nbits</span>=<span class="summary-sig-default">7</span>)</span><br />
  202. returns the integer value as a sequence of nbits bytes</td>
  203. <td align="right" valign="top">
  204. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#to_n_bits">source&nbsp;code</a></span>
  205. </td>
  206. </tr>
  207. </table>
  208. </td>
  209. </tr>
  210. <tr>
  211. <td width="15%" align="right" valign="top" class="summary">
  212. <span class="summary-type">&nbsp;</span>
  213. </td><td class="summary">
  214. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  215. <tr>
  216. <td><span class="summary-sig"><a name="toBytes"></a><span class="summary-sig-name">toBytes</span>(<span class="summary-sig-arg">value</span>)</span><br />
  217. Turns a string into a list of byte values</td>
  218. <td align="right" valign="top">
  219. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#toBytes">source&nbsp;code</a></span>
  220. </td>
  221. </tr>
  222. </table>
  223. </td>
  224. </tr>
  225. <tr>
  226. <td width="15%" align="right" valign="top" class="summary">
  227. <span class="summary-type">&nbsp;</span>
  228. </td><td class="summary">
  229. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  230. <tr>
  231. <td><span class="summary-sig"><a name="fromBytes"></a><span class="summary-sig-name">fromBytes</span>(<span class="summary-sig-arg">value</span>)</span><br />
  232. Turns a list of bytes into a string</td>
  233. <td align="right" valign="top">
  234. <span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#fromBytes">source&nbsp;code</a></span>
  235. </td>
  236. </tr>
  237. </table>
  238. </td>
  239. </tr>
  240. </table>
  241. <!-- ==================== VARIABLES ==================== -->
  242. <a name="section-Variables"></a>
  243. <table class="summary" border="1" cellpadding="3"
  244. cellspacing="0" width="100%" bgcolor="white">
  245. <tr bgcolor="#70b0f0" class="table-header">
  246. <td colspan="2" class="table-header">
  247. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  248. <tr valign="top">
  249. <td align="left"><span class="table-header">Variables</span></td>
  250. <td align="right" valign="top"
  251. ><span class="options">[<a href="#section-Variables"
  252. class="privatelink" onclick="toggle_private();"
  253. >hide private</a>]</span></td>
  254. </tr>
  255. </table>
  256. </td>
  257. </tr>
  258. <tr>
  259. <td width="15%" align="right" valign="top" class="summary">
  260. <span class="summary-type">&nbsp;</span>
  261. </td><td class="summary">
  262. <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'echonest.support.midi'"><code class="variable-quote">'</code><code class="variable-string">echonest.support.midi</code><code class="variable-quote">'</code></code>
  263. </td>
  264. </tr>
  265. </table>
  266. <!-- ==================== FUNCTION DETAILS ==================== -->
  267. <a name="section-FunctionDetails"></a>
  268. <table class="details" border="1" cellpadding="3"
  269. cellspacing="0" width="100%" bgcolor="white">
  270. <tr bgcolor="#70b0f0" class="table-header">
  271. <td colspan="2" class="table-header">
  272. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  273. <tr valign="top">
  274. <td align="left"><span class="table-header">Function Details</span></td>
  275. <td align="right" valign="top"
  276. ><span class="options">[<a href="#section-FunctionDetails"
  277. class="privatelink" onclick="toggle_private();"
  278. >hide private</a>]</span></td>
  279. </tr>
  280. </table>
  281. </td>
  282. </tr>
  283. </table>
  284. <a name="getNibbles"></a>
  285. <div>
  286. <table class="details" border="1" cellpadding="3"
  287. cellspacing="0" width="100%" bgcolor="white">
  288. <tr><td>
  289. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  290. <tr valign="top"><td>
  291. <h3 class="epydoc"><span class="sig"><span class="sig-name">getNibbles</span>(<span class="sig-arg">byte</span>)</span>
  292. </h3>
  293. </td><td align="right" valign="top"
  294. ><span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#getNibbles">source&nbsp;code</a></span>&nbsp;
  295. </td>
  296. </tr></table>
  297. <pre class="literalblock">
  298. Returns hi and lo bits in a byte as a tuple
  299. &gt;&gt;&gt; getNibbles(142)
  300. (8, 14)
  301. Asserts byte value in byte range
  302. &gt;&gt;&gt; getNibbles(256)
  303. Traceback (most recent call last):
  304. ...
  305. ValueError: Byte value out of range 0-255: 256
  306. </pre>
  307. <dl class="fields">
  308. </dl>
  309. </td></tr></table>
  310. </div>
  311. <a name="writeBew"></a>
  312. <div>
  313. <table class="details" border="1" cellpadding="3"
  314. cellspacing="0" width="100%" bgcolor="white">
  315. <tr><td>
  316. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  317. <tr valign="top"><td>
  318. <h3 class="epydoc"><span class="sig"><span class="sig-name">writeBew</span>(<span class="sig-arg">value</span>,
  319. <span class="sig-arg">length</span>)</span>
  320. </h3>
  321. </td><td align="right" valign="top"
  322. ><span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#writeBew">source&nbsp;code</a></span>&nbsp;
  323. </td>
  324. </tr></table>
  325. Write int as big endian formatted string, (asserts length in [1,2,4])
  326. Difficult to print the result in doctest, so I do a simple roundabout test.
  327. &gt;&gt;&gt; readBew(writeBew(25057, 2))
  328. 25057
  329. &gt;&gt;&gt; readBew(writeBew(1642193635L, 4))
  330. 1642193635L
  331. <dl class="fields">
  332. </dl>
  333. </td></tr></table>
  334. </div>
  335. <a name="readVar"></a>
  336. <div>
  337. <table class="details" border="1" cellpadding="3"
  338. cellspacing="0" width="100%" bgcolor="white">
  339. <tr><td>
  340. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  341. <tr valign="top"><td>
  342. <h3 class="epydoc"><span class="sig"><span class="sig-name">readVar</span>(<span class="sig-arg">value</span>)</span>
  343. </h3>
  344. </td><td align="right" valign="top"
  345. ><span class="codelink"><a href="echonest.support.midi.DataTypeConverters-pysrc.html#readVar">source&nbsp;code</a></span>&nbsp;
  346. </td>
  347. </tr></table>
  348. Converts varlength format to integer. Just pass it 0 or more chars that
  349. might be a varlen and it will only use the relevant chars.
  350. use varLen(readVar(value)) to see how many bytes the integer value takes.
  351. asserts len(value) &gt;= 0
  352. &gt;&gt;&gt; readVar('&#128;&#64;')
  353. 64
  354. &gt;&gt;&gt; readVar('&#225;&#226;&#227;a')
  355. 205042145
  356. <dl class="fields">
  357. </dl>
  358. </td></tr></table>
  359. </div>
  360. <br />
  361. <!-- ==================== NAVIGATION BAR ==================== -->
  362. <table class="navbar" border="0" width="100%" cellpadding="0"
  363. bgcolor="#a0c0ff" cellspacing="0">
  364. <tr valign="middle">
  365. <!-- Tree link -->
  366. <th>&nbsp;&nbsp;&nbsp;<a
  367. href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
  368. <!-- Index link -->
  369. <th>&nbsp;&nbsp;&nbsp;<a
  370. href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
  371. <!-- Help link -->
  372. <th>&nbsp;&nbsp;&nbsp;<a
  373. href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
  374. <!-- Project homepage -->
  375. <th class="navbar" align="right" width="100%">
  376. <table border="0" cellpadding="0" cellspacing="0">
  377. <tr><th class="navbar" align="center"
  378. ><a class="navbar" target="_top" href="http://code.google.com/p/echo-nest-remix/">Project Homepage</a></th>
  379. </tr></table></th>
  380. </tr>
  381. </table>
  382. <table border="0" cellpadding="0" cellspacing="0" width="100%%">
  383. <tr>
  384. <td align="left" class="footer">
  385. Generated by Epydoc 3.0.1 on Wed Sep 1 16:08:57 2010
  386. </td>
  387. <td align="right" class="footer">
  388. <a target="mainFrame" href="http://epydoc.sourceforge.net"
  389. >http://epydoc.sourceforge.net</a>
  390. </td>
  391. </tr>
  392. </table>
  393. <script type="text/javascript">
  394. <!--
  395. // Private objects are initially displayed (because if
  396. // javascript is turned off then we want them to be
  397. // visible); but by default, we want to hide them. So hide
  398. // them unless we have a cookie that says to show them.
  399. checkCookie();
  400. // -->
  401. </script>
  402. </body>
  403. </html>