Dn-Programming-Core-Management / Dn-FamiTracker

modifications and improvements for 0CC-FamiTracker (based on j0CC-FamiTracker 0.6.3)
Other
383 stars 23 forks source link

Extending Vanilla Branch (Beta Builds) Compatibility #75

Open N-SPC700 opened 3 years ago

N-SPC700 commented 3 years ago

Beta 0.5 of FamiTracker (as well as it's April 2020 build) have successfully implemented automatic wave RAM allocation for the N163 expansion chip. While 0CC/forks do minimally support it, all it does is disregard the toggle for said dynamic allocation, instead forcing the user to manually allocate the wave RAM for the instrument. Finding a way to implement this feature would be very nice, and quite possibly extremely beneficial to many FT users, helping simplify the N163 workflow. image

Now onto the second issue. The later April 2020 beta of Vanilla FT introduced a new module format, same for the pattern data copied to and from the clipboard as well. While I don't expect 100% compatibility with this version, being able to at least read this changed module format would be very useful, same with the "copied pattern data" issue.

There's also some other small quality of life changes to the tracker done in the 2020 beta that I'd personally love to see in Dn-FT at some point in the future (I wouldn't consider these as necessary or required changes):

[image would go here, but it crashes amazingly]

Gumball2415 commented 3 years ago

Oscilloscope view has a "smoother" appearance (higher frame rate?)

the oscilloscope (and any custom visualizer really) lags depending on the sound buffer length, which is not good. a workaround is to set the buffer to the smallest number possible without audio glitching out.

Pattern Editor has a small horizontal line to indicate position within a pattern

possible to implement, but the way beta 0.5 does it isn't quite appealing. perhaps only have it on the pattern number? we'll see

APU2 non-linear volume emulation even when channels are muted (the program seems to "mimic" APU2 delta counter changes even with DPCM/Tri/Noise muted)

would be nice to have, but very hard to implement, especially with the NSFPlay emulator core

"Effect Viewer": similar to register state but always viewable and available. also shows what effects are currently active on that pattern, even listing what frame they've started on.

interesting, but not sure how to implement this. would be nice to compact the info though

nyanpasu64 commented 3 years ago

Note that reducing sound buffer length makes the fine spectrum analyzer less accurate. I don't actually know the minimum safe length though, but 40 ms should be fine.

I don't know what vanilla's spectrum analyzer does differently.