fretboard 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8ce78fbd618190dec7aab13a7f9c8a2d58bc074cd90a035eabfc03a9091ca435
4
- data.tar.gz: bdfff345ca8d38dd4739061595e5f7cbf92ce0cf624237a8580ad2e83c10ce16
3
+ metadata.gz: 4f3d2267dc3150e8596d7c0a9d248a8161177ad1a53d3982e89e88815dc8617c
4
+ data.tar.gz: cdfd41f36bf68b132948f46a7609abbfdd461e142d1dc4d955a454a9951a157f
5
5
  SHA512:
6
- metadata.gz: a4175ec01b4eac24ae120b1dd6b41ed5f1ceff0fe9fd32edea143cf04c7a59b5dcd6b75f1a6035e88e766ab6ccfa8ac90519c9dd10501bd6ec9971b45d6d991b
7
- data.tar.gz: f664ab61567eec56eb49dfb9f9a52da3d1e72d5518def62e6716cea380ed136ec2de2cccb0c60d6fa940b87c820f2ca0932cccc0d5246b08cd09029904da0982
6
+ metadata.gz: 40a4681d1fdccfc22ce8064e962a173959cd27d2d460782e46f1fef522282788b4382410f8c52a0c6486d63edfe445b1443fc28cc5435aa936d86c0ff011b435
7
+ data.tar.gz: '09ba227d1c571b126afbf18dd4e61cdc8b612c5c87d59ed70d1a13edac65dd30a8d883b98247ef57bfbfa1f5f5361f4f71b4754797a0ce7f0d55df307a8bc49c'
data/README.md CHANGED
@@ -62,14 +62,29 @@ bundle exec fretboard --draw-tuning standart
62
62
  ### Available tunings:
63
63
 
64
64
  - Standart (`standart`)
65
- - Drop C (`drop_c`)
66
- - Drop D (`drop_d`)
67
- - Double Drop D (`double_drop_d`)
65
+ - A Tuning (`tuning_a`)
68
66
  - Open A (`open_a`)
67
+ - Drop A (`drop_a`)
68
+ - Drop A# (`drop_a_sharp`)
69
+ - Drop Ab (`drop_a_flat`)
70
+ - B Tuning (`tuning_b`)
71
+ - Open B (`open_b`)
72
+ - Drop B (`drop_b`)
73
+ - Drop Bb (`drop_b_flat`)
74
+ - C Tuning (`tuning_c`)
69
75
  - Open C (`open_c`)
76
+ - Drop C (`drop_c`)
77
+ - D Tuning (`tuning_d`)
70
78
  - Open D (`open_d`)
71
79
  - Open D Minor (`open_d_minor`)
80
+ - Drop D (`drop_d`)
81
+ - Double Drop D (`double_drop_d`)
82
+ - Modal D (`modal_d`)
83
+ - Open E (`open_e`)
84
+ - F Tuning (`tuning_f`)
85
+ - Open F (`open_f`)
86
+ - G Tuning (`tuning_g`)
72
87
  - Open G (`open_g`)
73
88
  - Open G Minor (`open_g_minor`)
74
- - Modal D (`modal_d`)
89
+ - Drop G# (`drop_g_sharp`)
75
90
  - Modal G (`modal_g`)
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  unless File.exist?('./Gemfile')
4
5
  abort 'Please run fretboard from the root of the project'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
 
@@ -21,5 +23,5 @@ Gem::Specification.new do |spec|
21
23
 
22
24
  spec.add_dependency 'colorize', '~> 0.8.1'
23
25
  spec.add_dependency 'terminal-table', '~> 1.8.0'
24
- spec.add_development_dependency 'rubocop', '= 0.88'
26
+ spec.add_development_dependency 'rubocop', '~> 1.3.0'
25
27
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'fretboard/builder'
2
4
  # require 'fretboard/constants'
3
5
  require 'fretboard/note'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # require 'active_support/core_ext/hash'
2
4
 
3
5
  require 'fretboard/console'
@@ -6,16 +8,31 @@ module Fretboard
6
8
  class Builder
7
9
  # fretboard = Fretboard::Builder.new(:standart)
