diff options
author | ryoon <ryoon@pkgsrc.org> | 2014-06-09 12:34:26 +0000 |
---|---|---|
committer | ryoon <ryoon@pkgsrc.org> | 2014-06-09 12:34:26 +0000 |
commit | bae7167a83467bc3d358cc842f9c59032c752036 (patch) | |
tree | 54fd7604682f6238c5a7e023ed3725fc598b6a71 /audio/alsa-utils | |
parent | d8658ad5bdd3aab78d03215e9d209437e56b7f95 (diff) | |
download | pkgsrc-bae7167a83467bc3d358cc842f9c59032c752036.tar.gz |
Update to 1.0.27.2
Changelog:
Changelog between 1.0.27.1 and 1.0.27.2 releases
Core
Release v1.0.27.2
Require alsa-lib 1.0.27.
ALSA Control (alsactl)
alsactl: return back the udevrules_DATA rule for 90-alsa-restore.rules
alsactl init: ca0106 file was omitted
Speaker Test
speaker-test: Fix wrong wave file played back in chmap setup
amixer
amixer: Print TLV of channel map controls
amixer: fix print_dB for -0.99 .. -0.01 range
amixer: Fix the hctl elem search bug
Changelog between 1.0.27 and 1.0.27.1 releases
Core
Release v1.0.27.1
Add AM_MAINTAINER_MODE([enable]) to configure.in.
ALSA Control (alsactl)
alsactl: remove 90-alsa-restore.rules from the tar ball
Fix a build failure due to a misused format string.
alsactl: sprintf to snprintf prevent buffer overflow
alsactl: Fix the string size for the lock file contents
alsactl: Fix a typo in systemd alsa-restore.service
ALSA RawMidi Utility (amidi)
Several formatting fixes for manpages.
Speaker Test
Several formatting fixes for manpages.
Fix several typos in manpage and help strings.
alsaloop
Several formatting fixes for manpages.
amixer
Several formatting fixes for manpages.
aplay/arecord
Several formatting fixes for manpages.
Fix several typos in manpage and help strings.
arecord: add a missing break to the capture loop
aseqnet
Fix several typos in manpage and help strings.
iecset
Fix several typos in manpage and help strings.
Changelog between 1.0.26 and 1.0.27 releases
Core
Release v1.0.27
alsactl: add --with-alsactl-daemonswitch=FILE to the global configure.in
alsactl: move systemd config to the daemon mode
configure: Fix obsolete AM_CONFIG_HEADER macro
ALSA Control (alsactl)
alsactl: add --with-alsactl-daemonswitch=FILE to the global configure.in
alsactl: revert back old systemd static units with the /etc/alsa/state-daemon.conf switch
alsactl: add --nice and --sched-idle options
alsactl: daemon mode - remove disconnected cards
alsactl: move systemd config to the daemon mode
alsactl: add event filter and cache for the daemon mode
alsactl: Improved command line argument handling...
alsactl: add the daemon mode
alsactl: small code reorder to avoid memory leaks
alsactl: safe state store and memory allocation cleanups
Speaker Test
speaker-test: change the interrupt handling logic to follow aplay/arecord
speaker-test: try to call snd_pcm_close() when a signal is received
speaker-test: increase the maximum supported rate to 384000
speaker-test: Update man page for chmap option
speaker-test: Add support for channel mapping API
alsaloop
alsaloop: Fix missing #endif
alsaloop: Make alsaloop working without libsamplerate
alsamixer
alsamixer: Use isatty() to check the terminal (interactive) availability
alsamixer: fix handling of removed controls
amixer
amixer: Use the alsa-lib functions for id print and parse and value parse
amixer: Fix dB value outputs in amixer contents
amixer: Fix parsing container TLV entries
amixer: fix rounding of relative changes
aplay/arecord
aplay/arecord: change the interrupt handling using snd_pcm_abort()
aplay/arecord: added isatty() check (interactive mode)
aplay: Add the support for big-endian WAV format (RIFX)
aplay: Show usage if no parameter is passed
aplay: fix typo & silence warning..
aplay: More support for channel map option
aplay: Add support for channel mapping
Changelog between 1.0.25 and 1.0.26 releases
Core
Release v1.0.26
build: Don't call AC_CHECK_FUNC with --disable-alsatest
configure.in: use AS_HELP_STRING everywhere
configure.in: look for ncurses pkg-config first
Trivial fixes in INSTALL file
ALSA Control (alsactl)
alsactl: Add reference to alsactl_init(7) in alsactl man page
alsactl: Read only *.conf files when a directory is passed via INCLUDE
alsactl: Do not access other cards than specified for init
alsaloop
alsaloop: fix the avail_min setup
alsaloop: Improve xrun_sync - fill missing playback samples
alsamixer
amixer, alsamixer: Add description of volume-mapping
amixer
amixer, alsamixer: Add description of volume-mapping
amixer: Add the support for mapped volumes like alsamixer
aplay/arecord
aplay: Use open() instead of open64()
aplay: Fix signal.h include
aplay: print vu-meter to stderr, not stdout
aplay/arecord: option to treat any xrun as fatal
aplay - option to dump HW parameters
Fix the examples in aplay.1
aseqnet
aseqnet: Remove obsoleted .LO entry from man page
cvscompile
Remove the cvscompile file
Changelog between 1.0.24 and 1.0.25 releases
Core
Release v1.0.25
alsactl: add support for recreating enumerated user controls
fix use of $(SED)
Updated COPYING with the recent FSF address
Release v1.0.24.2
Release v1.0.24.1
ALSA Control (alsactl)
Alsa-utils: Fix typo causing some volumes not to be initialized
alsactl: Initialize Front Speaker, etc
alsactl: add support for recreating enumerated user controls
fix use of $(SED)
Revert "alsactl - Display help for names command"
alsactl init: Mute CD Playback volume by default
Speaker Test
speaker-test.1: Clarify man page by giving examples
alsaconf
fix use of $(SED)
alsaloop
alsaloop: Use AM_CFLAGS in Makefile.am
alsaloop: another try to force correct formats for libsamplerate
alsaloop: libsamplerate requires specific formats, force them for slave mode
alsamixer
alsamixer: Fix X-win related crash for PulseAudio plugin (bad linking)
alsamixer: Fix 64bit issues
alsamixer: fix build on uClibc
alsamixer: fix display of active/inactive controls
alsaucm
alsaucm: Don't double-free empty lists
alsaucm: Add list1 command for non-tuple lists
alsaucm: do not bail out in the interactive mode upon error
alsaucm: fix interactive mode, add batch mode
alsaucm: fix list command and output
amixer
alsa-utils: amixer: Fix SND_CTL_TLVT_DB_RANGE handling
aplay/arecord
aplay: Fix spelling error
aplay: increase channel limit to 256
aplay: Use standard endian convesions
aplay: Add include files for mkdir()
aplay: Avoid recursive signal handling
aplay: Add -i option for interactive mode
aplaymidi/arecordmidi
aplaymidi: clarify multi-port documentation
Changelog between 1.0.23 and 1.0.24 releases
Core
Release v1.0.24
configure.in: Fix xmlto detection
alsactl: Add a --with-udev-rules-dir configure option.
configure.in: Fix variable name
alsactl: Move asound.state location to /var/lib/alsa
alsactl: systemd and udev hookup
Introduce alsaloop utility
alsaucm: Add Use Case Manager utility
Revert wrong parts of "alsactl: use snd_config_imake* functions"
alsactl: use snd_config_imake* functions
ALSA Control (alsactl)
alsactl: Add a --with-udev-rules-dir configure option.
alsactl: Move asound.state location to /var/lib/alsa
alsactl: systemd and udev hookup
alsactl init: Initialize also "Master Front Playback Volume" & "Switch"
alsactl init: Handle "Capture Source" and "Mic Boost" in the default script
alsactl: Change handling of inactive controls
alsactl init: use "generic method" instead "guess method"
alsactl init: Use "Found hardware:" instead "Unknown hardware:"
Revert wrong parts of "alsactl: use snd_config_imake* functions"
alsactl: change format of comment node in state file
alsactl: correctly restore dB values of controls with changed range
alsactl: remove open-coded search
alsactl: move alloca out of loop
alsactl: use snd_config_imake* functions
Speaker Test
speaker-test: Don't retry after fatal errors
speaker-test: add test pattern for PCM layer debugging purposes
aconnect
Revert wrong parts of "alsactl: use snd_config_imake* functions"
alsactl: use snd_config_imake* functions
alsaconf
alsactl: Move asound.state location to /var/lib/alsa
alsaloop
alsaloop: rework the ctl event handling routine
alsaloop: Delay the restart a bit (to handle snd-aloop playback xruns better)
alsaloop: Fix latency print
alsaloop: fixes, added -W/--wake option
alsaloop: add -U/--xrun to alsaloop.1 man page
alsaloop: added xrun profiling support (-U,--xrun), added SIGUSR1 state dump
alsaloop: add --pctl and --cctl options to man page
alsaloop: add --pctl and --cctl options
alsaloop: Fixes and added --workaround option
alsaloop: Fix command-line parsing and pollfd initialization
alsaloop: Add OSS mixer redirection support
alsaloop: added resampling for unsupported soundcard rates
alsaloop: fix resample argument parsing
alsaloop: fix -a option and slave mode processing
alsaloop: Fix thread handling
alsaloop: Fix loopbacks pointer initialization and allocation, fix -T option
Introduce alsaloop utility
alsamixer
alsamixer: use cubic scale for volume bars
alsamixer: increase step size for big control value ranges
alsamixer: remove obsolete e-mail
alsamixer: remove obsolete e-mail
alsaucm
alsaucm: fix command line arguments parsing
ucm: added listcards command
alsaucm: initial rewrite to use update API
alsaucm: Report failure to set a device due to missing verb setup
alsaucm: Add Use Case Manager utility
amixer
amixer: fix parsing of control ID name
aplay/arecord
aplay/arecord: term_c_lflag variable might be unitialized in some cases
aplay: fix termio settings - return back old c_flag value on exit
aplay/arecord: Added hardware pause support (press SPACE or Enter)
Changelog between 1.0.22 and 1.0.23 releases
Core
Release v1.0.23
ALSA Control (alsactl)
alsactl: update debug prints in state.c
alsactl: add more debug prints to state.c
alsactl: improve -d to get warnings and store exitcode to runstate file
alsactl: Fix return code
ALSA RawMidi Utility (amidi)
amidi: fix port listing
Speaker Test
speaker-test: add fflush(stdout) to write_loop
aconnect
aconnect -x: Do not update index after removal of connection.
alsamixer
alsamixer: handle out-of-range volume values
alsamixer: fix division by zero
amixer
amixer: add support for TLV dB minmax types
amixer: fix display of unreadable control elements
aplay/arecord
aplay -- update the man file
aplay -- add features for audio surveilance
aplay - add option --process-id-file
aplay: Dump PCM state on xrun when verbose mode is active
Diffstat (limited to 'audio/alsa-utils')
-rw-r--r-- | audio/alsa-utils/Makefile | 8 | ||||
-rw-r--r-- | audio/alsa-utils/PLIST | 6 | ||||
-rw-r--r-- | audio/alsa-utils/distinfo | 17 | ||||
-rw-r--r-- | audio/alsa-utils/patches/patch-aa | 10 | ||||
-rw-r--r-- | audio/alsa-utils/patches/patch-ab | 20 | ||||
-rw-r--r-- | audio/alsa-utils/patches/patch-ad | 10 | ||||
-rw-r--r-- | audio/alsa-utils/patches/patch-alsaloop_alsaloop.c | 26 | ||||
-rw-r--r-- | audio/alsa-utils/patches/patch-alsaloop_pcmjob.c | 38 | ||||
-rw-r--r-- | audio/alsa-utils/patches/patch-alsamixer_volume__mapping.c | 19 |
9 files changed, 123 insertions, 31 deletions
diff --git a/audio/alsa-utils/Makefile b/audio/alsa-utils/Makefile index 90ecbd721b2..7393a0880e6 100644 --- a/audio/alsa-utils/Makefile +++ b/audio/alsa-utils/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.11 2014/05/04 04:29:20 rodent Exp $ +# $NetBSD: Makefile,v 1.12 2014/06/09 12:34:26 ryoon Exp $ # -DISTNAME= alsa-utils-1.0.22 +DISTNAME= alsa-utils-1.0.27.2 CATEGORIES= audio MASTER_SITES= ftp://ftp.alsa-project.org/pub/utils/ MASTER_SITES+= ftp://gd.tuwien.ac.at/opsys/linux/alsa/utils/ @@ -17,6 +17,10 @@ USE_PKGLOCALEDIR= yes USE_NCURSES= yes LDFLAGS.DragonFly= -lm LDFLAGS.SunOS+= -lm -lsocket -lnsl +CPPFLAGS.NetBSD+= -D__u32=uint32_t -D__u64=uint64_t +CPPFLAGS.NetBSD+= -Dbswap_16=bswap16 -Dbswap_32=bswap32 + +CFLAGS+= -g REPLACE_BASH= alsaconf/alsaconf.in diff --git a/audio/alsa-utils/PLIST b/audio/alsa-utils/PLIST index c7d903a94e8..abbf5696cf2 100644 --- a/audio/alsa-utils/PLIST +++ b/audio/alsa-utils/PLIST @@ -1,6 +1,8 @@ -@comment $NetBSD: PLIST,v 1.2 2009/06/14 17:32:01 joerg Exp $ +@comment $NetBSD: PLIST,v 1.3 2014/06/09 12:34:26 ryoon Exp $ bin/aconnect +bin/alsaloop bin/alsamixer +bin/alsaucm bin/amidi bin/amixer bin/aplay @@ -14,6 +16,7 @@ bin/speaker-test man/fr/man8/alsaconf.8 man/man1/aconnect.1 man/man1/alsactl.1 +man/man1/alsaloop.1 man/man1/alsamixer.1 man/man1/amidi.1 man/man1/amixer.1 @@ -30,6 +33,7 @@ man/man8/alsaconf.8 sbin/alsaconf sbin/alsactl share/alsa/init/00main +share/alsa/init/ca0106 share/alsa/init/default share/alsa/init/hda share/alsa/init/help diff --git a/audio/alsa-utils/distinfo b/audio/alsa-utils/distinfo index ee0e3d89e8c..007603ecaab 100644 --- a/audio/alsa-utils/distinfo +++ b/audio/alsa-utils/distinfo @@ -1,9 +1,12 @@ -$NetBSD: distinfo,v 1.5 2012/02/15 19:46:30 hans Exp $ +$NetBSD: distinfo,v 1.6 2014/06/09 12:34:26 ryoon Exp $ -SHA1 (alsa-utils-1.0.22.tar.bz2) = 3587dc19d9a60ab9bb2bfe2d23491230eae99fe1 -RMD160 (alsa-utils-1.0.22.tar.bz2) = f9f9c3cc81e9c0d97fd62c3f91424a8f117ca6c3 -Size (alsa-utils-1.0.22.tar.bz2) = 1075216 bytes -SHA1 (patch-aa) = d44e1fb7a27a8002425c90ce00e5f5970e1a1265 -SHA1 (patch-ab) = b87bac423c243e7c0dabf1e99cd16ae10f637c31 +SHA1 (alsa-utils-1.0.27.2.tar.bz2) = dfec4691dde6b2cee292bbd10f0f368158713e8f +RMD160 (alsa-utils-1.0.27.2.tar.bz2) = 05432f3f795a43a42d43e7589235060eb83298f6 +Size (alsa-utils-1.0.27.2.tar.bz2) = 1143802 bytes +SHA1 (patch-aa) = 78087e7a7fe860e002d592b0c7b83e98b10ea2c3 +SHA1 (patch-ab) = ecc172cd62997d6c645b5e798776cc98a493cd61 SHA1 (patch-ac) = 5f13043e6f7864bb88b13f0123ce8114995db8be -SHA1 (patch-ad) = 1bbc726d59c2aa6b3361a6687c4770e6ffe86660 +SHA1 (patch-ad) = 4da5adfbd3fcc0611c6394bf00f2b684e735dbd2 +SHA1 (patch-alsaloop_alsaloop.c) = c8dee09e2d6e9082448f9bb003accb62ebd60d8c +SHA1 (patch-alsaloop_pcmjob.c) = ae340dde8532d3a1253d4ff38782f17fbf2d381e +SHA1 (patch-alsamixer_volume__mapping.c) = 8c2f00a170238653a557387e878524e8d3aceb18 diff --git a/audio/alsa-utils/patches/patch-aa b/audio/alsa-utils/patches/patch-aa index 94c101b84d1..e5a48681c4f 100644 --- a/audio/alsa-utils/patches/patch-aa +++ b/audio/alsa-utils/patches/patch-aa @@ -1,13 +1,13 @@ -$NetBSD: patch-aa,v 1.2 2010/02/16 18:28:01 wiz Exp $ +$NetBSD: patch-aa,v 1.3 2014/06/09 12:34:26 ryoon Exp $ ---- configure.orig 2008-10-29 08:48:06.000000000 -0400 +--- configure.orig 2013-07-10 07:29:37.000000000 +0000 +++ configure -@@ -6430,7 +6430,7 @@ if test "$alsa_prefix" != "" ; then +@@ -7112,7 +7112,7 @@ if test "$alsa_prefix" != "" ; then LDFLAGS="$LDFLAGS $ALSA_LIBS" fi -ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" +ALSA_LIBS="$(pkg-config --libs alsa)" LIBS="$ALSA_LIBS $LIBS" - { echo "$as_me:$LINENO: result: $ALSA_LIBS" >&5 - echo "${ECHO_T}$ALSA_LIBS" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ALSA_LIBS" >&5 + $as_echo "$ALSA_LIBS" >&6; } diff --git a/audio/alsa-utils/patches/patch-ab b/audio/alsa-utils/patches/patch-ab index cb8093e2037..2f0724c94d1 100644 --- a/audio/alsa-utils/patches/patch-ab +++ b/audio/alsa-utils/patches/patch-ab @@ -1,21 +1,21 @@ -$NetBSD: patch-ab,v 1.3 2012/02/15 19:46:31 hans Exp $ +$NetBSD: patch-ab,v 1.4 2014/06/09 12:34:26 ryoon Exp $ ---- aplay/aplay.c.orig 2008-12-18 22:21:06.000000000 -0500 +--- aplay/aplay.c.orig 2013-07-09 15:28:37.000000000 +0000 +++ aplay/aplay.c -@@ -45,7 +45,11 @@ - #include <sys/uio.h> +@@ -48,7 +48,11 @@ #include <sys/time.h> - #include <sys/signal.h> -+#if defined(__NetBSD__) || defined(__DragonFly__) -+#include <sys/endian.h> + #include <sys/stat.h> + #include <sys/types.h> ++#if defined(__linux__) + #include <endian.h> +#else - #include <asm/byteorder.h> ++#include <sys/endian.h> +#endif #include "aconfig.h" #include "gettext.h" #include "formats.h" -@@ -55,6 +59,22 @@ - #define LLONG_MAX 9223372036854775807LL +@@ -70,6 +74,22 @@ + #define be32toh(x) __be32_to_cpu(x) #endif +#if defined(__NetBSD__) || defined(__DragonFly__) diff --git a/audio/alsa-utils/patches/patch-ad b/audio/alsa-utils/patches/patch-ad index c893e32ef04..fc69e483dd9 100644 --- a/audio/alsa-utils/patches/patch-ad +++ b/audio/alsa-utils/patches/patch-ad @@ -1,15 +1,13 @@ -$NetBSD: patch-ad,v 1.5 2012/02/15 19:46:31 hans Exp $ +$NetBSD: patch-ad,v 1.6 2014/06/09 12:34:26 ryoon Exp $ ---- speaker-test/speaker-test.c.orig 2009-12-16 15:18:52.000000000 +0000 +--- speaker-test/speaker-test.c.orig 2013-07-09 15:28:37.000000000 +0000 +++ speaker-test/speaker-test.c -@@ -44,7 +44,18 @@ +@@ -44,7 +44,16 @@ #include <getopt.h> #include <inttypes.h> #include <ctype.h> +#if defined(__NetBSD__) || defined(__DragonFly__) +#include <sys/endian.h> -+#define bswap_16 bswap16 -+#define bswap_32 bswap32 +#define ESTRPIPE EPIPE +#elif defined(__sun) +#include <sys/byteorder.h> @@ -18,6 +16,6 @@ $NetBSD: patch-ad,v 1.5 2012/02/15 19:46:31 hans Exp $ +#else #include <byteswap.h> +#endif + #include <signal.h> #define ALSA_PCM_NEW_HW_PARAMS_API - #define ALSA_PCM_NEW_SW_PARAMS_API diff --git a/audio/alsa-utils/patches/patch-alsaloop_alsaloop.c b/audio/alsa-utils/patches/patch-alsaloop_alsaloop.c new file mode 100644 index 00000000000..c0bd39defc6 --- /dev/null +++ b/audio/alsa-utils/patches/patch-alsaloop_alsaloop.c @@ -0,0 +1,26 @@ +$NetBSD: patch-alsaloop_alsaloop.c,v 1.1 2014/06/09 12:34:26 ryoon Exp $ + +--- alsaloop/alsaloop.c.orig 2013-07-09 15:28:37.000000000 +0000 ++++ alsaloop/alsaloop.c +@@ -24,6 +24,10 @@ + #include <stdlib.h> + #include <string.h> + #include <sched.h> ++/* For ERESTART */ ++#if defined(__NetBSD__) ++#define _KMEMUSER 1 ++#endif + #include <errno.h> + #include <getopt.h> + #include <alsa/asoundlib.h> +@@ -34,6 +38,10 @@ + #include <sys/signal.h> + #include "alsaloop.h" + ++#if !defined(ESTRPIPE) ++#define ESTRPIPE EPIPE ++#endif ++ + struct loopback_thread { + int threaded; + pthread_t thread; diff --git a/audio/alsa-utils/patches/patch-alsaloop_pcmjob.c b/audio/alsa-utils/patches/patch-alsaloop_pcmjob.c new file mode 100644 index 00000000000..99b15bd84d2 --- /dev/null +++ b/audio/alsa-utils/patches/patch-alsaloop_pcmjob.c @@ -0,0 +1,38 @@ +$NetBSD: patch-alsaloop_pcmjob.c,v 1.1 2014/06/09 12:34:26 ryoon Exp $ + +--- alsaloop/pcmjob.c.orig 2013-07-09 15:28:37.000000000 +0000 ++++ alsaloop/pcmjob.c +@@ -25,6 +25,10 @@ + #include <stdlib.h> + #include <string.h> + #include <sched.h> ++/* For ERESTART */ ++#if defined(__NetBSD__) ++#define _KMEMUSER 1 ++#endif + #include <errno.h> + #include <getopt.h> + #include <alsa/asoundlib.h> +@@ -34,6 +38,10 @@ + #include <pthread.h> + #include "alsaloop.h" + ++#if !defined(ESTRPIPE) ++#define ESTRPIPE EPIPE ++#endif ++ + #define XRUN_PROFILE_UNKNOWN (-10000000) + + static int set_rate_shift(struct loopback_handle *lhandle, double pitch); +@@ -63,7 +71,11 @@ static const char *src_types[] = { + #endif + + static pthread_mutex_t pcm_open_mutex = ++#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) + PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; ++#else ++ PTHREAD_MUTEX_INITIALIZER; ++#endif + + static inline void pcm_open_lock(void) + { diff --git a/audio/alsa-utils/patches/patch-alsamixer_volume__mapping.c b/audio/alsa-utils/patches/patch-alsamixer_volume__mapping.c new file mode 100644 index 00000000000..7f4494acab9 --- /dev/null +++ b/audio/alsa-utils/patches/patch-alsamixer_volume__mapping.c @@ -0,0 +1,19 @@ +$NetBSD: patch-alsamixer_volume__mapping.c,v 1.1 2014/06/09 12:34:26 ryoon Exp $ + +* NetBSD has no exp10() + +--- alsamixer/volume_mapping.c.orig 2013-07-09 15:28:37.000000000 +0000 ++++ alsamixer/volume_mapping.c +@@ -37,10 +37,10 @@ + #include <stdbool.h> + #include "volume_mapping.h" + +-#ifdef __UCLIBC__ ++#if defined(__UCLIBC__) || defined(__NetBSD__) + /* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */ + #define exp10(x) (exp((x) * log(10))) +-#endif /* __UCLIBC__ */ ++#endif /* __UCLIBC__ || __NetBSD__ */ + + #define MAX_LINEAR_DB_SCALE 24 + |