musa-dsl 0.14.16 → 0.14.17

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: 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: []