OSD Lyrics:提供多种播放器OSD歌词显示支持(更新至0.3.20100330版)

Totem,mplayer,sopcast,realplayer,bmp
回复
头像
tigersoldier
帖子: 40
注册时间: 2008-04-05 11:08

OSD Lyrics:提供多种播放器OSD歌词显示支持(更新至0.3.20100330版)

#1

帖子 tigersoldier » 2009-08-28 1:49

项目主页:http://code.google.com/p/osd-lyrics/
截图from 13楼:
图片
介绍:让你的播放器支持桌面歌词效果,自动从搜狗下载歌词。
目前支持的播放器有:Amarok、Audacious、Banshee、Exaile、MOC 2.5、 Quod Libet、MPD、Rhythmbox、Songbird、XMMS2

安装方法
可以使用Ubuntu Tweak添加OSD Lyrics的PPA源进行安装
也可以按照http://tigersoldier.is-programmer.com/2 ... 10188.html的方法添加PPA源

更新记录
0.3.20100330
  • 添加歌词编码自动检测功能
    从MiniLyrics下载歌词
    在歌词面板上控制播放器
    换歌通知上显示当前播放器图标
    单击系统托盘图标可以显示/隐藏歌词
0.3.20100211
  • 手动搜索歌词时可以指定搜索条件和下载引擎
    启动时自动启动播放器
    支持Quod libet
    加入自动下载最匹配的歌词选项,不弹出选择框
    调整歌词延迟
    切换歌曲时显示通知
    修复了一个会崩溃的bug
具体内容见http://tigersoldier.is-programmer.com/2 ... 15493.html
0.2到0.2.20100201
自0.2版发布以下,出现了如下改动:
  • 后台下载歌词,不再卡住界面
    在下载歌词时显示相应提示在OSD界面上
    支持XMMS2、MPD、MOC、Exaile、Songbird
    播放控制
    歌词匹配模板,支持根据音乐文件位置查找歌词
0.2
0.2版相较于0.1版有如下改动:
  • 支持从千千音乐在线下载歌词
    支持 Rhythmbox
    支持全局快捷键
    OSD模式改进
    • 添加单行模式支持
      歌词过长时水平滚动
      鼠标移动到歌词上时歌词变为透明
      显示/隐藏歌词
      bug修复
    修复之前将LRC文件的offset处理错误的问题
上次由 tigersoldier 在 2010-04-04 10:43,总共编辑 3 次。
头像
jarryson
帖子: 4002
注册时间: 2005-08-14 19:53

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#2

帖子 jarryson » 2009-08-28 10:41

不错不错,貌似依赖很小。看起来非常不错

只是播放器支持少了点,加油啊
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#3

帖子 eexpress » 2009-08-28 10:43

不折腾,等播放器都支持dbus再说
一个很简单的事情,就是不统一。
● 鸣学
头像
tigersoldier
帖子: 40
注册时间: 2008-04-05 11:08

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#4

帖子 tigersoldier » 2009-08-28 14:25

jarryson 写了:不错不错,貌似依赖很小。看起来非常不错

只是播放器支持少了点,加油啊
播放器主要支持通过ibus进行IPC的
只是有的播放器给出的时间只精确到秒,处理起来比较麻烦(最麻烦的是exaile,居然给出的是百分比)
头像
tigersoldier
帖子: 40
注册时间: 2008-04-05 11:08

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#5

帖子 tigersoldier » 2009-08-28 14:27

eexpress 写了:不折腾,等播放器都支持dbus再说
一个很简单的事情,就是不统一。
很多都是用ibus通信的,但是通信接口不同
支持MPRIS的就方便了,现在amarok2和audacious就是用这个
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#6

帖子 eagle5678 » 2009-08-28 15:53

cool,

我这边只能放一首就不显示了,每次只能一首再重启OSD……

还有,那歌词移不动啊?挡在dock前……

每次都重新下载,可以搜索硬盘?
头像
tigersoldier
帖子: 40
注册时间: 2008-04-05 11:08

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#7

帖子 tigersoldier » 2009-08-28 16:19

eagle5678 写了:cool,

我这边只能放一首就不显示了,每次只能一首再重启OSD……

还有,那歌词移不动啊?挡在dock前……

每次都重新下载,可以搜索硬盘?
把命令行里的输出贴出来看看?
Ctrl+Shift+L解除锁定后可以移动
歌词只用下载一次
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#8

帖子 eagle5678 » 2009-08-28 17:00

