Russian Qt Forum

Qt => Общие вопросы => Тема начата: Painter от Январь 16, 2021, 22:31



Название: Интерфейс плагинов VSTi для MIDI приложения
Отправлено: Painter от Январь 16, 2021, 22:31
Открыл тему с нетривиальной задачей.
Написал приложение поддерживающее работу с MIDI контролерами
Хочется подключать VST инструменты для более качественного звучания.
Если у когото есть опыт как это реализовать, буду рад любой информации.
Могу сразу сказать, что уже кое-что посмотрел на GitHube но понятно стало не много.
Всем заранее благодарен.


Название: Re: Интерфейс плагинов VSTi для MIDI приложения
Отправлено: Painter от Январь 19, 2021, 21:51
Нашел на немецком сайте реализацию написанную со старым SDK для VST 2.4
https://www.hermannseib.com/vsthost.htm#SlaverySuite (https://www.hermannseib.com/vsthost.htm#SlaverySuite)
Создатель выложил его бинарник. Код вроде как рабочий, но эту SDK уже невозможно нигде найти.
По ходу, придется тупо разбирать построчно и пришивать к новой SDK
Печалька конечно, но без VST современное MIDI ПО как ... без ... (че то сравнения не придумал  :))
Но все-равно, если кто-то решить принять участие в дискуссии - буду рад.


Название: Re: Интерфейс плагинов VSTi для MIDI приложения
Отправлено: DarkHobbit от Январь 21, 2021, 10:47
Вы хотите написать что-то типа Ardour (https://ardour.org/)?
Оно открытое, можно смотреть исходники (GPL2). И VST там, конечно же, есть.
Или у Вас акцент на другом?


Название: Re: Интерфейс плагинов VSTi для MIDI приложения
Отправлено: Painter от Январь 21, 2021, 17:10
Нет, это очень навороченный софт. У меня все проще значительно. Мне не нужны цепочки Vst, Достаточно один плаг подключить к миди каналу и уже будет счастье.
Проблема в том, что даже один инструмент подключить пока не удается. Слишком мало инфы как это реализовать.

Начал курить этот код от немца. У него вроде не так все сложно, но и не просто,
Надо, прям, долго сидеть и расковыривать. Хорошо, что там кода не так уж и много.
Написулино у него все с какими-то Мелкосовтовскими примочками типа interface и тому подобное, поэтому прорываться через эту дребедень долго придется.
Еще один сильный недостаток - код страдает редундантными пассажами, где один класс играет роль "передаста" вызывая другой класс.
Короче там еще и оптимизировать надо чтобы тысячи строк хотя бы к половине свести
Хорошо бы ясный четкий код, Дык где ж его взять то  ;D ;D ;D

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


Название: Re: Интерфейс плагинов VSTi для MIDI приложения
Отправлено: DarkHobbit от Январь 22, 2021, 10:05
Мне кажется, что если там действительно всё непереносимо с кодом, да ещё и к пропавшему SDK прибито... не лучше ли всё же поизучать исходники живого и кроссплатформенного проекта и попробовать взять оттуда только нужное?

Конечно, вам как автору виднее...


Название: Re: Интерфейс плагинов VSTi для MIDI приложения
Отправлено: Painter от Январь 22, 2021, 14:06
Ну старый SDK я нашел. Портировать под новый не так сложно должно быть.
У немчика все связи в коде явные, а значит можно быстро отследить все зависимости.
Полагаю, что у Ardour классов намоного больше, а значит и уровней абстракции больше, а значит и зависимости легче упустить.
Тут простой код и рабочий, там сложный код и рабочий.
Ну я выбираю простой, Как я уже сказал - задача и так-то не тривиальная, а усложнять ее не хочется.
В первую очередь хочется понять как это вообще работает!


Название: Re: Интерфейс плагинов VSTi для MIDI приложения
Отправлено: Painter от Январь 24, 2021, 12:57
Нашел очень понятный проект
https://github.com/Noahdw/Strauss
использует две библиотеки и старый VST SDK 2.4
все сразу на много понятней в нем.
И достаточно просто, без наворотов