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

Module playback: Replace libmodplug with libopenmpt #9862

Open
mixxxbot opened this issue Aug 23, 2022 · 7 comments
Open

Module playback: Replace libmodplug with libopenmpt #9862

mixxxbot opened this issue Aug 23, 2022 · 7 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: mxmilkiib
Date: 2020-01-13T19:03:57Z
Status: Confirmed
Importance: Low
Launchpad Issue: lp1859511
Tags: soundsource


libmodplug has seen very little development in the last several years.

libopenmpt is the "spiritual successor" of libmodplug - https://lib.openmpt.org/libopenmpt/faq - with an actively developed modern codebase, more faithful sonic renderings of modules, support for more formats, security fixes, and more.

Possibly Mixxx uses some libmodplug playback FX DSP that isn't present in libopenmpt, so even though libopenmpt has a libmodplug compatibility build, maybe an upgrade might take a few development steps.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2020-01-17T01:02:12Z


Removing a dependency on an unmaintained library would be nice. I'm not sure any current developers use this feature, so it would probably be up to you to work on this.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@JosepMaJAZ
Copy link
Contributor

We are in 2023. The currently supported Ubuntu version is 22.04
libopenmpt is present in that version
https://packages.ubuntu.com/search?keywords=libopenmpt&searchon=names&suite=jammy&section=all

We also use vcpkg in windows and mac, and libopenmpt is also there (Although currently it is a bit older and it misses the libopenmpt-modplug1 which would ease the migration of Mixxx to the new library). If we don't like the version in vcpkg, we simply need to add to our fork of vcpkg as we do with some other components.

So I think it's time to revive this Issue, since using libmodplug instead of libopenmpt with Mixxx has a fatal bug, because it is not thread safe, and loading (or analysing) more than one track at a time completely damages the sound.

@JoergAtGithub
Copy link
Member

There is already a build with libopenmpt available, but no one tested it: #11119 (comment)

@JosepMaJAZ
Copy link
Contributor

JosepMaJAZ commented Apr 24, 2023

There is already a build with libopenmpt available, but no one tested it: #11119 (comment)

I understood that the change is only implemented for macOS (which was missing it), and other OS were still using the old one.
Can you confirm?

@daschuer
Copy link
Member

https://github.com/daschuer/vcpkg/actions/runs/3949418187 is a link to vcpkg build environment that includes libopenmpt and its development files. This is the foundation to start fixing that bug when you are on macOS or Windows.
The replacement itself is still waiting for a contributor.

@JosepMaJAZ
Copy link
Contributor

That action run is expired since it is already 3 months old.

@JosepMaJAZ
Copy link
Contributor

building your branch locally right now.

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

4 participants