Перейти к содержимому

MprisCustomHud

(Только для Linux) Дополнение Mpris для отображения информации о музыке для CustomHud и Hudder

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
2,5 тыс.
Подписчиков на Modrinth
5
версии
53
Обновлён
15 сентября 202615 сент.
Опубликован
в 2025

Коротко о моде

Работает на Fabric
Для Minecraft 1.20.4–26.3
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.3.6 от 15 сентября 2026
Нужен Fabric API
Лицензия MIT — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.20.4–26.3
Описание переведено автоматическиПоказать оригинал (EN)

MprisCustomHud

Важно

  • Только для Linux и предназначен для использования с CustomHud или Hudder

Описание

Переменные для CustomHud и Hudder, показывающие текущую играющую музыку через Mpris DBus Spec.
Доступно для всех версий, для которых есть CustomHud v4!
Работает с Hudder 8.x, 9.x на версии 1.21.9/10 и 10.x для версии 1.21.11/26.1.x
Сильно вдохновлён Hudify, так что спасибо за работу Lightningtow ig :)

Примечание

  • Не все переменные обязаны/будут заполнены плеером/музыкальным приложением

Общие переменные

ИмяТипОписание
mpris_busnameStringbusname
mpris_trackStringназвание трека
mpris_trackidStringуникальный mpris id трека (в основном для отладки)
mpris_albumStringназвание альбома, из которого трек
mpris_repeatStringстатус повтора - "None", "Track" или "Playlist"
mpris_artistStringимя первого исполнителя, приходящего из mpris
mpris_nameStringкрасивое имя плеера из атрибута Identity в org.mpris.MediaPlayer2
mpris_lyricsStringxesam:asText
mpris_created_atStringxesam:contentCreated
mpris_first_playedStringxesam:firstUsed
mpris_last_playedStringxesam:lastUsed
mpris_art_urlStringxesam:artUrl
mpris_urlStringxesam:url
mpris_shuffleBooleanвключён ли шаффл
mpris_playingBooleanиграет ли песня или она на паузе/остановлена
mpris_existsBooleanнастоящий ли текущий трек или это заглушка
mpris_has_album_artBooleanесть ли у трека обложка альбома/загружена ли она
mpris_data_ageNumberвозраст информации о метаданных (трек, trackid, альбом, исполнитель, исполнители, длительность, ...) в миллисекундах
mpris_progressNumberпрогресс в миллисекундах
mpris_durationNumberдлительность трека в миллисекундах
mpris_rateNumberскорость/темп воспроизведения музыки как число с плавающей точкой
mpris_volumeNumberгромкость воспроизведения музыки как число с плавающей точкой (обычно между 0 и 1)
mpris_bpmNumberxesam:audioBPM
mpris_discNumberxesam:discNumber
mpris_numberNumberxesam:trackNumber
mpris_times_playedNumberxesam:useCount
mpris_auto_ratingNumberxesam:autoRating
mpris_user_ratingNumberxesam:userRating
mpris_album_widthNumberабсолютная ширина обложки альбома в пикселях
mpris_album_heightNumberабсолютная высота обложки альбома в пикселях
mpris_album_colorNumberrgb-значение доминирующего цвета обложки альбома
mpris_artistsList of Stringсписок исполнителей для текущего плеера

| mpris_album_artists | List of String | xesam:albumArtist для текущего плеера | | mpris_comments | List of String | xesam:comment для текущего плеера | | mpris_composers | List of String | xesam:composer для текущего плеера | | mpris_genres | List of String | xesam:genre для текущего плеера | | mpris_lyricists | List of String | xesam:lyricist для текущего плеера |

Особенности CustomHud

  • Насколько я могу судить, сделать список в виде поля/атрибута не так-то просто, так что здесь есть только списки для текущего плеера
  • Все переменные типа String либо не пустые, либо null
  • У списков в качестве префикса по умолчанию (для итерации) используются первые четыре буквы имени переменной после mpris_
  • Объекты PlayerInfo имеют в качестве полей все общие переменные + mpris_album_art с убранным префиксом mpris_
ИмяТип/ИспользованиеОписание
mpris_player`{mpris_player:}или{mpris_player::}`открывает доступ к полям объекта PlayerInfo; player может быть полным busname или только последней частью
mpris_playersСписок объектов вроде PlayerInfoпросто список активных на данный момент объектов PlayerInfo (те же ``, что и выше)
mpris_album_artIconрисует на экране изображение обложки альбома текущего плеера

