beats 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE +2 -2
  3. data/README.markdown +17 -80
  4. data/bin/beats +2 -7
  5. data/lib/beats.rb +12 -6
  6. data/lib/beats/{audioengine.rb → audio_engine.rb} +7 -8
  7. data/lib/beats/{audioutils.rb → audio_utils.rb} +35 -17
  8. data/lib/beats/{beatsrunner.rb → beats_runner.rb} +2 -2
  9. data/lib/beats/kit.rb +6 -5
  10. data/lib/beats/kit_builder.rb +12 -8
  11. data/lib/beats/pattern.rb +7 -16
  12. data/lib/beats/song.rb +7 -8
  13. data/lib/beats/{songoptimizer.rb → song_optimizer.rb} +11 -8
  14. data/lib/beats/{songparser.rb → song_parser.rb} +46 -48
  15. data/lib/beats/track.rb +14 -17
  16. data/lib/beats/transforms/song_swinger.rb +7 -5
  17. data/lib/wavefile/{cachingwriter.rb → caching_writer.rb} +2 -2
  18. data/test/{audioengine_test.rb → audio_engine_test.rb} +49 -46
  19. data/test/audio_utils_test.rb +86 -0
  20. data/test/{cachingwriter_test.rb → caching_writer_test.rb} +0 -0
  21. data/test/fixtures/invalid/sound_in_kit_wrong_format.txt +1 -1
  22. data/test/fixtures/invalid/sound_in_track_wrong_format.txt +1 -1
  23. data/test/fixtures/valid/empty_kit.txt +14 -0
  24. data/test/fixtures/valid/example_song_header_different_capitalization.txt +21 -0
  25. data/test/fixtures/valid/multiple_patterns_same_name.txt +31 -0
  26. data/test/fixtures/valid/multiple_song_header_sections.txt +29 -0
  27. data/test/includes.rb +0 -9
  28. data/test/kit_builder_test.rb +20 -0
  29. data/test/kit_test.rb +7 -0
  30. data/test/pattern_test.rb +86 -74
  31. data/test/{songoptimizer_test.rb → song_optimizer_test.rb} +5 -8
  32. data/test/{songparser_test.rb → song_parser_test.rb} +109 -13
  33. data/test/song_swinger_test.rb +6 -4
  34. data/test/song_test.rb +32 -14
  35. data/test/sounds/agogo_high_stereo_16.wav +0 -0
  36. data/test/sounds/agogo_low_stereo_16.wav +0 -0
  37. data/test/sounds/bass2_stereo_16.wav +0 -0
  38. data/test/sounds/bass_stereo_16.wav +0 -0
  39. data/test/sounds/clave_high_stereo_16.wav +0 -0
  40. data/test/sounds/clave_low_stereo_16.wav +0 -0
  41. data/test/sounds/conga_high_stereo_16.wav +0 -0
  42. data/test/sounds/conga_low_stereo_16.wav +0 -0
  43. data/test/sounds/cowbell_high_stereo_16.wav +0 -0
  44. data/test/sounds/cowbell_low_stereo_16.wav +0 -0
  45. data/test/sounds/hh_closed_stereo_16.wav +0 -0
  46. data/test/sounds/hh_open_stereo_16.wav +0 -0
  47. data/test/sounds/ride_stereo_16.wav +0 -0
  48. data/test/sounds/rim_stereo_16.wav +0 -0
  49. data/test/sounds/snare2_stereo_16.wav +0 -0
  50. data/test/sounds/snare_stereo_16.wav +0 -0
  51. data/test/sounds/tom1_stereo_16.wav +0 -0
  52. data/test/sounds/tom2_stereo_16.wav +0 -0
  53. data/test/sounds/tom3_stereo_16.wav +0 -0
  54. data/test/sounds/tom4_stereo_16.wav +0 -0
  55. data/test/track_test.rb +51 -5
  56. metadata +184 -176
  57. data/test/audioutils_test.rb +0 -46
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beats
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Strait
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-09 00:00:00.000000000 Z
11
+ date: 2018-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: wavefile
@@ -37,21 +37,21 @@ files:
37
37
  - Rakefile
38
38
  - bin/beats
39
39
  - lib/beats.rb
40
- - lib/beats/audioengine.rb
41
- - lib/beats/audioutils.rb
42
- - lib/beats/beatsrunner.rb
40
+ - lib/beats/audio_engine.rb
41
+ - lib/beats/audio_utils.rb
42
+ - lib/beats/beats_runner.rb
43
43
  - lib/beats/kit.rb
