Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: jacobjoaquin/Csoundo
base: master
...
compare: master
Checking mergeability… Don't worry, you can still create the pull request.
  • 18 commits
  • 1,242 files changed
  • 0 commit comments
  • 3 contributors
Commits on Jan 21, 2013
@conorrobotham conorrobotham .\CsoundoNB e0ce206
@conorrobotham conorrobotham Tidied Csoundo constructor 63f22fd
@conorrobotham conorrobotham Tidied Csoundo constructor
Added setup method and moved compiledOk assignment to checkCompileStatus
method.
0c172fd
Commits on Feb 02, 2013
@rorywalsh rorywalsh added callback methods for outvalue opcodes 0f40d2c
@rorywalsh rorywalsh updated callback methods for outvalue support 14e2884
@rorywalsh rorywalsh added methods for outvalues 4db1527
Commits on Feb 11, 2013
@conorrobotham conorrobotham for Processing 2.0b7
Ensuring latest working version has been uploaded as a user is having
problems.
8cbc1ff
@conorrobotham conorrobotham Java constructor bug, Android takes only 1 parameter
I had set myParent in new setup method when it was needed prior to this
in java constructor. Android constructor does not require myParent as a
parameter so it has been removed accordingly. All example sketches will
need to be updated.
ae4da41
@conorrobotham conorrobotham callback methods built to jar
Rory's callback methods built to jar. Setup method added again,
constructors cleaned up and bug resolved.
85292e8
@conorrobotham conorrobotham recommiting source to resolve github issues
classes mixed up and code missing from Rory's latest commit. Github
seemed to try mix and match between my last commit and his. Hopefully
will be ok now
7bf8d2f
Commits on Oct 24, 2014
@cabbageaudio cabbageaudio updating 484d91e
@cabbageaudio cabbageaudio updating directory structure 5d09123
@cabbageaudio cabbageaudio updating readme f21d7a5
@cabbageaudio cabbageaudio final tidy up 3dfb9f0
@cabbageaudio cabbageaudio added note about adding csound path to the processing startup scripts 09c78fc
@cabbageaudio cabbageaudio added note regarding the correct version of java to have installed. 1d1bcbe
@cabbageaudio cabbageaudio updated readme ed8503b
Commits on Nov 21, 2014
@rorywalsh rorywalsh added make file for windows 4eb3e17
Showing with 760 additions and 4,742 deletions.
  1. +0 −8 CsoundAndroid/.classpath
  2. +0 −10 CsoundAndroid/.gitignore
  3. +0 −33 CsoundAndroid/.project
  4. +0 −4 CsoundAndroid/.settings/org.eclipse.jdt.core.prefs
  5. +0 −15 CsoundAndroid/AndroidManifest.xml
  6. +0 −504 CsoundAndroid/COPYING
  7. +0 −73 CsoundAndroid/android_interface.i
  8. +0 −20 CsoundAndroid/build.sh
  9. +0 −92 CsoundAndroid/build.xml
  10. +0 −244 CsoundAndroid/jni/Android.mk
  11. +0 −44 CsoundAndroid/jni/AndroidCsound.cpp
  12. +0 −11 CsoundAndroid/jni/AndroidCsound.hpp
  13. +0 −5 CsoundAndroid/jni/Application.mk
  14. +0 −581 CsoundAndroid/jni/rtopensl.c
  15. +0 −10 CsoundAndroid/local.properties
  16. +0 −20 CsoundAndroid/proguard-project.txt
  17. +0 −40 CsoundAndroid/proguard.cfg
  18. +0 −12 CsoundAndroid/project.properties
  19. BIN  CsoundAndroid/res/drawable-hdpi/ic_launcher.png
  20. BIN  CsoundAndroid/res/drawable-ldpi/ic_launcher.png
  21. BIN  CsoundAndroid/res/drawable-mdpi/ic_launcher.png
  22. +0 −483 CsoundAndroid/src/com/csounds/CsoundObj.java
  23. +0 −30 CsoundAndroid/src/com/csounds/CsoundObjCompletionListener.java
  24. +0 −41 CsoundAndroid/src/com/csounds/valueCacheable/AbstractValueCacheable.java
  25. +0 −121 CsoundAndroid/src/com/csounds/valueCacheable/CachedAccelerometer.java
  26. +0 −130 CsoundAndroid/src/com/csounds/valueCacheable/CachedButton.java
  27. +0 −106 CsoundAndroid/src/com/csounds/valueCacheable/CachedSlider.java
  28. +0 −40 CsoundAndroid/src/com/csounds/valueCacheable/CsoundValueCacheable.java
  29. +0 −74 CsoundoNB/build.xml
  30. +0 −4 CsoundoNB/build/built-jar.properties
  31. BIN  CsoundoNB/build/classes/csoundo/CallbackWrapper.class
  32. BIN  CsoundoNB/build/classes/csoundo/Cast.class
  33. BIN  CsoundoNB/build/classes/csoundo/ChannelMessage.class
  34. BIN  CsoundoNB/build/classes/csoundo/Csoundo.class
  35. BIN  CsoundoNB/build/classes/csoundo/Engine.class
  36. BIN  CsoundoNB/build/classes/csoundo/MessageQueue.class
  37. BIN  CsoundoNB/build/classes/csoundo/Mutex.class
  38. BIN  CsoundoNB/dist/Csoundo.jar
  39. +0 −1,042 CsoundoNB/nbproject/build-impl.xml
  40. +0 −8 CsoundoNB/nbproject/genfiles.properties
  41. 0  CsoundoNB/nbproject/private/config.properties
  42. +0 −6 CsoundoNB/nbproject/private/private.properties
  43. +0 −80 CsoundoNB/nbproject/project.properties
  44. +0 −15 CsoundoNB/nbproject/project.xml
  45. +41 −209 README
  46. +0 −75 csoundo/examples/AcceleSynth/AcceleSynth.pde
  47. +0 −242 csoundo/examples/AcceleSynth/AccelerometerManager.java
  48. +0 −33 csoundo/examples/AcceleSynth/data/AcceleSynth.csd
  49. BIN  csoundo/examples/AcceleSynth/icon-36.png
  50. BIN  csoundo/examples/AcceleSynth/icon-48.png
  51. BIN  csoundo/examples/AcceleSynth/icon-72.png
  52. +0 −35 csoundo/examples/ChnInOut/data/__CSOUNDO__.csd
  53. +0 −2  csoundo/examples/DrawWaveform/sketch.properties
  54. +0 −35 csoundo/examples/HeaderInfo/data/__CSOUNDO__.csd
  55. BIN  csoundo/library/Csoundo.jar
  56. BIN  csoundo/library/android.jar
  57. BIN  csoundo/library/csnd.jar
  58. BIN  csoundo/library/csoundandroid.jar
  59. +0 −47 csoundo/src/csoundo/CallbackWrapper.java
  60. +1 −4 {csoundo → }/examples/ChnInOut/ChnInOut.pde
  61. 0  {csoundo → }/examples/ChnInOut/data/ChnInOut.csd
  62. 0  {csoundo/icons → examples/ChnInOut}/icon-36.png
  63. 0  {csoundo/icons → examples/ChnInOut}/icon-48.png
  64. 0  {csoundo/icons → examples/ChnInOut}/icon-72.png
  65. 0  {csoundo/examples/Sliders → examples/ChnInOut}/sketch.properties
  66. 0  {csoundo/examples/SonicSock → examples/DevScratchPad}/AndroidManifest.xml
  67. +2 −5 {csoundo → }/examples/DevScratchPad/DevScratchPad.pde
  68. 0  {csoundo → }/examples/DevScratchPad/data/DevScratchPad.csd
  69. 0  {csoundo/examples/SonicSock → examples/DevScratchPad}/icon-36.png
  70. 0  {csoundo/examples/SonicSock → examples/DevScratchPad}/icon-48.png
  71. 0  {csoundo/examples/SonicSock → examples/DevScratchPad}/icon-72.png
  72. 0  {csoundo/examples/HeaderInfo → examples/DevScratchPad}/sketch.properties
  73. 0  {csoundo/examples/SonicSausages → examples/DrawTables}/AndroidManifest.xml
  74. +2 −5 {csoundo → }/examples/DrawTables/DrawTables.pde
  75. 0  {csoundo → }/examples/DrawTables/data/DrawTables.csd
  76. 0  {csoundo/examples/SonicSausages → examples/DrawTables}/icon-36.png
  77. 0  {csoundo/examples/SonicSausages → examples/DrawTables}/icon-48.png
  78. 0  {csoundo/examples/SonicSausages → examples/DrawTables}/icon-72.png
  79. 0  {csoundo → }/examples/DrawWaveform/AndroidManifest.xml
  80. +1 −4 {csoundo → }/examples/DrawWaveform/DrawWaveform.pde
  81. 0  {csoundo → }/examples/DrawWaveform/data/DrawWaveform.csd
  82. 0  {csoundo/examples/Experiment_1 → examples/DrawWaveform}/sketch.properties
  83. 0  {csoundo/examples/Random → examples/Events}/AndroidManifest.xml
  84. +2 −5 {csoundo → }/examples/Events/Events.pde
  85. 0  {csoundo → }/examples/Events/data/Events.csd
  86. 0  {csoundo/examples/Sliders → examples/Events}/icon-36.png
  87. 0  {csoundo/examples/Sliders → examples/Events}/icon-48.png
  88. 0  {csoundo/examples/Sliders → examples/Events}/icon-72.png
  89. 0  {csoundo → }/examples/Events/sketch.properties
  90. 0  {csoundo/examples/ProtectedTable → examples/Experiment_1}/AndroidManifest.xml
  91. 0  {csoundo → }/examples/Experiment_1/Animation.pde
  92. +22 −5 {csoundo → }/examples/Experiment_1/Experiment_1.pde
  93. 0  {csoundo → }/examples/Experiment_1/crawler.pde
  94. 0  {csoundo → }/examples/Experiment_1/data/Experiment_1.csd
  95. 0  {csoundo → }/examples/Experiment_1/edge.pde
  96. 0  {csoundo/examples/Random → examples/Experiment_1}/icon-36.png
  97. 0  {csoundo/examples/Random → examples/Experiment_1}/icon-48.png
  98. 0  {csoundo/examples/Random → examples/Experiment_1}/icon-72.png
  99. 0  {csoundo → }/examples/Experiment_1/net.pde
  100. 0  {csoundo → }/examples/Experiment_1/node.pde
  101. 0  {csoundo/examples/SonicSock → examples/Experiment_1}/sketch.properties
  102. 0  {csoundo → }/examples/HeaderInfo/HeaderInfo.pde
  103. 0  {csoundo → }/examples/HeaderInfo/data/Courier-24.vlw
  104. 0  {csoundo → }/examples/HeaderInfo/data/HeaderInfo.csd
  105. 0  {csoundo/examples/ProtectedTable → examples/HeaderInfo}/icon-36.png
  106. 0  {csoundo/examples/ProtectedTable → examples/HeaderInfo}/icon-48.png
  107. 0  {csoundo/examples/ProtectedTable → examples/HeaderInfo}/icon-72.png
  108. 0  {csoundo/examples/DevScratchPad → examples/HeaderInfo}/sketch.properties
  109. +17 −17 {csoundo/examples/AcceleSynth → examples/KeyboardSynth}/AndroidManifest.xml
  110. +209 −0 examples/KeyboardSynth/KeyboardSynth.pde
  111. +35 −0 examples/KeyboardSynth/data/KeyboardSynth.csd
  112. BIN  examples/KeyboardSynth/data/button_a.png
  113. BIN  examples/KeyboardSynth/data/button_b.png
  114. BIN  examples/KeyboardSynth/data/button_c.png
  115. +2 −0  examples/KeyboardSynth/sketch.properties
  116. 0  {csoundo → }/examples/PlayMessage/AndroidManifest.xml
  117. +3 −6 {csoundo → }/examples/PlayMessage/PlayMessage.pde
  118. 0  {csoundo → }/examples/PlayMessage/data/PlayMessage.csd
  119. 0  {csoundo → }/examples/PlayMessage/icon-36.png
  120. 0  {csoundo → }/examples/PlayMessage/icon-48.png
  121. 0  {csoundo → }/examples/PlayMessage/icon-72.png
  122. 0  {csoundo/examples/SonicSausages → examples/PlayMessage}/sketch.properties
  123. 0  {csoundo/examples/Experiment_1 → examples/ProtectedTable}/AndroidManifest.xml
  124. +2 −5 {csoundo → }/examples/ProtectedTable/ProtectedTable.pde
  125. 0  {csoundo → }/examples/ProtectedTable/data/ProtectedTable.csd
  126. 0  {csoundo/examples/HeaderInfo → examples/ProtectedTable}/icon-36.png
  127. 0  {csoundo/examples/HeaderInfo → examples/ProtectedTable}/icon-48.png
  128. 0  {csoundo/examples/HeaderInfo → examples/ProtectedTable}/icon-72.png
  129. 0  {csoundo/examples/Random → examples/ProtectedTable}/sketch.properties
  130. 0  {csoundo/examples/Events → examples/Random}/AndroidManifest.xml
  131. +7 −8 {csoundo → }/examples/Random/Random.pde
  132. +1 −1  {csoundo → }/examples/Random/data/Random.csd
  133. 0  {csoundo/examples/Experiment_1 → examples/Random}/icon-36.png
  134. 0  {csoundo/examples/Experiment_1 → examples/Random}/icon-48.png
  135. 0  {csoundo/examples/Experiment_1 → examples/Random}/icon-72.png
  136. 0  {csoundo/examples/ProtectedTable → examples/Random}/sketch.properties
  137. 0  {csoundo → }/examples/Sliders/Sliders.pde
  138. 0  {csoundo → }/examples/Sliders/data/Sliders.csd
  139. 0  {csoundo/examples/Events → examples/Sliders}/icon-36.png
  140. 0  {csoundo/examples/Events → examples/Sliders}/icon-48.png
  141. 0  {csoundo/examples/Events → examples/Sliders}/icon-72.png
  142. 0  {csoundo/examples/ChnInOut → examples/Sliders}/sketch.properties
  143. +17 −0 examples/Snake/AndroidManifest.xml
  144. +332 −0 examples/Snake/Snake.pde
  145. +54 −0 examples/Snake/data/Snake.csd
  146. +2 −0  examples/Snake/sketch.properties
  147. 0  {csoundo/examples/DrawTables → examples/SonicSausages}/AndroidManifest.xml
  148. +3 −3 {csoundo → }/examples/SonicSausages/SonicSausages.pde
  149. +1 −1  {csoundo → }/examples/SonicSausages/data/SonicSausages.csd
  150. 0  {csoundo/examples/DrawTables → examples/SonicSausages}/icon-36.png
  151. 0  {csoundo/examples/DrawTables → examples/SonicSausages}/icon-48.png
  152. 0  {csoundo/examples/DrawTables → examples/SonicSausages}/icon-72.png
  153. 0  {csoundo/examples/PlayMessage → examples/SonicSausages}/sketch.properties
  154. 0  {csoundo/examples/DevScratchPad → examples/SonicSock}/AndroidManifest.xml
  155. +2 −6 {csoundo → }/examples/SonicSock/SonicSock.pde
  156. +2 −1  {csoundo → }/examples/SonicSock/data/SonicSock.csd
  157. 0  {csoundo/examples/DevScratchPad → examples/SonicSock}/icon-36.png
  158. 0  {csoundo/examples/DevScratchPad → examples/SonicSock}/icon-48.png
  159. 0  {csoundo/examples/DevScratchPad → examples/SonicSock}/icon-72.png
  160. 0  {csoundo/examples/AcceleSynth → examples/SonicSock}/sketch.properties
  161. 0  {csoundo/examples/ChnInOut → icons}/icon-36.png
  162. 0  {csoundo/examples/ChnInOut → icons}/icon-48.png
  163. 0  {csoundo/examples/ChnInOut → icons}/icon-72.png
  164. 0  {csoundo → }/library/.DS_Store
  165. BIN  library/csnd6.jar
  166. BIN  library/csoundo.jar
  167. BIN  pde.jar
  168. +0 −74 pde/build.xml
  169. +0 −4 pde/build/built-jar.properties
  170. +0 −4 pde/build/classes/META-INF/MANIFEST.MF
  171. BIN  pde/build/classes/antlr/ExtendedCommonASTWithHiddenTokens.class
  172. BIN  pde/build/classes/antlr/TokenStreamCopyingHiddenTokenFilter.class
  173. BIN  pde/build/classes/processing/app/Base$1.class
  174. BIN  pde/build/classes/processing/app/Base$10.class
  175. BIN  pde/build/classes/processing/app/Base$11.class
  176. BIN  pde/build/classes/processing/app/Base$12.class
  177. BIN  pde/build/classes/processing/app/Base$2.class
  178. BIN  pde/build/classes/processing/app/Base$3.class
  179. BIN  pde/build/classes/processing/app/Base$4.class
  180. BIN  pde/build/classes/processing/app/Base$5.class
  181. BIN  pde/build/classes/processing/app/Base$6.class
  182. BIN  pde/build/classes/processing/app/Base$7.class
  183. BIN  pde/build/classes/processing/app/Base$8.class
  184. BIN  pde/build/classes/processing/app/Base$9.class
  185. BIN  pde/build/classes/processing/app/Base.class
  186. BIN  pde/build/classes/processing/app/BufferedStyledDocument.class
  187. BIN  pde/build/classes/processing/app/Editor$1.class
  188. BIN  pde/build/classes/processing/app/Editor$10.class
  189. BIN  pde/build/classes/processing/app/Editor$11.class
  190. BIN  pde/build/classes/processing/app/Editor$12.class
  191. BIN  pde/build/classes/processing/app/Editor$13.class
  192. BIN  pde/build/classes/processing/app/Editor$14.class
  193. BIN  pde/build/classes/processing/app/Editor$15.class
  194. BIN  pde/build/classes/processing/app/Editor$16.class
  195. BIN  pde/build/classes/processing/app/Editor$17.class
  196. BIN  pde/build/classes/processing/app/Editor$18.class
  197. BIN  pde/build/classes/processing/app/Editor$19.class
  198. BIN  pde/build/classes/processing/app/Editor$2.class
  199. BIN  pde/build/classes/processing/app/Editor$20.class
  200. BIN  pde/build/classes/processing/app/Editor$21.class
  201. BIN  pde/build/classes/processing/app/Editor$22.class
  202. BIN  pde/build/classes/processing/app/Editor$23.class
  203. BIN  pde/build/classes/processing/app/Editor$24.class
  204. BIN  pde/build/classes/processing/app/Editor$25.class
  205. BIN  pde/build/classes/processing/app/Editor$26.class
  206. BIN  pde/build/classes/processing/app/Editor$27.class
  207. BIN  pde/build/classes/processing/app/Editor$28.class
  208. BIN  pde/build/classes/processing/app/Editor$29.class
  209. BIN  pde/build/classes/processing/app/Editor$3.class
  210. BIN  pde/build/classes/processing/app/Editor$30.class
  211. BIN  pde/build/classes/processing/app/Editor$31.class
  212. BIN  pde/build/classes/processing/app/Editor$32.class
  213. BIN  pde/build/classes/processing/app/Editor$33.class
  214. BIN  pde/build/classes/processing/app/Editor$34.class
  215. BIN  pde/build/classes/processing/app/Editor$35.class
  216. BIN  pde/build/classes/processing/app/Editor$36.class
  217. BIN  pde/build/classes/processing/app/Editor$37.class
  218. BIN  pde/build/classes/processing/app/Editor$38.class
  219. BIN  pde/build/classes/processing/app/Editor$4.class
  220. BIN  pde/build/classes/processing/app/Editor$5.class
  221. BIN  pde/build/classes/processing/app/Editor$6.class
  222. BIN  pde/build/classes/processing/app/Editor$7.class
  223. BIN  pde/build/classes/processing/app/Editor$8.class
  224. BIN  pde/build/classes/processing/app/Editor$9.class
  225. BIN  pde/build/classes/processing/app/Editor$FileDropHandler.class
  226. BIN  pde/build/classes/processing/app/Editor$RedoAction.class
  227. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$1.class
  228. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$2.class
  229. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$3.class
  230. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$4.class
  231. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$5.class
  232. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$6.class
  233. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$7.class
  234. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$8.class
  235. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup$9.class
  236. BIN  pde/build/classes/processing/app/Editor$TextAreaPopup.class
  237. BIN  pde/build/classes/processing/app/Editor$UndoAction.class
  238. BIN  pde/build/classes/processing/app/Editor.class
  239. BIN  pde/build/classes/processing/app/EditorConsole$1.class
  240. BIN  pde/build/classes/processing/app/EditorConsole$EditorConsoleStream.class
  241. BIN  pde/build/classes/processing/app/EditorConsole.class
  242. BIN  pde/build/classes/processing/app/EditorHeader$1.class
  243. BIN  pde/build/classes/processing/app/EditorHeader$2.class
  244. BIN  pde/build/classes/processing/app/EditorHeader$3.class
  245. BIN  pde/build/classes/processing/app/EditorHeader$4.class
  246. BIN  pde/build/classes/processing/app/EditorHeader$5.class
  247. BIN  pde/build/classes/processing/app/EditorHeader$6.class
  248. BIN  pde/build/classes/processing/app/EditorHeader$Tab.class
  249. BIN  pde/build/classes/processing/app/EditorHeader.class
  250. BIN  pde/build/classes/processing/app/EditorLineStatus.class
  251. BIN  pde/build/classes/processing/app/EditorState.class
  252. BIN  pde/build/classes/processing/app/EditorStatus$1.class
  253. BIN  pde/build/classes/processing/app/EditorStatus$2.class
  254. BIN  pde/build/classes/processing/app/EditorStatus$3.class
  255. BIN  pde/build/classes/processing/app/EditorStatus$4.class
  256. BIN  pde/build/classes/processing/app/EditorStatus.class
  257. BIN  pde/build/classes/processing/app/EditorToolbar$Button.class
  258. BIN  pde/build/classes/processing/app/EditorToolbar.class
  259. BIN  pde/build/classes/processing/app/FindReplace$1.class
  260. BIN  pde/build/classes/processing/app/FindReplace$10.class
  261. BIN  pde/build/classes/processing/app/FindReplace$11.class
  262. BIN  pde/build/classes/processing/app/FindReplace$2.class
  263. BIN  pde/build/classes/processing/app/FindReplace$3.class
  264. BIN  pde/build/classes/processing/app/FindReplace$4.class
  265. BIN  pde/build/classes/processing/app/FindReplace$5.class
  266. BIN  pde/build/classes/processing/app/FindReplace$6.class
  267. BIN  pde/build/classes/processing/app/FindReplace$7.class
  268. BIN  pde/build/classes/processing/app/FindReplace$8.class
  269. BIN  pde/build/classes/processing/app/FindReplace$9.class
  270. BIN  pde/build/classes/processing/app/FindReplace.class
  271. BIN  pde/build/classes/processing/app/Formatter.class
  272. BIN  pde/build/classes/processing/app/HttpConstants.class
  273. BIN  pde/build/classes/processing/app/Library$1.class
  274. BIN  pde/build/classes/processing/app/Library$2.class
  275. BIN  pde/build/classes/processing/app/Library$3.class
  276. BIN  pde/build/classes/processing/app/Library.class
  277. BIN  pde/build/classes/processing/app/Mode$1.class
  278. BIN  pde/build/classes/processing/app/Mode$2.class
  279. BIN  pde/build/classes/processing/app/Mode$3.class
  280. BIN  pde/build/classes/processing/app/Mode$4.class
  281. BIN  pde/build/classes/processing/app/Mode$5.class
  282. BIN  pde/build/classes/processing/app/Mode$6.class
  283. BIN  pde/build/classes/processing/app/Mode$7.class
  284. BIN  pde/build/classes/processing/app/Mode$8.class
  285. BIN  pde/build/classes/processing/app/Mode.class
  286. BIN  pde/build/classes/processing/app/Platform$CLibrary.class
  287. BIN  pde/build/classes/processing/app/Platform.class
  288. BIN  pde/build/classes/processing/app/Preferences$1.class
  289. BIN  pde/build/classes/processing/app/Preferences$2.class
  290. BIN  pde/build/classes/processing/app/Preferences$3.class
  291. BIN  pde/build/classes/processing/app/Preferences$4.class
  292. BIN  pde/build/classes/processing/app/Preferences$5.class
  293. BIN  pde/build/classes/processing/app/Preferences$6.class
  294. BIN  pde/build/classes/processing/app/Preferences$7.class
  295. BIN  pde/build/classes/processing/app/Preferences.class
  296. BIN  pde/build/classes/processing/app/Recent$1.class
  297. BIN  pde/build/classes/processing/app/Recent$Record.class
  298. BIN  pde/build/classes/processing/app/Recent.class
  299. BIN  pde/build/classes/processing/app/RunnerListener.class
  300. BIN  pde/build/classes/processing/app/Settings.class
