Могу ли я использовать свои мультимедийные клавиши для управления MPD?

2054
Jeffrey Aylesworth

Могу ли я сделать кнопки мультимедиа (воспроизведение / пауза, пропуск) на MPD управления MacBook вместо iTunes?

Кроме того, я могу заставить пульт Apple не открывать iTunes? Прямо сейчас, клиентом MPD, которым я пользуюсь (термен), можно управлять с пульта, но iTunes открывается, когда я нажимаю кнопку.

Кстати, я не могу отключить iTunes в родительском контроле, потому что он должен работать на моей учетной записи администратора, но ничего страшного, если из-за решения iTunes не работает.

3

3 ответа на вопрос

1

Я не знаю об Apple Remote (хотя я думаю, что есть бесплатное приложение, которое позволяет вам настраивать его), но я могу помочь вам с клавишами мультимедиа. Я сделал это на внешней клавиатуре, используя ControllerMate ($ 15), но я думаю, что вы можете сделать то же самое с помощью бесплатного менеджера горячих клавиш Sparkle: вам нужно указать ключ на AppleScript, который, в свою очередь, запускает скрипт оболочки, который говорит MPD, что делать, Это не так уж сложно; Я научился писать AppleScript и сценарии оболочки только для этой цели, и мне потребовалось всего несколько часов.

Мой MPD находится на другом компьютере, и если у вас тоже, вам нужно убедиться, что аутентификация с помощью публичного ключа отключена, чтобы вы могли ssh войти без пароля. (С другой стороны, я полагаю, вы могли бы установить mpc на свой Mac, но я был слишком робок, чтобы сделать это.) Установите MPC на компьютер с MPD (и убедитесь, что у вас правильно установлены переменные окружения). Затем на Mac напишите и сохраните сценарий оболочки, который говорит bash ssh на ваш компьютер MPD, и скажите mpc что-то сделать. Для «переключения» (воспроизведение / пауза) это мое:

#!/bin/bash ssh 10.0.1.42 -l USERNAME "export MPD_HOST=10.0.1.42; mpc toggle --no-status" 

По какой-то причине мне пришлось поместить туда MPD_HOST. Написание скриптов для следующих и предыдущих треков должно быть тривиальным; если вы не знаете команды mpc, загляните на man-страницу mpc.

Мой яблочный скрипт более сложен, чем ваш, потому что он решает, управлять ли MPD или iTunes на основе приложений, которые я запускаю. На базовом уровне все, что вам нужно, это

do shell script "path/to/yourscript.sh" 

который вы можете сохранить как .scpd. В ControllerMate или Sparkle легко связать ключ с AppleScript, так что все должно быть в порядке.

Наслаждайтесь!

Большое спасибо, я долго ждал ответа :) Jeffrey Aylesworth 14 лет назад 0
0
katrmr

В качестве обновления обратите внимание, что теперь вы также можете управлять MPD с помощью форка клиента Theremin: https://github.com/TheStalwart/Theremin. Хотя обновленный клиент поддерживает медиа-ключи, он также наследует интерфейс музыкального проигрывателя от старого Термена, давая вам библиотеку MPD и очереди.

0
phil pirozhkov

Прежде всего, вам нужно будет сказать iTunes, чтобы он не брал ключи .

Затем вы используете Karabiner для запуска сценария оболочки при нажатии этих клавиш (ищите VK_CONSUMERKEY_MUSIC_PLAY).

Шаг за шагом. 1. Установите Карабинер:

brew install cask karabiner 
  1. Загрузите этот файл вLibrary/Application Support/Karabiner/private.xml

  2. Включите необходимые элементы в пользовательском интерфейсе Karabiner или:

    /Applications/Karabiner.app/Contents/Library/bin/karabiner reloadxml /Applications/Karabiner.app/Contents/Library/bin/karabiner enable private.media_next /Applications/Karabiner.app/Contents/Library/bin/karabiner включить private. media_play /Applications/Karabiner.app/Contents/Library/bin/karabiner включить private.media_prev

Gotchas: - вы должны использовать абсолютный путь в скриптах - если вам нужно использовать встроенные команды оболочки, запустите через bash -c 'script goes here'

Похожие вопросы