Description:

The main goal of lrcShow-X is to add synchronized lyrics visualization functionality to the most used Linux media players, using existing LRC files, embedded lyrics like ID3 Sylt, Uslt, Lyrics3 and ApeTag. It also searches for lyrics using 13 different engines among which we can mention MiniLyrics, EvilLyrics, LrcDB and TTPlayer.

lrcShow-X is written entirely in python using pyqt4 and supporting more than ten different players like Amarok2, Qmmp, Audacious, rhythmbox, songbird and many other Linux Players (normally using a dbus interface). From 1.4.0, lrcShow-X supports mpd and xmms2, please read addons/README for details.

If you have experienced lrcShow-II lyrics plugin with Amarok1, you should know what this application can do, just supporting more players and having more functions.

Currently, lrcShow-X supports zh_CN, zh_TW, it, en_US, hr, ru, ms, uk, es, id, da, pt_BR, Cs translations.

Please read help documents with the built-in browser or the README file in package to get more details.

Depends on:
>=python-2.4 (not includes python 3 at present)
pyqt4 (python, qt4 bindings)
dbus-python (dbus, python bindings)
pygobject (python, gobject bindings)

Changelog:

5 years ago

2012-02-08 - 2.1.1
1. fix a bug of missing en translation

2012-02-02 - 2.1.0

1. fix a bug that can't save some setting items when application auto quits
2. fix a bug that can't centered the lyrics in OSD mode when change the show-line
3. add soso as the 15th search engine
4. add lrc123 as the 16th search engine
5. fix ttplayer engine, because of domain changing
6. fix a bug that ttplayer engine always download lrc file from ctc network
7. update some translations

2011-05-06 - 2.0.0

1. fix the bug of avoiding deleting the last selected engine by double click item in multisearch setting page
2. improve the logical of searching lrc file
3. window title change immediately after changing the title bar info setting
4. auto/manually launch supported media player when there is no player detected
5. auto update configuration file silently
6. add a simple setting wizard when first run
7. re-write strategy setting dialog
8. improve preference dialog
9. delete an unnecessary setting item in filter setting dialog
10. separate search local lrc code as a module
11. add clementine support
12. add tuneWiki as the 14th search engine
13. fix a bug that can't centered the current lyrics in fullscreen display mode when change font
14. window height could be changed by dragging the edge of window
15. fix a bug that multi-search mode cause segment fault
16. fix drag-drop function
17. fix a bug that the current lyrics line can't be centered when change the line margin
18. add deadbeef support (need add dbus patch)
19. fix an endless loop bug
20. auto quit after the player quits

1 year ago

TWADS

when installing, from console or by double clicking, it throws "Can not invoke the dbus interface of specific player"

Report

2 years ago

0xAF

Hi, Thanks for the great project.

For me lrcShow-X does not seem to search the "media file's folder" for lrc file. I've tried checking/unchecking the option "Search the lrc file in track's path additionally" in the Paths tab, but this doesn't seem to make any difference.
Once I move my .lrc file (from the media file folder) to ~/.lrcShow-X/lrc, it works, but if I get it back to the media file's folder, the lrc file cannot be found again.

Any thoughts?

Report

3 years ago

yanqian

Hi, Thanks for your great work!
but I got error when run "./lrcShow-X.py" in console.

KDE 4.8
python-2.7.2-1
qt-4.7.4-3
PyQt4-4.8.5-1
pygobject2-2.21.5-4
dbus-python-0.83.0-5

$ ./lrcShow-X.py
Traceback (most recent call last):
File "./lrcShow-X.py", line 280, in <module>
checkFile()
File "./lrcShow-X.py", line 125, in checkFile
conf = conf.replace('searchengine = ttPlayer', 'searchengine = %s' %searchEngine)
NameError: name 'searchEngine' is not defined

Report

3 years ago

sanfanling

I didn't find this error. Maybe your package is broken. You can re-download or check out the recent svn:
http://www.sanfanling.cn/svn/lrcShow-X/branches/2-series/lrcShow-X/
If you have any problem, mail to me. Thank you.

Report

5 years ago

bovegod

本人原创,原文地址:
http://bovegod.wordpress.com/2012/02/14/原创在opensuse上成功配置amarok的歌词显示插件lrcshow-x

虽然Amarok本身就带有LyricWiki歌词显示插件,但是使用中发现有很多中文歌词显示为NOT FOUND(找不到),因此采用了sanfanling(博客地址:http://www.sanfanling.cn)开发的lrcShow-X插件(项目主页:http://kde-apps.org/content/show.php?content=103055)。

安装配置中发现还有些转折,并且有对应的解决方法和小技巧,所以总结出来,希望能有所帮助。

目的:

首先,当然是能够正常显示歌词
实现lrcShow-X歌词插件随Amarok自动启动、自动退出
实现类似千千静听在Windows下歌词显示置顶的效果,不在任务栏中显示,以及进一步美化(字体、透明等)

平台:

openSUSE 12.1
KDE4.7.2(我没有接触过Gnome,对于Gnome用户方法仅供参考)
Amarok2.4.3

具体过程:
一、实现最基本的正常显示歌词功能

先打开Amarok,并且开始放歌,以便检验歌词能否显示出来。

下载lrcShow-X:
打开项目主页http://kde-apps.org/content/show.php?content=103055,将网页往下面拉,点击下图所示的按钮下载。

(在本文中,假设下载来的文件为103055-lrcShow-X_2_1_1.tar.bz2保存到/home/username/下载/)

注:Gnome的下载地址应该是https://launchpad.net/lrcshow-x(但是因为我没有接触过,不确定,期待有高手补充);

安装lrcShow-X:
i) 进入“/home/username/下载/”目录,方法是:点击Kickoff按钮(就是屏幕左下角的按钮,不同发行版本的图案不同,openSUSE的是绿色的小蜥蜴头像)>文件管理器(就是Dolphin)>进入“下载”目录

