Songbird本身似乎没有IPC支持,不过却有一个MPRIS扩展,因此理论上来说通过MPRIS来支持Songbird是很简单的,因为在实现Audacious和Amarok 2的支持的时候就已经把MPRIS支持模块提取出来了。事实上,Songbird的支持代码早就已经写好了(Audicaous的代码copy过来改个接口名就行,能不快吗),但是运行时却总是会出现段错误,因此一直没能实用。
因为之前同样是使用MPRIS协议的Audacious和Amarok2跑得很正常,以为是Songbird的MPRIS实现有问题导致的,昨天一查才发现我在获取歌曲信息时对音轨数据进行了不必要的内存释放。估计是Audacious和Amarok2都没有传递这个数据才幸免于难。
这样一来,OSD Lyrics又多了一个支持的播放器。想用Songbird的同学不要忘了安装MPRIS扩展。