44
44
  - lib/beats/kit_builder.rb
45
45
  - lib/beats/pattern.rb
46
46
  - lib/beats/song.rb
47
- - lib/beats/songoptimizer.rb
48
- - lib/beats/songparser.rb
47
+ - lib/beats/song_optimizer.rb
48
+ - lib/beats/song_parser.rb
49
49
  - lib/beats/track.rb
50
50
  - lib/beats/transforms/song_swinger.rb
51
- - lib/wavefile/cachingwriter.rb
52
- - test/audioengine_test.rb
53
- - test/audioutils_test.rb
54
- - test/cachingwriter_test.rb
51
+ - lib/wavefile/caching_writer.rb
52
+ - test/audio_engine_test.rb
53
+ - test/audio_utils_test.rb
54
+ - test/caching_writer_test.rb
55
55
  - test/fixtures/expected_output/example_combined_mono_16.wav
56
56
  - test/fixtures/expected_output/example_combined_mono_8.wav
57
57
  - test/fixtures/expected_output/example_combined_stereo_16.wav
@@ -105,11 +105,13 @@ files:
105
105
  - test/fixtures/invalid/track_with_composite_nested_sounds.txt
106
106
  - test/fixtures/invalid/track_with_composite_non_existent_sound.txt
107
107
  - test/fixtures/invalid/with_structure.txt
108
+ - test/fixtures/valid/empty_kit.txt
108
109
  - test/fixtures/valid/example_flow_patterns_different_capitalization.txt
109
110
  - test/fixtures/valid/example_mono_16.txt
110
111
  - test/fixtures/valid/example_mono_16_base_path.txt
111
112
  - test/fixtures/valid/example_mono_8.txt
112
113
  - test/fixtures/valid/example_no_kit.txt
114
+ - test/fixtures/valid/example_song_header_different_capitalization.txt
113
115
  - test/fixtures/valid/example_stereo_16.txt
114
116
  - test/fixtures/valid/example_stereo_8.txt
115
117
  - test/fixtures/valid/example_swung_16th.txt
@@ -120,6 +122,8 @@ files:
120
122
  - test/fixtures/valid/fractional_tempo.txt
121
123
  - test/fixtures/valid/kit_with_composite_single_sound.txt
122
124
  - test/fixtures/valid/kit_with_composite_sounds.txt
125
+ - test/fixtures/valid/multiple_patterns_same_name.txt
126
+ - test/fixtures/valid/multiple_song_header_sections.txt
123
127
  - test/fixtures/valid/multiple_tracks_same_sound.txt
124
128
  - test/fixtures/valid/no_tempo.txt
125
129
  - test/fixtures/valid/optimize_pattern_collision.txt
@@ -136,10 +140,10 @@ files:
136
140
  - test/kit_builder_test.rb
137
141
  - test/kit_test.rb
138
142
  - test/pattern_test.rb
143
+ - test/song_optimizer_test.rb
144
+ - test/song_parser_test.rb
139
145
  - test/song_swinger_test.rb
140
146
  - test/song_test.rb
141
- - test/songoptimizer_test.rb
142
- - test/songparser_test.rb
143
147
  - test/sounds/agogo_high_mono_16.wav
144
148
  - test/sounds/agogo_high_mono_8.wav
145
149
  - test/sounds/agogo_high_stereo_16.wav
@@ -225,12 +229,12 @@ files:
225
229
  - test/sounds/tom4_stereo_16.wav
226
230
  - test/sounds/tom4_stereo_8.wav
227
231
  - test/track_test.rb
228
- homepage: http://beatsdrummachine.com/
232
+ homepage: https://beatsdrummachine.com/
229
233
  licenses:
230
234
  - MIT
231
235
  metadata: {}
232
236
  post_install_message: Thanks for installing Beats Drum Machine! For information on
233
- how to use Beats, or to download some drum sounds to use with Beats, visit http://beatsdrummachine.com
237
+ how to use Beats, or to download some drum sounds to use with Beats, visit https://beatsdrummachine.com
234
238
  rdoc_options: []
235
239
  require_paths:
236
240
  - lib
@@ -246,185 +250,189 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
250
  version: '0'
247
251
  requirements: []
248
252
  rubyforge_project:
249
- rubygems_version: 2.6.13
253
+ rubygems_version: 2.7.6
250
254
  signing_key:
