Backend for songs.zachdecook.com
Diffstat (limited to 'jsonly.js')
-rw-r--r--jsonly.js43
1 files changed, 33 insertions, 10 deletions
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);
+ }
}
+
}