|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.07.2011, 16:29 | #1 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
Манипуляции над объектами ЯВУ в MASM
Здравствуйте. Есть некий стандарт VST на основе которого создаются плагины обработки звука. Чтобы манипулировать таким плагином, его нужно инициализировать и получить указатель на некий базовый класс, методы которого и позволяют его всесторонне ковырять. С точки зрения ЯВУ это достаточно удобно, но вот в ассемблере это настоящий геморой (от COM отказались видимо из-за зависимостей от платформы). Посоветуйте пожалуйста хоть что-нибудь. Куда не гляну, везде вода.
|
29.07.2011, 17:54 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,708
|
В Хатчевской сборке Масма были примеры по классам.
|
01.08.2011, 22:50 | #3 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
К сожалению, там ничего не нашлось. Если я что-то неправильно понял, ткните ссылкой пожалуйста
|
02.08.2011, 08:58 | #4 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
notHaker
если у вас есть пакет masm32, то обратите внимание на папку masm32\oop и примеры в ней также есть папка masm32\com |
02.08.2011, 21:55 | #5 | |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
Цитата:
И почему разработчики стандарта, весьма требовательного к скорости исполнения (всё таки DSP), прибегли к объектной модели, да ещё и отказались от COM - непонятно. Это наверное какой-то хитрый план. |
|
03.08.2011, 10:42 | #6 | |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Цитата:
Где ты ты там узрел ООП - не понятно.. Интерфейс любого VST-плагина базируется на cdecl-функциях, среди которых первая и основная - экспортируемая ф-ция main(), параметром вызова которой является адрес колбэк-функции. Кроме них фигурируют еще минимум 5 ф-ций. И в SDK-хэдерах сплошь и рядом структуры, никакими классами и объектами там и не пахнет .. |
|
03.08.2011, 11:14 | #7 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
работа с COM без проблем реализуется на ассемблере.
я не знаю что такое VST, я говорю про любой плагин если организовыввать взаимодействие с плагинами с помощью классов и объектов, то плагины можно писать только на искомом языке программирования. Например, основная программа написана на C++, плагину как-то передаётся объект через которых происходит взаимодействие с основной программой. Реализовать взаимодействие с объектом на ассемблере будет также трудно как и на Delphi и обычном С, также будет трудно реализовать взаимодействие с объектом на С++ при использовании другого компилятора. Например, у простых функций есть стандарты вызова (cdecl, stdcall, fastcall и т.д.) у COM тоже есть стандарт на то как надо вызывать функции в каком формате хранить данные объекта и т.д. На объекты обычных языков программирования стандартов нет, поэтому всё может тупо перестать работать после смены версии компилятора |
04.08.2011, 18:28 | #8 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
mss, речь идёт о 3 версии. Всё API версии 2 заключается в вызове main() и получении указателя на структуру с ворохом кэлбэков - с этим согласен. Проблема в версии 3, где похоже таки смрадно попахивает COM.
rpy3uH, спасибо за пояснения. Догадывался, т.к. гугл ничего про вызовы методов не знает. Вообще идея реализовать стример, ориентированный на обработку аудио в реальном времени минимальной латентности с не нормализованным микшированием и другими свистелками и... Задача проектирования DSP не стоит, т.к. вся работа по обработке ляжет на плагины DXi, VST и т.д. коих в интернетах предостаточно. Вот и хотелось бы интегрировать поддержку оных в стример, чтобы не заниматься дурью, аля "плагин для плагина". Всё это - движок опен сорц, в мелкой и шустрой библиотеке, многозадачен и вообще ариец. Последний раз редактировалось notHaker; 04.08.2011 в 18:33. |
04.08.2011, 21:00 | #9 | |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Цитата:
Слабо верится, но.. просто любопытно).. |
|
04.08.2011, 22:03 | #10 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
Вот собсно для плюса хидеры. Пытаюсь понять, как вообще подключить плагин такой версии. Нагорожено, мама не горюй.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Манипуляции с формой | Claster | Помощь студентам | 6 | 11.04.2011 11:49 |
Манипуляции с ненумерованным списком | 25mute | HTML и CSS | 1 | 31.01.2011 12:05 |
из Паскаля в Яву | Ляле4ка | Помощь студентам | 0 | 10.10.2010 21:49 |
манипуляции в StringGrid | начинающий1 | Общие вопросы Delphi | 11 | 25.08.2010 14:44 |
Какие языки (системы разработки) имеют встроенные сложные операции над объектами? | asmc | Общие вопросы C/C++ | 1 | 26.06.2008 09:01 |