rampi 0.1.1 → 0.2.0

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: d113eb235548fec446b819eb14066d3a5d5c8b083c600ae65b4a4beff489a563
4
- data.tar.gz: 5371cf5e4e5d1d08beea08a38bb71c456a4feef450521214db656ff4c4e59089
3
+ metadata.gz: f2398ac74f5521c16754fd560a2a57d54ff83fd8f6356e98d265833aa2bc5883
4
+ data.tar.gz: 2c6c57dca4680ca1def37caab57f31f95a665653acf0259beaf635ef4b6ac1c4
5
5
  SHA512:
6
- metadata.gz: 2c1529095d491397e5c02419f80e099ca69f63f5c9e7dba6a201703e6f73ef031d51c53cac42bbb375a82bd77f52593ad30a7bba182d7d6208f3e939e60ab4a3
7
- data.tar.gz: 027d4dfc20c23ad51d55035826b05e59cce1be46cad0dc520f97d353cd38ed9614e1b5f606c38f3586f79fac3765e2cd38b8505b0935aba5115b90eaaac4f1b9
6
+ metadata.gz: 13fda69149787041348ba509b17bcdbfc1b2c5b3dda174a310bd80b158c2c5f0fc6eeab5cb510f2dc554ac6ef631efc1105155e7a35e88af01f23baa2e259e2d
7
+ data.tar.gz: e358bf2ebc7b57a341720ce67aa7aae08244fcc1556176b4b169bd5b7710159ad63bbbeb24325f07eb3bdedbd2d995bcd21f3aa7700a991aaa73c478d401f7df
@@ -7,7 +7,7 @@ module Rampi
7
7
  #
8
8
 
9
9
  # Conditional - if (condition, IfTrue-expr, IfFalse-expr)
10
- def if(cond, true_exp, false_exp)
10
+ def cond(cond, true_exp, false_exp)
11
11
  Func.new(:if, cond, true_exp, false_exp)
12
12
  end
13
13
 
@@ -3,19 +3,31 @@ require 'rampi/variables'
3
3
 
4
4
  module Rampi
5
5
  module Helpers
6
- # Step semiquaver counter
7
- def step(value)
8
- (v1 / 1000) % value
6
+ # Step counter
7
+ # By default, len is 1000 = semiquaver
8
+ def step(value, len=16)
9
+ (v1 / len2dur(len)) % value
9
10
  end
10
11
 
11
12
  # Exponential envelope
12
- def expe(value)
13
- 1 - pow((v1 % 1000) / 1000, value)
13
+ def expe(value, len=16)
14
+ dur = len2dur(len)
15
+ 1 - pow((v1 % dur) / dur, value)
14
16
  end
15
17
 
16
18
  # Inverse exponential envelope
17
- def invexpe(value)
18
- pow((v1 % 1000) / 1000, value)
19
+ def invexpe(value, len=16)
20
+ dur = len2dur(len)
21
+ pow((v1 % dur) / dur, value)
22
+ end
23
+
24
+ # Converts +note_length+ to ramp duration
25
+ #
26
+ # @example len2dur(16) #=> 1000
27
+ # @example len2dur(8) #=> 2000
28
+ #
29
+ def len2dur(note_length)
30
+ 2 * 8000 / note_length
19
31
  end
20
32
  end
21
33
  end
@@ -1,3 +1,3 @@
1
1
  module Rampi
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rampi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damián Silvani
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-01 00:00:00.000000000 Z
11
+ date: 2018-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry