@rocketshow/designer 1.32.0 → 1.33.0

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 (339) hide show
  1. package/esm2022/lib/array-sort-pipe.mjs +30 -0
  2. package/esm2022/lib/designer.component.mjs +605 -0
  3. package/esm2022/lib/designer.module.mjs +183 -0
  4. package/esm2022/lib/designer.service.mjs +14 -0
  5. package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +569 -0
  6. package/esm2022/lib/effect/effect-pan-tilt/effect-pan-tilt.component.mjs +36 -0
  7. package/esm2022/lib/effect/effect.component.mjs +174 -0
  8. package/esm2022/lib/error-dialog/error-dialog.component.mjs +75 -0
  9. package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +222 -0
  10. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.mjs +147 -0
  11. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.mjs +213 -0
  12. package/esm2022/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.mjs +78 -0
  13. package/esm2022/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.mjs +119 -0
  14. package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +169 -0
  15. package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +160 -0
  16. package/esm2022/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.mjs +365 -0
  17. package/esm2022/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.mjs +151 -0
  18. package/esm2022/lib/fixture/fixture-settings/fixture-settings.component.mjs +46 -0
  19. package/esm2022/lib/fixture/fixture.component.mjs +138 -0
  20. package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +145 -0
  21. package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +589 -0
  22. package/esm2022/lib/intro/intro.component.mjs +95 -0
  23. package/esm2022/lib/master-dimmer/master-dimmer.component.mjs +66 -0
  24. package/esm2022/lib/models/cached-fixture-capability.mjs +9 -0
  25. package/esm2022/lib/models/cached-fixture-channel.mjs +7 -0
  26. package/esm2022/lib/models/cached-fixture.mjs +6 -0
  27. package/esm2022/lib/models/color.mjs +8 -0
  28. package/esm2022/lib/models/composition.mjs +46 -0
  29. package/esm2022/lib/models/effect-curve-profile-channel.mjs +15 -0
  30. package/esm2022/lib/models/effect-curve.mjs +69 -0
  31. package/esm2022/lib/models/effect-pan-tilt.mjs +19 -0
  32. package/esm2022/lib/models/effect.mjs +12 -0
  33. package/esm2022/lib/models/fixture-capability-value.mjs +15 -0
  34. package/esm2022/lib/models/fixture-capability.mjs +84 -0
  35. package/esm2022/lib/models/fixture-channel-value.mjs +11 -0
  36. package/esm2022/lib/models/fixture-channel.mjs +24 -0
  37. package/esm2022/lib/models/fixture-mode.mjs +14 -0
  38. package/esm2022/lib/models/fixture-profile.mjs +70 -0
  39. package/esm2022/lib/models/fixture-wheel-slot.mjs +26 -0
  40. package/esm2022/lib/models/fixture-wheel.mjs +15 -0
  41. package/esm2022/lib/models/fixture.mjs +40 -0
  42. package/esm2022/lib/models/preset-region-scene.mjs +8 -0
  43. package/esm2022/lib/models/preset.mjs +56 -0
  44. package/esm2022/lib/models/project.mjs +68 -0
  45. package/esm2022/lib/models/scene-playback-region.mjs +11 -0
  46. package/esm2022/lib/models/scene.mjs +27 -0
  47. package/esm2022/lib/models/universe.mjs +11 -0
  48. package/esm2022/lib/preset/preset-settings/preset-settings.component.mjs +194 -0
  49. package/esm2022/lib/preset/preset.component.mjs +131 -0
  50. package/esm2022/lib/preview/models/color-changer-3d.mjs +167 -0
  51. package/esm2022/lib/preview/models/fixture-3d.mjs +150 -0
  52. package/esm2022/lib/preview/models/moving-head-3d.mjs +243 -0
  53. package/esm2022/lib/preview/preview.component.mjs +212 -0
  54. package/esm2022/lib/project/project-browser/project-browser.component.mjs +143 -0
  55. package/esm2022/lib/project/project-import/project-import.component.mjs +107 -0
  56. package/esm2022/lib/project/project-save/project-save.component.mjs +178 -0
  57. package/esm2022/lib/project/project-share/project-share.component.mjs +71 -0
  58. package/esm2022/lib/scene/scene-settings/scene-settings.component.mjs +146 -0
  59. package/esm2022/lib/scene/scene.component.mjs +110 -0
  60. package/esm2022/lib/services/animation.service.mjs +16 -0
  61. package/esm2022/lib/services/config.service.mjs +27 -0
  62. package/esm2022/lib/services/effect.service.mjs +14 -0
  63. package/esm2022/lib/services/error-dialog.service.mjs +39 -0
  64. package/esm2022/lib/services/fixture-pool.service.mjs +30 -0
  65. package/esm2022/lib/services/fixture.service.mjs +431 -0
  66. package/esm2022/lib/services/hotkey-target-exclude.service.mjs +24 -0
  67. package/esm2022/lib/services/intro.service.mjs +140 -0
  68. package/esm2022/lib/services/preset.service.mjs +400 -0
  69. package/esm2022/lib/services/preview-mesh.service.mjs +57 -0
  70. package/esm2022/lib/services/preview.service.mjs +496 -0
  71. package/esm2022/lib/services/project-load.service.mjs +149 -0
  72. package/esm2022/lib/services/project.service.mjs +97 -0
  73. package/esm2022/lib/services/scene.service.mjs +164 -0
  74. package/esm2022/lib/services/timeline.service.mjs +726 -0
  75. package/esm2022/lib/services/universe.service.mjs +23 -0
  76. package/esm2022/lib/services/user-ensure-login.service.mjs +38 -0
  77. package/esm2022/lib/services/user.service.mjs +89 -0
  78. package/esm2022/lib/services/uuid.service.mjs +23 -0
  79. package/esm2022/lib/services/warning-dialog.service.mjs +38 -0
  80. package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +334 -0
  81. package/esm2022/lib/timeline/timeline-grid/timeline-grid.component.mjs +216 -0
  82. package/esm2022/lib/timeline/timeline.component.mjs +418 -0
  83. package/esm2022/lib/user/user-login/user-login.component.mjs +144 -0
  84. package/esm2022/lib/user/user-register/user-register.component.mjs +220 -0
  85. package/esm2022/lib/wait-dialog/wait-dialog.component.mjs +26 -0
  86. package/esm2022/lib/warning-dialog/warning-dialog.component.mjs +68 -0
  87. package/esm2022/public_api.mjs +7 -0
  88. package/esm2022/rocketshow-designer.mjs +5 -0
  89. package/fesm2022/rocketshow-designer.mjs +10626 -0
  90. package/fesm2022/rocketshow-designer.mjs.map +1 -0
  91. package/index.d.ts +5 -0
  92. package/lib/array-sort-pipe.d.ts +3 -0
  93. package/lib/designer.component.d.ts +15 -12
  94. package/lib/designer.module.d.ts +54 -0
  95. package/lib/designer.service.d.ts +3 -0
  96. package/lib/effect/effect-curve/effect-curve.component.d.ts +4 -1
  97. package/lib/effect/effect-pan-tilt/effect-pan-tilt.component.d.ts +3 -0
  98. package/lib/effect/effect.component.d.ts +3 -0
  99. package/lib/error-dialog/error-dialog.component.d.ts +3 -0
  100. package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +4 -1
  101. package/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.d.ts +3 -0
  102. package/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.d.ts +5 -2
  103. package/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.d.ts +3 -0
  104. package/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.d.ts +3 -0
  105. package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +3 -0
  106. package/lib/fixture/fixture-channel/fixture-channel.component.d.ts +3 -0
  107. package/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.d.ts +3 -0
  108. package/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.d.ts +3 -0
  109. package/lib/fixture/fixture-settings/fixture-settings.component.d.ts +3 -0
  110. package/lib/fixture/fixture.component.d.ts +3 -0
  111. package/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.d.ts +3 -0
  112. package/lib/fixture-pool/fixture-pool.component.d.ts +3 -0
  113. package/lib/intro/intro.component.d.ts +3 -0
  114. package/lib/master-dimmer/master-dimmer.component.d.ts +3 -0
  115. package/lib/preset/preset-settings/preset-settings.component.d.ts +3 -0
  116. package/lib/preset/preset.component.d.ts +3 -0
  117. package/lib/preview/preview.component.d.ts +4 -4
  118. package/lib/project/project-browser/project-browser.component.d.ts +3 -0
  119. package/lib/project/project-import/project-import.component.d.ts +3 -0
  120. package/lib/project/project-save/project-save.component.d.ts +3 -0
  121. package/lib/project/project-share/project-share.component.d.ts +3 -0
  122. package/lib/scene/scene-settings/scene-settings.component.d.ts +3 -0
  123. package/lib/scene/scene.component.d.ts +3 -0
  124. package/lib/services/animation.service.d.ts +3 -0
  125. package/lib/services/config.service.d.ts +3 -0
  126. package/lib/services/effect.service.d.ts +3 -0
  127. package/lib/services/error-dialog.service.d.ts +3 -0
  128. package/lib/services/fixture-pool.service.d.ts +3 -0
  129. package/lib/services/fixture.service.d.ts +3 -0
  130. package/lib/services/hotkey-target-exclude.service.d.ts +3 -0
  131. package/lib/services/intro.service.d.ts +3 -0
  132. package/lib/services/preset.service.d.ts +3 -0
  133. package/lib/services/preview-mesh.service.d.ts +3 -0
  134. package/lib/services/preview.service.d.ts +4 -0
  135. package/lib/services/project-load.service.d.ts +3 -0
  136. package/lib/services/project.service.d.ts +3 -0
  137. package/lib/services/scene.service.d.ts +3 -0
  138. package/lib/services/timeline.service.d.ts +4 -1
  139. package/lib/services/universe.service.d.ts +3 -0
  140. package/lib/services/user-ensure-login.service.d.ts +3 -0
  141. package/lib/services/user.service.d.ts +3 -0
  142. package/lib/services/uuid.service.d.ts +3 -0
  143. package/lib/services/warning-dialog.service.d.ts +3 -0
  144. package/lib/timeline/composition-settings/composition-settings.component.d.ts +3 -0
  145. package/lib/timeline/timeline-grid/timeline-grid.component.d.ts +3 -0
  146. package/lib/timeline/timeline.component.d.ts +3 -0
  147. package/lib/user/user-login/user-login.component.d.ts +3 -0
  148. package/lib/user/user-register/user-register.component.d.ts +3 -0
  149. package/lib/wait-dialog/wait-dialog.component.d.ts +3 -0
  150. package/lib/warning-dialog/warning-dialog.component.d.ts +3 -0
  151. package/package.json +20 -22
  152. package/rocketshow-designer-1.33.0.tgz +0 -0
  153. package/bundles/rocketshow-designer.umd.js +0 -9966
  154. package/bundles/rocketshow-designer.umd.js.map +0 -1
  155. package/bundles/rocketshow-designer.umd.min.js +0 -17
  156. package/bundles/rocketshow-designer.umd.min.js.map +0 -1
  157. package/esm2015/lib/array-sort-pipe.js +0 -28
  158. package/esm2015/lib/designer.component.js +0 -411
  159. package/esm2015/lib/designer.module.js +0 -117
  160. package/esm2015/lib/designer.service.js +0 -16
  161. package/esm2015/lib/effect/effect-curve/effect-curve.component.js +0 -325
  162. package/esm2015/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -30
  163. package/esm2015/lib/effect/effect.component.js +0 -73
  164. package/esm2015/lib/error-dialog/error-dialog.component.js +0 -42
  165. package/esm2015/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -141
  166. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -128
  167. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -163
  168. package/esm2015/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -60
  169. package/esm2015/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -87
  170. package/esm2015/lib/fixture/fixture-capability/fixture-capability.component.js +0 -97
  171. package/esm2015/lib/fixture/fixture-channel/fixture-channel.component.js +0 -66
  172. package/esm2015/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -200
  173. package/esm2015/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -31
  174. package/esm2015/lib/fixture/fixture-settings/fixture-settings.component.js +0 -35
  175. package/esm2015/lib/fixture/fixture.component.js +0 -70
  176. package/esm2015/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -128
  177. package/esm2015/lib/fixture-pool/fixture-pool.component.js +0 -331
  178. package/esm2015/lib/intro/intro.component.js +0 -25
  179. package/esm2015/lib/master-dimmer/master-dimmer.component.js +0 -41
  180. package/esm2015/lib/models/cached-fixture-capability.js +0 -9
  181. package/esm2015/lib/models/cached-fixture-channel.js +0 -7
  182. package/esm2015/lib/models/cached-fixture.js +0 -6
  183. package/esm2015/lib/models/color.js +0 -8
  184. package/esm2015/lib/models/composition.js +0 -46
  185. package/esm2015/lib/models/effect-curve-profile-channel.js +0 -15
  186. package/esm2015/lib/models/effect-curve.js +0 -69
  187. package/esm2015/lib/models/effect-pan-tilt.js +0 -19
  188. package/esm2015/lib/models/effect.js +0 -12
  189. package/esm2015/lib/models/fixture-capability-value.js +0 -15
  190. package/esm2015/lib/models/fixture-capability.js +0 -84
  191. package/esm2015/lib/models/fixture-channel-value.js +0 -11
  192. package/esm2015/lib/models/fixture-channel.js +0 -24
  193. package/esm2015/lib/models/fixture-mode.js +0 -14
  194. package/esm2015/lib/models/fixture-profile.js +0 -70
  195. package/esm2015/lib/models/fixture-wheel-slot.js +0 -26
  196. package/esm2015/lib/models/fixture-wheel.js +0 -15
  197. package/esm2015/lib/models/fixture.js +0 -40
  198. package/esm2015/lib/models/preset-region-scene.js +0 -8
  199. package/esm2015/lib/models/preset.js +0 -56
  200. package/esm2015/lib/models/project.js +0 -68
  201. package/esm2015/lib/models/scene-playback-region.js +0 -11
  202. package/esm2015/lib/models/scene.js +0 -27
  203. package/esm2015/lib/models/universe.js +0 -11
  204. package/esm2015/lib/preset/preset-settings/preset-settings.component.js +0 -66
  205. package/esm2015/lib/preset/preset.component.js +0 -85
  206. package/esm2015/lib/preview/models/color-changer-3d.js +0 -167
  207. package/esm2015/lib/preview/models/fixture-3d.js +0 -150
  208. package/esm2015/lib/preview/models/moving-head-3d.js +0 -233
  209. package/esm2015/lib/preview/preview.component.js +0 -242
  210. package/esm2015/lib/project/project-browser/project-browser.component.js +0 -73
  211. package/esm2015/lib/project/project-import/project-import.component.js +0 -89
  212. package/esm2015/lib/project/project-save/project-save.component.js +0 -105
  213. package/esm2015/lib/project/project-share/project-share.component.js +0 -43
  214. package/esm2015/lib/scene/scene-settings/scene-settings.component.js +0 -52
  215. package/esm2015/lib/scene/scene.component.js +0 -56
  216. package/esm2015/lib/services/animation.service.js +0 -17
  217. package/esm2015/lib/services/config.service.js +0 -28
  218. package/esm2015/lib/services/effect.service.js +0 -16
  219. package/esm2015/lib/services/error-dialog.service.js +0 -44
  220. package/esm2015/lib/services/fixture-pool.service.js +0 -34
  221. package/esm2015/lib/services/fixture.service.js +0 -443
  222. package/esm2015/lib/services/hotkey-target-exclude.service.js +0 -26
  223. package/esm2015/lib/services/intro.service.js +0 -144
  224. package/esm2015/lib/services/preset.service.js +0 -416
  225. package/esm2015/lib/services/preview-mesh.service.js +0 -58
  226. package/esm2015/lib/services/preview.service.js +0 -500
  227. package/esm2015/lib/services/project-load.service.js +0 -171
  228. package/esm2015/lib/services/project.service.js +0 -113
  229. package/esm2015/lib/services/scene.service.js +0 -174
  230. package/esm2015/lib/services/timeline.service.js +0 -738
  231. package/esm2015/lib/services/universe.service.js +0 -24
  232. package/esm2015/lib/services/user-ensure-login.service.js +0 -44
  233. package/esm2015/lib/services/user.service.js +0 -93
  234. package/esm2015/lib/services/uuid.service.js +0 -25
  235. package/esm2015/lib/services/warning-dialog.service.js +0 -43
  236. package/esm2015/lib/timeline/composition-settings/composition-settings.component.js +0 -197
  237. package/esm2015/lib/timeline/timeline-grid/timeline-grid.component.js +0 -55
  238. package/esm2015/lib/timeline/timeline.component.js +0 -239
  239. package/esm2015/lib/user/user-login/user-login.component.js +0 -64
  240. package/esm2015/lib/user/user-register/user-register.component.js +0 -89
  241. package/esm2015/lib/wait-dialog/wait-dialog.component.js +0 -16
  242. package/esm2015/lib/warning-dialog/warning-dialog.component.js +0 -42
  243. package/esm2015/public_api.js +0 -7
  244. package/esm2015/rocketshow-designer.js +0 -61
  245. package/esm5/lib/array-sort-pipe.js +0 -31
  246. package/esm5/lib/designer.component.js +0 -468
  247. package/esm5/lib/designer.module.js +0 -120
  248. package/esm5/lib/designer.service.js +0 -17
  249. package/esm5/lib/effect/effect-curve/effect-curve.component.js +0 -386
  250. package/esm5/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -31
  251. package/esm5/lib/effect/effect.component.js +0 -75
  252. package/esm5/lib/error-dialog/error-dialog.component.js +0 -43
  253. package/esm5/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -159
  254. package/esm5/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -130
  255. package/esm5/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -215
  256. package/esm5/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -61
  257. package/esm5/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -88
  258. package/esm5/lib/fixture/fixture-capability/fixture-capability.component.js +0 -130
  259. package/esm5/lib/fixture/fixture-channel/fixture-channel.component.js +0 -68
  260. package/esm5/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -306
  261. package/esm5/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -32
  262. package/esm5/lib/fixture/fixture-settings/fixture-settings.component.js +0 -36
  263. package/esm5/lib/fixture/fixture.component.js +0 -71
  264. package/esm5/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -127
  265. package/esm5/lib/fixture-pool/fixture-pool.component.js +0 -430
  266. package/esm5/lib/intro/intro.component.js +0 -26
  267. package/esm5/lib/master-dimmer/master-dimmer.component.js +0 -42
  268. package/esm5/lib/models/cached-fixture-capability.js +0 -11
  269. package/esm5/lib/models/cached-fixture-channel.js +0 -9
  270. package/esm5/lib/models/cached-fixture.js +0 -8
  271. package/esm5/lib/models/color.js +0 -10
  272. package/esm5/lib/models/composition.js +0 -60
  273. package/esm5/lib/models/effect-curve-profile-channel.js +0 -29
  274. package/esm5/lib/models/effect-curve.js +0 -95
  275. package/esm5/lib/models/effect-pan-tilt.js +0 -24
  276. package/esm5/lib/models/effect.js +0 -14
  277. package/esm5/lib/models/fixture-capability-value.js +0 -17
  278. package/esm5/lib/models/fixture-capability.js +0 -86
  279. package/esm5/lib/models/fixture-channel-value.js +0 -13
  280. package/esm5/lib/models/fixture-channel.js +0 -38
  281. package/esm5/lib/models/fixture-mode.js +0 -16
  282. package/esm5/lib/models/fixture-profile.js +0 -114
  283. package/esm5/lib/models/fixture-wheel-slot.js +0 -28
  284. package/esm5/lib/models/fixture-wheel.js +0 -29
  285. package/esm5/lib/models/fixture.js +0 -42
  286. package/esm5/lib/models/preset-region-scene.js +0 -10
  287. package/esm5/lib/models/preset.js +0 -90
  288. package/esm5/lib/models/project.js +0 -122
  289. package/esm5/lib/models/scene-playback-region.js +0 -13
  290. package/esm5/lib/models/scene.js +0 -29
  291. package/esm5/lib/models/universe.js +0 -13
  292. package/esm5/lib/preset/preset-settings/preset-settings.component.js +0 -67
  293. package/esm5/lib/preset/preset.component.js +0 -86
  294. package/esm5/lib/preview/models/color-changer-3d.js +0 -194
  295. package/esm5/lib/preview/models/fixture-3d.js +0 -196
  296. package/esm5/lib/preview/models/moving-head-3d.js +0 -250
  297. package/esm5/lib/preview/preview.component.js +0 -280
  298. package/esm5/lib/project/project-browser/project-browser.component.js +0 -77
  299. package/esm5/lib/project/project-import/project-import.component.js +0 -88
  300. package/esm5/lib/project/project-save/project-save.component.js +0 -120
  301. package/esm5/lib/project/project-share/project-share.component.js +0 -44
  302. package/esm5/lib/scene/scene-settings/scene-settings.component.js +0 -53
  303. package/esm5/lib/scene/scene.component.js +0 -57
  304. package/esm5/lib/services/animation.service.js +0 -18
  305. package/esm5/lib/services/config.service.js +0 -29
  306. package/esm5/lib/services/effect.service.js +0 -17
  307. package/esm5/lib/services/error-dialog.service.js +0 -46
  308. package/esm5/lib/services/fixture-pool.service.js +0 -36
  309. package/esm5/lib/services/fixture.service.js +0 -643
  310. package/esm5/lib/services/hotkey-target-exclude.service.js +0 -27
  311. package/esm5/lib/services/intro.service.js +0 -145
  312. package/esm5/lib/services/preset.service.js +0 -637
  313. package/esm5/lib/services/preview-mesh.service.js +0 -61
  314. package/esm5/lib/services/preview.service.js +0 -754
  315. package/esm5/lib/services/project-load.service.js +0 -185
  316. package/esm5/lib/services/project.service.js +0 -127
  317. package/esm5/lib/services/scene.service.js +0 -251
  318. package/esm5/lib/services/timeline.service.js +0 -845
  319. package/esm5/lib/services/universe.service.js +0 -36
  320. package/esm5/lib/services/user-ensure-login.service.js +0 -45
  321. package/esm5/lib/services/user.service.js +0 -95
  322. package/esm5/lib/services/uuid.service.js +0 -26
  323. package/esm5/lib/services/warning-dialog.service.js +0 -45
  324. package/esm5/lib/timeline/composition-settings/composition-settings.component.js +0 -206
  325. package/esm5/lib/timeline/timeline-grid/timeline-grid.component.js +0 -56
  326. package/esm5/lib/timeline/timeline.component.js +0 -243
  327. package/esm5/lib/user/user-login/user-login.component.js +0 -66
  328. package/esm5/lib/user/user-register/user-register.component.js +0 -91
  329. package/esm5/lib/wait-dialog/wait-dialog.component.js +0 -18
  330. package/esm5/lib/warning-dialog/warning-dialog.component.js +0 -43
  331. package/esm5/public_api.js +0 -7
  332. package/esm5/rocketshow-designer.js +0 -61
  333. package/fesm2015/rocketshow-designer.js +0 -7945
  334. package/fesm2015/rocketshow-designer.js.map +0 -1
  335. package/fesm5/rocketshow-designer.js +0 -9690
  336. package/fesm5/rocketshow-designer.js.map +0 -1
  337. package/rocketshow-designer-1.32.0.tgz +0 -0
  338. package/rocketshow-designer.d.ts +0 -60
  339. package/rocketshow-designer.metadata.json +0 -1
