diff --git a/bridge/bridge_test.go b/bridge/bridge_test.go index f37fd3c..a39694b 100644 --- a/bridge/bridge_test.go +++ b/bridge/bridge_test.go @@ -40,7 +40,7 @@ func TestOscillatSine(t *testing.T) { sointu.Unit{Type: "out", Parameters: map[string]int{"stereo": 1, "gain": 128}}, }}}} tracks := []sointu.Track{{NumVoices: 1, Sequence: []byte{0}, Patterns: [][]byte{{64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0}}}} - song := sointu.Song{BPM: 100, Tracks: tracks, Patch: patch, Output16Bit: false} + song := sointu.Song{BPM: 100, Tracks: tracks, Patch: patch} synth, err := bridge.Synth(patch) if err != nil { t.Fatalf("Compiling patch failed: %v", err) @@ -132,12 +132,7 @@ func TestAllRegressionTests(t *testing.T) { log.Fatal(err) } } - if song.Output16Bit { - int16Buffer := convertToInt16Buffer(buffer) - compareToRawInt16(t, int16Buffer, testname+".raw") - } else { - compareToRawFloat32(t, buffer, testname+".raw") - } + compareToRawFloat32(t, buffer, testname+".raw") }) } } diff --git a/cmd/sointu-compile/main.go b/cmd/sointu-compile/main.go index 46ca806..fe547fe 100644 --- a/cmd/sointu-compile/main.go +++ b/cmd/sointu-compile/main.go @@ -37,9 +37,10 @@ func main() { jsonOut := flag.Bool("j", false, "Output the song as .json file instead of compiling.") yamlOut := flag.Bool("y", false, "Output the song as .yml file instead of compiling.") tmplDir := flag.String("t", "", "When compiling, use the templates in this directory instead of the standard templates.") - directory := flag.String("o", "", "Directory where to output all files. The directory and its parents are created if needed. By default, everything is placed in the same directory where the original song file is.") + outPath := flag.String("o", "", "Directory or filename where to write compiled code. Extension is ignored. Directory and its parents are created if needed. By default, everything is placed in the same directory where the original song file is.") extensionsOut := flag.String("e", "", "Output only the compiled files with these comma separated extensions. For example: h,asm") targetArch := flag.String("arch", runtime.GOARCH, "Target architecture. Defaults to OS architecture. Possible values: 386, amd64") + output16bit := flag.Bool("i", false, "Compiled song should output 16-bit integers, instead of floats.") targetOs := flag.String("os", runtime.GOOS, "Target OS. Defaults to current OS. Possible values: windows, darwin, linux. Anything else is assumed linuxy.") flag.Usage = printUsage flag.Parse() @@ -52,9 +53,9 @@ func main() { if compile || *library { var err error if *tmplDir != "" { - comp, err = compiler.NewFromTemplates(*targetOs, *targetArch, *tmplDir) + comp, err = compiler.NewFromTemplates(*targetOs, *targetArch, *output16bit, *tmplDir) } else { - comp, err = compiler.New(*targetOs, *targetArch) + comp, err = compiler.New(*targetOs, *targetArch, *output16bit) } if err != nil { fmt.Fprintf(os.Stderr, `error creating compiler: %v`, err) @@ -67,8 +68,19 @@ func main() { return nil } dir, name := filepath.Split(filename) - if *directory != "" { - dir = *directory + if *outPath != "" { + // check if it's an already existing directory and the user just forgot trailing slash + if info, err := os.Stat(*outPath); err == nil && info.IsDir() { + dir = *outPath + } else { + outdir, outname := filepath.Split(*outPath) + if outdir != "" { + dir = outdir + } + if outname != "" { + name = outname + } + } } name = strings.TrimSuffix(name, filepath.Ext(name)) + extension f := filepath.Join(dir, name) diff --git a/compiler/compiler.go b/compiler/compiler.go index 094c6f7..ac30db9 100644 --- a/compiler/compiler.go +++ b/compiler/compiler.go @@ -13,13 +13,14 @@ import ( ) type Compiler struct { - Template *template.Template - OS string - Arch string + Template *template.Template + OS string + Arch string + Output16Bit bool } // New returns a new compiler using the default .asm templates -func New(os string, arch string) (*Compiler, error) { +func New(os string, arch string, output16Bit bool) (*Compiler, error) { _, myname, _, _ := runtime.Caller(0) var subdir string if arch == "386" || arch == "amd64" { @@ -30,17 +31,17 @@ func New(os string, arch string) (*Compiler, error) { return nil, fmt.Errorf("compiler.New failed, because only amd64, 386 and wasm archs are supported (targeted architecture was %v)", arch) } templateDir := filepath.Join(path.Dir(myname), "..", "templates", subdir) - compiler, err := NewFromTemplates(os, arch, templateDir) + compiler, err := NewFromTemplates(os, arch, output16Bit, templateDir) return compiler, err } -func NewFromTemplates(os string, arch string, templateDirectory string) (*Compiler, error) { +func NewFromTemplates(os string, arch string, output16Bit bool, templateDirectory string) (*Compiler, error) { globPtrn := filepath.Join(templateDirectory, "*.*") tmpl, err := template.New("base").Funcs(sprig.TxtFuncMap()).ParseGlob(globPtrn) if err != nil { return nil, fmt.Errorf(`could not create template based on directory "%v": %v`, templateDirectory, err) } - return &Compiler{Template: tmpl, OS: os, Arch: arch}, nil + return &Compiler{Template: tmpl, OS: os, Arch: arch, Output16Bit: output16Bit}, nil } func (com *Compiler) Library() (map[string]string, error) { diff --git a/sointu.go b/sointu.go index 53ecf2c..ed2c702 100644 --- a/sointu.go +++ b/sointu.go @@ -212,10 +212,9 @@ var UnitTypes = map[string]([]UnitParameter){ } type Song struct { - BPM int - Output16Bit bool - Tracks []Track - Patch Patch + BPM int + Tracks []Track + Patch Patch } func (s *Song) PatternRows() int { diff --git a/templates/amd64-386/output_sound.asm b/templates/amd64-386/output_sound.asm index ecfee0c..4306c0f 100644 --- a/templates/amd64-386/output_sound.asm +++ b/templates/amd64-386/output_sound.asm @@ -1,4 +1,4 @@ -{{- if not .Song.Output16Bit }} +{{- if not .Output16Bit }} {{- if not .Clip }} mov {{.DI}}, [{{.Stack "OutputBufPtr"}}] ; edi containts ptr mov {{.SI}}, {{.PTRWORD}} su_synth_obj + su_synthworkspace.left diff --git a/templates/amd64-386/player.h b/templates/amd64-386/player.h index ff50133..5811671 100644 --- a/templates/amd64-386/player.h +++ b/templates/amd64-386/player.h @@ -23,7 +23,7 @@ #define SU_CALLCONV #endif -{{- if .Song.Output16Bit}} +{{- if .Output16Bit}} typedef short SUsample; #define SU_SAMPLE_RANGE 32767.0 {{- else}} diff --git a/templates/wasm/output_sound.wat b/templates/wasm/output_sound.wat index 9e29b30..028e13a 100644 --- a/templates/wasm/output_sound.wat +++ b/templates/wasm/output_sound.wat @@ -1,4 +1,4 @@ -{{- if not .Song.Output16Bit }} +{{- if not .Output16Bit }} (i64.store (global.get $outputBufPtr) (i64.load (i32.const 4128))) ;; load the sample from left & right channels as one 64bit int and store it in the address pointed by outputBufPtr (global.set $outputBufPtr (i32.add (global.get $outputBufPtr) (i32.const 8))) ;; advance outputbufptr {{- else }} diff --git a/templates/wasm/player.wat b/templates/wasm/player.wat index 4f69059..acc41b3 100644 --- a/templates/wasm/player.wat +++ b/templates/wasm/player.wat @@ -111,8 +111,8 @@ ;; TODO: only export start and length with certain compiler options; in demo use, they can be hard coded ;; in the intro (global $outputStart (export "s") i32 (i32.const 8388608)) ;; TODO: do not hard code, layout memory somehow intelligently -(global $outputLength (export "l") i32 (i32.const {{if .Song.Output16Bit}}{{mul .EncodedSong.TotalRows .Song.SamplesPerRow 4}}{{else}}{{mul .EncodedSong.TotalRows .Song.SamplesPerRow 8}}{{end}})) -(global $output16bit (export "t") i32 (i32.const {{if .Song.Output16Bit}}1{{else}}0{{end}})) +(global $outputLength (export "l") i32 (i32.const {{if .Output16Bit}}{{mul .EncodedSong.TotalRows .Song.SamplesPerRow 4}}{{else}}{{mul .EncodedSong.TotalRows .Song.SamplesPerRow 8}}{{end}})) +(global $output16bit (export "t") i32 (i32.const {{if .Output16Bit}}1{{else}}0{{end}})) ;;------------------------------------------------------------------------------ @@ -155,7 +155,7 @@ (start $render) ;; we run render automagically when the module is instantiated (func $render (param) -{{- if .Song.Output16Bit }} (local $channel i32) {{- end }} +{{- if .Output16Bit }} (local $channel i32) {{- end }} loop $pattern_loop (global.set $row (i32.const 0)) loop $row_loop diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 11752f7..e9b2b70 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,13 +1,18 @@ function(regression_test testname) - if(${ARGC} LESS 4) - set(source ${testname}.yml) + if(${ARGC} LESS 6) + if(${ARGC} LESS 4) + set(source ${testname}.yml) + else() + set(source ${ARGV3}.yml) + endif() + set(asmfile ${testname}.asm) set (headerfile ${CMAKE_CURRENT_BINARY_DIR}/${testname}.h) add_custom_command( OUTPUT ${asmfile} - COMMAND ${compilecmd} -arch=${arch} -o ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${source} + COMMAND ${compilecmd} ${ARGV4} -arch=${arch} -o ${CMAKE_CURRENT_BINARY_DIR}/${asmfile} ${CMAKE_CURRENT_SOURCE_DIR}/${source} DEPENDS ${source} ${x86templates} sointu-compiler ) @@ -19,14 +24,14 @@ function(regression_test testname) set(watfile ${CMAKE_CURRENT_BINARY_DIR}/${testname}.wat) set(wasmtarget wasm_${testname}) add_custom_target(${wasmtarget} ALL - COMMAND ${compilecmd} -arch=wasm -o ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${source} && ${WAT2WASM} --enable-bulk-memory -o ${wasmfile} ${watfile} + COMMAND ${compilecmd} -arch=wasm -o ${CMAKE_CURRENT_BINARY_DIR}/ ${CMAKE_CURRENT_SOURCE_DIR}/${source} && ${WAT2WASM} --enable-bulk-memory -o ${wasmfile} ${watfile} SOURCES "${source}" "${wasmtemplates}" DEPENDS sointu-compiler ) add_test(${wasmtarget} ${NODE} ${CMAKE_CURRENT_SOURCE_DIR}/wasm_test_renderer.es6 ${wasmfile} ${CMAKE_CURRENT_SOURCE_DIR}/expected_output/${testname}.raw) endif() else() - set(source ${ARGV3}) + set(source ${ARGV5}) add_executable(${testname} ${source} test_renderer.c) endif() @@ -155,13 +160,13 @@ regression_test(test_delay_drymod "ENVELOPE;FOP_MULP;PANNING;VCO_SINE;SEND") regression_test(test_delay_flanger "ENVELOPE;FOP_MULP;PANNING;VCO_SINE;SEND") regression_test(test_envelope_mod "VCO_SINE;ENVELOPE;SEND") -regression_test(test_envelope_16bit ENVELOPE) +regression_test(test_envelope_16bit ENVELOPE "" test_envelope "-i") regression_test(test_polyphony "ENVELOPE;VCO_SINE") regression_test(test_chords "ENVELOPE;VCO_SINE") regression_test(test_speed "ENVELOPE;VCO_SINE") -regression_test(test_render_samples ENVELOPE "" test_render_samples.c) +regression_test(test_render_samples ENVELOPE "" "" "" test_render_samples.c) target_link_libraries(test_render_samples ${STATICLIB}) target_compile_definitions(test_render_samples PUBLIC TEST_HEADER="test_render_samples.h") diff --git a/tests/test_add.yml b/tests/test_add.yml index c84280b..3d5f264 100644 --- a/tests/test_add.yml +++ b/tests/test_add.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_add_stereo.yml b/tests/test_add_stereo.yml index f14aa22..61b144e 100644 --- a/tests/test_add_stereo.yml +++ b/tests/test_add_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_addp.yml b/tests/test_addp.yml index 9835cd7..16cc459 100644 --- a/tests/test_addp.yml +++ b/tests/test_addp.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_addp_stereo.yml b/tests/test_addp_stereo.yml index 6bcb20b..b38a4d1 100644 --- a/tests/test_addp_stereo.yml +++ b/tests/test_addp_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_aux.yml b/tests/test_aux.yml index 6729659..3f9749f 100644 --- a/tests/test_aux.yml +++ b/tests/test_aux.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_aux_stereo.yml b/tests/test_aux_stereo.yml index 8deaba2..5bb5470 100644 --- a/tests/test_aux_stereo.yml +++ b/tests/test_aux_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_chords.yml b/tests/test_chords.yml index 4b652ed..e3b794b 100644 --- a/tests/test_chords.yml +++ b/tests/test_chords.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_clip.yml b/tests/test_clip.yml index fb112e6..3dc2df2 100644 --- a/tests/test_clip.yml +++ b/tests/test_clip.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_clip_stereo.yml b/tests/test_clip_stereo.yml index 20c63ac..2542364 100644 --- a/tests/test_clip_stereo.yml +++ b/tests/test_clip_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_compressor.yml b/tests/test_compressor.yml index 3147c1e..ec3351a 100644 --- a/tests/test_compressor.yml +++ b/tests/test_compressor.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_compressor_stereo.yml b/tests/test_compressor_stereo.yml index 6810f9e..fd377d5 100644 --- a/tests/test_compressor_stereo.yml +++ b/tests/test_compressor_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_crush.yml b/tests/test_crush.yml index be84df4..5f1a18f 100644 --- a/tests/test_crush.yml +++ b/tests/test_crush.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_crush_stereo.yml b/tests/test_crush_stereo.yml index 06d6bad..6ec3e4e 100644 --- a/tests/test_crush_stereo.yml +++ b/tests/test_crush_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay.yml b/tests/test_delay.yml index dfefffc..c0ad7d9 100644 --- a/tests/test_delay.yml +++ b/tests/test_delay.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_dampmod.yml b/tests/test_delay_dampmod.yml index 4ac66ea..e4144e4 100644 --- a/tests/test_delay_dampmod.yml +++ b/tests/test_delay_dampmod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_drymod.yml b/tests/test_delay_drymod.yml index 5298f41..13c42c2 100644 --- a/tests/test_delay_drymod.yml +++ b/tests/test_delay_drymod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_feedbackmod.yml b/tests/test_delay_feedbackmod.yml index 41db5c8..5e63bfe 100644 --- a/tests/test_delay_feedbackmod.yml +++ b/tests/test_delay_feedbackmod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_flanger.yml b/tests/test_delay_flanger.yml index e80f389..4711808 100644 --- a/tests/test_delay_flanger.yml +++ b/tests/test_delay_flanger.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_notetracking.yml b/tests/test_delay_notetracking.yml index b4e5cae..9e3146e 100644 --- a/tests/test_delay_notetracking.yml +++ b/tests/test_delay_notetracking.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_pregainmod.yml b/tests/test_delay_pregainmod.yml index 265b172..fd21177 100644 --- a/tests/test_delay_pregainmod.yml +++ b/tests/test_delay_pregainmod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_reverb.yml b/tests/test_delay_reverb.yml index 50d20d3..4aa2df7 100644 --- a/tests/test_delay_reverb.yml +++ b/tests/test_delay_reverb.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_delay_stereo.yml b/tests/test_delay_stereo.yml index d2fab1a..a40d95d 100644 --- a/tests/test_delay_stereo.yml +++ b/tests/test_delay_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_distort.yml b/tests/test_distort.yml index a88da36..783b4cb 100644 --- a/tests/test_distort.yml +++ b/tests/test_distort.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_distort_mod.yml b/tests/test_distort_mod.yml index 6ce8fc6..5971be5 100644 --- a/tests/test_distort_mod.yml +++ b/tests/test_distort_mod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_distort_stereo.yml b/tests/test_distort_stereo.yml index 4f45ae6..33320b7 100644 --- a/tests/test_distort_stereo.yml +++ b/tests/test_distort_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_envelope.yml b/tests/test_envelope.yml index ffba934..47eee6a 100644 --- a/tests/test_envelope.yml +++ b/tests/test_envelope.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_envelope_16bit.yml b/tests/test_envelope_16bit.yml deleted file mode 100644 index b91a43a..0000000 --- a/tests/test_envelope_16bit.yml +++ /dev/null @@ -1,16 +0,0 @@ -bpm: 100 -output16bit: true -tracks: - - numvoices: 1 - sequence: [0] - patterns: [[64, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]] -patch: - instruments: - - numvoices: 1 - units: - - type: envelope - parameters: {attack: 64, decay: 64, gain: 128, release: 80, stereo: 0, sustain: 64} - - type: envelope - parameters: {attack: 95, decay: 64, gain: 128, release: 80, stereo: 0, sustain: 64} - - type: out - parameters: {gain: 128, stereo: 1} diff --git a/tests/test_envelope_mod.yml b/tests/test_envelope_mod.yml index cdc5add..3d2250b 100644 --- a/tests/test_envelope_mod.yml +++ b/tests/test_envelope_mod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_envelope_stereo.yml b/tests/test_envelope_stereo.yml index bf4a166..6ae333f 100644 --- a/tests/test_envelope_stereo.yml +++ b/tests/test_envelope_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_filter_band.yml b/tests/test_filter_band.yml index 7a1fe8d..39ee2b4 100644 --- a/tests/test_filter_band.yml +++ b/tests/test_filter_band.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_filter_freqmod.yml b/tests/test_filter_freqmod.yml index 1922c5a..469410c 100644 --- a/tests/test_filter_freqmod.yml +++ b/tests/test_filter_freqmod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_filter_high.yml b/tests/test_filter_high.yml index 21094bd..9e965d7 100644 --- a/tests/test_filter_high.yml +++ b/tests/test_filter_high.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_filter_low.yml b/tests/test_filter_low.yml index d9ca3bb..d697851 100644 --- a/tests/test_filter_low.yml +++ b/tests/test_filter_low.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_filter_peak.yml b/tests/test_filter_peak.yml index d2be441..c3f8b7d 100644 --- a/tests/test_filter_peak.yml +++ b/tests/test_filter_peak.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_filter_resmod.yml b/tests/test_filter_resmod.yml index d094266..69b54bc 100644 --- a/tests/test_filter_resmod.yml +++ b/tests/test_filter_resmod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_filter_stereo.yml b/tests/test_filter_stereo.yml index d6f3994..4e353b2 100644 --- a/tests/test_filter_stereo.yml +++ b/tests/test_filter_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_gain.yml b/tests/test_gain.yml index b8e90d3..33e4a89 100644 --- a/tests/test_gain.yml +++ b/tests/test_gain.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_gain_stereo.yml b/tests/test_gain_stereo.yml index edde8df..c00c2f5 100644 --- a/tests/test_gain_stereo.yml +++ b/tests/test_gain_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_hold.yml b/tests/test_hold.yml index 96053c4..00d3fcb 100644 --- a/tests/test_hold.yml +++ b/tests/test_hold.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_hold_mod.yml b/tests/test_hold_mod.yml index db17751..6c0641c 100644 --- a/tests/test_hold_mod.yml +++ b/tests/test_hold_mod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_hold_stereo.yml b/tests/test_hold_stereo.yml index b5b8c1d..274e3b6 100644 --- a/tests/test_hold_stereo.yml +++ b/tests/test_hold_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_in.yml b/tests/test_in.yml index 532b2ff..b77fe0e 100644 --- a/tests/test_in.yml +++ b/tests/test_in.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_in_stereo.yml b/tests/test_in_stereo.yml index 6c1e551..0b8ffbe 100644 --- a/tests/test_in_stereo.yml +++ b/tests/test_in_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_invgain.yml b/tests/test_invgain.yml index 72a0a78..629a065 100644 --- a/tests/test_invgain.yml +++ b/tests/test_invgain.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_invgain_stereo.yml b/tests/test_invgain_stereo.yml index b94ae67..554faf6 100644 --- a/tests/test_invgain_stereo.yml +++ b/tests/test_invgain_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_loadnote.yml b/tests/test_loadnote.yml index ebd634c..0497f9d 100644 --- a/tests/test_loadnote.yml +++ b/tests/test_loadnote.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_loadnote_stereo.yml b/tests/test_loadnote_stereo.yml index 32c250c..25fcec0 100644 --- a/tests/test_loadnote_stereo.yml +++ b/tests/test_loadnote_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_loadval.yml b/tests/test_loadval.yml index 75cfa36..e30c3fb 100644 --- a/tests/test_loadval.yml +++ b/tests/test_loadval.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_loadval_stereo.yml b/tests/test_loadval_stereo.yml index d98fd8f..a27d3e4 100644 --- a/tests/test_loadval_stereo.yml +++ b/tests/test_loadval_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_mul.yml b/tests/test_mul.yml index 2b44054..ad104d9 100644 --- a/tests/test_mul.yml +++ b/tests/test_mul.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_mul_stereo.yml b/tests/test_mul_stereo.yml index ec851e7..3ade7f2 100644 --- a/tests/test_mul_stereo.yml +++ b/tests/test_mul_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_mulp.yml b/tests/test_mulp.yml index 031c973..5960d9b 100644 --- a/tests/test_mulp.yml +++ b/tests/test_mulp.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_mulp_stereo.yml b/tests/test_mulp_stereo.yml index 541a690..9689083 100644 --- a/tests/test_mulp_stereo.yml +++ b/tests/test_mulp_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_multiple_instruments.yml b/tests/test_multiple_instruments.yml index b2acaf3..c3e26e7 100644 --- a/tests/test_multiple_instruments.yml +++ b/tests/test_multiple_instruments.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_noise.yml b/tests/test_noise.yml index 3f036e9..833471a 100644 --- a/tests/test_noise.yml +++ b/tests/test_noise.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_noise_stereo.yml b/tests/test_noise_stereo.yml index 72e39e6..bdcf6a6 100644 --- a/tests/test_noise_stereo.yml +++ b/tests/test_noise_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_colormod.yml b/tests/test_oscillat_colormod.yml index bcc0e76..2e28013 100644 --- a/tests/test_oscillat_colormod.yml +++ b/tests/test_oscillat_colormod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_detunemod.yml b/tests/test_oscillat_detunemod.yml index 6dae6c7..24aa841 100644 --- a/tests/test_oscillat_detunemod.yml +++ b/tests/test_oscillat_detunemod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_gainmod.yml b/tests/test_oscillat_gainmod.yml index 95cb30a..7dbdeab 100644 --- a/tests/test_oscillat_gainmod.yml +++ b/tests/test_oscillat_gainmod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_gate.yml b/tests/test_oscillat_gate.yml index 24e644d..fd3f89e 100644 --- a/tests/test_oscillat_gate.yml +++ b/tests/test_oscillat_gate.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_lfo.yml b/tests/test_oscillat_lfo.yml index a62aadc..494527b 100644 --- a/tests/test_oscillat_lfo.yml +++ b/tests/test_oscillat_lfo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_phasemod.yml b/tests/test_oscillat_phasemod.yml index fecadec..6d99ae0 100644 --- a/tests/test_oscillat_phasemod.yml +++ b/tests/test_oscillat_phasemod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_pulse.yml b/tests/test_oscillat_pulse.yml index 9362385..95333f6 100644 --- a/tests/test_oscillat_pulse.yml +++ b/tests/test_oscillat_pulse.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_sample.yml b/tests/test_oscillat_sample.yml index e883650..f5cb00b 100644 --- a/tests/test_oscillat_sample.yml +++ b/tests/test_oscillat_sample.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [1, 0, 2, 0, 3, 0, 4, 0] diff --git a/tests/test_oscillat_sample_stereo.yml b/tests/test_oscillat_sample_stereo.yml index df71f0d..faac4cc 100644 --- a/tests/test_oscillat_sample_stereo.yml +++ b/tests/test_oscillat_sample_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [1, 0, 2, 0, 3, 0, 4, 0] diff --git a/tests/test_oscillat_shapemod.yml b/tests/test_oscillat_shapemod.yml index f6e420a..108f3df 100644 --- a/tests/test_oscillat_shapemod.yml +++ b/tests/test_oscillat_shapemod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_sine.yml b/tests/test_oscillat_sine.yml index 97b0466..35e566f 100644 --- a/tests/test_oscillat_sine.yml +++ b/tests/test_oscillat_sine.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_stereo.yml b/tests/test_oscillat_stereo.yml index 55d60e0..ff53466 100644 --- a/tests/test_oscillat_stereo.yml +++ b/tests/test_oscillat_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_transposemod.yml b/tests/test_oscillat_transposemod.yml index 9ac55ac..da4e07c 100644 --- a/tests/test_oscillat_transposemod.yml +++ b/tests/test_oscillat_transposemod.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_trisaw.yml b/tests/test_oscillat_trisaw.yml index 48e46d3..7bcd1f4 100644 --- a/tests/test_oscillat_trisaw.yml +++ b/tests/test_oscillat_trisaw.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_unison.yml b/tests/test_oscillat_unison.yml index 191ee09..f28a39e 100644 --- a/tests/test_oscillat_unison.yml +++ b/tests/test_oscillat_unison.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_oscillat_unison_stereo.yml b/tests/test_oscillat_unison_stereo.yml index 00c6571..4c00681 100644 --- a/tests/test_oscillat_unison_stereo.yml +++ b/tests/test_oscillat_unison_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_outaux.yml b/tests/test_outaux.yml index ae8a116..dc1c980 100644 --- a/tests/test_outaux.yml +++ b/tests/test_outaux.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_outaux_stereo.yml b/tests/test_outaux_stereo.yml index b12fbd5..0cd549b 100644 --- a/tests/test_outaux_stereo.yml +++ b/tests/test_outaux_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_panning.yml b/tests/test_panning.yml index d118e06..ffa044e 100644 --- a/tests/test_panning.yml +++ b/tests/test_panning.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_panning_stereo.yml b/tests/test_panning_stereo.yml index 7abb598..1cf6041 100644 --- a/tests/test_panning_stereo.yml +++ b/tests/test_panning_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_polyphony.yml b/tests/test_polyphony.yml index 5b7df7e..f7a375e 100644 --- a/tests/test_polyphony.yml +++ b/tests/test_polyphony.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 2 sequence: [0] diff --git a/tests/test_pop.yml b/tests/test_pop.yml index a9cd3de..fc8ca5e 100644 --- a/tests/test_pop.yml +++ b/tests/test_pop.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_pop_stereo.yml b/tests/test_pop_stereo.yml index b3a490c..343c51f 100644 --- a/tests/test_pop_stereo.yml +++ b/tests/test_pop_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_push.yml b/tests/test_push.yml index a52d6ef..6d7cba9 100644 --- a/tests/test_push.yml +++ b/tests/test_push.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_push_stereo.yml b/tests/test_push_stereo.yml index ad729a7..9e7198f 100644 --- a/tests/test_push_stereo.yml +++ b/tests/test_push_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_receive.yml b/tests/test_receive.yml index 6ddb9b2..a65bd95 100644 --- a/tests/test_receive.yml +++ b/tests/test_receive.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_receive_stereo.yml b/tests/test_receive_stereo.yml index 5c22d55..f84b3c9 100644 --- a/tests/test_receive_stereo.yml +++ b/tests/test_receive_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_send.yml b/tests/test_send.yml index 21f93d3..f52880b 100644 --- a/tests/test_send.yml +++ b/tests/test_send.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_send_global.yml b/tests/test_send_global.yml index bf129b7..f0fedb1 100644 --- a/tests/test_send_global.yml +++ b/tests/test_send_global.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_send_stereo.yml b/tests/test_send_stereo.yml index ed3bd7d..cf0a9cf 100644 --- a/tests/test_send_stereo.yml +++ b/tests/test_send_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_speed.yml b/tests/test_speed.yml index 8c03a4e..09ba207 100644 --- a/tests/test_speed.yml +++ b/tests/test_speed.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0, 0] diff --git a/tests/test_xch.yml b/tests/test_xch.yml index 1c30828..ed84837 100644 --- a/tests/test_xch.yml +++ b/tests/test_xch.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0] diff --git a/tests/test_xch_stereo.yml b/tests/test_xch_stereo.yml index 637cd36..6b6ff07 100644 --- a/tests/test_xch_stereo.yml +++ b/tests/test_xch_stereo.yml @@ -1,5 +1,4 @@ bpm: 100 -output16bit: false tracks: - numvoices: 1 sequence: [0]