Skip to content

Commit b4d4f58

Browse files
committed
fixed (hopefully) error in Standard Chromatic tuning,
added several additional diatonic tunings, misc label and comment edits
1 parent 1beaaa8 commit b4d4f58

File tree

1 file changed

+82
-13
lines changed

1 file changed

+82
-13
lines changed

harmonica_tablature.qml

Lines changed: 82 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
//
55
// Harmonica Tabs Plugin
66
//
7-
// Copyright (C) 2015 Ross Melin
87
//
98
// This program is free software; you can redistribute it and/or modify
109
// it under the terms of the GNU General Public License version 2
@@ -35,14 +34,22 @@ MuseScore {
3534
height: 90
3635

3736
ComboBox {
38-
currentIndex: 9
37+
currentIndex: 17
3938
model: ListModel {
4039
id: keylist
4140
property var key
41+
ListElement { text: "Low G"; harpkey: 43 }
42+
ListElement { text: "Low Ab"; harpkey: 44 }
4243
ListElement { text: "Low A"; harpkey: 45 }
44+
ListElement { text: "Low Bb"; harpkey: 46 }
45+
ListElement { text: "Low B"; harpkey: 47 }
4346
ListElement { text: "Low C"; harpkey: 48 }
47+
ListElement { text: "Low C#"; harpkey: 49 }
4448
ListElement { text: "Low D"; harpkey: 50 }
49+
ListElement { text: "Low Eb"; harpkey: 51 }
50+
ListElement { text: "Low E"; harpkey: 52 }
4551
ListElement { text: "Low F"; harpkey: 53 }
52+
ListElement { text: "Low F#"; harpkey: 52 }
4653
ListElement { text: "G"; harpkey: 55 }
4754
ListElement { text: "Ab"; harpkey: 56 }
4855
ListElement { text: "A"; harpkey: 57 }
@@ -68,9 +75,17 @@ MuseScore {
6875
model: ListModel {
6976
id: harp
7077
property var tuning
71-
ListElement { text: "Richter (Blues Harp)"; tuning: 1 }
72-
ListElement { text: "Richter half valved"; tuning: 2 }
78+
ListElement { text: "Blues Harp (Richter)"; tuning: 1 }
79+
ListElement { text: "Richter valved"; tuning: 2 }
80+
ListElement { text: "Paddy Richter (Brendan Power), valved"; tuning: 10 }
81+
ListElement { text: "Natural Minor"; tuning: 7 }
82+
ListElement { text: "Melody Maker"; tuning: 8 }
7383
ListElement { text: "Country"; tuning: 3 }
84+
ListElement { text: "Circular (Seydel), valved"; tuning: 5 }
85+
ListElement { text: "Circular (Inversed for blow 1), valved "; tuning: 9 }
86+
ListElement { text: "TrueChromatic Diatonic, valved"; tuning: 6 }
87+
ListElement { text: "Power Bender (Brendan Power), valved"; tuning: 11 }
88+
ListElement { text: "Power Draw (Brendan Power), valved"; tuning: 12 }
7489
ListElement { text: "Standard Chromatic"; tuning: 4 }
7590
}
7691
width: 100
@@ -121,39 +136,93 @@ MuseScore {
121136
var richter = ["+1", "-1b", "-1", "+1o", "+2", "-2bb", "-2b", "-2", "-3bbb", "-3bb", "-3b", "-3",
122137
"+4", "-4b", "-4", "+4o", "+5", "-5", "+5o", "+6", "-6b", "-6", "+6o", "-7",
123138
"+7", "-7o", "-8", "+8b", "+8", "-9", "+9b", "+9", "-9o", "-10", "+10bb", "+10b",
124-
"+10" ]; //Standard Richter tuning with overbends
125-
139+
"+10", "-10o" ]; //Standard Richter tuning with overbends
126140

127141
var richterValved = ["+1", "-1b", "-1", "+2b", "+2", "-2bb", "-2b", "-2", "-3bbb", "-3bb", "-3b", "-3",
128142
"+4", "-4b", "-4", "+5b", "+5", "-5", "+6b", "+6", "-6b", "-6", "-7b", "-7",
129143
"+7", "-8b", "-8", "+8b", "+8", "-9", "+9b", "+9", "-10b", "-10", "+10bb", "+10b",
130144
"+10" ];
131145
richterValved[-2] = "+1bb"; richterValved[-1] = "+1b"; //Two notes below the key at blow 1
132146

133-
var country = ["+1", "-1b", "-1", "+1o", "+2", "-2bb", "-2b", "-2", "+2o", "-3bb", "-3b", "-3",
147+
var paddyRichter = ["+1", "-1b", "-1", "+2b", "+2", "-2bb", "-2b", "-2", "+3b", "+3", "-3b", "-3",
148+
"+4", "-4b", "-4", "+5b", "+5", "-5", "+6b", "+6", "-6b", "-6", "-7b", "-7",
149+
"+7", "-8b", "-8", "+8b", "+8", "-9", "+9b", "+9", "-10b", "-10", "+10bb", "+10b",
150+
"+10" ];
151+
paddyRichter[-2] = "+1bb"; paddyRichter[-1] = "+1b"; //Two notes below the key at blow 1
152+
// Brendan Power's tuning, half valved
153+
154+
var country = ["+1", "-1b", "-1", "+1o", "+2", "-2bb", "-2b", "-2", "-3bbb", "-3bb", "-3b", "-3",
134155
"+4", "-4b", "-4", "+4o", "+5", "-5b", "-5", "+6", "-6b", "-6", "+6o", "-7",
135156
"+7", "-7o", "-8", "+8b", "+8", "-9", "+9b", "+9", "-9o", "-10", "+10bb", "+10b",
136-
"+10" ];
157+
"+10", "-10o" ];
137158

138-
var standardChromatic = ["+1", '+1s', "-1", "+2", "-2", "-2s", "+3", "+3s", "-3", "-3s","-4",
159+
var standardChromatic = ["+1", '+1s', "-1", "-1s", "+2", "-2", "-2s", "+3", "+3s", "-3", "-3s","-4",
139160
"+4", "+4s", "-5", "-5s", "+6", "-6", "-6s", "+7", "+7s", "-7", "-7s", "-8",
140161
"+8", "+8s", "-9", "-9s", "+10", "-10", "-10s", "+11", "+11s", "-11", "-11s", "-12",
141-
"+12", "+12s", "-12" ];
162+
"+12", "+12s", "-12", "-12s" ];
163+
164+
var zirkValved = ["+1", "-1b", "-1", "+2b", "+2", "-2", "+3b", "+3", "-3b", "-3", "+4", "-4b",
165+
"-4", "+5b", "+5", "-5b", "-5", "+6", "-6b", "-6", "+7b", "+7", "-7", "+8b",
166+
"+8", "-8b", "-8", "+9b", "+9", "-9", "10b", "+10", "-10b", "-10" ]; // Circular/Spiral tuned diatonic
167+
// Key per Seydel "G"on blow 1, C major at draw 2, A minor at draw 1
168+
169+
var trueChrom = ["+1", "-1b", "-1", "+2", "-2b", "-2", "+3b", "+3", "-3b", "-3", "+4", "-4b",
170+
"-4", "+5b", "+5", "-5b", "-5", "+6", "-6b", "-6", "+7b", "+7", "-7b", "-7",
171+
"+8", "-8b", "-8", "+9b", "+9", "-9b", "-9", "+10", "-10b", "-10" ]; //True Chromatic diatonic, valves
172+
//Another side of the spiral logic is expanded in the “True Chromatic” tuning, designed by Eugene Ivanov.
173+
//All chords can be arranged in a continuous, looped progression on major and minor triads:
174+
//C Eb G Bb D F A C E G B D Gb A Db E Ab B Eb Gb Bb Db F Ab C (and looped on C minor after that).
175+
176+
var naturalMinor = ["+1", "-1b", "-1", "+2", "-2bbb", "-2bb", "-2b", "-2", "-3bb", "-3b", "-3", "+3o",
177+
"+4", "-4b", "-4", "+5", "-5b", "-5", "+5o", "+6", "-6b", "-6", "-7", "+7b",
178+
"+7", "-7o", "-8", "+8", "-8o", "-9", "+9b", "+9", "-9o", "-10", "+10bb", "+10b",
179+
"+10", "-10o" ]; //Labeled by blow 1 like Hohner. Seydel and Lee Okar labels by draw 2
142180

181+
var melodyMaker = [ , , , , , // label by draw 2
182+
"+1", "-1b", "-1", "+1o","+2", "-2bb","-2b", "-2", "+2o", "+3", "-3b", "-3",
183+
"+4", "-4b", "-4", "+4o", "+5", "-5b", "-5", "+6", "-6b", "-6", "+6o", "-7",
184+
"+7", "-7o", "-8", "+8b", "+8", "-8o", "-9", "+9", "-9o", "-10", "+10bb", "+10b",
185+
"+10", "-10o" ];
186+
187+
var spiral_b1 = ["+1", "-1b", "-1", "+2b", "+2", "-2", "+3b", "+3", "-3b", "-3", "+4b", "+4",
188+
"-4", "+5b", "+5", "-5b", "-5", "+6", "-6b", "-6", "+7b", "+7b", "-7", "-7",
189+
"+8", "-8b", "-8", "+9b", "+9", "-9", "+10b", "+10", "-10b", "-10" ]; // Circular/Spiral tuned diatonic
190+
// Inversed for Blow 1. Key of C major scale starts at blow 1
191+
192+
var powerBender = ["+1", "-1b", "-1", "+2b", "+2", "-2bb", "-2b", "-2", "-3bbb", "-3bb", "-3b", "-3",
193+
"+4", "-4b", "-4", "-5b", "-5", "+6", "-6b", "-6", "+7b", "+7", "-7b", "-7",
194+
"+8", "-8b", "-8", "+9b", "+9", "-9bb", "-9b", "-9", "+10b", "+10", "-10bb", "-10b",
195+
"-10" ];
196+
powerBender[-2] = "+1bb"; powerBender[-1] = "+1b"; //Two notes below the key at blow 1
197+
// Brendan Power's tuning, half valved
198+
199+
var powerDraw = ["+1", "-1b", "-1", "+2b", "+2", "-2bb", "-2b", "-2", "-3bbb", "-3bb", "-3b", "-3",
200+
"+4", "-4b", "-4", "+5b", "+5", "-5", "+6b", "+6", "-6b", "-6", "-7b", "-7",
201+
"+8", "-8b", "-8", "+9b", "+9", "-9bb", "-9b", "-9", "+10b", "+10", "-10bb", "-10b",
202+
"-10" ];
203+
powerDraw[-2] = "+1bb"; powerDraw[-1] = "+1b"; //Two notes below the key at blow 1
204+
// Brendan Power's tuning, half valved
205+
143206
var tuning = richter
144207
switch (harp.tuning) {
145208
case 1: tuning = richter; break;
146209
case 2: tuning = richterValved; break;
147210
case 3: tuning = country; break;
148211
case 4: tuning = standardChromatic; break;
212+
case 5: tuning = zirkValved; break;
213+
case 6: tuning = trueChrom; break;
214+
case 7: tuning = naturalMinor; break;
215+
case 8: tuning = melodyMaker; break;
216+
case 9: tuning = spiral_b1; break;
217+
case 10: tuning = paddyRichter; break;
218+
case 11: tuning = powerBender; break;
219+
case 12: tuning = powerDraw; break;
149220
default: tuning = richter; break;
150221
}
151222

152-
153223
var harpkey = keylist.key
154224
console.log("harpkey set to " +keylist.key)
155225

156-
157226
for (var i = 0; i < notes.length; i++) {
158227
var sep = "\n"; // change to "," if you want them horizontally
159228
if ( i > 0 )
@@ -251,4 +320,4 @@ MuseScore {
251320
if (typeof curScore === 'undefined')
252321
Qt.quit();
253322
}
254-
}
323+
}

0 commit comments

Comments
 (0)