Portál AbcLinuxu, 5. května 2025 02:58
Dnes jsem objevil šikovný scriptík pro MPD, k použití je potřeba nainstalovat MPC, skriptík je jednoduchý, použití je popsáno zde. Se zkratkou do Thunaru se mi tak podařil vyřešit problém s přehráváním hudby mimo hudební kolekci MPD...
#!/bin/bash [[ -z "$1" ]] && exit MUSIC_DIR="`awk '/^music_directory/ {print $2}' /etc/mpd.conf | cut -d'"' -f2`" # we need a temporary directory in music_directory: mkdir -p "${MUSIC_DIR}/temp" BASENAME="`basename "$1"`" DIRNAME="`dirname "$1"`" if [[ "$DIRNAME" = "." ]]; then DIRNAME="$PWD"; fi DOLLAR1="${DIRNAME}/${BASENAME}" if [[ "$DOLLAR1" = "$MUSIC_DIR"* ]]; then # file is under $MUSIC_DIR RELATIVE_NAME="`echo "$DOLLAR1" | sed -e "s|^$MUSIC_DIR[/]*||"`" else # file is not under $MUSIC_DIR # make a temporary symlink to it FILENAME="${MUSIC_DIR}/temp/${BASENAME}" rm -f "${FILENAME}" ln -s "${DIRNAME}/${BASENAME}" "${FILENAME}" RELATIVE_NAME="temp/${BASENAME}" fi mpc --no-status update "${RELATIVE_NAME}" # wait for mpd finishes updating the DB while mpc | grep -q '^Updating DB '; do sleep "0.1s"; done ACTION="`basename $0 | sed -e 's/^.*\.//'`" case $ACTION in enqueue) mpc --no-status add "${RELATIVE_NAME}" mpc --no-status play ;; playnow|*) mpc --no-status clear mpc --no-status add "${RELATIVE_NAME}" mpc --no-status play ;; esac
Tiskni
Sdílej:
MPD, MPC, Thunaru… Ano, přesně vím, o co jde.
Díky za tip, to by se někdy mohlo hodit. Přiznám se, že na jednorázové přehrání písničky vetšinou použiju XMMS (v případě že je na USB, CD, ...) nebo ji hodím do temp adresáře v MPD databázi (pokud je na disku, ale nezařazená) a updatuju.
Tohle řešení je ale vskutku rychlé, byl jsem překvapený prodlevou mezi kliknutím a přehráním - je to takřka okamžité (a to nemám žádný extra stroj, 1,7 procesor, 512 ram...)
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.