chord_diagrams 0.0.5 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 135386bd1af18078290e62fb0bc3792ddb07ff973717b4148ebead48e017bd2b
4
- data.tar.gz: 6f2f12911358baae68cf0299a76348439619e757d428c8ccbccf0ad7bae0c332
3
+ metadata.gz: 3180bac857640df12ac5f4b21460e44989dfa8d6ab895098cc1eb329a59630d4
4
+ data.tar.gz: abbd3f0b9e8bc7c62a90b3eb42adcccc47e97f365eb00ec5a29f2013e8e6394d
5
5
  SHA512:
6
- metadata.gz: 317c76f9d1f67d9f0048fbb536c241ef25cc2e4a78bde7fe5d80afa2883d437ded28cb7b9ac1ac99b5835154eb3d654aa2b10d2e6b3b98e8af954c20280ecca2
7
- data.tar.gz: 315b30e1547f28f0d104879e6bac1e2aeb218738f32fe5bff1de5b5988563ed30de3c1d51c39f03235778baa268dee12c49b0b22359b18db1792815426152075
6
+ metadata.gz: 54e13dbc75a9545f9bcac372d6eae1a2ca56bb502eb46da8443831a67a1f34e8a57b16a9880c7531ee5752eeb9719f02f467ec9dda9645df3ad0ca2e8b83449f
7
+ data.tar.gz: '0297d75222be4299481223a7db5983abae3f76643fa55cd7f7fac2b6b792e60b56af68b39d5d6747b89c3864fe81b243f13b7d7f976e88726294f10097762ab8'
data/.gitignore CHANGED
@@ -12,4 +12,5 @@
12
12
 
13
13
  .idea
14
14
  Gemfile.lock
15
- sheet.html
15
+ guitar.html
16
+ ukulele.html
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.2
data/.travis.yml CHANGED
@@ -3,5 +3,5 @@ sudo: false
3
3
  language: ruby
4
4
  cache: bundler
5
5
  rvm:
6
- - 2.6.3
7
- before_install: gem install bundler -v 2.0.1
6
+ - 2.7.2
7
+ before_install: gem install bundler -v 2.2
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # ChordDiagrams
1
+ # ChordDiagrams [![Build Status](https://www.travis-ci.com/spilth/chord_diagrams.svg?branch=master)](https://www.travis-ci.com/spilth/chord_diagrams)
2
2
 
3
- Generate SVGs of Guitar Chord Diagrams
3
+ Generate SVGs for Guitar and Ukulele Chord Diagrams
4
4
 
5
5
  ## Installation
6
6
 
@@ -12,21 +12,24 @@ gem 'chord_diagrams'
12
12
 
13
13
  And then execute:
14
14
 
15
- $ bundle
15
+ ```bash
16
+ $ bundle
17
+ ```
16
18
 
17
19
  Or install it yourself as:
18
20
 
19
- $ gem install chord_diagrams
21
+ ```bash
22
+ $ gem install chord_diagrams
23
+ ```
20
24
 
21
25
  ## Usage
22
26
 
23
27
  ```ruby
24
28
  require 'chord_diagrams'
25
- puts ChordDiagrams.chord_svg('Am')
29
+ puts ChordDiagrams.guitar_svg('Am')
30
+ puts ChordDiagrams.ukulele_svg('Am')
26
31
  ```
27
32
 
28
- <svg width="100" height="100" viewBox="0 0 200 200"><text x="100" y="40" text-anchor="middle" style="font-size:36; font-weight:bold">Am</text><line x1="50" y1="80" x2="150" y2="80" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="50" y1="100" x2="150" y2="100" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="50" y1="120" x2="150" y2="120" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="50" y1="140" x2="150" y2="140" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="50" y1="160" x2="150" y2="160" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="50" y1="80" x2="50" y2="160" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="70" y1="80" x2="70" y2="160" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="90" y1="80" x2="90" y2="160" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="110" y1="80" x2="110" y2="160" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="130" y1="80" x2="130" y2="160" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="150" y1="80" x2="150" y2="160" style="stroke:black; stroke-width:2; stroke-linecap:square"/><line x1="49" y1="77" x2="151" y2="77" style="stroke:black; stroke-width:8"/><circle cx="50" cy="61" r="6" style="stroke:black; fill:white; stroke-width:2"/><circle cx="70" cy="61" r="6" style="stroke:black; fill:white; stroke-width:2"/><circle cx="90" cy="110" r="8" style="fill:black"/><circle cx="110" cy="110" r="8" style="fill:black"/><circle cx="130" cy="90" r="8" style="fill:black"/><circle cx="150" cy="61" r="6" style="stroke:black; fill:white; stroke-width:2"/></svg>
29
-
30
33
  ## Development
