wmmixer: fix display behaviour on netbsd, reported by snow flurrydiff -r1.21 -r1.22 pkgsrc/audio/wmmixer/Makefile
(nia)
@@ -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 | |||
3 | DISTNAME= wmmixer-1.8 | 3 | DISTNAME= wmmixer-1.8 | |
4 | PKGREVISION= 1 | |||
4 | CATEGORIES= audio | 5 | CATEGORIES= audio | |
5 | MASTER_SITES= https://www.dockapps.net/download/ | 6 | MASTER_SITES= https://www.dockapps.net/download/ | |
6 | 7 | |||
7 | MAINTAINER= pr@alles.prima.de | 8 | MAINTAINER= pr@alles.prima.de | |
8 | HOMEPAGE= https://www.dockapps.net/wmmixer | 9 | HOMEPAGE= https://www.dockapps.net/wmmixer | |
9 | COMMENT= Mixer designed for WindowMaker (dockapp) | 10 | COMMENT= Mixer designed for WindowMaker (dockapp) | |
10 | LICENSE= gnu-gpl-v2 | 11 | LICENSE= gnu-gpl-v2 | |
11 | 12 | |||
12 | GNU_CONFIGURE= yes | 13 | GNU_CONFIGURE= yes | |
13 | USE_LANGUAGES= c c++03 | 14 | USE_LANGUAGES= c c++03 | |
14 | USE_TOOLS+= pkg-config | 15 | USE_TOOLS+= pkg-config | |
15 | 16 | |||
16 | .include "../../mk/oss.buildlink3.mk" | 17 | .include "../../mk/oss.buildlink3.mk" |
@@ -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 | |||
3 | SHA1 (wmmixer-1.8.tar.gz) = d93af3581e6c39a33b890259850567a6fd904847 | 3 | SHA1 (wmmixer-1.8.tar.gz) = d93af3581e6c39a33b890259850567a6fd904847 | |
4 | RMD160 (wmmixer-1.8.tar.gz) = a0089a8a9c4d98295578035b035f1a88506072da | 4 | RMD160 (wmmixer-1.8.tar.gz) = a0089a8a9c4d98295578035b035f1a88506072da | |
5 | SHA512 (wmmixer-1.8.tar.gz) = 3b5c7f27da6ed2cbf8d06c431584186799d17e72db663db6ffc488f777c31de0b13fcc3f665099925efab036a14e70da4bbbabaff6ffc12280698e91f555e276 | 5 | SHA512 (wmmixer-1.8.tar.gz) = 3b5c7f27da6ed2cbf8d06c431584186799d17e72db663db6ffc488f777c31de0b13fcc3f665099925efab036a14e70da4bbbabaff6ffc12280698e91f555e276 | |
6 | Size (wmmixer-1.8.tar.gz) = 102723 bytes | 6 | Size (wmmixer-1.8.tar.gz) = 102723 bytes | |
7 | SHA1 (patch-mixctl.cc) = 6301b07ea04d213c1c1ff6677afcf273d85328ce |
$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;
}