终于解锁了,刚才不行

换music之后

代码: 全选

ol_player_rhythmbox_get_song_properties
王力宏 爱在哪里 改变自己 -1
ol_player_rhythmbox_get_song_properties
change_music
lrc file name:/home/firstuanl/.lyrics/王力宏-爱在哪里.lrc
ol_osd_window_set_lyric
(null)

(osd-lyrics:4611): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed

(osd-lyrics:4611): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
ol_osd_window_set_lyric
(null)

(osd-lyrics:4611): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed

(osd-lyrics:4611): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
stat:-1
[Download]download-engine:Qianqian
Download engine: Qianqian
ol_lrc_fetch_get_engine:Qianqian
[0]:Sogou
[1]:Qianqian
found: '爱在哪里' '洛客班'
found: '爱在哪里' '随风飘苓'
found: '爱在哪里' '王力宏'
found: '爱在哪里' '王力宏'
downloading...
lrc file name:/home/firstuanl/.lyrics/王力宏-爱在哪里.lrc
ol_lrc_fetch_qianqian_download:http://www.qianqian.com/downfromlrc.php?Id=182039&title=%E7%88%B1%E5%9C%A8%E5%93%AA%E9%87%8C&artist->/home/firstuanl/.lyrics/王力宏-爱在哪里.lrc
download /home/firstuanl/.lyrics/王力宏-爱在哪里.lrc success
init2
real_time: 36562, time: 0
init1
prev:0, time:16000

再重启lyrics

代码: 全选

:~$ osd-lyrics 
initializing gettext: osd-lyrics at /usr/share/locale
_Lock
ol_player_amarok1_get_controller
ol_dcop_get_boolean
sh: dcop: not found
ol_player_amarok2_get_controller
ol_player_mpris_get_activated
ol_player_mpris_init_dbus
get proxy failed: Could not get owner of name 'org.kde.amarok': no such name
ol_player_banshee_get_controller
ol_player_banshee_init_dbus
get proxy failed: Could not get owner of name 'org.bansheeproject.Banshee': no such name
ol_player_audacious_get_controller
ol_player_mpris_get_activated
ol_player_mpris_init_dbus
get proxy failed: Could not get owner of name 'org.mpris.audacious': no such name
ol_player_rhythmbox_get_controller
ol_player_rhythmbox_init_dbus
new
class init
init
serif 30
id of changed signal is: 82
config path: /home/firstuanl/.config/osd-lyrics/osd-lyrics.conf
active-lrc-color
inactive-lrc-color
config_change_handler:[OSD]visible
[General]visible:1
config_change_handler:[OSD]locked
[OSD]locked:0
  locked: 0
[OSD]locked:0
config_change_handler:[OSD]line-count
[OSD]line-count:1
realize
ensure
ol_osd_window_compute_position
  xalign: 0.500000, yalign: 0.500000
ol_osd_window_size_allocate
(128, 483) - 1024 x 57
ol_osd_window_compute_position
  xalign: 0.500000, yalign: 0.500000
config_change_handler:[OSD]xalign
[OSD]xalign:0.578125
[OSD]yalign:0.953733
ol_osd_window_set_alignment
  xalign 0.578125
  yalign 0.953733
ol_osd_window_compute_position
  xalign: 0.578125, yalign: 0.953733
ol_osd_window_size_allocate
(148, 922) - 1024 x 57
config_change_handler:[OSD]font-family
[OSD]font-family:方正静蕾简体
方正静蕾简体 30

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
ol_osd_window_compute_position
  xalign: 0.578125, yalign: 0.953733
ol_osd_window_size_allocate
(148, 931) - 1024 x 47
config_change_handler:[OSD]font-size
[OSD]font-size:48.000000
方正静蕾简体 48

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
ol_osd_window_compute_position
  xalign: 0.578125, yalign: 0.953733
ol_osd_window_size_allocate
(148, 907) - 1024 x 73
config_change_handler:[OSD]width
[OSD]width:1024
ol_osd_window_compute_position
  xalign: 0.578125, yalign: 0.953733
config_change_handler:[OSD]lrc-align-0
[OSD]lrc-align-0:0.000000
ol_osd_window_set_line_alignment:0-0.000000
config_change_handler:[OSD]lrc-align-1
[OSD]lrc-align-1:1.000000
ol_osd_window_set_line_alignment:1-1.000000
config_change_handler:[OSD]active-lrc-color
len = 3
config_change_handler:[OSD]inactive-lrc-color

