Skip to content

Commit 476d51c

Browse files
committed
Update README.MD
1 parent e9deb77 commit 476d51c

File tree

5 files changed

+36
-17
lines changed

5 files changed

+36
-17
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.cache/**
22
build/**
33
musicfox-target-port.patch
4+
.history/**

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.5)
22

3-
project(lyric-for-musicfox VERSION 0.1 LANGUAGES CXX)
3+
project(lyric-for-musicfox VERSION 1.3 LANGUAGES CXX)
44

55
set(CMAKE_AUTOUIC ON)
66
set(CMAKE_AUTOMOC ON)
@@ -119,7 +119,7 @@ endif()
119119
# If you are developing for iOS or macOS you should consider setting an
120120
# explicit, fixed bundle identifier manually though.
121121
if(${QT_VERSION} VERSION_LESS 6.1.0)
122-
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.lyric-for-musicfox)
122+
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.lyric-for-musicfox)
123123
endif()
124124
set_target_properties(lyric-for-musicfox PROPERTIES
125125
${BUNDLE_ID_OPTION}
@@ -141,7 +141,6 @@ if(QT_VERSION_MAJOR EQUAL 6)
141141
if(UNIX)
142142
qt_finalize_executable(mpris-lyric-sender)
143143
endif()
144-
145144
endif()
146145

147146
# 生成带有自定端口的补丁

README.MD

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Lyric For Musicfox
1+
# Lyric For Musicfox
22

33
本程序基于细微修改后的[go-musicfox](https://github.com/go-musicfox/go-musicfox)项目上,
44
使得能够在Linux KDE Plasma6桌面上显示歌词。若您的设备运行着 Linux,则可以在设置界面中勾选上
@@ -7,14 +7,20 @@ Mpris 模式并保存,而免于运行打补丁的 musicfox。
77
如果鼠标事件无法正常穿透则使用 `-platform xcb` 参数尝试启动,即 `./lyric-for-musicfox -platform xcb`
88
WINDOWS 下运行会出现无法移动窗口现象,需要改配置文件+反复开关歌词程序以确定位置。
99

10-
### 构建
10+
## 构建
11+
12+
### 利用 Github Action 构建
13+
14+
直接 folk 一份仓库后,等待 action 跑完后可以在 action 下下载构建好的二进制包。
15+
16+
### 自己动手构建
1117

1218
前置需求:[go-musicfox](https://github.com/go-musicfox/go-musicfox)项目所需需求以外还需要:
1319

1420
* QT5 或 QT6
1521
* libdbus-1 (仅Linux下构建才需要)
1622

17-
```
23+
```shell
1824
clone https://github.com/SmileYik/lyric-for-musicfox.git
1925
cd lyric-for-musicfox
2026
cmake -S . -B build
@@ -23,7 +29,8 @@ make
2329
```
2430

2531
CMake 配置时可选编译打补丁的musicfox。
26-
```
32+
33+
```shell
2734
cmake -S . -B build -DSKIP_BUILD_MUSICFOX=YES # 跳过构建 musicfox
2835
cmake -S . -B build -DSKIP_BUILD_MUSICFOX=NO # 构建 musicfox
2936
```
@@ -33,26 +40,38 @@ cmake -S . -B build -DSKIP_BUILD_MUSICFOX=NO # 构建 musicfox
3340
可选修改歌词通信端口:打开 `CMakeLists.txt` 修改 `CONFIG_PORT` 为自己想要的通信端口后进行编译即可。
3441
若编译过程中出现打补丁失败字样可以自行文本修改`musicfox.patch``${CONFIG_PORT}`至想要的端口后手动打补丁编译。
3542

36-
### 运行模式
43+
## 运行模式
44+
45+
现有两种运行模式,一种需要运行修改后的 go-musicfox,另一种依赖于 mpris,并且从其中获取歌词。
3746

38-
现有两种运行模式,一种需要运行修改后的 go-musicfox,另一种依赖于 mpris,并且从其中获取歌词
47+
但两种运行模式都有共同点,就是歌词程序会监听一个UDP端口,该UDP端口用于接收歌词与相关指令信息,之后在窗口中渲染出来
3948

40-
#### 修改 go-musicfox 的运行模式
49+
### 修改 go-musicfox 的运行模式
4150

4251
该模式支持 Linux 及 Windows 平台。主要依赖于修改后的 go-musicfox 客户端。修改后的 go-musicfox 客户端在
4352
更新歌词时,都会通过 UDP 协议,发送当前当句歌词信息给桌面歌词程序,然后桌面歌词程序再进行窗口渲染,将歌词文本
44-
渲染在窗口中。在该模式下,桌面歌词程序并不知道完整的歌词信息,仅知道当前时间下的单句歌词信息。
53+
渲染在窗口中。在该模式下,桌面歌词程序并不知道完整的歌词信息,仅知道当前时间下的单句歌词文本信息。若歌词超过了
54+
窗口的最大宽度,则需要进行滚动展示歌词,但是由于不知道当前歌词的持续的具体时间,所以需要依赖于 go-musicfox 发送
55+
歌词的频率: 每多发一次相同歌词,就将当前显示的歌词滚动固定偏移量一次。
4556

4657
大概工作流程为: 修改后的go-musicfox --发送歌词--> lyric-for-musicfox
4758

48-
#### 依赖于 mpris 的运行模式
59+
### 依赖于 mpris 的运行模式
60+
61+
该模式仅支持 Linux, 可以在设定界面中启用设置,若您的设备为 Windows,则在编译时会自动剔除 mpris 相关的代码。
62+
启用该模式后,桌面歌词会启用 mpris 控制器,从 mpris 中获取当前播放歌曲信息及完整的歌词信息,并模拟时间轴,推算
63+
当前时间点应该显示的歌词,通过 UDP 报文发送至渲染端。相当于启动了一个新的控制器用于顶替修改后的 go-musicfox 客
64+
户端功能。
65+
66+
大概工作流程为:go-musicfox --更新歌词及播放状态--> mpris --获取信息--> lyric-for-musicfox 的 mpris 控制器 --发送歌词--> lyric-for-musicfox.
4967

50-
该模式仅支持 Linux, 可以在设定界面中启用设置。桌面歌词程序会从 mpris 中获取当前播放中的歌曲的完整歌词信息,
51-
并内置计时器计算当前时间下应该显示的歌词进行渲染, 从而不需要修改后的 musicfox。
68+
对于 lyric-for-musicfox 的 mpris 控制器,可以单独运行,并指定歌词发送的目的地IP和目的地的端口。假如您正在使用
69+
termux 版本的 go-musicfox, 可以单独运行 mpris 控制器,将歌词发送至同一网络下的 PC 桌面设备,进行歌词渲染。
70+
具体效果如下图:
5271

53-
大概工作流程为:go-musicfox --更新歌词及播放状态--> mpris --获取信息--> lyric-for-musicfox
72+
![termux-musicfox](./docs/termux-1.png)
5473

55-
### 配置
74+
## 配置
5675

5776
![setting window](./docs/3.png)
5877

@@ -72,6 +91,6 @@ cmake -S . -B build -DSKIP_BUILD_MUSICFOX=NO # 构建 musicfox
7291
取消勾选“Frame Less”复选框,以显示歌词窗口边框,此时对歌词窗口进行移位或调整窗口大小。当认为合适时,勾选上“Frame Less”复选框,
7392
与此同时,按下“Save Self Position”按钮进行保存相关信息。之后直接不保存配置,并关闭设定窗口,到此设置完毕。
7493

75-
### 效果
94+
## 效果
7695

7796
![2](./docs/2.png)

docs/2.png

1.7 MB
Loading

docs/termux-1.png

541 KB
Loading

0 commit comments

Comments
 (0)