251
255
  specification_version: 4
252
256
  summary: A command-line drum machine. Takes a song notated in a YAML file as input,
253
257
  and outputs a *.wav sound file.
254
258
  test_files:
255
- - test/audioengine_test.rb
256
- - test/audioutils_test.rb
257
- - test/cachingwriter_test.rb
258
- - test/fixtures/expected_output/example_combined_mono_16.wav
259
- - test/fixtures/expected_output/example_combined_mono_8.wav
260
- - test/fixtures/expected_output/example_combined_stereo_16.wav
261
- - test/fixtures/expected_output/example_combined_stereo_8.wav
262
- - test/fixtures/expected_output/example_split_mono_16-agogo.wav
263
- - test/fixtures/expected_output/example_split_mono_16-bass.wav
264
- - test/fixtures/expected_output/example_split_mono_16-hh_closed.wav
265
- - test/fixtures/expected_output/example_split_mono_16-hh_closed2.wav
266
- - test/fixtures/expected_output/example_split_mono_16-snare.wav
267
- - test/fixtures/expected_output/example_split_mono_16-tom2_mono_16.wav
268
- - test/fixtures/expected_output/example_split_mono_16-tom4_mono_16.wav
269
- - test/fixtures/expected_output/example_split_mono_8-agogo.wav
270
- - test/fixtures/expected_output/example_split_mono_8-bass.wav
271
- - test/fixtures/expected_output/example_split_mono_8-hh_closed.wav
272
- - test/fixtures/expected_output/example_split_mono_8-hh_closed2.wav
273
- - test/fixtures/expected_output/example_split_mono_8-snare.wav
274
- - test/fixtures/expected_output/example_split_mono_8-tom2_mono_8.wav
275
- - test/fixtures/expected_output/example_split_mono_8-tom4_mono_8.wav
276
- - test/fixtures/expected_output/example_split_stereo_16-agogo.wav
277
- - test/fixtures/expected_output/example_split_stereo_16-bass.wav
278
- - test/fixtures/expected_output/example_split_stereo_16-hh_closed.wav
279
- - test/fixtures/expected_output/example_split_stereo_16-hh_closed2.wav
280
- - test/fixtures/expected_output/example_split_stereo_16-snare.wav
281
- - test/fixtures/expected_output/example_split_stereo_16-tom2_stereo_16.wav
282
- - test/fixtures/expected_output/example_split_stereo_16-tom4_stereo_16.wav
283
- - test/fixtures/expected_output/example_split_stereo_8-agogo.wav
284
- - test/fixtures/expected_output/example_split_stereo_8-bass.wav
285
- - test/fixtures/expected_output/example_split_stereo_8-hh_closed.wav
286
- - test/fixtures/expected_output/example_split_stereo_8-hh_closed2.wav
287
- - test/fixtures/expected_output/example_split_stereo_8-snare.wav
288
- - test/fixtures/expected_output/example_split_stereo_8-tom2_stereo_8.wav
289
- - test/fixtures/expected_output/example_split_stereo_8-tom4_stereo_8.wav
290
- - test/fixtures/invalid/bad_flow.txt
291
- - test/fixtures/invalid/bad_repeat_count.txt
292
- - test/fixtures/invalid/bad_rhythm.txt
293
- - test/fixtures/invalid/bad_swing_rate_1.txt
294
- - test/fixtures/invalid/bad_swing_rate_2.txt
295
- - test/fixtures/invalid/bad_tempo.txt
296
- - test/fixtures/invalid/kit_with_composite_empty_sound.txt
297
- - test/fixtures/invalid/kit_with_composite_nested_sounds.txt
298
- - test/fixtures/invalid/kit_with_composite_non_existent_sound.txt
299
- - test/fixtures/invalid/leading_bar_line.txt
300
- - test/fixtures/invalid/no_flow.txt
301
- - test/fixtures/invalid/no_header.txt
302
- - test/fixtures/invalid/pattern_with_no_tracks.txt
303
- - test/fixtures/invalid/sound_in_kit_not_found.txt
304
- - test/fixtures/invalid/sound_in_kit_wrong_format.txt
305
- - test/fixtures/invalid/sound_in_track_not_found.txt
306
- - test/fixtures/invalid/sound_in_track_wrong_format.txt
307
- - test/fixtures/invalid/track_with_composite_empty_sound.txt
308
- - test/fixtures/invalid/track_with_composite_nested_sounds.txt
309
- - test/fixtures/invalid/track_with_composite_non_existent_sound.txt
310
- - test/fixtures/invalid/with_structure.txt
311
- - test/fixtures/valid/example_flow_patterns_different_capitalization.txt
312
- - test/fixtures/valid/example_mono_16.txt
313
- - test/fixtures/valid/example_mono_16_base_path.txt
314
- - test/fixtures/valid/example_mono_8.txt
315
- - test/fixtures/valid/example_no_kit.txt
316
- - test/fixtures/valid/example_stereo_16.txt
317
- - test/fixtures/valid/example_stereo_8.txt
318
- - test/fixtures/valid/example_swung_16th.txt
319
- - test/fixtures/valid/example_swung_8th.txt
320
- - test/fixtures/valid/example_unswung.txt
321
- - test/fixtures/valid/example_with_empty_track.txt
322
- - test/fixtures/valid/example_with_kit.txt
323
- - test/fixtures/valid/fractional_tempo.txt
324
- - test/fixtures/valid/kit_with_composite_single_sound.txt
325
- - test/fixtures/valid/kit_with_composite_sounds.txt
326
- - test/fixtures/valid/multiple_tracks_same_sound.txt
327
- - test/fixtures/valid/no_tempo.txt
328
- - test/fixtures/valid/optimize_pattern_collision.txt
329
- - test/fixtures/valid/pattern_with_overflow.txt
330
- - test/fixtures/valid/repeats_not_specified.txt
331
- - test/fixtures/valid/track_with_composite_kit_sounds.txt
332
- - test/fixtures/valid/track_with_composite_mix_kit_and_not_kit_sound.txt
333
- - test/fixtures/valid/track_with_composite_mix_kit_and_not_kit_sound_2.txt
334
- - test/fixtures/valid/track_with_composite_non_kit_sound.txt
335
- - test/fixtures/valid/track_with_composite_single_sound.txt
336
- - test/fixtures/valid/track_with_spaces.txt
337
- - test/includes.rb
338
259
  - test/integration_test.rb
