musa-dsl 0.14.16

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 (72) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/Gemfile +20 -0
  4. data/LICENSE.md +157 -0
  5. data/README.md +8 -0
  6. data/lib/musa-dsl/core-ext/array-apply-get.rb +18 -0
  7. data/lib/musa-dsl/core-ext/array-explode-ranges.rb +29 -0
  8. data/lib/musa-dsl/core-ext/array-to-neumas.rb +28 -0
  9. data/lib/musa-dsl/core-ext/array-to-serie.rb +20 -0
  10. data/lib/musa-dsl/core-ext/arrayfy.rb +15 -0
  11. data/lib/musa-dsl/core-ext/as-context-run.rb +44 -0
  12. data/lib/musa-dsl/core-ext/duplicate.rb +134 -0
  13. data/lib/musa-dsl/core-ext/dynamic-proxy.rb +55 -0
  14. data/lib/musa-dsl/core-ext/inspect-nice.rb +28 -0
  15. data/lib/musa-dsl/core-ext/key-parameters-procedure-binder.rb +85 -0
  16. data/lib/musa-dsl/core-ext/proc-nice.rb +13 -0
  17. data/lib/musa-dsl/core-ext/send-nice.rb +21 -0
  18. data/lib/musa-dsl/core-ext/string-to-neumas.rb +27 -0
  19. data/lib/musa-dsl/core-ext.rb +13 -0
  20. data/lib/musa-dsl/datasets/gdv-decorators.rb +221 -0
  21. data/lib/musa-dsl/datasets/gdv.rb +499 -0
  22. data/lib/musa-dsl/datasets/pdv.rb +44 -0
  23. data/lib/musa-dsl/datasets.rb +5 -0
  24. data/lib/musa-dsl/generative/darwin.rb +145 -0
  25. data/lib/musa-dsl/generative/generative-grammar.rb +294 -0
  26. data/lib/musa-dsl/generative/markov.rb +78 -0
  27. data/lib/musa-dsl/generative/rules.rb +282 -0
  28. data/lib/musa-dsl/generative/variatio.rb +331 -0
  29. data/lib/musa-dsl/generative.rb +5 -0
  30. data/lib/musa-dsl/midi/midi-recorder.rb +83 -0
  31. data/lib/musa-dsl/midi/midi-voices.rb +274 -0
  32. data/lib/musa-dsl/midi.rb +2 -0
  33. data/lib/musa-dsl/music/chord-definition.rb +99 -0
  34. data/lib/musa-dsl/music/chord-definitions.rb +13 -0
  35. data/lib/musa-dsl/music/chords.rb +326 -0
  36. data/lib/musa-dsl/music/equally-tempered-12-tone-scale-system.rb +204 -0
  37. data/lib/musa-dsl/music/scales.rb +584 -0
  38. data/lib/musa-dsl/music.rb +6 -0
  39. data/lib/musa-dsl/neuma/neuma.rb +181 -0
  40. data/lib/musa-dsl/neuma.rb +1 -0
  41. data/lib/musa-dsl/neumalang/neumalang.citrus +294 -0
  42. data/lib/musa-dsl/neumalang/neumalang.rb +179 -0
  43. data/lib/musa-dsl/neumalang.rb +3 -0
  44. data/lib/musa-dsl/repl/repl.rb +143 -0
  45. data/lib/musa-dsl/repl.rb +1 -0
  46. data/lib/musa-dsl/sequencer/base-sequencer-implementation-control.rb +189 -0
  47. data/lib/musa-dsl/sequencer/base-sequencer-implementation-play-helper.rb +354 -0
  48. data/lib/musa-dsl/sequencer/base-sequencer-implementation.rb +382 -0
  49. data/lib/musa-dsl/sequencer/base-sequencer-public.rb +261 -0
  50. data/lib/musa-dsl/sequencer/sequencer-dsl.rb +94 -0
  51. data/lib/musa-dsl/sequencer/sequencer.rb +3 -0
  52. data/lib/musa-dsl/sequencer.rb +1 -0
  53. data/lib/musa-dsl/series/base-series.rb +245 -0
  54. data/lib/musa-dsl/series/hash-serie-splitter.rb +194 -0
  55. data/lib/musa-dsl/series/holder-serie.rb +87 -0
  56. data/lib/musa-dsl/series/main-serie-constructors.rb +726 -0
  57. data/lib/musa-dsl/series/main-serie-operations.rb +1151 -0
  58. data/lib/musa-dsl/series/proxy-serie.rb +69 -0
  59. data/lib/musa-dsl/series/queue-serie.rb +94 -0
  60. data/lib/musa-dsl/series/series.rb +8 -0
  61. data/lib/musa-dsl/series.rb +1 -0
  62. data/lib/musa-dsl/transport/clock.rb +36 -0
  63. data/lib/musa-dsl/transport/dummy-clock.rb +47 -0
  64. data/lib/musa-dsl/transport/external-tick-clock.rb +31 -0
  65. data/lib/musa-dsl/transport/input-midi-clock.rb +124 -0
  66. data/lib/musa-dsl/transport/timer-clock.rb +102 -0
  67. data/lib/musa-dsl/transport/timer.rb +40 -0
  68. data/lib/musa-dsl/transport/transport.rb +137 -0
  69. data/lib/musa-dsl/transport.rb +9 -0
  70. data/lib/musa-dsl.rb +17 -0
  71. data/musa-dsl.gemspec +17 -0
  72. metadata +174 -0
