From 4d62f6b23ef228a307a0a7c2185033b8de6accea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Mon, 24 Jan 2011 17:34:02 +0000 Subject: if no drivers to select, ignore selection svn path=/trunk/externals/iem/mediasettings/; revision=14806 --- midisettings.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/midisettings.c b/midisettings.c index 11a3803..5a6d577 100644 --- a/midisettings.c +++ b/midisettings.c @@ -554,12 +554,16 @@ static void midisettings_setdriver(t_midisettings *x, t_symbol*s, int argc, t_at } } - id=ms_getdriverid(s); - if(id<0) { - pd_error(x, "invalid driver '%s'", s->s_name); - return; + if(NULL==DRIVERS) { + id=sys_midiapi; + } else { + id=ms_getdriverid(s); + if(id<0) { + pd_error(x, "invalid driver '%s'", s->s_name); + return; + } + verbose(1, "setting driver '%s' (=%d)", s->s_name, id); } - verbose(1, "setting driver '%s' (=%d)", s->s_name, id); #ifdef HAVE_SYS_CLOSE_MIDI sys_close_midi(); sys_set_midi_api(id); @@ -594,6 +598,8 @@ static void midisettings_listdrivers(t_midisettings *x) for(driver=DRIVERS; driver; driver=driver->next) { count++; } + + SETFLOAT(ap+0, count); outlet_anything(x->x_info, gensym("driverlist"), 1, ap); -- cgit v1.2.1