]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
fix the ability to give attenation priority to hardware or software, set the default...
authorMike Brady <mikebrady@eircom.net>
Sun, 17 Feb 2019 14:10:45 +0000 (14:10 +0000)
committerMike Brady <mikebrady@eircom.net>
Sun, 17 Feb 2019 14:10:45 +0000 (14:10 +0000)
scripts/shairport-sync.conf
shairport.c

index bf6ce4ba4ba0c1221421aa7cc683e549fc94e558..52d3232fc02882238ebcff8c1a9340d0fe3f305d 100644 (file)
@@ -29,7 +29,7 @@ general =
 //     volume_control_profile = "standard" ; // use this advanced setting to specify how the airplay volume is transferred to the mixer volume.
 //             "standard" makes the volume change more quickly at lower volumes and slower at higher volumes.
 //             "flat" makes the volume change at the same rate at all volumes.
-//     volume_range_hw_priority = "yes"; // when extending the volume range by combining the built-in software attenuator with the hardware mixer attenuator, set this to "yes" to reduce volume by using the hardware attenuator first, then the software attenuator.
+//     volume_range_combined_hardware_priority = "no"; // when extending the volume range by combining the built-in software attenuator with the hardware mixer attenuator, set this to "yes" to reduce volume by using the hardware mixer first, then the built-in software attenuator. 
 //     run_this_when_volume_is_set = "/full/path/to/application/and/args"; //  Run the specified application whenever the volume control is set or changed.
 //             The desired AirPlay volume is appended to the end of the command line – leave a space if you want it treated as an extra argument.
 //             AirPlay volume goes from 0 to -30 and -144 means "mute".
index 4cb316e1eb6af5ee02f7dcbb184d5753bc49ab35..21f4ff52705178a500143f62e36a665ed3f0e618 100644 (file)
@@ -344,8 +344,9 @@ int parse_options(int argc, char **argv) {
   config.diagnostic_drop_packet_fraction = 0.0;
   config.active_state_timeout = 10.0;
   config.volume_range_hw_priority =
-      1; // if combining software and hardware volume control, give the hardware priority
-// i.e. when reducing volume, reduce the hw first before reducing the software.
+      0; // if combining software and hardware volume control, give the software priority
+// i.e. when reducing volume, reduce the sw first before reducing the software.
+// this is because some hw mixers mute at the bottom of their range, and they don't always advertise this fact
 
 #ifdef CONFIG_METADATA_HUB
   config.cover_art_cache_dir = "/tmp/shairport-sync/.cache/coverart";
@@ -1568,7 +1569,7 @@ int main(int argc, char **argv) {
         config.volume_range_db);
   debug(
       1,
-      "combined attenuators (0 -- software is / 1 -- hardware is top of attenuation range) is %d.",
+      "volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is %d.",
       config.volume_range_hw_priority);
   debug(1, "playback_mode is %d (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).",
         config.playback_mode);