Permalink
Browse files

first commit

  • Loading branch information...
0 parents commit 182f8e8310615f8b226bd58f9102ed0e329a083b @flyingoctopus committed Oct 11, 2012
Showing with 17,891 additions and 0 deletions.
  1. BIN Android Remote/APK/bombIRRemote.apk
  2. +17 −0 Android Remote/Source/bombIRRemote/AndroidManifest.xml
  3. +22 −0 Android Remote/Source/bombIRRemote/Button.pde
  4. +96 −0 Android Remote/Source/bombIRRemote/Mouse.pde
  5. +17 −0 Android Remote/Source/bombIRRemote/OSC.pde
  6. +16 −0 Android Remote/Source/bombIRRemote/Sensor.pde
  7. +20 −0 Android Remote/Source/bombIRRemote/State.pde
  8. +23 −0 Android Remote/Source/bombIRRemote/System.pde
  9. +266 −0 Android Remote/Source/bombIRRemote/bombIRRemote.pde
  10. BIN Android Remote/Source/bombIRRemote/code/Ketai.jar
  11. BIN Android Remote/Source/bombIRRemote/code/apwidgets.jar
  12. BIN Android Remote/Source/bombIRRemote/code/oscP5.jar
  13. BIN Android Remote/Source/bombIRRemote/data/logo.png
  14. BIN Android Remote/Source/bombIRRemote/icon-32.png
  15. BIN Android Remote/Source/bombIRRemote/icon-48.png
  16. BIN Android Remote/Source/bombIRRemote/icon-72.png
  17. +2 −0 Android Remote/Source/bombIRRemote/sketch.properties
  18. BIN Flyer/PWNTHEWALL-BER_header.jpg
  19. BIN Flyer/PWNTHEWALL-BER_splash.jpg
  20. BIN Flyer/PWNTHEWALL-BER_splash.psd
  21. BIN Flyer/PWNTHEWALL-BER_splash_transparent.gif
  22. BIN Flyer/PWNTHEWALL-BER_splash_transparent.psd
  23. BIN Flyer/PWNTHEWALL-BER_web-1.jpg
  24. BIN Flyer/PWNTHEWALL-BER_web-2.jpg
  25. BIN Flyer/PWNTHEWALL-VAN_back.gif
  26. BIN Libraries/GML4U Patch/GML4U/library/GML4U.jar
  27. BIN Libraries/GML4U Patch/GML4U/library/hamcrest-all-1.2.jar
  28. BIN Libraries/GML4U Patch/GML4U/library/jaxen.jar
  29. BIN Libraries/GML4U Patch/GML4U/library/jdom.jar
  30. BIN Libraries/GML4U Patch/GML4U/library/log4j-1.2.15.jar
  31. BIN Libraries/GML4U Patch/GML4U/library/saxpath.jar
  32. BIN Libraries/GML4U Patch/GML4U/library/toxiclibscore.jar
  33. BIN Libraries/GML4U Patch/GML4U/library/xerces.jar
  34. +8 −0 Libraries/GML4U/library.properties
  35. BIN Libraries/GML4U/library/GML4U.jar
  36. BIN Libraries/GML4U/library/hamcrest-all-1.2.jar
  37. BIN Libraries/GML4U/library/jaxen.jar
  38. BIN Libraries/GML4U/library/jdom.jar
  39. BIN Libraries/GML4U/library/log4j-1.2.15.jar
  40. BIN Libraries/GML4U/library/saxpath.jar
  41. BIN Libraries/GML4U/library/xerces.jar
  42. BIN Libraries/activemq/library/activemq.jar
  43. BIN Libraries/bombIRBrushes (1)/library/bombIRBrushes.jar
  44. +42 −0 Libraries/bombIRBrushes (1)/src/bombir/brushes/Circle.java
  45. +41 −0 Libraries/bombIRBrushes (1)/src/bombir/brushes/Eraser.java
  46. +59 −0 Libraries/bombIRBrushes (1)/src/bombir/brushes/FatCap.java
  47. +50 −0 Libraries/bombIRBrushes (1)/src/bombir/brushes/FwdSlash.java
  48. +61 −0 Libraries/bombIRBrushes (1)/src/bombir/brushes/GhettoPaint.java
  49. +57 −0 Libraries/bombIRBrushes (1)/src/bombir/brushes/SimpleLine.java
  50. +66 −0 Libraries/bombIRBrushes (1)/src/bombir/brushes/utils/PRandom.java
  51. BIN Libraries/bombIRBrushes/library/bombIRBrushes.jar
  52. +42 −0 Libraries/bombIRBrushes/src/bombir/brushes/Circle.java
  53. +41 −0 Libraries/bombIRBrushes/src/bombir/brushes/Eraser.java
  54. +59 −0 Libraries/bombIRBrushes/src/bombir/brushes/FatCap.java
  55. +50 −0 Libraries/bombIRBrushes/src/bombir/brushes/FwdSlash.java
  56. +61 −0 Libraries/bombIRBrushes/src/bombir/brushes/GhettoPaint.java
  57. +57 −0 Libraries/bombIRBrushes/src/bombir/brushes/SimpleLine.java
  58. +66 −0 Libraries/bombIRBrushes/src/bombir/brushes/utils/PRandom.java
  59. +44 −0 Libraries/controlP5/library.properties
  60. BIN Libraries/controlP5/library/controlP5.jar
  61. BIN Libraries/oscP5/library/oscP5.jar
  62. +8 −0 Libraries/proJMS/library.properties
  63. BIN Libraries/proJMS/library/proJMS.jar
  64. +6 −0 Libraries/proJMS/log4j.properties
  65. +95 −0 Libraries/proJMS/src/projms/consumer/Consumer.java
  66. +86 −0 Libraries/proJMS/src/projms/publisher/Publisher.java
  67. +76 −0 Libraries/proJMS/src/projms/util/MessageQueue.java
  68. +76 −0 Libraries/proJMS/src/projms/util/MessageTextQueue.java
  69. +76 −0 Libraries/proJMS/src/projms/util/SimpleQueue.java
  70. +37 −0 Libraries/proJMS/src/projms/util/TypedMessage.java
  71. +68 −0 Libraries/proJMS/test/messaging/broker/EmbeddedBrokerTest.java
  72. +42 −0 Libraries/proJMS/test/messaging/broker/SimpleEmbeddedBrokerTest.java
  73. +39 −0 Libraries/proJMS/test/messaging/publisher/PublisherTest.java
  74. +6 −0 Messaging Prototypes/player/log4j.properties
  75. +88 −0 Messaging Prototypes/player/messagingPlayer.pde
  76. +6 −0 Messaging Prototypes/recorder/log4j.properties
  77. +14 −0 Messaging Prototypes/recorder/messages.pde
  78. +113 −0 Messaging Prototypes/recorder/messagingRecorder.pde
  79. +27 −0 README.txt
  80. +63 −0 bombIR Iterations/current/bombIR/OSC.pde
  81. +58 −0 bombIR Iterations/current/bombIR/applet.pde
  82. +364 −0 bombIR Iterations/current/bombIR/bombIR.pde
  83. +57 −0 bombIR Iterations/current/bombIR/brushes.pde
  84. +20 −0 bombIR Iterations/current/bombIR/conf.pde
  85. +81 −0 bombIR Iterations/current/bombIR/control.pde
  86. BIN bombIR Iterations/current/bombIR/data/CC-Attribution-NonCommercial-Repercussions.png
  87. BIN bombIR Iterations/current/bombIR/data/bombIR label.jpg
  88. BIN bombIR Iterations/current/bombIR/data/logo.png
  89. +61 −0 bombIR Iterations/current/bombIR/drips.pde
  90. +15 −0 bombIR Iterations/current/bombIR/erase.pde
  91. +2,755 −0 bombIR Iterations/current/bombIR/exports/GML_1.xml
  92. BIN bombIR Iterations/current/bombIR/exports/Save_1.jpg
  93. +167 −0 bombIR Iterations/current/bombIR/messages.pde
  94. +62 −0 bombIR Iterations/current/bombIR/mouse.pde
  95. +25 −0 bombIR Iterations/current/bombIR/settings.properties
  96. +1 −0 bombIR Iterations/current/bombIR/sketch.properties
  97. +20 −0 bombIR Iterations/current/bombIR/style.pde
  98. +59 −0 bombIR Iterations/experimental/bombIR/OSC.pde
  99. +58 −0 bombIR Iterations/experimental/bombIR/applet.pde
  100. +361 −0 bombIR Iterations/experimental/bombIR/bombIR.pde
  101. +57 −0 bombIR Iterations/experimental/bombIR/brushes.pde
  102. +20 −0 bombIR Iterations/experimental/bombIR/conf.pde
  103. +72 −0 bombIR Iterations/experimental/bombIR/control.pde
  104. BIN bombIR Iterations/experimental/bombIR/data/CC-Attribution-NonCommercial-Repercussions.png
  105. BIN bombIR Iterations/experimental/bombIR/data/bombIR label.jpg
  106. BIN bombIR Iterations/experimental/bombIR/data/logo.png
  107. +61 −0 bombIR Iterations/experimental/bombIR/drips.pde
  108. +15 −0 bombIR Iterations/experimental/bombIR/erase.pde
  109. +2,755 −0 bombIR Iterations/experimental/bombIR/exports/GML_1.xml
  110. BIN bombIR Iterations/experimental/bombIR/exports/Save_1.jpg
  111. +167 −0 bombIR Iterations/experimental/bombIR/messages.pde
  112. +62 −0 bombIR Iterations/experimental/bombIR/mouse.pde
  113. +25 −0 bombIR Iterations/experimental/bombIR/settings.properties
  114. +1 −0 bombIR Iterations/experimental/bombIR/sketch.properties
  115. +20 −0 bombIR Iterations/experimental/bombIR/style.pde
  116. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR.zip
  117. +38 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/applet.pde
  118. +73 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/blobs.pde
  119. +217 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/bombIR.pde
  120. +60 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/brushes.pde
  121. +73 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/calibBlob.pde
  122. +42 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/calibration.pde
  123. +24 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/control.pde
  124. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/chisel.jpg
  125. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/circle.jpg
  126. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/drips.jpg
  127. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/eraser.jpg
  128. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/marker.jpg
  129. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/pencil.jpg
  130. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/sizes.jpg
  131. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/icons/spray.jpg
  132. BIN .../issues/IRCam/P1.5/Calibration_v2/bombIR/data/info/CC-Attribution-NonCommercial-Repercussions.png
  133. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/data/info/logo.png
  134. +79 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/draw.pde
  135. +61 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/drips.pde
  136. +12 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/erase.pde
  137. +155 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/gui.pde
  138. +62 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/key.pde
  139. +168 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/messages.pde
  140. +62 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/mode.pde
  141. +26 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/mouse.pde
  142. +57 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/osc.pde
  143. +19 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/props.pde
  144. +12 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/save.pde
  145. +11 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/settings.camera.properties
  146. +32 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/settings.properties
  147. +246 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/setup.pde
  148. +1 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/sketch.properties
  149. +77 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/strokes.pde
  150. +26 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR/style.pde
  151. +38 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/applet.pde
  152. +73 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/blobs.pde
  153. +214 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/bombIR2.pde
  154. +60 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/brushes.pde
  155. +73 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/calibBlob.pde
  156. +42 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/calibration.pde
  157. +24 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/control.pde
  158. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/chisel.jpg
  159. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/circle.jpg
  160. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/drips.jpg
  161. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/eraser.jpg
  162. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/marker.jpg
  163. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/pencil.jpg
  164. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/sizes.jpg
  165. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/icons/spray.jpg
  166. BIN ...issues/IRCam/P1.5/Calibration_v2/bombIR2/data/info/CC-Attribution-NonCommercial-Repercussions.png
  167. BIN bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/data/info/logo.png
  168. +79 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/draw.pde
  169. +61 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/drips.pde
  170. +12 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/erase.pde
  171. +155 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/gui.pde
  172. +62 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/key.pde
  173. +168 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/messages.pde
  174. +62 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/mode.pde
  175. +26 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/mouse.pde
  176. +57 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/osc.pde
  177. +19 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/props.pde
  178. +12 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/save.pde
  179. +11 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/settings.camera.properties
  180. +32 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/settings.properties
  181. +246 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/setup.pde
  182. +1 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/sketch.properties
  183. +77 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/strokes.pde
  184. +26 −0 bombIR Iterations/issues/IRCam/P1.5/Calibration_v2/bombIR2/style.pde
  185. +38 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/applet.pde
  186. +69 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/blobs.pde
  187. +205 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/bombIR.pde
  188. +60 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/brushes.pde
  189. +20 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/calibration.pde
  190. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/chisel.jpg
  191. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/circle.jpg
  192. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/drips.jpg
  193. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/eraser.jpg
  194. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/marker.jpg
  195. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/pencil.jpg
  196. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/sizes.jpg
  197. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/icons/spray.jpg
  198. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/info/CC-Attribution-NonCommercial-Repercussions.png
  199. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR/data/info/logo.png
  200. +75 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/draw.pde
  201. +61 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/drips.pde
  202. +12 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/erase.pde
  203. +149 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/gui.pde
  204. +167 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/messages.pde
  205. +61 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/mode.pde
  206. +26 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/mouse.pde
  207. +57 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/osc.pde
  208. +19 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/props.pde
  209. +12 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/save.pde
  210. +11 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/settings.camera.properties
  211. +32 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/settings.properties
  212. +208 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/setup.pde
  213. +1 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/sketch.properties
  214. +77 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/strokes.pde
  215. +26 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR/style.pde
  216. +38 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/applet.pde
  217. +73 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/blobs.pde
  218. +207 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/bombIR_2.pde
  219. +60 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/brushes.pde
  220. +20 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/calibration.pde
  221. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/chisel.jpg
  222. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/circle.jpg
  223. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/drips.jpg
  224. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/eraser.jpg
  225. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/marker.jpg
  226. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/pencil.jpg
  227. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/sizes.jpg
  228. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/icons/spray.jpg
  229. BIN ...IR Iterations/issues/IRCam/P1.5/bombIR_2/data/info/CC-Attribution-NonCommercial-Repercussions.png
  230. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_2/data/info/logo.png
  231. +75 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/draw.pde
  232. +61 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/drips.pde
  233. +12 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/erase.pde
  234. +149 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/gui.pde
  235. +167 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/messages.pde
  236. +62 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/mode.pde
  237. +26 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/mouse.pde
  238. +57 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/osc.pde
  239. +19 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/props.pde
  240. +12 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/save.pde
  241. +11 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/settings.camera.properties
  242. +32 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/settings.properties
  243. +208 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/setup.pde
  244. +1 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/sketch.properties
  245. +77 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/strokes.pde
  246. +26 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_2/style.pde
  247. +38 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/applet.pde
  248. +73 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/blobs.pde
  249. +217 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/bombIR.pde
  250. +60 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/brushes.pde
  251. +73 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/calibBlob.pde
  252. +42 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/calibration.pde
  253. +42 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/control.pde
  254. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/chisel.jpg
  255. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/circle.jpg
  256. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/drips.jpg
  257. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/eraser.jpg
  258. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/marker.jpg
  259. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/pencil.jpg
  260. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/sizes.jpg
  261. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/icons/spray.jpg
  262. BIN ...ations/issues/IRCam/P1.5/bombIR_3/bombIR/data/info/CC-Attribution-NonCommercial-Repercussions.png
  263. BIN bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/data/info/logo.png
  264. +79 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/draw.pde
  265. +61 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/drips.pde
  266. +12 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/erase.pde
  267. +155 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/gui.pde
  268. +62 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/key.pde
  269. +168 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/messages.pde
  270. +62 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/mode.pde
  271. +26 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/mouse.pde
  272. +57 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/osc.pde
  273. +19 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/props.pde
  274. +12 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/save.pde
  275. +11 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/settings.camera.properties
  276. +32 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/settings.properties
  277. +253 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/setup.pde
  278. +1 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/sketch.properties
  279. +77 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/strokes.pde
  280. +26 −0 bombIR Iterations/issues/IRCam/P1.5/bombIR_3/bombIR/style.pde
  281. +58 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/applet.pde
  282. +73 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/blobs.pde
  283. +204 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/bombIR.pde
  284. +60 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/brushes.pde
  285. +20 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/calibration.pde
  286. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/chisel.jpg
  287. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/circle.jpg
  288. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/clear.jpg
  289. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/drips.jpg
  290. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/eraser.jpg
  291. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/fatcap.jpg
  292. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/marker.jpg
  293. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/pencil.jpg
  294. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/sizes.jpg
  295. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/icons/spray.jpg
  296. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/info/CC-Attribution-NonCommercial-Repercussions.png
  297. BIN bombIR Iterations/issues/IRCam/P2.0/bombIR/data/info/logo.png
  298. +75 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/draw.pde
  299. +61 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/drips.pde
  300. +12 −0 bombIR Iterations/issues/IRCam/P2.0/bombIR/erase.pde
