diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6eae6a5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +pom.xml +*jar +lib +classes diff --git a/README b/README index e69de29..8821f33 100644 --- a/README +++ b/README @@ -0,0 +1,13 @@ +# music-as-data + +FIXME: write description + +## Usage + +FIXME: write + +## License + +Copyright (C) 2010 FIXME + +Distributed under the Eclipse Public License, the same as Clojure. diff --git a/musicexample.clj b/musicexample.clj index ac5f0bf..59d820c 100644 --- a/musicexample.clj +++ b/musicexample.clj @@ -225,7 +225,7 @@ (times 8 (p (pattern [E4 G4 B4 E5 B4 G4], 3))) ;; EXAMPLE: fun -(times 1 (p (map #(assoc % :pitch (.nextInt (java.util.Random.) 1100)) (pattern [E4 G4 B4 E5 B4 G4], 5)))) +(times 5 (p (map #(assoc % :pitch (.nextInt (java.util.Random.) 1100)) (pattern [E4 G4 B4 E5 B4 G4], 1)))) ;; Lets do this - Refactored to be cheap ;; TODO: write a macro for this diff --git a/project.clj b/project.clj new file mode 100644 index 0000000..e2d867c --- /dev/null +++ b/project.clj @@ -0,0 +1,9 @@ +(defproject org.clojars.automata/rosado.processing "1.1.0" + :description "A Live Programming Music REPL using processing" + :url "http://mad.emotionull.com" + :dependencies [[org.clojure/clojure "1.2.0"] + [org.clojars.fyuryu/processing.core "1.1.0"]] + :dev-dependencies [[lein-clojars "0.5.0-SNAPSHOT"] + [swank-clojure "1.2.0"]] + :jvm-opts ["-Xms256m" "-Xmx1g" "-XX:+UseConcMarkSweepGC" "-server"]) + diff --git a/project.clj~ b/project.clj~ new file mode 100644 index 0000000..4b9b271 --- /dev/null +++ b/project.clj~ @@ -0,0 +1,4 @@ +(defproject music-as-data "1.0.0-SNAPSHOT" + :description "FIXME: write" + :dependencies [[org.clojure/clojure "1.2.0"] + [org.clojure/clojure-contrib "1.2.0"]]) diff --git a/samples/BD.mp3 b/samples/BD.mp3 new file mode 100644 index 0000000..9d1aa49 Binary files /dev/null and b/samples/BD.mp3 differ diff --git a/samples/BassDrums1/bassdrum1.wav b/samples/BassDrums1/bassdrum1.wav new file mode 100644 index 0000000..b8495aa Binary files /dev/null and b/samples/BassDrums1/bassdrum1.wav differ diff --git a/samples/BassDrums1/bassdrum10.wav b/samples/BassDrums1/bassdrum10.wav new file mode 100644 index 0000000..b70e1aa Binary files /dev/null and b/samples/BassDrums1/bassdrum10.wav differ diff --git a/samples/BassDrums1/bassdrum11.wav b/samples/BassDrums1/bassdrum11.wav new file mode 100644 index 0000000..f7434d2 Binary files /dev/null and b/samples/BassDrums1/bassdrum11.wav differ diff --git a/samples/BassDrums1/bassdrum12.wav b/samples/BassDrums1/bassdrum12.wav new file mode 100644 index 0000000..48d454c Binary files /dev/null and b/samples/BassDrums1/bassdrum12.wav differ diff --git a/samples/BassDrums1/bassdrum13.wav b/samples/BassDrums1/bassdrum13.wav new file mode 100644 index 0000000..d1e47a9 Binary files /dev/null and b/samples/BassDrums1/bassdrum13.wav differ diff --git a/samples/BassDrums1/bassdrum14.wav b/samples/BassDrums1/bassdrum14.wav new file mode 100644 index 0000000..2873f55 Binary files /dev/null and b/samples/BassDrums1/bassdrum14.wav differ diff --git a/samples/BassDrums1/bassdrum15.wav b/samples/BassDrums1/bassdrum15.wav new file mode 100644 index 0000000..d6f5fab Binary files /dev/null and b/samples/BassDrums1/bassdrum15.wav differ diff --git a/samples/BassDrums1/bassdrum16.wav b/samples/BassDrums1/bassdrum16.wav new file mode 100644 index 0000000..d3d711a Binary files /dev/null and b/samples/BassDrums1/bassdrum16.wav differ diff --git a/samples/BassDrums1/bassdrum17.wav b/samples/BassDrums1/bassdrum17.wav new file mode 100644 index 0000000..e2e20c3 Binary files /dev/null and b/samples/BassDrums1/bassdrum17.wav differ diff --git a/samples/BassDrums1/bassdrum18.wav b/samples/BassDrums1/bassdrum18.wav new file mode 100644 index 0000000..9cd258b Binary files /dev/null and b/samples/BassDrums1/bassdrum18.wav differ diff --git a/samples/BassDrums1/bassdrum19.wav b/samples/BassDrums1/bassdrum19.wav new file mode 100644 index 0000000..329f44d Binary files /dev/null and b/samples/BassDrums1/bassdrum19.wav differ diff --git a/samples/BassDrums1/bassdrum2.wav b/samples/BassDrums1/bassdrum2.wav new file mode 100644 index 0000000..94350e0 Binary files /dev/null and b/samples/BassDrums1/bassdrum2.wav differ diff --git a/samples/BassDrums1/bassdrum20.wav b/samples/BassDrums1/bassdrum20.wav new file mode 100644 index 0000000..d116ed7 Binary files /dev/null and b/samples/BassDrums1/bassdrum20.wav differ diff --git a/samples/BassDrums1/bassdrum21.wav b/samples/BassDrums1/bassdrum21.wav new file mode 100644 index 0000000..e52067e Binary files /dev/null and b/samples/BassDrums1/bassdrum21.wav differ diff --git a/samples/BassDrums1/bassdrum22.wav b/samples/BassDrums1/bassdrum22.wav new file mode 100644 index 0000000..71a904e Binary files /dev/null and b/samples/BassDrums1/bassdrum22.wav differ diff --git a/samples/BassDrums1/bassdrum23.wav b/samples/BassDrums1/bassdrum23.wav new file mode 100644 index 0000000..77fe172 Binary files /dev/null and b/samples/BassDrums1/bassdrum23.wav differ diff --git a/samples/BassDrums1/bassdrum24.wav b/samples/BassDrums1/bassdrum24.wav new file mode 100644 index 0000000..312a0a0 Binary files /dev/null and b/samples/BassDrums1/bassdrum24.wav differ diff --git a/samples/BassDrums1/bassdrum25.wav b/samples/BassDrums1/bassdrum25.wav new file mode 100644 index 0000000..9c964be Binary files /dev/null and b/samples/BassDrums1/bassdrum25.wav differ diff --git a/samples/BassDrums1/bassdrum26.wav b/samples/BassDrums1/bassdrum26.wav new file mode 100644 index 0000000..b471a74 Binary files /dev/null and b/samples/BassDrums1/bassdrum26.wav differ diff --git a/samples/BassDrums1/bassdrum27.wav b/samples/BassDrums1/bassdrum27.wav new file mode 100644 index 0000000..e74e9a5 Binary files /dev/null and b/samples/BassDrums1/bassdrum27.wav differ diff --git a/samples/BassDrums1/bassdrum28.wav b/samples/BassDrums1/bassdrum28.wav new file mode 100644 index 0000000..a250301 Binary files /dev/null and b/samples/BassDrums1/bassdrum28.wav differ diff --git a/samples/BassDrums1/bassdrum29.wav b/samples/BassDrums1/bassdrum29.wav new file mode 100644 index 0000000..34df483 Binary files /dev/null and b/samples/BassDrums1/bassdrum29.wav differ diff --git a/samples/BassDrums1/bassdrum3.wav b/samples/BassDrums1/bassdrum3.wav new file mode 100644 index 0000000..5266400 Binary files /dev/null and b/samples/BassDrums1/bassdrum3.wav differ diff --git a/samples/BassDrums1/bassdrum30.wav b/samples/BassDrums1/bassdrum30.wav new file mode 100644 index 0000000..8b0fa1d Binary files /dev/null and b/samples/BassDrums1/bassdrum30.wav differ diff --git a/samples/BassDrums1/bassdrum31.wav b/samples/BassDrums1/bassdrum31.wav new file mode 100644 index 0000000..fee0c30 Binary files /dev/null and b/samples/BassDrums1/bassdrum31.wav differ diff --git a/samples/BassDrums1/bassdrum32.wav b/samples/BassDrums1/bassdrum32.wav new file mode 100644 index 0000000..2b664a9 Binary files /dev/null and b/samples/BassDrums1/bassdrum32.wav differ diff --git a/samples/BassDrums1/bassdrum33.wav b/samples/BassDrums1/bassdrum33.wav new file mode 100644 index 0000000..557617c Binary files /dev/null and b/samples/BassDrums1/bassdrum33.wav differ diff --git a/samples/BassDrums1/bassdrum34.wav b/samples/BassDrums1/bassdrum34.wav new file mode 100644 index 0000000..decf5e5 Binary files /dev/null and b/samples/BassDrums1/bassdrum34.wav differ diff --git a/samples/BassDrums1/bassdrum35.wav b/samples/BassDrums1/bassdrum35.wav new file mode 100644 index 0000000..88da592 Binary files /dev/null and b/samples/BassDrums1/bassdrum35.wav differ diff --git a/samples/BassDrums1/bassdrum36.wav b/samples/BassDrums1/bassdrum36.wav new file mode 100644 index 0000000..18f27c1 Binary files /dev/null and b/samples/BassDrums1/bassdrum36.wav differ diff --git a/samples/BassDrums1/bassdrum37.wav b/samples/BassDrums1/bassdrum37.wav new file mode 100644 index 0000000..6357c4b Binary files /dev/null and b/samples/BassDrums1/bassdrum37.wav differ diff --git a/samples/BassDrums1/bassdrum38.wav b/samples/BassDrums1/bassdrum38.wav new file mode 100644 index 0000000..430079f Binary files /dev/null and b/samples/BassDrums1/bassdrum38.wav differ diff --git a/samples/BassDrums1/bassdrum39.wav b/samples/BassDrums1/bassdrum39.wav new file mode 100644 index 0000000..09649dd Binary files /dev/null and b/samples/BassDrums1/bassdrum39.wav differ diff --git a/samples/BassDrums1/bassdrum4.wav b/samples/BassDrums1/bassdrum4.wav new file mode 100644 index 0000000..1217c16 Binary files /dev/null and b/samples/BassDrums1/bassdrum4.wav differ diff --git a/samples/BassDrums1/bassdrum40.wav b/samples/BassDrums1/bassdrum40.wav new file mode 100644 index 0000000..c2ca8b0 Binary files /dev/null and b/samples/BassDrums1/bassdrum40.wav differ diff --git a/samples/BassDrums1/bassdrum41.wav b/samples/BassDrums1/bassdrum41.wav new file mode 100644 index 0000000..51d81d8 Binary files /dev/null and b/samples/BassDrums1/bassdrum41.wav differ diff --git a/samples/BassDrums1/bassdrum42.wav b/samples/BassDrums1/bassdrum42.wav new file mode 100644 index 0000000..1136b2c Binary files /dev/null and b/samples/BassDrums1/bassdrum42.wav differ diff --git a/samples/BassDrums1/bassdrum43.wav b/samples/BassDrums1/bassdrum43.wav new file mode 100644 index 0000000..389cd95 Binary files /dev/null and b/samples/BassDrums1/bassdrum43.wav differ diff --git a/samples/BassDrums1/bassdrum44.wav b/samples/BassDrums1/bassdrum44.wav new file mode 100644 index 0000000..b17704c Binary files /dev/null and b/samples/BassDrums1/bassdrum44.wav differ diff --git a/samples/BassDrums1/bassdrum45.wav b/samples/BassDrums1/bassdrum45.wav new file mode 100644 index 0000000..59fea6a Binary files /dev/null and b/samples/BassDrums1/bassdrum45.wav differ diff --git a/samples/BassDrums1/bassdrum46.wav b/samples/BassDrums1/bassdrum46.wav new file mode 100644 index 0000000..9227992 Binary files /dev/null and b/samples/BassDrums1/bassdrum46.wav differ diff --git a/samples/BassDrums1/bassdrum47.wav b/samples/BassDrums1/bassdrum47.wav new file mode 100644 index 0000000..ae6f71a Binary files /dev/null and b/samples/BassDrums1/bassdrum47.wav differ diff --git a/samples/BassDrums1/bassdrum48.wav b/samples/BassDrums1/bassdrum48.wav new file mode 100644 index 0000000..f44be95 Binary files /dev/null and b/samples/BassDrums1/bassdrum48.wav differ diff --git a/samples/BassDrums1/bassdrum49.wav b/samples/BassDrums1/bassdrum49.wav new file mode 100644 index 0000000..7516058 Binary files /dev/null and b/samples/BassDrums1/bassdrum49.wav differ diff --git a/samples/BassDrums1/bassdrum5.wav b/samples/BassDrums1/bassdrum5.wav new file mode 100644 index 0000000..6253324 Binary files /dev/null and b/samples/BassDrums1/bassdrum5.wav differ diff --git a/samples/BassDrums1/bassdrum50.wav b/samples/BassDrums1/bassdrum50.wav new file mode 100644 index 0000000..ed9cd33 Binary files /dev/null and b/samples/BassDrums1/bassdrum50.wav differ diff --git a/samples/BassDrums1/bassdrum6.wav b/samples/BassDrums1/bassdrum6.wav new file mode 100644 index 0000000..887420d Binary files /dev/null and b/samples/BassDrums1/bassdrum6.wav differ diff --git a/samples/BassDrums1/bassdrum7.wav b/samples/BassDrums1/bassdrum7.wav new file mode 100644 index 0000000..fc3f4cf Binary files /dev/null and b/samples/BassDrums1/bassdrum7.wav differ diff --git a/samples/BassDrums1/bassdrum8.wav b/samples/BassDrums1/bassdrum8.wav new file mode 100644 index 0000000..2cc3cbd Binary files /dev/null and b/samples/BassDrums1/bassdrum8.wav differ diff --git a/samples/BassDrums1/bassdrum9.wav b/samples/BassDrums1/bassdrum9.wav new file mode 100644 index 0000000..34a47c8 Binary files /dev/null and b/samples/BassDrums1/bassdrum9.wav differ diff --git a/samples/BassDrums2/bassdrum100.wav b/samples/BassDrums2/bassdrum100.wav new file mode 100644 index 0000000..b3a2792 Binary files /dev/null and b/samples/BassDrums2/bassdrum100.wav differ diff --git a/samples/BassDrums2/bassdrum51.wav b/samples/BassDrums2/bassdrum51.wav new file mode 100644 index 0000000..924cb3f Binary files /dev/null and b/samples/BassDrums2/bassdrum51.wav differ diff --git a/samples/BassDrums2/bassdrum52.wav b/samples/BassDrums2/bassdrum52.wav new file mode 100644 index 0000000..908de4c Binary files /dev/null and b/samples/BassDrums2/bassdrum52.wav differ diff --git a/samples/BassDrums2/bassdrum53.wav b/samples/BassDrums2/bassdrum53.wav new file mode 100644 index 0000000..de54d6e Binary files /dev/null and b/samples/BassDrums2/bassdrum53.wav differ diff --git a/samples/BassDrums2/bassdrum54.wav b/samples/BassDrums2/bassdrum54.wav new file mode 100644 index 0000000..33c8dec Binary files /dev/null and b/samples/BassDrums2/bassdrum54.wav differ diff --git a/samples/BassDrums2/bassdrum55.wav b/samples/BassDrums2/bassdrum55.wav new file mode 100644 index 0000000..3782658 Binary files /dev/null and b/samples/BassDrums2/bassdrum55.wav differ diff --git a/samples/BassDrums2/bassdrum56.wav b/samples/BassDrums2/bassdrum56.wav new file mode 100644 index 0000000..180cdf8 Binary files /dev/null and b/samples/BassDrums2/bassdrum56.wav differ diff --git a/samples/BassDrums2/bassdrum57.wav b/samples/BassDrums2/bassdrum57.wav new file mode 100644 index 0000000..dd47f3c Binary files /dev/null and b/samples/BassDrums2/bassdrum57.wav differ diff --git a/samples/BassDrums2/bassdrum58.wav b/samples/BassDrums2/bassdrum58.wav new file mode 100644 index 0000000..9a36897 Binary files /dev/null and b/samples/BassDrums2/bassdrum58.wav differ diff --git a/samples/BassDrums2/bassdrum59.wav b/samples/BassDrums2/bassdrum59.wav new file mode 100644 index 0000000..5260a7b Binary files /dev/null and b/samples/BassDrums2/bassdrum59.wav differ diff --git a/samples/BassDrums2/bassdrum60.wav b/samples/BassDrums2/bassdrum60.wav new file mode 100644 index 0000000..bbc83c1 Binary files /dev/null and b/samples/BassDrums2/bassdrum60.wav differ diff --git a/samples/BassDrums2/bassdrum61.wav b/samples/BassDrums2/bassdrum61.wav new file mode 100644 index 0000000..4a738b3 Binary files /dev/null and b/samples/BassDrums2/bassdrum61.wav differ diff --git a/samples/BassDrums2/bassdrum62.wav b/samples/BassDrums2/bassdrum62.wav new file mode 100644 index 0000000..693b0cb Binary files /dev/null and b/samples/BassDrums2/bassdrum62.wav differ diff --git a/samples/BassDrums2/bassdrum63.wav b/samples/BassDrums2/bassdrum63.wav new file mode 100644 index 0000000..bb68e98 Binary files /dev/null and b/samples/BassDrums2/bassdrum63.wav differ diff --git a/samples/BassDrums2/bassdrum64.wav b/samples/BassDrums2/bassdrum64.wav new file mode 100644 index 0000000..f0977ae Binary files /dev/null and b/samples/BassDrums2/bassdrum64.wav differ diff --git a/samples/BassDrums2/bassdrum65.wav b/samples/BassDrums2/bassdrum65.wav new file mode 100644 index 0000000..ad5e051 Binary files /dev/null and b/samples/BassDrums2/bassdrum65.wav differ diff --git a/samples/BassDrums2/bassdrum66.wav b/samples/BassDrums2/bassdrum66.wav new file mode 100644 index 0000000..81f73fa Binary files /dev/null and b/samples/BassDrums2/bassdrum66.wav differ diff --git a/samples/BassDrums2/bassdrum67.wav b/samples/BassDrums2/bassdrum67.wav new file mode 100644 index 0000000..a9401f4 Binary files /dev/null and b/samples/BassDrums2/bassdrum67.wav differ diff --git a/samples/BassDrums2/bassdrum68.wav b/samples/BassDrums2/bassdrum68.wav new file mode 100644 index 0000000..af543dd Binary files /dev/null and b/samples/BassDrums2/bassdrum68.wav differ diff --git a/samples/BassDrums2/bassdrum69.wav b/samples/BassDrums2/bassdrum69.wav new file mode 100644 index 0000000..2afc19c Binary files /dev/null and b/samples/BassDrums2/bassdrum69.wav differ diff --git a/samples/BassDrums2/bassdrum70.wav b/samples/BassDrums2/bassdrum70.wav new file mode 100644 index 0000000..3c9f5b8 Binary files /dev/null and b/samples/BassDrums2/bassdrum70.wav differ diff --git a/samples/BassDrums2/bassdrum71.wav b/samples/BassDrums2/bassdrum71.wav new file mode 100644 index 0000000..ac5c0cd Binary files /dev/null and b/samples/BassDrums2/bassdrum71.wav differ diff --git a/samples/BassDrums2/bassdrum72.wav b/samples/BassDrums2/bassdrum72.wav new file mode 100644 index 0000000..22309a3 Binary files /dev/null and b/samples/BassDrums2/bassdrum72.wav differ diff --git a/samples/BassDrums2/bassdrum73.wav b/samples/BassDrums2/bassdrum73.wav new file mode 100644 index 0000000..04c9078 Binary files /dev/null and b/samples/BassDrums2/bassdrum73.wav differ diff --git a/samples/BassDrums2/bassdrum74.wav b/samples/BassDrums2/bassdrum74.wav new file mode 100644 index 0000000..64adade Binary files /dev/null and b/samples/BassDrums2/bassdrum74.wav differ diff --git a/samples/BassDrums2/bassdrum75.wav b/samples/BassDrums2/bassdrum75.wav new file mode 100644 index 0000000..797109f Binary files /dev/null and b/samples/BassDrums2/bassdrum75.wav differ diff --git a/samples/BassDrums2/bassdrum76.wav b/samples/BassDrums2/bassdrum76.wav new file mode 100644 index 0000000..5d4b7a0 Binary files /dev/null and b/samples/BassDrums2/bassdrum76.wav differ diff --git a/samples/BassDrums2/bassdrum77.wav b/samples/BassDrums2/bassdrum77.wav new file mode 100644 index 0000000..b726803 Binary files /dev/null and b/samples/BassDrums2/bassdrum77.wav differ diff --git a/samples/BassDrums2/bassdrum78.wav b/samples/BassDrums2/bassdrum78.wav new file mode 100644 index 0000000..a65ca9f Binary files /dev/null and b/samples/BassDrums2/bassdrum78.wav differ diff --git a/samples/BassDrums2/bassdrum79.wav b/samples/BassDrums2/bassdrum79.wav new file mode 100644 index 0000000..df8618b Binary files /dev/null and b/samples/BassDrums2/bassdrum79.wav differ diff --git a/samples/BassDrums2/bassdrum80.wav b/samples/BassDrums2/bassdrum80.wav new file mode 100644 index 0000000..03dcb76 Binary files /dev/null and b/samples/BassDrums2/bassdrum80.wav differ diff --git a/samples/BassDrums2/bassdrum81.wav b/samples/BassDrums2/bassdrum81.wav new file mode 100644 index 0000000..bea0ad8 Binary files /dev/null and b/samples/BassDrums2/bassdrum81.wav differ diff --git a/samples/BassDrums2/bassdrum82.wav b/samples/BassDrums2/bassdrum82.wav new file mode 100644 index 0000000..1b47edf Binary files /dev/null and b/samples/BassDrums2/bassdrum82.wav differ diff --git a/samples/BassDrums2/bassdrum83.wav b/samples/BassDrums2/bassdrum83.wav new file mode 100644 index 0000000..d38c99b Binary files /dev/null and b/samples/BassDrums2/bassdrum83.wav differ diff --git a/samples/BassDrums2/bassdrum84.wav b/samples/BassDrums2/bassdrum84.wav new file mode 100644 index 0000000..47afe52 Binary files /dev/null and b/samples/BassDrums2/bassdrum84.wav differ diff --git a/samples/BassDrums2/bassdrum85.wav b/samples/BassDrums2/bassdrum85.wav new file mode 100644 index 0000000..cea00f2 Binary files /dev/null and b/samples/BassDrums2/bassdrum85.wav differ diff --git a/samples/BassDrums2/bassdrum86.wav b/samples/BassDrums2/bassdrum86.wav new file mode 100644 index 0000000..76666c2 Binary files /dev/null and b/samples/BassDrums2/bassdrum86.wav differ diff --git a/samples/BassDrums2/bassdrum87.wav b/samples/BassDrums2/bassdrum87.wav new file mode 100644 index 0000000..2e07a36 Binary files /dev/null and b/samples/BassDrums2/bassdrum87.wav differ diff --git a/samples/BassDrums2/bassdrum88.wav b/samples/BassDrums2/bassdrum88.wav new file mode 100644 index 0000000..64e5fe5 Binary files /dev/null and b/samples/BassDrums2/bassdrum88.wav differ diff --git a/samples/BassDrums2/bassdrum89.wav b/samples/BassDrums2/bassdrum89.wav new file mode 100644 index 0000000..27c6e53 Binary files /dev/null and b/samples/BassDrums2/bassdrum89.wav differ diff --git a/samples/BassDrums2/bassdrum90.wav b/samples/BassDrums2/bassdrum90.wav new file mode 100644 index 0000000..6d6488d Binary files /dev/null and b/samples/BassDrums2/bassdrum90.wav differ diff --git a/samples/BassDrums2/bassdrum91.wav b/samples/BassDrums2/bassdrum91.wav new file mode 100644 index 0000000..57bc574 Binary files /dev/null and b/samples/BassDrums2/bassdrum91.wav differ diff --git a/samples/BassDrums2/bassdrum92.wav b/samples/BassDrums2/bassdrum92.wav new file mode 100644 index 0000000..e6161df Binary files /dev/null and b/samples/BassDrums2/bassdrum92.wav differ diff --git a/samples/BassDrums2/bassdrum93.wav b/samples/BassDrums2/bassdrum93.wav new file mode 100644 index 0000000..74b57e0 Binary files /dev/null and b/samples/BassDrums2/bassdrum93.wav differ diff --git a/samples/BassDrums2/bassdrum94.wav b/samples/BassDrums2/bassdrum94.wav new file mode 100644 index 0000000..57e218b Binary files /dev/null and b/samples/BassDrums2/bassdrum94.wav differ diff --git a/samples/BassDrums2/bassdrum95.wav b/samples/BassDrums2/bassdrum95.wav new file mode 100644 index 0000000..d2f74d7 Binary files /dev/null and b/samples/BassDrums2/bassdrum95.wav differ diff --git a/samples/BassDrums2/bassdrum96.wav b/samples/BassDrums2/bassdrum96.wav new file mode 100644 index 0000000..222d413 Binary files /dev/null and b/samples/BassDrums2/bassdrum96.wav differ diff --git a/samples/BassDrums2/bassdrum97.wav b/samples/BassDrums2/bassdrum97.wav new file mode 100644 index 0000000..2a3f696 Binary files /dev/null and b/samples/BassDrums2/bassdrum97.wav differ diff --git a/samples/BassDrums2/bassdrum98.wav b/samples/BassDrums2/bassdrum98.wav new file mode 100644 index 0000000..870d21a Binary files /dev/null and b/samples/BassDrums2/bassdrum98.wav differ diff --git a/samples/BassDrums2/bassdrum99.wav b/samples/BassDrums2/bassdrum99.wav new file mode 100644 index 0000000..f903088 Binary files /dev/null and b/samples/BassDrums2/bassdrum99.wav differ diff --git a/samples/BassDrums3/bassdrum101.wav b/samples/BassDrums3/bassdrum101.wav new file mode 100644 index 0000000..1b8c655 Binary files /dev/null and b/samples/BassDrums3/bassdrum101.wav differ diff --git a/samples/BassDrums3/bassdrum102.wav b/samples/BassDrums3/bassdrum102.wav new file mode 100644 index 0000000..5d4ab2d Binary files /dev/null and b/samples/BassDrums3/bassdrum102.wav differ diff --git a/samples/BassDrums3/bassdrum103.wav b/samples/BassDrums3/bassdrum103.wav new file mode 100644 index 0000000..d283a93 Binary files /dev/null and b/samples/BassDrums3/bassdrum103.wav differ diff --git a/samples/BassDrums3/bassdrum104.wav b/samples/BassDrums3/bassdrum104.wav new file mode 100644 index 0000000..e277d72 Binary files /dev/null and b/samples/BassDrums3/bassdrum104.wav differ diff --git a/samples/BassDrums3/bassdrum105.wav b/samples/BassDrums3/bassdrum105.wav new file mode 100644 index 0000000..266ba93 Binary files /dev/null and b/samples/BassDrums3/bassdrum105.wav differ diff --git a/samples/BassDrums3/bassdrum106.wav b/samples/BassDrums3/bassdrum106.wav new file mode 100644 index 0000000..b8b9b2f Binary files /dev/null and b/samples/BassDrums3/bassdrum106.wav differ diff --git a/samples/BassDrums3/bassdrum107.wav b/samples/BassDrums3/bassdrum107.wav new file mode 100644 index 0000000..4da80ca Binary files /dev/null and b/samples/BassDrums3/bassdrum107.wav differ diff --git a/samples/BassDrums3/bassdrum108.wav b/samples/BassDrums3/bassdrum108.wav new file mode 100644 index 0000000..215e535 Binary files /dev/null and b/samples/BassDrums3/bassdrum108.wav differ diff --git a/samples/BassDrums3/bassdrum109.wav b/samples/BassDrums3/bassdrum109.wav new file mode 100644 index 0000000..8f33615 Binary files /dev/null and b/samples/BassDrums3/bassdrum109.wav differ diff --git a/samples/BassDrums3/bassdrum110.wav b/samples/BassDrums3/bassdrum110.wav new file mode 100644 index 0000000..7b09642 Binary files /dev/null and b/samples/BassDrums3/bassdrum110.wav differ diff --git a/samples/BassDrums3/bassdrum111.wav b/samples/BassDrums3/bassdrum111.wav new file mode 100644 index 0000000..54bd58a Binary files /dev/null and b/samples/BassDrums3/bassdrum111.wav differ diff --git a/samples/BassDrums3/bassdrum112.wav b/samples/BassDrums3/bassdrum112.wav new file mode 100644 index 0000000..f472720 Binary files /dev/null and b/samples/BassDrums3/bassdrum112.wav differ diff --git a/samples/BassDrums3/bassdrum113.wav b/samples/BassDrums3/bassdrum113.wav new file mode 100644 index 0000000..92d0e63 Binary files /dev/null and b/samples/BassDrums3/bassdrum113.wav differ diff --git a/samples/BassDrums3/bassdrum114.wav b/samples/BassDrums3/bassdrum114.wav new file mode 100644 index 0000000..aefda37 Binary files /dev/null and b/samples/BassDrums3/bassdrum114.wav differ diff --git a/samples/BassDrums3/bassdrum115.wav b/samples/BassDrums3/bassdrum115.wav new file mode 100644 index 0000000..bab6bed Binary files /dev/null and b/samples/BassDrums3/bassdrum115.wav differ diff --git a/samples/BassDrums3/bassdrum116.wav b/samples/BassDrums3/bassdrum116.wav new file mode 100644 index 0000000..48a9861 Binary files /dev/null and b/samples/BassDrums3/bassdrum116.wav differ diff --git a/samples/BassDrums3/bassdrum117.wav b/samples/BassDrums3/bassdrum117.wav new file mode 100644 index 0000000..ef95120 Binary files /dev/null and b/samples/BassDrums3/bassdrum117.wav differ diff --git a/samples/BassDrums3/bassdrum118.wav b/samples/BassDrums3/bassdrum118.wav new file mode 100644 index 0000000..dac5b88 Binary files /dev/null and b/samples/BassDrums3/bassdrum118.wav differ diff --git a/samples/BassDrums3/bassdrum119.wav b/samples/BassDrums3/bassdrum119.wav new file mode 100644 index 0000000..6bdb548 Binary files /dev/null and b/samples/BassDrums3/bassdrum119.wav differ diff --git a/samples/BassDrums3/bassdrum120.wav b/samples/BassDrums3/bassdrum120.wav new file mode 100644 index 0000000..47ccbf4 Binary files /dev/null and b/samples/BassDrums3/bassdrum120.wav differ diff --git a/samples/BassDrums3/bassdrum121.wav b/samples/BassDrums3/bassdrum121.wav new file mode 100644 index 0000000..b73dcca Binary files /dev/null and b/samples/BassDrums3/bassdrum121.wav differ diff --git a/samples/BassDrums3/bassdrum122.wav b/samples/BassDrums3/bassdrum122.wav new file mode 100644 index 0000000..b9109c3 Binary files /dev/null and b/samples/BassDrums3/bassdrum122.wav differ diff --git a/samples/BassDrums3/bassdrum123.wav b/samples/BassDrums3/bassdrum123.wav new file mode 100644 index 0000000..9b64078 Binary files /dev/null and b/samples/BassDrums3/bassdrum123.wav differ diff --git a/samples/BassDrums3/bassdrum124.wav b/samples/BassDrums3/bassdrum124.wav new file mode 100644 index 0000000..ccc2238 Binary files /dev/null and b/samples/BassDrums3/bassdrum124.wav differ diff --git a/samples/BassDrums3/bassdrum125.wav b/samples/BassDrums3/bassdrum125.wav new file mode 100644 index 0000000..e3cba1f Binary files /dev/null and b/samples/BassDrums3/bassdrum125.wav differ diff --git a/samples/BassDrums3/bassdrum126.wav b/samples/BassDrums3/bassdrum126.wav new file mode 100644 index 0000000..f6400fe Binary files /dev/null and b/samples/BassDrums3/bassdrum126.wav differ diff --git a/samples/BassDrums3/bassdrum127.wav b/samples/BassDrums3/bassdrum127.wav new file mode 100644 index 0000000..dba4681 Binary files /dev/null and b/samples/BassDrums3/bassdrum127.wav differ diff --git a/samples/BassDrums3/bassdrum128.wav b/samples/BassDrums3/bassdrum128.wav new file mode 100644 index 0000000..ab0a802 Binary files /dev/null and b/samples/BassDrums3/bassdrum128.wav differ diff --git a/samples/BassDrums3/bassdrum129.wav b/samples/BassDrums3/bassdrum129.wav new file mode 100644 index 0000000..7ddf45c Binary files /dev/null and b/samples/BassDrums3/bassdrum129.wav differ diff --git a/samples/BassDrums3/bassdrum130.wav b/samples/BassDrums3/bassdrum130.wav new file mode 100644 index 0000000..c4c0796 Binary files /dev/null and b/samples/BassDrums3/bassdrum130.wav differ diff --git a/samples/BassDrums3/bassdrum131.wav b/samples/BassDrums3/bassdrum131.wav new file mode 100644 index 0000000..89e3c42 Binary files /dev/null and b/samples/BassDrums3/bassdrum131.wav differ diff --git a/samples/BassDrums3/bassdrum132.wav b/samples/BassDrums3/bassdrum132.wav new file mode 100644 index 0000000..35d26f0 Binary files /dev/null and b/samples/BassDrums3/bassdrum132.wav differ diff --git a/samples/BassDrums3/bassdrum133.wav b/samples/BassDrums3/bassdrum133.wav new file mode 100644 index 0000000..e6f1844 Binary files /dev/null and b/samples/BassDrums3/bassdrum133.wav differ diff --git a/samples/BassDrums3/bassdrum134.wav b/samples/BassDrums3/bassdrum134.wav new file mode 100644 index 0000000..014cb74 Binary files /dev/null and b/samples/BassDrums3/bassdrum134.wav differ diff --git a/samples/BassDrums3/bassdrum135.wav b/samples/BassDrums3/bassdrum135.wav new file mode 100644 index 0000000..6b31be5 Binary files /dev/null and b/samples/BassDrums3/bassdrum135.wav differ diff --git a/samples/BassDrums3/bassdrum136.wav b/samples/BassDrums3/bassdrum136.wav new file mode 100644 index 0000000..a4266c4 Binary files /dev/null and b/samples/BassDrums3/bassdrum136.wav differ diff --git a/samples/BassDrums3/bassdrum137.wav b/samples/BassDrums3/bassdrum137.wav new file mode 100644 index 0000000..c446a80 Binary files /dev/null and b/samples/BassDrums3/bassdrum137.wav differ diff --git a/samples/BassDrums3/bassdrum138.wav b/samples/BassDrums3/bassdrum138.wav new file mode 100644 index 0000000..e7711f5 Binary files /dev/null and b/samples/BassDrums3/bassdrum138.wav differ diff --git a/samples/BassDrums3/bassdrum139.wav b/samples/BassDrums3/bassdrum139.wav new file mode 100644 index 0000000..eb35026 Binary files /dev/null and b/samples/BassDrums3/bassdrum139.wav differ diff --git a/samples/BassDrums3/bassdrum140.wav b/samples/BassDrums3/bassdrum140.wav new file mode 100644 index 0000000..678b05d Binary files /dev/null and b/samples/BassDrums3/bassdrum140.wav differ diff --git a/samples/BassDrums3/bassdrum141.wav b/samples/BassDrums3/bassdrum141.wav new file mode 100644 index 0000000..6e496c4 Binary files /dev/null and b/samples/BassDrums3/bassdrum141.wav differ diff --git a/samples/BassDrums3/bassdrum142.wav b/samples/BassDrums3/bassdrum142.wav new file mode 100644 index 0000000..452231e Binary files /dev/null and b/samples/BassDrums3/bassdrum142.wav differ diff --git a/samples/BassDrums3/bassdrum143.wav b/samples/BassDrums3/bassdrum143.wav new file mode 100644 index 0000000..9b87f63 Binary files /dev/null and b/samples/BassDrums3/bassdrum143.wav differ diff --git a/samples/BassDrums3/bassdrum144.wav b/samples/BassDrums3/bassdrum144.wav new file mode 100644 index 0000000..3b97f16 Binary files /dev/null and b/samples/BassDrums3/bassdrum144.wav differ diff --git a/samples/BassDrums3/bassdrum145.wav b/samples/BassDrums3/bassdrum145.wav new file mode 100644 index 0000000..f8af6db Binary files /dev/null and b/samples/BassDrums3/bassdrum145.wav differ diff --git a/samples/BassDrums3/bassdrum146.wav b/samples/BassDrums3/bassdrum146.wav new file mode 100644 index 0000000..b644b5a Binary files /dev/null and b/samples/BassDrums3/bassdrum146.wav differ diff --git a/samples/BassDrums3/bassdrum147.wav b/samples/BassDrums3/bassdrum147.wav new file mode 100644 index 0000000..e3775f2 Binary files /dev/null and b/samples/BassDrums3/bassdrum147.wav differ diff --git a/samples/BassDrums3/bassdrum148.wav b/samples/BassDrums3/bassdrum148.wav new file mode 100644 index 0000000..9127057 Binary files /dev/null and b/samples/BassDrums3/bassdrum148.wav differ diff --git a/samples/BassDrums3/bassdrum149.wav b/samples/BassDrums3/bassdrum149.wav new file mode 100644 index 0000000..506e411 Binary files /dev/null and b/samples/BassDrums3/bassdrum149.wav differ diff --git a/samples/BassDrums3/bassdrum150.wav b/samples/BassDrums3/bassdrum150.wav new file mode 100644 index 0000000..3c3bba4 Binary files /dev/null and b/samples/BassDrums3/bassdrum150.wav differ diff --git a/samples/BassDrums4/bassdrum151.wav b/samples/BassDrums4/bassdrum151.wav new file mode 100644 index 0000000..fa264b7 Binary files /dev/null and b/samples/BassDrums4/bassdrum151.wav differ diff --git a/samples/BassDrums4/bassdrum152.wav b/samples/BassDrums4/bassdrum152.wav new file mode 100644 index 0000000..7eeadf0 Binary files /dev/null and b/samples/BassDrums4/bassdrum152.wav differ diff --git a/samples/BassDrums4/bassdrum153.wav b/samples/BassDrums4/bassdrum153.wav new file mode 100644 index 0000000..4087350 Binary files /dev/null and b/samples/BassDrums4/bassdrum153.wav differ diff --git a/samples/BassDrums4/bassdrum154.wav b/samples/BassDrums4/bassdrum154.wav new file mode 100644 index 0000000..21f0d3d Binary files /dev/null and b/samples/BassDrums4/bassdrum154.wav differ diff --git a/samples/BassDrums4/bassdrum155.wav b/samples/BassDrums4/bassdrum155.wav new file mode 100644 index 0000000..dc91225 Binary files /dev/null and b/samples/BassDrums4/bassdrum155.wav differ diff --git a/samples/BassDrums4/bassdrum156.wav b/samples/BassDrums4/bassdrum156.wav new file mode 100644 index 0000000..f40cb65 Binary files /dev/null and b/samples/BassDrums4/bassdrum156.wav differ diff --git a/samples/BassDrums4/bassdrum157.wav b/samples/BassDrums4/bassdrum157.wav new file mode 100644 index 0000000..2f7ec91 Binary files /dev/null and b/samples/BassDrums4/bassdrum157.wav differ diff --git a/samples/BassDrums4/bassdrum158.wav b/samples/BassDrums4/bassdrum158.wav new file mode 100644 index 0000000..bdf92cf Binary files /dev/null and b/samples/BassDrums4/bassdrum158.wav differ diff --git a/samples/BassDrums4/bassdrum159.wav b/samples/BassDrums4/bassdrum159.wav new file mode 100644 index 0000000..b7b2960 Binary files /dev/null and b/samples/BassDrums4/bassdrum159.wav differ diff --git a/samples/BassDrums4/bassdrum160.wav b/samples/BassDrums4/bassdrum160.wav new file mode 100644 index 0000000..91a17a4 Binary files /dev/null and b/samples/BassDrums4/bassdrum160.wav differ diff --git a/samples/BassDrums4/bassdrum161.wav b/samples/BassDrums4/bassdrum161.wav new file mode 100644 index 0000000..24055c4 Binary files /dev/null and b/samples/BassDrums4/bassdrum161.wav differ diff --git a/samples/BassDrums4/bassdrum162.wav b/samples/BassDrums4/bassdrum162.wav new file mode 100644 index 0000000..3bfadcb Binary files /dev/null and b/samples/BassDrums4/bassdrum162.wav differ diff --git a/samples/BassDrums4/bassdrum163.wav b/samples/BassDrums4/bassdrum163.wav new file mode 100644 index 0000000..8c39e94 Binary files /dev/null and b/samples/BassDrums4/bassdrum163.wav differ diff --git a/samples/BassDrums4/bassdrum164.wav b/samples/BassDrums4/bassdrum164.wav new file mode 100644 index 0000000..ff59d64 Binary files /dev/null and b/samples/BassDrums4/bassdrum164.wav differ diff --git a/samples/BassDrums4/bassdrum165.wav b/samples/BassDrums4/bassdrum165.wav new file mode 100644 index 0000000..695e031 Binary files /dev/null and b/samples/BassDrums4/bassdrum165.wav differ diff --git a/samples/BassDrums4/bassdrum166.wav b/samples/BassDrums4/bassdrum166.wav new file mode 100644 index 0000000..949e5d7 Binary files /dev/null and b/samples/BassDrums4/bassdrum166.wav differ diff --git a/samples/BassDrums4/bassdrum167.wav b/samples/BassDrums4/bassdrum167.wav new file mode 100644 index 0000000..75d8199 Binary files /dev/null and b/samples/BassDrums4/bassdrum167.wav differ diff --git a/samples/BassDrums4/bassdrum168.wav b/samples/BassDrums4/bassdrum168.wav new file mode 100644 index 0000000..f781ae5 Binary files /dev/null and b/samples/BassDrums4/bassdrum168.wav differ diff --git a/samples/BassDrums4/bassdrum169.wav b/samples/BassDrums4/bassdrum169.wav new file mode 100644 index 0000000..2d0832f Binary files /dev/null and b/samples/BassDrums4/bassdrum169.wav differ diff --git a/samples/BassDrums4/bassdrum170.wav b/samples/BassDrums4/bassdrum170.wav new file mode 100644 index 0000000..9b51e14 Binary files /dev/null and b/samples/BassDrums4/bassdrum170.wav differ diff --git a/samples/BassDrums4/bassdrum171.wav b/samples/BassDrums4/bassdrum171.wav new file mode 100644 index 0000000..1aaa0a2 Binary files /dev/null and b/samples/BassDrums4/bassdrum171.wav differ diff --git a/samples/BassDrums4/bassdrum172.wav b/samples/BassDrums4/bassdrum172.wav new file mode 100644 index 0000000..03683bf Binary files /dev/null and b/samples/BassDrums4/bassdrum172.wav differ diff --git a/samples/BassDrums4/bassdrum173.wav b/samples/BassDrums4/bassdrum173.wav new file mode 100644 index 0000000..99ba860 Binary files /dev/null and b/samples/BassDrums4/bassdrum173.wav differ diff --git a/samples/BassDrums4/bassdrum174.wav b/samples/BassDrums4/bassdrum174.wav new file mode 100644 index 0000000..7658c6b Binary files /dev/null and b/samples/BassDrums4/bassdrum174.wav differ diff --git a/samples/BassDrums4/bassdrum175.wav b/samples/BassDrums4/bassdrum175.wav new file mode 100644 index 0000000..7853ab2 Binary files /dev/null and b/samples/BassDrums4/bassdrum175.wav differ diff --git a/samples/BassDrums4/bassdrum176.wav b/samples/BassDrums4/bassdrum176.wav new file mode 100644 index 0000000..f5b0977 Binary files /dev/null and b/samples/BassDrums4/bassdrum176.wav differ diff --git a/samples/BassDrums4/bassdrum177.wav b/samples/BassDrums4/bassdrum177.wav new file mode 100644 index 0000000..19c54f8 Binary files /dev/null and b/samples/BassDrums4/bassdrum177.wav differ diff --git a/samples/BassDrums4/bassdrum178.wav b/samples/BassDrums4/bassdrum178.wav new file mode 100644 index 0000000..3f3cb3d Binary files /dev/null and b/samples/BassDrums4/bassdrum178.wav differ diff --git a/samples/BassDrums4/bassdrum179.wav b/samples/BassDrums4/bassdrum179.wav new file mode 100644 index 0000000..5d66223 Binary files /dev/null and b/samples/BassDrums4/bassdrum179.wav differ diff --git a/samples/BassDrums4/bassdrum180.wav b/samples/BassDrums4/bassdrum180.wav new file mode 100644 index 0000000..f1eb0ea Binary files /dev/null and b/samples/BassDrums4/bassdrum180.wav differ diff --git a/samples/BassDrums4/bassdrum181.wav b/samples/BassDrums4/bassdrum181.wav new file mode 100644 index 0000000..39b42da Binary files /dev/null and b/samples/BassDrums4/bassdrum181.wav differ diff --git a/samples/BassDrums4/bassdrum182.wav b/samples/BassDrums4/bassdrum182.wav new file mode 100644 index 0000000..30d65ef Binary files /dev/null and b/samples/BassDrums4/bassdrum182.wav differ diff --git a/samples/BassDrums4/bassdrum183.wav b/samples/BassDrums4/bassdrum183.wav new file mode 100644 index 0000000..45b8ecf Binary files /dev/null and b/samples/BassDrums4/bassdrum183.wav differ diff --git a/samples/BassDrums4/bassdrum184.wav b/samples/BassDrums4/bassdrum184.wav new file mode 100644 index 0000000..36a067b Binary files /dev/null and b/samples/BassDrums4/bassdrum184.wav differ diff --git a/samples/BassDrums4/bassdrum185.wav b/samples/BassDrums4/bassdrum185.wav new file mode 100644 index 0000000..f4bd99d Binary files /dev/null and b/samples/BassDrums4/bassdrum185.wav differ diff --git a/samples/BassDrums4/bassdrum186.wav b/samples/BassDrums4/bassdrum186.wav new file mode 100644 index 0000000..275a7b8 Binary files /dev/null and b/samples/BassDrums4/bassdrum186.wav differ diff --git a/samples/BassDrums4/bassdrum187.wav b/samples/BassDrums4/bassdrum187.wav new file mode 100644 index 0000000..26fef41 Binary files /dev/null and b/samples/BassDrums4/bassdrum187.wav differ diff --git a/samples/BassDrums4/bassdrum188.wav b/samples/BassDrums4/bassdrum188.wav new file mode 100644 index 0000000..e0f914c Binary files /dev/null and b/samples/BassDrums4/bassdrum188.wav differ diff --git a/samples/BassDrums4/bassdrum189.wav b/samples/BassDrums4/bassdrum189.wav new file mode 100644 index 0000000..43c8cb2 Binary files /dev/null and b/samples/BassDrums4/bassdrum189.wav differ diff --git a/samples/BassDrums4/bassdrum190.wav b/samples/BassDrums4/bassdrum190.wav new file mode 100644 index 0000000..db71c1c Binary files /dev/null and b/samples/BassDrums4/bassdrum190.wav differ diff --git a/samples/BassDrums4/bassdrum191.wav b/samples/BassDrums4/bassdrum191.wav new file mode 100644 index 0000000..0deaeaf Binary files /dev/null and b/samples/BassDrums4/bassdrum191.wav differ diff --git a/samples/BassDrums4/bassdrum192.wav b/samples/BassDrums4/bassdrum192.wav new file mode 100644 index 0000000..86dac56 Binary files /dev/null and b/samples/BassDrums4/bassdrum192.wav differ diff --git a/samples/BassDrums4/bassdrum193.wav b/samples/BassDrums4/bassdrum193.wav new file mode 100644 index 0000000..ab9af45 Binary files /dev/null and b/samples/BassDrums4/bassdrum193.wav differ diff --git a/samples/BassDrums4/bassdrum194.wav b/samples/BassDrums4/bassdrum194.wav new file mode 100644 index 0000000..4c94177 Binary files /dev/null and b/samples/BassDrums4/bassdrum194.wav differ diff --git a/samples/BassDrums4/bassdrum195.wav b/samples/BassDrums4/bassdrum195.wav new file mode 100644 index 0000000..3f85c1b Binary files /dev/null and b/samples/BassDrums4/bassdrum195.wav differ diff --git a/samples/BassDrums4/bassdrum196.wav b/samples/BassDrums4/bassdrum196.wav new file mode 100644 index 0000000..f8dc4a5 Binary files /dev/null and b/samples/BassDrums4/bassdrum196.wav differ diff --git a/samples/BassDrums4/bassdrum197.wav b/samples/BassDrums4/bassdrum197.wav new file mode 100644 index 0000000..050e774 Binary files /dev/null and b/samples/BassDrums4/bassdrum197.wav differ diff --git a/samples/BassDrums4/bassdrum198.wav b/samples/BassDrums4/bassdrum198.wav new file mode 100644 index 0000000..29fa9df Binary files /dev/null and b/samples/BassDrums4/bassdrum198.wav differ diff --git a/samples/BassDrums4/bassdrum199.wav b/samples/BassDrums4/bassdrum199.wav new file mode 100644 index 0000000..ce4c141 Binary files /dev/null and b/samples/BassDrums4/bassdrum199.wav differ diff --git a/samples/BassDrums4/bassdrum200.wav b/samples/BassDrums4/bassdrum200.wav new file mode 100644 index 0000000..a25165a Binary files /dev/null and b/samples/BassDrums4/bassdrum200.wav differ diff --git a/samples/Bongos/bongo1.wav b/samples/Bongos/bongo1.wav new file mode 100644 index 0000000..85b16f0 Binary files /dev/null and b/samples/Bongos/bongo1.wav differ diff --git a/samples/Bongos/bongo10.wav b/samples/Bongos/bongo10.wav new file mode 100644 index 0000000..7136472 Binary files /dev/null and b/samples/Bongos/bongo10.wav differ diff --git a/samples/Bongos/bongo2.wav b/samples/Bongos/bongo2.wav new file mode 100644 index 0000000..5fd051b Binary files /dev/null and b/samples/Bongos/bongo2.wav differ diff --git a/samples/Bongos/bongo3.wav b/samples/Bongos/bongo3.wav new file mode 100644 index 0000000..e43baca Binary files /dev/null and b/samples/Bongos/bongo3.wav differ diff --git a/samples/Bongos/bongo4.wav b/samples/Bongos/bongo4.wav new file mode 100644 index 0000000..cbafa3e Binary files /dev/null and b/samples/Bongos/bongo4.wav differ diff --git a/samples/Bongos/bongo5.wav b/samples/Bongos/bongo5.wav new file mode 100644 index 0000000..13bd8a5 Binary files /dev/null and b/samples/Bongos/bongo5.wav differ diff --git a/samples/Bongos/bongo6.wav b/samples/Bongos/bongo6.wav new file mode 100644 index 0000000..4632a65 Binary files /dev/null and b/samples/Bongos/bongo6.wav differ diff --git a/samples/Bongos/bongo7.wav b/samples/Bongos/bongo7.wav new file mode 100644 index 0000000..ee8a35d Binary files /dev/null and b/samples/Bongos/bongo7.wav differ diff --git a/samples/Bongos/bongo8.wav b/samples/Bongos/bongo8.wav new file mode 100644 index 0000000..a1e1a8e Binary files /dev/null and b/samples/Bongos/bongo8.wav differ diff --git a/samples/Bongos/bongo9.wav b/samples/Bongos/bongo9.wav new file mode 100644 index 0000000..21cfaee Binary files /dev/null and b/samples/Bongos/bongo9.wav differ diff --git a/samples/Congas/conga1.wav b/samples/Congas/conga1.wav new file mode 100644 index 0000000..38ab8c2 Binary files /dev/null and b/samples/Congas/conga1.wav differ diff --git a/samples/Congas/conga10.wav b/samples/Congas/conga10.wav new file mode 100644 index 0000000..ab2840c Binary files /dev/null and b/samples/Congas/conga10.wav differ diff --git a/samples/Congas/conga2.wav b/samples/Congas/conga2.wav new file mode 100644 index 0000000..0e7982e Binary files /dev/null and b/samples/Congas/conga2.wav differ diff --git a/samples/Congas/conga3.wav b/samples/Congas/conga3.wav new file mode 100644 index 0000000..538866d Binary files /dev/null and b/samples/Congas/conga3.wav differ diff --git a/samples/Congas/conga4.wav b/samples/Congas/conga4.wav new file mode 100644 index 0000000..91321c4 Binary files /dev/null and b/samples/Congas/conga4.wav differ diff --git a/samples/Congas/conga5.wav b/samples/Congas/conga5.wav new file mode 100644 index 0000000..10e1ef5 Binary files /dev/null and b/samples/Congas/conga5.wav differ diff --git a/samples/Congas/conga6.wav b/samples/Congas/conga6.wav new file mode 100644 index 0000000..2f8202b Binary files /dev/null and b/samples/Congas/conga6.wav differ diff --git a/samples/Congas/conga7.wav b/samples/Congas/conga7.wav new file mode 100644 index 0000000..8a0953b Binary files /dev/null and b/samples/Congas/conga7.wav differ diff --git a/samples/Congas/conga8.wav b/samples/Congas/conga8.wav new file mode 100644 index 0000000..8902293 Binary files /dev/null and b/samples/Congas/conga8.wav differ diff --git a/samples/Congas/conga9.wav b/samples/Congas/conga9.wav new file mode 100644 index 0000000..940ae50 Binary files /dev/null and b/samples/Congas/conga9.wav differ diff --git a/samples/Cowbells/cowbell1.wav b/samples/Cowbells/cowbell1.wav new file mode 100644 index 0000000..8738154 Binary files /dev/null and b/samples/Cowbells/cowbell1.wav differ diff --git a/samples/Cowbells/cowbell10.wav b/samples/Cowbells/cowbell10.wav new file mode 100644 index 0000000..81cc789 Binary files /dev/null and b/samples/Cowbells/cowbell10.wav differ diff --git a/samples/Cowbells/cowbell2.wav b/samples/Cowbells/cowbell2.wav new file mode 100644 index 0000000..d40e88e Binary files /dev/null and b/samples/Cowbells/cowbell2.wav differ diff --git a/samples/Cowbells/cowbell3.wav b/samples/Cowbells/cowbell3.wav new file mode 100644 index 0000000..50462bb Binary files /dev/null and b/samples/Cowbells/cowbell3.wav differ diff --git a/samples/Cowbells/cowbell4.wav b/samples/Cowbells/cowbell4.wav new file mode 100644 index 0000000..8af42b8 Binary files /dev/null and b/samples/Cowbells/cowbell4.wav differ diff --git a/samples/Cowbells/cowbell5.wav b/samples/Cowbells/cowbell5.wav new file mode 100644 index 0000000..e6b86d9 Binary files /dev/null and b/samples/Cowbells/cowbell5.wav differ diff --git a/samples/Cowbells/cowbell6.wav b/samples/Cowbells/cowbell6.wav new file mode 100644 index 0000000..40a1f93 Binary files /dev/null and b/samples/Cowbells/cowbell6.wav differ diff --git a/samples/Cowbells/cowbell7.wav b/samples/Cowbells/cowbell7.wav new file mode 100644 index 0000000..cbd724f Binary files /dev/null and b/samples/Cowbells/cowbell7.wav differ diff --git a/samples/Cowbells/cowbell8.wav b/samples/Cowbells/cowbell8.wav new file mode 100644 index 0000000..5f9ed76 Binary files /dev/null and b/samples/Cowbells/cowbell8.wav differ diff --git a/samples/Cowbells/cowbell9.wav b/samples/Cowbells/cowbell9.wav new file mode 100644 index 0000000..2edf723 Binary files /dev/null and b/samples/Cowbells/cowbell9.wav differ diff --git a/samples/Cymbals1/cymbal1.wav b/samples/Cymbals1/cymbal1.wav new file mode 100644 index 0000000..4f95316 Binary files /dev/null and b/samples/Cymbals1/cymbal1.wav differ diff --git a/samples/Cymbals1/cymbal10.wav b/samples/Cymbals1/cymbal10.wav new file mode 100644 index 0000000..17d60b2 Binary files /dev/null and b/samples/Cymbals1/cymbal10.wav differ diff --git a/samples/Cymbals1/cymbal2.wav b/samples/Cymbals1/cymbal2.wav new file mode 100644 index 0000000..3ecbbcf Binary files /dev/null and b/samples/Cymbals1/cymbal2.wav differ diff --git a/samples/Cymbals1/cymbal3.wav b/samples/Cymbals1/cymbal3.wav new file mode 100644 index 0000000..8fb4fd3 Binary files /dev/null and b/samples/Cymbals1/cymbal3.wav differ diff --git a/samples/Cymbals1/cymbal4.wav b/samples/Cymbals1/cymbal4.wav new file mode 100644 index 0000000..6790acd Binary files /dev/null and b/samples/Cymbals1/cymbal4.wav differ diff --git a/samples/Cymbals1/cymbal5.wav b/samples/Cymbals1/cymbal5.wav new file mode 100644 index 0000000..d743d5e Binary files /dev/null and b/samples/Cymbals1/cymbal5.wav differ diff --git a/samples/Cymbals1/cymbal6.wav b/samples/Cymbals1/cymbal6.wav new file mode 100644 index 0000000..0672315 Binary files /dev/null and b/samples/Cymbals1/cymbal6.wav differ diff --git a/samples/Cymbals1/cymbal7.wav b/samples/Cymbals1/cymbal7.wav new file mode 100644 index 0000000..8cc49dd Binary files /dev/null and b/samples/Cymbals1/cymbal7.wav differ diff --git a/samples/Cymbals1/cymbal8.wav b/samples/Cymbals1/cymbal8.wav new file mode 100644 index 0000000..bb061ec Binary files /dev/null and b/samples/Cymbals1/cymbal8.wav differ diff --git a/samples/Cymbals1/cymbal9.wav b/samples/Cymbals1/cymbal9.wav new file mode 100644 index 0000000..36dd9f7 Binary files /dev/null and b/samples/Cymbals1/cymbal9.wav differ diff --git a/samples/Cymbals2/cymbalcrash1.wav b/samples/Cymbals2/cymbalcrash1.wav new file mode 100644 index 0000000..8166fa8 Binary files /dev/null and b/samples/Cymbals2/cymbalcrash1.wav differ diff --git a/samples/Cymbals2/cymbalcrash10.wav b/samples/Cymbals2/cymbalcrash10.wav new file mode 100644 index 0000000..9ed2678 Binary files /dev/null and b/samples/Cymbals2/cymbalcrash10.wav differ diff --git a/samples/Cymbals2/cymbalcrash2.wav b/samples/Cymbals2/cymbalcrash2.wav new file mode 100644 index 0000000..9e6de64 Binary files /dev/null and b/samples/Cymbals2/cymbalcrash2.wav differ diff --git a/samples/Cymbals2/cymbalcrash3.wav b/samples/Cymbals2/cymbalcrash3.wav new file mode 100644 index 0000000..7c28fe4 Binary files /dev/null and b/samples/Cymbals2/cymbalcrash3.wav differ diff --git a/samples/Cymbals2/cymbalcrash4.wav b/samples/Cymbals2/cymbalcrash4.wav new file mode 100644 index 0000000..10d8efd Binary files /dev/null and b/samples/Cymbals2/cymbalcrash4.wav differ diff --git a/samples/Cymbals2/cymbalcrash5.wav b/samples/Cymbals2/cymbalcrash5.wav new file mode 100644 index 0000000..681df29 Binary files /dev/null and b/samples/Cymbals2/cymbalcrash5.wav differ diff --git a/samples/Cymbals2/cymbalcrash6.wav b/samples/Cymbals2/cymbalcrash6.wav new file mode 100644 index 0000000..32cd1ba Binary files /dev/null and b/samples/Cymbals2/cymbalcrash6.wav differ diff --git a/samples/Cymbals2/cymbalcrash7.wav b/samples/Cymbals2/cymbalcrash7.wav new file mode 100644 index 0000000..72daecd Binary files /dev/null and b/samples/Cymbals2/cymbalcrash7.wav differ diff --git a/samples/Cymbals2/cymbalcrash8.wav b/samples/Cymbals2/cymbalcrash8.wav new file mode 100644 index 0000000..28ea037 Binary files /dev/null and b/samples/Cymbals2/cymbalcrash8.wav differ diff --git a/samples/Cymbals2/cymbalcrash9.wav b/samples/Cymbals2/cymbalcrash9.wav new file mode 100644 index 0000000..7ea04f1 Binary files /dev/null and b/samples/Cymbals2/cymbalcrash9.wav differ diff --git a/samples/DistortedKicks1/distortedkick1.wav b/samples/DistortedKicks1/distortedkick1.wav new file mode 100644 index 0000000..48cca89 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick1.wav differ diff --git a/samples/DistortedKicks1/distortedkick10.wav b/samples/DistortedKicks1/distortedkick10.wav new file mode 100644 index 0000000..c63c5e8 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick10.wav differ diff --git a/samples/DistortedKicks1/distortedkick11.wav b/samples/DistortedKicks1/distortedkick11.wav new file mode 100644 index 0000000..afc852d Binary files /dev/null and b/samples/DistortedKicks1/distortedkick11.wav differ diff --git a/samples/DistortedKicks1/distortedkick12.wav b/samples/DistortedKicks1/distortedkick12.wav new file mode 100644 index 0000000..2e1ab5e Binary files /dev/null and b/samples/DistortedKicks1/distortedkick12.wav differ diff --git a/samples/DistortedKicks1/distortedkick13.wav b/samples/DistortedKicks1/distortedkick13.wav new file mode 100644 index 0000000..0869d6a Binary files /dev/null and b/samples/DistortedKicks1/distortedkick13.wav differ diff --git a/samples/DistortedKicks1/distortedkick14.wav b/samples/DistortedKicks1/distortedkick14.wav new file mode 100644 index 0000000..00846e4 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick14.wav differ diff --git a/samples/DistortedKicks1/distortedkick15.wav b/samples/DistortedKicks1/distortedkick15.wav new file mode 100644 index 0000000..9ba395c Binary files /dev/null and b/samples/DistortedKicks1/distortedkick15.wav differ diff --git a/samples/DistortedKicks1/distortedkick16.wav b/samples/DistortedKicks1/distortedkick16.wav new file mode 100644 index 0000000..9667473 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick16.wav differ diff --git a/samples/DistortedKicks1/distortedkick17.wav b/samples/DistortedKicks1/distortedkick17.wav new file mode 100644 index 0000000..d822460 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick17.wav differ diff --git a/samples/DistortedKicks1/distortedkick18.wav b/samples/DistortedKicks1/distortedkick18.wav new file mode 100644 index 0000000..3f29f37 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick18.wav differ diff --git a/samples/DistortedKicks1/distortedkick19.wav b/samples/DistortedKicks1/distortedkick19.wav new file mode 100644 index 0000000..41374a4 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick19.wav differ diff --git a/samples/DistortedKicks1/distortedkick2.wav b/samples/DistortedKicks1/distortedkick2.wav new file mode 100644 index 0000000..63e4049 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick2.wav differ diff --git a/samples/DistortedKicks1/distortedkick20.wav b/samples/DistortedKicks1/distortedkick20.wav new file mode 100644 index 0000000..4be9710 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick20.wav differ diff --git a/samples/DistortedKicks1/distortedkick21.wav b/samples/DistortedKicks1/distortedkick21.wav new file mode 100644 index 0000000..b36a96e Binary files /dev/null and b/samples/DistortedKicks1/distortedkick21.wav differ diff --git a/samples/DistortedKicks1/distortedkick22.wav b/samples/DistortedKicks1/distortedkick22.wav new file mode 100644 index 0000000..eab69b6 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick22.wav differ diff --git a/samples/DistortedKicks1/distortedkick23.wav b/samples/DistortedKicks1/distortedkick23.wav new file mode 100644 index 0000000..21f1cf0 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick23.wav differ diff --git a/samples/DistortedKicks1/distortedkick24.wav b/samples/DistortedKicks1/distortedkick24.wav new file mode 100644 index 0000000..b71aae5 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick24.wav differ diff --git a/samples/DistortedKicks1/distortedkick25.wav b/samples/DistortedKicks1/distortedkick25.wav new file mode 100644 index 0000000..547fcba Binary files /dev/null and b/samples/DistortedKicks1/distortedkick25.wav differ diff --git a/samples/DistortedKicks1/distortedkick26.wav b/samples/DistortedKicks1/distortedkick26.wav new file mode 100644 index 0000000..5d70ade Binary files /dev/null and b/samples/DistortedKicks1/distortedkick26.wav differ diff --git a/samples/DistortedKicks1/distortedkick27.wav b/samples/DistortedKicks1/distortedkick27.wav new file mode 100644 index 0000000..4c23026 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick27.wav differ diff --git a/samples/DistortedKicks1/distortedkick28.wav b/samples/DistortedKicks1/distortedkick28.wav new file mode 100644 index 0000000..4459bf6 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick28.wav differ diff --git a/samples/DistortedKicks1/distortedkick29.wav b/samples/DistortedKicks1/distortedkick29.wav new file mode 100644 index 0000000..7e69231 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick29.wav differ diff --git a/samples/DistortedKicks1/distortedkick3.wav b/samples/DistortedKicks1/distortedkick3.wav new file mode 100644 index 0000000..f22c673 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick3.wav differ diff --git a/samples/DistortedKicks1/distortedkick30.wav b/samples/DistortedKicks1/distortedkick30.wav new file mode 100644 index 0000000..0bcec41 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick30.wav differ diff --git a/samples/DistortedKicks1/distortedkick31.wav b/samples/DistortedKicks1/distortedkick31.wav new file mode 100644 index 0000000..1af9758 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick31.wav differ diff --git a/samples/DistortedKicks1/distortedkick32.wav b/samples/DistortedKicks1/distortedkick32.wav new file mode 100644 index 0000000..a38608e Binary files /dev/null and b/samples/DistortedKicks1/distortedkick32.wav differ diff --git a/samples/DistortedKicks1/distortedkick33.wav b/samples/DistortedKicks1/distortedkick33.wav new file mode 100644 index 0000000..4b55740 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick33.wav differ diff --git a/samples/DistortedKicks1/distortedkick34.wav b/samples/DistortedKicks1/distortedkick34.wav new file mode 100644 index 0000000..e49efe4 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick34.wav differ diff --git a/samples/DistortedKicks1/distortedkick35.wav b/samples/DistortedKicks1/distortedkick35.wav new file mode 100644 index 0000000..9ff854a Binary files /dev/null and b/samples/DistortedKicks1/distortedkick35.wav differ diff --git a/samples/DistortedKicks1/distortedkick36.wav b/samples/DistortedKicks1/distortedkick36.wav new file mode 100644 index 0000000..533d062 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick36.wav differ diff --git a/samples/DistortedKicks1/distortedkick37.wav b/samples/DistortedKicks1/distortedkick37.wav new file mode 100644 index 0000000..aefba75 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick37.wav differ diff --git a/samples/DistortedKicks1/distortedkick38.wav b/samples/DistortedKicks1/distortedkick38.wav new file mode 100644 index 0000000..3d63a06 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick38.wav differ diff --git a/samples/DistortedKicks1/distortedkick39.wav b/samples/DistortedKicks1/distortedkick39.wav new file mode 100644 index 0000000..1c55676 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick39.wav differ diff --git a/samples/DistortedKicks1/distortedkick4.wav b/samples/DistortedKicks1/distortedkick4.wav new file mode 100644 index 0000000..0478e57 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick4.wav differ diff --git a/samples/DistortedKicks1/distortedkick40.wav b/samples/DistortedKicks1/distortedkick40.wav new file mode 100644 index 0000000..8f19e85 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick40.wav differ diff --git a/samples/DistortedKicks1/distortedkick41.wav b/samples/DistortedKicks1/distortedkick41.wav new file mode 100644 index 0000000..7cb5d7f Binary files /dev/null and b/samples/DistortedKicks1/distortedkick41.wav differ diff --git a/samples/DistortedKicks1/distortedkick42.wav b/samples/DistortedKicks1/distortedkick42.wav new file mode 100644 index 0000000..bd719be Binary files /dev/null and b/samples/DistortedKicks1/distortedkick42.wav differ diff --git a/samples/DistortedKicks1/distortedkick43.wav b/samples/DistortedKicks1/distortedkick43.wav new file mode 100644 index 0000000..1e7a3ca Binary files /dev/null and b/samples/DistortedKicks1/distortedkick43.wav differ diff --git a/samples/DistortedKicks1/distortedkick44.wav b/samples/DistortedKicks1/distortedkick44.wav new file mode 100644 index 0000000..25b5417 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick44.wav differ diff --git a/samples/DistortedKicks1/distortedkick45.wav b/samples/DistortedKicks1/distortedkick45.wav new file mode 100644 index 0000000..04a5b1a Binary files /dev/null and b/samples/DistortedKicks1/distortedkick45.wav differ diff --git a/samples/DistortedKicks1/distortedkick46.wav b/samples/DistortedKicks1/distortedkick46.wav new file mode 100644 index 0000000..5b780ca Binary files /dev/null and b/samples/DistortedKicks1/distortedkick46.wav differ diff --git a/samples/DistortedKicks1/distortedkick47.wav b/samples/DistortedKicks1/distortedkick47.wav new file mode 100644 index 0000000..a66f460 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick47.wav differ diff --git a/samples/DistortedKicks1/distortedkick48.wav b/samples/DistortedKicks1/distortedkick48.wav new file mode 100644 index 0000000..b9e90af Binary files /dev/null and b/samples/DistortedKicks1/distortedkick48.wav differ diff --git a/samples/DistortedKicks1/distortedkick49.wav b/samples/DistortedKicks1/distortedkick49.wav new file mode 100644 index 0000000..01cd1cb Binary files /dev/null and b/samples/DistortedKicks1/distortedkick49.wav differ diff --git a/samples/DistortedKicks1/distortedkick5.wav b/samples/DistortedKicks1/distortedkick5.wav new file mode 100644 index 0000000..515eab4 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick5.wav differ diff --git a/samples/DistortedKicks1/distortedkick50.wav b/samples/DistortedKicks1/distortedkick50.wav new file mode 100644 index 0000000..08180ea Binary files /dev/null and b/samples/DistortedKicks1/distortedkick50.wav differ diff --git a/samples/DistortedKicks1/distortedkick6.wav b/samples/DistortedKicks1/distortedkick6.wav new file mode 100644 index 0000000..a24a862 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick6.wav differ diff --git a/samples/DistortedKicks1/distortedkick7.wav b/samples/DistortedKicks1/distortedkick7.wav new file mode 100644 index 0000000..36cb54a Binary files /dev/null and b/samples/DistortedKicks1/distortedkick7.wav differ diff --git a/samples/DistortedKicks1/distortedkick8.wav b/samples/DistortedKicks1/distortedkick8.wav new file mode 100644 index 0000000..0689722 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick8.wav differ diff --git a/samples/DistortedKicks1/distortedkick9.wav b/samples/DistortedKicks1/distortedkick9.wav new file mode 100644 index 0000000..1ee74e6 Binary files /dev/null and b/samples/DistortedKicks1/distortedkick9.wav differ diff --git a/samples/DistortedKicks2/distortedkick100.wav b/samples/DistortedKicks2/distortedkick100.wav new file mode 100644 index 0000000..27b41a3 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick100.wav differ diff --git a/samples/DistortedKicks2/distortedkick51.wav b/samples/DistortedKicks2/distortedkick51.wav new file mode 100644 index 0000000..5a0232f Binary files /dev/null and b/samples/DistortedKicks2/distortedkick51.wav differ diff --git a/samples/DistortedKicks2/distortedkick52.wav b/samples/DistortedKicks2/distortedkick52.wav new file mode 100644 index 0000000..066367d Binary files /dev/null and b/samples/DistortedKicks2/distortedkick52.wav differ diff --git a/samples/DistortedKicks2/distortedkick53.wav b/samples/DistortedKicks2/distortedkick53.wav new file mode 100644 index 0000000..f5b5c46 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick53.wav differ diff --git a/samples/DistortedKicks2/distortedkick54.wav b/samples/DistortedKicks2/distortedkick54.wav new file mode 100644 index 0000000..66b2a35 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick54.wav differ diff --git a/samples/DistortedKicks2/distortedkick55.wav b/samples/DistortedKicks2/distortedkick55.wav new file mode 100644 index 0000000..502c738 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick55.wav differ diff --git a/samples/DistortedKicks2/distortedkick56.wav b/samples/DistortedKicks2/distortedkick56.wav new file mode 100644 index 0000000..8f1c44f Binary files /dev/null and b/samples/DistortedKicks2/distortedkick56.wav differ diff --git a/samples/DistortedKicks2/distortedkick57.wav b/samples/DistortedKicks2/distortedkick57.wav new file mode 100644 index 0000000..7a4709b Binary files /dev/null and b/samples/DistortedKicks2/distortedkick57.wav differ diff --git a/samples/DistortedKicks2/distortedkick58.wav b/samples/DistortedKicks2/distortedkick58.wav new file mode 100644 index 0000000..08fb839 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick58.wav differ diff --git a/samples/DistortedKicks2/distortedkick59.wav b/samples/DistortedKicks2/distortedkick59.wav new file mode 100644 index 0000000..175731a Binary files /dev/null and b/samples/DistortedKicks2/distortedkick59.wav differ diff --git a/samples/DistortedKicks2/distortedkick60.wav b/samples/DistortedKicks2/distortedkick60.wav new file mode 100644 index 0000000..e58a145 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick60.wav differ diff --git a/samples/DistortedKicks2/distortedkick61.wav b/samples/DistortedKicks2/distortedkick61.wav new file mode 100644 index 0000000..29f205b Binary files /dev/null and b/samples/DistortedKicks2/distortedkick61.wav differ diff --git a/samples/DistortedKicks2/distortedkick62.wav b/samples/DistortedKicks2/distortedkick62.wav new file mode 100644 index 0000000..c88d834 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick62.wav differ diff --git a/samples/DistortedKicks2/distortedkick63.wav b/samples/DistortedKicks2/distortedkick63.wav new file mode 100644 index 0000000..7bf092b Binary files /dev/null and b/samples/DistortedKicks2/distortedkick63.wav differ diff --git a/samples/DistortedKicks2/distortedkick64.wav b/samples/DistortedKicks2/distortedkick64.wav new file mode 100644 index 0000000..a777ff9 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick64.wav differ diff --git a/samples/DistortedKicks2/distortedkick65.wav b/samples/DistortedKicks2/distortedkick65.wav new file mode 100644 index 0000000..8bee6c3 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick65.wav differ diff --git a/samples/DistortedKicks2/distortedkick66.wav b/samples/DistortedKicks2/distortedkick66.wav new file mode 100644 index 0000000..797dd66 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick66.wav differ diff --git a/samples/DistortedKicks2/distortedkick67.wav b/samples/DistortedKicks2/distortedkick67.wav new file mode 100644 index 0000000..c2ba1a1 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick67.wav differ diff --git a/samples/DistortedKicks2/distortedkick68.wav b/samples/DistortedKicks2/distortedkick68.wav new file mode 100644 index 0000000..b5f42ee Binary files /dev/null and b/samples/DistortedKicks2/distortedkick68.wav differ diff --git a/samples/DistortedKicks2/distortedkick69.wav b/samples/DistortedKicks2/distortedkick69.wav new file mode 100644 index 0000000..ccb2f6d Binary files /dev/null and b/samples/DistortedKicks2/distortedkick69.wav differ diff --git a/samples/DistortedKicks2/distortedkick70.wav b/samples/DistortedKicks2/distortedkick70.wav new file mode 100644 index 0000000..04004ac Binary files /dev/null and b/samples/DistortedKicks2/distortedkick70.wav differ diff --git a/samples/DistortedKicks2/distortedkick71.wav b/samples/DistortedKicks2/distortedkick71.wav new file mode 100644 index 0000000..c8def52 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick71.wav differ diff --git a/samples/DistortedKicks2/distortedkick72.wav b/samples/DistortedKicks2/distortedkick72.wav new file mode 100644 index 0000000..525d20f Binary files /dev/null and b/samples/DistortedKicks2/distortedkick72.wav differ diff --git a/samples/DistortedKicks2/distortedkick73.wav b/samples/DistortedKicks2/distortedkick73.wav new file mode 100644 index 0000000..cbaf562 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick73.wav differ diff --git a/samples/DistortedKicks2/distortedkick74.wav b/samples/DistortedKicks2/distortedkick74.wav new file mode 100644 index 0000000..4f2dd45 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick74.wav differ diff --git a/samples/DistortedKicks2/distortedkick75.wav b/samples/DistortedKicks2/distortedkick75.wav new file mode 100644 index 0000000..f626542 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick75.wav differ diff --git a/samples/DistortedKicks2/distortedkick76.wav b/samples/DistortedKicks2/distortedkick76.wav new file mode 100644 index 0000000..364b330 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick76.wav differ diff --git a/samples/DistortedKicks2/distortedkick77.wav b/samples/DistortedKicks2/distortedkick77.wav new file mode 100644 index 0000000..77bab21 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick77.wav differ diff --git a/samples/DistortedKicks2/distortedkick78.wav b/samples/DistortedKicks2/distortedkick78.wav new file mode 100644 index 0000000..be27fb0 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick78.wav differ diff --git a/samples/DistortedKicks2/distortedkick79.wav b/samples/DistortedKicks2/distortedkick79.wav new file mode 100644 index 0000000..863948d Binary files /dev/null and b/samples/DistortedKicks2/distortedkick79.wav differ diff --git a/samples/DistortedKicks2/distortedkick80.wav b/samples/DistortedKicks2/distortedkick80.wav new file mode 100644 index 0000000..645dd90 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick80.wav differ diff --git a/samples/DistortedKicks2/distortedkick81.wav b/samples/DistortedKicks2/distortedkick81.wav new file mode 100644 index 0000000..40e2b7a Binary files /dev/null and b/samples/DistortedKicks2/distortedkick81.wav differ diff --git a/samples/DistortedKicks2/distortedkick82.wav b/samples/DistortedKicks2/distortedkick82.wav new file mode 100644 index 0000000..9799b69 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick82.wav differ diff --git a/samples/DistortedKicks2/distortedkick83.wav b/samples/DistortedKicks2/distortedkick83.wav new file mode 100644 index 0000000..322607e Binary files /dev/null and b/samples/DistortedKicks2/distortedkick83.wav differ diff --git a/samples/DistortedKicks2/distortedkick84.wav b/samples/DistortedKicks2/distortedkick84.wav new file mode 100644 index 0000000..f1377e6 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick84.wav differ diff --git a/samples/DistortedKicks2/distortedkick85.wav b/samples/DistortedKicks2/distortedkick85.wav new file mode 100644 index 0000000..c4d7994 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick85.wav differ diff --git a/samples/DistortedKicks2/distortedkick86.wav b/samples/DistortedKicks2/distortedkick86.wav new file mode 100644 index 0000000..49a091e Binary files /dev/null and b/samples/DistortedKicks2/distortedkick86.wav differ diff --git a/samples/DistortedKicks2/distortedkick87.wav b/samples/DistortedKicks2/distortedkick87.wav new file mode 100644 index 0000000..a17a604 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick87.wav differ diff --git a/samples/DistortedKicks2/distortedkick88.wav b/samples/DistortedKicks2/distortedkick88.wav new file mode 100644 index 0000000..888c076 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick88.wav differ diff --git a/samples/DistortedKicks2/distortedkick89.wav b/samples/DistortedKicks2/distortedkick89.wav new file mode 100644 index 0000000..4a366fc Binary files /dev/null and b/samples/DistortedKicks2/distortedkick89.wav differ diff --git a/samples/DistortedKicks2/distortedkick90.wav b/samples/DistortedKicks2/distortedkick90.wav new file mode 100644 index 0000000..1d93f79 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick90.wav differ diff --git a/samples/DistortedKicks2/distortedkick91.wav b/samples/DistortedKicks2/distortedkick91.wav new file mode 100644 index 0000000..7c502bc Binary files /dev/null and b/samples/DistortedKicks2/distortedkick91.wav differ diff --git a/samples/DistortedKicks2/distortedkick92.wav b/samples/DistortedKicks2/distortedkick92.wav new file mode 100644 index 0000000..3b25819 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick92.wav differ diff --git a/samples/DistortedKicks2/distortedkick93.wav b/samples/DistortedKicks2/distortedkick93.wav new file mode 100644 index 0000000..6721b72 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick93.wav differ diff --git a/samples/DistortedKicks2/distortedkick94.wav b/samples/DistortedKicks2/distortedkick94.wav new file mode 100644 index 0000000..4122e1c Binary files /dev/null and b/samples/DistortedKicks2/distortedkick94.wav differ diff --git a/samples/DistortedKicks2/distortedkick95.wav b/samples/DistortedKicks2/distortedkick95.wav new file mode 100644 index 0000000..3be64d9 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick95.wav differ diff --git a/samples/DistortedKicks2/distortedkick96.wav b/samples/DistortedKicks2/distortedkick96.wav new file mode 100644 index 0000000..1258eba Binary files /dev/null and b/samples/DistortedKicks2/distortedkick96.wav differ diff --git a/samples/DistortedKicks2/distortedkick97.wav b/samples/DistortedKicks2/distortedkick97.wav new file mode 100644 index 0000000..4d2adee Binary files /dev/null and b/samples/DistortedKicks2/distortedkick97.wav differ diff --git a/samples/DistortedKicks2/distortedkick98.wav b/samples/DistortedKicks2/distortedkick98.wav new file mode 100644 index 0000000..063c6ca Binary files /dev/null and b/samples/DistortedKicks2/distortedkick98.wav differ diff --git a/samples/DistortedKicks2/distortedkick99.wav b/samples/DistortedKicks2/distortedkick99.wav new file mode 100644 index 0000000..b3247b1 Binary files /dev/null and b/samples/DistortedKicks2/distortedkick99.wav differ diff --git a/samples/DistortedSnares1/distortedsnare1.wav b/samples/DistortedSnares1/distortedsnare1.wav new file mode 100644 index 0000000..4cf3091 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare1.wav differ diff --git a/samples/DistortedSnares1/distortedsnare10.wav b/samples/DistortedSnares1/distortedsnare10.wav new file mode 100644 index 0000000..d4ae93f Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare10.wav differ diff --git a/samples/DistortedSnares1/distortedsnare11.wav b/samples/DistortedSnares1/distortedsnare11.wav new file mode 100644 index 0000000..65b75d8 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare11.wav differ diff --git a/samples/DistortedSnares1/distortedsnare12.wav b/samples/DistortedSnares1/distortedsnare12.wav new file mode 100644 index 0000000..2db9770 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare12.wav differ diff --git a/samples/DistortedSnares1/distortedsnare13.wav b/samples/DistortedSnares1/distortedsnare13.wav new file mode 100644 index 0000000..e9cdf11 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare13.wav differ diff --git a/samples/DistortedSnares1/distortedsnare14.wav b/samples/DistortedSnares1/distortedsnare14.wav new file mode 100644 index 0000000..d06ed8c Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare14.wav differ diff --git a/samples/DistortedSnares1/distortedsnare15.wav b/samples/DistortedSnares1/distortedsnare15.wav new file mode 100644 index 0000000..602e865 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare15.wav differ diff --git a/samples/DistortedSnares1/distortedsnare16.wav b/samples/DistortedSnares1/distortedsnare16.wav new file mode 100644 index 0000000..65c64dd Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare16.wav differ diff --git a/samples/DistortedSnares1/distortedsnare17.wav b/samples/DistortedSnares1/distortedsnare17.wav new file mode 100644 index 0000000..d1c30c6 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare17.wav differ diff --git a/samples/DistortedSnares1/distortedsnare18.wav b/samples/DistortedSnares1/distortedsnare18.wav new file mode 100644 index 0000000..9962157 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare18.wav differ diff --git a/samples/DistortedSnares1/distortedsnare19.wav b/samples/DistortedSnares1/distortedsnare19.wav new file mode 100644 index 0000000..ac7ef16 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare19.wav differ diff --git a/samples/DistortedSnares1/distortedsnare2.wav b/samples/DistortedSnares1/distortedsnare2.wav new file mode 100644 index 0000000..3ad9af4 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare2.wav differ diff --git a/samples/DistortedSnares1/distortedsnare20.wav b/samples/DistortedSnares1/distortedsnare20.wav new file mode 100644 index 0000000..44dc5d1 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare20.wav differ diff --git a/samples/DistortedSnares1/distortedsnare21.wav b/samples/DistortedSnares1/distortedsnare21.wav new file mode 100644 index 0000000..8141208 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare21.wav differ diff --git a/samples/DistortedSnares1/distortedsnare22.wav b/samples/DistortedSnares1/distortedsnare22.wav new file mode 100644 index 0000000..0c93512 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare22.wav differ diff --git a/samples/DistortedSnares1/distortedsnare23.wav b/samples/DistortedSnares1/distortedsnare23.wav new file mode 100644 index 0000000..2b4ea04 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare23.wav differ diff --git a/samples/DistortedSnares1/distortedsnare24.wav b/samples/DistortedSnares1/distortedsnare24.wav new file mode 100644 index 0000000..b56044a Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare24.wav differ diff --git a/samples/DistortedSnares1/distortedsnare25.wav b/samples/DistortedSnares1/distortedsnare25.wav new file mode 100644 index 0000000..2c436d9 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare25.wav differ diff --git a/samples/DistortedSnares1/distortedsnare26.wav b/samples/DistortedSnares1/distortedsnare26.wav new file mode 100644 index 0000000..02be027 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare26.wav differ diff --git a/samples/DistortedSnares1/distortedsnare27.wav b/samples/DistortedSnares1/distortedsnare27.wav new file mode 100644 index 0000000..ecee1f2 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare27.wav differ diff --git a/samples/DistortedSnares1/distortedsnare28.wav b/samples/DistortedSnares1/distortedsnare28.wav new file mode 100644 index 0000000..0f595fd Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare28.wav differ diff --git a/samples/DistortedSnares1/distortedsnare29.wav b/samples/DistortedSnares1/distortedsnare29.wav new file mode 100644 index 0000000..5676f3d Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare29.wav differ diff --git a/samples/DistortedSnares1/distortedsnare3.wav b/samples/DistortedSnares1/distortedsnare3.wav new file mode 100644 index 0000000..59ad443 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare3.wav differ diff --git a/samples/DistortedSnares1/distortedsnare30.wav b/samples/DistortedSnares1/distortedsnare30.wav new file mode 100644 index 0000000..db62f91 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare30.wav differ diff --git a/samples/DistortedSnares1/distortedsnare31.wav b/samples/DistortedSnares1/distortedsnare31.wav new file mode 100644 index 0000000..6a3f002 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare31.wav differ diff --git a/samples/DistortedSnares1/distortedsnare32.wav b/samples/DistortedSnares1/distortedsnare32.wav new file mode 100644 index 0000000..1710b32 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare32.wav differ diff --git a/samples/DistortedSnares1/distortedsnare33.wav b/samples/DistortedSnares1/distortedsnare33.wav new file mode 100644 index 0000000..1c24eb8 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare33.wav differ diff --git a/samples/DistortedSnares1/distortedsnare34.wav b/samples/DistortedSnares1/distortedsnare34.wav new file mode 100644 index 0000000..51f487a Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare34.wav differ diff --git a/samples/DistortedSnares1/distortedsnare35.wav b/samples/DistortedSnares1/distortedsnare35.wav new file mode 100644 index 0000000..c0dfe91 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare35.wav differ diff --git a/samples/DistortedSnares1/distortedsnare36.wav b/samples/DistortedSnares1/distortedsnare36.wav new file mode 100644 index 0000000..761a419 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare36.wav differ diff --git a/samples/DistortedSnares1/distortedsnare37.wav b/samples/DistortedSnares1/distortedsnare37.wav new file mode 100644 index 0000000..13c1989 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare37.wav differ diff --git a/samples/DistortedSnares1/distortedsnare38.wav b/samples/DistortedSnares1/distortedsnare38.wav new file mode 100644 index 0000000..7406954 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare38.wav differ diff --git a/samples/DistortedSnares1/distortedsnare39.wav b/samples/DistortedSnares1/distortedsnare39.wav new file mode 100644 index 0000000..6dbde3d Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare39.wav differ diff --git a/samples/DistortedSnares1/distortedsnare4.wav b/samples/DistortedSnares1/distortedsnare4.wav new file mode 100644 index 0000000..020e123 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare4.wav differ diff --git a/samples/DistortedSnares1/distortedsnare40.wav b/samples/DistortedSnares1/distortedsnare40.wav new file mode 100644 index 0000000..5d7fa20 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare40.wav differ diff --git a/samples/DistortedSnares1/distortedsnare41.wav b/samples/DistortedSnares1/distortedsnare41.wav new file mode 100644 index 0000000..2c35016 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare41.wav differ diff --git a/samples/DistortedSnares1/distortedsnare42.wav b/samples/DistortedSnares1/distortedsnare42.wav new file mode 100644 index 0000000..badfbd2 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare42.wav differ diff --git a/samples/DistortedSnares1/distortedsnare43.wav b/samples/DistortedSnares1/distortedsnare43.wav new file mode 100644 index 0000000..db5c05e Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare43.wav differ diff --git a/samples/DistortedSnares1/distortedsnare44.wav b/samples/DistortedSnares1/distortedsnare44.wav new file mode 100644 index 0000000..fa53f61 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare44.wav differ diff --git a/samples/DistortedSnares1/distortedsnare45.wav b/samples/DistortedSnares1/distortedsnare45.wav new file mode 100644 index 0000000..8faf0f6 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare45.wav differ diff --git a/samples/DistortedSnares1/distortedsnare46.wav b/samples/DistortedSnares1/distortedsnare46.wav new file mode 100644 index 0000000..0352072 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare46.wav differ diff --git a/samples/DistortedSnares1/distortedsnare47.wav b/samples/DistortedSnares1/distortedsnare47.wav new file mode 100644 index 0000000..0721d50 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare47.wav differ diff --git a/samples/DistortedSnares1/distortedsnare48.wav b/samples/DistortedSnares1/distortedsnare48.wav new file mode 100644 index 0000000..c370235 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare48.wav differ diff --git a/samples/DistortedSnares1/distortedsnare49.wav b/samples/DistortedSnares1/distortedsnare49.wav new file mode 100644 index 0000000..e99358f Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare49.wav differ diff --git a/samples/DistortedSnares1/distortedsnare5.wav b/samples/DistortedSnares1/distortedsnare5.wav new file mode 100644 index 0000000..ae6cf5b Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare5.wav differ diff --git a/samples/DistortedSnares1/distortedsnare50.wav b/samples/DistortedSnares1/distortedsnare50.wav new file mode 100644 index 0000000..a5847b3 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare50.wav differ diff --git a/samples/DistortedSnares1/distortedsnare6.wav b/samples/DistortedSnares1/distortedsnare6.wav new file mode 100644 index 0000000..9ebbb45 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare6.wav differ diff --git a/samples/DistortedSnares1/distortedsnare7.wav b/samples/DistortedSnares1/distortedsnare7.wav new file mode 100644 index 0000000..62c8efa Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare7.wav differ diff --git a/samples/DistortedSnares1/distortedsnare8.wav b/samples/DistortedSnares1/distortedsnare8.wav new file mode 100644 index 0000000..1df15e0 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare8.wav differ diff --git a/samples/DistortedSnares1/distortedsnare9.wav b/samples/DistortedSnares1/distortedsnare9.wav new file mode 100644 index 0000000..5b3b9d5 Binary files /dev/null and b/samples/DistortedSnares1/distortedsnare9.wav differ diff --git a/samples/DistortedSnares2/distortedsnare100.wav b/samples/DistortedSnares2/distortedsnare100.wav new file mode 100644 index 0000000..71234ca Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare100.wav differ diff --git a/samples/DistortedSnares2/distortedsnare51.wav b/samples/DistortedSnares2/distortedsnare51.wav new file mode 100644 index 0000000..3412742 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare51.wav differ diff --git a/samples/DistortedSnares2/distortedsnare52.wav b/samples/DistortedSnares2/distortedsnare52.wav new file mode 100644 index 0000000..422d68b Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare52.wav differ diff --git a/samples/DistortedSnares2/distortedsnare53.wav b/samples/DistortedSnares2/distortedsnare53.wav new file mode 100644 index 0000000..ad0d91f Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare53.wav differ diff --git a/samples/DistortedSnares2/distortedsnare54.wav b/samples/DistortedSnares2/distortedsnare54.wav new file mode 100644 index 0000000..54f1c53 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare54.wav differ diff --git a/samples/DistortedSnares2/distortedsnare55.wav b/samples/DistortedSnares2/distortedsnare55.wav new file mode 100644 index 0000000..461aad2 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare55.wav differ diff --git a/samples/DistortedSnares2/distortedsnare56.wav b/samples/DistortedSnares2/distortedsnare56.wav new file mode 100644 index 0000000..11f00eb Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare56.wav differ diff --git a/samples/DistortedSnares2/distortedsnare57.wav b/samples/DistortedSnares2/distortedsnare57.wav new file mode 100644 index 0000000..ecd649c Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare57.wav differ diff --git a/samples/DistortedSnares2/distortedsnare58.wav b/samples/DistortedSnares2/distortedsnare58.wav new file mode 100644 index 0000000..7d43674 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare58.wav differ diff --git a/samples/DistortedSnares2/distortedsnare59.wav b/samples/DistortedSnares2/distortedsnare59.wav new file mode 100644 index 0000000..5bf0cad Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare59.wav differ diff --git a/samples/DistortedSnares2/distortedsnare60.wav b/samples/DistortedSnares2/distortedsnare60.wav new file mode 100644 index 0000000..6980a72 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare60.wav differ diff --git a/samples/DistortedSnares2/distortedsnare61.wav b/samples/DistortedSnares2/distortedsnare61.wav new file mode 100644 index 0000000..c80d174 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare61.wav differ diff --git a/samples/DistortedSnares2/distortedsnare62.wav b/samples/DistortedSnares2/distortedsnare62.wav new file mode 100644 index 0000000..edd4dc6 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare62.wav differ diff --git a/samples/DistortedSnares2/distortedsnare63.wav b/samples/DistortedSnares2/distortedsnare63.wav new file mode 100644 index 0000000..f541d17 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare63.wav differ diff --git a/samples/DistortedSnares2/distortedsnare64.wav b/samples/DistortedSnares2/distortedsnare64.wav new file mode 100644 index 0000000..90b62ee Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare64.wav differ diff --git a/samples/DistortedSnares2/distortedsnare65.wav b/samples/DistortedSnares2/distortedsnare65.wav new file mode 100644 index 0000000..bfaf387 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare65.wav differ diff --git a/samples/DistortedSnares2/distortedsnare66.wav b/samples/DistortedSnares2/distortedsnare66.wav new file mode 100644 index 0000000..3c1d8a8 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare66.wav differ diff --git a/samples/DistortedSnares2/distortedsnare67.wav b/samples/DistortedSnares2/distortedsnare67.wav new file mode 100644 index 0000000..c2dffda Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare67.wav differ diff --git a/samples/DistortedSnares2/distortedsnare68.wav b/samples/DistortedSnares2/distortedsnare68.wav new file mode 100644 index 0000000..ab00729 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare68.wav differ diff --git a/samples/DistortedSnares2/distortedsnare69.wav b/samples/DistortedSnares2/distortedsnare69.wav new file mode 100644 index 0000000..ac9592d Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare69.wav differ diff --git a/samples/DistortedSnares2/distortedsnare70.wav b/samples/DistortedSnares2/distortedsnare70.wav new file mode 100644 index 0000000..8f25891 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare70.wav differ diff --git a/samples/DistortedSnares2/distortedsnare71.wav b/samples/DistortedSnares2/distortedsnare71.wav new file mode 100644 index 0000000..773641b Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare71.wav differ diff --git a/samples/DistortedSnares2/distortedsnare72.wav b/samples/DistortedSnares2/distortedsnare72.wav new file mode 100644 index 0000000..1f252a2 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare72.wav differ diff --git a/samples/DistortedSnares2/distortedsnare73.wav b/samples/DistortedSnares2/distortedsnare73.wav new file mode 100644 index 0000000..c7481dd Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare73.wav differ diff --git a/samples/DistortedSnares2/distortedsnare74.wav b/samples/DistortedSnares2/distortedsnare74.wav new file mode 100644 index 0000000..a90cf8a Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare74.wav differ diff --git a/samples/DistortedSnares2/distortedsnare75.wav b/samples/DistortedSnares2/distortedsnare75.wav new file mode 100644 index 0000000..8192044 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare75.wav differ diff --git a/samples/DistortedSnares2/distortedsnare76.wav b/samples/DistortedSnares2/distortedsnare76.wav new file mode 100644 index 0000000..c50275d Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare76.wav differ diff --git a/samples/DistortedSnares2/distortedsnare77.wav b/samples/DistortedSnares2/distortedsnare77.wav new file mode 100644 index 0000000..56eba92 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare77.wav differ diff --git a/samples/DistortedSnares2/distortedsnare78.wav b/samples/DistortedSnares2/distortedsnare78.wav new file mode 100644 index 0000000..01b6b9b Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare78.wav differ diff --git a/samples/DistortedSnares2/distortedsnare79.wav b/samples/DistortedSnares2/distortedsnare79.wav new file mode 100644 index 0000000..7de2cf1 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare79.wav differ diff --git a/samples/DistortedSnares2/distortedsnare80.wav b/samples/DistortedSnares2/distortedsnare80.wav new file mode 100644 index 0000000..4ea76b9 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare80.wav differ diff --git a/samples/DistortedSnares2/distortedsnare81.wav b/samples/DistortedSnares2/distortedsnare81.wav new file mode 100644 index 0000000..fa38d8d Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare81.wav differ diff --git a/samples/DistortedSnares2/distortedsnare82.wav b/samples/DistortedSnares2/distortedsnare82.wav new file mode 100644 index 0000000..61d2447 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare82.wav differ diff --git a/samples/DistortedSnares2/distortedsnare83.wav b/samples/DistortedSnares2/distortedsnare83.wav new file mode 100644 index 0000000..adf6f57 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare83.wav differ diff --git a/samples/DistortedSnares2/distortedsnare84.wav b/samples/DistortedSnares2/distortedsnare84.wav new file mode 100644 index 0000000..efbcdd9 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare84.wav differ diff --git a/samples/DistortedSnares2/distortedsnare85.wav b/samples/DistortedSnares2/distortedsnare85.wav new file mode 100644 index 0000000..79d86d9 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare85.wav differ diff --git a/samples/DistortedSnares2/distortedsnare86.wav b/samples/DistortedSnares2/distortedsnare86.wav new file mode 100644 index 0000000..061bf9e Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare86.wav differ diff --git a/samples/DistortedSnares2/distortedsnare87.wav b/samples/DistortedSnares2/distortedsnare87.wav new file mode 100644 index 0000000..94fc173 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare87.wav differ diff --git a/samples/DistortedSnares2/distortedsnare88.wav b/samples/DistortedSnares2/distortedsnare88.wav new file mode 100644 index 0000000..b0beea5 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare88.wav differ diff --git a/samples/DistortedSnares2/distortedsnare89.wav b/samples/DistortedSnares2/distortedsnare89.wav new file mode 100644 index 0000000..787eb45 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare89.wav differ diff --git a/samples/DistortedSnares2/distortedsnare90.wav b/samples/DistortedSnares2/distortedsnare90.wav new file mode 100644 index 0000000..b44af09 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare90.wav differ diff --git a/samples/DistortedSnares2/distortedsnare91.wav b/samples/DistortedSnares2/distortedsnare91.wav new file mode 100644 index 0000000..ed771d2 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare91.wav differ diff --git a/samples/DistortedSnares2/distortedsnare92.wav b/samples/DistortedSnares2/distortedsnare92.wav new file mode 100644 index 0000000..81497a2 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare92.wav differ diff --git a/samples/DistortedSnares2/distortedsnare93.wav b/samples/DistortedSnares2/distortedsnare93.wav new file mode 100644 index 0000000..296ca15 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare93.wav differ diff --git a/samples/DistortedSnares2/distortedsnare94.wav b/samples/DistortedSnares2/distortedsnare94.wav new file mode 100644 index 0000000..726ee2c Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare94.wav differ diff --git a/samples/DistortedSnares2/distortedsnare95.wav b/samples/DistortedSnares2/distortedsnare95.wav new file mode 100644 index 0000000..9754ae8 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare95.wav differ diff --git a/samples/DistortedSnares2/distortedsnare96.wav b/samples/DistortedSnares2/distortedsnare96.wav new file mode 100644 index 0000000..dc0834b Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare96.wav differ diff --git a/samples/DistortedSnares2/distortedsnare97.wav b/samples/DistortedSnares2/distortedsnare97.wav new file mode 100644 index 0000000..253b3dc Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare97.wav differ diff --git a/samples/DistortedSnares2/distortedsnare98.wav b/samples/DistortedSnares2/distortedsnare98.wav new file mode 100644 index 0000000..7fb3f73 Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare98.wav differ diff --git a/samples/DistortedSnares2/distortedsnare99.wav b/samples/DistortedSnares2/distortedsnare99.wav new file mode 100644 index 0000000..2d6d13c Binary files /dev/null and b/samples/DistortedSnares2/distortedsnare99.wav differ diff --git a/samples/HiHats1/hihat1.wav b/samples/HiHats1/hihat1.wav new file mode 100644 index 0000000..79725bc Binary files /dev/null and b/samples/HiHats1/hihat1.wav differ diff --git a/samples/HiHats1/hihat10.wav b/samples/HiHats1/hihat10.wav new file mode 100644 index 0000000..77d4013 Binary files /dev/null and b/samples/HiHats1/hihat10.wav differ diff --git a/samples/HiHats1/hihat11.wav b/samples/HiHats1/hihat11.wav new file mode 100644 index 0000000..4a0cb74 Binary files /dev/null and b/samples/HiHats1/hihat11.wav differ diff --git a/samples/HiHats1/hihat12.wav b/samples/HiHats1/hihat12.wav new file mode 100644 index 0000000..261ff0a Binary files /dev/null and b/samples/HiHats1/hihat12.wav differ diff --git a/samples/HiHats1/hihat13.wav b/samples/HiHats1/hihat13.wav new file mode 100644 index 0000000..9adffd1 Binary files /dev/null and b/samples/HiHats1/hihat13.wav differ diff --git a/samples/HiHats1/hihat14.wav b/samples/HiHats1/hihat14.wav new file mode 100644 index 0000000..02454b4 Binary files /dev/null and b/samples/HiHats1/hihat14.wav differ diff --git a/samples/HiHats1/hihat15.wav b/samples/HiHats1/hihat15.wav new file mode 100644 index 0000000..0f59991 Binary files /dev/null and b/samples/HiHats1/hihat15.wav differ diff --git a/samples/HiHats1/hihat16.wav b/samples/HiHats1/hihat16.wav new file mode 100644 index 0000000..6ba9679 Binary files /dev/null and b/samples/HiHats1/hihat16.wav differ diff --git a/samples/HiHats1/hihat17.wav b/samples/HiHats1/hihat17.wav new file mode 100644 index 0000000..72682e5 Binary files /dev/null and b/samples/HiHats1/hihat17.wav differ diff --git a/samples/HiHats1/hihat18.wav b/samples/HiHats1/hihat18.wav new file mode 100644 index 0000000..c55ff16 Binary files /dev/null and b/samples/HiHats1/hihat18.wav differ diff --git a/samples/HiHats1/hihat19.wav b/samples/HiHats1/hihat19.wav new file mode 100644 index 0000000..9bde98d Binary files /dev/null and b/samples/HiHats1/hihat19.wav differ diff --git a/samples/HiHats1/hihat2.wav b/samples/HiHats1/hihat2.wav new file mode 100644 index 0000000..aa2a1fa Binary files /dev/null and b/samples/HiHats1/hihat2.wav differ diff --git a/samples/HiHats1/hihat20.wav b/samples/HiHats1/hihat20.wav new file mode 100644 index 0000000..0f2e325 Binary files /dev/null and b/samples/HiHats1/hihat20.wav differ diff --git a/samples/HiHats1/hihat21.wav b/samples/HiHats1/hihat21.wav new file mode 100644 index 0000000..54b7dd3 Binary files /dev/null and b/samples/HiHats1/hihat21.wav differ diff --git a/samples/HiHats1/hihat22.wav b/samples/HiHats1/hihat22.wav new file mode 100644 index 0000000..cb12513 Binary files /dev/null and b/samples/HiHats1/hihat22.wav differ diff --git a/samples/HiHats1/hihat23.wav b/samples/HiHats1/hihat23.wav new file mode 100644 index 0000000..cca7570 Binary files /dev/null and b/samples/HiHats1/hihat23.wav differ diff --git a/samples/HiHats1/hihat24.wav b/samples/HiHats1/hihat24.wav new file mode 100644 index 0000000..131323d Binary files /dev/null and b/samples/HiHats1/hihat24.wav differ diff --git a/samples/HiHats1/hihat25.wav b/samples/HiHats1/hihat25.wav new file mode 100644 index 0000000..75acd19 Binary files /dev/null and b/samples/HiHats1/hihat25.wav differ diff --git a/samples/HiHats1/hihat26.wav b/samples/HiHats1/hihat26.wav new file mode 100644 index 0000000..063481a Binary files /dev/null and b/samples/HiHats1/hihat26.wav differ diff --git a/samples/HiHats1/hihat27.wav b/samples/HiHats1/hihat27.wav new file mode 100644 index 0000000..be1f928 Binary files /dev/null and b/samples/HiHats1/hihat27.wav differ diff --git a/samples/HiHats1/hihat28.wav b/samples/HiHats1/hihat28.wav new file mode 100644 index 0000000..fbb205e Binary files /dev/null and b/samples/HiHats1/hihat28.wav differ diff --git a/samples/HiHats1/hihat29.wav b/samples/HiHats1/hihat29.wav new file mode 100644 index 0000000..91c61e1 Binary files /dev/null and b/samples/HiHats1/hihat29.wav differ diff --git a/samples/HiHats1/hihat3.wav b/samples/HiHats1/hihat3.wav new file mode 100644 index 0000000..1fa7552 Binary files /dev/null and b/samples/HiHats1/hihat3.wav differ diff --git a/samples/HiHats1/hihat30.wav b/samples/HiHats1/hihat30.wav new file mode 100644 index 0000000..392122c Binary files /dev/null and b/samples/HiHats1/hihat30.wav differ diff --git a/samples/HiHats1/hihat31.wav b/samples/HiHats1/hihat31.wav new file mode 100644 index 0000000..ded77c2 Binary files /dev/null and b/samples/HiHats1/hihat31.wav differ diff --git a/samples/HiHats1/hihat32.wav b/samples/HiHats1/hihat32.wav new file mode 100644 index 0000000..c948818 Binary files /dev/null and b/samples/HiHats1/hihat32.wav differ diff --git a/samples/HiHats1/hihat33.wav b/samples/HiHats1/hihat33.wav new file mode 100644 index 0000000..a4fd3e4 Binary files /dev/null and b/samples/HiHats1/hihat33.wav differ diff --git a/samples/HiHats1/hihat34.wav b/samples/HiHats1/hihat34.wav new file mode 100644 index 0000000..09b74b1 Binary files /dev/null and b/samples/HiHats1/hihat34.wav differ diff --git a/samples/HiHats1/hihat35.wav b/samples/HiHats1/hihat35.wav new file mode 100644 index 0000000..8422a7d Binary files /dev/null and b/samples/HiHats1/hihat35.wav differ diff --git a/samples/HiHats1/hihat36.wav b/samples/HiHats1/hihat36.wav new file mode 100644 index 0000000..3f1c5b8 Binary files /dev/null and b/samples/HiHats1/hihat36.wav differ diff --git a/samples/HiHats1/hihat37.wav b/samples/HiHats1/hihat37.wav new file mode 100644 index 0000000..3ba8c62 Binary files /dev/null and b/samples/HiHats1/hihat37.wav differ diff --git a/samples/HiHats1/hihat38.wav b/samples/HiHats1/hihat38.wav new file mode 100644 index 0000000..1e3668d Binary files /dev/null and b/samples/HiHats1/hihat38.wav differ diff --git a/samples/HiHats1/hihat39.wav b/samples/HiHats1/hihat39.wav new file mode 100644 index 0000000..634b869 Binary files /dev/null and b/samples/HiHats1/hihat39.wav differ diff --git a/samples/HiHats1/hihat4.wav b/samples/HiHats1/hihat4.wav new file mode 100644 index 0000000..f105d1c Binary files /dev/null and b/samples/HiHats1/hihat4.wav differ diff --git a/samples/HiHats1/hihat40.wav b/samples/HiHats1/hihat40.wav new file mode 100644 index 0000000..f52b5fa Binary files /dev/null and b/samples/HiHats1/hihat40.wav differ diff --git a/samples/HiHats1/hihat41.wav b/samples/HiHats1/hihat41.wav new file mode 100644 index 0000000..f47fdcd Binary files /dev/null and b/samples/HiHats1/hihat41.wav differ diff --git a/samples/HiHats1/hihat42.wav b/samples/HiHats1/hihat42.wav new file mode 100644 index 0000000..5451132 Binary files /dev/null and b/samples/HiHats1/hihat42.wav differ diff --git a/samples/HiHats1/hihat43.wav b/samples/HiHats1/hihat43.wav new file mode 100644 index 0000000..3fb6a74 Binary files /dev/null and b/samples/HiHats1/hihat43.wav differ diff --git a/samples/HiHats1/hihat44.wav b/samples/HiHats1/hihat44.wav new file mode 100644 index 0000000..b949e21 Binary files /dev/null and b/samples/HiHats1/hihat44.wav differ diff --git a/samples/HiHats1/hihat45.wav b/samples/HiHats1/hihat45.wav new file mode 100644 index 0000000..782dbf4 Binary files /dev/null and b/samples/HiHats1/hihat45.wav differ diff --git a/samples/HiHats1/hihat46.wav b/samples/HiHats1/hihat46.wav new file mode 100644 index 0000000..a5c90af Binary files /dev/null and b/samples/HiHats1/hihat46.wav differ diff --git a/samples/HiHats1/hihat47.wav b/samples/HiHats1/hihat47.wav new file mode 100644 index 0000000..cec3c66 Binary files /dev/null and b/samples/HiHats1/hihat47.wav differ diff --git a/samples/HiHats1/hihat48.wav b/samples/HiHats1/hihat48.wav new file mode 100644 index 0000000..cd8afff Binary files /dev/null and b/samples/HiHats1/hihat48.wav differ diff --git a/samples/HiHats1/hihat49.wav b/samples/HiHats1/hihat49.wav new file mode 100644 index 0000000..07c54b1 Binary files /dev/null and b/samples/HiHats1/hihat49.wav differ diff --git a/samples/HiHats1/hihat5.wav b/samples/HiHats1/hihat5.wav new file mode 100644 index 0000000..60c44ba Binary files /dev/null and b/samples/HiHats1/hihat5.wav differ diff --git a/samples/HiHats1/hihat50.wav b/samples/HiHats1/hihat50.wav new file mode 100644 index 0000000..fc64f2c Binary files /dev/null and b/samples/HiHats1/hihat50.wav differ diff --git a/samples/HiHats1/hihat6.wav b/samples/HiHats1/hihat6.wav new file mode 100644 index 0000000..95d31c7 Binary files /dev/null and b/samples/HiHats1/hihat6.wav differ diff --git a/samples/HiHats1/hihat7.wav b/samples/HiHats1/hihat7.wav new file mode 100644 index 0000000..c11ac09 Binary files /dev/null and b/samples/HiHats1/hihat7.wav differ diff --git a/samples/HiHats1/hihat8.wav b/samples/HiHats1/hihat8.wav new file mode 100644 index 0000000..5826ab1 Binary files /dev/null and b/samples/HiHats1/hihat8.wav differ diff --git a/samples/HiHats1/hihat9.wav b/samples/HiHats1/hihat9.wav new file mode 100644 index 0000000..f904ccc Binary files /dev/null and b/samples/HiHats1/hihat9.wav differ diff --git a/samples/HiHats2/hihat100.wav b/samples/HiHats2/hihat100.wav new file mode 100644 index 0000000..24dc284 Binary files /dev/null and b/samples/HiHats2/hihat100.wav differ diff --git a/samples/HiHats2/hihat51.wav b/samples/HiHats2/hihat51.wav new file mode 100644 index 0000000..aab7fc2 Binary files /dev/null and b/samples/HiHats2/hihat51.wav differ diff --git a/samples/HiHats2/hihat52.wav b/samples/HiHats2/hihat52.wav new file mode 100644 index 0000000..0338e7a Binary files /dev/null and b/samples/HiHats2/hihat52.wav differ diff --git a/samples/HiHats2/hihat53.wav b/samples/HiHats2/hihat53.wav new file mode 100644 index 0000000..e75bb33 Binary files /dev/null and b/samples/HiHats2/hihat53.wav differ diff --git a/samples/HiHats2/hihat54.wav b/samples/HiHats2/hihat54.wav new file mode 100644 index 0000000..f278b04 Binary files /dev/null and b/samples/HiHats2/hihat54.wav differ diff --git a/samples/HiHats2/hihat55.wav b/samples/HiHats2/hihat55.wav new file mode 100644 index 0000000..66b236d Binary files /dev/null and b/samples/HiHats2/hihat55.wav differ diff --git a/samples/HiHats2/hihat56.wav b/samples/HiHats2/hihat56.wav new file mode 100644 index 0000000..03185b3 Binary files /dev/null and b/samples/HiHats2/hihat56.wav differ diff --git a/samples/HiHats2/hihat57.wav b/samples/HiHats2/hihat57.wav new file mode 100644 index 0000000..b9cceb0 Binary files /dev/null and b/samples/HiHats2/hihat57.wav differ diff --git a/samples/HiHats2/hihat58.wav b/samples/HiHats2/hihat58.wav new file mode 100644 index 0000000..e484ce0 Binary files /dev/null and b/samples/HiHats2/hihat58.wav differ diff --git a/samples/HiHats2/hihat59.wav b/samples/HiHats2/hihat59.wav new file mode 100644 index 0000000..20b8071 Binary files /dev/null and b/samples/HiHats2/hihat59.wav differ diff --git a/samples/HiHats2/hihat60.wav b/samples/HiHats2/hihat60.wav new file mode 100644 index 0000000..92d1d1c Binary files /dev/null and b/samples/HiHats2/hihat60.wav differ diff --git a/samples/HiHats2/hihat61.wav b/samples/HiHats2/hihat61.wav new file mode 100644 index 0000000..b18d4cf Binary files /dev/null and b/samples/HiHats2/hihat61.wav differ diff --git a/samples/HiHats2/hihat62.wav b/samples/HiHats2/hihat62.wav new file mode 100644 index 0000000..e710ef0 Binary files /dev/null and b/samples/HiHats2/hihat62.wav differ diff --git a/samples/HiHats2/hihat63.wav b/samples/HiHats2/hihat63.wav new file mode 100644 index 0000000..db79676 Binary files /dev/null and b/samples/HiHats2/hihat63.wav differ diff --git a/samples/HiHats2/hihat64.wav b/samples/HiHats2/hihat64.wav new file mode 100644 index 0000000..f7f95f7 Binary files /dev/null and b/samples/HiHats2/hihat64.wav differ diff --git a/samples/HiHats2/hihat65.wav b/samples/HiHats2/hihat65.wav new file mode 100644 index 0000000..d2286a9 Binary files /dev/null and b/samples/HiHats2/hihat65.wav differ diff --git a/samples/HiHats2/hihat66.wav b/samples/HiHats2/hihat66.wav new file mode 100644 index 0000000..9fd8f8a Binary files /dev/null and b/samples/HiHats2/hihat66.wav differ diff --git a/samples/HiHats2/hihat67.wav b/samples/HiHats2/hihat67.wav new file mode 100644 index 0000000..49f50ec Binary files /dev/null and b/samples/HiHats2/hihat67.wav differ diff --git a/samples/HiHats2/hihat68.wav b/samples/HiHats2/hihat68.wav new file mode 100644 index 0000000..bd2af27 Binary files /dev/null and b/samples/HiHats2/hihat68.wav differ diff --git a/samples/HiHats2/hihat69.wav b/samples/HiHats2/hihat69.wav new file mode 100644 index 0000000..88a91ed Binary files /dev/null and b/samples/HiHats2/hihat69.wav differ diff --git a/samples/HiHats2/hihat70.wav b/samples/HiHats2/hihat70.wav new file mode 100644 index 0000000..11d49da Binary files /dev/null and b/samples/HiHats2/hihat70.wav differ diff --git a/samples/HiHats2/hihat71.wav b/samples/HiHats2/hihat71.wav new file mode 100644 index 0000000..6f127e0 Binary files /dev/null and b/samples/HiHats2/hihat71.wav differ diff --git a/samples/HiHats2/hihat72.wav b/samples/HiHats2/hihat72.wav new file mode 100644 index 0000000..de5ec0f Binary files /dev/null and b/samples/HiHats2/hihat72.wav differ diff --git a/samples/HiHats2/hihat73.wav b/samples/HiHats2/hihat73.wav new file mode 100644 index 0000000..d07edcc Binary files /dev/null and b/samples/HiHats2/hihat73.wav differ diff --git a/samples/HiHats2/hihat74.wav b/samples/HiHats2/hihat74.wav new file mode 100644 index 0000000..d6460e6 Binary files /dev/null and b/samples/HiHats2/hihat74.wav differ diff --git a/samples/HiHats2/hihat75.wav b/samples/HiHats2/hihat75.wav new file mode 100644 index 0000000..364f265 Binary files /dev/null and b/samples/HiHats2/hihat75.wav differ diff --git a/samples/HiHats2/hihat76.wav b/samples/HiHats2/hihat76.wav new file mode 100644 index 0000000..14a8395 Binary files /dev/null and b/samples/HiHats2/hihat76.wav differ diff --git a/samples/HiHats2/hihat77.wav b/samples/HiHats2/hihat77.wav new file mode 100644 index 0000000..20ca618 Binary files /dev/null and b/samples/HiHats2/hihat77.wav differ diff --git a/samples/HiHats2/hihat78.wav b/samples/HiHats2/hihat78.wav new file mode 100644 index 0000000..4f57796 Binary files /dev/null and b/samples/HiHats2/hihat78.wav differ diff --git a/samples/HiHats2/hihat79.wav b/samples/HiHats2/hihat79.wav new file mode 100644 index 0000000..71a6ea7 Binary files /dev/null and b/samples/HiHats2/hihat79.wav differ diff --git a/samples/HiHats2/hihat80.wav b/samples/HiHats2/hihat80.wav new file mode 100644 index 0000000..63fdf8d Binary files /dev/null and b/samples/HiHats2/hihat80.wav differ diff --git a/samples/HiHats2/hihat81.wav b/samples/HiHats2/hihat81.wav new file mode 100644 index 0000000..d1530c7 Binary files /dev/null and b/samples/HiHats2/hihat81.wav differ diff --git a/samples/HiHats2/hihat82.wav b/samples/HiHats2/hihat82.wav new file mode 100644 index 0000000..738ceb5 Binary files /dev/null and b/samples/HiHats2/hihat82.wav differ diff --git a/samples/HiHats2/hihat83.wav b/samples/HiHats2/hihat83.wav new file mode 100644 index 0000000..3840d46 Binary files /dev/null and b/samples/HiHats2/hihat83.wav differ diff --git a/samples/HiHats2/hihat84.wav b/samples/HiHats2/hihat84.wav new file mode 100644 index 0000000..c209f0e Binary files /dev/null and b/samples/HiHats2/hihat84.wav differ diff --git a/samples/HiHats2/hihat85.wav b/samples/HiHats2/hihat85.wav new file mode 100644 index 0000000..3a53098 Binary files /dev/null and b/samples/HiHats2/hihat85.wav differ diff --git a/samples/HiHats2/hihat86.wav b/samples/HiHats2/hihat86.wav new file mode 100644 index 0000000..3f79800 Binary files /dev/null and b/samples/HiHats2/hihat86.wav differ diff --git a/samples/HiHats2/hihat87.wav b/samples/HiHats2/hihat87.wav new file mode 100644 index 0000000..6ccdc97 Binary files /dev/null and b/samples/HiHats2/hihat87.wav differ diff --git a/samples/HiHats2/hihat88.wav b/samples/HiHats2/hihat88.wav new file mode 100644 index 0000000..9254177 Binary files /dev/null and b/samples/HiHats2/hihat88.wav differ diff --git a/samples/HiHats2/hihat89.wav b/samples/HiHats2/hihat89.wav new file mode 100644 index 0000000..7de3750 Binary files /dev/null and b/samples/HiHats2/hihat89.wav differ diff --git a/samples/HiHats2/hihat90.wav b/samples/HiHats2/hihat90.wav new file mode 100644 index 0000000..bfffc8e Binary files /dev/null and b/samples/HiHats2/hihat90.wav differ diff --git a/samples/HiHats2/hihat91.wav b/samples/HiHats2/hihat91.wav new file mode 100644 index 0000000..95d5950 Binary files /dev/null and b/samples/HiHats2/hihat91.wav differ diff --git a/samples/HiHats2/hihat92.wav b/samples/HiHats2/hihat92.wav new file mode 100644 index 0000000..f262bd1 Binary files /dev/null and b/samples/HiHats2/hihat92.wav differ diff --git a/samples/HiHats2/hihat93.wav b/samples/HiHats2/hihat93.wav new file mode 100644 index 0000000..cdc1310 Binary files /dev/null and b/samples/HiHats2/hihat93.wav differ diff --git a/samples/HiHats2/hihat94.wav b/samples/HiHats2/hihat94.wav new file mode 100644 index 0000000..36fda10 Binary files /dev/null and b/samples/HiHats2/hihat94.wav differ diff --git a/samples/HiHats2/hihat95.wav b/samples/HiHats2/hihat95.wav new file mode 100644 index 0000000..590d28c Binary files /dev/null and b/samples/HiHats2/hihat95.wav differ diff --git a/samples/HiHats2/hihat96.wav b/samples/HiHats2/hihat96.wav new file mode 100644 index 0000000..b915933 Binary files /dev/null and b/samples/HiHats2/hihat96.wav differ diff --git a/samples/HiHats2/hihat97.wav b/samples/HiHats2/hihat97.wav new file mode 100644 index 0000000..3061eff Binary files /dev/null and b/samples/HiHats2/hihat97.wav differ diff --git a/samples/HiHats2/hihat98.wav b/samples/HiHats2/hihat98.wav new file mode 100644 index 0000000..742abfb Binary files /dev/null and b/samples/HiHats2/hihat98.wav differ diff --git a/samples/HiHats2/hihat99.wav b/samples/HiHats2/hihat99.wav new file mode 100644 index 0000000..61a4282 Binary files /dev/null and b/samples/HiHats2/hihat99.wav differ diff --git a/samples/KettleDrums/kettledrum1.wav b/samples/KettleDrums/kettledrum1.wav new file mode 100644 index 0000000..3c70302 Binary files /dev/null and b/samples/KettleDrums/kettledrum1.wav differ diff --git a/samples/KettleDrums/kettledrum10.wav b/samples/KettleDrums/kettledrum10.wav new file mode 100644 index 0000000..c18b09a Binary files /dev/null and b/samples/KettleDrums/kettledrum10.wav differ diff --git a/samples/KettleDrums/kettledrum2.wav b/samples/KettleDrums/kettledrum2.wav new file mode 100644 index 0000000..dcf5808 Binary files /dev/null and b/samples/KettleDrums/kettledrum2.wav differ diff --git a/samples/KettleDrums/kettledrum3.wav b/samples/KettleDrums/kettledrum3.wav new file mode 100644 index 0000000..69328fc Binary files /dev/null and b/samples/KettleDrums/kettledrum3.wav differ diff --git a/samples/KettleDrums/kettledrum4.wav b/samples/KettleDrums/kettledrum4.wav new file mode 100644 index 0000000..19d50c9 Binary files /dev/null and b/samples/KettleDrums/kettledrum4.wav differ diff --git a/samples/KettleDrums/kettledrum5.wav b/samples/KettleDrums/kettledrum5.wav new file mode 100644 index 0000000..b61b154 Binary files /dev/null and b/samples/KettleDrums/kettledrum5.wav differ diff --git a/samples/KettleDrums/kettledrum6.wav b/samples/KettleDrums/kettledrum6.wav new file mode 100644 index 0000000..3dd308d Binary files /dev/null and b/samples/KettleDrums/kettledrum6.wav differ diff --git a/samples/KettleDrums/kettledrum7.wav b/samples/KettleDrums/kettledrum7.wav new file mode 100644 index 0000000..8805fd3 Binary files /dev/null and b/samples/KettleDrums/kettledrum7.wav differ diff --git a/samples/KettleDrums/kettledrum8.wav b/samples/KettleDrums/kettledrum8.wav new file mode 100644 index 0000000..30e7ccb Binary files /dev/null and b/samples/KettleDrums/kettledrum8.wav differ diff --git a/samples/KettleDrums/kettledrum9.wav b/samples/KettleDrums/kettledrum9.wav new file mode 100644 index 0000000..151bbf0 Binary files /dev/null and b/samples/KettleDrums/kettledrum9.wav differ diff --git a/samples/KickDrums1/kickdrum1.wav b/samples/KickDrums1/kickdrum1.wav new file mode 100644 index 0000000..25977b4 Binary files /dev/null and b/samples/KickDrums1/kickdrum1.wav differ diff --git a/samples/KickDrums1/kickdrum10.wav b/samples/KickDrums1/kickdrum10.wav new file mode 100644 index 0000000..f0b6505 Binary files /dev/null and b/samples/KickDrums1/kickdrum10.wav differ diff --git a/samples/KickDrums1/kickdrum11.wav b/samples/KickDrums1/kickdrum11.wav new file mode 100644 index 0000000..9625746 Binary files /dev/null and b/samples/KickDrums1/kickdrum11.wav differ diff --git a/samples/KickDrums1/kickdrum12.wav b/samples/KickDrums1/kickdrum12.wav new file mode 100644 index 0000000..5af263d Binary files /dev/null and b/samples/KickDrums1/kickdrum12.wav differ diff --git a/samples/KickDrums1/kickdrum13.wav b/samples/KickDrums1/kickdrum13.wav new file mode 100644 index 0000000..30769ec Binary files /dev/null and b/samples/KickDrums1/kickdrum13.wav differ diff --git a/samples/KickDrums1/kickdrum14.wav b/samples/KickDrums1/kickdrum14.wav new file mode 100644 index 0000000..1d84fb7 Binary files /dev/null and b/samples/KickDrums1/kickdrum14.wav differ diff --git a/samples/KickDrums1/kickdrum15.wav b/samples/KickDrums1/kickdrum15.wav new file mode 100644 index 0000000..1c57f9a Binary files /dev/null and b/samples/KickDrums1/kickdrum15.wav differ diff --git a/samples/KickDrums1/kickdrum16.wav b/samples/KickDrums1/kickdrum16.wav new file mode 100644 index 0000000..d33aa24 Binary files /dev/null and b/samples/KickDrums1/kickdrum16.wav differ diff --git a/samples/KickDrums1/kickdrum17.wav b/samples/KickDrums1/kickdrum17.wav new file mode 100644 index 0000000..6c94e7e Binary files /dev/null and b/samples/KickDrums1/kickdrum17.wav differ diff --git a/samples/KickDrums1/kickdrum18.wav b/samples/KickDrums1/kickdrum18.wav new file mode 100644 index 0000000..4601aec Binary files /dev/null and b/samples/KickDrums1/kickdrum18.wav differ diff --git a/samples/KickDrums1/kickdrum19.wav b/samples/KickDrums1/kickdrum19.wav new file mode 100644 index 0000000..0a70876 Binary files /dev/null and b/samples/KickDrums1/kickdrum19.wav differ diff --git a/samples/KickDrums1/kickdrum2.wav b/samples/KickDrums1/kickdrum2.wav new file mode 100644 index 0000000..eb4d96a Binary files /dev/null and b/samples/KickDrums1/kickdrum2.wav differ diff --git a/samples/KickDrums1/kickdrum20.wav b/samples/KickDrums1/kickdrum20.wav new file mode 100644 index 0000000..a84f323 Binary files /dev/null and b/samples/KickDrums1/kickdrum20.wav differ diff --git a/samples/KickDrums1/kickdrum21.wav b/samples/KickDrums1/kickdrum21.wav new file mode 100644 index 0000000..20ac92f Binary files /dev/null and b/samples/KickDrums1/kickdrum21.wav differ diff --git a/samples/KickDrums1/kickdrum22.wav b/samples/KickDrums1/kickdrum22.wav new file mode 100644 index 0000000..93a8280 Binary files /dev/null and b/samples/KickDrums1/kickdrum22.wav differ diff --git a/samples/KickDrums1/kickdrum23.wav b/samples/KickDrums1/kickdrum23.wav new file mode 100644 index 0000000..b044d6b Binary files /dev/null and b/samples/KickDrums1/kickdrum23.wav differ diff --git a/samples/KickDrums1/kickdrum24.wav b/samples/KickDrums1/kickdrum24.wav new file mode 100644 index 0000000..04b2429 Binary files /dev/null and b/samples/KickDrums1/kickdrum24.wav differ diff --git a/samples/KickDrums1/kickdrum25.wav b/samples/KickDrums1/kickdrum25.wav new file mode 100644 index 0000000..bf9aef6 Binary files /dev/null and b/samples/KickDrums1/kickdrum25.wav differ diff --git a/samples/KickDrums1/kickdrum26.wav b/samples/KickDrums1/kickdrum26.wav new file mode 100644 index 0000000..c092224 Binary files /dev/null and b/samples/KickDrums1/kickdrum26.wav differ diff --git a/samples/KickDrums1/kickdrum27.wav b/samples/KickDrums1/kickdrum27.wav new file mode 100644 index 0000000..6b1331c Binary files /dev/null and b/samples/KickDrums1/kickdrum27.wav differ diff --git a/samples/KickDrums1/kickdrum28.wav b/samples/KickDrums1/kickdrum28.wav new file mode 100644 index 0000000..33c833c Binary files /dev/null and b/samples/KickDrums1/kickdrum28.wav differ diff --git a/samples/KickDrums1/kickdrum29.wav b/samples/KickDrums1/kickdrum29.wav new file mode 100644 index 0000000..2cccb74 Binary files /dev/null and b/samples/KickDrums1/kickdrum29.wav differ diff --git a/samples/KickDrums1/kickdrum3.wav b/samples/KickDrums1/kickdrum3.wav new file mode 100644 index 0000000..6cef011 Binary files /dev/null and b/samples/KickDrums1/kickdrum3.wav differ diff --git a/samples/KickDrums1/kickdrum30.wav b/samples/KickDrums1/kickdrum30.wav new file mode 100644 index 0000000..83afc44 Binary files /dev/null and b/samples/KickDrums1/kickdrum30.wav differ diff --git a/samples/KickDrums1/kickdrum31.wav b/samples/KickDrums1/kickdrum31.wav new file mode 100644 index 0000000..34da196 Binary files /dev/null and b/samples/KickDrums1/kickdrum31.wav differ diff --git a/samples/KickDrums1/kickdrum32.wav b/samples/KickDrums1/kickdrum32.wav new file mode 100644 index 0000000..405b08b Binary files /dev/null and b/samples/KickDrums1/kickdrum32.wav differ diff --git a/samples/KickDrums1/kickdrum33.wav b/samples/KickDrums1/kickdrum33.wav new file mode 100644 index 0000000..b1d9808 Binary files /dev/null and b/samples/KickDrums1/kickdrum33.wav differ diff --git a/samples/KickDrums1/kickdrum34.wav b/samples/KickDrums1/kickdrum34.wav new file mode 100644 index 0000000..a0ddeae Binary files /dev/null and b/samples/KickDrums1/kickdrum34.wav differ diff --git a/samples/KickDrums1/kickdrum35.wav b/samples/KickDrums1/kickdrum35.wav new file mode 100644 index 0000000..04d041d Binary files /dev/null and b/samples/KickDrums1/kickdrum35.wav differ diff --git a/samples/KickDrums1/kickdrum36.wav b/samples/KickDrums1/kickdrum36.wav new file mode 100644 index 0000000..7a756c3 Binary files /dev/null and b/samples/KickDrums1/kickdrum36.wav differ diff --git a/samples/KickDrums1/kickdrum37.wav b/samples/KickDrums1/kickdrum37.wav new file mode 100644 index 0000000..22aa5f9 Binary files /dev/null and b/samples/KickDrums1/kickdrum37.wav differ diff --git a/samples/KickDrums1/kickdrum38.wav b/samples/KickDrums1/kickdrum38.wav new file mode 100644 index 0000000..69a0910 Binary files /dev/null and b/samples/KickDrums1/kickdrum38.wav differ diff --git a/samples/KickDrums1/kickdrum39.wav b/samples/KickDrums1/kickdrum39.wav new file mode 100644 index 0000000..65d54d8 Binary files /dev/null and b/samples/KickDrums1/kickdrum39.wav differ diff --git a/samples/KickDrums1/kickdrum4.wav b/samples/KickDrums1/kickdrum4.wav new file mode 100644 index 0000000..5d5a646 Binary files /dev/null and b/samples/KickDrums1/kickdrum4.wav differ diff --git a/samples/KickDrums1/kickdrum40.wav b/samples/KickDrums1/kickdrum40.wav new file mode 100644 index 0000000..5756b52 Binary files /dev/null and b/samples/KickDrums1/kickdrum40.wav differ diff --git a/samples/KickDrums1/kickdrum41.wav b/samples/KickDrums1/kickdrum41.wav new file mode 100644 index 0000000..223e023 Binary files /dev/null and b/samples/KickDrums1/kickdrum41.wav differ diff --git a/samples/KickDrums1/kickdrum42.wav b/samples/KickDrums1/kickdrum42.wav new file mode 100644 index 0000000..a7ebd28 Binary files /dev/null and b/samples/KickDrums1/kickdrum42.wav differ diff --git a/samples/KickDrums1/kickdrum43.wav b/samples/KickDrums1/kickdrum43.wav new file mode 100644 index 0000000..76110df Binary files /dev/null and b/samples/KickDrums1/kickdrum43.wav differ diff --git a/samples/KickDrums1/kickdrum44.wav b/samples/KickDrums1/kickdrum44.wav new file mode 100644 index 0000000..a667012 Binary files /dev/null and b/samples/KickDrums1/kickdrum44.wav differ diff --git a/samples/KickDrums1/kickdrum45.wav b/samples/KickDrums1/kickdrum45.wav new file mode 100644 index 0000000..8a58280 Binary files /dev/null and b/samples/KickDrums1/kickdrum45.wav differ diff --git a/samples/KickDrums1/kickdrum46.wav b/samples/KickDrums1/kickdrum46.wav new file mode 100644 index 0000000..02cd635 Binary files /dev/null and b/samples/KickDrums1/kickdrum46.wav differ diff --git a/samples/KickDrums1/kickdrum47.wav b/samples/KickDrums1/kickdrum47.wav new file mode 100644 index 0000000..0747d35 Binary files /dev/null and b/samples/KickDrums1/kickdrum47.wav differ diff --git a/samples/KickDrums1/kickdrum48.wav b/samples/KickDrums1/kickdrum48.wav new file mode 100644 index 0000000..6818642 Binary files /dev/null and b/samples/KickDrums1/kickdrum48.wav differ diff --git a/samples/KickDrums1/kickdrum49.wav b/samples/KickDrums1/kickdrum49.wav new file mode 100644 index 0000000..6f71d4b Binary files /dev/null and b/samples/KickDrums1/kickdrum49.wav differ diff --git a/samples/KickDrums1/kickdrum5.wav b/samples/KickDrums1/kickdrum5.wav new file mode 100644 index 0000000..461bf22 Binary files /dev/null and b/samples/KickDrums1/kickdrum5.wav differ diff --git a/samples/KickDrums1/kickdrum50.wav b/samples/KickDrums1/kickdrum50.wav new file mode 100644 index 0000000..d59f24f Binary files /dev/null and b/samples/KickDrums1/kickdrum50.wav differ diff --git a/samples/KickDrums1/kickdrum6.wav b/samples/KickDrums1/kickdrum6.wav new file mode 100644 index 0000000..23361b9 Binary files /dev/null and b/samples/KickDrums1/kickdrum6.wav differ diff --git a/samples/KickDrums1/kickdrum7.wav b/samples/KickDrums1/kickdrum7.wav new file mode 100644 index 0000000..ae34132 Binary files /dev/null and b/samples/KickDrums1/kickdrum7.wav differ diff --git a/samples/KickDrums1/kickdrum8.wav b/samples/KickDrums1/kickdrum8.wav new file mode 100644 index 0000000..0fac2bb Binary files /dev/null and b/samples/KickDrums1/kickdrum8.wav differ diff --git a/samples/KickDrums1/kickdrum9.wav b/samples/KickDrums1/kickdrum9.wav new file mode 100644 index 0000000..90bc5c8 Binary files /dev/null and b/samples/KickDrums1/kickdrum9.wav differ diff --git a/samples/KickDrums2/kickdrum100.wav b/samples/KickDrums2/kickdrum100.wav new file mode 100644 index 0000000..783e06e Binary files /dev/null and b/samples/KickDrums2/kickdrum100.wav differ diff --git a/samples/KickDrums2/kickdrum51.wav b/samples/KickDrums2/kickdrum51.wav new file mode 100644 index 0000000..3e5cb70 Binary files /dev/null and b/samples/KickDrums2/kickdrum51.wav differ diff --git a/samples/KickDrums2/kickdrum52.wav b/samples/KickDrums2/kickdrum52.wav new file mode 100644 index 0000000..44f04f1 Binary files /dev/null and b/samples/KickDrums2/kickdrum52.wav differ diff --git a/samples/KickDrums2/kickdrum53.wav b/samples/KickDrums2/kickdrum53.wav new file mode 100644 index 0000000..1517b91 Binary files /dev/null and b/samples/KickDrums2/kickdrum53.wav differ diff --git a/samples/KickDrums2/kickdrum54.wav b/samples/KickDrums2/kickdrum54.wav new file mode 100644 index 0000000..4c7b605 Binary files /dev/null and b/samples/KickDrums2/kickdrum54.wav differ diff --git a/samples/KickDrums2/kickdrum55.wav b/samples/KickDrums2/kickdrum55.wav new file mode 100644 index 0000000..b382cd0 Binary files /dev/null and b/samples/KickDrums2/kickdrum55.wav differ diff --git a/samples/KickDrums2/kickdrum56.wav b/samples/KickDrums2/kickdrum56.wav new file mode 100644 index 0000000..11b6fa9 Binary files /dev/null and b/samples/KickDrums2/kickdrum56.wav differ diff --git a/samples/KickDrums2/kickdrum57.wav b/samples/KickDrums2/kickdrum57.wav new file mode 100644 index 0000000..090bd10 Binary files /dev/null and b/samples/KickDrums2/kickdrum57.wav differ diff --git a/samples/KickDrums2/kickdrum58.wav b/samples/KickDrums2/kickdrum58.wav new file mode 100644 index 0000000..33d31a2 Binary files /dev/null and b/samples/KickDrums2/kickdrum58.wav differ diff --git a/samples/KickDrums2/kickdrum59.wav b/samples/KickDrums2/kickdrum59.wav new file mode 100644 index 0000000..7deffe8 Binary files /dev/null and b/samples/KickDrums2/kickdrum59.wav differ diff --git a/samples/KickDrums2/kickdrum60.wav b/samples/KickDrums2/kickdrum60.wav new file mode 100644 index 0000000..cb57b3c Binary files /dev/null and b/samples/KickDrums2/kickdrum60.wav differ diff --git a/samples/KickDrums2/kickdrum61.wav b/samples/KickDrums2/kickdrum61.wav new file mode 100644 index 0000000..124cb22 Binary files /dev/null and b/samples/KickDrums2/kickdrum61.wav differ diff --git a/samples/KickDrums2/kickdrum62.wav b/samples/KickDrums2/kickdrum62.wav new file mode 100644 index 0000000..0cfc5d4 Binary files /dev/null and b/samples/KickDrums2/kickdrum62.wav differ diff --git a/samples/KickDrums2/kickdrum63.wav b/samples/KickDrums2/kickdrum63.wav new file mode 100644 index 0000000..074bacd Binary files /dev/null and b/samples/KickDrums2/kickdrum63.wav differ diff --git a/samples/KickDrums2/kickdrum64.wav b/samples/KickDrums2/kickdrum64.wav new file mode 100644 index 0000000..24256b3 Binary files /dev/null and b/samples/KickDrums2/kickdrum64.wav differ diff --git a/samples/KickDrums2/kickdrum65.wav b/samples/KickDrums2/kickdrum65.wav new file mode 100644 index 0000000..6669a16 Binary files /dev/null and b/samples/KickDrums2/kickdrum65.wav differ diff --git a/samples/KickDrums2/kickdrum66.wav b/samples/KickDrums2/kickdrum66.wav new file mode 100644 index 0000000..4aad060 Binary files /dev/null and b/samples/KickDrums2/kickdrum66.wav differ diff --git a/samples/KickDrums2/kickdrum67.wav b/samples/KickDrums2/kickdrum67.wav new file mode 100644 index 0000000..3ffe888 Binary files /dev/null and b/samples/KickDrums2/kickdrum67.wav differ diff --git a/samples/KickDrums2/kickdrum68.wav b/samples/KickDrums2/kickdrum68.wav new file mode 100644 index 0000000..ee1ba24 Binary files /dev/null and b/samples/KickDrums2/kickdrum68.wav differ diff --git a/samples/KickDrums2/kickdrum69.wav b/samples/KickDrums2/kickdrum69.wav new file mode 100644 index 0000000..88a5b35 Binary files /dev/null and b/samples/KickDrums2/kickdrum69.wav differ diff --git a/samples/KickDrums2/kickdrum70.wav b/samples/KickDrums2/kickdrum70.wav new file mode 100644 index 0000000..342251c Binary files /dev/null and b/samples/KickDrums2/kickdrum70.wav differ diff --git a/samples/KickDrums2/kickdrum71.wav b/samples/KickDrums2/kickdrum71.wav new file mode 100644 index 0000000..30a554f Binary files /dev/null and b/samples/KickDrums2/kickdrum71.wav differ diff --git a/samples/KickDrums2/kickdrum72.wav b/samples/KickDrums2/kickdrum72.wav new file mode 100644 index 0000000..26a3a9f Binary files /dev/null and b/samples/KickDrums2/kickdrum72.wav differ diff --git a/samples/KickDrums2/kickdrum73.wav b/samples/KickDrums2/kickdrum73.wav new file mode 100644 index 0000000..f020b0d Binary files /dev/null and b/samples/KickDrums2/kickdrum73.wav differ diff --git a/samples/KickDrums2/kickdrum74.wav b/samples/KickDrums2/kickdrum74.wav new file mode 100644 index 0000000..4462c45 Binary files /dev/null and b/samples/KickDrums2/kickdrum74.wav differ diff --git a/samples/KickDrums2/kickdrum75.wav b/samples/KickDrums2/kickdrum75.wav new file mode 100644 index 0000000..0307e3a Binary files /dev/null and b/samples/KickDrums2/kickdrum75.wav differ diff --git a/samples/KickDrums2/kickdrum76.wav b/samples/KickDrums2/kickdrum76.wav new file mode 100644 index 0000000..c046423 Binary files /dev/null and b/samples/KickDrums2/kickdrum76.wav differ diff --git a/samples/KickDrums2/kickdrum77.wav b/samples/KickDrums2/kickdrum77.wav new file mode 100644 index 0000000..e838b76 Binary files /dev/null and b/samples/KickDrums2/kickdrum77.wav differ diff --git a/samples/KickDrums2/kickdrum78.wav b/samples/KickDrums2/kickdrum78.wav new file mode 100644 index 0000000..d9cde10 Binary files /dev/null and b/samples/KickDrums2/kickdrum78.wav differ diff --git a/samples/KickDrums2/kickdrum79.wav b/samples/KickDrums2/kickdrum79.wav new file mode 100644 index 0000000..6bd93cb Binary files /dev/null and b/samples/KickDrums2/kickdrum79.wav differ diff --git a/samples/KickDrums2/kickdrum80.wav b/samples/KickDrums2/kickdrum80.wav new file mode 100644 index 0000000..ae89f59 Binary files /dev/null and b/samples/KickDrums2/kickdrum80.wav differ diff --git a/samples/KickDrums2/kickdrum81.wav b/samples/KickDrums2/kickdrum81.wav new file mode 100644 index 0000000..3a4a8c6 Binary files /dev/null and b/samples/KickDrums2/kickdrum81.wav differ diff --git a/samples/KickDrums2/kickdrum82.wav b/samples/KickDrums2/kickdrum82.wav new file mode 100644 index 0000000..a437f99 Binary files /dev/null and b/samples/KickDrums2/kickdrum82.wav differ diff --git a/samples/KickDrums2/kickdrum83.wav b/samples/KickDrums2/kickdrum83.wav new file mode 100644 index 0000000..e5a9b63 Binary files /dev/null and b/samples/KickDrums2/kickdrum83.wav differ diff --git a/samples/KickDrums2/kickdrum84.wav b/samples/KickDrums2/kickdrum84.wav new file mode 100644 index 0000000..ecbdd81 Binary files /dev/null and b/samples/KickDrums2/kickdrum84.wav differ diff --git a/samples/KickDrums2/kickdrum85.wav b/samples/KickDrums2/kickdrum85.wav new file mode 100644 index 0000000..60cd463 Binary files /dev/null and b/samples/KickDrums2/kickdrum85.wav differ diff --git a/samples/KickDrums2/kickdrum86.wav b/samples/KickDrums2/kickdrum86.wav new file mode 100644 index 0000000..50a3152 Binary files /dev/null and b/samples/KickDrums2/kickdrum86.wav differ diff --git a/samples/KickDrums2/kickdrum87.wav b/samples/KickDrums2/kickdrum87.wav new file mode 100644 index 0000000..8544dd3 Binary files /dev/null and b/samples/KickDrums2/kickdrum87.wav differ diff --git a/samples/KickDrums2/kickdrum88.wav b/samples/KickDrums2/kickdrum88.wav new file mode 100644 index 0000000..c92a5c4 Binary files /dev/null and b/samples/KickDrums2/kickdrum88.wav differ diff --git a/samples/KickDrums2/kickdrum89.wav b/samples/KickDrums2/kickdrum89.wav new file mode 100644 index 0000000..c2e063b Binary files /dev/null and b/samples/KickDrums2/kickdrum89.wav differ diff --git a/samples/KickDrums2/kickdrum90.wav b/samples/KickDrums2/kickdrum90.wav new file mode 100644 index 0000000..d1c3b56 Binary files /dev/null and b/samples/KickDrums2/kickdrum90.wav differ diff --git a/samples/KickDrums2/kickdrum91.wav b/samples/KickDrums2/kickdrum91.wav new file mode 100644 index 0000000..83610b5 Binary files /dev/null and b/samples/KickDrums2/kickdrum91.wav differ diff --git a/samples/KickDrums2/kickdrum92.wav b/samples/KickDrums2/kickdrum92.wav new file mode 100644 index 0000000..2afe0fd Binary files /dev/null and b/samples/KickDrums2/kickdrum92.wav differ diff --git a/samples/KickDrums2/kickdrum93.wav b/samples/KickDrums2/kickdrum93.wav new file mode 100644 index 0000000..f25a54c Binary files /dev/null and b/samples/KickDrums2/kickdrum93.wav differ diff --git a/samples/KickDrums2/kickdrum94.wav b/samples/KickDrums2/kickdrum94.wav new file mode 100644 index 0000000..25aaeb0 Binary files /dev/null and b/samples/KickDrums2/kickdrum94.wav differ diff --git a/samples/KickDrums2/kickdrum95.wav b/samples/KickDrums2/kickdrum95.wav new file mode 100644 index 0000000..1ac8825 Binary files /dev/null and b/samples/KickDrums2/kickdrum95.wav differ diff --git a/samples/KickDrums2/kickdrum96.wav b/samples/KickDrums2/kickdrum96.wav new file mode 100644 index 0000000..258396d Binary files /dev/null and b/samples/KickDrums2/kickdrum96.wav differ diff --git a/samples/KickDrums2/kickdrum97.wav b/samples/KickDrums2/kickdrum97.wav new file mode 100644 index 0000000..f41e363 Binary files /dev/null and b/samples/KickDrums2/kickdrum97.wav differ diff --git a/samples/KickDrums2/kickdrum98.wav b/samples/KickDrums2/kickdrum98.wav new file mode 100644 index 0000000..f39c826 Binary files /dev/null and b/samples/KickDrums2/kickdrum98.wav differ diff --git a/samples/KickDrums2/kickdrum99.wav b/samples/KickDrums2/kickdrum99.wav new file mode 100644 index 0000000..fb95fd0 Binary files /dev/null and b/samples/KickDrums2/kickdrum99.wav differ diff --git a/samples/KickDrums3/kickdrum101.wav b/samples/KickDrums3/kickdrum101.wav new file mode 100644 index 0000000..6fd618a Binary files /dev/null and b/samples/KickDrums3/kickdrum101.wav differ diff --git a/samples/KickDrums3/kickdrum102.wav b/samples/KickDrums3/kickdrum102.wav new file mode 100644 index 0000000..946abe4 Binary files /dev/null and b/samples/KickDrums3/kickdrum102.wav differ diff --git a/samples/KickDrums3/kickdrum103.wav b/samples/KickDrums3/kickdrum103.wav new file mode 100644 index 0000000..858eea8 Binary files /dev/null and b/samples/KickDrums3/kickdrum103.wav differ diff --git a/samples/KickDrums3/kickdrum104.wav b/samples/KickDrums3/kickdrum104.wav new file mode 100644 index 0000000..dd91345 Binary files /dev/null and b/samples/KickDrums3/kickdrum104.wav differ diff --git a/samples/KickDrums3/kickdrum105.wav b/samples/KickDrums3/kickdrum105.wav new file mode 100644 index 0000000..add9e1d Binary files /dev/null and b/samples/KickDrums3/kickdrum105.wav differ diff --git a/samples/KickDrums3/kickdrum106.wav b/samples/KickDrums3/kickdrum106.wav new file mode 100644 index 0000000..f3005cc Binary files /dev/null and b/samples/KickDrums3/kickdrum106.wav differ diff --git a/samples/KickDrums3/kickdrum107.wav b/samples/KickDrums3/kickdrum107.wav new file mode 100644 index 0000000..b4b0d75 Binary files /dev/null and b/samples/KickDrums3/kickdrum107.wav differ diff --git a/samples/KickDrums3/kickdrum108.wav b/samples/KickDrums3/kickdrum108.wav new file mode 100644 index 0000000..7039b6d Binary files /dev/null and b/samples/KickDrums3/kickdrum108.wav differ diff --git a/samples/KickDrums3/kickdrum109.wav b/samples/KickDrums3/kickdrum109.wav new file mode 100644 index 0000000..95ae8e8 Binary files /dev/null and b/samples/KickDrums3/kickdrum109.wav differ diff --git a/samples/KickDrums3/kickdrum110.wav b/samples/KickDrums3/kickdrum110.wav new file mode 100644 index 0000000..4a84ec7 Binary files /dev/null and b/samples/KickDrums3/kickdrum110.wav differ diff --git a/samples/KickDrums3/kickdrum111.wav b/samples/KickDrums3/kickdrum111.wav new file mode 100644 index 0000000..ebcaf77 Binary files /dev/null and b/samples/KickDrums3/kickdrum111.wav differ diff --git a/samples/KickDrums3/kickdrum112.wav b/samples/KickDrums3/kickdrum112.wav new file mode 100644 index 0000000..3be2501 Binary files /dev/null and b/samples/KickDrums3/kickdrum112.wav differ diff --git a/samples/KickDrums3/kickdrum113.wav b/samples/KickDrums3/kickdrum113.wav new file mode 100644 index 0000000..9b7f69a Binary files /dev/null and b/samples/KickDrums3/kickdrum113.wav differ diff --git a/samples/KickDrums3/kickdrum114.wav b/samples/KickDrums3/kickdrum114.wav new file mode 100644 index 0000000..705164d Binary files /dev/null and b/samples/KickDrums3/kickdrum114.wav differ diff --git a/samples/KickDrums3/kickdrum115.wav b/samples/KickDrums3/kickdrum115.wav new file mode 100644 index 0000000..e273093 Binary files /dev/null and b/samples/KickDrums3/kickdrum115.wav differ diff --git a/samples/KickDrums3/kickdrum116.wav b/samples/KickDrums3/kickdrum116.wav new file mode 100644 index 0000000..847a0aa Binary files /dev/null and b/samples/KickDrums3/kickdrum116.wav differ diff --git a/samples/KickDrums3/kickdrum117.wav b/samples/KickDrums3/kickdrum117.wav new file mode 100644 index 0000000..bb2d9b0 Binary files /dev/null and b/samples/KickDrums3/kickdrum117.wav differ diff --git a/samples/KickDrums3/kickdrum118.wav b/samples/KickDrums3/kickdrum118.wav new file mode 100644 index 0000000..8e80f65 Binary files /dev/null and b/samples/KickDrums3/kickdrum118.wav differ diff --git a/samples/KickDrums3/kickdrum119.wav b/samples/KickDrums3/kickdrum119.wav new file mode 100644 index 0000000..cbe1a73 Binary files /dev/null and b/samples/KickDrums3/kickdrum119.wav differ diff --git a/samples/KickDrums3/kickdrum120.wav b/samples/KickDrums3/kickdrum120.wav new file mode 100644 index 0000000..d9f9b02 Binary files /dev/null and b/samples/KickDrums3/kickdrum120.wav differ diff --git a/samples/KickDrums3/kickdrum121.wav b/samples/KickDrums3/kickdrum121.wav new file mode 100644 index 0000000..2aa2b24 Binary files /dev/null and b/samples/KickDrums3/kickdrum121.wav differ diff --git a/samples/KickDrums3/kickdrum122.wav b/samples/KickDrums3/kickdrum122.wav new file mode 100644 index 0000000..feea03c Binary files /dev/null and b/samples/KickDrums3/kickdrum122.wav differ diff --git a/samples/KickDrums3/kickdrum123.wav b/samples/KickDrums3/kickdrum123.wav new file mode 100644 index 0000000..e9a0ec4 Binary files /dev/null and b/samples/KickDrums3/kickdrum123.wav differ diff --git a/samples/KickDrums3/kickdrum124.wav b/samples/KickDrums3/kickdrum124.wav new file mode 100644 index 0000000..7d9dd30 Binary files /dev/null and b/samples/KickDrums3/kickdrum124.wav differ diff --git a/samples/KickDrums3/kickdrum125.wav b/samples/KickDrums3/kickdrum125.wav new file mode 100644 index 0000000..cd51f31 Binary files /dev/null and b/samples/KickDrums3/kickdrum125.wav differ diff --git a/samples/KickDrums3/kickdrum126.wav b/samples/KickDrums3/kickdrum126.wav new file mode 100644 index 0000000..8242c60 Binary files /dev/null and b/samples/KickDrums3/kickdrum126.wav differ diff --git a/samples/KickDrums3/kickdrum127.wav b/samples/KickDrums3/kickdrum127.wav new file mode 100644 index 0000000..9c1be56 Binary files /dev/null and b/samples/KickDrums3/kickdrum127.wav differ diff --git a/samples/KickDrums3/kickdrum128.wav b/samples/KickDrums3/kickdrum128.wav new file mode 100644 index 0000000..0c37f91 Binary files /dev/null and b/samples/KickDrums3/kickdrum128.wav differ diff --git a/samples/KickDrums3/kickdrum129.wav b/samples/KickDrums3/kickdrum129.wav new file mode 100644 index 0000000..3ba67fd Binary files /dev/null and b/samples/KickDrums3/kickdrum129.wav differ diff --git a/samples/KickDrums3/kickdrum130.wav b/samples/KickDrums3/kickdrum130.wav new file mode 100644 index 0000000..2929670 Binary files /dev/null and b/samples/KickDrums3/kickdrum130.wav differ diff --git a/samples/KickDrums3/kickdrum131.wav b/samples/KickDrums3/kickdrum131.wav new file mode 100644 index 0000000..117796d Binary files /dev/null and b/samples/KickDrums3/kickdrum131.wav differ diff --git a/samples/KickDrums3/kickdrum132.wav b/samples/KickDrums3/kickdrum132.wav new file mode 100644 index 0000000..2652a48 Binary files /dev/null and b/samples/KickDrums3/kickdrum132.wav differ diff --git a/samples/KickDrums3/kickdrum133.wav b/samples/KickDrums3/kickdrum133.wav new file mode 100644 index 0000000..63678e3 Binary files /dev/null and b/samples/KickDrums3/kickdrum133.wav differ diff --git a/samples/KickDrums3/kickdrum134.wav b/samples/KickDrums3/kickdrum134.wav new file mode 100644 index 0000000..2c5d7e2 Binary files /dev/null and b/samples/KickDrums3/kickdrum134.wav differ diff --git a/samples/KickDrums3/kickdrum135.wav b/samples/KickDrums3/kickdrum135.wav new file mode 100644 index 0000000..aec3978 Binary files /dev/null and b/samples/KickDrums3/kickdrum135.wav differ diff --git a/samples/KickDrums3/kickdrum136.wav b/samples/KickDrums3/kickdrum136.wav new file mode 100644 index 0000000..028a857 Binary files /dev/null and b/samples/KickDrums3/kickdrum136.wav differ diff --git a/samples/KickDrums3/kickdrum137.wav b/samples/KickDrums3/kickdrum137.wav new file mode 100644 index 0000000..78189e5 Binary files /dev/null and b/samples/KickDrums3/kickdrum137.wav differ diff --git a/samples/KickDrums3/kickdrum138.wav b/samples/KickDrums3/kickdrum138.wav new file mode 100644 index 0000000..82638e5 Binary files /dev/null and b/samples/KickDrums3/kickdrum138.wav differ diff --git a/samples/KickDrums3/kickdrum139.wav b/samples/KickDrums3/kickdrum139.wav new file mode 100644 index 0000000..a811c74 Binary files /dev/null and b/samples/KickDrums3/kickdrum139.wav differ diff --git a/samples/KickDrums3/kickdrum140.wav b/samples/KickDrums3/kickdrum140.wav new file mode 100644 index 0000000..1cd7c72 Binary files /dev/null and b/samples/KickDrums3/kickdrum140.wav differ diff --git a/samples/KickDrums3/kickdrum141.wav b/samples/KickDrums3/kickdrum141.wav new file mode 100644 index 0000000..8c7dfd6 Binary files /dev/null and b/samples/KickDrums3/kickdrum141.wav differ diff --git a/samples/KickDrums3/kickdrum142.wav b/samples/KickDrums3/kickdrum142.wav new file mode 100644 index 0000000..3793af7 Binary files /dev/null and b/samples/KickDrums3/kickdrum142.wav differ diff --git a/samples/KickDrums3/kickdrum143.wav b/samples/KickDrums3/kickdrum143.wav new file mode 100644 index 0000000..2f55d7a Binary files /dev/null and b/samples/KickDrums3/kickdrum143.wav differ diff --git a/samples/KickDrums3/kickdrum144.wav b/samples/KickDrums3/kickdrum144.wav new file mode 100644 index 0000000..c19c5fb Binary files /dev/null and b/samples/KickDrums3/kickdrum144.wav differ diff --git a/samples/KickDrums3/kickdrum145.wav b/samples/KickDrums3/kickdrum145.wav new file mode 100644 index 0000000..76bb551 Binary files /dev/null and b/samples/KickDrums3/kickdrum145.wav differ diff --git a/samples/KickDrums3/kickdrum146.wav b/samples/KickDrums3/kickdrum146.wav new file mode 100644 index 0000000..ecef744 Binary files /dev/null and b/samples/KickDrums3/kickdrum146.wav differ diff --git a/samples/KickDrums3/kickdrum147.wav b/samples/KickDrums3/kickdrum147.wav new file mode 100644 index 0000000..f7c6a4e Binary files /dev/null and b/samples/KickDrums3/kickdrum147.wav differ diff --git a/samples/KickDrums3/kickdrum148.wav b/samples/KickDrums3/kickdrum148.wav new file mode 100644 index 0000000..5587cad Binary files /dev/null and b/samples/KickDrums3/kickdrum148.wav differ diff --git a/samples/KickDrums3/kickdrum149.wav b/samples/KickDrums3/kickdrum149.wav new file mode 100644 index 0000000..6a811f7 Binary files /dev/null and b/samples/KickDrums3/kickdrum149.wav differ diff --git a/samples/KickDrums3/kickdrum150.wav b/samples/KickDrums3/kickdrum150.wav new file mode 100644 index 0000000..8be3deb Binary files /dev/null and b/samples/KickDrums3/kickdrum150.wav differ diff --git a/samples/KickDrums4/kickdrum151.wav b/samples/KickDrums4/kickdrum151.wav new file mode 100644 index 0000000..5dcff37 Binary files /dev/null and b/samples/KickDrums4/kickdrum151.wav differ diff --git a/samples/KickDrums4/kickdrum152.wav b/samples/KickDrums4/kickdrum152.wav new file mode 100644 index 0000000..5c165fc Binary files /dev/null and b/samples/KickDrums4/kickdrum152.wav differ diff --git a/samples/KickDrums4/kickdrum153.wav b/samples/KickDrums4/kickdrum153.wav new file mode 100644 index 0000000..698cc0f Binary files /dev/null and b/samples/KickDrums4/kickdrum153.wav differ diff --git a/samples/KickDrums4/kickdrum154.wav b/samples/KickDrums4/kickdrum154.wav new file mode 100644 index 0000000..8f360c2 Binary files /dev/null and b/samples/KickDrums4/kickdrum154.wav differ diff --git a/samples/KickDrums4/kickdrum155.wav b/samples/KickDrums4/kickdrum155.wav new file mode 100644 index 0000000..281348b Binary files /dev/null and b/samples/KickDrums4/kickdrum155.wav differ diff --git a/samples/KickDrums4/kickdrum156.wav b/samples/KickDrums4/kickdrum156.wav new file mode 100644 index 0000000..a5e5de4 Binary files /dev/null and b/samples/KickDrums4/kickdrum156.wav differ diff --git a/samples/KickDrums4/kickdrum157.wav b/samples/KickDrums4/kickdrum157.wav new file mode 100644 index 0000000..85a9bc8 Binary files /dev/null and b/samples/KickDrums4/kickdrum157.wav differ diff --git a/samples/KickDrums4/kickdrum158.wav b/samples/KickDrums4/kickdrum158.wav new file mode 100644 index 0000000..d91c059 Binary files /dev/null and b/samples/KickDrums4/kickdrum158.wav differ diff --git a/samples/KickDrums4/kickdrum159.wav b/samples/KickDrums4/kickdrum159.wav new file mode 100644 index 0000000..70ae8b7 Binary files /dev/null and b/samples/KickDrums4/kickdrum159.wav differ diff --git a/samples/KickDrums4/kickdrum160.wav b/samples/KickDrums4/kickdrum160.wav new file mode 100644 index 0000000..e51e79e Binary files /dev/null and b/samples/KickDrums4/kickdrum160.wav differ diff --git a/samples/KickDrums4/kickdrum161.wav b/samples/KickDrums4/kickdrum161.wav new file mode 100644 index 0000000..025c358 Binary files /dev/null and b/samples/KickDrums4/kickdrum161.wav differ diff --git a/samples/KickDrums4/kickdrum162.wav b/samples/KickDrums4/kickdrum162.wav new file mode 100644 index 0000000..10afd9d Binary files /dev/null and b/samples/KickDrums4/kickdrum162.wav differ diff --git a/samples/KickDrums4/kickdrum163.wav b/samples/KickDrums4/kickdrum163.wav new file mode 100644 index 0000000..e0a6799 Binary files /dev/null and b/samples/KickDrums4/kickdrum163.wav differ diff --git a/samples/KickDrums4/kickdrum164.wav b/samples/KickDrums4/kickdrum164.wav new file mode 100644 index 0000000..bfe1ac3 Binary files /dev/null and b/samples/KickDrums4/kickdrum164.wav differ diff --git a/samples/KickDrums4/kickdrum165.wav b/samples/KickDrums4/kickdrum165.wav new file mode 100644 index 0000000..fbe14eb Binary files /dev/null and b/samples/KickDrums4/kickdrum165.wav differ diff --git a/samples/KickDrums4/kickdrum166.wav b/samples/KickDrums4/kickdrum166.wav new file mode 100644 index 0000000..86fe0b5 Binary files /dev/null and b/samples/KickDrums4/kickdrum166.wav differ diff --git a/samples/KickDrums4/kickdrum167.wav b/samples/KickDrums4/kickdrum167.wav new file mode 100644 index 0000000..770604e Binary files /dev/null and b/samples/KickDrums4/kickdrum167.wav differ diff --git a/samples/KickDrums4/kickdrum168.wav b/samples/KickDrums4/kickdrum168.wav new file mode 100644 index 0000000..62051b2 Binary files /dev/null and b/samples/KickDrums4/kickdrum168.wav differ diff --git a/samples/KickDrums4/kickdrum169.wav b/samples/KickDrums4/kickdrum169.wav new file mode 100644 index 0000000..d73f26c Binary files /dev/null and b/samples/KickDrums4/kickdrum169.wav differ diff --git a/samples/KickDrums4/kickdrum170.wav b/samples/KickDrums4/kickdrum170.wav new file mode 100644 index 0000000..813586f Binary files /dev/null and b/samples/KickDrums4/kickdrum170.wav differ diff --git a/samples/KickDrums4/kickdrum171.wav b/samples/KickDrums4/kickdrum171.wav new file mode 100644 index 0000000..844063a Binary files /dev/null and b/samples/KickDrums4/kickdrum171.wav differ diff --git a/samples/KickDrums4/kickdrum172.wav b/samples/KickDrums4/kickdrum172.wav new file mode 100644 index 0000000..e5c0fec Binary files /dev/null and b/samples/KickDrums4/kickdrum172.wav differ diff --git a/samples/KickDrums4/kickdrum173.wav b/samples/KickDrums4/kickdrum173.wav new file mode 100644 index 0000000..29a5f70 Binary files /dev/null and b/samples/KickDrums4/kickdrum173.wav differ diff --git a/samples/KickDrums4/kickdrum174.wav b/samples/KickDrums4/kickdrum174.wav new file mode 100644 index 0000000..81344cd Binary files /dev/null and b/samples/KickDrums4/kickdrum174.wav differ diff --git a/samples/KickDrums4/kickdrum175.wav b/samples/KickDrums4/kickdrum175.wav new file mode 100644 index 0000000..b25e090 Binary files /dev/null and b/samples/KickDrums4/kickdrum175.wav differ diff --git a/samples/KickDrums4/kickdrum176.wav b/samples/KickDrums4/kickdrum176.wav new file mode 100644 index 0000000..67e405d Binary files /dev/null and b/samples/KickDrums4/kickdrum176.wav differ diff --git a/samples/KickDrums4/kickdrum177.wav b/samples/KickDrums4/kickdrum177.wav new file mode 100644 index 0000000..723bf9f Binary files /dev/null and b/samples/KickDrums4/kickdrum177.wav differ diff --git a/samples/KickDrums4/kickdrum178.wav b/samples/KickDrums4/kickdrum178.wav new file mode 100644 index 0000000..38a8c1f Binary files /dev/null and b/samples/KickDrums4/kickdrum178.wav differ diff --git a/samples/KickDrums4/kickdrum179.wav b/samples/KickDrums4/kickdrum179.wav new file mode 100644 index 0000000..f08e0c7 Binary files /dev/null and b/samples/KickDrums4/kickdrum179.wav differ diff --git a/samples/KickDrums4/kickdrum180.wav b/samples/KickDrums4/kickdrum180.wav new file mode 100644 index 0000000..3079328 Binary files /dev/null and b/samples/KickDrums4/kickdrum180.wav differ diff --git a/samples/KickDrums4/kickdrum181.wav b/samples/KickDrums4/kickdrum181.wav new file mode 100644 index 0000000..71e0d60 Binary files /dev/null and b/samples/KickDrums4/kickdrum181.wav differ diff --git a/samples/KickDrums4/kickdrum182.wav b/samples/KickDrums4/kickdrum182.wav new file mode 100644 index 0000000..4cad9cc Binary files /dev/null and b/samples/KickDrums4/kickdrum182.wav differ diff --git a/samples/KickDrums4/kickdrum183.wav b/samples/KickDrums4/kickdrum183.wav new file mode 100644 index 0000000..2815fdd Binary files /dev/null and b/samples/KickDrums4/kickdrum183.wav differ diff --git a/samples/KickDrums4/kickdrum184.wav b/samples/KickDrums4/kickdrum184.wav new file mode 100644 index 0000000..0f2aadb Binary files /dev/null and b/samples/KickDrums4/kickdrum184.wav differ diff --git a/samples/KickDrums4/kickdrum185.wav b/samples/KickDrums4/kickdrum185.wav new file mode 100644 index 0000000..47f7b1c Binary files /dev/null and b/samples/KickDrums4/kickdrum185.wav differ diff --git a/samples/KickDrums4/kickdrum186.wav b/samples/KickDrums4/kickdrum186.wav new file mode 100644 index 0000000..91632f2 Binary files /dev/null and b/samples/KickDrums4/kickdrum186.wav differ diff --git a/samples/KickDrums4/kickdrum187.wav b/samples/KickDrums4/kickdrum187.wav new file mode 100644 index 0000000..300c633 Binary files /dev/null and b/samples/KickDrums4/kickdrum187.wav differ diff --git a/samples/KickDrums4/kickdrum188.wav b/samples/KickDrums4/kickdrum188.wav new file mode 100644 index 0000000..9765af2 Binary files /dev/null and b/samples/KickDrums4/kickdrum188.wav differ diff --git a/samples/KickDrums4/kickdrum189.wav b/samples/KickDrums4/kickdrum189.wav new file mode 100644 index 0000000..c2da7a9 Binary files /dev/null and b/samples/KickDrums4/kickdrum189.wav differ diff --git a/samples/KickDrums4/kickdrum190.wav b/samples/KickDrums4/kickdrum190.wav new file mode 100644 index 0000000..95ae24c Binary files /dev/null and b/samples/KickDrums4/kickdrum190.wav differ diff --git a/samples/KickDrums4/kickdrum191.wav b/samples/KickDrums4/kickdrum191.wav new file mode 100644 index 0000000..d8c3e3d Binary files /dev/null and b/samples/KickDrums4/kickdrum191.wav differ diff --git a/samples/KickDrums4/kickdrum192.wav b/samples/KickDrums4/kickdrum192.wav new file mode 100644 index 0000000..ad661f6 Binary files /dev/null and b/samples/KickDrums4/kickdrum192.wav differ diff --git a/samples/KickDrums4/kickdrum193.wav b/samples/KickDrums4/kickdrum193.wav new file mode 100644 index 0000000..365da5a Binary files /dev/null and b/samples/KickDrums4/kickdrum193.wav differ diff --git a/samples/KickDrums4/kickdrum194.wav b/samples/KickDrums4/kickdrum194.wav new file mode 100644 index 0000000..158fb72 Binary files /dev/null and b/samples/KickDrums4/kickdrum194.wav differ diff --git a/samples/KickDrums4/kickdrum195.wav b/samples/KickDrums4/kickdrum195.wav new file mode 100644 index 0000000..a8e776c Binary files /dev/null and b/samples/KickDrums4/kickdrum195.wav differ diff --git a/samples/KickDrums4/kickdrum196.wav b/samples/KickDrums4/kickdrum196.wav new file mode 100644 index 0000000..90314d9 Binary files /dev/null and b/samples/KickDrums4/kickdrum196.wav differ diff --git a/samples/KickDrums4/kickdrum197.wav b/samples/KickDrums4/kickdrum197.wav new file mode 100644 index 0000000..03e0d8a Binary files /dev/null and b/samples/KickDrums4/kickdrum197.wav differ diff --git a/samples/KickDrums4/kickdrum198.wav b/samples/KickDrums4/kickdrum198.wav new file mode 100644 index 0000000..b1ccf4e Binary files /dev/null and b/samples/KickDrums4/kickdrum198.wav differ diff --git a/samples/KickDrums4/kickdrum199.wav b/samples/KickDrums4/kickdrum199.wav new file mode 100644 index 0000000..78bf344 Binary files /dev/null and b/samples/KickDrums4/kickdrum199.wav differ diff --git a/samples/KickDrums4/kickdrum200.wav b/samples/KickDrums4/kickdrum200.wav new file mode 100644 index 0000000..87f9491 Binary files /dev/null and b/samples/KickDrums4/kickdrum200.wav differ diff --git a/samples/Rattles/rattle1.wav b/samples/Rattles/rattle1.wav new file mode 100644 index 0000000..5652aa6 Binary files /dev/null and b/samples/Rattles/rattle1.wav differ diff --git a/samples/Rattles/rattle10.wav b/samples/Rattles/rattle10.wav new file mode 100644 index 0000000..25c46d5 Binary files /dev/null and b/samples/Rattles/rattle10.wav differ diff --git a/samples/Rattles/rattle2.wav b/samples/Rattles/rattle2.wav new file mode 100644 index 0000000..9338555 Binary files /dev/null and b/samples/Rattles/rattle2.wav differ diff --git a/samples/Rattles/rattle3.wav b/samples/Rattles/rattle3.wav new file mode 100644 index 0000000..946091e Binary files /dev/null and b/samples/Rattles/rattle3.wav differ diff --git a/samples/Rattles/rattle4.wav b/samples/Rattles/rattle4.wav new file mode 100644 index 0000000..4ce00f1 Binary files /dev/null and b/samples/Rattles/rattle4.wav differ diff --git a/samples/Rattles/rattle5.wav b/samples/Rattles/rattle5.wav new file mode 100644 index 0000000..fff1e4e Binary files /dev/null and b/samples/Rattles/rattle5.wav differ diff --git a/samples/Rattles/rattle6.wav b/samples/Rattles/rattle6.wav new file mode 100644 index 0000000..30fee20 Binary files /dev/null and b/samples/Rattles/rattle6.wav differ diff --git a/samples/Rattles/rattle7.wav b/samples/Rattles/rattle7.wav new file mode 100644 index 0000000..6cc0700 Binary files /dev/null and b/samples/Rattles/rattle7.wav differ diff --git a/samples/Rattles/rattle8.wav b/samples/Rattles/rattle8.wav new file mode 100644 index 0000000..4dd8096 Binary files /dev/null and b/samples/Rattles/rattle8.wav differ diff --git a/samples/Rattles/rattle9.wav b/samples/Rattles/rattle9.wav new file mode 100644 index 0000000..e9872e9 Binary files /dev/null and b/samples/Rattles/rattle9.wav differ diff --git a/samples/SnareDrums1/snaredrum1.wav b/samples/SnareDrums1/snaredrum1.wav new file mode 100644 index 0000000..0f65250 Binary files /dev/null and b/samples/SnareDrums1/snaredrum1.wav differ diff --git a/samples/SnareDrums1/snaredrum10.wav b/samples/SnareDrums1/snaredrum10.wav new file mode 100644 index 0000000..29e96f1 Binary files /dev/null and b/samples/SnareDrums1/snaredrum10.wav differ diff --git a/samples/SnareDrums1/snaredrum11.wav b/samples/SnareDrums1/snaredrum11.wav new file mode 100644 index 0000000..785242f Binary files /dev/null and b/samples/SnareDrums1/snaredrum11.wav differ diff --git a/samples/SnareDrums1/snaredrum12.wav b/samples/SnareDrums1/snaredrum12.wav new file mode 100644 index 0000000..72c6e8e Binary files /dev/null and b/samples/SnareDrums1/snaredrum12.wav differ diff --git a/samples/SnareDrums1/snaredrum13.wav b/samples/SnareDrums1/snaredrum13.wav new file mode 100644 index 0000000..cfe7e5e Binary files /dev/null and b/samples/SnareDrums1/snaredrum13.wav differ diff --git a/samples/SnareDrums1/snaredrum14.wav b/samples/SnareDrums1/snaredrum14.wav new file mode 100644 index 0000000..ae8e74f Binary files /dev/null and b/samples/SnareDrums1/snaredrum14.wav differ diff --git a/samples/SnareDrums1/snaredrum15.wav b/samples/SnareDrums1/snaredrum15.wav new file mode 100644 index 0000000..a0c4054 Binary files /dev/null and b/samples/SnareDrums1/snaredrum15.wav differ diff --git a/samples/SnareDrums1/snaredrum16.wav b/samples/SnareDrums1/snaredrum16.wav new file mode 100644 index 0000000..df2904f Binary files /dev/null and b/samples/SnareDrums1/snaredrum16.wav differ diff --git a/samples/SnareDrums1/snaredrum17.wav b/samples/SnareDrums1/snaredrum17.wav new file mode 100644 index 0000000..87a0d25 Binary files /dev/null and b/samples/SnareDrums1/snaredrum17.wav differ diff --git a/samples/SnareDrums1/snaredrum18.wav b/samples/SnareDrums1/snaredrum18.wav new file mode 100644 index 0000000..94daf6d Binary files /dev/null and b/samples/SnareDrums1/snaredrum18.wav differ diff --git a/samples/SnareDrums1/snaredrum19.wav b/samples/SnareDrums1/snaredrum19.wav new file mode 100644 index 0000000..8375fcb Binary files /dev/null and b/samples/SnareDrums1/snaredrum19.wav differ diff --git a/samples/SnareDrums1/snaredrum2.wav b/samples/SnareDrums1/snaredrum2.wav new file mode 100644 index 0000000..64a27cc Binary files /dev/null and b/samples/SnareDrums1/snaredrum2.wav differ diff --git a/samples/SnareDrums1/snaredrum20.wav b/samples/SnareDrums1/snaredrum20.wav new file mode 100644 index 0000000..ad37aca Binary files /dev/null and b/samples/SnareDrums1/snaredrum20.wav differ diff --git a/samples/SnareDrums1/snaredrum21.wav b/samples/SnareDrums1/snaredrum21.wav new file mode 100644 index 0000000..b904f08 Binary files /dev/null and b/samples/SnareDrums1/snaredrum21.wav differ diff --git a/samples/SnareDrums1/snaredrum22.wav b/samples/SnareDrums1/snaredrum22.wav new file mode 100644 index 0000000..7f58136 Binary files /dev/null and b/samples/SnareDrums1/snaredrum22.wav differ diff --git a/samples/SnareDrums1/snaredrum23.wav b/samples/SnareDrums1/snaredrum23.wav new file mode 100644 index 0000000..a28b1aa Binary files /dev/null and b/samples/SnareDrums1/snaredrum23.wav differ diff --git a/samples/SnareDrums1/snaredrum24.wav b/samples/SnareDrums1/snaredrum24.wav new file mode 100644 index 0000000..92c524d Binary files /dev/null and b/samples/SnareDrums1/snaredrum24.wav differ diff --git a/samples/SnareDrums1/snaredrum25.wav b/samples/SnareDrums1/snaredrum25.wav new file mode 100644 index 0000000..96f23eb Binary files /dev/null and b/samples/SnareDrums1/snaredrum25.wav differ diff --git a/samples/SnareDrums1/snaredrum26.wav b/samples/SnareDrums1/snaredrum26.wav new file mode 100644 index 0000000..f1eeb9b Binary files /dev/null and b/samples/SnareDrums1/snaredrum26.wav differ diff --git a/samples/SnareDrums1/snaredrum27.wav b/samples/SnareDrums1/snaredrum27.wav new file mode 100644 index 0000000..b04674e Binary files /dev/null and b/samples/SnareDrums1/snaredrum27.wav differ diff --git a/samples/SnareDrums1/snaredrum28.wav b/samples/SnareDrums1/snaredrum28.wav new file mode 100644 index 0000000..e0050b0 Binary files /dev/null and b/samples/SnareDrums1/snaredrum28.wav differ diff --git a/samples/SnareDrums1/snaredrum29.wav b/samples/SnareDrums1/snaredrum29.wav new file mode 100644 index 0000000..25a66a2 Binary files /dev/null and b/samples/SnareDrums1/snaredrum29.wav differ diff --git a/samples/SnareDrums1/snaredrum3.wav b/samples/SnareDrums1/snaredrum3.wav new file mode 100644 index 0000000..34d5b37 Binary files /dev/null and b/samples/SnareDrums1/snaredrum3.wav differ diff --git a/samples/SnareDrums1/snaredrum30.wav b/samples/SnareDrums1/snaredrum30.wav new file mode 100644 index 0000000..585eaa2 Binary files /dev/null and b/samples/SnareDrums1/snaredrum30.wav differ diff --git a/samples/SnareDrums1/snaredrum31.wav b/samples/SnareDrums1/snaredrum31.wav new file mode 100644 index 0000000..92c51f1 Binary files /dev/null and b/samples/SnareDrums1/snaredrum31.wav differ diff --git a/samples/SnareDrums1/snaredrum32.wav b/samples/SnareDrums1/snaredrum32.wav new file mode 100644 index 0000000..388c928 Binary files /dev/null and b/samples/SnareDrums1/snaredrum32.wav differ diff --git a/samples/SnareDrums1/snaredrum33.wav b/samples/SnareDrums1/snaredrum33.wav new file mode 100644 index 0000000..983dcbf Binary files /dev/null and b/samples/SnareDrums1/snaredrum33.wav differ diff --git a/samples/SnareDrums1/snaredrum34.wav b/samples/SnareDrums1/snaredrum34.wav new file mode 100644 index 0000000..093a5fe Binary files /dev/null and b/samples/SnareDrums1/snaredrum34.wav differ diff --git a/samples/SnareDrums1/snaredrum35.wav b/samples/SnareDrums1/snaredrum35.wav new file mode 100644 index 0000000..d1c41b8 Binary files /dev/null and b/samples/SnareDrums1/snaredrum35.wav differ diff --git a/samples/SnareDrums1/snaredrum36.wav b/samples/SnareDrums1/snaredrum36.wav new file mode 100644 index 0000000..b5f2f87 Binary files /dev/null and b/samples/SnareDrums1/snaredrum36.wav differ diff --git a/samples/SnareDrums1/snaredrum37.wav b/samples/SnareDrums1/snaredrum37.wav new file mode 100644 index 0000000..a90e6b1 Binary files /dev/null and b/samples/SnareDrums1/snaredrum37.wav differ diff --git a/samples/SnareDrums1/snaredrum38.wav b/samples/SnareDrums1/snaredrum38.wav new file mode 100644 index 0000000..dbf756a Binary files /dev/null and b/samples/SnareDrums1/snaredrum38.wav differ diff --git a/samples/SnareDrums1/snaredrum39.wav b/samples/SnareDrums1/snaredrum39.wav new file mode 100644 index 0000000..3eb5314 Binary files /dev/null and b/samples/SnareDrums1/snaredrum39.wav differ diff --git a/samples/SnareDrums1/snaredrum4.wav b/samples/SnareDrums1/snaredrum4.wav new file mode 100644 index 0000000..47f21c5 Binary files /dev/null and b/samples/SnareDrums1/snaredrum4.wav differ diff --git a/samples/SnareDrums1/snaredrum40.wav b/samples/SnareDrums1/snaredrum40.wav new file mode 100644 index 0000000..3fb6cd4 Binary files /dev/null and b/samples/SnareDrums1/snaredrum40.wav differ diff --git a/samples/SnareDrums1/snaredrum41.wav b/samples/SnareDrums1/snaredrum41.wav new file mode 100644 index 0000000..3d7a9fb Binary files /dev/null and b/samples/SnareDrums1/snaredrum41.wav differ diff --git a/samples/SnareDrums1/snaredrum42.wav b/samples/SnareDrums1/snaredrum42.wav new file mode 100644 index 0000000..f25c710 Binary files /dev/null and b/samples/SnareDrums1/snaredrum42.wav differ diff --git a/samples/SnareDrums1/snaredrum43.wav b/samples/SnareDrums1/snaredrum43.wav new file mode 100644 index 0000000..665b813 Binary files /dev/null and b/samples/SnareDrums1/snaredrum43.wav differ diff --git a/samples/SnareDrums1/snaredrum44.wav b/samples/SnareDrums1/snaredrum44.wav new file mode 100644 index 0000000..9072b22 Binary files /dev/null and b/samples/SnareDrums1/snaredrum44.wav differ diff --git a/samples/SnareDrums1/snaredrum45.wav b/samples/SnareDrums1/snaredrum45.wav new file mode 100644 index 0000000..5725013 Binary files /dev/null and b/samples/SnareDrums1/snaredrum45.wav differ diff --git a/samples/SnareDrums1/snaredrum46.wav b/samples/SnareDrums1/snaredrum46.wav new file mode 100644 index 0000000..f9b23b5 Binary files /dev/null and b/samples/SnareDrums1/snaredrum46.wav differ diff --git a/samples/SnareDrums1/snaredrum47.wav b/samples/SnareDrums1/snaredrum47.wav new file mode 100644 index 0000000..68e61c0 Binary files /dev/null and b/samples/SnareDrums1/snaredrum47.wav differ diff --git a/samples/SnareDrums1/snaredrum48.wav b/samples/SnareDrums1/snaredrum48.wav new file mode 100644 index 0000000..eb13c97 Binary files /dev/null and b/samples/SnareDrums1/snaredrum48.wav differ diff --git a/samples/SnareDrums1/snaredrum49.wav b/samples/SnareDrums1/snaredrum49.wav new file mode 100644 index 0000000..b8362e8 Binary files /dev/null and b/samples/SnareDrums1/snaredrum49.wav differ diff --git a/samples/SnareDrums1/snaredrum5.wav b/samples/SnareDrums1/snaredrum5.wav new file mode 100644 index 0000000..3a66976 Binary files /dev/null and b/samples/SnareDrums1/snaredrum5.wav differ diff --git a/samples/SnareDrums1/snaredrum50.wav b/samples/SnareDrums1/snaredrum50.wav new file mode 100644 index 0000000..0215079 Binary files /dev/null and b/samples/SnareDrums1/snaredrum50.wav differ diff --git a/samples/SnareDrums1/snaredrum6.wav b/samples/SnareDrums1/snaredrum6.wav new file mode 100644 index 0000000..8dc5f9b Binary files /dev/null and b/samples/SnareDrums1/snaredrum6.wav differ diff --git a/samples/SnareDrums1/snaredrum7.wav b/samples/SnareDrums1/snaredrum7.wav new file mode 100644 index 0000000..8f20992 Binary files /dev/null and b/samples/SnareDrums1/snaredrum7.wav differ diff --git a/samples/SnareDrums1/snaredrum8.wav b/samples/SnareDrums1/snaredrum8.wav new file mode 100644 index 0000000..81725d3 Binary files /dev/null and b/samples/SnareDrums1/snaredrum8.wav differ diff --git a/samples/SnareDrums1/snaredrum9.wav b/samples/SnareDrums1/snaredrum9.wav new file mode 100644 index 0000000..1fef655 Binary files /dev/null and b/samples/SnareDrums1/snaredrum9.wav differ diff --git a/samples/SnareDrums2/snaredrum100.wav b/samples/SnareDrums2/snaredrum100.wav new file mode 100644 index 0000000..d442a4d Binary files /dev/null and b/samples/SnareDrums2/snaredrum100.wav differ diff --git a/samples/SnareDrums2/snaredrum51.wav b/samples/SnareDrums2/snaredrum51.wav new file mode 100644 index 0000000..4085429 Binary files /dev/null and b/samples/SnareDrums2/snaredrum51.wav differ diff --git a/samples/SnareDrums2/snaredrum52.wav b/samples/SnareDrums2/snaredrum52.wav new file mode 100644 index 0000000..78b24a6 Binary files /dev/null and b/samples/SnareDrums2/snaredrum52.wav differ diff --git a/samples/SnareDrums2/snaredrum53.wav b/samples/SnareDrums2/snaredrum53.wav new file mode 100644 index 0000000..5548975 Binary files /dev/null and b/samples/SnareDrums2/snaredrum53.wav differ diff --git a/samples/SnareDrums2/snaredrum54.wav b/samples/SnareDrums2/snaredrum54.wav new file mode 100644 index 0000000..cca3bc9 Binary files /dev/null and b/samples/SnareDrums2/snaredrum54.wav differ diff --git a/samples/SnareDrums2/snaredrum55.wav b/samples/SnareDrums2/snaredrum55.wav new file mode 100644 index 0000000..845402a Binary files /dev/null and b/samples/SnareDrums2/snaredrum55.wav differ diff --git a/samples/SnareDrums2/snaredrum56.wav b/samples/SnareDrums2/snaredrum56.wav new file mode 100644 index 0000000..4b06be2 Binary files /dev/null and b/samples/SnareDrums2/snaredrum56.wav differ diff --git a/samples/SnareDrums2/snaredrum57.wav b/samples/SnareDrums2/snaredrum57.wav new file mode 100644 index 0000000..327dd05 Binary files /dev/null and b/samples/SnareDrums2/snaredrum57.wav differ diff --git a/samples/SnareDrums2/snaredrum58.wav b/samples/SnareDrums2/snaredrum58.wav new file mode 100644 index 0000000..2e7e4a6 Binary files /dev/null and b/samples/SnareDrums2/snaredrum58.wav differ diff --git a/samples/SnareDrums2/snaredrum59.wav b/samples/SnareDrums2/snaredrum59.wav new file mode 100644 index 0000000..e8bbf84 Binary files /dev/null and b/samples/SnareDrums2/snaredrum59.wav differ diff --git a/samples/SnareDrums2/snaredrum60.wav b/samples/SnareDrums2/snaredrum60.wav new file mode 100644 index 0000000..6688154 Binary files /dev/null and b/samples/SnareDrums2/snaredrum60.wav differ diff --git a/samples/SnareDrums2/snaredrum61.wav b/samples/SnareDrums2/snaredrum61.wav new file mode 100644 index 0000000..31c2453 Binary files /dev/null and b/samples/SnareDrums2/snaredrum61.wav differ diff --git a/samples/SnareDrums2/snaredrum62.wav b/samples/SnareDrums2/snaredrum62.wav new file mode 100644 index 0000000..945679e Binary files /dev/null and b/samples/SnareDrums2/snaredrum62.wav differ diff --git a/samples/SnareDrums2/snaredrum63.wav b/samples/SnareDrums2/snaredrum63.wav new file mode 100644 index 0000000..fc6cc4f Binary files /dev/null and b/samples/SnareDrums2/snaredrum63.wav differ diff --git a/samples/SnareDrums2/snaredrum64.wav b/samples/SnareDrums2/snaredrum64.wav new file mode 100644 index 0000000..f910fb9 Binary files /dev/null and b/samples/SnareDrums2/snaredrum64.wav differ diff --git a/samples/SnareDrums2/snaredrum65.wav b/samples/SnareDrums2/snaredrum65.wav new file mode 100644 index 0000000..535f333 Binary files /dev/null and b/samples/SnareDrums2/snaredrum65.wav differ diff --git a/samples/SnareDrums2/snaredrum66.wav b/samples/SnareDrums2/snaredrum66.wav new file mode 100644 index 0000000..2f02cfe Binary files /dev/null and b/samples/SnareDrums2/snaredrum66.wav differ diff --git a/samples/SnareDrums2/snaredrum67.wav b/samples/SnareDrums2/snaredrum67.wav new file mode 100644 index 0000000..d93a1a2 Binary files /dev/null and b/samples/SnareDrums2/snaredrum67.wav differ diff --git a/samples/SnareDrums2/snaredrum68.wav b/samples/SnareDrums2/snaredrum68.wav new file mode 100644 index 0000000..844959e Binary files /dev/null and b/samples/SnareDrums2/snaredrum68.wav differ diff --git a/samples/SnareDrums2/snaredrum69.wav b/samples/SnareDrums2/snaredrum69.wav new file mode 100644 index 0000000..120bb64 Binary files /dev/null and b/samples/SnareDrums2/snaredrum69.wav differ diff --git a/samples/SnareDrums2/snaredrum70.wav b/samples/SnareDrums2/snaredrum70.wav new file mode 100644 index 0000000..d10e33f Binary files /dev/null and b/samples/SnareDrums2/snaredrum70.wav differ diff --git a/samples/SnareDrums2/snaredrum71.wav b/samples/SnareDrums2/snaredrum71.wav new file mode 100644 index 0000000..474b8d0 Binary files /dev/null and b/samples/SnareDrums2/snaredrum71.wav differ diff --git a/samples/SnareDrums2/snaredrum72.wav b/samples/SnareDrums2/snaredrum72.wav new file mode 100644 index 0000000..f012885 Binary files /dev/null and b/samples/SnareDrums2/snaredrum72.wav differ diff --git a/samples/SnareDrums2/snaredrum73.wav b/samples/SnareDrums2/snaredrum73.wav new file mode 100644 index 0000000..332ae33 Binary files /dev/null and b/samples/SnareDrums2/snaredrum73.wav differ diff --git a/samples/SnareDrums2/snaredrum74.wav b/samples/SnareDrums2/snaredrum74.wav new file mode 100644 index 0000000..c2442c5 Binary files /dev/null and b/samples/SnareDrums2/snaredrum74.wav differ diff --git a/samples/SnareDrums2/snaredrum75.wav b/samples/SnareDrums2/snaredrum75.wav new file mode 100644 index 0000000..5b2c919 Binary files /dev/null and b/samples/SnareDrums2/snaredrum75.wav differ diff --git a/samples/SnareDrums2/snaredrum76.wav b/samples/SnareDrums2/snaredrum76.wav new file mode 100644 index 0000000..c0babcb Binary files /dev/null and b/samples/SnareDrums2/snaredrum76.wav differ diff --git a/samples/SnareDrums2/snaredrum77.wav b/samples/SnareDrums2/snaredrum77.wav new file mode 100644 index 0000000..d4935a3 Binary files /dev/null and b/samples/SnareDrums2/snaredrum77.wav differ diff --git a/samples/SnareDrums2/snaredrum78.wav b/samples/SnareDrums2/snaredrum78.wav new file mode 100644 index 0000000..c773b84 Binary files /dev/null and b/samples/SnareDrums2/snaredrum78.wav differ diff --git a/samples/SnareDrums2/snaredrum79.wav b/samples/SnareDrums2/snaredrum79.wav new file mode 100644 index 0000000..ed5faee Binary files /dev/null and b/samples/SnareDrums2/snaredrum79.wav differ diff --git a/samples/SnareDrums2/snaredrum80.wav b/samples/SnareDrums2/snaredrum80.wav new file mode 100644 index 0000000..261fc45 Binary files /dev/null and b/samples/SnareDrums2/snaredrum80.wav differ diff --git a/samples/SnareDrums2/snaredrum81.wav b/samples/SnareDrums2/snaredrum81.wav new file mode 100644 index 0000000..6175ff9 Binary files /dev/null and b/samples/SnareDrums2/snaredrum81.wav differ diff --git a/samples/SnareDrums2/snaredrum82.wav b/samples/SnareDrums2/snaredrum82.wav new file mode 100644 index 0000000..b54ff16 Binary files /dev/null and b/samples/SnareDrums2/snaredrum82.wav differ diff --git a/samples/SnareDrums2/snaredrum83.wav b/samples/SnareDrums2/snaredrum83.wav new file mode 100644 index 0000000..c7807dc Binary files /dev/null and b/samples/SnareDrums2/snaredrum83.wav differ diff --git a/samples/SnareDrums2/snaredrum84.wav b/samples/SnareDrums2/snaredrum84.wav new file mode 100644 index 0000000..3a3217f Binary files /dev/null and b/samples/SnareDrums2/snaredrum84.wav differ diff --git a/samples/SnareDrums2/snaredrum85.wav b/samples/SnareDrums2/snaredrum85.wav new file mode 100644 index 0000000..52ceb98 Binary files /dev/null and b/samples/SnareDrums2/snaredrum85.wav differ diff --git a/samples/SnareDrums2/snaredrum86.wav b/samples/SnareDrums2/snaredrum86.wav new file mode 100644 index 0000000..8d70a65 Binary files /dev/null and b/samples/SnareDrums2/snaredrum86.wav differ diff --git a/samples/SnareDrums2/snaredrum87.wav b/samples/SnareDrums2/snaredrum87.wav new file mode 100644 index 0000000..4e53db4 Binary files /dev/null and b/samples/SnareDrums2/snaredrum87.wav differ diff --git a/samples/SnareDrums2/snaredrum88.wav b/samples/SnareDrums2/snaredrum88.wav new file mode 100644 index 0000000..ce3ab90 Binary files /dev/null and b/samples/SnareDrums2/snaredrum88.wav differ diff --git a/samples/SnareDrums2/snaredrum89.wav b/samples/SnareDrums2/snaredrum89.wav new file mode 100644 index 0000000..3070d1a Binary files /dev/null and b/samples/SnareDrums2/snaredrum89.wav differ diff --git a/samples/SnareDrums2/snaredrum90.wav b/samples/SnareDrums2/snaredrum90.wav new file mode 100644 index 0000000..7e9d28b Binary files /dev/null and b/samples/SnareDrums2/snaredrum90.wav differ diff --git a/samples/SnareDrums2/snaredrum91.wav b/samples/SnareDrums2/snaredrum91.wav new file mode 100644 index 0000000..917d0ea Binary files /dev/null and b/samples/SnareDrums2/snaredrum91.wav differ diff --git a/samples/SnareDrums2/snaredrum92.wav b/samples/SnareDrums2/snaredrum92.wav new file mode 100644 index 0000000..19c5f33 Binary files /dev/null and b/samples/SnareDrums2/snaredrum92.wav differ diff --git a/samples/SnareDrums2/snaredrum93.wav b/samples/SnareDrums2/snaredrum93.wav new file mode 100644 index 0000000..57d05ec Binary files /dev/null and b/samples/SnareDrums2/snaredrum93.wav differ diff --git a/samples/SnareDrums2/snaredrum94.wav b/samples/SnareDrums2/snaredrum94.wav new file mode 100644 index 0000000..bde6395 Binary files /dev/null and b/samples/SnareDrums2/snaredrum94.wav differ diff --git a/samples/SnareDrums2/snaredrum95.wav b/samples/SnareDrums2/snaredrum95.wav new file mode 100644 index 0000000..21c54fe Binary files /dev/null and b/samples/SnareDrums2/snaredrum95.wav differ diff --git a/samples/SnareDrums2/snaredrum96.wav b/samples/SnareDrums2/snaredrum96.wav new file mode 100644 index 0000000..6c73545 Binary files /dev/null and b/samples/SnareDrums2/snaredrum96.wav differ diff --git a/samples/SnareDrums2/snaredrum97.wav b/samples/SnareDrums2/snaredrum97.wav new file mode 100644 index 0000000..11b04fa Binary files /dev/null and b/samples/SnareDrums2/snaredrum97.wav differ diff --git a/samples/SnareDrums2/snaredrum98.wav b/samples/SnareDrums2/snaredrum98.wav new file mode 100644 index 0000000..da12f88 Binary files /dev/null and b/samples/SnareDrums2/snaredrum98.wav differ diff --git a/samples/SnareDrums2/snaredrum99.wav b/samples/SnareDrums2/snaredrum99.wav new file mode 100644 index 0000000..8a6dc62 Binary files /dev/null and b/samples/SnareDrums2/snaredrum99.wav differ diff --git a/samples/SnareDrums3/snaredrum101.wav b/samples/SnareDrums3/snaredrum101.wav new file mode 100644 index 0000000..995b615 Binary files /dev/null and b/samples/SnareDrums3/snaredrum101.wav differ diff --git a/samples/SnareDrums3/snaredrum102.wav b/samples/SnareDrums3/snaredrum102.wav new file mode 100644 index 0000000..2c109f4 Binary files /dev/null and b/samples/SnareDrums3/snaredrum102.wav differ diff --git a/samples/SnareDrums3/snaredrum103.wav b/samples/SnareDrums3/snaredrum103.wav new file mode 100644 index 0000000..f81a28f Binary files /dev/null and b/samples/SnareDrums3/snaredrum103.wav differ diff --git a/samples/SnareDrums3/snaredrum104.wav b/samples/SnareDrums3/snaredrum104.wav new file mode 100644 index 0000000..b6c9a51 Binary files /dev/null and b/samples/SnareDrums3/snaredrum104.wav differ diff --git a/samples/SnareDrums3/snaredrum105.wav b/samples/SnareDrums3/snaredrum105.wav new file mode 100644 index 0000000..5fd1de9 Binary files /dev/null and b/samples/SnareDrums3/snaredrum105.wav differ diff --git a/samples/SnareDrums3/snaredrum106.wav b/samples/SnareDrums3/snaredrum106.wav new file mode 100644 index 0000000..5502333 Binary files /dev/null and b/samples/SnareDrums3/snaredrum106.wav differ diff --git a/samples/SnareDrums3/snaredrum107.wav b/samples/SnareDrums3/snaredrum107.wav new file mode 100644 index 0000000..e387a04 Binary files /dev/null and b/samples/SnareDrums3/snaredrum107.wav differ diff --git a/samples/SnareDrums3/snaredrum108.wav b/samples/SnareDrums3/snaredrum108.wav new file mode 100644 index 0000000..5a46d4f Binary files /dev/null and b/samples/SnareDrums3/snaredrum108.wav differ diff --git a/samples/SnareDrums3/snaredrum109.wav b/samples/SnareDrums3/snaredrum109.wav new file mode 100644 index 0000000..9b2ac2b Binary files /dev/null and b/samples/SnareDrums3/snaredrum109.wav differ diff --git a/samples/SnareDrums3/snaredrum110.wav b/samples/SnareDrums3/snaredrum110.wav new file mode 100644 index 0000000..2f1a2c3 Binary files /dev/null and b/samples/SnareDrums3/snaredrum110.wav differ diff --git a/samples/SnareDrums3/snaredrum111.wav b/samples/SnareDrums3/snaredrum111.wav new file mode 100644 index 0000000..bc7706f Binary files /dev/null and b/samples/SnareDrums3/snaredrum111.wav differ diff --git a/samples/SnareDrums3/snaredrum112.wav b/samples/SnareDrums3/snaredrum112.wav new file mode 100644 index 0000000..0e27919 Binary files /dev/null and b/samples/SnareDrums3/snaredrum112.wav differ diff --git a/samples/SnareDrums3/snaredrum113.wav b/samples/SnareDrums3/snaredrum113.wav new file mode 100644 index 0000000..af6e49d Binary files /dev/null and b/samples/SnareDrums3/snaredrum113.wav differ diff --git a/samples/SnareDrums3/snaredrum114.wav b/samples/SnareDrums3/snaredrum114.wav new file mode 100644 index 0000000..0d4d42a Binary files /dev/null and b/samples/SnareDrums3/snaredrum114.wav differ diff --git a/samples/SnareDrums3/snaredrum115.wav b/samples/SnareDrums3/snaredrum115.wav new file mode 100644 index 0000000..3d8aee9 Binary files /dev/null and b/samples/SnareDrums3/snaredrum115.wav differ diff --git a/samples/SnareDrums3/snaredrum116.wav b/samples/SnareDrums3/snaredrum116.wav new file mode 100644 index 0000000..c403e0f Binary files /dev/null and b/samples/SnareDrums3/snaredrum116.wav differ diff --git a/samples/SnareDrums3/snaredrum117.wav b/samples/SnareDrums3/snaredrum117.wav new file mode 100644 index 0000000..4dd4ce1 Binary files /dev/null and b/samples/SnareDrums3/snaredrum117.wav differ diff --git a/samples/SnareDrums3/snaredrum118.wav b/samples/SnareDrums3/snaredrum118.wav new file mode 100644 index 0000000..b447bcd Binary files /dev/null and b/samples/SnareDrums3/snaredrum118.wav differ diff --git a/samples/SnareDrums3/snaredrum119.wav b/samples/SnareDrums3/snaredrum119.wav new file mode 100644 index 0000000..bf8a4e6 Binary files /dev/null and b/samples/SnareDrums3/snaredrum119.wav differ diff --git a/samples/SnareDrums3/snaredrum120.wav b/samples/SnareDrums3/snaredrum120.wav new file mode 100644 index 0000000..a7eed78 Binary files /dev/null and b/samples/SnareDrums3/snaredrum120.wav differ diff --git a/samples/SnareDrums3/snaredrum121.wav b/samples/SnareDrums3/snaredrum121.wav new file mode 100644 index 0000000..9366874 Binary files /dev/null and b/samples/SnareDrums3/snaredrum121.wav differ diff --git a/samples/SnareDrums3/snaredrum122.wav b/samples/SnareDrums3/snaredrum122.wav new file mode 100644 index 0000000..b29908c Binary files /dev/null and b/samples/SnareDrums3/snaredrum122.wav differ diff --git a/samples/SnareDrums3/snaredrum123.wav b/samples/SnareDrums3/snaredrum123.wav new file mode 100644 index 0000000..6bbccd0 Binary files /dev/null and b/samples/SnareDrums3/snaredrum123.wav differ diff --git a/samples/SnareDrums3/snaredrum124.wav b/samples/SnareDrums3/snaredrum124.wav new file mode 100644 index 0000000..02873ac Binary files /dev/null and b/samples/SnareDrums3/snaredrum124.wav differ diff --git a/samples/SnareDrums3/snaredrum125.wav b/samples/SnareDrums3/snaredrum125.wav new file mode 100644 index 0000000..74370ca Binary files /dev/null and b/samples/SnareDrums3/snaredrum125.wav differ diff --git a/samples/SnareDrums3/snaredrum126.wav b/samples/SnareDrums3/snaredrum126.wav new file mode 100644 index 0000000..aa7b3ee Binary files /dev/null and b/samples/SnareDrums3/snaredrum126.wav differ diff --git a/samples/SnareDrums3/snaredrum127.wav b/samples/SnareDrums3/snaredrum127.wav new file mode 100644 index 0000000..380137b Binary files /dev/null and b/samples/SnareDrums3/snaredrum127.wav differ diff --git a/samples/SnareDrums3/snaredrum128.wav b/samples/SnareDrums3/snaredrum128.wav new file mode 100644 index 0000000..c05e20b Binary files /dev/null and b/samples/SnareDrums3/snaredrum128.wav differ diff --git a/samples/SnareDrums3/snaredrum129.wav b/samples/SnareDrums3/snaredrum129.wav new file mode 100644 index 0000000..5610393 Binary files /dev/null and b/samples/SnareDrums3/snaredrum129.wav differ diff --git a/samples/SnareDrums3/snaredrum130.wav b/samples/SnareDrums3/snaredrum130.wav new file mode 100644 index 0000000..f39ebe1 Binary files /dev/null and b/samples/SnareDrums3/snaredrum130.wav differ diff --git a/samples/SnareDrums3/snaredrum131.wav b/samples/SnareDrums3/snaredrum131.wav new file mode 100644 index 0000000..50e7923 Binary files /dev/null and b/samples/SnareDrums3/snaredrum131.wav differ diff --git a/samples/SnareDrums3/snaredrum132.wav b/samples/SnareDrums3/snaredrum132.wav new file mode 100644 index 0000000..874d063 Binary files /dev/null and b/samples/SnareDrums3/snaredrum132.wav differ diff --git a/samples/SnareDrums3/snaredrum133.wav b/samples/SnareDrums3/snaredrum133.wav new file mode 100644 index 0000000..32f0bb8 Binary files /dev/null and b/samples/SnareDrums3/snaredrum133.wav differ diff --git a/samples/SnareDrums3/snaredrum134.wav b/samples/SnareDrums3/snaredrum134.wav new file mode 100644 index 0000000..087bad7 Binary files /dev/null and b/samples/SnareDrums3/snaredrum134.wav differ diff --git a/samples/SnareDrums3/snaredrum135.wav b/samples/SnareDrums3/snaredrum135.wav new file mode 100644 index 0000000..848f32d Binary files /dev/null and b/samples/SnareDrums3/snaredrum135.wav differ diff --git a/samples/SnareDrums3/snaredrum136.wav b/samples/SnareDrums3/snaredrum136.wav new file mode 100644 index 0000000..375a277 Binary files /dev/null and b/samples/SnareDrums3/snaredrum136.wav differ diff --git a/samples/SnareDrums3/snaredrum137.wav b/samples/SnareDrums3/snaredrum137.wav new file mode 100644 index 0000000..072e3bd Binary files /dev/null and b/samples/SnareDrums3/snaredrum137.wav differ diff --git a/samples/SnareDrums3/snaredrum138.wav b/samples/SnareDrums3/snaredrum138.wav new file mode 100644 index 0000000..d65b873 Binary files /dev/null and b/samples/SnareDrums3/snaredrum138.wav differ diff --git a/samples/SnareDrums3/snaredrum139.wav b/samples/SnareDrums3/snaredrum139.wav new file mode 100644 index 0000000..ef6112d Binary files /dev/null and b/samples/SnareDrums3/snaredrum139.wav differ diff --git a/samples/SnareDrums3/snaredrum140.wav b/samples/SnareDrums3/snaredrum140.wav new file mode 100644 index 0000000..f6f6101 Binary files /dev/null and b/samples/SnareDrums3/snaredrum140.wav differ diff --git a/samples/SnareDrums3/snaredrum141.wav b/samples/SnareDrums3/snaredrum141.wav new file mode 100644 index 0000000..1159221 Binary files /dev/null and b/samples/SnareDrums3/snaredrum141.wav differ diff --git a/samples/SnareDrums3/snaredrum142.wav b/samples/SnareDrums3/snaredrum142.wav new file mode 100644 index 0000000..d707c14 Binary files /dev/null and b/samples/SnareDrums3/snaredrum142.wav differ diff --git a/samples/SnareDrums3/snaredrum143.wav b/samples/SnareDrums3/snaredrum143.wav new file mode 100644 index 0000000..fc806cf Binary files /dev/null and b/samples/SnareDrums3/snaredrum143.wav differ diff --git a/samples/SnareDrums3/snaredrum144.wav b/samples/SnareDrums3/snaredrum144.wav new file mode 100644 index 0000000..f6bb442 Binary files /dev/null and b/samples/SnareDrums3/snaredrum144.wav differ diff --git a/samples/SnareDrums3/snaredrum145.wav b/samples/SnareDrums3/snaredrum145.wav new file mode 100644 index 0000000..ef68a09 Binary files /dev/null and b/samples/SnareDrums3/snaredrum145.wav differ diff --git a/samples/SnareDrums3/snaredrum146.wav b/samples/SnareDrums3/snaredrum146.wav new file mode 100644 index 0000000..8774d19 Binary files /dev/null and b/samples/SnareDrums3/snaredrum146.wav differ diff --git a/samples/SnareDrums3/snaredrum147.wav b/samples/SnareDrums3/snaredrum147.wav new file mode 100644 index 0000000..256acaf Binary files /dev/null and b/samples/SnareDrums3/snaredrum147.wav differ diff --git a/samples/SnareDrums3/snaredrum148.wav b/samples/SnareDrums3/snaredrum148.wav new file mode 100644 index 0000000..cbb0067 Binary files /dev/null and b/samples/SnareDrums3/snaredrum148.wav differ diff --git a/samples/SnareDrums3/snaredrum149.wav b/samples/SnareDrums3/snaredrum149.wav new file mode 100644 index 0000000..a7705c5 Binary files /dev/null and b/samples/SnareDrums3/snaredrum149.wav differ diff --git a/samples/SnareDrums3/snaredrum150.wav b/samples/SnareDrums3/snaredrum150.wav new file mode 100644 index 0000000..27bb206 Binary files /dev/null and b/samples/SnareDrums3/snaredrum150.wav differ diff --git a/samples/SnareDrums4/snaredrum151.wav b/samples/SnareDrums4/snaredrum151.wav new file mode 100644 index 0000000..8434226 Binary files /dev/null and b/samples/SnareDrums4/snaredrum151.wav differ diff --git a/samples/SnareDrums4/snaredrum152.wav b/samples/SnareDrums4/snaredrum152.wav new file mode 100644 index 0000000..a094a27 Binary files /dev/null and b/samples/SnareDrums4/snaredrum152.wav differ diff --git a/samples/SnareDrums4/snaredrum153.wav b/samples/SnareDrums4/snaredrum153.wav new file mode 100644 index 0000000..a5aafa6 Binary files /dev/null and b/samples/SnareDrums4/snaredrum153.wav differ diff --git a/samples/SnareDrums4/snaredrum154.wav b/samples/SnareDrums4/snaredrum154.wav new file mode 100644 index 0000000..2b6d1c5 Binary files /dev/null and b/samples/SnareDrums4/snaredrum154.wav differ diff --git a/samples/SnareDrums4/snaredrum155.wav b/samples/SnareDrums4/snaredrum155.wav new file mode 100644 index 0000000..3e35022 Binary files /dev/null and b/samples/SnareDrums4/snaredrum155.wav differ diff --git a/samples/SnareDrums4/snaredrum156.wav b/samples/SnareDrums4/snaredrum156.wav new file mode 100644 index 0000000..cb36425 Binary files /dev/null and b/samples/SnareDrums4/snaredrum156.wav differ diff --git a/samples/SnareDrums4/snaredrum157.wav b/samples/SnareDrums4/snaredrum157.wav new file mode 100644 index 0000000..5e5c43e Binary files /dev/null and b/samples/SnareDrums4/snaredrum157.wav differ diff --git a/samples/SnareDrums4/snaredrum158.wav b/samples/SnareDrums4/snaredrum158.wav new file mode 100644 index 0000000..0bdfded Binary files /dev/null and b/samples/SnareDrums4/snaredrum158.wav differ diff --git a/samples/SnareDrums4/snaredrum159.wav b/samples/SnareDrums4/snaredrum159.wav new file mode 100644 index 0000000..0ed315a Binary files /dev/null and b/samples/SnareDrums4/snaredrum159.wav differ diff --git a/samples/SnareDrums4/snaredrum160.wav b/samples/SnareDrums4/snaredrum160.wav new file mode 100644 index 0000000..f747008 Binary files /dev/null and b/samples/SnareDrums4/snaredrum160.wav differ diff --git a/samples/SnareDrums4/snaredrum161.wav b/samples/SnareDrums4/snaredrum161.wav new file mode 100644 index 0000000..be42376 Binary files /dev/null and b/samples/SnareDrums4/snaredrum161.wav differ diff --git a/samples/SnareDrums4/snaredrum162.wav b/samples/SnareDrums4/snaredrum162.wav new file mode 100644 index 0000000..95a3269 Binary files /dev/null and b/samples/SnareDrums4/snaredrum162.wav differ diff --git a/samples/SnareDrums4/snaredrum163.wav b/samples/SnareDrums4/snaredrum163.wav new file mode 100644 index 0000000..d42adb5 Binary files /dev/null and b/samples/SnareDrums4/snaredrum163.wav differ diff --git a/samples/SnareDrums4/snaredrum164.wav b/samples/SnareDrums4/snaredrum164.wav new file mode 100644 index 0000000..8f1a3ea Binary files /dev/null and b/samples/SnareDrums4/snaredrum164.wav differ diff --git a/samples/SnareDrums4/snaredrum165.wav b/samples/SnareDrums4/snaredrum165.wav new file mode 100644 index 0000000..2104fcd Binary files /dev/null and b/samples/SnareDrums4/snaredrum165.wav differ diff --git a/samples/SnareDrums4/snaredrum166.wav b/samples/SnareDrums4/snaredrum166.wav new file mode 100644 index 0000000..cdac281 Binary files /dev/null and b/samples/SnareDrums4/snaredrum166.wav differ diff --git a/samples/SnareDrums4/snaredrum167.wav b/samples/SnareDrums4/snaredrum167.wav new file mode 100644 index 0000000..8063483 Binary files /dev/null and b/samples/SnareDrums4/snaredrum167.wav differ diff --git a/samples/SnareDrums4/snaredrum168.wav b/samples/SnareDrums4/snaredrum168.wav new file mode 100644 index 0000000..4bd61eb Binary files /dev/null and b/samples/SnareDrums4/snaredrum168.wav differ diff --git a/samples/SnareDrums4/snaredrum169.wav b/samples/SnareDrums4/snaredrum169.wav new file mode 100644 index 0000000..9734165 Binary files /dev/null and b/samples/SnareDrums4/snaredrum169.wav differ diff --git a/samples/SnareDrums4/snaredrum170.wav b/samples/SnareDrums4/snaredrum170.wav new file mode 100644 index 0000000..645b257 Binary files /dev/null and b/samples/SnareDrums4/snaredrum170.wav differ diff --git a/samples/SnareDrums4/snaredrum171.wav b/samples/SnareDrums4/snaredrum171.wav new file mode 100644 index 0000000..0d899bd Binary files /dev/null and b/samples/SnareDrums4/snaredrum171.wav differ diff --git a/samples/SnareDrums4/snaredrum172.wav b/samples/SnareDrums4/snaredrum172.wav new file mode 100644 index 0000000..1dff490 Binary files /dev/null and b/samples/SnareDrums4/snaredrum172.wav differ diff --git a/samples/SnareDrums4/snaredrum173.wav b/samples/SnareDrums4/snaredrum173.wav new file mode 100644 index 0000000..1e9950a Binary files /dev/null and b/samples/SnareDrums4/snaredrum173.wav differ diff --git a/samples/SnareDrums4/snaredrum174.wav b/samples/SnareDrums4/snaredrum174.wav new file mode 100644 index 0000000..e3e6f30 Binary files /dev/null and b/samples/SnareDrums4/snaredrum174.wav differ diff --git a/samples/SnareDrums4/snaredrum175.wav b/samples/SnareDrums4/snaredrum175.wav new file mode 100644 index 0000000..37cf23d Binary files /dev/null and b/samples/SnareDrums4/snaredrum175.wav differ diff --git a/samples/SnareDrums4/snaredrum176.wav b/samples/SnareDrums4/snaredrum176.wav new file mode 100644 index 0000000..d5bcd46 Binary files /dev/null and b/samples/SnareDrums4/snaredrum176.wav differ diff --git a/samples/SnareDrums4/snaredrum177.wav b/samples/SnareDrums4/snaredrum177.wav new file mode 100644 index 0000000..fe48917 Binary files /dev/null and b/samples/SnareDrums4/snaredrum177.wav differ diff --git a/samples/SnareDrums4/snaredrum178.wav b/samples/SnareDrums4/snaredrum178.wav new file mode 100644 index 0000000..95b0132 Binary files /dev/null and b/samples/SnareDrums4/snaredrum178.wav differ diff --git a/samples/SnareDrums4/snaredrum179.wav b/samples/SnareDrums4/snaredrum179.wav new file mode 100644 index 0000000..d729937 Binary files /dev/null and b/samples/SnareDrums4/snaredrum179.wav differ diff --git a/samples/SnareDrums4/snaredrum180.wav b/samples/SnareDrums4/snaredrum180.wav new file mode 100644 index 0000000..d6807ee Binary files /dev/null and b/samples/SnareDrums4/snaredrum180.wav differ diff --git a/samples/SnareDrums4/snaredrum181.wav b/samples/SnareDrums4/snaredrum181.wav new file mode 100644 index 0000000..2760d08 Binary files /dev/null and b/samples/SnareDrums4/snaredrum181.wav differ diff --git a/samples/SnareDrums4/snaredrum182.wav b/samples/SnareDrums4/snaredrum182.wav new file mode 100644 index 0000000..b4d3d35 Binary files /dev/null and b/samples/SnareDrums4/snaredrum182.wav differ diff --git a/samples/SnareDrums4/snaredrum183.wav b/samples/SnareDrums4/snaredrum183.wav new file mode 100644 index 0000000..f36c0a6 Binary files /dev/null and b/samples/SnareDrums4/snaredrum183.wav differ diff --git a/samples/SnareDrums4/snaredrum184.wav b/samples/SnareDrums4/snaredrum184.wav new file mode 100644 index 0000000..fa99a3b Binary files /dev/null and b/samples/SnareDrums4/snaredrum184.wav differ diff --git a/samples/SnareDrums4/snaredrum185.wav b/samples/SnareDrums4/snaredrum185.wav new file mode 100644 index 0000000..36bf4d3 Binary files /dev/null and b/samples/SnareDrums4/snaredrum185.wav differ diff --git a/samples/SnareDrums4/snaredrum186.wav b/samples/SnareDrums4/snaredrum186.wav new file mode 100644 index 0000000..4bbd8db Binary files /dev/null and b/samples/SnareDrums4/snaredrum186.wav differ diff --git a/samples/SnareDrums4/snaredrum187.wav b/samples/SnareDrums4/snaredrum187.wav new file mode 100644 index 0000000..83f90f1 Binary files /dev/null and b/samples/SnareDrums4/snaredrum187.wav differ diff --git a/samples/SnareDrums4/snaredrum188.wav b/samples/SnareDrums4/snaredrum188.wav new file mode 100644 index 0000000..e52a9dc Binary files /dev/null and b/samples/SnareDrums4/snaredrum188.wav differ diff --git a/samples/SnareDrums4/snaredrum189.wav b/samples/SnareDrums4/snaredrum189.wav new file mode 100644 index 0000000..2ef3d63 Binary files /dev/null and b/samples/SnareDrums4/snaredrum189.wav differ diff --git a/samples/SnareDrums4/snaredrum190.wav b/samples/SnareDrums4/snaredrum190.wav new file mode 100644 index 0000000..19bb758 Binary files /dev/null and b/samples/SnareDrums4/snaredrum190.wav differ diff --git a/samples/SnareDrums4/snaredrum191.wav b/samples/SnareDrums4/snaredrum191.wav new file mode 100644 index 0000000..37c369a Binary files /dev/null and b/samples/SnareDrums4/snaredrum191.wav differ diff --git a/samples/SnareDrums4/snaredrum192.wav b/samples/SnareDrums4/snaredrum192.wav new file mode 100644 index 0000000..99342ba Binary files /dev/null and b/samples/SnareDrums4/snaredrum192.wav differ diff --git a/samples/SnareDrums4/snaredrum193.wav b/samples/SnareDrums4/snaredrum193.wav new file mode 100644 index 0000000..5c23031 Binary files /dev/null and b/samples/SnareDrums4/snaredrum193.wav differ diff --git a/samples/SnareDrums4/snaredrum194.wav b/samples/SnareDrums4/snaredrum194.wav new file mode 100644 index 0000000..411316b Binary files /dev/null and b/samples/SnareDrums4/snaredrum194.wav differ diff --git a/samples/SnareDrums4/snaredrum195.wav b/samples/SnareDrums4/snaredrum195.wav new file mode 100644 index 0000000..bc36b1b Binary files /dev/null and b/samples/SnareDrums4/snaredrum195.wav differ diff --git a/samples/SnareDrums4/snaredrum196.wav b/samples/SnareDrums4/snaredrum196.wav new file mode 100644 index 0000000..3264ea2 Binary files /dev/null and b/samples/SnareDrums4/snaredrum196.wav differ diff --git a/samples/SnareDrums4/snaredrum197.wav b/samples/SnareDrums4/snaredrum197.wav new file mode 100644 index 0000000..90cf926 Binary files /dev/null and b/samples/SnareDrums4/snaredrum197.wav differ diff --git a/samples/SnareDrums4/snaredrum198.wav b/samples/SnareDrums4/snaredrum198.wav new file mode 100644 index 0000000..e1884b3 Binary files /dev/null and b/samples/SnareDrums4/snaredrum198.wav differ diff --git a/samples/SnareDrums4/snaredrum199.wav b/samples/SnareDrums4/snaredrum199.wav new file mode 100644 index 0000000..9f53d33 Binary files /dev/null and b/samples/SnareDrums4/snaredrum199.wav differ diff --git a/samples/SnareDrums4/snaredrum200.wav b/samples/SnareDrums4/snaredrum200.wav new file mode 100644 index 0000000..07a1258 Binary files /dev/null and b/samples/SnareDrums4/snaredrum200.wav differ diff --git a/samples/Tambourines/tambourine1.wav b/samples/Tambourines/tambourine1.wav new file mode 100644 index 0000000..b9e4c0e Binary files /dev/null and b/samples/Tambourines/tambourine1.wav differ diff --git a/samples/Tambourines/tambourine10.wav b/samples/Tambourines/tambourine10.wav new file mode 100644 index 0000000..ac6ac59 Binary files /dev/null and b/samples/Tambourines/tambourine10.wav differ diff --git a/samples/Tambourines/tambourine2.wav b/samples/Tambourines/tambourine2.wav new file mode 100644 index 0000000..6dfebcf Binary files /dev/null and b/samples/Tambourines/tambourine2.wav differ diff --git a/samples/Tambourines/tambourine3.wav b/samples/Tambourines/tambourine3.wav new file mode 100644 index 0000000..77591d1 Binary files /dev/null and b/samples/Tambourines/tambourine3.wav differ diff --git a/samples/Tambourines/tambourine4.wav b/samples/Tambourines/tambourine4.wav new file mode 100644 index 0000000..e296788 Binary files /dev/null and b/samples/Tambourines/tambourine4.wav differ diff --git a/samples/Tambourines/tambourine5.wav b/samples/Tambourines/tambourine5.wav new file mode 100644 index 0000000..ec05b96 Binary files /dev/null and b/samples/Tambourines/tambourine5.wav differ diff --git a/samples/Tambourines/tambourine6.wav b/samples/Tambourines/tambourine6.wav new file mode 100644 index 0000000..20f6286 Binary files /dev/null and b/samples/Tambourines/tambourine6.wav differ diff --git a/samples/Tambourines/tambourine7.wav b/samples/Tambourines/tambourine7.wav new file mode 100644 index 0000000..ad48ef3 Binary files /dev/null and b/samples/Tambourines/tambourine7.wav differ diff --git a/samples/Tambourines/tambourine8.wav b/samples/Tambourines/tambourine8.wav new file mode 100644 index 0000000..096f849 Binary files /dev/null and b/samples/Tambourines/tambourine8.wav differ diff --git a/samples/Tambourines/tambourine9.wav b/samples/Tambourines/tambourine9.wav new file mode 100644 index 0000000..cd31d21 Binary files /dev/null and b/samples/Tambourines/tambourine9.wav differ diff --git a/samples/TomTomDrums/tomtomdrum1.wav b/samples/TomTomDrums/tomtomdrum1.wav new file mode 100644 index 0000000..2b5f608 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum1.wav differ diff --git a/samples/TomTomDrums/tomtomdrum10.wav b/samples/TomTomDrums/tomtomdrum10.wav new file mode 100644 index 0000000..6dc8a48 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum10.wav differ diff --git a/samples/TomTomDrums/tomtomdrum2.wav b/samples/TomTomDrums/tomtomdrum2.wav new file mode 100644 index 0000000..28f4065 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum2.wav differ diff --git a/samples/TomTomDrums/tomtomdrum3.wav b/samples/TomTomDrums/tomtomdrum3.wav new file mode 100644 index 0000000..86b7a08 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum3.wav differ diff --git a/samples/TomTomDrums/tomtomdrum4.wav b/samples/TomTomDrums/tomtomdrum4.wav new file mode 100644 index 0000000..3cc9783 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum4.wav differ diff --git a/samples/TomTomDrums/tomtomdrum5.wav b/samples/TomTomDrums/tomtomdrum5.wav new file mode 100644 index 0000000..13c92c3 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum5.wav differ diff --git a/samples/TomTomDrums/tomtomdrum6.wav b/samples/TomTomDrums/tomtomdrum6.wav new file mode 100644 index 0000000..ed086f5 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum6.wav differ diff --git a/samples/TomTomDrums/tomtomdrum7.wav b/samples/TomTomDrums/tomtomdrum7.wav new file mode 100644 index 0000000..6f71443 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum7.wav differ diff --git a/samples/TomTomDrums/tomtomdrum8.wav b/samples/TomTomDrums/tomtomdrum8.wav new file mode 100644 index 0000000..0154c87 Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum8.wav differ diff --git a/samples/TomTomDrums/tomtomdrum9.wav b/samples/TomTomDrums/tomtomdrum9.wav new file mode 100644 index 0000000..8774d1c Binary files /dev/null and b/samples/TomTomDrums/tomtomdrum9.wav differ diff --git a/samples/Triangles/triangle1.wav b/samples/Triangles/triangle1.wav new file mode 100644 index 0000000..53c16dd Binary files /dev/null and b/samples/Triangles/triangle1.wav differ diff --git a/samples/Triangles/triangle10.wav b/samples/Triangles/triangle10.wav new file mode 100644 index 0000000..ea42350 Binary files /dev/null and b/samples/Triangles/triangle10.wav differ diff --git a/samples/Triangles/triangle2.wav b/samples/Triangles/triangle2.wav new file mode 100644 index 0000000..e933845 Binary files /dev/null and b/samples/Triangles/triangle2.wav differ diff --git a/samples/Triangles/triangle3.wav b/samples/Triangles/triangle3.wav new file mode 100644 index 0000000..a6e0bc1 Binary files /dev/null and b/samples/Triangles/triangle3.wav differ diff --git a/samples/Triangles/triangle4.wav b/samples/Triangles/triangle4.wav new file mode 100644 index 0000000..8094cd1 Binary files /dev/null and b/samples/Triangles/triangle4.wav differ diff --git a/samples/Triangles/triangle5.wav b/samples/Triangles/triangle5.wav new file mode 100644 index 0000000..df2a60c Binary files /dev/null and b/samples/Triangles/triangle5.wav differ diff --git a/samples/Triangles/triangle6.wav b/samples/Triangles/triangle6.wav new file mode 100644 index 0000000..5333b72 Binary files /dev/null and b/samples/Triangles/triangle6.wav differ diff --git a/samples/Triangles/triangle7.wav b/samples/Triangles/triangle7.wav new file mode 100644 index 0000000..26b8127 Binary files /dev/null and b/samples/Triangles/triangle7.wav differ diff --git a/samples/Triangles/triangle8.wav b/samples/Triangles/triangle8.wav new file mode 100644 index 0000000..e3cd73c Binary files /dev/null and b/samples/Triangles/triangle8.wav differ diff --git a/samples/Triangles/triangle9.wav b/samples/Triangles/triangle9.wav new file mode 100644 index 0000000..b330249 Binary files /dev/null and b/samples/Triangles/triangle9.wav differ diff --git a/samples/info.txt b/samples/info.txt new file mode 100644 index 0000000..4786ee1 --- /dev/null +++ b/samples/info.txt @@ -0,0 +1 @@ +www.DrumSamples.org diff --git a/src/music_as_data/core.clj b/src/music_as_data/core.clj new file mode 100644 index 0000000..b372b17 --- /dev/null +++ b/src/music_as_data/core.clj @@ -0,0 +1,44 @@ +;; Jon Vlachoyiannis 07/03/2011 +;; jon@emotionull.com + +(ns music-as-data.core + (:import [ddf.minim Minim] + [ddf.minim.signals SquareWave] + [ddf.minim.signals SineWave]) + (:use [rosado.processing.applet]) + (:use [music-as-data.mad] + [music-as-data.elements] + [music-as-data.globals])) + +;;(defsample kick "KickDrums1/kickdrum6.wav") +(defsample kick2 "KickDrums4/kickdrum154.wav") +;;(defsample snare "SnareDrums1/snaredrum2.wav") +(defsample snare2 "DistortedSnares2/distortedsnare52.wav") +(defsample hihat "HiHats1/hihat2.wav") + + +(defn setup [] + "Runs once." + (swap! *minim* (fn [minim] (Minim. *applet*))) + (swap! *outp* (fn [out] + (.getLineOut @*minim*))) + (swap! *outp* (fn [out] + (.getLineOut @*minim*))) + (swap! *sine* (fn [out] + (new SineWave 440 1 (.sampleRate @*outp*))))) + + +(defn draw [] + (background-float 124)) + +(defapplet main :title "Music as Data" + :setup setup :draw draw :size [200 200]) + +(defn start [applet] + (run applet)) + +(defn end [applet] + (stop applet)) + +;;(p) +;;(play!) diff --git a/src/music_as_data/core.clj~ b/src/music_as_data/core.clj~ new file mode 100644 index 0000000..d7b2ef3 --- /dev/null +++ b/src/music_as_data/core.clj~ @@ -0,0 +1,40 @@ +;; Jon Vlachoyiannis 07/03/2011 +;; jon@emotionull.com + +(ns music_as_data.core + (:use mad)) + +(def *samples-path* "/home/darksun4/Sources/clj-processing/examples/data/") + +;;(defsample kick "KickDrums1/kickdrum6.wav") +(defsample kick2 "KickDrums4/kickdrum154.wav") +;;(defsample snare "SnareDrums1/snaredrum2.wav") +(defsample snare2 "DistortedSnares2/distortedsnare52.wav") +(defsample hihat "HiHats1/hihat2.wav") + + +(defn setup [] + "Runs once." + (swap! *minim* (fn [minim] (Minim. *applet*))) + (swap! *outp* (fn [out] + (.getLineOut @*minim*))) + (swap! *outp* (fn [out] + (.getLineOut @*minim*))) + (swap! *sine* (fn [out] + (new SineWave 440 1 (.sampleRate @*outp*))))) + + +(defn draw [] + (background-float 124)) + +(defapplet example :title "Music as Data" + :setup setup :draw draw :size [200 200]) + +(defn start [applet] + (run applet)) + +(defn stop [applet] + (stop applet)) + +(p) +(play!) diff --git a/src/music_as_data/drum-examples.clj b/src/music_as_data/drum-examples.clj new file mode 100644 index 0000000..403c325 --- /dev/null +++ b/src/music_as_data/drum-examples.clj @@ -0,0 +1,16 @@ +;; TRON + +(play! [kick2 kick2 kick2 kick2 snare2 kick2 kick2 kick2] 2) + +;; EXAMPLE +(times 4 (p (pattern [[E4 G4 E4] [E5 B4 G4 D4 A4 E4 G4 A4]], 2))) + +(p (pattern [E4 E4 E4 E4 E4],2.5)) + +;; Drum Demos +(times 8 + (p (pattern [kick (+ hihat snare)],2))) +(times 4 + (p (pattern [kick (+ hihat snare) [kick kick] (+ hihat snare)],3))) +(times 4 + (p (pattern [kick (+ hihat snare) [kick kick kick kick] kick kick kick kick (+ hihat snare)],3))) diff --git a/src/music_as_data/effects.clj b/src/music_as_data/effects.clj new file mode 100644 index 0000000..493d6fb --- /dev/null +++ b/src/music_as_data/effects.clj @@ -0,0 +1,7 @@ +;; FIXME +(defn trancento [how-much notes] + (map #(assoc % :pitch + (clojure.core/+ (:pitch %) + how-much)) + notes)) + diff --git a/src/music_as_data/elements.clj b/src/music_as_data/elements.clj new file mode 100644 index 0000000..72148fd --- /dev/null +++ b/src/music_as_data/elements.clj @@ -0,0 +1,17 @@ +(ns music-as-data.elements + (:use [music-as-data.mfunctions] + [music-as-data.globals])) + +(defrecord Melement [volume pitch duration play-fn data]) + +(def _ (Melement. 50 1.0 nil (fn[x] nil) "_")) + +(defmacro defsample [sample sample-path] + `(def ~sample + (Melement. 50 (float 1.0) (float 1.0) play-sample + (.loadSample @*minim* (str (get-samples-path) '~sample-path))))) + +(defmacro defmidi-note [n-name] + `(def ~n-name (Melement. 50 (float 1.0) (float 1.0) play-note (str '~n-name)))) + + diff --git a/src/music_as_data/elements.clj~ b/src/music_as_data/elements.clj~ new file mode 100644 index 0000000..c83f046 --- /dev/null +++ b/src/music_as_data/elements.clj~ @@ -0,0 +1,16 @@ +(defrecord Melement [volume pitch duration play-fn data]) + +(def _ (Melement. 50 1.0 nil (fn[x] nil) "_")) + +(defn play-element [element] + ((:play-fn element) element)) + +(defmacro defsample [sample sample-path] + `(def ~sample + (Melement. 50 (float 1.0) (float 1.0) play-sample + (.loadSample @*minim* (str *samples-path* '~sample-path))))) + +(defmacro defmidi-note [n-name] + `(def ~n-name (Melement. 50 (float 1.0) (float 1.0) play-note (str '~n-name)))) + + diff --git a/src/music_as_data/globals.clj b/src/music_as_data/globals.clj new file mode 100644 index 0000000..1142847 --- /dev/null +++ b/src/music_as_data/globals.clj @@ -0,0 +1,13 @@ +(ns music-as-data.globals) + +(def *samples-path* "/home/darksun4/Sources/clj-processing/examples/data/") + +(defn get-samples-path [] + *samples-path*) + +(def *minim* (atom nil)) +(def *outp* (atom nil)) +(def *sine* (atom nil)) +(def *pattern* (atom [])) + + diff --git a/src/music_as_data/globals.clj~ b/src/music_as_data/globals.clj~ new file mode 100644 index 0000000..c72d6f1 --- /dev/null +++ b/src/music_as_data/globals.clj~ @@ -0,0 +1,6 @@ +(ns music-as-data.globals) + +(def *minim* (atom nil)) +(def *outp* (atom nil)) +(def *sine* (atom nil)) +(def *pattern* (atom [])) diff --git a/src/music_as_data/mad.clj b/src/music_as_data/mad.clj new file mode 100644 index 0000000..49330aa --- /dev/null +++ b/src/music_as_data/mad.clj @@ -0,0 +1,54 @@ +;; Jon Vlachoyiannis 07/03/2011 +;; jon@emotionull.com + +(ns music-as-data.mad + (:import [ddf.minim AudioOutput AudioSample]) + (:import (processing.core PApplet PImage PGraphics PFont)) + (:use [music-as-data.globals] + [music-as-data.mfunctions]) + (:use [rosado.processing] + [rosado.processing.applet])) + + +(defn p + [elements] + (doseq [element elements] + (play-element element) + (Thread/sleep (* (:duration element) 500)))) + + +(defn calc-duration [elements duration count]) + +;; Maybe a reduce could clean it up more? +(defn pattern + ([m-element] (pattern m-element 1)) + ([m-element duration] + (if (= (type []) (type m-element)) + (flatten + (calc-duration m-element duration (count m-element))) + (assoc m-element :duration duration)))) + + +(defn calc-duration [elements duration count] + (map #(pattern % (/ duration count)) + elements)) + + +(defn play! + ([new-pattern] (play! new-pattern 1)) + ([new-pattern tempo] + (swap! *pattern* (fn[x] [new-pattern tempo])))) + +(defmacro times [num expression] + ;; small tempo drums demo + `(doseq [i# (range ~num)] + ~expression)) + +(defn keep-looping [] + (times 200 + (p (pattern (first @*pattern*) + (second @*pattern*))))) + + + + diff --git a/src/music_as_data/mad.clj~ b/src/music_as_data/mad.clj~ new file mode 100644 index 0000000..294287d --- /dev/null +++ b/src/music_as_data/mad.clj~ @@ -0,0 +1,59 @@ +;; Jon Vlachoyiannis 07/03/2011 +;; jon@emotionull.com + +(ns music_as_data.mad + (:import [ddf.minim Minim AudioOutput AudioSample] + [ddf.minim.signals SquareWave] + [ddf.minim.signals SineWave] + [ddf.minim.effects LowPassFS]) + (:import (processing.core PApplet PImage PGraphics PFont)) + (:use [rosado.processing] + [rosado.processing.applet])) + +(def *minim* (atom nil)) +(def *outp* (atom nil)) +(def *sine* (atom nil)) +(def *pattern* (atom [])) + +(defn p + [elements] + (doseq [element elements] + (play-element element) + (Thread/sleep (* (:duration element) 500)))) + + +(defn calc-duration [elements duration count]) + +;; Maybe a reduce could clean it up more? +(defn pattern + ([m-element] (pattern m-element 1)) + ([m-element duration] + (if (= (type []) (type m-element)) + (flatten + (calc-duration m-element duration (count m-element))) + (assoc m-element :duration duration)))) + + +(defn calc-duration [elements duration count] + (map #(pattern % (/ duration count)) + elements)) + + +(defn play! + ([new-pattern] (play! new-pattern 1)) + ([new-pattern tempo] + (swap! *pattern* (fn[x] [new-pattern tempo])))) + +(defmacro times [num expression] + ;; small tempo drums demo + `(doseq [i# (range ~num)] + ~expression)) + +(defn keep-looping [] + (times 200 + (p (pattern (first @*pattern*) + (second @*pattern*))))) + + + + diff --git a/src/music_as_data/mfunctions.clj b/src/music_as_data/mfunctions.clj new file mode 100644 index 0000000..04dd001 --- /dev/null +++ b/src/music_as_data/mfunctions.clj @@ -0,0 +1,23 @@ +(ns music-as-data.mfunctions + (:use [music-as-data.globals])) + +(defn play-element [element] + ((:play-fn element) element)) + + +(defn play-note [note] + (.playNote @*outp* (float 0) + (float (:duration note)) + (:data note))) + + +(defn play-sample [sample] + (.trigger (:data sample))) + + +(defn play-chord + "Executes the play-funcs of of all elements" + [chord-elements] + (doseq [element (:data chord-elements)] + (play-element element))) + diff --git a/src/music_as_data/mfunctions.clj~ b/src/music_as_data/mfunctions.clj~ new file mode 100644 index 0000000..d8a09ca --- /dev/null +++ b/src/music_as_data/mfunctions.clj~ @@ -0,0 +1,15 @@ +(defn play-note [note] + (.playNote @*outp* (float 0) + (float (:duration note)) + (:data note))) + + +(defn play-sample [sample] + (.trigger (:data sample))) + + +(defn- play-chord + "Executes the play-funcs of of all elements" + [chord-elements] + (doseq [element (:data chord-elements)] + (play-element element))) diff --git a/src/music_as_data/midnotes.clj b/src/music_as_data/midnotes.clj new file mode 100644 index 0000000..065ee16 --- /dev/null +++ b/src/music_as_data/midnotes.clj @@ -0,0 +1,15 @@ +;; Midi Notes + +(defmidi-note A) +;;(defmidi-note B) +;;(defmidi-note C) +;;(defmidi-note D) +;;(defmidi-note E) +;;(defmidi-note F) +;;(defmidi-note G) +;;(defmidi-note E3) +;;(defmidi-note G3) +;;(defmidi-note B3) +;;(defmidi-note E4) +;;(defmidi-note _) + diff --git a/src/music_as_data/semantics.clj b/src/music_as_data/semantics.clj new file mode 100644 index 0000000..5d21c81 --- /dev/null +++ b/src/music_as_data/semantics.clj @@ -0,0 +1,8 @@ +(defn join [& notes] + (Melement. 0 0 0 play-chord + (first (conj [] notes)))) + +;; Maybe defmulti? +(defmacro + [& more] + ;; make chords like (+ kick hihat) + `(join ~@more)) diff --git a/src/music_as_data/signals.clj b/src/music_as_data/signals.clj new file mode 100644 index 0000000..328dd11 --- /dev/null +++ b/src/music_as_data/signals.clj @@ -0,0 +1,43 @@ +(defmacro get-note-freq + "Converts Ab4 to notes: A b 4 and return frequency" + [snote] + `(let [note# (map char (str '~snote))] + (calc-freq + (if (> (count note#) 2) + (zipmap + '(:note :half :scale ) + note#) + (zipmap + '(:note :scale) + note#))))) + +(defn calc-freq [sig-note] + (* + (clojure.core/+ + (cond (= \C (:note sig-note)) 16.35 + (= \D (:note sig-note)) 18.35 + (= \E (:note sig-note)) 20.60 + (= \F (:note sig-note)) 21.83 + (= \G (:note sig-note)) 24.50 + (= \A (:note sig-note)) 27.50 + (= \B (:note sig-note)) 30.87) + (cond (not (contains? sig-note :half)) 0 + (= \# (:half sig-note)) 1.0594 + (= \b (:half sig-note)) -1.0594)) + (Math/pow 2 (Integer/parseInt (str (:scale sig-note)))))) + +(defn setFreq [signal freq] + (assoc signal :pitch freq)) + + +(defn play-signal [signal] + (.setFreq (:data signal) (:pitch signal)) + (.addSignal @*outp* + (:data signal)) + (Thread/sleep (* (:duration signal) 500)) + (.removeSignal @*outp* + (:data signal))) + +(defmacro defnote [note-name global-signal] + `(def ~note-name + (Melement. 50 (float (get-note-freq ~note-name)) (float 1) play-signal ~global-signal))) diff --git a/src/music_as_data/signalsnotes.clj b/src/music_as_data/signalsnotes.clj new file mode 100644 index 0000000..56a9dc4 --- /dev/null +++ b/src/music_as_data/signalsnotes.clj @@ -0,0 +1,81 @@ +;; FIXME - macro here! +(defnote A0 @*sine*) +(defnote A1 @*sine*) +(defnote A2 @*sine*) +(defnote A3 @*sine*) +(defnote A4 @*sine*) +(defnote A5 @*sine*) +(defnote A6 @*sine*) +(defnote A7 @*sine*) + +(defnote B0 @*sine*) +(defnote B1 @*sine*) +(defnote B2 @*sine*) +(defnote B3 @*sine*) +(defnote B4 @*sine*) +(defnote B5 @*sine*) +(defnote B6 @*sine*) +(defnote B7 @*sine*) + +(defnote C0 @*sine*) +(defnote C1 @*sine*) +(defnote C2 @*sine*) +(defnote C3 @*sine*) +(defnote C4 @*sine*) +(defnote C5 @*sine*) +(defnote C6 @*sine*) +(defnote C7 @*sine*) + +(defnote D0 @*sine*) +(defnote D1 @*sine*) +(defnote D2 @*sine*) +(defnote D3 @*sine*) +(defnote D4 @*sine*) +(defnote D5 @*sine*) +(defnote D6 @*sine*) +(defnote D7 @*sine*) + +(defnote D#0 @*sine*) +(defnote D#1 @*sine*) +(defnote D#2 @*sine*) +(defnote D#3 @*sine*) +(defnote D#4 @*sine*) +(defnote D#5 @*sine*) +(defnote D#6 @*sine*) +(defnote D#7 @*sine*) + +(defnote E0 @*sine*) +(defnote E1 @*sine*) +(defnote E2 @*sine*) +(defnote E3 @*sine*) +(defnote E4 @*sine*) +(defnote E5 @*sine*) +(defnote E6 @*sine*) +(defnote E7 @*sine*) + +(defnote F0 @*sine*) +(defnote F1 @*sine*) +(defnote F2 @*sine*) +(defnote F3 @*sine*) +(defnote F4 @*sine*) +(defnote F5 @*sine*) +(defnote F6 @*sine*) +(defnote F7 @*sine*) + +(defnote G0 @*sine*) +(defnote G1 @*sine*) +(defnote G2 @*sine*) +(defnote G3 @*sine*) +(defnote G4 @*sine*) +(defnote G5 @*sine*) +(defnote G6 @*sine*) +(defnote G7 @*sine*) + +(defnote G#0 @*sine*) +(defnote G#1 @*sine*) +(defnote G#2 @*sine*) +(defnote G#3 @*sine*) +(defnote G#4 @*sine*) +(defnote G#5 @*sine*) +(defnote G#6 @*sine*) +(defnote G#7 @*sine*) diff --git a/src/rosado/constants.clj b/src/rosado/constants.clj new file mode 100644 index 0000000..e08763e --- /dev/null +++ b/src/rosado/constants.clj @@ -0,0 +1,192 @@ +;; Constants for the simple processing wrapper for Clojure +;; Roland Sadowski [szabla gmail com] + +;; Copyright (c) 2008 Roland Sadowski. All rights reserved. The use and +;; distribution terms for this software are covered by the Common +;; Public License 1.0 (http://www.opensource.org/licenses/cpl1.0.php) +;; which can be found in the file CPL.TXT at the root of this +;; distribution. By using this software in any fashion, you are +;; agreeing to be bound by the terms of this license. You must not +;; remove this notice, or any other, from this software. + +;; renderers known to processing.core + +(def P2D PApplet/P2D) +(def P3D PApplet/P3D) +(def JAVA2D PApplet/JAVA2D) +(def OPENGL PApplet/OPENGL) +(def PDF PApplet/PDF) +(def DXF PApplet/DXF) + +;; platform IDs for PApplet.platform +(def WINDOWS PApplet/WINDOWS) +(def MACOSX PApplet/MACOSX) +(def LINUX PApplet/LINUX) +(def OTHER PApplet/OTHER) + +;(def EPSILON (PApllet 0.0001)) +(def EPSILON PApplet/EPSILON) + +(def MAX_FLOAT PApplet/MAX_FLOAT) +(def MIN_FLOAT PApplet/MIN_FLOAT) + +(def MAX_INT PApplet/MAX_FLOAT) +(def MIN_INT PApplet/MIN_FLOAT) + +(def PI (float Math/PI)) +(def HALF_PI (/ PI (float 2.0))) +(def THIRD_PI (/ PI (float 3.0))) +(def QUARTER_PI (/ PI (float 4.0))) +(def TWO_PI (* PI (float 2.0))) + +(def DEG_TO_RAD (/ PI (float 180.0))) +(def RAD_TO_DEG (/ (float 180.0) PI)) + +;; for colors and/or images + +(def RGB (int 1)) ; image & color +(def ARGB (int 2)) ; image +(def HSB (int 3)) ; color +(def ALPHA (int 4)) ; image +(def CMYK (int 5)) ; image & color (someday) + +;; filter/convert types + +(def BLUR 11) +(def GRAY 12) +(def INVERT 13) +(def OPAQUE 14) +(def POSTERIZE 15) +(def THRESHOLD 16) +(def ERODE 17) +(def DILATE 18) + +;; blend mode keyword definitions +;; see processing.core.PImage#blendColor(int,int,int) + +(def REPLACE PApplet/REPLACE) +(def BLEND PApplet/BLEND) +(def ADD PApplet/ADD) +(def SUBTRACT PApplet/SUBTRACT) +(def LIGHTEST PApplet/LIGHTEST) +(def DARKEST PApplet/DARKEST) +(def DIFFERENCE PApplet/DIFFERENCE) +(def EXCLUSION PApplet/EXCLUSION) +(def MULTIPLY PApplet/MULTIPLY) +(def SCREEN PApplet/SCREEN) +(def OVERLAY PApplet/OVERLAY) +(def HARD_LIGHT PApplet/HARD_LIGHT) +(def SOFT_LIGHT PApplet/SOFT_LIGHT) +(def DODGE PApplet/DODGE) +(def BURN PApplet/BURN) + +;; colour component bitmasks + +(def ALPHA_MASK PApplet/ALPHA_MASK) +(def RED_MASK PApplet/RED_MASK) +(def GREEN_MASK PApplet/GREEN_MASK) +(def BLUE_MASK PApplet/BLUE_MASK) + +;; for messages + +(def CHATTER PApplet/CHATTER) +(def COMPLAINT PApplet/COMPLAINT) +(def PROBLEM PApplet/PROBLEM) + +;; types of projection matrices + +(def CUSTOM PApplet/CUSTOM) ;; user-specified fanciness +(def ORTHOGRAPHIC PApplet/ORTHOGRAPHIC) ;; 2D isometric projection +(def PERSPECTIVE PApplet/PERSPECTIVE) ;; perspective matrix + +;; shapes + +;; the low four bits set the variety, +;; higher bits set the specific shape type + +; (def GROUP PApplet/GROUP) + +(def POINT PApplet/POINT) ;shared with light +(def POINTS PApplet/POINTS) + +(def LINE PApplet/LINE) +(def LINES PApplet/LINES) + +(def TRIANGLE PApplet/TRIANGLE) +(def TRIANGLES PApplet/TRIANGLES) +(def TRIANGLE_STRIP PApplet/TRIANGLE_STRIP) +(def TRIANGLE_FAN PApplet/TRIANGLE_FAN) + +(def QUAD PApplet/QUAD) +(def QUADS PApplet/QUADS) +(def QUAD_STRIP PApplet/QUAD_STRIP) + +(def POLYGON PApplet/POLYGON) +(def PATH PApplet/PATH) + +(def RECT PApplet/RECT) +(def ELLIPSE PApplet/ELLIPSE) +(def ARC PApplet/ARC) + +(def SPHERE PApplet/SPHERE) +(def BOX PApplet/BOX) + +(def OPEN PApplet/OPEN) +(def CLOSE PApplet/CLOSE) + +(def CONCAVE_POLYGON (bit-or (bit-shift-left 1 8) 1)) +(def CONVEX_POLYGON (bit-or (bit-shift-left 1 8) 2)) + +(def CORNER PApplet/CORNER) +(def CORNERS PApplet/CORNERS) +(def RADIUS PApplet/RADIUS) +(def CENTER PApplet/CENTER) +(def DIAMETER PApplet/DIAMETER) + +;; vertical alignment for text placement + +(def BASELINE PApplet/BASELINE) +(def TOP PApplet/TOP) +(def BOTTOM PApplet/BOTTOM) + +;; uv texture orientation modes + +(def NORMAL PApplet/NORMAL) +(def NORMALIZED PApplet/NORMALIZED) +(def IMAGE PApplet/IMAGE) + +;; stroke modes + +(def SQUARE PApplet/SQUARE) +(def ROUND PApplet/ROUND) +(def PROJECT PApplet/PROJECT) +(def MODEL PApplet/MODEL) + +;; LIGHTING + +(def AMBIENT PApplet/AMBIENT) +(def DIRECTIONAL PApplet/DIRECTIONAL) +;; (def POINT PApplet/POINT) ; shared with shape feature +(def SPOT PApplet/SPOT) + +;; keys + +(def BACKSPACE PApplet/BACKSPACE) +(def TAB PApplet/TAB) +(def ENTER PApplet/ENTER) +(def RETURN PApplet/RETURN) +(def ESC PApplet/ESC) +(def DELETE PApplet/DELETE) + +(def UP PApplet/UP) +(def DOWN PApplet/DOWN) +(def LEFT PApplet/LEFT) +(def RIGHT PApplet/RIGHT) + +(def ALT PApplet/ALT) +(def CONTROL PApplet/CONTROL) +(def SHIFT PApplet/SHIFT) + + + + diff --git a/src/rosado/processing-minim.clj b/src/rosado/processing-minim.clj new file mode 100644 index 0000000..a3a9ff8 --- /dev/null +++ b/src/rosado/processing-minim.clj @@ -0,0 +1,936 @@ +;; simple processing wrapper for Clojure +;; Roland Sadowski [szabla gmail com] + +;; Copyright (c) 2008 Roland Sadowski. All rights reserved. The use and +;; distribution terms for this software are covered by the Common +;; Public License 1.0 (http://www.opensource.org/licenses/cpl1.0.php) +;; which can be found in the file CPL.TXT at the root of this +;; distribution. By using this software in any fashion, you are +;; agreeing to be bound by the terms of this license. You must not +;; remove this notice, or any other, from this software. + +(ns rosado.processing + (:import [ddf.minim Minim AudioOutput] + [ddf.minim.signals SquareWave] + [ddf.minim.effects LowPassSP]) + (:import (processing.core PApplet PImage PGraphics PFont)) + (:load "constants")) + +;; used by functions in this lib. Use binding to set it +;; to an instance of processing.core.PApplet +(def ^PApplet *applet*) + +(def toupper (memfn toUpperCase)) + +(defn tosymb [kw] + (-> kw name toupper symbol)) + +(defn abs-int [n] (PApplet/abs (int n))) + +(defn abs-float [n] (PApplet/abs (float n))) + +(defn abs + "Returns a float." + [n] + (PApplet/abs (float n))) + +(defn acos [n] (PApplet/acos n)) + +;; $$addListeners + +(defn alpha + [what] (.alpha *applet* (int what))) + +(defn ambient + ([gray] (.ambient *applet* (float gray))) + ([x y z] (.ambient *applet* (float x) (float y) (float z)))) + +(defn ambient-int + [rgb] (.ambient *applet* (int rgb))) + +(defn ambient-light + ([red green blue] + (.ambientLight *applet* (float red) (float green) (float blue))) + ([red green blue x y z] + (.ambientLight *applet* (float red) (float green) (float blue) + (float x) (float y) (float z)))) + +;; $$append + +(defn apply-matrix + ([n00 n01 n02 n10 n11 n12] + (.applyMatrix *applet* (float n00) (float n01) (float n02) + (float n10) (float n11) (float n12))) + ([n00 n01 n02 n03 + n10 n11 n12 n13 + n20 n21 n22 n23 + n30 n31 n32 n33] + (.applyMatrix *applet* (float n00) (float n01) (float n02) (float 03) + (float n10) (float n11) (float n12) (float 13) + (float n20) (float n21) (float n22) (float 23) + (float n30) (float n31) (float n32) (float 33)))) + +(defn arc + [a b c d start stop] + (.arc *applet* (float a)(float b) (float c) (float d) + (float start) (float stop))) + +;; $$arraycopy + +(defn asin [val] (PApplet/asin (float val))) + +(defn atan [val] (PApplet/atan (float val))) + +(defn atan2 [a b] (PApplet/atan2 (float a) (float b))) + +(defn background-float + ([gray] (.background *applet* (float gray))) + ([gray alpha] (.background *applet* (float gray) (float alpha))) + ([r g b] (.background *applet* (float r) (float g) (float b))) + ([r g b a] (.background *applet* (float r) (float g) (float b) (float a)))) + +(defn background-int + ([rgb] (.background *applet* (int rgb))) + ([rgb alpha] (.background *applet* (int rgb) (float alpha)))) + +(def background background-float) + +(defn background-image + [^PImage img] (.background *applet* img)) + +(defn begin-camera + [] (.beginCamera *applet*)) + +(defn begin-raw + ([^PGraphics raw-gfx] (.beginRaw *applet* raw-gfx)) + ([^String renderer ^String filename] + (.beginRaw *applet* renderer filename))) + +;; $$beginRecord + +(def ^{:private true} + shapes-map {:points POINTS + :lines LINES + :triangles TRIANGLES + :triangle-strip TRIANGLE_STRIP + :triangle-fan TRIANGLE_FAN + :quads QUADS + :quad-strip QUAD_STRIP}) + +(defmacro begin-shape + "Takes an optional keyword argument: One of: :points, :lines, :triangles, + :triangle-fan, :triangle-strip, :quads, :quad-strip." + ([] `(.beginShape *applet*)) + ([kind] + (let [kind (shapes-map kind)] + `(.beginShape *applet* (int ~kind))))) + +(defn bezier + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.bezier *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezier *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn bezier-detail + [detail] (.bezierDetail *applet* (int detail))) + +(defn bezier-point + [a b c d t] (.bezierPoint *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-tangent + [a b c d t] (.bezierTangent *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-vertex + ([x2 y2 x3 y3 x4 y4] + (.bezierVertex *applet* + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezierVertex *applet* + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +;; $$binary + +(defn blend + ([sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode))) + ([^PImage src sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* src (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode)))) + +(defn blend-color + [c1 c2 mode] (PApplet/blendColor (int c1) (int c2) (int mode))) + +(defn blue [what] (.blue *applet* (int what))) + +(defn box + ([size] (.box *applet* (int size))) + ([w h d] (.box *applet* (float w) (float h) (float d)))) + +(defn brightness [what] (.brightness *applet* (int what))) + +(defn camera + ([] (.camera *applet*)) + ([eyeX eyeY eyeZ centerX centerY centerZ upX upY upZ] + (.camera *applet* (float eyeX) (float eyeY) (float eyeZ) + (float centerX) (float centerY) (float centerZ) + (float upX) (float upY) (float upZ)))) + +(defn can-draw? [] (.canDraw *applet*)) + +(defn ceil [n] (PApplet/ceil (float n))) + +(defn color-float + ([gray] (.color *applet* (float gray))) + ([gray alpha] (.color *applet* (float gray) (float alpha))) + ([r g b] (.color *applet* (float r) (float g) (float b))) + ([r g b a] (.color *applet* (float r) (float g) (float b) (float a)))) + +(defn color-int + ([gray] (.color *applet* (int gray))) + ([gray alpha] (.color *applet* (int gray) (float alpha))) + ([r g b] (.color *applet* (int r) (int g) (int b))) + ([r g b a] (.color *applet* (int r) (int g) (int b) (int a)))) + +(def color color-float) + +(defn color-mode + ([mode] (.colorMode *applet* (int mode))) + ([mode max] (.colorMode *applet* (int mode) (float max))) + ([mode max-x max-y max-z] + (.colorMode *applet* (int mode) (float max-x) (float max-y) (float max-z))) + ([mode max-x max-y max-z max-a] + (.colorMode *applet* (int mode) + (float max-x) (float max-y) (float max-z) (float max-a)))) + +;; $$concat + +(defn constrain-float + [amt low high] + (PApplet/constrain (float amt) (float low) (float high))) + +(defn constrain-int + [amt low high] + (PApplet/constrain (int amt) (int low) (int high))) + +(def constrain constrain-float) + +(defn copy + ([[sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2))) + ([^PImage img [sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* img (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2)))) + +(defn cos [angle] (PApplet/cos (float angle))) + +(defn create-font + ([name size] (.createFont *applet* name (float size))) + ([name size smooth] (.createFont *applet* name (float size) smooth)) + ([name size smooth ^chars charset] + (.createFont *applet* name (float size) smooth charset))) + +(defn create-graphics + ([w h renderer] + (.createGraphics *applet* (int w) (int h) renderer)) + ([w h renderer path] + (.createGraphics *applet* (int w) (int h) renderer path))) + +(defn create-image [w h format] + (.createImage *applet* (int w) (int h) (int format))) + +(defn create-input [filename] + (PApplet/createInput (java.io.File. filename))) + +(defn create-input-raw + "Call openStream() without automatic gzip decompression." + [filename] + (.createInputRaw *applet* filename)) + +(defn create-output [filename] + (PApplet/createOutput (java.io.File. filename))) + +(defn create-path [filename] (PApplet/createPath filename)) + +(defn create-reader [filename] (.createReader *applet* filename)) + +(defn create-writer [filename] (.createWriter *applet* filename)) + +(defn cursor + ([] (.cursor *applet*)) + ([cur-type] (.cursor *applet* (int cur-type)))) + +(defn cursor-image + ([^PImage img] (.cursor *applet* img)) + ([^PImage img hx hy] (.cursor *applet* img (int hx) (int hy)))) + +(defn curve + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.curve *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.curve *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn curve-detail [detail] (.curveDetail *applet* (int detail))) + +(defn curve-point + [a b c d t] + (.bezierPoint *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tangent + [a b c d t] + (.curveTangent *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tightness [ti] + (.curveTightness *applet* (float ti))) + +(defn curve-vertex + ([x y] (.curveVertex *applet* (float x) (float y))) + ([x y z] (.curveVertex *applet* (float x) (float y) (float z)))) + +;; $$dataFile +;; $$dataPath + +(defn day + "Get the current day of the month (1 through 31)." + [] + (PApplet/day)) + +(defn degrees [radians] (PApplet/degrees (float radians))) + +(defn delay-frame [nap-time] (.delay *applet* (int nap-time))) + +(defn destroy [] (.destroy *applet*)) + +;; $$die + +(defn directional-light + [r g b nx ny nz] + (.directionalLight *applet* (float r) (float g) (float b) + (float nx) (float ny) (float nz))) + +(defn displayable? [] (.displayable *applet*)) + +(defn dist + ([a b x y] (PApplet/dist (float a) (float b) (float x) (float y))) + ([a b c x y z] (PApplet/dist (float a) (float b) (float c) + (float x) (float y) (float z)))) + +;; $$draw + +(defn ellipse + [a b c d] + (.ellipse *applet* (float a) (float b) (float c) (float d))) + +(defmacro ellipse-mode [mode] + "Takes a keyword argument; :center, :radius, :corner or :corners." + (let [mode (tosymb mode)] + `(.ellipseMode *applet* (int ~mode)))) + +(defn emissive-float + ([gray] (.emissive *applet* (float gray))) + ([x y z] (.emissive *applet* (float x) (float y) (float z)))) + +(defn emissive-int + [gray] (.emissive *applet* (int gray))) + +(def emissive emissive-float) + +(defn end-camera [] (.endCamera *applet*)) + +(defn end-raw [] (.endRaw *applet*)) + +(defmacro end-shape + "Takes an optinal :close keyword as argument." + ([] `(.endShape *applet*)) + ([kind] + (let [kind (tosymb kind)] + `(.endShape *applet* (int ~kind))))) + +;; $$exec + +(defn exit [] (.exit *applet*)) + +(defn exp [a] (PApplet/exp (float a))) + +;; $$expand + +(defn fill-float + ([gray] (.fill *applet* (float gray))) + ([gray alpha] (.fill *applet* (float gray) (float alpha))) + ([x y z] (.fill *applet* (float x) (float y) (float z))) + ([x y z a] (.fill *applet* (float x) (float y) (float z) (float a)))) + +(defn fill-int + ([rgb] (.fill *applet* (int rgb))) + ([rgb alpha] (.fill *applet* (int rgb) (float alpha)))) + +(def fill fill-float) + +(defn filter-kind + ([kind] (.filter *applet* (int kind))) + ([kind param] (.filter *applet* (int kind) (float param)))) + +;; $$focusGained +;; $$focusLost + +(defn frame-count [] (.frameCount *applet*)) + +(defn framerate [new-rate] (.frameRate *applet* (float new-rate))) + +(def frame-rate framerate) + +(defn frustum + [l r b t near far] + (.frustum *applet* (float l) (float r) (float b) (float t) + (float near) (float far))) + +(defn get-pixel + ([] (.get *applet*)) + ([x y] (.get *applet* (int x) (int y))) + ([x y w h] (.get *applet* (int x) (int y) (int w) (int h)))) + +(defn green [what] (.green *applet* (int what))) + +;; $$handleDraw +;; $$hex + +(defn height [] (.getHeight *applet*)) + +(defn hint [which] (.hint *applet* (int which))) + +(defn hour [] (PApplet/hour)) + +(defn hue [what] (.hue *applet* (int what))) + +(defn image + ([^PImage img x y] (.image *applet* img (float x) (float y))) + ([^PImage img x y c d] (.image *applet* img (float x) (float y) + (float c) (float d))) + ([^PImage img x y c d u1 v1 u2 v2] + (.image *applet* img (float x) (float y) (float c) (float d) + (float u1) (float v1) (float u2) (float v2)))) + +(defn image-mode [mode] (.imageMode *applet* (int mode))) + +;; $$init +;; $$insertFrame +;; $$join +;; $$keyPressed +;; $$keyReleased +;; $$keyTyped +;; $$lerp +;; $$lerpColor +;; $$lightFallof + +(defn lights [] (.lights *applet*)) + +(defn light-specular + [x y z] + (.lightSpecular *applet* (float x) (float y) (float z))) + +(defn line + ([p1 p2] (apply line (concat p1 p2))) + ([x1 y1 x2 y2] (.line *applet* (float x1) (float y1) (float x2) (float y2))) + ([x1 y1 z1 x2 y2 z2] + (.line *applet* (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2)))) + +;; $$link + +(defn load-bytes [filename] (PApplet/loadBytes filename)) + +(defn load-font [filename] (.loadFont *applet* filename)) + +(defn load-image [filename] (.loadImage *applet* filename)) + +(defn load-matrix [] (.loadMatrix *applet*)) + +(defn load-pixels [] (.loadPixels *applet*)) + +(defn load-shape + "Load a geometry from a file as a PShape." + [filename] + (.loadShape *applet* filename)) + +(defn load-strings + "Load data from a file and shove it into a String array." + [filename] + (.loadStrings *applet* filename)) + +;; $$log + +(defn start-loop [] (.loop *applet*)) + +;; $$mag +;; $$main + +(defn map-to [val istart istop ostart ostop] + (PApplet/map (float val) (float istart) (float istop) (float ostart) (float ostop))) + +(defn map-to-double [val istart istop ostart ostop] + (PApplet/map (double val) (double istart) (double istop) (double ostart) (double ostop))) + +(defn mask + ([^ints alpha-array] (.mask *applet* alpha-array))) + +(defn mask-image [^PImage img] (.mask *applet* img)) + +;; $$match +;; $$max + +(defn millis [] (.millis *applet*)) + +;; $$min + +(defn minute [] (PApplet/minute)) + +(defn model-x [x y z] (.modelX *applet* (float x) (float y) (float z))) +(defn model-y [x y z] (.modelY *applet* (float x) (float y) (float z))) +(defn model-z [x y z] (.modelZ *applet* (float x) (float y) (float z))) + +(defn month [] (PApplet/month)) + +;; $$mouseClicked +;; $$mouseDragged +;; $$mouseEntered +;; $$mouseExited +;; $$mouseMoved +;; $$mousePressed +;; $$mouseReleased +;; $$nf +;; $$nfc +;; $$nfp +;; $$nfs + +(defn no-cursor [] (.noCursor *applet*)) + +(defn no-fill [] (.noFill *applet*)) + +(defn noise + ([x] (.noise *applet* (float x))) + ([x y] (.noise *applet* (float x) (float y))) + ([x y z] (.noise *applet* (float x) (float y) (float z)))) + +(defn noise-detail + ([int detail] (.noiseDetail *applet* (int detail))) + ([int detail falloff] (.noiseDetail *applet* (int detail) (float falloff)))) + +(defn noise-seed [what] (.noiseSeed *applet* (int what))) + +(defn no-lights [] (.noLights *applet*)) + +(defn no-loop [] (.noLoop *applet*)) + +(defn norm + "Normalize a value to exist between 0 and 1 (inclusive)." + [val start stop] + (PApplet/norm (float val) (float start) (float stop))) + +(defn normal [nx ny nz] (.normal *applet* (float nx) (float ny) (float nz))) + +(defn no-smooth [] (.noSmooth *applet*)) + +(defn no-stroke [] (.noStroke *applet*)) + +(defn no-tint [] (.noTint *applet*)) + +(defn open [^String filename] (PApplet/open filename)) + +;; $$open -- overload + +(defn ortho + ([] (.ortho *applet*)) + ([l r b t near far] (.ortho *applet* (float l) (float r) (float b) + (float t) (float near) (float far)))) + +;; $$paint +;; $$param +;; $$parseBoolean +;; $$parseByte +;; $$parseChar +;; $$parseFloat +;; $$parseInt + +(defn perspective + ([] (.perspective *applet*)) + ([fovy aspect z-near z-far] + (.perspective *applet* (float fovy) (float aspect) + (float z-near) (float z-far)))) + +(defn point + ([x y] (.point *applet* (float x)(float y))) + ([x y z] (.point *applet* (float x) (float y) (float z)))) + +(defn point-light + [r g b x y z] + (.pointLight *applet* r g b x y z)) + +(defn pop-matrix [] (.popMatrix *applet*)) + +(defn pow [a b] (PApplet/pow (float a) (float b))) + +;; $$print + +(defn print-camera [] (.printCamera *applet*)) + +;; $$println + +(defn print-matrix [] (.printMatrix *applet*)) + +(defn print-projection [] (.printProjection *applet*)) + +(defn push-matrix [] (.pushMatrix *applet*)) + +(defn quad + [x1 y1 x2 y2 x3 y3 x4 y4] + (.quad *applet* x1 y1 x2 y2 x3 y3 x4 y4)) + +(defn radians [deg] (PApplet/radians (float deg))) + +(defn random + ([max] (.random *applet* (float max))) + ([min max] (.random *applet* (float min) (float max)))) + + +(defn random-seed [w] (.randomSeed *applet* (float w))) + +(defn rect [x1 y1 x2 y2] + (.rect *applet* (float x1) (float y1) (float x2) (float y2))) + +(defn rect-mode [mode] (.rectMode *applet* (int mode))) + +(defn red [what] (.red *applet* (int what))) + +(defn redraw [] (.redraw *applet*)) + +;; $$registerDispose +;; $$registerDraw +;; $$reqisterKeyEvent +;; $$registerMouseEvent +;; $$registerPost +;; $$registerPre +;; $$registerSize +;; $$registerSize + +(defn request-image + ([filename] (.requestImage *applet* filename)) + ([filename extension] (.requestImage *applet* filename extension))) + +(defn reset-matrix [] (.resetMatrix *applet*)) + +(defn reverse-array [arr] (PApplet/reverse arr)) + +(defn rotate + ([angle] (.rotate *applet* (float angle))) + ([angle vx vy vz] (.rotate *applet* (float angle) + (float vx) (float vy) (float vz)))) + +(defn rotate-x [angle] (.rotateX *applet* (float angle))) + +(defn rotate-y [angle] (.rotateY *applet* (float angle))) + +(defn rotate-z [angle] (.rotateZ *applet* (float angle))) + +(defn round [what] (PApplet/round (float what))) + +;; $$run + +(defn saturation [what] (.saturation *applet* (int what))) + +(defn save [filename] (.save *applet* filename)) + +;; $$saveBytes +;; $$saveFile + +(defn save-frame + ([] (.saveFrame *applet*)) + ([what] (.saveFrame *applet*))) + +;; $$savePath +;; $$saveStream +;; $$saveStrings + +(defn scale + ([s] (.scale *applet* (float s))) + ([sx sy] (.scale *applet* (float sx) (float sy)))) + +(defn screen-x + ([x y] (.screenX *applet* (float x) (float y))) + ([x y y] (.screenX *applet* (float x) (float y)))) + +(defn screen-y + ([x y] (.screenY *applet* (float x) (float y))) + ([x y z] (.screenY *applet* (float x) (float y) (float z)))) + +(defn screen-z + [x y z] (.screenX *applet* (float x) (float y) (float z))) + +(defn seconds [] (PApplet/second)) + +;; $$selectFolder +;; $$selectInput +;; $$selectOutput + +(defn set-pixel + [x y c] (.set *applet* (int x) (int y) (int c))) + +(defn set-image-at + [dx dy ^PImage src] (.set *applet* (int dx) (int dy) src)) + +;; $$setup + +;; $$setupExternalMessages +;; $$setupFrameListener + +(defn shininess [shine] (.shininess *applet* (float shine))) + +;; $$shorten + +(defn sin [angle] (PApplet/sin (float angle))) + +(defn size + ([w h] (.size *applet* (int w) (int h))) + ([w h ^String renderer] (.size *applet* (int w) (int h) renderer))) + +;; $$sketchFile +;; $$sketchPath + +(defn smooth [] (.smooth *applet*)) + +;; $$sort + +(defn specular + ([gray] (.specular *applet* (float gray))) + ([gray alpha] (.specular *applet* (float gray) (float alpha))) + ([x y z] (.specular *applet* (float x) (float y) (float z))) + ([x y z a] (.specular *applet* (float x) (float y) (float z) (float a)))) + +(defn sphere + [r] (.sphere *applet* (float r))) + +(defn sphere-detail + ([res] (.sphereDetail *applet* (int res))) + ([ures vres] (.sphereDetail *applet* (int ures) (int vres)))) + +;; $$splice +;; $$split +;; $$splitTokens + +(defn spotlight + ([r g b x y z nx ny nz angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration)) + ([[r g b] [x y z] [nx ny nz] angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration))) + +(defn sq [a] (PApplet/sq (float a))) + +(defn sqrt [a] (PApplet/sqrt (float a))) + +;; $$start +;; $$status +;; $$stop +;; $$str + +(defn stroke-float + ([gray] (.stroke *applet* (float gray))) + ([gray alpha] (.stroke *applet* (float gray) (float alpha))) + ([x y z] (.stroke *applet* (float x) (float y) (float z))) + ([x y z a] (.stroke *applet* (float x) (float y) (float z) (float a)))) + +(defn stroke-int + ([rgb] (.stroke *applet* (int rgb))) + ([rgb alpha] (.stroke *applet* (int rgb) (float alpha)))) + +(def stroke stroke-float) + +(defn stroke-cap [cap] (.strokeCap *applet* (int cap))) + +(defn stroke-join [jn] (.strokeJoin *applet* (int jn))) + +(defn stroke-weight [weight] (.strokeWeight *applet* (float weight))) + +;; $$subset + +(defn tan [angle] (PApplet/tan (float angle))) + +(defn char->text + ([c] (.text *applet* (char c))) + ([c x y] (.text *applet* (char c) (float x) (float y))) + ([c x y z] (.text *applet* (char c) (float x) (float y) (float z)))) + +(defn num->text + ([num x y] (.text *applet* (float num) (float x) (float y))) + ([num x y z] (.text *applet* (float num) (float x) (float y) (float z)))) + +(defn string->text + ([^String s] (.text *applet* s)) + ([^String s x y] (.text *applet* s (float x) (float y))) + ([^String s x y z] (.text *applet* s (float x) (float y) (float z)))) + +(defn string->text-in + ([^String s x1 y1 x2 y2] + (.text *applet* s (float x1) (float y1) (float x2) (float y2))) + ([^String s x1 y1 x2 y2 z] + (.text *applet* s (float x1) (float y1) (float x2) (float y2) (float z)))) + +(defn text-align + ([align] (.textAlign *applet* (int align))) + ([align-x align-y] (.textAlign *applet* (int align-x) (int align-y)))) + +(defn text-ascent [] (.textAscent *applet*)) + +(defn text-descend [] (.textDescent *applet*)) + +(defn text-font + ([^PFont which] (.textFont *applet* which)) + ([^PFont which size] (.textFont *applet* which (int size)))) + +(defn text-leading [leading] (.textLeading *applet* (float leading))) + +(defn text-mode [mode] (.textMode *applet* (int mode))) + +(defn text-size [size] (.textSize *applet* (float size))) + +(defn texture [^PImage img] (.texture *applet* img)) + +(defn texture-mode [mode] (.textureMode *applet* (int mode))) + +(defmulti text-width #(= (class %) (class \a))) + +(defmethod text-width true + [c] (.textWidth *applet* (char c))) + +(defmethod text-width false + [^String s] (.textWidth *applet* s)) + +(defn tint-float + ([gray] (.tint *applet* (float gray))) + ([gray alpha] (.tint *applet* (float gray) (float alpha))) + ([x y z] (.tint *applet* (float x)(float y) (float z))) + ([x y z a] (.tint *applet* (float x)(float y) (float z) (float a)))) + +(defn tint-int + ([rgb] (.tint *applet* (int rgb))) + ([rgb alpha] (.tint *applet* (int rgb) (float alpha)))) + +(def tint tint-float) + +(defn translate + ([v] (apply translate v)) + ([tx ty] (.translate *applet* (float tx) (float ty))) + ([tx ty tz] (.translate *applet* (float tx) (float ty) (float tz)))) + +(defn triangle + [x1 y1 x2 y2 x3 y3] + (.triangle *applet* (float x1) (float y1) + (float x2) (float y2) (float x3) (float y3))) + +;; $$trim +;; $$unbinary +;; $$unhex +;; $$unint +;; $$unregisterDispose +;; $$unregisterDraw +;; $$unregiserKeyEvent +;; $$unregiserMouseEvent +;; $$unregiserKeyEvent +;; $$unregiserPost +;; $$unregisterPre +;; $$unregisterSize +;; $$update + +(defn update-pixels [] (.updatePixels *applet*)) + +(defn vertex + ([x y] (.vertex *applet* (float x) (float y))) + ([x y z] (.vertex *applet* (float x) (float y) (float z))) + ([x y u v] (.vertex *applet* (float x) (float y) (float u) (float v))) + ([x y z u v] + (.vertex *applet* (float x) (float y) (float z) (float u) (float v)))) + +(defn year [] (PApplet/year)) + +;; utility functions. clj-processing specific + +(defn width [] (.getWidth *applet*)) + +(defmacro with-translation + "Berforms body with translation, restores current transformation on exit." + [translation-vector & body] + `(let [tr# ~translation-vector] + (push-matrix) + (translate tr#) + ~@body + (pop-matrix))) + +(defmacro with-rotation + "Performs body with rotation, restores current transformation on exit. + Accepts a vector [angle] or [angle x-axis y-axis z-axis]. + + Example: + (with-rotation [angle] + (vertex 1 2))" + [rotation & body] + `(let [tr# ~rotation] + (push-matrix) + (apply rotate tr#) + ~@body + (pop-matrix))) + +;;; version number + +(let [version-stream (.getResourceAsStream (clojure.lang.RT/baseLoader) + "rosado/processing/version.properties") + properties (doto (new java.util.Properties) (.load version-stream)) + prop (fn [k] (.getProperty properties (str "rosado.processing.version." k))) + processing-version {:major (Integer/valueOf ^String (prop "major")) + :minor (Integer/valueOf ^String (prop "minor")) + :incremental (Integer/valueOf ^String (prop "incremental")) + :qualifier (prop "qualifier")}] + (def *processing-version* + (if (not (= (prop "interim") "false")) + (clojure.lang.RT/assoc processing-version :interim true) + processing-version))) + +(alter-meta! (var *processing-version*) assoc :doc + "The version info for clj-processing, as a map containing :major :minor + :incremental and optional :qualifier keys. This version number + corresponds to the official Processing.org version with which + clj-processing is compatible.") + +(defn + processing-version + "Returns clj-processing version as a printable string." + [] + (str (:major *processing-version*) + "." + (:minor *processing-version*) + (when-let [i (:incremental *processing-version*)] + (str "." i)) + (when-let [q (:qualifier *processing-version*)] + (when (pos? (count q)) (str "-" q))) + (when (:interim *processing-version*) + "-SNAPSHOT"))) diff --git a/src/rosado/processing-minim.clj~ b/src/rosado/processing-minim.clj~ new file mode 100644 index 0000000..6dc006a --- /dev/null +++ b/src/rosado/processing-minim.clj~ @@ -0,0 +1,933 @@ +;; simple processing wrapper for Clojure +;; Roland Sadowski [szabla gmail com] + +;; Copyright (c) 2008 Roland Sadowski. All rights reserved. The use and +;; distribution terms for this software are covered by the Common +;; Public License 1.0 (http://www.opensource.org/licenses/cpl1.0.php) +;; which can be found in the file CPL.TXT at the root of this +;; distribution. By using this software in any fashion, you are +;; agreeing to be bound by the terms of this license. You must not +;; remove this notice, or any other, from this software. + +(ns rosado.processing + (:import (processing.core PApplet PImage PGraphics PFont)) + (:load "constants")) + +;; used by functions in this lib. Use binding to set it +;; to an instance of processing.core.PApplet +(def ^PApplet *applet*) + +(def toupper (memfn toUpperCase)) + +(defn tosymb [kw] + (-> kw name toupper symbol)) + +(defn abs-int [n] (PApplet/abs (int n))) + +(defn abs-float [n] (PApplet/abs (float n))) + +(defn abs + "Returns a float." + [n] + (PApplet/abs (float n))) + +(defn acos [n] (PApplet/acos n)) + +;; $$addListeners + +(defn alpha + [what] (.alpha *applet* (int what))) + +(defn ambient + ([gray] (.ambient *applet* (float gray))) + ([x y z] (.ambient *applet* (float x) (float y) (float z)))) + +(defn ambient-int + [rgb] (.ambient *applet* (int rgb))) + +(defn ambient-light + ([red green blue] + (.ambientLight *applet* (float red) (float green) (float blue))) + ([red green blue x y z] + (.ambientLight *applet* (float red) (float green) (float blue) + (float x) (float y) (float z)))) + +;; $$append + +(defn apply-matrix + ([n00 n01 n02 n10 n11 n12] + (.applyMatrix *applet* (float n00) (float n01) (float n02) + (float n10) (float n11) (float n12))) + ([n00 n01 n02 n03 + n10 n11 n12 n13 + n20 n21 n22 n23 + n30 n31 n32 n33] + (.applyMatrix *applet* (float n00) (float n01) (float n02) (float 03) + (float n10) (float n11) (float n12) (float 13) + (float n20) (float n21) (float n22) (float 23) + (float n30) (float n31) (float n32) (float 33)))) + +(defn arc + [a b c d start stop] + (.arc *applet* (float a)(float b) (float c) (float d) + (float start) (float stop))) + +;; $$arraycopy + +(defn asin [val] (PApplet/asin (float val))) + +(defn atan [val] (PApplet/atan (float val))) + +(defn atan2 [a b] (PApplet/atan2 (float a) (float b))) + +(defn background-float + ([gray] (.background *applet* (float gray))) + ([gray alpha] (.background *applet* (float gray) (float alpha))) + ([r g b] (.background *applet* (float r) (float g) (float b))) + ([r g b a] (.background *applet* (float r) (float g) (float b) (float a)))) + +(defn background-int + ([rgb] (.background *applet* (int rgb))) + ([rgb alpha] (.background *applet* (int rgb) (float alpha)))) + +(def background background-float) + +(defn background-image + [^PImage img] (.background *applet* img)) + +(defn begin-camera + [] (.beginCamera *applet*)) + +(defn begin-raw + ([^PGraphics raw-gfx] (.beginRaw *applet* raw-gfx)) + ([^String renderer ^String filename] + (.beginRaw *applet* renderer filename))) + +;; $$beginRecord + +(def ^{:private true} + shapes-map {:points POINTS + :lines LINES + :triangles TRIANGLES + :triangle-strip TRIANGLE_STRIP + :triangle-fan TRIANGLE_FAN + :quads QUADS + :quad-strip QUAD_STRIP}) + +(defmacro begin-shape + "Takes an optional keyword argument: One of: :points, :lines, :triangles, + :triangle-fan, :triangle-strip, :quads, :quad-strip." + ([] `(.beginShape *applet*)) + ([kind] + (let [kind (shapes-map kind)] + `(.beginShape *applet* (int ~kind))))) + +(defn bezier + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.bezier *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezier *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn bezier-detail + [detail] (.bezierDetail *applet* (int detail))) + +(defn bezier-point + [a b c d t] (.bezierPoint *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-tangent + [a b c d t] (.bezierTangent *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-vertex + ([x2 y2 x3 y3 x4 y4] + (.bezierVertex *applet* + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezierVertex *applet* + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +;; $$binary + +(defn blend + ([sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode))) + ([^PImage src sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* src (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode)))) + +(defn blend-color + [c1 c2 mode] (PApplet/blendColor (int c1) (int c2) (int mode))) + +(defn blue [what] (.blue *applet* (int what))) + +(defn box + ([size] (.box *applet* (int size))) + ([w h d] (.box *applet* (float w) (float h) (float d)))) + +(defn brightness [what] (.brightness *applet* (int what))) + +(defn camera + ([] (.camera *applet*)) + ([eyeX eyeY eyeZ centerX centerY centerZ upX upY upZ] + (.camera *applet* (float eyeX) (float eyeY) (float eyeZ) + (float centerX) (float centerY) (float centerZ) + (float upX) (float upY) (float upZ)))) + +(defn can-draw? [] (.canDraw *applet*)) + +(defn ceil [n] (PApplet/ceil (float n))) + +(defn color-float + ([gray] (.color *applet* (float gray))) + ([gray alpha] (.color *applet* (float gray) (float alpha))) + ([r g b] (.color *applet* (float r) (float g) (float b))) + ([r g b a] (.color *applet* (float r) (float g) (float b) (float a)))) + +(defn color-int + ([gray] (.color *applet* (int gray))) + ([gray alpha] (.color *applet* (int gray) (float alpha))) + ([r g b] (.color *applet* (int r) (int g) (int b))) + ([r g b a] (.color *applet* (int r) (int g) (int b) (int a)))) + +(def color color-float) + +(defn color-mode + ([mode] (.colorMode *applet* (int mode))) + ([mode max] (.colorMode *applet* (int mode) (float max))) + ([mode max-x max-y max-z] + (.colorMode *applet* (int mode) (float max-x) (float max-y) (float max-z))) + ([mode max-x max-y max-z max-a] + (.colorMode *applet* (int mode) + (float max-x) (float max-y) (float max-z) (float max-a)))) + +;; $$concat + +(defn constrain-float + [amt low high] + (PApplet/constrain (float amt) (float low) (float high))) + +(defn constrain-int + [amt low high] + (PApplet/constrain (int amt) (int low) (int high))) + +(def constrain constrain-float) + +(defn copy + ([[sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2))) + ([^PImage img [sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* img (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2)))) + +(defn cos [angle] (PApplet/cos (float angle))) + +(defn create-font + ([name size] (.createFont *applet* name (float size))) + ([name size smooth] (.createFont *applet* name (float size) smooth)) + ([name size smooth ^chars charset] + (.createFont *applet* name (float size) smooth charset))) + +(defn create-graphics + ([w h renderer] + (.createGraphics *applet* (int w) (int h) renderer)) + ([w h renderer path] + (.createGraphics *applet* (int w) (int h) renderer path))) + +(defn create-image [w h format] + (.createImage *applet* (int w) (int h) (int format))) + +(defn create-input [filename] + (PApplet/createInput (java.io.File. filename))) + +(defn create-input-raw + "Call openStream() without automatic gzip decompression." + [filename] + (.createInputRaw *applet* filename)) + +(defn create-output [filename] + (PApplet/createOutput (java.io.File. filename))) + +(defn create-path [filename] (PApplet/createPath filename)) + +(defn create-reader [filename] (.createReader *applet* filename)) + +(defn create-writer [filename] (.createWriter *applet* filename)) + +(defn cursor + ([] (.cursor *applet*)) + ([cur-type] (.cursor *applet* (int cur-type)))) + +(defn cursor-image + ([^PImage img] (.cursor *applet* img)) + ([^PImage img hx hy] (.cursor *applet* img (int hx) (int hy)))) + +(defn curve + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.curve *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.curve *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn curve-detail [detail] (.curveDetail *applet* (int detail))) + +(defn curve-point + [a b c d t] + (.bezierPoint *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tangent + [a b c d t] + (.curveTangent *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tightness [ti] + (.curveTightness *applet* (float ti))) + +(defn curve-vertex + ([x y] (.curveVertex *applet* (float x) (float y))) + ([x y z] (.curveVertex *applet* (float x) (float y) (float z)))) + +;; $$dataFile +;; $$dataPath + +(defn day + "Get the current day of the month (1 through 31)." + [] + (PApplet/day)) + +(defn degrees [radians] (PApplet/degrees (float radians))) + +(defn delay-frame [nap-time] (.delay *applet* (int nap-time))) + +(defn destroy [] (.destroy *applet*)) + +;; $$die + +(defn directional-light + [r g b nx ny nz] + (.directionalLight *applet* (float r) (float g) (float b) + (float nx) (float ny) (float nz))) + +(defn displayable? [] (.displayable *applet*)) + +(defn dist + ([a b x y] (PApplet/dist (float a) (float b) (float x) (float y))) + ([a b c x y z] (PApplet/dist (float a) (float b) (float c) + (float x) (float y) (float z)))) + +;; $$draw + +(defn ellipse + [a b c d] + (.ellipse *applet* (float a) (float b) (float c) (float d))) + +(defmacro ellipse-mode [mode] + "Takes a keyword argument; :center, :radius, :corner or :corners." + (let [mode (tosymb mode)] + `(.ellipseMode *applet* (int ~mode)))) + +(defn emissive-float + ([gray] (.emissive *applet* (float gray))) + ([x y z] (.emissive *applet* (float x) (float y) (float z)))) + +(defn emissive-int + [gray] (.emissive *applet* (int gray))) + +(def emissive emissive-float) + +(defn end-camera [] (.endCamera *applet*)) + +(defn end-raw [] (.endRaw *applet*)) + +(defmacro end-shape + "Takes an optinal :close keyword as argument." + ([] `(.endShape *applet*)) + ([kind] + (let [kind (tosymb kind)] + `(.endShape *applet* (int ~kind))))) + +;; $$exec + +(defn exit [] (.exit *applet*)) + +(defn exp [a] (PApplet/exp (float a))) + +;; $$expand + +(defn fill-float + ([gray] (.fill *applet* (float gray))) + ([gray alpha] (.fill *applet* (float gray) (float alpha))) + ([x y z] (.fill *applet* (float x) (float y) (float z))) + ([x y z a] (.fill *applet* (float x) (float y) (float z) (float a)))) + +(defn fill-int + ([rgb] (.fill *applet* (int rgb))) + ([rgb alpha] (.fill *applet* (int rgb) (float alpha)))) + +(def fill fill-float) + +(defn filter-kind + ([kind] (.filter *applet* (int kind))) + ([kind param] (.filter *applet* (int kind) (float param)))) + +;; $$focusGained +;; $$focusLost + +(defn frame-count [] (.frameCount *applet*)) + +(defn framerate [new-rate] (.frameRate *applet* (float new-rate))) + +(def frame-rate framerate) + +(defn frustum + [l r b t near far] + (.frustum *applet* (float l) (float r) (float b) (float t) + (float near) (float far))) + +(defn get-pixel + ([] (.get *applet*)) + ([x y] (.get *applet* (int x) (int y))) + ([x y w h] (.get *applet* (int x) (int y) (int w) (int h)))) + +(defn green [what] (.green *applet* (int what))) + +;; $$handleDraw +;; $$hex + +(defn height [] (.getHeight *applet*)) + +(defn hint [which] (.hint *applet* (int which))) + +(defn hour [] (PApplet/hour)) + +(defn hue [what] (.hue *applet* (int what))) + +(defn image + ([^PImage img x y] (.image *applet* img (float x) (float y))) + ([^PImage img x y c d] (.image *applet* img (float x) (float y) + (float c) (float d))) + ([^PImage img x y c d u1 v1 u2 v2] + (.image *applet* img (float x) (float y) (float c) (float d) + (float u1) (float v1) (float u2) (float v2)))) + +(defn image-mode [mode] (.imageMode *applet* (int mode))) + +;; $$init +;; $$insertFrame +;; $$join +;; $$keyPressed +;; $$keyReleased +;; $$keyTyped +;; $$lerp +;; $$lerpColor +;; $$lightFallof + +(defn lights [] (.lights *applet*)) + +(defn light-specular + [x y z] + (.lightSpecular *applet* (float x) (float y) (float z))) + +(defn line + ([p1 p2] (apply line (concat p1 p2))) + ([x1 y1 x2 y2] (.line *applet* (float x1) (float y1) (float x2) (float y2))) + ([x1 y1 z1 x2 y2 z2] + (.line *applet* (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2)))) + +;; $$link + +(defn load-bytes [filename] (PApplet/loadBytes filename)) + +(defn load-font [filename] (.loadFont *applet* filename)) + +(defn load-image [filename] (.loadImage *applet* filename)) + +(defn load-matrix [] (.loadMatrix *applet*)) + +(defn load-pixels [] (.loadPixels *applet*)) + +(defn load-shape + "Load a geometry from a file as a PShape." + [filename] + (.loadShape *applet* filename)) + +(defn load-strings + "Load data from a file and shove it into a String array." + [filename] + (.loadStrings *applet* filename)) + +;; $$log + +(defn start-loop [] (.loop *applet*)) + +;; $$mag +;; $$main + +(defn map-to [val istart istop ostart ostop] + (PApplet/map (float val) (float istart) (float istop) (float ostart) (float ostop))) + +(defn map-to-double [val istart istop ostart ostop] + (PApplet/map (double val) (double istart) (double istop) (double ostart) (double ostop))) + +(defn mask + ([^ints alpha-array] (.mask *applet* alpha-array))) + +(defn mask-image [^PImage img] (.mask *applet* img)) + +;; $$match +;; $$max + +(defn millis [] (.millis *applet*)) + +;; $$min + +(defn minute [] (PApplet/minute)) + +(defn model-x [x y z] (.modelX *applet* (float x) (float y) (float z))) +(defn model-y [x y z] (.modelY *applet* (float x) (float y) (float z))) +(defn model-z [x y z] (.modelZ *applet* (float x) (float y) (float z))) + +(defn month [] (PApplet/month)) + +;; $$mouseClicked +;; $$mouseDragged +;; $$mouseEntered +;; $$mouseExited +;; $$mouseMoved +;; $$mousePressed +;; $$mouseReleased +;; $$nf +;; $$nfc +;; $$nfp +;; $$nfs + +(defn no-cursor [] (.noCursor *applet*)) + +(defn no-fill [] (.noFill *applet*)) + +(defn noise + ([x] (.noise *applet* (float x))) + ([x y] (.noise *applet* (float x) (float y))) + ([x y z] (.noise *applet* (float x) (float y) (float z)))) + +(defn noise-detail + ([int detail] (.noiseDetail *applet* (int detail))) + ([int detail falloff] (.noiseDetail *applet* (int detail) (float falloff)))) + +(defn noise-seed [what] (.noiseSeed *applet* (int what))) + +(defn no-lights [] (.noLights *applet*)) + +(defn no-loop [] (.noLoop *applet*)) + +(defn norm + "Normalize a value to exist between 0 and 1 (inclusive)." + [val start stop] + (PApplet/norm (float val) (float start) (float stop))) + +(defn normal [nx ny nz] (.normal *applet* (float nx) (float ny) (float nz))) + +(defn no-smooth [] (.noSmooth *applet*)) + +(defn no-stroke [] (.noStroke *applet*)) + +(defn no-tint [] (.noTint *applet*)) + +(defn open [^String filename] (PApplet/open filename)) + +;; $$open -- overload + +(defn ortho + ([] (.ortho *applet*)) + ([l r b t near far] (.ortho *applet* (float l) (float r) (float b) + (float t) (float near) (float far)))) + +;; $$paint +;; $$param +;; $$parseBoolean +;; $$parseByte +;; $$parseChar +;; $$parseFloat +;; $$parseInt + +(defn perspective + ([] (.perspective *applet*)) + ([fovy aspect z-near z-far] + (.perspective *applet* (float fovy) (float aspect) + (float z-near) (float z-far)))) + +(defn point + ([x y] (.point *applet* (float x)(float y))) + ([x y z] (.point *applet* (float x) (float y) (float z)))) + +(defn point-light + [r g b x y z] + (.pointLight *applet* r g b x y z)) + +(defn pop-matrix [] (.popMatrix *applet*)) + +(defn pow [a b] (PApplet/pow (float a) (float b))) + +;; $$print + +(defn print-camera [] (.printCamera *applet*)) + +;; $$println + +(defn print-matrix [] (.printMatrix *applet*)) + +(defn print-projection [] (.printProjection *applet*)) + +(defn push-matrix [] (.pushMatrix *applet*)) + +(defn quad + [x1 y1 x2 y2 x3 y3 x4 y4] + (.quad *applet* x1 y1 x2 y2 x3 y3 x4 y4)) + +(defn radians [deg] (PApplet/radians (float deg))) + +(defn random + ([max] (.random *applet* (float max))) + ([min max] (.random *applet* (float min) (float max)))) + + +(defn random-seed [w] (.randomSeed *applet* (float w))) + +(defn rect [x1 y1 x2 y2] + (.rect *applet* (float x1) (float y1) (float x2) (float y2))) + +(defn rect-mode [mode] (.rectMode *applet* (int mode))) + +(defn red [what] (.red *applet* (int what))) + +(defn redraw [] (.redraw *applet*)) + +;; $$registerDispose +;; $$registerDraw +;; $$reqisterKeyEvent +;; $$registerMouseEvent +;; $$registerPost +;; $$registerPre +;; $$registerSize +;; $$registerSize + +(defn request-image + ([filename] (.requestImage *applet* filename)) + ([filename extension] (.requestImage *applet* filename extension))) + +(defn reset-matrix [] (.resetMatrix *applet*)) + +(defn reverse-array [arr] (PApplet/reverse arr)) + +(defn rotate + ([angle] (.rotate *applet* (float angle))) + ([angle vx vy vz] (.rotate *applet* (float angle) + (float vx) (float vy) (float vz)))) + +(defn rotate-x [angle] (.rotateX *applet* (float angle))) + +(defn rotate-y [angle] (.rotateY *applet* (float angle))) + +(defn rotate-z [angle] (.rotateZ *applet* (float angle))) + +(defn round [what] (PApplet/round (float what))) + +;; $$run + +(defn saturation [what] (.saturation *applet* (int what))) + +(defn save [filename] (.save *applet* filename)) + +;; $$saveBytes +;; $$saveFile + +(defn save-frame + ([] (.saveFrame *applet*)) + ([what] (.saveFrame *applet*))) + +;; $$savePath +;; $$saveStream +;; $$saveStrings + +(defn scale + ([s] (.scale *applet* (float s))) + ([sx sy] (.scale *applet* (float sx) (float sy)))) + +(defn screen-x + ([x y] (.screenX *applet* (float x) (float y))) + ([x y y] (.screenX *applet* (float x) (float y)))) + +(defn screen-y + ([x y] (.screenY *applet* (float x) (float y))) + ([x y z] (.screenY *applet* (float x) (float y) (float z)))) + +(defn screen-z + [x y z] (.screenX *applet* (float x) (float y) (float z))) + +(defn seconds [] (PApplet/second)) + +;; $$selectFolder +;; $$selectInput +;; $$selectOutput + +(defn set-pixel + [x y c] (.set *applet* (int x) (int y) (int c))) + +(defn set-image-at + [dx dy ^PImage src] (.set *applet* (int dx) (int dy) src)) + +;; $$setup + +;; $$setupExternalMessages +;; $$setupFrameListener + +(defn shininess [shine] (.shininess *applet* (float shine))) + +;; $$shorten + +(defn sin [angle] (PApplet/sin (float angle))) + +(defn size + ([w h] (.size *applet* (int w) (int h))) + ([w h ^String renderer] (.size *applet* (int w) (int h) renderer))) + +;; $$sketchFile +;; $$sketchPath + +(defn smooth [] (.smooth *applet*)) + +;; $$sort + +(defn specular + ([gray] (.specular *applet* (float gray))) + ([gray alpha] (.specular *applet* (float gray) (float alpha))) + ([x y z] (.specular *applet* (float x) (float y) (float z))) + ([x y z a] (.specular *applet* (float x) (float y) (float z) (float a)))) + +(defn sphere + [r] (.sphere *applet* (float r))) + +(defn sphere-detail + ([res] (.sphereDetail *applet* (int res))) + ([ures vres] (.sphereDetail *applet* (int ures) (int vres)))) + +;; $$splice +;; $$split +;; $$splitTokens + +(defn spotlight + ([r g b x y z nx ny nz angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration)) + ([[r g b] [x y z] [nx ny nz] angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration))) + +(defn sq [a] (PApplet/sq (float a))) + +(defn sqrt [a] (PApplet/sqrt (float a))) + +;; $$start +;; $$status +;; $$stop +;; $$str + +(defn stroke-float + ([gray] (.stroke *applet* (float gray))) + ([gray alpha] (.stroke *applet* (float gray) (float alpha))) + ([x y z] (.stroke *applet* (float x) (float y) (float z))) + ([x y z a] (.stroke *applet* (float x) (float y) (float z) (float a)))) + +(defn stroke-int + ([rgb] (.stroke *applet* (int rgb))) + ([rgb alpha] (.stroke *applet* (int rgb) (float alpha)))) + +(def stroke stroke-float) + +(defn stroke-cap [cap] (.strokeCap *applet* (int cap))) + +(defn stroke-join [jn] (.strokeJoin *applet* (int jn))) + +(defn stroke-weight [weight] (.strokeWeight *applet* (float weight))) + +;; $$subset + +(defn tan [angle] (PApplet/tan (float angle))) + +(defn char->text + ([c] (.text *applet* (char c))) + ([c x y] (.text *applet* (char c) (float x) (float y))) + ([c x y z] (.text *applet* (char c) (float x) (float y) (float z)))) + +(defn num->text + ([num x y] (.text *applet* (float num) (float x) (float y))) + ([num x y z] (.text *applet* (float num) (float x) (float y) (float z)))) + +(defn string->text + ([^String s] (.text *applet* s)) + ([^String s x y] (.text *applet* s (float x) (float y))) + ([^String s x y z] (.text *applet* s (float x) (float y) (float z)))) + +(defn string->text-in + ([^String s x1 y1 x2 y2] + (.text *applet* s (float x1) (float y1) (float x2) (float y2))) + ([^String s x1 y1 x2 y2 z] + (.text *applet* s (float x1) (float y1) (float x2) (float y2) (float z)))) + +(defn text-align + ([align] (.textAlign *applet* (int align))) + ([align-x align-y] (.textAlign *applet* (int align-x) (int align-y)))) + +(defn text-ascent [] (.textAscent *applet*)) + +(defn text-descend [] (.textDescent *applet*)) + +(defn text-font + ([^PFont which] (.textFont *applet* which)) + ([^PFont which size] (.textFont *applet* which (int size)))) + +(defn text-leading [leading] (.textLeading *applet* (float leading))) + +(defn text-mode [mode] (.textMode *applet* (int mode))) + +(defn text-size [size] (.textSize *applet* (float size))) + +(defn texture [^PImage img] (.texture *applet* img)) + +(defn texture-mode [mode] (.textureMode *applet* (int mode))) + +(defmulti text-width #(= (class %) (class \a))) + +(defmethod text-width true + [c] (.textWidth *applet* (char c))) + +(defmethod text-width false + [^String s] (.textWidth *applet* s)) + +(defn tint-float + ([gray] (.tint *applet* (float gray))) + ([gray alpha] (.tint *applet* (float gray) (float alpha))) + ([x y z] (.tint *applet* (float x)(float y) (float z))) + ([x y z a] (.tint *applet* (float x)(float y) (float z) (float a)))) + +(defn tint-int + ([rgb] (.tint *applet* (int rgb))) + ([rgb alpha] (.tint *applet* (int rgb) (float alpha)))) + +(def tint tint-float) + +(defn translate + ([v] (apply translate v)) + ([tx ty] (.translate *applet* (float tx) (float ty))) + ([tx ty tz] (.translate *applet* (float tx) (float ty) (float tz)))) + +(defn triangle + [x1 y1 x2 y2 x3 y3] + (.triangle *applet* (float x1) (float y1) + (float x2) (float y2) (float x3) (float y3))) + +;; $$trim +;; $$unbinary +;; $$unhex +;; $$unint +;; $$unregisterDispose +;; $$unregisterDraw +;; $$unregiserKeyEvent +;; $$unregiserMouseEvent +;; $$unregiserKeyEvent +;; $$unregiserPost +;; $$unregisterPre +;; $$unregisterSize +;; $$update + +(defn update-pixels [] (.updatePixels *applet*)) + +(defn vertex + ([x y] (.vertex *applet* (float x) (float y))) + ([x y z] (.vertex *applet* (float x) (float y) (float z))) + ([x y u v] (.vertex *applet* (float x) (float y) (float u) (float v))) + ([x y z u v] + (.vertex *applet* (float x) (float y) (float z) (float u) (float v)))) + +(defn year [] (PApplet/year)) + +;; utility functions. clj-processing specific + +(defn width [] (.getWidth *applet*)) + +(defmacro with-translation + "Berforms body with translation, restores current transformation on exit." + [translation-vector & body] + `(let [tr# ~translation-vector] + (push-matrix) + (translate tr#) + ~@body + (pop-matrix))) + +(defmacro with-rotation + "Performs body with rotation, restores current transformation on exit. + Accepts a vector [angle] or [angle x-axis y-axis z-axis]. + + Example: + (with-rotation [angle] + (vertex 1 2))" + [rotation & body] + `(let [tr# ~rotation] + (push-matrix) + (apply rotate tr#) + ~@body + (pop-matrix))) + +;;; version number + +(let [version-stream (.getResourceAsStream (clojure.lang.RT/baseLoader) + "rosado/processing/version.properties") + properties (doto (new java.util.Properties) (.load version-stream)) + prop (fn [k] (.getProperty properties (str "rosado.processing.version." k))) + processing-version {:major (Integer/valueOf ^String (prop "major")) + :minor (Integer/valueOf ^String (prop "minor")) + :incremental (Integer/valueOf ^String (prop "incremental")) + :qualifier (prop "qualifier")}] + (def *processing-version* + (if (not (= (prop "interim") "false")) + (clojure.lang.RT/assoc processing-version :interim true) + processing-version))) + +(alter-meta! (var *processing-version*) assoc :doc + "The version info for clj-processing, as a map containing :major :minor + :incremental and optional :qualifier keys. This version number + corresponds to the official Processing.org version with which + clj-processing is compatible.") + +(defn + processing-version + "Returns clj-processing version as a printable string." + [] + (str (:major *processing-version*) + "." + (:minor *processing-version*) + (when-let [i (:incremental *processing-version*)] + (str "." i)) + (when-let [q (:qualifier *processing-version*)] + (when (pos? (count q)) (str "-" q))) + (when (:interim *processing-version*) + "-SNAPSHOT"))) diff --git a/src/rosado/processing.clj b/src/rosado/processing.clj new file mode 100644 index 0000000..59328b5 --- /dev/null +++ b/src/rosado/processing.clj @@ -0,0 +1,938 @@ +;; simple processing wrapper for Clojure +;; Roland Sadowski [szabla gmail com] + +;; Copyright (c) 2008 Roland Sadowski. All rights reserved. The use and +;; distribution terms for this software are covered by the Common +;; Public License 1.0 (http://www.opensource.org/licenses/cpl1.0.php) +;; which can be found in the file CPL.TXT at the root of this +;; distribution. By using this software in any fashion, you are +;; agreeing to be bound by the terms of this license. You must not +;; remove this notice, or any other, from this software. + +(ns rosado.processing + (:import [ddf.minim Minim AudioOutput] + [ddf.minim.signals SquareWave] + [ddf.minim.effects LowPassSP]) + (:import (processing.core PApplet PImage PGraphics PFont)) + (:load "constants")) + +;; used by functions in this lib. Use binding to set it +;; to an instance of processing.core.PApplet +(def ^PApplet *applet*) + +(def toupper (memfn toUpperCase)) + +(defn tosymb [kw] + (-> kw name toupper symbol)) + +(defn abs-int [n] (PApplet/abs (int n))) + +(defn abs-float [n] (PApplet/abs (float n))) + +(defn abs + "Returns a float." + [n] + (PApplet/abs (float n))) + +(defn acos [n] (PApplet/acos n)) + +;; $$addListeners + +(defn alpha + [what] (.alpha *applet* (int what))) + +(defn ambient + ([gray] (.ambient *applet* (float gray))) + ([x y z] (.ambient *applet* (float x) (float y) (float z)))) + +(defn ambient-int + [rgb] (.ambient *applet* (int rgb))) + +(defn ambient-light + ([red green blue] + (.ambientLight *applet* (float red) (float green) (float blue))) + ([red green blue x y z] + (.ambientLight *applet* (float red) (float green) (float blue) + (float x) (float y) (float z)))) + +;; $$append + +(defn apply-matrix + ([n00 n01 n02 n10 n11 n12] + (.applyMatrix *applet* (float n00) (float n01) (float n02) + (float n10) (float n11) (float n12))) + ([n00 n01 n02 n03 + n10 n11 n12 n13 + n20 n21 n22 n23 + n30 n31 n32 n33] + (.applyMatrix *applet* (float n00) (float n01) (float n02) (float 03) + (float n10) (float n11) (float n12) (float 13) + (float n20) (float n21) (float n22) (float 23) + (float n30) (float n31) (float n32) (float 33)))) + +(defn arc + [a b c d start stop] + (.arc *applet* (float a)(float b) (float c) (float d) + (float start) (float stop))) + +;; $$arraycopy + +(defn asin [val] (PApplet/asin (float val))) + +(defn atan [val] (PApplet/atan (float val))) + +(defn atan2 [a b] (PApplet/atan2 (float a) (float b))) + +(defn background-float + ([gray] (.background *applet* (float gray))) + ([gray alpha] (.background *applet* (float gray) (float alpha))) + ([r g b] (.background *applet* (float r) (float g) (float b))) + ([r g b a] (.background *applet* (float r) (float g) (float b) (float a)))) + +(defn background-int + ([rgb] (.background *applet* (int rgb))) + ([rgb alpha] (.background *applet* (int rgb) (float alpha)))) + +(def background background-float) + +(defn background-image + [^PImage img] (.background *applet* img)) + +(defn begin-camera + [] (.beginCamera *applet*)) + +(defn begin-raw + ([^PGraphics raw-gfx] (.beginRaw *applet* raw-gfx)) + ([^String renderer ^String filename] + (.beginRaw *applet* renderer filename))) + +;; $$beginRecord + +(def ^{:private true} + shapes-map {:points POINTS + :lines LINES + :triangles TRIANGLES + :triangle-strip TRIANGLE_STRIP + :triangle-fan TRIANGLE_FAN + :quads QUADS + :quad-strip QUAD_STRIP}) + +(defmacro begin-shape + "Takes an optional keyword argument: One of: :points, :lines, :triangles, + :triangle-fan, :triangle-strip, :quads, :quad-strip." + ([] `(.beginShape *applet*)) + ([kind] + (let [kind (shapes-map kind)] + `(.beginShape *applet* (int ~kind))))) + +(defn bezier + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.bezier *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezier *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn bezier-detail + [detail] (.bezierDetail *applet* (int detail))) + +(defn bezier-point + [a b c d t] (.bezierPoint *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-tangent + [a b c d t] (.bezierTangent *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-vertex + ([x2 y2 x3 y3 x4 y4] + (.bezierVertex *applet* + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezierVertex *applet* + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +;; $$binary + +(defn blend + ([sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode))) + ([^PImage src sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* src (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode)))) + +(defn blend-color + [c1 c2 mode] (PApplet/blendColor (int c1) (int c2) (int mode))) + +(defn blue [what] (.blue *applet* (int what))) + +(defn box + ([size] (.box *applet* (int size))) + ([w h d] (.box *applet* (float w) (float h) (float d)))) + +(defn brightness [what] (.brightness *applet* (int what))) + +(defn camera + ([] (.camera *applet*)) + ([eyeX eyeY eyeZ centerX centerY centerZ upX upY upZ] + (.camera *applet* (float eyeX) (float eyeY) (float eyeZ) + (float centerX) (float centerY) (float centerZ) + (float upX) (float upY) (float upZ)))) + +(defn can-draw? [] (.canDraw *applet*)) + +(defn ceil [n] (PApplet/ceil (float n))) + +(defn color-float + ([gray] (.color *applet* (float gray))) + ([gray alpha] (.color *applet* (float gray) (float alpha))) + ([r g b] (.color *applet* (float r) (float g) (float b))) + ([r g b a] (.color *applet* (float r) (float g) (float b) (float a)))) + +(defn color-int + ([gray] (.color *applet* (int gray))) + ([gray alpha] (.color *applet* (int gray) (float alpha))) + ([r g b] (.color *applet* (int r) (int g) (int b))) + ([r g b a] (.color *applet* (int r) (int g) (int b) (int a)))) + +(def color color-float) + +(defn color-mode + ([mode] (.colorMode *applet* (int mode))) + ([mode max] (.colorMode *applet* (int mode) (float max))) + ([mode max-x max-y max-z] + (.colorMode *applet* (int mode) (float max-x) (float max-y) (float max-z))) + ([mode max-x max-y max-z max-a] + (.colorMode *applet* (int mode) + (float max-x) (float max-y) (float max-z) (float max-a)))) + +;; $$concat + +(defn constrain-float + [amt low high] + (PApplet/constrain (float amt) (float low) (float high))) + +(defn constrain-int + [amt low high] + (PApplet/constrain (int amt) (int low) (int high))) + +(def constrain constrain-float) + +(defn copy + ([[sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2))) + ([^PImage img [sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* img (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2)))) + +(defn cos [angle] (PApplet/cos (float angle))) + +(defn create-font + ([name size] (.createFont *applet* name (float size))) + ([name size smooth] (.createFont *applet* name (float size) smooth)) + ([name size smooth ^chars charset] + (.createFont *applet* name (float size) smooth charset))) + +(defn create-graphics + ([w h renderer] + (.createGraphics *applet* (int w) (int h) renderer)) + ([w h renderer path] + (.createGraphics *applet* (int w) (int h) renderer path))) + +(defn create-image [w h format] + (.createImage *applet* (int w) (int h) (int format))) + +(defn create-input [filename] + (PApplet/createInput (java.io.File. filename))) + +(defn create-input-raw + "Call openStream() without automatic gzip decompression." + [filename] + (.createInputRaw *applet* filename)) + +(defn create-output [filename] + (PApplet/createOutput (java.io.File. filename))) + +(defn create-path [filename] (PApplet/createPath filename)) + +(defn create-reader [filename] (.createReader *applet* filename)) + +(defn create-writer [filename] (.createWriter *applet* filename)) + +(defn cursor + ([] (.cursor *applet*)) + ([cur-type] (.cursor *applet* (int cur-type)))) + +(defn cursor-image + ([^PImage img] (.cursor *applet* img)) + ([^PImage img hx hy] (.cursor *applet* img (int hx) (int hy)))) + +(defn curve + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.curve *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.curve *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn curve-detail [detail] (.curveDetail *applet* (int detail))) + +(defn curve-point + [a b c d t] + (.bezierPoint *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tangent + [a b c d t] + (.curveTangent *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tightness [ti] + (.curveTightness *applet* (float ti))) + +(defn curve-vertex + ([x y] (.curveVertex *applet* (float x) (float y))) + ([x y z] (.curveVertex *applet* (float x) (float y) (float z)))) + +;; $$dataFile +;; $$dataPath + +(defn day + "Get the current day of the month (1 through 31)." + [] + (PApplet/day)) + +(defn degrees [radians] (PApplet/degrees (float radians))) + +(defn delay-frame [nap-time] (.delay *applet* (int nap-time))) + +(defn destroy [] (.destroy *applet*)) + +;; $$die + +(defn directional-light + [r g b nx ny nz] + (.directionalLight *applet* (float r) (float g) (float b) + (float nx) (float ny) (float nz))) + +(defn displayable? [] (.displayable *applet*)) + +(defn dist + ([a b x y] (PApplet/dist (float a) (float b) (float x) (float y))) + ([a b c x y z] (PApplet/dist (float a) (float b) (float c) + (float x) (float y) (float z)))) + +;; $$draw + +(defn ellipse + [a b c d] + (.ellipse *applet* (float a) (float b) (float c) (float d))) + +(defmacro ellipse-mode [mode] + "Takes a keyword argument; :center, :radius, :corner or :corners." + (let [mode (tosymb mode)] + `(.ellipseMode *applet* (int ~mode)))) + +(defn emissive-float + ([gray] (.emissive *applet* (float gray))) + ([x y z] (.emissive *applet* (float x) (float y) (float z)))) + +(defn emissive-int + [gray] (.emissive *applet* (int gray))) + +(def emissive emissive-float) + +(defn end-camera [] (.endCamera *applet*)) + +(defn end-raw [] (.endRaw *applet*)) + +(defmacro end-shape + "Takes an optinal :close keyword as argument." + ([] `(.endShape *applet*)) + ([kind] + (let [kind (tosymb kind)] + `(.endShape *applet* (int ~kind))))) + +;; $$exec + +(defn exit [] (.exit *applet*)) + +(defn exp [a] (PApplet/exp (float a))) + +;; $$expand + +(defn fill-float + ([gray] (.fill *applet* (float gray))) + ([gray alpha] (.fill *applet* (float gray) (float alpha))) + ([x y z] (.fill *applet* (float x) (float y) (float z))) + ([x y z a] (.fill *applet* (float x) (float y) (float z) (float a)))) + +(defn fill-int + ([rgb] (.fill *applet* (int rgb))) + ([rgb alpha] (.fill *applet* (int rgb) (float alpha)))) + +(def fill fill-float) + +(defn filter-kind + ([kind] (.filter *applet* (int kind))) + ([kind param] (.filter *applet* (int kind) (float param)))) + +;; $$focusGained +;; $$focusLost + +(defn frame-count [] (.frameCount *applet*)) + +(defn framerate [new-rate] (.frameRate *applet* (float new-rate))) + +(def frame-rate framerate) + +(defn frustum + [l r b t near far] + (.frustum *applet* (float l) (float r) (float b) (float t) + (float near) (float far))) + +(defn get-pixel + ([] (.get *applet*)) + ([x y] (.get *applet* (int x) (int y))) + ([x y w h] (.get *applet* (int x) (int y) (int w) (int h)))) + +(defn green [what] (.green *applet* (int what))) + +;; $$handleDraw +;; $$hex + +(defn height [] (.getHeight *applet*)) + +(defn hint [which] (.hint *applet* (int which))) + +(defn hour [] (PApplet/hour)) + +(defn hue [what] (.hue *applet* (int what))) + +(defn image + ([^PImage img x y] (.image *applet* img (float x) (float y))) + ([^PImage img x y c d] (.image *applet* img (float x) (float y) + (float c) (float d))) + ([^PImage img x y c d u1 v1 u2 v2] + (.image *applet* img (float x) (float y) (float c) (float d) + (float u1) (float v1) (float u2) (float v2)))) + +(defn image-mode [mode] (.imageMode *applet* (int mode))) + +;; $$init +;; $$insertFrame +;; $$join +;; $$keyPressed +;; $$keyReleased +;; $$keyTyped +;; $$lerp +;; $$lerpColor +;; $$lightFallof + +(defn lights [] (.lights *applet*)) + +(defn light-specular + [x y z] + (.lightSpecular *applet* (float x) (float y) (float z))) + +(defn line + ([p1 p2] (apply line (concat p1 p2))) + ([x1 y1 x2 y2] (.line *applet* (float x1) (float y1) (float x2) (float y2))) + ([x1 y1 z1 x2 y2 z2] + (.line *applet* (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2)))) + +;; $$link + +(defn load-bytes [filename] (PApplet/loadBytes filename)) + +(defn load-font [filename] (.loadFont *applet* filename)) + +(defn load-image [filename] (.loadImage *applet* filename)) + +(defn load-matrix [] (.loadMatrix *applet*)) + +(defn load-pixels [] (.loadPixels *applet*)) + +(defn load-shape + "Load a geometry from a file as a PShape." + [filename] + (.loadShape *applet* filename)) + +(defn load-strings + "Load data from a file and shove it into a String array." + [filename] + (.loadStrings *applet* filename)) + +;; $$log + +(defn start-loop [] (.loop *applet*)) + +;; $$mag +;; $$main + +(defn map-to [val istart istop ostart ostop] + (PApplet/map (float val) (float istart) (float istop) (float ostart) (float ostop))) + +(defn map-to-double [val istart istop ostart ostop] + (PApplet/map (double val) (double istart) (double istop) (double ostart) (double ostop))) + +(defn mask + ([^ints alpha-array] (.mask *applet* alpha-array))) + +(defn mask-image [^PImage img] (.mask *applet* img)) + +;; $$match +;; $$max + +(defn millis [] (.millis *applet*)) + +;; $$min + +(defn minute [] (PApplet/minute)) + +(defn model-x [x y z] (.modelX *applet* (float x) (float y) (float z))) +(defn model-y [x y z] (.modelY *applet* (float x) (float y) (float z))) +(defn model-z [x y z] (.modelZ *applet* (float x) (float y) (float z))) + +(defn month [] (PApplet/month)) + +;; $$mouseClicked +;; $$mouseDragged +;; $$mouseEntered +;; $$mouseExited +;; $$mouseMoved +;; $$mousePressed +;; $$mouseReleased +;; $$nf +;; $$nfc +;; $$nfp +;; $$nfs + +(defn no-cursor [] (.noCursor *applet*)) + +(defn no-fill [] (.noFill *applet*)) + +(defn noise + ([x] (.noise *applet* (float x))) + ([x y] (.noise *applet* (float x) (float y))) + ([x y z] (.noise *applet* (float x) (float y) (float z)))) + +(defn noise-detail + ([int detail] (.noiseDetail *applet* (int detail))) + ([int detail falloff] (.noiseDetail *applet* (int detail) (float falloff)))) + +(defn noise-seed [what] (.noiseSeed *applet* (int what))) + +(defn no-lights [] (.noLights *applet*)) + +(defn no-loop [] (.noLoop *applet*)) + +(defn norm + "Normalize a value to exist between 0 and 1 (inclusive)." + [val start stop] + (PApplet/norm (float val) (float start) (float stop))) + +(defn normal [nx ny nz] (.normal *applet* (float nx) (float ny) (float nz))) + +(defn no-smooth [] (.noSmooth *applet*)) + +(defn no-stroke [] (.noStroke *applet*)) + +(defn no-tint [] (.noTint *applet*)) + +(defn open [^String filename] (PApplet/open filename)) + +;; $$open -- overload + +(defn ortho + ([] (.ortho *applet*)) + ([l r b t near far] (.ortho *applet* (float l) (float r) (float b) + (float t) (float near) (float far)))) + +;; $$paint +;; $$param +;; $$parseBoolean +;; $$parseByte +;; $$parseChar +;; $$parseFloat +;; $$parseInt + +(defn perspective + ([] (.perspective *applet*)) + ([fovy aspect z-near z-far] + (.perspective *applet* (float fovy) (float aspect) + (float z-near) (float z-far)))) + +(defn point + ([x y] (.point *applet* (float x)(float y))) + ([x y z] (.point *applet* (float x) (float y) (float z)))) + +(defn point-light + [r g b x y z] + (.pointLight *applet* r g b x y z)) + +(defn pop-matrix [] (.popMatrix *applet*)) + +(defn pow [a b] (PApplet/pow (float a) (float b))) + +;; $$print + +(defn print-camera [] (.printCamera *applet*)) + +;; $$println + +(defn print-matrix [] (.printMatrix *applet*)) + +(defn print-projection [] (.printProjection *applet*)) + +(defn push-matrix [] (.pushMatrix *applet*)) + +(defn quad + [x1 y1 x2 y2 x3 y3 x4 y4] + (.quad *applet* x1 y1 x2 y2 x3 y3 x4 y4)) + +(defn radians [deg] (PApplet/radians (float deg))) + +(defn random + ([max] (.random *applet* (float max))) + ([min max] (.random *applet* (float min) (float max)))) + + +(defn random-seed [w] (.randomSeed *applet* (float w))) + +(defn rect [x1 y1 x2 y2] + (.rect *applet* (float x1) (float y1) (float x2) (float y2))) + +(defn rect-mode [mode] (.rectMode *applet* (int mode))) + +(defn red [what] (.red *applet* (int what))) + +(defn redraw [] (.redraw *applet*)) + +;; $$registerDispose +;; $$registerDraw +;; $$reqisterKeyEvent +;; $$registerMouseEvent +;; $$registerPost +;; $$registerPre +;; $$registerSize +;; $$registerSize + +(defn request-image + ([filename] (.requestImage *applet* filename)) + ([filename extension] (.requestImage *applet* filename extension))) + +(defn reset-matrix [] (.resetMatrix *applet*)) + +(defn reverse-array [arr] (PApplet/reverse arr)) + +(defn rotate + ([angle] (.rotate *applet* (float angle))) + ([angle vx vy vz] (.rotate *applet* (float angle) + (float vx) (float vy) (float vz)))) + +(defn rotate-x [angle] (.rotateX *applet* (float angle))) + +(defn rotate-y [angle] (.rotateY *applet* (float angle))) + +(defn rotate-z [angle] (.rotateZ *applet* (float angle))) + +(defn round [what] (PApplet/round (float what))) + +;; $$run + +(defn saturation [what] (.saturation *applet* (int what))) + +(defn save [filename] (.save *applet* filename)) + +;; $$saveBytes +;; $$saveFile + +(defn save-frame + ([] (.saveFrame *applet*)) + ([what] (.saveFrame *applet*))) + +;; $$savePath +;; $$saveStream +;; $$saveStrings + +(defn scale + ([s] (.scale *applet* (float s))) + ([sx sy] (.scale *applet* (float sx) (float sy)))) + +(defn screen-x + ([x y] (.screenX *applet* (float x) (float y))) + ([x y y] (.screenX *applet* (float x) (float y)))) + +(defn screen-y + ([x y] (.screenY *applet* (float x) (float y))) + ([x y z] (.screenY *applet* (float x) (float y) (float z)))) + +(defn screen-z + [x y z] (.screenX *applet* (float x) (float y) (float z))) + +(defn seconds [] (PApplet/second)) + +;; $$selectFolder +;; $$selectInput +;; $$selectOutput + +(defn set-pixel + [x y c] (.set *applet* (int x) (int y) (int c))) + +(defn set-image-at + [dx dy ^PImage src] (.set *applet* (int dx) (int dy) src)) + +;; $$setup + +;; $$setupExternalMessages +;; $$setupFrameListener + +(defn shininess [shine] (.shininess *applet* (float shine))) + +;; $$shorten + +(defn sin [angle] (PApplet/sin (float angle))) + +(defn size + ([w h] (.size *applet* (int w) (int h))) + ([w h ^String renderer] (.size *applet* (int w) (int h) renderer))) + +;; $$sketchFile +;; $$sketchPath + +(defn smooth [] (.smooth *applet*)) + +;; $$sort + +(defn specular + ([gray] (.specular *applet* (float gray))) + ([gray alpha] (.specular *applet* (float gray) (float alpha))) + ([x y z] (.specular *applet* (float x) (float y) (float z))) + ([x y z a] (.specular *applet* (float x) (float y) (float z) (float a)))) + +(defn sphere + [r] (.sphere *applet* (float r))) + +(defn sphere-detail + ([res] (.sphereDetail *applet* (int res))) + ([ures vres] (.sphereDetail *applet* (int ures) (int vres)))) + +;; $$splice +;; $$split +;; $$splitTokens + +(defn spotlight + ([r g b x y z nx ny nz angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration)) + ([[r g b] [x y z] [nx ny nz] angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration))) + +(defn sq [a] (PApplet/sq (float a))) + +(defn sqrt [a] (PApplet/sqrt (float a))) + +;; $$start +;; $$status +;; $$stop +;; $$str + +(defn stroke-float + ([gray] (.stroke *applet* (float gray))) + ([gray alpha] (.stroke *applet* (float gray) (float alpha))) + ([x y z] (.stroke *applet* (float x) (float y) (float z))) + ([x y z a] (.stroke *applet* (float x) (float y) (float z) (float a)))) + +(defn stroke-int + ([rgb] (.stroke *applet* (int rgb))) + ([rgb alpha] (.stroke *applet* (int rgb) (float alpha)))) + +(def stroke stroke-float) + +(defn stroke-cap [cap] (.strokeCap *applet* (int cap))) + +(defn stroke-join [jn] (.strokeJoin *applet* (int jn))) + +(defn stroke-weight [weight] (.strokeWeight *applet* (float weight))) + +;; $$subset + +(defn tan [angle] (PApplet/tan (float angle))) + +(defn char->text + ([c] (.text *applet* (char c))) + ([c x y] (.text *applet* (char c) (float x) (float y))) + ([c x y z] (.text *applet* (char c) (float x) (float y) (float z)))) + +(defn num->text + ([num x y] (.text *applet* (float num) (float x) (float y))) + ([num x y z] (.text *applet* (float num) (float x) (float y) (float z)))) + +(defn string->text + ([^String s] (.text *applet* s)) + ([^String s x y] (.text *applet* s (float x) (float y))) + ([^String s x y z] (.text *applet* s (float x) (float y) (float z)))) + +(defn string->text-in + ([^String s x1 y1 x2 y2] + (.text *applet* s (float x1) (float y1) (float x2) (float y2))) + ([^String s x1 y1 x2 y2 z] + (.text *applet* s (float x1) (float y1) (float x2) (float y2) (float z)))) + +(defn text-align + ([align] (.textAlign *applet* (int align))) + ([align-x align-y] (.textAlign *applet* (int align-x) (int align-y)))) + +(defn text-ascent [] (.textAscent *applet*)) + +(defn text-descend [] (.textDescent *applet*)) + +(defn text-font + ([^PFont which] (.textFont *applet* which)) + ([^PFont which size] (.textFont *applet* which (int size)))) + +(defn text-leading [leading] (.textLeading *applet* (float leading))) + +(defn text-mode [mode] (.textMode *applet* (int mode))) + +(defn text-size [size] (.textSize *applet* (float size))) + +(defn texture [^PImage img] (.texture *applet* img)) + +(defn texture-mode [mode] (.textureMode *applet* (int mode))) + +(defmulti text-width #(= (class %) (class \a))) + +(defmethod text-width true + [c] (.textWidth *applet* (char c))) + +(defmethod text-width false + [^String s] (.textWidth *applet* s)) + +(defn tint-float + ([gray] (.tint *applet* (float gray))) + ([gray alpha] (.tint *applet* (float gray) (float alpha))) + ([x y z] (.tint *applet* (float x)(float y) (float z))) + ([x y z a] (.tint *applet* (float x)(float y) (float z) (float a)))) + +(defn tint-int + ([rgb] (.tint *applet* (int rgb))) + ([rgb alpha] (.tint *applet* (int rgb) (float alpha)))) + +(def tint tint-float) + +(defn translate + ([v] (apply translate v)) + ([tx ty] (.translate *applet* (float tx) (float ty))) + ([tx ty tz] (.translate *applet* (float tx) (float ty) (float tz)))) + +(defn triangle + [x1 y1 x2 y2 x3 y3] + (.triangle *applet* (float x1) (float y1) + (float x2) (float y2) (float x3) (float y3))) + +;; $$trim +;; $$unbinary +;; $$unhex +;; $$unint +;; $$unregisterDispose +;; $$unregisterDraw +;; $$unregiserKeyEvent +;; $$unregiserMouseEvent +;; $$unregiserKeyEvent +;; $$unregiserPost +;; $$unregisterPre +;; $$unregisterSize +;; $$update + +(defn update-pixels [] (.updatePixels *applet*)) + +(defn vertex + ([x y] (.vertex *applet* (float x) (float y))) + ([x y z] (.vertex *applet* (float x) (float y) (float z))) + ([x y u v] (.vertex *applet* (float x) (float y) (float u) (float v))) + ([x y z u v] + (.vertex *applet* (float x) (float y) (float z) (float u) (float v)))) + +(defn year [] (PApplet/year)) + +;; utility functions. clj-processing specific + +(defn width [] (.getWidth *applet*)) + +(defmacro with-translation + "Berforms body with translation, restores current transformation on exit." + [translation-vector & body] + `(let [tr# ~translation-vector] + (push-matrix) + (translate tr#) + ~@body + (pop-matrix))) + +(defmacro with-rotation + "Performs body with rotation, restores current transformation on exit. + Accepts a vector [angle] or [angle x-axis y-axis z-axis]. + + Example: + (with-rotation [angle] + (vertex 1 2))" + [rotation & body] + `(let [tr# ~rotation] + (push-matrix) + (apply rotate tr#) + ~@body + (pop-matrix))) + +;;; version number + +(let [version-stream (.getResourceAsStream (clojure.lang.RT/baseLoader) + "rosado/processing/version.properties") + properties (doto (new java.util.Properties) (.load version-stream)) + prop (fn [k] (.getProperty properties (str "rosado.processing.version." k))) + processing-version {:major (Integer/valueOf ^String (prop "major")) + :minor (Integer/valueOf ^String (prop "minor")) + :incremental (Integer/valueOf ^String (prop "incremental")) + :qualifier (prop "qualifier")}] + (def *processing-version* + (if (not (= (prop "interim") "false")) + (clojure.lang.RT/assoc processing-version :interim true) + processing-version))) + +(alter-meta! (var *processing-version*) assoc :doc + "The version info for clj-processing, as a map containing :major :minor + :incremental and optional :qualifier keys. This version number + corresponds to the official Processing.org version with which + clj-processing is compatible.") + +(defn + processing-version + "Returns clj-processing version as a printable string." + [] + (str (:major *processing-version*) + "." + (:minor *processing-version*) + (when-let [i (:incremental *processing-version*)] + (str "." i)) + (when-let [q (:qualifier *processing-version*)] + (when (pos? (count q)) (str "-" q))) + (when (:interim *processing-version*) + "-SNAPSHOT"))) + + diff --git a/src/rosado/processing.clj~ b/src/rosado/processing.clj~ new file mode 100644 index 0000000..6dc006a --- /dev/null +++ b/src/rosado/processing.clj~ @@ -0,0 +1,933 @@ +;; simple processing wrapper for Clojure +;; Roland Sadowski [szabla gmail com] + +;; Copyright (c) 2008 Roland Sadowski. All rights reserved. The use and +;; distribution terms for this software are covered by the Common +;; Public License 1.0 (http://www.opensource.org/licenses/cpl1.0.php) +;; which can be found in the file CPL.TXT at the root of this +;; distribution. By using this software in any fashion, you are +;; agreeing to be bound by the terms of this license. You must not +;; remove this notice, or any other, from this software. + +(ns rosado.processing + (:import (processing.core PApplet PImage PGraphics PFont)) + (:load "constants")) + +;; used by functions in this lib. Use binding to set it +;; to an instance of processing.core.PApplet +(def ^PApplet *applet*) + +(def toupper (memfn toUpperCase)) + +(defn tosymb [kw] + (-> kw name toupper symbol)) + +(defn abs-int [n] (PApplet/abs (int n))) + +(defn abs-float [n] (PApplet/abs (float n))) + +(defn abs + "Returns a float." + [n] + (PApplet/abs (float n))) + +(defn acos [n] (PApplet/acos n)) + +;; $$addListeners + +(defn alpha + [what] (.alpha *applet* (int what))) + +(defn ambient + ([gray] (.ambient *applet* (float gray))) + ([x y z] (.ambient *applet* (float x) (float y) (float z)))) + +(defn ambient-int + [rgb] (.ambient *applet* (int rgb))) + +(defn ambient-light + ([red green blue] + (.ambientLight *applet* (float red) (float green) (float blue))) + ([red green blue x y z] + (.ambientLight *applet* (float red) (float green) (float blue) + (float x) (float y) (float z)))) + +;; $$append + +(defn apply-matrix + ([n00 n01 n02 n10 n11 n12] + (.applyMatrix *applet* (float n00) (float n01) (float n02) + (float n10) (float n11) (float n12))) + ([n00 n01 n02 n03 + n10 n11 n12 n13 + n20 n21 n22 n23 + n30 n31 n32 n33] + (.applyMatrix *applet* (float n00) (float n01) (float n02) (float 03) + (float n10) (float n11) (float n12) (float 13) + (float n20) (float n21) (float n22) (float 23) + (float n30) (float n31) (float n32) (float 33)))) + +(defn arc + [a b c d start stop] + (.arc *applet* (float a)(float b) (float c) (float d) + (float start) (float stop))) + +;; $$arraycopy + +(defn asin [val] (PApplet/asin (float val))) + +(defn atan [val] (PApplet/atan (float val))) + +(defn atan2 [a b] (PApplet/atan2 (float a) (float b))) + +(defn background-float + ([gray] (.background *applet* (float gray))) + ([gray alpha] (.background *applet* (float gray) (float alpha))) + ([r g b] (.background *applet* (float r) (float g) (float b))) + ([r g b a] (.background *applet* (float r) (float g) (float b) (float a)))) + +(defn background-int + ([rgb] (.background *applet* (int rgb))) + ([rgb alpha] (.background *applet* (int rgb) (float alpha)))) + +(def background background-float) + +(defn background-image + [^PImage img] (.background *applet* img)) + +(defn begin-camera + [] (.beginCamera *applet*)) + +(defn begin-raw + ([^PGraphics raw-gfx] (.beginRaw *applet* raw-gfx)) + ([^String renderer ^String filename] + (.beginRaw *applet* renderer filename))) + +;; $$beginRecord + +(def ^{:private true} + shapes-map {:points POINTS + :lines LINES + :triangles TRIANGLES + :triangle-strip TRIANGLE_STRIP + :triangle-fan TRIANGLE_FAN + :quads QUADS + :quad-strip QUAD_STRIP}) + +(defmacro begin-shape + "Takes an optional keyword argument: One of: :points, :lines, :triangles, + :triangle-fan, :triangle-strip, :quads, :quad-strip." + ([] `(.beginShape *applet*)) + ([kind] + (let [kind (shapes-map kind)] + `(.beginShape *applet* (int ~kind))))) + +(defn bezier + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.bezier *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezier *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn bezier-detail + [detail] (.bezierDetail *applet* (int detail))) + +(defn bezier-point + [a b c d t] (.bezierPoint *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-tangent + [a b c d t] (.bezierTangent *applet* (float a) (float b) (float c) + (float d) (float t))) + +(defn bezier-vertex + ([x2 y2 x3 y3 x4 y4] + (.bezierVertex *applet* + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.bezierVertex *applet* + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +;; $$binary + +(defn blend + ([sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode))) + ([^PImage src sx1 sy1 sx2 sy2 dx1 dy1 dx2 dy2 mode] + (.blend *applet* src (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2) (int mode)))) + +(defn blend-color + [c1 c2 mode] (PApplet/blendColor (int c1) (int c2) (int mode))) + +(defn blue [what] (.blue *applet* (int what))) + +(defn box + ([size] (.box *applet* (int size))) + ([w h d] (.box *applet* (float w) (float h) (float d)))) + +(defn brightness [what] (.brightness *applet* (int what))) + +(defn camera + ([] (.camera *applet*)) + ([eyeX eyeY eyeZ centerX centerY centerZ upX upY upZ] + (.camera *applet* (float eyeX) (float eyeY) (float eyeZ) + (float centerX) (float centerY) (float centerZ) + (float upX) (float upY) (float upZ)))) + +(defn can-draw? [] (.canDraw *applet*)) + +(defn ceil [n] (PApplet/ceil (float n))) + +(defn color-float + ([gray] (.color *applet* (float gray))) + ([gray alpha] (.color *applet* (float gray) (float alpha))) + ([r g b] (.color *applet* (float r) (float g) (float b))) + ([r g b a] (.color *applet* (float r) (float g) (float b) (float a)))) + +(defn color-int + ([gray] (.color *applet* (int gray))) + ([gray alpha] (.color *applet* (int gray) (float alpha))) + ([r g b] (.color *applet* (int r) (int g) (int b))) + ([r g b a] (.color *applet* (int r) (int g) (int b) (int a)))) + +(def color color-float) + +(defn color-mode + ([mode] (.colorMode *applet* (int mode))) + ([mode max] (.colorMode *applet* (int mode) (float max))) + ([mode max-x max-y max-z] + (.colorMode *applet* (int mode) (float max-x) (float max-y) (float max-z))) + ([mode max-x max-y max-z max-a] + (.colorMode *applet* (int mode) + (float max-x) (float max-y) (float max-z) (float max-a)))) + +;; $$concat + +(defn constrain-float + [amt low high] + (PApplet/constrain (float amt) (float low) (float high))) + +(defn constrain-int + [amt low high] + (PApplet/constrain (int amt) (int low) (int high))) + +(def constrain constrain-float) + +(defn copy + ([[sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2))) + ([^PImage img [sx1 sy1 sx2 sy2] [dx1 dy1 dx2 dy2]] + (.copy *applet* img (int sx1) (int sy1) (int sx2) (int sy2) + (int dx1) (int dy1) (int dx2) (int dy2)))) + +(defn cos [angle] (PApplet/cos (float angle))) + +(defn create-font + ([name size] (.createFont *applet* name (float size))) + ([name size smooth] (.createFont *applet* name (float size) smooth)) + ([name size smooth ^chars charset] + (.createFont *applet* name (float size) smooth charset))) + +(defn create-graphics + ([w h renderer] + (.createGraphics *applet* (int w) (int h) renderer)) + ([w h renderer path] + (.createGraphics *applet* (int w) (int h) renderer path))) + +(defn create-image [w h format] + (.createImage *applet* (int w) (int h) (int format))) + +(defn create-input [filename] + (PApplet/createInput (java.io.File. filename))) + +(defn create-input-raw + "Call openStream() without automatic gzip decompression." + [filename] + (.createInputRaw *applet* filename)) + +(defn create-output [filename] + (PApplet/createOutput (java.io.File. filename))) + +(defn create-path [filename] (PApplet/createPath filename)) + +(defn create-reader [filename] (.createReader *applet* filename)) + +(defn create-writer [filename] (.createWriter *applet* filename)) + +(defn cursor + ([] (.cursor *applet*)) + ([cur-type] (.cursor *applet* (int cur-type)))) + +(defn cursor-image + ([^PImage img] (.cursor *applet* img)) + ([^PImage img hx hy] (.cursor *applet* img (int hx) (int hy)))) + +(defn curve + ([x1 y1 x2 y2 x3 y3 x4 y4] + (.curve *applet* + (float x1) (float y1) + (float x2) (float y2) + (float x3) (float y3) + (float x4) (float y4))) + ([x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4] + (.curve *applet* + (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2) + (float x3) (float y3) (float z3) + (float x4) (float y4) (float z4)))) + +(defn curve-detail [detail] (.curveDetail *applet* (int detail))) + +(defn curve-point + [a b c d t] + (.bezierPoint *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tangent + [a b c d t] + (.curveTangent *applet* (float a) (float b) (float c) (float d) (float t))) + +(defn curve-tightness [ti] + (.curveTightness *applet* (float ti))) + +(defn curve-vertex + ([x y] (.curveVertex *applet* (float x) (float y))) + ([x y z] (.curveVertex *applet* (float x) (float y) (float z)))) + +;; $$dataFile +;; $$dataPath + +(defn day + "Get the current day of the month (1 through 31)." + [] + (PApplet/day)) + +(defn degrees [radians] (PApplet/degrees (float radians))) + +(defn delay-frame [nap-time] (.delay *applet* (int nap-time))) + +(defn destroy [] (.destroy *applet*)) + +;; $$die + +(defn directional-light + [r g b nx ny nz] + (.directionalLight *applet* (float r) (float g) (float b) + (float nx) (float ny) (float nz))) + +(defn displayable? [] (.displayable *applet*)) + +(defn dist + ([a b x y] (PApplet/dist (float a) (float b) (float x) (float y))) + ([a b c x y z] (PApplet/dist (float a) (float b) (float c) + (float x) (float y) (float z)))) + +;; $$draw + +(defn ellipse + [a b c d] + (.ellipse *applet* (float a) (float b) (float c) (float d))) + +(defmacro ellipse-mode [mode] + "Takes a keyword argument; :center, :radius, :corner or :corners." + (let [mode (tosymb mode)] + `(.ellipseMode *applet* (int ~mode)))) + +(defn emissive-float + ([gray] (.emissive *applet* (float gray))) + ([x y z] (.emissive *applet* (float x) (float y) (float z)))) + +(defn emissive-int + [gray] (.emissive *applet* (int gray))) + +(def emissive emissive-float) + +(defn end-camera [] (.endCamera *applet*)) + +(defn end-raw [] (.endRaw *applet*)) + +(defmacro end-shape + "Takes an optinal :close keyword as argument." + ([] `(.endShape *applet*)) + ([kind] + (let [kind (tosymb kind)] + `(.endShape *applet* (int ~kind))))) + +;; $$exec + +(defn exit [] (.exit *applet*)) + +(defn exp [a] (PApplet/exp (float a))) + +;; $$expand + +(defn fill-float + ([gray] (.fill *applet* (float gray))) + ([gray alpha] (.fill *applet* (float gray) (float alpha))) + ([x y z] (.fill *applet* (float x) (float y) (float z))) + ([x y z a] (.fill *applet* (float x) (float y) (float z) (float a)))) + +(defn fill-int + ([rgb] (.fill *applet* (int rgb))) + ([rgb alpha] (.fill *applet* (int rgb) (float alpha)))) + +(def fill fill-float) + +(defn filter-kind + ([kind] (.filter *applet* (int kind))) + ([kind param] (.filter *applet* (int kind) (float param)))) + +;; $$focusGained +;; $$focusLost + +(defn frame-count [] (.frameCount *applet*)) + +(defn framerate [new-rate] (.frameRate *applet* (float new-rate))) + +(def frame-rate framerate) + +(defn frustum + [l r b t near far] + (.frustum *applet* (float l) (float r) (float b) (float t) + (float near) (float far))) + +(defn get-pixel + ([] (.get *applet*)) + ([x y] (.get *applet* (int x) (int y))) + ([x y w h] (.get *applet* (int x) (int y) (int w) (int h)))) + +(defn green [what] (.green *applet* (int what))) + +;; $$handleDraw +;; $$hex + +(defn height [] (.getHeight *applet*)) + +(defn hint [which] (.hint *applet* (int which))) + +(defn hour [] (PApplet/hour)) + +(defn hue [what] (.hue *applet* (int what))) + +(defn image + ([^PImage img x y] (.image *applet* img (float x) (float y))) + ([^PImage img x y c d] (.image *applet* img (float x) (float y) + (float c) (float d))) + ([^PImage img x y c d u1 v1 u2 v2] + (.image *applet* img (float x) (float y) (float c) (float d) + (float u1) (float v1) (float u2) (float v2)))) + +(defn image-mode [mode] (.imageMode *applet* (int mode))) + +;; $$init +;; $$insertFrame +;; $$join +;; $$keyPressed +;; $$keyReleased +;; $$keyTyped +;; $$lerp +;; $$lerpColor +;; $$lightFallof + +(defn lights [] (.lights *applet*)) + +(defn light-specular + [x y z] + (.lightSpecular *applet* (float x) (float y) (float z))) + +(defn line + ([p1 p2] (apply line (concat p1 p2))) + ([x1 y1 x2 y2] (.line *applet* (float x1) (float y1) (float x2) (float y2))) + ([x1 y1 z1 x2 y2 z2] + (.line *applet* (float x1) (float y1) (float z1) + (float x2) (float y2) (float z2)))) + +;; $$link + +(defn load-bytes [filename] (PApplet/loadBytes filename)) + +(defn load-font [filename] (.loadFont *applet* filename)) + +(defn load-image [filename] (.loadImage *applet* filename)) + +(defn load-matrix [] (.loadMatrix *applet*)) + +(defn load-pixels [] (.loadPixels *applet*)) + +(defn load-shape + "Load a geometry from a file as a PShape." + [filename] + (.loadShape *applet* filename)) + +(defn load-strings + "Load data from a file and shove it into a String array." + [filename] + (.loadStrings *applet* filename)) + +;; $$log + +(defn start-loop [] (.loop *applet*)) + +;; $$mag +;; $$main + +(defn map-to [val istart istop ostart ostop] + (PApplet/map (float val) (float istart) (float istop) (float ostart) (float ostop))) + +(defn map-to-double [val istart istop ostart ostop] + (PApplet/map (double val) (double istart) (double istop) (double ostart) (double ostop))) + +(defn mask + ([^ints alpha-array] (.mask *applet* alpha-array))) + +(defn mask-image [^PImage img] (.mask *applet* img)) + +;; $$match +;; $$max + +(defn millis [] (.millis *applet*)) + +;; $$min + +(defn minute [] (PApplet/minute)) + +(defn model-x [x y z] (.modelX *applet* (float x) (float y) (float z))) +(defn model-y [x y z] (.modelY *applet* (float x) (float y) (float z))) +(defn model-z [x y z] (.modelZ *applet* (float x) (float y) (float z))) + +(defn month [] (PApplet/month)) + +;; $$mouseClicked +;; $$mouseDragged +;; $$mouseEntered +;; $$mouseExited +;; $$mouseMoved +;; $$mousePressed +;; $$mouseReleased +;; $$nf +;; $$nfc +;; $$nfp +;; $$nfs + +(defn no-cursor [] (.noCursor *applet*)) + +(defn no-fill [] (.noFill *applet*)) + +(defn noise + ([x] (.noise *applet* (float x))) + ([x y] (.noise *applet* (float x) (float y))) + ([x y z] (.noise *applet* (float x) (float y) (float z)))) + +(defn noise-detail + ([int detail] (.noiseDetail *applet* (int detail))) + ([int detail falloff] (.noiseDetail *applet* (int detail) (float falloff)))) + +(defn noise-seed [what] (.noiseSeed *applet* (int what))) + +(defn no-lights [] (.noLights *applet*)) + +(defn no-loop [] (.noLoop *applet*)) + +(defn norm + "Normalize a value to exist between 0 and 1 (inclusive)." + [val start stop] + (PApplet/norm (float val) (float start) (float stop))) + +(defn normal [nx ny nz] (.normal *applet* (float nx) (float ny) (float nz))) + +(defn no-smooth [] (.noSmooth *applet*)) + +(defn no-stroke [] (.noStroke *applet*)) + +(defn no-tint [] (.noTint *applet*)) + +(defn open [^String filename] (PApplet/open filename)) + +;; $$open -- overload + +(defn ortho + ([] (.ortho *applet*)) + ([l r b t near far] (.ortho *applet* (float l) (float r) (float b) + (float t) (float near) (float far)))) + +;; $$paint +;; $$param +;; $$parseBoolean +;; $$parseByte +;; $$parseChar +;; $$parseFloat +;; $$parseInt + +(defn perspective + ([] (.perspective *applet*)) + ([fovy aspect z-near z-far] + (.perspective *applet* (float fovy) (float aspect) + (float z-near) (float z-far)))) + +(defn point + ([x y] (.point *applet* (float x)(float y))) + ([x y z] (.point *applet* (float x) (float y) (float z)))) + +(defn point-light + [r g b x y z] + (.pointLight *applet* r g b x y z)) + +(defn pop-matrix [] (.popMatrix *applet*)) + +(defn pow [a b] (PApplet/pow (float a) (float b))) + +;; $$print + +(defn print-camera [] (.printCamera *applet*)) + +;; $$println + +(defn print-matrix [] (.printMatrix *applet*)) + +(defn print-projection [] (.printProjection *applet*)) + +(defn push-matrix [] (.pushMatrix *applet*)) + +(defn quad + [x1 y1 x2 y2 x3 y3 x4 y4] + (.quad *applet* x1 y1 x2 y2 x3 y3 x4 y4)) + +(defn radians [deg] (PApplet/radians (float deg))) + +(defn random + ([max] (.random *applet* (float max))) + ([min max] (.random *applet* (float min) (float max)))) + + +(defn random-seed [w] (.randomSeed *applet* (float w))) + +(defn rect [x1 y1 x2 y2] + (.rect *applet* (float x1) (float y1) (float x2) (float y2))) + +(defn rect-mode [mode] (.rectMode *applet* (int mode))) + +(defn red [what] (.red *applet* (int what))) + +(defn redraw [] (.redraw *applet*)) + +;; $$registerDispose +;; $$registerDraw +;; $$reqisterKeyEvent +;; $$registerMouseEvent +;; $$registerPost +;; $$registerPre +;; $$registerSize +;; $$registerSize + +(defn request-image + ([filename] (.requestImage *applet* filename)) + ([filename extension] (.requestImage *applet* filename extension))) + +(defn reset-matrix [] (.resetMatrix *applet*)) + +(defn reverse-array [arr] (PApplet/reverse arr)) + +(defn rotate + ([angle] (.rotate *applet* (float angle))) + ([angle vx vy vz] (.rotate *applet* (float angle) + (float vx) (float vy) (float vz)))) + +(defn rotate-x [angle] (.rotateX *applet* (float angle))) + +(defn rotate-y [angle] (.rotateY *applet* (float angle))) + +(defn rotate-z [angle] (.rotateZ *applet* (float angle))) + +(defn round [what] (PApplet/round (float what))) + +;; $$run + +(defn saturation [what] (.saturation *applet* (int what))) + +(defn save [filename] (.save *applet* filename)) + +;; $$saveBytes +;; $$saveFile + +(defn save-frame + ([] (.saveFrame *applet*)) + ([what] (.saveFrame *applet*))) + +;; $$savePath +;; $$saveStream +;; $$saveStrings + +(defn scale + ([s] (.scale *applet* (float s))) + ([sx sy] (.scale *applet* (float sx) (float sy)))) + +(defn screen-x + ([x y] (.screenX *applet* (float x) (float y))) + ([x y y] (.screenX *applet* (float x) (float y)))) + +(defn screen-y + ([x y] (.screenY *applet* (float x) (float y))) + ([x y z] (.screenY *applet* (float x) (float y) (float z)))) + +(defn screen-z + [x y z] (.screenX *applet* (float x) (float y) (float z))) + +(defn seconds [] (PApplet/second)) + +;; $$selectFolder +;; $$selectInput +;; $$selectOutput + +(defn set-pixel + [x y c] (.set *applet* (int x) (int y) (int c))) + +(defn set-image-at + [dx dy ^PImage src] (.set *applet* (int dx) (int dy) src)) + +;; $$setup + +;; $$setupExternalMessages +;; $$setupFrameListener + +(defn shininess [shine] (.shininess *applet* (float shine))) + +;; $$shorten + +(defn sin [angle] (PApplet/sin (float angle))) + +(defn size + ([w h] (.size *applet* (int w) (int h))) + ([w h ^String renderer] (.size *applet* (int w) (int h) renderer))) + +;; $$sketchFile +;; $$sketchPath + +(defn smooth [] (.smooth *applet*)) + +;; $$sort + +(defn specular + ([gray] (.specular *applet* (float gray))) + ([gray alpha] (.specular *applet* (float gray) (float alpha))) + ([x y z] (.specular *applet* (float x) (float y) (float z))) + ([x y z a] (.specular *applet* (float x) (float y) (float z) (float a)))) + +(defn sphere + [r] (.sphere *applet* (float r))) + +(defn sphere-detail + ([res] (.sphereDetail *applet* (int res))) + ([ures vres] (.sphereDetail *applet* (int ures) (int vres)))) + +;; $$splice +;; $$split +;; $$splitTokens + +(defn spotlight + ([r g b x y z nx ny nz angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration)) + ([[r g b] [x y z] [nx ny nz] angle concentration] + (.spotLight *applet* r g b x y z nx ny nz angle concentration))) + +(defn sq [a] (PApplet/sq (float a))) + +(defn sqrt [a] (PApplet/sqrt (float a))) + +;; $$start +;; $$status +;; $$stop +;; $$str + +(defn stroke-float + ([gray] (.stroke *applet* (float gray))) + ([gray alpha] (.stroke *applet* (float gray) (float alpha))) + ([x y z] (.stroke *applet* (float x) (float y) (float z))) + ([x y z a] (.stroke *applet* (float x) (float y) (float z) (float a)))) + +(defn stroke-int + ([rgb] (.stroke *applet* (int rgb))) + ([rgb alpha] (.stroke *applet* (int rgb) (float alpha)))) + +(def stroke stroke-float) + +(defn stroke-cap [cap] (.strokeCap *applet* (int cap))) + +(defn stroke-join [jn] (.strokeJoin *applet* (int jn))) + +(defn stroke-weight [weight] (.strokeWeight *applet* (float weight))) + +;; $$subset + +(defn tan [angle] (PApplet/tan (float angle))) + +(defn char->text + ([c] (.text *applet* (char c))) + ([c x y] (.text *applet* (char c) (float x) (float y))) + ([c x y z] (.text *applet* (char c) (float x) (float y) (float z)))) + +(defn num->text + ([num x y] (.text *applet* (float num) (float x) (float y))) + ([num x y z] (.text *applet* (float num) (float x) (float y) (float z)))) + +(defn string->text + ([^String s] (.text *applet* s)) + ([^String s x y] (.text *applet* s (float x) (float y))) + ([^String s x y z] (.text *applet* s (float x) (float y) (float z)))) + +(defn string->text-in + ([^String s x1 y1 x2 y2] + (.text *applet* s (float x1) (float y1) (float x2) (float y2))) + ([^String s x1 y1 x2 y2 z] + (.text *applet* s (float x1) (float y1) (float x2) (float y2) (float z)))) + +(defn text-align + ([align] (.textAlign *applet* (int align))) + ([align-x align-y] (.textAlign *applet* (int align-x) (int align-y)))) + +(defn text-ascent [] (.textAscent *applet*)) + +(defn text-descend [] (.textDescent *applet*)) + +(defn text-font + ([^PFont which] (.textFont *applet* which)) + ([^PFont which size] (.textFont *applet* which (int size)))) + +(defn text-leading [leading] (.textLeading *applet* (float leading))) + +(defn text-mode [mode] (.textMode *applet* (int mode))) + +(defn text-size [size] (.textSize *applet* (float size))) + +(defn texture [^PImage img] (.texture *applet* img)) + +(defn texture-mode [mode] (.textureMode *applet* (int mode))) + +(defmulti text-width #(= (class %) (class \a))) + +(defmethod text-width true + [c] (.textWidth *applet* (char c))) + +(defmethod text-width false + [^String s] (.textWidth *applet* s)) + +(defn tint-float + ([gray] (.tint *applet* (float gray))) + ([gray alpha] (.tint *applet* (float gray) (float alpha))) + ([x y z] (.tint *applet* (float x)(float y) (float z))) + ([x y z a] (.tint *applet* (float x)(float y) (float z) (float a)))) + +(defn tint-int + ([rgb] (.tint *applet* (int rgb))) + ([rgb alpha] (.tint *applet* (int rgb) (float alpha)))) + +(def tint tint-float) + +(defn translate + ([v] (apply translate v)) + ([tx ty] (.translate *applet* (float tx) (float ty))) + ([tx ty tz] (.translate *applet* (float tx) (float ty) (float tz)))) + +(defn triangle + [x1 y1 x2 y2 x3 y3] + (.triangle *applet* (float x1) (float y1) + (float x2) (float y2) (float x3) (float y3))) + +;; $$trim +;; $$unbinary +;; $$unhex +;; $$unint +;; $$unregisterDispose +;; $$unregisterDraw +;; $$unregiserKeyEvent +;; $$unregiserMouseEvent +;; $$unregiserKeyEvent +;; $$unregiserPost +;; $$unregisterPre +;; $$unregisterSize +;; $$update + +(defn update-pixels [] (.updatePixels *applet*)) + +(defn vertex + ([x y] (.vertex *applet* (float x) (float y))) + ([x y z] (.vertex *applet* (float x) (float y) (float z))) + ([x y u v] (.vertex *applet* (float x) (float y) (float u) (float v))) + ([x y z u v] + (.vertex *applet* (float x) (float y) (float z) (float u) (float v)))) + +(defn year [] (PApplet/year)) + +;; utility functions. clj-processing specific + +(defn width [] (.getWidth *applet*)) + +(defmacro with-translation + "Berforms body with translation, restores current transformation on exit." + [translation-vector & body] + `(let [tr# ~translation-vector] + (push-matrix) + (translate tr#) + ~@body + (pop-matrix))) + +(defmacro with-rotation + "Performs body with rotation, restores current transformation on exit. + Accepts a vector [angle] or [angle x-axis y-axis z-axis]. + + Example: + (with-rotation [angle] + (vertex 1 2))" + [rotation & body] + `(let [tr# ~rotation] + (push-matrix) + (apply rotate tr#) + ~@body + (pop-matrix))) + +;;; version number + +(let [version-stream (.getResourceAsStream (clojure.lang.RT/baseLoader) + "rosado/processing/version.properties") + properties (doto (new java.util.Properties) (.load version-stream)) + prop (fn [k] (.getProperty properties (str "rosado.processing.version." k))) + processing-version {:major (Integer/valueOf ^String (prop "major")) + :minor (Integer/valueOf ^String (prop "minor")) + :incremental (Integer/valueOf ^String (prop "incremental")) + :qualifier (prop "qualifier")}] + (def *processing-version* + (if (not (= (prop "interim") "false")) + (clojure.lang.RT/assoc processing-version :interim true) + processing-version))) + +(alter-meta! (var *processing-version*) assoc :doc + "The version info for clj-processing, as a map containing :major :minor + :incremental and optional :qualifier keys. This version number + corresponds to the official Processing.org version with which + clj-processing is compatible.") + +(defn + processing-version + "Returns clj-processing version as a printable string." + [] + (str (:major *processing-version*) + "." + (:minor *processing-version*) + (when-let [i (:incremental *processing-version*)] + (str "." i)) + (when-let [q (:qualifier *processing-version*)] + (when (pos? (count q)) (str "-" q))) + (when (:interim *processing-version*) + "-SNAPSHOT"))) diff --git a/src/rosado/processing/applet.clj b/src/rosado/processing/applet.clj new file mode 100644 index 0000000..111f84a --- /dev/null +++ b/src/rosado/processing/applet.clj @@ -0,0 +1,79 @@ +(ns rosado.processing.applet + (:use [rosado.processing :except (size)]) + (:import (javax.swing JFrame))) + +(defn- with-binding + "Turn the method map into something one that update-proxy can use." + [methods [method-name f]] + (assoc methods (name method-name) + `(fn [this# & args#] + (binding [*applet* this#] + (apply ~f args#))))) + +(defn- fix-mname + "Changes :method-name to :methodName." + [[mname fun]] + (let [mname (name mname) + mr (re-matcher #"\-[a-zA-z]" mname) + replace-fn (comp #(.replaceFirst mr %) toupper #(.substring % 1)) + fixed-name (if-let [matched (re-find mr)] + (replace-fn matched) + mname)] + [(keyword fixed-name) fun])) + +(defmacro defapplet + "Define an applet. Takes an app-name and a map of options." + [app-name & opts] + (let [options (assoc (apply hash-map opts) :name (str app-name)) + fns (dissoc options :name :title :size) + methods (reduce with-binding {} (into {} (map fix-mname fns)))] + `(def ~app-name + (let [frame# (atom nil) + prx# (proxy [processing.core.PApplet + clojure.lang.IMeta] [] + (meta [] (assoc ~options :frame frame#)))] + (update-proxy prx# ~methods) + prx#)))) + +(def ^{:private true} + modes {:JAVA2D JAVA2D :OPENGL OPENGL + :P3D P3D :P2D P2D :PDF PDF}) + +(defn run + "Launches the applet. If given the flag :interactive, it won't exit + on clicking the close button - it will only dispose the window." + [applet & interactive?] + (.init applet) + (let [m (.meta applet) + [width height & mode] (or (:size m) [200 200]) + mode (if-let [kw (first mode)] + (modes (-> kw name toupper keyword)) + JAVA2D) + close-op (if (first interactive?) + JFrame/DISPOSE_ON_CLOSE + JFrame/EXIT_ON_CLOSE)] + (.size applet width height mode) + (reset! (:frame m) + (doto (JFrame. (or (:title m) (:name m))) + (.setDefaultCloseOperation close-op) + (.setSize width height) + (.add applet) + (.pack) + (.show))))) + + +(defn stop [applet] + (let [closing-fn (fn [] + (let [frame @(:frame (meta applet))] + (.destroy applet) + (doto frame + (.hide) + (.dispose))))] + (javax.swing.SwingUtilities/invokeAndWait closing-fn))) + +(comment ;; Usage: + (defapplet growing-triangle + :draw (fn [] (line 10 10 (frame-count) 100))) + + (run growing-triangle) + (stop growing-triangle)) diff --git a/src/rosado/processing/version.properties b/src/rosado/processing/version.properties new file mode 100644 index 0000000..42c716a --- /dev/null +++ b/src/rosado/processing/version.properties @@ -0,0 +1,5 @@ +rosado.processing.version.major=1 +rosado.processing.version.minor=1 +rosado.processing.version.incremental=0 +//rosado.processing.version.qualifier=master +rosado.processing.version.interim=false diff --git a/test/music_as_data/test/core.clj b/test/music_as_data/test/core.clj new file mode 100644 index 0000000..25d17b5 --- /dev/null +++ b/test/music_as_data/test/core.clj @@ -0,0 +1,6 @@ +(ns music-as-data.test.core + (:use [music-as-data.core] :reload) + (:use [clojure.test])) + +(deftest replace-me ;; FIXME: write + (is false "No tests have been written."))