19个版本
0.3.2 | 2022年3月28日 |
---|---|
0.2.2 | 2021年11月10日 |
0.1.15 | 2021年6月30日 |
0.1.11 | 2021年3月17日 |
#134 在 音频
1,720 星 & 19 关注者
590KB
16K SLoC
Spot 
Gtk/Rust原生Spotify客户端,适用于GNOME桌面。 仅适用于高级账户!
基于 librespot。
在 Matrix 上加入讨论。
安装
使用说明
凭证
建议安装一个符合libsecret规范的密钥环应用程序,例如 GNOME Keyring(也称为seahorse)。这将允许在启动之间安全地保存您的密码。
在GNOME中,应该可以直接使用。在其他DE中可能需要一些技巧才能使用:请参阅此 ArchWiki条目 以了解如何自动与您的会话一起启动守护进程的详细说明。
请注意,要启用自动登录,您可能需要使用与用户账户相同的密码作为密钥环的密码,并且密钥环可能需要被 设置为默认值。
有关更多详细信息,请参阅 此评论!
使用Facebook登录
...不受支持。但是,您可以更新您的账户,以便能够使用用户名和密码 如在此问题中所述 登录。
设置
如果您想更改音频后端、歌曲比特率等,Spot也可以通过 gsettings
进行配置。
搜索条形图变形
可以通过点击进度条来跳转到歌曲的相应位置。如果遇到无法正常工作的问题,您可能需要将 gtk-primary-button-warps-slider 设置为 false。为了解决这个问题,请将您的 gtk 配置中的值设置为 true。
Scrobbling
Spot 并不支持直接的 Scrobbling。然而,您可以使用如 rescrobbled (查看 #85) 这样的工具。
歌词
同样,Spot 也不会显示歌曲的歌词,但您可以使用 osdlyrics (查看 #226)。
Gtk 主题
Spot 默认使用深色主题变体;您可以在设置中更改它。
如果您正在使用 flatpak 版本,别忘了也要用 flatpak 安装您的主题。有关详细信息,请参阅 此评论。
同样,snap 也需要您安装相应主题的 snap。有关详细信息,请参阅 此评论。
功能
仅适用于高级账户!
- 播放控制(播放/暂停、上一曲/下一曲、快进、随机播放、重复(无、全部、歌曲))
- 选择模式:轻松浏览并选择多首曲目以将它们排队
- 浏览您保存的专辑和播放列表
- 搜索专辑和艺术家
- 查看艺术家的发行作品
- 查看用户的播放列表
- 查看专辑信息
- 使用 Secret Service 进行凭证管理
- MPRIS 集成
- 播放列表管理(创建和编辑)
- 喜欢的曲目
计划中
- GNOME 搜索提供者?
- 改进的搜索?(曲目结果)
- 推荐?
贡献
欢迎贡献!如果您愿意,在提交您的贡献时,请将您的名字添加到 AUTHORS
文件中。
对于任何大型功能/变更,请首先提出一个问题以讨论实现和设计决策。
翻译
使用 gettext
进行翻译,并在 po/
子目录中提供。
请使用 POEditor 提交翻译。
如果您愿意,欢迎您打开一个 PR 以将其添加到 TRANSLATORS
文件中!
构建
使用 GNOME Builder 和 flatpak
先决条件:使用 flatpak 安装 org.freedesktop.Sdk.Extension.rust-stable
SDK 扩展。Builder 可能会自动执行此操作,但会安装较旧版本;请确保安装的版本与 Freedesktop SDK GNOME 使用的版本相匹配。
在 GNOME Builder 中打开项目,并激活 dev.alextren.Spot.development.json
配置。然后构建 :)
手动
需要 Rust(稳定版)、GTK4 和一些其他东西。还需要 libadwaita 和 blueprint-compiler:它们目前并未在所有发行版中打包,您可能需要自己构建它们!
使用 meson
meson target -Dbuildtype=debug -Doffline=false --prefix="$HOME/.local"
ninja install -C target
# to run test/linter/etc
meson test -C target --verbose
这将安装一个 .desktop
文件以及其他一些东西,并将 spot 可执行文件放在 .local/bin
中(您可能想将其添加到您的路径中)。
要构建优化后的发布版本,请使用-Dbuildtype=release
。
重新生成pot文件
在添加新的msgids
时,别忘了重新生成/更新pot文件。
ninja spot-pot -C target
ninja spot-update-po -C target
从POEditor拉取更新的字符串
我们现在使用POEditor和出色的poeditor-sync
工具。
poeditor pull
为flatpak重新生成源文件
ninja cargo-sources.json -C target
调试
将RUST_LOG
环境变量设置为适当的级别。
调试构建(flatpak)可在Github的master分支上获得(见spot-snaphots
动作)。
Spot在~/.cache/spot
中缓存图像和HTTP响应。
Spot使用isahc,它使用libcurl,因此您可以设置https_proxy
环境变量以帮助调试。在调试模式下,Spot跳过SSL证书验证。
依赖项
~82MB
~1.5M SLoC