Sziasztok.
Ugyan gnome az alapértelmezett ablakkezelőm, de mindig is amarokot használtam zenelejátszásra.
Ma elérkezettnek láttam az időt (főleg a kde4.2 miatt), hogy lecseréljem a régi jól beváltat, az amarok2-re. Csalódni nem csalódtam, jól működik.
Egy dolog hiányzik csak: nem tudom az aktuálisan játszott zeneszámot terminálban kiíratni. Mindegy mi miatt, de ez nekem kell.
Eddig ezzel a bash scriptel oldottam meg ezt:
#!/bin/sh
# print out current song playing in amarok
PROG="amarok"
VERSION=`${PROG} --version | fgrep Amarok | cut -d " " -f 2`
TEST=`dcop amarok player isPlaying`
if [ $? -ne 0 ] ; then
echo "Amarok is not running." >&2
exit 10
fi
if [ "${TEST}" != "true" ] ; then
echo "Amarok is not playing." >&2
exit 20
fi
TITLE=`dcop amarok player title`
ARTIST=`dcop amarok player artist`
ALBUM=`dcop amarok player album`
KBPS=`dcop amarok player bitrate`
POSITIONSECONDS=`dcop amarok player trackCurrentTime`
LENGTHSECONDS=`dcop amarok player trackTotalTime`
POS_M=`expr ${POSITIONSECONDS} \/ 60`
POS_SS=`expr ${POSITIONSECONDS} \% 60`
POS_SS=`printf "%.2i" ${POS_SS}`
LEN_M=`expr ${LENGTHSECONDS} \/ 60`
LEN_SS=`expr ${LENGTHSECONDS} \% 60`
LEN_SS=`printf "%.2i" ${LEN_SS}`
POSITION="${POS_M}:${POS_SS}"
LENGTH="${LEN_M}:${LEN_SS}"
echo "${PROG}(${VERSION}) playing: [\"${TITLE}\" by ${ARTIST}]::[${KBPS}kbps ${POSITION}/${LENGTH}]"
Persze ez most nem működik, errort dob a DCOP szerver miatt:
sumo@forbidden:~$ sh bin/amarok-info.sh
ERROR: Couldn't attach to DCOP server!
Amarok is not running.
sumo@forbidden:~$
A man, help és google nem igazán segített eddig. Esetleg Ti tudtok valami módszert a probléma megoldására?
Köszi.
Hozzászólások
A postot átfutva nem láttam említve: a kde4 átállt dbus-ra dcop helyett, írd át arra. (Bocs ha pont erre nem találtál leírást, de a postban nem ezt írtad.)
qdbus org.mpris.amarok /Player org.freedesktop.MediaPlayer.GetMetadata
szóval dcop helyett dbus van. Így már talán tudsz mire googlezni, én sem értek hozzá.
--
"Dude, you can't take something off the Internet.. that's like trying to take pee out of a swimming pool."