Yesterday’s Song Lyric Karaoke Style SubRip Subtitles Automated Tutorial work “comes along for the ride” in the cloning of the Song Lyric Karaoke Style SubRip Subtitles web application to a new Video Commentary YouTube Style SubRip Subtitles web application, where we started getting interested in supporting programmatically created “summary” element wording mapped to … YouTube 11 character … link to a YouTube video … YouTube 34 character … link to a YouTube playlist … Spotify 22 character … link to a Spotify playlist … Strings with . and @ … link to a mailto: “a” link means of communication … Strings mainly numerical … link to an SMS: “a” link means of communication Strings starting with “http” or “//” … link to a URL, suiting ones like Wikipedia uses (at this stage) … because we envisage the how we got there cloning to video_commentary.html web application (you can try below) Video Commentary YouTube Style SubRip Subtitles web application could be useful for research purposes and/or presentations using YouTube as that ever useful starting point. It got help via … further embellished stop_start_youtube.html inhouse YouTube API interfacer the parent level changed karaoke_youtube_api.htm inhouse YouTube Informational Organizer and improved Audio Recording Organizer featuring … function otherlegit(ineleven, iflegit, thiseleven) { if (eval(” + ineleven.length) != thiseleven) { return ‘JUNK’ + iflegit; //} else if (ineleven.slice(-1).replace(‘A’,”).replace(‘E’,”).replace(‘I’,”).replace(‘M’,”).replace(‘Q’,”).replace(‘U’,”).replace(‘Y’,”).replace(‘c’,”).replace(‘g’,”).replace(‘k’,”).replace(‘o’,”).replace(‘s’,”).replace(‘w’,”).replace(‘0’,”).replace(‘4’,”).replace(‘8’,”) != ”) { // return ‘JUNK’ + iflegit; } for (var ijk=0; ijk<ineleven.length; ijk++) { if (ineleven.substring(ijk).substring(0,1) >= ‘a’ && ineleven.substring(ijk).substring(0,1) <= ‘z’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) >= ‘A’ && ineleven.substring(ijk).substring(0,1) <= ‘Z’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) >= ‘0’ && ineleven.substring(ijk).substring(0,1) <= ‘9’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) == ‘/’ || ineleven.substring(ijk).substring(0,1) == ‘+’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) == ‘-‘ || ineleven.substring(ijk).substring(0,1) == ‘_’) { ijk=ijk; } else { return ‘JUNK’ + iflegit; } } return iflegit; } function maybelegit(ineleven, iflegit) { if (eval(” + ineleven.length) != 11) { return iflegit.replace(‘tube’,’tuJUNKbe’); } else if (ineleven.slice(-1).replace(‘A’,”).replace(‘E’,”).replace(‘I’,”).replace(‘M’,”).replace(‘Q’,”).replace(‘U’,”).replace(‘Y’,”).replace(‘c’,”).replace(‘g’,”).replace(‘k’,”).replace(‘o’,”).replace(‘s’,”).replace(‘w’,”).replace(‘0’,”).replace(‘4’,”).replace(‘8’,”) != ”) { return iflegit.replace(‘tube’,’tuJUNKbe’); } for (var ijk=0; ijk<ineleven.length; ijk++) { if (ineleven.substring(ijk).substring(0,1) >= ‘a’ && ineleven.substring(ijk).substring(0,1) <= ‘z’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) >= ‘A’ && ineleven.substring(ijk).substring(0,1) <= ‘Z’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) >= ‘0’ && ineleven.substring(ijk).substring(0,1) <= ‘9’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) == ‘/’ || ineleven.substring(ijk).substring(0,1) == ‘+’) { ijk=ijk; } else if (ineleven.substring(ijk).substring(0,1) == ‘-‘ || ineleven.substring(ijk).substring(0,1) == ‘_’) { ijk=ijk; } else { return iflegit.replace(‘tube’,’tuJUNKbe’); } … Continue reading →
YouTube Style SubRip Subtitles Button Tutorial
We all hope the “latest button” will help out achieving something with online endeavours. So what about a “button” with a dual purpose according to need … well … quick … get thee to The Button Shop … post haste! Yes, our new collaboration endeavours have reached the “material button” phase, further to yesterday’s YouTube Style SubRip Subtitles Overlay Tutorial, with our new collaboration button wording being … “Collaboration” … ahead of a collaboration Originator creating a collaboration grouping associated with a particular YouTube video … and … “Feedback” … ahead of a collaborator (who has been contacted via email or SMS by the Originator) … presumably making changes (or just being sociable, or yanking your chain?!) … and recontacting the Originator and other collaboration group members with their “Feedback” … and using Javascript global variable anyhash as the determinant of this behaviour (but all behaviours, be warned, anyhash is not qualified?!). At document.body.onload event we have … var anyhash=”; var prefixer=”, suffixer=”; function mobissue() { if (decodeURIComponent(document.URL).indexOf(‘#’) != -1 && eval(” + decodeURIComponent(document.URL).split(‘#’).length) > 1) { var emis=decodeURIComponent(decodeURIComponent(document.URL).split(‘#’)[eval(-1 + decodeURIComponent(document.URL).split(‘#’).length)]).replace(/^group\=/g,”); if (emis.indexOf(‘[‘) > 0 && emis.indexOf(‘]’) > emis.indexOf(‘[‘)) { // && emis.indexOf(‘#’) > emis.indexOf(‘]’)) { anyhash=’#group=’ + encodeURIComponent(emis.split(‘#’)[eval(-1 + emis.split(‘#’).length)] + ‘,’ + emis.replace(/\ /g,’%20′).split(‘#’)[0]); prefixer='<font onclick=”parent.onl(event);” color=”blue”>’; suffixer='</font>’; } } if (anyhash != ”) { // am a collaborator setTimeout(function(){ document.getElementById(‘dcol’).innerHTML='<button id=bdcol style=display:inline-block; onclick=docollaborate(true); title=” … to collaboration group ‘ + decodeURIComponent(anyhash.replace(/\#group\=/g,”)).replace(‘#’,’,’) + ‘”>Feedback</button>’; }, 6000); } else { setTimeout(function(){ document.getElementById(‘dcol’).innerHTML='<button id=bdcol style=display:inline-block; onclick=docollaborate(false); title=”Invite a group to collaborate including a ‘ + “‘From'” + ‘ contact # hash separated from a comma separated collaboration group list in format Name[contactAllEmailsOrAllSMS]#Originator[contactAsPerListType]”>Collaborate</button>’; }, 6000); } if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) { document.getElementById(‘dfp’).innerHTML=document.getElementById(‘dfp’).innerHTML.replace(/\<\/textarea\>/g, ‘</input>’).replace(/\<textarea\ rows\=\”1\”\ data\-type\=/g, ‘<input type=’); } var sih=document.getElementById(‘sisterhood’).innerHTML.split(document.getElementById(‘sisterhood’).innerHTML.split(‘</option>’)[0] + ‘</option>’)[1]; document.getElementById(‘sisterhood’).innerHTML+=sih.replace(/option\ value/g, ‘option title=”Down below” value’).replace(/\<\/option\>/g, ‘ (down below)</option>’).replace(/\.html/g, ‘.html#below’); document.getElementById(‘sisterhood’).innerHTML+=sih.replace(/option\ value/g, ‘option title=”Popup window” value’).replace(/\<\/option\>/g, ‘ (popup window)</option>’).replace(/\.html/g, ‘.html#popup’); } … teaming with a new Javascript function docollaborate to be called on that button’s onclick event … function docollaborate(amcollaborator) { var colans=”, colarr=[]; if (!amcollaborator) { colans=prompt(‘To collaborate, as the collaboration group Originator please enter a (optionally if multiple comma separated) Name[contactAllEmailOrAllSMS] list to collaborate with then a hash # to separate a Originator[emailOrSMStoMatchNameType] … eg. RMet[rmetcalfe15@gmail.com],RMetcalfe[rmetcalfe15@gmail.com]#RM[rmetcalfe15@gmail.com]’, ”); if (colans == null) { colans=”; } if (colans.indexOf(‘[‘) > 0 && colans.indexOf(‘]’) > colans.indexOf(‘[‘) && colans.indexOf(‘#’) > colans.indexOf(‘]’) && colans.split(‘#’)[eval(-1 + colans.split(‘#’).length)].indexOf(‘[‘) > 0 && colans.split(‘#’)[eval(-1 + colans.split(‘#’).length)].indexOf(‘]’) > colans.split(‘#’)[eval(-1 … Continue reading →