Exaile 豆瓣电台插件 0.0.13

近来工作甚忙,一直没有精力来更新这个插件。加之exaile被archlinux清到了aur仓库,项目的前景亦是堪忧。恰好有两位热心网友@JoveYu和@watermelonlh在github上提出愿意帮助维护这个项目。两位都是很好的贡献者,用了一周左右的时间,居然看遍了我乱糟糟的代码,更看遍了Exaile更乱糟糟的代码。说干就干,还真让这个插件在Exaile 0.3.3健健康康地运行起来。而这段时间我没能给两位什么具体的帮助,着实惭愧。

不管怎样,现在我们又拥有了和原先一模一样的功能:

你可以在github找到这个项目并下载最新的版本:

https://github.com/sunng87/exaile-doubanfm-plugin

同时,适用于GNOME 3.6的扩展也已经在审核中了,一旦成功,根据gnome-shell据说最新的自动更新功能,已经安装的用户可以直接更新的最新版本。

Exaile豆瓣电台插件0.0.11发布

很高兴时隔半年后我继续发布了Exaile豆瓣电台插件的更新,从第一个版本发布到现在已经有一年半的时间,这期间豆瓣电台插件已经陆续出现在Rhythmbox、Banshee等播放器上。作为第一个视图把豆瓣电台移植到本地的尝试,我感到甚是欣慰:)

这次的更新修正了长久依赖困绕用户登录问题,现在我们有一个专门的界面来输入验证码。这个功能要感谢DigitalPig用户在github的报告(鞭策作用),此外,我参考了豆瓣电台banshee插件的实现,节省了研究含验证码登录的时间,感谢。总而言之,没有用户的推动,这个项目也不会坚持这么久。

除此之外,插件还有一些支持了新的豆瓣说的推荐,优化了播放列表载入的策略。

另外值得highlight的是,对应的gnome-shell扩展发布了0.0.2版本,唯一的更新是专辑封面现在会显示在gnome-shell的菜单中。

你可以从github获得最新的插件和gnome-shell扩展:

有任何问题都可以在github或这里留言。

GNOME-Shell Extension for Exaile DoubanFM Plugin

从有这个动机到基本可用,花了整整一天的时间。现在可以通过GNOME-Shell的一个小菜单从外部控制Exaile豆瓣电台了。它的意思就是说如果你使用Gnome-Shell,你可以把Exaile界面扔到一个你不想看到的地方去,比如第n+1个workspace。然后通过左上角的菜单来控制豆瓣电台的播放。见多识广的你不会对此感到太惊奇,其实它和Ubuntu上的Sound Menu Indicator类似,不过是专门给豆瓣电台设计的。
Exaile with doubanfm plugin

要实现这个功能,需要播放器通过dbus来expose一些接口供外部程序调用,它和Sound Menu是一样的,通过dbus来解耦。开发起来比较困难的是目前GNOME-Shell的API还不成熟,还没有文档,传统的javascript object inspect方法似乎在这个mozjs的环境里也不能用,所以实在是无从知道一些API。更不要提通过gjs来调用dbus了。网上有一些文档起了很大的作用,如果你也感兴趣,这些文章是:

支持dbus的exaile-doubanfm-plugin会在stable之后合并到主干供大家使用。现在和gjs一样,它的API也不稳定,所以放在分支中:
https://github.com/sunng87/exaile-doubanfm-plugin/tree/dbus

gnome-shell extension的代码现在也放在github上(其实还不成熟的东西放到bitbucket比较好的)。有兴趣可以了解:
https://github.com/sunng87/exaile-doubanfm-gnome-shell-extension

以上都是unstable,仅供吊胃口之用。

Update on exaile-soundmenu-indicator and exaile-doubanfm-plugin

Exaile-soundmenu-indicator

As many users complaint about the “minimise to sound menu” issue, I updated exaile-soundmenu-indicator plugin. Now it is basically compliant with specification of SoundMenu: it will keep playing if you click the close button while the player is playing, and will exit if not playing. However, to be able to complete the functionality, you have to commentify the line 1506 of /usr/lib/exaile/xlgui/main.py, which is “return true” of method “delete_event” (On Ubuntu 10.10, exaile 0.3.2.0-ubuntu3). Otherwise, whenever you close the window it won’t exit.

I know this is a bad idea to require user to modify the source code, but it‘s not possible to override the behavior of a GTK callback, especially when you do not have the handler_id of the callback. If you do not mind the incompliant of closing behavior, you can just keep it as is, and exiting by menu and CRTL+Q.

Grab the snapshot of github repository to get the up-to-date version:
https://github.com/sunng87/Exaile-Soundmenu-Indicator

Exaile-doubanfm-plugin

Exaile豆瓣电台插件更新。豆瓣最近调整了登录的策略:

  • 用户在首次访问豆瓣时被设置cookie bid
  • 用户提交登陆表单时被要求提交cookie bid,否则不予通过。

此外,这次更新开始使用HTTPS提交用户登录信息。

https://github.com/sunng87/exaile-doubanfm-plugin,请下载最新0.0.6c。