tl; dr ›Как добавить звуковые эффекты и автоматизировать действия с помощью настраиваемых псевдонимов терминала и кнопок сенсорной панели, на примере git clone cd.

Оглавление

- Предпосылки: автоматизация, AppleScript и BetterTouchTool
- Псевдоним командной строки Git Clone со звуковым эффектом
- Изменить каталог, несколько звуков, установить громкость, асинхронность
- AppleScript для Воспроизвести звук и установить / сбросить громкость
- Пользовательская кнопка сенсорной панели со звуковым эффектом
- Захват звука из онлайн-видео с помощью VLC
- Полезные ссылки

Я стараюсь находить в вещах причуды. Я настоящий парень, который останавливается и нюхает розы, за исключением того, что, пока я остановился, я могу погуглить, почему розы тоже хорошо пахнут. Этот конкретный пост в блоге - результат одного из тех моментов. Можно сказать, результат менталитета учиться чему-то каждый день. Reddit, как вы понимаете, для меня опасное место.

Хватит объяснений, давайте перейдем к самым вкусным блюдам, которые вы ищете.

Предпосылки: Автоматизация, AppleScript и BetterTouchTool

Автоматика - замечательная штука. Как только я начинаю выполнять задание несколько раз, у меня возникает чувство, что я должен упаковать его в сценарий, программу или сочетание клавиш. Это всегда баланс между тем, сколько еще раз мне придется выполнять задачу и сколько времени потребуется на настройку автоматизации, но часто решает чаша весов удовлетворение от понимания того, как это автоматизировать. Время, потраченное на обучение, намного веселее, чем на повторение.

Два отличных инструмента, которые я использую для автоматизации на Mac, - это AppleScript и BetterTouchTool. AppleScript - это язык сценариев, интегрированный в MacOS от Apple с возможностью управления многими действиями системы и приложений с помощью кода. Он встроен в любую Mac OS. BetterTouchTool - замечательное стороннее приложение, которое позволяет настраивать такие вещи, как сочетания клавиш, кнопки сенсорной панели и жесты трекпада для управления последовательностями действий системы и приложений. Я настоятельно рекомендую его, особенно потому, что я думаю, что он раскрывает реальный потенциал Touch Bar, превращая его из иногда полезного коммерческого трюка в мощный настраиваемый интерфейс, который я использую все время.

В этом уроке я покажу вам, как создать автоматический процесс со звуковым эффектом, используя два разных метода.

  1. Базовый псевдоним командной строки, который объединяет несколько команд и добавляет звуковой эффект. Мы будем использовать только простые псевдонимы терминала на основе unix.
  2. Пользовательская кнопка Touch Bar для объединения некоторых системных действий (несколько команд командной строки, если хотите) и добавления звукового эффекта. Мы будем использовать BetterTouchTool с небольшим количеством AppleScript.

Псевдоним командной строки со звуковым эффектом

Если вы не знакомы с псевдонимами, просмотрите эту ссылку для получения справочной информации и основных инструкций. Псевдонимы позволяют нам создавать собственные команды терминала, которые могут выполнять функции, которые мы сохраняем в файле конфигурации. Для терминалов zsh (новый стандарт Mac) он называется .zshrc, а для bash - .bashrc.

Мы начнем с простой версии - просто запустим git clone и проиграем звуковой файл. Если вы хотите начать с каких-то звуковых файлов, вот папка с парочкой, которую я взял из разных видеоигр, не стесняйтесь использовать их! Если вы хотите получить свой собственный, прокрутите до раздела захват звуков из онлайн-видео с помощью VLC.
Для начала откройте файл конфигурации (у меня .zshrc, он находится в моем домашнем каталоге) и вставьте следующий код.

gcl! - имя настраиваемой функции псевдонима. Это то, что мы используем для вызова нашей новой команды. Мы передаем аргументы, как и любую другую команду, и они автоматически присваиваются переменным в следующем порядке: $1 для первой, $2 для второй и т. Д.

git clone - это первая команда, которую мы включаем в нашу функцию псевдонима, а “$1” представляет собой первый аргумент, переданный в gcl!

&& вызывает выполнение следующей команды функции, но только после завершения первой.

afplay - это встроенная команда, которую мы используем для воспроизведения аудиофайла. Просто замените путь на путь к звуковому файлу, вставьте весь код в файл .zshrc (или другой файл конфигурации оболочки), перезапустите терминал (вы можете использовать команду source - при запуске zsh source ~/.zshrc ) и готово!

Вот пример использования после настройки:

gcl! [email protected]:user/repo-name.git

Изменить каталог, несколько звуков, установить громкость, асинхронность

А теперь давайте перейдем на новый уровень нашей функциональности! Мы собираемся сменить каталог во вновь клонированном репозитории, добавить поддержку нескольких звуков, установить и сбросить громкость системы и воспроизвести звук асинхронно, чтобы нам не приходилось ждать его завершения перед запуском другой команды.

Чтобы упростить это, мы собираемся поместить все наши вещи, связанные со звуком, в AppleScript. Наш новый псевдоним будет выглядеть так:

Мы внесли несколько изменений по сравнению с простой версией.

gcd! - это новый псевдоним для нашей функции - называйте его как хотите, я думал об этом так: g git c clone & change d directory ! со звуком

osascript запускает AppleScript по пути, указанному в его аргументе, а & в конце строки запускает команду асинхронно, поэтому нам не нужно ждать окончания звука перед запуском следующей команды.
примечание: если вы хотите напрямую запустить строку AppleScript из оболочки, вы можете передать -e флаг следующим образом: osascript -e “set volume output volume 40”

