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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mdx2vgm is not perfect #2

Open
LeonardoDemartino opened this issue Apr 17, 2017 · 2 comments
Open

mdx2vgm is not perfect #2

LeonardoDemartino opened this issue Apr 17, 2017 · 2 comments
Assignees

Comments

@LeonardoDemartino
Copy link
Collaborator

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?

@vampirefrog
Copy link
Owner

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
Copy link
Owner

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 vampirefrog self-assigned this Nov 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants