On Sun, 20 May 2007, Nedko Arnaudov wrote:
if test -f ./phasex.desktop; then \
/bin/install -c -m 644 ./phasex.desktop /usr/share/phasex; \
desktop-file-install --vendor=sysex --add-category="Audio"
--add-category="AudioVideo" \
--add-category="X-MIDI" --add-category="X-JACK"
./phasex.desktop; \
fi
/bin/sh: line 2: desktop-file-install: command not found
make[2]: *** [install-data-local] Error 127
make[2]: Leaving directory `/home/nedko/sandbox/phasex-0.10.2'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/nedko/sandbox/phasex-0.10.2'
make: *** [install-recursive] Error 1
Thanks for pointing this one. Looks like I forgot to check to make
sure 'desktop-file-install' is actually available. Fixed in my
codebase now, and will be out with the next release. This is the
very last thing that happens in a 'make install', so at least it
doesn't break anything else in the install.
I'm able to run what is installed. I still get
segfault on exit.
This one looks like you may have hit a case where the engine
thread is waiting on the buffer ready condition to be broadcast from
the jack thread, which never comes because JACK requested a client
shutdown instead of running the process callback. Does this patch
help?
--- phasex-0.10.2/src/jack.c 2007-05-19 15:22:04.000000000 -0700
+++ phasex/src/jack.c 2007-05-21 01:12:29.000000000 -0700
@@ -231,6 +231,12 @@
*****************************************************************************/
void
jack_shutdown_handler(void *arg) {
+ if (pthread_mutex_trylock(&buffer_mutex) == 0) {
+ buffer_full = 0;
+ buffer_needed = buffer_size;
+ pthread_cond_broadcast(&buffer_has_space);
+ pthread_mutex_unlock(&buffer_mutex);
+ }
if (client != NULL) {
jack_deactivate(client);
jack_client_close(client);
The ringbuffer mutex and condition really need to go away. I'm
planning on it as part of the move to support other audio
frameworks.
Thanks again for you help, Nedko!
--ww