xlyrics-0.5.x的开发计划
时间:2006-09-05 来源:xiaosuo
这个版本应该是重构的版本,最重要的部分应该是在线下载歌词部分的重新设计了。以前的版本写的比较简陋,下载进程和xlyrics主进程之间是通过下载进程的退出来实现同步的,两个进程之间的数据交换是通过文件来实现的,代码比较混乱,最终决定将其丢弃。新设计的此部分下载将和glib接合得更加紧密,将把下载进程的退出作为一个事件源加入事件主循化中,数据部分的通信也将通过pipe来实现,具体请参考glib的g_spawn_async_with_pipes 函数,数据的形式将为XML格式,因为glib中也提供了简单XML文件的parse函数簇,所以这一切都将变得更加简单。注意将不再通过下载脚本的返回值来判断脚本退出的状态。请同样向stdout输出XML消息。
其他可能的改变:
对开发人员来说,现在紧要的是熟悉0.4.x系列的xlyrics的源码,了解其基本的结构,毕竟除了下载部分,0.5.x系列将没有重大的改变。
BTW:我的机器开始出现些比较奇异的现象了,也许它该寿终正寝了!
其他可能的改变:
- 用glade重新实现大部分的界面,请开发人员自行学习相关内容。(注:配置界面我已经设计完了,剩下的可能就是下载管理窗口,估计我这两天也能设计出来)。
- 用dbm来保存歌曲和歌词的链接(已经实现)。
- 重写的LRC解析函数,完全兼容LRC标准(已经实现)。
- 重写的递归搜索函数。
- 重写歌词下载脚本(从我以前发到此blog上的两个脚本改改就行了)。
- 重写xmms,bmp,audacious和amarok的插件,也许该添加上对bmpx的支持。
- 程序内部编码用UTF-8,已实现支持所有locale,包括GB系列和UTF8系列,歌词文件的内码因为LRC并没有相关规定,所以用动态探测的作法,可以从audacious中剥离相关代码。从网上下载的歌词当输出stdout的时侯,要转换成UTF8的格式,如果实在不行,就在XML文件的首部明确地标明。当把文件保存到本地主机的时侯,将优采用本地locale的编码。同样lode到程序内部的时侯,将先判断是否为UTF8编码,如果不是,将进行从locale到UTF8的转换。
- 如果有余力,也许完成歌词编辑器和链接编辑器的制作。
对开发人员来说,现在紧要的是熟悉0.4.x系列的xlyrics的源码,了解其基本的结构,毕竟除了下载部分,0.5.x系列将没有重大的改变。
BTW:我的机器开始出现些比较奇异的现象了,也许它该寿终正寝了!
相关阅读 更多 +
排行榜 更多 +