Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

T1911 #754

Merged
merged 2 commits into from

4 participants

David Seifried Jon Buckley butterbot Matthew Schranz
David Seifried
Owner

No description provided.

Jon Buckley
Owner

/botio check

butterbot
Owner

From: Bot.io (butyr.org)


Received

Command cmd_check from @jbuck received. Current queue size: 0

Live output at: http://botio.butyr.org:8000/bb978d1de7d42b9/output.txt

Jon Buckley
Owner

/botio preview

butterbot
Owner

From: Bot.io (butyr.org)


Received

Command cmd_preview from @jbuck received. Current queue size: 1

Live output at: http://botio.butyr.org:8000/3c16a5c5cb01b66/output.txt

butterbot
Owner

From: Bot.io (butyr.org)


Failed

Full output at http://botio.butyr.org:8000/bb978d1de7d42b9/output.txt

Total script time: 0.65 mins

butterbot
Owner

From: Bot.io (butyr.org)


Success

Full output at http://botio.butyr.org:8000/3c16a5c5cb01b66/output.txt

Total script time: 0.92 mins

Server is running on http://pr754.butyr.org/templates/basic/

Jon Buckley
Owner

/botio check

butterbot
Owner

From: Bot.io (butyr.org)


Received

Command cmd_check from @jbuck received. Current queue size: 0

Live output at: http://botio.butyr.org:8000/4c0d8e490ade9c4/output.txt

butterbot
Owner

From: Bot.io (butyr.org)


Success

Full output at http://botio.butyr.org:8000/4c0d8e490ade9c4/output.txt

Total script time: 0.96 mins

