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.

1193 lines
39KB

  1. <!-- vim: set ts=4: -->
  2. <!-- TODO: generate some or all of this automatically from the C++ source -->
  3. <!-- TODO: add a field for maximum instance count -->
  4. <!-- TODO: add a field for exclusive to other objects (not allowed if they're used) -->
  5. <!-- TODO: add "parameters" fields, to replace the form html stuff -->
  6. <script type="text/javascript">
  7. RED.nodes.registerType('AnalogInputI2S',{
  8. shortName: "i2s",
  9. inputs:0,
  10. outputs:2,
  11. category: 'input-function',
  12. color:"#E6E0F8",
  13. icon: "arrow-in.png"
  14. });
  15. </script>
  16. <script type="text/x-red" data-help-name="AnalogInputI2S">
  17. <h3>Summary</h3>
  18. <p>Receive 16 bit stereo audio from the
  19. <a href="http://www.pjrc.com/store/teensy3_audio.html" target="_blank">audio shield</a>
  20. or another I2S device, using I2S master mode.</p>
  21. <p align=center><img src="audioshield_inputs.jpg"></p>
  22. <h3>Audio Connections</h3>
  23. <table class=doc align=center cellpadding=3>
  24. <tr class=top><th>Port</th><th>Purpose</th></tr>
  25. <tr class=odd><td align=center>Out 0</td><td>Left Channel</td></tr>
  26. <tr class=odd><td align=center>Out 1</td><td>Right Channel</td></tr>
  27. </table>
  28. <h3>Functions</h3>
  29. <p>This object has no functions to call from the Arduino sketch. It
  30. simply streams data from the I2S hardware to its 2 output ports.</p>
  31. <h3>Hardware</h3>
  32. <p align=center><img src="audioshield_backside.jpg"></p>
  33. <p>The I2S signals are used in "master" mode, where Teensy creates
  34. all 3 clock signals and controls all data timing.</p>
  35. <table class=doc align=center cellpadding=3>
  36. <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
  37. <tr class=odd><td align=center>9</td><td>BCLK</td><td>Output</td></tr>
  38. <tr class=odd><td align=center>11</td><td>MCLK</td><td>Output</td></tr>
  39. <tr class=odd><td align=center>13</td><td>RX</td><td>Input</td></tr>
  40. <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Output</td></tr>
  41. </table>
  42. <p>Audio from
  43. master mode I2S may be used in the same project as ADC, DAC and
  44. PWM signals, because all remain in sync to Teensy's timing</p>
  45. <h3>Notes</h3>
  46. <p>Normally, this object is used with the Audio Shield, which
  47. is controlled separately by the "sgtl5000" object.</p>
  48. </script>
  49. <script type="text/x-red" data-template-name="AnalogInputI2S">
  50. <div class="form-row">
  51. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  52. <input type="text" id="node-input-name" placeholder="Name">
  53. </div>
  54. </script>
  55. <script type="text/javascript">
  56. RED.nodes.registerType('AnalogInputI2Sslave',{
  57. shortName: "i2ss",
  58. inputs:0,
  59. outputs:2,
  60. category: 'input-function',
  61. color:"#E6E0F8",
  62. icon: "arrow-in.png"
  63. });
  64. </script>
  65. <script type="text/x-red" data-help-name="AnalogInputI2Sslave">
  66. <h3>Summary</h3>
  67. <p>Receive 16 bit stereo audio from an I2S device using I2S slave mode.</p>
  68. <h3>Audio Connections</h3>
  69. <table class=doc align=center cellpadding=3>
  70. <tr class=top><th>Port</th><th>Purpose</th></tr>
  71. <tr class=odd><td align=center>Out 0</td><td>Left Channel</td></tr>
  72. <tr class=odd><td align=center>Out 1</td><td>Right Channel</td></tr>
  73. </table>
  74. <h3>Functions</h3>
  75. <p>This object has no functions to call from the Arduino sketch. It
  76. simply streams data from the I2S hardware to its 2 output ports.</p>
  77. <h3>Hardware</h3>
  78. <p>The I2S signals are used in "slave" mode, where the I2S device controls
  79. data timing.</p>
  80. <table class=doc align=center cellpadding=3>
  81. <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
  82. <tr class=odd><td align=center>9</td><td>BCLK</td><td>Input</td></tr>
  83. <tr class=odd><td align=center>13</td><td>RX</td><td>Input</td></tr>
  84. <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Input</td></tr>
  85. </table>
  86. <p>Slave mode I2S <b>should not used in the same project as ADC, DAC and
  87. PWM</b> signals. Differences in timing between the I2S device and
  88. Teensy's clock can cause occasional audio glitches when I2S slave mode
  89. is used together with other input or output objects based on Teensy's
  90. timing.</p>
  91. </script>
  92. <script type="text/x-red" data-template-name="AnalogInputI2Sslave">
  93. <div class="form-row">
  94. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  95. <input type="text" id="node-input-name" placeholder="Name">
  96. </div>
  97. </script>
  98. <script type="text/javascript">
  99. RED.nodes.registerType('AnalogInputADC',{
  100. shortName: "adc",
  101. inputs:0,
  102. outputs:1,
  103. category: 'input-function',
  104. color:"#E6E0F8",
  105. icon: "arrow-in.png"
  106. });
  107. </script>
  108. <script type="text/x-red" data-help-name="AnalogInputADC">
  109. <h3>Summary</h3>
  110. <p>Receive audio using the built-in analog to digital converter.</p>
  111. <h3>Audio Connections</h3>
  112. <table class=doc align=center cellpadding=3>
  113. <tr class=top><th>Port</th><th>Purpose</th></tr>
  114. <tr class=odd><td align=center>Out 0</td><td>Audio Channel</td></tr>
  115. </table>
  116. <h3>Parameters</h3>
  117. <table class=doc align=center cellpadding=3>
  118. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  119. <tr class=odd><td align=center>Pin</td><td>Integer</td><td>Analog Pin To Use</td></tr>
  120. </table>
  121. <p>The pin number should be specified as "A0" to "A20"</p>
  122. <p align=center><img src="adcpins2.jpg"></p>
  123. <p align=center><img src="adcpins1.jpg"></p>
  124. <h3>Functions</h3>
  125. <p>This object has no functions to call from the Arduino sketch. It
  126. simply streams data from the ADC to its output port.</p>
  127. <h3>Hardware</h3>
  128. <p>Signal range is 0 to 1.2V</p>
  129. <p>Need for DC bias, approx 0.6V</p>
  130. <p>TODO: suggested circuity for signal input</p>
  131. <h3>Notes</h3>
  132. <p>Algorithm for automatic DC bias tracking</p>
  133. <p>Noise due to high source impedance</p>
  134. <p>Power Supply rejection issue with simple DC bias</p>
  135. <p>TODO: actual noise measurements with different input circuitry
  136. (it's not nearly as quiet as the audio shield)</p>
  137. </script>
  138. <script type="text/x-red" data-template-name="AnalogInputADC">
  139. <div class="form-row">
  140. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  141. <input type="text" id="node-input-name" placeholder="Name">
  142. </div>
  143. </script>
  144. <script type="text/javascript">
  145. RED.nodes.registerType('AnalogOutputI2S',{
  146. shortName: "i2s",
  147. inputs:2,
  148. outputs:0,
  149. category: 'output-function',
  150. color:"#E6E0F8",
  151. icon: "arrow-in.png"
  152. });
  153. </script>
  154. <script type="text/x-red" data-help-name="AnalogOutputI2S">
  155. <h3>Summary</h3>
  156. <p>Transmit 16 bit stereo audio from the
  157. <a href="http://www.pjrc.com/store/teensy3_audio.html" target="_blank">audio shield</a>
  158. or another I2S device, using I2S master mode.</p>
  159. <p align=center><img src="audioshield_outputs.jpg"></p>
  160. <h3>Audio Connections</h3>
  161. <table class=doc align=center cellpadding=3>
  162. <tr class=top><th>Port</th><th>Purpose</th></tr>
  163. <tr class=odd><td align=center>In 0</td><td>Left Channel</td></tr>
  164. <tr class=odd><td align=center>In 1</td><td>Right Channel</td></tr>
  165. </table>
  166. <h3>Functions</h3>
  167. <p>This object has no functions to call from the Arduino sketch. It
  168. simply streams data from its 2 input ports to the I2S hardware.</p>
  169. <h3>Hardware</h3>
  170. <p align=center><img src="audioshield_backside.jpg"></p>
  171. <p>The I2S signals are used in "master" mode, where Teensy creates
  172. all 3 clock signals and controls all data timing.</p>
  173. <table class=doc align=center cellpadding=3>
  174. <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
  175. <tr class=odd><td align=center>9</td><td>BCLK</td><td>Output</td></tr>
  176. <tr class=odd><td align=center>11</td><td>MCLK</td><td>Output</td></tr>
  177. <tr class=odd><td align=center>22</td><td>TX</td><td>Output</td></tr>
  178. <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Output</td></tr>
  179. </table>
  180. <p>Audio from
  181. master mode I2S may be used in the same project as ADC, DAC and
  182. PWM signals, because all remain in sync to Teensy's timing</p>
  183. <h3>Notes</h3>
  184. <p>Normally, this object is used with the Audio Shield, which
  185. is controlled separately by the "sgtl5000" object.</p>
  186. </script>
  187. <script type="text/x-red" data-template-name="AnalogOutputI2S">
  188. <div class="form-row">
  189. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  190. <input type="text" id="node-input-name" placeholder="Name">
  191. </div>
  192. </script>
  193. <script type="text/javascript">
  194. RED.nodes.registerType('AnalogOutputI2Sslave',{
  195. shortName: "i2ss",
  196. inputs:2,
  197. outputs:0,
  198. category: 'output-function',
  199. color:"#E6E0F8",
  200. icon: "arrow-in.png"
  201. });
  202. </script>
  203. <script type="text/x-red" data-help-name="AnalogOutputI2Sslave">
  204. <h3>Summary</h3>
  205. <p>Transmit 16 bit stereo audio from an I2S device using I2S slave mode.</p>
  206. <h3>Audio Connections</h3>
  207. <table class=doc align=center cellpadding=3>
  208. <tr class=top><th>Port</th><th>Purpose</th></tr>
  209. <tr class=odd><td align=center>In 0</td><td>Left Channel</td></tr>
  210. <tr class=odd><td align=center>In 1</td><td>Right Channel</td></tr>
  211. </table>
  212. <h3>Functions</h3>
  213. <p>This object has no functions to call from the Arduino sketch. It
  214. simply streams data from its 2 input ports to the I2S hardware.</p>
  215. <h3>Hardware</h3>
  216. <p>The I2S signals are used in "slave" mode, where the I2S device controls
  217. data timing.</p>
  218. <table class=doc align=center cellpadding=3>
  219. <tr class=top><th>Pin</th><th>Signal</th><th>Direction</th></tr>
  220. <tr class=odd><td align=center>9</td><td>BCLK</td><td>Input</td></tr>
  221. <tr class=odd><td align=center>22</td><td>TX</td><td>Output</td></tr>
  222. <tr class=odd><td align=center>23</td><td>LRCLK</td><td>Input</td></tr>
  223. </table>
  224. <p>Slave mode I2S <b>should not used in the same project as ADC, DAC and
  225. PWM</b> signals. Differences in timing between the I2S device and
  226. Teensy's clock can cause occasional audio glitches when I2S slave mode
  227. is used together with other input or output objects based on Teensy's
  228. timing.</p>
  229. </script>
  230. <script type="text/x-red" data-template-name="AnalogOutputI2Sslave">
  231. <div class="form-row">
  232. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  233. <input type="text" id="node-input-name" placeholder="Name">
  234. </div>
  235. </script>
  236. <script type="text/javascript">
  237. RED.nodes.registerType('AnalogOutputAnalog',{
  238. shortName: "dac",
  239. inputs:1,
  240. outputs:0,
  241. category: 'output-function',
  242. color:"#E6E0F8",
  243. icon: "arrow-in.png"
  244. });
  245. </script>
  246. <script type="text/x-red" data-help-name="AnalogOutputAnalog">
  247. <h3>Summary</h3>
  248. <p>Transmit 12 bit audio using Teensy 3.1's built-in digital to analog converter.</p>
  249. <h3>Audio Connections</h3>
  250. <table class=doc align=center cellpadding=3>
  251. <tr class=top><th>Port</th><th>Purpose</th></tr>
  252. <tr class=odd><td align=center>In 0</td><td>Audio Channel</td></tr>
  253. </table>
  254. <h3>Functions</h3>
  255. <p>This object has no functions to call from the Arduino sketch. It
  256. simply streams data from the ADC to its output port.</p>
  257. <h3>Hardware</h3>
  258. <p align=center><img src="dacpin.jpg"></p>
  259. <p>Signal range is 0 to 1.2V</p>
  260. <p>Most applications require at least a 10&micro;F DC-blocking capacitor.</p>
  261. <p>TODO: photo of Teensy 3.1 with 10&micro;F capacitor and 3.5mm jack.</p>
  262. <h3>Notes</h3>
  263. <p>The output rate is 44.1 kHz (no oversampling). Ultrasonic noise present if
  264. not filtered. This may not
  265. be an issue for many uses, but care should be used if amplified and driven
  266. to high power tweeters.</p>
  267. </script>
  268. <script type="text/x-red" data-template-name="AnalogOutputAnalog">
  269. <div class="form-row">
  270. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  271. <input type="text" id="node-input-name" placeholder="Name">
  272. </div>
  273. </script>
  274. <script type="text/javascript">
  275. RED.nodes.registerType('AnalogOutputPWM',{
  276. shortName: "pwm",
  277. inputs:1,
  278. outputs:0,
  279. category: 'output-function',
  280. color:"#E6E0F8",
  281. icon: "arrow-in.png"
  282. });
  283. </script>
  284. <script type="text/x-red" data-help-name="AnalogOutputPWM">
  285. <h3>Summary</h3>
  286. <p>Transmit audio using Teensy 3.1's PWM pins. Two pins are
  287. used for coarse and fine pulses, to be combined by scaled
  288. resistors.</p>
  289. <h3>Audio Connections</h3>
  290. <table class=doc align=center cellpadding=3>
  291. <tr class=top><th>Port</th><th>Purpose</th></tr>
  292. <tr class=odd><td align=center>In 0</td><td>Audio Channel</td></tr>
  293. </table>
  294. <h3>Functions</h3>
  295. <p>This object has no functions to call from the Arduino sketch. It
  296. simply streams data from the ADC to its output port.</p>
  297. <h3>Hardware</h3>
  298. <p>The following circuit is recommended.</p>
  299. <p align=center><img src="pwmdualcircuit.jpg"></p>
  300. <p>Signal range is approx 1.55 Vp-p.</p>
  301. <p>These resistor values assume approx 20 ohms output impedance
  302. on the digital pins. The 127K resistor may be adjusted or
  303. trimmed for variation in output drive and tolerance on the
  304. 475 ohm resistor.</p>
  305. <p>A plastic film (Polypropylene, Polyethylene, Polyester, etc) or
  306. C0G/NPO ceramic capacitor should be used for filtering. Low
  307. quality ceramic (X7R, Y5V, Z5U, etc) can cause signal distortion.</p>
  308. <h3>Notes</h3>
  309. <p>The PWM carrier frequency is 88.2 kHz. The suggested circuit
  310. will only slightly filter the carrier. Extra filtering will be
  311. required for a clean signals without the ultrasonic PWM carrier.
  312. </p>
  313. <p>Analog signals created by filtering PWM waveforms use the digital
  314. power supply as their reference voltage. Any noise on the digital
  315. power line can directly couple to the output signal. The built-in DAC or
  316. <a href="http://www.pjrc.com/store/teensy3_audio.html" target="_blank">audio shield</a>
  317. should be used when higher quality signals are needed.</p>
  318. </script>
  319. <script type="text/x-red" data-template-name="AnalogOutputPWM">
  320. <div class="form-row">
  321. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  322. <input type="text" id="node-input-name" placeholder="Name">
  323. </div>
  324. </script>
  325. <script type="text/javascript">
  326. RED.nodes.registerType('AudioMixer4',{
  327. shortName: "mixer",
  328. inputs:4,
  329. outputs:1,
  330. category: 'mixer-function',
  331. color:"#E6E0F8",
  332. icon: "arrow-in.png"
  333. });
  334. </script>
  335. <script type="text/x-red" data-help-name="AudioMixer4">
  336. <h3>Summary</h3>
  337. <p>Combine up to 4 audio signals together, each with adjustable gain.</p>
  338. <h3>Audio Connections</h3>
  339. <table class=doc align=center cellpadding=3>
  340. <tr class=top><th>Port</th><th>Purpose</th></tr>
  341. <tr class=odd><td align=center>In 0</td><td>Input signal #1</td></tr>
  342. <tr class=odd><td align=center>In 1</td><td>Input signal #2</td></tr>
  343. <tr class=odd><td align=center>In 2</td><td>Input signal #3</td></tr>
  344. <tr class=odd><td align=center>In 3</td><td>Input signal #4</td></tr>
  345. <tr class=odd><td align=center>Out 0</td><td>Sum of all inputs</td></tr>
  346. </table>
  347. <!--<h3>Parameters</h3>
  348. <table class=doc align=center cellpadding=3>
  349. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  350. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  351. </table>
  352. <p>Extra description... Section only present if object has params</p>-->
  353. <h3>Functions</h3>
  354. <p class=func><span class=keyword>gain</span>(channel, level);</p>
  355. <p class=desc>Adjust the amplification or attenuation. "channel" must
  356. be 0 to 3. "gain" may be any number from 0 to 32767.0. Gain of
  357. 1.0 passes the signal through directly. Gain of 0 shuts the channel
  358. off completely. Between 0 to 1.0 attenuates the signal, and above
  359. 1.0 amplifies it. All 4 channels have separate settings.
  360. </p>
  361. <h3>Notes</h3>
  362. <p>Signal clipping can occur when any channel has gain greater than 1.0,
  363. or when multiple signals add together to greater than 1.0.</p>
  364. </script>
  365. <script type="text/x-red" data-template-name="AudioMixer4">
  366. <div class="form-row">
  367. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  368. <input type="text" id="node-input-name" placeholder="Name">
  369. </div>
  370. </script>
  371. <script type="text/javascript">
  372. RED.nodes.registerType('AudioPlayMemory',{
  373. shortName: "playMem",
  374. inputs:0,
  375. outputs:1,
  376. category: 'play-function',
  377. color:"#E6E0F8",
  378. icon: "arrow-in.png"
  379. });
  380. </script>
  381. <script type="text/x-red" data-help-name="AudioPlayMemory">
  382. <h3>Summary</h3>
  383. <p>description</p>
  384. <h3>Audio Connections</h3>
  385. <table class=doc align=center cellpadding=3>
  386. <tr class=top><th>Port</th><th>Purpose</th></tr>
  387. <tr class=odd><td align=center></td><td></td></tr>
  388. </table>
  389. <!--<h3>Parameters</h3>
  390. <table class=doc align=center cellpadding=3>
  391. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  392. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  393. </table>
  394. <p>Extra description... Section only present if object has params</p>-->
  395. <h3>Functions</h3>
  396. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  397. <p class=desc>blah blah blah blah
  398. </p>
  399. <h3>Notes</h3>
  400. <p></p>
  401. </script>
  402. <script type="text/x-red" data-template-name="AudioPlayMemory">
  403. <div class="form-row">
  404. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  405. <input type="text" id="node-input-name" placeholder="Name">
  406. </div>
  407. </script>
  408. <script type="text/javascript">
  409. RED.nodes.registerType('AudioPlaySdWav',{
  410. shortName: "playWav",
  411. inputs:0,
  412. outputs:2,
  413. category: 'play-function',
  414. color:"#E6E0F8",
  415. icon: "arrow-in.png"
  416. });
  417. </script>
  418. <script type="text/x-red" data-help-name="AudioPlaySdWav">
  419. <h3>Summary</h3>
  420. <p>description</p>
  421. <h3>Audio Connections</h3>
  422. <table class=doc align=center cellpadding=3>
  423. <tr class=top><th>Port</th><th>Purpose</th></tr>
  424. <tr class=odd><td align=center></td><td></td></tr>
  425. </table>
  426. <!--<h3>Parameters</h3>
  427. <table class=doc align=center cellpadding=3>
  428. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  429. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  430. </table>
  431. <p>Extra description... Section only present if object has params</p>-->
  432. <h3>Functions</h3>
  433. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  434. <p class=desc>blah blah blah blah
  435. </p>
  436. <h3>Notes</h3>
  437. <p></p>
  438. </script>
  439. <script type="text/x-red" data-template-name="AudioPlaySdWav">
  440. <div class="form-row">
  441. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  442. <input type="text" id="node-input-name" placeholder="Name">
  443. </div>
  444. </script>
  445. <script type="text/javascript">
  446. RED.nodes.registerType('AudioPlaySdRaw',{
  447. shortName: "playRaw",
  448. inputs:0,
  449. outputs:1,
  450. category: 'play-function',
  451. color:"#E6E0F8",
  452. icon: "arrow-in.png"
  453. });
  454. </script>
  455. <script type="text/x-red" data-help-name="AudioPlaySdRaw">
  456. <h3>Summary</h3>
  457. <p>description</p>
  458. <h3>Audio Connections</h3>
  459. <table class=doc align=center cellpadding=3>
  460. <tr class=top><th>Port</th><th>Purpose</th></tr>
  461. <tr class=odd><td align=center></td><td></td></tr>
  462. </table>
  463. <!--<h3>Parameters</h3>
  464. <table class=doc align=center cellpadding=3>
  465. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  466. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  467. </table>
  468. <p>Extra description... Section only present if object has params</p>-->
  469. <h3>Functions</h3>
  470. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  471. <p class=desc>blah blah blah blah
  472. </p>
  473. <h3>Notes</h3>
  474. <p></p>
  475. </script>
  476. <script type="text/x-red" data-template-name="AudioPlaySdRaw">
  477. <div class="form-row">
  478. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  479. <input type="text" id="node-input-name" placeholder="Name">
  480. </div>
  481. </script>
  482. <script type="text/javascript">
  483. RED.nodes.registerType('AudioPlayQueue',{
  484. shortName: "queue",
  485. inputs:0,
  486. outputs:1,
  487. category: 'play-function',
  488. color:"#E6E0F8",
  489. icon: "arrow-in.png"
  490. });
  491. </script>
  492. <script type="text/x-red" data-help-name="AudioPlayQueue">
  493. <h3>Summary</h3>
  494. <p>description</p>
  495. <h3>Audio Connections</h3>
  496. <table class=doc align=center cellpadding=3>
  497. <tr class=top><th>Port</th><th>Purpose</th></tr>
  498. <tr class=odd><td align=center></td><td></td></tr>
  499. </table>
  500. <!--<h3>Parameters</h3>
  501. <table class=doc align=center cellpadding=3>
  502. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  503. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  504. </table>
  505. <p>Extra description... Section only present if object has params</p>-->
  506. <h3>Functions</h3>
  507. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  508. <p class=desc>blah blah blah blah
  509. </p>
  510. <h3>Notes</h3>
  511. <p></p>
  512. </script>
  513. <script type="text/x-red" data-template-name="AudioPlayQueue">
  514. <div class="form-row">
  515. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  516. <input type="text" id="node-input-name" placeholder="Name">
  517. </div>
  518. </script>
  519. <script type="text/javascript">
  520. RED.nodes.registerType('AudioSynthWaveformSine',{
  521. shortName: "sine",
  522. inputs:0,
  523. outputs:1,
  524. category: 'synth-function',
  525. color:"#E6E0F8",
  526. icon: "arrow-in.png"
  527. });
  528. </script>
  529. <script type="text/x-red" data-help-name="AudioSynthWaveformSine">
  530. <h3>Summary</h3>
  531. <p>description</p>
  532. <h3>Audio Connections</h3>
  533. <table class=doc align=center cellpadding=3>
  534. <tr class=top><th>Port</th><th>Purpose</th></tr>
  535. <tr class=odd><td align=center></td><td></td></tr>
  536. </table>
  537. <!--<h3>Parameters</h3>
  538. <table class=doc align=center cellpadding=3>
  539. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  540. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  541. </table>
  542. <p>Extra description... Section only present if object has params</p>-->
  543. <h3>Functions</h3>
  544. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  545. <p class=desc>blah blah blah blah
  546. </p>
  547. <h3>Notes</h3>
  548. <p></p>
  549. </script>
  550. <script type="text/x-red" data-template-name="AudioSynthWaveformSine">
  551. <div class="form-row">
  552. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  553. <input type="text" id="node-input-name" placeholder="Name">
  554. </div>
  555. </script>
  556. <script type="text/javascript">
  557. RED.nodes.registerType('AudioSynthWaveformSineModulated',{
  558. shortName: "sine_fm",
  559. inputs:1,
  560. outputs:1,
  561. category: 'synth-function',
  562. color:"#E6E0F8",
  563. icon: "arrow-in.png"
  564. });
  565. </script>
  566. <script type="text/x-red" data-help-name="AudioSynthWaveformSineModulated">
  567. <h3>Summary</h3>
  568. <p>description</p>
  569. <h3>Audio Connections</h3>
  570. <table class=doc align=center cellpadding=3>
  571. <tr class=top><th>Port</th><th>Purpose</th></tr>
  572. <tr class=odd><td align=center></td><td></td></tr>
  573. </table>
  574. <!--<h3>Parameters</h3>
  575. <table class=doc align=center cellpadding=3>
  576. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  577. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  578. </table>
  579. <p>Extra description... Section only present if object has params</p>-->
  580. <h3>Functions</h3>
  581. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  582. <p class=desc>blah blah blah blah
  583. </p>
  584. <h3>Notes</h3>
  585. <p></p>
  586. </script>
  587. <script type="text/x-red" data-template-name="AudioSynthWaveformSineModulated">
  588. <div class="form-row">
  589. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  590. <input type="text" id="node-input-name" placeholder="Name">
  591. </div>
  592. </script>
  593. <script type="text/javascript">
  594. RED.nodes.registerType('AudioSynthWaveform',{
  595. shortName: "waveform",
  596. inputs:0,
  597. outputs:1,
  598. category: 'synth-function',
  599. color:"#E6E0F8",
  600. icon: "arrow-in.png"
  601. });
  602. </script>
  603. <script type="text/x-red" data-help-name="AudioSynthWaveform">
  604. <h3>Summary</h3>
  605. <p>description</p>
  606. <h3>Audio Connections</h3>
  607. <table class=doc align=center cellpadding=3>
  608. <tr class=top><th>Port</th><th>Purpose</th></tr>
  609. <tr class=odd><td align=center></td><td></td></tr>
  610. </table>
  611. <!--<h3>Parameters</h3>
  612. <table class=doc align=center cellpadding=3>
  613. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  614. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  615. </table>
  616. <p>Extra description... Section only present if object has params</p>-->
  617. <h3>Functions</h3>
  618. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  619. <p class=desc>blah blah blah blah
  620. </p>
  621. <h3>Notes</h3>
  622. <p></p>
  623. </script>
  624. <script type="text/x-red" data-template-name="AudioSynthWaveform">
  625. <div class="form-row">
  626. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  627. <input type="text" id="node-input-name" placeholder="Name">
  628. </div>
  629. </script>
  630. <script type="text/javascript">
  631. RED.nodes.registerType('AudioSynthToneSweep',{
  632. shortName: "tonesweep",
  633. inputs:0,
  634. outputs:1,
  635. category: 'synth-function',
  636. color:"#E6E0F8",
  637. icon: "arrow-in.png"
  638. });
  639. </script>
  640. <script type="text/x-red" data-help-name="AudioSynthToneSweep">
  641. <h3>Summary</h3>
  642. <p>description</p>
  643. <h3>Audio Connections</h3>
  644. <table class=doc align=center cellpadding=3>
  645. <tr class=top><th>Port</th><th>Purpose</th></tr>
  646. <tr class=odd><td align=center></td><td></td></tr>
  647. </table>
  648. <!--<h3>Parameters</h3>
  649. <table class=doc align=center cellpadding=3>
  650. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  651. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  652. </table>
  653. <p>Extra description... Section only present if object has params</p>-->
  654. <h3>Functions</h3>
  655. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  656. <p class=desc>blah blah blah blah
  657. </p>
  658. <h3>Notes</h3>
  659. <p></p>
  660. </script>
  661. <script type="text/x-red" data-template-name="AudioSynthToneSweep">
  662. <div class="form-row">
  663. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  664. <input type="text" id="node-input-name" placeholder="Name">
  665. </div>
  666. </script>
  667. <script type="text/javascript">
  668. RED.nodes.registerType('AudioEffectFade',{
  669. shortName: "fade",
  670. inputs:1,
  671. outputs:1,
  672. category: 'effect-function',
  673. color:"#E6E0F8",
  674. icon: "arrow-in.png"
  675. });
  676. </script>
  677. <script type="text/x-red" data-help-name="AudioEffectFade">
  678. <h3>Summary</h3>
  679. <p>description</p>
  680. <h3>Audio Connections</h3>
  681. <table class=doc align=center cellpadding=3>
  682. <tr class=top><th>Port</th><th>Purpose</th></tr>
  683. <tr class=odd><td align=center></td><td></td></tr>
  684. </table>
  685. <!--<h3>Parameters</h3>
  686. <table class=doc align=center cellpadding=3>
  687. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  688. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  689. </table>
  690. <p>Extra description... Section only present if object has params</p>-->
  691. <h3>Functions</h3>
  692. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  693. <p class=desc>blah blah blah blah
  694. </p>
  695. <h3>Notes</h3>
  696. <p></p>
  697. </script>
  698. <script type="text/x-red" data-template-name="AudioEffectFade">
  699. <div class="form-row">
  700. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  701. <input type="text" id="node-input-name" placeholder="Name">
  702. </div>
  703. </script>
  704. <script type="text/javascript">
  705. RED.nodes.registerType('AudioEffectChorus',{
  706. shortName: "chorus",
  707. inputs:2,
  708. outputs:2,
  709. category: 'effect-function',
  710. color:"#E6E0F8",
  711. icon: "arrow-in.png"
  712. });
  713. </script>
  714. <script type="text/x-red" data-help-name="AudioEffectChorus">
  715. <h3>Summary</h3>
  716. <p>description</p>
  717. <h3>Audio Connections</h3>
  718. <table class=doc align=center cellpadding=3>
  719. <tr class=top><th>Port</th><th>Purpose</th></tr>
  720. <tr class=odd><td align=center></td><td></td></tr>
  721. </table>
  722. <!--<h3>Parameters</h3>
  723. <table class=doc align=center cellpadding=3>
  724. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  725. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  726. </table>
  727. <p>Extra description... Section only present if object has params</p>-->
  728. <h3>Functions</h3>
  729. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  730. <p class=desc>blah blah blah blah
  731. </p>
  732. <h3>Notes</h3>
  733. <p></p>
  734. </script>
  735. <script type="text/x-red" data-template-name="AudioEffectChorus">
  736. <div class="form-row">
  737. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  738. <input type="text" id="node-input-name" placeholder="Name">
  739. </div>
  740. </script>
  741. <script type="text/javascript">
  742. RED.nodes.registerType('AudioEffectFlange',{
  743. shortName: "flange",
  744. inputs:2,
  745. outputs:2,
  746. category: 'effect-function',
  747. color:"#E6E0F8",
  748. icon: "arrow-in.png"
  749. });
  750. </script>
  751. <script type="text/x-red" data-help-name="AudioEffectFlange">
  752. <h3>Summary</h3>
  753. <p>description</p>
  754. <h3>Audio Connections</h3>
  755. <table class=doc align=center cellpadding=3>
  756. <tr class=top><th>Port</th><th>Purpose</th></tr>
  757. <tr class=odd><td align=center></td><td></td></tr>
  758. </table>
  759. <!--<h3>Parameters</h3>
  760. <table class=doc align=center cellpadding=3>
  761. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  762. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  763. </table>
  764. <p>Extra description... Section only present if object has params</p>-->
  765. <h3>Functions</h3>
  766. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  767. <p class=desc>blah blah blah blah
  768. </p>
  769. <h3>Notes</h3>
  770. <p></p>
  771. </script>
  772. <script type="text/x-red" data-template-name="AudioEffectFlange">
  773. <div class="form-row">
  774. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  775. <input type="text" id="node-input-name" placeholder="Name">
  776. </div>
  777. </script>
  778. <script type="text/javascript">
  779. RED.nodes.registerType('AudioFilterBiquad',{
  780. shortName: "biquad",
  781. inputs:1,
  782. outputs:1,
  783. category: 'filter-function',
  784. color:"#E6E0F8",
  785. icon: "arrow-in.png"
  786. });
  787. </script>
  788. <script type="text/x-red" data-help-name="AudioFilterBiquad">
  789. <h3>Summary</h3>
  790. <p>description</p>
  791. <h3>Audio Connections</h3>
  792. <table class=doc align=center cellpadding=3>
  793. <tr class=top><th>Port</th><th>Purpose</th></tr>
  794. <tr class=odd><td align=center></td><td></td></tr>
  795. </table>
  796. <!--<h3>Parameters</h3>
  797. <table class=doc align=center cellpadding=3>
  798. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  799. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  800. </table>
  801. <p>Extra description... Section only present if object has params</p>-->
  802. <h3>Functions</h3>
  803. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  804. <p class=desc>blah blah blah blah
  805. </p>
  806. <h3>Notes</h3>
  807. <p></p>
  808. </script>
  809. <script type="text/x-red" data-template-name="AudioFilterBiquad">
  810. <div class="form-row">
  811. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  812. <input type="text" id="node-input-name" placeholder="Name">
  813. </div>
  814. </script>
  815. <script type="text/javascript">
  816. RED.nodes.registerType('AudioFilterFIR',{
  817. shortName: "fir",
  818. inputs:1,
  819. outputs:1,
  820. category: 'filter-function',
  821. color:"#E6E0F8",
  822. icon: "arrow-in.png"
  823. });
  824. </script>
  825. <script type="text/x-red" data-help-name="AudioFilterFIR">
  826. <h3>Summary</h3>
  827. <p>description</p>
  828. <h3>Audio Connections</h3>
  829. <table class=doc align=center cellpadding=3>
  830. <tr class=top><th>Port</th><th>Purpose</th></tr>
  831. <tr class=odd><td align=center></td><td></td></tr>
  832. </table>
  833. <!--<h3>Parameters</h3>
  834. <table class=doc align=center cellpadding=3>
  835. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  836. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  837. </table>
  838. <p>Extra description... Section only present if object has params</p>-->
  839. <h3>Functions</h3>
  840. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  841. <p class=desc>blah blah blah blah
  842. </p>
  843. <h3>Notes</h3>
  844. <p></p>
  845. </script>
  846. <script type="text/x-red" data-template-name="AudioFilterFIR">
  847. <div class="form-row">
  848. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  849. <input type="text" id="node-input-name" placeholder="Name">
  850. </div>
  851. </script>
  852. <script type="text/javascript">
  853. RED.nodes.registerType('AudioPeak',{
  854. shortName: "peak",
  855. inputs:1,
  856. outputs:0,
  857. category: 'analyze-function',
  858. color:"#E6E0F8",
  859. icon: "arrow-in.png"
  860. });
  861. </script>
  862. <script type="text/x-red" data-help-name="AudioPeak">
  863. <h3>Summary</h3>
  864. <p>description</p>
  865. <h3>Audio Connections</h3>
  866. <table class=doc align=center cellpadding=3>
  867. <tr class=top><th>Port</th><th>Purpose</th></tr>
  868. <tr class=odd><td align=center></td><td></td></tr>
  869. </table>
  870. <!--<h3>Parameters</h3>
  871. <table class=doc align=center cellpadding=3>
  872. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  873. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  874. </table>
  875. <p>Extra description... Section only present if object has params</p>-->
  876. <h3>Functions</h3>
  877. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  878. <p class=desc>blah blah blah blah
  879. </p>
  880. <h3>Notes</h3>
  881. <p></p>
  882. </script>
  883. <script type="text/x-red" data-template-name="AudioPeak">
  884. <div class="form-row">
  885. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  886. <input type="text" id="node-input-name" placeholder="Name">
  887. </div>
  888. </script>
  889. <script type="text/javascript">
  890. RED.nodes.registerType('AudioAnalyzeFFT256',{
  891. shortName: "fft256",
  892. inputs:1,
  893. outputs:0,
  894. category: 'analyze-function',
  895. color:"#E6E0F8",
  896. icon: "arrow-in.png"
  897. });
  898. </script>
  899. <script type="text/x-red" data-help-name="AudioAnalyzeFFT256">
  900. <h3>Summary</h3>
  901. <p>description</p>
  902. <h3>Audio Connections</h3>
  903. <table class=doc align=center cellpadding=3>
  904. <tr class=top><th>Port</th><th>Purpose</th></tr>
  905. <tr class=odd><td align=center></td><td></td></tr>
  906. </table>
  907. <!--<h3>Parameters</h3>
  908. <table class=doc align=center cellpadding=3>
  909. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  910. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  911. </table>
  912. <p>Extra description... Section only present if object has params</p>-->
  913. <h3>Functions</h3>
  914. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  915. <p class=desc>blah blah blah blah
  916. </p>
  917. <h3>Notes</h3>
  918. <p></p>
  919. </script>
  920. <script type="text/x-red" data-template-name="AudioAnalyzeFFT256">
  921. <div class="form-row">
  922. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  923. <input type="text" id="node-input-name" placeholder="Name">
  924. </div>
  925. </script>
  926. <script type="text/javascript">
  927. RED.nodes.registerType('AudioAnalyzeFFT1024',{
  928. shortName: "fft1024",
  929. inputs:1,
  930. outputs:0,
  931. category: 'analyze-function',
  932. color:"#E6E0F8",
  933. icon: "arrow-in.png"
  934. });
  935. </script>
  936. <script type="text/x-red" data-help-name="AudioAnalyzeFFT1024">
  937. <h3>Summary</h3>
  938. <p>description</p>
  939. <h3>Audio Connections</h3>
  940. <table class=doc align=center cellpadding=3>
  941. <tr class=top><th>Port</th><th>Purpose</th></tr>
  942. <tr class=odd><td align=center></td><td></td></tr>
  943. </table>
  944. <!--<h3>Parameters</h3>
  945. <table class=doc align=center cellpadding=3>
  946. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  947. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  948. </table>
  949. <p>Extra description... Section only present if object has params</p>-->
  950. <h3>Functions</h3>
  951. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  952. <p class=desc>blah blah blah blah
  953. </p>
  954. <h3>Notes</h3>
  955. <p></p>
  956. </script>
  957. <script type="text/x-red" data-template-name="AudioAnalyzeFFT1024">
  958. <div class="form-row">
  959. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  960. <input type="text" id="node-input-name" placeholder="Name">
  961. </div>
  962. </script>
  963. <script type="text/javascript">
  964. RED.nodes.registerType('AudioAnalyzeToneDetect',{
  965. shortName: "tone",
  966. inputs:1,
  967. outputs:0,
  968. category: 'analyze-function',
  969. color:"#E6E0F8",
  970. icon: "arrow-in.png"
  971. });
  972. </script>
  973. <script type="text/x-red" data-help-name="AudioAnalyzeToneDetect">
  974. <h3>Summary</h3>
  975. <p>description</p>
  976. <h3>Audio Connections</h3>
  977. <table class=doc align=center cellpadding=3>
  978. <tr class=top><th>Port</th><th>Purpose</th></tr>
  979. <tr class=odd><td align=center></td><td></td></tr>
  980. </table>
  981. <!--<h3>Parameters</h3>
  982. <table class=doc align=center cellpadding=3>
  983. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  984. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  985. </table>
  986. <p>Extra description... Section only present if object has params</p>-->
  987. <h3>Functions</h3>
  988. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  989. <p class=desc>blah blah blah blah
  990. </p>
  991. <h3>Notes</h3>
  992. <p></p>
  993. </script>
  994. <script type="text/x-red" data-template-name="AudioAnalyzeToneDetect">
  995. <div class="form-row">
  996. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  997. <input type="text" id="node-input-name" placeholder="Name">
  998. </div>
  999. </script>
  1000. <script type="text/javascript">
  1001. RED.nodes.registerType('AudioAnalyzePrint',{
  1002. shortName: "print",
  1003. inputs:1,
  1004. outputs:0,
  1005. category: 'analyze-function',
  1006. color:"#E6E0F8",
  1007. icon: "arrow-in.png"
  1008. });
  1009. </script>
  1010. <script type="text/x-red" data-help-name="AudioAnalyzePrint">
  1011. <h3>Summary</h3>
  1012. <p>description</p>
  1013. <h3>Audio Connections</h3>
  1014. <table class=doc align=center cellpadding=3>
  1015. <tr class=top><th>Port</th><th>Purpose</th></tr>
  1016. <tr class=odd><td align=center></td><td></td></tr>
  1017. </table>
  1018. <!--<h3>Parameters</h3>
  1019. <table class=doc align=center cellpadding=3>
  1020. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  1021. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  1022. </table>
  1023. <p>Extra description... Section only present if object has params</p>-->
  1024. <h3>Functions</h3>
  1025. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  1026. <p class=desc>blah blah blah blah
  1027. </p>
  1028. <h3>Notes</h3>
  1029. <p></p>
  1030. </script>
  1031. <script type="text/x-red" data-template-name="AudioAnalyzePrint">
  1032. <div class="form-row">
  1033. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  1034. <input type="text" id="node-input-name" placeholder="Name">
  1035. </div>
  1036. </script>
  1037. <script type="text/javascript">
  1038. RED.nodes.registerType('AudioControlSGTL5000',{
  1039. shortName: "sgtl5000",
  1040. inputs:0,
  1041. outputs:0,
  1042. category: 'control-function',
  1043. color:"#E6E0F8",
  1044. icon: "arrow-in.png"
  1045. });
  1046. </script>
  1047. <script type="text/x-red" data-help-name="AudioControlSGTL5000">
  1048. <h3>Summary</h3>
  1049. <p>description</p>
  1050. <h3>Audio Connections</h3>
  1051. <table class=doc align=center cellpadding=3>
  1052. <tr class=top><th>Port</th><th>Purpose</th></tr>
  1053. <tr class=odd><td align=center></td><td></td></tr>
  1054. </table>
  1055. <!--<h3>Parameters</h3>
  1056. <table class=doc align=center cellpadding=3>
  1057. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  1058. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  1059. </table>
  1060. <p>Extra description... Section only present if object has params</p>-->
  1061. <h3>Functions</h3>
  1062. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  1063. <p class=desc>blah blah blah blah
  1064. </p>
  1065. <h3>Notes</h3>
  1066. <p></p>
  1067. </script>
  1068. <script type="text/x-red" data-template-name="AudioControlSGTL5000">
  1069. <div class="form-row">
  1070. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  1071. <input type="text" id="node-input-name" placeholder="Name">
  1072. </div>
  1073. </script>
  1074. <script type="text/javascript">
  1075. RED.nodes.registerType('AudioControlWM8731',{
  1076. shortName: "wm8731",
  1077. inputs:0,
  1078. outputs:0,
  1079. category: 'control-function',
  1080. color:"#E6E0F8",
  1081. icon: "arrow-in.png"
  1082. });
  1083. </script>
  1084. <script type="text/x-red" data-help-name="AudioControlWM8731">
  1085. <h3>Summary</h3>
  1086. <p>description</p>
  1087. <h3>Audio Connections</h3>
  1088. <table class=doc align=center cellpadding=3>
  1089. <tr class=top><th>Port</th><th>Purpose</th></tr>
  1090. <tr class=odd><td align=center></td><td></td></tr>
  1091. </table>
  1092. <!--<h3>Parameters</h3>
  1093. <table class=doc align=center cellpadding=3>
  1094. <tr class=top><th>Name</th><th>Type</th><th>Function</th></tr>
  1095. <tr class=odd><td align=center></td><td>Integer</td><td></td></tr>
  1096. </table>
  1097. <p>Extra description... Section only present if object has params</p>-->
  1098. <h3>Functions</h3>
  1099. <p class=func><span class=keyword>function</span>(parm1, parm2);</p>
  1100. <p class=desc>blah blah blah blah
  1101. </p>
  1102. <h3>Notes</h3>
  1103. <p></p>
  1104. </script>
  1105. <script type="text/x-red" data-template-name="AudioControlWM8731">
  1106. <div class="form-row">
  1107. <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
  1108. <input type="text" id="node-input-name" placeholder="Name">
  1109. </div>
  1110. </script>