HypeCue на Mac: что оказалось сложнее, чем просто перенести программу

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