31
34
 
32
35
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/Rakefile CHANGED
@@ -1,19 +1,29 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
+ require 'chord_diagrams'
3
4
 
4
5
  RSpec::Core::RakeTask.new(:spec)
5
6
 
6
7
  task default: :spec
7
8
 
8
- task :sheet do
9
- require 'chord_diagrams'
9
+ task sheets: %i[guitar ukulele]
10
10
 
11
- html = ""
11
+ task :guitar do
12
+ html = ''
12
13
 
13
- ChordDiagrams::FINGERINGS.each do |name, fingering|
14
- diagram = ChordDiagrams.chord_svg(name, fingering)
15
- html << diagram
14
+ ChordDiagrams::GUITAR_FINGERINGS.keys.each do |name|
15
+ html << ChordDiagrams.guitar_svg(name)
16
16
  end
17
17
 
18
- File.open('sheet.html', 'w') { |file| file.write(html) }
19
- end
18
+ File.open('guitar.html', 'w') { |file| file.write(html) }
19
+ end
20
+
21
+ task :ukulele do
22
+ html = ''
23
+
24
+ ChordDiagrams::UKULELE_FINGERINGS.keys.each do |name|
25
+ html << ChordDiagrams.ukulele_svg(name)
26
+ end
27
+
28
+ File.open('ukulele.html', 'w') { |file| file.write(html) }
29
+ end
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ['Brian Kelly']
9
9
  spec.email = ['bkelly@carbonfive.com']
10
10
 
11
- spec.summary = 'Generate Chord Diagrams for Guitar'
12
- spec.description = 'Generate Chord Diagrams for Guitar'
11
+ spec.summary = 'Generate Chord Diagrams for Guitar and Ukulele'
12
+ spec.description = 'Generate Chord Diagrams for Guitar and Ukulele'
13
13
  spec.homepage = 'https://github.com/spilth/chord_diagrams'
14
14
  spec.license = 'MIT'
15
15
 
@@ -35,9 +35,9 @@ Gem::Specification.new do |spec|
35
35
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
36
36
  spec.require_paths = ['lib']
37
37
 
38
- spec.add_dependency 'victor', '0.2.4'
39
- spec.add_development_dependency 'bundler', '~> 2.0'
40
- spec.add_development_dependency 'rake', '~> 10.0'
41
- spec.add_development_dependency 'rspec', '~> 3.0'
42
- spec.add_development_dependency 'nokogiri'
38
+ spec.add_dependency 'victor', '0.3.2'
39
+ spec.add_development_dependency 'bundler', '~> 2.2'
40
+ spec.add_development_dependency 'rake', '~> 13.0'
41
+ spec.add_development_dependency 'rspec', '~> 3.8'
42
+ spec.add_development_dependency 'nokogiri', '~> 1.11'
43
43
  end
@@ -10,28 +10,82 @@ module ChordDiagrams
10
10
  }.freeze
11
11
 
12
12
  class << self
13
- def chord_svg(name, fingerings = nil)
14
- svg = Victor::SVG.new template: :html, width: 100, height: 100, viewBox: '0 0 200 200'
13
+ def ukulele_svg(name, _fingering = nil)
14
+ svg = Victor::SVG.new template: :minimal, width: 80, height: 100, viewBox: '0 0 160 200'
15
15
 
16
- ChordDiagrams.draw_name(name, svg)
17
- ChordDiagrams.draw_frets(svg)
18
- ChordDiagrams.draw_strings(svg)
16
+ ChordDiagrams.draw_ukulele_name(name, svg)
17
+ ChordDiagrams.draw_ukulele_frets(svg)
18
+ ChordDiagrams.draw_ukulele_strings(svg)
19
19
 
20
- if fingerings.nil?
21
- fingerings = ChordDiagrams::FINGERINGS[name.to_sym]
20
+ fingering = ChordDiagrams::UKULELE_FINGERINGS[name] if fingering.nil?
21
+
22
+ if !fingering.nil?
23
+ ChordDiagrams.draw_chord_diagram(fingering, svg)
24
+ else
25
+ ChordDiagrams.draw_ukulele_missing_chord_diagram(name, svg)
22
26
  end
