fix

parent 138faf49
$(document).ready(function() { $(document).ready(function() {
$.parallaxify(); $.parallaxify();
$(".player").mb_YTPlayer(); // $(".player").mb_YTPlayer();
$("a.scrollto").mPageScroll2id(); $("a.scrollto").mPageScroll2id();
......
...@@ -50,8 +50,8 @@ var getYTPVideoID = function( url ) { ...@@ -50,8 +50,8 @@ var getYTPVideoID = function( url ) {
jQuery.mbYTPlayer = { jQuery.mbYTPlayer = {
name: "jquery.mb.YTPlayer", name: "jquery.mb.YTPlayer",
version: "2.9.11", version: "3.0.1",
build: "5800", build: "5763",
author: "Matteo Bicocchi", author: "Matteo Bicocchi",
apiKey: "", apiKey: "",
defaults: { defaults: {
...@@ -64,6 +64,7 @@ var getYTPVideoID = function( url ) { ...@@ -64,6 +64,7 @@ var getYTPVideoID = function( url ) {
autoPlay: true, autoPlay: true,
vol: 50, // 1 to 100 vol: 50, // 1 to 100
addRaster: false, addRaster: false,
mask: false,
opacity: 1, opacity: 1,
quality: "default", //or “small”, “medium”, “large”, “hd720”, “hd1080”, “highres” quality: "default", //or “small”, “medium”, “large”, “hd720”, “hd1080”, “highres”
mute: false, mute: false,
...@@ -77,7 +78,9 @@ var getYTPVideoID = function( url ) { ...@@ -77,7 +78,9 @@ var getYTPVideoID = function( url ) {
optimizeDisplay: true, optimizeDisplay: true,
onReady: function( player ) {} onReady: function( player ) {}
}, },
/* @fontface icons */ /**
* @fontface icons
* */
controls: { controls: {
play: "P", play: "P",
pause: "p", pause: "p",
...@@ -88,6 +91,44 @@ var getYTPVideoID = function( url ) { ...@@ -88,6 +91,44 @@ var getYTPVideoID = function( url ) {
ytLogo: "Y" ytLogo: "Y"
}, },
locationProtocol: "https:", locationProtocol: "https:",
filters: {
grayscale: {
value: 0,
unit: "%"
},
hue_rotate: {
value: 0,
unit: "deg"
},
invert: {
value: 0,
unit: "%"
},
opacity: {
value: 0,
unit: "%"
},
saturate: {
value: 0,
unit: "%"
},
sepia: {
value: 0,
unit: "%"
},
brightness: {
value: 0,
unit: "%"
},
contrast: {
value: 0,
unit: "%"
},
blur: {
value: 0,
unit: "px"
}
},
/** /**
* *
* @param options * @param options
...@@ -100,45 +141,9 @@ var getYTPVideoID = function( url ) { ...@@ -100,45 +141,9 @@ var getYTPVideoID = function( url ) {
YTPlayer.loop = 0; YTPlayer.loop = 0;
YTPlayer.opt = {}; YTPlayer.opt = {};
YTPlayer.state = {}; YTPlayer.state = {};
YTPlayer.filters = jQuery.mbYTPlayer.filters;
YTPlayer.filtersEnabled = true; YTPlayer.filtersEnabled = true;
YTPlayer.filters = { YTPlayer.id = YTPlayer.id || "YTP_" + new Date().getTime();
grayscale: {
value: 0,
unit: "%"
},
hue_rotate: {
value: 0,
unit: "deg"
},
invert: {
value: 0,
unit: "%"
},
opacity: {
value: 0,
unit: "%"
},
saturate: {
value: 0,
unit: "%"
},
sepia: {
value: 0,
unit: "%"
},
brightness: {
value: 0,
unit: "%"
},
contrast: {
value: 0,
unit: "%"
},
blur: {
value: 0,
unit: "px"
}
};
$YTPlayer.addClass( "mb_YTPlayer" ); $YTPlayer.addClass( "mb_YTPlayer" );
var property = $YTPlayer.data( "property" ) && typeof $YTPlayer.data( "property" ) == "string" ? eval( '(' + $YTPlayer.data( "property" ) + ')' ) : $YTPlayer.data( "property" ); var property = $YTPlayer.data( "property" ) && typeof $YTPlayer.data( "property" ) == "string" ? eval( '(' + $YTPlayer.data( "property" ) + ')' ) : $YTPlayer.data( "property" );
if( typeof property != "undefined" && typeof property.vol != "undefined" ) property.vol = property.vol === 0 ? property.vol = 1 : property.vol; if( typeof property != "undefined" && typeof property.vol != "undefined" ) property.vol = property.vol === 0 ? property.vol = 1 : property.vol;
...@@ -147,7 +152,6 @@ var getYTPVideoID = function( url ) { ...@@ -147,7 +152,6 @@ var getYTPVideoID = function( url ) {
if( !YTPlayer.hasChanged ) { if( !YTPlayer.hasChanged ) {
YTPlayer.defaultOpt = {}; YTPlayer.defaultOpt = {};
// jQuery.extend( YTPlayer.defaultOpt, jQuery.mbYTPlayer.defaults, options, property );
jQuery.extend( YTPlayer.defaultOpt, jQuery.mbYTPlayer.defaults, options ); jQuery.extend( YTPlayer.defaultOpt, jQuery.mbYTPlayer.defaults, options );
} }
...@@ -319,6 +323,7 @@ var getYTPVideoID = function( url ) { ...@@ -319,6 +323,7 @@ var getYTPVideoID = function( url ) {
videoId: YTPlayer.videoID.toString(), videoId: YTPlayer.videoID.toString(),
height: '100%', height: '100%',
width: '100%', width: '100%',
playerVars: playerVars,
events: { events: {
'onReady': function( event ) { 'onReady': function( event ) {
YTPlayer.player = event.target; YTPlayer.player = event.target;
...@@ -348,7 +353,7 @@ var getYTPVideoID = function( url ) { ...@@ -348,7 +353,7 @@ var getYTPVideoID = function( url ) {
$YTPlayer.optimizeDisplay(); $YTPlayer.optimizeDisplay();
YTPlayer.videoID = videoID; YTPlayer.videoID = videoID;
jQuery( window ).off( "resize.YTP" ).on( "resize.YTP", function() { jQuery( window ).off( "resize.YTP_" + YTPlayer.id ).on( "resize.YTP_" + YTPlayer.id, function() {
$YTPlayer.optimizeDisplay(); $YTPlayer.optimizeDisplay();
} ); } );
...@@ -379,6 +384,7 @@ var getYTPVideoID = function( url ) { ...@@ -379,6 +384,7 @@ var getYTPVideoID = function( url ) {
} }
YTPlayer.state = state; YTPlayer.state = state;
var eventType; var eventType;
switch( state ) { switch( state ) {
case -1: //----------------------------------------------- unstarted case -1: //----------------------------------------------- unstarted
...@@ -390,19 +396,19 @@ var getYTPVideoID = function( url ) { ...@@ -390,19 +396,19 @@ var getYTPVideoID = function( url ) {
case 1: //------------------------------------------------ play case 1: //------------------------------------------------ play
eventType = "YTPPlay"; eventType = "YTPPlay";
if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.pause ); if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.pause );
if( typeof _gaq != "undefined" && eval( YTPlayer.opt.gaTrack ) ) _gaq.push( [ '_trackEvent', 'YTPlayer', 'Play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) ] ); if( typeof _gaq != "undefined" && eval( YTPlayer.opt.gaTrack ) ) _gaq.push( [ '_trackEvent', 'YTPlayer', 'Play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) ] );
if( typeof ga != "undefined" && eval( YTPlayer.opt.gaTrack ) ) ga( 'send', 'event', 'YTPlayer', 'play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) ); if( typeof ga != "undefined" && eval( YTPlayer.opt.gaTrack ) ) ga( 'send', 'event', 'YTPlayer', 'play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) );
break; break;
case 2: //------------------------------------------------ pause case 2: //------------------------------------------------ pause
eventType = "YTPPause"; eventType = "YTPPause";
if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play ); if( YTPlayer.controlBar )
YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play );
break; break;
case 3: //------------------------------------------------ buffer case 3: //------------------------------------------------ buffer
YTPlayer.player.setPlaybackQuality( YTPlayer.opt.quality ); YTPlayer.player.setPlaybackQuality( YTPlayer.opt.quality );
eventType = "YTPBuffering"; eventType = "YTPBuffering";
if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play ); if( YTPlayer.controlBar )
YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play );
break; break;
case 5: //------------------------------------------------ cued case 5: //------------------------------------------------ cued
eventType = "YTPCued"; eventType = "YTPCued";
...@@ -440,7 +446,12 @@ var getYTPVideoID = function( url ) { ...@@ -440,7 +446,12 @@ var getYTPVideoID = function( url ) {
} }
} ); } );
} ); } );
} ) } );
$YTPlayer.off( "YTPTime.mask" );
jQuery.mbYTPlayer.applyMask( YTPlayer );
} ); } );
}, },
/** /**
...@@ -588,6 +599,12 @@ var getYTPVideoID = function( url ) { ...@@ -588,6 +599,12 @@ var getYTPVideoID = function( url ) {
*/ */
playNext: function() { playNext: function() {
var YTPlayer = this.get( 0 ); var YTPlayer = this.get( 0 );
if( YTPlayer.checkForStartAt ) {
clearTimeout( YTPlayer.checkForStartAt );
clearInterval( YTPlayer.getState );
}
YTPlayer.videoCounter++; YTPlayer.videoCounter++;
if( YTPlayer.videoCounter >= YTPlayer.videoLength ) YTPlayer.videoCounter = 0; if( YTPlayer.videoCounter >= YTPlayer.videoLength ) YTPlayer.videoCounter = 0;
jQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] ); jQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] );
...@@ -599,6 +616,12 @@ var getYTPVideoID = function( url ) { ...@@ -599,6 +616,12 @@ var getYTPVideoID = function( url ) {
*/ */
playPrev: function() { playPrev: function() {
var YTPlayer = this.get( 0 ); var YTPlayer = this.get( 0 );
if( YTPlayer.checkForStartAt ) {
clearInterval( YTPlayer.checkForStartAt );
clearInterval( YTPlayer.getState );
}
YTPlayer.videoCounter--; YTPlayer.videoCounter--;
if( YTPlayer.videoCounter < 0 ) YTPlayer.videoCounter = YTPlayer.videoLength - 1; if( YTPlayer.videoCounter < 0 ) YTPlayer.videoCounter = YTPlayer.videoLength - 1;
jQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] ); jQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] );
...@@ -610,15 +633,18 @@ var getYTPVideoID = function( url ) { ...@@ -610,15 +633,18 @@ var getYTPVideoID = function( url ) {
*/ */
changeMovie: function( opt ) { changeMovie: function( opt ) {
var YTPlayer = this.get( 0 ); var $YTPlayer = this;
var YTPlayer = $YTPlayer.get( 0 );
YTPlayer.opt.startAt = 0; YTPlayer.opt.startAt = 0;
YTPlayer.opt.stopAt = 0; YTPlayer.opt.stopAt = 0;
YTPlayer.opt.mask = false;
YTPlayer.opt.mute = true; YTPlayer.opt.mute = true;
YTPlayer.hasData = false; YTPlayer.hasData = false;
YTPlayer.hasChanged = true; YTPlayer.hasChanged = true;
YTPlayer.player.loopTime = undefined; YTPlayer.player.loopTime = undefined;
if( opt ) jQuery.extend( YTPlayer.opt, YTPlayer.defaultOpt, opt ); if( opt )
jQuery.extend( YTPlayer.opt, opt ); //YTPlayer.defaultOpt,
YTPlayer.videoID = getYTPVideoID( YTPlayer.opt.videoURL ).videoID; YTPlayer.videoID = getYTPVideoID( YTPlayer.opt.videoURL ).videoID;
if( YTPlayer.opt.loop == "true" ) if( YTPlayer.opt.loop == "true" )
...@@ -638,8 +664,10 @@ var getYTPVideoID = function( url ) { ...@@ -638,8 +664,10 @@ var getYTPVideoID = function( url ) {
jQuery.mbYTPlayer.checkForState( YTPlayer ); jQuery.mbYTPlayer.checkForState( YTPlayer );
jQuery.mbYTPlayer.getDataFromAPI( YTPlayer ); jQuery.mbYTPlayer.getDataFromAPI( YTPlayer );
return this;
} ); } );
jQuery.mbYTPlayer.applyMask( YTPlayer );
}, },
/** /**
* *
...@@ -651,7 +679,7 @@ var getYTPVideoID = function( url ) { ...@@ -651,7 +679,7 @@ var getYTPVideoID = function( url ) {
playerDestroy: function() { playerDestroy: function() {
var YTPlayer = this.get( 0 ); var YTPlayer = this.get( 0 );
ytp.YTAPIReady = false; ytp.YTAPIReady = true;
ytp.backgroundIsInited = false; ytp.backgroundIsInited = false;
YTPlayer.isInit = false; YTPlayer.isInit = false;
YTPlayer.videoID = null; YTPlayer.videoID = null;
...@@ -662,6 +690,7 @@ var getYTPVideoID = function( url ) { ...@@ -662,6 +690,7 @@ var getYTPVideoID = function( url ) {
clearInterval( YTPlayer.getState ); clearInterval( YTPlayer.getState );
return this; return this;
}, },
/** /**
* *
* @param real * @param real
...@@ -683,7 +712,7 @@ var getYTPVideoID = function( url ) { ...@@ -683,7 +712,7 @@ var getYTPVideoID = function( url ) {
YTPlayer.isAlone = false; YTPlayer.isAlone = false;
fullScreenBtn.html( jQuery.mbYTPlayer.controls.onlyYT ); fullScreenBtn.html( jQuery.mbYTPlayer.controls.onlyYT );
jQuery( YTPlayer ).YTPSetVideoQuality( YTPlayer.opt.quality ); jQuery( YTPlayer ).YTPSetVideoQuality( YTPlayer.opt.quality );
videoWrapper.removeClass( "fullscreen" ); videoWrapper.removeClass( "YTPFullscreen" );
videoWrapper.CSSAnimate( { videoWrapper.CSSAnimate( {
opacity: YTPlayer.opt.opacity opacity: YTPlayer.opt.opacity
}, 500 ); }, 500 );
...@@ -721,7 +750,7 @@ var getYTPVideoID = function( url ) { ...@@ -721,7 +750,7 @@ var getYTPVideoID = function( url ) {
videoWrapper.css( { videoWrapper.css( {
opacity: 0 opacity: 0
} ); } );
videoWrapper.addClass( "fullscreen" ); videoWrapper.addClass( "YTPFullscreen" );
launchFullscreen( videoWrapper.get( 0 ) ); launchFullscreen( videoWrapper.get( 0 ) );
setTimeout( function() { setTimeout( function() {
videoWrapper.CSSAnimate( { videoWrapper.CSSAnimate( {
...@@ -940,10 +969,12 @@ var getYTPVideoID = function( url ) { ...@@ -940,10 +969,12 @@ var getYTPVideoID = function( url ) {
* @returns {jQuery.mbYTPlayer} * @returns {jQuery.mbYTPlayer}
*/ */
applyFilter: function( filter, value ) { applyFilter: function( filter, value ) {
var YTPlayer = this.get( 0 ); return this.each( function() {
YTPlayer.filters[ filter ].value = value; var YTPlayer = this;
if( YTPlayer.filtersEnabled ) this.YTPEnableFilters(); YTPlayer.filters[ filter ].value = value;
return this; if( YTPlayer.filtersEnabled )
jQuery( YTPlayer ).YTPEnableFilters();
} );
}, },
/** /**
* *
...@@ -951,15 +982,20 @@ var getYTPVideoID = function( url ) { ...@@ -951,15 +982,20 @@ var getYTPVideoID = function( url ) {
* @returns {jQuery.mbYTPlayer} * @returns {jQuery.mbYTPlayer}
*/ */
applyFilters: function( filters ) { applyFilters: function( filters ) {
var YTPlayer = this.get( 0 ); return this.each( function() {
this.on( "YTPReady", function() { var YTPlayer = this;
for( var key in filters ) { if( !YTPlayer.isReady ) {
YTPlayer.filters[ key ].value = filters[ key ]; jQuery( YTPlayer ).on( "YTPReady", function() {
jQuery( YTPlayer ).YTPApplyFilter( key, filters[ key ] ); jQuery( YTPlayer ).YTPApplyFilters( filters );
} );
return;
} }
for( var key in filters )
jQuery( YTPlayer ).YTPApplyFilter( key, filters[ key ] );
jQuery( YTPlayer ).trigger( "YTPFiltersApplied" ); jQuery( YTPlayer ).trigger( "YTPFiltersApplied" );
} ); } );
return this;
}, },
/** /**
* *
...@@ -973,8 +1009,7 @@ var getYTPVideoID = function( url ) { ...@@ -973,8 +1009,7 @@ var getYTPVideoID = function( url ) {
if( !YTPlayer.filters[ filter ].value ) YTPlayer.filters[ filter ].value = value; if( !YTPlayer.filters[ filter ].value ) YTPlayer.filters[ filter ].value = value;
else YTPlayer.filters[ filter ].value = 0; else YTPlayer.filters[ filter ].value = 0;
if( YTPlayer.filtersEnabled ) jQuery( this ).YTPEnableFilters(); if( YTPlayer.filtersEnabled ) jQuery( this ).YTPEnableFilters();
} ) } );
return this;
}, },
/** /**
* *
...@@ -991,7 +1026,8 @@ var getYTPVideoID = function( url ) { ...@@ -991,7 +1026,8 @@ var getYTPVideoID = function( url ) {
jQuery( YTPlayer ).YTPEnableFilters(); jQuery( YTPlayer ).YTPEnableFilters();
jQuery( YTPlayer ).trigger( "YTPEnableFilters" ); jQuery( YTPlayer ).trigger( "YTPEnableFilters" );
} }
if( typeof callback == "function" ) callback( YTPlayer.filtersEnabled ); if( typeof callback == "function" )
callback( YTPlayer.filtersEnabled );
} ) } )
}, },
/** /**
...@@ -1017,13 +1053,13 @@ var getYTPVideoID = function( url ) { ...@@ -1017,13 +1053,13 @@ var getYTPVideoID = function( url ) {
var iframe = jQuery( YTPlayer.playerEl ); var iframe = jQuery( YTPlayer.playerEl );
var filterStyle = ""; var filterStyle = "";
for( var key in YTPlayer.filters ) { for( var key in YTPlayer.filters ) {
if( YTPlayer.filters[ key ].value ) filterStyle += key.replace( "_", "-" ) + "(" + YTPlayer.filters[ key ].value + YTPlayer.filters[ key ].unit + ") "; if( YTPlayer.filters[ key ].value )
filterStyle += key.replace( "_", "-" ) + "(" + YTPlayer.filters[ key ].value + YTPlayer.filters[ key ].unit + ") ";
} }
iframe.css( "-webkit-filter", filterStyle ); iframe.css( "-webkit-filter", filterStyle );
iframe.css( "filter", filterStyle ); iframe.css( "filter", filterStyle );
YTPlayer.filtersEnabled = true; YTPlayer.filtersEnabled = true;
} ) } );
return this;
}, },
/** /**
* *
...@@ -1033,11 +1069,11 @@ var getYTPVideoID = function( url ) { ...@@ -1033,11 +1069,11 @@ var getYTPVideoID = function( url ) {
*/ */
removeFilter: function( filter, callback ) { removeFilter: function( filter, callback ) {
return this.each( function() { return this.each( function() {
var YTPlayer = this;
if( typeof filter == "function" ) { if( typeof filter == "function" ) {
callback = filter; callback = filter;
filter = null; filter = null;
} }
var YTPlayer = this;
if( !filter ) if( !filter )
for( var key in YTPlayer.filters ) { for( var key in YTPlayer.filters ) {
jQuery( this ).YTPApplyFilter( key, 0 ); jQuery( this ).YTPApplyFilter( key, 0 );
...@@ -1047,7 +1083,109 @@ var getYTPVideoID = function( url ) { ...@@ -1047,7 +1083,109 @@ var getYTPVideoID = function( url ) {
if( typeof callback == "function" ) callback( filter ); if( typeof callback == "function" ) callback( filter );
} }
} ); } );
},
getFilters: function() {
var YTPlayer = this.get( 0 );
return YTPlayer.filters;
},
/**
*
* @param mask
* @returns {jQuery.mbYTPlayer}
*/
addMask: function( mask ) {
var YTPlayer = this.get( 0 );
var overlay = YTPlayer.overlay;
var tempImg = jQuery( "<img/>" ).attr( "src", mask ).on( "load", function() {
overlay.CSSAnimate( {
opacity: 0
}, 500, function() {
YTPlayer.hasMask = true;
overlay.css( {
backgroundImage: "url(" + mask + ")",
backgroundRepeat: "no-repeat",
backgroundPosition: "center center",
backgroundSize: "cover"
} );
overlay.CSSAnimate( {
opacity: 1
}, 500 );
} );
} );
return this; return this;
},
/**
*
* @returns {jQuery.mbYTPlayer}
*/
removeMask: function() {
var YTPlayer = this.get( 0 );
var overlay = YTPlayer.overlay;
overlay.CSSAnimate( {
opacity: 0
}, 500, function() {
YTPlayer.hasMask = false;
overlay.css( {
backgroundImage: "",
backgroundRepeat: "",
backgroundPosition: "",
backgroundSize: ""
} );
overlay.CSSAnimate( {
opacity: 1
}, 500 );
} );
return this;
},
/**
*
* @param YTPlayer
*/
applyMask: function( YTPlayer ) {
var $YTPlayer = jQuery( YTPlayer );
$YTPlayer.off( "YTPTime.mask" );
if( YTPlayer.opt.mask ) {
if( typeof YTPlayer.opt.mask == "string" )
$YTPlayer.YTPAddMask( YTPlayer.opt.mask );
else if( typeof YTPlayer.opt.mask == "object" ) {
for( var time in YTPlayer.opt.mask ) {
if( YTPlayer.opt.mask[ time ] )
var img = jQuery( "<img/>" ).attr( "src", YTPlayer.opt.mask[ time ] );
}
if( YTPlayer.opt.mask[ 0 ] )
$YTPlayer.YTPAddMask( YTPlayer.opt.mask[ 0 ] );
$YTPlayer.on( "YTPTime.mask", function( e ) {
for( var time in YTPlayer.opt.mask ) {
if( e.time == time )
if( !YTPlayer.opt.mask[ time ] )
$YTPlayer.YTPRemoveMask();
else
$YTPlayer.YTPAddMask( YTPlayer.opt.mask[ time ] );
}
} )
}
}
}, },
/** /**
* *
...@@ -1191,19 +1329,24 @@ var getYTPVideoID = function( url ) { ...@@ -1191,19 +1329,24 @@ var getYTPVideoID = function( url ) {
var stopAt = YTPlayer.opt.stopAt > YTPlayer.opt.startAt ? YTPlayer.opt.stopAt : 0; var stopAt = YTPlayer.opt.stopAt > YTPlayer.opt.startAt ? YTPlayer.opt.stopAt : 0;
stopAt = stopAt < YTPlayer.player.getDuration() ? stopAt : 0; stopAt = stopAt < YTPlayer.player.getDuration() ? stopAt : 0;
if( YTPlayer.player.time != prog.currentTime ) { if( YTPlayer.player.time != prog.currentTime ) {
var YTPEvent = jQuery.Event( "YTPTime" ); var YTPEvent = jQuery.Event( "YTPTime" );
YTPEvent.time = YTPlayer.player.time; YTPEvent.time = YTPlayer.player.time;
jQuery( YTPlayer ).trigger( YTPEvent ); jQuery( YTPlayer ).trigger( YTPEvent );
} }
YTPlayer.player.time = prog.currentTime; YTPlayer.player.time = prog.currentTime;
if( YTPlayer.player.getVolume() == 0 ) $YTPlayer.addClass( "isMuted" ); if( YTPlayer.player.getVolume() == 0 ) $YTPlayer.addClass( "isMuted" );
else $YTPlayer.removeClass( "isMuted" ); else $YTPlayer.removeClass( "isMuted" );
if( YTPlayer.opt.showControls ) if( YTPlayer.opt.showControls )
if( prog.totalTime ) { if( prog.totalTime ) {
YTPlayer.controlBar.find( ".mb_YTPTime" ).html( jQuery.mbYTPlayer.formatTime( prog.currentTime ) + " / " + jQuery.mbYTPlayer.formatTime( prog.totalTime ) ); YTPlayer.controlBar.find( ".mb_YTPTime" ).html( jQuery.mbYTPlayer.formatTime( prog.currentTime ) + " / " + jQuery.mbYTPlayer.formatTime( prog.totalTime ) );
} else { } else {
YTPlayer.controlBar.find( ".mb_YTPTime" ).html( "-- : -- / -- : --" ); YTPlayer.controlBar.find( ".mb_YTPTime" ).html( "-- : -- / -- : --" );
} }
if( eval( YTPlayer.opt.stopMovieOnBlur ) ) if( eval( YTPlayer.opt.stopMovieOnBlur ) )
if( !document.hasFocus() ) { if( !document.hasFocus() ) {
if( YTPlayer.state == 1 ) { if( YTPlayer.state == 1 ) {
...@@ -1211,9 +1354,11 @@ var getYTPVideoID = function( url ) { ...@@ -1211,9 +1354,11 @@ var getYTPVideoID = function( url ) {
$YTPlayer.YTPPause(); $YTPlayer.YTPPause();
} }
} else if( document.hasFocus() && !YTPlayer.hasFocus && !( YTPlayer.state == -1 || YTPlayer.state == 0 ) ) { } else if( document.hasFocus() && !YTPlayer.hasFocus && !( YTPlayer.state == -1 || YTPlayer.state == 0 ) ) {
YTPlayer.hasFocus = true; YTPlayer.hasFocus = true;
$YTPlayer.YTPPlay(); $YTPlayer.YTPPlay();
} }
if( YTPlayer.controlBar && YTPlayer.controlBar.outerWidth() <= 400 && !YTPlayer.isCompact ) { if( YTPlayer.controlBar && YTPlayer.controlBar.outerWidth() <= 400 && !YTPlayer.isCompact ) {
YTPlayer.controlBar.addClass( "compact" ); YTPlayer.controlBar.addClass( "compact" );
YTPlayer.isCompact = true; YTPlayer.isCompact = true;
...@@ -1239,6 +1384,7 @@ var getYTPVideoID = function( url ) { ...@@ -1239,6 +1384,7 @@ var getYTPVideoID = function( url ) {
var YTPEnd = jQuery.Event( "YTPEnd" ); var YTPEnd = jQuery.Event( "YTPEnd" );
YTPEnd.time = YTPlayer.player.time; YTPEnd.time = YTPlayer.player.time;
jQuery( YTPlayer ).trigger( YTPEnd ); jQuery( YTPlayer ).trigger( YTPEnd );
YTPlayer.state = 0;
return; return;
} }
...@@ -1246,15 +1392,16 @@ var getYTPVideoID = function( url ) { ...@@ -1246,15 +1392,16 @@ var getYTPVideoID = function( url ) {
} else if( !data.loop || ( data.loop > 0 && YTPlayer.player.loopTime === data.loop - 1 ) ) { } else if( !data.loop || ( data.loop > 0 && YTPlayer.player.loopTime === data.loop - 1 ) ) {
YTPlayer.player.loopTime = undefined; YTPlayer.player.loopTime = undefined;
YTPlayer.preventTrigger = true; YTPlayer.preventTrigger = true;
jQuery( YTPlayer ).YTPPause(); jQuery( YTPlayer ).YTPPause();
YTPlayer.state = 0;
YTPlayer.wrapper.CSSAnimate( { YTPlayer.wrapper.CSSAnimate( {
opacity: 0 opacity: 0
}, 1000, function() { }, 500, function() {
if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play ); if( YTPlayer.controlBar )
YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play );
var YTPEnd = jQuery.Event( "YTPEnd" ); var YTPEnd = jQuery.Event( "YTPEnd" );
YTPEnd.time = YTPlayer.player.time; YTPEnd.time = YTPlayer.player.time;
...@@ -1335,8 +1482,6 @@ var getYTPVideoID = function( url ) { ...@@ -1335,8 +1482,6 @@ var getYTPVideoID = function( url ) {
} }
//console.time( "checkforStart" );
var startAt = YTPlayer.opt.startAt ? YTPlayer.opt.startAt : 1; var startAt = YTPlayer.opt.startAt ? YTPlayer.opt.startAt : 1;
YTPlayer.player.playVideo(); YTPlayer.player.playVideo();
YTPlayer.player.seekTo( startAt, true ); YTPlayer.player.seekTo( startAt, true );
...@@ -1347,30 +1492,29 @@ var getYTPVideoID = function( url ) { ...@@ -1347,30 +1492,29 @@ var getYTPVideoID = function( url ) {
var canPlayVideo = YTPlayer.player.getVideoLoadedFraction() >= startAt / YTPlayer.player.getDuration(); var canPlayVideo = YTPlayer.player.getVideoLoadedFraction() >= startAt / YTPlayer.player.getDuration();
//console.debug( YTPlayer.player.getCurrentTime(), startAt, YTPlayer.player.getVideoLoadedFraction() );
if( YTPlayer.player.getDuration() > 0 && YTPlayer.player.getCurrentTime() >= startAt && canPlayVideo ) { if( YTPlayer.player.getDuration() > 0 && YTPlayer.player.getCurrentTime() >= startAt && canPlayVideo ) {
//YTPlayer.player.playVideo(); //YTPlayer.player.playVideo();
//console.timeEnd( "checkforStart" ); //console.timeEnd( "checkforStart" );
clearInterval( YTPlayer.checkForStartAt ); clearInterval( YTPlayer.checkForStartAt );
YTPlayer.isReady = true;
if( typeof YTPlayer.opt.onReady == "function" ) if( typeof YTPlayer.opt.onReady == "function" )
YTPlayer.opt.onReady( YTPlayer ); YTPlayer.opt.onReady( YTPlayer );
YTPlayer.isReady = true;
var YTPready = jQuery.Event( "YTPReady" ); var YTPready = jQuery.Event( "YTPReady" );
YTPready.time = YTPlayer.player.time; YTPready.time = YTPlayer.player.time;
jQuery( YTPlayer ).trigger( YTPready ); jQuery( YTPlayer ).trigger( YTPready );
YTPlayer.preventTrigger = true; YTPlayer.preventTrigger = true;
jQuery( YTPlayer ).YTPPause(); jQuery( YTPlayer ).YTPPause();
if( !YTPlayer.opt.mute ) jQuery( YTPlayer ).YTPUnmute(); if( !YTPlayer.opt.mute ) jQuery( YTPlayer ).YTPUnmute();
YTPlayer.canTrigger = true; YTPlayer.canTrigger = true;
if( YTPlayer.opt.autoPlay ) { if( YTPlayer.opt.autoPlay ) {
$YTPlayer.YTPPlay();
var YTPStart = jQuery.Event( "YTPStart" ); var YTPStart = jQuery.Event( "YTPStart" );
YTPStart.time = YTPlayer.player.time; YTPStart.time = YTPlayer.player.time;
...@@ -1380,13 +1524,21 @@ var getYTPVideoID = function( url ) { ...@@ -1380,13 +1524,21 @@ var getYTPVideoID = function( url ) {
jQuery( YTPlayer.playerEl ).CSSAnimate( { jQuery( YTPlayer.playerEl ).CSSAnimate( {
opacity: 1 opacity: 1
}, 1000 ); }, 1000 );
$YTPlayer.YTPPlay();
YTPlayer.wrapper.CSSAnimate( { YTPlayer.wrapper.CSSAnimate( {
opacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity opacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity
}, 1000 ); }, 1000, function() {} );
/* Fix for Safari freeze */
if( jQuery.browser.safari )
$YTPlayer.YTPPlay();
} else { } else {
$YTPlayer.YTPPause(); //$YTPlayer.YTPPause();
//YTPlayer.player.pauseVideo(); YTPlayer.player.pauseVideo();
if( !YTPlayer.isPlayer ) { if( !YTPlayer.isPlayer ) {
jQuery( YTPlayer.playerEl ).CSSAnimate( { jQuery( YTPlayer.playerEl ).CSSAnimate( {
opacity: 1 opacity: 1
...@@ -1396,6 +1548,9 @@ var getYTPVideoID = function( url ) { ...@@ -1396,6 +1548,9 @@ var getYTPVideoID = function( url ) {
opacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity opacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity
}, 500 ); }, 500 );
} }
YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play );
} }
if( YTPlayer.isPlayer && !YTPlayer.opt.autoPlay ) { if( YTPlayer.isPlayer && !YTPlayer.opt.autoPlay ) {
...@@ -1407,8 +1562,8 @@ var getYTPVideoID = function( url ) { ...@@ -1407,8 +1562,8 @@ var getYTPVideoID = function( url ) {
if( YTPlayer.controlBar ) YTPlayer.controlBar.slideDown( 1000 ); if( YTPlayer.controlBar ) YTPlayer.controlBar.slideDown( 1000 );
} else if( jQuery.browser.safari ) { } else if( jQuery.browser.safari ) {
//YTPlayer.player.playVideo(); YTPlayer.player.playVideo();
//if( startAt >= 0 ) YTPlayer.player.seekTo( startAt, true ); if( startAt >= 0 ) YTPlayer.player.seekTo( startAt, true );
} }
}, 1 ); }, 1 );
...@@ -1448,14 +1603,15 @@ var getYTPVideoID = function( url ) { ...@@ -1448,14 +1603,15 @@ var getYTPVideoID = function( url ) {
var YTPlayer = this.get( 0 ); var YTPlayer = this.get( 0 );
var data = YTPlayer.opt; var data = YTPlayer.opt;
var playerBox = jQuery( YTPlayer.playerEl ); var playerBox = jQuery( YTPlayer.playerEl );
var win = {};
var el = YTPlayer.wrapper;
win.width = el.outerWidth();
win.height = el.outerHeight();
var margin = 24;
var overprint = 100;
var vid = {}; var vid = {};
if( data.optimizeDisplay ) { if( data.optimizeDisplay ) {
var margin = 24;
var overprint = 100;
var win = {};
var el = YTPlayer.wrapper;
win.width = el.outerWidth();
win.height = el.outerHeight();
vid.width = win.width + ( ( win.width * margin ) / 100 ); vid.width = win.width + ( ( win.width * margin ) / 100 );
vid.height = data.ratio == "16/9" ? Math.ceil( ( 9 * win.width ) / 16 ) : Math.ceil( ( 3 * win.width ) / 4 ); vid.height = data.ratio == "16/9" ? Math.ceil( ( 9 * win.width ) / 16 ) : Math.ceil( ( 3 * win.width ) / 4 );
vid.marginTop = -( ( vid.height - win.height ) / 2 ); vid.marginTop = -( ( vid.height - win.height ) / 2 );
...@@ -1476,12 +1632,14 @@ var getYTPVideoID = function( url ) { ...@@ -1476,12 +1632,14 @@ var getYTPVideoID = function( url ) {
vid.marginTop = 0; vid.marginTop = 0;
vid.marginLeft = 0; vid.marginLeft = 0;
} }
playerBox.css( { playerBox.css( {
width: vid.width, width: vid.width,
height: vid.height, height: vid.height,
marginTop: vid.marginTop, marginTop: vid.marginTop,
marginLeft: vid.marginLeft marginLeft: vid.marginLeft
} ); } );
}; };
/** /**
* *
...@@ -1548,6 +1706,10 @@ var getYTPVideoID = function( url ) { ...@@ -1548,6 +1706,10 @@ var getYTPVideoID = function( url ) {
jQuery.fn.YTPRemoveFilter = jQuery.mbYTPlayer.removeFilter; jQuery.fn.YTPRemoveFilter = jQuery.mbYTPlayer.removeFilter;
jQuery.fn.YTPDisableFilters = jQuery.mbYTPlayer.disableFilters; jQuery.fn.YTPDisableFilters = jQuery.mbYTPlayer.disableFilters;
jQuery.fn.YTPEnableFilters = jQuery.mbYTPlayer.enableFilters; jQuery.fn.YTPEnableFilters = jQuery.mbYTPlayer.enableFilters;
jQuery.fn.YTPGetFilters = jQuery.mbYTPlayer.getFilters;
jQuery.fn.YTPAddMask = jQuery.mbYTPlayer.addMask;
jQuery.fn.YTPRemoveMask = jQuery.mbYTPlayer.removeMask;
/** /**
...@@ -1642,7 +1804,7 @@ var nAgt=navigator.userAgent;if(!jQuery.browser){jQuery.browser={},jQuery.browse ...@@ -1642,7 +1804,7 @@ var nAgt=navigator.userAgent;if(!jQuery.browser){jQuery.browser={},jQuery.browse
_ Copyright (c) 2001-2015. Matteo Bicocchi (Pupunzi); _ _ Copyright (c) 2001-2015. Matteo Bicocchi (Pupunzi); _
___________________________________________________________________________________________________________________________________________________*/ ___________________________________________________________________________________________________________________________________________________*/
!function(a){/iphone|ipod|ipad|android|ie|blackberry|fennec/.test(navigator.userAgent.toLowerCase());var c="ontouchstart"in window||window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture||window.DocumentTouch&&document instanceof DocumentTouch||!1;a.simpleSlider={defaults:{initialval:0,scale:100,orientation:"h",readonly:!1,callback:!1},events:{start:c?"touchstart":"mousedown",end:c?"touchend":"mouseup",move:c?"touchmove":"mousemove"},init:function(b){return this.each(function(){var d=this,e=a(d);e.addClass("simpleSlider"),d.opt={},a.extend(d.opt,a.simpleSlider.defaults,b),a.extend(d.opt,e.data());var f="h"==d.opt.orientation?"horizontal":"vertical",g=a("<div/>").addClass("level").addClass(f);e.prepend(g),d.level=g,e.css({cursor:"default"}),"auto"==d.opt.scale&&(d.opt.scale=a(d).outerWidth()),e.updateSliderVal(),d.opt.readonly||(e.on(a.simpleSlider.events.start,function(a){c&&(a=a.changedTouches[0]),d.canSlide=!0,e.updateSliderVal(a),e.css({cursor:"col-resize"}),a.preventDefault(),a.stopPropagation()}),a(document).on(a.simpleSlider.events.move,function(b){c&&(b=b.changedTouches[0]),d.canSlide&&(a(document).css({cursor:"default"}),e.updateSliderVal(b),b.preventDefault(),b.stopPropagation())}).on(a.simpleSlider.events.end,function(){a(document).css({cursor:"auto"}),d.canSlide=!1,e.css({cursor:"auto"})}))})},updateSliderVal:function(b){function g(a,b){return Math.floor(100*a/b)}var c=this,d=c.get(0);d.opt.initialval="number"==typeof d.opt.initialval?d.opt.initialval:d.opt.initialval(d);var e=a(d).outerWidth(),f=a(d).outerHeight();d.x="object"==typeof b?b.clientX+document.body.scrollLeft-c.offset().left:"number"==typeof b?b*e/d.opt.scale:d.opt.initialval*e/d.opt.scale,d.y="object"==typeof b?b.clientY+document.body.scrollTop-c.offset().top:"number"==typeof b?(d.opt.scale-d.opt.initialval-b)*f/d.opt.scale:d.opt.initialval*f/d.opt.scale,d.y=c.outerHeight()-d.y,d.scaleX=d.x*d.opt.scale/e,d.scaleY=d.y*d.opt.scale/f,d.outOfRangeX=d.scaleX>d.opt.scale?d.scaleX-d.opt.scale:d.scaleX<0?d.scaleX:0,d.outOfRangeY=d.scaleY>d.opt.scale?d.scaleY-d.opt.scale:d.scaleY<0?d.scaleY:0,d.outOfRange="h"==d.opt.orientation?d.outOfRangeX:d.outOfRangeY,d.value="undefined"!=typeof b?"h"==d.opt.orientation?d.x>=c.outerWidth()?d.opt.scale:d.x<=0?0:d.scaleX:d.y>=c.outerHeight()?d.opt.scale:d.y<=0?0:d.scaleY:"h"==d.opt.orientation?d.scaleX:d.scaleY,"h"==d.opt.orientation?d.level.width(g(d.x,e)+"%"):d.level.height(g(d.y,f)),"function"==typeof d.opt.callback&&d.opt.callback(d)}},a.fn.simpleSlider=a.simpleSlider.init,a.fn.updateSliderVal=a.simpleSlider.updateSliderVal}(jQuery); !function(e){var t=(/iphone|ipod|ipad|android|ie|blackberry|fennec/.test(navigator.userAgent.toLowerCase()),"ontouchstart"in window||window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture||window.DocumentTouch&&document instanceof DocumentTouch||!1);e.simpleSlider={defaults:{initialval:0,scale:100,orientation:"h",readonly:!1,callback:!1},events:{start:t?"touchstart":"mousedown",end:t?"touchend":"mouseup",move:t?"touchmove":"mousemove"},init:function(o){return this.each(function(){var a=this,l=e(a);l.addClass("simpleSlider"),a.opt={},e.extend(a.opt,e.simpleSlider.defaults,o),e.extend(a.opt,l.data());var i="h"==a.opt.orientation?"horizontal":"vertical",n=e("<div/>").addClass("level").addClass(i);l.prepend(n),a.level=n,l.css({cursor:"default"}),"auto"==a.opt.scale&&(a.opt.scale=e(a).outerWidth()),l.updateSliderVal(),a.opt.readonly||(l.on(e.simpleSlider.events.start,function(e){t&&(e=e.changedTouches[0]),a.canSlide=!0,l.updateSliderVal(e),l.css({cursor:"col-resize"}),e.preventDefault(),e.stopPropagation()}),e(document).on(e.simpleSlider.events.move,function(o){t&&(o=o.changedTouches[0]),a.canSlide&&(e(document).css({cursor:"default"}),l.updateSliderVal(o),o.preventDefault(),o.stopPropagation())}).on(e.simpleSlider.events.end,function(){e(document).css({cursor:"auto"}),a.canSlide=!1,l.css({cursor:"auto"})}))})},updateSliderVal:function(t){function o(e,t){return Math.floor(100*e/t)}var a=this,l=a.get(0);if(l.opt){l.opt.initialval="number"==typeof l.opt.initialval?l.opt.initialval:l.opt.initialval(l);var i=e(l).outerWidth(),n=e(l).outerHeight();l.x="object"==typeof t?t.clientX+document.body.scrollLeft-a.offset().left:"number"==typeof t?t*i/l.opt.scale:l.opt.initialval*i/l.opt.scale,l.y="object"==typeof t?t.clientY+document.body.scrollTop-a.offset().top:"number"==typeof t?(l.opt.scale-l.opt.initialval-t)*n/l.opt.scale:l.opt.initialval*n/l.opt.scale,l.y=a.outerHeight()-l.y,l.scaleX=l.x*l.opt.scale/i,l.scaleY=l.y*l.opt.scale/n,l.outOfRangeX=l.scaleX>l.opt.scale?l.scaleX-l.opt.scale:l.scaleX<0?l.scaleX:0,l.outOfRangeY=l.scaleY>l.opt.scale?l.scaleY-l.opt.scale:l.scaleY<0?l.scaleY:0,l.outOfRange="h"==l.opt.orientation?l.outOfRangeX:l.outOfRangeY,"undefined"!=typeof t?l.value="h"==l.opt.orientation?l.x>=a.outerWidth()?l.opt.scale:l.x<=0?0:l.scaleX:l.y>=a.outerHeight()?l.opt.scale:l.y<=0?0:l.scaleY:l.value="h"==l.opt.orientation?l.scaleX:l.scaleY,"h"==l.opt.orientation?l.level.width(o(l.x,i)+"%"):l.level.height(o(l.y,n)),"function"==typeof l.opt.callback&&l.opt.callback(l)}}},e.fn.simpleSlider=e.simpleSlider.init,e.fn.updateSliderVal=e.simpleSlider.updateSliderVal}(jQuery);
;/*___________________________________________________________________________________________________________________________________________________ ;/*___________________________________________________________________________________________________________________________________________________
_ jquery.mb.components _ _ jquery.mb.components _
_ _ _ _
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment