feat(music-together): Add new plugin Music Together (#1562)

* feat(music-together): test `peerjs`

* feat(music-together): replace `prompt` to `custom-electron-prompt`

* fix(music-together): fix

* test fix

* wow

* test

* feat(music-together): improve `onStart`

* fix: adblocker

* fix(adblock): fix crash with `peerjs`

* feat(music-together): add host UI

* feat(music-together): implement addSong, removeSong, syncQueue

* feat(music-together): inject panel

* feat(music-together): redesign music together panel

* feat(music-together): sync queue, profile

* feat(music-together): sync progress, song, state

* fix(music-together): fix some bug

* fix(music-together): fix sync queue

* feat(music-together): support i18n

* feat(music-together): improve sync queue

* feat(music-together): add profile in music item

* refactor(music-together): refactor structure

* feat(music-together): add permission

* fix(music-together): fix queue sync bug

* fix(music-together): fix some bugs

* fix(music-together): fix permission not working on guest mode

* fix(music-together): fix queue sync relate bugs

* fix(music-together): fix automix items not append using music together

* fix(music-together): fix

* feat(music-together): improve video injection

* fix(music-together): fix injection code

* fix(music-together): fix broadcast guest

* feat(music-together): add more permission

* fix(music-together): fix injector

* fix(music-together): fix guest add song logic

* feat(music-together): add popup close listener

* fix(music-together): fix connection issue

* fix(music-together): fix connection issue 2

* feat(music-together): reserve playlist

* fix(music-together): exclude automix songs

* fix(music-together): fix playlist index sync bug

* fix(music-together): fix connection failed error and sync index

* fix(music-together): fix host set index bug

* fix: apply fix from eslint

* feat(util): add `ImageElementFromSrc`

* chore(util): update jsdoc

* feat(music-together): add owner name

* chore(music-together): add translation

* feat(music-together): add progress sync

* chore(music-together): remove `console.log`

---------

Co-authored-by: JellyBrick <shlee1503@naver.com>
This commit is contained in:
Su-Yong
2023-12-31 13:52:15 +09:00
committed by GitHub
parent 5f9b522307
commit ee0c512529
34 changed files with 2383 additions and 30 deletions

View File

@ -430,6 +430,51 @@
"fetched-lyrics": "Genius에서 가사 불러옴"
}
},
"music-together": {
"name": "Music Together [베타]",
"description": "여러명과 함께 플레이리스트를 공유합니다. 호스트가 음악을 재생하면, 다른 사용자들도 같은 노래를 들을 수 있습니다",
"internal": {
"unknown-user": "알 수 없는 사용자",
"track-source": "재생 중인 트랙 출처",
"save": "저장"
},
"menu": {
"disconnect": "Music Together 연결 끊기",
"click-to-copy-id": "호스트 아이디 복사",
"close": "Music Together 닫기",
"host": "Music Together 호스트",
"join": "Music Together 참여",
"connected-users": "연결된 사용자",
"empty-user": "연결된 사용자 없음",
"set-permission": "제어 권한 변경",
"status": {
"disconnected": "연결 끊김",
"host": "호스트로 연결됨",
"guest": "게스트로 연결됨"
},
"permission": {
"host-only": "호스트만 제어 가능",
"playlist": "재생목록 제어 가능",
"all": "모두 제어 가능"
}
},
"dialog": {
"enter-host": "호스트 아이디를 입력하세요"
},
"toast": {
"add-song-failed": "노래 추가 실패",
"remove-song-failed": "노래 제거 실패",
"closed": "Music Together가 닫혔습니다",
"disconnected": "Music Together 연결이 끊어졌습니다",
"id-copied": "호스트 아이디가 클립보드에 복사되었습니다",
"host-failed": "Music Together를 열 수 없습니다",
"joined": "Music Together에 참여했습니다",
"user-connected": "{{name}}님이 Music Together에 참여했습니다",
"user-disconnected": "{{name}}님이 Music Together에서 나갔습니다",
"join-failed": "Music Together에 참여할 수 없습니다",
"permission-changed": "Music Together 제어 권한이 \"{{permission}}\" 변경되었습니다"
}
},
"navigation": {
"description": "브라우저에서처럼, UI에 직접 통합된 앞으로/뒤로 탐색하는 화살표",
"name": "탐색"