2022년 업데이트
초음파는 더 이상 사용되지 않지만 개발에 필요한 만큼 시간이 없습니다. 나중에 다시 다룰 예정이니 양해해 주시기 바랍니다. 곧 있을 중요한 업데이트는 Ultrasonics-api 에 관한 것입니다. 저는 현재 Heroku 무료 등급에서 공개 버전을 호스팅하고 있으며, 이 버전은 8월에 발표된 대로 2022년 11월 말에 종료됩니다. 모든 공개 스트리밍 서비스(Spotify, Last.fm 등)에 필요합니다.
아직 대안을 설정하지 않았으므로 그 전에 초음파 와 함께 초음파 API 인스턴스를 설정하고 동기화하려는 온라인 서비스에 대한 키를 설정하시기 바랍니다. 지침은 해당 저장소에서 모두 확인할 수 있습니다!
개요
설치
체계화된
옵션 1(수동 설치)
옵션 2(도커)
애플릿
입력
수정자(선택 사항)
출력
트리거
플러그인
재생 목록 모드와 노래 모드
기여
나만의 플러그인 작성
초음파 소스 코드 개선
초음파 에 오신 것을 환영합니다!
초음파 는 음악 라이브러리와 음악 재생 목록을 제어할 수 있도록 설계된 도구입니다. 재생 목록을 세 가지 다른 서비스에 분산시키거나 동일한 재생 목록의 여러 복사본을 수동으로 선별할 시간이 없기 때문에 하나의 서비스만 사용하도록 제한되는 시대는 지났습니다.
초음파는 플러그인을 사용하여 즐겨찾는 서비스와 상호 작용합니다. 즉, 새 플러그인을 설치하기만 하면 기능을 추가할 수 있습니다. 각 플러그인은 서비스와의 호환성을 제공할 수 있습니다. 예를 들어 공식 Spotify 플러그인 링크는 물론 Spotify까지 연결됩니다. 다른 플러그인은 둘 이상의 소스에서 재생 목록을 병합하는 등의 추가 기능을 제공합니다.
포함된 모든 플러그인의 개요는 [문서 미완성]에서 확인할 수 있습니다.
초음파를 실행하려면 두 가지 옵션이 있습니다.
초음파를 직접 다운로드하여 실행해보세요.
공식 Docker 이미지를 가져와 실행합니다.
초음파는 Linux에서 개발되었습니다. 크로스 플랫폼과 호환되어야 하지만 테스트되지 않았으므로 Windows/macOS에서 버그나 문제에 대비하세요!
Python 3이 설치되어 있는지 확인하세요.
# 이 명령이 작동하지 않으면 ~↪ python3 --version의 uluru에 Python 3callum을 설치하세요. 파이썬 3.8.2
저장소를 설치 디렉터리(예: /opt/ultrasonics
에 복제합니다.
# uluru의 설치 디렉터리callum으로 이동합니다. ~↪ cd /opt# 이 repocallum을 uluru의 /opt에 복제합니다. ↪ git clone https://github.com/XDGFX/ultrasonics# /opt에서 uluru의 초음파 폴더칼럼에 대한 소유권이 있는지 확인하세요. ↪ sudo chown -R callum:callum 초음파/
가상 환경을 만들고 그 안에 필요한 종속성을 설치합니다.
# /opt의 uluru에 있는 초음파 디렉토리callum으로 이동합니다. ↪ cd Ultrasonics# /o/ultrasonics의 uluru에 있는 '.venv'callum 폴더에 가상 환경을 생성합니다. ↪ python3 -m venv .venv# 환경을 활성화합니다.# 다른 쉘을 사용하는 경우 활성화를 사용합니다.<shell># 예: source .venv/bin/activate.fish for fish!callum at uluru in /o/ultrasonics ↪ 소스 .venv/bin/activate# venv가 활성화되어 있는지 확인하세요(줄 시작 부분의 .venv 참조)# /o/ultrasonics의 uluru에 Python 종속성callum을 설치하세요 (.venv) ↪ pip3 install -r 요구사항.txt
app.py
실행
# venv가 여전히 활성화된 상태에서 /o/ultrasonics의 uluru에서 app.pycallum을 실행합니다. (.venv) ↪ python3 app.py
이를 시스템 프로세스로 실행하려면 아래 단계를 따르십시오.
예제 서비스 파일을 /etc/systemd/system/ultrasonics.service
에 복사합니다.
sudo cp 초음파.서비스 /etc/systemd/system/ultrasonics.service
새 서비스를 선택하려면 systemctl 데몬을 다시 로드하세요.
sudo systemctl 데몬-다시 로드
서비스 활성화 및 시작
sudo systemctl 활성화 --이제 초음파
다음을 사용하여 프로세스 상태를 확인할 수 있습니다.
systemctl 상태 초음파
공식 초음파 이미지는 xdgfx/ultrasonics에 있습니다. 수동으로 가져와 실행하거나 docker-compose.yml
파일에 저장할 수 있습니다.
버전: "3.7"서비스: 초음파:이미지: xdgfx/ultrasonicscontainer_name: 초음파재시작: 중지되지 않는 한포트: - 5000:5000볼륨: - /path/to/config:/config - /path/to/plugins:/plugins # 타사 플러그인 환경에 사용됩니다: - PUID=${PUID} - PGID=${PGID}
IFTTT를 사용해 본 적이 있다면 이미 기본 사항을 이해하고 있는 것입니다. 초음파는 '애플릿'이라는 개념으로 작동합니다. 생성한 각 애플릿에는 다음 네 가지 범주 중 하나에 맞는 플러그인이 포함되어 있습니다.
이러한 플러그인은 서비스에 연결하여 노래 또는 재생 목록 목록을 가져오고 해당 목록을 수정자 및 출력 플러그인에 전달합니다.
이러한 플러그인은 하나 이상의 입력 플러그인에서 노래 또는 재생 목록 목록을 가져와 어떤 방식으로든 목록을 수정합니다. 예를 들어 중복 재생목록을 병합하거나 음악 검색 API를 사용하여 노래를 유사한 노래로 바꿀 수 있습니다.
이 플러그인은 전달된 재생 목록 목록을 가져와 서비스에 저장합니다. Plex에서 재생 목록을 업데이트하거나 생성하거나 홈 서버의 .m3u 파일에 저장할 수도 있습니다.
이러한 플러그인은 노래/재생 목록 흐름의 일부가 아니지만 대신 애플릿이 실제로 실행되는 시기를 결정합니다. 가장 간단한 트리거는 시간 기반입니다(예: '6시간마다 한 번 실행').
설치된 플러그인을 사용하여 사용자 정의 애플릿을 구축하고 이를 데이터베이스에 저장한 다음 Trigger 플러그인에서 자동으로 실행하거나 홈페이지에서 애플릿을 수동으로 실행할 수 있습니다.
초음파는 여러 공식 플러그인과 함께 번들로 제공됩니다. 자세한 내용은 [문서 미완성]을 참조하세요.
플러그인이 포함된 폴더를 plugins
디렉토리에 복사하기만 하면 새 플러그인을 설치할 수 있습니다.
각 애플릿에는 최소한 하나의 입력과 하나의 출력 플러그인이 필요합니다. 자동으로 실행하려면 트리거 플러그인도 필요합니다.
대부분의 플러그인에는 구성할 설정이 있습니다. 이는 전역 영구 설정(플러그인의 모든 인스턴스, 모든 애플릿에 공통)이거나 이 플러그인 인스턴스에 특정한 설정일 수 있습니다.
애플릿을 구축할 때 필요한 설정을 입력하라는 메시지가 표시됩니다.
설정은 항상 비워둘 수 있습니다! 어떤 경우에는 이것이 괜찮거나 예상되는 일이지만 다른 경우에는 초음파 데이터베이스를 수동으로 수정해야 하는 플러그인 오류가 발생할 수 있습니다! 필요한 설정을 모두 작성했는지 확인하세요!
일부 플러그인은 재생 목록과 함께 작동하도록 설계되었습니다. 예를 들어 Spotify 플러그인은 Spotify 재생 목록과 상호 작용합니다. 일부 플러그인은 노래(예: Last.fm의 상위 100곡)와 함께 작동하도록 설계되었습니다.
플러그인이 노래 모드에서만 작동하는 경우 "플러그인 선택" 화면에 경고가 표시됩니다.
입력에 노래 모드 플러그인을 추가하면 애플릿 흐름에 단일 재생 목록을 추가하여 효과적으로 작동합니다. 문제의 플러그인이 이 단일 재생 목록에 대한 이름을 제공하는 한 문제 없이 작동 합니다 .
여러 재생 목록을 단일 노래 모드 출력 플러그인에 공급하려고 하면 문제가 발생할 수 있으므로 권장되지 않습니다.
초음파 개선에 도움을 주고 싶으신가요? 우선 - 감사합니다! 소프트웨어 엔지니어가 아닌 사람으로서 이것은 제가 작업한 가장 큰 프로젝트 중 하나입니다. 어떤 도움이나 제안이라도 대단히 감사하겠습니다!
초음파의 기능을 확장하는 것은 쉽습니다! 플러그인은 드래그 앤 드롭 방식으로 설치되므로 복잡성을 최소화하면서 프로젝트를 크게 개선할 수 있습니다. 학습하는 가장 좋은 방법은 위키를 이용하는 것입니다. 이 프로젝트를 포크하거나 특별히 플러그인을 위한 고유한 저장소를 생성할 수 있습니다. 별도로 보관할 수도 있고, 기본 플러그인으로 만들어 커뮤니티에 도움이 된다고 생각되면 GitHub 문제를 통해 알려주세요!
향후 계획, 알려진 문제 또는 일반적인 개선 사항을 문제에 포함하겠습니다. 또한 우선순위가 높은 문제를 보여주는 프로젝트 보드를 살펴보세요.
또는 새로운 아이디어가 있으면 시도해보고 끌어오기 요청이나 문제를 통해 알려주세요! ?