#control #shared-state #server #panel #touch #enabled #update

touchpage

具有共享状态的控件面板服务器

4 个版本

使用旧 Rust 2015

0.2.2 2019 年 10 月 17 日
0.2.1 2019 年 10 月 17 日
0.2.0 2019 年 10 月 11 日
0.1.0 2016 年 12 月 29 日

#9 in #panel

35 每月下载
用于 2 crates

MIT 许可证

355KB
13K SLoC

Rust 11K SLoC // 0.0% comments Elm 2.5K SLoC // 0.0% comments Shell 51 SLoC // 0.2% comments

touchpage

我将 oscpad 仓库拆分为两部分,一个是 OSC 部分,另一个是 webserver-UI 部分。这是 webserver-UI 部分,以库的形式存在,这样就可以轻松地制作具有 oscpad 风格 UI 的独立 Rust 程序。

可配置的具有共享状态的 Web 控件。有关概述/教程,请参阅此处

想法是提供一种简单的方法来配置一组触摸按钮、滑块和标签,这些控件显示在网页上。当用户操作控件时,会向服务器发送 WebSocket 消息,服务器更新内部状态,并使用新的更改更新所有客户端,并将事件传递给您的 Rust 程序。库用户还可以更改控件状态,该状态在客户端中体现。

截至 0.2.0 版本,触摸控件现在可以从 Rust 中配置,而不是必须编辑未记录的 json 文件。请参阅示例文件夹中的示例,以及其他使用细节。

有关 elm 编译的一些说明。

elm 代码已经编译成 js,所以无需编译即可使用。但如果您想更改 elm 代码,elm build 需要 ambr,这是 amber cargo 包的一部分。使用 'cargo install amber' 安装它。

从项目目录中,使用 ./build-elm.sh 构建 elm 并创建一个 index.html 用于示例项目。您可能需要稍微修改示例 main.rs 以使用它。使用 ./runit.sh 运行 Rust 服务器。总结如下

0) cargo install amber
1) cd elm/
2) ./build-elm.sh
3) cd ../example
4) cargo build
5) ./runit.sh

依赖项

~28MB
~528K SLoC