amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
头像
rainsia
帖子: 28
注册时间: 2007-06-05 22:12

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#16

帖子 rainsia » 2009-06-07 21:16

zsl1005 写了:
rainsia 写了:大家好,我是LZ,我又回来了。
我对在网络上找到的lrcShow-X在amarok中自启动插件进行了修改,现在可以实现随amarok自动启动lrcShow-X,在关闭amarok时自动关闭lrcShow-X的功能。欢迎大家试用。名称就叫lrcShower-X吧。
安装步骤如下:
1.下载附件中的文件到某目录。
2.启动amarok,选择菜单"Tool->Script Manager"。此时弹出"Script Manager"窗口,单击"Install Script"按钮,选择下载的lrcShower-X。
3.一路点击OK后重新启动amarok。
4.选择菜单"Tool->Script Manager"。此时,在脚本列表里面会有lrcShower-X选项,选中该项前面的复选框。
5.此时会弹出目录选择对话框,选中lrcShow-X的安装目录。脚本会自动检测是否正确安装了lrcShow-X。
6.如果整个过程没有出错,就可以使得lrcShow-X随着amarok一起启动和关闭了。

Have a nice day!
希望楼主能根据这个kde app的这个amarok starter脚本的原理添加播放停止时关闭lrcshowr的功能到你自己的脚本中去,我觉得挺这个功能挺好的
没有搞懂为什么要在播放停止的时候关闭歌词显示,再次开始播放的时候又要重新启动歌词显示啊。对于我来说就关闭amarok的时候关闭歌词就好了。
不过这个功能很容易实现啦,我等下加上去,再考虑是不是给个选项,可以让用户选择在播放停止的时候到底是不是要关闭歌词。
三翻领
帖子: 310
注册时间: 2005-10-15 18:20
联系:

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南

#17

帖子 三翻领 » 2009-06-07 21:46

eagle5678 写了:
三翻领 写了:
eagle5678 写了:小三,lrcShow-X在Show-start下 ,不知怎的,每次刷新,原来的设置就不见 了
这个就不是很清楚了,因为我自己也是用这个启动的。0.3版本解决了重复启动的问题,我觉得目前情况下虽说不完美却也可用,没有出过类似问题。
现在我在考虑一个方案来实现随所有支持的播放器启动,而不是原先想的,为所有播放器开发插件。我想我会搞定的。

我用的也是3.0,感觉还是在重复启动,每次启动后,原来设置的OSD显示,半透明,置顶,都不见了,这就这批设置。其它的还在。
这个啊,没错,是这样的,因为程序本身的退出机制有保存这些设置的功能,而采用start的机制,我估计是终止信号,则没有这个步骤,导致丢失。在amarok1时代,如果在脚本管理器中终止脚本,也是这个状况。
三翻领
帖子: 310
注册时间: 2005-10-15 18:20
联系:

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#18

帖子 三翻领 » 2009-06-07 21:48

rainsia 写了:
zsl1005 写了:
rainsia 写了:大家好,我是LZ,我又回来了。
我对在网络上找到的lrcShow-X在amarok中自启动插件进行了修改,现在可以实现随amarok自动启动lrcShow-X,在关闭amarok时自动关闭lrcShow-X的功能。欢迎大家试用。名称就叫lrcShower-X吧。
安装步骤如下:
1.下载附件中的文件到某目录。
2.启动amarok,选择菜单"Tool->Script Manager"。此时弹出"Script Manager"窗口,单击"Install Script"按钮,选择下载的lrcShower-X。
3.一路点击OK后重新启动amarok。
4.选择菜单"Tool->Script Manager"。此时,在脚本列表里面会有lrcShower-X选项,选中该项前面的复选框。
5.此时会弹出目录选择对话框,选中lrcShow-X的安装目录。脚本会自动检测是否正确安装了lrcShow-X。
6.如果整个过程没有出错,就可以使得lrcShow-X随着amarok一起启动和关闭了。

Have a nice day!
希望楼主能根据这个kde app的这个amarok starter脚本的原理添加播放停止时关闭lrcshowr的功能到你自己的脚本中去,我觉得挺这个功能挺好的
没有搞懂为什么要在播放停止的时候关闭歌词显示,再次开始播放的时候又要重新启动歌词显示啊。对于我来说就关闭amarok的时候关闭歌词就好了。
不过这个功能很容易实现啦,我等下加上去,再考虑是不是给个选项,可以让用户选择在播放停止的时候到底是不是要关闭歌词。
希望能把您的作品上传到kde-apps上,让大家看到您的成果,同时也会有更多的人来完善

