musa-dsl 0.23.19 → 0.23.20

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: 69d8893b895c8b836a51be4f7fc7b51fbab501383c6e3780d0af52e82f1bb324
4
- data.tar.gz: 017f7f8a8fb2cd5b3104d6c1f5c5acd535ea3db4c4285d15f1c81fe792cf123c
3
+ metadata.gz: c9f9288750f73ad1ddb927ad4b59537c61b1913f7194b6716a61b4e7977605f5
4
+ data.tar.gz: 44c7984d242e8d3521c5005d4beb0357cb63a469c2dfa054662539af2e23797b
5
5
  SHA512:
6
- metadata.gz: 681651cd39523a69d2cbe3fe7271b79ab6f8c0d616cabd8f7d9ef4e0af8f8bbaaed39d41977c35900a748057af8a274b5672762340b98537b9f1d2cba7c5b401
7
- data.tar.gz: 29cc0e37bf4f3513d78e32776c9df7a6a622c913a965f7bef8944bd0961ef7f8e23bfc348dbbe9eb7d18a211e224f6f27acc95210340bbad05aacde0d34f5404
6
+ metadata.gz: ca86c780eed4d3b11506b8682c9b128a315384353c816cc290823bdf7a9b404af8d99f33f557a263d29b2f2dd8e52f5a4757ad13064cc7ea6a87bb145b1b5775
7
+ data.tar.gz: 7fe5ce3b6ffa253a5eb4bd7d8d8cfac31129a80fe9da684b5de3e0f393c26ad8e9930f27108696ed10d21ce769dd16bd222265eb8810e2277353b1d08d26bd6c
@@ -4,7 +4,7 @@ module Musa::Sequencer
4
4
  class BaseSequencer
5
5
  using Musa::Extension::InspectNice
6
6
 
7
- private def _play_timed(timed_serie, control, &block)
7
+ private def _play_timed(timed_serie, start_position, control, &block)
8
8
 
9
9
  if first_value_sample = timed_serie.peek_next_value
10
10
  debug "_play_timed: first_value_sample #{first_value_sample}"
@@ -25,7 +25,7 @@ module Musa::Sequencer
25
25
  binder = Musa::Extension::SmartProcBinder::SmartProcBinder.new(block)
26
26
 
27
27
  _play_timed_step(hash_mode, component_ids, extra_attribute_names, timed_serie,
28
- position, last_positions, binder, control)
28
+ start_position, last_positions, binder, control)
29
29
  end
30
30
 
31
31
  private def _play_timed_step(hash_mode,
@@ -21,9 +21,9 @@ module Musa
21
21
  logger: nil,
22
22
  do_log: nil, do_error_log: nil, log_position_format: nil)
23
23
 
24
- raise ArgumentError,
25
- "'beats_per_bar' and 'ticks_per_beat' parameters should be both nil or both have values" \
26
- unless beats_per_bar && ticks_per_beat || beats_per_bar.nil? && ticks_per_beat.nil?
24
+ unless beats_per_bar && ticks_per_beat || beats_per_bar.nil? && ticks_per_beat.nil?
25
+ raise ArgumentError, "'beats_per_bar' and 'ticks_per_beat' parameters should be both nil or both have values"
26
+ end
27
27
 
28
28
  if logger
29
29
  @logger = logger
@@ -39,9 +39,9 @@ module Musa
39
39
  @beats_per_bar = Rational(beats_per_bar)
40
40
  @ticks_per_beat = Rational(ticks_per_beat)
41
41
 
42
- self.singleton_class.include TickBasedTiming
42
+ singleton_class.include TickBasedTiming
43
43
  else
44
- self.singleton_class.include TicklessBasedTiming
44
+ singleton_class.include TicklessBasedTiming
45
45
  end
46
46
 
47
47
  _init_timing
@@ -215,10 +215,13 @@ module Musa
215
215
  end
216
216
 
217
217
  def play_timed(timed_serie,
218
+ at: nil,
218
219
  on_stop: nil,
219
220
  after_bars: nil, after: nil,
220
221
  &block)
221
222
 
223
+ at ||= position
224
+
222
225
  control = PlayTimedControl.new(@event_handlers.last,
223
226
  on_stop: on_stop, after_bars: after_bars, after: after)
224
227
 
@@ -230,7 +233,7 @@ module Musa
230
233
 
231
234
  @event_handlers.push control
232
235
 
233
- _play_timed(timed_serie.instance, control, &block)
236
+ _play_timed(timed_serie.instance, at, control, &block)
234
237
 
235
238
  @event_handlers.pop
236
239
 
@@ -28,9 +28,9 @@ module Musa
28
28
  if @do_log && to_sleep.negative? & @logger
29
29
  tick_errors = -to_sleep / @period
30
30
  if tick_errors >= @delayed_ticks_error
31
- @logger.error "Timer delayed #{tick_errors.round(2)} ticks (#{-to_sleep}s)"
31
+ @logger.error "Timer delayed #{tick_errors.round(2)} ticks (#{-to_sleep.round(3)}s)"
32
32
  else
33
- @logger.warn "Timer delayed #{tick_errors.round(2)} ticks (#{-to_sleep}s)"
33
+ @logger.warn "Timer delayed #{tick_errors.round(2)} ticks (#{-to_sleep.round(3)}s)"
34
34
  end
35
35
  end
36
36
 
data/lib/musa-dsl.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Musa
2
- VERSION = '0.23.19'
2
+ VERSION = '0.23.20'
3
3
  end
4
4
 
5
5
  require_relative 'musa-dsl/core-ext'
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.23.19'
4
- s.date = '2021-09-28'
3
+ s.version = '0.23.20'
4
+ s.date = '2021-09-29'
5
5
  s.summary = 'A simple Ruby DSL for making complex music'
6
6
  s.description = 'Musa-DSL: A Ruby framework and DSL for algorithmic sound and musical thinking and composition'
7
7
  s.authors = ['Javier Sánchez Yeste']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: musa-dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.19
4
+ version: 0.23.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Sánchez Yeste
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-28 00:00:00.000000000 Z
11
+ date: 2021-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: citrus