Sorry, we could not display the entire diff because too many files (1,242) changed.
View
8 CsoundAndroid/.classpath
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry kind="output" path="bin/classes"/>
-</classpath>
View
10 CsoundAndroid/.gitignore
@@ -1,10 +0,0 @@
-*DS_Store
-obj
-libs
-bin
-gen
-src/csnd*
-*swp
-jni/csound_orc*
-jni/csound_prelex.c
-jni/java_interface*
View
33 CsoundAndroid/.project
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>CsoundAndroid</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ApkBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
View
4 CsoundAndroid/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.source=1.5
View
15 CsoundAndroid/AndroidManifest.xml
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.csounds"
- android:versionCode="1"
- android:versionName="1.0"
- android:installLocation="auto">
-
- <uses-sdk android:minSdkVersion="9" />
-
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
- <!-- MODIFY_AUDIO_SETTINGS is needed to use audio effects such as environmental reverb -->
- <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>
- <uses-permission android:name="android.permission.RECORD_AUDIO" />
-</manifest>
View
504 CsoundAndroid/COPYING
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
View
73 CsoundAndroid/android_interface.i
@@ -1,73 +0,0 @@
-/*
-* C S O U N D
-*
-* External language interfaces for the "C" Csound API.
-*
-* L I C E N S E
-*
-* This software is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation; either
-* version 2.1 of the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free Software
-* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-%module(directors="1") csnd
-
-%feature("director") CsoundCallbackWrapper;
-%feature("nodirector") Csound;
-%include "typemaps.i"
-%include "std_string.i"
-%include "std_vector.i"
-%feature("autodoc", "1");
-%{
- #include "csound.h"
- #include "cfgvar.h"
- #include "csound.hpp"
- #include "AndroidCsound.hpp"
- #include "cs_glue.hpp"
- #include "csPerfThread.hpp"
- #include "CsoundFile.hpp"
- #include "CppSound.hpp"
- #include "Soundfile.hpp"
-%}
-
-%apply int { size_t };
-typedef unsigned int uint32_t;
-
-/* %typemap(freearg) char ** {
- free((char *) $1);
-} */
-
-// Enable the JNI class to load the required native library.
-%pragma(java) jniclasscode=%{
- static {
- try {
- java.lang.System.loadLibrary("csoundandroid");
- } catch (UnsatisfiedLinkError e) {
- java.lang.System.err.println("csoundandroid native code library failed to load.\n" + e);
- java.lang.System.exit(1);
- }
- }
-%}
-
-%include "exclusions.i"
-
-%include "csound.h"
-%include "cfgvar.h"
-%include "csound.hpp"
-%include "AndroidCsound.hpp"
-%include "cs_glue.hpp"
-%include "csPerfThread.hpp"
-%include "CsoundFile.hpp"
-%include "CppSound.hpp"
-%include "Soundfile.hpp"
-
View
20 CsoundAndroid/build.sh
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-export ANDROID_NDK_ROOT=$HOME/work/android-ndk-r8b
-export NDK_MODULE_PATH=../../../android
-flex -B -t ../../Engine/csound_orc.l > jni/csound_orclex.c
-flex -B ../../Engine/csound_pre.lex > jni/csound_prelex.c
-bison -d -pcsound_orc --report=itemset -o jni/csound_orcparse.c ../../Engine/csound_orc.y
-
-rm -rf src/csnd
-mkdir -p src/csnd
-
-swig -java -package csnd -D__BUILDING_LIBCSOUND -DENABLE_NEW_PARSER -DPARCS -DHAVE_DIRENT_H -DHAVE_FCNTL_H -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_TERMIOS_H -includeall -verbose -outdir src/csnd -c++ -I/usr/local/include -I../../H -I../../Engine -I../.. -I../../interfaces -I/System/Library/Frameworks/Python.framework/Headers -I/System/Library/Frameworks/JavaVM.framework/Headers -I./jni -o jni/java_interfaceJAVA_wrap.cpp android_interface.i
-
-# ADJUST SWIG CODE FOR ANDROID and DIRECTORS
-sed -i "" 's/AttachCurrentThread((void \*\*)/AttachCurrentThread(/' jni/java_interfaceJAVA_wrap.cpp
-
-$ANDROID_NDK_ROOT/ndk-build TARGET_PLATFORM=android-9
-
-
-
View
92 CsoundAndroid/build.xml
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="CsoundAndroid" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- if sdk.dir was not set from one of the property file, then
- get it from the ANDROID_HOME env var.
- This must be done before we load project.properties since
- the proguard config can use sdk.dir -->
- <property environment="env" />
- <condition property="sdk.dir" value="${env.ANDROID_HOME}">
- <isset property="env.ANDROID_HOME" />
- </condition>
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
- unless="sdk.dir"
- />
-
- <!--
- Import per project custom build rules if present at the root of the project.
- This is the place to put custom intermediary targets such as:
- -pre-build
- -pre-compile
- -post-compile (This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir})
- -post-package
- -post-build
- -pre-clean
- -->
- <import file="custom_rules.xml" optional="true" />
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
View
244 CsoundAndroid/jni/Android.mk
@@ -1,244 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-CSOUND_SRC_ROOT := ../../..
-LIBSNDFILE_SRC_DIR := $(LOCAL_PATH)/../../../../android/libsndfile-android/jni/
-
-LOCAL_MODULE := csoundandroid
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../H $(LOCAL_PATH)/../../../ $(LIBSNDFILE_SRC_DIR) $(LOCAL_PATH)/../../../Engine $(LOCAL_PATH)/../../../interfaces
-LOCAL_CFLAGS := -O3 -D__BUILDING_LIBCSOUND -DENABLE_NEW_PARSER -DLINUX -DHAVE_DIRENT_H -DHAVE_FCNTL_H -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_TERMIOS_H
-LOCAL_CPPFLAGS :=$(LOCAL_CFLAGS)
-###
-
-LOCAL_SRC_FILES := $(CSOUND_SRC_ROOT)/Engine/auxfd.c \
-$(CSOUND_SRC_ROOT)/Engine/cfgvar.c \
-$(CSOUND_SRC_ROOT)/Engine/corfiles.c \
-$(CSOUND_SRC_ROOT)/Engine/entry1.c \
-$(CSOUND_SRC_ROOT)/Engine/envvar.c \
-$(CSOUND_SRC_ROOT)/Engine/express.c \
-$(CSOUND_SRC_ROOT)/Engine/extract.c \
-$(CSOUND_SRC_ROOT)/Engine/fgens.c \
-$(CSOUND_SRC_ROOT)/Engine/insert.c \
-$(CSOUND_SRC_ROOT)/Engine/linevent.c \
-$(CSOUND_SRC_ROOT)/Engine/memalloc.c \
-$(CSOUND_SRC_ROOT)/Engine/memfiles.c \
-$(CSOUND_SRC_ROOT)/Engine/musmon.c \
-$(CSOUND_SRC_ROOT)/Engine/namedins.c \
-$(CSOUND_SRC_ROOT)/Engine/otran.c \
-$(CSOUND_SRC_ROOT)/Engine/rdorch.c \
-$(CSOUND_SRC_ROOT)/Engine/rdscor.c \
-$(CSOUND_SRC_ROOT)/Engine/scsort.c \
-$(CSOUND_SRC_ROOT)/Engine/scxtract.c \
-$(CSOUND_SRC_ROOT)/Engine/sort.c \
-$(CSOUND_SRC_ROOT)/Engine/sread.c \
-$(CSOUND_SRC_ROOT)/Engine/swrite.c \
-$(CSOUND_SRC_ROOT)/Engine/swritestr.c \
-$(CSOUND_SRC_ROOT)/Engine/twarp.c \
-$(CSOUND_SRC_ROOT)/InOut/libsnd.c \
-$(CSOUND_SRC_ROOT)/InOut/libsnd_u.c \
-$(CSOUND_SRC_ROOT)/InOut/midifile.c \
-$(CSOUND_SRC_ROOT)/InOut/midirecv.c \
-$(CSOUND_SRC_ROOT)/InOut/midisend.c \
-$(CSOUND_SRC_ROOT)/InOut/winascii.c \
-$(CSOUND_SRC_ROOT)/InOut/windin.c \
-$(CSOUND_SRC_ROOT)/InOut/window.c \
-$(CSOUND_SRC_ROOT)/InOut/winEPS.c \
-$(CSOUND_SRC_ROOT)/OOps/aops.c \
-$(CSOUND_SRC_ROOT)/OOps/bus.c \
-$(CSOUND_SRC_ROOT)/OOps/cmath.c \
-$(CSOUND_SRC_ROOT)/OOps/diskin.c \
-$(CSOUND_SRC_ROOT)/OOps/diskin2.c \
-$(CSOUND_SRC_ROOT)/OOps/disprep.c \
-$(CSOUND_SRC_ROOT)/OOps/dumpf.c \
-$(CSOUND_SRC_ROOT)/OOps/fftlib.c \
-$(CSOUND_SRC_ROOT)/OOps/goto_ops.c \
-$(CSOUND_SRC_ROOT)/OOps/midiinterop.c \
-$(CSOUND_SRC_ROOT)/OOps/midiops.c \
-$(CSOUND_SRC_ROOT)/OOps/midiout.c \
-$(CSOUND_SRC_ROOT)/OOps/mxfft.c \
-$(CSOUND_SRC_ROOT)/OOps/oscils.c \
-$(CSOUND_SRC_ROOT)/OOps/pstream.c \
-$(CSOUND_SRC_ROOT)/OOps/pvfileio.c \
-$(CSOUND_SRC_ROOT)/OOps/pvsanal.c \
-$(CSOUND_SRC_ROOT)/OOps/random.c \
-$(CSOUND_SRC_ROOT)/OOps/remote.c \
-$(CSOUND_SRC_ROOT)/OOps/schedule.c \
-$(CSOUND_SRC_ROOT)/OOps/sndinfUG.c \
-$(CSOUND_SRC_ROOT)/OOps/str_ops.c \
-$(CSOUND_SRC_ROOT)/OOps/ugens1.c \
-$(CSOUND_SRC_ROOT)/OOps/ugens2.c \
-$(CSOUND_SRC_ROOT)/OOps/ugens2a.c \
-$(CSOUND_SRC_ROOT)/OOps/ugens3.c \
-$(CSOUND_SRC_ROOT)/OOps/ugens4.c \
-$(CSOUND_SRC_ROOT)/OOps/ugens5.c \
-$(CSOUND_SRC_ROOT)/OOps/ugens6.c \
-$(CSOUND_SRC_ROOT)/OOps/ugrw1.c \
-$(CSOUND_SRC_ROOT)/OOps/ugrw2.c \
-$(CSOUND_SRC_ROOT)/OOps/vdelay.c \
-$(CSOUND_SRC_ROOT)/Opcodes/babo.c \
-$(CSOUND_SRC_ROOT)/Opcodes/bilbar.c \
-$(CSOUND_SRC_ROOT)/Opcodes/compress.c \
-$(CSOUND_SRC_ROOT)/Opcodes/eqfil.c \
-$(CSOUND_SRC_ROOT)/Opcodes/Vosim.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pitch.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pitch0.c \
-$(CSOUND_SRC_ROOT)/Opcodes/spectra.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ambicode1.c \
-$(CSOUND_SRC_ROOT)/Opcodes/sfont.c \
-$(CSOUND_SRC_ROOT)/Opcodes/grain4.c \
-$(CSOUND_SRC_ROOT)/Opcodes/hrtferX.c \
-$(CSOUND_SRC_ROOT)/Opcodes/loscilx.c \
-$(CSOUND_SRC_ROOT)/Opcodes/minmax.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pan2.c \
-$(CSOUND_SRC_ROOT)/Opcodes/tabvars.c \
-$(CSOUND_SRC_ROOT)/Opcodes/phisem.c \
-$(CSOUND_SRC_ROOT)/Opcodes/hrtfopcodes.c \
-$(CSOUND_SRC_ROOT)/Opcodes/stackops.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vbap.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vbap1.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vbap_n.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vbap_eight.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vbap_four.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vbap_sixteen.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vbap_zak.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vaops.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugakbari.c \
-$(CSOUND_SRC_ROOT)/Opcodes/harmon.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pitchtrack.c \
-$(CSOUND_SRC_ROOT)/Opcodes/partikkel.c \
-$(CSOUND_SRC_ROOT)/Opcodes/shape.c \
-$(CSOUND_SRC_ROOT)/Opcodes/tabsum.c \
-$(CSOUND_SRC_ROOT)/Opcodes/crossfm.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvlock.c \
-$(CSOUND_SRC_ROOT)/Opcodes/fareyseq.c \
-$(CSOUND_SRC_ROOT)/Opcodes/modmatrix.c \
-$(CSOUND_SRC_ROOT)/Opcodes/scoreline.c \
-$(CSOUND_SRC_ROOT)/Opcodes/modal4.c \
-$(CSOUND_SRC_ROOT)/Opcodes/physutil.c \
-$(CSOUND_SRC_ROOT)/Opcodes/physmod.c \
-$(CSOUND_SRC_ROOT)/Opcodes/mandolin.c \
-$(CSOUND_SRC_ROOT)/Opcodes/singwave.c \
-$(CSOUND_SRC_ROOT)/Opcodes/fm4op.c \
-$(CSOUND_SRC_ROOT)/Opcodes/moog1.c \
-$(CSOUND_SRC_ROOT)/Opcodes/shaker.c \
-$(CSOUND_SRC_ROOT)/Opcodes/bowedbar.c \
-$(CSOUND_SRC_ROOT)/Opcodes/gab/tabmorph.c \
-$(CSOUND_SRC_ROOT)/Opcodes/gab/hvs.c \
-$(CSOUND_SRC_ROOT)/Opcodes/gab/sliderTable.c \
-$(CSOUND_SRC_ROOT)/Opcodes/gab/newgabopc.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ftest.c \
-$(CSOUND_SRC_ROOT)/Top/argdecode.c \
-$(CSOUND_SRC_ROOT)/Opcodes/hrtfearly.c \
-$(CSOUND_SRC_ROOT)/Opcodes/hrtfreverb.c \
-$(CSOUND_SRC_ROOT)/Opcodes/cpumeter.c \
-$(CSOUND_SRC_ROOT)/Opcodes/gendy.c \
-$(CSOUND_SRC_ROOT)/Opcodes/tl/sc_noise.c \
-$(CSOUND_SRC_ROOT)/Top/cscore_internal.c \
-$(CSOUND_SRC_ROOT)/Top/cscorfns.c \
-$(CSOUND_SRC_ROOT)/Top/csmodule.c \
-$(CSOUND_SRC_ROOT)/Top/csound.c \
-$(CSOUND_SRC_ROOT)/Top/getstring.c \
-$(CSOUND_SRC_ROOT)/Top/main.c \
-$(CSOUND_SRC_ROOT)/Top/new_opts.c \
-$(CSOUND_SRC_ROOT)/Top/one_file.c \
-$(CSOUND_SRC_ROOT)/Top/opcode.c \
-$(CSOUND_SRC_ROOT)/Top/threads.c \
-$(CSOUND_SRC_ROOT)/Top/utility.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ambicode.c \
-$(CSOUND_SRC_ROOT)/Opcodes/bbcut.c \
-$(CSOUND_SRC_ROOT)/Opcodes/biquad.c \
-$(CSOUND_SRC_ROOT)/Opcodes/butter.c \
-$(CSOUND_SRC_ROOT)/Opcodes/clfilt.c \
-$(CSOUND_SRC_ROOT)/Opcodes/cross2.c \
-$(CSOUND_SRC_ROOT)/Opcodes/dam.c \
-$(CSOUND_SRC_ROOT)/Opcodes/dcblockr.c \
-$(CSOUND_SRC_ROOT)/Opcodes/filter.c \
-$(CSOUND_SRC_ROOT)/Opcodes/flanger.c \
-$(CSOUND_SRC_ROOT)/Opcodes/follow.c \
-$(CSOUND_SRC_ROOT)/Opcodes/fout.c \
-$(CSOUND_SRC_ROOT)/Opcodes/freeverb.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ftconv.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ftgen.c \
-$(CSOUND_SRC_ROOT)/Opcodes/gab/gab.c \
-$(CSOUND_SRC_ROOT)/Opcodes/gab/vectorial.c \
-$(CSOUND_SRC_ROOT)/Opcodes/grain.c \
-$(CSOUND_SRC_ROOT)/Opcodes/locsig.c \
-$(CSOUND_SRC_ROOT)/Opcodes/lowpassr.c \
-$(CSOUND_SRC_ROOT)/Opcodes/metro.c \
-$(CSOUND_SRC_ROOT)/Opcodes/midiops2.c \
-$(CSOUND_SRC_ROOT)/Opcodes/midiops3.c \
-$(CSOUND_SRC_ROOT)/Opcodes/newfils.c \
-$(CSOUND_SRC_ROOT)/Opcodes/nlfilt.c \
-$(CSOUND_SRC_ROOT)/Opcodes/oscbnk.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pluck.c \
-$(CSOUND_SRC_ROOT)/Opcodes/repluck.c \
-$(CSOUND_SRC_ROOT)/Opcodes/reverbsc.c \
-$(CSOUND_SRC_ROOT)/Opcodes/seqtime.c \
-$(CSOUND_SRC_ROOT)/Opcodes/sndloop.c \
-$(CSOUND_SRC_ROOT)/Opcodes/sndwarp.c \
-$(CSOUND_SRC_ROOT)/Opcodes/space.c \
-$(CSOUND_SRC_ROOT)/Opcodes/spat3d.c \
-$(CSOUND_SRC_ROOT)/Opcodes/syncgrain.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugens7.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugens9.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugensa.c \
-$(CSOUND_SRC_ROOT)/Opcodes/uggab.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugmoss.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugnorman.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugsc.c \
-$(CSOUND_SRC_ROOT)/Opcodes/wave-terrain.c \
-$(CSOUND_SRC_ROOT)/Opcodes/stdopcod.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ifd.c \
-$(CSOUND_SRC_ROOT)/Opcodes/partials.c \
-$(CSOUND_SRC_ROOT)/Opcodes/psynth.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvsbasic.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvscent.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvsdemix.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvs_ops.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvsband.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvsbuffer.c \
-$(CSOUND_SRC_ROOT)/Opcodes/dsputil.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvadd.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvinterp.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvocext.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvread.c \
-$(CSOUND_SRC_ROOT)/Opcodes/ugens8.c \
-$(CSOUND_SRC_ROOT)/Opcodes/vpvoc.c \
-$(CSOUND_SRC_ROOT)/Opcodes/pvoc.c \
-$(CSOUND_SRC_ROOT)/Engine/csound_orc_semantics.c \
-$(CSOUND_SRC_ROOT)/Engine/csound_orc_expressions.c \
-$(CSOUND_SRC_ROOT)/Engine/csound_orc_optimize.c \
-$(CSOUND_SRC_ROOT)/Engine/csound_orc_compile.c \
-$(CSOUND_SRC_ROOT)/Engine/new_orc_parser.c \
-$(CSOUND_SRC_ROOT)/Engine/symbtab.c \
-$(CSOUND_SRC_ROOT)/Opcodes/mp3in.c \
-$(CSOUND_SRC_ROOT)/InOut/libmpadec/layer1.c \
-$(CSOUND_SRC_ROOT)/InOut/libmpadec/layer2.c \
-$(CSOUND_SRC_ROOT)/InOut/libmpadec/layer3.c \
-$(CSOUND_SRC_ROOT)/InOut/libmpadec/synth.c \
-$(CSOUND_SRC_ROOT)/InOut/libmpadec/tables.c \
-$(CSOUND_SRC_ROOT)/InOut/libmpadec/mpadec.c \
-$(CSOUND_SRC_ROOT)/InOut/libmpadec/mp3dec.c \
-csound_orclex.c \
-csound_prelex.c \
-csound_orcparse.c \
-rtopensl.c \
-AndroidCsound.cpp \
-$(CSOUND_SRC_ROOT)/interfaces/CppSound.cpp \
-$(CSOUND_SRC_ROOT)/interfaces/CsoundFile.cpp \
-$(CSOUND_SRC_ROOT)/interfaces/Soundfile.cpp \
-$(CSOUND_SRC_ROOT)/interfaces/csPerfThread.cpp \
-$(CSOUND_SRC_ROOT)/interfaces/cs_glue.cpp \
-$(CSOUND_SRC_ROOT)/interfaces/filebuilding.cpp \
-java_interfaceJAVA_wrap.cpp
-#CsoundObj.cpp
-
-LOCAL_LDLIBS := -llog -lOpenSLES
-
-LOCAL_STATIC_LIBRARIES := sndfile
-
-
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-module,libsndfile-android/jni)
View
44 CsoundAndroid/jni/AndroidCsound.cpp
@@ -1,44 +0,0 @@
-#include "AndroidCsound.hpp"
-#include <android/log.h>
-
-extern "C" {
-extern void androidrtclose_(CSOUND *csound);
-extern void androidrtplay_(CSOUND *csound, const MYFLT *buffer, int nbytes);
-extern int androidrtrecord_(CSOUND *csound, MYFLT *buffer, int nbytes);
-extern int androidrecopen_(CSOUND *csound, const csRtAudioParams *parm);
-extern int androidplayopen_(CSOUND *csound, const csRtAudioParams *parm);
-
-static void androidMessageCallbac(CSOUND*, int attr, const char *format, va_list valist) {
-
-char message[1024];
-
-vsnprintf(message, 1024, format, valist);
-__android_log_print(ANDROID_LOG_INFO,"AndroidCsound",message);
-
-}
-
-
-}
-
-
-int AndroidCsound::PreCompile()
-{
-
-__android_log_print(ANDROID_LOG_INFO,"AndroidCsound","PreCompile()");
-
- int retVal = Csound::PreCompile();
-__android_log_print(ANDROID_LOG_INFO,"AndroidCsound","set callbacks");
- csoundSetPlayopenCallback(csound, androidplayopen_);
- csoundSetRecopenCallback(csound, androidrecopen_);
- csoundSetRtplayCallback(csound, androidrtplay_);
- csoundSetRtrecordCallback(csound, androidrtrecord_);
- csoundSetRtcloseCallback(csound, androidrtclose_);
- csoundSetMessageCallback(csound, androidMessageCallbac);
-__android_log_print(ANDROID_LOG_INFO,"AndroidCsound","callbacks set");
-
- return retVal;
-};
-
-void AndroidCsound::SetGlobalEnv(const char* name, const char* variable) {
- csoundSetGlobalEnv(name, variable);
-}
View
11 CsoundAndroid/jni/AndroidCsound.hpp
@@ -1,11 +0,0 @@
-#ifdef SWIG
-%module csnd
-#endif
-
-#include "csound.hpp"
-
-class PUBLIC AndroidCsound : public Csound {
-public:
-virtual int PreCompile();
-void SetGlobalEnv(const char* name, const char* variable);
-};
View
5 CsoundAndroid/jni/Application.mk
@@ -1,5 +0,0 @@
-APP_STL := gnustl_static
-APP_CPPFLAGS += -fexceptions -frtti
-APP_ABI := armeabi armeabi-v7a
-
-
View
581 CsoundAndroid/jni/rtopensl.c
@@ -1,581 +0,0 @@
-
-/*
- rtopensl.c
- OpenSl ES Audio Module for Csound
-
- Copyright (C) 2011 Victor Lazzarini.
-
- This file is part of Csound.
-
- The Csound Library is free software; you can redistribute it
- and/or modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- Csound is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with Csound; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA
-
-*/
-#include <SLES/OpenSLES.h>
-#include "SLES/OpenSLES_Android.h"
-#include "csdl.h"
-#include <android/log.h>
-
-typedef struct OPEN_SL_PARAMS_ {
- CSOUND *csound;
- // engine interfaces
- SLObjectItf engineObject;
- SLEngineItf engineEngine;
-
-// output mix interfaces
- SLObjectItf outputMixObject;
-
-// buffer queue player interfaces
- SLObjectItf bqPlayerObject;
- SLPlayItf bqPlayerPlay;
- SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue;
- SLEffectSendItf bqPlayerEffectSend;
-
-// recorder interfaces
- SLObjectItf recorderObject;
- SLRecordItf recorderRecord;
- SLAndroidSimpleBufferQueueItf recorderBufferQueue;
-
- int currentInputIndex;
- int currentOutputIndex;
-
- int currentOutputBuffer;
- int currentInputBuffer;
-
- short *outputBuffer[2];
- short *inputBuffer[2];
-
- int outBufSamples;
- int inBufSamples;
-
- // locks
- void *clientLockIn;
- void *clientLockOut;
-
- csRtAudioParams outParm;
- csRtAudioParams inParm;
-
-} open_sl_params;
-
-#define CONV16BIT 32768
-#define CONVMYFLT FL(1./32768.)
-
-// this callback handler is called every time a buffer finishes playing
-void bqPlayerCallback(SLAndroidSimpleBufferQueueItf bq, void *context)
-{
- open_sl_params *params = (open_sl_params *) context;
- params->csound->NotifyThreadLock(params->clientLockOut);
-
-}
-
-/* put samples to DAC */
-void androidrtplay_(CSOUND *csound, const MYFLT *buffer, int nbytes)
-{
- open_sl_params *params;
- int i = 0, samples = nbytes / (int) sizeof(MYFLT);
- MYFLT bufflen;
- short* openslBuffer;
-
- params = (open_sl_params *) *(csound->GetRtPlayUserData(csound));
- bufflen = 1000;//*(params->outBufSamples/2.)/csound->GetSr(csound);
- //csound->Message(csound, "bufflen %d \n", (int) bufflen);
- if (params == NULL)
- return;
- openslBuffer = params->outputBuffer[params->currentOutputBuffer];
- do {
- openslBuffer[params->currentOutputIndex++] = (short) (buffer[i]*CONV16BIT);
- if (params->currentOutputIndex >= params->outBufSamples) {
- csound->WaitThreadLock(params->clientLockOut, (size_t) bufflen);
- (*params->bqPlayerBufferQueue)->Enqueue(params->bqPlayerBufferQueue,
- openslBuffer,params->outBufSamples*sizeof(short));
- params->currentOutputBuffer = (params->currentOutputBuffer ? 0 : 1);
- params->currentOutputIndex = 0;
- openslBuffer = params->outputBuffer[params->currentOutputBuffer];
- }
- } while (++i < samples);
-}
-
-SLresult openSLCreateEngine(open_sl_params *params)
-{
- SLresult result;
-
- // create engine
- result = slCreateEngine(&(params->engineObject), 0, NULL, 0, NULL, NULL);
- if(result != SL_RESULT_SUCCESS) goto engine_end;
-
- // realize the engine
- result = (*params->engineObject)->Realize(params->engineObject, SL_BOOLEAN_FALSE);
- if(result != SL_RESULT_SUCCESS) goto engine_end;
-
- // get the engine interface, which is needed in order to create other objects
- result = (*params->engineObject)->GetInterface(params->engineObject, SL_IID_ENGINE, &(params->engineEngine));
- if(result != SL_RESULT_SUCCESS) goto engine_end;
-
- engine_end:
- return result;
-}
-
-int openSLPlayOpen(open_sl_params *params)
-{
- SLresult result;
- SLuint32 sr = params->outParm.sampleRate;
-
- // configure audio source
- SLDataLocator_AndroidSimpleBufferQueue loc_bufq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};
-
- switch(sr){
-
- case 8000:
- sr = SL_SAMPLINGRATE_8;
- break;
- case 11025:
- sr = SL_SAMPLINGRATE_11_025;
- break;
- case 16000:
- sr = SL_SAMPLINGRATE_16;
- break;
- case 22050:
- sr = SL_SAMPLINGRATE_22_05;
- break;
- case 24000:
- sr = SL_SAMPLINGRATE_24;
- break;
- case 32000:
- sr = SL_SAMPLINGRATE_32;
- break;
- case 44100:
- sr = SL_SAMPLINGRATE_44_1;
- break;
- case 64000:
- sr = SL_SAMPLINGRATE_64;
- break;
- case 88200:
- sr = SL_SAMPLINGRATE_88_2;
- break;
- case 96000:
- sr = SL_SAMPLINGRATE_96;
- break;
- case 192000:
- sr = SL_SAMPLINGRATE_192;
- break;
- default:
- return -1;
- }
-
- const SLInterfaceID ids[] = {SL_IID_VOLUME};
- const SLboolean req[] = {SL_BOOLEAN_FALSE};
- result = (*params->engineEngine)->CreateOutputMix(params->engineEngine, &(params->outputMixObject), 1, ids, req);
- if(result != SL_RESULT_SUCCESS) goto end_openaudio;
-
- // realize the output mix
- result = (*params->outputMixObject)->Realize(params->outputMixObject, SL_BOOLEAN_FALSE);
- int chnls = params->csound->GetNchnls(params->csound);
- int speakers;
- if(chnls == 1) speakers = SL_SPEAKER_FRONT_CENTER;
- else speakers = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
-
- SLDataFormat_PCM format_pcm = {SL_DATAFORMAT_PCM, chnls , sr,
- SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16,
- speakers, SL_BYTEORDER_LITTLEENDIAN};
-
- SLDataSource audioSrc = {&loc_bufq, &format_pcm};
-
- // configure audio sink
- SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, params->outputMixObject};
- SLDataSink audioSnk = {&loc_outmix, NULL};
-
- // create audio player
- const SLInterfaceID ids1[] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE};
- const SLboolean req1[] = {SL_BOOLEAN_TRUE};
- result = (*params->engineEngine)->CreateAudioPlayer(params->engineEngine, &(params->bqPlayerObject), &audioSrc, &audioSnk,
- 1, ids1, req1);
- if(result != SL_RESULT_SUCCESS) goto end_openaudio;
-
- // realize the player
- result = (*params->bqPlayerObject)->Realize(params->bqPlayerObject, SL_BOOLEAN_FALSE);
- if(result != SL_RESULT_SUCCESS) goto end_openaudio;
-
- // get the play interface
- result = (*params->bqPlayerObject)->GetInterface(params->bqPlayerObject, SL_IID_PLAY, &(params->bqPlayerPlay));
- if(result != SL_RESULT_SUCCESS) goto end_openaudio;
-
- // get the buffer queue interface
- result = (*params->bqPlayerObject)->GetInterface(params->bqPlayerObject, SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
- &(params->bqPlayerBufferQueue));
- if(result != SL_RESULT_SUCCESS) goto end_openaudio;
-
- // register callback on the buffer queue
- result = (*params->bqPlayerBufferQueue)->RegisterCallback(params->bqPlayerBufferQueue, bqPlayerCallback, params);
- if(result != SL_RESULT_SUCCESS) goto end_openaudio;
-
- // set the player's state to playing
- result = (*params->bqPlayerPlay)->SetPlayState(params->bqPlayerPlay, SL_PLAYSTATE_PLAYING);
-
- end_openaudio:
- return result;
-}
-
-int openSLInitOutParams(open_sl_params *params){
-
- params->clientLockOut = params->csound->CreateThreadLock();
- if (params->clientLockOut == NULL)
- goto err_return;
- params->outBufSamples = params->csound->GetOutputBufferSize(params->csound);
-
- if((params->outputBuffer[0] = calloc(params->outBufSamples, sizeof(short))) == NULL ||
- (params->outputBuffer[1] = calloc(params->outBufSamples, sizeof(short))) == NULL ){
- params->csound->Message(params->csound, "memory allocation failure in opensl module \n");
- goto err_return;
- }
- params->currentInputIndex = 0;
- params->currentOutputBuffer = 0;
- return OK;
-
- err_return:
- return -1;
-}
-
-/* open for audio output */
-int androidplayopen_(CSOUND *csound, const csRtAudioParams *parm)
-{
-
- CSOUND *p = csound;
- open_sl_params *params;
-
- params = (open_sl_params*) p->QueryGlobalVariable(p, "_openslGlobals");
- if (params == NULL) {
- if (p->CreateGlobalVariable(p, "_openslGlobals", sizeof(open_sl_params))
- != 0)
- return -1;
- params = (open_sl_params*) p->QueryGlobalVariable(p, "_openslGlobals");
- params->csound = p;
-
- if(openSLCreateEngine(params) != SL_RESULT_SUCCESS) {
- csound->Message(csound, Str("OpenSL: engine create error \n"));
- return -1;
- }
-
- }
- memcpy(&(params->outParm), parm, sizeof(csRtAudioParams));
- *(p->GetRtPlayUserData(p)) = (void*) params;
-
- if(openSLPlayOpen(params) != SL_RESULT_SUCCESS) return -1;
-
- int returnVal = openSLInitOutParams(params);
- params->csound->NotifyThreadLock(params->clientLockOut);
- return returnVal;
-}
-// ===============================
-
-// this callback handler is called every time a buffer finishes recording
-void bqRecorderCallback(SLAndroidSimpleBufferQueueItf bq, void *context)
-{
- open_sl_params *params = (open_sl_params *) context;
- params->csound->NotifyThreadLock(params->clientLockIn);
-}
-
-/* get samples from ADC */
-int androidrtrecord_(CSOUND *csound, MYFLT *buffer, int nbytes)
-{
-
- open_sl_params *params;
- int i = 0, j = 0, samples = nbytes / (int) sizeof(MYFLT);
- short *openslBuffer; int nchnls = csound->GetNchnls(csound);
- params = (open_sl_params*) *(csound->GetRtRecordUserData(csound));
-
- if (params == NULL) {
- memset(buffer, 0, nbytes);
- return nbytes;
- }
- openslBuffer = params->inputBuffer[params->currentInputBuffer];
- do {
- if (params->currentInputIndex >= params->inBufSamples) {
- csound->WaitThreadLock(params->clientLockIn, (size_t) 1000);
- (*params->recorderBufferQueue)->Enqueue(params->recorderBufferQueue,
- openslBuffer,params->inBufSamples*sizeof(short));
- params->currentInputBuffer = (params->currentInputBuffer ? 0 : 1);
- params->currentInputIndex = 0;
- openslBuffer = params->inputBuffer[params->currentInputBuffer];
- }
- for(j = 0; j < nchnls; j++) {
- buffer[i + j] = (MYFLT) openslBuffer[params->currentInputIndex]*CONVMYFLT;
- }
- params->currentInputIndex++;
- i += nchnls;
- } while (i < samples);
-
-
- return nbytes;
-}
-
-int openSLRecOpen(open_sl_params *params){
-
- SLresult result;
- SLuint32 sr = params->inParm.sampleRate;
- int nchnls;
- switch(sr){
-
- case 8000:
- sr = SL_SAMPLINGRATE_8;
- break;
- case 11025:
- sr = SL_SAMPLINGRATE_11_025;
- break;
- case 16000:
- sr = SL_SAMPLINGRATE_16;
- break;
- case 22050:
- sr = SL_SAMPLINGRATE_22_05;
- break;
- case 24000:
- sr = SL_SAMPLINGRATE_24;
- break;
- case 32000:
- sr = SL_SAMPLINGRATE_32;
- break;
- case 44100:
- sr = SL_SAMPLINGRATE_44_1;
- break;
- case 64000:
- sr = SL_SAMPLINGRATE_64;
- break;
- case 88200:
- sr = SL_SAMPLINGRATE_88_2;
- break;
- case 96000:
- sr = SL_SAMPLINGRATE_96;
- break;
- case 192000:
- sr = SL_SAMPLINGRATE_192;
- break;
- default:
- return -1;
- }
- nchnls = 1; /* always mono for the moment // params->csound->GetNchnls(params->csound); */
- // configure audio source
- SLDataLocator_IODevice loc_dev = {SL_DATALOCATOR_IODEVICE, SL_IODEVICE_AUDIOINPUT,
- SL_DEFAULTDEVICEID_AUDIOINPUT, NULL};
- SLDataSource audioSrc = {&loc_dev, NULL};
-
- // configure audio sink
- SLDataLocator_AndroidSimpleBufferQueue loc_bq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};
- SLDataFormat_PCM format_pcm = {SL_DATAFORMAT_PCM,nchnls, sr,
- SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16,
- SL_SPEAKER_FRONT_CENTER, SL_BYTEORDER_LITTLEENDIAN};
- SLDataSink audioSnk = {&loc_bq, &format_pcm};
-
- // create audio recorder
- // (requires the RECORD_AUDIO permission)
- const SLInterfaceID id[1] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE};
- const SLboolean req[1] = {SL_BOOLEAN_TRUE};
- result = (*params->engineEngine)->CreateAudioRecorder(params->engineEngine, &(params->recorderObject), &audioSrc,
- &audioSnk, 1, id, req);
- if (SL_RESULT_SUCCESS != result) goto end_recopen;
-
- // realize the audio recorder
- result = (*params->recorderObject)->Realize(params->recorderObject, SL_BOOLEAN_FALSE);
- if (SL_RESULT_SUCCESS != result) goto end_recopen;
-
-
- // get the record interface
- result = (*params->recorderObject)->GetInterface(params->recorderObject, SL_IID_RECORD, &(params->recorderRecord));
- if (SL_RESULT_SUCCESS != result) goto end_recopen;
-
- // get the buffer queue interface
- result = (*params->recorderObject)->GetInterface(params->recorderObject, SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
- &(params->recorderBufferQueue));
- if (SL_RESULT_SUCCESS != result) goto end_recopen;
-
- // register callback on the buffer queue
- result = (*params->recorderBufferQueue)->RegisterCallback(params->recorderBufferQueue, bqRecorderCallback,
- params);
- if (SL_RESULT_SUCCESS != result) goto end_recopen;
-
-
- result = (*params->recorderRecord)->SetRecordState(params->recorderRecord, SL_RECORDSTATE_RECORDING);
-
-
- end_recopen:
- return result;
-}
-
-int openSLInitInParams(open_sl_params *params){
- params->clientLockIn = params->csound->CreateThreadLock();
- if (params->clientLockIn == NULL)
- return -1;
- /* input is always mono, so buffer size needs to be adjusted accordingly */
- params->inBufSamples = params->csound->GetInputBufferSize(params->csound) /
- params->csound->GetNchnls(params->csound);
- if((params->inputBuffer[0] = (short *)calloc(params->inBufSamples, sizeof(short))) == NULL ||
- (params->inputBuffer[1] = (short *)calloc(params->inBufSamples, sizeof(short))) == NULL){
- params->csound->Message(params->csound, "memory allocation failure in opensl module \n");
- return -1;
- }
- params->currentInputIndex = params->inBufSamples;
- params->currentInputBuffer = 0;
- return OK;
-
-}
-/* open for audio input */
-int androidrecopen_(CSOUND *csound, const csRtAudioParams *parm)
-{
- CSOUND *p = csound; int res;
- open_sl_params *params;
- params = (open_sl_params*) p->QueryGlobalVariable(p, "_openslGlobals");
- if (params == NULL) {
- if (p->CreateGlobalVariable(p, "_openslGlobals", sizeof(open_sl_params))
- != 0)
- return -1;
- params = (open_sl_params*) p->QueryGlobalVariable(p, "_openslGlobals");
- params->csound = p;
-
- if(openSLCreateEngine(params) != SL_RESULT_SUCCESS) {
- csound->Message(csound, Str("OpenSL: engine create error \n"));
- return -1;
- }
-
- }
- memcpy(&(params->inParm), parm, sizeof(csRtAudioParams));
- *(p->GetRtRecordUserData(p)) = (void*) params;
- if(openSLRecOpen(params) != SL_RESULT_SUCCESS) {
- csound->Message(csound, Str("OpenSL: input open error \n"));
- return -1;
- }
-
- res = openSLInitInParams(params);
- if(res == OK) params->csound->NotifyThreadLock(params->clientLockIn);
- return res;
-}
-
-/* close the I/O device entirely */
-void androidrtclose_(CSOUND *csound)
-{
-
- open_sl_params *params;
- params = (open_sl_params *) csound->QueryGlobalVariable(csound,
- "_openslGlobals");
- if (params == NULL)
- return;
-
- if (params->clientLockIn != NULL) {
- csound->NotifyThreadLock(params->clientLockIn);
- csound->DestroyThreadLock(params->clientLockIn);
- params->clientLockIn = NULL;
- }
-
- if (params->clientLockOut != NULL) {
- csound->NotifyThreadLock(params->clientLockOut);
- csound->DestroyThreadLock(params->clientLockOut);
- params->clientLockOut = NULL;
- }
-
- if (params->outputBuffer[0] != NULL) {
- free(params->outputBuffer[0]);
- params->outputBuffer[0] = NULL;
- }
-
- if (params->outputBuffer[1] != NULL) {
- free(params->outputBuffer[1]);
- params->outputBuffer[1] = NULL;
- }
-
- if (params->inputBuffer[0] != NULL) {
- free(params->inputBuffer[0]);
- params->inputBuffer[0] = NULL;
- }
-
- if (params->inputBuffer[1] != NULL) {
- free(params->inputBuffer[1]);
- params->inputBuffer[1] = NULL;
- }
-
- *(csound->GetRtRecordUserData(csound)) = NULL;
- *(csound->GetRtPlayUserData(csound)) = NULL;
- csound->DestroyGlobalVariable(csound, "_openslGlobals");
-
-
-// destroy buffer queue audio player object, and invalidate all associated interfaces
- if (params->bqPlayerObject != NULL) {
- (*params->bqPlayerObject)->Destroy(params->bqPlayerObject);
- params->bqPlayerObject = NULL;
- params->bqPlayerPlay = NULL;
- params->bqPlayerBufferQueue = NULL;
- params->bqPlayerEffectSend = NULL;
- }
-
- // destroy audio recorder object, and invalidate all associated interfaces
- if (params->recorderObject != NULL) {
- (*params->recorderObject)->Destroy(params->recorderObject);
- params->recorderObject = NULL;
- params->recorderRecord = NULL;
- params->recorderBufferQueue = NULL;
- }
-
- // destroy output mix object, and invalidate all associated interfaces
- if (params->outputMixObject != NULL) {
- (*params->outputMixObject)->Destroy(params->outputMixObject);
- params->outputMixObject = NULL;
- }
-
- // destroy engine object, and invalidate all associated interfaces
- if (params->engineObject != NULL) {
- (*params->engineObject)->Destroy(params->engineObject);
- params->engineObject = NULL;
- params->engineEngine = NULL;
- }
-
-}
-
-//PUBLIC int csoundModuleCreate(CSOUND *csound)
-//{
-// /* nothing to do, report success */
-// csound->Message(csound,
-// Str("OpenSL ES real-time audio module for Csound\n"));
-// return 0;
-//}
-//
-//PUBLIC int csoundModuleInit(CSOUND *csound)
-//{
-// char *s, drv[12];
-// int i;
-//
-// if ((s = (char*) csound->QueryGlobalVariable(csound, "_RTAUDIO")) == NULL)
-// return 0;
-// for (i = 0; s[i] != '\0' && i < 11; i++)
-// drv[i] = s[i] & (char) 0xDF;
-// drv[i] = '\0';
-// if (!(strcmp(drv, "OPENSL") == 0 || strcmp(drv, "OSL") == 0 )
-// return 0;
-// csound->Message(csound, Str("rtaudio: OenSL ES module enabled ... "));
-// /* set function pointers */
-// csound->SetPlayopenCallback(csound, playopen_);
-// csound->SetRecopenCallback(csound, recopen_);
-// csound->SetRtplayCallback(csound, rtplay_);
-// csound->SetRtrecordCallback(csound, rtrecord_);
-// csound->SetRtcloseCallback(csound, rtclose_);
-//
-// return 0;
-//}
-//
-//PUBLIC int csoundModuleDestroy(CSOUND *csound)
-//{
-// return 0;
-//}
-//
-//PUBLIC int csoundModuleInfo(void)
-//{
-// return ((CS_APIVERSION << 16) + (CS_APISUBVER << 8) + (int) sizeof(MYFLT));
-//}
-//
View
10 CsoundAndroid/local.properties
@@ -1,10 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
-# as it contains information specific to your local configuration.
-
-# location of the SDK. This is only used by Ant
-# For customization when using a Version Control System, please read the
-# header note.
-sdk.dir=C:\\Users\\Conor\\Desktop\\Android\\android-sdk
View
20 CsoundAndroid/proguard-project.txt
@@ -1,20 +0,0 @@
-# To enable ProGuard in your project, edit project.properties
-# to define the proguard.config property as described in that file.
-#
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in ${sdk.dir}/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the ProGuard
-# include property in project.properties.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
View
40 CsoundAndroid/proguard.cfg
@@ -1,40 +0,0 @@
--optimizationpasses 5
--dontusemixedcaseclassnames
--dontskipnonpubliclibraryclasses
--dontpreverify
--verbose
--optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-
--keep public class * extends android.app.Activity
--keep public class * extends android.app.Application
--keep public class * extends android.app.Service
--keep public class * extends android.content.BroadcastReceiver
--keep public class * extends android.content.ContentProvider
--keep public class * extends android.app.backup.BackupAgentHelper
--keep public class * extends android.preference.Preference
--keep public class com.android.vending.licensing.ILicensingService
-
--keepclasseswithmembernames class * {
- native <methods>;
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
--keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
-}
-
--keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
-}
View
12 CsoundAndroid/project.properties
@@ -1,12 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-10
-android.library=true
View
BIN  CsoundAndroid/res/drawable-hdpi/ic_launcher.png
Deleted file not rendered
View
BIN  CsoundAndroid/res/drawable-ldpi/ic_launcher.png
Deleted file not rendered
View
BIN  CsoundAndroid/res/drawable-mdpi/ic_launcher.png
Deleted file not rendered
View
483 CsoundAndroid/src/com/csounds/CsoundObj.java
@@ -1,483 +0,0 @@
-/*
-
- CsoundObj.java:
-
- Copyright (C) 2011 Victor Lazzarini, Steven Yi
-
- This file is part of Csound Android Examples.
-
- The Csound Android Examples is free software; you can redistribute it
- and/or modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- Csound is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with Csound; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA
-
- */
-
-package com.csounds;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import android.content.Context;
-import android.media.AudioFormat;
-import android.media.AudioManager;
-import android.media.AudioRecord;
-import android.media.AudioTrack;
-import android.media.MediaRecorder;
-import android.util.Log;
-import android.widget.Button;
-import android.widget.SeekBar;
-
-import com.csounds.valueCacheable.CachedAccelerometer;
-import com.csounds.valueCacheable.CachedButton;
-import com.csounds.valueCacheable.CachedSlider;
-import com.csounds.valueCacheable.CsoundValueCacheable;
-
-import csnd.AndroidCsound;
-import csnd.Csound;
-import csnd.CsoundCallbackWrapper;
-import csnd.CsoundMYFLTArray;
-import csnd.csndConstants;
-
-public class CsoundObj {
-
- private Csound csound;
- private ArrayList<CsoundValueCacheable> valuesCache;
- private ArrayList<CsoundObjCompletionListener> completionListeners;
- private boolean muted = false;
- private boolean stopped = true;
- private Thread thread;
- private boolean audioInEnabled = false;
- private boolean messageLoggingEnabled = false;
- private boolean useAudioTrack = false;
- private boolean lock = false;
- int retVal = 0;
-
- private CsoundCallbackWrapper callbacks;
-
- public CsoundObj() {
- valuesCache = new ArrayList<CsoundValueCacheable>();
- completionListeners = new ArrayList<CsoundObjCompletionListener>();
- }
-
- public CsoundObj(boolean useAudioTrack) {
- valuesCache = new ArrayList<CsoundValueCacheable>();
- completionListeners = new ArrayList<CsoundObjCompletionListener>();
- this.useAudioTrack = useAudioTrack;
- }
-
- /* VALUE CACHEABLE */
-
- // -(id<ValueCacheable>)addSwitch:(UISwitch*)uiSwitch
- // forChannelName:(NSString*)channelName;
-
- public boolean isAudioInEnabled() {
- return audioInEnabled;
- }
-
- public void setAudioInEnabled(boolean audioInEnabled) {
- this.audioInEnabled = audioInEnabled;
- }
-
- public boolean isMessageLoggingEnabled() {
- return messageLoggingEnabled;
- }
-
- public void setMessageLoggingEnabled(boolean messageLoggingEnabled) {
- this.messageLoggingEnabled = messageLoggingEnabled;
- }
-
- public CsoundValueCacheable addSlider(SeekBar seekBar, String channelName,
- double min, double max) {
- CachedSlider cachedSlider = new CachedSlider(seekBar, channelName, min,
- max);
- addValueCacheable(cachedSlider);
-
- return cachedSlider;
- }
-
- public CsoundValueCacheable addButton(Button button, String channelName,int type) {
- CachedButton cachedButton = new CachedButton(button, channelName, type);
- addValueCacheable(cachedButton);
-
- return cachedButton;
- }
-
- public CsoundValueCacheable addButton(Button button, String channelName) {
- CachedButton cachedButton = new CachedButton(button, channelName);
- addValueCacheable(cachedButton);
-
- return cachedButton;
- }
-
-
- // -(id<ValueCacheable>)addButton:(UIButton*)uiButton
- // forChannelName:(NSString*)channelName;
-
- public Csound getCsound() {
- return csound;
- }
-
- public boolean isMuted() {
- return muted;
- }
-
- public void setMuted(boolean muted) {
- this.muted = muted;
- }
-
- public void addValueCacheable(CsoundValueCacheable valueCacheable) {
- if(!stopped) valueCacheable.setup(this);
- while(lock);
- valuesCache.add(valueCacheable);
- }
-
- public void removeValueCacheable(CsoundValueCacheable valueCacheable) {
- while(lock);
- valuesCache.remove(valueCacheable);
- }
-
- public CsoundValueCacheable enableAccelerometer(Context context) {
- CachedAccelerometer accelerometer = new CachedAccelerometer(context);
- addValueCacheable(accelerometer);
- return accelerometer;
- }
-
- // -(id<ValueCacheable>)enableGyroscope;
- // -(id<ValueCacheable>)enableAttitude;
-
- public CsoundMYFLTArray getInputChannelPtr(String channelName) {
- CsoundMYFLTArray ptr = new CsoundMYFLTArray(1);
- getCsound().GetChannelPtr(
- ptr.GetPtr(),
- channelName,
- csndConstants.CSOUND_CONTROL_CHANNEL
- | csndConstants.CSOUND_INPUT_CHANNEL);
- return ptr;
- }
-
- public void sendScore(String score) {
- csound.InputMessage(score);
- }
-
- public void addCompletionListener(CsoundObjCompletionListener listener) {
- completionListeners.add(listener);
- }
-
- public void startCsound(final File csdFile) {
- stopped = false;
- thread = new Thread() {
- public void run() {
- setPriority(Thread.MAX_PRIORITY);
- // android.os.Process
- // .setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);
- if(useAudioTrack == false)
- runCsoundOpenSL(csdFile);
- else
- runCsoundAudioTrack(csdFile);
- }
- };
- thread.start();
- }
-
- public void stopCsound() {
- stopped = true;
- thread = null;
- }
-
- public int getNumChannels() {
- return csound.GetNchnls();
- }
-
- public int getKsmps() {
- return csound.GetKsmps();
- }
-
- public int getError(){
- return retVal;
- }
-
- // -(float*)getInputChannelPtr:(NSString*)channelName;
- // -(float*)getOutputChannelPtr:(NSString*)channelName;
- // -(NSData*)getOutSamples;
-
- /* Render Methods */
-
- private void runCsoundOpenSL(File f) {
-
- AndroidCsound c = new AndroidCsound();
- csound = c;
- retVal = c.PreCompile();
-
-
- Log.d("CsoundAndroid", "Return Value: " + retVal);
-
- retVal = c.Compile(f.getAbsolutePath());
- Log.d("CsoundAndroid", "Return Value2: " + retVal);
-
- if (retVal == 0) {
- for (CsoundValueCacheable cacheable : valuesCache) {
- cacheable.setup(this);
- }
- stopped = false;
- for (CsoundValueCacheable cacheable : valuesCache) {
- cacheable.updateValuesToCsound();
- }
-
- while (c.PerformKsmps() == 0 && !stopped) {