@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
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 ">
</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>