Империя 3 представляет собой комплекс программ, которые связаны между собой каналами обмена данными.
Каждый канал имеет свой номер (PID) от 1 до 32767.
По этому каналу происходит обмен данными между главной программой и подчиненными модулями.
Модули могут быть 3х видов:
1. Источник звука или данных
2. Вывод (получатель) данных.
3. Внешнее управление /На настоящий момент не реализованы модули. Нет запросов о необходимости/
Со Студией поставляется файл SEStudio.io.
В нем перечисляются варианты работы программы с внешними программами
Пример из этого файла (украинский вариант).
Раздел [Input]
Интернет поток (Cast)=CastPlayer,Directive
Раздел [Input] используется для источников звука и входящих данных
"Интернет поток (Cast)" будет отображен в списке вариантов выбора режима работы с ретрансляцией в настройках Студии.
Данные после "=" CastPlayer,Directive
Это значит, что при выборе этого режима в Студии, источниками звука и данных будут модуль SECastPlayer и SEDirective.
Номер канала (PID) этих программ указывается в Студии, соответственно, в настройках программ, которые будут работать со Студией необходимо указать PID, который указан в Студии.
То есть в SECastPlayer в настройках указать, что он будет работать в интерактивном режиме (то есть со студией) и откликается на фамилию "номер 1".
Тоже самое надо сделать с модулем SEDirective, чтобы и эта программа откликалась на тот же номер.
Т.о. эти программы будут сообщать Студии свои данные, а Студия будет знать, что это данные пришли из программ, с которыми она установила соединение.
Так а зачем нужен PID?
Да для того, чтобы можно было запустить
а) несколько копий Империи сразу
б) несколько одинаковых программ с разными источниками звука и одним получателем. Например, несколько CastPlayer-ов. И по времени переключаться между одним каналом/станцией и другой.
Более подробно про PID написано в документации. Вот тут