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.
- checksums.yaml +5 -5
- data/lib/diatone.rb +20 -10
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c75a0a1808996f56ec45af3136c222e04ec3bb27dd99e1a145e408094ae07c0b
|
4
|
+
data.tar.gz: 5fd1d73f70c069941aa0ae2697702f979344f567a552df48e996bbf1283f50d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
178
|
-
notes.push
|
183
|
+
if relative
|
184
|
+
notes.push(n.floor + 1)
|
179
185
|
else
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
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.
|
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
|
-
|
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
|