Jump to content

New & Improved midiproc


Recommended Posts

You're a Windows user. You're using Eternity then, BAM, it crashes well and proper. Looks like somebody messed up. It wouldn't be quite so bad if it weren't for the fact that the mod you were testing hasn't yet replaced D_RUNNIN and now you get to enjoy midiproc playing it. Time to open the Task Manager and kill the process.

 

Worry no more! With these updated midiproc executables it now checks if there's a process called "eternity.exe" (case-insensitive) running and halts execution with an error if there isn't. Additionally if it does find said eternity.exe then it'll save the process ID and check if said PID has an associated running process every 100ms, and halts execution if that PID has no associated running process any more. It's not the most sophisticated mechanism in the world but I've yet to have it fail.

 

Here's the link with both the x86 and x64 version. Sadly you will need the appropriate arch for whatever type of build you have. Maybe I'll figure out how to deal with that one day (probably by adopting the approach used by AlexMax's midiproc variant).

midiproc.zip

Share this post


Link to post

Of course, someone's gonna have to ask this too:

 

Is midiproc going to be killed one day in exchange for built-in midi players like PrBoom and ZDoom have?

Share this post


Link to post

*shrugs* Probably. I'd certainly like to. Problem is all MIDI libraries I've seen are really damn annoying in one way or another.

At least now the biggest problem with midiproc (imo) is dealt with now. If I can get midiproc to be included in devbuilds that'll be the other effectively dealt with, since the appropriate arch of midiproc will be shipped w/ Eternity itself.

The only thing now is that you can't change Eternity's exe name, but I've ideas for workarounds there if people really wanna rename "eternity.exe" to something else.

Edited by Altazimuth

Share this post


Link to post
4 minutes ago, Altazimuth said:

*shrugs* Probably. I'd certainly like to. Problem is all MIDI libraries I've seen are really damn annoying in one way or another.

 

I know :> , I still remember this, and it's one of the main things I'm waiting for in future releases.

 

Since ZMusic is now a thing too, maybe it could be just integrated one day, more or less.

Share this post


Link to post

Pooosibly? I dunno much about how well ZMusic would integrate into EE. ZMusic is definitely very impressive though.

Having spent so long implementing libADLMIDI (well it wasn't that long really, just off and on and restarting one time) I dunno how much of the settings I provide would still work moving over to ZMusic. Additionally I don't see mention of tracker format support which is weird because I know GZDoom supports it to some capacity.

Share this post


Link to post
37 minutes ago, Altazimuth said:

The only thing now is that you can't change Eternity's exe name, but I've ideas for workarounds there if people really wanna rename "eternity.exe" to something else.

I have AutoDoom which is based on Eternity, so for that I may have to update Midiproc to recognize its name. Same with any other possible Eternity derivatives.

Share this post


Link to post

Ah shit I knew I was forgetting something. Sorry about that, though you can at least change the exe searched for. You'll need to tweak a bit of stuff at the moment but I think I can make that easier for you.

 

My idea for the workaround involves making it so Eternity, whilst doing other stuff, has a thread attempting to do a handshake with midiproc, and if midiproc doesn't receive that handshake within enough time it halts execution. The thing that stopped me for the moment is that it was a bit complex and you can't use the HAL timer on the spawned thread.

Share this post


Link to post
1 hour ago, Altazimuth said:

Additionally I don't see mention of tracker format support which is weird because I know GZDoom supports it to some capacity.

In ZMusic, tracker formats are handled by foo_DUMB, which is kode54's fork of DUMB.

Share this post


Link to post

Is there any reason  not to implement a volume control for the system MIDI player the way ZDoom has been doing for many years, i.e. alter the volume of the single notes while playing instead of relying on the broken mixer control?

 

On 5/5/2020 at 5:03 PM, Altazimuth said:

Having spent so long implementing libADLMIDI (well it wasn't that long really, just off and on and restarting one time) I dunno how much of the settings I provide would still work moving over to ZMusic. 

 

Several of the ADL settings are configurable, but chances are that there's not complete overlap of accessible features - but since the ADL player in ZMusic was to a large extent written by Wohlstand himself it should have everything that's really needed.

Edited by Graf Zahl

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...