fretboard 1.2.0 → 1.3.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 +4 -4
- data/README.md +11 -0
- data/bin/fretboard +19 -0
- data/fretboard.gemspec +1 -1
- data/lib/fretboard/builder.rb +32 -0
- data/lib/fretboard/console.rb +3 -3
- data/lib/fretboard/parser.rb +51 -0
- data/lib/fretboard/tunings.rb +162 -94
- data/lib/fretboard/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ce78fbd618190dec7aab13a7f9c8a2d58bc074cd90a035eabfc03a9091ca435
|
4
|
+
data.tar.gz: bdfff345ca8d38dd4739061595e5f7cbf92ce0cf624237a8580ad2e83c10ce16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4175ec01b4eac24ae120b1dd6b41ed5f1ceff0fe9fd32edea143cf04c7a59b5dcd6b75f1a6035e88e766ab6ccfa8ac90519c9dd10501bd6ec9971b45d6d991b
|
7
|
+
data.tar.gz: f664ab61567eec56eb49dfb9f9a52da3d1e72d5518def62e6716cea380ed136ec2de2cccb0c60d6fa940b87c820f2ca0932cccc0d5246b08cd09029904da0982
|
data/README.md
CHANGED
@@ -53,12 +53,23 @@ fretboard.draw
|
|
53
53
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
54
54
|
```
|
55
55
|
|
56
|
+
### Using from the console
|
57
|
+
|
58
|
+
```
|
59
|
+
bundle exec fretboard --draw-tuning standart
|
60
|
+
```
|
61
|
+
|
56
62
|
### Available tunings:
|
57
63
|
|
58
64
|
- Standart (`standart`)
|
59
65
|
- Drop C (`drop_c`)
|
60
66
|
- Drop D (`drop_d`)
|
61
67
|
- Double Drop D (`double_drop_d`)
|
68
|
+
- Open A (`open_a`)
|
62
69
|
- Open C (`open_c`)
|
63
70
|
- Open D (`open_d`)
|
71
|
+
- Open D Minor (`open_d_minor`)
|
64
72
|
- Open G (`open_g`)
|
73
|
+
- Open G Minor (`open_g_minor`)
|
74
|
+
- Modal D (`modal_d`)
|
75
|
+
- Modal G (`modal_g`)
|
data/bin/fretboard
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
unless File.exist?('./Gemfile')
|
4
|
+
abort 'Please run fretboard from the root of the project'
|
5
|
+
end
|
6
|
+
|
7
|
+
require 'rubygems'
|
8
|
+
|
9
|
+
begin
|
10
|
+
require 'bundler'
|
11
|
+
Bundler.setup
|
12
|
+
rescue StandardError
|
13
|
+
end
|
14
|
+
|
15
|
+
$LOAD_PATH << "#{__dir__}/../lib"
|
16
|
+
|
17
|
+
require 'fretboard/parser'
|
18
|
+
|
19
|
+
Fretboard::Parser.parse(ARGV)
|
data/fretboard.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.files = `git ls-files -z *.md *.gemspec bin lib`.split("\x0")
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
|
20
|
+
spec.executables = ['fretboard']
|
21
21
|
|
22
22
|
spec.add_dependency 'colorize', '~> 0.8.1'
|
23
23
|
spec.add_dependency 'terminal-table', '~> 1.8.0'
|
data/lib/fretboard/builder.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# require 'active_support/core_ext/hash'
|
2
|
+
|
1
3
|
require 'fretboard/console'
|
2
4
|
|
3
5
|
module Fretboard
|
@@ -7,9 +9,14 @@ module Fretboard
|
|
7
9
|
# fretboard = Fretboard::Builder.drop_c
|
8
10
|
# fretboard = Fretboard::Builder.drop_d
|
9
11
|
# fretboard = Fretboard::Builder.double_drop_d
|
12
|
+
# fretboard = Fretboard::Builder.open_a
|
10
13
|
# fretboard = Fretboard::Builder.open_c
|
11
14
|
# fretboard = Fretboard::Builder.open_d
|
15
|
+
# fretboard = Fretboard::Builder.open_d_minor
|
12
16
|
# fretboard = Fretboard::Builder.open_g
|
17
|
+
# fretboard = Fretboard::Builder.open_g_minor
|
18
|
+
# fretboard = Fretboard::Builder.modal_d
|
19
|
+
# fretboard = Fretboard::Builder.modal_g
|
13
20
|
|
14
21
|
# fretboard.build
|
15
22
|
# fretboard.data
|
@@ -22,9 +29,14 @@ module Fretboard
|
|
22
29
|
# drop_c
|
23
30
|
# drop_d
|
24
31
|
# double_drop_d
|
32
|
+
# open_a
|
25
33
|
# open_c
|
26
34
|
# open_d
|
35
|
+
# open_d_minor
|
27
36
|
# open_g
|
37
|
+
# open_g_minor
|
38
|
+
# modal_d
|
39
|
+
# modal_g
|
28
40
|
# ].freeze
|
29
41
|
|
30
42
|
attr_reader :data
|
@@ -51,6 +63,10 @@ module Fretboard
|
|
51
63
|
new(:double_drop_d, number_of_frets)
|
52
64
|
end
|
53
65
|
|
66
|
+
def self.open_a(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
67
|
+
new(:open_a, number_of_frets)
|
68
|
+
end
|
69
|
+
|
54
70
|
def self.open_c(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
55
71
|
new(:open_c, number_of_frets)
|
56
72
|
end
|
@@ -59,10 +75,26 @@ module Fretboard
|
|
59
75
|
new(:open_d, number_of_frets)
|
60
76
|
end
|
61
77
|
|
78
|
+
def self.open_d_minor(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
79
|
+
new(:open_d_minor, number_of_frets)
|
80
|
+
end
|
81
|
+
|
62
82
|
def self.open_g(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
63
83
|
new(:open_g, number_of_frets)
|
64
84
|
end
|
65
85
|
|
86
|
+
def self.open_g_minor(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
87
|
+
new(:open_g_minor, number_of_frets)
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.modal_d(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
91
|
+
new(:modal_d, number_of_frets)
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.modal_g(number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
95
|
+
new(:modal_g, number_of_frets)
|
96
|
+
end
|
97
|
+
|
66
98
|
def initialize(tuning, number_of_frets = DEFAULT_NUMBER_OF_FRETS)
|
67
99
|
@tuning = tuning.upcase.to_sym
|
68
100
|
@number_of_frets = number_of_frets
|
data/lib/fretboard/console.rb
CHANGED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'active_support/core_ext'
|
2
|
+
require 'optparse'
|
3
|
+
|
4
|
+
require 'fretboard/builder'
|
5
|
+
require 'fretboard/console'
|
6
|
+
require 'fretboard/note'
|
7
|
+
require 'fretboard/tunings'
|
8
|
+
|
9
|
+
module Fretboard
|
10
|
+
class Parser
|
11
|
+
attr_reader :args
|
12
|
+
|
13
|
+
def self.parse(args)
|
14
|
+
new(args).parse
|
15
|
+
end
|
16
|
+
|
17
|
+
def initialize(args)
|
18
|
+
@args = args
|
19
|
+
end
|
20
|
+
|
21
|
+
def parse
|
22
|
+
parser.parse!(args)
|
23
|
+
rescue StandardError => e
|
24
|
+
Fretboard::Console.danger("Ambiguously completable string is encountered\n#{e}")
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def parser
|
30
|
+
OptionParser.new do |opts|
|
31
|
+
opts.banner = 'Usage: fretboard [options]'
|
32
|
+
|
33
|
+
opts.on('-v', '--version', 'The current version of the gem') do
|
34
|
+
Fretboard::Console.log(Fretboard::VERSION)
|
35
|
+
exit
|
36
|
+
end
|
37
|
+
|
38
|
+
opts.on('-h', '--help', 'Prints this help') do
|
39
|
+
Fretboard::Console.log(opts.to_s)
|
40
|
+
exit
|
41
|
+
end
|
42
|
+
|
43
|
+
opts.on('--draw-tuning CODE', 'Build a guitar tuning') do |code|
|
44
|
+
fretboard = Fretboard::Builder.new(code.to_sym)
|
45
|
+
fretboard.build
|
46
|
+
fretboard.draw
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/fretboard/tunings.rb
CHANGED
@@ -3,40 +3,26 @@ module Fretboard
|
|
3
3
|
# Fretboard::Tunings.get(:standart)
|
4
4
|
# Fretboard::Tunings.exists?(:standart)
|
5
5
|
|
6
|
-
# SPN => Scientific pitch notation
|
7
|
-
|
8
6
|
TUNINGS = {
|
9
7
|
STANDART: {
|
10
8
|
STRINGS: {
|
11
9
|
1 => {
|
12
|
-
NOTE: 'E'
|
13
|
-
# FREQUENCY: '329.63 Hz',
|
14
|
-
SPN: 'E4'
|
10
|
+
NOTE: 'E'
|
15
11
|
},
|
16
12
|
2 => {
|
17
|
-
NOTE: 'B'
|
18
|
-
# FREQUENCY: '246.94 Hz',
|
19
|
-
SPN: 'B3'
|
13
|
+
NOTE: 'B'
|
20
14
|
},
|
21
15
|
3 => {
|
22
|
-
NOTE: 'G'
|
23
|
-
# FREQUENCY: '196.00 Hz',
|
24
|
-
SPN: 'G3'
|
16
|
+
NOTE: 'G'
|
25
17
|
},
|
26
18
|
4 => {
|
27
|
-
NOTE: 'D'
|
28
|
-
# FREQUENCY: '146.83 Hz',
|
29
|
-
SPN: 'D3'
|
19
|
+
NOTE: 'D'
|
30
20
|
},
|
31
21
|
5 => {
|
32
|
-
NOTE: 'A'
|
33
|
-
# FREQUENCY: '110.00 Hz',
|
34
|
-
SPN: 'A2'
|
22
|
+
NOTE: 'A'
|
35
23
|
},
|
36
24
|
6 => {
|
37
|
-
NOTE: 'E'
|
38
|
-
# FREQUENCY: '82.41 Hz',
|
39
|
-
SPN: 'E2'
|
25
|
+
NOTE: 'E'
|
40
26
|
}
|
41
27
|
}
|
42
28
|
},
|
@@ -44,28 +30,22 @@ module Fretboard
|
|
44
30
|
DROP_C: {
|
45
31
|
STRINGS: {
|
46
32
|
1 => {
|
47
|
-
NOTE: 'D'
|
48
|
-
SPN: 'D4'
|
33
|
+
NOTE: 'D'
|
49
34
|
},
|
50
35
|
2 => {
|
51
|
-
NOTE: 'A'
|
52
|
-
SPN: 'A3'
|
36
|
+
NOTE: 'A'
|
53
37
|
},
|
54
38
|
3 => {
|
55
|
-
NOTE: 'F'
|
56
|
-
SPN: 'F3'
|
39
|
+
NOTE: 'F'
|
57
40
|
},
|
58
41
|
4 => {
|
59
|
-
NOTE: 'C'
|
60
|
-
SPN: 'C3'
|
42
|
+
NOTE: 'C'
|
61
43
|
},
|
62
44
|
5 => {
|
63
|
-
NOTE: 'G'
|
64
|
-
SPN: 'G2'
|
45
|
+
NOTE: 'G'
|
65
46
|
},
|
66
47
|
6 => {
|
67
|
-
NOTE: 'C'
|
68
|
-
SPN: 'C2'
|
48
|
+
NOTE: 'C'
|
69
49
|
}
|
70
50
|
}
|
71
51
|
},
|
@@ -73,28 +53,22 @@ module Fretboard
|
|
73
53
|
DROP_D: {
|
74
54
|
STRINGS: {
|
75
55
|
1 => {
|
76
|
-
NOTE: 'E'
|
77
|
-
SPN: 'E4'
|
56
|
+
NOTE: 'E'
|
78
57
|
},
|
79
58
|
2 => {
|
80
|
-
NOTE: 'B'
|
81
|
-
SPN: 'B3'
|
59
|
+
NOTE: 'B'
|
82
60
|
},
|
83
61
|
3 => {
|
84
|
-
NOTE: 'G'
|
85
|
-
SPN: 'G3'
|
62
|
+
NOTE: 'G'
|
86
63
|
},
|
87
64
|
4 => {
|
88
|
-
NOTE: 'D'
|
89
|
-
SPN: 'D3'
|
65
|
+
NOTE: 'D'
|
90
66
|
},
|
91
67
|
5 => {
|
92
|
-
NOTE: 'A'
|
93
|
-
SPN: 'A2'
|
68
|
+
NOTE: 'A'
|
94
69
|
},
|
95
70
|
6 => {
|
96
|
-
NOTE: 'D'
|
97
|
-
SPN: 'D2'
|
71
|
+
NOTE: 'D'
|
98
72
|
}
|
99
73
|
}
|
100
74
|
},
|
@@ -102,28 +76,48 @@ module Fretboard
|
|
102
76
|
DOUBLE_DROP_D: {
|
103
77
|
STRINGS: {
|
104
78
|
1 => {
|
105
|
-
NOTE: 'D'
|
106
|
-
|
79
|
+
NOTE: 'D'
|
80
|
+
},
|
81
|
+
2 => {
|
82
|
+
NOTE: 'B'
|
83
|
+
},
|
84
|
+
3 => {
|
85
|
+
NOTE: 'G'
|
86
|
+
},
|
87
|
+
4 => {
|
88
|
+
NOTE: 'D'
|
89
|
+
},
|
90
|
+
5 => {
|
91
|
+
NOTE: 'A'
|
92
|
+
},
|
93
|
+
6 => {
|
94
|
+
NOTE: 'D'
|
95
|
+
}
|
96
|
+
}
|
97
|
+
},
|
98
|
+
|
99
|
+
OPEN_A: {
|
100
|
+
STRINGS: {
|
101
|
+
1 => {
|
102
|
+
NOTE: 'E'
|
107
103
|
},
|
108
104
|
2 => {
|
109
|
-
NOTE: '
|
110
|
-
SPN: 'B3'
|
105
|
+
NOTE: 'A'
|
111
106
|
},
|
112
107
|
3 => {
|
113
|
-
NOTE: '
|
114
|
-
SPN: 'G3'
|
108
|
+
NOTE: 'E'
|
115
109
|
},
|
116
110
|
4 => {
|
117
|
-
NOTE:
|
118
|
-
|
111
|
+
NOTE: [
|
112
|
+
'C#',
|
113
|
+
'Db'
|
114
|
+
]
|
119
115
|
},
|
120
116
|
5 => {
|
121
|
-
NOTE: 'A'
|
122
|
-
SPN: 'A2'
|
117
|
+
NOTE: 'A'
|
123
118
|
},
|
124
119
|
6 => {
|
125
|
-
NOTE: '
|
126
|
-
SPN: 'D2'
|
120
|
+
NOTE: 'E'
|
127
121
|
}
|
128
122
|
}
|
129
123
|
},
|
@@ -131,28 +125,22 @@ module Fretboard
|
|
131
125
|
OPEN_C: {
|
132
126
|
STRINGS: {
|
133
127
|
1 => {
|
134
|
-
NOTE: 'E'
|
135
|
-
SPN: 'E4'
|
128
|
+
NOTE: 'E'
|
136
129
|
},
|
137
130
|
2 => {
|
138
|
-
NOTE: 'C'
|
139
|
-
SPN: 'C4'
|
131
|
+
NOTE: 'C'
|
140
132
|
},
|
141
133
|
3 => {
|
142
|
-
NOTE: 'G'
|
143
|
-
SPN: 'G3'
|
134
|
+
NOTE: 'G'
|
144
135
|
},
|
145
136
|
4 => {
|
146
|
-
NOTE: 'C'
|
147
|
-
SPN: 'C3'
|
137
|
+
NOTE: 'C'
|
148
138
|
},
|
149
139
|
5 => {
|
150
|
-
NOTE: 'G'
|
151
|
-
SPN: 'G2'
|
140
|
+
NOTE: 'G'
|
152
141
|
},
|
153
142
|
6 => {
|
154
|
-
NOTE: 'C'
|
155
|
-
SPN: 'C2'
|
143
|
+
NOTE: 'C'
|
156
144
|
}
|
157
145
|
}
|
158
146
|
},
|
@@ -160,34 +148,48 @@ module Fretboard
|
|
160
148
|
OPEN_D: {
|
161
149
|
STRINGS: {
|
162
150
|
1 => {
|
163
|
-
NOTE: 'D'
|
164
|
-
SPN: 'D4'
|
151
|
+
NOTE: 'D'
|
165
152
|
},
|
166
153
|
2 => {
|
167
|
-
NOTE: 'A'
|
168
|
-
SPN: 'A3'
|
154
|
+
NOTE: 'A'
|
169
155
|
},
|
170
156
|
3 => {
|
171
157
|
NOTE: [
|
172
158
|
'F#',
|
173
159
|
'Gb'
|
174
|
-
],
|
175
|
-
SPN: [
|
176
|
-
'F#3',
|
177
|
-
'Gb3'
|
178
160
|
]
|
179
161
|
},
|
180
162
|
4 => {
|
181
|
-
NOTE: 'D'
|
182
|
-
SPN: 'D3'
|
163
|
+
NOTE: 'D'
|
183
164
|
},
|
184
165
|
5 => {
|
185
|
-
NOTE: 'A'
|
186
|
-
SPN: 'A2'
|
166
|
+
NOTE: 'A'
|
187
167
|
},
|
188
168
|
6 => {
|
189
|
-
NOTE: 'D'
|
190
|
-
|
169
|
+
NOTE: 'D'
|
170
|
+
}
|
171
|
+
}
|
172
|
+
},
|
173
|
+
|
174
|
+
OPEN_D_MINOR: {
|
175
|
+
STRINGS: {
|
176
|
+
1 => {
|
177
|
+
NOTE: 'D'
|
178
|
+
},
|
179
|
+
2 => {
|
180
|
+
NOTE: 'A'
|
181
|
+
},
|
182
|
+
3 => {
|
183
|
+
NOTE: 'F'
|
184
|
+
},
|
185
|
+
4 => {
|
186
|
+
NOTE: 'D'
|
187
|
+
},
|
188
|
+
5 => {
|
189
|
+
NOTE: 'A'
|
190
|
+
},
|
191
|
+
6 => {
|
192
|
+
NOTE: 'D'
|
191
193
|
}
|
192
194
|
}
|
193
195
|
},
|
@@ -195,28 +197,94 @@ module Fretboard
|
|
195
197
|
OPEN_G: {
|
196
198
|
STRINGS: {
|
197
199
|
1 => {
|
198
|
-
NOTE: 'D'
|
199
|
-
|
200
|
+
NOTE: 'D'
|
201
|
+
},
|
202
|
+
2 => {
|
203
|
+
NOTE: 'B'
|
204
|
+
},
|
205
|
+
3 => {
|
206
|
+
NOTE: 'G'
|
207
|
+
},
|
208
|
+
4 => {
|
209
|
+
NOTE: 'D'
|
210
|
+
},
|
211
|
+
5 => {
|
212
|
+
NOTE: 'G'
|
213
|
+
},
|
214
|
+
6 => {
|
215
|
+
NOTE: 'D'
|
216
|
+
}
|
217
|
+
}
|
218
|
+
},
|
219
|
+
|
220
|
+
OPEN_G_MINOR: {
|
221
|
+
STRINGS: {
|
222
|
+
1 => {
|
223
|
+
NOTE: 'D'
|
224
|
+
},
|
225
|
+
2 => {
|
226
|
+
NOTE: [
|
227
|
+
'A#',
|
228
|
+
'Bb'
|
229
|
+
]
|
230
|
+
},
|
231
|
+
3 => {
|
232
|
+
NOTE: 'G'
|
233
|
+
},
|
234
|
+
4 => {
|
235
|
+
NOTE: 'D'
|
236
|
+
},
|
237
|
+
5 => {
|
238
|
+
NOTE: 'G'
|
239
|
+
},
|
240
|
+
6 => {
|
241
|
+
NOTE: 'D'
|
242
|
+
}
|
243
|
+
}
|
244
|
+
},
|
245
|
+
|
246
|
+
MODAL_D: {
|
247
|
+
STRINGS: {
|
248
|
+
1 => {
|
249
|
+
NOTE: 'D'
|
250
|
+
},
|
251
|
+
2 => {
|
252
|
+
NOTE: 'A'
|
253
|
+
},
|
254
|
+
3 => {
|
255
|
+
NOTE: 'G'
|
256
|
+
},
|
257
|
+
4 => {
|
258
|
+
NOTE: 'D'
|
259
|
+
},
|
260
|
+
5 => {
|
261
|
+
NOTE: 'A'
|
262
|
+
},
|
263
|
+
6 => {
|
264
|
+
NOTE: 'D'
|
265
|
+
}
|
266
|
+
}
|
267
|
+
},
|
268
|
+
|
269
|
+
MODAL_G: {
|
270
|
+
STRINGS: {
|
271
|
+
1 => {
|
272
|
+
NOTE: 'D'
|
200
273
|
},
|
201
274
|
2 => {
|
202
|
-
NOTE: '
|
203
|
-
SPN: 'B3'
|
275
|
+
NOTE: 'C'
|
204
276
|
},
|
205
277
|
3 => {
|
206
|
-
NOTE: 'G'
|
207
|
-
SPN: 'G3'
|
278
|
+
NOTE: 'G'
|
208
279
|
},
|
209
280
|
4 => {
|
210
|
-
NOTE: 'D'
|
211
|
-
SPN: 'D3'
|
281
|
+
NOTE: 'D'
|
212
282
|
},
|
213
283
|
5 => {
|
214
|
-
NOTE: 'G'
|
215
|
-
SPN: 'G2'
|
284
|
+
NOTE: 'G'
|
216
285
|
},
|
217
286
|
6 => {
|
218
|
-
NOTE: 'D'
|
219
|
-
SPN: 'D2'
|
287
|
+
NOTE: 'D'
|
220
288
|
}
|
221
289
|
}
|
222
290
|
}
|
data/lib/fretboard/version.rb
CHANGED
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.
|
4
|
+
version: 1.3.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-
|
11
|
+
date: 2020-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -55,12 +55,14 @@ dependencies:
|
|
55
55
|
description: Tools for working with the guitar fretboard
|
56
56
|
email:
|
57
57
|
- anton@sokolov.digital
|
58
|
-
executables:
|
58
|
+
executables:
|
59
|
+
- fretboard
|
59
60
|
extensions: []
|
60
61
|
extra_rdoc_files: []
|
61
62
|
files:
|
62
63
|
- LICENSE.md
|
63
64
|
- README.md
|
65
|
+
- bin/fretboard
|
64
66
|
- fretboard.gemspec
|
65
67
|
- lib/fretboard.rb
|
66
68
|
- lib/fretboard/builder.rb
|
@@ -68,6 +70,7 @@ files:
|
|
68
70
|
- lib/fretboard/constants.rb
|
69
71
|
- lib/fretboard/note.rb
|
70
72
|
- lib/fretboard/notes.rb
|
73
|
+
- lib/fretboard/parser.rb
|
71
74
|
- lib/fretboard/tunings.rb
|
72
75
|
- lib/fretboard/version.rb
|
73
76
|
homepage: https://github.com/afuno/fretboard
|