Skip to content

feat(IPC): Add Linux Unix socket MessageChannel and encoding examples#1

Open
samuel-asleep wants to merge 44 commits into
Celemony:mainfrom
samuel-asleep:main
Open

feat(IPC): Add Linux Unix socket MessageChannel and encoding examples#1
samuel-asleep wants to merge 44 commits into
Celemony:mainfrom
samuel-asleep:main

Conversation

@samuel-asleep

@samuel-asleep samuel-asleep commented Jun 22, 2026

Copy link
Copy Markdown
  • IPCSocketEncoding: compact binary MessageEncoder/Decoder over a flat byte buffer, no external dependencies

  • IPCSocketChannel: MessageChannel backed by a socketpair fd with a background receive thread

  • IPCSocketHostTest: host-side binary that forks IPCSocketPlugInTest, connects via socketpair, and exercises getFactoriesCount / getFactoryAtIndex / initializeARA / uninitializeARA

  • IPCSocketPlugInTest: plugin-side binary that loads a Linux VST3 via dlopen, registers its ARAFactory with ARAIPCProxyHostAddFactory, and serves messages on the creation thread

  • meson.build: standalone build for the two test binaries

Tested against ARAPluginDemo (JUCE/Linux VST3 and Windows build). Build:
meson setup build TestHost/IPC/ -Dvst3_sdk_path=
ninja -C build
build/IPCSocketHostTest build/IPCSocketPlugInTest <plugin.so>

…ing to compile with missing prototypes warnings enabled
sgretscher and others added 14 commits April 30, 2026 23:23
… of Connection to properly deal with IPC running on the main thread
- IPCSocketEncoding: compact binary MessageEncoder/Decoder over a
  flat byte buffer, no external dependencies
- IPCSocketChannel: MessageChannel backed by a socketpair fd with
  a background receive thread
- IPCSocketHostTest: host-side binary that forks IPCSocketPlugInTest,
  connects via socketpair, and exercises getFactoriesCount /
  getFactoryAtIndex / initializeARA / uninitializeARA
- IPCSocketPlugInTest: plugin-side binary that loads a Linux VST3
  via dlopen, registers its ARAFactory with ARAIPCProxyHostAddFactory,
  and serves messages on the creation thread
- meson.build: standalone build for the two test binaries

Tested against ARAPluginDemo (JUCE/Linux VST3). Build:
  meson setup build TestHost/IPC/ -Dvst3_sdk_path=<path>
  ninja -C build
  build/IPCSocketHostTest build/IPCSocketPlugInTest <plugin.so>
@samuel-asleep

Copy link
Copy Markdown
Author

@sgretscher I still have problems with melodyne I'm hoping you can help get it resolved

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants