melody_object 0.0.2

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.
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'melody_object/g_comeon4'
4
+ require 'melody_object/Level_three'
5
+ require 'melody_object/Level_two'
6
+ require 'melody_object/Mo_h_hc'
7
+ require 'melody_object/midi_interface'
@@ -0,0 +1,618 @@
1
+
2
+
3
+ #
4
+ #
5
+ #
6
+ # top --> gotimeobject (which dictates when to play the children)
7
+ # _________|________
8
+ # | | | | |
9
+ #
10
+ #
11
+ #
12
+ #
13
+ #
14
+ #
15
+ #
16
+ #
17
+ #
18
+ #
19
+
20
+ module Generators
21
+ require 'Mo_h_hc'
22
+
23
+
24
+
25
+ def makeinstances(fun,num)
26
+ ary=[]
27
+
28
+ 1.upto(num) {|instance| ary[instance-1]=eval(fun)}
29
+ return ary
30
+ end
31
+
32
+ def si(fun,num=1)
33
+ s=makeinstances(fun,num)
34
+ d=Section.new
35
+ s.each{|e| d.addon(e)}
36
+ return d
37
+ end
38
+
39
+ def rd
40
+ rand(5)+40
41
+ end
42
+
43
+ def ssoun
44
+ s(seoun,deoun)
45
+ end
46
+
47
+ def seoun
48
+ infun('sounn',64,64,60,52,60,52)
49
+ #~ return s(sounn(34),sounn(30),sounn(34),sounn(30))
50
+ end
51
+
52
+ def deoun
53
+ infun('sounn',16,16,71,65,74,65).a 2
54
+ end
55
+
56
+
57
+ def duom
58
+ infun('sounn',64,128,47)
59
+ end
60
+
61
+ def infun(fun,len,gran,*ary)
62
+ s=Section.new
63
+ ary.each do |i|
64
+ s.addon(eval(fun+"("+i.to_s+","+gran.to_s+","+len.to_s+")"))
65
+ end
66
+ return s
67
+ end
68
+
69
+
70
+
71
+ def sounn(note,gran,len)
72
+ timingary=[]
73
+ noteary=[]
74
+ 0.upto(0) {
75
+ noteary.push(note)
76
+ timingary.push(gran)
77
+ }
78
+
79
+ a=objfromarys(noteary,timingary,len)
80
+ a.makechannel 3
81
+ return a
82
+ end
83
+
84
+
85
+
86
+
87
+
88
+
89
+ def g_comeon41(v,len=1)
90
+ topp=Section.new
91
+ topp.name=v.to_s
92
+ topp.create_specific_notes(v,len)
93
+ return topp
94
+ end
95
+
96
+ def objfromarys(noteary,timingary,len)
97
+ x=GotimeObject.new(timingary)
98
+ topp=Section.new(x)
99
+ noteary.each {|d| topp.addon g_comeon41(d,len)}
100
+ #~ $fyl.puts timingary.join(',')
101
+ return topp
102
+
103
+ end
104
+
105
+
106
+
107
+
108
+ def sta
109
+ timingary=[]
110
+ noteary=[]
111
+ fee=rand(4)+1
112
+ feei=fee
113
+ rdi=rd
114
+
115
+ 0.upto(fee) {timingary.push(8/feei)}
116
+ x=GotimeObject.new(timingary)
117
+ topp=Section.new(x)
118
+ noteary[0]=rd
119
+ 1.upto(fee-1) {noteary.push(rdi)}
120
+ noteary.push(rd)
121
+ noteary.each {|d| topp.addon g_comeon41(d)}
122
+ #~ $fyl.puts timingary.join(',')
123
+ return topp
124
+
125
+ end
126
+
127
+ def stedy
128
+ timingary=[]
129
+ noteary=[]
130
+ fee=15
131
+ 0.upto(fee) {timingary.push(1)}
132
+ x=GotimeObject.new(timingary)
133
+ topp=Section.new(x)
134
+ 0.upto(fee-1) {noteary.push(0)}
135
+ noteary.push(42)
136
+ noteary.each {|d| topp.addon g_comeon41(d)}
137
+
138
+ return topp
139
+ end
140
+
141
+
142
+ def t(*arr)
143
+ don=Section.new
144
+ aadd=Threadset.new
145
+ arr.each{|s|
146
+ aadd.addon(s)}
147
+ don.addon(aadd)
148
+ return don
149
+ end
150
+
151
+ def s(*arr)
152
+ don=Section.new
153
+ arr.each{|d| don.addon(d)}
154
+ return don
155
+ end
156
+
157
+
158
+
159
+ def eu
160
+
161
+ r=[4,2,2,2,2,2,2,2,2,2,2,2,2,4]
162
+ x=GotimeObject.new(r)
163
+ topp=Section.new(x)
164
+ topp.name='toppy'
165
+
166
+ ary=[41,42,42,42,41,42,42,42,41,42,42,42,rand(6)+47,47]
167
+ ary.each {|d|
168
+ topp.addon g_comeon41(d)
169
+ }
170
+ topp.makechannel 1
171
+ #~ topp=topp.array_out(8)
172
+ return topp
173
+ end
174
+
175
+
176
+
177
+
178
+ def du
179
+ a=g_combin(['wu','g_comeonblu5'])
180
+ return a
181
+ end
182
+
183
+
184
+
185
+ def wu
186
+ #~ s=Section.new
187
+ a=g_combin(['g_comeon55','g_comeon51'])
188
+ a=a.array_out(4)
189
+ t=g_combin(['g_comeon55','g_comeon50'])
190
+ t=t.array_out(4)
191
+ z=g_combin(['g_comeon55','g_comeon56'])
192
+ z=z.array_out(64)
193
+ s=Section.new
194
+ s.addon(a,t)
195
+ s=s.array_out(8)
196
+ s.addon(z)
197
+ #~ s=s.array_out 8
198
+ #~ s.addon(g_comeon60,d)
199
+ #~ s.makechannel 1
200
+ return s
201
+ end
202
+
203
+ def g_combin(ary)
204
+ don=Section.new
205
+ aadd=Threadset.new
206
+ ary.each{|s|
207
+ aadd.addon(eval(s))}
208
+ don.addon(aadd)
209
+ return don
210
+ end
211
+
212
+ def g_comeonblu5
213
+ r=[4,6,8,10,12,14,16,18,20,22,24,26,28,32]
214
+ x=GotimeObject.new(r)
215
+ topp=Section.new(x)
216
+ topp.name='toppy'
217
+
218
+ ary=[41,42,42,42,41,42,42,42,41,42,42,42,49,47]
219
+ ary.each {|d|
220
+ topp.addon g_comeon41(d)
221
+ }
222
+ topp.makechannel 1
223
+ #~ topp=topp.array_out(8)
224
+ return topp
225
+ end
226
+
227
+
228
+ def g_comeon77
229
+ s=Section.new
230
+ s.create_notes(4,:none)
231
+ return s
232
+ end
233
+
234
+ def g_comeon55
235
+ r=[8,16]
236
+ x=GotimeObject.new(r)
237
+ topp=Section.new(x)
238
+ topp.name='toppy'
239
+ ary=[41,41]
240
+ ary.each {|d|
241
+ topp.addon g_comeon41(d)
242
+ }
243
+ #~ topp=topp.array_out(8)
244
+ return topp
245
+ end
246
+
247
+ def g_comeon51
248
+ r=[4,8,14,16]
249
+ x=GotimeObject.new(r)
250
+ topp=Section.new(x)
251
+ topp.name='toppy'
252
+ ary=[42,45,43,44]
253
+ ary.each {|d|
254
+ topp.addon g_comeon41(d)
255
+ }
256
+ return topp
257
+ end
258
+
259
+ def g_comeon50
260
+ r=[4,6,8,14,16]
261
+ x=GotimeObject.new(r)
262
+ topp=Section.new(x)
263
+ topp.name='toppy'
264
+ ary=[42,42,45,43,44]
265
+ ary.each {|d|
266
+ topp.addon g_comeon41(d)
267
+ }
268
+ return topp
269
+ end
270
+
271
+
272
+ def g_comeon56
273
+ r=[4,6,8,10,12,14,16]
274
+ x=GotimeObject.new(r)
275
+ topp=Section.new(x)
276
+ topp.name='toppy'
277
+ ary=[42,42,45,45,45,44,44]
278
+ ary.each {|d|
279
+ topp.addon g_comeon41(d)
280
+ }
281
+ return topp
282
+ end
283
+
284
+
285
+
286
+
287
+
288
+ def g_comeon40(ary)
289
+ topp=Section.new(ary[0])
290
+ topp.create_specific_notes(ary[1])
291
+ topp.makechannel 1
292
+ return topp
293
+ end
294
+
295
+
296
+ def g_comeon70
297
+
298
+ topp=Section.new
299
+ x=45
300
+ ary=[[1,[45]],[10,[38]],[14,[43]],[1,[44]]]
301
+ ary.each {|d|
302
+ topp.addon g_comeon40(d)
303
+ }
304
+ topp.makechannel 0
305
+ topp=topp.array_out(8)
306
+ return topp
307
+ end
308
+
309
+ def g_comeon60
310
+
311
+ topp=Section.new
312
+
313
+ ary=[[4,[41]],[2,[40]],[2,[40]]]
314
+ ary.each {|d|
315
+ topp.addon g_comeon40(d)
316
+ }
317
+ topp=topp.array_out(8)
318
+ return topp
319
+ end
320
+
321
+
322
+
323
+ def g_comeon11
324
+ topp=Section.new
325
+ topp=g_comeon10
326
+
327
+ end
328
+
329
+
330
+
331
+
332
+ def g_aadd
333
+ aadd=Section.new
334
+ 2.times do
335
+ # two different a's, which make up aadd
336
+ a=Section.new(16)
337
+ a.create_specific_notes(x=[40])
338
+ a.makechannel 1
339
+ a=a.array_out(4)
340
+ aadd.addon(a)
341
+ end
342
+ return aadd
343
+ end
344
+
345
+
346
+ def g_aadd2
347
+ aadd=Section.new
348
+ 2.times do
349
+ # two different a's, which make up aadd
350
+ a=Section.new(3)
351
+ a.create_specific_notes(x=[54])
352
+ a.makechannel 1
353
+ a=a.array_out(4)
354
+ aadd.addon(a)
355
+ end
356
+ return aadd
357
+ end
358
+
359
+
360
+
361
+ def g_comeon10
362
+ topp=Section.new(5)
363
+ topp.addon(g_comeon5)
364
+ return topp
365
+ end
366
+
367
+ def g_comeon9
368
+ topp=Section.new
369
+ ts=Threadset.new
370
+ topp.addon(ts)
371
+ a=[1,16]
372
+ ts.addon(g_comeon8,g_comeon4a(a))
373
+ return topp
374
+ end
375
+
376
+
377
+
378
+ def g_comeon8
379
+ topp=Section.new
380
+ 2.times {topp.addon(g_comeon7('g_comeon6'))}
381
+ return topp
382
+ end
383
+
384
+
385
+ def g_comeon7(x)
386
+ topp=Section.new
387
+ a=eval(x) #how do i make the function the variable?
388
+ b=eval(x)
389
+ ary=[a,b,a.uf,b.uf]
390
+ ary.each {|d| topp.addon(d)}
391
+ return topp
392
+ end
393
+
394
+ def g_comeon6
395
+ topp=Section.new(2)
396
+ 2.times do topp.addon(g_comeon5) end
397
+ c=topp.array_out(4)
398
+ return c
399
+ end
400
+
401
+
402
+
403
+ def g_comeon5
404
+
405
+ topp=Section.new
406
+
407
+ ary=[[1,1],[1,1],[1,1],[1,1]]
408
+ ary.each {|d|
409
+ topp.addon g_comeon4(d)
410
+ }
411
+ return topp
412
+ end
413
+
414
+ def g_comeon4(ary)
415
+
416
+
417
+ topp=Section.new(ary[0])
418
+ stopp=Section.new
419
+
420
+ topp.create_notes(ary[1],:drum1)
421
+
422
+ stopp=topp
423
+
424
+ end
425
+
426
+ def g_comeon4a(ary)
427
+
428
+
429
+ topp=Section.new(ary[0])
430
+ stopp=Section.new
431
+
432
+ topp.create_notes(ary[1],:none)
433
+
434
+ stopp=topp
435
+
436
+ end
437
+
438
+ def g_comeon2
439
+
440
+
441
+ topp=Section.new(6)
442
+ stopp=Section.new
443
+
444
+ topp.create_notes(16,:drum1)
445
+
446
+ stopp=topp
447
+
448
+ end
449
+
450
+
451
+
452
+
453
+
454
+
455
+ def g_comeon3
456
+ stopp=Section.new
457
+ stopp.addon(stopthread)
458
+ stopp=stopp.array_out(2)
459
+
460
+ end
461
+
462
+ def stopthread
463
+ stopthread=Threadset.new
464
+ stopthread.addon(s_topp,aadd)
465
+ return stopthread
466
+ end
467
+
468
+
469
+ def s_topp
470
+ s_topp=Section.new
471
+ 2.times do
472
+ t_tset=Threadset.new
473
+ t_tset.addon(g_comeon,g_comeon2)
474
+ #~ z=z.array_out(2)
475
+ #~ stopp.addon(x,y)
476
+ s_topp.addon(t_tset)
477
+ end
478
+ return s_topp
479
+ end
480
+
481
+ def aadd
482
+ aadd=Section.new
483
+ 2.times do
484
+ # two different a's, which make up aadd
485
+ a=Section.new(4)
486
+ a.create_notes(16,:low)
487
+ a.makechannel 1
488
+ a=a.array_out(4)
489
+ aadd.addon(a)
490
+ end
491
+ return aadd
492
+ end
493
+
494
+
495
+
496
+ def g_comeon
497
+
498
+ topp=Section.new(4)
499
+ stopp=Section.new
500
+
501
+ topp.create_notes(16,:drum1)
502
+ stopp=topp
503
+ end
504
+
505
+
506
+ def g_comeon2
507
+
508
+
509
+ topp=Section.new(6)
510
+ stopp=Section.new
511
+
512
+ topp.create_notes(16,:drum1)
513
+
514
+ stopp=topp
515
+
516
+ end
517
+
518
+
519
+ def l_loaded
520
+
521
+ stopp=Section.new
522
+
523
+ dall=['rund-gqscvh']
524
+
525
+ dall.each do |f|
526
+ a=File.open("trax/eoms/#{f}.dat") do |g|
527
+ Marshal.load(g)
528
+ end
529
+ stopp=a
530
+ end
531
+ loaded=stopp
532
+ end
533
+
534
+ def l_loaded2
535
+
536
+ stopp=Section.new
537
+
538
+ dall=['rund-gud']
539
+
540
+ dall.each do |f|
541
+ a=File.open("eooms/#{f}.dat") do |g|
542
+ Marshal.load(g)
543
+ end
544
+ stopp=a
545
+ end
546
+ loaded=stopp
547
+ end
548
+
549
+
550
+ def l_load(obj)
551
+ stopp=Section.new
552
+ a=File.open("trax/eoms/#{obj}.dat") do |g|
553
+ Marshal.load(g)
554
+ end
555
+ stopp=a
556
+ end
557
+
558
+ def l_loaded3
559
+
560
+ stopp=Section.new
561
+
562
+ dall=['rund-nyce']
563
+
564
+ dall.each do |f|
565
+ a=File.open("eooms/#{f}.dat") do |g|
566
+ Marshal.load(g)
567
+ end
568
+ stopp=a
569
+ end
570
+ loaded=stopp
571
+ end
572
+
573
+ def g_popp
574
+ popp=Section.new
575
+ popp.addon(l_loaded3,stopthread,l_loaded3)
576
+ return popp
577
+ end
578
+
579
+ def l_loaded4
580
+
581
+ stopp=Section.new
582
+
583
+ dall=['rund-fsp']
584
+
585
+ dall.each do |f|
586
+ a=File.open("eooms/#{f}.dat") do |g|
587
+ Marshal.load(g)
588
+ end
589
+ stopp=a
590
+ end
591
+ loaded=stopp
592
+ end
593
+
594
+ def l_loaded5
595
+
596
+ stopp=Section.new
597
+
598
+ dall=['rund-natt']
599
+
600
+ dall.each do |f|
601
+ a=File.open("eooms/#{f}.dat") do |g|
602
+ Marshal.load(g)
603
+ end
604
+ stopp=a
605
+ end
606
+ loaded=stopp
607
+ end
608
+
609
+
610
+ def dum
611
+ infun('sounn',16,0)
612
+ end
613
+
614
+ def dunn
615
+ infun('sounn',64,0)
616
+ end
617
+
618
+ end