I was reverse engineering the VGMPlay (legacy) software to better understand the core of the player. What I cannot figure out at all is how the 1/44100 Hz = 2.2676e-05 s tick signal is generated . This signal should be used in players as trigger to fetch & parse the single commands (correct me if wrong).
What is the strategy to generate such a small timing signal in VGMPlay?
I would expect a timer thread that triggers (every 1/44100 Hz) another thread (or the main program) to parse the current VGM command. However, a different strategy seems to be adopted. Could you please elaborate on this? What exactly is the purpose of the FillBuffer() function?
Another related question is: assuming writing to real hardware, how would the InterpretFile() function change considering that writes requires a non-zero time?
I hope I've been clear enough.
Thank you for support.
Cheers