** (osd-lyrics:6130): CRITICAL **: ol_config_get_str_list: assertion `config != NULL' failed
len = 3

(osd-lyrics:6130): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(osd-lyrics:6130): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

** (osd-lyrics:6130): WARNING **: Binding '<Ctrl><Shift>H' failed!


** (osd-lyrics:6130): WARNING **: Binding '<Ctrl><Shift>L' failed!

ol_lrc_fetch_add_engine:Sogou
ol_lrc_fetch_add_engine:Qianqian
ol_player_get_active_player
controller count:5
trying player 0
ol_dcop_get_boolean
sh: dcop: not found
trying player 1
ol_player_mpris_get_activated
ol_player_mpris_init_dbus
get proxy failed: Could not get owner of name 'org.kde.amarok': no such name
trying player 2
ol_player_banshee_init_dbus
get proxy failed: Could not get owner of name 'org.bansheeproject.Banshee': no such name
trying player 3
ol_player_mpris_get_activated
ol_player_mpris_init_dbus
get proxy failed: Could not get owner of name 'org.mpris.audacious': no such name
trying player 4
init1
prev:0, time:30000
ol_player_rhythmbox_get_song_properties
王力宏 改变自己 改变自己 -1
ol_player_rhythmbox_get_song_properties
change_music
lrc file name:/home/firstuanl/.lyrics/王力宏-改变自己.lrc
ol_osd_window_set_lyric
(null)

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
ol_osd_window_set_lyric
(null)

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed

(osd-lyrics:6130): Gdk-CRITICAL **: gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
stat:0
ol_osd_window_set_lyric
一点点改变,有很大的差别
[General]visible:1
show
ol_osd_window_map
ol_osd_window_set_lyric
你我的力量也能改变世界
ol_osd_window_set_lyric
最近比较烦 最近情绪很down 
ol_osd_window_set_lyric
每天看新闻都会很想大声尖叫 
ol_osd_window_set_lyric
但脏话没用 大家只会嫌凶 

只能放一首,这个,试了很多次了
头像
tigersoldier
帖子: 40
注册时间: 2008-04-05 11:08

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#9

帖子 tigersoldier » 2009-08-28 17:13

目前歌名和歌手要求精确匹配,可能你的其他歌的歌名或者歌手有些不同(多个空格或者中/英文的区别)而找不到歌词吧
我会继续改进匹配算法的,在这之前可以试试按照提示修改一下歌曲信息,或者手动下载LRC歌词存为~/.lyrics/歌手-歌名.lrc
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#10

帖子 xiooli » 2009-08-28 17:13

osd显示功能能独立出来不?
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#11

帖子 eagle5678 » 2009-08-28 17:16

代码: 全选

download /home/firstuanl/.lyrics/王力宏-不完整的旋律.lrc success
init2
real_time: 6095, time: 0
init1
prev:0, time:5000
enter
leave
  (886,908)
enter
leave
  (1084,901)
ol_config_changed:locked
[OSD]locked:1
enter
leave
  (576,910)
enter
leave
  (411,980)
enter
leave
  (351,973)
enter
leave
  (258,899)

之后,这样子的在那边
附件
screenshot49.png
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#12

帖子 eagle5678 » 2009-08-28 17:18

不是歌词问题,有下载,没显示
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#13

帖子 eagle5678 » 2009-08-28 18:57

Rhythmbox支持问题,出现的现象如上图,没歌词,且出现阴影

安装了Banshee,比较正常……

但还是会出现那问题

见过最cool的了 :em04

PS:Banshee每放一首歌都问一下,那个在哪取消?
附件
screenshot50.png
头像
tigersoldier
帖子: 40
注册时间: 2008-04-05 11:08

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#14

帖子 tigersoldier » 2009-08-28 19:06

xiooli 写了:osd显示功能能独立出来不?
目前还不支持独立使用OSD功能,不过其实把osd window和osd render部分的代码抽出来就可以了
头像
tigersoldier
帖子: 40
注册时间: 2008-04-05 11:08

Re: OSD Lyrics:提供多种播放器OSD歌词显示支持

#15

帖子 tigersoldier » 2009-08-28 19:07

eagle5678 写了:Rhythmbox支持问题,出现的现象如上图,没歌词,且出现阴影

安装了Banshee,比较正常……

但还是会出现那问题

见过最cool的了 :em04

PS:Banshee每放一首歌都问一下,那个在哪取消?
这个问题就很奇怪了 :em20
我先用rhythmbox试试
回复