'); var a = window.open('', '', 'width=700,height=960'); a.document.open("text/html"); a.document.write(html.join("")); a.document.close(); } }var tempo = 99.0,changedpage=0,lb,rb,sco,sco2,pb,pi,bg1,bg2,ic1,ic0,ic2,ic3,ic4,aic0,aic1,aic2,aic3,aic4,l1,l2,pdfadd,ss,styp,sic,pauseon=0,meton=0,speedval=1.0,currpage=1,currpagearryno=1,introbars=1; //no intro 5=4var introdelay=2000,iipage=1,no_pages=1;ss='/school/svg/';var images = new Array();var blankImage = new Image();blankImage.src ="/school/svg/blank3.svg"; var imageCache = {"": blankImage};window.onload = function(){ document.onkeyup = function(event){ var e = (!event) ? window.event : event; var kcode=e.keyCode evenwhen(kcode); };};window.onkeydown = function(event) { var e = (!event) ? window.event : event;var kcode=e.keyCode if (kcode==32){ var elem if (e.srcElement) elem = e.srcElement; else if (e.target) elem = e.target; if (elem.tagName.toLowerCase()=='input' || elem.tagName.toLowerCase()=='textarea') {} else{ if(lb==null){ initiatestuff();playmain(kcode); } else{ callpause2(); } return false; } }};var meton=0,everyplayed2=0,everyplayed=0,carryon=true,play_status=0,totdone,toty,score='piano/rihanna_stay';function callpause2(){ var num_listened=readCookie('num_listened') if (num_listened=='undefined'||num_listened=='NaN'){num_listened=0;} if (num_listened>3){ overlay();return ; } else{ callpause();} }styp="main";var page_printed=0;var cp4p; const newPButton = document.querySelector(".icon_printer"); newPButton.addEventListener("click", async () => { if (!showTwoPages){var src=document.getElementById('score').src; printdiv(src,0);return;} if (page_printed==0){ cp4p=currpage; if (currpage<10){ cp4p='00'+cp4p; } else if(currpage<100){cp4p='0'+cp4p;} //var printstring=ss+score+cp4p+'.png'; alert('This will print the left hand page. Press print again to print the right hand page. \n\nTo print entire pieces in one go, and for higher quality printing from our PDF files, please subscribe.'); var src=document.getElementById('score').src; src = src.replace(/(\d{2})\.svg$/, '0$1.svg'); src = src.replace(/svg/g, 'png'); page_printed=1; printdiv(src,0); } else {page_printed=0; //var printstring=ss+score+cp4p+'.png'; alert('This will now print the right hand page. Press print again to print the left hand page, or for longer pieces, navigate to next pages and press print again.'); var src=document.getElementById('score2').src; src = src.replace(/(\d{2})\.svg$/, '0$1.svg'); src = src.replace(/svg/g, 'png'); printdiv(src,0) }});function convertToPdfUrl(url) { if (url.includes('/png/')) { url = url.replace('/png/', '/pdf/'); let lastPngIndex = url.lastIndexOf('.png'); if (lastPngIndex !== -1) { url = url.substring(0, lastPngIndex - 3) + url.substring(lastPngIndex); } url = url.replace('.png', '.pdf'); } else if (url.includes('/svg/')) { url = url.replace('/svg/', '/pdf/'); let lastSvgIndex = url.lastIndexOf('.svg'); if (lastSvgIndex !== -1) { url = url.substring(0, lastSvgIndex - 2) + url.substring(lastSvgIndex); } url = url.replace('.svg', '.pdf'); } return url;}function openPDF(){}function doprint() { var isSafari = window.safari !== undefined; if(lb==null){initiatestuff()} alert('N.B. This will print only the current page.\n\nIf this piece has more than one page, you will need to print each page individually. Navigate to other pages using the << and >> buttons.\n\nTo print entire pieces in one go, and for higher quality printing from our PDF files, please subscribe.') var ssrc=sco.src; var src=document.getElementById('score').src; printdiv(src,0)} class ConfirmDialog { constructor({ questionText, trueButtonText, falseButtonText, parent }) { this.questionText = questionText || "Are you sure?"; this.trueButtonText = trueButtonText || "Yes"; this.falseButtonText = falseButtonText || "No"; this.parent = parent || document.body; this.dialog = undefined; this.trueButton = undefined; this.falseButton = undefined; this._createDialog(); this._appendDialog(); } confirm() { return new Promise((resolve, reject) => { const somethingWentWrongUponCreation = !this.dialog || !this.trueButton || !this.falseButton; if (somethingWentWrongUponCreation) { reject('Someting went wrong when creating the modal'); return; } this.dialog.showModal(); this.trueButton.focus(); this.trueButton.addEventListener("click", () => { resolve(true); this._destroy(); }); this.falseButton.addEventListener("click", () => { resolve(false); this._destroy(); }); }); } _createDialog() { this.dialog = document.createElement("dialog"); this.dialog.classList.add("confirm-dialog"); const question = document.createElement("div"); question.textContent = this.questionText; question.classList.add("confirm-dialog-question"); this.dialog.appendChild(question); const buttonGroup = document.createElement("div"); buttonGroup.classList.add("confirm-dialog-button-group"); this.dialog.appendChild(buttonGroup); this.falseButton = document.createElement("button"); this.falseButton.classList.add( "confirm-dialog-button", "confirm-dialog-button--false" ); this.falseButton.type = "button"; this.falseButton.textContent = this.falseButtonText; buttonGroup.appendChild(this.falseButton); this.trueButton = document.createElement("button"); this.trueButton.classList.add( "confirm-dialog-button", "confirm-dialog-button--true" ); this.trueButton.type = "button"; this.trueButton.textContent = this.trueButtonText; buttonGroup.appendChild(this.trueButton); } _appendDialog() { this.parent.appendChild(this.dialog); } _destroy() { this.parent.removeChild(this.dialog); delete this; }} function getCachedImageFromMap (path, map) { let image = map[path]; if (image) return image; image = new Image(); image.src = path; map[path] = image; return image;} var scfile=ss+score+'01.svg'; var scfile2=''; function playalongacc(pltype) { if(ison0) { hideLoopGuide(); } if(lb==null){initiatestuff()} switch (pltype){ case 1: if (ison1==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; case 2: if (ison2==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; case 3: if (ison3==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; case 4: if (ison4==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; } stimer = window.setTimeout( "playalongacc2("+pltype+")", (pppa*1000)); checkIfShouldShowTwoPages(); }var baseUrl = '';function playalongacc2(pltype, keepPlayState, wasOn){ let wasStoped = pauseon || !wasOn; if(typeof bpp !== 'undefined' && typeof ppt !== 'undefined') { temp_IS_HIGHLIGHT_ON=IS_HIGHLIGHT_ON; } else{ temp_IS_HIGHLIGHT_ON=false;l1.style.visibility='hidden'; } var bon=0; stopplayalongreturntostandardview() if (ison1||ison2||ison3||ison4) { playalongstop() btn_transpose.style.visibility='visible'; } else { if (!keepPlayState || !wasStoped) { startTimeframe(DESIRED_FPS); } l1.style.visibility='visible'; btn_transpose.style.visibility='hidden'; } var num_listened=readCookie('num_listened') if(num_listened=='undefined'||num_listened=='NaN'){num_listened=0;} if(everyplayed==0){num_listened=p(num_listened)+1;eraseCookie('num_listened');createCookie('num_listened',num_listened,1);everyplayed=1;} if(num_listened>3){overlay();return } var aisp=document.getElementById('aispacer'); switch (pltype){ case 1: if (ison1==0){ bon=1;ison1=1;ison2=0;ison3=0;ison4=0;ison0=0;ic1.src=sic;aud=document.getElementById('demo1'); pico.style.display='inline-block!important';ic2.style.display='none';aic0.style.display='none';aic2.style.display='none'; aisp.style.display='inline-flex';aisp.style.visibiliy='visible'; if(ic3){aic3.style.display='none';ic3.style.display='none';} if(ic4){aic4.style.display='none';ic4.style.display='none';} } break; case 2: if(ison2==0){bon=1;ison1=0;ison2=1;ison4=0;ison3=0;ison0=0;ic2.src=sic;aud=document.getElementById('demo2'); pico.style.display='inline-block!important';ic1.style.display='none';aic0.style.display='none';aic1.style.display='none';aisp.style.display='inline-flex';aisp.style.visibiliy='visible'; if(ic3){aic3.style.display='none';ic3.style.display='none';} if(ic4){aic4.style.display='none';ic4.style.display='none';} } break; case 3: if(ison3==0){bon=1;ison1=0;ison2=0;ison4=0;ison3=1;ison0=0;ic3.src=sic;aud=document.getElementById('demo3'); pico.style.display='inline-block!important';ic1.style.display='none';aic0.style.display='none';aic1.style.display='none';aisp.style.display='inline-flex';aisp.style.visibiliy='visible' aic2.style.display='none';ic2.style.display='none'; if(ic4){aic4.style.display='none';ic4.style.display='none';} } break; case 4: if(ison4==0){bon=1;ison1=0;ison2=0;ison3=0;ison4=1;ison0=0;ic4.src=sic;aud=document.getElementById('demo4'); pico.style.display='inline-block!important';ic1.style.display='none';aic0.style.display='none';aic1.style.display='none';aisp.style.display='inline-flex';aisp.style.visibiliy='visible' aic2.style.display='none';ic2.style.display='none'; if(ic3){aic3.style.display='none';ic3.style.display='none';} } break;} if (bon==1) { pb.style.display='flex';pico.style.display='inline-block';document.getElementById('metandtemp').style.visibility='visible'; aud.addEventListener('timeframe', updateProgress, false); aud.addEventListener('ended', audioend); updateplaybackrate(document.getElementById('speed').value) speedval=document.getElementById('speed').value aud.play();aud.currentTime = 0; if(baseUrl==''){baseUrl=ss+score;} checkIfShouldShowTwoPages(); } else { pb.style.display='none';document.getElementById('metandtemp').style.visibiliy='hidden';pico.style.display='none'; ison1=0;ison2=0;ison3=0;ison4=0; } if(keepPlayState) { if (wasStoped) { pauseon=0; callpause(); setTimeout(() => { checkbartimeupdate(); updateProgress(); }, 100) } } } var no_part_pages=1;function stopplayalongreturntostandardview() {if(lb==null){initiatestuff()}l1.style.visibility = 'hidden';ic1.style.display='block';ic2.style.display='block';if(ic3){ic3.style.display='block';}if(ic4){ic4.style.display='block';}ic0.style.display='block';aic1.style.display='inline-block';aic2.style.display='inline-block';if(aic3){aic3.style.display='inline-block';}if(aic4){aic4.style.display='inline-block';}aic0.style.display='inline-block';aisp=document.getElementById('aispacer');aisp.style.display='none';aisp.style.visibility='hidden';pico.src='/imc/pause.png';document.getElementById('icon0').src = '/imc/play.png';document.getElementById('progress').style.width = "0%";currpage=1;document.getElementById('demo0').pause(); if(curtransp!=0){ switchScore('score', thissc+'_'+curtranspdir+curtransp+'001.gif'); switchScore('score2', thissc+'_'+curtranspdir+curtransp+'002.gif'); } else{ sco.style = {}; sco2.style ={}; }if (!ext_traditional){ lb.classList.add("pagenav_disabled"); if (no_pages>2||!showTwoPages&&no_pages>1){rb.classList.remove("pagenav_disabled");}}} function playalongstop() { resizeStage(); stop=true; l1.style.visibility = 'hidden'; sco.style.top='0'; document.getElementById('mainscore').style.height='100%'; document.getElementById('icon0').src = '/imc/play.png'; document.getElementById('demo0').pause(); } function createCookie(name,value,days) {if (days) { var expires="",date=new Date(),midnight=new Date(date.getFullYear(),date.getMonth(),date.getDate(),23,59,59); expires = "; expires=" + midnight.toGMTString(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); }else var expires = "";document.cookie = name+"="+value+expires+"; path=/";var gtxt=''if(3-value>1){gtxt=(3-value)+' free plays';}else if (3-value==1){gtxt=(3-value)+' free play';}else if (3-value<1){gtxt='0 free plays';}else{gtxt='3 free plays';} var pleft=document.getElementById('playleft'); pleft.innerHTML=gtxt+' left today. Subscribe for unlimited plays.'; pleft.style.dispaly='block';pleft.style.visibility='visible';}var pt = []; pt[1] = { e:38, p:1 }; var bt = []; bt[1]={e:24,b:1};bt[2]={e:48,b:2};bt[3]={e:72,b:3};bt[4]={e:96,b:4};bt[5]={e:120,b:1};bt[6]={e:144,b:2};bt[7]={e:168,b:3};bt[8]={e:192,b:4};bt[9]={e:216,b:5};bt[10]={e:240,b:6};bt[11]={e:264,b:7};bt[12]={e:288,b:8};bt[13]={e:312,b:9};bt[14]={e:336,b:10};bt[15]={e:360,b:11};bt[16]={e:384,b:12}; var bp = []; bp[1]={t:125,l:86,w:165,h:71 };bp[2]={t:125,l:251,w:113,h:71 };bp[3]={t:125,l:364,w:112,h:71 };bp[4]={t:125,l:477,w:120,h:71 };bp[5]={t:309,l:80,w:168,h:71 };bp[6]={t:309,l:248,w:104,h:71 };bp[7]={t:309,l:352,w:146,h:71 };bp[8]={t:309,l:498,w:104,h:71 };bp[9]={t:474,l:80,w:153,h:71 };bp[10]={t:474,l:233,w:119,h:71 };bp[11]={t:474,l:352,w:119,h:71 };bp[12]={t:474,l:471,w:127,h:71 }; var delaytime=0;var pageBeforeChanging;function changepage1(e) { console.log(currpage) let base; let playTimes; let maxPages; let playingpart; let readytogo; document.getElementById('layer1').style.visibility = 'hidden'; if (lb == null) { initiatestuff(); } if (ison1 ||ison2 ||ison3||ison4) { if(typeof bpp !== 'undefined' && typeof ppt !== 'undefined') { playTimes = ppt; } else { playTimes = pt; } base = baseUrl; maxPages = max_playalong_page; playingpart=true; } else { playingpart=false; playTimes = pt; base = ss+score; maxPages = no_pages; } let mult = showTwoPages ? 2 : 1; if (changedpage==0) { pageBeforeChanging = currpage; changedpage = 1; manual_scroll=1; } if (carryon == 1 && e == 'r' && currpage + mult <= maxPages ) { currpage += mult; var cp; cp = formatPageNumber(currpage,playingpart); if (!playingpart&&curtransp!=0) { switchScore("score", thissc+'_'+curtranspdir+curtransp+cp+'.gif'); } else { switchScore("score", base+cp+'.svg');} if (showTwoPages) { if (currpage + 1 <= maxPages ) { var currpageplus1 = currpage+1; cp2 = formatPageNumber(currpageplus1,playingpart); if (!playingpart&&curtransp!=0){ switchScore("score2", thissc+'_'+curtranspdir+curtransp+cp2+'.gif'); } else { switchScore("score2", base+cp2+'.svg'); } } else { switchScore("score2", ''); score2.style.width='11542px'; } } lb.classList.remove("pagenav_disabled") if (currpage >= maxPages ||(showTwoPages&&currpage+1 >= maxPages)) { rb.classList.add("pagenav_disabled") } } else if ('l' == e && currpage > 1 * mult) { currpage -= mult; var cp; cp = formatPageNumber(currpage,playingpart); if (!playingpart&&curtransp!=0) { switchScore("score", thissc+'_'+curtranspdir+curtransp+cp+'.gif'); } else { switchScore("score", base+cp+'.svg'); } if (showTwoPages) { if (currpage + 1 <= maxPages) { var currpageplus1 = currpage+1; cp2 = formatPageNumber(currpageplus1,playingpart); if (!playingpart&&curtransp!=0) { switchScore("score2", thissc+'_'+curtranspdir+curtransp+cp2+'.gif'); } else { switchScore("score2", base+cp2+'.svg'); } } else { switchScore("score2", ''); score2.style.width='11542px'; } } rb.classList.remove("pagenav_disabled") if (1 == currpage) { lb.classList.add("pagenav_disabled") } }}function formatPageNumber(page, isPlayingPart=false) { if (isPlayingPart || curtransp == 0) { return page < 10 ? '0' + page : page; } else { return page < 10 ? '00' + page : (page < 100 ? '0' + page : page); }}function changepage2(dir) { hideLoopGuide(); changepage1(dir);}function changepage_playalong(dir) { if(lb==null){ initiatestuff(); } document.getElementById('layer1').style.visibility='hidden'; if( ison3==1||ison2==1||ison4==1){ //changing part var ds=sco.src; if(dir=='r') { switchScore('score', bumpStringInt(ds,dir)); } else { switchScore('score', bumpStringInt(ds,dir)); } } else { if (changedpage==0) { pageBeforeChanging = currpage; changedpage = 1; } var cp2 if(carryon==true){ if(dir=='r'&&(currpage<0)) { currpage=currpage+1; if (currpage<10){cp2='00'+(currpage)} else if (currpage<100){cp2='0'+(currpage)} else {cp2=currpage} switchScore("score", baseUrl+cp2+'.svg'); lb.classList.remove("pagenav_disabled"); if (currpage==max_playalong_page||showTwoPages&&(currpage+1 == max_playalong_page)){rb.classList.add("pagenav_disabled");} } else if(dir=='l'&&(currpage>1)) { currpage=currpage-1; if (currpage<10){cp2='00'+(currpage)} else if (currpage<100){cp2='0'+(currpage)} else {cp2=currpage} switchScore("score", baseUrl+cp2+'.svg'); rb.classList.remove("pagenav_disabled"); if (currpage==1){lb.classList.add("pagenav_disabled");} } } }}var pauseamount=0;var pppa=0;var stimer; function playmain(stype){ baseUrl=''; temp_IS_HIGHLIGHT_ON=IS_HIGHLIGHT_ON; manual_scroll=0;if(g){ clearTimeout(g);} if(ison1) { hideLoopGuide(); } if (document.getElementById('pausebefore').checked==true&&ison0 == 0){ pauseamount=5;updatecountin(); pppa=pauseamount+1;} else {pauseamount=0;pppa=0} stimer = window.setTimeout( "playmain2("+stype+")", (pppa*1000)); stopplayalongreturntostandardview() resizeStage();} function playmain2(stype, keepPlayState, wasOn) { partopen=0; let wasStoped = pauseon || !wasOn; if(lb==null){initiatestuff()} if (stype==0){ stopplayalongreturntostandardview() } if (ison0) { playalongstop();changedpage=0; } else { if (!keepPlayState || !wasStoped) { startTimeframe(DESIRED_FPS); } l1.style.visibility='visible'; } var num_listened=readCookie('num_listened') if (num_listened=='undefined'||num_listened=='NaN'){num_listened=0;} if (everyplayed==0){ num_listened=p(num_listened)+1; eraseCookie('num_listened') createCookie('num_listened',num_listened,1) everyplayed=1; } if (num_listened>3){overlay();return ;} if (ison0 == 0) { ison0 = 1;ison1=0 ;ison2=0;ison3=0;ison4=0; document.getElementById('icon0').src = sic; aud=document.getElementById('demo0') pb.style.display='flex'; document.getElementById('metandtemp').style.visibility='visible'; pico.style.display='inline-block'; ic1.style.display='none'; ic2.style.display='none'; aic1.style.display='none'; aic2.style.display='none'; if (ic3){ ic3.style.display='none'; aic3.style.display='none'; } if (ic4){ ic4.style.display='none'; aic4.style.display='none'; } aisp=document.getElementById('aispacer'); aisp.style.display='inline-flex';aisp.style.visibiliy='visible'; checkIfShouldShowTwoPages(); aud.addEventListener('timeframe',function(){ if (aud.currentTime< 38) { if(currpage!=1&&changedpage==0){ currpage=1 switchScore('score', ss+score+'0'+(currpage)+'.svg'); lb.classList.remove("pagenav_disabled"); rb.classList.remove("pagenav_disabled"); if (currpage==no_pages||showTwoPages&&(currpage+1 == no_pages)){rb.classList.add("pagenav_disabled");} } } },false); aud.addEventListener('timeframe',checkbartimeupdate); aud.addEventListener('timeframe', updateProgress, false);aud.addEventListener('ended', audioend); updateplaybackrate(document.getElementById('speed').value) aud.play();aud.currentTime = 0; if (stype==0) { if(curtransp!=0){ switchScore('score', thissc+'_'+curtranspdir+curtransp+'001.gif'); switchScore('score2', thissc+'_'+curtranspdir+curtransp+'002.gif'); } else { switchScore('score', scfile); switchScore('score2', scfile2); } currpage=1; if(!ext_traditional){ lb.classList.add("pagenav_disabled"); if(no_pages>1&&!showTwoPages||no_pages>2){rb.classList.remove("pagenav_disabled"); } } } } else { ison0 = 0; pb.style.display='none'; pico.style.display='none'; if(curtransp!=0){ switchScore('score', thissc+'_'+curtranspdir+curtransp+'001.gif'); switchScore('score2', thissc+'_'+curtranspdir+curtransp+'002.gif'); } else { switchScore('score', scfile); switchScore('score2', scfile2); } document.getElementById('metandtemp').style.visibility='hidden'; if (stype==0){ stopplayalongreturntostandardview(); l1.style.visibility='hidden'; stopLoop(); } } if(keepPlayState) { if (wasStoped) { pauseon=0; callpause(); setTimeout(() => { checkbartimeupdate(); updateProgress(); }, 100) } } resizeStage(); }function uptr(nop,currpage){ if(lb==null){initiatestuff();} lb.classList.remove("pagenav_disabled");rb.classList.remove("pagenav_disabled"); if ((currpage==nop)||showTwoPages&&(currpage==nop-1)){rb.classList.add("pagenav_disabled"); } if (currpage==1){lb.classList.add("pagenav_disabled");}}function audioend(){ if(ison0==1){playmain(0)} else if (ison1==1){playalongacc(1)} else if (ison2==1){playalongacc(2)} else if (ison3==1){playalongacc(3)} else if (ison4==1){playalongacc(4)}}var changingpage = false;var oldpage;function checktimeupdate() { let showingPages = 1; if (showTwoPages) { showingPages = 2; if (pt.length % 2 === 0) { pt.push({ e: pt[pt.length - 1].e }); } } let pageI = pt.findIndex((page) => { return (page || {e:0}).e - PAGE_TURNING_TIME>= aud.currentTime; }); if (pageI <= -1) pageI = 1; let curPage = pt[pageI] || {e:0}; if (ison0 == 1 && changedpage == 0) { if (oldpage == null) { oldpage = 0; } else { oldpage = currpage; } // Math to make f(1) -> 1 f(2) -> 1 f(3) -> 3 f(4) -> 3 if showing 2 pages // and f(x) -> x, if showing only 1 page let page = Math.max(1, curPage.p || 1); currpage = Math.ceil(page / showingPages) * showingPages - Math.floor(0.5 * showingPages); if (showingPages === 2) { currpagearryno = pageI - (page % 2 ? 0 : 1); } else { currpagearryno = pageI; } var cp = currpage.toString().padStart(2, "0"); let newSrc; if (curtransp!=0) { cp = currpage.toString().padStart(3, "0"); newSrc = thissc+'_'+curtranspdir+curtransp+cp+'.gif' } else { newSrc = ss+score+cp+'.svg'; } switchScore("score", newSrc); if (showTwoPages && currpage + 1 <= no_pages) { var currpageplus1 = currpage + 1; let cp2 = currpageplus1.toString().padStart(2, "0"); if (curtransp != 0) { cp2 = currpageplus1.toString().padStart(3, "0"); newSrc = thissc + "_" + curtranspdir+curtransp + cp2 + ".gif"; } else { newSrc = ss + score + cp2 + ".svg"; } } else { newSrc = ""; } if ( sco2.src !== sco.src ) { switchScore("score2", newSrc); if(newSrc.length==0 &&curtransp == 0){ score2.style.width='11542px'; } } uptr(no_pages, currpage); }}function checktimeupdateparts() { var delaytime=0; if (showTwoPages) { if (ppt.length % 2 === 0) { ppt.push({ e: ppt[ppt.length - 1].e }); } } let pageI = ppt.findIndex((page) => { return (page || {e:0}).e + p(delaytime/1000) - PAGE_TURNING_TIME >= aud.currentTime; }); if (pageI <= -1) pageI = 1; let curPage = ppt[pageI] || {e:0}; if (ison1 == 1 && changedpage == 0) { if (oldpage == null) { oldpage = 0; } else { oldpage = currpage; } // f(1) -> 1 f(2) -> 1 f(3) -> 3 f(4) -> 3 if showing 2 pages // and f(x) -> x, if showing only 1 page let page = Math.max(1, curPage.p || 1); if (showTwoPages) { currpage = Math.ceil(page / 2) * 2 - 1; currpagearryno = pageI - (page % 2 ? 0 : 1); } else { currpage = page; currpagearryno = pageI; } var cp = currpage.toString().padStart(2, "0"); let newSrc; if (baseUrl !== '') { newSrc = baseUrl + cp + '.svg'; } else { newSrc = ss+score+cp+'.svg'; } switchScore("score", newSrc); if (showTwoPages && currpage + 1 <= no_part_pages) { var currpageplus1 = currpage + 1; var cp2 = currpageplus1.toString().padStart(2, "0"); if (baseUrl !== '') { newSrc = baseUrl + cp2 + '.svg'; } else { newSrc = ss+score+cp2+'.svg'; } } else { newSrc = ''; } if(sco2.src !== sco.src) { switchScore("score2", newSrc); } uptr(max_playalong_page, currpage) }}function isElementInViewport (el) { var rect = el.getBoundingClientRect(); return ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /* or $(window).height() */ rect.right <= (window.innerWidth || document.documentElement.clientWidth) /* or $(window).width() */ );}function checkbartimeupdate() { var delaytime=0; var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); var chrome_delay if (isChrome){ chrome_delay=aud.currentTime/500 } else{ chrome_delay=0 } if (ison0==1){delaytime=0;} if (((aud.currentTime+chrome_delay)*1000) Download Score PDF (8notes Premium) Sorry, parts requests not available for this piece Why? (all shown in Concert Pitch) Sorry, transposition requests not available for this piece Why? Arrangements of this piece also available for: Sorry, no other versions of this piece are currently available. Request New Version Artist: Rihanna (biography) Info: Time Signature: 4/4 (View more 4/4 Music) Duration: 1:38 Tempo Marking: Score Key: C major (Sounding Pitch) (View more C major Music for Piano ) Number of Pages: 1 Difficulty: Easy Level: Recommended for Beginners with some playing experience Instrument: (View more Easy Piano Music) Style: Pop(View more Pop Piano Music) Tags: Piano pieces in C major pieces in 4-4 time signature Copyright: Chord progressions and other generic musical features are not considered copyrightable. 8notes strives to obey copyright law and if you think this contravenes copyright law please get in touch via our contact page. This piece is included in the following : Info Cello Suite No.1 in G major, BWV 1007 (complete) by J.S.Bach Close X You have reached your limit for today. Individual Subscriptions: Click here for more info on 8notes PREMIUM
G major Ab major A major Bb major B major C major C# major D major Eb major E major F major F# major
film(View more film Piano Music)
The typesetting and editing in this file is however copyright. It may be printed and performed freely, but should not be digitally copied, shared or reproduced without permission. You might also like:
Prelude in E minor Op.28 No.4 by Frederic Chopin
The Entertainer by Scott Joplin
Canon in D by Johann Pachelbel
All of Me by John Legend
Unfaithful by Rihanna
Join 8notes PREMIUM for unlimited playback & transpositions
Rihanna - Stay (feat. mikky ekko) for Piano Chord Chart - Free Sheet music for Piano (2025)
Top Articles
wie man Gel x Nägel entfernen: eine schnelle und einfache Anleitung
How To Remove Gel-X Nails
Tax Deducted at Source (TDS) - What is TDS, Meaning & Types | HDFC Life
Latest Posts
How to Remove Gel-X Nails at Home (With or without Acetone)
How to take OFF gel X nails: best Safely Remove
Recommended Articles
- best sunscreen for combination skin: Latest News & Videos, Photos about best sunscreen for combination skin | The Economic Times - Page 1
- Morbius trailer, release date, and more
- Futari Wa Pretty Cure
- 'GMA' Deals & Steals on Tory's best birthday picks
- Can you deduct home insurance as a business expense?
- Say Goodbye to Fuzz With the Top-Tested Body Groomers Every Guy Needs
- Bahai Geschiedenis Nederland - Muhammad Rawhani op de radio
- This Gentle Cleanser Removed All My Makeup And Sunscreen—And Left Me Glowing
- Basic stats explained (in R)
- 20 YRS AGO – Keller’s WWE Raw Report (12/27/2004): Christian vs. Jericho, Triple H vs. Benjamin, plus Hassan hits Jim Ross, Bischoff announces Chamber special referee, more
- Glitchen und klonen - die Gefahren in sich
- Audi e-tron Sportback: its digital mirrors will prepare you for the future of driving
- Bad Piggies proves there's life after Angry Birds for Rovio
- Mariss Jansons: das künstlerische Erbe eines grossen Dirigenten
- Deana Martin Bio, Net Worth, Facts, Age, Height, Nationality, Husband, Family
- The Resilience of History. The Yugoslav Wars through Art
- Who Starred In The Movie Love Sea
- Face Nail Professional Detail Paint Brush Set School Fine Tip Acrylic Color • $6.27
- Pekka. Inside the Mind of a School Shooter (2015)
- What Is Base Paint? (Is It The Same As Undercoat?) - Madcity Painting
- 2022 Movie Release Dates: Here's What's Coming to Theaters Next Year
- Over-the-Counter Access to Hormonal Contraception
- What Is Bouclé? Everything to Know About This Trendy Fabric (Including How to Pronounce It!)
- Co Znaczy NIE UZNA po Angielsku - Tłumaczenie po Angielsku
- Butler in jail awaiting sentence for kidnapping, violent assault | River Valley Sun
- Sta je prvo nastalo: jezik ili nacija? (What came first: language or nation?)
- El periplo de una madre que denunció al Estado uruguayo ante la Cedaw para volver a ver a su hijo
- Minecraft guide: Full list of Achievements in 'the Nether Update'
- The 6 Best Toothpaste Dispensers of 2023 - Perfect Bathroom
- Acrylic Powder Market: A Deep Dive into Current Trends and Future Projections
- 10 Callus Removers That Will Make Your Feet Softer Than Ever
- Ausgabe 11-Jan-2025 - What's on TV
- The 10 Best Disposable Eyeshadow Brushes of 2025 (Reviews) - FindThisBest
- Deodorant vs antiperspirant: what’s the difference? - NIVEA India
- Our 10 Best Paraffinwaxforhandandfeet – 2025’s Top Winners
- The T-wave: physiology, variants and ECG features –
- Gamble Mahjongg Solitaire, a fun Video game from AARP – The Racing Emporium | Horse Racing Shares
- Nappe jetable | La Foir'Fouille
- Sentencia Supranacional Nº C-352/13, TJUE, 21-05-2015
- Watching One Punch Man! - Chapter 17 - TheWritingKaiju - ワンパンマン
- A Fake Christianity (4) - David Eells - UBBS 1.12.2025 | UBM Unleavened Bread Ministries
- Moxibustion - Behandlung, Wirkung & Risiken
- 「 2025 」Última Colección: Clave Office 2016 GRATIS
- Ezra Pound's Poetics of Translation: principles, performances, implications (D. Phil. Thesis, Oxford University, 2004)
- Microsoft Jewel 2: A Match-3 Adventure Worth Your Time - DIVICAST
- Who is Rachel Tergesen? A Closer Look at Fred Durst's Ex-Wife - Creative News
- The Evansville Journal from Evansville, Indiana
- Rawand » Name mit Bedeutung, Herkunft, Beliebtheit & mehr
- How to Choose the Best Waterproof Mascara - Maybelline
- The best vintage and classic cars for sale online | Bring a Trailer
- Amazon Tools That Work Actual Magic On Calluses
- B Minor Scale on Piano & Guitar with B Melodic & Harmonic Minor | muted.io
- ‘Song of Silence’: Startling, Stunning Must-Read
- 20 personal care products all caretakers should have
- Diabetes & Your Feet | American Diabetes Association
- Administracja i praca biurowa Ożarów Mazowiecki - Pracownik biurowy w Ożarów Mazowiecki
- Stéphane Lapointe parle des Maîtres du suspense
- Is Samsung Galaxy S25 Slim Launching at Galaxy Unpacked 2025 Event? | B2Bdaily.com
- Vaginite infiammatoria desquamativa: cause e cura
- These Hair Loss Treatments Actually Work, According to Dermatologists
- Rawan Alkhamisi on LinkedIn: I’m happy to share that I’ve obtained a new certification: GCP – Social…
- Contributions to University Day 2024 - Computer Engineering
- Portable Nail Drill Electric File: 35000RPM Professional Rechargeable Nail E File Machine,for Acrylic Nails Gel Polishing Removing, Cordless Efile with Bits Kit for Manicure Salon Home (Pink)
- 2025 Industry Statistics - Sanitary Paper Product Manufacturing
- The Very Best Curling Irons
- Beta Carotin – die fünf wichtigsten gesundheitlichen Vorzüge
- The Best Submarine Games for Playstation 4
- The 10 Best Hair Clippers for DIY Buzz Cuts and Shape-Ups
- Pavel Fík Novotný Demon
- Rawshan Zamil Top 5 Movies (2025) - Fox Wikit
- Disposable Adult Diapers Manufacturer and Suppliers From India | Jaycot Industries
- Animal streaming: where to watch movie online?
- Oh Jungse Profile and Facts (Updated!) - Kpop Profiles
- TikTok’s timer is nearly up: adland waits with bated breath for Supreme Court decision
- Chrome Nails: So machst du das angesagte Nageldesign nach
- 90 Day Fiancé: The Real Reason Faith Tudoc Keeps Going Back To Her Relationship With Loren Allen (She's The Real Villain)
- The Best Massage Chairs
- All Classes I Come In Peace
- 20 makeup tools and accessories you need to possess - Makeup Analysis
- What Is Streaming? A Comprehensive Explanation with Examples
- Understanding the Differences Between Car Wax and Paint Sealant
- Premium Eyeglasses & Contact Lenses | Hopewell-Lambertville Eye Associates
- Escape from Tarkov - How to complete Therapist's Health Care Privacy task part 1
- Watch Magic-Kyun! Renaissance English Sub/Dub online Free on HiAnime.to
- 10 Beste haarrollers & Hoe ze te gebruiken om weelderige krullen te maken - Dutch Hairshop
- R?Mj: The Mystery Hospital Server Issue
- Generäle & Einheiten: Erklärungen, Eigenschaften und Fähigkeiten
- What is Ramadan? | Yaqeen Institute for Islamic Research
- Vicks VapoRub for Toenail Fungus: Does It Really Work?
- Lottie Lundell - may 2017
- Colostomy bags (closed bags)
- Sam Richardson Is Ready (to Party)
- Personal Care Aides as Household Employees and Independent Contractors: Estimating the Size and Job Characteristics of the Workforce
- 7 Best Oil Blotting Sheets to Combat Shiny Skin ...
- Bowser/Appearances/Paper Mario series
- Who is Brent Rivera’s Girlfriend
- How To Fish In Rust: Best Fishing Locations
- 7 cat-repellent plants – expert placement tips to repel unwanted felines
- Bullets of 71 A Freedom Fighters Story - Dr. Nuran Nabi with Mush Nabi
Article information
Author: Reed Wilderman
Last Updated:
Views: 6023
Rating: 4.1 / 5 (72 voted)
Reviews: 95% of readers found this page helpful
Author information
Name: Reed Wilderman
Birthday: 1992-06-14
Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877
Phone: +21813267449721
Job: Technology Engineer
Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti
Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.