nlaredo / playmidi

Playmidi is a web and curses and SDL-based MIDI file player for Linux and MacOS and Chrome (via Web MIDI and Web Audio apis). It supports software rendering of midi files via SDL audio and can also output midi events to external midi devices (in time with SDL audio soft synth) via both alsa sequencer api (linux) and coremidi api (osx). The web midi portion is found at https://github.com/nlaredo/nlaredo.github.io/blob/master/playmidi.html
https://nlaredo.github.io/playmidi.html
GNU General Public License v2.0
19 stars 1 forks source link

Why aren't distros providing this? #2

Open sshock opened 2 years ago

sshock commented 2 years ago

One of the coolest things is watching a realtime visualization of midi playback. Yet newer tools like timidity don't support that.

I was delighted to find this repo and for the first time in many, many years, be able to play midi files again with a fun realtime visualization of the instruments and notes.

Here's what I don't get: if sf2 support was added here 8 years ago, why are no distros providing this version of playmidi with sf2 support? They all (or at least debian) still provide the old version that outputs to GUS, FM, AWE, external midi, etc., but most people nowadays don't have a soundcard like that, so sf2 support is way more useful.

Anyway, thanks for providing my favorite midi player.

CoffeeCoder1 commented 8 months ago

I have been working on packaging this on the Open Build Service, which could probably be a good way to provide binaries of this for most distributions. I have gotten it to build on most RPM-based distros (although I have only tested the package for Fedora 39 aarch64), and I will be working on supporting some others (Debian, Arch, etc.) soon.

nlaredo commented 7 months ago

@sshock , I really appreciate your feedback and I have some major cleanups of this code planned for later this year (2024), and I'm optimistic about what open build service can provide, but I may proactively provide a control file for debian and the spec file for rpms in the same time frame. Hopefully this will help major distros pick this up in the future.

petterreinholdtsen commented 4 months ago

I am looking at the currently orphaned Debian package of playmidi right now, and one thing that would make life easier for Debian maintainers is versioned releases (aka git tags) reflecting the current version number. It would both allow us to know what to call a given snapshot of the code, and to get automatic discovery of new versions.

Also, are you aware of the patch used in the Debian package, available via the 'debian patches' link on https://tracker.debian.org/playmidi ? Perhaps something there to include in a future release of playmidi?

nlaredo commented 4 months ago

I will look into the patches to playmidi and integrate them where I can. I already did this a few years ago for Debian, but since package maintainers don't actively contact me, I haven't kept up to date on what packages are doing. I have just reviewed https://sources.debian.org/src/playmidi/2.4debian-15/debian/patches/debian.patch/ and many of the things there no longer apply since I plan to drop support for modes other than xlib and terminal and I have changed things to directly output midi without kernel sequencer support and to replace opl3/awe/gus with sf2 soft synth support.

petterreinholdtsen commented 4 months ago

[Nathan Laredo]

I will look into the patches to playmidi and integrate them where I can. I already did this a few years ago for Debian, but since package maintainers don't actively contact me, I haven't kept up to date on what packages are doing.

Sad to hear. Hope you get a closer contact with the next maintainer of playmidi in Debian, when someone choose to adapt the package. :)

I have just reviewed https://sources.debian.org/src/playmidi/2.4debian-15/debian/patches/debian.patch/ and many of the things there no longer apply since I plan to drop support for modes other than xlib and terminal and I have changed things to directly output midi without kernel sequencer support and to replace opl3/awe/gus with sf2 soft synth support.

Good to know that you are aware of the patch.

Any idea when the next release of playmidi will be stamped?

-- Happy hacking Petter Reinholdtsen