On 2013/04/02 20:24, Jan Stary wrote:
> Is there a way to tell (from sndiod debug, preferably)
> to which exact midi port an application has connected?
> The debug is detailed about _audio_ devices, as in
> 
>   snd0 pst=cfg: device requested
>   sio(rsnd/0|ini): created
>   snd0 pst=ini: 48000Hz, s16le, play 0:1, rec 0:1, 9 blocks of 960 frames
>   sock(sock|ini): processed in 39680us
> 
> - is there a way to get such a detailed info
> about connections (and disconnections) to the
> exposed midi ports and midithru boxes?

(sorry, just picking on a couple of small parts of your mail, I will
leave the rest to someone who knows more about this ;)

You can print the internal devnum that would let you work it out, but
to get a nice human-readable output I think we'd need what is suggested
in the XXX comment.

Index: sock.c
===================================================================
RCS file: /cvs/src/usr.bin/sndiod/sock.c,v
retrieving revision 1.5
diff -u -p -r1.5 sock.c
--- sock.c      6 Dec 2012 08:13:04 -0000       1.5
+++ sock.c      2 Apr 2013 19:14:16 -0000
@@ -860,6 +860,14 @@ sock_hello(struct sock *f)
                if (f->midi == NULL)
                        return 0;
                /* XXX: add 'devtype' to libsndio */
+#ifdef DEBUG
+               if (log_level >= 3) {
+                       sock_log(f);
+                       log_puts(": device ");
+                       log_putx(p->devnum);
+                       log_puts("\n");
+               }
+#endif
                if (p->devnum < 16) {
                        d = dev_bynum(p->devnum);
                        if (d == NULL)


> In fluidsynth's settings, midi.sndio.device is "default".

btw in 1.0.9 this was blank, which is what caused the crash printing
settings from fluidsynth in my first attempts at updating to 1.1.6;
I don't know if "default" was the best option but it seemed to make sense.

Reply via email to