effect-web-midi 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.md +276 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/src/EMIDIAccess.js +129 -0
  5. package/dist/src/EMIDIAccess.js.map +1 -0
  6. package/dist/src/EMIDIInput.js +226 -0
  7. package/dist/src/EMIDIInput.js.map +1 -0
  8. package/dist/src/EMIDIOutput.js +227 -0
  9. package/dist/src/EMIDIOutput.js.map +1 -0
  10. package/dist/src/EMIDIPort.js +218 -0
  11. package/dist/src/EMIDIPort.js.map +1 -0
  12. package/dist/src/MIDIErrors.js +4 -0
  13. package/dist/src/MIDIErrors.js.map +1 -0
  14. package/dist/src/MIDIEventStreams.js +2 -0
  15. package/dist/src/MIDIEventStreams.js.map +1 -0
  16. package/dist/src/Parsing.js +2 -0
  17. package/dist/src/Parsing.js.map +1 -0
  18. package/dist/src/StreamMaker.js +1 -0
  19. package/dist/src/StreamMaker.js.map +1 -0
  20. package/dist/src/Util.js +2 -0
  21. package/dist/src/Util.js.map +1 -0
  22. package/dist/src/index.js +10 -0
  23. package/dist/src/index.js.map +1 -0
  24. package/dist/src/internal/EMIDIAccess.js +634 -0
  25. package/dist/src/internal/EMIDIAccess.js.map +1 -0
  26. package/dist/src/internal/EMIDIInput.js +66 -0
  27. package/dist/src/internal/EMIDIInput.js.map +1 -0
  28. package/dist/src/internal/EMIDIOutput.js +120 -0
  29. package/dist/src/internal/EMIDIOutput.js.map +1 -0
  30. package/dist/src/internal/EMIDIPort.js +125 -0
  31. package/dist/src/internal/EMIDIPort.js.map +1 -0
  32. package/dist/src/internal/MIDIErrors.js +190 -0
  33. package/dist/src/internal/MIDIErrors.js.map +1 -0
  34. package/dist/src/internal/MIDIEventStreams.js +41 -0
  35. package/dist/src/internal/MIDIEventStreams.js.map +1 -0
  36. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.js +27 -0
  37. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.js.map +1 -0
  38. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js +19 -0
  39. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js.map +1 -0
  40. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js +16 -0
  41. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js.map +1 -0
  42. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js +17 -0
  43. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js.map +1 -0
  44. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.js +27 -0
  45. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.js.map +1 -0
  46. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js +18 -0
  47. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js.map +1 -0
  48. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js +16 -0
  49. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js.map +1 -0
  50. package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js +21 -0
  51. package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js.map +1 -0
  52. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.js +34 -0
  53. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.js.map +1 -0
  54. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js +18 -0
  55. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js.map +1 -0
  56. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js +16 -0
  57. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js.map +1 -0
  58. package/dist/src/internal/Parsing.js +119 -0
  59. package/dist/src/internal/Parsing.js.map +1 -0
  60. package/dist/src/internal/StreamMaker.js +105 -0
  61. package/dist/src/internal/StreamMaker.js.map +1 -0
  62. package/dist/src/internal/Util.js +59 -0
  63. package/dist/src/internal/Util.js.map +1 -0
  64. package/dist/src/internal/getPortByPortId/getPortByPortIdAndAccess.js +53 -0
  65. package/dist/src/internal/getPortByPortId/getPortByPortIdAndAccess.js.map +1 -0
  66. package/dist/src/internal/getPortByPortId/getPortByPortIdInContext.js +18 -0
  67. package/dist/src/internal/getPortByPortId/getPortByPortIdInContext.js.map +1 -0
  68. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js +52 -0
  69. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js.map +1 -0
  70. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js +21 -0
  71. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js.map +1 -0
  72. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js +21 -0
  73. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js.map +1 -0
  74. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.js +66 -0
  75. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.js.map +1 -0
  76. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js +61 -0
  77. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js.map +1 -0
  78. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js +68 -0
  79. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js.map +1 -0
  80. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.js +42 -0
  81. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.js.map +1 -0
  82. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js +43 -0
  83. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js.map +1 -0
  84. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js +33 -0
  85. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js.map +1 -0
  86. package/dist/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.js +6 -0
  87. package/dist/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.js.map +1 -0
  88. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.js +46 -0
  89. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.js.map +1 -0
  90. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js +25 -0
  91. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js.map +1 -0
  92. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js +31 -0
  93. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js.map +1 -0
  94. package/dist-types/index.d.ts +2 -0
  95. package/dist-types/index.d.ts.map +1 -0
  96. package/dist-types/src/EMIDIAccess.d.ts +18 -0
  97. package/dist-types/src/EMIDIAccess.d.ts.map +1 -0
  98. package/dist-types/src/EMIDIInput.d.ts +26 -0
  99. package/dist-types/src/EMIDIInput.d.ts.map +1 -0
  100. package/dist-types/src/EMIDIOutput.d.ts +26 -0
  101. package/dist-types/src/EMIDIOutput.d.ts.map +1 -0
  102. package/dist-types/src/EMIDIPort.d.ts +26 -0
  103. package/dist-types/src/EMIDIPort.d.ts.map +1 -0
  104. package/dist-types/src/MIDIErrors.d.ts +2 -0
  105. package/dist-types/src/MIDIErrors.d.ts.map +1 -0
  106. package/dist-types/src/MIDIEventStreams.d.ts +2 -0
  107. package/dist-types/src/MIDIEventStreams.d.ts.map +1 -0
  108. package/dist-types/src/Parsing.d.ts +2 -0
  109. package/dist-types/src/Parsing.d.ts.map +1 -0
  110. package/dist-types/src/StreamMaker.d.ts +2 -0
  111. package/dist-types/src/StreamMaker.d.ts.map +1 -0
  112. package/dist-types/src/Util.d.ts +2 -0
  113. package/dist-types/src/Util.d.ts.map +1 -0
  114. package/dist-types/src/index.d.ts +10 -0
  115. package/dist-types/src/index.d.ts.map +1 -0
  116. package/dist-types/src/internal/EMIDIAccess.d.ts +551 -0
  117. package/dist-types/src/internal/EMIDIAccess.d.ts.map +1 -0
  118. package/dist-types/src/internal/EMIDIInput.d.ts +50 -0
  119. package/dist-types/src/internal/EMIDIInput.d.ts.map +1 -0
  120. package/dist-types/src/internal/EMIDIOutput.d.ts +95 -0
  121. package/dist-types/src/internal/EMIDIOutput.d.ts.map +1 -0
  122. package/dist-types/src/internal/EMIDIPort.d.ts +90 -0
  123. package/dist-types/src/internal/EMIDIPort.d.ts.map +1 -0
  124. package/dist-types/src/internal/MIDIErrors.d.ts +270 -0
  125. package/dist-types/src/internal/MIDIErrors.d.ts.map +1 -0
  126. package/dist-types/src/internal/MIDIEventStreams.d.ts +74 -0
  127. package/dist-types/src/internal/MIDIEventStreams.d.ts.map +1 -0
  128. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.d.ts +16 -0
  129. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.d.ts.map +1 -0
  130. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts +15 -0
  131. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts.map +1 -0
  132. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.d.ts +13 -0
  133. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.d.ts.map +1 -0
  134. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts +11 -0
  135. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts.map +1 -0
  136. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.d.ts +23 -0
  137. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.d.ts.map +1 -0
  138. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.d.ts +15 -0
  139. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.d.ts.map +1 -0
  140. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.d.ts +13 -0
  141. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.d.ts.map +1 -0
  142. package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts +15 -0
  143. package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts.map +1 -0
  144. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.d.ts +21 -0
  145. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.d.ts.map +1 -0
  146. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.d.ts +15 -0
  147. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.d.ts.map +1 -0
  148. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.d.ts +13 -0
  149. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.d.ts.map +1 -0
  150. package/dist-types/src/internal/Parsing.d.ts +110 -0
  151. package/dist-types/src/internal/Parsing.d.ts.map +1 -0
  152. package/dist-types/src/internal/StreamMaker.d.ts +204 -0
  153. package/dist-types/src/internal/StreamMaker.d.ts.map +1 -0
  154. package/dist-types/src/internal/Util.d.ts +33 -0
  155. package/dist-types/src/internal/Util.d.ts.map +1 -0
  156. package/dist-types/src/internal/getPortByPortId/getPortByPortIdAndAccess.d.ts +27 -0
  157. package/dist-types/src/internal/getPortByPortId/getPortByPortIdAndAccess.d.ts.map +1 -0
  158. package/dist-types/src/internal/getPortByPortId/getPortByPortIdInContext.d.ts +20 -0
  159. package/dist-types/src/internal/getPortByPortId/getPortByPortIdInContext.d.ts.map +1 -0
  160. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts +76 -0
  161. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts.map +1 -0
  162. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts +39 -0
  163. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts.map +1 -0
  164. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts +29 -0
  165. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts.map +1 -0
  166. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.d.ts +62 -0
  167. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.d.ts.map +1 -0
  168. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.d.ts +16 -0
  169. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.d.ts.map +1 -0
  170. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.d.ts +65 -0
  171. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.d.ts.map +1 -0
  172. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.d.ts +36 -0
  173. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.d.ts.map +1 -0
  174. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.d.ts +23 -0
  175. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.d.ts.map +1 -0
  176. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.d.ts +35 -0
  177. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.d.ts.map +1 -0
  178. package/dist-types/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.d.ts +7 -0
  179. package/dist-types/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.d.ts.map +1 -0
  180. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.d.ts +71 -0
  181. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.d.ts.map +1 -0
  182. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.d.ts +7 -0
  183. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.d.ts.map +1 -0
  184. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.d.ts +28 -0
  185. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.d.ts.map +1 -0
  186. package/index.ts +1 -0
  187. package/package.json +87 -0
  188. package/src/EMIDIAccess.ts +285 -0
  189. package/src/EMIDIInput.ts +273 -0
  190. package/src/EMIDIOutput.ts +272 -0
  191. package/src/EMIDIPort.ts +270 -0
  192. package/src/MIDIErrors.ts +13 -0
  193. package/src/MIDIEventStreams.ts +36 -0
  194. package/src/Parsing.ts +32 -0
  195. package/src/StreamMaker.ts +12 -0
  196. package/src/Util.ts +19 -0
  197. package/src/index.ts +9 -0
  198. package/src/internal/EMIDIAccess.ts +1280 -0
  199. package/src/internal/EMIDIInput.ts +114 -0
  200. package/src/internal/EMIDIOutput.ts +231 -0
  201. package/src/internal/EMIDIPort.ts +239 -0
  202. package/src/internal/MIDIErrors.ts +260 -0
  203. package/src/internal/MIDIEventStreams.ts +255 -0
  204. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.ts +48 -0
  205. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts +31 -0
  206. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.ts +28 -0
  207. package/src/internal/MIDIPortMethodCalls/actOnPort.ts +66 -0
  208. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.ts +38 -0
  209. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.ts +38 -0
  210. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.ts +28 -0
  211. package/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts +68 -0
  212. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.ts +48 -0
  213. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.ts +38 -0
  214. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.ts +28 -0
  215. package/src/internal/Parsing.ts +304 -0
  216. package/src/internal/StreamMaker.ts +416 -0
  217. package/src/internal/Util.ts +152 -0
  218. package/src/internal/getPortByPortId/getPortByPortIdAndAccess.ts +117 -0
  219. package/src/internal/getPortByPortId/getPortByPortIdInContext.ts +26 -0
  220. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts +148 -0
  221. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts +135 -0
  222. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts +70 -0
  223. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.ts +128 -0
  224. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.ts +74 -0
  225. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.ts +132 -0
  226. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.ts +64 -0
  227. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.ts +114 -0
  228. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.ts +47 -0
  229. package/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.ts +12 -0
  230. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.ts +182 -0
  231. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.ts +29 -0
  232. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.ts +87 -0