另外,amarok目前在停止后,发出的信号有缺陷,即在发出停止信号之前,会有个播放的信号释放出来,导致程序行为错乱,具体可以看看我的报告https://bugs.kde.org/show_bug.cgi?id=184022,我想作者的这一方法意在避开这个问题。
上次由 三翻领 在 2009-06-07 22:49,总共编辑 1 次。
头像
非主流1987
帖子: 427
注册时间: 2008-05-09 23:50

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#19

帖子 非主流1987 » 2009-06-07 22:15

qiii2006 写了:ls
wiki里看过了吗?一样还是没效果?
:em04 恩~通过wiki解决了~~以前装1.X的时候没试过~~原来2.1需要这样的~学习了~Thanks~
zsl1005
帖子: 75
注册时间: 2007-10-23 13:17

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#20

帖子 zsl1005 » 2009-06-07 23:11

rainsia 写了:
zsl1005 写了:
rainsia 写了:大家好,我是LZ,我又回来了。
我对在网络上找到的lrcShow-X在amarok中自启动插件进行了修改,现在可以实现随amarok自动启动lrcShow-X,在关闭amarok时自动关闭lrcShow-X的功能。欢迎大家试用。名称就叫lrcShower-X吧。
安装步骤如下:
1.下载附件中的文件到某目录。
2.启动amarok,选择菜单"Tool->Script Manager"。此时弹出"Script Manager"窗口,单击"Install Script"按钮,选择下载的lrcShower-X。
3.一路点击OK后重新启动amarok。
4.选择菜单"Tool->Script Manager"。此时,在脚本列表里面会有lrcShower-X选项,选中该项前面的复选框。
5.此时会弹出目录选择对话框,选中lrcShow-X的安装目录。脚本会自动检测是否正确安装了lrcShow-X。
6.如果整个过程没有出错,就可以使得lrcShow-X随着amarok一起启动和关闭了。

Have a nice day!
希望楼主能根据这个kde app的这个amarok starter脚本的原理添加播放停止时关闭lrcshowr的功能到你自己的脚本中去,我觉得挺这个功能挺好的
没有搞懂为什么要在播放停止的时候关闭歌词显示,再次开始播放的时候又要重新启动歌词显示啊。对于我来说就关闭amarok的时候关闭歌词就好了。

不过这个功能很容易实现啦,我等下加上去,再考虑是不是给个选项,可以让用户选择在播放停止的时候到底是不是要关闭歌词。

暂停的时候当然不用关闭显示了,不过停止的时候把lrcshow关掉还是需要的,大部分用户都是把lrcshower给置顶的,有时候一段时间内需要停止播放,但又不愿意推出amarok的话,总是有个窗口顶在前面会不方便啦 :em06 :em06比如我吧,一般都是用媒体键直接停止的,懒得动鼠标,这样好处就凸显出来了。
头像
rainsia
帖子: 28
注册时间: 2007-06-05 22:12

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#21

帖子 rainsia » 2009-06-08 12:07

三翻领 写了: 另外,amarok目前在停止后,发出的信号有缺陷,即在发出停止信号之前,会有个播放的信号释放出来,导致程序行为错乱,具体可以看看我的报告https://bugs.kde.org/show_bug.cgi?id=184022,我想作者的这一方法意在避开这个问题。
我一开始都没注意到,原来真是这样,我刚才在脚本里面把信号输出看了一下,在停止的时候amarok还真是发送了两个信号。真的是bug。
不过这个对我的脚本没有什么影响,在停止的时候先发送一个play的信号,因为这个时候lrcShow-X已经在运行了,我正好有一个bool变量指示着lrcShow-X有没有运行着,所以这个信号对我来说是没有什么影响的。等接收到stop信号,再将lrcShow-X关闭就好了。这个应该很容易实现。
头像
rainsia
帖子: 28
注册时间: 2007-06-05 22:12

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南

#22

帖子 rainsia » 2009-06-08 12:18

三翻领 写了:这个啊,没错,是这样的,因为程序本身的退出机制有保存这些设置的功能,而采用start的机制,我估计是终止信号,则没有这个步骤,导致丢失。在amarok1时代,如果在脚本管理器中终止脚本,也是这个状况。
我们在脚本中关闭lrcShow-X的时候都是通过shell脚本kill -9 发送一个关闭信号给进程,理论上等于通知进程关闭,如果配置是在退出的时候保存,这个应该是没有问题的。
小三可以参考一下我以前写软件的时候经常使用的机制:将lrcShow-X做成单实例启动的,在启动lrcShow-X实例的时候判断一下是不是已经有一个实例在运行了,如果有,则将目前启动的参数通过进程间通信的方式通知给已经启动的实例,然后刚刚启动的实例就退出。
这样做的好处是显而易见的。程序不会多实例运行,我想也没有这个必要吧。还可以通过命令行参数控制lrdShow-X的行为。
例如:可以加入命令stop, hide, show等等。stop就关闭实例,就不用我们再写脚本用kill来关闭了。hide就隐藏当前窗口(不是关闭),比如zsl1005同学的要求就是stop的时候不显示窗口,这样与其退出还不如隐藏起来。再次开始play的时候再调用show将窗口显示出来,这样所有的置顶,半透明等等属性都不会丢失了。
意见仅供参考。 :em06
三翻领
帖子: 310
注册时间: 2005-10-15 18:20
联系:

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#23