8
10
  # fretboard = Fretboard::Builder.standart
9
- # fretboard = Fretboard::Builder.drop_c
10
- # fretboard = Fretboard::Builder.drop_d
11
- # fretboard = Fretboard::Builder.double_drop_d
11
+ # fretboard = Fretboard::Builder.tuning_a
12
12
  # fretboard = Fretboard::Builder.open_a
13
+ # fretboard = Fretboard::Builder.drop_a
14
+ # fretboard = Fretboard::Builder.drop_a_sharp
15
+ # fretboard = Fretboard::Builder.drop_a_flat
16
+ # fretboard = Fretboard::Builder.tuning_b
17
+ # fretboard = Fretboard::Builder.open_b
18
+ # fretboard = Fretboard::Builder.drop_b
19
+ # fretboard = Fretboard::Builder.drop_b_flat
20
+ # fretboard = Fretboard::Builder.tuning_c
13
21
  # fretboard = Fretboard::Builder.open_c
22
+ # fretboard = Fretboard::Builder.drop_c
23
+ # fretboard = Fretboard::Builder.tuning_d
14
24
  # fretboard = Fretboard::Builder.open_d
15
25
  # fretboard = Fretboard::Builder.open_d_minor
26
+ # fretboard = Fretboard::Builder.drop_d
27
+ # fretboard = Fretboard::Builder.double_drop_d
28
+ # fretboard = Fretboard::Builder.modal_d
29
+ # fretboard = Fretboard::Builder.open_e
30
+ # fretboard = Fretboard::Builder.tuning_f
31
+ # fretboard = Fretboard::Builder.open_f
32
+ # fretboard = Fretboard::Builder.tuning_g
16
33
  # fretboard = Fretboard::Builder.open_g
17
34
  # fretboard = Fretboard::Builder.open_g_minor
18
- # fretboard = Fretboard::Builder.modal_d
35
+ # fretboard = Fretboard::Builder.drop_g_sharp
19
36
  # fretboard = Fretboard::Builder.modal_g
20
37
 
21
38
  # fretboard.build
@@ -26,16 +43,31 @@ module Fretboard
26
43
 
27
44
  # METHODS_NAMES = %i[
28
45
  # standart
29
- # drop_c
30
- # drop_d
31
- # double_drop_d
46
+ # tuning_a
32
47
  # open_a
48
+ # drop_a
49
+ # drop_a_sharp
50
+ # drop_a_flat
51
+ # tuning_b
52
+ # open_b
53
+ # drop_b
54
+ # drop_b_flat
55
+ # tuning_c
33
56
  # open_c
57
+ # drop_c
58
+ # tuning_d
34
59
  # open_d
35
60
  # open_d_minor
61
+ # drop_d
62
+ # double_drop_d
63
+ # modal_d
64
+ # open_e
65
+ # tuning_f
66
+ # open_f
67
+ # tuning_g
36
68
  # open_g
37
69
  # open_g_minor
38
- # modal_d
70
+ # drop_g_sharp
39
71
  # modal_g
40
72
  # ].freeze
41
73
 
@@ -51,26 +83,58 @@ module Fretboard
51
83
  new(:standart, number_of_frets)
52
84
  end
53
85
 
