-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
feature request: chip tune support #11119
Comments
Chip tunes = playing files natively form ZX Spectrum, Amiga, Amstrad, Atari, C64, Sam Coupe and more Mixxx has already some chip tunes support via libmodplug:
It looks like we can hack something up, based on the zxtune123 command line tool. But I have not yet understand your use case. Which particular format do you like to play? |
Hi Here are several reasons zxtune should be used:
Thx for reading I was the author of this request! I have a new account |
I use mixxx for example to make chiptune mixes. Adding zxtune would be a dream. Just look at the amount of formats supported and the excellent sound quality of zxtune! I don't know if there is a library of zxtune you can just use in mixxx? |
This sounds reasonable. The issue is that it will be probably hard to find a contributor to implement it. Can we rephrase this bug? It should describe the particular problems with libmodplug you like to have solved. |
I'm not a developer but I asked zxtune developer. If he makes a library, is it then not just adding this in mixxx (just like FLAC, ... libraries are used in mixxx)? Sorry I'm just a computer user, not developer :( |
The supported formats of zxtune are so many, that libmodplug doesn't even have to be compared to it. See here for comparison with other libraries and zxtune: https://zxtune.bitbucket.io/info/comparison/ And all formats: https://zxtune.bitbucket.io/info/features/ The output is also perfect for mixxx, all platforms: Playback
I have no knowledge about programming and about the Zulip channel. If possible, can you start a discussion there with the above information? I'm an autistic woman and not really skilled to do this kind of social things. If added to Mixxx, it will turn Mixxx into the number 1 DJ software for chiptune parties! :) Thank you |
Yes, we need a portion of glue code that can be complex or not, depending on the external library. |
ZXTune developer is here. Some points:
|
Thank your for the clarifications. Some years ago we had such a proprietary plug-in interface in Mixxx, but we have removed it because no one was really using it. Since Mixxx is open-source, it turns out to be more straight forward to use the internal interface for implementing new so called sound sources. The alternative would be to make an ffmpeg plugIn. Mixxx has already ffmpeg support. With libmodplug we had the issue that it was not possible to do exact seeks, which is required to beat match after seeks using precalculated beat maps. We solved that by decoding the whole file when loading it and use the decode samples for seeks. Apart from these technical deps, I am afraid this issue will stall, because there is no contributor with coding skills that has an vested interest for this feature. Do you know one? |
Why don't you do it? You seem to know everything that's needed. |
I have no intrinsic motivation. We have a lot of open PRs an Issues I like to see more urgent. |
I have some motivation. Alas, in attempting to explore Mixxx's professed ability to support tracker formats thanks to libmodplug as being part of FFmpeg, I have noticed that it doesn't seem to consider .MOD files loadable? Worse: when I attempt to build Mixxx (on an Apple Silicon/M1/aarch64 running macOS Ventura) following https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20macOS (last updated in 2021, and we are now in 2023) it doesn't even complete the build processed: ""ld: symbol(s) not found for architecture arm64 Attempting to for example, declare "-DCMAKE_APPLE_SILICON_PROCESSOR=ON" seems to go OK, but it fails in the build. Also, when running source $mixxxdir/tools/macos_buildenv.sh setup I see: "Exported environment variables: Indicating to me, that Mixxx's macos_buildenv.sh script is still presumably defaulting to Intel? That does seem consistent with the website not offering non-Intel builds, and thus even old versions of Mixxx require Rosetta 2 to be installed. I've tried discussing things on Zulip, but honestly: that UI is deeply confusing and the types of responses I have received have been less than helpful, if not outright misinformation. I long for something similar like an informal IRC discourse channel. Nonetheless, if I cannot get Mixxx to build on a current system, it doesn't seem as if I will be able to make meaningful contributions and improvements to the project. I will keep making an effort, but I get the sense that macOS is not a high priority platform for current Mixxx developers, even after I had previously offered to donate an M1 Apple Silicon system. I have successfully run Mixxx on a Linux system that is aarch64 based, so I know it's not simply a matter of being unable to support another arm64 device. |
I have just noticed that we do not ship MOD support for all targets:
For the 2.3 branch libmodplug is missing in the environment. But I see no reason why it is disabled for the main branch. Mixxx has a native libmodplug SoundSource. The libmodplug support via ffmpeg does not suit for Mixxx, because it does not provide sample accurate seeks, which is required for looping and cue points. We do not yet officially support building on macOS aarch64. But it is possible.
Oh, I am sorry to hear that. I think we have advanced since than. In the meanwhile we have some active macOS contributors at Zulip. |
Just for reference: There is also https://openmpt.org/ which is already an official FFMPEG plugin: https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/libopenmpt.c |
True, it seems as if someone recently submitted a MacPort Portfile of libopenmpt/openmpt123 for review as well: macports/macports-ports#17284 (though that has not yet been merged, testing it locally went OK). |
We use vcpkg for the macOS environment. |
Here you can find now packages with libopenmpt and a libopenmpt enabled ffmpeg: |
Is there any progress here or will the existing libmodplug just stay as it is right now? |
OK |
Mixxx uses libmodplug on all platforms. The request for switch to libopenmpt is still open. |
Ah ok! :) |
Hi
I would like to request support for chip tune music.
The open source zxtune can be used for this (cross platform):
https://github.com/vitamin-caig/zxtune
The text was updated successfully, but these errors were encountered: