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.dediff -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;