ii) 右击103055-lrcShow-X_2_1_1.tar.bz2,点Extract Archive Here来解压,这样,下载目录中就会新增一个lrcShow-X目录——注意:不同版本的名称可能不一样,但是一般都含“lrcShow”这个字符串,本文以lrcShow-X目录为例。

iii) 进入lrcShow-X目录,打开README,找到Usage下面的说明,回到lrcShow-X目录,右击空白处>动作>Open Terminal Here,这样打开终端。(或者直接在lrcShow-X目录按F4,就可以在窗口中分出一个终端)

iv) 接下来,按照Usage下面的说明,在终端中输入“/lrcShow-X.py”——不带前后的引号,并且最前面是一个英文句号和一个斜杠。

v) 这样,会弹出一个窗口,询问歌词下载的目录等设置,如果没有特殊需要,直接点“确定”即可,之后一个歌词界面会随之启动,自动找寻歌词并且显示。

二、实现lrcShow-X歌词插件随Amarok自动启动、自动退出

经过第一步,歌词已经可以正常显示,第二步的目的是实现lrcShow-X歌词插件随Amarok自动启动、自动退出,这样就不需要每次启动Amarok时候手动进入终端加载lrcShow-X了,这样实在麻烦。

具体过程:

打开Amarok,点击设置>配置Amarok>脚本>把LyricWiki前面的复选框(对钩)去掉

点“Manage Scripts”>在搜索中输入“lrcShow”,稍候就会出现一个名为“lrcShower-X Starter”的插件>点“安装”。

安装完成后,会出现一个对话框,要求我们指定lrcShow-X的安装路径,找到之前解压的“home/username/下载/lrcShow-X” 路径,如果正常会提示找到(Found),否则可能是路径选错,重新选>确定并关闭Manage Scripts窗口后,将lrcShower-X Starter前面的复选框选上>确定。

接下来是关键的一步,在Amarok上点击“工具”>Enable lrcShow-X,这样,才能实现自动启动的效果。

三、进一步美化

接下来精益求精,实现如同千千静听在Windows下歌词显示置顶的效果,以及进一步美化(字体、透明等)。

具体过程:

在歌词窗口的标题栏上右击>高级>特殊应用程序设置,会打开“编辑窗口的特定设置”的窗口。

在Arrangement & Access标签页下:
勾选“保持在上方”,并且设置为“强制”和“是”;
勾选“跳过任务栏”并且设置为“强制”和“是”。

在Appearance & Fixes标签页下:
i) 勾选“No titlebar and frame”,并且设置为“强制”和“是”
——作用是不显示歌词窗口的标题栏和边框,如果要用到右击标题栏调出的菜单,可以通过按Alt+F3的方法达到;
ii) 勾选“Active opacity”和“Inactive opacity”,并且都设置为“强制”和“75%”
——作用是透明化,我觉得不透明度为75%是最合适的。

点“确定”退出。右击歌词区域>按照个人喜好调整“调整配色”和“设置字体”选项,我个人的设置是把字体色(其实就是非当前歌词颜色)设置为灰色,高亮色设置为白色,字体为Serif不变,字号大小为10——经过摸索,如果字号大于或等于11,则当期歌词会在歌词窗口之下,无法正常显示。

四、后记

Bug一枚:如上所说,如果歌词字号大于或等于11,则当期歌词会在歌词窗口之下,无法正常显示。期待lrcShow-X作者或者其他高手解决。

虽然最终完美解决了歌词显示的问题,但是完成之后,我又自然地联想到Windows、Mac OS环境下的歌词显示远没有这么复杂,而且最终效果并没有Windows下的好。尽管Linux给人自由,但是用户体验却实在没有Windows或Mac OS精致,况且我是在openSUSE这一以友好易用为一大特色的Linux发行版本上操作的,其他更专业化的发行版本的效果可想而知会更糟糕。因此,对于大众来说,从用户体验上来说,Linux并不是首选。

经过以上三步,Amarok歌词显示插件就配置完成了,下面附上我的最终效果截图:

Report

5 years ago

nick198119

