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)

Reply via email to