今天在limodou的引荐下向Zoom.Quiet申请在啄木鸟社区创建了pygetsong项目。
项目的wiki页面地址为:
http://wiki.woodpecker.org.cn/moin/PyGetsong
项目的svn代码仓库地址为:
http://cvs.woodpecker.org.cn/svn/woodpecker/pygetsong/
感谢Zoom.Quiet,大中午还忙着配置pygetsong的svn仓库,感谢所有关心和支持pygetsong的人们:)
从今天开始最新的getsong将会出现在svn软件仓库里,使用过程中出现问题的朋友请先检查一下所使用的getsong是否为最新版本,从svn获取最新getsong代码的方法如下:
方法一:安装subversion客户端,使用如下命令:
svn co http://cvs.woodpecker.org.cn/svn/woodpecker/pygetsong/trunk getsong
方法二:使用其他的svn客户端,使用方法参考该客户端的帮助文档。
昨天晚上进行了一些改进,使其不再依赖外部的下载程序而独立运行,在我的gentoo和windows xp下都运行良好。
主要有三个改进:
1。脚本改名为getsong(下载),简单些,呵呵。
2。内置多线程下载,不再依赖axel。
3。选择速度较快的站点进行下载,减少等待时间。
目前还有一些小毛病:在多线程下载一块儿,如有异常情况发生导致线程重试时产生错误的下载结果,这个应该不难修正,晚些时有空了再改一下。
Changes:
在linuxsir上pupilzeng的帮助下已经修正了多线程下载的错误,现在getsong算是一个基本上好用的小程序,说基本好用是因为:靠关键字在百度搜索所得的结果并不全是正确的,因此有可能下载的歌曲不是你想要的,尤其是下载的歌曲如果和某张专辑同名,那下载结果不正确的可能性还会大大提高。
TODO:
提高搜索精确度,尽量保证匹配精度。
把新硬盘转为 LVM2 有个把月了,lv 的缩放的确方便,尽管不是天天缩放来玩儿,但说不定哪天就有这样的需要了,比如昨天就遇到这样的情况。昨天想要安装一个 Ubuntu 以备不时之需,因为新硬盘全部使用 LVM2 管理,这就需要从现在的 vg 中划分出一些空间给 Ubuntu 使用。/dev/vg/data 这个 lv 有 110G 大小,其中只有 30G 多的数据,于是进行了如下的操作:
用Python写了一个HTTP的多线程下载程序,代码还很简单,连接错误处理、重试等还都没有写,晚上有时间再完善完善。
使用指南:好用的播放器mpd
作者:Xupeng Yun <recordus@gmail.com>
mpd是目前我最喜欢的linux环境下的播放器,它跟常见的大多数播放器都很不同,比如它是c/s架构,mpd会作为一个守护进程运行在后台,通过各种各样的client软件来控制播放动作、播放列表等,从一开始使用我便喜欢上了这种方式。下面介绍一下它的使用方法和一些常见问题的解决方法。
一、安装
我推荐使用最新的0.12.1版,因为我曾使用过0.11.5版,它对某些歌曲的长度识别有问题,而在最新的0.12.1中很正常,以下文字都是基于0.12.1版的。
如果你跟我一样使用gentoo linux,那么你把portage更新到最新后emerge mpd就可以了:
emerge --sync
emerge mpd
使用其他的发行版的用户可以检查一下软件仓库中是否已有mpd,比如debian/ubuntu用户可以:
apt-get install mpd
arch用户可以:
pacman -S mpd
如果你使用的发行版还没有提供0.12.1版的二进制包,你可以从mpd官方网站(http://www.musicpd.org/files.shtml)下载源代码进行编译安装。
使用tar命令解开源代码包后进入源码目录:
tar xf mpd-0.12.1.tar.gz
cd mpd-0.12.1
编译安装:
./configure --prefix=/usr
make
make install
二、mpd的配置
mpd的系统级配置文件是/etc/mpd.conf,配置方法参见该文件,常用的配置选项有如下几个:
user 指定用来运行mpd的用户,建议使用默认的mpd用户
music_directory 指定存放mp3文件的目录,确保user指定的用户对该目录及其子目录、文件有读写权限。
filesystem_charset 要和你系统使用的locale一致,比如我的:
aiyi@devr ~ $ locale
LANG=en_US.utf8
LC_CTYPE=zh_CN.utf8
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
因此我就设置该选项为"UTF-8"
id3v1_encoding 指定mp3文件id3v1的编码,通常指定为"GBK"
后两项的设置很重要,它关系到你的歌曲信息是否能够正确显示。
对mpd配置完毕后要创建歌曲数据库,使用命令:
mpd --create-db
三、mpd的使用
启动mpd:
一般安装mpd时会安装一个启动脚本,比如mpd在gentoo下安装的启动脚本为/etc/init.d/mpd。
/etc/init.d/mpd start就启动了mpd
mpd没有安装该脚本也无妨,直接运行mpd就可以了。
四、客户端软件的使用:
我比较常用的客户端软件是mpc和gmpc,这些软件的安装都很简单,自行解决吧:)
mpc的常用方式:
mpc listall 可以列出所有的歌曲
mpc search filename 可以按文件名查找
mpc search artist 可以按歌手查找
mpc search title 可以按歌曲名查找
mpc add 添加歌曲到播放列表
mpc listall|mpc add 可以把所有歌曲都添加到当前的播放列表
mpc playlist 查看当前播放列表
mpc play 播放
mpc play 18 播放列表中第18首
mpc pause 暂停
mpc stop 停止
mpc 查看当前播放歌曲的信息
mpc的更多选项可以看mpc的帮助。
gmpc是图形化的客户端,使用更加简单,就不废话了。
五、常见问题
1、我的播放列表怎么有很多乱码?
这个……要检查一下上面mpd的配置一节说过的两个选项:
filesystem_charset
id3v1_encoding
看是否设置正确
2、我确认配置没问题,还是乱码。
这个可能是0.12.1新引入的问题,如果你的mp3文件有id3v2信息,那mpd会优先读取它而不管id3v1。
解决方法:删除id3v2信息,再确认id3v1是否正确
3、怎么删除id3v2信息?
我推荐使用id3v2这个命令行软件:id3v2 -d mp3file
4、能不能显示歌词?
偶目前在写一个小程序,用与mpd环境下的歌词显示,基本上完成了,稍候放出。
5、其他的问题
我目前还没有遇到其他问题,如果你遇到了其他的问题请使用google,同时也欢迎和我联系:recordus at gmail.com