UNPKG

@squarebit/continuo

Version:

Select notes on a rendered MEI music score and create permalinks using the Music Addressability URL scheme.

74 lines (63 loc) 2.02 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <title>Continuo Selection Preview</title> <script src="js/verovio.js"></script> <script src="../dist/js/continuo.js"></script> <link rel="stylesheet" type="text/css" href="../dist/css/continuo.css" /> <style> svg{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } </style> </head> <body> <div id="continuo" style="width: 100%; height: 500px "> &nbsp; </div> <script> var score = document.getElementById("continuo") var MEIurl = 'http://www.verovio.org/examples/downloads/Schubert_Lindenbaum.mei' var ver = new verovio.toolkit(); var opts = { pageWidth: score.offsetWidth * 100 / 35, ignoreLayout: 1, adjustPageHeight: 1, border: 10, scale: 35 }; if (window.location.hash && window.location.hash != "") { var mei = window.location.hash.substr(1); MEIurl = mei } var request = new XMLHttpRequest(); request.onreadystatechange = function() { if(request.readyState === 4) { if(request.status === 200) { ver.setOptions(opts); ver.loadData( request.responseText + "\n", "" ); let pgs = ver.getPageCount(); for (i=0; i<pgs; i++) { let svg = ver.renderPage(i+1); score.innerHTML = svg; } } else { score.innerHTML = 'An error occurred during your request: ' + request.status + ' ' + request.statusText; } } } request.open('Get', MEIurl); request.send(); </script> </body> </html>