54
- def self.drop_c(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
55
- new(:drop_c, number_of_frets)
86
+ def self.tuning_a(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
87
+ new(:tuning_a, number_of_frets)
56
88
  end
57
89
 
58
- def self.drop_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
59
- new(:drop_d, number_of_frets)
90
+ def self.open_a(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
91
+ new(:open_a, number_of_frets)
60
92
  end
61
93
 
62
- def self.double_drop_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
63
- new(:double_drop_d, number_of_frets)
94
+ def self.drop_a(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
95
+ new(:drop_a, number_of_frets)
64
96
  end
65
97
 
66
- def self.open_a(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
67
- new(:open_a, number_of_frets)
98
+ def self.drop_a_sharp(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
99
+ new(:drop_a_sharp, number_of_frets)
100
+ end
101
+
102
+ def self.drop_a_flat(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
103
+ new(:drop_a_flat, number_of_frets)
104
+ end
105
+
106
+ def self.tuning_b(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
107
+ new(:tuning_b, number_of_frets)
108
+ end
109
+
110
+ def self.open_b(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
111
+ new(:open_b, number_of_frets)
112
+ end
113
+
114
+ def self.drop_b(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
115
+ new(:drop_b, number_of_frets)
116
+ end
117
+
118
+ def self.drop_b_flat(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
119
+ new(:drop_b_flat, number_of_frets)
120
+ end
121
+
122
+ def self.tuning_c(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
123
+ new(:tuning_c, number_of_frets)
68
124
  end
69
125
 
70
126
  def self.open_c(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
71
127
  new(:open_c, number_of_frets)
72
128
  end
73
129
 
130
+ def self.drop_c(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
131
+ new(:drop_c, number_of_frets)
132
+ end
133
+
134
+ def self.tuning_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
135
+ new(:tuning_d, number_of_frets)
136
+ end
137
+
74
138
  def self.open_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
75
139
  new(:open_d, number_of_frets)
76
140
  end
@@ -79,6 +143,34 @@ module Fretboard
79
143
  new(:open_d_minor, number_of_frets)
80
144
  end
81
145
 
146
+ def self.drop_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
147
+ new(:drop_d, number_of_frets)
148
+ end
149
+
150
+ def self.double_drop_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
151
+ new(:double_drop_d, number_of_frets)
152
+ end
153
+
154
+ def self.modal_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
155
+ new(:modal_d, number_of_frets)
156
+ end
157
+
158
+ def self.open_e(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
159
+ new(:open_e, number_of_frets)
160
+ end
161
+
162
+ def self.tuning_f(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
163
+ new(:tuning_f, number_of_frets)
164
+ end
165
+
166
+ def self.open_f(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
167
+ new(:open_f, number_of_frets)
168
+ end
169
+
170
+ def self.tuning_g(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
171
+ new(:tuning_g, number_of_frets)
172
+ end
173
+
82
174
  def self.open_g(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
83
175
  new(:open_g, number_of_frets)
84
176
  end
@@ -87,8 +179,8 @@ module Fretboard
87
179
  new(:open_g_minor, number_of_frets)
88
180
  end
89
181
 
90
- def self.modal_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
91
- new(:modal_d, number_of_frets)
182
+ def self.drop_g_sharp(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
183
+ new(:drop_g_sharp, number_of_frets)
92
184
  end
93
185
 
94
186
  def self.modal_g(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
@@ -163,9 +255,10 @@ module Fretboard
163
255
  open_note = string_notes[0]
164
256
 
165
257
  if open_note.is_a?(Array)
166
- open_note = if sharp_or_flat == :both
258
+ open_note = case sharp_or_flat
259
+ when :both
167
260
  open_note.join('/')
168
- elsif sharp_or_flat == :sharp
261
+ when :sharp
169
262
  open_note.first
170
263
  else
171
264
  open_note.last
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'colorize'
2
4
  require 'terminal-table'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Fretboard
2
4
  module Constants
3
5
  # Fretboard::Constants.constants
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'fretboard/notes'
2
4
 
3
5
  module Fretboard
@@ -12,9 +14,10 @@ module Fretboard
12
14
  )
13
15
 
14
16
  if note.is_a?(Array)
15
- note = if sharp_or_flat == :both
17
+ note = case sharp_or_flat
18
+ when :both
16
19
  note.join('/')
17
- elsif sharp_or_flat == :sharp
20
+ when :sharp
18
21
  note.first
19
22
  else
20
23
  note.last
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Fretboard
2
4
  class Notes
3
5
  # Fretboard::Notes.all(:both)
@@ -39,9 +41,10 @@ module Fretboard
39
41
  result = value
40
42
 
41
43
  if value.is_a?(Array)
42
- result = if sharp_or_flat == :both
44
+ result = case sharp_or_flat
45
+ when :both
43
46
  value.join('/')
44
- elsif sharp_or_flat == :sharp
47
+ when :sharp
45
48
  value.first
46
49
  else
47
50
  value.last
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext'
2
4
  require 'optparse'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Fretboard
2
4
  class Tunings
3
5
  # Fretboard::Tunings.get(:standart)
@@ -27,97 +29,298 @@ module Fretboard
27
29
  }
28
30
  },
29
31
 
30
- DROP_C: {
32
+ TUNING_A: {
31
33
  STRINGS: {
32
34
  1 => {
33
- NOTE: 'D'
35
+ NOTE: 'A'
34
36
  },
35
37
  2 => {
36
- NOTE: 'A'
38
+ NOTE: 'E'
37
39
  },
38
40
  3 => {
39
- NOTE: 'F'
41
+ NOTE: 'C'
40
42
  },
41
43
  4 => {
42
- NOTE: 'C'
44
+ NOTE: 'G'
43
45
  },
44
46
  5 => {
45
- NOTE: 'G'
47
+ NOTE: 'D'
46
48
  },
47
49
  6 => {
48
- NOTE: 'C'
50
+ NOTE: 'A'
49
51
  }
50
52
  }
51
53
  },
52
54
 
53
- DROP_D: {
55
+ OPEN_A: {
54
56
  STRINGS: {
55
57
  1 => {
56
58
  NOTE: 'E'
57
59
  },
58
60
  2 => {
59
- NOTE: 'B'
61
+ NOTE: 'A'
60
62
  },
61
63
  3 => {
62
- NOTE: 'G'
64
+ NOTE: 'E'
63
65
  },
64
66
  4 => {
65
- NOTE: 'D'
67
+ NOTE: [
68
+ 'C#',
69
+ 'Db'
70
+ ]
66
71
  },
67
72
  5 => {
68
73
  NOTE: 'A'
69
74
  },
70
75
  6 => {
71
- NOTE: 'D'
76
+ NOTE: 'E'
72
77
  }
73
78
  }
74
79
  },
75
80
 
76
- DOUBLE_DROP_D: {
81
+ DROP_A: {
77
82
  STRINGS: {
78
83
  1 => {
79
- NOTE: 'D'
84
+ NOTE: 'B'
80
85
  },
81
86
  2 => {
82
- NOTE: 'B'
87
+ NOTE: [
88
+ 'F#',
89
+ 'Gb'
90
+ ]
83
91
  },
84
92
  3 => {
85
- NOTE: 'G'
93
+ NOTE: 'D'
86
94
  },
87
95
  4 => {
88
- NOTE: 'D'
96
+ NOTE: 'A'
89
97
  },
90
98
  5 => {
91
- NOTE: 'A'
99
+ NOTE: 'E'
92
100
  },
93
101
  6 => {
94
- NOTE: 'D'
102
+ NOTE: 'A'
95
103
  }
96
104
  }
97
105
  },
98
106
 
99
- OPEN_A: {
107
+ DROP_A_SHARP: {
100
108
  STRINGS: {
101
109
  1 => {
102
- NOTE: 'E'
110
+ NOTE: 'C'
103
111
  },
104
112
  2 => {
105
- NOTE: 'A'
113
+ NOTE: 'G'
106
114
  },
107
115
  3 => {
108
- NOTE: 'E'
116
+ NOTE: [
117
+ 'D#',
118
+ 'Eb'
119
+ ]
109
120
  },
110
121
  4 => {
122
+ NOTE: [
123
+ 'A#',
124
+ 'Bb'
125
+ ]
126
+ },
127
+ 5 => {
128
+ NOTE: 'F'
129
+ },
130
+ 6 => {
131
+ NOTE: [
132
+ 'A#',
133
+ 'Bb'
134
+ ]
135
+ }
136
+ }
137
+ },
138
+
139
+ DROP_A_FLAT: {
140
+ STRINGS: {
141
+ 1 => {
142
+ NOTE: [
143
+ 'A#',
144
+ 'Bb'
145
+ ]
146
+ },
147
+ 2 => {
148
+ NOTE: 'F'
149
+ },
150
+ 3 => {
111
151
  NOTE: [
112
152
  'C#',
113
153
  'Db'
114
154
  ]
115
155
  },
156
+ 4 => {
157
+ NOTE: [
158
+ 'G#',
159
+ 'Ab'
160
+ ]
161
+ },
116
162
  5 => {
163
+ NOTE: [
164
+ 'D#',
165
+ 'Eb'
166
+ ]
167
+ },
168
+ 6 => {
169
+ NOTE: [
170
+ 'G#',
171
+ 'Ab'
172
+ ]
173
+ }
174
+ }
175
+ },
176
+
177
+ TUNING_B: {
178
+ STRINGS: {
179
+ 1 => {
180
+ NOTE: 'B'
181
+ },
182
+ 2 => {
183
+ NOTE: [
184
+ 'F#',
185
+ 'Gb'
186
+ ]
187
+ },
188
+ 3 => {
189
+ NOTE: 'D'
190
+ },
191
+ 4 => {
117
192
  NOTE: 'A'
118
193
  },
194
+ 5 => {
195
+ NOTE: 'E'
196
+ },
119
197
  6 => {
198
+ NOTE: 'B'
199
+ }
200
+ }
201
+ },
202
+
203
+ OPEN_B: {
204
+ STRINGS: {
205
+ 1 => {
206
+ NOTE: [
207
+ 'D#',
208
+ 'Eb'
209
+ ]
210
+ },
211
+ 2 => {
212
+ NOTE: 'B'
213
+ },
214
+ 3 => {
215
+ NOTE: [
216
+ 'F#',
217
+ 'Gb'
218
+ ]
219
+ },
220
+ 4 => {
221
+ NOTE: 'B'
222
+ },
223
+ 5 => {
224
+ NOTE: [
225
+ 'F#',
226
+ 'Gb'
227
+ ]
228
+ },
229
+ 6 => {
230
+ NOTE: 'B'
231
+ }
232
+ }
233
+ },
234
+
235
+ DROP_B: {
236
+ STRINGS: {
237
+ 1 => {
238
+ NOTE: [
239
+ 'C#',
240
+ 'Db'
241
+ ]
242
+ },
243
+ 2 => {
244
+ NOTE: [
245
+ 'G#',
246
+ 'Ab'
247
+ ]
248
+ },
249
+ 3 => {
120
250
  NOTE: 'E'
251
+ },
252
+ 4 => {
253
+ NOTE: 'B'
254
+ },
255
+ 5 => {
256
+ NOTE: [
257
+ 'F#',
258
+ 'Gb'
259
+ ]
260
+ },
261
+ 6 => {
262
+ NOTE: 'B'
263
+ }
264
+ }
265
+ },
266
+
267
+ DROP_B_FLAT: {
268
+ STRINGS: {
269
+ 1 => {
270
+ NOTE: 'C'
271
+ },
272
+ 2 => {
273
+ NOTE: 'G'
274
+ },
275
+ 3 => {
276
+ NOTE: [
277
+ 'D#',
278
+ 'Eb'
279
+ ]
280
+ },
281
+ 4 => {
282
+ NOTE: [
283
+ 'A#',
284
+ 'Bb'
285
+ ]
286
+ },
287
+ 5 => {
288
+ NOTE: 'F'
289
+ },
290
+ 6 => {
291
+ NOTE: [
292
+ 'A#',
293
+ 'Bb'
294
+ ]
295
+ }
296
+ }
297
+ },
298
+
299
+ TUNING_C: {
300
+ STRINGS: {
301
+ 1 => {
302
+ NOTE: 'C'
303
+ },
304
+ 2 => {
305
+ NOTE: 'G'
306
+ },
307
+ 3 => {
308
+ NOTE: [
309
+ 'D#',
310
+ 'Eb'
311
+ ]
312
+ },
313
+ 4 => {
314
+ NOTE: [
315
+ 'A#',
316
+ 'Bb'
317
+ ]
318
+ },
319
+ 5 => {
320
+ NOTE: 'F'
321
+ },
322
+ 6 => {
323
+ NOTE: 'C'
121
324
  }
122
325
  }
123
326
  },
@@ -145,6 +348,52 @@ module Fretboard
145
348
  }
146
349
  },
147
350
 
351
+ DROP_C: {
352
+ STRINGS: {
353
+ 1 => {
354
+ NOTE: 'D'
355
+ },
356
+ 2 => {
357
+ NOTE: 'A'
358
+ },
359
+ 3 => {
360
+ NOTE: 'F'
361
+ },
362
+ 4 => {
363
+ NOTE: 'C'
364
+ },
365
+ 5 => {
366
+ NOTE: 'G'
367
+ },
368
+ 6 => {
369
+ NOTE: 'C'
370
+ }
371
+ }
372
+ },
373
+
374
+ TUNING_D: {
375
+ STRINGS: {
376
+ 1 => {
377
+ NOTE: 'D'
378
+ },
379
+ 2 => {
380
+ NOTE: 'A'
381
+ },
382
+ 3 => {
383
+ NOTE: 'F'
384
+ },
385
+ 4 => {
386
+ NOTE: 'C'
387
+ },
388
+ 5 => {
389
+ NOTE: 'G'
390
+ },
391
+ 6 => {
392
+ NOTE: 'D'
393
+ }
394
+ }
395
+ },
396
+
148
397
  OPEN_D: {
149
398
  STRINGS: {
150
399
  1 => {
@@ -194,10 +443,10 @@ module Fretboard
194
443
  }
195
444
  },
196
445
 
197
- OPEN_G: {
446
+ DROP_D: {
198
447
  STRINGS: {
199
448
  1 => {
200
- NOTE: 'D'
449
+ NOTE: 'E'
201
450
  },
202
451
  2 => {
203
452
  NOTE: 'B'
@@ -209,25 +458,175 @@ module Fretboard
209
458
  NOTE: 'D'
210
459
  },
211
460
  5 => {
461
+ NOTE: 'A'
462
+ },
463
+ 6 => {
464
+ NOTE: 'D'
465
+ }
466
+ }
467
+ },
468
+
469
+ DOUBLE_DROP_D: {
470
+ STRINGS: {
471
+ 1 => {
472
+ NOTE: 'D'
473
+ },
474
+ 2 => {
475
+ NOTE: 'B'
476
+ },
477
+ 3 => {
212
478
  NOTE: 'G'
213
479
  },
480
+ 4 => {
481
+ NOTE: 'D'
482
+ },
483
+ 5 => {
484
+ NOTE: 'A'
485
+ },
214
486
  6 => {
215
487
  NOTE: 'D'
216
488
  }
217
489
  }
218
490
  },
219
491
 
220
- OPEN_G_MINOR: {
492
+ MODAL_D: {
221
493
  STRINGS: {
222
494
  1 => {
223
495
  NOTE: 'D'
224
496
  },
225
497
  2 => {
498
+ NOTE: 'A'
499
+ },
500
+ 3 => {
501
+ NOTE: 'G'
502
+ },
503
+ 4 => {
504
+ NOTE: 'D'
505
+ },
506
+ 5 => {
507
+ NOTE: 'A'
508
+ },
509
+ 6 => {
510
+ NOTE: 'D'
511
+ }
512
+ }
513
+ },
514
+
515
+ OPEN_E: {
516
+ STRINGS: {
517
+ 1 => {
518
+ NOTE: 'E'
519
+ },
520
+ 2 => {
521
+ NOTE: 'B'
522
+ },
523
+ 3 => {
524
+ NOTE: [
525
+ 'G#',
526
+ 'Ab'
527
+ ]
528
+ },
529
+ 4 => {
530
+ NOTE: 'E'
531
+ },
532
+ 5 => {
533
+ NOTE: 'B'
534
+ },
535
+ 6 => {
536
+ NOTE: 'E'
537
+ }
538
+ }
539
+ },
540
+
541
+ TUNING_F: {
542
+ STRINGS: {
543
+ 1 => {
544
+ NOTE: 'F'
545
+ },
546
+ 2 => {
547
+ NOTE: 'C'
548
+ },
549
+ 3 => {
550
+ NOTE: [
551
+ 'G#',
552
+ 'Ab'
553
+ ]
554
+ },
555
+ 4 => {
556
+ NOTE: [
557
+ 'D#',
558
+ 'Eb'
559
+ ]
560
+ },
561
+ 5 => {
226
562
  NOTE: [
227
563
  'A#',
228
564
  'Bb'
229
565
  ]
230
566
  },
567
+ 6 => {
568
+ NOTE: 'F'
569
+ }
570
+ }
571
+ },
572
+
573
+ TUNING_G: {
574
+ STRINGS: {
575
+ 1 => {
576
+ NOTE: 'G'
577
+ },
578
+ 2 => {
579
+ NOTE: 'D'
580
+ },
581
+ 3 => {
582
+ NOTE: [
583
+ 'A#',
584
+ 'Bb'
585
+ ]
586
+ },
587
+ 4 => {
588
+ NOTE: 'F'
589
+ },
590
+ 5 => {
591
+ NOTE: 'C'
592
+ },
593
+ 6 => {
594
+ NOTE: 'G'
595
+ }
596
+ }
597
+ },
598
+
599
+ OPEN_F: {
600
+ STRINGS: {
601
+ 1 => {
602
+ NOTE: 'F'
603
+ },
604
+ 2 => {
605
+ NOTE: 'C'
606
+ },
607
+ 3 => {
608
+ NOTE: 'F'
609
+ },
610
+ 4 => {
611
+ NOTE: 'C'
612
+ },
613
+ 5 => {
614
+ NOTE: 'A'
615
+ },
616
+ 6 => {
617
+ NOTE: 'F'
618
+ }
619
+ }
620
+ },
621
+
622
+ OPEN_G: {
623
+ STRINGS: {
624
+ 1 => {
625
+ NOTE: 'D'
626
+ },
627
+ 2 => {
628
+ NOTE: 'B'
629
+ },
231
630
  3 => {
232
631
  NOTE: 'G'
233
632
  },
@@ -243,13 +642,16 @@ module Fretboard
243
642
  }
244
643
  },
245
644
 
246
- MODAL_D: {
645
+ OPEN_G_MINOR: {
247
646
  STRINGS: {
248
647
  1 => {
249
648
  NOTE: 'D'
250
649
  },
251
650
  2 => {
252
- NOTE: 'A'
651
+ NOTE: [
652
+ 'A#',
653
+ 'Bb'
654
+ ]
253
655
  },
254
656
  3 => {
255
657
  NOTE: 'G'
@@ -258,7 +660,7 @@ module Fretboard
258
660
  NOTE: 'D'
259
661
  },
260
662
  5 => {
261
- NOTE: 'A'
663
+ NOTE: 'G'
262
664
  },
263
665
  6 => {
264
666
  NOTE: 'D'
@@ -266,6 +668,44 @@ module Fretboard
266
668
  }
267
669
  },
268
670
 
671
+ DROP_G_SHARP: {
672
+ STRINGS: {
673
+ 1 => {
674
+ NOTE: [
675
+ 'A#',
676
+ 'Bb'
677
+ ]
678
+ },
679
+ 2 => {
680
+ NOTE: 'F'
681
+ },
682
+ 3 => {
683
+ NOTE: [
684
+ 'C#',
685
+ 'Db'
686
+ ]
687
+ },
688
+ 4 => {
689
+ NOTE: [
690
+ 'G#',
691
+ 'Ab'
692
+ ]
693
+ },
694
+ 5 => {
695
+ NOTE: [
696
+ 'D#',
697
+ 'Eb'
698
+ ]
699
+ },
700
+ 6 => {
701
+ NOTE: [
702
+ 'G#',
703
+ 'Ab'
704
+ ]
705
+ }
706
+ }
707
+ },
708
+
269
709
  MODAL_G: {
270
710
  STRINGS: {
271
711
  1 => {
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Fretboard
2
4
  MAJOR = 1
3
- MINOR = 3
5
+ MINOR = 4
4
6
  PATCH = 0
5
7
 
6
8
  VERSION = [
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fretboard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Sokolov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2020-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.88'
47
+ version: 1.3.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.88'
54
+ version: 1.3.0
55
55
  description: Tools for working with the guitar fretboard
56
56
  email:
57
57
  - anton@sokolov.digital
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  requirements: []
95
- rubygems_version: 3.1.2
95
+ rubygems_version: 3.1.4
96
96
  signing_key:
97
97
  specification_version: 4
98
98
  summary: Tools for working with the guitar fretboard