Russian Qt Forum
Апрель 19, 2024, 15:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Интерфейс плагинов VSTi для MIDI приложения  (Прочитано 5853 раз)
Painter
Новичок

Offline Offline

Сообщений: 8


Просмотр профиля
« : Январь 16, 2021, 22:31 »

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

Offline Offline

Сообщений: 8


Просмотр профиля
« Ответ #1 : Январь 19, 2021, 21:51 »

Нашел на немецком сайте реализацию написанную со старым SDK для VST 2.4
https://www.hermannseib.com/vsthost.htm#SlaverySuite
Создатель выложил его бинарник. Код вроде как рабочий, но эту SDK уже невозможно нигде найти.
По ходу, придется тупо разбирать построчно и пришивать к новой SDK
Печалька конечно, но без VST современное MIDI ПО как ... без ... (че то сравнения не придумал  Улыбающийся)
Но все-равно, если кто-то решить принять участие в дискуссии - буду рад.
Записан
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« Ответ #2 : Январь 21, 2021, 10:47 »

Вы хотите написать что-то типа Ardour?
Оно открытое, можно смотреть исходники (GPL2). И VST там, конечно же, есть.
Или у Вас акцент на другом?
« Последнее редактирование: Январь 21, 2021, 10:50 от DarkHobbit » Записан

Мои проекты на Qt: DoubleContact, LInvert
Painter
Новичок

Offline Offline

Сообщений: 8


Просмотр профиля
« Ответ #3 : Январь 21, 2021, 17:10 »

Нет, это очень навороченный софт. У меня все проще значительно. Мне не нужны цепочки Vst, Достаточно один плаг подключить к миди каналу и уже будет счастье.
Проблема в том, что даже один инструмент подключить пока не удается. Слишком мало инфы как это реализовать.

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

Если код немчика удачно раскурится, выложу его сюда для интересующихся.
Приглашу желающих для портирования в мульти-платформенный
« Последнее редактирование: Январь 21, 2021, 22:33 от Painter » Записан
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« Ответ #4 : Январь 22, 2021, 10:05 »

Мне кажется, что если там действительно всё непереносимо с кодом, да ещё и к пропавшему SDK прибито... не лучше ли всё же поизучать исходники живого и кроссплатформенного проекта и попробовать взять оттуда только нужное?

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

Мои проекты на Qt: DoubleContact, LInvert
Painter
Новичок

Offline Offline

Сообщений: 8


Просмотр профиля
« Ответ #5 : Январь 22, 2021, 14:06 »

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

Offline Offline

Сообщений: 8


Просмотр профиля
« Ответ #6 : Январь 24, 2021, 12:57 »

Нашел очень понятный проект
https://github.com/Noahdw/Strauss
использует две библиотеки и старый VST SDK 2.4
все сразу на много понятней в нем.
И достаточно просто, без наворотов
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.