I've tried those mods, and now I can send sysex through midiout under ALSA:
diff pd-0.40-3/src/m_pd.h pd-0.40-3_mod/src/m_pd.h 464a465
EXTERN int sys_midiapi;
diff pd-0.40-3/src/x_midi.c pd-0.40-3_mod/src/x_midi.c 7a8
#include "s_stuff.h"
657a659,661
#ifdef USEAPI_ALSA void sys_alsa_putmidibyte(int portno, int byte); #endif
660a665
681c686,695 < sys_putmidibyte(x->x_portno - 1, f); ---
#ifdef USEAPI_ALSA if (sys_midiapi == API_ALSA) // sys_midiapi is not defined in
x_mini...
{ sys_alsa_putmidibyte(x->x_portno - 1, f); } else
#endif { sys_putmidibyte(x->x_portno -1 ,f); }
Please be tolerant, it's my first patch for pd (and my first reading of pd code...).
I don't know why Miller didn't used the sys_alsa_putmidibyte... Maybe are you trying to clarify the midi API...
But I needed sysexs :)