mdxtools icon indicating copy to clipboard operation
mdxtools copied to clipboard

mdx2vgm is not perfect

Open LeonardoDemartino opened this issue 8 years ago • 2 comments

Hello! Delek here! :) Awesome work btw!

On mdx2vgm I can hear wrong portamentos and instrument changes on some conversions. I know it is on WIP and I want to help, could you please list the stuff I should aim in order to fix this little issues with the converter?

LeonardoDemartino avatar Apr 17 '17 20:04 LeonardoDemartino

the problem is simply that it tries to translate MDX commands directly to VGM commands, so portamento and vibrato do not work, as they would require generating more than one set of VGM commands. The converter needs to be rewritten in such a way that it would generate pitch bend VGM commands every N samples, similar to how the driver would. It shouldn't be hard, I think it needs a function that would be called every sample, and it would determine whether or not to output VGM data.

vampirefrog avatar Apr 24 '17 17:04 vampirefrog

In handleRest(), instead of outputting a VGM wait command, it needs to use a state machine and output the portamento command every MDX tick. The state machine would be altered by MDX portamento commands.

https://github.com/vampirefrog/mdxtools/blob/master/mdx2vgm.cpp#L109

vampirefrog avatar Apr 25 '17 01:04 vampirefrog