1.关于显示阴影,我的是kubuntu11.04,qt 4.7.2,特效正常开启,这是截图:
http://www.bababian.com/photozoom.sl?pictureid=4F86103A6DBB5A29A8D9FFEDE4B5AB1BDT&size=5&viewID=A98294BBFC8063E6D692319ABD3B2333UR
2.qt有一个setmask可以用来实现不规则窗口显示,比如一个椭圆窗口,实际上就是一个矩形窗口设置了mask,使得四角部分透明显示,并且鼠标点击成穿透效果。这东西就可以用来部分或整个窗口呈现穿透效果。
网上也有相关介绍:
1. Qt中不规则窗体和部件的实现
http://www.qtcn.org/bbs/read.php?tid=8681
2. Qt实现卡拉OK文字逐渐变色效果
http://blog.csdn.net/yangglemu/archive/2011/01/05/6117576.aspx

Report

6 years ago

gcala

Hi, I'm using your script with amarok 2.3.0 in kubuntu (plus lrcshow-x starter); it works very good but seems that is unable to save the lyrics; I tried the various options (except write in media file).

thanks

Report

6 years ago

sanfanling

try left click menu - auto download - yes
let me know if it can't work

Report

7 years ago

palmax

Hello

I had a mp3 player that can read lrc files. It could be a great feature that IrcShow-X write lrc files with the name of mp3 file.

For example, if I'm playing "Owl City - Fireflies.mp3" it would write "Owl City - Fireflies.lrc". It could write it in the same directory.

Thanks for your work.

Report

7 years ago

sanfanling

Hi:

lrcShow-X has this feature already.

Please see: menu - other functions - configure - normal page - search and name lrc as media file's name.

Have a try.

Report

7 years ago

sanfanling

and set the save path at the media file's path in path page of configure

Report

7 years ago

gohanz

If i try to run lrcShow-X on my Slackware 13.0, i have this message error.

./lrcShow-X.py
Error: lrcShow-X allows only one instance

Report

7 years ago

sanfanling

Would you please tell me the output of the shell command "ps -ef | grep "lrcShow-X" | grep "/usr/bin/python" | grep -v "grep" | wc -l"

Report

7 years ago

gohanz

root@argo:~/ircshow-x/lrcShow-X# ./lrcShow-X.py
Error: lrcShow-X allows only one instance

root@argo:~/ircshow-x/lrcShow-X# ps -ef | grep "lrcShow-X" | grep "/usr/bin/python" | grep -v "grep" | wc -l
0

Report

7 years ago

sanfanling

please try 1.2.1, thank you

Report

7 years ago

gohanz

Many thaks it work fine.

Report

7 years ago

sanfanling

Ok, that's fine, I would provide my help if you need

Report

7 years ago

eusonig

Hi, I write a stupid Amarok 2 script to automatically launch lrcShow-X.

You can integrate it with your script or I could create a separate project as Amarok2 package. What do you think?

Report

7 years ago

sanfanling

Oh, many thanks, that's what I really want, you could pulish it alone, and I will intergrade it in later version.

Report

7 years ago

eusonig

Done

http://www.kde-apps.org/content/show.php?content=103180

Furthermore, I thinking to hack lrcShow-X in order to integrate in Lyrics Workshop: start & stop menus, same cache policies, local configuration to avoid interferences with standard lrcShow-X, etc.

I hope that the idea looks good for you.

Report

7 years ago

outlikeashoe

I'd take look to Lirics Workshop, it's "simply" a plain text lyrics retriver, right? If you want, take a look to the evillyrics engine: it also searches plain text lyrics, but then it "merges" them with the evillyrics timestamps.

Report

7 years ago

eusonig

Yes, my intention is doing and lyrics retriever with some language utilities because I'm a japanese student.

I don't know Evillyrics but is a software which I can get ideas to improve mine.

By the way, thanks for the link.

Report

7 years ago

sanfanling

if you have some native lyrics server, we could try to add it as search engine. shoe is very good at this.

btw, could you try to fix a bug in your starter. when I quit the app from itself, the menu in amarok2 would update, and sometime it would cause launch two app instance

Report

7 years ago

eusonig

Here there is two problems. The solution to menu problem is add a timer and test if lrcShow-X is running and I do not intend to do that. If you start lrcShow-X using Amarok you must stop lrcShow-X using Amarok.

The second problem, the two lrcShow-X processes running, I tried to reproduce but I fail. The bash script code is simple, counts number of process with text lrcShow-X.py and if the number is greater than 1, the count proccess counts itself, the script don't launch lrcShow-X.

On the other hand, I think lrcShow-X should not support multiple instances of itself, or at least an option that was allowed or not.

Report

7 years ago

eusonig

Well, two app instances happens to me so the problem is not related to close directly lrcShow-X and is related to lrcShow-X instance detection.

I try to reproduce the problem again but I'm not capable. I will try other method to detect lrcShow-X instances and test it. Can I send you to test it before publish it?

Report

Supporters

Recent Donations

Be the first to donate
Filename Version Description Filetype Packagetype License Downloads Date Filesize Install
Score 84%
84.00 Likes
16 Dislikes

0 Supporters for lrcShow-X:

Recent Donations:

Be the first to donate
show all
Details
version
2.1.1
updated Feb 08 2012
added Apr 18 2009
downloads
page views 1683
support sanfanling
For The Product
lrcShow-X
5 - 10 - 25 - 50 - 100 - 200 - 500