On 2019-05-15 10:13:46, Brian Callahan <call...@rpi.edu> wrote: > Hi ports -- > > We currently have a less than ideal situation regarding where audio > patchsets are located for programs that need them. Right now, they are > bundled into the timidity package. Which does make sense, that way when you > install timidity you get the needed audio patches. However, sdl{,2}-mixer > both come with their own bundled copies of timidity but do not come with the > patches, meaning that unless a user also just happens to have the timidity > package installed, they don't have midi playback with sdl{,2}-mixer. > > This manifests in the ports tree with some games (corsixth, openxcom, > prboom) having an RDEP on the timidity package solely in order for sdl-mixer > to use the patches. There might be other packages that are missing out on > midi audio support for the same reason. > > So I propose we split the patchset off from timidity. The attached new port > (audio/timgm6mb) is the patchset plus the needed configuration files. The > patches set timgm6mb as an RDEP of the ports that need it. > > After this goes in, I'll remove the RDEP on timidity from those 3 games. >
Hello, It's nice to see Timidity getting some love! I've tested that playing a few random MIDI files works with Timidity with your patches. sdl{,2}-mixer also compiled and installed just fine too. I installed games/prboom to test if music played with it, but didn't hear any actual music play. Sound effects worked just fine, but no music. I rolled back to the original version of sdl-mixer and there was no change, so I may simply be missing something in prboom's configuration file or something. Whatever the case may be, I saw no regressions in my (admittedly light) testing. On a related note, I don't mean to start a bikeshedding event, but I'm curious about the history behind Timidity's FLAVORs. I presume that the default (of not building a graphical version) was done because Timidity was a dependency of so many other ports and presume the intention was to keep it as small and light as possible. I use Timidity's XaW flavor because it's the only one that shows a piano keyboard and what notes are playing, which is useful to me sometimes. Since XaW is a relatively lightweight toolkit (at least, compared to the gtk2 FLAVOR) would there be any chance at making the XaW flavor the default (and thereby removing it as a FLAVOR option)? This would slightly simplify the port, and since the patchsets would now have been moved into their own separate port, only people who actually wanted to have timidity installed for itself would be installing it, so there would be less of a reason to keep the default as small and minimal as possible. Of course, this is only a minor suggestion. If there's a good reason for the FLAVORs being set up this way, then it doesn't take much extra time on my part to manually compile and install Timidity when necessary, so it's not a critical change. Other options might include: * Switch the port to use only X11 and non-X11 (I.e. build both GTK2 and XaW together, without the option of selecting only one). This would not be a problem for end users since Timidity allows the user to select which toolkit to use at runtime. -id dumb interface -in ncurses interface -ia X Athena Widget interface -ig GTK+ interface Indeed, I build it with FLAVOR="gtk2 xaw" and can select either one at runtime. * Just build everything all together regardless (I.e. remove ALL FLAVORs from the Makefile). This would pull in GTK2 and all of its dependencies, but I would assume that most people working with MIDI files would likely have GTK2 pulled in by some other graphical program somewhere anyway. Timidity itself doesn't become very large. The timidity-2.15.0p0-gtk2-xaw.tgz package weighs in at only 610K Either way, thank you for putting in the effort to improve Timidity (and related ports)! -- Bryan