Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2011, 16:29   #1
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию Манипуляции над объектами ЯВУ в MASM

Здравствуйте. Есть некий стандарт VST на основе которого создаются плагины обработки звука. Чтобы манипулировать таким плагином, его нужно инициализировать и получить указатель на некий базовый класс, методы которого и позволяют его всесторонне ковырять. С точки зрения ЯВУ это достаточно удобно, но вот в ассемблере это настоящий геморой (от COM отказались видимо из-за зависимостей от платформы). Посоветуйте пожалуйста хоть что-нибудь. Куда не гляну, везде вода.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 29.07.2011, 17:54   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

В Хатчевской сборке Масма были примеры по классам.
p51x вне форума Ответить с цитированием
Старый 01.08.2011, 22:50   #3
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

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

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 02.08.2011, 08:58   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

notHaker
если у вас есть пакет masm32, то обратите внимание на папку masm32\oop и примеры в ней также есть папка masm32\com
Mikl___ вне форума Ответить с цитированием
Старый 02.08.2011, 21:55   #5
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
notHaker
если у вас есть пакет masm32, то обратите внимание на папку masm32\oop и примеры в ней также есть папка masm32\com
Хм. oop к настоящему ООП имеет такое же отношение, как балерина к космосу. Однако в com действительно что-то есть. =)

И почему разработчики стандарта, весьма требовательного к скорости исполнения (всё таки DSP), прибегли к объектной модели, да ещё и отказались от COM - непонятно. Это наверное какой-то хитрый план.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 03.08.2011, 10:42   #6
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
почему разработчики стандарта..прибегли к объектной модели
Ради любопытства посмотрел Steinberg VST Plugin SDK - в упор не вижу никакого ООП.
Где ты ты там узрел ООП - не понятно..

Интерфейс любого VST-плагина базируется на cdecl-функциях, среди которых первая и основная - экспортируемая ф-ция main(), параметром вызова которой является адрес колбэк-функции.
Кроме них фигурируют еще минимум 5 ф-ций.
И в SDK-хэдерах сплошь и рядом структуры, никакими классами и объектами там и не пахнет ..
mss вне форума Ответить с цитированием
Старый 03.08.2011, 11:14   #7
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

работа с COM без проблем реализуется на ассемблере.

я не знаю что такое VST, я говорю про любой плагин
если организовыввать взаимодействие с плагинами с помощью классов и объектов, то плагины можно писать только на искомом языке программирования. Например, основная программа написана на C++, плагину как-то передаётся объект через которых происходит взаимодействие с основной программой. Реализовать взаимодействие с объектом на ассемблере будет также трудно как и на Delphi и обычном С, также будет трудно реализовать взаимодействие с объектом на С++ при использовании другого компилятора. Например, у простых функций есть стандарты вызова (cdecl, stdcall, fastcall и т.д.) у COM тоже есть стандарт на то как надо вызывать функции в каком формате хранить данные объекта и т.д. На объекты обычных языков программирования стандартов нет, поэтому всё может тупо перестать работать после смены версии компилятора
rpy3uH вне форума Ответить с цитированием
Старый 04.08.2011, 18:28   #8
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

mss, речь идёт о 3 версии. Всё API версии 2 заключается в вызове main() и получении указателя на структуру с ворохом кэлбэков - с этим согласен. Проблема в версии 3, где похоже таки смрадно попахивает COM.

rpy3uH, спасибо за пояснения. Догадывался, т.к. гугл ничего про вызовы методов не знает.

Вообще идея реализовать стример, ориентированный на обработку аудио в реальном времени минимальной латентности с не нормализованным микшированием и другими свистелками и... Задача проектирования DSP не стоит, т.к. вся работа по обработке ляжет на плагины DXi, VST и т.д. коих в интернетах предостаточно. Вот и хотелось бы интегрировать поддержку оных в стример, чтобы не заниматься дурью, аля "плагин для плагина". Всё это - движок опен сорц, в мелкой и шустрой библиотеке, многозадачен и вообще ариец.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.

Последний раз редактировалось notHaker; 04.08.2011 в 18:33.
notHaker вне форума Ответить с цитированием
Старый 04.08.2011, 21:00   #9
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
в версии 3, где похоже таки смрадно попахивает COM
А дай, пож., прямую ссылку на SDK ?
Слабо верится, но.. просто любопытно)..
mss вне форума Ответить с цитированием
Старый 04.08.2011, 22:03   #10
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Вот собсно для плюса хидеры. Пытаюсь понять, как вообще подключить плагин такой версии. Нагорожено, мама не горюй.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Манипуляции с формой 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