On Apr 25, 12:11 am, bones7456 <bones7...@gmail.com> wrote:
> 这个蓝图打算充实完整了以后,加到项目的wiki页里去,这里先讨论一下,以下是我目前想到的,先不组织语言了,列要点先:
> 1.功能:
> 目前几乎只实现了google榜单的下载功能,以后还打算做专辑下载,搜索下载和歌词下载.(另外,也可以考虑突破google,兼做baidu和
> sougou的榜单等.近期先做好google的).
> 集成试听和播放.可以用 gstreamer 做后端,实现mp3的解码以及声音输出等,可以参考http://pygstdocs.berlios.de/
初始化榜单 treeview list_model
初始化播放列表 treeview playlist_model
绑定快捷键 key_checker 可参考snownews的快捷键绑定
h: hide window.hide()
n: play next song playnext
p: play previous song playprev
Enter: play listen
Space: play/pause
j: focus next song
k: focus previous song
榜单下载:
点击 获取列表,执行doSearch函数
启动下载列表线程 downList
设置按钮不可再点
实例化Lists对象 _songlist
设置当前列表
清空列表list_model
填入列表list_model
恢复按钮可再点
点击 本地歌曲列表 执行 doListLocalFile
启动线程 listLocalFile
设置按钮不可点
实例化ListFile对象 _songlist
设置当前列表
清空列表list_model
填入列表list_model
恢复按钮可再点
歌曲列表 TreeView 鼠标操作 执行 click_checker
得到当前索引
设置当前播放位置
如果是右键 执行 SetupPopup
菜单项 下载 执行 downone
菜单项 试听 执行 listen
启动新线程 执行 play
依次检测:是否循环播放状态(暂由loop_song信号量控制),是否有本地文件,是否有本地缓存文件,是否联网,然后播放
当前播放列表 播放当前歌曲
菜单项 添加 执行 addToPlaylist
关于当前位置:有两个当前位置:1,当前正在播放的曲目位置,2,当前聚焦位置。
还有一个当前播放列表
下载中用临时文件名,下载完成后恢复原歌曲名 [现在已经是这样了,临时文件是 歌名+歌手.mp3.downloading -by bones]
试听:两个线程,一个下载,一个试听,试听到自动结束后恢复歌曲名
添加到列表:
本地文件列表:
扫描本地文件,忽略下载的临时文件和试听的缓存文件
播放:检测是否循环播放,然后播放
添加到列表:
下载管理:
播放列表: TreeView 鼠标 执行 click_check2
得到当前索引
设置当前播放位置
如果是右键 执行 SetupPopup2
菜单项 试听 执行 listen_init -> listen
菜单项 删除 执行
On Apr 25, 12:11 am, bones7456 <bones7...@gmail.com> wrote:
> 这个蓝图打算充实完整了以后,加到项目的wiki页里去,这里先讨论一下,以下是我目前想到的,先不组织语言了,列要点先:
> 1.功能:
> 目前几乎只实现了google榜单的下载功能,以后还打算做专辑下载,搜索下载和歌词下载.(另外,也可以考虑突破google,兼做baidu和
> sougou的榜单等.近期先做好google的).
> 集成试听和播放.可以用 gstreamer 做后端,实现mp3的解码以及声音输出等,可以参考http://pygstdocs.berlios.de/