'amarok'에 해당되는 글 1건
- 2007.01.08 Amarok 스크립트로 터미널에서 가사보기 6
Amarok 스크립트로 터미널에서 가사보기
Linux/내부설정 2007. 1. 8. 00:56
너므 허접 스럽슴다...
징글 맞은 바탕화면... (이 스크립트 사용 예제 입니다... 오른쪽 구석에 터미널...)
소개를 하자면..
dcop에서 amarok이를 제어할수가 있더라고요..
그중에서 dcop amarok player title 뭐 이렇게 하면 타이틀이 나오데요...
그걸 이용해서 허접스럽게 나마 끄적여 봤습니다..
중간에 환경변수 바꾸는 부분이 있는데.. 이건 쿼리 보낼때 EUC-KR로 보내야 되서..
처리 한겁니다.. 중간에 환경 변수를 바꾸니까는 적응이 안돼서 이상한 형식으로 해결했습니다.;;;
sed를 써서 중간 공백에 +기호를 넣어주는 곳도 있습니다.. 쿼리늘때 이렇게 해야 글자가 안짤리더군요..
결과적으로 하는 기능은 걍 주소 만들어주기 (.............. ) 바께 없습니다...(이 스크립트는)
게다가 곡이 바낄때 마다 수동으로 일일이 실행시켜줘야(.............) 하고
띠러 브라우저가 있어야 한다는점...도 점 그렇네요..
GTk+socket으로 제대로 된거 한번째볼라고 원래는 C로 짰었으나...접음
과정이 길거 같아서? 쉘스크립트로 만들어 봤습니다.;;
추가>CIX에 가사가 별루 없어서 안뜨는 가사가 좀 많습니다..
추가2>태그 내용을 잘 넣어 주셔야 합니다.. 아님 검색이 안되는................
.
#!/bin/bash.
clear
#---------------------------------------------------------------#
# #
# dcop을 이용한 amarok 가사보기?? #
# 07,1,2 #
# 폼잡기용으로 만듬.......Lowid................ #
# 좀 허접스리 보여도 좀 참아? 주세요 ; #
# 이 Cix에서 쿼리 줘서 가사 주소를 뽑는 플그램 입니다 #
# 뭐 더 정확하게 말하면 제트 오디오꺼;; #
#_______________________________________________________________#
if [ "`dcop amarok 2>/dev/null;echo $?`" == 1 ];then
echo "Amarok 프로그램이 켜졌는지 확인해 주세요"
exit
fi
if [ "`dcop amarok player status`" = 0 ]; then
echo "현재 재생중인 곡이 없습니다 정지중인지 확인해 주세요"
exit
fi
#로케일을 변경한다.. 이거 보다 좋은방법이 있을거 같은데...
if [ "$LC_CTYPE" != "ko_KR.EUC-KR" ]; then
env LC_CTYPE=ko_KR.EUC-KR $0 #자기자신을 다시 불러온다
#env를 쓰면 주어진 환경변수로 해당 프로그램을 켤수있다.
exit
else
ADDR_QER="http://cix.co.kr/player/jetaudio/lyrics.html?"
#사용자 정의 알아서 바꾸세영...
web_browser="w3m"
Options="-O UTF8"
turn_sec=2
while((1))
do
#dcop으로 Amarok 의 상태를 받아 온다
title=$(dcop amarok player title 2>/dev/null)
singer="`dcop amarok player artist 2>/dev/null`" #이거 두개 같은거다...
now_play="`dcop amarok player path`"
#간단한 필터...(공백 문자를 '+'로 바꾼다...
title="`echo $title | sed -e 's/ /+/g'`"
singer="`echo $singer | sed -e 's/ /+/g'`"
link=$ADDR_QER"title="$title"&singer="$singer""
#w3m으로 쿼리된 웹페이지를 보여준다.
#백그라운드 모드로 돌며 아래 루프를 실행한다.
$web_browser $Options $link &.br>
while((1))
do
sleep $turn_sec #3초에 1번씩 처크한다.
if [ `ps -C $web_browser >/dev/null;echo $?` == 1 ] ;then
exit
fi
if [ "$now_play" != "`dcop amarok player path`" ];then
#현재 재생중은 w3m종료,새로운 w3m을 새로운 변수로 실행
pts_num=`tty | sed -e s/[^0-9]//g` #정규식의 새로운 지평? 을 열다...
pkill -t pts/$pts_num w3m #받은 pts를 써서 현재 pts의 w3m만 kill 시킨다.
break;
fi
done
done
fi
Ps1:아 펄스크립트 배우는 중..
Ps2:dcop 옵션 보니까 잘하믄 amarok 자체 가사창의 URL 를 딴대로 돌려주는 방법도 있는듯합니다??
(실제로 있습니다...
http://amarok.kde.org/wiki/Script-Writing_HowTo_amarok_signal_dcop
를 참조 해보세요.. 직접 만들려고 하긴했는데.. 귀차나서..
예제파일은 amarok/scripts파일에 다 있더군요 가사 파일도 이 스크립트로 작동하는듯)
현재 종료시 좀 문제가 있음 (컨트롤 C를 눌려아 할때가 좀 있음)
ps3: 언재까지 BR 을 뒤에 넣어줘야 하는거냐!!!
징글 맞은 바탕화면... (이 스크립트 사용 예제 입니다... 오른쪽 구석에 터미널...)
소개를 하자면..
dcop에서 amarok이를 제어할수가 있더라고요..
그중에서 dcop amarok player title 뭐 이렇게 하면 타이틀이 나오데요...
그걸 이용해서 허접스럽게 나마 끄적여 봤습니다..
중간에 환경변수 바꾸는 부분이 있는데.. 이건 쿼리 보낼때 EUC-KR로 보내야 되서..
처리 한겁니다.. 중간에 환경 변수를 바꾸니까는 적응이 안돼서 이상한 형식으로 해결했습니다.;;;
sed를 써서 중간 공백에 +기호를 넣어주는 곳도 있습니다.. 쿼리늘때 이렇게 해야 글자가 안짤리더군요..
결과적으로 하는 기능은 걍 주소 만들어주기 (.............. ) 바께 없습니다...(이 스크립트는)
게다가 곡이 바낄때 마다 수동으로 일일이 실행시켜줘야(.............) 하고
띠러 브라우저가 있어야 한다는점...도 점 그렇네요..
GTk+socket으로 제대로 된거 한번째볼라고 원래는 C로 짰었으나...접음
과정이 길거 같아서? 쉘스크립트로 만들어 봤습니다.;;
추가>CIX에 가사가 별루 없어서 안뜨는 가사가 좀 많습니다..
추가2>태그 내용을 잘 넣어 주셔야 합니다.. 아님 검색이 안되는................
.
#!/bin/bash.
clear
#---------------------------------------------------------------#
# #
# dcop을 이용한 amarok 가사보기?? #
# 07,1,2 #
# 폼잡기용으로 만듬.......Lowid................ #
# 좀 허접스리 보여도 좀 참아? 주세요 ; #
# 이 Cix에서 쿼리 줘서 가사 주소를 뽑는 플그램 입니다 #
# 뭐 더 정확하게 말하면 제트 오디오꺼;; #
#_______________________________________________________________#
if [ "`dcop amarok 2>/dev/null;echo $?`" == 1 ];then
echo "Amarok 프로그램이 켜졌는지 확인해 주세요"
exit
fi
if [ "`dcop amarok player status`" = 0 ]; then
echo "현재 재생중인 곡이 없습니다 정지중인지 확인해 주세요"
exit
fi
#로케일을 변경한다.. 이거 보다 좋은방법이 있을거 같은데...
if [ "$LC_CTYPE" != "ko_KR.EUC-KR" ]; then
env LC_CTYPE=ko_KR.EUC-KR $0 #자기자신을 다시 불러온다
#env를 쓰면 주어진 환경변수로 해당 프로그램을 켤수있다.
exit
else
ADDR_QER="http://cix.co.kr/player/jetaudio/lyrics.html?"
#사용자 정의 알아서 바꾸세영...
web_browser="w3m"
Options="-O UTF8"
turn_sec=2
while((1))
do
#dcop으로 Amarok 의 상태를 받아 온다
title=$(dcop amarok player title 2>/dev/null)
singer="`dcop amarok player artist 2>/dev/null`" #이거 두개 같은거다...
now_play="`dcop amarok player path`"
#간단한 필터...(공백 문자를 '+'로 바꾼다...
title="`echo $title | sed -e 's/ /+/g'`"
singer="`echo $singer | sed -e 's/ /+/g'`"
link=$ADDR_QER"title="$title"&singer="$singer""
#w3m으로 쿼리된 웹페이지를 보여준다.
#백그라운드 모드로 돌며 아래 루프를 실행한다.
$web_browser $Options $link &.br>
while((1))
do
sleep $turn_sec #3초에 1번씩 처크한다.
if [ `ps -C $web_browser >/dev/null;echo $?` == 1 ] ;then
exit
fi
if [ "$now_play" != "`dcop amarok player path`" ];then
#현재 재생중은 w3m종료,새로운 w3m을 새로운 변수로 실행
pts_num=`tty | sed -e s/[^0-9]//g` #정규식의 새로운 지평? 을 열다...
pkill -t pts/$pts_num w3m #받은 pts를 써서 현재 pts의 w3m만 kill 시킨다.
break;
fi
done
done
fi
Ps1:아 펄스크립트 배우는 중..
Ps2:
(실제로 있습니다...
http://amarok.kde.org/wiki/Script-Writing_HowTo_amarok_signal_dcop
를 참조 해보세요.. 직접 만들려고 하긴했는데.. 귀차나서..
예제파일은 amarok/scripts파일에 다 있더군요 가사 파일도 이 스크립트로 작동하는듯)
현재 종료시 좀 문제가 있음 (컨트롤 C를 눌려아 할때가 좀 있음)
ps3: 언재까지 BR 을 뒤에 넣어줘야 하는거냐!!!
'Linux > 내부설정' 카테고리의 다른 글
USB 스토리지 마운트 하기(SD,MMC카드,USB메모리) (6) | 2007.02.12 |
---|---|
usb마운트 (2) | 2007.02.11 |
[linux] 랜덤으로 바탕화면 바꾸기. (2) | 2006.12.24 |
w3m 기본 단축키 모음 (4) | 2006.12.01 |
Arch에서 jfbterm 사용기 (2) | 2006.11.28 |