Extra "ports" of juce-based plugins using the distrho build system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

866 lines
20KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  5. <head>
  6. <title>protoplug: Module midi</title>
  7. <link rel="stylesheet" href="../ldoc.css" type="text/css" />
  8. </head>
  9. <body>
  10. <div id="container">
  11. <div id="product">
  12. <div id="product_logo"></div>
  13. <div id="product_name"><big><b></b></big></div>
  14. <div id="product_description"></div>
  15. </div> <!-- id="product" -->
  16. <div id="main">
  17. <!-- Menu -->
  18. <div id="navigation">
  19. <a href="http://osar.fr">
  20. <div class=osarlogo> </div>
  21. </a>
  22. <br/>
  23. <a href="http://osar.fr/protoplug">
  24. <h1>protoplug</h1>
  25. </a>
  26. <span class="proto_subtitle">Lua API reference</span>
  27. <ul>
  28. <li><a href="../index.html">Index</a></li>
  29. </ul>
  30. <h2>Contents</h2>
  31. <ul>
  32. <li><a href="#Functions">Functions</a></li>
  33. <li><a href="#Class_midi_Buffer">Class midi.Buffer </a></li>
  34. <li><a href="#Class_midi_Event">Class midi.Event </a></li>
  35. </ul>
  36. <h2>Modules</h2>
  37. <ul class="$(kind=='Topics' and '' or 'nowrap'">
  38. <li><a href="../modules/plugin.html">plugin</a></li>
  39. <li><a href="../modules/script.html">script</a></li>
  40. <li><strong>midi</strong></li>
  41. <li><a href="../modules/gui.html">gui</a></li>
  42. <li><a href="../modules/polyGen.html">polyGen</a></li>
  43. <li><a href="../modules/stereoFx.html">stereoFx</a></li>
  44. </ul>
  45. <h2>Classes</h2>
  46. <ul class="$(kind=='Topics' and '' or 'nowrap'">
  47. <li><a href="../classes/juce.AffineTransform.html">juce.AffineTransform</a></li>
  48. <li><a href="../classes/juce.AudioFormatReader.html">juce.AudioFormatReader</a></li>
  49. <li><a href="../classes/juce.Colour.html">juce.Colour</a></li>
  50. <li><a href="../classes/juce.ColourGradient.html">juce.ColourGradient</a></li>
  51. <li><a href="../classes/juce.Component.html">juce.Component</a></li>
  52. <li><a href="../classes/juce.FillType.html">juce.FillType</a></li>
  53. <li><a href="../classes/juce.Font.html">juce.Font</a></li>
  54. <li><a href="../classes/juce.Graphics.html">juce.Graphics</a></li>
  55. <li><a href="../classes/juce.Image.html">juce.Image</a></li>
  56. <li><a href="../classes/juce.Justification.html">juce.Justification</a></li>
  57. <li><a href="../classes/juce.LagrangeInterpolator.html">juce.LagrangeInterpolator</a></li>
  58. <li><a href="../classes/juce.Line.html">juce.Line</a></li>
  59. <li><a href="../classes/juce.Path.html">juce.Path</a></li>
  60. <li><a href="../classes/juce.Point.html">juce.Point</a></li>
  61. <li><a href="../classes/juce.RectanglePlacement.html">juce.RectanglePlacement</a></li>
  62. <li><a href="../classes/juce.Rectangle_float.html">juce.Rectangle_float</a></li>
  63. <li><a href="../classes/juce.Rectangle_int.html">juce.Rectangle_int</a></li>
  64. </ul>
  65. <h2>Examples</h2>
  66. <ul class="$(kind=='Topics' and '' or 'nowrap'">
  67. <li><a href="../examples/classic-filter.lua.html">classic-filter.lua</a></li>
  68. <li><a href="../examples/sine-organ.lua.html">sine-organ.lua</a></li>
  69. <li><a href="../examples/midi-chordify.lua.html">midi-chordify.lua</a></li>
  70. <li><a href="../examples/sinemouse-demo.lua.html">sinemouse-demo.lua</a></li>
  71. <li><a href="../examples/soundfile-test.lua.html">soundfile-test.lua</a></li>
  72. </ul>
  73. </div>
  74. <div id="content">
  75. <h1>Module <code>midi</code></h1>
  76. <p><a href="../modules/midi.html#">midi</a> contains MIDI-related classes and functions.</p>
  77. <p>
  78. <p> Example of receiving MIDI input : <a href="../examples/sine-organ.lua.html#">sine-organ.lua</a>.</p>
  79. <p> Example of producing MIDI output : <a href="../examples/midi-chordify.lua.html#">midi-chordify.lua</a>.</p>
  80. <p> The <a href="../modules/midi.html#">midi</a> global is available to every protoplug script after including the
  81. main protoplug header :</p>
  82. <pre><code>require "include/protoplug"
  83. </code></pre>
  84. </p>
  85. <h2><a href="#Functions">Functions</a></h2>
  86. <table class="function_list">
  87. <tr>
  88. <td class="name" nowrap><a href="#noteToFreq"><span class="proto_prefix">midi</span>.noteToFreq (note)</a></td>
  89. <td class="summary">Convert a MIDI note number to frequency.</td>
  90. </tr>
  91. </table>
  92. <h2><a href="#Class_midi_Buffer">Class midi.Buffer </a></h2>
  93. <table class="function_list">
  94. <tr>
  95. <td class="name" nowrap><a href="#Buffer:eachEvent"><span class="proto_prefix">midi.Buffer</span>:eachEvent ()</a></td>
  96. <td class="summary">Iterate over each <a href="../modules/midi.html#midi.Event">midi.Event</a> in the buffer.</td>
  97. </tr>
  98. <tr>
  99. <td class="name" nowrap><a href="#Buffer:clear"><span class="proto_prefix">midi.Buffer</span>:clear ()</a></td>
  100. <td class="summary">Remove all MIDI events from the buffer.</td>
  101. </tr>
  102. <tr>
  103. <td class="name" nowrap><a href="#Buffer:addEvent"><span class="proto_prefix">midi.Buffer</span>:addEvent (event)</a></td>
  104. <td class="summary">Add a MIDI event.</td>
  105. </tr>
  106. </table>
  107. <h2><a href="#Class_midi_Event">Class midi.Event </a></h2>
  108. <table class="function_list">
  109. <tr>
  110. <td class="name" nowrap><a href="#midi.Event:Event"><span class="proto_prefix">midi</span>.Event (other)</a></td>
  111. <td class="summary">Constructor : copy another event.</td>
  112. </tr>
  113. <tr>
  114. <td class="name" nowrap><a href="#midi.Event:Event"><span class="proto_prefix">midi</span>.Event (time, dataSize[, data])</a></td>
  115. <td class="summary">Constructor : create a custom event.</td>
  116. </tr>
  117. <tr>
  118. <td class="name" nowrap><a href="#Event.noteOn"><span class="proto_prefix">midi.Event</span>.noteOn (channel, note, vel[, pos=0])</a></td>
  119. <td class="summary">Constructor : note on.</td>
  120. </tr>
  121. <tr>
  122. <td class="name" nowrap><a href="#Event.noteOff"><span class="proto_prefix">midi.Event</span>.noteOff (channel, note[, vel=0[, pos=0]])</a></td>
  123. <td class="summary">Constructor : note off.</td>
  124. </tr>
  125. <tr>
  126. <td class="name" nowrap><a href="#Event.pitchBend"><span class="proto_prefix">midi.Event</span>.pitchBend (channel, pitch[, pos=0])</a></td>
  127. <td class="summary">Constructor : pitch bend.</td>
  128. </tr>
  129. <tr>
  130. <td class="name" nowrap><a href="#Event.control"><span class="proto_prefix">midi.Event</span>.control (channel, number, value[, pos=0])</a></td>
  131. <td class="summary">Constructor : Control change.</td>
  132. </tr>
  133. <tr>
  134. <td class="name" nowrap><a href="#Event:getChannel"><span class="proto_prefix">midi.Event</span>:getChannel ()</a></td>
  135. <td class="summary">Get channel.</td>
  136. </tr>
  137. <tr>
  138. <td class="name" nowrap><a href="#Event:setChannel"><span class="proto_prefix">midi.Event</span>:setChannel (channel)</a></td>
  139. <td class="summary">Set channel.</td>
  140. </tr>
  141. <tr>
  142. <td class="name" nowrap><a href="#Event:isNoteOn"><span class="proto_prefix">midi.Event</span>:isNoteOn ()</a></td>
  143. <td class="summary">Is a note on event.</td>
  144. </tr>
  145. <tr>
  146. <td class="name" nowrap><a href="#Event:isNoteOff"><span class="proto_prefix">midi.Event</span>:isNoteOff ()</a></td>
  147. <td class="summary">Is a note off event.</td>
  148. </tr>
  149. <tr>
  150. <td class="name" nowrap><a href="#Event:getNote"><span class="proto_prefix">midi.Event</span>:getNote ()</a></td>
  151. <td class="summary">Get note.</td>
  152. </tr>
  153. <tr>
  154. <td class="name" nowrap><a href="#Event:setNote"><span class="proto_prefix">midi.Event</span>:setNote (note)</a></td>
  155. <td class="summary">Set note.</td>
  156. </tr>
  157. <tr>
  158. <td class="name" nowrap><a href="#Event:getVel"><span class="proto_prefix">midi.Event</span>:getVel ()</a></td>
  159. <td class="summary">Get velocity.</td>
  160. </tr>
  161. <tr>
  162. <td class="name" nowrap><a href="#Event:setVel"><span class="proto_prefix">midi.Event</span>:setVel (vel)</a></td>
  163. <td class="summary">Set velocity.</td>
  164. </tr>
  165. <tr>
  166. <td class="name" nowrap><a href="#Event:isPitchBend"><span class="proto_prefix">midi.Event</span>:isPitchBend ()</a></td>
  167. <td class="summary">Is a pitch bend event.</td>
  168. </tr>
  169. <tr>
  170. <td class="name" nowrap><a href="#Event:getPitchBendValue"><span class="proto_prefix">midi.Event</span>:getPitchBendValue ()</a></td>
  171. <td class="summary">Get pitch bend value.</td>
  172. </tr>
  173. <tr>
  174. <td class="name" nowrap><a href="#Event:isControl"><span class="proto_prefix">midi.Event</span>:isControl ()</a></td>
  175. <td class="summary">Is a Control Change event.</td>
  176. </tr>
  177. <tr>
  178. <td class="name" nowrap><a href="#Event:getControlNumber"><span class="proto_prefix">midi.Event</span>:getControlNumber ()</a></td>
  179. <td class="summary">Get control number.</td>
  180. </tr>
  181. <tr>
  182. <td class="name" nowrap><a href="#Event:getControlValue"><span class="proto_prefix">midi.Event</span>:getControlValue ()</a></td>
  183. <td class="summary">Get control value.</td>
  184. </tr>
  185. <tr>
  186. <td class="name" nowrap><a href="#Event.time"><span class="proto_prefix">midi.Event</span>.time</a></td>
  187. <td class="summary">Sample position relatively to the start of the block.</td>
  188. </tr>
  189. <tr>
  190. <td class="name" nowrap><a href="#Event.dataSize"><span class="proto_prefix">midi.Event</span>.dataSize</a></td>
  191. <td class="summary">Size of the MIDI message in bytes</td>
  192. </tr>
  193. <tr>
  194. <td class="name" nowrap><a href="#Event.data"><span class="proto_prefix">midi.Event</span>.data</a></td>
  195. <td class="summary">The raw MIDI message
  196. (<code>const uint8_t*</code> cdata)</td>
  197. </tr>
  198. </table>
  199. <br/>
  200. <br/>
  201. <h2><a name="Functions"></a>Functions</h2>
  202. <dl class="function">
  203. <dt>
  204. <a name = "noteToFreq"></a>
  205. <strong><span class="proto_prefix">midi</span>.noteToFreq (note)</strong>
  206. </dt>
  207. <dd>
  208. Convert a MIDI note number to frequency.
  209. Call this function to get a note's frequency.
  210. </ul>
  211. <h3>Parameters:</h3>
  212. <ul>
  213. <li><span class="parameter">note</span>
  214. the MIDI note (0-127)
  215. </li>
  216. </ul>
  217. <h3>Returns:</h3>
  218. <ol>
  219. the frequency in samples^-1
  220. </ol>
  221. </dd>
  222. </dl>
  223. <h2><a name="Class_midi_Buffer"></a>Class midi.Buffer </h2>
  224. A buffer containing midi events, as received by <a href="../modules/plugin.html#processBlock">plugin.processBlock</a>
  225. <br><br>
  226. <dl class="function">
  227. <dt>
  228. <a name = "Buffer:eachEvent"></a>
  229. <strong><span class="proto_prefix">midi.Buffer</span>:eachEvent ()</strong>
  230. </dt>
  231. <dd>
  232. Iterate over each <a href="../modules/midi.html#midi.Event">midi.Event</a> in the buffer.
  233. </ul>
  234. <h3>Usage:</h3>
  235. <ul>
  236. <pre class="example"><span class="keyword">for</span> ev <span class="keyword">in</span> myBuffer:eachEvent() <span class="keyword">do</span> <span class="global">print</span>(ev:getNote()) <span class="keyword">end</span></pre>
  237. </ul>
  238. </dd>
  239. <dt>
  240. <a name = "Buffer:clear"></a>
  241. <strong><span class="proto_prefix">midi.Buffer</span>:clear ()</strong>
  242. </dt>
  243. <dd>
  244. Remove all MIDI events from the buffer.
  245. </ul>
  246. </dd>
  247. <dt>
  248. <a name = "Buffer:addEvent"></a>
  249. <strong><span class="proto_prefix">midi.Buffer</span>:addEvent (event)</strong>
  250. </dt>
  251. <dd>
  252. Add a MIDI event.
  253. </ul>
  254. <h3>Parameters:</h3>
  255. <ul>
  256. <li><span class="parameter">event</span>
  257. <span class="types"><a class="type" href="../modules/midi.html#midi.Event">midi.Event</a></span>
  258. </li>
  259. </ul>
  260. </dd>
  261. </dl>
  262. <h2><a name="Class_midi_Event"></a>Class midi.Event </h2>
  263. A single midi event as returned by <a href="../modules/midi.html#Buffer:eachEvent">Buffer:eachEvent</a>
  264. <br><br>
  265. <dl class="function">
  266. <dt>
  267. <a name = "midi.Event:Event"></a>
  268. <strong><span class="proto_prefix">midi</span>.Event (other)</strong>
  269. </dt>
  270. <dd>
  271. Constructor : copy another event.
  272. </ul>
  273. <h3>Parameters:</h3>
  274. <ul>
  275. <li><span class="parameter">other</span>
  276. <span class="types"><a class="type" href="../modules/midi.html#midi.Event">midi.Event</a></span>
  277. </li>
  278. </ul>
  279. </dd>
  280. <dt>
  281. <a name = "midi.Event:Event"></a>
  282. <strong><span class="proto_prefix">midi</span>.Event (time, dataSize[, data])</strong>
  283. </dt>
  284. <dd>
  285. Constructor : create a custom event.
  286. Create an event from given bytes (or zeros if not supplied)
  287. </ul>
  288. <h3>Parameters:</h3>
  289. <ul>
  290. <li><span class="parameter">time</span>
  291. </li>
  292. <li><span class="parameter">dataSize</span>
  293. </li>
  294. <li><span class="parameter">data</span>
  295. </li>
  296. </ul>
  297. <h3>Usage:</h3>
  298. <ul>
  299. <pre class="example">myEv = midi.Event(<span class="number">0</span>, <span class="number">3</span>, {<span class="number">0x90</span>, <span class="number">0x30</span>, <span class="number">0x7f</span>}) -- note on</pre>
  300. </ul>
  301. </dd>
  302. <dt>
  303. <a name = "Event.noteOn"></a>
  304. <strong><span class="proto_prefix">midi.Event</span>.noteOn (channel, note, vel[, pos=0])</strong>
  305. </dt>
  306. <dd>
  307. Constructor : note on.
  308. </ul>
  309. <h3>Parameters:</h3>
  310. <ul>
  311. <li><span class="parameter">channel</span>
  312. (1-16)
  313. </li>
  314. <li><span class="parameter">note</span>
  315. (0-127)
  316. </li>
  317. <li><span class="parameter">vel</span>
  318. (1-127)
  319. </li>
  320. <li><span class="parameter">pos</span>
  321. sample offset
  322. (<em>default</em> 0)
  323. </li>
  324. </ul>
  325. <h3>Returns:</h3>
  326. <ol>
  327. <span class="types"><a class="type" href="../modules/midi.html#midi.Event">midi.Event</a></span>
  328. </ol>
  329. </dd>
  330. <dt>
  331. <a name = "Event.noteOff"></a>
  332. <strong><span class="proto_prefix">midi.Event</span>.noteOff (channel, note[, vel=0[, pos=0]])</strong>
  333. </dt>
  334. <dd>
  335. Constructor : note off.
  336. </ul>
  337. <h3>Parameters:</h3>
  338. <ul>
  339. <li><span class="parameter">channel</span>
  340. (1-16)
  341. </li>
  342. <li><span class="parameter">note</span>
  343. (0-127)
  344. </li>
  345. <li><span class="parameter">vel</span>
  346. (0-127)
  347. (<em>default</em> 0)
  348. </li>
  349. <li><span class="parameter">pos</span>
  350. sample offset
  351. (<em>default</em> 0)
  352. </li>
  353. </ul>
  354. <h3>Returns:</h3>
  355. <ol>
  356. <span class="types"><a class="type" href="../modules/midi.html#midi.Event">midi.Event</a></span>
  357. </ol>
  358. </dd>
  359. <dt>
  360. <a name = "Event.pitchBend"></a>
  361. <strong><span class="proto_prefix">midi.Event</span>.pitchBend (channel, pitch[, pos=0])</strong>
  362. </dt>
  363. <dd>
  364. Constructor : pitch bend.
  365. </ul>
  366. <h3>Parameters:</h3>
  367. <ul>
  368. <li><span class="parameter">channel</span>
  369. (1-16)
  370. </li>
  371. <li><span class="parameter">pitch</span>
  372. bend value (0-16383)
  373. </li>
  374. <li><span class="parameter">pos</span>
  375. sample offset
  376. (<em>default</em> 0)
  377. </li>
  378. </ul>
  379. <h3>Returns:</h3>
  380. <ol>
  381. <span class="types"><a class="type" href="../modules/midi.html#midi.Event">midi.Event</a></span>
  382. </ol>
  383. </dd>
  384. <dt>
  385. <a name = "Event.control"></a>
  386. <strong><span class="proto_prefix">midi.Event</span>.control (channel, number, value[, pos=0])</strong>
  387. </dt>
  388. <dd>
  389. Constructor : Control change.
  390. </ul>
  391. <h3>Parameters:</h3>
  392. <ul>
  393. <li><span class="parameter">channel</span>
  394. (1-16)
  395. </li>
  396. <li><span class="parameter">number</span>
  397. control number (0-247)
  398. </li>
  399. <li><span class="parameter">value</span>
  400. control value (0-127)
  401. </li>
  402. <li><span class="parameter">pos</span>
  403. sample offset
  404. (<em>default</em> 0)
  405. </li>
  406. </ul>
  407. <h3>Returns:</h3>
  408. <ol>
  409. <span class="types"><a class="type" href="../modules/midi.html#midi.Event">midi.Event</a></span>
  410. </ol>
  411. </dd>
  412. <dt>
  413. <a name = "Event:getChannel"></a>
  414. <strong><span class="proto_prefix">midi.Event</span>:getChannel ()</strong>
  415. </dt>
  416. <dd>
  417. Get channel.
  418. </ul>
  419. <h3>Returns:</h3>
  420. <ol>
  421. the MIDI channel (1-16)
  422. </ol>
  423. </dd>
  424. <dt>
  425. <a name = "Event:setChannel"></a>
  426. <strong><span class="proto_prefix">midi.Event</span>:setChannel (channel)</strong>
  427. </dt>
  428. <dd>
  429. Set channel.
  430. </ul>
  431. <h3>Parameters:</h3>
  432. <ul>
  433. <li><span class="parameter">channel</span>
  434. the MIDI channel (1-16)
  435. </li>
  436. </ul>
  437. </dd>
  438. <dt>
  439. <a name = "Event:isNoteOn"></a>
  440. <strong><span class="proto_prefix">midi.Event</span>:isNoteOn ()</strong>
  441. </dt>
  442. <dd>
  443. Is a note on event.
  444. </ul>
  445. <h3>Returns:</h3>
  446. <ol>
  447. <span class="types"><span class="type">boolean</span></span>
  448. whether event is a note on.
  449. </ol>
  450. </dd>
  451. <dt>
  452. <a name = "Event:isNoteOff"></a>
  453. <strong><span class="proto_prefix">midi.Event</span>:isNoteOff ()</strong>
  454. </dt>
  455. <dd>
  456. Is a note off event.
  457. </ul>
  458. <h3>Returns:</h3>
  459. <ol>
  460. <span class="types"><span class="type">boolean</span></span>
  461. whether event is a note off.
  462. </ol>
  463. </dd>
  464. <dt>
  465. <a name = "Event:getNote"></a>
  466. <strong><span class="proto_prefix">midi.Event</span>:getNote ()</strong>
  467. </dt>
  468. <dd>
  469. Get note.
  470. </ul>
  471. <h3>Returns:</h3>
  472. <ol>
  473. the MIDI note number (0-127)
  474. </ol>
  475. </dd>
  476. <dt>
  477. <a name = "Event:setNote"></a>
  478. <strong><span class="proto_prefix">midi.Event</span>:setNote (note)</strong>
  479. </dt>
  480. <dd>
  481. Set note.
  482. </ul>
  483. <h3>Parameters:</h3>
  484. <ul>
  485. <li><span class="parameter">note</span>
  486. the MIDI note number (0-127)
  487. </li>
  488. </ul>
  489. </dd>
  490. <dt>
  491. <a name = "Event:getVel"></a>
  492. <strong><span class="proto_prefix">midi.Event</span>:getVel ()</strong>
  493. </dt>
  494. <dd>
  495. Get velocity.
  496. </ul>
  497. <h3>Returns:</h3>
  498. <ol>
  499. the MIDI velocity (1-127)
  500. </ol>
  501. </dd>
  502. <dt>
  503. <a name = "Event:setVel"></a>
  504. <strong><span class="proto_prefix">midi.Event</span>:setVel (vel)</strong>
  505. </dt>
  506. <dd>
  507. Set velocity.
  508. </ul>
  509. <h3>Parameters:</h3>
  510. <ul>
  511. <li><span class="parameter">vel</span>
  512. the MIDI velocity (1-127)
  513. </li>
  514. </ul>
  515. </dd>
  516. <dt>
  517. <a name = "Event:isPitchBend"></a>
  518. <strong><span class="proto_prefix">midi.Event</span>:isPitchBend ()</strong>
  519. </dt>
  520. <dd>
  521. Is a pitch bend event.
  522. </ul>
  523. <h3>Returns:</h3>
  524. <ol>
  525. <span class="types"><span class="type">boolean</span></span>
  526. whether event is a pitch bend on.
  527. </ol>
  528. </dd>
  529. <dt>
  530. <a name = "Event:getPitchBendValue"></a>
  531. <strong><span class="proto_prefix">midi.Event</span>:getPitchBendValue ()</strong>
  532. </dt>
  533. <dd>
  534. Get pitch bend value.
  535. </ul>
  536. <h3>Returns:</h3>
  537. <ol>
  538. pitch bend value (0-16383).
  539. </ol>
  540. </dd>
  541. <dt>
  542. <a name = "Event:isControl"></a>
  543. <strong><span class="proto_prefix">midi.Event</span>:isControl ()</strong>
  544. </dt>
  545. <dd>
  546. Is a Control Change event.
  547. </ul>
  548. <h3>Returns:</h3>
  549. <ol>
  550. <span class="types"><span class="type">boolean</span></span>
  551. whether event is a control change.
  552. </ol>
  553. </dd>
  554. <dt>
  555. <a name = "Event:getControlNumber"></a>
  556. <strong><span class="proto_prefix">midi.Event</span>:getControlNumber ()</strong>
  557. </dt>
  558. <dd>
  559. Get control number.
  560. </ul>
  561. <h3>Returns:</h3>
  562. <ol>
  563. control number (0-247).
  564. </ol>
  565. </dd>
  566. <dt>
  567. <a name = "Event:getControlValue"></a>
  568. <strong><span class="proto_prefix">midi.Event</span>:getControlValue ()</strong>
  569. </dt>
  570. <dd>
  571. Get control value.
  572. </ul>
  573. <h3>Returns:</h3>
  574. <ol>
  575. control value (0-127).
  576. </ol>
  577. </dd>
  578. <dt>
  579. <a name = "Event.time"></a>
  580. <strong><span class="proto_prefix">midi.Event</span>.time</strong>
  581. </dt>
  582. <dd>
  583. Sample position relatively to the start of the block.
  584. This value is often 0 because most hosts call <a href="../modules/plugin.html#processBlock">plugin.processBlock</a> at the
  585. beginning of beats and beat divisions. It is never higher than the
  586. current <a href="../modules/plugin.html#processBlock">plugin.processBlock</a>'s <code>smax</code> and any events created by the script
  587. should respect this rule.
  588. </ul>
  589. </dd>
  590. <dt>
  591. <a name = "Event.dataSize"></a>
  592. <strong><span class="proto_prefix">midi.Event</span>.dataSize</strong>
  593. </dt>
  594. <dd>
  595. Size of the MIDI message in bytes
  596. </ul>
  597. </dd>
  598. <dt>
  599. <a name = "Event.data"></a>
  600. <strong><span class="proto_prefix">midi.Event</span>.data</strong>
  601. </dt>
  602. <dd>
  603. The raw MIDI message
  604. (<code>const uint8_t*</code> cdata)
  605. </ul>
  606. </dd>
  607. </dl>
  608. </div> <!-- id="content" -->
  609. </div> <!-- id="main" -->
  610. <div id="about">
  611. <i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.2</a></i>
  612. </div> <!-- id="about" -->
  613. </div> <!-- id="container" -->
  614. </body>
  615. </html>