diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-07-14 11:25:59 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-07-14 11:25:59 -0400 |
| commit | 3aac2d44b49d28c4a3e99d74d6d7769e985c2d02 (patch) | |
| tree | a5227bb32efd4e43920d15590a3669ff418e44ef /public/assets/javascripts/rectangles/engine/scenery | |
| parent | 1826bed806b079c6e44703a4e5f424b7aed7bd96 (diff) | |
play button
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/scenery')
4 files changed, 25 insertions, 94 deletions
diff --git a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js index b7e7892..1493fc6 100644 --- a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js +++ b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js @@ -20,15 +20,9 @@ var Scenery = new function(){ break case 'video': - scene_media = new Scenery.types.video ({ media: media, wall: wall, id: id }) - break - case 'youtube': - scene_media = new Scenery.types.youtube ({ media: media, wall: wall, id: id }) - break - case 'vimeo': - scene_media = new Scenery.types.vimeo ({ media: media, wall: wall, id: id }) + scene_media = new Scenery.types.video ({ media: media, wall: wall, id: id }) break } diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/video.js b/public/assets/javascripts/rectangles/engine/scenery/types/video.js index a9fce4a..6117826 100644 --- a/public/assets/javascripts/rectangles/engine/scenery/types/video.js +++ b/public/assets/javascripts/rectangles/engine/scenery/types/video.js @@ -14,7 +14,18 @@ Scenery.types.video = Scenery.types.base.extend(function(base){ }, build: function(){ - this.mx = new MX.Video({ + switch (this.media.type) { + case 'video': + this.mxType = MX.Video + break + case 'vimeo': + this.mxType = MX.Vimeo + break + case 'youtube': + this.mxType = MX.Youtube + break + } + this.mx = new this.mxType({ media: this.media, scale: this.scale, y: this.scale * this.media.height/2, @@ -31,6 +42,18 @@ Scenery.types.video = Scenery.types.base.extend(function(base){ this.mx.pause() }, + toggle: function(shouldPause){ + if (typeof shouldPause === "undefined") { + shouldPause = ! this.mx.paused + } + shouldPause ? this.mx.pause() : this.mx.play() + return shouldPause + }, + + paused: function(){ + return this.mx.paused + }, + seek: function(n){ this.mx.seek(n) }, diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/vimeo.js b/public/assets/javascripts/rectangles/engine/scenery/types/vimeo.js deleted file mode 100644 index ded5f87..0000000 --- a/public/assets/javascripts/rectangles/engine/scenery/types/vimeo.js +++ /dev/null @@ -1,49 +0,0 @@ - -Scenery.types.vimeo = Scenery.types.base.extend(function(base){ - - var exports = { - - init: function(opt){ - base.init.call(this, opt) - this.scale = this.media.scale = 300 / max(300, this.media.width) - - this.build() - this.bind() - this.set_wall() - this.recenter() - }, - - build: function(){ - this.mx = new MX.Vimeo({ - media: this.media, - scale: this.scale, - y: this.scale * this.media.height/2, - backface: false, - }) - scene.add( this.mx ) - }, - - play: function(){ - this.mx.play() - }, - - pause: function(){ - this.mx.pause() - }, - - seek: function(n){ - this.mx.seek(n) - }, - - serialize: function(){ - var data = base.serialize.call(this) - return data - }, - - deserialize: function(data){ - this.mx.move(data.position) - }, - } - - return exports -}) diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/youtube.js b/public/assets/javascripts/rectangles/engine/scenery/types/youtube.js deleted file mode 100644 index 25d8485..0000000 --- a/public/assets/javascripts/rectangles/engine/scenery/types/youtube.js +++ /dev/null @@ -1,37 +0,0 @@ - -Scenery.types.youtube = Scenery.types.base.extend(function(base){ - - var exports = { - - init: function(opt){ - base.init.call(this, opt) - this.scale = this.media.scale = 300 / max(300, this.media.width) - - this.build() - this.bind() - this.set_wall() - this.recenter() - }, - - build: function(){ - this.mx = new MX.Youtube({ - media: this.media, - scale: this.scale, - y: this.scale * this.media.height/2, - backface: false, - }) - scene.add( this.mx ) - }, - - serialize: function(){ - var data = base.serialize.call(this) - return data - }, - - deserialize: function(data){ - this.mx.move(data.position) - }, - } - - return exports -}) |
