musa-dsl 0.22.5 → 0.23.3

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/lib/musa-dsl.rb +14 -8
  4. data/lib/musa-dsl/core-ext/deep-copy.rb +12 -1
  5. data/lib/musa-dsl/core-ext/inspect-nice.rb +1 -2
  6. data/lib/musa-dsl/core-ext/smart-proc-binder.rb +13 -11
  7. data/lib/musa-dsl/datasets/p.rb +38 -15
  8. data/lib/musa-dsl/datasets/score/to-mxml/process-pdv.rb +14 -12
  9. data/lib/musa-dsl/datasets/score/to-mxml/process-ps.rb +32 -6
  10. data/lib/musa-dsl/datasets/score/to-mxml/to-mxml.rb +24 -10
  11. data/lib/musa-dsl/generative/backboner.rb +6 -11
  12. data/lib/musa-dsl/generative/generative-grammar.rb +1 -3
  13. data/lib/musa-dsl/generative/markov.rb +10 -6
  14. data/lib/musa-dsl/logger/logger.rb +6 -1
  15. data/lib/musa-dsl/midi/midi-voices.rb +8 -7
  16. data/lib/musa-dsl/music/scales.rb +1 -1
  17. data/lib/musa-dsl/neumalang/neumalang.rb +1 -1
  18. data/lib/musa-dsl/neumas/array-to-neumas.rb +1 -1
  19. data/lib/musa-dsl/sequencer/base-sequencer-implementation-play-helper.rb +2 -2
  20. data/lib/musa-dsl/sequencer/base-sequencer-implementation-play-timed.rb +2 -1
  21. data/lib/musa-dsl/sequencer/base-sequencer-implementation.rb +2 -0
  22. data/lib/musa-dsl/sequencer/base-sequencer-tick-based.rb +4 -2
  23. data/lib/musa-dsl/sequencer/sequencer-dsl.rb +6 -6
  24. data/lib/musa-dsl/series/base-series.rb +293 -144
  25. data/lib/musa-dsl/series/buffer-serie.rb +236 -0
  26. data/lib/musa-dsl/series/hash-or-array-serie-splitter.rb +145 -115
  27. data/lib/musa-dsl/series/main-serie-constructors.rb +249 -156
  28. data/lib/musa-dsl/series/main-serie-operations.rb +331 -318
  29. data/lib/musa-dsl/series/proxy-serie.rb +25 -41
  30. data/lib/musa-dsl/series/quantizer-serie.rb +38 -38
  31. data/lib/musa-dsl/series/queue-serie.rb +39 -43
  32. data/lib/musa-dsl/series/series-composer.rb +316 -0
  33. data/lib/musa-dsl/series/series.rb +5 -1
  34. data/lib/musa-dsl/series/timed-serie.rb +119 -130
  35. data/musa-dsl.gemspec +13 -3
  36. metadata +9 -9
  37. data/.ruby-version +0 -1
  38. data/lib/musa-dsl/series/holder-serie.rb +0 -87
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- ruby-2.7.2
@@ -1,87 +0,0 @@
1
- module Musa
2
- module Series
3
- # TODO: adapt to series prototyping
4
-
5
- def HOLDER(serie = nil)
6
- Holder.new(serie)
7
- end
8
-
9
- class Holder
10
- include Serie
11
-
12
- attr_reader :hold, :next
13
-
14
- def initialize(serie)
15
- @hold = serie.instance if serie
16
- @next = []
17
-
18
- mark_as_instance!
19
- end
20
-
21
- def hold=(serie)
22
- @hold = serie.instance
23
- end
24
-
25
- def <<(serie)
26
- if @hold.nil?
27
- @hold = serie.instance
28
- else
29
- @next << serie.instance
30
- end
31
-
32
- self
33
- end
34
-
35
- def _prototype!
36
- raise PrototypingSerieError, 'Cannot get prototype of a proxy serie'
37
- end
38
-
39
- def restart
40
- if @next.empty? && @hold
41
- @hold.restart
42
- else
43
- @hold = @next.shift
44
- end
45
-
46
- self
47
- end
48
-
49
- def current_value
50
- @hold.current_value if @hold
51
- end
52
-
53
- def next_value
54
- @hold.next_value if @hold
55
- end
56
-
57
- def peek_next_value
58
- @hold.peek_next_value if @hold
59
- end
60
-
61
- def infinite?
62
- @hold.infinite? if @hold
63
- end
64
-
65
- private
66
-
67
- def method_missing(method_name, *args, **key_args, &block)
68
- if @hold && @hold.respond_to?(method_name)
69
- @hold.send method_name, *args, **key_args, &block
70
- else
71
- super
72
- end
73
- end
74
-
75
- def respond_to_missing?(method_name, include_private)
76
- @hold && @hold.respond_to?(method_name, include_private) || super
77
- end
78
- end
79
- end
80
-
81
- module SerieOperations
82
- # TODO add test case
83
- def hold
84
- Series::Holder.new self
85
- end
86
- end
87
- end