339
- - test/kit_builder_test.rb
260
+ - test/caching_writer_test.rb
261
+ - test/song_parser_test.rb
340
262
  - test/kit_test.rb
341
- - test/pattern_test.rb
263
+ - test/audio_engine_test.rb
264
+ - test/track_test.rb
265
+ - test/audio_utils_test.rb
342
266
  - test/song_swinger_test.rb
343
- - test/song_test.rb
344
- - test/songoptimizer_test.rb
345
- - test/songparser_test.rb
346
- - test/sounds/agogo_high_mono_16.wav
347
- - test/sounds/agogo_high_mono_8.wav
348
- - test/sounds/agogo_high_stereo_16.wav
349
- - test/sounds/agogo_high_stereo_8.wav
350
- - test/sounds/agogo_low_mono_16.wav
351
- - test/sounds/agogo_low_mono_8.wav
352
- - test/sounds/agogo_low_stereo_16.wav
353
- - test/sounds/agogo_low_stereo_8.wav
354
- - test/sounds/bass2_mono_16.wav
355
- - test/sounds/bass2_mono_8.wav
356
- - test/sounds/bass2_stereo_16.wav
357
- - test/sounds/bass2_stereo_8.wav
358
- - test/sounds/bass_mono_16.wav
359
- - test/sounds/bass_mono_8.wav
267
+ - test/sounds/tom4_stereo_16.wav
268
+ - test/sounds/clave_low_mono_8.wav
360
269
  - test/sounds/bass_stereo_16.wav
361
- - test/sounds/bass_stereo_8.wav
362
- - test/sounds/clave_high_mono_16.wav
270
+ - test/sounds/bass_mono_8.wav
271
+ - test/sounds/rim_mono_16.wav
272
+ - test/sounds/ride_stereo_8.wav
273
+ - test/sounds/ride_mono_16.wav
274
+ - test/sounds/composite_snare_stereo_8_tom3_mono_16_stereo_16.wav
275
+ - test/sounds/cowbell_low_mono_16.wav
363
276
  - test/sounds/clave_high_mono_8.wav