Подробности о переменных `xesam:иmpris:` смотрите на https://www.freedesktop.org/wiki/Specifications/mpris-spec/metadata.

Особенности Hudder

Переменные
ИмяТипОписание
has_mprisBooleanвсегда true
mpris_playerObject/PlayerInfoобъект PlayerInfo выбранного на данный момент плеера или null
mpris_playersList<PlayerInfo>список отслеживаемых на данный момент плееров
Функции/Методы
ИмяАргументыЭффект
mpris_playerString nameвозвращает объект PlayerInfo с bus name `org.mpris.MediaPlayer2.илиnull`
mpris_album_artString name или AlbumArt albumArt, int x, int y, int width, int heightрисует изображение обложки альбома; если у трека нет обложки, рисует запасную; если width или height равен 0, сохраняется исходное соотношение сторон; если оба равны 0, используются размеры в пикселях (слишком уж большие, лол)
Объекты

PlayerInfo:

  • String busname - имя шины
  • String name - имя игрока
  • String repeat - статус повтора - см. mpris_repeat
  • boolean shuffle - статус перемешивания
  • boolean playing - играет ли музыка
  • double rate - скорость воспроизведения музыки
  • double volume - громкость воспроизведения музыки (обычно от 0 до 1)
  • Metadata metadata - метаданные
  • long progress() - возвращает текущий прогресс (в мс)

Metadata:

  • String track - текущий трек - xesam:title
  • String trackid - id текущего трека - mpris:trackid
  • String album - текущий альбом - xesam:album
  • String artist - первый исполнитель
  • String art_url - mpris:artUrl
  • String lyrics - xesam:asText
  • String created_at - xesam:contentCreated
  • String first_played - xesam:firstUsed
  • String last_played - xesam:lastUsed
  • String url - xesam:url
  • `List artists- все исполнители -xesam:artist`
  • `List album_artists-xesam:albumArtist`
  • `List comments-xesam:comment`
  • `List composers-xesam:composer`
  • `List genres-xesam:genre`
  • `List lyricists-xesam:lyricist`
  • int bpm - xesam:audioBPM
  • int disc - xesam:discNumber
  • int number - xesam:trackNumber
  • int times_played - xesam:useCount
  • float auto_rating - xesam:autoRating
  • float user_rating - xesam:userRating
  • long duration - длительность текущего трека (в мс)
  • AlbumArt album_art - информация об обложке альбома
  • long data_age() - возвращает возраст объекта (в мс)

AlbumArt:

  • int width - ширина в пикселях
  • int height - высота в пикселях
  • int color - rgb-значение доминирующего цвета обложки альбома
  • boolean exists() - существует ли объект для реального изображения или запасного

Управление

Есть привязки клавиш для воспроизведения/паузы, следующего, предыдущего, обновления и переключения между активными плеерами, и у всех есть соответствующие команды.

Настройка

По умолчанию плеер выбирается из активных. Чтобы переключаться между текущими активными, используйте команду mpriscustomhud cycle (работает только если onlyPreferred отключён (по умолчанию)).
Вы можете выбрать плеер, которому отдаёте предпочтение перед другими, с помощью `mpriscustomhud preferred `, чтобы он всегда отображался, если активен.
Если вы не хотите видеть другие плееры (только предпочтительный), используйте mpriscustomhud onlyPreferred true. В результате ни один плеер не будет выбран, если вы не задали предпочтительный.
С mpriscustomhud player вы получаете текущий активный плеер, с mpriscustomhud onlyPreferred и mpriscustomhud preferred — значения для этого, а с mpriscustomhud refresh вы можете обновить переменные.

Примечание о Flatpak

  • когда вы запускаете Minecraft в песочнице Flatpak, вам нужно добавить org.mpris.MediaPlayer2.* в список общеизвестных имён сессионной шины, с которыми может общаться ваш лаунчер, например с помощью Flatseal

Проблемы/Todo

  • сейчас нет переменной обложки альбома; возможно, я попробую добавить её когда-нибудь сделано

Используемые библиотеки

Лицензия

Этот мод лицензирован под MIT License

Частые вопросы

Как установить MprisCustomHud?

Установите Fabric под свою версию Minecraft, скачайте MprisCustomHud под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть MprisCustomHud?

У MprisCustomHud есть сборки для Minecraft 1.20.4–26.3.

Нужен ли MprisCustomHud на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее