Add xmusic tracker/audio player, xfiles media actions, ringtone volume & vibration fix
This commit is contained in:
@@ -4,8 +4,8 @@ VERSION_ID="@BANANARCHY_VERSION@"
|
||||
VERSION="@BANANARCHY_VERSION@ (msm8909)"
|
||||
ID="bananarchy"
|
||||
ID_LIKE="postmarketos alpine"
|
||||
HOME_URL="https://bananahackers.net/"
|
||||
SUPPORT_URL="https://wiki.nura.eco/wiki/Nokia_8110_4G_(nokia-argon)"
|
||||
BUG_REPORT_URL="https://gitlab.postmarketos.org/postmarketOS/pmaports/issues"
|
||||
HOME_URL="https://bananarchy.top"
|
||||
SUPPORT_URL="https://bananarchy.top"
|
||||
BUG_REPORT_URL="https://bananarchy.top"
|
||||
LOGO="bananarchy"
|
||||
ANSI_COLOR="1;33"
|
||||
|
||||
@@ -43,6 +43,24 @@ if [ -z "$SXMO_NO_AUDIO" ]; then
|
||||
|
||||
# monitor for headphone for statusbar
|
||||
superctl start sxmo_soundmonitor
|
||||
(
|
||||
sleep 1
|
||||
spk_vol=100
|
||||
if [ -r "$XDG_CONFIG_HOME/sxmo/speaker_vol" ]; then
|
||||
read -r spk_vol < "$XDG_CONFIG_HOME/sxmo/speaker_vol" 2>/dev/null || spk_vol=100
|
||||
fi
|
||||
case "$spk_vol" in ''|*[!0-9]*) spk_vol=100 ;; esac
|
||||
if [ "$spk_vol" -le 0 ]; then
|
||||
amixer -c 0 cset "name='RX3 Digital Volume'" 0 >/dev/null 2>&1 || true
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% >/dev/null 2>&1 || true
|
||||
else
|
||||
rx3_hw=$(( 60 + spk_vol * 32 / 100 ))
|
||||
amixer -c 0 cset "name='SPK DAC Switch'" 1 >/dev/null 2>&1 || true
|
||||
amixer -c 0 cset "name='RX3 Digital Volume'" "$rx3_hw" >/dev/null 2>&1 || true
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ "${spk_vol}%" >/dev/null 2>&1 || true
|
||||
fi
|
||||
sxmo_hook_statusbar.sh volume >/dev/null 2>&1 || true
|
||||
) &
|
||||
fi
|
||||
|
||||
# Periodically update some status bar components
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Executable
BIN
Binary file not shown.
Symlink
+1
@@ -0,0 +1 @@
|
||||
dwm-plugin
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
dwm-plugin
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,27 @@
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker playback"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
"Earpiece"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='SPK DAC Switch' 1"
|
||||
cset "name='RX3 MIX1 INP1' RX1"
|
||||
## gain to +8dB
|
||||
cset "name='RX3 Digital Volume' 92"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='RX3 Digital Volume' 0"
|
||||
cset "name='SPK DAC Switch' 0"
|
||||
cset "name='RX3 MIX1 INP1' ZERO"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPCM "${var:WcdPlaybackPCM}"
|
||||
PlaybackChannels 2
|
||||
PlaybackPriority 200
|
||||
}
|
||||
}
|
||||
@@ -50,6 +50,7 @@ write_line_app baobab "$icon_pie Baobab" "baobab"
|
||||
write_line_app bluetuith "$icon_bth Bluetuith" "sxmo_terminal.sh bluetuith"
|
||||
write_line_app calcurse "$icon_clk Calcurse" "sxmo_terminal.sh calcurse"
|
||||
write_line_app xcamera "$icon_cam Camera" "xcamera"
|
||||
write_line_app xmusic "$icon_mus Music" "xmusic"
|
||||
write_line_app celluloid "$icon_mvi Celluloid" "celluloid"
|
||||
write_line_app chatty "$icon_msg Chatty" "chatty"
|
||||
([ -z "$WAYLAND_DISPLAY" ] && command -v clipmenu >/dev/null) && \
|
||||
|
||||
@@ -27,8 +27,8 @@ fi
|
||||
|
||||
# pm8xxx-vib shifts FF_RUMBLE strong_magnitude right by 8 bits (valid 256..65535)
|
||||
case "${SXMO_VIBRATE_STRENGTH:-}" in
|
||||
1) SXMO_VIBRATE_STRENGTH=20000 ;;
|
||||
2|"") SXMO_VIBRATE_STRENGTH=40000 ;;
|
||||
1) SXMO_VIBRATE_STRENGTH=8000 ;;
|
||||
2|"") SXMO_VIBRATE_STRENGTH=32000 ;;
|
||||
3) SXMO_VIBRATE_STRENGTH=65535 ;;
|
||||
esac
|
||||
|
||||
@@ -54,15 +54,41 @@ if ! sxmo_modemcall.sh list_active_calls \
|
||||
exit
|
||||
fi
|
||||
|
||||
case "${SXMO_RINGVOL:-100}" in
|
||||
''|*[!0-9]*) SXMO_RINGVOL=100 ;;
|
||||
esac
|
||||
[ "$SXMO_RINGVOL" -gt 100 ] && SXMO_RINGVOL=100
|
||||
|
||||
SAVED_RX3="$(amixer -c 0 cget "name='RX3 Digital Volume'" 2>/dev/null | awk -F= '/: values=/ {print $2; exit}')"
|
||||
SAVED_SPK_VOL=100
|
||||
if [ -r "$XDG_CONFIG_HOME/sxmo/speaker_vol" ]; then
|
||||
read -r SAVED_SPK_VOL < "$XDG_CONFIG_HOME/sxmo/speaker_vol" 2>/dev/null || SAVED_SPK_VOL=100
|
||||
fi
|
||||
case "$SAVED_SPK_VOL" in ''|*[!0-9]*) SAVED_SPK_VOL=100 ;; esac
|
||||
|
||||
finish() {
|
||||
trap - INT TERM EXIT
|
||||
jobs -p | xargs -r kill
|
||||
wait
|
||||
jobs -p | xargs -r kill 2>/dev/null || true
|
||||
wait 2>/dev/null || true
|
||||
if [ -n "${SAVED_RX3:-}" ]; then
|
||||
amixer -c 0 cset "name='RX3 Digital Volume'" "$SAVED_RX3" >/dev/null 2>&1 || true
|
||||
fi
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ "${SAVED_SPK_VOL}%" >/dev/null 2>&1 || true
|
||||
exit
|
||||
}
|
||||
|
||||
ring() {
|
||||
if [ "${SXMO_RINGVOL:-100}" -le 0 ]; then
|
||||
return 0
|
||||
fi
|
||||
ring_rx3=$(( 60 + SXMO_RINGVOL * 34 / 100 ))
|
||||
mpv_vol=$(( SXMO_RINGVOL * 130 / 100 ))
|
||||
amixer -c 0 cset "name='SPK DAC Switch'" 1 >/dev/null 2>&1 || true
|
||||
amixer -c 0 cset "name='RX3 Digital Volume'" "$ring_rx3" >/dev/null 2>&1 || true
|
||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 >/dev/null 2>&1 || true
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ 100% >/dev/null 2>&1 || true
|
||||
mpv --no-resume-playback --quiet --no-video \
|
||||
--volume-max=150 --volume="$mpv_vol" \
|
||||
--loop="${SXMO_RINGNUMBER:-10}" "$SXMO_RINGTONE" >/dev/null &
|
||||
}
|
||||
|
||||
@@ -90,6 +116,9 @@ if [ ! -f "$XDG_CONFIG_HOME"/sxmo/.noring ] && [ ! -f "$XDG_CONFIG_HOME"/sxmo/.n
|
||||
sxmo_log "RING AND VIBRATE"
|
||||
|
||||
sxmo_playerctl.sh pause_all
|
||||
if [ -p /tmp/dwm_plugin_music.fifo ]; then
|
||||
echo "PAUSE" > /tmp/dwm_plugin_music.fifo 2>/dev/null || true
|
||||
fi
|
||||
|
||||
ring
|
||||
vibrate
|
||||
@@ -99,6 +128,9 @@ elif [ ! -f "$XDG_CONFIG_HOME"/sxmo/.noring ] && [ -f "$XDG_CONFIG_HOME"/sxmo/.n
|
||||
sxmo_log "RING ONLY"
|
||||
|
||||
sxmo_playerctl.sh pause_all
|
||||
if [ -p /tmp/dwm_plugin_music.fifo ]; then
|
||||
echo "PAUSE" > /tmp/dwm_plugin_music.fifo 2>/dev/null || true
|
||||
fi
|
||||
|
||||
ring
|
||||
|
||||
|
||||
@@ -30,12 +30,23 @@ if [ -f "$XDG_CONFIG_HOME"/sxmo/.busy ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f "$XDG_CONFIG_HOME/sxmo/ringsettings" ]; then
|
||||
# shellcheck disable=SC1091
|
||||
. "$XDG_CONFIG_HOME/sxmo/ringsettings"
|
||||
fi
|
||||
|
||||
if [ ! -f "$XDG_CONFIG_HOME"/sxmo/.noring ]; then
|
||||
mpv --no-resume-playback --quiet --no-video "$SXMO_TEXTSOUND" >> /dev/null 2>&1 &
|
||||
case "${SXMO_RINGVOL:-100}" in
|
||||
''|*[!0-9]*) SXMO_RINGVOL=100 ;;
|
||||
esac
|
||||
if [ "$SXMO_RINGVOL" -gt 0 ]; then
|
||||
mpv_vol=$(( SXMO_RINGVOL * 130 / 100 ))
|
||||
mpv --no-resume-playback --quiet --no-video --volume-max=150 --volume="$mpv_vol" "$SXMO_TEXTSOUND" >> /dev/null 2>&1 &
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$XDG_CONFIG_HOME"/sxmo/.novibrate ]; then
|
||||
sxmo_vibrate 500 "${SXMO_VIBRATE_STRENGTH:-1}" &
|
||||
sxmo_vibrate 500 "${SXMO_VIBRATE_STRENGTH:-2}" &
|
||||
fi
|
||||
|
||||
wait
|
||||
|
||||
@@ -43,6 +43,24 @@ if [ -z "$SXMO_NO_AUDIO" ]; then
|
||||
|
||||
# monitor for headphone for statusbar
|
||||
superctl start sxmo_soundmonitor
|
||||
(
|
||||
sleep 1
|
||||
spk_vol=100
|
||||
if [ -r "$XDG_CONFIG_HOME/sxmo/speaker_vol" ]; then
|
||||
read -r spk_vol < "$XDG_CONFIG_HOME/sxmo/speaker_vol" 2>/dev/null || spk_vol=100
|
||||
fi
|
||||
case "$spk_vol" in ''|*[!0-9]*) spk_vol=100 ;; esac
|
||||
if [ "$spk_vol" -le 0 ]; then
|
||||
amixer -c 0 cset "name='RX3 Digital Volume'" 0 >/dev/null 2>&1 || true
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% >/dev/null 2>&1 || true
|
||||
else
|
||||
rx3_hw=$(( 60 + spk_vol * 32 / 100 ))
|
||||
amixer -c 0 cset "name='SPK DAC Switch'" 1 >/dev/null 2>&1 || true
|
||||
amixer -c 0 cset "name='RX3 Digital Volume'" "$rx3_hw" >/dev/null 2>&1 || true
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ "${spk_vol}%" >/dev/null 2>&1 || true
|
||||
fi
|
||||
sxmo_hook_statusbar.sh volume >/dev/null 2>&1 || true
|
||||
) &
|
||||
fi
|
||||
|
||||
# Periodically update some status bar components
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user