pete-gordon / hivelytracker

Chip music tracker based on AHX
http://www.hivelytracker.co.uk
BSD 3-Clause "New" or "Revised" License
117 stars 15 forks source link

hvl_replay.c merge #39

Open mywave82 opened 4 years ago

mywave82 commented 4 years ago

This will almost close #6

If wanted, I can later look at merging replay.c and replay.h (will require struct names and members to be renamed around in the editor source code, and some boxing where editor version of structs needs some additional members)

mywave82 commented 4 years ago

Amiga version and Windows version is not compile-tested

Division protection is now also added to voice->vc_ADSR.aVolume

mywave82 commented 4 years ago

White static noise - seems like hvl2wav tool had the outdated version. I can update this if required, or you can fix is post merge

pachuco commented 4 years ago

Be careful regarding the filter wave generation using float. The filtering sounds off with default values(try Pink/Mislead.ahx).

https://github.com/pete-gordon/hivelytracker/commit/78f95bc1be8d314586f146188d73b9dda636111d Here's a manual retuning done by subtracting float wavetable from original AHX wavetable while tweaking values. This was before float method was replaced with integer table. It's not bit identical, but probably sounds the same as with integer table.

pachuco commented 3 years ago

It's very tempting to pull, but I am very wary of AmigaOS4 side of things. More or less, it boils down to SDL vs AOS4.

mywave82 commented 3 years ago

Can I suggest that merge this, and then change the player to include all other updates that might be other places. This way you have a single replayer to maintain.

alexmyczko commented 2 years ago

i'm sure you already know https://github.com/8bitbubsy/ahx2play

mywave82 commented 2 years ago

If this PR is to be updated, which tables should be used, since as @pachuco pointed out, they are important. And the different replayers currently are not 100% matching each-others and I picked the wrong one to be the best pick? Please assist