364
- - test/sounds/clave_high_stereo_16.wav
365
- - test/sounds/clave_high_stereo_8.wav
366
- - test/sounds/clave_low_mono_16.wav
367
- - test/sounds/clave_low_mono_8.wav
368
- - test/sounds/clave_low_stereo_16.wav
369
- - test/sounds/clave_low_stereo_8.wav
370
- - test/sounds/composite_snare_mono_8_tom3_mono_16_mono_16.wav
277
+ - test/sounds/bass2_mono_16.wav
278
+ - test/sounds/rim_mono_8.wav
279
+ - test/sounds/tom2_mono_16.wav
280
+ - test/sounds/tom3_stereo_16.wav
281
+ - test/sounds/tom3_mono_8.wav
282
+ - test/sounds/tom4_mono_8.wav
283
+ - test/sounds/agogo_high_stereo_16.wav
284
+ - test/sounds/tom1_mono_16.wav
371
285
  - test/sounds/composite_snare_mono_8_tom3_mono_8_mono_16.wav
286
+ - test/sounds/clave_low_stereo_16.wav
287
+ - test/sounds/clave_high_stereo_8.wav
288
+ - test/sounds/bass2_stereo_8.wav
372
289
  - test/sounds/composite_snare_stereo_16_tom3_mono_16_stereo_16.wav
373
- - test/sounds/composite_snare_stereo_8_tom3_mono_16_stereo_16.wav
374
- - test/sounds/conga_high_mono_16.wav
375
- - test/sounds/conga_high_mono_8.wav
290
+ - test/sounds/hh_open_mono_16.wav
291
+ - test/sounds/tom2_stereo_8.wav
292
+ - test/sounds/cowbell_low_stereo_16.wav
293
+ - test/sounds/hh_open_stereo_16.wav
294
+ - test/sounds/cowbell_high_stereo_8.wav
295
+ - test/sounds/rim_stereo_16.wav
296
+ - test/sounds/hh_closed_mono_16.wav
376
297
  - test/sounds/conga_high_stereo_16.wav
377
- - test/sounds/conga_high_stereo_8.wav
378
- - test/sounds/conga_low_mono_16.wav
379
- - test/sounds/conga_low_mono_8.wav
298
+ - test/sounds/conga_high_mono_8.wav
299
+ - test/sounds/tom4_mono_16.wav
300
+ - test/sounds/snare_stereo_8.wav
301
+ - test/sounds/tom1_mono_8.wav
302
+ - test/sounds/tom3_stereo_8.wav
303
+ - test/sounds/agogo_high_mono_8.wav
304
+ - test/sounds/tom4_stereo_8.wav
305
+ - test/sounds/rim_stereo_8.wav
306
+ - test/sounds/clave_high_stereo_16.wav
380
307
  - test/sounds/conga_low_stereo_16.wav
381
- - test/sounds/conga_low_stereo_8.wav
382
- - test/sounds/cowbell_high_mono_16.wav
383
- - test/sounds/cowbell_high_mono_8.wav
384
- - test/sounds/cowbell_high_stereo_16.wav
385
- - test/sounds/cowbell_high_stereo_8.wav
386
- - test/sounds/cowbell_low_mono_16.wav
308
+ - test/sounds/conga_low_mono_8.wav
309
+ - test/sounds/tom3_mono_16.wav
310
+ - test/sounds/conga_high_stereo_8.wav
387
311
  - test/sounds/cowbell_low_mono_8.wav
388
- - test/sounds/cowbell_low_stereo_16.wav
389
- - test/sounds/cowbell_low_stereo_8.wav
390
- - test/sounds/hh_closed_mono_16.wav
391
312
  - test/sounds/hh_closed_mono_8.wav
392
- - test/sounds/hh_closed_stereo_16.wav
313
+ - test/sounds/cowbell_high_stereo_16.wav
314
+ - test/sounds/bass_stereo_8.wav
315
+ - test/sounds/tom1_stereo_8.wav
316
+ - test/sounds/clave_high_mono_16.wav
317
+ - test/sounds/agogo_high_mono_16.wav
318
+ - test/sounds/snare2_mono_8.wav
319
+ - test/sounds/ride_stereo_16.wav
320
+ - test/sounds/tom2_mono_8.wav
321
+ - test/sounds/conga_low_stereo_8.wav
322
+ - test/sounds/snare_mono_8.wav
393
323
  - test/sounds/hh_closed_stereo_8.wav
