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

adplug: update upstream library and add OPL synth options #3129

Closed
wants to merge 1 commit into from

Conversation

thomasjepp
Copy link
Contributor

Hi!

I was trying to play back some CMF files using DeaDBeeF and hit some audio quality issues with the adplug plugin.

To resolve, I've updated the plugin to the latest upstream - I've not looked too hard at the upstream changes, they're quite substantial - and added support for several more synth types. I've set the default to Nuked OPL3, which seems to be the highest quality/most accurate. It looks like the updated upstream library supports some extra file formats, but I've not enabled these as I don't have any example files to confirm they're functional.

From my checking this looks okay still for LGPL v2.1 - there are options to use the MAME upstream OPL plugin that would affect the license, so I've avoided this.

A full list of changes is below:

  • Updated adplug library to adplug/adplug@a6706ba (current master as of 2024-09-16)
  • Removed surround option - changed to automatically apply based on synth type
  • Set default synth sample rate to the same as a real OPL chip
  • Added support for more synth types
  • Set the default synth to Nuked OPL3

Please let me know if you have any comments or feedback - my C is a little rusty!

* Updated adplug library to adplug/adplug@a6706ba (current master as of 2024-09-16)
* Removed surround option - changed to automatically apply based on synth type
* Set default synth sample rate to the same as a real OPL chip
* Added support for more synth types
* Set the default synth to Nuked OPL3
@thomasjepp
Copy link
Contributor Author

libbinio might need updating, but seems functional for me

I've only tested building this on macOS - not on Linux or Windows.

@Oleksiy-Yakovenko
Copy link
Member

One important thing that's easy to overlook (and hard to do) is to see whether all patches that were applied on top of previous version of adplug need to be re-applied after updating.
If they are not applied - some bugs will return, and some optimizations will be lost.

@dmitrysmagin
Copy link

Come on, give this patch a go! Adplug was updated with new music formats and bug fixes.
Most probably, old optimizations are no longer relevant.

@Oleksiy-Yakovenko
Copy link
Member

I'm temporarily unavailable for large patches. I'll have a good look in about 1-2 weeks.

@Oleksiy-Yakovenko
Copy link
Member

I'll merge it from another branch, where I'm applying deadbeef patches.

@Oleksiy-Yakovenko
Copy link
Member

Merged

@thomasjepp
Copy link
Contributor Author

Apologies for not testing on Linux & rebasing deadbeef's patches, real life caught up!

I appreciate you merging this though, thanks!

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

Successfully merging this pull request may close these issues.

3 participants