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

Reply via email to