23
27
 
24
- if !fingerings.nil?
25
- ChordDiagrams.draw_chord_diagram(fingerings, svg)
28
+ svg.render
29
+ end
30
+
31
+ def guitar_svg(name, fingering = nil)
32
+ svg = Victor::SVG.new template: :minimal, width: 100, height: 100, viewBox: '0 0 200 200'
33
+
34
+ ChordDiagrams.draw_guitar_name(name, svg)
35
+ ChordDiagrams.draw_guitar_frets(svg)
36
+ ChordDiagrams.draw_guitar_strings(svg)
37
+
38
+ fingering = ChordDiagrams::GUITAR_FINGERINGS[name] if fingering.nil?
39
+
40
+ if !fingering.nil?
41
+ ChordDiagrams.draw_chord_diagram(fingering, svg)
26
42
  else
27
- ChordDiagrams.draw_missing_chord_diagram(svg)
43
+ ChordDiagrams.draw_guitar_missing_chord_diagram(name, svg)
28
44
  end
29
45
 
30
46
  svg.render
31
47
  end
32
48
 
33
- def draw_missing_chord_diagram(svg)
34
- puts "Could't find fingerings for the chord '#{name}'"
49
+ def draw_ukulele_name(name, svg)
50
+ svg.text name, id: 'chordName', x: 80, y: 40, text_anchor: :middle, style: {
51
+ font_size: 36,
52
+ font_weight: :bold
53
+ }
54
+ end
55
+
56
+ def draw_guitar_name(name, svg)
57
+ svg.text name, id: 'chordName', x: 100, y: 40, text_anchor: :middle, style: {
58
+ font_size: 36,
59
+ font_weight: :bold
60
+ }
61
+ end
62
+
63
+ def draw_guitar_frets(svg)
64
+ [80, 100, 120, 140, 160].each do |y|
65
+ svg.line x1: 50, y1: y, x2: 150, y2: y, style: LINE_STYLE
66
+ end
67
+ end
68
+
69
+ def draw_ukulele_frets(svg)
70
+ [80, 100, 120, 140, 160].each do |y|
71
+ svg.line x1: 50, y1: y, x2: 110, y2: y, style: LINE_STYLE
72
+ end
73
+ end
74
+
75
+ def draw_guitar_strings(svg)
76
+ [50, 70, 90, 110, 130, 150].each do |x|
77
+ svg.line x1: x, y1: 80, x2: x, y2: 160, style: LINE_STYLE
78
+ end
79
+ end
80
+
81
+ def draw_ukulele_strings(svg)
82
+ [50, 70, 90, 110].each do |x|
83
+ svg.line x1: x, y1: 80, x2: x, y2: 160, style: LINE_STYLE
84
+ end
85
+ end
86
+
87
+ def draw_guitar_missing_chord_diagram(name, svg)
88
+ puts "Could't find fingerings for the Guitar chord '#{name}'"
35
89
 
36
90
  svg.text '?', x: 102, y: 155, text_anchor: :middle, style: {
37
91
  font_size: 96,
@@ -40,17 +94,32 @@ module ChordDiagrams
40
94
  }
41
95
  end
42
96
 
97
+ def draw_ukulele_missing_chord_diagram(name, svg)
98
+ puts "Could't find fingerings for the Ukulele chord '#{name}'"
99
+
100
+ svg.text '?', x: 81, y: 155, text_anchor: :middle, style: {
101
+ font_size: 96,
102
+ font_weight: :bold,
103
+ fill: :gray
104
+ }
105
+ end
106
+
43
107
  def draw_chord_diagram(fingerings, svg)
44
108
  fingerings = fingerings.split('')
45
109
 
46
- lowest_fret = fingerings.reject{ |fret| fret.to_i < 1 }.min
110
+ lowest_fret = fingerings.reject { |fret| fret.to_i < 1 }.min
111
+ highest_fret = fingerings.reject { |fret| fret.to_i < 1 }.max
47
112
 
48
- if lowest_fret.to_i > 2
49
- svg.text lowest_fret, id: 'fretNumber', x: 35, y: 96, text_anchor: :end, style: { font_size: 20 }
113
+ if lowest_fret.to_i > 3 || highest_fret.to_i > 4
114
+ draw_fret_number(lowest_fret, svg)
50
115
 
51
- fingerings = shift_fingerings(fingerings, lowest_fret)
116
+ fingerings = shift_guitar_fingerings(fingerings, lowest_fret)
52
117
  else
