Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/24: Рейтинг темы: голосов - 24, средняя оценка - 4.96
John Paramol
1

Взаимодействие плагинов

16.06.2007, 03:58. Просмотров 4625. Ответов 5
Метки нет (Все метки)


Приветствую, товарищи.
Возникла такая необходимость.
Намерен сделать два плагина. Конкретнее, два VST-плагина для звуковых редакторов, но это не важно.
Важно то, что они должны взаимодействовать еще и между собой.
То есть, например, загружаем один плагин, потом другой и он уже видит, что первый загружен и предлагает пользователю соединиться с ним. Затем периодически посылает ему некоторые данные.
Поделитесь соображениями, каким образом это можно организовать?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2007, 03:58
Ответы с готовыми решениями:

Система плагинов
Добрый день форумчане. У меня к вам есть вопрос. Кратко. Как можно реализовать систему плагинов?...

Подключение плагинов к программе
Появилась необходимость в разработке текстового редактора с возможностью подключения своих...

Как видео с камеры отобразить в браузере без использования сторонних плагинов?
Есть простенький веб сервер. на компьютере, на котором развернут сервер, есть встроенная камера....

Реализовать систему плагинов (модулей), каждый из которых должен работать в отдельном потоке
Всем доброго времени суток, не могли бы вы мне помочь реализовать систему плагинов( модулей)....

5
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
19.06.2007, 16:55 2
если не размышлять: используй mutex'ы и shared memory



вопросы:

* плагины загружаются в различных процессах или в одном?

* если в различных процессах, и запущенно 3 экземпляра плагина №1, то с каким из экземпляров должен общаться экземпляр плагина №2 (есть ли какие-либо правила в выборе предпочтения)?

* если в одном, то как они исполняются? асинхронно в отдельных потоках или синхронно в главном потоке процесса?



С уважением,

Владимир
0
John Paramol
21.06.2007, 04:51 3
Плагины загружаются в одном процессе, исполняются в одном, но не главном, потоке. Выбор предпочтения одного из уже загруженных экземпляров плагина №1 предоставляется пользователю.
Спасибо за подсказку, буду пробовать.
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
21.06.2007, 15:27 4
если дело происходит в одном процессе и даже в одном потоке, то я бы не стал ничего придумывать с mutex'ами и shared memory



организуйте что-нибудь типа plugin manager'a, позволяющего манипулировать и общаться загруженным плагинам между собой



во время процесса загрузки плагина, вызывайте функцию у загруженного плагина, что-нибудь типа SetPluginManager(CPluginManager* manager), ссылку на менеджера используйте, чтобы узнать о других плагинах и по-необходимости передать им управление



Удачи,

Владимир
0
John Paramol
23.06.2007, 21:36 5
Да, но ведь загрузчик является сторонним процессом, не моим. Если я правильно понял, вы предлагаете, чтобы загрузчик создавал менеджера, а потом передавал указатель на него всем загружаемым плагинам?
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
26.06.2007, 01:49 6
да... именно это и предлагалось
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2007, 01:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Теория плагинов
Всем привет. Для одной моей проги, нужно реализовать поддержку плагинов. Плагины предполагаются...

Написание плагинов для notepad++
Добрый день! Есть задача написания плагина для notepad++ - немного модифицировать его графический...

Взаимодействие плагинов с ядром
Разбираю теорию плагинов. Как выполнить какую либо функцию из .so, это понятно и просто, а вот как...

Отладка плагинов
Проблема в следующем. Есть програма, есть обычная dll'ка, которая подключается к програме...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.