소프트웨어‎ > ‎

forked-daapd


iTunes 10이 나온 후 mt-daapd의 목록이 제대로 나오지 않는 문제가 있다. 이를 대비하기 위해 패치도 나왔지만 아예 별도로 개발되는 forked-daapd를 쓰는 방법도 있다고 하여, 전부터 알고는 있었지만 컴파일 조건이 까다로워 써본 적은 없는 패키지를 깔았다. 우분투 PPA도 있어서 설치는 간단히 했다. (lucid 다음에 maverick이 나온 시점에서 패키지가 좀 옛날 버전이긴 한데, natty에는 최신 버전으로 아예 들어가 있는 것 같다. 다만 기반이 되는 antlr3가 의존성 문제로 최신 버전이 안 들어가서 직접 컴파일해서 쓰기에는 환경이 안 맞다.)

설정도 간소하게 되어 있고 해서 파일 있는 경로만 잡아주면 DB가 열심히 구축되고 잘 뜬다. 재생목록은 .m3u 파일 등을 인식해서 보여준다.

웹 화면이 구현되지 않아서, 설정도 설정이지만 동적으로 재생목록을 관리하는 기능이 없는 게 아쉽다. 그리고 파일명은 바뀌지 않고 ID3 태그만 바뀌었을 때 종종 쓰던 파일을 아예 다시 검사하는 기능과 그냥 파일 추가됐을 때의 간단한 인식을 따로 구분할 수 없는 것 같아서 태그 편집을 자주 하는 나로서는 좀 아쉬운 일이다. 그나마도 자동스캔이 잘 되면 모르겠는데 inotify 자체는 활용하는 것 같으면서도 무슨 이유인지 제대로 동작을 하지 않는다.

특히 AirTunes를 지원한다고 해서 혹했는데 네트워크에 있는 다른 에어튠즈 장비를 인식해 출력을 쏴줄 수 있다는 얘기인 모양이다. 이건 그다지 매력적인 부분은 아니다. 자체적으로 AirTunes 스피커의 하나로 인식이 될 수 있는 거라면 모를까.

iPhone을 쓰면서 Remote.app을 (정확히는 DACP 프로토콜을) 지원한다고 나와 있어서 찾아보았는데, avahi-browser를 통해 아이폰 리모트 앱이 mDNS에 등록된 것을 확인했는데도 정작 forked-daapd 로그에는 그런 이름이 없다고 나온다. 1.x까지는 동작했으나 2.x부터 안 된다고 한다. XXX.remote 파일에 아이폰 기기명과 Remote.app의 네 자리 숫자를 넣고 음악 파일 읽어오는 경로 밖에서 편집했다가 안쪽으로 파일을 이동시키면 inotify를 통해 등록된다. 것까지는 확인했다. 하지만 목록에 뜬 걸 눌러서 들어가면 연결 중이라고만 뜨고 그 이상 진행이 안 된다. 서버측 로그에도 남는 게 없다. 제어도 된다. 다른 AirTunes 스피커로가 있을 경우 Remote.app을 통해 출력을 돌릴 수 있게 되어 있다.