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

MIDI support? #25

Closed
musa96 opened this issue Aug 28, 2015 · 9 comments
Closed

MIDI support? #25

musa96 opened this issue Aug 28, 2015 · 9 comments

Comments

@musa96
Copy link

musa96 commented Aug 28, 2015

Do you think it is good to add MIDI support alongside the .ogg files?

@flavi1
Copy link

flavi1 commented Jan 7, 2016

👍
sound "does not change between versions."
But 1.3 and 1.4 versions MT-32 support is really nice (munt emulate it near to perfection)...
And more, if you set Adlib for sounds (not music) you don't get the same on 1.3 because prince.dat file contains a great special sound Adlib set...

(Fantastic work!)

@myself600
Copy link

I think the best approach would be to integrate Chocolate Doom's OPL code for Adlib emulation, which is derived from DOSBox, but converted to C.

@Falcury
Copy link
Contributor

Falcury commented Apr 15, 2016

I found this page on OPL emulation that lists even more options for emulating the AdLib sounds:
http://doomwiki.org/wiki/OPL_emulation

I see that AdPlug is using a version of Ken Silverman's ADLIBEMU code under an LGPL license:
https://github.com/adplug/adplug/blob/master/src/adlibemu.c

@myself600
Copy link

myself600 commented Apr 15, 2016

I've looked into this and found that PrBoom+ uses DBOPL from Chocolate Doom while Chocolate Doom replaced DBOPL with Nuked OPL3 in eb3cd65, and that ADLIBEMU is an old/deprecated OPL2-only emulator. In a nutshell, the one that emulates PoP's (reference) Adlib soundtrack most accurately should be the preferred choice.

As an example, the OpenTitus project implements DBOPL for Adlib emulation.

@NagyD
Copy link
Owner

NagyD commented Sep 13, 2016

A bit late, but...

sound "does not change between versions."
But 1.3 and 1.4 versions MT-32 support is really nice (munt emulate it near to perfection)...

That line is from doc/Readme.txt, and there it refers to the versions of SDLPoP, not to v1.0 and v1.3 of the original game.
Sorry for the confusion.

@Falcury
Copy link
Contributor

Falcury commented Feb 28, 2018

I implemented MIDI playback on this branch:
https://github.com/Falcury/SDLPoP/tree/midi

I used the Nuked OPL3 emulator (from Chocolate Doom), like @myself600 suggested.

Also see this thread on the forum:
http://forum.princed.org/viewtopic.php?f=126&t=4167

Edit: created a pull request: #160

@NagyD
Copy link
Owner

NagyD commented Mar 15, 2018

I have merged your pull request.
Can I close this issue?

@flavi1
Copy link

flavi1 commented Mar 16, 2018

Waou! Great!!
What about pop1.3 mt32 output sound?
Can we connect it to the munt mt32 emulator and get the LCD message 'the princess awaits', (then it's possible to send it to lcdproc for example^^) ?
My favourite setting in the original pop1.3 was mt32 for song with adlib for music. Is it now possible?
Lol. I become a kid again!

@NagyD
Copy link
Owner

NagyD commented Mar 18, 2018

MIDI (AdLib emulation) is now supported, so I'm closing this.
@flavi1, MT-32 support should be a separate issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants