Fri Aug 13 13:01:51 2021 UTC ()
wmmixer: fix display behaviour on netbsd, reported by snow flurry


(nia)
diff -r1.21 -r1.22 pkgsrc/audio/wmmixer/Makefile
diff -r1.9 -r1.10 pkgsrc/audio/wmmixer/distinfo
diff -r0 -r1.1 pkgsrc/audio/wmmixer/patches/patch-mixctl.cc

cvs diff -r1.21 -r1.22 pkgsrc/audio/wmmixer/Makefile (expand / switch to unified diff)

--- pkgsrc/audio/wmmixer/Makefile 2020/11/24 11:28:29 1.21
+++ pkgsrc/audio/wmmixer/Makefile 2021/08/13 13:01:51 1.22
@@ -1,16 +1,17 @@ @@ -1,16 +1,17 @@
1# $NetBSD: Makefile,v 1.21 2020/11/24 11:28:29 nia Exp $ 1# $NetBSD: Makefile,v 1.22 2021/08/13 13:01:51 nia Exp $
2 2
3DISTNAME= wmmixer-1.8 3DISTNAME= wmmixer-1.8
 4PKGREVISION= 1
4CATEGORIES= audio 5CATEGORIES= audio
5MASTER_SITES= https://www.dockapps.net/download/ 6MASTER_SITES= https://www.dockapps.net/download/
6 7
7MAINTAINER= pr@alles.prima.de 8MAINTAINER= pr@alles.prima.de
8HOMEPAGE= https://www.dockapps.net/wmmixer 9HOMEPAGE= https://www.dockapps.net/wmmixer
9COMMENT= Mixer designed for WindowMaker (dockapp) 10COMMENT= Mixer designed for WindowMaker (dockapp)
10LICENSE= gnu-gpl-v2 11LICENSE= gnu-gpl-v2
11 12
12GNU_CONFIGURE= yes 13GNU_CONFIGURE= yes
13USE_LANGUAGES= c c++03 14USE_LANGUAGES= c c++03
14USE_TOOLS+= pkg-config 15USE_TOOLS+= pkg-config
15 16
16.include "../../mk/oss.buildlink3.mk" 17.include "../../mk/oss.buildlink3.mk"

cvs diff -r1.9 -r1.10 pkgsrc/audio/wmmixer/distinfo (expand / switch to unified diff)

--- pkgsrc/audio/wmmixer/distinfo 2020/11/24 11:28:29 1.9
+++ pkgsrc/audio/wmmixer/distinfo 2021/08/13 13:01:51 1.10
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
1$NetBSD: distinfo,v 1.9 2020/11/24 11:28:29 nia Exp $ 1$NetBSD: distinfo,v 1.10 2021/08/13 13:01:51 nia Exp $
2 2
3SHA1 (wmmixer-1.8.tar.gz) = d93af3581e6c39a33b890259850567a6fd904847 3SHA1 (wmmixer-1.8.tar.gz) = d93af3581e6c39a33b890259850567a6fd904847
4RMD160 (wmmixer-1.8.tar.gz) = a0089a8a9c4d98295578035b035f1a88506072da 4RMD160 (wmmixer-1.8.tar.gz) = a0089a8a9c4d98295578035b035f1a88506072da
5SHA512 (wmmixer-1.8.tar.gz) = 3b5c7f27da6ed2cbf8d06c431584186799d17e72db663db6ffc488f777c31de0b13fcc3f665099925efab036a14e70da4bbbabaff6ffc12280698e91f555e276 5SHA512 (wmmixer-1.8.tar.gz) = 3b5c7f27da6ed2cbf8d06c431584186799d17e72db663db6ffc488f777c31de0b13fcc3f665099925efab036a14e70da4bbbabaff6ffc12280698e91f555e276
6Size (wmmixer-1.8.tar.gz) = 102723 bytes 6Size (wmmixer-1.8.tar.gz) = 102723 bytes
 7SHA1 (patch-mixctl.cc) = 6301b07ea04d213c1c1ff6677afcf273d85328ce

File Added: pkgsrc/audio/wmmixer/patches/patch-mixctl.cc
$NetBSD: patch-mixctl.cc,v 1.1 2021/08/13 13:01:51 nia Exp $

Workaround:
modify_counter is not incremented by NetBSD's libossaudio.

--- mixctl.cc.orig	2017-08-27 20:35:35.000000000 +0000
+++ mixctl.cc
@@ -243,16 +243,11 @@ char* MixCtl::getLabel(int dev)
 //----------------------------------------------------------------------
 bool MixCtl::hasChanged()
 {
-  struct mixer_info mixer_info1;
-  ioctl(mixfd, SOUND_MIXER_INFO, &mixer_info1);
-
-  if (mixer_info1.modify_counter == modify_counter)
+  for(int i=0;i<SOUND_MIXER_NRDEVICES;i++)
     {
-      return false;
-    }
-  else
-    {
-      modify_counter = mixer_info1.modify_counter;
-      return true;
+      int val = mixer_devices_[i].value;
+      if(val!=readVol(i, true))
+        return true;
     }
+  return false;
 }