diff --git a/voicegardens/static/images/.DS_Store b/voicegardens/static/images/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/voicegardens/static/images/.DS_Store differ diff --git a/voicegardens/static/images/ABOUT-BW.png b/voicegardens/static/images/ABOUT-BW.png new file mode 100644 index 0000000..980c392 Binary files /dev/null and b/voicegardens/static/images/ABOUT-BW.png differ diff --git a/voicegardens/static/images/ABOUT-COLOR.png b/voicegardens/static/images/ABOUT-COLOR.png new file mode 100644 index 0000000..037e61e Binary files /dev/null and b/voicegardens/static/images/ABOUT-COLOR.png differ diff --git a/voicegardens/static/images/ABOUT-COLOUR.png b/voicegardens/static/images/ABOUT-COLOUR.png deleted file mode 100644 index c684a3e..0000000 Binary files a/voicegardens/static/images/ABOUT-COLOUR.png and /dev/null differ diff --git a/voicegardens/static/images/ABOUT-WHITE.png b/voicegardens/static/images/ABOUT-WHITE.png deleted file mode 100644 index 725ef9f..0000000 Binary files a/voicegardens/static/images/ABOUT-WHITE.png and /dev/null differ diff --git a/voicegardens/static/images/CHORUS-BW.png b/voicegardens/static/images/CHORUS-BW.png new file mode 100644 index 0000000..498c2f5 Binary files /dev/null and b/voicegardens/static/images/CHORUS-BW.png differ diff --git a/voicegardens/static/images/CHORUS-COLOR.png b/voicegardens/static/images/CHORUS-COLOR.png new file mode 100644 index 0000000..e349ec1 Binary files /dev/null and b/voicegardens/static/images/CHORUS-COLOR.png differ diff --git a/voicegardens/static/images/CHORUS-COLOUR.png b/voicegardens/static/images/CHORUS-COLOUR.png deleted file mode 100644 index 51c1203..0000000 Binary files a/voicegardens/static/images/CHORUS-COLOUR.png and /dev/null differ diff --git a/voicegardens/static/images/CHORUS-WHITE.png b/voicegardens/static/images/CHORUS-WHITE.png deleted file mode 100644 index bc39ab5..0000000 Binary files a/voicegardens/static/images/CHORUS-WHITE.png and /dev/null differ diff --git a/voicegardens/static/images/GARDEN-BW.png b/voicegardens/static/images/GARDEN-BW.png new file mode 100644 index 0000000..7f26271 Binary files /dev/null and b/voicegardens/static/images/GARDEN-BW.png differ diff --git a/voicegardens/static/images/GARDEN-COLOR.png b/voicegardens/static/images/GARDEN-COLOR.png new file mode 100644 index 0000000..003dad9 Binary files /dev/null and b/voicegardens/static/images/GARDEN-COLOR.png differ diff --git a/voicegardens/static/images/GARDEN-COLOUR.png b/voicegardens/static/images/GARDEN-COLOUR.png deleted file mode 100644 index bd8b39c..0000000 Binary files a/voicegardens/static/images/GARDEN-COLOUR.png and /dev/null differ diff --git a/voicegardens/static/images/GARDEN-WHITE.png b/voicegardens/static/images/GARDEN-WHITE.png deleted file mode 100644 index e01b682..0000000 Binary files a/voicegardens/static/images/GARDEN-WHITE.png and /dev/null differ diff --git a/voicegardens/static/images/PLAY-BW.png b/voicegardens/static/images/PLAY-BW.png new file mode 100644 index 0000000..299c1c4 Binary files /dev/null and b/voicegardens/static/images/PLAY-BW.png differ diff --git a/voicegardens/static/images/PLAY-COLOR.png b/voicegardens/static/images/PLAY-COLOR.png new file mode 100644 index 0000000..56028e9 Binary files /dev/null and b/voicegardens/static/images/PLAY-COLOR.png differ diff --git a/voicegardens/static/images/PLAY-COLOUR.png b/voicegardens/static/images/PLAY-COLOUR.png deleted file mode 100644 index 49c3feb..0000000 Binary files a/voicegardens/static/images/PLAY-COLOUR.png and /dev/null differ diff --git a/voicegardens/static/images/PLAY-WHITE.png b/voicegardens/static/images/PLAY-WHITE.png deleted file mode 100644 index b81839e..0000000 Binary files a/voicegardens/static/images/PLAY-WHITE.png and /dev/null differ diff --git a/voicegardens/static/images/RECORD-BW.png b/voicegardens/static/images/RECORD-BW.png new file mode 100644 index 0000000..7447453 Binary files /dev/null and b/voicegardens/static/images/RECORD-BW.png differ diff --git a/voicegardens/static/images/RECORD-COLOR.png b/voicegardens/static/images/RECORD-COLOR.png new file mode 100644 index 0000000..e72dcab Binary files /dev/null and b/voicegardens/static/images/RECORD-COLOR.png differ diff --git a/voicegardens/static/images/RECORD-COLOUR.png b/voicegardens/static/images/RECORD-COLOUR.png deleted file mode 100644 index 8c5c0ea..0000000 Binary files a/voicegardens/static/images/RECORD-COLOUR.png and /dev/null differ diff --git a/voicegardens/static/images/RECORD-WHITE.png b/voicegardens/static/images/RECORD-WHITE.png deleted file mode 100644 index 9aaeaaf..0000000 Binary files a/voicegardens/static/images/RECORD-WHITE.png and /dev/null differ diff --git a/voicegardens/static/images/STOP-BW.png b/voicegardens/static/images/STOP-BW.png new file mode 100644 index 0000000..ffb1cae Binary files /dev/null and b/voicegardens/static/images/STOP-BW.png differ diff --git a/voicegardens/static/images/STOP-COLOR.png b/voicegardens/static/images/STOP-COLOR.png new file mode 100644 index 0000000..0d906a3 Binary files /dev/null and b/voicegardens/static/images/STOP-COLOR.png differ diff --git a/voicegardens/static/images/STOP-COLOUR.png b/voicegardens/static/images/STOP-COLOUR.png deleted file mode 100644 index 8ed5cab..0000000 Binary files a/voicegardens/static/images/STOP-COLOUR.png and /dev/null differ diff --git a/voicegardens/static/images/STOP-WHITE.png b/voicegardens/static/images/STOP-WHITE.png deleted file mode 100644 index e0b54fc..0000000 Binary files a/voicegardens/static/images/STOP-WHITE.png and /dev/null differ diff --git a/voicegardens/static/p5js/p5.dom.js b/voicegardens/static/p5js/p5.dom.js new file mode 100644 index 0000000..b860b2d --- /dev/null +++ b/voicegardens/static/p5js/p5.dom.js @@ -0,0 +1,1028 @@ +/*! p5.dom.js v0.2.0 February 2, 2015 */ +/** + *
The web is much more than just canvas and p5.dom makes it easy to interact + * with other HTML5 objects, including text, hyperlink, image, input, video, + * audio, and webcam.
+ *There is a set of creation methods, DOM manipulation methods, and + * an extended p5.Element that supports a range of HTML elements. See the + * + * beyond the canvas tutorial for a full overview of how this addon works. + * + *
Methods and properties shown in black are part of the p5.js core, items in + * blue are part of the p5.dom library. You will need to include an extra file + * in order to access the blue functions. See the + * using a library + * section for information on how to include this library. p5.dom comes with + * p5 complete or you can download the single file + * + * here.
+ *See tutorial: beyond the canvas] + * for more info on how to use this libary. + * + * @module p5.dom + * @submodule p5.dom + * @for p5.dom + * @main + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) + define('p5.dom', ['p5'], function (p5) { (factory(p5));}); + else if (typeof exports === 'object') + factory(require('../p5')); + else + factory(root['p5']); +}(this, function (p5) { +// ============================================================================= +// p5 additions +// ============================================================================= + + /** + * Searches the page for an element with given ID and returns it as + * a p5.Element. The DOM node itself can be accessed with .elt. + * Returns null if none found. + * + * @method getElement + * @param {String} id id of element to search for + * @return {Object/p5.Element|Null} p5.Element containing node found + */ + p5.prototype.getElement = function (e) { + var res = document.getElementById(e); + if (res) { + return wrapElement(res); + } else { + return null; + } + }; + + /** + * Searches the page for elements with given class and returns an + * array of p5.Elements. The DOM nodes themselves can be accessed + * with .elt. Returns an empty array if none found. + * + * @method getElements + * @param {String} class class name of elements to search for + * @return {Array} array of p5.Element wrapped nodes found + */ + p5.prototype.getElements = function (e) { + var arr = []; + var res = document.getElementsByClassName(e); + if (res) { + for (var j = 0; j < res.length; j++) { + var obj = wrapElement(res[j]); + arr.push(obj); + } + } + return arr; + }; + + /** + * Helper function for getElement and getElements. + */ + function wrapElement(elt) { + if (elt.tagName === "VIDEO" || elt.tagName === "AUDIO") { + return new p5.MediaElement(elt); + } else { + return new p5.Element(elt); + } + } + + /** + * Removes all elements created by p5, except any canvas / graphics + * elements created by createCanvas or createGraphics. + * Event handlers are removed, and element is removed from the DOM. + * @method removeElements + * @example + *
+ * function setup() {
+ * createCanvas(100, 100);
+ * createDiv('this is some text');
+ * createP('this is a paragraph');
+ * }
+ * function mousePressed() {
+ * removeElements(); // this will remove the div and p, not canvas
+ * }
+ *
+ * var capture;
+ *
+ * function setup() {
+ * createCanvas(480, 120);
+ * capture = createCapture(VIDEO);
+ * }
+ *
+ * function draw() {
+ * image(capture, 0, 0, width, width*capture.height/capture.width);
+ * filter(INVERT);
+ * }
+ *
+ * function setup() {
+ * createCanvas(480, 120);
+ * var constraints = {
+ * video: {
+ * mandatory: {
+ * minWidth: 1280,
+ * minHeight: 720
+ * },
+ * optional: [
+ * { maxFrameRate: 10 }
+ * ]
+ * },
+ * audio: true
+ * };
+ * createCapture(constraints, function(stream) {
+ * console.log(stream);
+ * });
+ * }
+ *
+ * var div0 = createDiv('this is the parent');
+ * var div1 = createDiv('this is the child');
+ * div0.child(div1); // use p5.Element
+ *
+ *
+ * var div0 = createDiv('this is the parent');
+ * var div1 = createDiv('this is the child');
+ * div1.id('apples');
+ * div0.child('apples'); // use id
+ *
+ * var div0 = createDiv('this is the parent');
+ * var elt = document.getElementById('myChildDiv');
+ * div0.child(elt); // use element from page
+ *
+ * function setup() {
+ * var cnv = createCanvas(100, 100);
+ * // positions canvas 50px to right and 100px
+ * // below upper left corner of the window
+ * cnv.position(50, 100);
+ * }
+ *
+ * var myDiv = createDiv("I like pandas.");
+ * myDiv.style("color", "#ff0000");
+ * myDiv.style("font-size", "18px");
+ *
+ * var myDiv = createDiv("I like pandas.");
+ *myDiv.attribute("align", "center");
+ *
+ */
+ p5.Element.prototype.attribute = function(attr, value) {
+ if (typeof value === 'undefined') {
+ return this.elt.getAttribute(attr);
+ } else {
+ this.elt.setAttribute(attr, value);
+ return this;
+ }
+ };
+
+
+ /**
+ * Either returns the value of the element if no arguments
+ * given, or sets the value of the element.
+ *
+ * @method value
+ * @param {String|Number} [value]
+ * @return {String|p5.Element} value of element, if no value is
+ * specified or p5.Element
+ */
+ p5.Element.prototype.value = function() {
+ if (arguments.length > 0) {
+ this.elt.value = arguments[0];
+ return this;
+ } else {
+ if (this.elt.type === 'range') {
+ return parseFloat(this.elt.value);
+ }
+ else return this.elt.value;
+ }
+ };
+
+ /**
+ *
+ * Shows the current element. Essentially, setting display:block for the style.
+ *
+ * @method show
+ * @return {p5.Element}
+ */
+ p5.Element.prototype.show = function() {
+ this.elt.style.display = 'block';
+ return this;
+ };
+
+ /**
+ * Hides the current element. Essentially, setting display:none for the style.
+ *
+ * @method hide
+ * @return {p5.Element}
+ */
+ p5.Element.prototype.hide = function() {
+ this.elt.style.display = 'none';
+ return this;
+ };
+
+ /**
+ *
+ * Sets the width and height of the element. AUTO can be used to
+ * only adjust one dimension.
+ *
+ * @method size
+ * @param {Number} w width of the element
+ * @param {Number} h height of the element
+ * @return {p5.Element}
+ */
+ p5.Element.prototype.size = function(w, h) {
+ var aW = w;
+ var aH = h;
+ var AUTO = p5.prototype.AUTO;
+ if (aW !== AUTO || aH !== AUTO) {
+ if (aW === AUTO) {
+ aW = h * this.width / this.height;
+ } else if (aH === AUTO) {
+ aH = w * this.height / this.width;
+ }
+ // set diff for cnv vs normal div
+ if (this.elt instanceof HTMLCanvasElement) {
+ var j = {};
+ var k = this.elt.getContext('2d');
+ for (var prop in k) {
+ j[prop] = k[prop];
+ }
+ this.elt.setAttribute('width', aW * this._pInst._pixelDensity);
+ this.elt.setAttribute('height', aH * this._pInst._pixelDensity);
+ this.elt.setAttribute('style', 'width:' + aW + 'px !important; height:' + aH + 'px !important;');
+ this._pInst.scale(this._pInst._pixelDensity, this._pInst._pixelDensity);
+ for (var prop in j) {
+ this.elt.getContext('2d')[prop] = j[prop];
+ }
+ } else {
+ this.elt.style.width = aW+'px !important';
+ this.elt.style.height = aH+'px !important';
+ this.elt.width = aW;
+ this.elt.height = aH;
+ }
+ this.elt.style.overflow = 'hidden';
+ this.width = this.elt.offsetWidth;
+ this.height = this.elt.offsetHeight;
+
+ if (this._pInst) { // main canvas associated with p5 instance
+ if (this._pInst._curElement.elt === this.elt) {
+ this._pInst._setProperty('width', this.elt.offsetWidth);
+ this._pInst._setProperty('height', this.elt.offsetHeight);
+ }
+ }
+ }
+ return this;
+ };
+
+ /**
+ * Removes the element and deregisters all listeners.
+ * @method remove
+ * @example
+ *
+ * var myDiv = createDiv('this is some text');
+ * myDiv.remove();
+ *