templates/assets/plugins/stop/popcorn.stop.js
@@ -0,0 +1,46 @@
+(function( Popcorn ) {
+ Popcorn.plugin( "stop", function() {
+ var _this = this;
+ return {
+ _setup: function( options ) {
+ options.toString = function() {
+ return "Stop " + ( options.duration > 0 ? options.duration : "forever" );
+ };
+ },
+ start: function( event, options ) {
+ this.pause();
Jon Buckley Owner
jbuck added a note

_this?

David Seifried Owner
dseif added a note

I only need _this for inside the setTimeout, otherwise I just use this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
templates/assets/plugins/stop/popcorn.stop.js
((3 lines not shown))
+ var _this = this;
+ return {
+ _setup: function( options ) {
+ options.toString = function() {
+ return "Stop " + ( options.duration > 0 ? options.duration : "forever" );
+ };
+ },
+ start: function( event, options ) {
+ this.pause();
+ if ( +options.duration > 0 ) {
+ setTimeout(function() {
+ _this.play();
+ }, options.duration * 1000 );
+ }
+ },
+ end: function( event, options ) {
Jon Buckley Owner
jbuck added a note

Is it possible to remove this empty end() function?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
templates/basic/config.json
@@ -36,7 +40,8 @@
"zoink",
"googlemap",
"twitter",
- "image"
+ "image",
+ "pause"
Jon Buckley Owner
jbuck added a note

Shouldn't this be "stop" to match with above?

David Seifried Owner
dseif added a note
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Jon Buckley jbuck commented on the diff
templates/assets/plugins/stop/popcorn.stop.js
((7 lines not shown))
+ this.off( "seeked", _seekedFunc );
+ };
+ return {
+ _setup: function( options ) {
+ options.toString = function() {
+ return "Stop " + ( options.duration > 0 ? options.duration : "forever" );
+ };
+ },
+ start: function( event, options ) {
+ // we need to add this on start as well because we can run into a race condition where 'seeked' is fired before
+ // end is fired, or vice versa
+ this.on( "seeked", _seekedFunc );
+ this.pause();
+ if ( +options.duration > 0 ) {
+ _timeout = setTimeout(function() {
+ _this.play();
Jon Buckley Owner
jbuck added a note

Add a this.off( ... ) call here too so that the normal case doesn't leak.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
templates/assets/plugins/stop/popcorn.stop.js
((39 lines not shown))
+ "label": "In"
+ },
+ "end": {
+ "elem": "input",
+ "type": "text",
+ "label": "Out"
+ },
+ "duration": {
+ "elem": "input",
+ "type": "number",
+ "label": "Pause Duration (0 = forever)",
+ "units": "seconds",
+ "default": "0"
+ },
+ "target": {
+ "default": "overlay"
Matthew Schranz Owner

remove this and change it to

hidden: true

The plugin itself doesn't use a target, and having this here would confuse the user when a target list is appearing in the editor.

David Seifried Owner
dseif added a note

ah good call, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/editor/default.js
((5 lines not shown))
}
}
}, null, optionsContainer, null, [ "target" ] );
- targetList = _this.createTargetsList( _targets );
- selectElement = targetList.querySelector( "select" );
- // Attach the onchange handler to trackEvent is updated when <select> is changed
- _this.attachSelectChangeHandler( selectElement, trackEvent, "target" );
- optionsContainer.appendChild( targetList );
+ if ( trackEvent.manifest.options.target[ "default" ] !== "hidden" ) {
Matthew Schranz Owner

you mistook my comment for how I wanted it defined :( See below

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
templates/assets/plugins/repeat/popcorn.repeat.js
@@ -40,7 +39,7 @@
"label": "Out"
},
"target": {
- "default": "overlay"
+ "default": "hidden"
Matthew Schranz Owner

You don't really want the default here. You just need to specify if you want the target manifest ignored completely.

target: {
  hidden: true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Matthew Schranz
Owner

/botio check

butterbot
Owner

From: Bot.io (butyr.org)


Received

Command cmd_check from @mjschranz received. Current queue size: 0

Live output at: http://botio.butyr.org:8000/7b0b37193f8c45e/output.txt

butterbot
Owner

From: Bot.io (butyr.org)


Success

Full output at http://botio.butyr.org:8000/7b0b37193f8c45e/output.txt

Total script time: 1.30 mins

Matthew Schranz
Owner

/botio preview

butterbot
Owner

From: Bot.io (butyr.org)


Received

Command cmd_preview from @mjschranz received. Current queue size: 0

Live output at: http://botio.butyr.org:8000/4fb866ceb0a978d/output.txt

butterbot
Owner

From: Bot.io (butyr.org)


Success

Full output at http://botio.butyr.org:8000/4fb866ceb0a978d/output.txt

Total script time: 0.66 mins

Server is running on http://pr754.butyr.org/templates/basic/
Run the Test Suite: http://pr754.butyr.org/test/

David Seifried dseif merged commit 1cb311f into from
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Aug 16, 2012
  1. David Seifried

    [#1911] Pause plugin

    dseif authored
  2. David Seifried
This page is out of date. Refresh to see the latest.
15 src/editor/default.js
View
@@ -76,16 +76,17 @@ define( [ "text!./default.html", "editor/editor" ],
else {
_this.attachInputChangeHandler( element, trackEvent, name, updateTrackEvent );
}
-
}
}
}, null, optionsContainer, null, [ "target" ] );
- targetList = _this.createTargetsList( _targets );
- selectElement = targetList.querySelector( "select" );
- // Attach the onchange handler to trackEvent is updated when <select> is changed
- _this.attachSelectChangeHandler( selectElement, trackEvent, "target" );
- optionsContainer.appendChild( targetList );
+ if ( !trackEvent.manifest.options.target.hidden ) {
+ targetList = _this.createTargetsList( _targets );
+ selectElement = targetList.querySelector( "select" );
+ // Attach the onchange handler to trackEvent is updated when <select> is changed
+ _this.attachSelectChangeHandler( selectElement, trackEvent, "target" );
+ optionsContainer.appendChild( targetList );
+ }
_this.updatePropertiesFromManifest( trackEvent, null, true );
@@ -95,7 +96,7 @@ define( [ "text!./default.html", "editor/editor" ],
_messageContainer.parentNode.addEventListener( "oTransitionEnd", _this.scrollbar.update, false );
_messageContainer.parentNode.addEventListener( "webkitTransitionEnd", _this.scrollbar.update, false );
}
-
+
_this.scrollbar.update();
3  templates/assets/plugins/repeat/popcorn.repeat.js
View
@@ -17,7 +17,6 @@
}
if ( options.count > 0 || +options.loop === 0 ) {
this.currentTime( options.start );
-
if ( options.loop ) {
options.count--;
}
@@ -40,7 +39,7 @@
"label": "Out"
},
"target": {
- "default": "overlay"
+ "hidden": true
},
"loop": {
"label": "Number of loops (0 = forever)",
58 templates/assets/plugins/stop/popcorn.stop.js
View
@@ -0,0 +1,58 @@
+(function( Popcorn ) {
+ Popcorn.plugin( "stop", function() {
+ var _this = this,
+ _timeout,
+ _seekedFunc = function() {
+ _timeout && clearTimeout( _timeout );
+ this.off( "seeked", _seekedFunc );
+ };
+ return {
+ _setup: function( options ) {
+ options.toString = function() {
+ return "Stop " + ( options.duration > 0 ? options.duration : "forever" );
+ };
+ },
+ start: function( event, options ) {
+ // we need to add this on start as well because we can run into a race condition where 'seeked' is fired before
+ // end is fired, or vice versa
+ this.on( "seeked", _seekedFunc );
+ this.pause();
+ if ( +options.duration > 0 ) {
+ _timeout = setTimeout(function() {
+ _this.play();
Jon Buckley Owner
jbuck added a note

Add a this.off( ... ) call here too so that the normal case doesn't leak.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ _this.off( "seeked", _seekedFunc );
+ }, options.duration * 1000 );
+ }
+ },
+ end: function( event, options ) {
+ // we need to add this on end instead of start because when seeking outside of an active trackevent,
+ // end automatically gets fired
+ this.on( "seeked", _seekedFunc );
+ }
+ };
+ },
+ {
+ "options": {
+ "start": {
+ "elem": "input",
+ "type": "text",
+ "label": "In"
+ },
+ "end": {
+ "elem": "input",
+ "type": "text",
+ "label": "Out"
+ },
+ "duration": {
+ "elem": "input",
+ "type": "number",
+ "label": "Pause Duration (0 = forever)",
+ "units": "seconds",
+ "default": "0"
+ },
+ "target": {
+ "hidden": true
+ }
+ }
+ });
+}( Popcorn ));
7 templates/basic/config.json
View
@@ -32,6 +32,10 @@
{
"type": "repeat",
"path": "{{baseDir}}templates/assets/plugins/repeat/popcorn.repeat.js"
+ },
+ {
+ "type": "stop",
+ "path": "{{baseDir}}templates/assets/plugins/stop/popcorn.stop.js"
}
],
"defaults": [
@@ -41,7 +45,8 @@
"googlemap",
"twitter",
"image",
- "repeat"
+ "repeat",
+ "stop"
]
},
"editor": {
Something went wrong with that request. Please try again.