394
- - test/sounds/hh_open_mono_16.wav
324
+ - test/sounds/cowbell_high_mono_8.wav
325
+ - test/sounds/cowbell_low_stereo_8.wav
326
+ - test/sounds/clave_low_mono_16.wav
327
+ - test/sounds/bass_mono_16.wav
328
+ - test/sounds/agogo_high_stereo_8.wav
329
+ - test/sounds/snare2_stereo_8.wav
330
+ - test/sounds/agogo_low_stereo_16.wav
331
+ - test/sounds/bass2_mono_8.wav
332
+ - test/sounds/cowbell_high_mono_16.wav
333
+ - test/sounds/snare2_mono_16.wav
334
+ - test/sounds/bass2_stereo_16.wav
335
+ - test/sounds/tom2_stereo_16.wav
395
336
  - test/sounds/hh_open_mono_8.wav
396
- - test/sounds/hh_open_stereo_16.wav
337
+ - test/sounds/agogo_low_stereo_8.wav
338
+ - test/sounds/clave_low_stereo_8.wav
339
+ - test/sounds/tom1_stereo_16.wav
340
+ - test/sounds/conga_low_mono_16.wav
341
+ - test/sounds/conga_high_mono_16.wav
342
+ - test/sounds/snare_mono_16.wav
343
+ - test/sounds/agogo_low_mono_16.wav
344
+ - test/sounds/agogo_low_mono_8.wav
345
+ - test/sounds/snare2_stereo_16.wav
397
346
  - test/sounds/hh_open_stereo_8.wav
398
- - test/sounds/ride_mono_16.wav
347
+ - test/sounds/composite_snare_mono_8_tom3_mono_16_mono_16.wav
399
348
  - test/sounds/ride_mono_8.wav
400
- - test/sounds/ride_stereo_16.wav
401
- - test/sounds/ride_stereo_8.wav
402
- - test/sounds/rim_mono_16.wav
403
- - test/sounds/rim_mono_8.wav
404
- - test/sounds/rim_stereo_16.wav
405
- - test/sounds/rim_stereo_8.wav
406
- - test/sounds/snare2_mono_16.wav
407
- - test/sounds/snare2_mono_8.wav
408
- - test/sounds/snare2_stereo_16.wav
409
- - test/sounds/snare2_stereo_8.wav
410
- - test/sounds/snare_mono_16.wav
411
- - test/sounds/snare_mono_8.wav
412
349
  - test/sounds/snare_stereo_16.wav