帖子 三翻领 » 2009-06-08 12:23

rainsia 写了:
三翻领 写了: 另外,amarok目前在停止后,发出的信号有缺陷,即在发出停止信号之前,会有个播放的信号释放出来,导致程序行为错乱,具体可以看看我的报告https://bugs.kde.org/show_bug.cgi?id=184022,我想作者的这一方法意在避开这个问题。
我一开始都没注意到,原来真是这样,我刚才在脚本里面把信号输出看了一下,在停止的时候amarok还真是发送了两个信号。真的是bug。
不过这个对我的脚本没有什么影响,在停止的时候先发送一个play的信号,因为这个时候lrcShow-X已经在运行了,我正好有一个bool变量指示着lrcShow-X有没有运行着,所以这个信号对我来说是没有什么影响的。等接收到stop信号,再将lrcShow-X关闭就好了。这个应该很容易实现。
现在amarok开发者对这个bug一点都不重视,还希望在bugzilla上帮我顶一下 :em01

另外amarok目前的时间点仍然是精确到秒的,而不是千分之一秒,这不仅带来了定位上的误差问题,也会造成在探测用户是否手动改变播放进度上造成误会——有时候可以发现明明歌词正确的滚动了,但是突然又跳了一下,这是因为程序如果发现当前的时间点和正常情况下的时间差超过0.5秒,会认为是用户手动改变了歌曲进度(比如拖动了进度条),进而重新定位,但是如果时间点仅精确到秒的话,其误差就会导致程序不断定位,其效果就是歌词很明显的跳动。这个问题,在amarok1和audacious上是看不到的。
三翻领
帖子: 310
注册时间: 2005-10-15 18:20
联系:

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南

#24

帖子 三翻领 » 2009-06-08 12:27

rainsia 写了:
三翻领 写了:这个啊,没错,是这样的,因为程序本身的退出机制有保存这些设置的功能,而采用start的机制,我估计是终止信号,则没有这个步骤,导致丢失。在amarok1时代,如果在脚本管理器中终止脚本,也是这个状况。
我们在脚本中关闭lrcShow-X的时候都是通过shell脚本kill -9 发送一个关闭信号给进程,理论上等于通知进程关闭,如果配置是在退出的时候保存,这个应该是没有问题的。
小三可以参考一下我以前写软件的时候经常使用的机制:将lrcShow-X做成单实例启动的,在启动lrcShow-X实例的时候判断一下是不是已经有一个实例在运行了,如果有,则将目前启动的参数通过进程间通信的方式通知给已经启动的实例,然后刚刚启动的实例就退出。
这样做的好处是显而易见的。程序不会多实例运行,我想也没有这个必要吧。还可以通过命令行参数控制lrdShow-X的行为。
例如:可以加入命令stop, hide, show等等。stop就关闭实例,就不用我们再写脚本用kill来关闭了。hide就隐藏当前窗口(不是关闭),比如zsl1005同学的要求就是stop的时候不显示窗口,这样与其退出还不如隐藏起来。再次开始play的时候再调用show将窗口显示出来,这样所有的置顶,半透明等等属性都不会丢失了。
意见仅供参考。 :em06
多实例的问题我已经注意到了。目前的想法是在启动后生成一个lock文件,这样就可以让程序以lock文件是否存在来决定是否已经有实例运行中。
头像
rainsia
帖子: 28
注册时间: 2007-06-05 22:12

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南

#25

帖子 rainsia » 2009-06-08 12:38

三翻领 写了:
rainsia 写了:
三翻领 写了:这个啊,没错,是这样的,因为程序本身的退出机制有保存这些设置的功能,而采用start的机制,我估计是终止信号,则没有这个步骤,导致丢失。在amarok1时代,如果在脚本管理器中终止脚本,也是这个状况。
我们在脚本中关闭lrcShow-X的时候都是通过shell脚本kill -9 发送一个关闭信号给进程,理论上等于通知进程关闭,如果配置是在退出的时候保存,这个应该是没有问题的。
小三可以参考一下我以前写软件的时候经常使用的机制:将lrcShow-X做成单实例启动的,在启动lrcShow-X实例的时候判断一下是不是已经有一个实例在运行了,如果有,则将目前启动的参数通过进程间通信的方式通知给已经启动的实例,然后刚刚启动的实例就退出。
这样做的好处是显而易见的。程序不会多实例运行,我想也没有这个必要吧。还可以通过命令行参数控制lrdShow-X的行为。
例如:可以加入命令stop, hide, show等等。stop就关闭实例,就不用我们再写脚本用kill来关闭了。hide就隐藏当前窗口(不是关闭),比如zsl1005同学的要求就是stop的时候不显示窗口,这样与其退出还不如隐藏起来。再次开始play的时候再调用show将窗口显示出来,这样所有的置顶,半透明等等属性都不会丢失了。
意见仅供参考。 :em06
多实例的问题我已经注意到了。目前的想法是在启动后生成一个lock文件,这样就可以让程序以lock文件是否存在来决定是否已经有实例运行中。
这样应该也可以,我以前在windows下面是通过检查已经运行的进程里面是不是有一样的进程在运行,没有再启动主程序,如果有还可以顺便获得该进程的handler,这样就可以通过window api进行通信了。
头像
rainsia
帖子: 28
注册时间: 2007-06-05 22:12

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#26

