Message ID | 20200702152547.258093-1-paul@crapouillou.net |
---|---|
State | Accepted |
Headers | show |
Series | [1/2] sdl_mixer: add FluidSynth support | expand |
On Thu, 2 Jul 2020 17:25:46 +0200 Paul Cercueil <paul@crapouillou.net> wrote: > Add support for MIDI playback using FluidSynth. > > Signed-off-by: Paul Cercueil <paul@crapouillou.net> > --- > package/sdl_mixer/sdl_mixer.mk | 11 +++++++++++ > 1 file changed, 11 insertions(+) I've applied both patches, but I've changed a bit how the .mk file handles the option. After both patches, it looks like this: ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y) SDL_MIXER_DEPENDENCIES += fluidsynth SDL_MIXER_CONF_OPTS += \ --enable-music-midi \ --enable-music-fluidsynth-midi SDL_MIXER_HAS_MIDI = YES endif ifeq ($(BR2_PACKAGE_SDL_MIXER_MIDI_TIMIDITY),y) SDL_MIXER_CONF_OPTS += \ --enable-music-midi \ --enable-music-timidity-midi SDL_MIXER_HAS_MIDI = YES endif ifneq ($(SDL_MIXER_HAS_MIDI),YES) SDL_MIXER_CONF_OPTS += --disable-music-midi endif Thanks! Thomas
Hi Thomas, Le dim. 12 juil. 2020 à 15:56, Thomas Petazzoni <thomas.petazzoni@bootlin.com> a écrit : > On Thu, 2 Jul 2020 17:25:46 +0200 > Paul Cercueil <paul@crapouillou.net> wrote: > >> Add support for MIDI playback using FluidSynth. >> >> Signed-off-by: Paul Cercueil <paul@crapouillou.net> >> --- >> package/sdl_mixer/sdl_mixer.mk | 11 +++++++++++ >> 1 file changed, 11 insertions(+) > > I've applied both patches, but I've changed a bit how the .mk file > handles the option. After both patches, it looks like this: > > ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y) > SDL_MIXER_DEPENDENCIES += fluidsynth > SDL_MIXER_CONF_OPTS += \ > --enable-music-midi \ > --enable-music-fluidsynth-midi > SDL_MIXER_HAS_MIDI = YES > endif > > ifeq ($(BR2_PACKAGE_SDL_MIXER_MIDI_TIMIDITY),y) > SDL_MIXER_CONF_OPTS += \ > --enable-music-midi \ > --enable-music-timidity-midi > SDL_MIXER_HAS_MIDI = YES > endif > > ifneq ($(SDL_MIXER_HAS_MIDI),YES) > SDL_MIXER_CONF_OPTS += --disable-music-midi > endif It won't work then. --enable-music-midi automatically enables --enable-music-{native,fluidsynth,timidity}-midi, so these need to be manually disabled. Otherwise when you enable e.g. Fluidsynth, it will also enable Timidity even though the SDL_MIXER_MIDI_TIMIDITY option is OFF. Cheers, -Paul > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
On Sun, 12 Jul 2020 19:39:36 +0200 Paul Cercueil <paul@crapouillou.net> wrote: > > I've applied both patches, but I've changed a bit how the .mk file > > handles the option. After both patches, it looks like this: > > > > ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y) > > SDL_MIXER_DEPENDENCIES += fluidsynth > > SDL_MIXER_CONF_OPTS += \ > > --enable-music-midi \ > > --enable-music-fluidsynth-midi > > SDL_MIXER_HAS_MIDI = YES > > endif > > > > ifeq ($(BR2_PACKAGE_SDL_MIXER_MIDI_TIMIDITY),y) > > SDL_MIXER_CONF_OPTS += \ > > --enable-music-midi \ > > --enable-music-timidity-midi > > SDL_MIXER_HAS_MIDI = YES > > endif > > > > ifneq ($(SDL_MIXER_HAS_MIDI),YES) > > SDL_MIXER_CONF_OPTS += --disable-music-midi > > endif > > It won't work then. --enable-music-midi automatically enables > --enable-music-{native,fluidsynth,timidity}-midi, so these need to be > manually disabled. Otherwise when you enable e.g. Fluidsynth, it will > also enable Timidity even though the SDL_MIXER_MIDI_TIMIDITY option is > OFF. So, I guess we need this instead: ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y) SDL_MIXER_DEPENDENCIES += fluidsynth SDL_MIXER_CONF_OPTS += --enable-music-fluidsynth-midi SDL_MIXER_HAS_MIDI = YES else SDL_MIXER_CONF_OPTS += --disable-music-fluidsynth-midi endif ifeq ($(BR2_PACKAGE_SDL_MIXER_MIDI_TIMIDITY),y) SDL_MIXER_CONF_OPTS += --enable-music-timidity-midi SDL_MIXER_HAS_MIDI = YES else SDL_MIXER_CONF_OPTS += --disable-music-timidity-midi endif ifeq ($(SDL_MIXER_HAS_MIDI),YES) SDL_MIXER_CONF_OPTS += --disable-music-midi else SDL_MIXER_CONF_OPTS += --disable-music-midi endif what do you think ? Thomas
Le dim. 12 juil. 2020 à 21:06, Thomas Petazzoni <thomas.petazzoni@bootlin.com> a écrit : > On Sun, 12 Jul 2020 19:39:36 +0200 > Paul Cercueil <paul@crapouillou.net> wrote: > >> > I've applied both patches, but I've changed a bit how the .mk file >> > handles the option. After both patches, it looks like this: >> > >> > ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y) >> > SDL_MIXER_DEPENDENCIES += fluidsynth >> > SDL_MIXER_CONF_OPTS += \ >> > --enable-music-midi \ >> > --enable-music-fluidsynth-midi >> > SDL_MIXER_HAS_MIDI = YES >> > endif >> > >> > ifeq ($(BR2_PACKAGE_SDL_MIXER_MIDI_TIMIDITY),y) >> > SDL_MIXER_CONF_OPTS += \ >> > --enable-music-midi \ >> > --enable-music-timidity-midi >> > SDL_MIXER_HAS_MIDI = YES >> > endif >> > >> > ifneq ($(SDL_MIXER_HAS_MIDI),YES) >> > SDL_MIXER_CONF_OPTS += --disable-music-midi >> > endif >> >> It won't work then. --enable-music-midi automatically enables >> --enable-music-{native,fluidsynth,timidity}-midi, so these need to >> be >> manually disabled. Otherwise when you enable e.g. Fluidsynth, it >> will >> also enable Timidity even though the SDL_MIXER_MIDI_TIMIDITY option >> is >> OFF. > > So, I guess we need this instead: > > ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y) > SDL_MIXER_DEPENDENCIES += fluidsynth > SDL_MIXER_CONF_OPTS += --enable-music-fluidsynth-midi > SDL_MIXER_HAS_MIDI = YES > else > SDL_MIXER_CONF_OPTS += --disable-music-fluidsynth-midi > endif > > ifeq ($(BR2_PACKAGE_SDL_MIXER_MIDI_TIMIDITY),y) > SDL_MIXER_CONF_OPTS += --enable-music-timidity-midi > SDL_MIXER_HAS_MIDI = YES > else > SDL_MIXER_CONF_OPTS += --disable-music-timidity-midi > endif > > ifeq ($(SDL_MIXER_HAS_MIDI),YES) > SDL_MIXER_CONF_OPTS += --disable-music-midi > else > SDL_MIXER_CONF_OPTS += --disable-music-midi > endif > > what do you think ? That would work. -Paul > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
diff --git a/package/sdl_mixer/sdl_mixer.mk b/package/sdl_mixer/sdl_mixer.mk index 73eb821ff3..a35b184a23 100644 --- a/package/sdl_mixer/sdl_mixer.mk +++ b/package/sdl_mixer/sdl_mixer.mk @@ -23,10 +23,21 @@ SDL_MIXER_CONF_OPTS = \ --without-x \ --with-sdl-prefix=$(STAGING_DIR)/usr \ --disable-music-midi \ + --disable-music-native-midi \ + --disable-music-timidity-midi \ --disable-music-mod \ --disable-music-mp3 \ --disable-music-flac # configure script fails when cross compiling +ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y) +SDL_MIXER_DEPENDENCIES += fluidsynth +SDL_MIXER_CONF_OPTS += \ + --enable-music-midi \ + --enable-music-fluidsynth-midi +else +SDL_MIXER_CONF_OPTS += --disable-music-fluidsynth-midi +endif + ifeq ($(BR2_PACKAGE_LIBMAD),y) SDL_MIXER_CONF_OPTS += --enable-music-mp3-mad-gpl SDL_MIXER_DEPENDENCIES += libmad
Add support for MIDI playback using FluidSynth. Signed-off-by: Paul Cercueil <paul@crapouillou.net> --- package/sdl_mixer/sdl_mixer.mk | 11 +++++++++++ 1 file changed, 11 insertions(+)