HypeCue на Mac: что оказалось сложнее, чем просто перенести программу
Когда я показывал HypeCue диджеям и ведущим, довольно часто попадал в одну и ту же ситуацию: программа людям интересна, но попробовать её они не могут.
Причина простая — HypeCue долгое время был только для Windows.
При этом среди event-dj довольно много тех, кто работает на MacBook. Для них программа фактически была недоступна, даже если сам подход с пэдами, MIDI и быстрым запуском звуков им подходил.
Изначально я вообще не рассматривал Mac-версию как отдельное направление. Сначала нужно было сделать сам HypeCue, обкатать его на реальных мероприятиях и понять, какие функции действительно нужны.
Но со временем стало понятно: если программа уже интересна людям, которые работают на Mac, логично дать им возможность попробовать её в работе.
Так и появилась задача перенести HypeCue на macOS.
И тут выяснилось, что «сделать версию для Mac» — это далеко не только собрать приложение под другую систему.
Сам интерфейс — не самая сложная часть
На первый взгляд всё довольно просто.
Есть готовая программа. Есть пэды, банки, треки, MIDI. Нужно адаптировать интерфейс, собрать приложение для macOS и проверить, что всё работает.
Казалось бы, что может пойти не так?
Но HypeCue — это не программа, которую запускают на пять минут.
Её используют непосредственно во время мероприятия: подключают контроллер, загружают музыку, переключают банки, запускают звуки один за другим. Поэтому недостаточно, чтобы программа просто открывалась. Нужно, чтобы весь привычный рабочий сценарий продолжал работать так же.
И вот здесь начинается самое интересное.
MIDI пришлось проверять особенно внимательно
HypeCue активно работает с MIDI-контроллерами.
Кнопки можно назначать на пэды, переключение банков и другие действия. При этом разные контроллеры могут вести себя совершенно по-разному. Один отправляет одно сообщение на нажатие. Другой может присылать несколько событий подряд. А если у контроллера есть джоги и фейдеры, сообщений становится ещё больше.
На Windows эти сценарии уже были знакомы. На macOS пришлось заново пройтись по всей цепочке: как определяется устройство, как работает MIDI Learn, что происходит при подключении нескольких контроллеров и как программа реагирует на лишние сообщения.
Для пользователя всё должно быть проще:
подключил контроллер → назначил кнопку → работаешь.
Без изучения того, что именно там отправляет контроллер в MIDI.
А если программа упала?
Здесь тоже пришлось учитывать реальный сценарий использования.
HypeCue может работать часами, поэтому при разработке важно думать не только о том, как программа ведёт себя в идеальных условиях.
Например, после сбоя нужно восстановить рабочее состояние и положение окна.
С записью ситуация ещё интереснее.
Если HypeCue записывает live-микс, данные сохраняются в файл по ходу работы. Поэтому если проблема произошла ближе к концу записи, уже записанная часть не должна исчезнуть целиком.
Конечно, это не означает, что программа никогда не может столкнуться с ошибкой.
Но одно дело потерять последние несколько секунд, другое — обнаружить после нескольких часов работы, что файла вообще нет.
И даже флешка имеет значение
На мероприятиях музыку часто добавляют в последний момент.
Кто-то принёс новый трек на флешке, кто-то прислал его буквально перед началом работы. Если просто загрузить файл с внешнего накопителя, а потом вытащить флешку, можно получить сюрприз в самый неподходящий момент.
Поэтому HypeCue предлагает скопировать добавленный трек локально.
Опять же — небольшая функция.
Но это как раз тот случай, когда небольшая функция полезнее красивого пункта в списке возможностей.
Что в итоге изменилось
Самое интересное в переносе на Mac оказалось в том, что пришлось ещё раз пройтись по самому HypeCue.
Не только по интерфейсу.
По MIDI. По работе с окнами. По файлам. По восстановлению после сбоев. По первому запуску приложения.
И постепенно задача превратилась из «сделать HypeCue для macOS» в «проверить, что HypeCue нормально ведёт себя в тех же рабочих ситуациях на другой платформе».
На бумаге это звучит не очень впечатляюще.
Зато именно из таких вещей и состоит нормальная рабочая программа.
Теперь HypeCue работает и на Windows, и на Mac
Сейчас HypeCue можно использовать на обеих платформах.
PRO-лицензия рассчитана на два компьютера, поэтому можно использовать MacBook как основной компьютер, а Windows оставить в качестве резервного — или наоборот.
При этом сам принцип работы не меняется: те же пэды, банки, MIDI и привычный интерфейс.
Для меня в этом и был основной смысл Mac-версии.
Не просто написать на сайте ещё одну поддерживаемую платформу.
А дать возможность тем, кто работает на MacBook, наконец попробовать HypeCue в реальной работе.
HypeCue для macOS уже доступен для загрузки.
Сайт: hypecue.ru
Почта: hello@hypecue.ru