aboutsummaryrefslogtreecommitdiff
path: root/pd/src/s_midi_alsa.c
diff options
context:
space:
mode:
authorMiller Puckette <millerpuckette@users.sourceforge.net>2005-07-24 19:41:15 +0000
committerMiller Puckette <millerpuckette@users.sourceforge.net>2005-07-24 19:41:15 +0000
commit2b5318216ea6804a84920979fd77f759e35889fd (patch)
treed720fd0990a3abaa465e39101e2fa0e918bb8244 /pd/src/s_midi_alsa.c
parent9474b99117836c2b76485ab3f44035cfc933c1ab (diff)
New "list" object.
Added "addcomma", "addsemi", "adddollar", "adddollsym" messages to message object. worked on Mac compilation problems. svn path=/trunk/; revision=3371
Diffstat (limited to 'pd/src/s_midi_alsa.c')
-rw-r--r--pd/src/s_midi_alsa.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/pd/src/s_midi_alsa.c b/pd/src/s_midi_alsa.c
index 437ac792..6e9143b3 100644
--- a/pd/src/s_midi_alsa.c
+++ b/pd/src/s_midi_alsa.c
@@ -48,6 +48,16 @@ void sys_alsa_do_open_midi(int nmidiin, int *midiinvec,
int i;
alsa_nmidiin = 0;
alsa_nmidiout = 0;
+ if(nmidiin>MAXMIDIINDEV )
+ {
+ post("midi input ports reduced to maximum %d", MAXMIDIINDEV);
+ nmidiin=MAXMIDIINDEV;
+ }
+ if(nmidiout>MAXMIDIOUTDEV)
+ {
+ post("midi output ports reduced to maximum %d", MAXMIDIOUTDEV);
+ nmidiout=MAXMIDIOUTDEV;
+ }
if (nmidiin>0 && nmidiout>0)
err = snd_seq_open(&midi_handle,"default",SND_SEQ_OPEN_DUPLEX,0);
@@ -200,8 +210,14 @@ void sys_alsa_poll_midi(void)
void sys_alsa_close_midi()
{
alsa_nmidiin = alsa_nmidiout = 0;
- snd_seq_close(midi_handle);
- snd_midi_event_free(midiev);
+ if(midi_handle)
+ {
+ snd_seq_close(midi_handle);
+ if(midiev)
+ {
+ snd_midi_event_free(midiev);
+ }
+ }
}
#define NSEARCH 10