git clone -- "$1" то же самое, что и раньше, но мы добавили флаг--, чтобы сказать больше нет параметров в случае, если ссылка git содержит дефис, так как это может вызвать ошибку.

cd -- “$(basename “$1” .git)” выглядит немного сложно, поэтому давайте разберемся с ним.
Сначала у нас есть cd, это команда смены каталога.
Флаг -- работает так же, как и git clone, что означает «больше нет параметров».
Затем мы используем “$( )” для обозначения строки с интерполированной переменной. Обычная переменная в строке будет выглядеть как "$var_name”, но мы используем ( ), чтобы заключить наш вызов функции basename.
basename возвращает завершающий компонент имени заданного пути.
Пример: запуск basename “[email protected]:user/repo_name.git” .git в терминале, мы возвращаем repo_name .
“$1” передает аргумент, который мы передали команде gcd! команде basename в виде строки, а затем .git говорит ему удалить .git в конце, если он найдет его.

Теперь давайте проверим все, что мы аккуратно упаковали в этот AppleScript! Вот как это выглядит:

Комментарии должны помочь объяснить, что здесь происходит, но если вам нужна дополнительная информация, я бы порекомендовал поискать команды в Google или ознакомиться с этим полезным вводным руководством по AppleScript, в котором рассматриваются некоторые базовые функции / синтаксис.

Пользовательская кнопка сенсорной панели со звуковым эффектом

BetterTouchTool открывает целый мир забавных настроек. Я использую его для управления буфером обмена, настраиваемых областей привязки для изменения размера окон, настраиваемых сочетаний клавиш, которые объединяют движения мыши, щелчки и системные действия, и, что наиболее полезно, настраиваемые интерфейсы сенсорной панели.

Сегодня я покажу вам, как добавить пользовательскую кнопку Touch Bar в BTT и добавить звуковой эффект. Если вы хотите начать с каких-то звуковых файлов, вот папка с парочкой, которую я взял из разных видеоигр, не стесняйтесь использовать их! Если вы хотите получить свой собственный, прокрутите до раздела захват звуков из онлайн-видео с помощью VLC.

  1. Скачать BTT
  2. Щелкните значок на панели задач и выберите конфигурацию.

3. Добавьте приложение, для которого вы хотите применить эту кнопку Touch Bar, в левом нижнем углу. Я использую Atom в качестве текстового редактора, и для него настроена кнопка.

4. Создайте новую кнопку на следующей панели. (возможно, вам придется выбрать Touch Bar в раскрывающемся меню вверху). Затем вы можете настроить внешний вид кнопки, ее положение и т. д.

5. После этого добавьте действия, как показано, и все готово!
Command + S сохраняет мои последние правки
Command + T переключает мой фокус на мой терминал в Atom
Затем Я вставляю команду, чтобы отправить свою лабораторную работу.
Отправка ввода запускает команду.
Запуск AppleScript воспроизводит звуковой файл. Параметр async позволяет ему работать в фоновом режиме, поэтому нам не нужно ждать, прежде чем двигаться дальше.
Наконец, я сбрасываю свой буфер обмена, чтобы он содержал все, что я ранее скопировал, поскольку эта кнопка использует буфер обмена, а я этого не делаю. не хочу потерять свои скопированные материалы.

6. AppleScript, который мы используем для обработки звукового эффекта, аналогичен тому, который мы использовали в нашем псевдониме. Проверьте это здесь.

Теперь приступайте к настройке для своих целей и, прежде всего, не забывайте получать от этого удовольствие! Все дело в прихоти.

Захватывайте звуки из онлайн-видео с помощью VLC:

Я использую VLC Media Player, широко используемое бесплатное стороннее приложение для воспроизведения и конвертации видео. Есть также много веб-сайтов, которые могут копировать звуковые файлы из видео, но они, как правило, медленные, схематичные и переполнены рекламой, и я стараюсь не загружать файлы с веб-сайтов, которым я не доверяю. Очевидно, что это руководство не предназначено для обхода закона об авторском праве или получения прибыли от украденного материала, а просто для получения общедоступных материалов, таких как звуковые эффекты из популярных видеоигр, в удобной для использования форме исключительно для личного использования.

  1. Загрузите VLC Media Player, если у вас его еще нет.
  2. Найдите онлайн-видео со звуком, который вы хотите использовать, и скопируйте URL-адрес видео (например, https://www.youtube.com/rest_of_url_here)
  3. Откройте VLC и на панели задач щелкните Файл ›Открыть сеть.
  4. Вставьте URL-адрес в поле URL-адреса и нажмите «Открыть».
  5. На панели задач щелкните Окно ›Информация о мультимедиа и скопируйте URL-адрес внизу.
  6. Вставьте этот URL-адрес в свой браузер, перейдите на страницу, наведите указатель мыши на видео и щелкните правой кнопкой мыши ›Сохранить видео как. Сохраните его где угодно.
  7. Откройте VLC, а затем на панели задач щелкните Файл ›Конвертировать / Поток.
  8. Найдите и выберите загруженный видеофайл или вставьте его, выберите «Аудио - MP3», затем выберите место для его сохранения и измените расширение файла в имени сохранения на .m4a.
  9. Et voila, звуковой эффект получен, готов к использованию.

Полезные ссылки

Папка со звуковыми эффектами, которые я взял из некоторых популярных видеоигр
Полезная статья, знакомящая с алиасингом в bash
Загрузка VLC Media Player

Загрузка BetterTouchTool
Вводное руководство по AppleScript