【问题标题】:Interfacing Java and Quartz Composer连接 Java 和 Quartz Composer
【发布时间】:2010-10-12 15:15:07
【问题描述】:

我编写了这个活动摄影应用程序,其中包含幻灯片等功能。用Java编写的应用程序是多平台的。但是在 Mac OS X 上,它通过在 Java 窗口中包含一个 QC 组件来利用 Quartz Composer 的图形功能。该组件基于 Xcode 自带的示例。

用户可以为幻灯片选择一个“皮肤”,它由一个 .qtz 文件和一个 XML 文件组成,该文件描述了 Java 应用程序可以传递给 QC 程序的参数。参数在 UDP 数据包中传递。

这种方法的问题在于,它需要在QC项目中使用大量难看的javascript代码,而构建这些项目的设计者又不是程序员。

理想情况下,我想将参数绑定到 QC 项目中已发布的输入。有没有人做过这种事情,或者可以指出一些关于连接 Java 和 QC 的信息? 提前致谢。

【问题讨论】:

    标签: java macos integration quartz-composer


    【解决方案1】:

    在基于 Objective-C 的 Mac OS API 中有绑定可以做你想做的事,但是我不知道你将如何在 Java 中访问这些。

    然而,Quartz Composer 支持 OpenSoundControl,它允许您通过 UDP 或 TCP 连接发送命名参数(浮点数、整数和字符串)。然后,您的设计师应该能够使用 Quartz Composer 的可视化编辑器将这些命名输入连接到他需要的任何补丁参数。

    【讨论】:

    • 好吧,应用程序已经在 UDP 数据包中发送了参数,但我希望有一个更简单的解决方案。
    【解决方案2】:

    我自己没有这样做,但我假设您可以使用 JNI 来访问来自您的 java 应用程序的已发布端口的 Objective-c 接口。

    【讨论】:

    • 这绝对是可能的 developer.apple.com/library/mac/#technotes/tn2147/_index.html "JNI 是一种用于 Java 和基于 C 的代码之间通信的低级机制。该技术最常见的用途是访问不容易匹配的系统功能具有跨平台的 Java 功能或 API。在 Mac OS X 的情况下,这可能意味着从 Mac OS X 地址簿访问数据,甚至是**粗体**(显示 Quartz Composer 作品)。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多