Sorry, we could not display the entire diff because too many files (737) changed.
BIN Android Remote/APK/bombIRRemote.apk
Binary file not shown.
17 Android Remote/Source/bombIRRemote/AndroidManifest.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="">
+ <uses-sdk android:minSdkVersion="7"/>
+ <application android:debuggable="true" android:icon="@drawable/icon" android:label="">
+ <activity android:name="">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN"/>
+ <category android:name="android.intent.category.LAUNCHER"/>
+ </intent-filter>
+ </activity>
+ </application>
+
+
+<uses-permission android:name="android.permission.INTERNET"/>
+ <uses-permission android:name="android.permission.VIBRATE"/>
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+</manifest>
22 Android Remote/Source/bombIRRemote/Button.pde
@@ -0,0 +1,22 @@
+
+//----------------------------------------------------------------
+
+void onClickWidget(APWidget widget){
+
+ if(widget == Apply){
+ gNotificationManager.notify(1, gNotification);
+ oscReInit();
+ }
+ else if(widget == Clear){
+ gNotificationManager.notify(1, gNotification);
+ osc.send("/clearMSG", new Object[] {new Integer(1)}, computer);
+ }
+ else if(widget == Save){
+ gNotificationManager.notify(1, gNotification);
+ osc.send("/saveMSG", new Object[] {new Integer(1)}, computer);
+ }
+
+}
+
+//----------------------------------------------------------------
+
96 Android Remote/Source/bombIRRemote/Mouse.pde
@@ -0,0 +1,96 @@
+//----------------------------------------------------------------
+
+void mousePressed() {
+ // Switch State
+ if(mouseX < 50 && mouseY > height-50) {
+ gNotificationManager.notify(1, gNotification);
+ switchState();
+ }
+
+ if(state == 0) {
+ state = 1;
+ }
+ if(state == 1) {
+
+ }
+ else if(state == 2) {
+ touched = true;
+ osc.send("/stroke", new Object[] {new Integer(1)}, computer);
+ }
+}
+
+//----------------------------------------------------------------
+
+void mouseDragged() {
+ if(state == 1) {
+
+ // Width
+ if(mouseY > (height-sw1) -sw2 && mouseY < height) {
+ boxX = constrain(mouseX, sw1 + sw2, width - sw2);
+ float boxN = boxX / (sw*0.95);
+ osc.send("/Width", new Object[] {new Float(boxN)}, computer);
+ }
+
+ // Red
+ else if(mouseY > (height-(sw1*4)) -sw3 && mouseY < (height-(sw1*4)) +sw3) {
+ boxR = constrain(mouseX, sw1 + sw2, width - sw2);
+ float boxR_ = boxR / (sw*0.95);
+ r = boxR_ * 255;
+ osc.send("/Red", new Object[] {new Float(boxR_)}, computer);
+ }
+
+ // Green
+ else if(mouseY > (height-(sw1*3)) -sw3 && mouseY < (height-(sw1*3)) +sw3) {
+ boxG = constrain(mouseX, sw1 + sw2, width - sw2);
+ float boxG_ = boxG / (sw*0.95);
+ g = boxG_ * 255;
+ osc.send("/Green", new Object[] {new Float(boxG_)}, computer);
+ }
+
+ // Blue
+ else if(mouseY > (height-(sw1*2)) -sw3 && mouseY < (height-(sw1*2)) +sw3) {
+ boxB = constrain(mouseX, sw1 + sw2, width - sw2);
+ float boxB_ = boxB / (sw*0.95);
+ b = boxB_ * 255;
+ osc.send("/Blue", new Object[] {new Float(boxB_)}, computer);
+ }
+
+ }
+
+ if(state == 2) {
+ touched = true;
+
+ // Drawing
+ fill(r, g, b);
+ stroke(r, g, b);
+ strokeWeight(30-constrain(dist(pmouseX, pmouseY, mouseX, mouseY), 0, 20));
+ line(mouseX-1, mouseY-1, mouseX, mouseY);
+
+ // Coordinates
+ if(touched == true) {
+ sendX = mouseX / sw;
+ sendY = mouseY / sh;
+ }
+
+ // Send OSC
+ osc.send("/xy", new Object[] {new Float(sendX), new Float(sendY)}, computer);
+ osc.send("/stroke", new Object[] {new Integer(2)}, computer);
+
+ }
+}
+
+//----------------------------------------------------------------
+
+void mouseReleased() {
+ if(state == 2) {
+ touched = false;
+ sendX = -1;
+ sendY = -1;
+ osc.send("/stroke", new Object[] {new Integer(0)}, computer);
+ osc.send("/xy", new Object[] {new Float(sendX), new Float(sendY)}, computer);
+ }
+}
+
+//----------------------------------------------------------------
+
+
17 Android Remote/Source/bombIRRemote/OSC.pde
@@ -0,0 +1,17 @@
+
+//----------------------------------------------------------------
+
+void oscInit() {
+ //println();
+ //println("Initializing OSC");
+ osc = new OscP5(this,port);
+ computer = new NetAddress(ip, port);
+}
+
+void oscReInit() {
+ ip = tF_IP.getText();
+ //println("IP is " + ip);
+ computer = new NetAddress(ip, port);
+}
+
+//----------------------------------------------------------------
16 Android Remote/Source/bombIRRemote/Sensor.pde
@@ -0,0 +1,16 @@
+
+//----------------------------------------------------------------
+
+void onAccelerometerEvent(float x, float y, float z) {
+ accelerometer.x = x;
+ accelerometer.y = y;
+ accelerometer.z = z;
+}
+
+void shake() {
+ // Reset Screen To Black
+ background(0);
+}
+
+
+//----------------------------------------------------------------
20 Android Remote/Source/bombIRRemote/State.pde
@@ -0,0 +1,20 @@
+
+//----------------------------------------------------------------
+
+void stateInit() {
+ state = 0;
+}
+
+void switchState() {
+ background(0);
+
+ if(state == 1) {
+ state = 2;
+ }
+
+ else if(state == 2) {
+ state = 1;
+ }
+}
+
+//----------------------------------------------------------------
23 Android Remote/Source/bombIRRemote/System.pde
@@ -0,0 +1,23 @@
+
+//----------------------------------------------------------------
+
+void onResume() {
+ super.onResume();
+ gNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ gNotification = new Notification();
+ gNotification.vibrate = gVibrate;
+ //println("RESUMED! (Sketch Entered...)");
+}
+
+public boolean surfaceTouchEvent(MotionEvent event) {
+ //gNotificationManager.notify(1, gNotification);
+ return super.surfaceTouchEvent(event);
+}
+
+void onPause() {
+ //println("PAUSED! (Sketch Exited...)");
+ super.onPause();
+}
+
+//----------------------------------------------------------------
+
266 Android Remote/Source/bombIRRemote/bombIRRemote.pde
@@ -0,0 +1,266 @@
+
+// IMPORTS
+
+import apwidgets.*;
+import ketai.sensors.*;
+
+import android.content.Context;
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.Environment;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+
+// DECLARATIONS
+
+OscP5 osc;
+NetAddress computer;
+
+NotificationManager gNotificationManager;
+Notification gNotification;
+
+APWidgetContainer widgetContainer;
+APEditText tF_IP;
+APButton Apply;
+APButton Clear;
+APButton Save;
+
+KetaiSensor sensor;
+
+
+// VARIABLES
+
+PImage logo;
+PGraphics pg;
+
+int state; // Menu State
+
+float boxX, boxR, boxG, boxB; //
+float sw, sh, sw1, sw2, sw3;
+float sendX, sendY;
+boolean touched = false;
+
+String[] fontList;
+PFont androidFont;
+float text_size;
+
+long[] gVibrate = {0, 50, 0, 50, 0, 50}; // Vibration Pattern
+
+String dirName; // Folder Path
+
+int port = 11000;
+String ip = "";
+
+float r = 255;
+float g = 255;
+float b = 255;
+
+PVector accelerometer = new PVector();
+PVector pAccelerometer = new PVector();
+
+//----------------------------------------------------------------
+
+
+void setup() {
+ // Debug
+ println();
+ println();
+ println(" --- BEGININNG OF SETUP --- ");
+ println();
+
+ // Screen
+ size(displayWidth, displayHeight);
+ sw = displayWidth;
+ sh = displayHeight;
+ sw1 = sw / 10; // 80
+ sw2 = sw / 20; // 40
+ sw3 = sw / 40; // 20
+ text_size = sw / 40;
+
+ // Set this so the sketch won't reset as the phone is rotated:
+ orientation(LANDSCAPE);
+
+ // Paint it Black, yo
+ background(0);
+
+ // Image
+ logo = loadImage("logo.png");
+
+ // Buffer
+ //pg = (PGraphicsAndroid2D) createGraphics(displayWidth, displayHeight, P2D);
+
+ // Setup Fonts:
+ fontList = PFont.list();
+ androidFont = createFont(fontList[0], text_size, true);
+ textFont(androidFont);
+
+ // TextField & Buttons
+ widgetContainer = new APWidgetContainer(this);
+
+ tF_IP = new APEditText( (int) sw2 + (int) sw1, (int) sw2, (int) sw1 * 2, (int) sw1);
+ Apply = new APButton( (int) sw2 + (int) sw1 * 3, (int) sw2, (int) sw1 * 2, (int) sw1, "APPLY");
+ Clear = new APButton( (int) sw2 + (int) sw1 * 5, (int) sw2, (int) sw1 * 2, (int) sw1, "CLEAR");
+ Save = new APButton( (int) sw2 + (int) sw1 * 7, (int) sw2, (int) sw1 * 2, (int) sw1, "SAVE");
+
+ widgetContainer.addWidget(tF_IP);
+ widgetContainer.addWidget(Apply);
+ widgetContainer.addWidget(Clear);
+ widgetContainer.addWidget(Save);
+ widgetContainer.hide();
+
+ // Create Directory
+ try{
+ dirName = "//sdcard//bombIR";
+ File newFile = new File(dirName);
+ newFile.mkdirs();
+ println();
+ if(newFile.exists()) {
+ if(newFile.isDirectory()) {
+ //println("isDirectory = true...");
+ } else {
+ //println("isDirectory = false...");
+ }
+ } else {
+ //println("Directory Doesn't Exist...");
+ }
+ }
+ catch(Exception e) {
+ //e.printStackTrace();
+ }
+
+ // Read Text File
+ try{
+ String lines[] = loadStrings("//sdcard//bombIR//settings.txt");
+ println("Existing Files...");
+ for(int i = 0; i < lines.length; i++) {
+ //println(lines[i]);
+ }
+ ip = lines[0];
+ }
+ catch(Exception noFile) {
+ println("Error Reading File...");
+ noFile.printStackTrace();
+ }
+
+ // Accelerometer
+ sensor = new KetaiSensor(this);
+ sensor.start();
+
+ // set OSC
+ oscInit();
+
+ // Set State
+ stateInit();
+
+ // Misc
+ rectMode(CENTER);
+ smooth(0);
+ noFill();
+ boxX = sw/2;
+ boxR = width-sw2;
+ boxG = width-sw2;
+ boxB = width-sw2;
+
+ // Debug
+ println();
+ println(" --- END OF SETUP --- ");
+ println();
+
+}
+
+//----------------------------------------------------------------
+
+void draw() {
+
+ //int fps = round(frameRate); println("FPS " + fps);
+
+ // INTRO
+ if(state == 0) {
+ image(logo, 0, 0, sw, sh);
+ text("GRL Canada" , sw1 * 2, height - sw1);
+ text("GRL Germany", sw1 * 6.5, height - sw1);
+ widgetContainer.hide();
+ }
+
+ // GUI
+ else if(state == 1) {
+ // Show Text Field
+ widgetContainer.show();
+
+ // IP
+ fill(255);
+ text("IP", sw2, (sw1 + sw3)-10);
+
+ background(0);
+ strokeWeight(3);
+ strokeJoin(ROUND);
+
+ // Width
+ stroke(255);
+ line(sw1+sw2, height-sw1, width-sw2, height-sw1);
+ fill(map(boxX, 0, sw, 0, 255));
+ rect(boxX, height-sw1, sw3, sw2);
+
+ // Red
+ stroke(255,0,0);
+ line(sw1+sw2, height-(sw1*4), width-sw2, height-(sw1*4));
+ fill(r, 0, 0);
+ rect(boxR, height-(sw1*4), sw3, sw2);
+
+ // Green
+ stroke(0,255,0);
+ line(sw1+sw2, height-(sw1*3), width-sw2, height-(sw1*3));
+ fill(0, g, 0);
+ rect(boxG, height-(sw1*3), sw3, sw2);
+
+ // Blue
+ stroke(0,0,255);
+ line(sw1+sw2, height-(sw1*2), width-sw2, height-(sw1*2));
+ fill(0, 0, b);
+ rect(boxB, height-(sw1*2), sw3, sw2);
+
+ // SWITCH
+ strokeWeight(2);
+ fill(255);
+ stroke(0);
+ beginShape(TRIANGLES);
+ vertex(50, height);
+ vertex(0, height);
+ vertex(0, height-50);
+ endShape();
+ noFill();
+
+ }
+
+ // DRAW
+ else if(state == 2) {
+
+ // Hide Text Field
+ widgetContainer.hide();
+
+ // Listen For Shake
+ float delta = PVector.angleBetween(accelerometer, pAccelerometer);
+ if (degrees(delta) > 90) {
+ shake();
+ }
+
+ // Store Reference Vector
+ pAccelerometer.set(accelerometer);
+
+ // Switch State
+ strokeWeight(2);
+ fill(255);
+ stroke(0);
+ beginShape(TRIANGLES);
+ vertex(50, height);
+ vertex(0, height);
+ vertex(0, height-50);
+ endShape();
+ noFill();
+ }
+
+}
+
+//----------------------------------------------------------------
+
BIN Android Remote/Source/bombIRRemote/code/Ketai.jar
Binary file not shown.
BIN Android Remote/Source/bombIRRemote/code/apwidgets.jar
Binary file not shown.
BIN Android Remote/Source/bombIRRemote/code/oscP5.jar
Binary file not shown.
BIN Android Remote/Source/bombIRRemote/data/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Android Remote/Source/bombIRRemote/icon-32.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Android Remote/Source/bombIRRemote/icon-48.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Android Remote/Source/bombIRRemote/icon-72.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 Android Remote/Source/bombIRRemote/sketch.properties
@@ -0,0 +1,2 @@
+mode.id=processing.mode.android.AndroidMode
+mode=Android
BIN Flyer/PWNTHEWALL-BER_header.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Flyer/PWNTHEWALL-BER_splash.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Flyer/PWNTHEWALL-BER_splash.psd
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Flyer/PWNTHEWALL-BER_splash_transparent.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Flyer/PWNTHEWALL-BER_splash_transparent.psd
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Flyer/PWNTHEWALL-BER_web-1.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Flyer/PWNTHEWALL-BER_web-2.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Flyer/PWNTHEWALL-VAN_back.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN Libraries/GML4U Patch/GML4U/library/GML4U.jar
Binary file not shown.
BIN Libraries/GML4U Patch/GML4U/library/hamcrest-all-1.2.jar
Binary file not shown.
BIN Libraries/GML4U Patch/GML4U/library/jaxen.jar
Binary file not shown.
BIN Libraries/GML4U Patch/GML4U/library/jdom.jar
Binary file not shown.
BIN Libraries/GML4U Patch/GML4U/library/log4j-1.2.15.jar
Binary file not shown.
BIN Libraries/GML4U Patch/GML4U/library/saxpath.jar
Binary file not shown.
BIN Libraries/GML4U Patch/GML4U/library/toxiclibscore.jar
Binary file not shown.
BIN Libraries/GML4U Patch/GML4U/library/xerces.jar
Binary file not shown.
8 Libraries/GML4U/library.properties
@@ -0,0 +1,8 @@
+name = GML4U
+authorList = [Jerome Saint-Clair](http://www.saint-clair.net/)
+url = https://github.com/01010101/GML4U/wiki
+category = Data / Protocols
+sentence = A [Graffiti Markup Language](http://graffitimarkuplanguage.com/) library for Processing.
+paragraph = GML is an open file format designed to store graffiti motion data.
+version = 8
+prettyVersion = 0.1.8
BIN Libraries/GML4U/library/GML4U.jar
Binary file not shown.
BIN Libraries/GML4U/library/hamcrest-all-1.2.jar
Binary file not shown.
BIN Libraries/GML4U/library/jaxen.jar
Binary file not shown.
BIN Libraries/GML4U/library/jdom.jar
Binary file not shown.
BIN Libraries/GML4U/library/log4j-1.2.15.jar
Binary file not shown.
BIN Libraries/GML4U/library/saxpath.jar
Binary file not shown.
BIN Libraries/GML4U/library/xerces.jar
Binary file not shown.
BIN Libraries/activemq/library/activemq.jar
Binary file not shown.
BIN Libraries/bombIRBrushes (1)/library/bombIRBrushes.jar
Binary file not shown.
42 Libraries/bombIRBrushes (1)/src/bombir/brushes/Circle.java
@@ -0,0 +1,42 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * @author haukepauke
+ *
+ */
+public class Circle extends GmlStrokeDrawer{
+
+ public static final String ID = "BOMBIR_STYLE_CIRCLE0000";
+
+ public Circle() {
+ super(ID);
+ is3D(true);
+ }
+
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime, float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ g.ellipse(v.x, v.y, brush.getFloat("size"), brush.getFloat("size"));
+ }
+ }
+
+}
41 Libraries/bombIRBrushes (1)/src/bombir/brushes/Eraser.java
@@ -0,0 +1,41 @@
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * Eraser brush. Black brush for erasing things on a black background
+ *
+ * @author Hauke Altmann
+ *
+ */
+public class Eraser extends GmlStrokeDrawer{
+
+ public static final String ID = "BOMBIR_STYLE_ERASER0000";
+
+ public Eraser() {
+ super(ID);
+ is3D(false);
+ }
+
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(0.0f,0.0f,0.0f);
+ g.fill(0.0f,0.0f,0.0f);
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ g.ellipse(v.x, v.y, brush.getFloat("size"), brush.getFloat("size"));
+ }
+ }
+}
59 Libraries/bombIRBrushes (1)/src/bombir/brushes/FatCap.java
@@ -0,0 +1,59 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * @author haukepauke
+ *
+ */
+public class FatCap extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_FATCAP0000";
+
+ public FatCap() {
+ super(ID);
+ is3D(true);
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ float diam;
+
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeJoin(PApplet.ROUND);
+ Vec3D previousPoint = new Vec3D();
+ boolean firstPoint = true;
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ diam = (float) (PApplet.abs(v.y - brush.getFloat("height")/2)*.18);
+ g.strokeWeight(diam);
+ g.ellipse(v.x, v.y, diam, diam);
+ if(firstPoint){
+ g.line(v.x, v.y, v.x, v.y);
+ firstPoint = false;
+ }else{
+ g.line(v.x, v.y, previousPoint.x, previousPoint.y);
+ }
+ previousPoint = v;
+ }
+
+ }
+
+}
50 Libraries/bombIRBrushes (1)/src/bombir/brushes/FwdSlash.java
@@ -0,0 +1,50 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * FWD SLASH
+ *
+ * @author haukepauke
+ *
+ *
+ */
+public class FwdSlash extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_FWDSLASH0000";
+
+ public FwdSlash() {
+ super(ID);
+ is3D(true);
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ g.line(v.x+brush.getFloat("size"), v.y-brush.getFloat("size"), v.x-brush.getFloat("size"), v.y+brush.getFloat("size"));
+ }
+
+ }
+
+}
61 Libraries/bombIRBrushes (1)/src/bombir/brushes/GhettoPaint.java
@@ -0,0 +1,61 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import java.util.Random;
+
+import bombir.brushes.utils.PRandom;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * @author haukepauke
+ *
+ */
+public class GhettoPaint extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_GHETTOPAINT0000";
+ PRandom prandom;
+
+ public GhettoPaint() {
+ super(ID);
+ is3D(true);
+ prandom = new PRandom();
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ Random rand = new Random((long)(Float.parseFloat((brush.getFloat("randomseed").toString()))));
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ for(int i = 0; i < 15; i++) {
+ float theta = prandom.random(0, 4 * PApplet.PI);
+ int radius = (int)prandom.random(0, 30);
+ int x = (int)(v.x) + (int)(PApplet.cos(theta)*radius);
+ int y = (int)(v.y) + (int)(PApplet.sin(theta)*radius);
+ //g.ellipse(x,y,0.5f,0.5f);
+ g.point(x,y);
+ }
+ }
+
+ }
+
+}
57 Libraries/bombIRBrushes (1)/src/bombir/brushes/SimpleLine.java
@@ -0,0 +1,57 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * SIMPLE LINE
+ *
+ * @author haukepauke
+ *
+ */
+public class SimpleLine extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_SIMPLELINE0000";
+
+ public SimpleLine(){
+ super(ID);
+ is3D(true);
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ Vec3D previousPoint = new Vec3D();
+ boolean firstPoint = true;
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ if(firstPoint){
+ g.line(v.x, v.y, v.x, v.y);
+ firstPoint = false;
+ }else{
+ g.line(v.x, v.y, previousPoint.x, previousPoint.y);
+ }
+ previousPoint = v;
+ }
+
+ }
+
+}
66 Libraries/bombIRBrushes (1)/src/bombir/brushes/utils/PRandom.java
@@ -0,0 +1,66 @@
+package bombir.brushes.utils;
+
+import java.util.Random;
+
+
+/**
+ * Copied sourcecode from https://code.google.com/p/processing/source/browse/trunk/processing/core/methods/demo/PApplet.java
+ * for using the same random function then in processing
+ *
+ * @author Hauke Altmann
+ *
+ */
+public class PRandom {
+
+ Random internalRandom;
+
+ /**
+ * Return a random number in the range [0, howbig).
+ * <P>
+ * The number returned will range from zero up to
+ * (but not including) 'howbig'.
+ */
+ public final float random(float howbig) {
+ // for some reason (rounding error?) Math.random() * 3
+ // can sometimes return '3' (once in ~30 million tries)
+ // so a check was added to avoid the inclusion of 'howbig'
+
+ // avoid an infinite loop
+ if (howbig == 0) return 0;
+
+ // internal random number object
+ if (internalRandom == null) internalRandom = new Random();
+
+ float value = 0;
+ do {
+ //value = (float)Math.random() * howbig;
+ value = internalRandom.nextFloat() * howbig;
+ } while (value == howbig);
+ return value;
+ }
+
+
+ /**
+ * Return a random number in the range [howsmall, howbig).
+ * <P>
+ * The number returned will range from 'howsmall' up to
+ * (but not including 'howbig'.
+ * <P>
+ * If howsmall is >= howbig, howsmall will be returned,
+ * meaning that random(5, 5) will return 5 (useful)
+ * and random(7, 4) will return 7 (not useful.. better idea?)
+ */
+ public final float random(float howsmall, float howbig) {
+ if (howsmall >= howbig) return howsmall;
+ float diff = howbig - howsmall;
+ return random(diff) + howsmall;
+ }
+
+
+ public final void randomSeed(long what) {
+ // internal random number object
+ if (internalRandom == null) internalRandom = new Random();
+ internalRandom.setSeed(what);
+ }
+
+}
BIN Libraries/bombIRBrushes/library/bombIRBrushes.jar
Binary file not shown.
42 Libraries/bombIRBrushes/src/bombir/brushes/Circle.java
@@ -0,0 +1,42 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * @author haukepauke
+ *
+ */
+public class Circle extends GmlStrokeDrawer{
+
+ public static final String ID = "BOMBIR_STYLE_CIRCLE0000";
+
+ public Circle() {
+ super(ID);
+ is3D(true);
+ }
+
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime, float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ g.ellipse(v.x, v.y, brush.getFloat("size"), brush.getFloat("size"));
+ }
+ }
+
+}
41 Libraries/bombIRBrushes/src/bombir/brushes/Eraser.java
@@ -0,0 +1,41 @@
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * Eraser brush. Black brush for erasing things on a black background
+ *
+ * @author Hauke Altmann
+ *
+ */
+public class Eraser extends GmlStrokeDrawer{
+
+ public static final String ID = "BOMBIR_STYLE_ERASER0000";
+
+ public Eraser() {
+ super(ID);
+ is3D(false);
+ }
+
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(0.0f,0.0f,0.0f);
+ g.fill(0.0f,0.0f,0.0f);
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ g.ellipse(v.x, v.y, brush.getFloat("size"), brush.getFloat("size"));
+ }
+ }
+}
59 Libraries/bombIRBrushes/src/bombir/brushes/FatCap.java
@@ -0,0 +1,59 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * @author haukepauke
+ *
+ */
+public class FatCap extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_FATCAP0000";
+
+ public FatCap() {
+ super(ID);
+ is3D(true);
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ float diam;
+
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeJoin(PApplet.ROUND);
+ Vec3D previousPoint = new Vec3D();
+ boolean firstPoint = true;
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ diam = (float) (PApplet.abs(v.y - brush.getFloat("height")/2)*.18);
+ g.strokeWeight(diam);
+ g.ellipse(v.x, v.y, diam, diam);
+ if(firstPoint){
+ g.line(v.x, v.y, v.x, v.y);
+ firstPoint = false;
+ }else{
+ g.line(v.x, v.y, previousPoint.x, previousPoint.y);
+ }
+ previousPoint = v;
+ }
+
+ }
+
+}
50 Libraries/bombIRBrushes/src/bombir/brushes/FwdSlash.java
@@ -0,0 +1,50 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * FWD SLASH
+ *
+ * @author haukepauke
+ *
+ *
+ */
+public class FwdSlash extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_FWDSLASH0000";
+
+ public FwdSlash() {
+ super(ID);
+ is3D(true);
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ g.line(v.x+brush.getFloat("size"), v.y-brush.getFloat("size"), v.x-brush.getFloat("size"), v.y+brush.getFloat("size"));
+ }
+
+ }
+
+}
61 Libraries/bombIRBrushes/src/bombir/brushes/GhettoPaint.java
@@ -0,0 +1,61 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import java.util.Random;
+
+import bombir.brushes.utils.PRandom;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * @author haukepauke
+ *
+ */
+public class GhettoPaint extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_GHETTOPAINT0000";
+ PRandom prandom;
+
+ public GhettoPaint() {
+ super(ID);
+ is3D(true);
+ prandom = new PRandom();
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ Random rand = new Random((long)(Float.parseFloat((brush.getFloat("randomseed").toString()))));
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ for(int i = 0; i < 15; i++) {
+ float theta = prandom.random(0, 4 * PApplet.PI);
+ int radius = (int)prandom.random(0, 30);
+ int x = (int)(v.x) + (int)(PApplet.cos(theta)*radius);
+ int y = (int)(v.y) + (int)(PApplet.sin(theta)*radius);
+ //g.ellipse(x,y,0.5f,0.5f);
+ g.point(x,y);
+ }
+ }
+
+ }
+
+}
57 Libraries/bombIRBrushes/src/bombir/brushes/SimpleLine.java
@@ -0,0 +1,57 @@
+/**
+ *
+ */
+package bombir.brushes;
+
+import processing.core.PApplet;
+import processing.core.PGraphics;
+import toxi.geom.Vec3D;
+import gml4u.drawing.GmlStrokeDrawer;
+import gml4u.model.GmlBrush;
+import gml4u.model.GmlPoint;
+import gml4u.model.GmlStroke;
+
+/**
+ * SIMPLE LINE
+ *
+ * @author haukepauke
+ *
+ */
+public class SimpleLine extends GmlStrokeDrawer {
+
+ public static final String ID = "BOMBIR_STYLE_SIMPLELINE0000";
+
+ public SimpleLine(){
+ super(ID);
+ is3D(true);
+ }
+
+ /* (non-Javadoc)
+ * @see gml4u.drawing.GmlStrokeDrawer#draw(processing.core.PGraphics, gml4u.model.GmlStroke, float, float, float)
+ */
+ @Override
+ public void draw(PGraphics g, GmlStroke stroke, float scale, float minTime,
+ float maxTime) {
+ GmlBrush brush = stroke.getBrush();
+ g.stroke(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.fill(brush.getFloat("red"),brush.getFloat("green"),brush.getFloat("blue"),brush.getFloat("alpha"));
+ g.strokeWeight(brush.getFloat("size"));
+ g.strokeJoin(PApplet.ROUND);
+ Vec3D previousPoint = new Vec3D();
+ boolean firstPoint = true;
+ for (GmlPoint point : stroke.getPoints()) {
+ if (point.time < minTime) continue;
+ if (point.time > maxTime) break;
+ Vec3D v = point.scale(scale);
+ if(firstPoint){
+ g.line(v.x, v.y, v.x, v.y);
+ firstPoint = false;
+ }else{
+ g.line(v.x, v.y, previousPoint.x, previousPoint.y);
+ }
+ previousPoint = v;
+ }
+
+ }
+
+}
66 Libraries/bombIRBrushes/src/bombir/brushes/utils/PRandom.java
@@ -0,0 +1,66 @@
+package bombir.brushes.utils;
+
+import java.util.Random;
+
+
+/**
+ * Copied sourcecode from https://code.google.com/p/processing/source/browse/trunk/processing/core/methods/demo/PApplet.java
+ * for using the same random function then in processing
+ *
+ * @author Hauke Altmann
+ *
+ */
+public class PRandom {
+
+ Random internalRandom;
+
+ /**
+ * Return a random number in the range [0, howbig).
+ * <P>
+ * The number returned will range from zero up to
+ * (but not including) 'howbig'.
+ */
+ public final float random(float howbig) {
+ // for some reason (rounding error?) Math.random() * 3
+ // can sometimes return '3' (once in ~30 million tries)
+ // so a check was added to avoid the inclusion of 'howbig'
+
+ // avoid an infinite loop
+ if (howbig == 0) return 0;
+
+ // internal random number object
+ if (internalRandom == null) internalRandom = new Random();
+
+ float value = 0;
+ do {
+ //value = (float)Math.random() * howbig;
+ value = internalRandom.nextFloat() * howbig;
+ } while (value == howbig);
+ return value;
+ }
+
+
+ /**
+ * Return a random number in the range [howsmall, howbig).
+ * <P>
+ * The number returned will range from 'howsmall' up to
+ * (but not including 'howbig'.
+ * <P>
+ * If howsmall is >= howbig, howsmall will be returned,
+ * meaning that random(5, 5) will return 5 (useful)
+ * and random(7, 4) will return 7 (not useful.. better idea?)
+ */
+ public final float random(float howsmall, float howbig) {
+ if (howsmall >= howbig) return howsmall;
+ float diff = howbig - howsmall;
+ return random(diff) + howsmall;
+ }
+
+
+ public final void randomSeed(long what) {
+ // internal random number object
+ if (internalRandom == null) internalRandom = new Random();
+ internalRandom.setSeed(what);
+ }
+
+}
44 Libraries/controlP5/library.properties
@@ -0,0 +1,44 @@
+# UTF-8 supported.
+
+# The name of your library as you want it formatted
+name = ControlP5
+
+# List of authors. Links can be provided using the syntax [author name](url)
+authorList = [Andreas Schlegel](http://www.sojamo.de/)
+
+# A website for your library
+url = http://www.sojamo.de/libraries/controlp5
+
+# The category of your library, must be one (or many) of the following:
+# "3D" "Animation" "Compilations" "Data"
+# "Fabrication" "Geometry" "GUI" "Hardware"
+# "I/O" "Language" "Math" "Simulation"
+# "Sound" "Utilities" "Typography" "Video & Vision"
+#
+# If a value other than those listed is used, your library will listed as "Other."
+category = GUI
+
+# A short sentence (fragment) to summarize the library's function. This will be
+# shown from inside the PDE when the library is being installed. Avoid repeating
+# the name of your library here. Also, avoid saying anything redundant like
+# mentioning that its a library.
+sentence = A range of controllers to build custom graphical user interfaces inside a sketch or separate windows.
+
+# Additional information suitable for the Processing website. The value of
+# 'sentence' always will be prepended, so you should start by writing the
+# second sentence here. If your library only works on certain operating systems,
+# mention it here.
+paragraph = Includes interface elements such as slider, button, knob, toggle, textfield, dropdown menu, listbox, tabs, charts and more.
+
+# Links in the 'sentence' and 'paragraph' attributes can be inserted using the
+# same syntax as for authors. That is, [here is a link to Processing](http://processing.org/)
+
+
+# A version number that increments once with each release. This
+# is used to compare different versions of the same library, and
+# check if an update is available. You should think of it as a
+# counter, counting the total number of releases you've had.
+version = 75 # This must be parsable as an int
+
+# The version as the user will see it. If blank, the version attribute will be used here
+prettyVersion = 0.7.5 # This is treated as a String
BIN Libraries/controlP5/library/controlP5.jar
Binary file not shown.
BIN Libraries/oscP5/library/oscP5.jar
Binary file not shown.
8 Libraries/proJMS/library.properties
@@ -0,0 +1,8 @@
+name = proJMS
+authorList = [Hauke Altmann](http://www.graffitiresearchlab.de/)
+url = https://www.haukepauke.de
+category = Messaging / Protocols
+sentence = JMS Messaging library for Processing.
+paragraph = Library for sending Messages over networks using JMS Messages brokers
+version = 1
+prettyVersion = 0.1
BIN Libraries/proJMS/library/proJMS.jar
Binary file not shown.
6 Libraries/proJMS/log4j.properties
@@ -0,0 +1,6 @@
+### direct log messages to stdout ###
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+#log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %11p %c{1}.%M - %m%n
+log4j.rootLogger=info, stdout
95 Libraries/proJMS/src/projms/consumer/Consumer.java
@@ -0,0 +1,95 @@
+package projms.consumer;
+
+import processing.core.*;
+import java.lang.reflect.Method;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
+import javax.jms.Session;
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.command.ActiveMQTextMessage;
+
+/**
+ * Class to consume messages received by a message broker
+ *
+ * @author Hauke Altmann (hauke@grlg.org)
+ */
+public class Consumer {
+ private transient Connection connection;
+ private transient Session session;
+ protected static transient ConnectionFactory factory;
+ Method onMessageArrival;
+ PApplet parent;
+
+ /**
+ * Constructor
+ *
+ * @param parent the processing applet using the consumer
+ * @param brokerURI the URI the consumer should use
+ * @param topic the topic the consumer should subscribe to
+ */
+ public Consumer(PApplet parent, String brokerURI, String topic) {
+ this.parent = parent;
+ try{
+ Class[] parameterTypes = new Class[]{ String.class, String.class };
+ onMessageArrival = parent.getClass().getMethod("onMessageArrival", parameterTypes);
+
+ factory = new ActiveMQConnectionFactory(brokerURI);
+ connection = factory.createConnection();
+ connection.start();
+ session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Destination destination = this.getSession().createTopic(topic);
+ MessageConsumer messageConsumer = this.getSession().createConsumer(destination);
+
+ Listener listener = new Listener();
+ messageConsumer.setMessageListener(listener);
+ }catch(JMSException ex){
+ System.out.println(ex.getMessage());
+ } catch (NoSuchMethodException e) {
+ e.printStackTrace();
+ } catch (SecurityException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public void close() throws JMSException {
+ if (connection != null) {
+ connection.close();
+ }
+ }
+
+ public Session getSession() {
+ return session;
+ }
+
+ public void onMessageArrival(String messageText, String messageType){
+ if (onMessageArrival != null) {
+ try {
+ onMessageArrival.invoke(parent, messageText, messageType);
+ } catch (Exception e) {
+ System.err.println("Disabling onMessage() for Consumer because of an error.");
+ e.printStackTrace();
+ onMessageArrival = null;
+ }
+ }
+
+ }
+
+ class Listener implements MessageListener {
+ //do this when a message arrives
+ public void onMessage(Message message) {
+ try {
+ onMessageArrival(((ActiveMQTextMessage)message).getText(), ((ActiveMQTextMessage)message).getStringProperty("TYPE"));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
+
+
86 Libraries/proJMS/src/projms/publisher/Publisher.java
@@ -0,0 +1,86 @@
+ package projms.publisher;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import processing.core.*;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.command.ActiveMQTextMessage;
+
+/**
+ * Class to publish messages to a Message Broker
+ *
+ * @author Hauke Altmann <hauke@grlg.org>
+ *
+ */
+public class Publisher {
+ protected PApplet parent;
+ protected transient Connection connection;
+ protected transient Session session;
+ protected transient MessageProducer producer;
+ protected static transient ConnectionFactory factory;
+
+
+ /**
+ * Constructor
+ *
+ * @param the URI of the message broker to connect to
+ * @param parent the processing applet using the publisher
+ */
+ public Publisher(String brokerURI, PApplet parent){
+ this.parent = parent;
+ parent.registerDispose(this);
+
+ try{
+ factory = new ActiveMQConnectionFactory(brokerURI);
+ connection = factory.createConnection();
+ connection.start();
+ session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ producer = session.createProducer(null);
+ } catch(JMSException ex){
+ System.out.println("JMS Exception Setup" + ex.getMessage());
+ }
+ }
+
+ public void close() throws JMSException {
+ if (connection != null) {
+ connection.close();
+ }
+ }
+
+ /**
+ * Dispose the publisher
+ */
+ public void dispose(){
+ try {
+ this.close();
+ } catch (JMSException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Send message to topic queue
+ *
+ * @param text the message text to send
+ * @param type the type of the message
+ * @param topic the topic queue to send the message to
+ */
+ public void sendMessage(String text, String type, String topic){
+ try{
+ Destination destination = session.createTopic(topic);
+ TextMessage message = session.createTextMessage();
+ message.setStringProperty("TYPE", type);
+ message.setText(text);
+ //System.out.println("Sending: " + ((ActiveMQTextMessage)message).getText() + " on destination: " + destination);
+ producer.send(destination, message);
+ } catch(JMSException ex){
+ System.out.println("JMS Exception Publisher Setup");
+ }
+ }
+}
76 Libraries/proJMS/src/projms/util/MessageQueue.java
@@ -0,0 +1,76 @@
+/**
+ *
+ */
+package projms.util;
+
+import java.util.LinkedList;
+
+/**
+ * @author Hauke Altmann <hauke@grlg.og>
+ *
+ * based on Simple Queue by Jodd Team (jodd.org).
+ *
+ */
+public class MessageQueue<ActiveMQMessage> {
+
+ private LinkedList<ActiveMQMessage> list = new LinkedList<ActiveMQMessage>();
+
+ /**
+ * Puts ActiveMQMessage in queue.
+ */
+ public void put(ActiveMQMessage o) {
+ list.addLast(o);
+ }
+
+ /**
+ * Returns an ActiveMQMessage from queue.
+ *
+ * @return ActiveMQMessage from queue or <code>null</code> if queue is empty
+ */
+ public ActiveMQMessage get() {
+ if (list.isEmpty()) {
+ return null;
+ }
+ return list.removeFirst();
+ }
+
+ /**
+ * Returns all ActiveMQMessages from the queue and clears it.
+ */
+ public Object[] getAll() {
+ Object[] res = new Object[list.size()];
+ for (int i = 0; i < res.length; i++) {
+ res[i] = list.get(i);
+ }
+ list.clear();
+ return res;
+ }
+
+
+ /**
+ * Peeks an ActiveMQMessage in the queue. Returned elements is not removed from the queue.
+ */
+ public ActiveMQMessage peek() {
+ return list.getFirst();
+ }
+
+ /**
+ * Returns <code>true</code> if queue is empty, otherwise <code>false</code>
+ */
+ public boolean isEmpty() {