最近,我开始了一个项目,需要将OSC与ArtNet协议结合起来。尽管OSC(开放声音控制)提供了一些示例和文档,vvvv组也编写了非常有效的Delphi解析器,但ArtNet(以太网DMX协议)实际上完全不支持,或者更好地说,根本没有delphi的示例。
我唯一找到的就是:http://mbed.org/users/okini3939/code/DmxArtNet/docs/c59dc374fc64/DmxArtNet_8cpp_source.html
这似乎是不完整的,我根本无法完成。与作者联系是黑暗中的一枪。

无论如何,最主要的是字节编码,然后再通过UDPClient发送它们。
现在,由于这基本上与OSC的工作方式相同,所以我认为这没什么大不了的,尤其是因为除了OSC之外,ArtNet仅需要通过UDPClient发送位位,并且根本不接收任何信息(对于OSC,解析器是关于接收和解码数据包的...)
但是,除了我敢说“这没什么大不了”的事实外,我确实不得不说,与此同时,我根本不熟悉如何做。

这里在第22和23页是ArtDmx表,其中包含字节格式信息...

www.artisticlicence.com/WebSiteMaster/User%20Guides/art-net.pdf

我认为这是我要发送命令所要做的...

有谁知道它,或者有时间快速了解它的工作原理,甚至可以举一个例子说明我如何从delphi的应用程序中发送数据...?

谢谢!

马克

编辑:
似乎他们的网站已关闭,因为指向pdf的链接不再起作用,但是我仍然打开了它的副本,因此我将复制以下内容:

ArtDmx数据包可以广播,但不建议这样做。可以显着提高网络效率
通过单播ArtDmx可以实现。当ArtDmx为单播时,必须使用以下规则:
传输设备必须定期对网络进行ArtPoll,以检测Universe交换机的任何变化
设置。如果传输设备选择单播,则必须将ArtDmx单播到所有
订阅(在ArtPollReply中)该宇宙。已订阅是指两个中列出的任何Universe
Swin和Swout数组。
如果没有发射机希望发送的Universe订户,则ArtDmx可能是
广播。实施者应提供单播和广播之间的动态更改。如果
Universe订户的数量超过给定的数量,广播的效率可能会更高。
对于使用30个以上Universe的系统,仅强制使用单播。
表:
http://shrani.si/f/2c/GQ/3NF9rewr/artnet-udp-table.png

最佳答案

因此,过了一会儿,主要的VVVV开发人员之一Joreg将事情写到了delphi单元中,这要归功于他们和vvvv团队。

https://github.com/vvvv/DelphiArtnet

这是一个线程:http://vvvv.org/forum/delphi-artnet-dmx-support...#comment-110297

希望这对其他人有帮助!

关于delphi - Delphi UDPClient示例-> ArtNet通信和解析器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20012422/

10-11 18:30