vsariola / sointu

Fork of 4klang that can target 386, amd64 and WebAssembly. Tools run on Windows, Mac & Linux
MIT License
239 stars 15 forks source link

Draft: Added 4klang binary format construct. #89

Closed LeStahL closed 1 year ago

LeStahL commented 1 year ago

Implements #88.

This is the current state of the 4kp/4ki/4ku converter script. It's still WIP.

vsariola commented 1 year ago

Any progress on this one? I guess the main questions are:

  1. Would it be possible have unit tests for it, to have some confidence that it actually works?
  2. Do we keep it as a Python script, or reimplement finally in golang?
vsariola commented 1 year ago

I will start looking into this myself too, using your excellent work as a starting point. I've decided to make the 4klang interop as command-line Python tools at first, and later worry about reimplementing stuff in go. One reason is that I want to parse also the 4klang.inc files to convert them into sointu.yaml files, as a lot of original project files from old intros are lost and only 4klang.inc remains. I have good experience with writing parsers in pyparsing for this kind of quick parsing purposes.

Maybe this allows better salvaging of old intros too, not only old instruments.

vsariola commented 1 year ago

I have started to port this to go; the draft lives in my feature/load-4kp branch

vsariola commented 1 year ago

I just merged loading 4klang patches & 4klang instruments into the master branch; I rewrote the whole thing in golang so no need for Python anymore. But I studied your Python code to understand the format so this was not at all wasted effort! Thanks!