Skip to content

Commit 3719117

Browse files
authored
Update install_airplay_v3.sh
Signed-off-by: Ravi Singh <ravi.singh543@gmail.com>
1 parent 3919958 commit 3719117

1 file changed

Lines changed: 18 additions & 29 deletions

File tree

Assets/install_airplay_v3.sh

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -764,48 +764,37 @@ alsa = {};
764764
FALLBACK_EOF
765765
fi
766766

767-
# Now edit the config file to set our values
767+
# Now edit the config file to set our values using simple, reliable sed commands
768768
log "Configuring AirPlay name: $airplay_name"
769769

770-
# Set the AirPlay device name
771-
sudo sed -i '/general =/,/^}/{ s|//[[:space:]]*name = .*| name = "'"$airplay_name"'";|; /^[[:space:]]*name = /d; /general =/a\ name = "'"$airplay_name"'";
772-
}' /etc/shairport-sync.conf
770+
# Set the AirPlay device name - uncomment and set it
771+
sudo sed -i "s|^//[[:space:]]*name = .*| name = \"$airplay_name\";|" /etc/shairport-sync.conf
773772

774-
# Set output device
773+
# Set output device - uncomment and set it
775774
log "Configuring audio output: $audio_device_plug"
776-
sudo sed -i '/alsa =/,/^}/{
777-
s|//[[:space:]]*output_device = .*| output_device = "'"$audio_device_plug"'";|
778-
s|^[[:space:]]*output_device = .*| output_device = "'"$audio_device_plug"'";|
779-
}' /etc/shairport-sync.conf
775+
sudo sed -i "s|^[[:space:]]*output_device = .*| output_device = \"$audio_device_plug\";|" /etc/shairport-sync.conf
776+
sudo sed -i "s|^//[[:space:]]*output_device = .*| output_device = \"$audio_device_plug\";|" /etc/shairport-sync.conf
780777

781778
# Set mixer control if available
782779
if [ -n "$mixer_control" ]; then
783780
log "Configuring mixer control: $mixer_control on hw:$card_number"
784-
sudo sed -i '/alsa =/,/^}/{
785-
s|//[[:space:]]*mixer_control_name = .*| mixer_control_name = "'"$mixer_control"'";|
786-
s|^[[:space:]]*mixer_control_name = .*| mixer_control_name = "'"$mixer_control"'";|
787-
s|//[[:space:]]*mixer_device = .*| mixer_device = "hw:'"$card_number"'";|
788-
s|^[[:space:]]*mixer_device = .*| mixer_device = "hw:'"$card_number"'";|
789-
}' /etc/shairport-sync.conf
781+
sudo sed -i "s|^//[[:space:]]*mixer_control_name = .*| mixer_control_name = \"$mixer_control\";|" /etc/shairport-sync.conf
782+
sudo sed -i "s|^[[:space:]]*mixer_control_name = .*| mixer_control_name = \"$mixer_control\";|" /etc/shairport-sync.conf
783+
# Also set mixer_device if needed (usually commented out by default)
784+
sudo sed -i "s|^//[[:space:]]*mixer_device = .*| mixer_device = \"hw:$card_number\";|" /etc/shairport-sync.conf
785+
sudo sed -i "s|^[[:space:]]*mixer_device = .*| mixer_device = \"hw:$card_number\";|" /etc/shairport-sync.conf
790786
fi
791787

792788
# Set output format
793-
sudo sed -i '/alsa =/,/^}/{
794-
s|//[[:space:]]*output_rate = .*| output_rate = "auto";|
795-
s|^[[:space:]]*output_rate = .*| output_rate = "auto";|
796-
s|//[[:space:]]*output_format = .*| output_format = "S16";|
797-
s|^[[:space:]]*output_format = .*| output_format = "S16";|
798-
}' /etc/shairport-sync.conf
789+
sudo sed -i "s|^//[[:space:]]*output_rate = .*| output_rate = \"auto\";|" /etc/shairport-sync.conf
790+
sudo sed -i "s|^[[:space:]]*output_rate = .*| output_rate = \"auto\";|" /etc/shairport-sync.conf
791+
sudo sed -i "s|^//[[:space:]]*output_format = .*| output_format = \"S16\";|" /etc/shairport-sync.conf
792+
sudo sed -i "s|^[[:space:]]*output_format = .*| output_format = \"S16\";|" /etc/shairport-sync.conf
799793

800794
# Set volume settings
801-
sudo sed -i '/general =/,/^}/{
802-
s|//[[:space:]]*volume_max_db = .*| volume_max_db = 4.0;|
803-
s|^[[:space:]]*volume_max_db = .*| volume_max_db = 4.0;|
804-
s|//[[:space:]]*default_airplay_volume = .*| default_airplay_volume = -6.0;|
805-
s|^[[:space:]]*default_airplay_volume = .*| default_airplay_volume = -6.0;|
806-
s|//[[:space:]]*high_volume_idle_timeout_in_minutes = .*| high_volume_idle_timeout_in_minutes = 1;|
807-
s|^[[:space:]]*high_volume_idle_timeout_in_minutes = .*| high_volume_idle_timeout_in_minutes = 1;|
808-
}' /etc/shairport-sync.conf
795+
sudo sed -i "s|^//[[:space:]]*volume_max_db = .*| volume_max_db = 4.0;|" /etc/shairport-sync.conf
796+
sudo sed -i "s|^//[[:space:]]*default_airplay_volume = .*| default_airplay_volume = -6.0;|" /etc/shairport-sync.conf
797+
sudo sed -i "s|^//[[:space:]]*high_volume_idle_timeout_in_minutes = .*| high_volume_idle_timeout_in_minutes = 1;|" /etc/shairport-sync.conf
809798

810799
# Verify config file was created
811800
if [ ! -f /etc/shairport-sync.conf ]; then

0 commit comments

Comments
 (0)