@@ -0,0 +1,95 @@
1
+ import { Component } from '@angular/core';
2
+ import { IntroService } from '../services/intro.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/intro.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@ngx-translate/core";
7
+ const _c0 = (a0, a1) => ({ top: a0, left: a1 });
8
+ function IntroComponent_div_0_button_14_Template(rf, ctx) { if (rf & 1) {
9
+ const _r3 = i0.ɵɵgetCurrentView();
10
+ i0.ɵɵelementStart(0, "button", 11);
11
+ i0.ɵɵlistener("click", function IntroComponent_div_0_button_14_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.introService.back()); });
12
+ i0.ɵɵelement(1, "i", 12);
13
+ i0.ɵɵtext(2);
14
+ i0.ɵɵpipe(3, "translate");
15
+ i0.ɵɵelementEnd();
16
+ } if (rf & 2) {
17
+ i0.ɵɵadvance(2);
18
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "designer.intro.back"), " ");
19
+ } }
20
+ function IntroComponent_div_0_button_15_Template(rf, ctx) { if (rf & 1) {
21
+ const _r4 = i0.ɵɵgetCurrentView();
22
+ i0.ɵɵelementStart(0, "button", 13);
23
+ i0.ɵɵlistener("click", function IntroComponent_div_0_button_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.introService.next()); });
24
+ i0.ɵɵtext(1);
25
+ i0.ɵɵpipe(2, "translate");
26
+ i0.ɵɵelement(3, "i", 14);
27
+ i0.ɵɵelementEnd();
28
+ } if (rf & 2) {
29
+ i0.ɵɵadvance();
30
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "designer.intro.next"), " ");
31
+ } }
32
+ function IntroComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1) {
33
+ const _r5 = i0.ɵɵgetCurrentView();
34
+ i0.ɵɵelementStart(0, "button", 13);
35
+ i0.ɵɵlistener("click", function IntroComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.close()); });
36
+ i0.ɵɵtext(1);
37
+ i0.ɵɵpipe(2, "translate");
38
+ i0.ɵɵelementEnd();
39
+ } if (rf & 2) {
40
+ i0.ɵɵadvance();
41
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "designer.intro.close"), " ");
42
+ } }
43
+ function IntroComponent_div_0_Template(rf, ctx) { if (rf & 1) {
44
+ const _r1 = i0.ɵɵgetCurrentView();
45
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div");
46
+ i0.ɵɵelement(3, "i", 3);
47
+ i0.ɵɵtext(4);
48
+ i0.ɵɵpipe(5, "translate");
49
+ i0.ɵɵelementEnd();
50
+ i0.ɵɵelementStart(6, "div", 4)(7, "a", 5);
51
+ i0.ɵɵlistener("click", function IntroComponent_div_0_Template_a_click_7_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.close(); return i0.ɵɵresetView(false); });
52
+ i0.ɵɵelement(8, "i", 6);
53
+ i0.ɵɵelementEnd()()();
54
+ i0.ɵɵelementStart(9, "div", 7)(10, "p");
55
+ i0.ɵɵtext(11);
56
+ i0.ɵɵpipe(12, "translate");
57
+ i0.ɵɵelementEnd()();
58
+ i0.ɵɵelementStart(13, "div", 8);
59
+ i0.ɵɵtemplate(14, IntroComponent_div_0_button_14_Template, 4, 3, "button", 9)(15, IntroComponent_div_0_button_15_Template, 4, 3, "button", 10)(16, IntroComponent_div_0_button_16_Template, 3, 3, "button", 10);
60
+ i0.ɵɵelementEnd()();
61
+ } if (rf & 2) {
62
+ const ctx_r1 = i0.ɵɵnextContext();
63
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(10, _c0, "calc(" + ctx_r1.introService.positionTopPercentage + "% - 150px)", "calc(" + ctx_r1.introService.positionLeftPercentage + "% - 200px)"));
64
+ i0.ɵɵadvance(4);
65
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 6, "designer.intro.title-" + ctx_r1.introService.activeStep), " ");
66
+ i0.ɵɵadvance(7);
67
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 8, "designer.intro.step-" + ctx_r1.introService.activeStep));
68
+ i0.ɵɵadvance(3);
69
+ i0.ɵɵproperty("ngIf", ctx_r1.introService.activeStep != "start");
70
+ i0.ɵɵadvance();
71
+ i0.ɵɵproperty("ngIf", ctx_r1.introService.activeStep != "finish");
72
+ i0.ɵɵadvance();
73
+ i0.ɵɵproperty("ngIf", ctx_r1.introService.activeStep == "finish");
74
+ } }
75
+ export class IntroComponent {
76
+ constructor(introService) {
77
+ this.introService = introService;
78
+ }
79
+ ngOnInit() { }
80
+ close() {
81
+ this.introService.setShowIntro(false);
82
+ }
83
+ static { this.ɵfac = function IntroComponent_Factory(t) { return new (t || IntroComponent)(i0.ɵɵdirectiveInject(i1.IntroService)); }; }
84
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: IntroComponent, selectors: [["lib-app-intro"]], decls: 1, vars: 1, consts: [["class", "card border-secondary h-100 panel card-intro-active", 3, "ngStyle", 4, "ngIf"], [1, "card", "border-secondary", "h-100", "panel", "card-intro-active", 3, "ngStyle"], [1, "card-header", "d-flex"], ["aria-hidden", "true", 1, "fa", "fa-info-circle", "mr-1"], [1, "ml-auto"], ["href", "#", 1, "btn", "btn-secondary", "m-0,", "p-0", 3, "click"], ["aria-hidden", "true", 1, "fa", "fa-times"], [1, "card-body", "h-100"], [1, "card-footer"], ["type", "button", "class", "btn btn-secondary", 3, "click", 4, "ngIf"], ["type", "button", "class", "btn btn-secondary pull-right", 3, "click", 4, "ngIf"], ["type", "button", 1, "btn", "btn-secondary", 3, "click"], ["aria-hidden", "true", 1, "fa", "fa-chevron-left"], ["type", "button", 1, "btn", "btn-secondary", "pull-right", 3, "click"], ["aria-hidden", "true", 1, "fa", "fa-chevron-right"]], template: function IntroComponent_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵtemplate(0, IntroComponent_div_0_Template, 17, 13, "div", 0);
86
+ } if (rf & 2) {
87
+ i0.ɵɵproperty("ngIf", ctx.introService.showIntro);
88
+ } }, dependencies: [i2.NgIf, i2.NgStyle, i3.TranslatePipe], styles: [".card[_ngcontent-%COMP%]{position:absolute;width:400px;height:350px!important;z-index:999999}"] }); }
89
+ }
90
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IntroComponent, [{
91
+ type: Component,
92
+ args: [{ selector: 'lib-app-intro', template: "<div\n *ngIf=\"introService.showIntro\"\n class=\"card border-secondary h-100 panel card-intro-active\"\n [ngStyle]=\"{\n top: 'calc(' + introService.positionTopPercentage + '% - 150px)',\n left: 'calc(' + introService.positionLeftPercentage + '% - 200px)'\n }\"\n>\n <div class=\"card-header d-flex\">\n <div>\n <i class=\"fa fa-info-circle mr-1\" aria-hidden=\"true\"></i>\n {{ 'designer.intro.title-' + introService.activeStep | translate }}\n </div>\n <div class=\"ml-auto\">\n <a href=\"#\" class=\"btn btn-secondary m-0, p-0\" (click)=\"close(); (false)\"><i class=\"fa fa-times\" aria-hidden=\"true\"></i></a>\n </div>\n </div>\n\n <div class=\"card-body h-100\">\n <p>{{ 'designer.intro.step-' + introService.activeStep | translate }}</p>\n </div>\n\n <div class=\"card-footer\">\n <button *ngIf=\"introService.activeStep != 'start'\" type=\"button\" class=\"btn btn-secondary\" (click)=\"introService.back()\">\n <i class=\"fa fa-chevron-left\" aria-hidden=\"true\"></i> {{ 'designer.intro.back' | translate }}\n </button>\n <button *ngIf=\"introService.activeStep != 'finish'\" type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"introService.next()\">\n {{ 'designer.intro.next' | translate }} <i class=\"fa fa-chevron-right\" aria-hidden=\"true\"></i>\n </button>\n <button *ngIf=\"introService.activeStep == 'finish'\" type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"close()\">\n {{ 'designer.intro.close' | translate }}\n </button>\n </div>\n</div>\n", styles: [".card{position:absolute;width:400px;height:350px!important;z-index:999999}\n"] }]
93
+ }], () => [{ type: i1.IntroService }], null); })();
94
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(IntroComponent, { className: "IntroComponent" }); })();
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50cm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9pbnRyby9pbnRyby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ludHJvL2ludHJvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztJQ3NCckQsa0NBQXlIO0lBQTlCLHFMQUFTLDBCQUFtQixLQUFDO0lBQ3RILHdCQUFxRDtJQUFDLFlBQ3hEOztJQUFBLGlCQUFTOztJQUQrQyxlQUN4RDtJQUR3RCw0RUFDeEQ7Ozs7SUFDQSxrQ0FBcUk7SUFBOUIscUxBQVMsMEJBQW1CLEtBQUM7SUFDbEksWUFBd0M7O0lBQUEsd0JBQXNEO0lBQ2hHLGlCQUFTOztJQURQLGNBQXdDO0lBQXhDLDRFQUF3Qzs7OztJQUUxQyxrQ0FBeUg7SUFBbEIscUxBQVMsY0FBTyxLQUFDO0lBQ3RILFlBQ0Y7O0lBQUEsaUJBQVM7O0lBRFAsY0FDRjtJQURFLDZFQUNGOzs7O0lBdEJBLEFBREYsQUFSRiw4QkFPQyxhQUNpQyxVQUN6QjtJQUNILHVCQUF5RDtJQUN6RCxZQUNGOztJQUFBLGlCQUFNO0lBRUosQUFERiw4QkFBcUIsV0FDdUQ7SUFBM0IsK0lBQVMsY0FBTyx3QkFBRyxLQUFLLEtBQUU7SUFBQyx1QkFBOEM7SUFFNUgsQUFERSxBQUQwSCxpQkFBSSxFQUN4SCxFQUNGO0lBR0osQUFERiw4QkFBNkIsU0FDeEI7SUFBQSxhQUFrRTs7SUFDdkUsQUFEdUUsaUJBQUksRUFDckU7SUFFTiwrQkFBeUI7SUFPdkIsQUFIQSxBQUhBLDZFQUF5SCxpRUFHWSxpRUFHWjtJQUk3SCxBQURFLGlCQUFNLEVBQ0Y7OztJQTlCSiw4TEFHRTtJQUtFLGVBQ0Y7SUFERSwrR0FDRjtJQU9HLGVBQWtFO0lBQWxFLG9HQUFrRTtJQUk1RCxlQUF3QztJQUF4QyxnRUFBd0M7SUFHeEMsY0FBeUM7SUFBekMsaUVBQXlDO0lBR3pDLGNBQXlDO0lBQXpDLGlFQUF5Qzs7QURyQnRELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW1CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUVqRCxRQUFRLEtBQUksQ0FBQztJQUViLEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDOytFQVBVLGNBQWM7b0VBQWQsY0FBYztZQ1IzQixpRUFPQzs7WUFORSxpREFBNEI7OztpRkRPbEIsY0FBYztjQUwxQixTQUFTOzJCQUNFLGVBQWU7O2tGQUlkLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW50cm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50cm8uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHAtaW50cm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vaW50cm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRyby5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEludHJvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IocHVibGljIGludHJvU2VydmljZTogSW50cm9TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmludHJvU2VydmljZS5zZXRTaG93SW50cm8oZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiaW50cm9TZXJ2aWNlLnNob3dJbnRyb1wiXG4gIGNsYXNzPVwiY2FyZCBib3JkZXItc2Vjb25kYXJ5IGgtMTAwIHBhbmVsIGNhcmQtaW50cm8tYWN0aXZlXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHRvcDogJ2NhbGMoJyArIGludHJvU2VydmljZS5wb3NpdGlvblRvcFBlcmNlbnRhZ2UgKyAnJSAtIDE1MHB4KScsXG4gICAgbGVmdDogJ2NhbGMoJyArIGludHJvU2VydmljZS5wb3NpdGlvbkxlZnRQZXJjZW50YWdlICsgJyUgLSAyMDBweCknXG4gIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZC1mbGV4XCI+XG4gICAgPGRpdj5cbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGUgbXItMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIHt7ICdkZXNpZ25lci5pbnRyby50aXRsZS0nICsgaW50cm9TZXJ2aWNlLmFjdGl2ZVN0ZXAgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IG0tMCwgcC0wXCIgKGNsaWNrKT1cImNsb3NlKCk7IChmYWxzZSlcIj48aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBoLTEwMFwiPlxuICAgIDxwPnt7ICdkZXNpZ25lci5pbnRyby5zdGVwLScgKyBpbnRyb1NlcnZpY2UuYWN0aXZlU3RlcCB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImludHJvU2VydmljZS5hY3RpdmVTdGVwICE9ICdzdGFydCdcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJpbnRyb1NlcnZpY2UuYmFjaygpXCI+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4ge3sgJ2Rlc2lnbmVyLmludHJvLmJhY2snIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImludHJvU2VydmljZS5hY3RpdmVTdGVwICE9ICdmaW5pc2gnXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgcHVsbC1yaWdodFwiIChjbGljayk9XCJpbnRyb1NlcnZpY2UubmV4dCgpXCI+XG4gICAgICB7eyAnZGVzaWduZXIuaW50cm8ubmV4dCcgfCB0cmFuc2xhdGUgfX0gPGkgY2xhc3M9XCJmYSBmYS1jaGV2cm9uLXJpZ2h0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJpbnRyb1NlcnZpY2UuYWN0aXZlU3RlcCA9PSAnZmluaXNoJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtcmlnaHRcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAge3sgJ2Rlc2lnbmVyLmludHJvLmNsb3NlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,66 @@
1
+ import { ChangeDetectorRef, Component } from '@angular/core';
2
+ import { PresetService } from '../services/preset.service';
3
+ import { ProjectService } from '../services/project.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/project.service";
6
+ import * as i2 from "../services/preset.service";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "ngx-bootstrap-slider";
9
+ export class MasterDimmerComponent {
10
+ constructor(projectService, changeDetectorRef, presetService) {
11
+ this.projectService = projectService;
12
+ this.changeDetectorRef = changeDetectorRef;
13
+ this.presetService = presetService;
14
+ }
15
+ ngOnInit() { }
16
+ setValue(value) {
17
+ if (isNaN(value)) {
18
+ return;
19
+ }
20
+ if (value < 0 || value > 1) {
21
+ return;
22
+ }
23
+ this.projectService.project.masterDimmerValue = value;
24
+ this.changeDetectorRef.detectChanges();
25
+ this.presetService.previewLive();
26
+ }
27
+ getValue() {
28
+ return Math.round(this.projectService.project.masterDimmerValue * 100 * 100) / 100;
29
+ }
30
+ static { this.ɵfac = function MasterDimmerComponent_Factory(t) { return new (t || MasterDimmerComponent)(i0.ɵɵdirectiveInject(i1.ProjectService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.PresetService)); }; }
31
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MasterDimmerComponent, selectors: [["lib-app-master-dimmer"]], decls: 15, vars: 15, consts: [[1, "card", "border-secondary", "h-100"], [1, "d-none", "d-md-flex", "card-body", "h-100", 2, "flex-direction", "column"], [1, "mb-3", "w-100", "d-flex"], [1, "icon-dimmer", "m-auto", 2, "font-size", "2em"], [1, "mb-4", "w-100", "d-flex"], ["type", "text", 1, "mx-auto", 2, "width", "42px", "height", "23px", "text-align", "center", "font-size", "12px", "font-family", "monospace", 3, "ngModelChange", "ngModel"], [1, "h-100", "w-100", "d-flex"], [1, "mx-auto", 2, "height", "100%", 3, "change", "value", "orientation", "reversed", "tooltip", "min", "max", "step"], [1, "d-flex", "d-md-none", "card-body", "h-100"], [1, "mb-3", "d-flex", "my-auto"], [1, "h-100", "w-100", "d-flex", "my-auto", "mx-3"], [1, "mx-auto", 2, "width", "100%", 3, "change", "value", "orientation", "tooltip", "min", "max", "step"], [1, "mb-4", "d-flex", "my-auto"]], template: function MasterDimmerComponent_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
33
+ i0.ɵɵelement(3, "i", 3);
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementStart(4, "div", 4)(5, "input", 5);
36
+ i0.ɵɵlistener("ngModelChange", function MasterDimmerComponent_Template_input_ngModelChange_5_listener($event) { return ctx.setValue($event / 100); });
37
+ i0.ɵɵelementEnd()();
38
+ i0.ɵɵelementStart(6, "div", 6)(7, "mv-slider", 7);
39
+ i0.ɵɵlistener("change", function MasterDimmerComponent_Template_mv_slider_change_7_listener($event) { return ctx.setValue($event.newValue); });
40
+ i0.ɵɵelementEnd()()();
41
+ i0.ɵɵelementStart(8, "div", 8)(9, "div", 9);
42
+ i0.ɵɵelement(10, "i", 3);
43
+ i0.ɵɵelementEnd();
44
+ i0.ɵɵelementStart(11, "div", 10)(12, "mv-slider", 11);
45
+ i0.ɵɵlistener("change", function MasterDimmerComponent_Template_mv_slider_change_12_listener($event) { return ctx.setValue($event.newValue); });
46
+ i0.ɵɵelementEnd()();
47
+ i0.ɵɵelementStart(13, "div", 12)(14, "input", 5);
48
+ i0.ɵɵlistener("ngModelChange", function MasterDimmerComponent_Template_input_ngModelChange_14_listener($event) { return ctx.setValue($event / 100); });
49
+ i0.ɵɵelementEnd()()()();
50
+ } if (rf & 2) {
51
+ i0.ɵɵadvance(5);
52
+ i0.ɵɵproperty("ngModel", ctx.getValue());
53
+ i0.ɵɵadvance(2);
54
+ i0.ɵɵproperty("value", ctx.projectService == null ? null : ctx.projectService.project == null ? null : ctx.projectService.project.masterDimmerValue)("orientation", "vertical")("reversed", true)("tooltip", "hide")("min", 0)("max", 1)("step", 0.001);
55
+ i0.ɵɵadvance(5);
56
+ i0.ɵɵproperty("value", ctx.projectService == null ? null : ctx.projectService.project == null ? null : ctx.projectService.project.masterDimmerValue)("orientation", "horizontal")("tooltip", "hide")("min", 0)("max", 1)("step", 0.001);
57
+ i0.ɵɵadvance(2);
58
+ i0.ɵɵproperty("ngModel", ctx.getValue());
59
+ } }, dependencies: [i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.SliderComponent] }); }
60
+ }
61
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MasterDimmerComponent, [{
62
+ type: Component,
63
+ args: [{ selector: 'lib-app-master-dimmer', template: "<div class=\"card border-secondary h-100\">\n <!-- For larger screens vertically -->\n <div class=\"d-none d-md-flex card-body h-100\" style=\"flex-direction: column\">\n <div class=\"mb-3 w-100 d-flex\">\n <i class=\"icon-dimmer m-auto\" style=\"font-size: 2em\"></i>\n </div>\n\n <div class=\"mb-4 w-100 d-flex\">\n <input\n class=\"mx-auto\"\n type=\"text\"\n [ngModel]=\"getValue()\"\n (ngModelChange)=\"setValue($event / 100)\"\n style=\"width: 42px; height: 23px; text-align: center; font-size: 12px; font-family: monospace\"\n />\n </div>\n\n <div class=\"h-100 w-100 d-flex\">\n <mv-slider\n class=\"mx-auto\"\n [value]=\"projectService?.project?.masterDimmerValue\"\n (change)=\"setValue($event.newValue)\"\n [orientation]=\"'vertical'\"\n [reversed]=\"true\"\n style=\"height: 100%\"\n [tooltip]=\"'hide'\"\n [min]=\"0\"\n [max]=\"1\"\n [step]=\"0.001\"\n ></mv-slider>\n </div>\n </div>\n\n <!-- For smaller screens horizontally -->\n <div class=\"d-flex d-md-none card-body h-100\">\n <div class=\"mb-3 d-flex my-auto\">\n <i class=\"icon-dimmer m-auto\" style=\"font-size: 2em\"></i>\n </div>\n\n <div class=\"h-100 w-100 d-flex my-auto mx-3\">\n <mv-slider\n class=\"mx-auto\"\n [value]=\"projectService?.project?.masterDimmerValue\"\n (change)=\"setValue($event.newValue)\"\n [orientation]=\"'horizontal'\"\n style=\"width: 100%\"\n [tooltip]=\"'hide'\"\n [min]=\"0\"\n [max]=\"1\"\n [step]=\"0.001\"\n ></mv-slider>\n </div>\n\n <div class=\"mb-4 d-flex my-auto\">\n <input\n class=\"mx-auto\"\n type=\"text\"\n [ngModel]=\"getValue()\"\n (ngModelChange)=\"setValue($event / 100)\"\n style=\"width: 42px; height: 23px; text-align: center; font-size: 12px; font-family: monospace\"\n />\n </div>\n </div>\n</div>\n" }]
64
+ }], () => [{ type: i1.ProjectService }, { type: i0.ChangeDetectorRef }, { type: i2.PresetService }], null); })();
65
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MasterDimmerComponent, { className: "MasterDimmerComponent" }); })();
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWRpbW1lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL21hc3Rlci1kaW1tZXIvbWFzdGVyLWRpbW1lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL21hc3Rlci1kaW1tZXIvbWFzdGVyLWRpbW1lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQU83RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW1CLGNBQThCLEVBQVUsaUJBQW9DLEVBQVUsYUFBNEI7UUFBbEgsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUV6SSxRQUFRLEtBQUksQ0FBQztJQUViLFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDckYsQ0FBQztzRkFyQlUscUJBQXFCO29FQUFyQixxQkFBcUI7WUNOOUIsQUFERixBQUZGLDhCQUF5QyxhQUVzQyxhQUM1QztZQUM3Qix1QkFBeUQ7WUFDM0QsaUJBQU07WUFHSixBQURGLDhCQUErQixlQU8zQjtZQUZBLHVIQUFpQixzQkFBa0IsR0FBRyxDQUFDLElBQUM7WUFHNUMsQUFQRSxpQkFNRSxFQUNFO1lBR0osQUFERiw4QkFBZ0MsbUJBWTdCO1lBUkMsNkdBQVUsNkJBQXlCLElBQUM7WUFVMUMsQUFERSxBQURHLGlCQUFZLEVBQ1QsRUFDRjtZQUlKLEFBREYsOEJBQThDLGFBQ1g7WUFDL0Isd0JBQXlEO1lBQzNELGlCQUFNO1lBR0osQUFERixnQ0FBNkMscUJBVzFDO1lBUEMsOEdBQVUsNkJBQXlCLElBQUM7WUFReEMsQUFERyxpQkFBWSxFQUNUO1lBR0osQUFERixnQ0FBaUMsZ0JBTzdCO1lBRkEsd0hBQWlCLHNCQUFrQixHQUFHLENBQUMsSUFBQztZQUtoRCxBQURFLEFBREUsQUFQRSxpQkFNRSxFQUNFLEVBQ0YsRUFDRjs7WUFwREUsZUFBc0I7WUFBdEIsd0NBQXNCO1lBU3RCLGVBQW9EO1lBUXBELEFBREEsQUFEQSxBQURBLEFBRkEsQUFEQSxBQUZBLG9KQUFvRCwyQkFFMUIsa0JBQ1QsbUJBRUMsVUFDVCxVQUNBLGVBQ0s7WUFjZCxlQUFvRDtZQU9wRCxBQURBLEFBREEsQUFEQSxBQUZBLEFBRkEsb0pBQW9ELDZCQUV4QixtQkFFVixVQUNULFVBQ0EsZUFDSztZQVFkLGVBQXNCO1lBQXRCLHdDQUFzQjs7O2lGRGhEakIscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsdUJBQXVCOztrRkFJdEIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcHJlc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvamVjdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9qZWN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLW1hc3Rlci1kaW1tZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFzdGVyLWRpbW1lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hc3Rlci1kaW1tZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNYXN0ZXJEaW1tZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBwcmVzZXRTZXJ2aWNlOiBQcmVzZXRTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0Lm1hc3RlckRpbW1lclZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdMaXZlKCk7XG4gIH1cblxuICBnZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5tYXN0ZXJEaW1tZXJWYWx1ZSAqIDEwMCAqIDEwMCkgLyAxMDA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci1zZWNvbmRhcnkgaC0xMDBcIj5cbiAgPCEtLSBGb3IgbGFyZ2VyIHNjcmVlbnMgdmVydGljYWxseSAtLT5cbiAgPGRpdiBjbGFzcz1cImQtbm9uZSBkLW1kLWZsZXggY2FyZC1ib2R5IGgtMTAwXCIgc3R5bGU9XCJmbGV4LWRpcmVjdGlvbjogY29sdW1uXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgdy0xMDAgZC1mbGV4XCI+XG4gICAgICA8aSBjbGFzcz1cImljb24tZGltbWVyIG0tYXV0b1wiIHN0eWxlPVwiZm9udC1zaXplOiAyZW1cIj48L2k+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCB3LTEwMCBkLWZsZXhcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cIm14LWF1dG9cIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtuZ01vZGVsXT1cImdldFZhbHVlKClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRWYWx1ZSgkZXZlbnQgLyAxMDApXCJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDJweDsgaGVpZ2h0OiAyM3B4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImgtMTAwIHctMTAwIGQtZmxleFwiPlxuICAgICAgPG12LXNsaWRlclxuICAgICAgICBjbGFzcz1cIm14LWF1dG9cIlxuICAgICAgICBbdmFsdWVdPVwicHJvamVjdFNlcnZpY2U/LnByb2plY3Q/Lm1hc3RlckRpbW1lclZhbHVlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZXRWYWx1ZSgkZXZlbnQubmV3VmFsdWUpXCJcbiAgICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICBbcmV2ZXJzZWRdPVwidHJ1ZVwiXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ2hpZGUnXCJcbiAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgW21heF09XCIxXCJcbiAgICAgICAgW3N0ZXBdPVwiMC4wMDFcIlxuICAgICAgPjwvbXYtc2xpZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEZvciBzbWFsbGVyIHNjcmVlbnMgaG9yaXpvbnRhbGx5IC0tPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtbWQtbm9uZSBjYXJkLWJvZHkgaC0xMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWItMyBkLWZsZXggbXktYXV0b1wiPlxuICAgICAgPGkgY2xhc3M9XCJpY29uLWRpbW1lciBtLWF1dG9cIiBzdHlsZT1cImZvbnQtc2l6ZTogMmVtXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImgtMTAwIHctMTAwIGQtZmxleCBteS1hdXRvIG14LTNcIj5cbiAgICAgIDxtdi1zbGlkZXJcbiAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcbiAgICAgICAgW3ZhbHVlXT1cInByb2plY3RTZXJ2aWNlPy5wcm9qZWN0Py5tYXN0ZXJEaW1tZXJWYWx1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50Lm5ld1ZhbHVlKVwiXG4gICAgICAgIFtvcmllbnRhdGlvbl09XCInaG9yaXpvbnRhbCdcIlxuICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ2hpZGUnXCJcbiAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgW21heF09XCIxXCJcbiAgICAgICAgW3N0ZXBdPVwiMC4wMDFcIlxuICAgICAgPjwvbXYtc2xpZGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZC1mbGV4IG15LWF1dG9cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cIm14LWF1dG9cIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtuZ01vZGVsXT1cImdldFZhbHVlKClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRWYWx1ZSgkZXZlbnQgLyAxMDApXCJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDJweDsgaGVpZ2h0OiAyM3B4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,9 @@
1
+ export class CachedFixtureCapability {
2
+ constructor() {
3
+ // the wheel slots, if available
4
+ this.wheelSlots = [];
5
+ // is this a color wheel?
6
+ this.wheelIsColor = false;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLWZpeHR1cmUtY2FwYWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvbW9kZWxzL2NhY2hlZC1maXh0dXJlLWNhcGFiaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQVNFLGdDQUFnQztRQUNoQyxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUVwQyx5QkFBeUI7UUFDekIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFHdkIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRml4dHVyZUNhcGFiaWxpdHkgfSBmcm9tICcuL2ZpeHR1cmUtY2FwYWJpbGl0eSc7XG5pbXBvcnQgeyBGaXh0dXJlV2hlZWwgfSBmcm9tICcuL2ZpeHR1cmUtd2hlZWwnO1xuaW1wb3J0IHsgRml4dHVyZVdoZWVsU2xvdCB9IGZyb20gJy4vZml4dHVyZS13aGVlbC1zbG90JztcblxuZXhwb3J0IGNsYXNzIENhY2hlZEZpeHR1cmVDYXBhYmlsaXR5IHtcbiAgY2FwYWJpbGl0eTogRml4dHVyZUNhcGFiaWxpdHk7XG5cbiAgLy8gdGhlIHdoZWVsIG5hbWVzLCBpZiBhdmFpbGFibGVcbiAgd2hlZWxOYW1lOiBzdHJpbmc7XG5cbiAgLy8gdGhlIHdoZWVsLCBpZiBhdmFpbGFibGVcbiAgd2hlZWw6IEZpeHR1cmVXaGVlbDtcblxuICAvLyB0aGUgd2hlZWwgc2xvdHMsIGlmIGF2YWlsYWJsZVxuICB3aGVlbFNsb3RzOiBGaXh0dXJlV2hlZWxTbG90W10gPSBbXTtcblxuICAvLyBpcyB0aGlzIGEgY29sb3Igd2hlZWw/XG4gIHdoZWVsSXNDb2xvciA9IGZhbHNlO1xuXG4gIGNlbnRlclZhbHVlOiBudW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class CachedFixtureChannel {
2
+ constructor() {
3
+ // all channel capabilities
4
+ this.capabilities = [];
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLWZpeHR1cmUtY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvbW9kZWxzL2NhY2hlZC1maXh0dXJlLWNoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQU9FLDJCQUEyQjtRQUMzQixpQkFBWSxHQUE4QixFQUFFLENBQUM7SUFVL0MsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FjaGVkRml4dHVyZUNhcGFiaWxpdHkgfSBmcm9tICcuL2NhY2hlZC1maXh0dXJlLWNhcGFiaWxpdHknO1xuaW1wb3J0IHsgRml4dHVyZUNoYW5uZWwgfSBmcm9tICcuL2ZpeHR1cmUtY2hhbm5lbCc7XG5pbXBvcnQgeyBGaXh0dXJlV2hlZWwgfSBmcm9tICcuL2ZpeHR1cmUtd2hlZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2FjaGVkRml4dHVyZUNoYW5uZWwge1xuICAvLyB0aGUgY29ycmVzcG9uZGluZyBjaGFubmVsXG4gIGNoYW5uZWw6IEZpeHR1cmVDaGFubmVsO1xuXG4gIC8vIHRoZSBuYW1lIG9mIHRoZSBjaGFubmVsXG4gIG5hbWU6IHN0cmluZztcblxuICAvLyBhbGwgY2hhbm5lbCBjYXBhYmlsaXRpZXNcbiAgY2FwYWJpbGl0aWVzOiBDYWNoZWRGaXh0dXJlQ2FwYWJpbGl0eVtdID0gW107XG5cbiAgLy8gZGVmYXVsdCB2YWx1ZVxuICBkZWZhdWx0VmFsdWU6IG51bWJlcjtcblxuICAvLyBtYXhpbXVtIHZhbHVlXG4gIG1heFZhbHVlOiBudW1iZXI7XG5cbiAgLy8gYSBjb2xvciB3aGVlbCwgaWYgYXZhaWxhYmxlXG4gIGNvbG9yV2hlZWw6IEZpeHR1cmVXaGVlbDtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export class CachedFixture {
2
+ constructor() {
3
+ this.channels = [];
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL21vZGVscy9jYWNoZWQtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUlFLGFBQVEsR0FBMkIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhY2hlZEZpeHR1cmVDaGFubmVsIH0gZnJvbSAnLi9jYWNoZWQtZml4dHVyZS1jaGFubmVsJztcbmltcG9ydCB7IEZpeHR1cmUgfSBmcm9tICcuL2ZpeHR1cmUnO1xuaW1wb3J0IHsgRml4dHVyZU1vZGUgfSBmcm9tICcuL2ZpeHR1cmUtbW9kZSc7XG5pbXBvcnQgeyBGaXh0dXJlUHJvZmlsZSB9IGZyb20gJy4vZml4dHVyZS1wcm9maWxlJztcblxuZXhwb3J0IGNsYXNzIENhY2hlZEZpeHR1cmUge1xuICBmaXh0dXJlOiBGaXh0dXJlO1xuICBwcm9maWxlOiBGaXh0dXJlUHJvZmlsZTtcbiAgbW9kZTogRml4dHVyZU1vZGU7XG4gIGNoYW5uZWxzOiBDYWNoZWRGaXh0dXJlQ2hhbm5lbFtdID0gW107XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export class Color {
2
+ constructor(red, green, blue) {
3
+ this.red = red;
4
+ this.green = green;
5
+ this.blue = blue;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL21vZGVscy9jb2xvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sS0FBSztJQUtoQixZQUFZLEdBQVksRUFBRSxLQUFjLEVBQUUsSUFBYTtRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb2xvciB7XG4gIHJlZDogbnVtYmVyO1xuICBncmVlbjogbnVtYmVyO1xuICBibHVlOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocmVkPzogbnVtYmVyLCBncmVlbj86IG51bWJlciwgYmx1ZT86IG51bWJlcikge1xuICAgIHRoaXMucmVkID0gcmVkO1xuICAgIHRoaXMuZ3JlZW4gPSBncmVlbjtcbiAgICB0aGlzLmJsdWUgPSBibHVlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { ScenePlaybackRegion } from './scene-playback-region';
2
+ export class Composition {
3
+ constructor(data) {
4
+ // none or audio
5
+ this.syncType = 'audio';
6
+ this.audioFileInLibrary = false;
7
+ this.beatsPerMinute = 120;
8
+ this.timeSignatureUpper = 4;
9
+ this.timeSignatureLower = 4;
10
+ this.snapToGrid = true;
11
+ this.tempoGuessed = false;
12
+ // time based or musical
13
+ this.gridType = 'musical';
14
+ this.gridOffsetMillis = 0;
15
+ // 1/1, 1/2, 1/4, 1/8, etc.
16
+ this.gridResolution = 1;
17
+ // if no sync
18
+ this.durationMillis = 0;
19
+ // Regions, where the scene will be played
20
+ this.scenePlaybackRegions = [];
21
+ if (!data) {
22
+ return;
23
+ }
24
+ this.uuid = data.uuid;
25
+ this.name = data.name;
26
+ this.syncType = data.syncType;
27
+ this.audioFileName = data.audioFileName;
28
+ this.audioFileInLibrary = data.audioFileInLibrary;
29
+ this.beatsPerMinute = data.beatsPerMinute;
30
+ this.timeSignatureUpper = data.timeSignatureUpper;
31
+ this.timeSignatureLower = data.timeSignatureLower;
32
+ this.snapToGrid = data.snapToGrid;
33
+ // never guess again (and overwrite), when a composition is loaded
34
+ this.tempoGuessed = true;
35
+ this.gridType = data.gridType;
36
+ this.gridOffsetMillis = data.gridOffsetMillis;
37
+ this.gridResolution = data.gridResolution;
38
+ this.durationMillis = data.durationMillis;
39
+ if (data.scenePlaybackRegions) {
40
+ for (const scenePlaybackRegion of data.scenePlaybackRegions) {
41
+ this.scenePlaybackRegions.push(new ScenePlaybackRegion(scenePlaybackRegion));
42
+ }
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL21vZGVscy9jb21wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLE9BQU8sV0FBVztJQStCdEIsWUFBWSxJQUFVO1FBM0J0QixnQkFBZ0I7UUFDVCxhQUFRLEdBQUcsT0FBTyxDQUFDO1FBR25CLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUUzQixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQix1QkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFNUIsd0JBQXdCO1FBQ2pCLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLDJCQUEyQjtRQUNwQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUUxQixhQUFhO1FBQ04sbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFMUIsMENBQTBDO1FBQ25DLHlCQUFvQixHQUEwQixFQUFFLENBQUM7UUFHdEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVsQyxrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLEtBQUssTUFBTSxtQkFBbUIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUMvRSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjZW5lUGxheWJhY2tSZWdpb24gfSBmcm9tICcuL3NjZW5lLXBsYXliYWNrLXJlZ2lvbic7XG5cbmV4cG9ydCBjbGFzcyBDb21wb3NpdGlvbiB7XG4gIHB1YmxpYyB1dWlkOiBzdHJpbmc7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgLy8gbm9uZSBvciBhdWRpb1xuICBwdWJsaWMgc3luY1R5cGUgPSAnYXVkaW8nO1xuXG4gIHB1YmxpYyBhdWRpb0ZpbGVOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhdWRpb0ZpbGVJbkxpYnJhcnkgPSBmYWxzZTtcblxuICBwdWJsaWMgYmVhdHNQZXJNaW51dGUgPSAxMjA7XG4gIHB1YmxpYyB0aW1lU2lnbmF0dXJlVXBwZXIgPSA0O1xuICBwdWJsaWMgdGltZVNpZ25hdHVyZUxvd2VyID0gNDtcblxuICBwdWJsaWMgc25hcFRvR3JpZCA9IHRydWU7XG5cbiAgcHVibGljIHRlbXBvR3Vlc3NlZCA9IGZhbHNlO1xuXG4gIC8vIHRpbWUgYmFzZWQgb3IgbXVzaWNhbFxuICBwdWJsaWMgZ3JpZFR5cGUgPSAnbXVzaWNhbCc7XG4gIHB1YmxpYyBncmlkT2Zmc2V0TWlsbGlzID0gMDtcblxuICAvLyAxLzEsIDEvMiwgMS80LCAxLzgsIGV0Yy5cbiAgcHVibGljIGdyaWRSZXNvbHV0aW9uID0gMTtcblxuICAvLyBpZiBubyBzeW5jXG4gIHB1YmxpYyBkdXJhdGlvbk1pbGxpcyA9IDA7XG5cbiAgLy8gUmVnaW9ucywgd2hlcmUgdGhlIHNjZW5lIHdpbGwgYmUgcGxheWVkXG4gIHB1YmxpYyBzY2VuZVBsYXliYWNrUmVnaW9uczogU2NlbmVQbGF5YmFja1JlZ2lvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXVpZCA9IGRhdGEudXVpZDtcbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XG4gICAgdGhpcy5zeW5jVHlwZSA9IGRhdGEuc3luY1R5cGU7XG4gICAgdGhpcy5hdWRpb0ZpbGVOYW1lID0gZGF0YS5hdWRpb0ZpbGVOYW1lO1xuICAgIHRoaXMuYXVkaW9GaWxlSW5MaWJyYXJ5ID0gZGF0YS5hdWRpb0ZpbGVJbkxpYnJhcnk7XG4gICAgdGhpcy5iZWF0c1Blck1pbnV0ZSA9IGRhdGEuYmVhdHNQZXJNaW51dGU7XG4gICAgdGhpcy50aW1lU2lnbmF0dXJlVXBwZXIgPSBkYXRhLnRpbWVTaWduYXR1cmVVcHBlcjtcbiAgICB0aGlzLnRpbWVTaWduYXR1cmVMb3dlciA9IGRhdGEudGltZVNpZ25hdHVyZUxvd2VyO1xuICAgIHRoaXMuc25hcFRvR3JpZCA9IGRhdGEuc25hcFRvR3JpZDtcblxuICAgIC8vIG5ldmVyIGd1ZXNzIGFnYWluIChhbmQgb3ZlcndyaXRlKSwgd2hlbiBhIGNvbXBvc2l0aW9uIGlzIGxvYWRlZFxuICAgIHRoaXMudGVtcG9HdWVzc2VkID0gdHJ1ZTtcblxuICAgIHRoaXMuZ3JpZFR5cGUgPSBkYXRhLmdyaWRUeXBlO1xuICAgIHRoaXMuZ3JpZE9mZnNldE1pbGxpcyA9IGRhdGEuZ3JpZE9mZnNldE1pbGxpcztcbiAgICB0aGlzLmdyaWRSZXNvbHV0aW9uID0gZGF0YS5ncmlkUmVzb2x1dGlvbjtcbiAgICB0aGlzLmR1cmF0aW9uTWlsbGlzID0gZGF0YS5kdXJhdGlvbk1pbGxpcztcblxuICAgIGlmIChkYXRhLnNjZW5lUGxheWJhY2tSZWdpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IHNjZW5lUGxheWJhY2tSZWdpb24gb2YgZGF0YS5zY2VuZVBsYXliYWNrUmVnaW9ucykge1xuICAgICAgICB0aGlzLnNjZW5lUGxheWJhY2tSZWdpb25zLnB1c2gobmV3IFNjZW5lUGxheWJhY2tSZWdpb24oc2NlbmVQbGF5YmFja1JlZ2lvbikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ export class EffectCurveProfileChannels {
2
+ constructor(data) {
3
+ this.channels = [];
4
+ if (!data) {
5
+ return;
6
+ }
7
+ this.profileUuid = data.profileUuid;
8
+ if (data.channels) {
9
+ for (const channel of Object.keys(data.channels)) {
10
+ this.channels.push(channel);
11
+ }
12
+ }
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LWN1cnZlLXByb2ZpbGUtY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvbW9kZWxzL2VmZmVjdC1jdXJ2ZS1wcm9maWxlLWNoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjtJQUlyQyxZQUFZLElBQVU7UUFGdEIsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUd0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVmZmVjdEN1cnZlUHJvZmlsZUNoYW5uZWxzIHtcbiAgcHJvZmlsZVV1aWQ6IHN0cmluZztcbiAgY2hhbm5lbHM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucHJvZmlsZVV1aWQgPSBkYXRhLnByb2ZpbGVVdWlkO1xuXG4gICAgaWYgKGRhdGEuY2hhbm5lbHMpIHtcbiAgICAgIGZvciAoY29uc3QgY2hhbm5lbCBvZiBPYmplY3Qua2V5cyhkYXRhLmNoYW5uZWxzKSkge1xuICAgICAgICB0aGlzLmNoYW5uZWxzLnB1c2goY2hhbm5lbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,69 @@
1
+ import { Effect } from './effect';
2
+ import { EffectCurveProfileChannels } from './effect-curve-profile-channel';
3
+ import { FixtureCapability } from './fixture-capability';
4
+ export class EffectCurve extends Effect {
5
+ constructor(data) {
6
+ super('curve', data);
7
+ this.curveType = 'sine';
8
+ this.capabilities = [];
9
+ this.channels = [];
10
+ this.lengthMillis = 2500;
11
+ this.phaseMillis = 0;
12
+ this.amplitude = 1;
13
+ this.position = 0.5;
14
+ this.phasingMillis = 0;
15
+ if (!data) {
16
+ return;
17
+ }
18
+ if (data.capabilities) {
19
+ for (const capability of data.capabilities) {
20
+ this.capabilities.push(new FixtureCapability(capability));
21
+ }
22
+ }
23
+ if (data.channels) {
24
+ for (const channel of data.channels) {
25
+ this.channels.push(new EffectCurveProfileChannels(channel));
26
+ }
27
+ }
28
+ this.lengthMillis = data.lengthMillis;
29
+ this.phaseMillis = data.phaseMillis;
30
+ this.amplitude = data.amplitude;
31
+ this.position = data.position;
32
+ this.phasingMillis = data.phasingMillis;
33
+ this.curveType = data.curveType;
34
+ }
35
+ getValueAtMillis(timeMillis, fixtureIndex) {
36
+ // Calculate the offset for phasing
37
+ let phasingIndex = 0;
38
+ if (fixtureIndex) {
39
+ phasingIndex = fixtureIndex;
40
+ }
41
+ const phase = this.phaseMillis + phasingIndex * this.phasingMillis;
42
+ // Calculate the value between 0 and 1 according to the curve
43
+ let value = 0;
44
+ switch (this.curveType) {
45
+ case 'sine':
46
+ value = this.position + ((this.amplitude / 2) * Math.sin((2 * Math.PI * (timeMillis - phase)) / this.lengthMillis)) / 2;
47
+ break;
48
+ case 'square':
49
+ if (Math.sign(Math.sin((2 * Math.PI * (timeMillis - phase)) / this.lengthMillis) / 2) === -1) {
50
+ value = this.position + this.amplitude / 2;
51
+ }
52
+ else {
53
+ value = this.position - this.amplitude / 2;
54
+ }
55
+ break;
56
+ case 'triangle':
57
+ // TODO check wikipedia formula
58
+ break;
59
+ case 'sawtooth':
60
+ // TODO
61
+ break;
62
+ case 'reverse-sawtooth':
63
+ // TODO
64
+ break;
65
+ }
66
+ return Math.max(Math.min(value, 1), 0);
67
+ }
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LWN1cnZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZWZmZWN0LWN1cnZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFPLFdBQVksU0FBUSxNQUFNO0lBWXJDLFlBQVksSUFBVTtRQUNwQixLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBWnZCLGNBQVMsR0FBRyxNQUFNLENBQUM7UUFFbkIsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLGFBQVEsR0FBaUMsRUFBRSxDQUFDO1FBRTVDLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFLaEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLFlBQXFCO1FBQy9ELG1DQUFtQztRQUNuQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFFckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRW5FLDZEQUE2RDtRQUM3RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFZCxRQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QixLQUFLLE1BQU07Z0JBQ1QsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4SCxNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDN0YsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7Z0JBQzdDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztnQkFDRCxNQUFNO1lBQ1IsS0FBSyxVQUFVO2dCQUNiLCtCQUErQjtnQkFDL0IsTUFBTTtZQUNSLEtBQUssVUFBVTtnQkFDYixPQUFPO2dCQUNQLE1BQU07WUFDUixLQUFLLGtCQUFrQjtnQkFDckIsT0FBTztnQkFDUCxNQUFNO1FBQ1YsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZmZlY3QgfSBmcm9tICcuL2VmZmVjdCc7XG5pbXBvcnQgeyBFZmZlY3RDdXJ2ZVByb2ZpbGVDaGFubmVscyB9IGZyb20gJy4vZWZmZWN0LWN1cnZlLXByb2ZpbGUtY2hhbm5lbCc7XG5pbXBvcnQgeyBGaXh0dXJlQ2FwYWJpbGl0eSB9IGZyb20gJy4vZml4dHVyZS1jYXBhYmlsaXR5JztcblxuZXhwb3J0IGNsYXNzIEVmZmVjdEN1cnZlIGV4dGVuZHMgRWZmZWN0IHtcbiAgY3VydmVUeXBlID0gJ3NpbmUnO1xuXG4gIGNhcGFiaWxpdGllczogRml4dHVyZUNhcGFiaWxpdHlbXSA9IFtdO1xuICBjaGFubmVsczogRWZmZWN0Q3VydmVQcm9maWxlQ2hhbm5lbHNbXSA9IFtdO1xuXG4gIGxlbmd0aE1pbGxpcyA9IDI1MDA7XG4gIHBoYXNlTWlsbGlzID0gMDtcbiAgYW1wbGl0dWRlID0gMTtcbiAgcG9zaXRpb24gPSAwLjU7XG4gIHBoYXNpbmdNaWxsaXMgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBzdXBlcignY3VydmUnLCBkYXRhKTtcblxuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkYXRhLmNhcGFiaWxpdGllcykge1xuICAgICAgZm9yIChjb25zdCBjYXBhYmlsaXR5IG9mIGRhdGEuY2FwYWJpbGl0aWVzKSB7XG4gICAgICAgIHRoaXMuY2FwYWJpbGl0aWVzLnB1c2gobmV3IEZpeHR1cmVDYXBhYmlsaXR5KGNhcGFiaWxpdHkpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGF0YS5jaGFubmVscykge1xuICAgICAgZm9yIChjb25zdCBjaGFubmVsIG9mIGRhdGEuY2hhbm5lbHMpIHtcbiAgICAgICAgdGhpcy5jaGFubmVscy5wdXNoKG5ldyBFZmZlY3RDdXJ2ZVByb2ZpbGVDaGFubmVscyhjaGFubmVsKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGhNaWxsaXMgPSBkYXRhLmxlbmd0aE1pbGxpcztcbiAgICB0aGlzLnBoYXNlTWlsbGlzID0gZGF0YS5waGFzZU1pbGxpcztcbiAgICB0aGlzLmFtcGxpdHVkZSA9IGRhdGEuYW1wbGl0dWRlO1xuICAgIHRoaXMucG9zaXRpb24gPSBkYXRhLnBvc2l0aW9uO1xuICAgIHRoaXMucGhhc2luZ01pbGxpcyA9IGRhdGEucGhhc2luZ01pbGxpcztcbiAgICB0aGlzLmN1cnZlVHlwZSA9IGRhdGEuY3VydmVUeXBlO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlQXRNaWxsaXModGltZU1pbGxpczogbnVtYmVyLCBmaXh0dXJlSW5kZXg/OiBudW1iZXIpOiBudW1iZXIge1xuICAgIC8vIENhbGN1bGF0ZSB0aGUgb2Zmc2V0IGZvciBwaGFzaW5nXG4gICAgbGV0IHBoYXNpbmdJbmRleCA9IDA7XG5cbiAgICBpZiAoZml4dHVyZUluZGV4KSB7XG4gICAgICBwaGFzaW5nSW5kZXggPSBmaXh0dXJlSW5kZXg7XG4gICAgfVxuXG4gICAgY29uc3QgcGhhc2UgPSB0aGlzLnBoYXNlTWlsbGlzICsgcGhhc2luZ0luZGV4ICogdGhpcy5waGFzaW5nTWlsbGlzO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHRoZSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEgYWNjb3JkaW5nIHRvIHRoZSBjdXJ2ZVxuICAgIGxldCB2YWx1ZSA9IDA7XG5cbiAgICBzd2l0Y2ggKHRoaXMuY3VydmVUeXBlKSB7XG4gICAgICBjYXNlICdzaW5lJzpcbiAgICAgICAgdmFsdWUgPSB0aGlzLnBvc2l0aW9uICsgKCh0aGlzLmFtcGxpdHVkZSAvIDIpICogTWF0aC5zaW4oKDIgKiBNYXRoLlBJICogKHRpbWVNaWxsaXMgLSBwaGFzZSkpIC8gdGhpcy5sZW5ndGhNaWxsaXMpKSAvIDI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3F1YXJlJzpcbiAgICAgICAgaWYgKE1hdGguc2lnbihNYXRoLnNpbigoMiAqIE1hdGguUEkgKiAodGltZU1pbGxpcyAtIHBoYXNlKSkgLyB0aGlzLmxlbmd0aE1pbGxpcykgLyAyKSA9PT0gLTEpIHtcbiAgICAgICAgICB2YWx1ZSA9IHRoaXMucG9zaXRpb24gKyB0aGlzLmFtcGxpdHVkZSAvIDI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWUgPSB0aGlzLnBvc2l0aW9uIC0gdGhpcy5hbXBsaXR1ZGUgLyAyO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndHJpYW5nbGUnOlxuICAgICAgICAvLyBUT0RPIGNoZWNrIHdpa2lwZWRpYSBmb3JtdWxhXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2F3dG9vdGgnOlxuICAgICAgICAvLyBUT0RPXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmV2ZXJzZS1zYXd0b290aCc6XG4gICAgICAgIC8vIFRPRE9cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGgubWF4KE1hdGgubWluKHZhbHVlLCAxKSwgMCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Effect } from './effect';
2
+ export class EffectPanTilt extends Effect {
3
+ constructor(data) {
4
+ super('pan-tilt', data);
5
+ this.phasingMillis = 0;
6
+ }
7
+ getValueAtMillis(timeMillis, fixtureIndex) {
8
+ // Calculate the offset for phasing
9
+ let phasingIndex = 0;
10
+ if (fixtureIndex) {
11
+ phasingIndex = fixtureIndex;
12
+ }
13
+ // let phase = this.phaseMillis + phasingIndex * this.phasingMillis;
14
+ // Calculate the value according to the curve
15
+ // TODO
16
+ return 0;
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LXBhbi10aWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZWZmZWN0LXBhbi10aWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsTUFBTSxPQUFPLGFBQWMsU0FBUSxNQUFNO0lBR3ZDLFlBQVksSUFBVTtRQUNwQixLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSDFCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO0lBSWxCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLFlBQXFCO1FBQ3hELG1DQUFtQztRQUNuQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFFckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzlCLENBQUM7UUFFRCxvRUFBb0U7UUFFcEUsNkNBQTZDO1FBQzdDLE9BQU87UUFFUCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVmZmVjdCB9IGZyb20gJy4vZWZmZWN0JztcblxuZXhwb3J0IGNsYXNzIEVmZmVjdFBhblRpbHQgZXh0ZW5kcyBFZmZlY3Qge1xuICBwaGFzaW5nTWlsbGlzID0gMDtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgc3VwZXIoJ3Bhbi10aWx0JywgZGF0YSk7XG4gIH1cblxuICBnZXRWYWx1ZUF0TWlsbGlzKHRpbWVNaWxsaXM6IG51bWJlciwgZml4dHVyZUluZGV4PzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAvLyBDYWxjdWxhdGUgdGhlIG9mZnNldCBmb3IgcGhhc2luZ1xuICAgIGxldCBwaGFzaW5nSW5kZXggPSAwO1xuXG4gICAgaWYgKGZpeHR1cmVJbmRleCkge1xuICAgICAgcGhhc2luZ0luZGV4ID0gZml4dHVyZUluZGV4O1xuICAgIH1cblxuICAgIC8vIGxldCBwaGFzZSA9IHRoaXMucGhhc2VNaWxsaXMgKyBwaGFzaW5nSW5kZXggKiB0aGlzLnBoYXNpbmdNaWxsaXM7XG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIHZhbHVlIGFjY29yZGluZyB0byB0aGUgY3VydmVcbiAgICAvLyBUT0RPXG5cbiAgICByZXR1cm4gMDtcbiAgfVxufVxuIl19
@@ -0,0 +1,12 @@
1
+ export class Effect {
2
+ constructor(type, data) {
3
+ this.visible = true;
4
+ this.type = type;
5
+ if (!data) {
6
+ return;
7
+ }
8
+ this.uuid = data.uuid;
9
+ this.visible = data.visible;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsTUFBTTtJQUsxQixZQUFZLElBQVksRUFBRSxJQUFVO1FBRnBDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVmZmVjdCB7XG4gIHR5cGU6IHN0cmluZztcbiAgdXVpZDogc3RyaW5nO1xuICB2aXNpYmxlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcsIGRhdGE/OiBhbnkpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuXG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51dWlkID0gZGF0YS51dWlkO1xuICAgIHRoaXMudmlzaWJsZSA9IGRhdGEudmlzaWJsZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { FixtureCapabilityColor, FixtureCapabilityType } from './fixture-capability';
2
+ export class FixtureCapabilityValue {
3
+ constructor(data) {
4
+ if (!data) {
5
+ return;
6
+ }
7
+ this.type = FixtureCapabilityType[data.type];
8
+ this.profileUuid = data.profileUuid;
9
+ this.valuePercentage = data.valuePercentage;
10
+ this.color = FixtureCapabilityColor[data.color];
11
+ this.wheel = data.wheel;
12
+ this.slotNumber = data.slotNumber;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1jYXBhYmlsaXR5LXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJGLE1BQU0sT0FBTyxzQkFBc0I7SUFXakMsWUFBWSxJQUFVO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBYyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXBDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFlLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpeHR1cmVDYXBhYmlsaXR5Q29sb3IsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZSB9IGZyb20gJy4vZml4dHVyZS1jYXBhYmlsaXR5JztcblxuZXhwb3J0IGNsYXNzIEZpeHR1cmVDYXBhYmlsaXR5VmFsdWUge1xuICB0eXBlOiBGaXh0dXJlQ2FwYWJpbGl0eVR5cGU7XG4gIHByb2ZpbGVVdWlkOiBzdHJpbmc7XG5cbiAgLy8gdmFsdWUgYmV0d2VlbiAwIGFuZCAxXG4gIHZhbHVlUGVyY2VudGFnZTogbnVtYmVyO1xuXG4gIGNvbG9yOiBGaXh0dXJlQ2FwYWJpbGl0eUNvbG9yO1xuICB3aGVlbDogc3RyaW5nO1xuICBzbG90TnVtYmVyOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnR5cGUgPSBGaXh0dXJlQ2FwYWJpbGl0eVR5cGVbZGF0YS50eXBlIGFzIHN0cmluZ107XG4gICAgdGhpcy5wcm9maWxlVXVpZCA9IGRhdGEucHJvZmlsZVV1aWQ7XG5cbiAgICB0aGlzLnZhbHVlUGVyY2VudGFnZSA9IGRhdGEudmFsdWVQZXJjZW50YWdlO1xuICAgIHRoaXMuY29sb3IgPSBGaXh0dXJlQ2FwYWJpbGl0eUNvbG9yW2RhdGEuY29sb3IgYXMgc3RyaW5nXTtcbiAgICB0aGlzLndoZWVsID0gZGF0YS53aGVlbDtcbiAgICB0aGlzLnNsb3ROdW1iZXIgPSBkYXRhLnNsb3ROdW1iZXI7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,84 @@
1
+ export var FixtureCapabilityType;
2
+ (function (FixtureCapabilityType) {
3
+ FixtureCapabilityType["NoFunction"] = "NoFunction";
4
+ FixtureCapabilityType["ShutterStrobe"] = "ShutterStrobe";
5
+ FixtureCapabilityType["StrobeSpeed"] = "StrobeSpeed";
6
+ FixtureCapabilityType["StrobeDuration"] = "StrobeDuration";
7
+ FixtureCapabilityType["Intensity"] = "Intensity";
8
+ FixtureCapabilityType["ColorIntensity"] = "ColorIntensity";
9
+ FixtureCapabilityType["ColorPreset"] = "ColorPreset";
10
+ FixtureCapabilityType["ColorTemperature"] = "ColorTemperature";
11
+ FixtureCapabilityType["Pan"] = "Pan";
12
+ FixtureCapabilityType["PanContinuous"] = "PanContinuous";
13
+ FixtureCapabilityType["Tilt"] = "Tilt";
14
+ FixtureCapabilityType["TiltContinuous"] = "TiltContinuous";
15
+ FixtureCapabilityType["PanTiltSpeed"] = "PanTiltSpeed";
16
+ FixtureCapabilityType["WheelSlot"] = "WheelSlot";
17
+ FixtureCapabilityType["WheelShake"] = "WheelShake";
18
+ FixtureCapabilityType["WheelSlotRotation"] = "WheelSlotRotation";
19
+ FixtureCapabilityType["WheelRotation"] = "WheelRotation";
20
+ FixtureCapabilityType["EffectSpeed"] = "EffectSpeed";
21
+ FixtureCapabilityType["EffectDuration"] = "EffectDuration";
22
+ FixtureCapabilityType["EffectParameter"] = "EffectParameter";
23
+ FixtureCapabilityType["SoundSensitivity"] = "SoundSensitivity";
24
+ FixtureCapabilityType["Focus"] = "Focus";
25
+ FixtureCapabilityType["Zoom"] = "Zoom";
26
+ FixtureCapabilityType["Iris"] = "Iris";
27
+ FixtureCapabilityType["IrisEffect"] = "IrisEffect";
28
+ FixtureCapabilityType["Frost"] = "Frost";
29
+ FixtureCapabilityType["FrostEffect"] = "FrostEffect";
30
+ FixtureCapabilityType["Prism"] = "Prism";
31
+ FixtureCapabilityType["PrismRotation"] = "PrismRotation";
32
+ FixtureCapabilityType["BladeInsertion"] = "BladeInsertion";
33
+ FixtureCapabilityType["BladeRotation"] = "BladeRotation";
34
+ FixtureCapabilityType["BladeSystemRotation"] = "BladeSystemRotation";
35
+ FixtureCapabilityType["Fog"] = "Fog";
36
+ FixtureCapabilityType["FogOutput"] = "FogOutput";
37
+ FixtureCapabilityType["FogType"] = "FogType";
38
+ FixtureCapabilityType["BeamAngle"] = "BeamAngle";
39
+ FixtureCapabilityType["Rotation"] = "Rotation";
40
+ FixtureCapabilityType["Speed"] = "Speed";
41
+ FixtureCapabilityType["Time"] = "Time";
42
+ FixtureCapabilityType["Maintenance"] = "Maintenance";
43
+ FixtureCapabilityType["Generic"] = "Generic";
44
+ FixtureCapabilityType["Effect"] = "Effect";
45
+ FixtureCapabilityType["BeamPosition"] = "BeamPosition";
46
+ })(FixtureCapabilityType || (FixtureCapabilityType = {}));
47
+ export var FixtureCapabilityColor;
48
+ (function (FixtureCapabilityColor) {
49
+ FixtureCapabilityColor["Red"] = "Red";
50
+ FixtureCapabilityColor["Green"] = "Green";
51
+ FixtureCapabilityColor["Blue"] = "Blue";
52
+ FixtureCapabilityColor["Cyan"] = "Cyan";
53
+ FixtureCapabilityColor["Magenta"] = "Magenta";
54
+ FixtureCapabilityColor["Yellow"] = "Yellow";
55
+ FixtureCapabilityColor["Amber"] = "Amber";
56
+ FixtureCapabilityColor["White"] = "White";
57
+ FixtureCapabilityColor["Warm White"] = "Warm White";
58
+ FixtureCapabilityColor["Cold White"] = "Cold White";
59
+ FixtureCapabilityColor["UV"] = "UV";
60
+ FixtureCapabilityColor["Lime"] = "Lime";
61
+ FixtureCapabilityColor["Indigo"] = "Indigo";
62
+ })(FixtureCapabilityColor || (FixtureCapabilityColor = {}));
63
+ export class FixtureCapability {
64
+ constructor(data) {
65
+ this.dmxRange = [];
66
+ if (!data) {
67
+ return;
68
+ }
69
+ this.type = FixtureCapabilityType[data.type];
70
+ this.angleStart = data.angleStart;
71
+ this.angleEnd = data.angleEnd;
72
+ this.color = data.color;
73
+ if (data.dmxRange) {
74
+ this.dmxRange = data.dmxRange;
75
+ }
76
+ this.wheel = data.wheel;
77
+ this.slotNumber = data.slotNumber;
78
+ this.brightness = data.brightness;
79
+ this.brightnessStart = data.brightnessStart;
80
+ this.brightnessEnd = data.brightnessEnd;
81
+ this.comment = data.comment;
82
+ }
83
+ }
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1jYXBhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFCQTRDWDtBQTVDRCxXQUFZLHFCQUFxQjtJQUMvQixrREFBeUIsQ0FBQTtJQUN6Qix3REFBK0IsQ0FBQTtJQUMvQixvREFBMkIsQ0FBQTtJQUMzQiwwREFBaUMsQ0FBQTtJQUNqQyxnREFBdUIsQ0FBQTtJQUN2QiwwREFBaUMsQ0FBQTtJQUNqQyxvREFBMkIsQ0FBQTtJQUMzQiw4REFBcUMsQ0FBQTtJQUNyQyxvQ0FBVyxDQUFBO0lBQ1gsd0RBQStCLENBQUE7SUFDL0Isc0NBQWEsQ0FBQTtJQUNiLDBEQUFpQyxDQUFBO0lBQ2pDLHNEQUE2QixDQUFBO0lBQzdCLGdEQUF1QixDQUFBO0lBQ3ZCLGtEQUF5QixDQUFBO0lBQ3pCLGdFQUF1QyxDQUFBO0lBQ3ZDLHdEQUErQixDQUFBO0lBQy9CLG9EQUEyQixDQUFBO0lBQzNCLDBEQUFpQyxDQUFBO0lBQ2pDLDREQUFtQyxDQUFBO0lBQ25DLDhEQUFxQyxDQUFBO0lBQ3JDLHdDQUFlLENBQUE7SUFDZixzQ0FBYSxDQUFBO0lBQ2Isc0NBQWEsQ0FBQTtJQUNiLGtEQUF5QixDQUFBO0lBQ3pCLHdDQUFlLENBQUE7SUFDZixvREFBMkIsQ0FBQTtJQUMzQix3Q0FBZSxDQUFBO0lBQ2Ysd0RBQStCLENBQUE7SUFDL0IsMERBQWlDLENBQUE7SUFDakMsd0RBQStCLENBQUE7SUFDL0Isb0VBQTJDLENBQUE7SUFDM0Msb0NBQVcsQ0FBQTtJQUNYLGdEQUF1QixDQUFBO0lBQ3ZCLDRDQUFtQixDQUFBO0lBQ25CLGdEQUF1QixDQUFBO0lBQ3ZCLDhDQUFxQixDQUFBO0lBQ3JCLHdDQUFlLENBQUE7SUFDZixzQ0FBYSxDQUFBO0lBQ2Isb0RBQTJCLENBQUE7SUFDM0IsNENBQW1CLENBQUE7SUFDbkIsMENBQWlCLENBQUE7SUFDakIsc0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQTVDVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBNENoQztBQUVELE1BQU0sQ0FBTixJQUFZLHNCQWNYO0FBZEQsV0FBWSxzQkFBc0I7SUFDaEMscUNBQVcsQ0FBQTtJQUNYLHlDQUFlLENBQUE7SUFDZix1Q0FBYSxDQUFBO0lBQ2IsdUNBQWEsQ0FBQTtJQUNiLDZDQUFtQixDQUFBO0lBQ25CLDJDQUFpQixDQUFBO0lBQ2pCLHlDQUFlLENBQUE7SUFDZix5Q0FBZSxDQUFBO0lBQ2YsbURBQTJCLENBQUE7SUFDM0IsbURBQTJCLENBQUE7SUFDM0IsbUNBQVMsQ0FBQTtJQUNULHVDQUFhLENBQUE7SUFDYiwyQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBZFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQWNqQztBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFjNUIsWUFBWSxJQUFVO1FBVHRCLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFVdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFjLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpeHR1cmVDYXBhYmlsaXR5VHlwZSB7XG4gIE5vRnVuY3Rpb24gPSAnTm9GdW5jdGlvbicsXG4gIFNodXR0ZXJTdHJvYmUgPSAnU2h1dHRlclN0cm9iZScsXG4gIFN0cm9iZVNwZWVkID0gJ1N0cm9iZVNwZWVkJyxcbiAgU3Ryb2JlRHVyYXRpb24gPSAnU3Ryb2JlRHVyYXRpb24nLFxuICBJbnRlbnNpdHkgPSAnSW50ZW5zaXR5JyxcbiAgQ29sb3JJbnRlbnNpdHkgPSAnQ29sb3JJbnRlbnNpdHknLFxuICBDb2xvclByZXNldCA9ICdDb2xvclByZXNldCcsXG4gIENvbG9yVGVtcGVyYXR1cmUgPSAnQ29sb3JUZW1wZXJhdHVyZScsXG4gIFBhbiA9ICdQYW4nLFxuICBQYW5Db250aW51b3VzID0gJ1BhbkNvbnRpbnVvdXMnLFxuICBUaWx0ID0gJ1RpbHQnLFxuICBUaWx0Q29udGludW91cyA9ICdUaWx0Q29udGludW91cycsXG4gIFBhblRpbHRTcGVlZCA9ICdQYW5UaWx0U3BlZWQnLFxuICBXaGVlbFNsb3QgPSAnV2hlZWxTbG90JyxcbiAgV2hlZWxTaGFrZSA9ICdXaGVlbFNoYWtlJyxcbiAgV2hlZWxTbG90Um90YXRpb24gPSAnV2hlZWxTbG90Um90YXRpb24nLFxuICBXaGVlbFJvdGF0aW9uID0gJ1doZWVsUm90YXRpb24nLFxuICBFZmZlY3RTcGVlZCA9ICdFZmZlY3RTcGVlZCcsXG4gIEVmZmVjdER1cmF0aW9uID0gJ0VmZmVjdER1cmF0aW9uJyxcbiAgRWZmZWN0UGFyYW1ldGVyID0gJ0VmZmVjdFBhcmFtZXRlcicsXG4gIFNvdW5kU2Vuc2l0aXZpdHkgPSAnU291bmRTZW5zaXRpdml0eScsXG4gIEZvY3VzID0gJ0ZvY3VzJyxcbiAgWm9vbSA9ICdab29tJyxcbiAgSXJpcyA9ICdJcmlzJyxcbiAgSXJpc0VmZmVjdCA9ICdJcmlzRWZmZWN0JyxcbiAgRnJvc3QgPSAnRnJvc3QnLFxuICBGcm9zdEVmZmVjdCA9ICdGcm9zdEVmZmVjdCcsXG4gIFByaXNtID0gJ1ByaXNtJyxcbiAgUHJpc21Sb3RhdGlvbiA9ICdQcmlzbVJvdGF0aW9uJyxcbiAgQmxhZGVJbnNlcnRpb24gPSAnQmxhZGVJbnNlcnRpb24nLFxuICBCbGFkZVJvdGF0aW9uID0gJ0JsYWRlUm90YXRpb24nLFxuICBCbGFkZVN5c3RlbVJvdGF0aW9uID0gJ0JsYWRlU3lzdGVtUm90YXRpb24nLFxuICBGb2cgPSAnRm9nJyxcbiAgRm9nT3V0cHV0ID0gJ0ZvZ091dHB1dCcsXG4gIEZvZ1R5cGUgPSAnRm9nVHlwZScsXG4gIEJlYW1BbmdsZSA9ICdCZWFtQW5nbGUnLFxuICBSb3RhdGlvbiA9ICdSb3RhdGlvbicsXG4gIFNwZWVkID0gJ1NwZWVkJyxcbiAgVGltZSA9ICdUaW1lJyxcbiAgTWFpbnRlbmFuY2UgPSAnTWFpbnRlbmFuY2UnLFxuICBHZW5lcmljID0gJ0dlbmVyaWMnLFxuICBFZmZlY3QgPSAnRWZmZWN0JyxcbiAgQmVhbVBvc2l0aW9uID0gJ0JlYW1Qb3NpdGlvbicsXG59XG5cbmV4cG9ydCBlbnVtIEZpeHR1cmVDYXBhYmlsaXR5Q29sb3Ige1xuICBSZWQgPSAnUmVkJyxcbiAgR3JlZW4gPSAnR3JlZW4nLFxuICBCbHVlID0gJ0JsdWUnLFxuICBDeWFuID0gJ0N5YW4nLFxuICBNYWdlbnRhID0gJ01hZ2VudGEnLFxuICBZZWxsb3cgPSAnWWVsbG93JyxcbiAgQW1iZXIgPSAnQW1iZXInLFxuICBXaGl0ZSA9ICdXaGl0ZScsXG4gICdXYXJtIFdoaXRlJyA9ICdXYXJtIFdoaXRlJyxcbiAgJ0NvbGQgV2hpdGUnID0gJ0NvbGQgV2hpdGUnLFxuICBVViA9ICdVVicsXG4gIExpbWUgPSAnTGltZScsXG4gIEluZGlnbyA9ICdJbmRpZ28nLFxufVxuXG5leHBvcnQgY2xhc3MgRml4dHVyZUNhcGFiaWxpdHkge1xuICB0eXBlOiBGaXh0dXJlQ2FwYWJpbGl0eVR5cGU7XG4gIGFuZ2xlU3RhcnQ6IHN0cmluZztcbiAgYW5nbGVFbmQ6IHN0cmluZztcbiAgY29sb3I6IEZpeHR1cmVDYXBhYmlsaXR5Q29sb3I7XG4gIGRteFJhbmdlOiBudW1iZXJbXSA9IFtdO1xuICAvLyBtYXkgYmUgZW1wdHkuIGluIHRoaXMgY2FzZSwgdGhlIGNoYW5uZWwgbmFtZSBwb2ludHMgdG8gdGhlIHdoZWVsXG4gIHdoZWVsOiBhbnk7XG4gIHNsb3ROdW1iZXI6IG51bWJlcjtcbiAgYnJpZ2h0bmVzczogc3RyaW5nO1xuICBicmlnaHRuZXNzU3RhcnQ6IHN0cmluZztcbiAgYnJpZ2h0bmVzc0VuZDogc3RyaW5nO1xuICBjb21tZW50OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudHlwZSA9IEZpeHR1cmVDYXBhYmlsaXR5VHlwZVtkYXRhLnR5cGUgYXMgc3RyaW5nXTtcbiAgICB0aGlzLmFuZ2xlU3RhcnQgPSBkYXRhLmFuZ2xlU3RhcnQ7XG4gICAgdGhpcy5hbmdsZUVuZCA9IGRhdGEuYW5nbGVFbmQ7XG4gICAgdGhpcy5jb2xvciA9IGRhdGEuY29sb3I7XG4gICAgaWYgKGRhdGEuZG14UmFuZ2UpIHtcbiAgICAgIHRoaXMuZG14UmFuZ2UgPSBkYXRhLmRteFJhbmdlO1xuICAgIH1cbiAgICB0aGlzLndoZWVsID0gZGF0YS53aGVlbDtcbiAgICB0aGlzLnNsb3ROdW1iZXIgPSBkYXRhLnNsb3ROdW1iZXI7XG4gICAgdGhpcy5icmlnaHRuZXNzID0gZGF0YS5icmlnaHRuZXNzO1xuICAgIHRoaXMuYnJpZ2h0bmVzc1N0YXJ0ID0gZGF0YS5icmlnaHRuZXNzU3RhcnQ7XG4gICAgdGhpcy5icmlnaHRuZXNzRW5kID0gZGF0YS5icmlnaHRuZXNzRW5kO1xuICAgIHRoaXMuY29tbWVudCA9IGRhdGEuY29tbWVudDtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ export class FixtureChannelValue {
2
+ constructor(data) {
3
+ if (!data) {
4
+ return;
5
+ }
6
+ this.channelName = data.channelName;
7
+ this.profileUuid = data.profileUuid;
8
+ this.value = data.value;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jaGFubmVsLXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1jaGFubmVsLXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFBWSxJQUFVO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEZpeHR1cmVDaGFubmVsVmFsdWUge1xuICBjaGFubmVsTmFtZTogc3RyaW5nO1xuICBwcm9maWxlVXVpZDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jaGFubmVsTmFtZSA9IGRhdGEuY2hhbm5lbE5hbWU7XG4gICAgdGhpcy5wcm9maWxlVXVpZCA9IGRhdGEucHJvZmlsZVV1aWQ7XG4gICAgdGhpcy52YWx1ZSA9IGRhdGEudmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { FixtureCapability } from './fixture-capability';
2
+ export class FixtureChannel {
3
+ constructor(data) {
4
+ this.fineChannelAliases = [];
5
+ this.capabilities = [];
6
+ if (!data) {
7
+ return;
8
+ }
9
+ if (data.fineChannelAliases) {
10
+ this.fineChannelAliases = data.fineChannelAliases;
11
+ }
12
+ this.defaultValue = data.defaultValue;
13
+ this.dmxValueResolution = data.dmxValueResolution;
14
+ if (data.capability) {
15
+ this.capability = new FixtureCapability(data.capability);
16
+ }
17
+ else if (data.capabilities) {
18
+ for (const capability of data.capabilities) {
19
+ this.capabilities.push(new FixtureCapability(capability));
20
+ }
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jaGFubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1jaGFubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE1BQU0sT0FBTyxjQUFjO0lBT3pCLFlBQVksSUFBVTtRQU50Qix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFHbEMsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBSXJDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3BELENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUVsRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRml4dHVyZUNhcGFiaWxpdHkgfSBmcm9tICcuL2ZpeHR1cmUtY2FwYWJpbGl0eSc7XG5cbmV4cG9ydCBjbGFzcyBGaXh0dXJlQ2hhbm5lbCB7XG4gIGZpbmVDaGFubmVsQWxpYXNlczogc3RyaW5nW10gPSBbXTtcbiAgZGVmYXVsdFZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIGNhcGFiaWxpdHk6IEZpeHR1cmVDYXBhYmlsaXR5O1xuICBjYXBhYmlsaXRpZXM6IEZpeHR1cmVDYXBhYmlsaXR5W10gPSBbXTtcbiAgZG14VmFsdWVSZXNvbHV0aW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkYXRhLmZpbmVDaGFubmVsQWxpYXNlcykge1xuICAgICAgdGhpcy5maW5lQ2hhbm5lbEFsaWFzZXMgPSBkYXRhLmZpbmVDaGFubmVsQWxpYXNlcztcbiAgICB9XG5cbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIHRoaXMuZG14VmFsdWVSZXNvbHV0aW9uID0gZGF0YS5kbXhWYWx1ZVJlc29sdXRpb247XG5cbiAgICBpZiAoZGF0YS5jYXBhYmlsaXR5KSB7XG4gICAgICB0aGlzLmNhcGFiaWxpdHkgPSBuZXcgRml4dHVyZUNhcGFiaWxpdHkoZGF0YS5jYXBhYmlsaXR5KTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuY2FwYWJpbGl0aWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGNhcGFiaWxpdHkgb2YgZGF0YS5jYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgdGhpcy5jYXBhYmlsaXRpZXMucHVzaChuZXcgRml4dHVyZUNhcGFiaWxpdHkoY2FwYWJpbGl0eSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ export class FixtureMode {
2
+ constructor(data) {
3
+ this.channels = [];
4
+ if (!data) {
5
+ return;
6
+ }
7
+ this.name = data.name;
8
+ this.shortName = data.shortName;
9
+ if (data.channels) {
10
+ this.channels = data.channels;
11
+ }
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQVksSUFBVTtRQUZ0QixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBR25CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVoQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGaXh0dXJlTW9kZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2hvcnROYW1lOiBzdHJpbmc7XG4gIGNoYW5uZWxzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XG4gICAgdGhpcy5zaG9ydE5hbWUgPSBkYXRhLnNob3J0TmFtZTtcblxuICAgIGlmIChkYXRhLmNoYW5uZWxzKSB7XG4gICAgICB0aGlzLmNoYW5uZWxzID0gZGF0YS5jaGFubmVscztcbiAgICB9XG4gIH1cbn1cbiJdfQ==