[ ] create a Timer with microseconds resolution to process MIDI events and use it for the callback not required, but some changes need to be made for rendering and in such case the opl callback as to call a callback that will send to it midi events.
[ ] create a MIDDrv using a callback instead of a thread.~ (not sure is required anymore, as it will requires a timer to process midi events on a specific interval time, so basically what the thread is already doing)
[ ] try renderer a MIDI as it is, it won't be rendered due to the thread and delay to wait to send msg. need to be reviewed