Author Topic: MID2XM Source Code?  (Read 2057 times)


  • Posts: 2
MID2XM Source Code?
« on: 23 Dec '18 - 14:35 »
Hi. I'm new here as you can see, but not really new as I know this site a long time ago.  :)

Including I use the BASS library in some private Delphi apps here, and I even contacted you in the past. Mr. Ian, but it was years ago by private and personal e-mail address. Thanks for replying them.  ;)

Before asking this I searched the forum and I found only this topic: Open source MID2XM? and as I could see it's very old, dated of 2010 and no replies, so I decided to create a new topic instead of replying that old one.

Well, I really like MID2XM but there are several problems in it:

1 - It's an old Windows 3.x application and we know Windows 64 bits versions don't execute 3.x apps anymore.
2 - No batch support, and it's thing I really would like to have as it's annoying to convert several .mid's at once.
3 - No command line support. Well, it would help batch operations too.

And no source code available, we can't port it to Windows 32 bits at least (Windows 64 bits could execute it) but for me I would love to have at least a 32 bit .DLL and a nice Delphi .PAS file exporting the functions like the BASS library.

Of course I don't know about license issues or if you lost the source code here. Anyway... I'm just asking for.

Thanks for reading this and my best regards!  ;)


  • Posts: 3
Re: MID2XM Source Code?
« Reply #1 on: 19 Sep '19 - 21:12 »

Ian @ un4seen

  • Administrator
  • Posts: 24048
Re: MID2XM Source Code?
« Reply #2 on: 20 Sep '19 - 16:40 »
I think you would be better off using OpenMPT to convert MIDI to MOD these days. That will probably produce better results, and the source code is available if you want to see it :)


  • Posts: 2
Re: MID2XM Source Code?
« Reply #3 on: 25 Sep '19 - 23:41 »
Wow! After months, finally I got a reply of this subject. Thanks!  :)

Okay! Yeah... I already knew about OpenMPT but I always liked MID2XM conversion. I really like those FastTracker modules it produces.

Well, I managed to add "Batch" support in it, getting the window handles, sending window messages like simulating mouse clicks on the buttons and even catching conversion errors.

I created a separated Delphi App loading the executable, getting the process, getting the window handle. It executes under a TPanel, you know, its parent window. It works like a charm.  8)

Now as I got a reply of this subject I think I will share its code here. We will see...

For Windows 64 bits, I'm loading the 3.x (16bits) executable using OTVDM now. Google for!

Okay... see ya!  ;)
« Last Edit: 25 Sep '19 - 23:44 by SlackerNReckless »