hi

attached patch includes MEMSET fixlet from yesterday.
it adds err subtracts pthread_* calls from
aubio_midi_direct_output().
those did block here.
and aren't anyhow needed in aubio_midi_direct_output(),
i think.

      karsten

*) here



                
___________________________________________________________ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
diff -ur aubio-0.3.0-orig/ext/midi/midi_alsa_raw.c aubio-0.3.0/ext/midi/midi_alsa_raw.c
--- aubio-0.3.0-orig/ext/midi/midi_alsa_raw.c	2006-01-18 06:37:33.000000000 +0100
+++ aubio-0.3.0/ext/midi/midi_alsa_raw.c	2006-05-26 02:20:22.000000000 +0200
@@ -109,7 +109,7 @@
     AUBIO_ERR( "Out of memory");
     return NULL;
   }
-  AUBIO_MEMSET(dev, 0, sizeof(aubio_midi_alsa_raw_driver_t));
+  AUBIO_MEMSET(dev, 0, aubio_midi_alsa_raw_driver_t);
 
   dev->driver.handler = handler;
   dev->driver.data = data;
Nur in aubio-0.3.0/ext/midi: midi_alsa_raw.c~.
diff -ur aubio-0.3.0-orig/ext/midi/midi_alsa_seq.c aubio-0.3.0/ext/midi/midi_alsa_seq.c
--- aubio-0.3.0-orig/ext/midi/midi_alsa_seq.c	2006-01-18 06:37:33.000000000 +0100
+++ aubio-0.3.0/ext/midi/midi_alsa_seq.c	2006-05-27 11:12:03.000000000 +0200
@@ -101,7 +101,7 @@
         AUBIO_ERR( "Out of memory");
         return NULL;
     }
-    AUBIO_MEMSET(dev, 0, sizeof(aubio_alsa_seq_driver_t));
+    AUBIO_MEMSET(dev, 0, aubio_alsa_seq_driver_t);
     dev->seq_port = -1;
     dev->driver.data = data;
     dev->driver.handler = handler;
@@ -353,7 +353,7 @@
         }
 
         if ((n < 0) && (n != -EAGAIN)) {
-            AUBIO_ERR( "Error occured while reading ALSA sequencer events");
+		AUBIO_ERR( "Error %i occured while reading ALSA sequencer events", n);
             dev->status = AUBIO_MIDI_DONE;
         }
 
@@ -379,9 +379,14 @@
 void aubio_midi_direct_output(aubio_midi_driver_t * d, aubio_midi_event_t * event) 
 {
     aubio_alsa_seq_driver_t* dev = (aubio_alsa_seq_driver_t*) d;
-    if (dev->thread){ if(pthread_join(dev->thread, NULL)) {
-        AUBIO_ERR( "Failed to join the midi thread");
-    }}
+/*     if (dev->thread) { */
+/* 	    if (pthread_join(dev->thread, NULL)) */
+/* 		    AUBIO_ERR( "Failed to join the midi thread"); */
+/* 	    else { */
+/* 		    AUBIO_ERR("joined the midi thread\n"); */
+/* 		    dev->thread = 0; */
+/* 	    } */
+/*     } */
     switch(event->type) 
     {
         case NOTE_ON:
@@ -407,9 +412,9 @@
         snd_seq_ev_set_source(&ev, dev->seq_port);
         snd_seq_event_output_direct(dev->seq_handle, &ev);
     }
-    if (dev->thread) { if(pthread_detach(dev->thread)) {
-        AUBIO_ERR( "Failed to leave the midi thread");
-    }}
+/*     if (dev->thread) { if(pthread_detach(dev->thread)) { */
+/*         AUBIO_ERR( "Failed to leave the midi thread"); */
+/*     }} */
 }
 
 #endif /* #if ALSA_SUPPORT */
Nur in aubio-0.3.0/ext/midi: midi_alsa_seq.c~.
diff -ur aubio-0.3.0-orig/ext/midi/midi_file.c aubio-0.3.0/ext/midi/midi_file.c
--- aubio-0.3.0-orig/ext/midi/midi_file.c	2006-01-18 06:37:33.000000000 +0100
+++ aubio-0.3.0/ext/midi/midi_file.c	2006-05-26 02:20:20.000000000 +0200
@@ -65,7 +65,7 @@
     AUBIO_ERR( "Out of memory");
     return NULL;
   }
-  AUBIO_MEMSET(mf, 0, sizeof(aubio_midi_file_t));
+  AUBIO_MEMSET(mf, 0, aubio_midi_file_t);
 
   mf->c = -1;
   mf->running_status = -1;
diff -ur aubio-0.3.0-orig/ext/sndfileio.c aubio-0.3.0/ext/sndfileio.c
--- aubio-0.3.0-orig/ext/sndfileio.c	2006-04-30 18:05:14.000000000 +0200
+++ aubio-0.3.0/ext/sndfileio.c	2006-05-26 02:20:17.000000000 +0200
@@ -41,7 +41,7 @@
 aubio_sndfile_t * new_aubio_sndfile_ro(const char* outputname) {
         aubio_sndfile_t * f = AUBIO_NEW(aubio_sndfile_t);
         SF_INFO sfinfo;
-        AUBIO_MEMSET(&sfinfo, 0, sizeof (sfinfo));
+        AUBIO_MEMSET(&sfinfo, 0, sfinfo);
         sfinfo.format = 0;
 
         f->handle = sf_open (outputname, SFM_READ, &sfinfo);
@@ -69,7 +69,7 @@
 
 int aubio_sndfile_open_wo(aubio_sndfile_t * f, const char* inputname) {
         SF_INFO sfinfo;
-        AUBIO_MEMSET(&sfinfo, 0, sizeof (sfinfo));
+        AUBIO_MEMSET(&sfinfo, 0, sfinfo);
 
         /* define file output spec */
         sfinfo.samplerate = f->samplerate;

Reply via email to