data/lib/musa-dsl.rb ADDED
@@ -0,0 +1,17 @@
1
+ require 'musa-dsl/core-ext'
2
+
3
+ require 'musa-dsl/series'
4
+ require 'musa-dsl/neuma'
5
+ require 'musa-dsl/datasets'
6
+
7
+ require 'musa-dsl/neumalang'
8
+
9
+ require 'musa-dsl/transport'
10
+ require 'musa-dsl/sequencer'
11
+ require 'musa-dsl/repl'
12
+
13
+ require 'musa-dsl/midi'
14
+
15
+ require 'musa-dsl/music'
16
+
17
+ require 'musa-dsl/generative'
data/musa-dsl.gemspec ADDED
@@ -0,0 +1,17 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'musa-dsl'
3
+ s.version = '0.14.16'
4
+ s.date = '2019-09-13'
5
+ s.summary = 'A simple Ruby DSL for making complex music'
6
+ s.description = 'Musa-DSL: A Ruby DSL for algorithmic music composition, device language neutral (MIDI, OSC, etc)'
7
+ s.authors = ['Javier Sánchez Yeste']
8
+ s.email = 'javier.sy@gmail.com'
9
+ s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|samples)/}) }
10
+ s.homepage = 'https://github.com/javier-sy/musa-dsl'
11
+ s.license = 'CC-BY-NC-ND-4.0'
12
+
13
+ s.add_runtime_dependency 'citrus', '~> 3.0.0', '>= 3.0.0'
14
+
15
+ s.add_runtime_dependency 'midi-message', '~> 0.4', '>= 0.4.9'
16
+ s.add_runtime_dependency 'midi-nibbler', '~> 0.2', '>= 0.2.4'
17
+ end
metadata ADDED
@@ -0,0 +1,174 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: musa-dsl
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.14.16
5
+ platform: ruby
6
+ authors:
7
+ - Javier Sánchez Yeste
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-09-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 3.0.0
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: 3.0.0
22
+ name: citrus
23
+ prerelease: false
24
+ type: :runtime
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.0
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: 3.0.0
33
+ - !ruby/object:Gem::Dependency
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '0.4'
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 0.4.9
42
+ name: midi-message
43
+ prerelease: false
44
+ type: :runtime
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.4'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.4.9
53
+ - !ruby/object:Gem::Dependency
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: '0.2'
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.4
62
+ name: midi-nibbler
63
+ prerelease: false
64
+ type: :runtime
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.2'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 0.2.4
73
+ description: 'Musa-DSL: A Ruby DSL for algorithmic music composition, device language
74
+ neutral (MIDI, OSC, etc)'
75
+ email: javier.sy@gmail.com
76
+ executables: []
77
+ extensions: []
78
+ extra_rdoc_files: []
79
+ files:
80
+ - ".gitignore"
81
+ - Gemfile
82
+ - LICENSE.md
83
+ - README.md
84
+ - lib/musa-dsl.rb
85
+ - lib/musa-dsl/core-ext.rb
86
+ - lib/musa-dsl/core-ext/array-apply-get.rb
87
+ - lib/musa-dsl/core-ext/array-explode-ranges.rb
88
+ - lib/musa-dsl/core-ext/array-to-neumas.rb
89
+ - lib/musa-dsl/core-ext/array-to-serie.rb
90
+ - lib/musa-dsl/core-ext/arrayfy.rb
91
+ - lib/musa-dsl/core-ext/as-context-run.rb
92
+ - lib/musa-dsl/core-ext/duplicate.rb
93
+ - lib/musa-dsl/core-ext/dynamic-proxy.rb
94
+ - lib/musa-dsl/core-ext/inspect-nice.rb
95
+ - lib/musa-dsl/core-ext/key-parameters-procedure-binder.rb
96
+ - lib/musa-dsl/core-ext/proc-nice.rb
97
+ - lib/musa-dsl/core-ext/send-nice.rb
98
+ - lib/musa-dsl/core-ext/string-to-neumas.rb
99
+ - lib/musa-dsl/datasets.rb
100
+ - lib/musa-dsl/datasets/gdv-decorators.rb
101
+ - lib/musa-dsl/datasets/gdv.rb
102
+ - lib/musa-dsl/datasets/pdv.rb
103
+ - lib/musa-dsl/generative.rb
104
+ - lib/musa-dsl/generative/darwin.rb
105
+ - lib/musa-dsl/generative/generative-grammar.rb
106
+ - lib/musa-dsl/generative/markov.rb
107
+ - lib/musa-dsl/generative/rules.rb
108
+ - lib/musa-dsl/generative/variatio.rb
109
+ - lib/musa-dsl/midi.rb
110
+ - lib/musa-dsl/midi/midi-recorder.rb
111
+ - lib/musa-dsl/midi/midi-voices.rb
112
+ - lib/musa-dsl/music.rb
113
+ - lib/musa-dsl/music/chord-definition.rb
114
+ - lib/musa-dsl/music/chord-definitions.rb
115
+ - lib/musa-dsl/music/chords.rb
116
+ - lib/musa-dsl/music/equally-tempered-12-tone-scale-system.rb
117
+ - lib/musa-dsl/music/scales.rb
118
+ - lib/musa-dsl/neuma.rb
119
+ - lib/musa-dsl/neuma/neuma.rb
120
+ - lib/musa-dsl/neumalang.rb
121
+ - lib/musa-dsl/neumalang/neumalang.citrus
122
+ - lib/musa-dsl/neumalang/neumalang.rb
123
+ - lib/musa-dsl/repl.rb
124
+ - lib/musa-dsl/repl/repl.rb
125
+ - lib/musa-dsl/sequencer.rb
126
+ - lib/musa-dsl/sequencer/base-sequencer-implementation-control.rb
127
+ - lib/musa-dsl/sequencer/base-sequencer-implementation-play-helper.rb
128
+ - lib/musa-dsl/sequencer/base-sequencer-implementation.rb
129
+ - lib/musa-dsl/sequencer/base-sequencer-public.rb
130
+ - lib/musa-dsl/sequencer/sequencer-dsl.rb
131
+ - lib/musa-dsl/sequencer/sequencer.rb
132
+ - lib/musa-dsl/series.rb
133
+ - lib/musa-dsl/series/base-series.rb
134
+ - lib/musa-dsl/series/hash-serie-splitter.rb
135
+ - lib/musa-dsl/series/holder-serie.rb
136
+ - lib/musa-dsl/series/main-serie-constructors.rb
137
+ - lib/musa-dsl/series/main-serie-operations.rb
138
+ - lib/musa-dsl/series/proxy-serie.rb
139
+ - lib/musa-dsl/series/queue-serie.rb
140
+ - lib/musa-dsl/series/series.rb
141
+ - lib/musa-dsl/transport.rb
142
+ - lib/musa-dsl/transport/clock.rb
143
+ - lib/musa-dsl/transport/dummy-clock.rb
144
+ - lib/musa-dsl/transport/external-tick-clock.rb
145
+ - lib/musa-dsl/transport/input-midi-clock.rb
146
+ - lib/musa-dsl/transport/timer-clock.rb
147
+ - lib/musa-dsl/transport/timer.rb
148
+ - lib/musa-dsl/transport/transport.rb
149
+ - musa-dsl.gemspec
150
+ homepage: https://github.com/javier-sy/musa-dsl
151
+ licenses:
152
+ - CC-BY-NC-ND-4.0
153
+ metadata: {}
154
+ post_install_message:
155
+ rdoc_options: []
156
+ require_paths:
157
+ - lib
158
+ required_ruby_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ required_rubygems_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ requirements: []
169
+ rubyforge_project:
170
+ rubygems_version: 2.7.9
171
+ signing_key:
172
+ specification_version: 4
173
+ summary: A simple Ruby DSL for making complex music
174
+ test_files: []