Backend for songs.zachdecook.com
* Chords: Enable bass note for chords syntax (and fallback)
Zach DeCook 2018-04-15
parent 93b308d · commit 82837c9
m---------chordsdata0
-rwxr-xr-xindex.php4
-rw-r--r--jsonly.js43
3 files changed, 35 insertions, 12 deletions
diff --git a/chordsdata b/chordsdata
-Subproject 17a1353704a821c4423af26ef5c3163a176903b
+Subproject 69f8cdc1ee0370e30b09d409d3489dc48e930af
diff --git a/index.php b/index.php
index e26d124..c415408 100755
--- a/index.php
+++ b/index.php
@@ -125,10 +125,10 @@ licensed under the <a href='chordsdata/LICENSE'>GNU LGPLv3</a>.
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
crossorigin="anonymous"></script>
<script src="toc-filter.js"></script>
+<script type="text/javascript" src="chordsdata/chords.js"></script>
+<script type="text/javascript" src="chordsdata/ukulelechords.js"></script>
<script type="text/javascript" src="page.js"></script>
<script type="text/javascript" src="jsonly.js"></script>
<script type="text/javascript" src="ccharter/scripts/ccharter.js"></script>
-<script type="text/javascript" src="chordsdata/chords.js"></script>
-<script type="text/javascript" src="chordsdata/ukulelechords.js"></script>
</body>
</html>
diff --git a/jsonly.js b/jsonly.js
index 68cd63d..4d68c42 100644
--- a/jsonly.js
+++ b/jsonly.js
@@ -6,6 +6,17 @@
$('#transp').change( do_transpose );
var lastTransp = parseInt($('#transp').val());
+var guitarObj = {
+ name: 'guitar',
+ dict: chordsDict,
+ region: 'guitarregion',
+}
+var ukeObj = {
+ name: 'ukulele',
+ dict: ukulelechordsDict,
+ region: 'ukuleleregion',
+}
+
function do_transpose()
{
var transp = parseInt($('#transp').val());
@@ -90,24 +101,36 @@ function getChordFrets(chord)
chord = chord.replace("7sus", "sus7");
chord = chord.replace("mj7", "maj7");
var chordd = chord;
+ chordd = chordd.replace("/A","/a");
+ chordd = chordd.replace("/B","/b");
+ chordd = chordd.replace("/C","/c");
+ chordd = chordd.replace("/D","/d");
+ chordd = chordd.replace("/E","/e");
+ chordd = chordd.replace("/F","/f");
+ chordd = chordd.replace("/G","/g");
chordd = chordd.replace("Db", "C#");
chordd = chordd.replace("Eb", "D#");
chordd = chordd.replace("Gb", "F#");
chordd = chordd.replace("Ab", "G#");
chordd = chordd.replace("Bb", "A#");
+ plotChord(chord,chordd,guitarObj)
+ plotChord(chord,chordd,ukeObj)
+}
+
+function plotChord(chord, chordd, obj){
try{
- guitarTab = chordsDict[chordd][0];
- ChordCharter.drawChord( "guitarregion", 30, 25, chord, guitarTab );
- }
- catch(target){
- $("#messages").prepend("No guitar tab for '" + chord + "'");
- }
- try{
- ukuleleTab = ukulelechordsDict[chordd][0];
- ChordCharter.drawChord( "ukuleleregion", 30, 25, chord, ukuleleTab );
+ tab = obj.dict[chordd][0];
+ ChordCharter.drawChord( obj.region, 30, 25, chord, tab );
}
catch(target){
- $("#messages").prepend("No ukulele tab for '" + chord + "'");
+ $("#messages").prepend("No "+obj.name+" tab for '" + chord + "'. ");
+
+ // Try it without the base note.
+ if( chordd.replace(/\/.*/,"") != chordd)
+ {
+ plotChord( chord.replace(/\/.*/,""), chordd.replace(/\/.*/,""), obj);
+ }
}
+
}