{"id":10632,"date":"2023-03-19T00:50:14","date_gmt":"2023-03-19T07:50:14","guid":{"rendered":"https:\/\/www.yippeekiayblues.com\/?p=10632"},"modified":"2023-03-19T01:37:18","modified_gmt":"2023-03-19T08:37:18","slug":"yippees-creations-18-mar-2023","status":"publish","type":"post","link":"https:\/\/www.yippeekiayblues.com\/yippees-creations-18-mar-2023\/","title":{"rendered":"Yippee’s Creations 18 Mar 2023"},"content":{"rendered":"<p style=\"text-align: center;\">This is the 8th episode of 2023 for “Yippee’s Creations”. For this particular segment, to celebrate our upcoming 10th year anniversary for Yippee Ki-Ay Blues, I selected <a href=\"http:\/\/www.bridgetkellyband.com\/\">Bridget Kelly Band<\/a>. Back in July 2016, we did a live stream event from Betsy’s Backyard featuring <a href=\"http:\/\/www.bridgetkellyband.com\/\">Bridget Kelly Band<\/a>. This live stream was for 6 hours as there were other bands as well. Though, back in July 2016 we were using software that was intended for WiFi streaming. In this particular event, we did it all over 4G and didn’t have any hiccups or technical issues. The hardware we used was an Apple I-Pod and Tripod, that was it ! In this episode, I selected the song “Up And Gone (Smokestack Lightning)” from the album <a href=\"https:\/\/bridgetkellyband.bandcamp.com\/album\/outta-the-blues\">Outta The Blues<\/a>. It was a blast to participate in the testing of live streaming with <a href=\"http:\/\/www.bridgetkellyband.com\/\">Bridget Kelly Band<\/a> back in 2016.<\/p>\r\n<p style=\"text-align: center;\">\r\n\r\n<style>\r\n \r\n\/* FOLLOWING TWO SHOULD HAVE SAME COLOR - videoControlBarColor *\/\r\n\/* Background color of control bar and big play button *\/\r\n#video1 .vjs-big-play-button {\r\n border-color: #efefef !important;\r\n background-color: #333333 !important;\r\n font-size: 20px !important;\r\n opacity: .7;\r\n }\r\n \r\n \r\n\r\n\/* Color of control bar *\/\r\n#videocontent1 .vjs-control-bar button {\r\n background: unset !important;\r\n} \r\n\r\n\r\n#videocontent1 .vjs-matrix .vjs-control-bar {\r\n background: #333333 !important;\r\n opacity: 1.0 !important;\r\n} \r\n\r\n\/* FOLLOWING TWO SHOULD HAVE SAME COLOR - videoMainColor *\/\r\n\/* Color of all text, icons and \"play\" triangle *\/\r\n#videocontent1 .vjs-default-skin {\r\n color: #efefef !important; \r\n overflow: hidden !important;\r\n font-size: 10px !important;\r\n }\r\n \r\n\/* Change the color of various \"bars\" text: Scrubber and Volume - make it same as bg color of big play button*\/\r\n#videocontent1 .vjs-matrix .vjs-volume-level,\r\n#videocontent1 .vjs-matrix .vjs-play-progress,\r\n#videocontent1 .vjs-matrix .vjs-slider-bar\r\n{\r\n background: #efefef !important;\r\n}\r\n \r\ndiv#videocontent1 {\r\n display: block !important;\r\n} \r\n\r\n \r\n \r\n\r\n\r\n\/* Style inner div to center button *\/\r\n.inner {\r\n left: 50%;\r\n top: 10%;\r\n transform: translate(-50%, -50%);\r\n position: absolute;\r\n} \r\n \r\n \r\n\r\n \/* hide the captions settings item from the captions menu *\/\r\n .video1.vjs-texttrack-settings {\r\n display: none;\r\n }\r\n \r\n #videocontent1 .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n background-color: #333333 !important;\r\n color: #efefef !important;\r\n padding: 0px !important;\r\n margin: 0px !important;\r\n max-height: none !important;\r\n }\r\n \r\n #videocontent1 .vjs-menu-content li {\r\n list-style: none !important;\r\n }\r\n \r\n #videocontent1 li.vjs-menu-item {\r\n margin-bottom: 0px !important;\r\n margin: 0px !important;\r\n }\r\n \r\n #videocontent1 .vjs-control .vjs-button {\r\n padding-left: 0px !important;\r\n padding-right: 0px !important;\r\n margin-left: 0px !important;\r\n padding:0px !important;\r\n }\r\n \r\n #videocontent1 .vjs-playback-rate-value {\r\n margin-right: 0em;\r\n }\r\n \r\n #videocontent1 .vjs-playback-rate {\r\n margin-right: 0em;\r\n }\r\n \r\n\r\n \r\n#videocontent1 .vjs-user-inactive .vjs-control-bar {\r\n display: none !important;\r\n visibility: hidden !important;\r\n opacity: 0 !important;\r\n cursor: none !important;\r\n}\r\n \r\n\/**\r\n#videocontent1 .vjs-big-play-button {\r\n border: 0px !important;\r\n}\r\n*\/\r\n \r\n#videocontent1 .vjs-play-control {\r\n border: 0px !important;\r\n}\r\n \r\n#videocontent1 .vjs-mute-control {\r\n border: 0px !important;\r\n}\r\n\r\n#videocontent1 .vjs-control {\r\n border: 0px !important;\r\n}\r\n\r\n#videocontent1 .vjs-button {\r\n padding: 0px !important;\r\n border: 0px !important;\r\n} \r\n \r\n#videocontent1 .vjs-picture-in-picture-control {\r\n display: none !important;\r\n visibility: hidden !important;\r\n opacity: 0 !important;\r\n cursor: none !important;\r\n}\r\n \r\n \r\n\r\n.video-js-dimensions.vjs-fluid { \r\n padding-top: 56.25%;\r\n }\r\n.video-js { padding-top: 56.25%; }\r\n \r\n \r\n \r\n<\/style>\r\n\r\n<script>\r\n\r\n var watermarkCounter = 1;\r\n \r\n function setCookie(name, value, daysToExpire) {\r\n \/\/console.log(\"setCookie\");\r\n var expires = \"\";\r\n if (daysToExpire) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + (daysToExpire * 24 * 60 * 60 * 1000));\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + value + expires + \"; path=\/\";\r\n }\r\n \r\n function getCookie(cookieName) {\r\n const cookies = document.cookie.split(';');\r\n\r\n for (const cookie of cookies) {\r\n const [name, value] = cookie.trim().split('=');\r\n if (name === cookieName) {\r\n return decodeURIComponent(value);\r\n }\r\n }\r\n\r\n return null; \/\/ Cookie not found\r\n }\r\n\r\n<\/script>\r\n\r\n\r\n <!-- <link href=\"https:\/\/www.yippeekiayblues.com\/wp-content\/plugins\/S3MediaVaultPro\/includes\/css\/video-js-2.min.css\" rel=\"stylesheet\"> -->\r\n <link href=\"https:\/\/www.yippeekiayblues.com\/wp-content\/plugins\/S3MediaVaultPro\/includes\/css\/videojs.watermark.css\" rel=\"stylesheet\">\r\n \r\n <!-- <script src=\"https:\/\/www.yippeekiayblues.com\/wp-content\/plugins\/S3MediaVaultPro\/includes\/javascript\/video-2.js\"><\/script> -->\r\n <script src=\"https:\/\/www.yippeekiayblues.com\/wp-content\/plugins\/S3MediaVaultPro\/includes\/javascript\/videojs.watermark.js\"><\/script>\r\n \r\n <div id=\"videoparent1\">\r\n <div id=\"videocontent1\" class=\"video-wrap\">\r\n <video N id=\"video1\" oncontextmenu=\"return false;\" class=\"vjs-matrix video-js-responsive-container video-js vjs-16-9 vjs-default-skin vjs-big-play-centered\" controls preload=\"auto\" width=\"800\" height=\"450\" data-setup='{\"fluid\": true ,\"playbackRates\": [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2] }' playsinline>\r\n <source src=\"https:\/\/sei-video-on-demand.s3.us-west-1.amazonaws.com\/sessions\/Creations\/2023\/YKA_YC_8_23_Bridget_Kelly_Band_Up_031823.mp4?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA3VBYGRHCVSE4NNXY%2F20250213%2Fus-west-1%2Fs3%2Faws4_request&X-Amz-Date=20250213T221022Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1000&X-Amz-Signature=665a206c203ab2c8556ef94aef5b1b9064c973ebc96c723736216125bcd6008f\" type=\"video\/mp4\" \/>\r\n <\/video>\r\n <\/div>\r\n <\/div>\r\n\r\n \r\n \r\n <style>\r\n \r\n .vjs-fullscreen { padding-top: 0px }\r\n\r\n \r\n .buttonClass {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n vertical-align: baseline;\r\n padding: 0px;\r\n }\r\n\r\n div1.vjs-watermark {\r\n bottom: 30px !important;\r\n top: unset !important;\r\n right: 0 !important;\r\n left: unset !important;\r\n }\r\n \r\n<\/style>\r\n\r\n<!-- JavaScript Start -->\r\n<script>\r\n \r\n\/* <![CDATA[ *\/\r\nvar threshold1;\r\nvar ajaxurl = \"https:\/\/www.yippeekiayblues.com\/wp-admin\/admin-ajax.php\";\r\nvar promise;\r\n\r\nvar player1 = videojs('video1',{\r\n width: \"800\",\r\n height: \"450\"\r\n});\r\n\t\r\nplayer1.bigPlayButton.on('click', function(){\r\n\tif (player1.paused()) {\r\n\t\tplayer1.play();\r\n\t} \r\n\t\t\r\n});\r\n \r\nvar div1;\r\n\r\n\r\n\r\nvar hasBeenClosed = false;\r\n \r\n function closePIP() {\r\n var $videoWrap = jQuery('.video-wrap');\r\n var $video = jQuery('.video');\r\n var $closeButton = jQuery('.closeButton')\r\n\r\n $videoWrap.height('auto');\r\n $video.removeClass('stuck');\r\n $closeButton.removeClass('closeShowing');\r\n $closeButton.addClass('closeHidden');\r\n\r\n hasBeenClosed = true;\r\n player1.pause();\r\n videojs('video1', { inactivityTimeout: 0 });\r\n player1.bigPlayButton.show();\r\n\r\n }\r\n \r\njQuery(document).ready(function($) {\r\n \r\n jQuery(\"#closeButton\").hide();\r\n var $window = jQuery(window);\r\n var $videoWrap = jQuery('.video-wrap');\r\n var $video = jQuery('.video');\r\n var videoHeight = $video.outerHeight();\r\n var $closeButton = jQuery('.closeButton')\r\n\r\n $window.on('scroll', function() {\r\n var windowScrollTop = $window.scrollTop();\r\n var videoBottom = videoHeight + $videoWrap.offset().top;\r\n\r\n if ( (windowScrollTop > videoBottom) && !hasBeenClosed ) {\r\n $videoWrap.height(videoHeight);\r\n $video.addClass('stuck');\r\n \/\/$closeButton.removeClass('closeHidden');\r\n \/\/$closeButton.removeClass('closeHidden');\r\n \/\/$closeButton.addClass('closeShowing');\r\n \/\/$closeButton.display('block'); \r\n jQuery(\"#closeButton\").show();\r\n } else {\r\n $videoWrap.height('auto');\r\n $video.removeClass('stuck');\r\n jQuery(\"#closeButton\").hide();\r\n }\r\n\r\n \/\/console.log(\"videoHeight: \" + videoHeight + \", windowScrollTop: \" + windowScrollTop + \", videoBottom: \" + videoBottom);\r\n\r\n });\r\n\r\n\/\/hideWatermarkOnLoad1();\r\n \/\/alert(jQuery(window).width() + \", \" + jQuery(window).height());\r\n div = document.getElementsByClassName(\"vjs-watermark\")[1-1];\r\n if (div) {\r\n \/\/div.style.display = \"none\";\r\n }\r\n\r\n \r\n if(jQuery(window).width() >= 500) {\r\n var skipBehindButton1 = player1.controlBar.addChild(\"button\", {}, 2);\r\n var skipBehindButtonDom1 = skipBehindButton1.el();\r\n skipBehindButtonDom1.innerHTML = \"<<\";\r\n skipBehindButtonDom1.title = \"Rewind 15 Seconds\";\r\n skipBehindButton1.addClass(\"buttonClass\");\r\n skipBehindButtonDom1.onclick = function(){\r\n skipS3MV1(-15);\r\n } \r\n\r\n var skipAheadButton1 = player1.controlBar.addChild(\"button\", {}, 3);\r\n var skipAheadButtonDom1 = skipAheadButton1.el();\r\n skipAheadButtonDom1.innerHTML = \">>\";\r\n skipAheadButtonDom1.title = \"Fast-Forward 15 Seconds\";\r\n skipAheadButton1.addClass(\"buttonClass\");\r\n skipAheadButtonDom1.onclick = function() {\r\n skipS3MV1(15);\r\n } \r\n }\r\n \r\n \r\n}); \/\/End jQuery(document).ready\r\n \r\n\r\nfunction skipS3MV1(skipBy) {\r\n player1.currentTime(player1.currentTime() + skipBy);\r\n}\r\n\r\n\r\nfunction getDomainName(hostName) {\r\n return hostName.substring(hostName.lastIndexOf(\".\", hostName.lastIndexOf(\".\") - 1) + 1);\r\n}\r\n\r\n \r\nfunction unmuteAndPlayFromStart2() {\r\n var player1;\r\n if(player1 == null) {\r\n player1 = videojs(\"video1\");\r\n }\r\n\r\n if( (player1.muted()) && (timesMuted == 1) ) {\r\n player1.watermark({\r\n file: '',\r\n xpos: 1,\r\n ypos: 0,\r\n xrepeat: 0,\r\n opacity: 0,\r\n url: '',\r\n clickable: false,\r\n text: false,\r\n textContent: '',\r\n fontSize: 0,\r\n fontColor: '',\r\n fontBGColor: ''\r\n }); \r\n\r\n player1.currentTime(0);\r\n player1.muted(false);\r\n player1.play();\r\n }\r\n timesMuted++;\r\n}\r\n\r\n\r\nfunction unmuteAndPlayFromStart1(player1) {\r\n \/\/var player1;\r\n if(player1 == null) {\r\n player1 = videojs(\"video1\");\r\n }\r\n \/\/alert(timesMuted);\r\n player1.currentTime(0);\r\n player1.muted(false);\r\n player1.play();\r\n}\r\n\r\n \r\nfunction roundUpToAny(n,x=15) {\r\n return Math.round((n+x\/2)\/x)*x;\r\n}\r\n \r\n \r\nvideojs(\"video1\").ready(function() {\r\n \/\/console.log(\"Videojs Ready - should be called only once\");\r\n\tvar player1 = videojs(\"video1\");\r\n var userIdAnon = 0;\r\n var videoId = 230;\r\n var anonTracking = \"N\";\r\n var captions = localStorage.getItem('captions');\r\n \/\/console.log(\"captions on load: \" + captions);\r\n \r\n if(captions === null) captions = \"on\";\r\n \r\n \r\n var preferredLang = localStorage.getItem('caption-language');\r\n let tracks = player1.textTracks();\r\n var trackList = Array.prototype.slice.call(tracks);\r\n var activeTrack = Array.from(tracks).find(track => track.mode === 'showing');\r\n \/\/localStorage.setItem('caption-language', activeTrack.language); \r\n \/\/console.log(\"currently active language: \" + activeTrack.language);\r\n \/\/console.log(\"preferredLang on load: \" + preferredLang);\r\n var preferredLangIsSet = false;\r\n \r\n \/\/tracks.addEventListener('change', storeLanguageChoice);\r\n \/\/var initialTrackLanguageChange = true;\r\n \r\n \/\/var videoEl1 = player1.el();\r\n\r\n \r\n var savedSpeed = localStorage.getItem('videoSpeed');\r\n \/\/console.log(\"savedSpeed on load: \" + savedSpeed);\r\n \r\n if (savedSpeed) {\r\n this.playbackRate(savedSpeed);\r\n }\r\n \r\n \r\n \/\/activeTrack = Array.from(tracks).find(track => track.mode === 'showing');\r\n \/\/console.log(\"currently active language: \" + activeTrack.language);\r\n \r\n function setupTextTracks() {\r\n \/\/console.log(\"in setupTextTracks\");\r\n \/\/ If preferredLang found, get track and enable it\r\n if( preferredLang && (captions === \"on\") ) {\r\n \/\/console.log(\"preferredLang is set: \" + preferredLang);\r\n tracks = player1.textTracks();\r\n \/\/var targetTrack = Array.from(tracks).find(track => track.language === preferredLang);\r\n \r\n \/\/console.log(\"targetTrack mode: \" + targetTrack.mode);\r\n \r\n for (var i = 0; i < tracks.length; i++) {\r\n var track = tracks[i];\r\n\r\n \/\/ Check if the track is a captions track and if the language is German ('de')\r\n if (track.kind === 'captions' && track.language === preferredLang) {\r\n \/\/console.log(\"Yes, match found\");\r\n track.mode = 'showing'; \/\/ Show the German captions\r\n } else {\r\n track.mode = 'disabled'; \/\/ Hide other caption tracks\r\n }\r\n }\r\n \r\n preferredLangIsSet = true;\r\n } \r\n }\r\n \r\n \r\n \/\/Can be moved to end??\r\n \/\/Remembering Captions Settings on User Change\r\n player1.textTracks().addEventListener('change', function() {\r\n \/\/console.log(\"User changed captions settings\");\r\n\r\n var tracks = player1.textTracks(); \r\n \r\n \/\/ Convert to array\r\n var trackList = Array.prototype.slice.call(tracks);\r\n\r\n \/\/ Check if captions are disabled \r\n \/\/ I.e. no tracks in 'showing' mode\r\n var disabled = !trackList.some(function(track) {\r\n return track.mode === 'showing'; \r\n });\r\n\r\n if(disabled) {\r\n \/\/ Captions were just set to off \r\n localStorage.setItem('captions', 'off');\r\n \/\/console.log('Captions disabled');\r\n } else {\r\n localStorage.setItem('captions', 'on');\r\n \/\/console.log('Captions ENABLED');\r\n }\r\n \r\n \r\n if( captions === \"on\" ) {\r\n trackList = Array.prototype.slice.call(tracks);\r\n activeTrack = Array.from(tracks).find(track => track.mode === 'showing');\r\n \/\/console.log(\"in User changed captions settings: active language: \" + activeTrack.language);\r\n localStorage.setItem('caption-language', activeTrack.language); \r\n }\r\n\r\n });\r\n \r\n player1.play();\r\n player1.pause();\r\n player1.pause();\r\n \r\n timesMuted = 0;\r\n var button = document.createElement(\"button\");\r\n button.setAttribute(\"id\", \"muteButton\");\r\n var buttonRemoved = false;\r\n var endTime = 0;\r\n\tvar restartedOnce = false;\r\n \r\n \/\/Disable full screen zand remove full screen on double click\r\n \r\n\tthis.on('volumechange', function(){\r\n\t\ttimesMuted++;\r\n \/\/alert(\"volume change \" + timesMuted);\r\n if( !buttonRemoved && (timesMuted == 10000) ) {\r\n\t\t \t\/\/alert(\"inside\");\r\n\t\t\tvideo1.removeChild(button);\r\n\t\t\t\/\/document.getElementById(\"muteButton\").remove();\r\n\t\t\tbuttonRemoved = true;\r\n\t\t \tif(restartedOnce == false) {\r\n\t\t\t\tunmuteAndPlayFromStart1(player1);\r\n\t\t\t\trestartedOnce = true;\r\n\t\t\t}\r\n } \r\n });\r\n \r\n \r\n \r\n\r\n \r\n this.on('click', function(evt) {\r\n \/\/console.log(\"video clicked, \" + evt.target.tagName);\r\n if (evt.target.tagName === 'VIDEO') {\r\n \/\/alert(\"after click unmuteAndPlayFromStart1(player1)\");\r\n \/\/document.getElementsByTagName.removeChild(button);\r\n if(!buttonRemoved) {\r\n if(document.getElementById(\"muteButton\")) {\r\n document.getElementById(\"muteButton\").remove();\r\n buttonRemoved = true;\r\n if(restartedOnce == false) {\r\n\t\t\t\t\t\tunmuteAndPlayFromStart1(player1);\r\n\t\t\t\t\t\trestartedOnce = true;\r\n\t\t\t\t\t}\r\n }\r\n }\r\n }\r\n \r\n \r\n });\r\n \r\n this.on('pause', function() {\r\n div = document.getElementsByClassName(\"vjs-watermark\")[1-1];\r\n if (div) {\r\n div.style.display = \"none\";\r\n }\r\n jQuery('#video1 .vjs-big-play-button').css('display', 'block');\r\n });\r\n \r\n \r\n\tvar threshold1 = 15;\r\n\tvar counter1 = threshold1;\r\n var duration1 = 0;\r\n \r\n \/\/Track loading time\r\n \/\/console.log(\"ping 1: trackLoads\");\r\n\tvar data = {\r\n\t\t'action': 'trackLoads',\r\n\t\t'videoId': 230,\r\n\t\t'playTime': 0,\r\n 'event': 'load',\r\n 'postId': 10632\t};\r\n \r\n\tjQuery.post(ajaxurl, data, function(response) { });\r\n \r\n st1 = -1;\r\n et1 = 99999;\r\n \/\/alert(\"st1: \" + st1 + \", et1: \" + et1);\r\n playTime1 = 0;\r\n playTimeCurrent1 = 0;\r\n \r\n if( (userIdAnon == 0) && (anonTracking == \"Y\") && (videoId == getCookie(\"videoIdAnon\")) ) {\r\n playTimeAnon = getCookie(\"playTimeAnon\");\r\n \/\/console.log(\"playTimeAnon from getCookie: \" + playTimeAnon); \r\n \/\/console.log(\"videoId: \" + videoId);\r\n playTimeCurrent1 = playTimeAnon;\r\n }\r\n \r\n \/\/console.log(\"playTime1: \" + playTime1);\r\n \/\/console.log(\"playTimeCurrent1: \" + playTimeCurrent1);\r\n \r\n \/\/console.log(parseInt(st1));\r\n if(parseInt(st1) >= 0 ) {\r\n playTimeCurrent1 = parseInt(st1);\r\n }\r\n this.currentTime(playTimeCurrent1);\r\n if( (this.currentTime() + threshold1) > counter1 ) {\r\n \/\/console.log(\"this.currentTime: \" + this.currentTime() + \", counter1: \" + counter1);\r\n \/\/counter1 = this.currentTime() + threshold1;\r\n counter1 = this.currentTime();\r\n \/\/console.log(\"new this.currentTime: \" + this.currentTime() + \", counter1: \" + counter1);\r\n }\r\n \/\/console.log(\"playTime: \" + playTime);\r\n\tvar gotDuration1 = false;\r\n \r\n player1.ready(function(){\r\n this.on('loadedmetadata', function(){ \r\n \/\/console.log(\"this.duration: \" + this.duration());\r\n duration1 = this.duration();\r\n \/\/if (this.currentTime() <= duration1 -1)\r\n })\r\n });\r\n\r\n this.on(\"seeked\", function(){\r\n \/\/console.log(\"seeked: ------------------------Seeking\");\r\n \r\n cuepoint = 0;\r\n \r\n \r\n ct = this.currentTime();\r\n roundUpHowMuch = 1;\r\n roundUp = roundUpToAny(ct,roundUpHowMuch);\r\n \/\/diff = roundUp - counter1;\r\n diff = ct - playTimeCurrent1;\r\n diffRoundup = roundUpToAny(diff,roundUpHowMuch) - 30;\r\n \/\/playTime1 = diffRoundup;\r\n \/\/console.log(\"playTimeCurrent1: \" + playTimeCurrent1 + \", ct: \" + ct + \", roundUp: \" + roundUp + \", diff: \" + diff + \", diffRoundup: \" + diffRoundup);\r\n \/\/console.log(\"seeked: currentTime \" + ct + \", old counter1: \" + counter1 + \", roundUp: \" + roundUp + \", diff: \" + diff);\r\n counter1 = roundUp;\r\n \/\/console.log(\"New counter1: \" + counter1);\r\n \r\n if( (diffRoundup > roundUpHowMuch) || (diffRoundup < -roundUpHowMuch) ) {\r\n \/\/console.log(\"seeked: Yes, diff > roundUpHowMuch or < -roundUpHowMuch: \" + diffRoundup);\r\n \/\/console.log(\"ping 2: seeked\");\r\n var data = {\r\n 'action': 'trackViews',\r\n 'playTime': this.currentTime(),\r\n 'videoId': 230,\r\n 'duration': this.duration(),\r\n 'threshold': threshold1,\r\n 'event': 'seek',\r\n 'diff': diffRoundup,\r\n 'postId': 10632 };\r\n jQuery.post(ajaxurl, data, function(response) { });\r\n }\r\n \r\n playTimeCurrent1 = this.currentTime();\r\n \/\/console.log(\"playTimeCurrent1: \" + playTimeCurrent1);\r\n\r\n \/\/if(ct > roundUp) {\r\n \/\/console.log(\"DO SOMETHING IMPORTANT HERE!!!!!!!!\");\r\n \/\/}\r\n });\r\n \r\n this.on(\"timeupdate\", function(){\r\n \/\/console.log(\"in timeupdate\");\r\n if (this.currentTime() >= et1) {\r\n this.pause();\r\n }\r\n \r\n \/\/if( (this.currentTime() + threshold1) > counter1 ) {\r\n \/\/counter1 = this.currentTime() + threshold1;\r\n \/\/console.log(\"this.currentTime: \" + this.currentTime() + \", counter1: \" + counter1);\r\n \/\/}\r\n \r\n \/**\r\n if (this.currentTime() <= duration1 -1) {\r\n \/\/alert(\"here\");\r\n playTime1 = 0;\r\n playTimeCurrent1 = 0;\r\n } else {\r\n playTime1 = this.currentTime();\r\n playTimeCurrent1 = this.currentTime();\r\n }\r\n \r\n if( (this.currentTime() + threshold1) < counter1 ) {\r\n console.log(\"this.currentTime: \" + this.currentTime() + \", counter1: \" + counter1);\r\n counter1 = this.currentTime() + threshold1;\r\n console.log(\"new this.currentTime: \" + this.currentTime() + \", counter1: \" + counter1);\r\n }\r\n *\/\r\n\t\t\r\n \/\/console.log(\"timeupdate: ---> this.currentTime: \" + this.currentTime() + \", counter1: \" + counter1);\r\n \r\n if (this.currentTime() >= counter1) {\r\n \/\/console.log(\"timeupdate: currentTime() >= counter1\");\r\n\r\n\t\t\t\/\/set a timer for threshold seconds\r\n \/\/console.log(\"this.currentTime: \" + this.currentTime() + \", counter1: \" + counter1 + \", threshold1: \" + threshold1);\r\n\t\t\tsetInterval(function() {\r\n\t\t\t\t\/\/do nothing\r\n\t\t\t}, threshold1 * 1000);\r\n\t\t\t\/\/alert (counter1 + \" seconds up\");\r\n\t\t\t\r\n\t\t\tcounter1 += threshold1;\r\n\r\n\t\t\tif(!gotDuration1) {\r\n\t\t\t\tduration1 = this.duration();\r\n\t\t\t\tgotDuration1 = true;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\/\/Track play time\r\n if( !this.paused() ) {\r\n \/\/console.log(\"ping 3: timeupdate\");\r\n var data = {\r\n 'action': 'trackViews',\r\n 'playTime': this.currentTime(),\r\n 'videoId': 230,\r\n 'duration': this.duration(),\r\n 'threshold': threshold1,\r\n 'event': 'play',\r\n 'postId': 10632 };\r\n jQuery.post(ajaxurl, data, function(response) { });\r\n \r\n if(userIdAnon == 0) { \/\/Anonymous user\r\n \/\/setCookie(\"userIdAnon\", \"0\", 30);\r\n setCookie(\"videoIdAnon\", \"230\", 30);\r\n setCookie(\"playTimeAnon\", this.currentTime(), 30);\r\n \/\/console.log(\"playTimeAnon: \" + this.currentTime());\r\n }\r\n }\r\n\r\n\t\t}\r\n \r\n\t});\r\n\t\r\n this.on(\"play\", function(){\r\n \/\/this.playbackRate(1.5);\r\n \/**\r\n if(this.currentTime() < playTimeCurrent1) {\r\n console.log(\"play: this.currentTime() < playTimeCurrent1\");\r\n if(this.currentTime() < this.duration()) {\r\n this.currentTime(playTimeCurrent1);\r\n } else {\r\n this.currentTime(0);\r\n }\r\n \/\/alert(this.currentTime() + \", \" + playTime);\r\n }\r\n *\/\r\n \r\n \r\n \/**\r\n var data = {\r\n 'action': 'trackLoads',\r\n 'videoId': 230,\r\n 'playTime': 0,\r\n 'event': 'start',\r\n 'postId': 10632 };\r\n \r\n\t jQuery.post(ajaxurl, data, function(response) { }); \r\n \r\n *\/\r\n \r\n jQuery('#video1 .vjs-big-play-button').css('display', 'none');\r\n \r\n div = document.getElementsByClassName(\"vjs-watermark\")[1-1];\r\n if (div) {\r\n div.style.display = \"block\";\r\n }\r\n });\r\n\r\n \r\n this.on(\"fullscreenchange\", function(){\r\n\t\tjQuery('.vjs-loading-spinner').remove();\r\n\t\tthis.loadingSpinner.hide();\r\n\t});\r\n\t\r\n this.on('ended', function() {\r\n \/\/console.log(\"ping 4: ended\");\r\n var data = {\r\n\t\t\t'action': 'trackViews',\r\n\t\t\t'playTime': this.currentTime(),\r\n\t\t\t'videoId': 230,\r\n 'duration': this.duration(),\r\n 'threshold': threshold1,\r\n 'event': 'end',\r\n 'postId': 10632\t\t};\r\n \/\/this.currentTime(st);\r\n \/\/alert(\"starting time: \" + st);\r\n\t\tjQuery.post(ajaxurl, data, function(response) { });\r\n \/\/console.log('ended: ' + this.duration());\r\n \r\n endTime1 = this.currentTime();\r\n\t\t\/\/Track play time\r\n\t\t\/\/console.log(\"event: end firing\");\r\n counter1 = st1;\r\n playTime1 = 0;\r\n playTimeCurrent1 = 0;\r\n this.currentTime(0);\r\n threshold1 = 15;\r\n \/\/console.log(\"ended: ping 2\");\r\n \r\n \t});\r\n \r\n \r\n this.on('ratechange', function() {\r\n var currentSpeed = this.playbackRate();\r\n \/\/console.log(\"currentSpeed: \" + currentSpeed);\r\n localStorage.setItem('videoSpeed', currentSpeed);\r\n });\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n jQuery.fn.isInViewport = function() {\r\n var elementTop = jQuery(this).offset().top;\r\n var elementBottom = elementTop + jQuery(this).outerHeight();\r\n\r\n var viewportTop = jQuery(window).scrollTop();\r\n var viewportBottom = viewportTop + jQuery(window).height();\r\n\r\n return elementBottom > viewportTop && elementTop < viewportBottom;\r\n };\r\n \r\n \r\n \r\n \r\n \r\nsetupTextTracks();\r\n \r\n}); \/\/End videojs player ready\r\n\r\nvar promise;\r\n \r\n\/\/localStorage.removeItem('captions');\r\n\/\/delete localStorage.captions;\r\n\/\/localStorage.clear();\r\n \r\n\/* ]]> *\/\r\n<\/script>\r\n\r\n\r\n\r\n\r\n<\/p>\r\n<p style=\"text-align: center;\">As a loyal member of Yippee Ki-Ay Blues, you can get an amazing deal for The <a href=\"https:\/\/hyperpyron.com\/br3\/\">Belkin Report 3<\/a> which includes includes a monthly Belkin Report and the BR2 Report weekly for $4,300 per year. For Yippee Ki-Ay Blues Fans, you can receive a 10% discount below.<\/p>\r\n<p style=\"text-align: center;\"><strong>To get your 10% discount off the Belkin Report 3 (BR3), the code is YIPPEE and you can apply it <a href=\"https:\/\/hyperpyron.com\/br3\/\">here<\/a> at the Belkin Report 3 webpage.<\/strong><\/p>\r\n<p style=\"text-align: center;\"><!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph {\"align\":\"center\"} --><\/p>\r\n<p class=\"has-text-align-center\" style=\"text-align: center;\"><strong>Musical Visualizers Design and Production Credits: SwiftEyes Innovation Inc.<\/strong><\/p>\r\n<p style=\"text-align: center;\"><strong>3D Design and Engineering: SwiftEyes Innovation Inc.<\/strong><\/p>\r\n<p style=\"text-align: center;\"><!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph {\"align\":\"center\"} --><\/p>\r\n<p class=\"has-text-align-center\" style=\"text-align: center;\"><strong>Graphics Design Credits: SwiftEyes Innovation Inc.<\/strong><\/p>\r\n<p style=\"text-align: center;\"><!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph {\"align\":\"center\"} --><\/p>\r\n<p class=\"has-text-align-center\" style=\"text-align: center;\"><strong>Music Credits: Bridget Kelly Band <\/strong><\/p>\r\n<p style=\"text-align: center;\"><!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph {\"align\":\"center\"} --><\/p>\r\n<p class=\"has-text-align-center\" style=\"text-align: center;\"><strong>\u00a9 2023 SwiftEyes Innovation Inc., All rights reserved<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>This is the 8th episode of 2023 for “Yippee’s Creations”. For this particular segment, to celebrate our upcoming 10th year anniversary for Yippee Ki-Ay Blues, I selected Bridget Kelly Band. Back in July 2016, we did a live stream event <span class=\"readmore\"><a class=\"more-link\" href=\"https:\/\/www.yippeekiayblues.com\/yippees-creations-18-mar-2023\/\">Read More …<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":10631,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[52,1,3777],"tags":[31,716,191,4277,4282,4001,3895,3979,3778],"class_list":["post-10632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blues-in-yippee-ki-ay-blues-grid","category-categories","category-yippees-creations","tag-blues-music","tag-blues-rock","tag-bridget-kelly-band","tag-metaverse-marketing","tag-metaverse-new","tag-multiverse","tag-music-video","tag-music-visualizer","tag-yippees-creations"],"_links":{"self":[{"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/posts\/10632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/comments?post=10632"}],"version-history":[{"count":3,"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/posts\/10632\/revisions"}],"predecessor-version":[{"id":10637,"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/posts\/10632\/revisions\/10637"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/media\/10631"}],"wp:attachment":[{"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/media?parent=10632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/categories?post=10632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yippeekiayblues.com\/wp-json\/wp\/v2\/tags?post=10632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}