53
- draw_nut(svg)
118
+ if fingerings.size == 6
119
+ draw_guitar_nut(svg)
120
+ else
121
+ draw_ukulele_nut(svg)
122
+ end
54
123
  end
55
124
 
56
125
  fingerings.each_with_index do |fingering, index|
@@ -66,15 +135,15 @@ module ChordDiagrams
66
135
  end
67
136
  end
68
137
 
69
- def draw_name(name, svg)
70
- svg.text name, id: 'chordName', x: 100, y: 40, text_anchor: :middle, style: {
71
- font_size: 36,
72
- font_weight: :bold
138
+ def draw_guitar_nut(svg)
139
+ svg.line id: 'nut', x1: 49, y1: 77, x2: 151, y2: 77, style: {
140
+ stroke: :black,
141
+ stroke_width: 8
73
142
  }
74
143
  end
75
144
 
76
- def draw_nut(svg)
77
- svg.line id: 'nut', x1: 49, y1: 77, x2: 151, y2: 77, style: {
145
+ def draw_ukulele_nut(svg)
146
+ svg.line id: 'nut', x1: 49, y1: 77, x2: 111, y2: 77, style: {
78
147
  stroke: :black,
79
148
  stroke_width: 8
80
149
  }
@@ -97,21 +166,13 @@ module ChordDiagrams
97
166
  svg.line x1: offset - 4, y1: 61 + 4, x2: offset + 4, y2: 61 - 4, style: LINE_STYLE
98
167
  end
99
168
 
100
- def draw_strings(svg)
101
- [50, 70, 90, 110, 130, 150].each do |x|
102
- svg.line x1: x, y1: 80, x2: x, y2: 160, style: LINE_STYLE
103
- end
104
- end
169
+ private
105
170
 
106
- def draw_frets(svg)
107
- [80, 100, 120, 140, 160].each do |y|
108
- svg.line x1: 50, y1: y, x2: 150, y2: y, style: LINE_STYLE
109
- end
171
+ def draw_fret_number(number, svg)
172
+ svg.text number, id: 'fretNumber', x: 37, y: 98, text_anchor: :end, style: {font_size: 24}
110
173
  end
111
174
 
112
- private
113
-
114
- def shift_fingerings(fingerings, lowest_fret)
175
+ def shift_guitar_fingerings(fingerings, lowest_fret)
115
176
  fingerings.map do |fingering|
116
177
  if fingering != 'x' && fingering != '0'
117
178
  fingering.to_i - lowest_fret.to_i + 1
@@ -0,0 +1,94 @@
1
+ chord,guitar,ukulele
2
+ A,x02220,2100
3
+ B,x24442,4322
4
+ Bb,x13331,3211
5
+ C,x32010,0003
6
+ C#,x46664,1114
7
+ D,xx0232,2220
8
+ D#,x68886,0331
9
+ E,022100,4442
10
+ Eb,x68886,0331
11
+ F,133211,2010
12
+ F#,244322,3121
13
+ G,320003,0232
14
+ G#,466544,1343
15
+ C5,x355xx,0033
16
+ D5,x577xx,2200
17
+ D#5,x688xx,2255
18
+ C6,x32210,0000
19
+ D6,xx0202,2222
20
+ E6,022120,4444
21
+ G6,320000,0202
22
+ A7,002020,0100
23
+ B7,x21202,2322
24
+ C7,x32310,0001
25
+ C#7,x46464,1112
26
+ D7,x00212,2223
27
+ E7,020100,1202
28
+ E7sus4,020200,2200
29
+ F7,131211,2313
30
+ F#7,242322,3424
31
+ G7,320001,0212
32
+ G#7,464544,1323
33
+ AM7,x02120,1100
34
+ CM7,x32000,0002
35
+ DM7,xx0222,2224
36
+ EM7,xx2444,1302
37
+ FM7,132211,2413
38
+ Cadd9,x32033,0203
39
+ Fadd9,xx3213,0010
40
+ Dsus2,xx0230,2200
41
+ Asus2,x02200,1341
42
+ Asus4,x02230,2200
43
+ Dsus4,xx0233,0230
44
+ Esus4,022200,4400
45
+ A7sus4,002030,0200
46
+ G7sus4,353533,0213
47
+ Am,002210,2000
48
+ Bm,x24432,3222
49
+ Cm,x35543,0333
50
+ C#m,x46654,1104
51
+ Dm,x00231,2210
52
+ Em,022000,0432
53
+ Fm,133111,1013
54
+ F#m,244222,2120
55
+ Gm,355333,0231
56
+ G#m,466444,4342
57
+ Am7,002010,0433
58
+ A#m7,x13121,1111
59
+ Bm7,x24232,2222
60
+ Cm7,x35343,3333
61
+ C#m7,x46454,1102
62
+ Dm7,x00211,2213
63
+ Em7,020030,0202
64
+ Fm7,131111,1313
65
+ F#m7,242222,2424
66
+ Gm7,353333,0211
67
+ Am9,x05557,1032
68
+ Bm11,x20220,4200
69
+ F#m11,202200,4420
70
+ A/C#,042220,2100
71
+ A/E,00222x,2100
72
+ A/F#,202220,2100
73
+ Bb/A,x00331,3210
74
+ C/B,x22010,0002
75
+ C/E,032010,0003
76
+ D/A,x04232,2220
77
+ D/F#,200232,2220
78
+ F/A,x03211,2010
79
+ G/B,x20003,4232
80
+ C7/G,3323xx,0001
81
+ D7/F#,200212,2223
82
+ G7/F,123003,0212
83
+ D9/F#,2x0210,5425
84
+ Am/D,xx0210,2203
85
+ Am/G,302210,0000
86
+ A#m/D#,xx1321,2214
87
+ Dm/F,10323x,2210
88
+ Gm/Bb,x10333,0231
89
+ A7/G,302020,0100
90
+ G#dim,4564xx,1202
91
+ D#dim7,xx1212,2323
92
+ G#dim7,456464,1212
93
+ Daug,xx0332,3221
94
+ Aaug,x03221,2114
@@ -1,130 +1,16 @@
1
- module ChordDiagrams
2
- FINGERINGS = {
3
- # Major Chords
4
- 'A': '002220',
5
- 'B': 'x24442',
6
- 'Bb': 'x13331',
7
- 'C': 'x32010',
8
- 'C#': 'x46664',
9
- 'D': 'xx0232',
10
- 'D#': 'x68886',
11
- 'E': '022100',
12
- 'Eb': 'x68886',
13
- 'F': '133211',
14
- 'F#': '244322',
15
- 'G': '320003',
16
- 'G#': '466544',
17
-
18
- # Root/Five Chords
19
- 'C5': 'x355xx',
20
- 'D5': 'x577xx',
21
- 'D#5': 'x688xx',
22
-
23
- # Six Chords
24
- 'C6': 'x32210',
25
- 'D6': 'xx0202',
26
- 'E6': '022120',
27
- 'G6': '320000',
28
-
29
- # Seventh Chords
30
- 'A7': '002020',
31
- 'B7': 'x21202',
32
- 'C7': 'x32310',
33
- 'C#7': 'x46464',
34
- 'D7': 'x00212',
35
- 'E7': '020100',
36
- 'F7': '131211',
37
- 'F#7': '242322',
38
- 'G7': '320001',
39
- 'G#7': '464544',
40
-
41
- # Major Seventh Chords
42
- 'AM7': 'x02120',
43
- 'CM7': 'x32000',
44
- 'DM7': 'xx0222',
45
- 'EM7': 'xx2444',
46
- 'FM7': '132211',
47
-
48
- # Major 9th Chords
49
- 'Cadd9': 'x32033',
50
- 'Fadd9': 'xx3213',
51
-
52
- # Major Suspended 2nd Chords
53
- 'Dsus2': 'xx0230',
54
- 'Asus2': 'x02200',
55
-
56
- # Major Suspended 4th Chords
57
- 'Asus4': 'x02230',
58
- 'Dsus4': 'xx0233',
59
- 'Esus4': '022200',
1
+ require 'csv'
60
2
 
61
- # Seventh Suspended 4th Chords
62
- 'A7sus4': '002030',
63
- 'G7sus4': '353533',
64
-
65
- # Minor Chords
66
- 'Am': '002210',
67
- 'Bm': 'x24432',
68
- 'Cm': 'x35543',
69
- 'C#m': 'x46654',
70
- 'Dm': 'x00231',
71
- 'Em': '022000',
72
- 'Fm': '133111',
73
- 'F#m': '244222',
74
- 'Gm': '355333',
75
- 'G#m': '466444',
76
-
77
- # Minor Seventh Chords
78
- 'Am7': '002010',
79
- 'A#m7': 'x13121',
80
- 'Bm7': 'x24232',
81
- 'Cm7': 'x35343',
82
- 'C#m7': 'x46454',
83
- 'Dm7': 'x00211',
84
- 'Em7': '020030',
85
- 'Fm7': '131111',
86
- 'F#m7': '242222',
87
- 'Gm7': '353333',
88
-
89
- # Minor Ninth Chotds
90
- 'Am9': "x05557",
91
-
92
- # Minor Eleventh Chords
93
- 'Bm11': 'x20220',
94
- 'F#m11': '202200',
95
-
96
- # Major Chords with Bass Notes
97
- 'A/C#': '042220',
98
- 'A/E': '00222x',
99
- 'A/F#': '202220',
100
- 'Bb/A': 'x00331',
101
- 'C/B': 'x22010',
102
- 'C/E': '032010',
103
- 'D/A': 'x04232',
104
- 'D/F#': '200232',
105
- 'F/A': 'x03211',
106
- 'G/B': 'x20003',
107
-
108
- # Seventh Chords with Bass Notes
109
- 'C7/G': '3323xx',
110
- 'D7/F#': '200212',
111
- 'G7/F': '123003',
112
-
113
- # Ninth Chords with Bass Notes
114
- 'D9/F#': '2x0210',
3
+ module ChordDiagrams
4
+ guitar_fingerings = {}
5
+ ukulele_fingerings = {}
115
6
 
116
- # Minor Chords with Bass Notes
117
- 'Am/D': 'xx0210',
118
- 'Am/G': '302210',
119
- 'A#m/D#': 'xx1321',
120
- 'Dm/F': '10323x',
121
- 'Gm/Bb': 'x10333',
7
+ fingerings_file = File.join(File.expand_path(File.dirname(__FILE__)), 'fingerings.csv')
122
8
 
123
- # Diminished Chords
124
- 'G#dim': '4564xx',
9
+ CSV.foreach(fingerings_file, headers: true) do |row|
10
+ guitar_fingerings[row[0]] = row[1] unless row[1].nil?
11
+ ukulele_fingerings[row[0]] = row[2] unless row[2].nil?
12
+ end
125
13
 
126
- # Diminished Seventh Chords
127
- 'D#dim7': 'xx1212',
128
- 'G#dim7': '456464'
129
- }.freeze
130
- end
14
+ GUITAR_FINGERINGS = guitar_fingerings.freeze
15
+ UKULELE_FINGERINGS = ukulele_fingerings.freeze
16
+ end
@@ -1,3 +1,3 @@
1
1
  module ChordDiagrams
2
- VERSION = '0.0.5'.freeze
2
+ VERSION = '0.0.10'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chord_diagrams
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Kelly
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-28 00:00:00.000000000 Z
11
+ date: 2021-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: victor
@@ -16,71 +16,71 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.4
19
+ version: 0.3.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.2.4
26
+ version: 0.3.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.0'
33
+ version: '2.2'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.0'
40
+ version: '2.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13.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: '10.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '3.8'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
68
+ version: '3.8'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '1.11'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
83
- description: Generate Chord Diagrams for Guitar
82
+ version: '1.11'
83
+ description: Generate Chord Diagrams for Guitar and Ukulele
84
84
  email:
85
85
  - bkelly@carbonfive.com
86
86
  executables: []
@@ -89,6 +89,7 @@ extra_rdoc_files: []
89
89
  files:
90
90
  - ".gitignore"
91
91
  - ".rspec"
92
+ - ".ruby-version"
92
93
  - ".travis.yml"
93
94
  - Gemfile
94
95
  - LICENSE.txt
@@ -98,6 +99,7 @@ files:
98
99
  - bin/setup
99
100
  - chord_diagrams.gemspec
100
101
  - lib/chord_diagrams.rb
102
+ - lib/chord_diagrams/fingerings.csv
101
103
  - lib/chord_diagrams/fingerings.rb
102
104
  - lib/chord_diagrams/version.rb
103
105
  homepage: https://github.com/spilth/chord_diagrams
@@ -122,8 +124,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
124
  - !ruby/object:Gem::Version
123
125
  version: '0'
124
126
  requirements: []
125
- rubygems_version: 3.0.3
127
+ rubygems_version: 3.1.4
126
128
  signing_key:
127
129
  specification_version: 4
128
- summary: Generate Chord Diagrams for Guitar
130
+ summary: Generate Chord Diagrams for Guitar and Ukulele
129
131
  test_files: []