Commit Graph

  • e1e8d8cae3 refactor(asm): Remove unused MAX_SAMPLES macro Veikko Sariola 2020-12-05 23:19:59 +02:00
  • 50ca02442d feat(bridge): Return sensible error messages from bridge and test that patches that should fail actually do. Veikko Sariola 2020-12-05 21:55:49 +02:00
  • cd95c5ae37 fix(libsointu): Return error as soon as possible, exiting the rendering loop immediately on error. Veikko Sariola 2020-12-05 20:53:22 +02:00
  • 7bb60de74e feat(libsointu): make su_render return some error codes, typically due to FPU stack errors. Veikko Sariola 2020-12-05 16:41:07 +02:00
  • 83937bb2ee fix(sointulib): Reset the FPU on each call to render, seems to take away the undeterministic behaviour. Veikko Sariola 2020-12-05 14:21:53 +02:00
  • e7ae775842 refactor(test_renderer): Allocate buffers statically instead of dynamically, so the tests are closer how Sointu will be eventually used. Veikko Sariola 2020-12-05 01:06:04 +02:00
  • 06cb4c521c refactor(asm): Remove introspection.inc, it is not needed anymore. Veikko Sariola 2020-12-05 00:39:53 +02:00
  • 6b67d6b544 feat(CI): Fix alsa.pc not found on ubuntu-latest. Veikko Sariola 2020-12-05 00:10:18 +02:00
  • d19d513ea8 feat(sointu-cli): Merge the asmfmt and sointuplayer to generic command line utility for processing song files. Veikko Sariola 2020-12-05 00:01:24 +02:00
  • 726e79809d feat(sointu-player): If json parsing fails, try parsing it as .asm song. Veikko Sariola 2020-12-04 00:11:35 +02:00
  • efbcf1454e feat(go4k&sointu): Export .h C header files from the songs using go, also automatically during build for the tests. Veikko Sariola 2020-12-03 23:43:39 +02:00
  • a1e7e82d6d refactor(song): Remove song length from Song and assume the user knows MAX_SAMPLES Veikko Sariola 2020-11-29 22:12:29 +02:00
  • e2c6d4b70c
    fix(CI): Cgo linker flags stopped working. Veikko Sariola 2020-11-20 22:54:33 +02:00
  • 95c8c9c2b7 refactor(go4k): Remove all special treatment from samples and map Song 1-1 to what's in the .asm file. Veikko Sariola 2020-11-20 22:21:21 +02:00
  • f076409eb1 Update CHANGELOG.md Veikko Sariola 2020-11-17 00:12:10 +02:00
  • 725f2096fe Commit go.sum to repository. Veikko Sariola 2020-11-16 23:59:30 +02:00
  • 335d2af05b feat(asm&CI): Add support for macho-formats to header.inc and run tests also on MacOS. Veikko Sariola 2020-11-16 23:59:13 +02:00
  • bca34febcb feat(CI): Also run tests on win64. Veikko Sariola 2020-11-12 20:18:55 +02:00
  • 6d883f43ab fix(test_renderer): Add include <string.h> as linux builds were giving warnings for implicit declaration of memset. Veikko Sariola 2020-11-12 19:50:59 +02:00
  • 1b1dabafb8 fix(asm): Change the scaling to 29 in the speed unti (29 increments = double speed). Veikko Sariola 2020-11-12 19:46:37 +02:00
  • c39f434c6b feat(CI&go4k): Run go tests in cloud, skipping sample tests if on another platform than Windows. Veikko Sariola 2020-11-12 13:29:30 +02:00
  • a799ee2b6d
    Update README.md: add Tests/Passing badge. Veikko Sariola 2020-11-12 13:05:05 +02:00
  • 68f97d301d feat(CI): Run ctests in the cloud during push. Veikko Sariola 2020-11-12 12:59:14 +02:00
  • cf6a5f6c0d fix(libsointu): Do not include samples at all when building on other than windows. Veikko Sariola 2020-11-12 12:58:50 +02:00
  • f7017892a5 refactor(asm&go4k): Remove special treatment from stereo parameters; it's now just one parameter in the Unit map. Veikko Sariola 2020-11-10 20:45:41 +02:00
  • 01c39ffc15 format(tests): Autoformat all tests using the new asmfmt command. Veikko Sariola 2020-11-10 20:08:13 +02:00
  • 90bb1aa61f feat(cmd/asmfmt): Implement a command line utility to import and re-export a song, effectively formatting it always identically. Veikko Sariola 2020-11-10 20:05:16 +02:00
  • 377132321f feat(go4k): Implement .asm exporting. Veikko Sariola 2020-11-10 20:05:03 +02:00
  • 5ceab766cc refactor(asm&go4k): Remove double SU_SEND macros, voice(0) corresponding to local send and voice(n) corresponding to global. Veikko Sariola 2020-11-10 00:53:06 +02:00
  • 1c0ac08450 refactor(asm&go4k): Rename OSCILLAT and COMPRES macros to OSCILLATOR and COMPRESS. Veikko Sariola 2020-11-10 00:29:35 +02:00
  • 788b3721fd Add missing sendpop to UnitTypes. Veikko Sariola 2020-11-10 00:20:57 +02:00
  • ae334a5dfe refactor(asm&go4k): Remove FLAGS from all units; they were the source of difficulty in parsing and fragile. Veikko Sariola 2020-11-10 00:18:56 +02:00
  • e36aea59a5 feat(go4k): Algorithm to construct small delay times tables by abusing overlapping of different delay times. Veikko Sariola 2020-11-09 22:29:10 +02:00
  • c153239710 feat(go4k): Document all the UnitTypes in a 'constant' table. Tells what parameters each unit takes. Veikko Sariola 2020-11-08 20:49:38 +02:00
  • bcbb5aaf19 feat: Delays and samples are now working through the bridge. Veikko Sariola 2020-11-08 16:03:10 +02:00
  • e65b08d2b3 fix(tracker): Change the "flags" parameter to "type", because this is what the bridge nowadays expects. Veikko Sariola 2020-11-08 14:19:54 +02:00
  • 05899fc185 Merge branch 'draft/go-tracker' Veikko Sariola 2020-11-08 14:15:29 +02:00
  • d5886c0920 Change unison to be in the range of 0 - 3. Veikko Sariola 2020-11-08 10:17:43 +02:00
  • b1ac141ea5 fix(tracker/sequencer): add a way to exit the sequencer loop Matias Lahti 2020-11-08 04:27:52 +02:00
  • d30388a09a fix(tracker): fix invalid println Matias Lahti 2020-11-08 04:22:00 +02:00
  • 5e45e4f1f4 feat(tracker): hook up audio to tracker, we have liftoff Matias Lahti 2020-11-08 04:17:21 +02:00
  • 175bbb7743 fix(tracker/track): re-enable clipping of tracks Matias Lahti 2020-11-08 02:48:52 +02:00
  • 7a434f69fd fix(go/audio): fix audio.Player interface to have erroring Close() Matias Lahti 2020-11-08 02:41:42 +02:00
  • 9b6249a1a7 feat(tracker): implement basic tracker keys Matias Lahti 2020-11-08 02:36:24 +02:00
  • 77949bdc17 feat(tracker): implement basic track display Matias Lahti 2020-11-08 02:24:27 +02:00
  • 90c3536f3e feat(tracker): implement some basic styled ui building blocks Matias Lahti 2020-11-08 01:20:53 +02:00
  • 910bf42da9
    Update README.md Veikko Sariola 2020-11-07 21:31:24 +02:00
  • 9209aa1cba Implement .asm parsing in go4k, and run succesfully almost all tests/ through the bridge. Veikko Sariola 2020-11-07 19:50:44 +02:00
  • 64fe28a240 feat(tracker): create initial tracker skeleton using Gio Matias Lahti 2020-11-07 19:50:37 +02:00
  • 5eb7cef889 style(go/audio/oto): change error messages to be consistent Matias Lahti 2020-11-07 19:38:58 +02:00
  • 6e141f36c7 fix(go/audio/oto): clean up forgotten debug prints Matias Lahti 2020-11-07 19:37:33 +02:00
  • 551a7cb6c0 feat(sointu-player): implement a basic commandline tool to play songs Matias Lahti 2020-11-07 19:34:46 +02:00
  • fa772ddd77 feat(go/audio): implement basic audio output with oto Matias Lahti 2020-11-07 19:22:59 +02:00
  • 41ce5d1efe Merge remote-tracking branch 'upstream/master' into draft/go-tracker Matias Lahti 2020-11-07 17:27:11 +02:00
  • f584138572 Remove expressions from parameters, so the future .asm parser does not need expression evaluator. Veikko Sariola 2020-11-04 23:31:08 +02:00
  • df83001a64 Change delay macros to use FLAGS(NOTETRACKING) and FLAGS(NONE) Veikko Sariola 2020-11-04 23:29:16 +02:00
  • d99cfd92d9 Change LOCALPORT and GLOBALPORT macros so that SU_SEND commands are easier to parse. Veikko Sariola 2020-11-04 23:11:51 +02:00
  • 4eaa54ecee
    Update LICENSE: Fix whitespace. Veikko Sariola 2020-11-02 23:14:01 +02:00
  • ccb6434fac Implement compile definition RUNTIME_TABLES, which enables putting the pointers to delay and sample tables to stack. Veikko Sariola 2020-11-02 23:05:12 +02:00
  • c7c752cd73 Change the stack rewind in the end of render to be slightly less fragile, anticipating putting more stuff in the stack. Veikko Sariola 2020-11-02 22:52:48 +02:00
  • b94bb79366
    Update README.md Veikko Sariola 2020-11-02 22:43:15 +02:00
  • dc88b885e9 Fix warnings when built using nasm. Veikko Sariola 2020-11-02 22:31:22 +02:00
  • eb37d8123d Change include path in CMake file to point to include/ instead of include/sointu/ Veikko Sariola 2020-11-02 21:37:22 +02:00
  • 9544a130ab feat(song): add basic JSON marshaling/unmarshaling tests to make sure everything gets marshalled properly Matias Lahti 2020-11-02 16:36:54 +02:00
  • e0a793ea6d Reorganize the project folder structure and how go packages are organized. Veikko Sariola 2020-10-30 22:05:26 +02:00
  • 23e8bc0c5f Remove bridge.newSynthState & add 1 to RandSeed during Render calls, so now an empty struct corresponds to the Sointu default behavior. Veikko Sariola 2020-10-28 20:03:21 +02:00
  • 8183c698da Separate Synth and SynthState: SynthState is the part that Render changes. Veikko Sariola 2020-10-28 13:44:34 +02:00
  • 64afa9fb48 Change the C-API to roughly match the new Go-API. Veikko Sariola 2020-10-27 20:15:06 +02:00
  • 5f4b85b0a4 Change the Go API to have two versions: Render(buffer []float32), which always fill the whole buffer, and RenderTime(buffer []float32,int maxtime), which ends either when the buffer is full, or modulated time is reached. Veikko Sariola 2020-10-27 17:26:08 +02:00
  • 7a9ac3489b Add polyphonism support to bridge.go Veikko Sariola 2020-10-26 12:47:22 +02:00
  • 1d07b4f192 Change the .asm song format so it's a bit easier to parse, by replacing PORT and GLOBALPORT macros with LOCALPORT and GLOBALPORT. Veikko Sariola 2020-10-26 12:53:17 +02:00
  • f495b0575a Fix bug in song.go: the note was pulled from the song data incorrectly. Veikko Sariola 2020-10-26 12:49:27 +02:00
  • debeaa181c Fix bug in song.go: len(s.Patterns) should have been len(s.Tracks). Veikko Sariola 2020-10-26 12:48:33 +02:00
  • 470ba28592 Change the Render function in bridge.go to return a tuple of: number of samples rendered; bool indicating if rowend was reached; and a possible error. Veikko Sariola 2020-10-26 08:30:43 +02:00
  • acab824523 Update README.md Veikko Sariola 2020-10-24 23:36:56 +03:00
  • 6c90ba2067 Implement a song struct to hold all the information of a single song (corresponding one .asm file) and Render function for it. Veikko Sariola 2020-10-24 23:25:23 +03:00
  • be7a4e21f3 Optimize asm player size, removing one unnecessary instruction. Veikko Sariola 2020-10-24 22:07:58 +03:00
  • 3bb3e5c88e Fix su_render_samples to return correct values when built in 32-bit. Veikko Sariola 2020-10-24 17:04:27 +03:00
  • aa133b4606 Change bridge.go so that there is just SetPatch(...) function, instead of having to SetCommands, SetValues etc. Veikko Sariola 2020-10-24 16:15:15 +03:00
  • 1abc6f22d5 Change the Go bridge API to more idiomatic Go, offering a callback when the row advances. Veikko Sariola 2020-10-24 14:39:10 +03:00
  • 6e85ff674a Change the sointu.h api to return -1, 0 or n>0 depending if buffer is full and/or row ended. Veikko Sariola 2020-10-24 13:00:08 +03:00
  • c9e8000c5f Remove the cmake magic to create bridge.go from bridge.go.in. Veikko Sariola 2020-10-23 00:04:54 +03:00
  • 163af33c9b Add .cache/ to .gitignore. Veikko Sariola 2020-10-22 23:31:05 +03:00
  • 896e7e70b1 Add Opcode type to bridge, and pull the opcodes from the cgo side. Veikko Sariola 2020-10-22 23:29:37 +03:00
  • af75dd38aa Add common build folder names to .gitignore. Veikko Sariola 2020-10-22 21:05:10 +03:00
  • 95b70018cc Fix all CMake tests passing on MinGW: consider minor (< 1e-6) errors in waveform shape successes. Veikko Sariola 2020-10-22 21:03:54 +03:00
  • b9ec015b4a Document MinGW build commands in README.md. Veikko Sariola 2020-10-22 17:46:51 +03:00
  • 7aac3917b7 Implement a bridge to call Sointu from Go language. Veikko Sariola 2020-10-21 20:07:45 +03:00
  • af14cd310b Change .asm files that are actually only ever included into .inc-files, and rename all files as _header.inc & _footer.inc, depending where they are included. Veikko Sariola 2020-10-20 09:06:53 +03:00
  • 06e8365c06
    Update README.md Veikko Sariola 2020-10-21 09:50:19 +03:00
  • 7e3dc19c83 Add inverse gain to compressor. The inverse gain is applied to the signal before any compressor calculations. Veikko Sariola 2020-05-27 18:53:54 +03:00
  • c5b6e6e28c Move su_load_gmdls into the responsibility of the intro to call, anticipating multicore rendering so it is called once before all the cores are spun up. Veikko Sariola 2020-05-27 17:08:35 +03:00
  • 200937aa50 Fix single shot samples: only first half of them was getting played. Veikko Sariola 2020-05-27 16:21:49 +03:00
  • 8956f524c9 Only compile introspection.asm when SU_USE_INTROSPECTION is defined. Veikko Sariola 2020-05-27 16:04:52 +03:00
  • 45e554a9f9 Fix yasm warnings about flags being ignored on section redeclaration. Veikko Sariola 2020-05-27 13:17:28 +03:00
  • 5e05057240 Fix builds and tests to pass on Linux. Veikko 2020-05-26 21:27:53 +03:00
  • b64723323f Move player.asm back to sointu.asm, as they were getting again pretty intertwined. Veikko Sariola 2020-05-26 21:36:06 +03:00
  • e049bf2dce Change loadnote to load values from [-1,1], to allow using notes for both positive and negative modulations. Veikko Sariola 2020-05-26 18:58:49 +03:00
  • 3cdada41e0 Rename labels in envelope into more sensible. Veikko Sariola 2020-05-26 18:34:47 +03:00
  • ceae6ffcba Clean up the op_advance code&comments and remove one unnecessary jump. Veikko Sariola 2020-05-26 18:13:16 +03:00