帖子 rainsia » 2009-06-08 12:57

三翻领 写了: 现在amarok开发者对这个bug一点都不重视,还希望在bugzilla上帮我顶一下 :em01

另外amarok目前的时间点仍然是精确到秒的,而不是千分之一秒,这不仅带来了定位上的误差问题,也会造成在探测用户是否手动改变播放进度上造成误会——有时候可以发现明明歌词正确的滚动了,但是突然又跳了一下,这是因为程序如果发现当前的时间点和正常情况下的时间差超过0.5秒,会认为是用户手动改变了歌曲进度(比如拖动了进度条),进而重新定位,但是如果时间点仅精确到秒的话,其误差就会导致程序不断定位,其效果就是歌词很明显的跳动。这个问题,在amarok1和audacious上是看不到的。
好的。
获取精确时间对他们来说应该不是什么困难的事情,我记得以前从Exaile里面获取currentPosition的时候出来的结果貌似都是nano second级别的啊。都是调用xine或者gstreamer的程序,机制应该差不太多吧。难道是在phonon层就已经没有精确时间了?官方是怎么回答的?
头像
nuanhuai
帖子: 7813
注册时间: 2009-03-10 13:04

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#27

帖子 nuanhuai » 2009-06-08 12:58

N,更新了,莫名的错误消失了
不过外观没原来顺眼,调调去
三翻领
帖子: 310
注册时间: 2005-10-15 18:20
联系:

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#28

帖子 三翻领 » 2009-06-08 13:50

rainsia 写了:
三翻领 写了: 现在amarok开发者对这个bug一点都不重视,还希望在bugzilla上帮我顶一下 :em01

另外amarok目前的时间点仍然是精确到秒的,而不是千分之一秒,这不仅带来了定位上的误差问题,也会造成在探测用户是否手动改变播放进度上造成误会——有时候可以发现明明歌词正确的滚动了,但是突然又跳了一下,这是因为程序如果发现当前的时间点和正常情况下的时间差超过0.5秒,会认为是用户手动改变了歌曲进度(比如拖动了进度条),进而重新定位,但是如果时间点仅精确到秒的话,其误差就会导致程序不断定位,其效果就是歌词很明显的跳动。这个问题,在amarok1和audacious上是看不到的。
好的。
获取精确时间对他们来说应该不是什么困难的事情,我记得以前从Exaile里面获取currentPosition的时候出来的结果貌似都是nano second级别的啊。都是调用xine或者gstreamer的程序,机制应该差不太多吧。难道是在phonon层就已经没有精确时间了?官方是怎么回答的?
说分支上已经修复了,但是等到2.1还是没改观
三翻领
帖子: 310
注册时间: 2005-10-15 18:20
联系:

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#29

帖子 三翻领 » 2009-06-10 21:53

现在可以试试最新的svn版,将会是1.1.0版本,大大增加了所支持的播放器数量,以及两个搜索引擎。还有一个变化就是仅允许一个运行实例了。如果在amarok下用starter,启动也罢了,但是绝对不能通过 “工具- disable” 来停止,因为lock文件没有删除,这样以后都不能运行了,除非手动删除~/.lrcShow-X/lock这个文件

svn co http://www.sanfanling.cn/svn/lrcShow-X/ ... lrcShow-X/
头像
rainsia
帖子: 28
注册时间: 2007-06-05 22:12

Re: amarok 2.1 发布/安装指南+lrcShow-X安装指南+自动启动关闭脚本

#30

帖子 rainsia » 2009-06-11 16:14

测试一下。不知道多了哪些播放器支持啊。你能不能检查一下lock文件创建的时间,如果太久之前创建的就提示一下,否则一旦由于什么原因lock文件没有被删除掉,普通用户都不知道出了什么问题。
怎么变成链接了,还有省略号说。

代码: 全选

svn co http://www.sanfanling.cn/svn/lrcShow-X/branches/frank/lrcShow-X/
回复