diatone 0.0.1 → 0.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/diatone.rb +20 -10
  3. metadata +2 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a2c9a54a1deb61e431edfd11449450a77e181e3e
4
- data.tar.gz: 1d4dbf824a2cbb08107e9203916240f96a31c92e
2
+ SHA256:
3
+ metadata.gz: c75a0a1808996f56ec45af3136c222e04ec3bb27dd99e1a145e408094ae07c0b
4
+ data.tar.gz: 5fd1d73f70c069941aa0ae2697702f979344f567a552df48e996bbf1283f50d8
5
5
  SHA512:
6
- metadata.gz: db134339f8b1b002f1dd243561ad76a18b44af0e4294bbd263c51fed0a2edcbd3d8bd15ba8108762b18cead75834cfa85bcf98955cf2a45309696d59db052291
7
- data.tar.gz: 56df25088a044ebae716842b15b277fd8089cc64885c10a58ac33e73c9f2d3d2559f7f560bcc9b1121e2d238df8b576d8aacc5a18f40f908818cd549e87775d6
6
+ metadata.gz: c626782006a817be0f0ed95b8102932364b0336b2091f3c7d2de3e576ef3479787bf220b1ec7cd43e4dac5b44332a2e487cbd8708cd4fbceed7df3c14bf4bf5d
7
+ data.tar.gz: 14114ff313728e831877801819a04348df071a7629c0f1d842e8aaff09bfc7508a6b8b4ce7bec165b3a031a4297bfc252388f53a08bcc1f6a7637a883c00c341
data/lib/diatone.rb CHANGED
@@ -12,6 +12,7 @@ module Diatone
12
12
  'm' => "212212",
13
13
  }
14
14
  CHORDS = {
15
+
15
16
  '' => [0,2,4],
16
17
  '6' => [0,2,4,5],
17
18
  '7' => [0,2,4,6.4],
@@ -21,7 +22,7 @@ module Diatone
21
22
  '13' => [0,2,4,6.4,8,10,12],
22
23
 
23
24
  'maj7' => [0,2,4,6],
24
- 'maj9' => [0,2,4,8,6],
25
+ 'maj9' => [0,2,4,6,8],
25
26
  'maj11' => [0,2,4,6,8,10],
26
27
  'maj13' => [0,2,4,6,8,10,12],
27
28
 
@@ -39,8 +40,12 @@ module Diatone
39
40
  'dim' => [0,2.4,4.4],
40
41
  'dim7' => [0,2.4,4.4,6.3],
41
42
  '+' => [0,2,4.6],
43
+ '-' => [0,2.4,4.4],
44
+ '+5' => [0,2,4.6],
45
+ '-5' => [0,2.4,4.4],
46
+ 'm-5' => [0,2.4,4.4],
42
47
  'majb5' => [0,2,4.4],
43
- '5' => [0,4],
48
+ '5' => [0,4]
44
49
 
45
50
  }
46
51
 
@@ -163,8 +168,9 @@ module Diatone
163
168
  return t
164
169
  end
165
170
 
166
- def self.get (s)
171
+ def self.get (s,relative=false)
167
172
  notes = []
173
+ s.sub!("#","♯")
168
174
  if s[1] == '♯' or s[1] == 'b'
169
175
  scale = Scale.get s[0..1]
170
176
  type = abbr(s[2..-1])
@@ -174,14 +180,18 @@ module Diatone
174
180
  end
175
181
  if CHORDS.include? type
176
182
  CHORDS[type].each do |n|
177
- if n == n.to_i
178
- notes.push scale[n%scale.length]
183
+ if relative
184
+ notes.push(n.floor + 1)
179
185
  else
180
- r = ((n*10).to_i%10)-5
181
- s = scale[n.to_i%scale.length]
182
- f = Note.fix(s) + r
183
- n = Note.key(f, false)
184
- notes.push(n)
186
+ if n == n.to_i
187
+ notes.push scale[n%scale.length]
188
+ else
189
+ r = ((n*10).to_i%10)-5
190
+ s = scale[n.to_i%scale.length]
191
+ f = Note.fix(s) + r
192
+ n = Note.key(f, false)
193
+ notes.push(n)
194
+ end
185
195
  end
186
196
  end
187
197
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diatone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yakup Cetinkaya
@@ -36,8 +36,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
38
  requirements: []
39
- rubyforge_project:
40
- rubygems_version: 2.5.1
39
+ rubygems_version: 3.0.2
41
40
  signing_key:
42
41
  specification_version: 4
43
42
  summary: Diatonal calculations