9 个稳定版本
3.0.1 | 2024 年 1 月 22 日 |
---|---|
3.0.0 | 2023 年 8 月 27 日 |
2.1.0 | 2022 年 1 月 26 日 |
2.0.2 | 2021 年 12 月 28 日 |
1.0.2 | 2021 年 5 月 15 日 |
#171 in 图像
每月 70 次下载
68KB
1.5K SLoC
gfret
内容
简介
gfret 为弦乐器生成品位的 svg 图像模板。它具有 Gtk 界面以及命令行界面,可以生成从 piccolo mandolin 到 upright bass 的各种乐器模板。还支持多尺度设计。目前,所有测量都仅以公制单位表示。
获取 gfret
gfret 主要以源代码形式分发。主要仓库位于 codeberg.org,镜像位于 gitlab 和 github.com。建议使用发布版本。
用法
gfret 可通过命令行或使用 Gtk+ 界面使用。
运行命令行界面
gfret-cli
Output an svg without running the interface
USAGE:
gfret cli [OPTIONS] [OUTPUT]
ARGS:
<OUTPUT> Name of the output file [default: output.svg]
OPTIONS:
-b, --bridge <BRIDGE>
Bridge spacing [default: 56]
-c, --count <COUNT>
Total fret count [default: 24]
-e, --external <EXTERN>
Open output file in external program [default: inkscape]
-h, --help
Print help information
-l, --left
Multiscale fretboard reversed (left handed)
-m, --multi <MULTI>
Creates a multiscale fretboard with <MULTI> as the treble scale. [default: 610]
-n, --nut <NUT>
Nut width [default: 43]
-o, --output <OUTPUT>
Name of the output file [default: output.svg]
-p, --perpendicular <PERPENDICULAR>
Set which fret is perpendicular to the centerline [default: 8]
-s, --scale <SCALE>
Scale length in mm [default: 648]
运行 gui
通过调用 gfret
而不带任何参数将运行 Gtk 界面。此外,还包括 .desktop 文件和图标,如果使用包含的 Makefile
安装程序,则将安装这些文件,可用于从桌面菜单启动程序或创建快捷方式。
快捷键
注意:有关更改快捷键的信息,请参阅 KEYS.md
键 | 动作 |
---|---|
Ctrl/S | 保存文件 |
Ctrl/Shift/S | 另存为 |
Ctrl/E | 使用外部程序打开 |
Ctrl/O | 从文件加载模板 |
Ctrl/Shift/P | 打开 首选项 对话框 |
Ctrl/A | 打开 关于 对话框 |
Ctrl/Q | 退出程序 |
构建
您需要安装 Rust 工具链,包括 cargo。还需要 Gtk+4x。
cargo build --release
如果需要,可以生成一个发布版本,其中包含二进制文件、svg 和 png 图标、Unix man 页面、XDG .desktop 文件、gschema.xml 和 shell 完整性。
cargo xtask dist
要安装,请将 target/dist
的内容复制到适当的前缀,并编译 gschemas。
cp -Rv target/dist/* /usr/local
glib-compile-schemas /usr/local/share/glib-2.0/gschemas/
路线图
- 对于GUI,保存状态并允许从模板加载和保存规格将会很方便。部分实现 4/7/21 | 完成 5/5/21
- 移植到Gtk4 完成 12/21
- 支持从公制单位转换为英制单位 完成 12/21
- 支持左手多尺度指板 完成 12/21
- 将左手输出方向调整为低音弦在上 完成 1/22
3.0
- 从AdwApplicationWindow继承应用程序窗口
- 从AdwApplication继承GfretApplication
- 创建一个gio::Settings对象并在其中存储应用程序状态
- 将配置移动到GfretApplication
- 提供主题切换器
- 从AdwPreferencesWindow继承偏好设置窗口
- 为“单位”创建属性动作和菜单项
- 添加AdwToastOverlay并在文件保存时设置吐司提示
- 用glib::File替换gfret::File类型
- 为GfretWindow创建一个跟踪保存状态的布尔属性
changed
- 根据需要创建所有对话框而不是在程序生命周期中持续存在
- 用可以重新打开此应用程序创建的svg文件的能力替换模板
- 为FlatPak打包和分发做准备
依赖关系
~33MB
~588K SLoC