413
- - test/sounds/snare_stereo_8.wav
414
- - test/sounds/tom1_mono_16.wav
415
- - test/sounds/tom1_mono_8.wav
416
- - test/sounds/tom1_stereo_16.wav
417
- - test/sounds/tom1_stereo_8.wav
418
- - test/sounds/tom2_mono_16.wav
419
- - test/sounds/tom2_mono_8.wav
420
- - test/sounds/tom2_stereo_16.wav
421
- - test/sounds/tom2_stereo_8.wav
422
- - test/sounds/tom3_mono_16.wav
423
- - test/sounds/tom3_mono_8.wav
424
- - test/sounds/tom3_stereo_16.wav
425
- - test/sounds/tom3_stereo_8.wav
426
- - test/sounds/tom4_mono_16.wav
427
- - test/sounds/tom4_mono_8.wav
428
- - test/sounds/tom4_stereo_16.wav
429
- - test/sounds/tom4_stereo_8.wav
430
- - test/track_test.rb
350
+ - test/sounds/hh_closed_stereo_16.wav
351
+ - test/song_test.rb
352
+ - test/song_optimizer_test.rb
353
+ - test/includes.rb
354
+ - test/kit_builder_test.rb
355
+ - test/pattern_test.rb
356
+ - test/fixtures/valid/example_stereo_8.txt
357
+ - test/fixtures/valid/repeats_not_specified.txt
358
+ - test/fixtures/valid/example_unswung.txt
359
+ - test/fixtures/valid/track_with_spaces.txt
360
+ - test/fixtures/valid/multiple_patterns_same_name.txt
361
+ - test/fixtures/valid/track_with_composite_mix_kit_and_not_kit_sound_2.txt
362
+ - test/fixtures/valid/optimize_pattern_collision.txt
363
+ - test/fixtures/valid/example_stereo_16.txt
364
+ - test/fixtures/valid/example_swung_8th.txt
365
+ - test/fixtures/valid/example_mono_8.txt
366
+ - test/fixtures/valid/example_mono_16.txt
367
+ - test/fixtures/valid/example_song_header_different_capitalization.txt
368
+ - test/fixtures/valid/multiple_song_header_sections.txt
369
+ - test/fixtures/valid/kit_with_composite_single_sound.txt
370
+ - test/fixtures/valid/track_with_composite_mix_kit_and_not_kit_sound.txt
371
+ - test/fixtures/valid/example_flow_patterns_different_capitalization.txt
372
+ - test/fixtures/valid/example_swung_16th.txt
373
+ - test/fixtures/valid/multiple_tracks_same_sound.txt
374
+ - test/fixtures/valid/track_with_composite_single_sound.txt
375
+ - test/fixtures/valid/example_mono_16_base_path.txt
376
+ - test/fixtures/valid/empty_kit.txt
377
+ - test/fixtures/valid/example_with_kit.txt
378
+ - test/fixtures/valid/example_no_kit.txt
379
+ - test/fixtures/valid/track_with_composite_non_kit_sound.txt
380
+ - test/fixtures/valid/kit_with_composite_sounds.txt
381
+ - test/fixtures/valid/fractional_tempo.txt
382
+ - test/fixtures/valid/example_with_empty_track.txt
383
+ - test/fixtures/valid/pattern_with_overflow.txt
384
+ - test/fixtures/valid/no_tempo.txt
385
+ - test/fixtures/valid/track_with_composite_kit_sounds.txt
386
+ - test/fixtures/invalid/with_structure.txt
387
+ - test/fixtures/invalid/sound_in_kit_wrong_format.txt
388
+ - test/fixtures/invalid/track_with_composite_empty_sound.txt
389
+ - test/fixtures/invalid/no_header.txt
390
+ - test/fixtures/invalid/bad_repeat_count.txt
391
+ - test/fixtures/invalid/sound_in_track_not_found.txt
392
+ - test/fixtures/invalid/sound_in_kit_not_found.txt
393
+ - test/fixtures/invalid/bad_swing_rate_1.txt
394
+ - test/fixtures/invalid/bad_tempo.txt
395
+ - test/fixtures/invalid/leading_bar_line.txt
396
+ - test/fixtures/invalid/bad_rhythm.txt
397
+ - test/fixtures/invalid/kit_with_composite_non_existent_sound.txt
398
+ - test/fixtures/invalid/bad_swing_rate_2.txt
399
+ - test/fixtures/invalid/track_with_composite_nested_sounds.txt
400
+ - test/fixtures/invalid/sound_in_track_wrong_format.txt
401
+ - test/fixtures/invalid/pattern_with_no_tracks.txt
402
+ - test/fixtures/invalid/bad_flow.txt
403
+ - test/fixtures/invalid/no_flow.txt
404
+ - test/fixtures/invalid/kit_with_composite_empty_sound.txt
405
+ - test/fixtures/invalid/kit_with_composite_nested_sounds.txt
406
+ - test/fixtures/invalid/track_with_composite_non_existent_sound.txt
407
+ - test/fixtures/expected_output/example_split_mono_8-tom4_mono_8.wav
408
+ - test/fixtures/expected_output/example_split_mono_8-agogo.wav
409
+ - test/fixtures/expected_output/example_split_stereo_16-tom4_stereo_16.wav
410
+ - test/fixtures/expected_output/example_split_stereo_8-bass.wav
411
+ - test/fixtures/expected_output/example_combined_mono_8.wav
412
+ - test/fixtures/expected_output/example_split_stereo_16-hh_closed2.wav
413
+ - test/fixtures/expected_output/example_split_mono_8-snare.wav
414
+ - test/fixtures/expected_output/example_split_stereo_8-hh_closed2.wav
415
+ - test/fixtures/expected_output/example_split_mono_16-hh_closed2.wav
416
+ - test/fixtures/expected_output/example_split_mono_8-bass.wav
417
+ - test/fixtures/expected_output/example_split_mono_8-hh_closed.wav
418
+ - test/fixtures/expected_output/example_split_mono_16-hh_closed.wav
419
+ - test/fixtures/expected_output/example_split_stereo_16-bass.wav
420
+ - test/fixtures/expected_output/example_split_mono_16-tom4_mono_16.wav
421
+ - test/fixtures/expected_output/example_split_stereo_8-hh_closed.wav
422
+ - test/fixtures/expected_output/example_split_stereo_8-snare.wav
423
+ - test/fixtures/expected_output/example_split_mono_16-bass.wav
424
+ - test/fixtures/expected_output/example_split_stereo_16-agogo.wav
425
+ - test/fixtures/expected_output/example_split_mono_16-agogo.wav
426
+ - test/fixtures/expected_output/example_split_stereo_8-agogo.wav
427
+ - test/fixtures/expected_output/example_combined_stereo_8.wav
428
+ - test/fixtures/expected_output/example_split_stereo_8-tom4_stereo_8.wav
429
+ - test/fixtures/expected_output/example_split_mono_16-tom2_mono_16.wav
430
+ - test/fixtures/expected_output/example_split_stereo_16-hh_closed.wav
431
+ - test/fixtures/expected_output/example_split_mono_8-tom2_mono_8.wav
432
+ - test/fixtures/expected_output/example_combined_stereo_16.wav
433
+ - test/fixtures/expected_output/example_combined_mono_16.wav
434
+ - test/fixtures/expected_output/example_split_stereo_8-tom2_stereo_8.wav
435
+ - test/fixtures/expected_output/example_split_stereo_16-tom2_stereo_16.wav
436
+ - test/fixtures/expected_output/example_split_mono_16-snare.wav
437
+ - test/fixtures/expected_output/example_split_stereo_16-snare.wav
438
+ - test/fixtures/expected_output/example_split_mono_8-hh_closed2.wav
@@ -1,46 +0,0 @@
1
- require 'includes'
2
-
3
- class AudioUtilsTest < Minitest::Test
4
- def test_composite
5
- # Mono empty arrays
6
- assert_equal([], AudioUtils.composite([], 1))
7
- assert_equal([], AudioUtils.composite([[]], 1))
8
- assert_equal([], AudioUtils.composite([[], [], [], []], 1))
9
-
10
- # Stereo empty arrays
11
- assert_equal([], AudioUtils.composite([], 2))
12
- assert_equal([], AudioUtils.composite([[]], 2))
13
- assert_equal([], AudioUtils.composite([[], [], [], []], 2))
14
-
15
- # Mono
16
- assert_equal([10, 20, 30, 40], AudioUtils.composite([[10, 20, 30, 40]], 1))
17
- assert_equal([10, 20, 30, 40], AudioUtils.composite([[10, 20, 30, 40], []], 1))
18
- assert_equal([30, 50, 70, -10], AudioUtils.composite([[10, 20, 30, 40], [20, 30, 40, -50]], 1))
19
- assert_equal([70, 80, 60], AudioUtils.composite([[20, 30], [10], [40, 50, 60]], 1))
20
-
21
- # Stereo
22
- assert_equal([[10, 20], [30, 40]], AudioUtils.composite([[[10, 20], [30, 40]]], 2))
23
- assert_equal([[10, 20], [30, 40]], AudioUtils.composite([[[10, 20], [30, 40]], []], 2))
24
- assert_equal([[30, 50], [70, -10]], AudioUtils.composite([[[10, 20], [30, 40]], [[20, 30], [40, -50]]], 2))
25
- assert_equal([[90, 120], [120, 140], [100, 110]], AudioUtils.composite([[[20, 30], [40, 50]], [[10, 20]], [[60, 70], [80, 90], [100, 110]]], 2))
26
- end
27
-
28
- def test_scale
29
- assert_equal([], AudioUtils.scale([], 1, 5))
30
- assert_equal([], AudioUtils.scale([], 2, 5))
31
- assert_equal([100, 200, 300, 400, 500], AudioUtils.scale([100, 200, 300, 400, 500], 1, 1))
32
- assert_equal([20, 40, 60, 80, 100], AudioUtils.scale([100, 200, 300, 400, 500], 1, 5))
33
-
34
- assert_equal([[100, 200], [300, 400], [500, 600]], AudioUtils.scale([[100, 200], [300, 400], [500, 600]], 2, 1))
35
- assert_equal([[20, 40], [60, 80], [100, 120]], AudioUtils.scale([[100, 200], [300, 400], [500, 600]], 2, 5))
36
- end
37
-
38
- def test_step_sample_length
39
- assert_equal(6615.0, AudioUtils.step_sample_length(44100, 100))
40
- assert_equal(3307.5, AudioUtils.step_sample_length(44100, 200))
41
- assert_equal(3307.5, AudioUtils.step_sample_length(22050, 100))
42
-
43
- assert_equal(6874.612880831729, AudioUtils.step_sample_length(44100, 96.2236))
44
- assert_equal(3437.3064404158645, AudioUtils.step_sample_length(22050, 96.2236))
45
- end
46
- end