将MIDI源发布为Bonjour服务

时间:2011-01-28 13:30:28

标签: iphone c++ objective-c midi bonjour

我为OSX和Windows编写了一个VST / AU / RTAS合成器插件,它同样具有iPhone。我想允许两者通过局域网相互通信,以便iPhone应用程序可用于将MIDI控制器数据发送到插件。我计划在iPhone上创建一个MIDI源并将其作为Bonjour服务发布,以便在OSX或Windows上运行的插件可以找到它并从中接收midi。

我有几个问题要问:

1)我是否真的必须将MIDI源作为Bonjour服务发布,还是将coremidi主机(在iPhone上运行)自动发布?

2)是否有可用的代码示例显示如何执行此类操作?

我看过以下帖子,但答案只包括客户端,找到Bonjour服务但不是发布方,它通过OSC传输MIDI,它只涵盖OSX而不是Windows(我知道,我“我的要求不高!;))

How to send MIDI or OSC signals to a Mac application from my iOS application?

干杯,

约翰。

1 个答案:

答案 0 :(得分:1)

AFAIK您必须自己发布服务。 NSNetService和NSNetServiceBrowser是您需要的类。查看companion guide。我在Cocoa for Scientists上发现this article对入门特别有帮助。两者都有一些不错的代码示例。 Bonjour Browser对测试非常有用。

list of bonjour service types已有

  

苹果-MIDI

  

imidi

但我认为除非您的应用与其中一项服务插件兼容,否则最好自行构建您自己的应用程序类型名称。