rampi 0.1.1 → 0.2.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 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