diff --git a/src/gui/midi_alsa.h b/src/gui/midi_alsa.h index f9aae8a2..1e64b1ab 100644 --- a/src/gui/midi_alsa.h +++ b/src/gui/midi_alsa.h @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: midi_alsa.h,v 1.17 2007-08-08 08:04:53 qbix79 Exp $ */ +/* $Id: midi_alsa.h,v 1.18 2009-04-25 15:57:07 qbix79 Exp $ */ #define ALSA_PCM_OLD_HW_PARAMS_API #define ALSA_PCM_OLD_SW_PARAMS_API @@ -125,7 +125,7 @@ public: bool Open(const char * conf) { char var[10]; unsigned int caps; - bool defaultport = true; //try 17:0 as well. Seems to be default nowadays + bool defaultport = true; //try 17:0 and 128:0 as well. Seems to be default nowadays // try to use port specified in config file if (conf && conf[0]) { @@ -168,10 +168,13 @@ public: if (snd_seq_connect_to(seq_handle, my_port, seq_client, seq_port) < 0) { if (defaultport) { //if port "65:0" (default) try "17:0" as well seq_client = 17; seq_port = 0; //Update reported values - if(snd_seq_connect_to(seq_handle,my_port,seq_client,seq_port) < 0) { - snd_seq_close(seq_handle); - LOG_MSG("ALSA:Can't subscribe to MIDI port (65:0) nor (17:0)"); - return false; + if(snd_seq_connect_to(seq_handle,my_port,seq_client,seq_port) < 0) { //Try 128:0 Timidity port as well + seq_client = 128; seq_port = 0; //Update reported values + if(snd_seq_connect_to(seq_handle,my_port,seq_client,seq_port) < 0) { + snd_seq_close(seq_handle); + LOG_MSG("ALSA:Can't subscribe to MIDI port (65:0) nor (17:0) nor (128:0)"); + return false; + } } } else { snd_seq_close(seq_handle);