Howdy, I think that after 2010/04/08 (revision 1.20 to Makefile), audio/soundtracker has been quite broken. IIRC at this point gtk version 1 (yeah, probably quite "obsolete") was being driven out of ports, but that has not happened yet. Soundtracker was updated to use gtk2, but the problem is that there appears to not be a stable gtk2 version for it.
The current version in ports crashes if you try simply "Insert" on the song editor and "Delete" right afterwards. On zaurus the app crashes at startup (I tracked this some time ago, but have forgotten how I fixed it, some uninitialized memory value was dereferenced, and it works on i386 by luck I guess). The officially supported (by the actual upstream) version still uses gtk1, and it is stable enough for real use. Thus I am asking, could it be possible to revert the change to gtk2-version? My main motivation for this is that the software is actually surprisingly useable on zaurus. Even if the bugs in gtk2-version were fixed, the gtk2-version is way too slow on zaurus to be comfortable with. If you want to try this on zaurus, I suggest you choose the "integer32"-mixer in "Audio Configuration", set "Display Oscilloscopes" to off, and in "GUI Configuration" "Asynchronous pattern editing" could be turned on (to reduce screen updates). The gtk-font should possibly be adjusted, here's what I use in ~/.gtkrc (terminus-fonts should also be installed): --- include "/usr/local/share/themes/Default/gtk/gtkrc" style "default-text" { fontset = "-xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-1" } class "GtkWidget" style "default-text" --- And finally, the patch (that mostly just reverts the gtk2-commit): Index: audio/soundtracker/Makefile =================================================================== RCS file: /usr/cvs/OpenBSD/ports/audio/soundtracker/Makefile,v retrieving revision 1.24 diff -u -p -r1.24 Makefile --- audio/soundtracker/Makefile 15 Nov 2010 00:22:48 -0000 1.24 +++ audio/soundtracker/Makefile 2 Oct 2011 08:38:16 -0000 @@ -1,13 +1,11 @@ -# $OpenBSD: Makefile,v 1.24 2010/11/15 00:22:48 espie Exp $ +# $OpenBSD: Makefile,v 1.19 2009/12/19 22:59:27 jakemsr Exp $ COMMENT= music tracking tool for X11 -V= 0.6.8 -DISTNAME= soundtracker_$V.gtk2_17092006_1613 -PKGNAME= soundtracker-$V -REVISION= 2 +DISTNAME= soundtracker-0.6.8 CATEGORIES= audio -HOMEPAGE= http://www.shaltev.org/programming.html +REVISION= 3 +HOMEPAGE= http://www.soundtracker.org/ MAINTAINER= Wilbern Cobb <wc...@openbsd.org> @@ -17,25 +15,17 @@ PERMIT_PACKAGE_FTP= Yes PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes -MASTER_SITES= http://www.shaltev.org/data/ -EXTRACT_SUFX= .tar.bz2 +MASTER_SITES= http://www.soundtracker.org/dl/v0.6/ -WANTLIB += ICE ORBit-2 SM X11 Xau Xcomposite Xcursor Xdamage Xdmcp -WANTLIB += Xext Xfixes Xi Xinerama Xrandr Xrender art_lgpl_2 atk-1.0 -WANTLIB += bonobo-2 bonobo-activation bonoboui-2 c cairo dbus-1 -WANTLIB += expat fontconfig freetype gailutil gconf-2 gdk-x11-2.0 -WANTLIB += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 gnome-2 -WANTLIB += gnome-keyring gnomecanvas-2 gnomevfs-2 gobject-2.0 -WANTLIB += gthread-2.0 gtk-x11-2.0 m pango-1.0 pangocairo-1.0 -WANTLIB += pangoft2-1.0 pixman-1 png popt pthread pthread-stubs -WANTLIB += sndio xcb xml2 z xcb-render xcb-render-util -WANTLIB += sndfile gnomeui-2 +WANTLIB= X11 Xext Xi c m pthread sndio \ + gdk glib gmodule gthread gtk sndfile LIB_DEPENDS= audio/libsndfile \ - x11/gnome/libgnomeui + x11/gtk+ MODULES= devel/gettext +USE_X11= Yes CONFIGURE_STYLE= gnu CONFIGURE_ARGS= --disable-alsa \ --disable-sgi \ @@ -44,12 +34,12 @@ CONFIGURE_ARGS= --disable-alsa \ --disable-sun \ --disable-sdl \ --disable-jack \ + --disable-gnome \ + --disable-gdk-pixbuf \ --disable-splash CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -DDRIVER_SNDIO" \ LDFLAGS="-L${LOCALBASE}/lib" \ LIBS="-lsndio" - -WRKDIST= ${WRKDIR}/soundtracker-$V.gtk2 DOCS= FAQ NEWS README \ doc/xi.txt doc/xm.txt doc/xp.txt Index: audio/soundtracker/distinfo =================================================================== RCS file: /usr/cvs/OpenBSD/ports/audio/soundtracker/distinfo,v retrieving revision 1.6 retrieving revision 1.5 diff -u -p -r1.6 -r1.5 --- audio/soundtracker/distinfo 8 Apr 2010 08:47:09 -0000 1.6 +++ audio/soundtracker/distinfo 19 Dec 2009 22:59:27 -0000 1.5 @@ -1,5 +1,5 @@ -MD5 (soundtracker_0.6.8.gtk2_17092006_1613.tar.bz2) = BbliwFt742JwPfAkMKdbzg== -RMD160 (soundtracker_0.6.8.gtk2_17092006_1613.tar.bz2) = Rna5vC4geBOB6T8PHf00XYyav5M= -SHA1 (soundtracker_0.6.8.gtk2_17092006_1613.tar.bz2) = As/MdYltV7v6NyJb+hkpG6yaQVA= -SHA256 (soundtracker_0.6.8.gtk2_17092006_1613.tar.bz2) = hoT+0PKuZrXD4LEU/3gW4140G3IaifrmIOehnTbDPdE= -SIZE (soundtracker_0.6.8.gtk2_17092006_1613.tar.bz2) = 824613 +MD5 (soundtracker-0.6.8.tar.gz) = Hlou9oniFJM+U/aHs6GZuw== +RMD160 (soundtracker-0.6.8.tar.gz) = uGv4YBPl0pWeGo27GaklXBFraNA= +SHA1 (soundtracker-0.6.8.tar.gz) = JVyHzb4sy3Fdn5egZ35FlLeQlZU= +SHA256 (soundtracker-0.6.8.tar.gz) = A7LywO26SEV+xheLChDt/jSBJUESk2cVYDoh9jiCL1A= +SIZE (soundtracker-0.6.8.tar.gz) = 1016718 Index: audio/soundtracker/files/sndio-input.c =================================================================== RCS file: /usr/cvs/OpenBSD/ports/audio/soundtracker/files/sndio-input.c,v retrieving revision 1.2 retrieving revision 1.1 diff -u -p -r1.2 -r1.1 --- audio/soundtracker/files/sndio-input.c 8 Apr 2010 08:47:09 -0000 1.2 +++ audio/soundtracker/files/sndio-input.c 19 Dec 2009 22:59:27 -0000 1.1 @@ -27,7 +27,7 @@ #include <glib.h> #include <gtk/gtk.h> -#include "driver-inout.h" +#include "driver-in.h" #include "mixer.h" #include "errors.h" @@ -203,7 +203,7 @@ sndio_savesettings(void *dp, prefs_node return TRUE; } -st_io_driver driver_in_sndio = { +st_in_driver driver_in_sndio = { { "Sndio Input", sndio_new, Index: audio/soundtracker/files/sndio-output.c =================================================================== RCS file: /usr/cvs/OpenBSD/ports/audio/soundtracker/files/sndio-output.c,v retrieving revision 1.2 retrieving revision 1.1 diff -u -p -r1.2 -r1.1 --- audio/soundtracker/files/sndio-output.c 8 Apr 2010 08:47:09 -0000 1.2 +++ audio/soundtracker/files/sndio-output.c 19 Dec 2009 22:59:27 -0000 1.1 @@ -26,7 +26,7 @@ #include <glib.h> #include <gtk/gtk.h> -#include "driver-inout.h" +#include "driver-out.h" #include "mixer.h" #include "errors.h" @@ -220,7 +220,7 @@ sndio_savesettings(void *dp, prefs_node return TRUE; } -st_io_driver driver_out_sndio = { +st_out_driver driver_out_sndio = { { "Sndio Output", sndio_new, Index: audio/soundtracker/patches/patch-app_Makefile_in =================================================================== RCS file: /usr/cvs/OpenBSD/ports/audio/soundtracker/patches/patch-app_Makefile_in,v retrieving revision 1.5 retrieving revision 1.4 diff -u -p -r1.5 -r1.4 --- audio/soundtracker/patches/patch-app_Makefile_in 8 Apr 2010 08:47:09 -0000 1.5 +++ audio/soundtracker/patches/patch-app_Makefile_in 19 Dec 2009 22:59:27 -0000 1.4 @@ -1,7 +1,7 @@ -$OpenBSD: patch-app_Makefile_in,v 1.5 2010/04/08 08:47:09 jasper Exp $ ---- app/Makefile.in.orig Wed Sep 13 16:37:27 2006 -+++ app/Makefile.in Thu Mar 25 10:50:29 2010 -@@ -661,7 +661,7 @@ info-am: +$OpenBSD: patch-app_Makefile_in,v 1.4 2009/12/19 22:59:27 jakemsr Exp $ +--- app/Makefile.in.orig Sat Feb 25 05:37:15 2006 ++++ app/Makefile.in Fri Dec 18 17:40:10 2009 +@@ -665,7 +665,7 @@ info-am: install-data-am: @@ -10,7 +10,7 @@ $OpenBSD: patch-app_Makefile_in,v 1.5 20 install-info: install-info-recursive -@@ -709,29 +709,6 @@ uninstall-info: uninstall-info-recursive +@@ -713,29 +713,6 @@ uninstall-info: uninstall-info-recursive uninstall-info-recursive uninstall-recursive Index: audio/soundtracker/patches/patch-app_audio_c =================================================================== RCS file: /usr/cvs/OpenBSD/ports/audio/soundtracker/patches/patch-app_audio_c,v retrieving revision 1.2 retrieving revision 1.1 diff -u -p -r1.2 -r1.1 --- audio/soundtracker/patches/patch-app_audio_c 8 Apr 2010 08:47:09 -0000 1.2 +++ audio/soundtracker/patches/patch-app_audio_c 19 Dec 2009 22:59:27 -0000 1.1 @@ -1,6 +1,6 @@ -$OpenBSD: patch-app_audio_c,v 1.2 2010/04/08 08:47:09 jasper Exp $ ---- app/audio.c.orig Thu Mar 25 10:48:05 2010 -+++ app/audio.c Thu Mar 25 10:50:18 2010 +$OpenBSD: patch-app_audio_c,v 1.1 2009/12/19 22:59:27 jakemsr Exp $ +--- app/audio.c.orig Sat Feb 25 04:30:54 2006 ++++ app/audio.c Fri Dec 18 20:07:19 2009 @@ -52,6 +52,11 @@ #include "gui-settings.h" #include "tracer.h" @@ -11,22 +11,23 @@ $OpenBSD: patch-app_audio_c,v 1.2 2010/0 +#endif + st_mixer *mixer = NULL; - st_io_driver *playback_driver = NULL; - st_io_driver *editing_driver = NULL; -@@ -391,16 +396,37 @@ static void audio_thread (void){ - static gchar *msgbuf = NULL; - static gint msgbuflen = 0; + st_out_driver *playback_driver = NULL; + st_out_driver *editing_driver = NULL; +@@ -454,6 +459,10 @@ audio_thread (void) + static char *msgbuf = NULL; + static int msgbuflen = 0; +#ifdef DRIVER_SNDIO + struct sio_hdl *hdl; +#endif + - audio_raise_priority(); + audio_raise_priority(); - loop: pfd[0].revents = 0; + loop: +@@ -461,10 +470,27 @@ audio_thread (void) - for(pl = inputs, npl = 1; pl; pl = pl->next, npl++) { - pi = pl->data; + for(pl = inputs, npl = 1; pl; pl = pl->next, npl++) { + pi = pl->data; + +#ifdef DRIVER_SNDIO + if (pi->fd == -1) { @@ -43,31 +44,34 @@ $OpenBSD: patch-app_audio_c,v 1.2 2010/0 + continue; + } +#else - if(pi->fd == -1) { - inputs = g_list_remove(inputs, pi); - goto loop; - } -+#endif - pfd[npl].events = pfd[npl].revents = 0; - pfd[npl].fd = pi->fd; - if(pi->condition & GDK_INPUT_READ) pfd[npl].events |= POLLIN; -@@ -495,7 +521,19 @@ static void audio_thread (void){ + if(pi->fd == -1) { + inputs = g_list_remove(inputs, pi); + goto loop; } - for(pl = inputs, i = 1; i < npl; pl = pl->next, i++) { - pi = pl->data; ++#endif + pfd[npl].events = pfd[npl].revents = 0; + pfd[npl].fd = pi->fd; + if(pi->condition & GDK_INPUT_READ) +@@ -564,8 +590,22 @@ audio_thread (void) + + for(pl = inputs, i = 1; i < npl; pl = pl->next, i++) { + pi = pl->data; ++ +#ifdef DRIVER_SNDIO -+ if(pi->fd == -1) { -+ hdl = sndio_driver_get_hdl(pi->data); -+ if (hdl && (pi->condition & GDK_INPUT_WRITE)) { -+ pfd[i].revents = sio_revents(hdl, &pfd[i]); -+ } else { -+ continue; -+ } -+ pfd[i].events = POLLOUT; -+ } ++ if(pi->fd == -1) { ++ hdl = sndio_driver_get_hdl(pi->data); ++ if (hdl && (pi->condition & GDK_INPUT_WRITE)) { ++ pfd[i].revents = sio_revents(hdl, &pfd[i]); ++ } else { ++ continue; ++ } ++ pfd[i].events = POLLOUT; ++ } +#else - if(pi->fd == -1) continue; + if(pi->fd == -1) + continue; +#endif - if(pfd[i].revents & pfd[i].events) { - int x = 0; - if(pfd[i].revents & POLLIN) x |= GDK_INPUT_READ; ++ + if(pfd[i].revents & pfd[i].events) { + int x = 0; + if(pfd[i].revents & POLLIN)