4
4
//
5
5
// Harmonica Tabs Plugin
6
6
//
7
- // Copyright (C) 2015 Ross Melin
8
7
//
9
8
// This program is free software; you can redistribute it and/or modify
10
9
// it under the terms of the GNU General Public License version 2
@@ -35,14 +34,22 @@ MuseScore {
35
34
height: 90
36
35
37
36
ComboBox {
38
- currentIndex: 9
37
+ currentIndex: 17
39
38
model: ListModel {
40
39
id: keylist
41
40
property var key
41
+ ListElement { text: " Low G" ; harpkey: 43 }
42
+ ListElement { text: " Low Ab" ; harpkey: 44 }
42
43
ListElement { text: " Low A" ; harpkey: 45 }
44
+ ListElement { text: " Low Bb" ; harpkey: 46 }
45
+ ListElement { text: " Low B" ; harpkey: 47 }
43
46
ListElement { text: " Low C" ; harpkey: 48 }
47
+ ListElement { text: " Low C#" ; harpkey: 49 }
44
48
ListElement { text: " Low D" ; harpkey: 50 }
49
+ ListElement { text: " Low Eb" ; harpkey: 51 }
50
+ ListElement { text: " Low E" ; harpkey: 52 }
45
51
ListElement { text: " Low F" ; harpkey: 53 }
52
+ ListElement { text: " Low F#" ; harpkey: 52 }
46
53
ListElement { text: " G" ; harpkey: 55 }
47
54
ListElement { text: " Ab" ; harpkey: 56 }
48
55
ListElement { text: " A" ; harpkey: 57 }
@@ -68,9 +75,17 @@ MuseScore {
68
75
model: ListModel {
69
76
id: harp
70
77
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 }
73
83
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 }
74
89
ListElement { text: " Standard Chromatic" ; tuning: 4 }
75
90
}
76
91
width: 100
@@ -121,39 +136,93 @@ MuseScore {
121
136
var richter = [" +1" , " -1b" , " -1" , " +1o" , " +2" , " -2bb" , " -2b" , " -2" , " -3bbb" , " -3bb" , " -3b" , " -3" ,
122
137
" +4" , " -4b" , " -4" , " +4o" , " +5" , " -5" , " +5o" , " +6" , " -6b" , " -6" , " +6o" , " -7" ,
123
138
" +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
126
140
127
141
var richterValved = [" +1" , " -1b" , " -1" , " +2b" , " +2" , " -2bb" , " -2b" , " -2" , " -3bbb" , " -3bb" , " -3b" , " -3" ,
128
142
" +4" , " -4b" , " -4" , " +5b" , " +5" , " -5" , " +6b" , " +6" , " -6b" , " -6" , " -7b" , " -7" ,
129
143
" +7" , " -8b" , " -8" , " +8b" , " +8" , " -9" , " +9b" , " +9" , " -10b" , " -10" , " +10bb" , " +10b" ,
130
144
" +10" ];
131
145
richterValved[- 2 ] = " +1bb" ; richterValved[- 1 ] = " +1b" ; // Two notes below the key at blow 1
132
146
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" ,
134
155
" +4" , " -4b" , " -4" , " +4o" , " +5" , " -5b" , " -5" , " +6" , " -6b" , " -6" , " +6o" , " -7" ,
135
156
" +7" , " -7o" , " -8" , " +8b" , " +8" , " -9" , " +9b" , " +9" , " -9o" , " -10" , " +10bb" , " +10b" ,
136
- " +10" ];
157
+ " +10" , " -10o " ];
137
158
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" ,
139
160
" +4" , " +4s" , " -5" , " -5s" , " +6" , " -6" , " -6s" , " +7" , " +7s" , " -7" , " -7s" , " -8" ,
140
161
" +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
142
180
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
+
143
206
var tuning = richter
144
207
switch (harp .tuning ) {
145
208
case 1 : tuning = richter; break ;
146
209
case 2 : tuning = richterValved; break ;
147
210
case 3 : tuning = country; break ;
148
211
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 ;
149
220
default : tuning = richter; break ;
150
221
}
151
222
152
-
153
223
var harpkey = keylist .key
154
224
console .log (" harpkey set to " + keylist .key )
155
225
156
-
157
226
for (var i = 0 ; i < notes .length ; i++ ) {
158
227
var sep = " \n " ; // change to "," if you want them horizontally
159
228
if ( i > 0 )
@@ -251,4 +320,4 @@ MuseScore {
251
320
if (typeof curScore === ' undefined' )
252
321
Qt .quit ();
253
322
}
254
- }
323
+ }
0 commit comments