토마호크: 소스에 구애받지 않는 음악 플레이어와 피어 투 피어 공유
토마호크(Tomahawk)는 토마호크 팀(Tomakawk Team)에서 개발한 오픈 소스 음악 플레이어로, 데스크탑 청취를 위한 재생 소스를 집계합니다. 이 앱은 로컬 파일, 스트리밍 서비스 및 연결된 피어를 검색하여 요청된 트랙을 가장 적합한 제공자로 해결하고 XMPP/Jabber 및 해치(Hatchet)를 통해 직접 스트리밍을 제공합니다. 이 앱은 리졸버 플러그인 시스템, 통합 검색, 에코 네스트(Echo Nest) '지니어스(Genius)' 재생 목록 및 장치 간 동기화를 포함합니다. 여러 서비스를 사용하는 음악 애호가와 P2P 발견을 중요시하는 사용자들은 통합된 메타데이터 기반 재생을 경험할 수 있습니다.
앱은 음악을 메타데이터로 취급하여 재생 가능한 소스를 찾습니다
메타데이터 기반 아키텍처는 플레이어가 단일 파일보다 트랙을 우선시하고 최적의 소스를 자동으로 찾으려고 시도함을 의미합니다. 이 설계는 로컬 저장소, 제3자 제공업체 및 인덱스된 피어 라이브러리를 쿼리하기 위해 Resolver 플러그인 모델을 사용하며; 앱은 사용 가능한 소스에서 재생 가능한 스트림을 해결합니다. 이 접근 방식은 파일 관리에서 여러 출처에서 재생 가능한 결과를 반환하는 검색을 발행하는 것으로 작업 흐름을 변경합니다.
피어 스트리밍은 XMPP/Jabber 및 Hatchet를 사용하므로 네트워크 소켓이 활성화됩니다
라이브러리 공유 및 직접 스트리밍은 XMPP/Jabber 연결과 재생 목록 동기화 및 소셜 피드를 위한 Hatchet 서비스에 의존하며, 이는 참가자 간의 활성 네트워크 연결을 요구합니다. 따라서 피어 투 피어 재생은 도달 가능한 피어와 그들의 네트워크 용량에 의존합니다; 앱은 라우터나 시스템 라우팅 테이블을 수정하는 대신 애플리케이션 수준의 스트림을 설정하므로 데스크탑의 애플리케이션 계층에서 작동합니다.
제공자 및 콘텐츠 제약은 플레이어가 스트리밍할 수 있는 것에 영향을 미칩니다
플레이어는 Resolvers를 통해 제3자 서비스를 지원하지만, 스트리밍 가능성은 소스의 계정 규칙에 따라 달라질 수 있습니다; 문서에서는 Spotify와 같은 일부 서비스가 콘텐츠를 재생하기 위해 프리미엄 계정을 요구할 수 있다고 언급합니다. 클라이언트 자체는 중립적인 도구입니다; 스트리밍된 항목의 합법성은 소프트웨어의 동작이 아니라 콘텐츠와 사용자의 관할권에 따라 달라집니다.
프로젝트 포기 및 커뮤니티 코드가 유지 관리 및 안정성에 영향을 미칩니다
공식 개발은 2017년에 중단되었으며 소스는 GitHub에서 사용할 수 있으므로 향후 수정은 커뮤니티 기여에 의존합니다. 역사적 노트와 사용자 보고서는 안정성 문제를 언급하므로 앱을 실행하려면 커뮤니티 빌드를 컴파일하거나 제3자 Resolvers를 적용하는 기술적 편안함이 필요할 수 있습니다. 오픈 소스 모델은 플러그인 개발을 가능하게 하지만, 사용자는 원래 개발자가 아닌 자원봉사자로부터 유지 관리가 이루어질 것으로 기대해야 합니다.
커뮤니티 유지 관리 위험을 수용하는 기술적으로 편안한 청취자에게 가장 적합
이 앱은 로컬 파일, 스트리밍 서비스 및 피어 라이브러리에 대한 통합 액세스를 원하는 열정가들에게 실용적인 옵션으로, 사회적 발견을 가능하게 하는 메타데이터 우선 청취 모델을 제공합니다. 프로젝트의 중단된 상태와 보고된 안정성 문제를 고려할 때, 이 플레이어는 커뮤니티 빌드에 의존하고 가끔 발생하는 변칙을 용인할 의향이 있는 사용자에게 가장 적합하며, 상업적으로 지원되는 턴키 솔루션을 찾는 사용자에게는 적합하지 않습니다.