Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement import of E-Tracker format #17

Closed
mborik opened this issue Nov 20, 2022 · 6 comments 路 Fixed by #25
Closed

Implement import of E-Tracker format #17

mborik opened this issue Nov 20, 2022 · 6 comments 路 Fixed by #25

Comments

@mborik
Copy link
Owner

mborik commented Nov 20, 2022

馃摑 Feature description

  • E-Tracker is well known music tracker on Sam Coup茅 and there are still active composers.

馃挕 Expectations

  • To support a migration of composers to our SAA1099Tracker we should implement import of their modules.

鈿掞笍 Solution

  • E-Tracker module import was already implemented in early iteration of this project (then called MIF85Tracker) here.
  • We should just rewrite it into TypeScript and enable the menu item.
  • Refactor all imports into src/tracker/file.import.ts

馃敠 Additional context

@stefandrissen
Copy link

As a feature creep, perhaps also support importing compiled e-tracker tunes? Zxart.ee has hundreds, they can be manually decompiled with a tool I wrote back in the day (see https://www.worldofsam.org/products/fred-best-fred )

@mborik
Copy link
Owner Author

mborik commented Nov 20, 2022

@stefandrissen Thank you for your suggestion. 馃檹
It's great but I'll need some cooperation to make it happen.

support importing compiled e-tracker tunes

Is there any description of E-Tracker compilation format? It's backward compatible to module format?

they can be manually decompiled with a tool I wrote back in the day

Are there any sources of your decompiler in readable form that could act as blueprint?
As a bonus, would you be able to suggest an algorithm or JS/TS/anything code draft for this import? 馃槈

@stefandrissen
Copy link

No, unfortunately there's no description that I know of.

I do have a documented (disassembled) player.

I have also just found the source code to my d-compiler and added it to that repo.

@mborik
Copy link
Owner Author

mborik commented Nov 21, 2022

Thank you for your repo and info, it will help a lot. 馃憤

@mborik mborik self-assigned this Nov 28, 2022
mborik added a commit that referenced this issue Nov 30, 2022
mborik added a commit that referenced this issue Dec 1, 2022
mborik added a commit that referenced this issue Dec 4, 2022
+ fix some bug of module import
#17
@mborik
Copy link
Owner Author

mborik commented Dec 4, 2022

@stefandrissen
Well, importing of E-Tracker compilation was a bit tough... ufff! 馃ゴ
... but positions, patterns and ornaments are imported well and it seems OK. 馃
I have a problem with samples.
I don't get a point how to handle sample format; It's pretty confusing for me that searching in 5th pointer from header and how it affecting a volume or repeating...? 馃

// TODO FIXME: I don't know what's going on here!

@stefandrissen
Copy link

:-) from a quick scan of the D-Compiler at line 426 - I /think/ I understand your confusion.

The volume / noise mask are all stored as RLE deltas (deviation).

@mborik mborik closed this as completed in #25 Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants