| <!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"> |
| <link rel="icon" href="favicon.ico" type="image/x-icon"/> |
| <link rel="stylesheet" href="examples-styles.css"/> |
|
|
| <title>abcjs: Analysis Demo</title> |
| <script src="../dist/abcjs-basic.js" type="text/javascript"></script> |
| <script type="text/javascript"> |
| var abc = "%%staffwidth 600\n" + |
| "\n" + |
| "X:100\n" + |
| "T: Cooley's\n" + |
| "M: 4/4\n" + |
| "L: 1/8\n" + |
| "R: reel\n" + |
| "K: Emin\n" + |
| "|:D2|EB{c}BA B2 EB|~B2 AB dBAG|FDAD BDAD|FDAD dAFD|^\n" + |
| "EBBA B2 EB|B2 AB defg|afe^c dBAF|DEFD E2:|\n" + |
| "|:gf|eB B2 efge|eB B2 gedB|A2 FA DAFA|A2 FA defg|\n" + |
| "eB B2 eBgB|eB B2 defg|afe^c dBAF|DEFD E2:|\n" + |
| "\n" + |
| "X:101\n" + |
| "T: Mary\n" + |
| "M: 4/4\n" + |
| "L: 1/4\n" + |
| "K: D\n" + |
| "fede|fff2|eee2|ffa2|\n" + |
| "fede|ffff|eefe|d4|@\n" + |
| ""; |
| |
| function load() { |
| var tuneBook = new ABCJS.TuneBook(abc) |
| |
| var el = document.querySelector(".abc-string"); |
| el.innerHTML = abc; |
| |
| el = document.querySelector(".header"); |
| el.innerHTML = tuneBook.header; |
| |
| el = document.querySelector(".num-tunes"); |
| el.innerHTML = tuneBook.tunes.length; |
| |
| el = document.querySelector(".names"); |
| var names = []; |
| for (var i = 0; i < tuneBook.tunes.length; i++) |
| names.push(tuneBook.tunes[i].title) |
| el.innerHTML = names.join("<br>") |
| |
| el = document.querySelector(".ids"); |
| var ids = []; |
| for (var i = 0; i < tuneBook.tunes.length; i++) |
| ids.push(tuneBook.tunes[i].id) |
| el.innerHTML = ids.join("<br>") |
| |
| el = document.querySelector(".tune-101"); |
| el.innerHTML = JSON.stringify(tuneBook.getTuneById(101), null, " "); |
| |
| el = document.querySelector(".tune-cooleys"); |
| el.innerHTML = JSON.stringify(tuneBook.getTuneByTitle("Cooley's"), null, " "); |
| |
| el = document.querySelector(".parse"); |
| var visualObj = ABCJS.parseOnly(abc) |
| el.innerHTML = "<h3>Cooley's</h3>" + visualObj[0].warnings + "<h3>Mary</h3>" + visualObj[1].warnings; |
| } |
| |
| </script> |
| <style> |
| .cmd { |
| color: #1136f5; |
| font-weight: bold; |
| } |
| pre { |
| background: #f0f0f0; |
| white-space: pre-wrap; |
| } |
| </style> |
| </head> |
| <body onload="load()"> |
| <header> |
| <img src="https://paulrosen.github.io/abcjs/img/abcjs_comp_extended_08.svg" alt="abcjs logo"> |
| <h1>Analyze tune book string</h1> |
| </header> |
| <div class="container"> |
| <p>Given the following ABC string, the following information can be gleaned from it.</p> |
| <h2>ABC String</h2> |
| <pre class="abc-string"></pre> |
| <h2>Creation</h2> |
| <p class="cmd">var tuneBook = new ABCJS.TuneBook(abc)</p> |
| <h2>Header</h2> |
| <p class="cmd">tuneBook.header</p> |
| <pre class="header"></pre> |
| <h2>Number Of Tunes</h2> |
| <p class="cmd">tuneBook.tunes.length</p> |
| <pre class="num-tunes"></pre> |
| <h2>Tune Names</h2> |
| <p class="cmd">tuneBook.tunes[i].title</p> |
| <pre class="names"></pre> |
| <h2>Tune Ids</h2> |
| <p class="cmd">tuneBook.tunes[i].id</p> |
| <pre class="ids"></pre> |
| <h2>Tune "101"</h2> |
| <p class="cmd">tuneBook.getTuneById(101)</p> |
| <pre class="tune-101"></pre> |
| <h2>Tune "Cooley's"</h2> |
| <p class="cmd">tuneBook.getTuneByTitle("Cooley's")</p> |
| <pre class="tune-cooleys"></pre> |
| <h2>Parse Only - warnings</h2> |
| <p class="cmd">var visualObj = ABCJS.parseOnly(abc)</p> |
| <pre class="parse"></pre> |
| </div> |
| </body> |
| </html> |
|
|