beats 2.1.1 → 2.1.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.
- checksums.yaml +4 -4
- data/LICENSE +21 -23
- data/README.markdown +7 -15
- data/Rakefile +3 -3
- data/bin/beats +5 -5
- data/lib/beats.rb +15 -15
- data/lib/beats/kit.rb +1 -1
- data/lib/beats/kit_builder.rb +5 -1
- data/lib/beats/song.rb +1 -1
- data/lib/beats/song_parser.rb +45 -23
- data/test/audio_engine_test.rb +1 -1
- data/test/audio_utils_test.rb +1 -1
- data/test/caching_writer_test.rb +1 -1
- data/test/fixtures/invalid/flow_invalid_repeat_count_prefix.txt +8 -0
- data/test/fixtures/invalid/flow_invalid_repeat_count_suffix.txt +8 -0
- data/test/fixtures/invalid/{bad_repeat_count.txt → flow_missing_repeat_count.txt} +3 -3
- data/test/fixtures/invalid/flow_negative_repeat_count.txt +8 -0
- data/test/fixtures/invalid/{bad_flow.txt → flow_non_existent_pattern.txt} +0 -0
- data/test/fixtures/invalid/flow_non_string_repeat_count.txt +8 -0
- data/test/fixtures/invalid/flow_not_an_array.txt +15 -0
- data/test/fixtures/invalid/flow_pattern_name_not_a_string.txt +15 -0
- data/test/fixtures/invalid/flow_repeat_count_is_missing_prefix.txt +8 -0
- data/test/fixtures/invalid/flow_section_not_a_string_or_hash.txt +15 -0
- data/test/fixtures/invalid/kit_filename_not_a_string.txt +17 -0
- data/test/fixtures/invalid/kit_not_an_array.txt +17 -0
- data/test/fixtures/invalid/pattern_not_an_array.txt +17 -0
- data/test/fixtures/invalid/pattern_referenced_pattern_name_not_a_string.txt +19 -0
- data/test/fixtures/invalid/pattern_unreferenced_pattern_name_not_a_string.txt +18 -0
- data/test/fixtures/invalid/pattern_with_incomplete_track.txt +10 -0
- data/test/fixtures/invalid/pattern_with_nil_track.txt +10 -0
- data/test/fixtures/valid/composite_sounds_trailing_comma.txt +16 -0
- data/test/fixtures/valid/example_alternate_array_syntax.txt +11 -0
- data/test/fixtures/valid/{multiple_song_header_sections.txt → multiple_copies_of_song_components.txt} +28 -4
- data/test/fixtures/valid/multiple_yaml_documents.txt +33 -0
- data/test/fixtures/valid/track_sound_has_mixed_capitalization.txt +13 -0
- data/test/includes.rb +2 -2
- data/test/integration_test.rb +3 -3
- data/test/kit_builder_test.rb +3 -3
- data/test/kit_test.rb +7 -7
- data/test/pattern_test.rb +176 -176
- data/test/song_optimizer_test.rb +1 -1
- data/test/song_parser_test.rb +86 -11
- data/test/song_swinger_test.rb +1 -1
- data/test/song_test.rb +1 -1
- data/test/sounds/MiXeD_CaPiTaLiZaTiOn.wav +0 -0
- data/test/sounds/bass_mono_16_11025.wav +0 -0
- data/test/sounds/bass_mono_16_22050.wav +0 -0
- data/test/sounds/bass_mono_24.wav +0 -0
- data/test/sounds/bass_mono_8.mp3 +0 -0
- data/test/track_test.rb +1 -1
- metadata +58 -12
data/test/song_optimizer_test.rb
CHANGED
data/test/song_parser_test.rb
CHANGED
@@ -1,10 +1,18 @@
|
|
1
|
-
require
|
1
|
+
require "includes"
|
2
2
|
|
3
3
|
class SongParserTest < Minitest::Test
|
4
4
|
FIXTURE_BASE_PATH = File.dirname(__FILE__) + "/.."
|
5
5
|
|
6
|
-
INVALID_FIXTURES = [:
|
7
|
-
:
|
6
|
+
INVALID_FIXTURES = [:flow_invalid_repeat_count_prefix,
|
7
|
+
:flow_invalid_repeat_count_suffix,
|
8
|
+
:flow_non_existent_pattern,
|
9
|
+
:flow_negative_repeat_count,
|
10
|
+
:flow_non_string_repeat_count,
|
11
|
+
:flow_repeat_count_is_missing_prefix,
|
12
|
+
:flow_missing_repeat_count,
|
13
|
+
:flow_not_an_array,
|
14
|
+
:flow_section_not_a_string_or_hash,
|
15
|
+
:flow_pattern_name_not_a_string,
|
8
16
|
:bad_tempo,
|
9
17
|
:bad_swing_rate_1,
|
10
18
|
:bad_swing_rate_2,
|
@@ -12,12 +20,19 @@ class SongParserTest < Minitest::Test
|
|
12
20
|
:no_flow,
|
13
21
|
:with_structure,
|
14
22
|
:pattern_with_no_tracks,
|
23
|
+
:pattern_with_nil_track,
|
24
|
+
:pattern_with_incomplete_track,
|
25
|
+
:pattern_referenced_pattern_name_not_a_string,
|
26
|
+
:pattern_unreferenced_pattern_name_not_a_string,
|
27
|
+
:pattern_not_an_array,
|
15
28
|
:track_with_composite_non_existent_sound,
|
16
29
|
:kit_with_composite_non_existent_sound,
|
17
30
|
:track_with_composite_empty_sound,
|
18
31
|
:kit_with_composite_empty_sound,
|
19
32
|
:track_with_composite_nested_sounds,
|
20
33
|
:kit_with_composite_nested_sounds,
|
34
|
+
:kit_not_an_array,
|
35
|
+
:kit_filename_not_a_string,
|
21
36
|
:leading_bar_line,
|
22
37
|
:sound_in_kit_not_found,
|
23
38
|
:sound_in_track_not_found,
|
@@ -39,19 +54,19 @@ class SongParserTest < Minitest::Test
|
|
39
54
|
assert_equal("....X.......X...", song.patterns[:chorus].tracks["snare"].rhythm)
|
40
55
|
end
|
41
56
|
|
42
|
-
def
|
43
|
-
song, kit = load_fixture("valid/
|
57
|
+
def test_multiple_copies_of_song_components
|
58
|
+
song, kit = load_fixture("valid/multiple_copies_of_song_components.txt")
|
44
59
|
|
45
|
-
assert_equal(
|
46
|
-
assert_equal([:
|
60
|
+
assert_equal(120, song.tempo)
|
61
|
+
assert_equal([:verse, :verse, :chorus, :chorus], song.flow)
|
47
62
|
assert_equal(["bass", "snare", "empty_track_placeholder_name_234hkj32hjk4hjkhds23"], kit.labels)
|
48
63
|
assert_equal(2, song.patterns.length)
|
49
64
|
assert_equal(2, song.patterns[:verse].tracks.length)
|
50
|
-
assert_equal("X
|
51
|
-
assert_equal("
|
65
|
+
assert_equal("X.......X...X...", song.patterns[:verse].tracks["bass"].rhythm)
|
66
|
+
assert_equal("....X.......X...", song.patterns[:verse].tracks["snare"].rhythm)
|
52
67
|
assert_equal(2, song.patterns[:chorus].tracks.length)
|
53
|
-
assert_equal("X
|
54
|
-
assert_equal("
|
68
|
+
assert_equal("X.X.X.X.X.X.X.X.", song.patterns[:chorus].tracks["bass"].rhythm)
|
69
|
+
assert_equal("X...X...X...X...", song.patterns[:chorus].tracks["snare"].rhythm)
|
55
70
|
end
|
56
71
|
|
57
72
|
def test_multiple_patterns_same_name
|
@@ -70,6 +85,17 @@ class SongParserTest < Minitest::Test
|
|
70
85
|
assert_equal("....X.......X...", song.patterns[:chorus].tracks["snare"].rhythm)
|
71
86
|
end
|
72
87
|
|
88
|
+
def test_multiple_yaml_documents
|
89
|
+
song, kit = load_fixture("valid/multiple_yaml_documents.txt")
|
90
|
+
|
91
|
+
assert_equal(150, song.tempo)
|
92
|
+
assert_equal([:verse, :verse], song.flow)
|
93
|
+
assert_equal(["bass", "empty_track_placeholder_name_234hkj32hjk4hjkhds23"], kit.labels)
|
94
|
+
assert_equal(1, song.patterns.length)
|
95
|
+
assert_equal(1, song.patterns[:verse].tracks.length)
|
96
|
+
assert_equal("X...X...X...X...", song.patterns[:verse].tracks["bass"].rhythm)
|
97
|
+
end
|
98
|
+
|
73
99
|
def test_no_tempo
|
74
100
|
song, _ = load_fixture("valid/no_tempo.txt")
|
75
101
|
|
@@ -199,6 +225,18 @@ class SongParserTest < Minitest::Test
|
|
199
225
|
assert_equal("..............X.", song.patterns[:chorus].tracks["test/sounds/tom2_mono_16.wav"].rhythm)
|
200
226
|
end
|
201
227
|
|
228
|
+
def test_track_sound_with_mixed_capitalization
|
229
|
+
song, kit = load_fixture("valid/track_sound_has_mixed_capitalization.txt")
|
230
|
+
|
231
|
+
assert_equal(120, song.tempo)
|
232
|
+
assert_equal([:verse], song.flow)
|
233
|
+
assert_equal(["bass", "test/sounds/MiXeD_CaPiTaLiZaTiOn.wav", "empty_track_placeholder_name_234hkj32hjk4hjkhds23"], kit.labels)
|
234
|
+
assert_equal(1, song.patterns.length)
|
235
|
+
assert_equal(2, song.patterns[:verse].tracks.length)
|
236
|
+
assert_equal("X...X...........", song.patterns[:verse].tracks["bass"].rhythm)
|
237
|
+
assert_equal("........X...X...", song.patterns[:verse].tracks["test/sounds/MiXeD_CaPiTaLiZaTiOn.wav"].rhythm)
|
238
|
+
end
|
239
|
+
|
202
240
|
def test_swung_8
|
203
241
|
song, _ = load_fixture("valid/example_swung_8th.txt")
|
204
242
|
|
@@ -373,6 +411,43 @@ class SongParserTest < Minitest::Test
|
|
373
411
|
assert_equal(".X.X.X.X", song.patterns[:chorus].tracks["hihat-hh_closed_mono_8"].rhythm)
|
374
412
|
end
|
375
413
|
|
414
|
+
def test_alternate_array_syntax
|
415
|
+
song, kit = load_fixture("valid/example_alternate_array_syntax.txt")
|
416
|
+
|
417
|
+
assert_equal(120, song.tempo)
|
418
|
+
assert_equal(["bass", "snare", "hhclosed", "hhopen", "test/sounds/ride_mono_8.wav", "empty_track_placeholder_name_234hkj32hjk4hjkhds23"], kit.labels)
|
419
|
+
assert_equal([:verse, :verse, :chorus, :chorus, :verse, :verse, :chorus, :chorus, :chorus, :chorus], song.flow)
|
420
|
+
assert_equal(2, song.patterns.length)
|
421
|
+
assert_equal(4, song.patterns[:verse].tracks.length)
|
422
|
+
assert_equal("X...X...X...X...", song.patterns[:verse].tracks["bass"].rhythm)
|
423
|
+
assert_equal("....X.......X...", song.patterns[:verse].tracks["snare"].rhythm)
|
424
|
+
assert_equal("X.X.X.X.X.X.X...", song.patterns[:verse].tracks["hhclosed"].rhythm)
|
425
|
+
assert_equal("..............X.", song.patterns[:verse].tracks["hhopen"].rhythm)
|
426
|
+
assert_equal(4, song.patterns[:chorus].tracks.length)
|
427
|
+
assert_equal("X...X...XXXXXXXX", song.patterns[:chorus].tracks["bass"].rhythm)
|
428
|
+
assert_equal("X...X...X...X...", song.patterns[:chorus].tracks["snare"].rhythm)
|
429
|
+
assert_equal("........X.......", song.patterns[:chorus].tracks["hhopen"].rhythm)
|
430
|
+
assert_equal("....X...........", song.patterns[:chorus].tracks["test/sounds/ride_mono_8.wav"].rhythm)
|
431
|
+
end
|
432
|
+
|
433
|
+
def test_composite_sounds_with_trailing_comma
|
434
|
+
song, kit = load_fixture("valid/composite_sounds_trailing_comma.txt")
|
435
|
+
|
436
|
+
assert_equal(100, song.tempo)
|
437
|
+
assert_equal(["bass", "snare-snare_mono_8", "hihat-hh_closed_mono_8", "hihat-hh_open_mono_8", "empty_track_placeholder_name_234hkj32hjk4hjkhds23"], kit.labels)
|
438
|
+
assert_equal([:verse, :verse, :chorus, :chorus], song.flow)
|
439
|
+
assert_equal(2, song.patterns.length)
|
440
|
+
assert_equal(3, song.patterns[:verse].tracks.length)
|
441
|
+
assert_equal("X...X...", song.patterns[:verse].tracks["hihat-hh_closed_mono_8"].rhythm)
|
442
|
+
assert_equal("X...X...", song.patterns[:verse].tracks["hihat-hh_open_mono_8"].rhythm)
|
443
|
+
assert_equal("..X...X.", song.patterns[:verse].tracks["snare-snare_mono_8"].rhythm)
|
444
|
+
assert_equal(4, song.patterns[:chorus].tracks.length)
|
445
|
+
assert_equal("XXXXXXXX", song.patterns[:chorus].tracks["bass"].rhythm)
|
446
|
+
assert_equal(".X.X.X.X", song.patterns[:chorus].tracks["snare-snare_mono_8"].rhythm)
|
447
|
+
assert_equal(".X.X.X.X", song.patterns[:chorus].tracks["hihat-hh_closed_mono_8"].rhythm)
|
448
|
+
assert_equal(".X.X.X.X", song.patterns[:chorus].tracks["hihat-hh_open_mono_8"].rhythm)
|
449
|
+
end
|
450
|
+
|
376
451
|
def test_invalid_parse
|
377
452
|
INVALID_FIXTURES.each do |fixture|
|
378
453
|
assert_raises(SongParser::ParseError) do
|
data/test/song_swinger_test.rb
CHANGED
data/test/song_test.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/track_test.rb
CHANGED
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.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Strait
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: wavefile
|
@@ -84,18 +84,33 @@ files:
|
|
84
84
|
- test/fixtures/expected_output/example_split_stereo_8-snare.wav
|
85
85
|
- test/fixtures/expected_output/example_split_stereo_8-tom2_stereo_8.wav
|
86
86
|
- test/fixtures/expected_output/example_split_stereo_8-tom4_stereo_8.wav
|
87
|
-
- test/fixtures/invalid/bad_flow.txt
|
88
|
-
- test/fixtures/invalid/bad_repeat_count.txt
|
89
87
|
- test/fixtures/invalid/bad_rhythm.txt
|
90
88
|
- test/fixtures/invalid/bad_swing_rate_1.txt
|
91
89
|
- test/fixtures/invalid/bad_swing_rate_2.txt
|
92
90
|
- test/fixtures/invalid/bad_tempo.txt
|
91
|
+
- test/fixtures/invalid/flow_invalid_repeat_count_prefix.txt
|
92
|
+
- test/fixtures/invalid/flow_invalid_repeat_count_suffix.txt
|
93
|
+
- test/fixtures/invalid/flow_missing_repeat_count.txt
|
94
|
+
- test/fixtures/invalid/flow_negative_repeat_count.txt
|
95
|
+
- test/fixtures/invalid/flow_non_existent_pattern.txt
|
96
|
+
- test/fixtures/invalid/flow_non_string_repeat_count.txt
|
97
|
+
- test/fixtures/invalid/flow_not_an_array.txt
|
98
|
+
- test/fixtures/invalid/flow_pattern_name_not_a_string.txt
|
99
|
+
- test/fixtures/invalid/flow_repeat_count_is_missing_prefix.txt
|
100
|
+
- test/fixtures/invalid/flow_section_not_a_string_or_hash.txt
|
101
|
+
- test/fixtures/invalid/kit_filename_not_a_string.txt
|
102
|
+
- test/fixtures/invalid/kit_not_an_array.txt
|
93
103
|
- test/fixtures/invalid/kit_with_composite_empty_sound.txt
|
94
104
|
- test/fixtures/invalid/kit_with_composite_nested_sounds.txt
|
95
105
|
- test/fixtures/invalid/kit_with_composite_non_existent_sound.txt
|
96
106
|
- test/fixtures/invalid/leading_bar_line.txt
|
97
107
|
- test/fixtures/invalid/no_flow.txt
|
98
108
|
- test/fixtures/invalid/no_header.txt
|
109
|
+
- test/fixtures/invalid/pattern_not_an_array.txt
|
110
|
+
- test/fixtures/invalid/pattern_referenced_pattern_name_not_a_string.txt
|
111
|
+
- test/fixtures/invalid/pattern_unreferenced_pattern_name_not_a_string.txt
|
112
|
+
- test/fixtures/invalid/pattern_with_incomplete_track.txt
|
113
|
+
- test/fixtures/invalid/pattern_with_nil_track.txt
|
99
114
|
- test/fixtures/invalid/pattern_with_no_tracks.txt
|
100
115
|
- test/fixtures/invalid/sound_in_kit_not_found.txt
|
101
116
|
- test/fixtures/invalid/sound_in_kit_wrong_format.txt
|
@@ -105,7 +120,9 @@ files:
|
|
105
120
|
- test/fixtures/invalid/track_with_composite_nested_sounds.txt
|
106
121
|
- test/fixtures/invalid/track_with_composite_non_existent_sound.txt
|
107
122
|
- test/fixtures/invalid/with_structure.txt
|
123
|
+
- test/fixtures/valid/composite_sounds_trailing_comma.txt
|
108
124
|
- test/fixtures/valid/empty_kit.txt
|
125
|
+
- test/fixtures/valid/example_alternate_array_syntax.txt
|
109
126
|
- test/fixtures/valid/example_flow_patterns_different_capitalization.txt
|
110
127
|
- test/fixtures/valid/example_mono_16.txt
|
111
128
|
- test/fixtures/valid/example_mono_16_base_path.txt
|
@@ -122,13 +139,15 @@ files:
|
|
122
139
|
- test/fixtures/valid/fractional_tempo.txt
|
123
140
|
- test/fixtures/valid/kit_with_composite_single_sound.txt
|
124
141
|
- test/fixtures/valid/kit_with_composite_sounds.txt
|
142
|
+
- test/fixtures/valid/multiple_copies_of_song_components.txt
|
125
143
|
- test/fixtures/valid/multiple_patterns_same_name.txt
|
126
|
-
- test/fixtures/valid/multiple_song_header_sections.txt
|
127
144
|
- test/fixtures/valid/multiple_tracks_same_sound.txt
|
145
|
+
- test/fixtures/valid/multiple_yaml_documents.txt
|
128
146
|
- test/fixtures/valid/no_tempo.txt
|
129
147
|
- test/fixtures/valid/optimize_pattern_collision.txt
|
130
148
|
- test/fixtures/valid/pattern_with_overflow.txt
|
131
149
|
- test/fixtures/valid/repeats_not_specified.txt
|
150
|
+
- test/fixtures/valid/track_sound_has_mixed_capitalization.txt
|
132
151
|
- test/fixtures/valid/track_with_composite_kit_sounds.txt
|
133
152
|
- test/fixtures/valid/track_with_composite_mix_kit_and_not_kit_sound.txt
|
134
153
|
- test/fixtures/valid/track_with_composite_mix_kit_and_not_kit_sound_2.txt
|
@@ -144,6 +163,7 @@ files:
|
|
144
163
|
- test/song_parser_test.rb
|
145
164
|
- test/song_swinger_test.rb
|
146
165
|
- test/song_test.rb
|
166
|
+
- test/sounds/MiXeD_CaPiTaLiZaTiOn.wav
|
147
167
|
- test/sounds/agogo_high_mono_16.wav
|
148
168
|
- test/sounds/agogo_high_mono_8.wav
|
149
169
|
- test/sounds/agogo_high_stereo_16.wav
|
@@ -157,6 +177,10 @@ files:
|
|
157
177
|
- test/sounds/bass2_stereo_16.wav
|
158
178
|
- test/sounds/bass2_stereo_8.wav
|
159
179
|
- test/sounds/bass_mono_16.wav
|
180
|
+
- test/sounds/bass_mono_16_11025.wav
|
181
|
+
- test/sounds/bass_mono_16_22050.wav
|
182
|
+
- test/sounds/bass_mono_24.wav
|
183
|
+
- test/sounds/bass_mono_8.mp3
|
160
184
|
- test/sounds/bass_mono_8.wav
|
161
185
|
- test/sounds/bass_stereo_16.wav
|
162
186
|
- test/sounds/bass_stereo_8.wav
|
@@ -249,12 +273,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
249
273
|
- !ruby/object:Gem::Version
|
250
274
|
version: '0'
|
251
275
|
requirements: []
|
252
|
-
|
253
|
-
rubygems_version: 2.7.6
|
276
|
+
rubygems_version: 3.0.3
|
254
277
|
signing_key:
|
255
278
|
specification_version: 4
|
256
|
-
summary: A command-line drum machine
|
257
|
-
and outputs a *.wav sound file.
|
279
|
+
summary: A command-line drum machine
|
258
280
|
test_files:
|
259
281
|
- test/integration_test.rb
|
260
282
|
- test/caching_writer_test.rb
|
@@ -273,6 +295,7 @@ test_files:
|
|
273
295
|
- test/sounds/ride_mono_16.wav
|
274
296
|
- test/sounds/composite_snare_stereo_8_tom3_mono_16_stereo_16.wav
|
275
297
|
- test/sounds/cowbell_low_mono_16.wav
|
298
|
+
- test/sounds/bass_mono_16_11025.wav
|
276
299
|
- test/sounds/clave_high_mono_8.wav
|
277
300
|
- test/sounds/bass2_mono_16.wav
|
278
301
|
- test/sounds/rim_mono_8.wav
|
@@ -281,11 +304,13 @@ test_files:
|
|
281
304
|
- test/sounds/tom3_mono_8.wav
|
282
305
|
- test/sounds/tom4_mono_8.wav
|
283
306
|
- test/sounds/agogo_high_stereo_16.wav
|
307
|
+
- test/sounds/MiXeD_CaPiTaLiZaTiOn.wav
|
284
308
|
- test/sounds/tom1_mono_16.wav
|
285
309
|
- test/sounds/composite_snare_mono_8_tom3_mono_8_mono_16.wav
|
286
310
|
- test/sounds/clave_low_stereo_16.wav
|
287
311
|
- test/sounds/clave_high_stereo_8.wav
|
288
312
|
- test/sounds/bass2_stereo_8.wav
|
313
|
+
- test/sounds/bass_mono_24.wav
|
289
314
|
- test/sounds/composite_snare_stereo_16_tom3_mono_16_stereo_16.wav
|
290
315
|
- test/sounds/hh_open_mono_16.wav
|
291
316
|
- test/sounds/tom2_stereo_8.wav
|
@@ -310,10 +335,12 @@ test_files:
|
|
310
335
|
- test/sounds/conga_high_stereo_8.wav
|
311
336
|
- test/sounds/cowbell_low_mono_8.wav
|
312
337
|
- test/sounds/hh_closed_mono_8.wav
|
338
|
+
- test/sounds/bass_mono_16_22050.wav
|
313
339
|
- test/sounds/cowbell_high_stereo_16.wav
|
314
340
|
- test/sounds/bass_stereo_8.wav
|
315
341
|
- test/sounds/tom1_stereo_8.wav
|
316
342
|
- test/sounds/clave_high_mono_16.wav
|
343
|
+
- test/sounds/bass_mono_8.mp3
|
317
344
|
- test/sounds/agogo_high_mono_16.wav
|
318
345
|
- test/sounds/snare2_mono_8.wav
|
319
346
|
- test/sounds/ride_stereo_16.wav
|
@@ -365,12 +392,14 @@ test_files:
|
|
365
392
|
- test/fixtures/valid/example_mono_8.txt
|
366
393
|
- test/fixtures/valid/example_mono_16.txt
|
367
394
|
- test/fixtures/valid/example_song_header_different_capitalization.txt
|
368
|
-
- test/fixtures/valid/
|
395
|
+
- test/fixtures/valid/composite_sounds_trailing_comma.txt
|
369
396
|
- test/fixtures/valid/kit_with_composite_single_sound.txt
|
370
397
|
- test/fixtures/valid/track_with_composite_mix_kit_and_not_kit_sound.txt
|
371
398
|
- test/fixtures/valid/example_flow_patterns_different_capitalization.txt
|
372
399
|
- test/fixtures/valid/example_swung_16th.txt
|
400
|
+
- test/fixtures/valid/track_sound_has_mixed_capitalization.txt
|
373
401
|
- test/fixtures/valid/multiple_tracks_same_sound.txt
|
402
|
+
- test/fixtures/valid/multiple_copies_of_song_components.txt
|
374
403
|
- test/fixtures/valid/track_with_composite_single_sound.txt
|
375
404
|
- test/fixtures/valid/example_mono_16_base_path.txt
|
376
405
|
- test/fixtures/valid/empty_kit.txt
|
@@ -378,32 +407,49 @@ test_files:
|
|
378
407
|
- test/fixtures/valid/example_no_kit.txt
|
379
408
|
- test/fixtures/valid/track_with_composite_non_kit_sound.txt
|
380
409
|
- test/fixtures/valid/kit_with_composite_sounds.txt
|
410
|
+
- test/fixtures/valid/multiple_yaml_documents.txt
|
381
411
|
- test/fixtures/valid/fractional_tempo.txt
|
382
412
|
- test/fixtures/valid/example_with_empty_track.txt
|
383
413
|
- test/fixtures/valid/pattern_with_overflow.txt
|
414
|
+
- test/fixtures/valid/example_alternate_array_syntax.txt
|
384
415
|
- test/fixtures/valid/no_tempo.txt
|
385
416
|
- test/fixtures/valid/track_with_composite_kit_sounds.txt
|
417
|
+
- test/fixtures/invalid/flow_non_existent_pattern.txt
|
418
|
+
- test/fixtures/invalid/flow_non_string_repeat_count.txt
|
386
419
|
- test/fixtures/invalid/with_structure.txt
|
387
420
|
- test/fixtures/invalid/sound_in_kit_wrong_format.txt
|
388
421
|
- test/fixtures/invalid/track_with_composite_empty_sound.txt
|
389
422
|
- test/fixtures/invalid/no_header.txt
|
390
|
-
- test/fixtures/invalid/
|
423
|
+
- test/fixtures/invalid/pattern_unreferenced_pattern_name_not_a_string.txt
|
424
|
+
- test/fixtures/invalid/flow_not_an_array.txt
|
425
|
+
- test/fixtures/invalid/flow_section_not_a_string_or_hash.txt
|
426
|
+
- test/fixtures/invalid/kit_filename_not_a_string.txt
|
391
427
|
- test/fixtures/invalid/sound_in_track_not_found.txt
|
428
|
+
- test/fixtures/invalid/flow_invalid_repeat_count_prefix.txt
|
392
429
|
- test/fixtures/invalid/sound_in_kit_not_found.txt
|
430
|
+
- test/fixtures/invalid/flow_negative_repeat_count.txt
|
431
|
+
- test/fixtures/invalid/flow_missing_repeat_count.txt
|
432
|
+
- test/fixtures/invalid/pattern_with_nil_track.txt
|
433
|
+
- test/fixtures/invalid/kit_not_an_array.txt
|
393
434
|
- test/fixtures/invalid/bad_swing_rate_1.txt
|
394
435
|
- test/fixtures/invalid/bad_tempo.txt
|
436
|
+
- test/fixtures/invalid/flow_pattern_name_not_a_string.txt
|
395
437
|
- test/fixtures/invalid/leading_bar_line.txt
|
438
|
+
- test/fixtures/invalid/flow_repeat_count_is_missing_prefix.txt
|
396
439
|
- test/fixtures/invalid/bad_rhythm.txt
|
397
440
|
- test/fixtures/invalid/kit_with_composite_non_existent_sound.txt
|
398
441
|
- test/fixtures/invalid/bad_swing_rate_2.txt
|
442
|
+
- test/fixtures/invalid/pattern_not_an_array.txt
|
443
|
+
- test/fixtures/invalid/pattern_referenced_pattern_name_not_a_string.txt
|
399
444
|
- test/fixtures/invalid/track_with_composite_nested_sounds.txt
|
400
445
|
- test/fixtures/invalid/sound_in_track_wrong_format.txt
|
401
446
|
- test/fixtures/invalid/pattern_with_no_tracks.txt
|
402
|
-
- test/fixtures/invalid/bad_flow.txt
|
403
447
|
- test/fixtures/invalid/no_flow.txt
|
404
448
|
- test/fixtures/invalid/kit_with_composite_empty_sound.txt
|
405
449
|
- test/fixtures/invalid/kit_with_composite_nested_sounds.txt
|
450
|
+
- test/fixtures/invalid/pattern_with_incomplete_track.txt
|
406
451
|
- test/fixtures/invalid/track_with_composite_non_existent_sound.txt
|
452
|
+
- test/fixtures/invalid/flow_invalid_repeat_count_suffix.txt
|
407
453
|
- test/fixtures/expected_output/example_split_mono_8-tom4_mono_8.wav
|
408
454
|
- test/fixtures/expected_output/example_split_mono_8-agogo.wav
|
409
455
|
- test/fixtures/expected_output/example_split_stereo_16-tom4_stereo_16.wav
|