On Sun, Nov 07, 2021 at 07:23:59PM +0100, nature wrote:
> Hi,
> 
> I am currently trying to setup orca (https://git.sr.ht/~rabbits/orca)
> which is a sequencer that sends MIDI commands to interface with
> Fluidsynth so that I can actually produce some sounds.
> Currently when I check if orca sends the midi commands, I can indeed see
> them comming through with `midicat -d -q midithru/0`. But I don't see
> then comming in Fluidsynth, even when I enable verbose mode: `set
> synth.verbose True`.
> 
> Here is the log when I run Fluidsynth with SNDIO_DEBUG=2:
> 
> >$ SNDIO_DEBUG=2 fluidsynth -v 
> >/usr/local/share/generaluser-gs/GeneralUser_GS.sf2
> >FluidSynth version 1.1.9
> >Copyright (C) 2000-2018 Peter Hanappe and others.
> >Distributed under the LGPL license.
> >SoundFont(R) is a registered trademark of E-mu Systems, Inc.
> >
> >fluidsynth: warning: Found samples with invalid loops, audible glitches 
> >possible.
> >fluidsynth: prog        0       0       0
> >fluidsynth: prog        1       0       0
> >fluidsynth: prog        2       0       0
> >fluidsynth: prog        3       0       0
> >fluidsynth: prog        4       0       0
> >fluidsynth: prog        5       0       0
> >fluidsynth: prog        6       0       0
> >fluidsynth: prog        7       0       0
> >fluidsynth: prog        8       0       0
> >fluidsynth: prog        9       128     0
> >fluidsynth: prog        10      0       0
> >fluidsynth: prog        11      0       0
> >fluidsynth: prog        12      0       0
> >fluidsynth: prog        13      0       0
> >fluidsynth: prog        14      0       0
> >fluidsynth: prog        15      0       0
> >_aucat_open: host= unit=0 devnum=255 opt=default
> >/tmp/sndio-1000/sock0: Connection refused
> >/tmp/sndio/sock0: connected
> >aucat: start, maxwrite = 0
> >Failed to create the MIDI thread; no MIDI input
> >will be available. You can access the synthesizer
> >through the console.
> >Type 'help' for help topics.
> >_aucat_wdata: write: n = 1764
> >
> >_aucat_wdata: write: n = 1764
> >_aucat_wdata: write: n = 1764
> >_aucat_wdata: write: n = 1764
> >_aucat_wdata: write: n = 1764
> >_aucat_wdata: write: n = 1764
> >_aucat_wdata: write: n = 1764
> >...
> 
> The error seems to be coming from here:
> https://github.com/FluidSynth/fluidsynth/blob/fe37923393d6a76f42ed044aa56dadc66ec909ce/src/fluidsynth.c#L667
> 
> I am not able to troubleshoot it myself further than that.
> 
> Any help appreciated, thank you very much.
> 

Thanks for all the details. This diff fixes it for me.

OK?

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/fluidsynth/Makefile,v
retrieving revision 1.31
diff -u -p -r1.31 Makefile
--- Makefile    25 Jun 2021 21:48:40 -0000      1.31
+++ Makefile    7 Nov 2021 20:42:51 -0000
@@ -4,6 +4,7 @@ COMMENT =               SoundFont2 software synthesiz
 GH_ACCOUNT =           FluidSynth
 GH_PROJECT =           fluidsynth
 GH_TAGNAME =           v1.1.9
+REVISION =             0
 
 SHARED_LIBS += fluidsynth           2.0      # 6.0
 
Index: patches/patch-src_drivers_fluid_mdriver_c
===================================================================
RCS file: 
/cvs/ports/audio/fluidsynth/patches/patch-src_drivers_fluid_mdriver_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_drivers_fluid_mdriver_c
--- patches/patch-src_drivers_fluid_mdriver_c   25 Jun 2021 21:48:40 -0000      
1.2
+++ patches/patch-src_drivers_fluid_mdriver_c   7 Nov 2021 20:42:51 -0000
@@ -3,6 +3,15 @@ $OpenBSD: patch-src_drivers_fluid_mdrive
 Index: src/drivers/fluid_mdriver.c
 --- src/drivers/fluid_mdriver.c.orig
 +++ src/drivers/fluid_mdriver.c
+@@ -24,7 +24,7 @@
+ #undef FLUID_MIDI_SUPPORT
+ 
+ #if ALSA_SUPPORT || JACK_SUPPORT || OSS_SUPPORT || \
+-    WINMIDI_SUPPORT || MIDISHARE_SUPPORT || COREMIDI_SUPPORT
++    WINMIDI_SUPPORT || MIDISHARE_SUPPORT || COREMIDI_SUPPORT || SNDIO_SUPPORT
+ /* At least an input driver exits */
+ #define FLUID_MIDI_SUPPORT  1
+ #endif
 @@ -53,6 +53,15 @@ fluid_midi_driver_t *new_fluid_jack_midi_driver (fluid
  int delete_fluid_jack_midi_driver(fluid_midi_driver_t *p);
  #endif



Reply via email to