rox

Принесіть решту своєї музики

Плагін приносить у rox одне зовнішнє джерело музики. rox переглядає це джерело, шукає в ньому, відтворює без пауз і зберігає те, що ви попросите, у тих самих панелях і в тій самій черзі, що й файли на вашому диску.

Що таке плагін

Плагін - це тека з невеликим маніфестом і програмою. Програмою може бути скрипт на Python або нативний бінарник, і вона говорить із rox через свої стандартні ввід і вивід. rox запускає її, щойно вона комусь знадобиться, і перезапускає, якщо вона впаде. П'ять збоїв за десять хвилин зупиняють її, доки ви не вимкнете й не ввімкнете плагін знову.

Список того, що може плагін, короткий: перелічити й шукати каталог, синхронізувати колекції в медіатеку, віддавати звук, вести радіо, посилатися на власні вебсторінки і додавати готові панелі під своїм іменем. Він не може додавати кнопки, міняти вигляд rox чи діставатися до інших панелей. Плагіни приносять джерела, а програвач навколо них лишається rox-івським.

Перегляд джерела

Кожен запущений плагін отримує пункт «Плагіни» в меню «Додати панель», який відкриває панель зовнішніх джерел на його джерелі. Панель перелічує теки, списки відтворення й альбоми плагіна, шукає, показує обкладинки й підвантажує більше під час прокрутки. Домашня сторінка сервісу стоїть на верхньому рівні панелі, тож вона там без жодного кліка.

Що ще показує панель, залежить від плагіна. Чіпи над списком перемикають між видами плагіна, скажімо, пошук, звужений до альбомів. Полиці обкладинок прокручуються вбік, а сторінка з самих лише обкладинок згортається в сітку. Колонки, які знає сервіс, а ваші теги ні, наприклад лічильник завантажень, сортуються кліком по заголовку. Поки грає один із треків плагіна, верхній рівень показує його разом із тим, що далі.

Плагін-приклад Internet Archive у панелі зовнішніх джерел: повідомлення вгорі, рядки для перегляду, полиці обкладинок випусків і колонки завантажень та року.
Приклад Internet Archive, що переглядає видання Creative Commons із колекції netlabel цього архіву. Він лежить у репозиторії rox, готовий до копіювання.

Відтворення і збереження

Треки плагіна стають у чергу, списки відтворення й історію так само, як ваші власні файли, і грають без пауз один за одним. Трек, що обірвався на середині, перепідключається і продовжує з того самого місця. Живий потік від плагіна отримує паузу й буфер перемотки, як радіостанція.

Відтворення трека не додає його в медіатеку, а «Додати до медіатеки» - додає. Наведіть на колекцію й клацніть її позначку, щоб зберегти її цілком. Вона синхронізується в медіатеку, стежить за колекцією, коли та змінюється, і відкривається звідти, навіть якщо плагін зупинено або немає мережі.

«Відкрити в браузері» і «Копіювати посилання» ведуть на сторінку трека чи альбому в сервісі, звідки б у rox не показувалися його треки. Скробл вимкнено, якщо плагін сам його не просить, і тоді це перемикач у рядку плагіна.

Радіо

Плагін із радіо додає «Відтворити схоже» до своїх треків, альбомів, списків відтворення й виконавців. Альбом, список відтворення чи виконавець спершу грає власні треки, а трек слугує станції лише відправною точкою і сам у ній не звучить. Далі вибір сервісу підтримує чергу, коли вона майже спорожніла. Перемішування перемикається на «Схоже», і для треків плагіна йому не потрібен акустичний аналіз вашої медіатеки. Альбом, який ви відтворюєте з панелі, продовжується так само після завершення, замість переходу в вашу локальну медіатеку.

Треки радіо грають через власний рушій rox, як будь-який інший трек. Вони не приєднуються до медіатеки, станція пропускає те, що вже грало цієї сесії, і продовжує після перезапуску. Вимкніть «Далі грати» у налаштуваннях на сторінці «Відтворення», і черга зупиниться в кінці.

Що ви схвалюєте

Новий плагін з'являється вимкненим. Увімкнення і є схваленням, а картка, яку ви підтверджуєте, каже, що таке цей плагін, що він може, які програми йому потрібні і що він працює як програма на вашому комп'ютері з вашими правами.

Схвалення стосується рівно тих файлів, що є в теці плагіна. Якщо будь-який із них зміниться, плагін сам вимикається й показує «Змінено на диску», доки ви не схвалите його знову, а картка тоді показує, що змінилося в його маніфесті. «Вилучити» на сторінці «Плагіни» прибирає треки плагіна, синхронізовані колекції, налаштування й схвалення, але лишає його теку на місці.

Напишіть власний

Плагін говорить JSON-RPC, одне повідомлення на рядок через стандартні ввід і вивід, тож підійде будь-яка мова, яка вміє читати й писати рядки. Посібник із плагінів охоплює маніфест, кожен метод, таймаути й те, як звук доходить до програвача. Кнопка «Посібник із плагінів» на сторінці «Плагіни» відкриває його для версії, яку ви запустили.

У репозиторії є два приклади. tones генерує синусоїдальні тони й акорди, і це той, на якому варто вчити протокол. Internet Archive використовує кожну необов'язкову частину протоколу проти справжнього каталогу, з полицями на головній, видами, колонками, радіо й посиланнями, написаний на Python без нічого понад стандартну бібліотеку.

«Режим розробника» в рядку плагіна схвалює ваші власні правки в його теці, доки rox не закрито, і перезапускає плагін щоразу, коли ви зберігаєте. Кожна новіша частина протоколу - за бажанням. rox перелічує ті, що підтримує, коли плагін запускається, тож плагіну ніколи не доведеться надсилати те, що старіший rox відхилив би.

Де плагіни зупиняються

Спробуйте один

Завантажте rox, увімкніть «Увімкнути плагіни» на сторінці «Плагіни» в налаштуваннях і скопіюйте приклад Internet Archive у теку плагінів. Потрібна лише мережа, акаунт не потрібен.

Завантажити rox

На Arch чи NixOS? Тоді краще поставте з AUR або з Nix flake.

v1.29.1 · Linux, macOS, Windows · усі завантаження