package/README.md ADDED
@@ -0,0 +1,276 @@
1
+ # Effect Web MIDI API wrapper
2
+
3
+ Huge thanks to [Web MIDI spec](https://www.w3.org/TR/webmidi/)!
4
+
5
+ ## Early Adopters
6
+
7
+ 1. Etude ([GitHub](https://github.com/MichaelVessia/etude), [Web
8
+ site](https://etude.vessia.net/)) -- A self-hosted piano practice tool built
9
+ by Michael Vessia ([GitHub @michaelvessia](https://github.com/michaelvessia),
10
+ [Web Site](https://vessia.net/)) that scores your performance against sheet
11
+ music. Connect a MIDI keyboard, load a piece, play through it, and get
12
+ real-time feedback on accuracy.
13
+ 2. And, hopefully, You 😉 🫶 Please 🙏
14
+
15
+ ## Potential Adopters
16
+
17
+ 1. [chris-albert/midi-structor](https://github.com/chris-albert/midi-structor)
18
+ 2. [Search on GitHub for `effect` and `requestMIDIAccess`...](https://github.com/search?q=%2F%28from+%7Crequire%5C%28%29%5B%27%22%5D%40%3Feffect%5B%27%22%5C%2F%5D%2F+language%3Atypescript+NOT+is%3Afork+requestMIDIAccess+NOT+owner%3Anikelborm&type=code)
19
+
20
+ ## Devices the lib was manually tested on
21
+
22
+ 1. [Novation Launchpad X](https://novationmusic.com/products/launchpad-x)
23
+ 2. KORG NanoPad v1
24
+ 3. If you tested it on some devices not listed here, feel free to report your results through [GitHub issues](https://github.com/nikelborm/effect-garden/issues)
25
+
26
+ ## Demo
27
+
28
+ ```ts
29
+ 'use client';
30
+ import { Atom, Result, useAtom, useAtomValue } from '@effect-atom/atom-react';
31
+ import { styled } from '@linaria/react';
32
+ import * as Cause from 'effect/Cause';
33
+ import * as Console from 'effect/Console';
34
+ import * as Effect from 'effect/Effect';
35
+ import { flow, pipe } from 'effect/Function';
36
+ import * as Record from 'effect/Record';
37
+ import * as Stream from 'effect/Stream';
38
+ import * as EMIDIAccess from 'effect-web-midi/EMIDIAccess';
39
+ import * as EMIDIInput from 'effect-web-midi/EMIDIInput';
40
+ import * as EMIDIOutput from 'effect-web-midi/EMIDIOutput';
41
+ import * as EMIDIPort from 'effect-web-midi/EMIDIPort';
42
+ import * as Parsing from 'effect-web-midi/Parsing';
43
+ import * as Util from 'effect-web-midi/Util';
44
+
45
+ const nanoPadInputId = EMIDIInput.Id(
46
+ '380CB1F6BC0A21C5AAA0CDF95170A996937337454636CDDE223EEA6812283B07'
47
+ );
48
+
49
+ const nanoPadOutputId = EMIDIOutput.Id(
50
+ '045297AACE044DA224B59E92DBC0E874160B85D0D43BE505CBB053747F4AA90A'
51
+ );
52
+
53
+ const globalDataDumpRequest = new Uint8Array([
54
+ 0xf0, 0x42, 0x40 /* 4g */,
55
+ //
56
+ 0x00, 0x01, 0x03, 0x00,
57
+ //
58
+ 0x1f, 0x0e, 0x00, 0xf7,
59
+ ]);
60
+
61
+ const _MIDIDeviceConnectionEventsStringLog = pipe(
62
+ // The lib supports both ways of working with access. You can either work with
63
+ // its instance directly, or provide it through DI. All of the functions have
64
+ // equivalents supporting both approaches. In this case we work with it directly
65
+ EMIDIAccess.request(),
66
+ // ⬆️ Effect<
67
+ // EMIDIAccess.EMIDIAccessInstance,
68
+ // | AbortError
69
+ // | UnderlyingSystemError
70
+ // | MIDIAccessNotSupportedError
71
+ // | MIDIAccessNotAllowedError,
72
+ // never
73
+ // >
74
+ Effect.catchTag(
75
+ 'MIDIAccessNotSupportedError',
76
+ flow(Console.log, Effect.andThen(Effect.never))
77
+ ),
78
+ // notice that function below consumed access. It can consume access
79
+ // regardless if it's wrapped in effect or not. It also has both
80
+ // data-first and data-last signatures supported. Every function in this lib
81
+ // conforms that rule
82
+ EMIDIAccess.makeAllPortsStateChangesStream(),
83
+ // ⬆️ Stream<
84
+ // {
85
+ // readonly _tag: "MIDIPortStateChange";
86
+ // readonly cameFrom: EMIDIAccess.EMIDIAccessInstance;
87
+ // readonly capturedAt: Date;
88
+ // readonly newState: {
89
+ // readonly ofDevice: MIDIPortDeviceState;
90
+ // readonly ofConnection: MIDIPortConnectionState;
91
+ // };
92
+ // readonly port: EMIDIOutput | EMIDIInput;
93
+ // },
94
+ // | AbortError
95
+ // | UnderlyingSystemError
96
+ // | MIDIAccessNotAllowedError,
97
+ // never
98
+ // >
99
+ // This is just a helper to render a list of objects to a string in nice-ish way
100
+ Util.mapToGlidingStringLogOfLimitedEntriesCount(50, 'latestFirst', (_) => ({
101
+ time: _.capturedAt.toISOString(),
102
+ id: _.port.id.slice(-10),
103
+ device: _.newState.ofDevice.padStart(12),
104
+ connection: _.newState.ofConnection.padStart(7),
105
+ }))
106
+ // ⬆️ Stream<
107
+ // string,
108
+ // | AbortError
109
+ // | UnderlyingSystemError
110
+ // | MIDIAccessNotAllowedError,
111
+ // never
112
+ // >
113
+ );
114
+
115
+ const MIDIMessageEventsStringLog = pipe(
116
+ // if the ID below turned out to be output's, it would cause defect (by design),
117
+ // because messages can only come from inputs. Notice that instead of demanding
118
+ // access from arguments, this particular method expects it to be provided in
119
+ // requirements.
120
+ EMIDIInput.makeMessagesStreamById(nanoPadInputId),
121
+ // ⬆️ Stream<
122
+ // {
123
+ // readonly _tag: "MIDIMessage";
124
+ // readonly cameFrom: EMIDIInput;
125
+ // readonly capturedAt: Date;
126
+ // readonly midiMessage: Uint8Array<ArrayBuffer>;
127
+ // },
128
+ // PortNotFoundError,
129
+ // EMIDIAccess
130
+ // >
131
+ Parsing.withParsedDataField,
132
+ // ⬆️ Stream<
133
+ // {
134
+ // readonly _tag: "ParsedMIDIMessage";
135
+ // readonly cameFrom: EMIDIInput;
136
+ // readonly capturedAt: Date;
137
+ // readonly midiMessage: | NoteRelease
138
+ // | NotePress
139
+ // | UnknownReply
140
+ // | ControlChange
141
+ // | TouchpadRelease
142
+ // | PitchBendChange
143
+ // },
144
+ // PortNotFoundError,
145
+ // EMIDIAccess
146
+ // >
147
+ // function below adds new member to the midiMessage union inferred from
148
+ // ControlChange, PitchBendChange, and TouchpadRelease
149
+ Parsing.withTouchpadPositionUpdates,
150
+ Stream.filter(
151
+ (a) =>
152
+ a.midiMessage._tag === 'Touchpad Position Update' ||
153
+ a.midiMessage._tag === 'Touchpad Release' ||
154
+ a.midiMessage._tag === 'Note Press' ||
155
+ a.midiMessage._tag === 'Note Release'
156
+ ),
157
+ // Just for the demo, show only select list of events
158
+ Util.mapToGlidingStringLogOfLimitedEntriesCount(
159
+ 50,
160
+ 'latestFirst',
161
+ (current) => ({
162
+ time: current.capturedAt.toISOString(),
163
+ id: current.cameFrom.id.slice(-10),
164
+ ...current.midiMessage,
165
+ })
166
+ ),
167
+ // ⬆️ Stream<string, PortNotFoundError, EMIDIAccess>
168
+ Stream.catchTag('PortNotFound', (err) =>
169
+ Stream.fromEffect(
170
+ EMIDIPort.FullRecord.pipe(
171
+ // ⬆️ Effect<
172
+ // {
173
+ // [id: EMIDIPort.Id<'input'>]: EMIDIPort<'input'>
174
+ // } & {
175
+ // [id: EMIDIPort.Id<'output'>]: EMIDIPort<'output'>
176
+ // },
177
+ // never,
178
+ // EMIDIAccess.EMIDIAccess
179
+ // >
180
+ Effect.map(
181
+ Record.reduce(
182
+ `Port with id=${err.portId} is not found. Currently available ports: \n`,
183
+ (acc, { type, version, name }, id) =>
184
+ acc + type.padEnd(7) + id + ' ' + version + ' ' + name + '\n'
185
+ )
186
+ ),
187
+ Effect.flatMap(Console.log),
188
+ Effect.andThen(
189
+ `KORG nanoPAD not found in the list of connected devices`
190
+ )
191
+ )
192
+ )
193
+ ),
194
+ // ⬆️ Stream.Stream<string, never, EMIDIAccess>
195
+ Stream.provideLayer(EMIDIAccess.layerSystemExclusiveSupported),
196
+ // ⬆️ Stream.Stream<
197
+ // string,
198
+ // | AbortError
199
+ // | UnderlyingSystemError
200
+ // | MIDIAccessNotSupportedError
201
+ // | MIDIAccessNotAllowedError,
202
+ // never
203
+ // >
204
+ Stream.catchTag('MIDIAccessNotSupportedError', (e) =>
205
+ Stream.succeed(e.cause.message)
206
+ )
207
+ );
208
+
209
+ const dumpRequester = Atom.fn(() =>
210
+ // A particular example of methods flexibility. Here EMIDIAccess.send is a
211
+ // data-first signature and accepts EMIDIAccess wrapped by Effect
212
+ EMIDIAccess.send(
213
+ EMIDIAccess.request({ sysex: true }),
214
+ // ⬆️ Effect.Effect<
215
+ // EMIDIAccess.EMIDIAccessInstance,
216
+ // | AbortError
217
+ // | UnderlyingSystemError
218
+ // | MIDIAccessNotAllowedError
219
+ // | MIDIAccessNotSupportedError,
220
+ // never
221
+ // >
222
+ nanoPadOutputId,
223
+ // ⬆️ string & Brand<"MIDIPortId"> & Brand<"output">
224
+ globalDataDumpRequest
225
+ // ⬆️ Uint8Array<ArrayBuffer>
226
+ )
227
+ );
228
+
229
+ const textAtom = Atom.make(
230
+ // MIDIDeviceConnectionEventsStringLog,
231
+ MIDIMessageEventsStringLog
232
+ ).pipe(Atom.keepAlive);
233
+
234
+ export default function Home() {
235
+ const text = useAtomValue(textAtom);
236
+ console.log(text);
237
+ const [, mutate] = useAtom(dumpRequester);
238
+
239
+ return (
240
+ <Wrapper>
241
+ <form
242
+ onSubmit={(event) => {
243
+ event.preventDefault();
244
+ mutate();
245
+ }}
246
+ >
247
+ <input type='submit' value='dump' />
248
+ </form>
249
+
250
+ {Result.match(text, {
251
+ onFailure: (_) => (
252
+ <>
253
+ failure:
254
+ <br />
255
+ {Cause.pretty(_.cause)}
256
+ </>
257
+ ),
258
+ onInitial: (e) => <>initial waiting: {e.waiting.toString()}</>,
259
+ onSuccess: (s) => <pre>{s.value}</pre>,
260
+ })}
261
+ </Wrapper>
262
+ );
263
+ }
264
+
265
+ const Wrapper = styled.div`
266
+ color: wheat;
267
+ `;
268
+ ```
269
+
270
+ <img width="1567" height="946" alt="Screenshot From 2025-12-29 01-46-34" src="https://github.com/user-attachments/assets/7411d393-0ef4-485a-954d-0d8d4e56a42e" />
271
+
272
+ ![photo_2025-11-17_22-00-08](https://github.com/user-attachments/assets/e45ead32-6675-4fed-aff3-aeb416ba8ead)
273
+
274
+ ## TODO
275
+
276
+ 1. tests ([useful example](https://chromium-review.googlesource.com/c/chromium/src/+/7242095/1/third_party/blink/web_tests/wpt_internal/webmidi/requestmidiaccess.https.html))
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './src/index.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,129 @@
1
+ export { AllPortsArray, AllPortsRecord, assert, clearPortById, EMIDIAccess, getAllPortsArray, getAllPortsRecord, getInputsArray, getInputsRecord, getOutputsArray, getOutputsRecord, InputsArray, InputsRecord, is, layer, layerMostRestricted, layerSoftwareSynthSupported, layerSystemExclusiveAndSoftwareSynthSupported, layerSystemExclusiveSupported, makeAllPortsStateChangesStream, makeAllPortsStateChangesStreamInContext, makeMessagesStreamByInputId, makeMessagesStreamByInputIdAndAccess, OutputsArray, OutputsRecord, request, send, sendInContext, sendToPortById, } from './internal/EMIDIAccess.js';
2
+ // export {
3
+ // assert,
4
+ // type EMIDIInput,
5
+ // is,
6
+ // make,
7
+ // makeMessagesStreamByPort,
8
+ // type PolymorphicInput,
9
+ // type PolymorphicInputClean,
10
+ // } from './internal/EMIDIInput.ts'
11
+ // export {
12
+ // assert,
13
+ // clear,
14
+ // type DualSendMIDIMessageFromPort,
15
+ // type EMIDIOutput,
16
+ // is,
17
+ // make,
18
+ // type PolymorphicOutput,
19
+ // type PolymorphicOutputClean,
20
+ // type SendFromPortArgs,
21
+ // type SendMIDIMessagePortFirst,
22
+ // type SendMIDIMessagePortLast,
23
+ // type SentMessageEffectFromPort,
24
+ // send,
25
+ // } from './internal/EMIDIOutput.ts'
26
+ // export {
27
+ // assert,
28
+ // assumeImpl,
29
+ // type EMIDIPort,
30
+ // BothId,
31
+ // type Id,
32
+ // type EMIDIPortImpl,
33
+ // type ExtractTypeFromPort,
34
+ // is,
35
+ // isImplOfSpecificType,
36
+ // makeImpl,
37
+ // type PolymorphicPort,
38
+ // type PolymorphicPortClean,
39
+ // type TypeId,
40
+ // } from './internal/EMIDIPort.ts'
41
+ export { getInputByPortIdAndAccess as getInputByIdInPipe, getOutputByPortIdAndAccess as getOutputByIdInPipe, getPortByPortIdAndAccess as getPortByIdInPipe, } from './internal/getPortByPortId/getPortByPortIdAndAccess.js';
42
+ export { getInputByPortIdInContext as getInputById, getOutputByPortIdInContext as getOutputById, getPortByPortIdInContext as getPortById, } from './internal/getPortByPortId/getPortByPortIdInContext.js';
43
+ // export {
44
+ // acquireReleaseInputConnectionByPort,
45
+ // acquireReleaseOutputConnectionByPort,
46
+ // acquireReleasePortConnectionByPort,
47
+ // } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.ts'
48
+ export { acquireReleaseInputConnectionByPortIdAndAccess as acquireReleaseInputConnectionByIdInPipe, acquireReleaseOutputConnectionByPortIdAndAccess as acquireReleaseOutputConnectionByIdInPipe, acquireReleasePortConnectionByPortIdAndAccess as acquireReleasePortConnectionByIdInPipe, } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js';
49
+ export { acquireReleaseInputConnectionByPortIdInContext as acquireReleaseInputConnectionById, acquireReleaseOutputConnectionByPortIdInContext as acquireReleaseOutputConnectionById, acquireReleasePortConnectionByPortIdInContext as acquireReleasePortConnectionById, } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js';
50
+ // export { actOnPort } from './internal/MIDIPortMethodCalls/actOnPort.ts'
51
+ // export {
52
+ // closeInputConnectionByPort,
53
+ // closeOutputConnectionByPort,
54
+ // closePortConnectionByPort,
55
+ // makePortConnectionCloser,
56
+ // } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.ts'
57
+ export { closeInputConnectionByPortIdAndAccess as closeInputConnectionByIdInPipe, closeOutputConnectionByPortIdAndAccess as closeOutputConnectionByIdInPipe, closePortConnectionByPortIdAndAccess as closePortConnectionByIdInPipe, } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js';
58
+ export { closeInputConnectionByPortIdInContext as closeInputConnectionById, closeOutputConnectionByPortIdInContext as closeOutputConnectionById, closePortConnectionByPortIdInContext as closePortConnectionById, } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js';
59
+ // export {
60
+ // makeMIDIPortMethodCallerFactory,
61
+ // type TouchPort,
62
+ // } from './internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts'
63
+ // export {
64
+ // makePortConnectionOpener,
65
+ // openInputConnectionByPort,
66
+ // openOutputConnectionByPort,
67
+ // openPortConnectionByPort,
68
+ // } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.ts'
69
+ export { openInputConnectionByPortIdAndAccess as openInputConnectionByIdInPipe, openOutputConnectionByPortIdAndAccess as openOutputConnectionByIdInPipe, openPortConnectionByPortIdAndAccess as openPortConnectionByIdInPipe, } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js';
70
+ export { openInputConnectionByPortIdInContext as openInputConnectionById, openOutputConnectionByPortIdInContext as openOutputConnectionById, openPortConnectionByPortIdInContext as openPortConnectionById, } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js';
71
+ // export {
72
+ // type DualMakeStateChangesStream,
73
+ // type MakeStateChangesStreamPortFirst,
74
+ // type MakeStateChangesStreamPortLast,
75
+ // makeInputStateChangesStreamByPort,
76
+ // makeOutputStateChangesStreamByPort,
77
+ // makePortStateChangesStreamByPort,
78
+ // type StateChangesStream,
79
+ // } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts'
80
+ export { makeInputStateChangesStreamByPortIdAndAccess as makeInputStateChangesStreamByIdInPipe, makeOutputStateChangesStreamByPortIdAndAccess as makeOutputStateChangesStreamByIdInPipe, makePortStateChangesStreamByPortIdAndAccess as makePortStateChangesStreamByIdInPipe, } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js';
81
+ export { makeInputStateChangesStreamByPortIdInContext as makeInputStateChangesStreamById, makeOutputStateChangesStreamByPortIdInContext as makeOutputStateChangesStreamById, makePortStateChangesStreamByPortIdInContext as makePortStateChangesStreamById, } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js';
82
+ // export {
83
+ // isInputConnectionClosedByPort,
84
+ // isInputConnectionOpenByPort,
85
+ // isInputConnectionPendingByPort,
86
+ // isInputDeviceConnectedByPort,
87
+ // isInputDeviceDisconnectedByPort,
88
+ // isOutputConnectionClosedByPort,
89
+ // isOutputConnectionOpenByPort,
90
+ // isOutputConnectionPendingByPort,
91
+ // isOutputDeviceConnectedByPort,
92
+ // isOutputDeviceDisconnectedByPort,
93
+ // isPortConnectionClosedByPort,
94
+ // isPortConnectionOpenByPort,
95
+ // isPortConnectionPendingByPort,
96
+ // isPortDeviceConnectedByPort,
97
+ // isPortDeviceDisconnectedByPort,
98
+ // } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.ts'
99
+ export { isInputConnectionClosedByPortIdAndAccess as isInputConnectionClosedByIdInPipe, isInputConnectionOpenByPortIdAndAccess as isInputConnectionOpenByIdInPipe, isInputConnectionPendingByPortIdAndAccess as isInputConnectionPendingByIdInPipe, isInputDeviceConnectedByPortIdAndAccess as isInputDeviceConnectedByIdInPipe, isInputDeviceDisconnectedByPortIdAndAccess as isInputDeviceDisconnectedByIdInPipe, isOutputConnectionClosedByPortIdAndAccess as isOutputConnectionClosedByIdInPipe, isOutputConnectionOpenByPortIdAndAccess as isOutputConnectionOpenByIdInPipe, isOutputConnectionPendingByPortIdAndAccess as isOutputConnectionPendingByIdInPipe, isOutputDeviceConnectedByPortIdAndAccess as isOutputDeviceConnectedByIdInPipe, isOutputDeviceDisconnectedByPortIdAndAccess as isOutputDeviceDisconnectedByIdInPipe, isPortConnectionClosedByPortIdAndAccess as isPortConnectionClosedByIdInPipe, isPortConnectionOpenByPortIdAndAccess as isPortConnectionOpenByIdInPipe, isPortConnectionPendingByPortIdAndAccess as isPortConnectionPendingByIdInPipe, isPortDeviceConnectedByPortIdAndAccess as isPortDeviceConnectedByIdInPipe, isPortDeviceDisconnectedByPortIdAndAccess as isPortDeviceDisconnectedByIdInPipe, } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js';
100
+ export { isInputConnectionClosedByPortIdInContext as isInputConnectionClosedById, isInputConnectionOpenByPortIdInContext as isInputConnectionOpenById, isInputConnectionPendingByPortIdInContext as isInputConnectionPendingById, isInputDeviceConnectedByPortIdInContext as isInputDeviceConnectedById, isInputDeviceDisconnectedByPortIdInContext as isInputDeviceDisconnectedById, isOutputConnectionClosedByPortIdInContext as isOutputConnectionClosedById, isOutputConnectionOpenByPortIdInContext as isOutputConnectionOpenById, isOutputConnectionPendingByPortIdInContext as isOutputConnectionPendingById, isOutputDeviceConnectedByPortIdInContext as isOutputDeviceConnectedById, isOutputDeviceDisconnectedByPortIdInContext as isOutputDeviceDisconnectedById, isPortConnectionClosedByPortIdInContext as isPortConnectionClosedById, isPortConnectionOpenByPortIdInContext as isPortConnectionOpenById, isPortConnectionPendingByPortIdInContext as isPortConnectionPendingById, isPortDeviceConnectedByPortIdInContext as isPortDeviceConnectedById, isPortDeviceDisconnectedByPortIdInContext as isPortDeviceDisconnectedById, } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js';
101
+ // export {
102
+ // getInputConnectionStateByPort,
103
+ // getInputDeviceStateByPort,
104
+ // getOutputConnectionStateByPort,
105
+ // getOutputDeviceStateByPort,
106
+ // getPortConnectionStateByPort,
107
+ // getPortDeviceStateByPort,
108
+ // } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.ts'
109
+ export { getInputConnectionStateByPortIdAndAccess as getInputConnectionStateByIdInPipe, getInputDeviceStateByPortIdAndAccess as getInputDeviceStateByIdInPipe, getOutputConnectionStateByPortIdAndAccess as getOutputConnectionStateByIdInPipe, getOutputDeviceStateByPortIdAndAccess as getOutputDeviceStateByIdInPipe, getPortConnectionStateByPortIdAndAccess as getPortConnectionStateByIdInPipe, getPortDeviceStateByPortIdAndAccess as getPortDeviceStateByIdInPipe, } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js';
110
+ export { getInputConnectionStateByPortId as getInputConnectionStateById, getInputDeviceStateByPortId as getInputDeviceStateById, getOutputConnectionStateByPortId as getOutputConnectionStateById, getOutputDeviceStateByPortId as getOutputDeviceStateById, getPortConnectionStateByPortId as getPortConnectionStateById, getPortDeviceStateByPortId as getPortDeviceStateById, } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js';
111
+ // export {
112
+ // type DualMatchPortState,
113
+ // type MatcherConfigPlain,
114
+ // type MatchResult,
115
+ // type MatchStatePortFirst,
116
+ // type MatchStatePortLast,
117
+ // type MIDIPortMutableProperty,
118
+ // matchInputConnectionStateByPort,
119
+ // matchInputDeviceStateByPort,
120
+ // matchOutputConnectionStateByPort,
121
+ // matchOutputDeviceStateByPort,
122
+ // matchPortConnectionStateByPort,
123
+ // matchPortDeviceStateByPort,
124
+ // type PortStateHandler,
125
+ // type StateCaseToHandlerMap,
126
+ // } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.ts'
127
+ export { matchInputConnectionStateByPortIdAndAccess as matchInputConnectionStateByIdInPipe, matchInputDeviceStateByPortIdAndAccess as matchInputDeviceStateByIdInPipe, matchOutputConnectionStateByPortIdAndAccess as matchOutputConnectionStateByIdInPipe, matchOutputDeviceStateByPortIdAndAccess as matchOutputDeviceStateByIdInPipe, matchPortConnectionStateByPortIdAndAccess as matchPortConnectionStateBydInPipe, matchPortDeviceStateByPortIdAndAccess as matchPortDeviceStateByIdInPipe, } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js';
128
+ export { matchInputConnectionStateByPortIdInContext as matchInputConnectionStateById, matchInputDeviceStateByPortIdInContext as matchInputDeviceStateById, matchOutputConnectionStateByPortIdInContext as matchOutputConnectionStateById, matchOutputDeviceStateByPortIdInContext as matchOutputDeviceStateById, matchPortConnectionStateByPortIdInContext as matchPortConnectionStateById, matchPortDeviceStateByPortIdInContext as matchPortDeviceStateByPortId, } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js';
129
+ //# sourceMappingURL=EMIDIAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EMIDIAccess.js","sourceRoot":"","sources":["../../src/EMIDIAccess.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ export {
2
+ // type AcquiredThing,
3
+ // AllPortsRecord,
4
+ // assert,
5
+ // assumeImpl,
6
+ // clearPortById,
7
+ // type DualSendMIDIMessageFromAccess,
8
+ // EMIDIAccess,
9
+ // type EMIDIAccessInstance,
10
+ // type GetThingByPortId,
11
+ // type GetThingByPortIdAccessFirst,
12
+ // type GetThingByPortIdAccessLast,
13
+ // type GetThingByPortIdAccessLastSecondHalf,
14
+ // getAllPortsRecord,
15
+ getInputsArray as getArray, getInputsRecord as getRecord,
16
+ // getOutputsRecord,
17
+ InputsArray as Array, InputsRecord as Record,
18
+ // is,
19
+ // layer,
20
+ // layerMostRestricted,
21
+ // layerSoftwareSynthSupported,
22
+ // layerSystemExclusiveAndSoftwareSynthSupported,
23
+ // layerSystemExclusiveSupported,
24
+ // makeAllPortsStateChangesStream,
25
+ // makeAllPortsStateChangesStreamInContext,
26
+ makeMessagesStreamByInputId as makeMessagesStreamById, makeMessagesStreamByInputIdAndAccess as makeMessagesStreamByIdAndAccess,
27
+ // OutputsRecord,
28
+ // type PolymorphicAccessInstance,
29
+ // type PolymorphicAccessInstanceClean,
30
+ // type RequestMIDIAccessOptions,
31
+ // request,
32
+ // simplify,
33
+ // type SendFromAccessArgs,
34
+ // type SendMIDIMessageAccessFirst,
35
+ // type SendMIDIMessageAccessLast,
36
+ // type SentMessageEffectFromAccess,
37
+ // send,
38
+ // sendInContext,
39
+ // sendToPortById,
40
+ // type TargetPortSelector,
41
+ // type TypeId,
42
+ } from './internal/EMIDIAccess.js';
43
+ export {
44
+ // make,
45
+ assert, Id, is, makeMessagesStreamByPort as makeMessagesStream, } from './internal/EMIDIInput.js';
46
+ // export {
47
+ // assert,
48
+ // clear,
49
+ // type DualSendMIDIMessageFromPort,
50
+ // type EMIDIOutput,
51
+ // is,
52
+ // make,
53
+ // type PolymorphicOutput,
54
+ // type PolymorphicOutputClean,
55
+ // type SendFromPortArgs,
56
+ // type SendMIDIMessagePortFirst,
57
+ // type SendMIDIMessagePortLast,
58
+ // type SentMessageEffectFromPort,
59
+ // send,
60
+ // } from './internal/EMIDIOutput.ts'
61
+ // export {
62
+ // assert,
63
+ // assumeImpl,
64
+ // type EMIDIPort,
65
+ // type EMIDIPortImpl,
66
+ // type ExtractTypeFromPort,
67
+ // is,
68
+ // isImplOfSpecificType,
69
+ // makeImpl,
70
+ // type PolymorphicPort,
71
+ // type PolymorphicPortClean,
72
+ // type TypeId,
73
+ // } from './internal/EMIDIPort.ts'
74
+ export {
75
+ // type GetPortById,
76
+ getInputByPortIdAndAccess as getByIdAndAccess,
77
+ // getOutputByPortIdAndAccess,
78
+ // getPortByPortIdAndAccess,
79
+ } from './internal/getPortByPortId/getPortByPortIdAndAccess.js';
80
+ export { getInputByPortIdInContext as getById,
81
+ // getOutputByPortIdInContext,
82
+ // getPortByPortIdInContext,
83
+ } from './internal/getPortByPortId/getPortByPortIdInContext.js';
84
+ export { acquireReleaseInputConnectionByPort as acquireReleaseConnection,
85
+ // acquireReleaseOutputConnectionByPort,
86
+ // acquireReleasePortConnectionByPort,
87
+ } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.js';
88
+ export { acquireReleaseInputConnectionByPortIdAndAccess as acquireReleaseConnectionByIdAndAccess,
89
+ // acquireReleaseOutputConnectionByPortIdAndAccess,
90
+ // acquireReleasePortConnectionByPortIdAndAccess,
91
+ } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js';
92
+ export { acquireReleaseInputConnectionByPortIdInContext as acquireReleaseConnectionById,
93
+ // acquireReleaseOutputConnectionByPortIdInContext,
94
+ // acquireReleasePortConnectionByPortIdInContext,
95
+ } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js';
96
+ // export { actOnPort } from './internal/MIDIPortMethodCalls/actOnPort.ts'
97
+ export { closeInputConnectionByPort as closeConnection,
98
+ // closeOutputConnectionByPort,
99
+ // closePortConnectionByPort,
100
+ // makePortConnectionCloser,
101
+ } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.js';
102
+ export { closeInputConnectionByPortIdAndAccess as closeConnectionByIdAndAccess,
103
+ // closeOutputConnectionByPortIdAndAccess,
104
+ // closePortConnectionByPortIdAndAccess,
105
+ } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js';
106
+ export { closeInputConnectionByPortIdInContext as closeConnectionById,
107
+ // closeOutputConnectionByPortIdInContext,
108
+ // closePortConnectionByPortIdInContext,
109
+ } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js';
110
+ // export {
111
+ // makeMIDIPortMethodCallerFactory,
112
+ // type TouchPort,
113
+ // } from './internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts'
114
+ export {
115
+ // makePortConnectionOpener,
116
+ openInputConnectionByPort as openConnection,
117
+ // openOutputConnectionByPort,
118
+ // openPortConnectionByPort,
119
+ } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.js';
120
+ export { openInputConnectionByPortIdAndAccess as openConnectionByIdAndAccess,
121
+ // openOutputConnectionByPortIdAndAccess,
122
+ // openPortConnectionByPortIdAndAccess,
123
+ } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js';
124
+ export { openInputConnectionByPortIdInContext as openConnectionById,
125
+ // openOutputConnectionByPortIdInContext,
126
+ // openPortConnectionByPortIdInContext,
127
+ } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js';
128
+ export {
129
+ // type DualMakeStateChangesStream,
130
+ // type MakeStateChangesStreamPortFirst,
131
+ // type MakeStateChangesStreamPortLast,
132
+ makeInputStateChangesStreamByPort as makeStateChangesStream,
133
+ // makeOutputStateChangesStreamByPort,
134
+ // makePortStateChangesStreamByPort,
135
+ // type StateChangesStream,
136
+ } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js';
137
+ export { makeInputStateChangesStreamByPortIdAndAccess as makeStateChangesStreamByIdAndAccess,
138
+ // makeOutputStateChangesStreamByPortIdAndAccess,
139
+ // makePortStateChangesStreamByPortIdAndAccess,
140
+ } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js';
141
+ export { makeInputStateChangesStreamByPortIdInContext as makeStateChangesStreamById,
142
+ // makeOutputStateChangesStreamByPortIdInContext,
143
+ // makePortStateChangesStreamByPortIdInContext,
144
+ } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js';
145
+ export { isInputConnectionClosedByPort as isConnectionClosed, isInputConnectionOpenByPort as isConnectionOpen, isInputConnectionPendingByPort as isConnectionPending, isInputDeviceConnectedByPort as isDeviceConnected, isInputDeviceDisconnectedByPort as isDeviceDisconnected,
146
+ // isOutputConnectionClosedByPort,
147
+ // isOutputConnectionOpenByPort,
148
+ // isOutputConnectionPendingByPort,
149
+ // isOutputDeviceConnectedByPort,
150
+ // isOutputDeviceDisconnectedByPort,
151
+ // isPortConnectionClosedByPort,
152
+ // isPortConnectionOpenByPort,
153
+ // isPortConnectionPendingByPort,
154
+ // isPortDeviceConnectedByPort,
155
+ // isPortDeviceDisconnectedByPort,
156
+ } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.js';
157
+ export { isInputConnectionClosedByPortIdAndAccess as isConnectionClosedByIdAndAccess, isInputConnectionOpenByPortIdAndAccess as isConnectionOpenByIdAndAccess, isInputConnectionPendingByPortIdAndAccess as isConnectionPendingByIdAndAccess, isInputDeviceConnectedByPortIdAndAccess as isDeviceConnectedByIdAndAccess, isInputDeviceDisconnectedByPortIdAndAccess as isDeviceDisconnectedByIdAndAccess,
158
+ // isOutputConnectionClosedByPortIdAndAccess,
159
+ // isOutputConnectionOpenByPortIdAndAccess,
160
+ // isOutputConnectionPendingByPortIdAndAccess,
161
+ // isOutputDeviceConnectedByPortIdAndAccess,
162
+ // isOutputDeviceDisconnectedByPortIdAndAccess,
163
+ // isPortConnectionClosedByPortIdAndAccess,
164
+ // isPortConnectionOpenByPortIdAndAccess,
165
+ // isPortConnectionPendingByPortIdAndAccess,
166
+ // isPortDeviceConnectedByPortIdAndAccess,
167
+ // isPortDeviceDisconnectedByPortIdAndAccess,
168
+ } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js';
169
+ export { isInputConnectionClosedByPortIdInContext as isConnectionClosedById, isInputConnectionOpenByPortIdInContext as isConnectionOpenById, isInputConnectionPendingByPortIdInContext as isConnectionPendingById, isInputDeviceConnectedByPortIdInContext as isDeviceConnectedById, isInputDeviceDisconnectedByPortIdInContext as isDeviceDisconnectedById,
170
+ // isOutputConnectionClosedByPortIdInContext,
171
+ // isOutputConnectionOpenByPortIdInContext,
172
+ // isOutputConnectionPendingByPortIdInContext,
173
+ // isOutputDeviceConnectedByPortIdInContext,
174
+ // isOutputDeviceDisconnectedByPortIdInContext,
175
+ // isPortConnectionClosedByPortIdInContext,
176
+ // isPortConnectionOpenByPortIdInContext,
177
+ // isPortConnectionPendingByPortIdInContext,
178
+ // isPortDeviceConnectedByPortIdInContext,
179
+ // isPortDeviceDisconnectedByPortIdInContext,
180
+ } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js';
181
+ export { getInputConnectionStateByPort as getConnectionState, getInputDeviceStateByPort as getDeviceState,
182
+ // getOutputConnectionStateByPort,
183
+ // getOutputDeviceStateByPort,
184
+ // getPortConnectionStateByPort,
185
+ // getPortDeviceStateByPort,
186
+ } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.js';
187
+ export { getInputConnectionStateByPortIdAndAccess as getConnectionStateByIdAndAccess, getInputDeviceStateByPortIdAndAccess as getDeviceStateByIdAndAccess,
188
+ // getOutputConnectionStateByPortIdAndAccess,
189
+ // getOutputDeviceStateByPortIdAndAccess,
190
+ // getPortConnectionStateByPortIdAndAccess,
191
+ // getPortDeviceStateByPortIdAndAccess,
192
+ } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js';
193
+ export { getInputConnectionStateByPortId as getConnectionStateById, getInputDeviceStateByPortId as getDeviceStateById,
194
+ // getOutputConnectionStateByPortId,
195
+ // getOutputDeviceStateByPortId,
196
+ // getPortConnectionStateByPortId,
197
+ // getPortDeviceStateByPortId,
198
+ } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js';
199
+ export {
200
+ // type DualMatchPortState,
201
+ // type MatcherConfigPlain,
202
+ // type MatchResult,
203
+ // type MatchStatePortFirst,
204
+ // type MatchStatePortLast,
205
+ // type MIDIPortMutableProperty,
206
+ matchInputConnectionStateByPort as matchConnectionState, matchInputDeviceStateByPort as matchDeviceState,
207
+ // matchOutputConnectionStateByPort,
208
+ // matchOutputDeviceStateByPort,
209
+ // matchPortConnectionStateByPort,
210
+ // matchPortDeviceStateByPort,
211
+ // type PortStateHandler,
212
+ // type StateCaseToHandlerMap,
213
+ } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.js';
214
+ export { matchInputConnectionStateByPortIdAndAccess as matchConnectionStateByIdAndAccess, matchInputDeviceStateByPortIdAndAccess as matchDeviceStateByIdAndAccess,
215
+ // matchOutputConnectionStateByPortIdAndAccess,
216
+ // matchOutputDeviceStateByPortIdAndAccess,
217
+ // matchPortConnectionStateByPortIdAndAccess,
218
+ // matchPortDeviceStateByPortIdAndAccess,
219
+ } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js';
220
+ export { matchInputConnectionStateByPortIdInContext as matchConnectionStateById, matchInputDeviceStateByPortIdInContext as matchDeviceStateById,
221
+ // matchOutputConnectionStateByPortIdInContext,
222
+ // matchOutputDeviceStateByPortIdInContext,
223
+ // matchPortConnectionStateByPortIdInContext,
224
+ // matchPortDeviceStateByPortIdInContext,
225
+ } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js';
226
+ //# sourceMappingURL=EMIDIInput.js.map