musa-dsl 0.14.16 → 0.14.17

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: 233adb825ed72badf41723781c9ca578b1ba7a38f01191376207fa44d0bfbe84
4
- data.tar.gz: cb6e9d1557645c9cef7bc1e963438c54c7d9c0ffb3b8dac8cc6f45619fdd1616
3
+ metadata.gz: a24567d8b5bd66107fc0ebc90d0822cd8509bdc98659f1689cbd2b92eda218ec
4
+ data.tar.gz: 801dc444a7123cd20a59b55f817b2b7806487aa8637c347bca649f50406c5d9a
5
5
  SHA512:
6
- metadata.gz: dc451b441bfdf0a9814f2a4cdd88fb3a991ec1d5edd35eeed09fbe72735d8615da33645995d35a842c392d0810db8b9d166d1c8eae43c0c000687bff0824a989
7
- data.tar.gz: d094f68c240f775035cbe4dc2aeed3086368826e99af91cbe9e68a3ef9f19c3dd95f328f71d63e97b457ff7f647b1c02d750793dc8bbcf3c1dfef842cb59cc01
6
+ metadata.gz: d8dd04459c1d1a3c3105a519fa6e1b08c7597bc671a282aa55308227e572ce289fe8a4f66cbb863e50cb5bcfdacdc55a75c61cd0595e5a4c9273b27b442599de
7
+ data.tar.gz: 28dc83e143469769223d8e9b32aecb5f4b2604c1840e0387f92eba59f9d209121d11d5ce5430b4dcadf65f61bfa6a100015efe33201dba8a169ed5d972d03e38
@@ -305,15 +305,15 @@ class Musa::BaseSequencer
305
305
 
306
306
  if to && step && !every
307
307
  steps = (to - from) / step
308
- every = Rational(effective_duration, steps)
308
+ every = Rational(effective_duration, steps + 1) # Add 1 tick to arrive to final value in duration time (no need to add an extra tick)
309
309
 
310
310
  elsif to && !step && !every
311
- step = (to <=> from).to_r
312
- every = Rational(effective_duration, (to - from).abs)
311
+ step = (to - from) / (effective_duration * @ticks_per_bar - 1) # Add 1 tick to arrive to final value in duration time (no need to add an extra tick)
312
+ every = @tick_duration
313
313
 
314
314
  elsif to && !step && every
315
- steps = (to - from) / every
316
- step = (to - from) / steps
315
+ steps = effective_duration / every
316
+ step = (to - from) / (steps - 1) # Add 1 tick to arrive to final value in duration time (no need to add an extra tick)
317
317
 
318
318
  elsif !to && step && every
319
319
  # ok
@@ -4,7 +4,7 @@ require 'musa-dsl/core-ext/key-parameters-procedure-binder'
4
4
  require 'musa-dsl/series'
5
5
 
6
6
  class Musa::BaseSequencer
7
- attr_reader :ticks_per_bar, :running_position
7
+ attr_reader :ticks_per_bar, :tick_duration, :running_position
8
8
  attr_reader :everying, :playing, :moving
9
9
 
10
10
  @@tick_mutex = Mutex.new
@@ -17,6 +17,7 @@ class Musa::BaseSequencer
17
17
  @on_block_error = []
18
18
 
19
19
  @ticks_per_bar = Rational(beats_per_bar * ticks_per_beat)
20
+ @tick_duration = Rational(1, @ticks_per_bar)
20
21
 
21
22
  @score = {}
22
23
 
data/musa-dsl.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'musa-dsl'
3
- s.version = '0.14.16'
4
- s.date = '2019-09-13'
3
+ s.version = '0.14.17'
4
+ s.date = '2019-09-19'
5
5
  s.summary = 'A simple Ruby DSL for making complex music'
6
6
  s.description = 'Musa-DSL: A Ruby DSL for algorithmic music composition, device language neutral (MIDI, OSC, etc)'
7
7
  s.authors = ['Javier Sánchez Yeste']
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: musa-dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.16
4
+ version: 0.14.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Sánchez Yeste
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-13 00:00:00.000000000 Z
11
+ date: 2019-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: citrus
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - ">="
@@ -19,9 +20,8 @@ dependencies:
19
20
  - - "~>"
20
21
  - !ruby/object:Gem::Version
21
22
  version: 3.0.0
22
- name: citrus
23
- prerelease: false
24
23
  type: :runtime
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
@@ -31,6 +31,7 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 3.0.0
33
33
  - !ruby/object:Gem::Dependency
34
+ name: midi-message
34
35
  requirement: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - "~>"
@@ -39,9 +40,8 @@ dependencies:
39
40
  - - ">="
40
41
  - !ruby/object:Gem::Version
41
42
  version: 0.4.9
42
- name: midi-message
43
- prerelease: false
44
43
  type: :runtime
44
+ prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
@@ -51,6 +51,7 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.4.9
53
53
  - !ruby/object:Gem::Dependency
54
+ name: midi-nibbler
54
55
  requirement: !ruby/object:Gem::Requirement
55
56
  requirements:
56
57
  - - "~>"
@@ -59,9 +60,8 @@ dependencies:
59
60
  - - ">="
60
61
  - !ruby/object:Gem::Version
61
62
  version: 0.2.4
62
- name: midi-nibbler
63
- prerelease: false
64
63
  type: :runtime
64
+ prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
@@ -151,7 +151,7 @@ homepage: https://github.com/javier-sy/musa-dsl
151
151
  licenses:
152
152
  - CC-BY-NC-ND-4.0
153
153
  metadata: {}
154
- post_install_message:
154
+ post_install_message:
155
155
  rdoc_options: []
156
156
  require_paths:
157
157
  - lib
@@ -166,9 +166,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  requirements: []
169
- rubyforge_project:
170
- rubygems_version: 2.7.9
171
- signing_key:
169
+ rubygems_version: 3.0.3
170
+ signing_key:
172
171
  specification_version: 4
173
172
  summary: A simple Ruby DSL for making complex music
174
173
  test_files: []