mplayer前端CMMusic版本ver1.6(新增CUE支持)

Totem,mplayer,sopcast,realplayer,bmp
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

mplayer前端CMMusic版本ver1.6(新增CUE支持)

#1

帖子 bargain685 » 2009-01-05 13:07

cmmusic (Console Mplayer Music) ver 1.6
Author : fedorawang
Email : kissme2142@gmail.com
URL : https://sourceforge.net/projects/cmmusic/
License : GNU General Public License (GPL)

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

---------------------------------------------------------

语言:简体中文

指引:

---------------------------------------------------------

简介:

CMMusic是啥软件?我为什么要用它?

CMMusic是MPlayer的前端(Frontend),是基于(n)curses开发的控制台界面软件。
相对于其它播放器,有以下优势:

a.播放能力:相对于mp3播放器,CMMusic依靠MPlayer的强大后盾完全可以胜任几乎
所有的音频格式文件,甚至可以用来播放视频文件,如管理并播放MV文件列表。

b.资源占用:由于使用控制台界面库,CMMusic在资源及CPU占用上几乎可以忽略不计,
当然,剩下的就交给MPlayer了。

c.皮肤外观:使用大家熟悉易入手的XMMS界面布局;字体和特效(如背景图,透明)完全
取决于控制台终端,支持xterm,urxvt,gnome-terminal,konsole及文本模式终端。

d.操作方式:在X环境下,你可以像使用XMMS一样用鼠标来操作CMMusic,或通过快捷键
来完成这些操作。

e.特殊能力:非X环境运行,歌词手动下载,百度MP3试听下载。

---------------------------------------------------------

你可以从以下地址获得软件:
https://sourceforge.net/projects/cmmusic/

BUG报告及建议:
https://sourceforge.net/tracker2/?fu...7&atid=1126799

---------------------------------------------------------

运行环境要求:

1.Linux.
2.mplayer.
3.ncurses或curses.

---------------------------------------------------------

如何编译和安装?

[1] ./configure
[2] configure选项:
--enable-envcode=[ARG] 设置运行环境变量,缺省为UTF-8
--enable-lrccode=[ARG] 设置LRC歌词文件的编码,缺省为GBK
[3] make
[4] make install
[5] 安装目录结构:
程序位置: /usr/local/bin/cmmusic
插件目录: /usr/local/share/cmmusic/plugins/*
用户数据: ~/.cmmusic/* (动态生成)
[6] make uninstall ,或直接删除以上安装目录结构。

---------------------------------------------------------

如何使用?

1.安装完毕后,在控制台下运行cmmusic.
2.按INS增加文件到列表.
3.按回车播放!

你能在该软件站点或解压的源码包目录下找到键位表图,以便于更快熟悉键位操作。

----------------------END--------------------------------


---------------------------------------------------------
修改日志:

ver 1.6 2009-06-21
1.增加对cue文件的读取分析及处理(需要Plugin)。
2.修正打开目录时对目录软链接和未知文件类型的处理。
3.打开到不可用路径时,将重置成根目录。
4.歌词特效为为回避叠字BUG带来的不便给增加个指示符。
5.修正插件模式下处理菜单没被刷新的BUG。
6.修正commdef.h文件中curses库的头文件位置。
7.修正mplayer被杀掉后cmmusic退出不会保存播放列表的BUG。
8.lrc功能增加对offset标志的识别。
9.修正使用autotools时没有正确使用config.h编译的BUG。
10.修正plugins工程编译错误的BUG。


ver 1.5 2009-03-16
1.增加配置功能模块,常用配置能被记忆,包括:音量大小,播放模式,文件最近打开位置,LRC目录,文件类型。
2.增加文件类型过滤,播放文件类型,文件列表类型和目录设置时都有过滤功能。过滤类型可以配置文件中自定义。
3.增加确认框交互,在设置LRC目录,删除整个列表和保存列表时可能会有确认框*出。
4.增加批量添加目录下所有播放文件的功能。
5.修正64位下WPARAM宏定义导致编译无法通过的BUG。
6.修正播放文件开始时有0.5秒音量异常的BUG。
7.歌词叠字的BUG可以通过修改配置文件来避免,并增加可配置效果。
8.configure增加对非宽字符curses的支持(不支持中文),去掉1.4中过多的可选项。
9.快捷键根据mplayer习惯重新定义并可自定义配置。
10.歌词断字进一步优化。
11.修正mplayer被杀死后,主程序异常退出的BUG。
12.增加MP3下载试听插件,增加curseui插件工程。
13.增加KeyMode功能,用于切换cmmusic和mplayer按键模式。
14.修正控制台窗口过小会引起程序崩溃的问题。

ver 1.4 2009-02-21
1.增加四个按钮功能:增加,删除,上移,下移,清除列表。
2.增加文件列表操作功能,选择文件可视化。
3.增加关于按钮,显示版本及版权。
4.增加音量调节快捷键。
5.修正音量设置后播放新文件时没有对应的BUG。
6.修正播放文件时无法真正暂停的BUG。
7.优化由autotools组织的工程,会优先选择ncurses。
8.为configure增加部分可选选项。主工程和插件的安装分开。
9.插件仅保留歌词下载插件和GTK的文件打开插件。
10.快捷键修正:1,退出增加文件,列表操作,插件操作模式的快捷键由'q'改成ESC。

ver 1.3 2009-01-03
1.取消上个版本的--gbk和--text选项.替换为-lrc gbk和-mode text.
2.主程序增加部分消息机制.以适应接收插件通知.
3.增加下载歌词插件(手动).
4.增加一个方便添加播放文件的GTK界面插件.(-_-!)
5.增加一个清除播放列表的插件.
6.改由autotools组织工程.
7.数据目录,插件目录,主程序目录重新定义.

ver 1.2 2008-12-15
1.修正一个Lrc无法正确解析显示的BUG.
2.增加Plugin插件模式,用户可以使用shell脚本甚至二进制文件自定义插件功能和热键.
3.开始命令转移到start.sh文件.用户可通过修改命令脚本来自定义mplayer的启动参数和其它操作.此脚本如果不存在,播放器会生成缺省脚本.
4."部分"修正歌词中文断行乱码或无字的BUG.
5.取消上个版本的颜色模式,原因是为了让用户更自由地定义界面颜色.
6.控制台大小被修改时,播放器可以做出自适应调整了.
7.为部分玩家因不包含相关头文件而引起编译出错的问题修正了文件结构.
8.增加--text选项,以适应在zhcon --utf8模式下,更换窗口边框以修正字符长度引起框架混乱的BUG。

ver 1.1 2008-12-9
1.增加--gbk选项.在TEXT模式下,使用zhcon可以正常显示中文了.方法是:运行zhcon,运行./CMMusic --gbk.
2.修改查找lrc目录策略,查找目录为:播放文件目录,./Lrc目录,指定目录.
3.增加用鼠标点击菜单的支持,单击为选中,双击为播放(发现在TEXT的zhcon环境中鼠标无效).
4.缺省播放模式为多数人所用的循环顺序播放.
5.鼠标在没必要时会隐藏起来.
6.打开颜色模式.

ver 1.0 2008-12-8
1.完成基本功能.

----------------------END--------------------------------
:em11


题外话:
前一段时间收到xulang的BUG反馈邮件。于是开始1.6的开发。在测试时,随便讲讲一下新版本解决BUG的一些过程。


1.打开文件时没有反应。
这个BUG好像较早时就有人反映了,但我一直不明白是怎么产生的。xulang报告说是ubuntu 9.04,于是我安装了虚拟机。测试了几天,一个偶然的机会,让我把这个BUG给重现了:我使用了VirtualBox共享目录的方式,音乐文件放在共享目录(Win)下测试,结果BUG一下就出现了。经查,文件类型返回的是DT_UNKNOWN!结果连".."都没有了。所以打开文件就没反应了。修正过程中,还发现了软链接目录和文件也被忽略了...于是也修正了无法显示软链接的BUG。不过测试过程中发现软链接很难知道是目录还是文件链接,有办法知道,就是尝试打开,但那样速度太慢,放弃了。直接改成了只要是软链接都显示。


2.建立快捷方式的cmmusic
这次与XXX的交流,顺便让我发现了XXX自制的deb包是有快捷方式的。喜!于是我马上也在自己的包里按样子做了一个,起名叫cmmusicx。但开始测试时启动不了。我把我解决的过程给大家说下:
(查看错误输出)
[wxj@localhost bin]$ cat ~/.cmmusic/Err.log
mplayer: error while loading shared libraries: libGL.so.1.2: cannot open shared object file: No such file or directory
(查找相关so的位置,发现该so不在lib目录下)
[wxj@localhost bin]$ ldd /usr/local/bin/mplayer | grep libGL.so.1.2
libGL.so.1.2 => /usr/lib/fglrx/libGL.so.1.2 (0x00121000)
(查找类似的so,发现确实没有1.2版本的,至少软链接也没有)
[wxj@localhost bin]$ ls /usr/lib/libG*
/usr/lib/libGL.so /usr/lib/libGLU.so /usr/lib/libGLU.so.1.3.070002
/usr/lib/libGL.so.1 /usr/lib/libGLU.so.1
[wxj@localhost bin]$ ls /usr/lib/libGL.so.1 -al
lrwxrwxrwx 1 root root 26 2008-10-12 /usr/lib/libGL.so.1 -> /usr/lib/xorg/libGL.so.1.2
(于是尝试自建个软链接...)
[wxj@localhost bin]$ ln /usr/lib/fglrx/libGL.so.1.2 /usr/lib/libGL.so.1.2 -s
ln: 创建符号链接 “/usr/lib/libGL.so.1.2”: 权限不够
[wxj@localhost bin]$ su
口令:
[root@localhost bin]# ln /usr/lib/fglrx/libGL.so.1.2 /usr/lib/libGL.so.1.2 -s
[root@localhost bin]# exit
exit
[wxj@localhost bin]$ ./cmmusicx
(成功了!)

再说个BUG,有些人(比如我),在菜单里删除某项快捷方式后,以后想再加回,发现把 cmmusic.desktop 放回去也无效了。解决方法是把~/.local/share/applications/下的文件全删了即可。这个目录估计是各个用户的过滤目录,以此区别不同用户的不同菜单。总之你要发现开始菜单里的cmmusic快捷方式没出来,就这样试一下。
玩Linux的乐趣之一,就是解决问题,在解决的过程变得机灵。


3.歌词高亮出现叠字BUG问题。
这个问题我一直没遇到,遇到的同学可以把系统版本情况跟我说下。这个BUG的现象是歌词高这显示时,出现叠字。目前的解决方法修改~/.cmmusic/cmmusic.cfg的lrclight字段,改成0即可。但改成0后没效果了,连唱到哪一句也不好找了,后来 边城浪子 建议我加个框,我最后的处理是在唱到的那一句前面加个">>"指示符,也算比较明显了吧。


4.autotools对config.h的使用。
这个BUG有点无语...我一直以为我正确使用了autotools,直到这次测试时才发现之前一直没有把config.h里的宠编译进去。此版本特别加入#include "config.h"以修正。


5.对cue的支持。
此版本较大的一个改动在于对cue的支持。算是比较简单的支持吧。为了避免给主程序加杂乱的代码(本来已经很乱了...),我把cue的解析放到cuelist中去了,大家可以到plugin中找到它,这样做的目的是:cue可能多种多样,暂且给个临时方案,写在一个文件里也方便调试。大家如果有无法解析的cue,要么自己调试,给我提供些修改意见,要么给我发cue文件来。对cue的支持很简单,以下格式,第一个数字为开始时间(秒),第二个为结束时间。第三个为标题,第四个为文件全路径。开头的cue为标识以备以后扩展其它格式用。(注:cue和ape必须在同个目录)
#|cue|1326|1521|叹香菱-陈力|/media/MAIN/Media/CUE/红楼梦-电视连续剧原声.ape
对cue的支持,进度条仍然是整体ape的进度条。本来就是单个文件,做每个分段的进度太辛苦了。由于一般ape较大,如果一开始就播非开头的片断,那么开始会有一两秒响的是开头的音乐,估计是由于文件较大mplayer对setpos的反应慢的缘故。如果想只播放ape,需要在~/.cmmusic/cmmusic.cfg的musictype增加ape类型,就可以添加了,当然手动加到music.lst中也可以。


6.奇怪的现象
在测ubuntu时,发现一个奇怪的BUG,即Plugin无法读取,查了老半天不知所去云,后来又莫名奇妙的又好了。我不放心,又重装了了ubuntu(虚拟环境),再测,BUG再没出现了... 此外,发现cmmusic.cfg中的plusdir的选项好像设置无效 -_-! 。不过既然版本发布工作都差不多了。这个问题也就暂时不查了。

结语:
从最初做一个自己方便用的工具共享给大家,到现在1.6版本,陆陆续续快一年。尽管更新不是很积极,但大家的BUG反馈还是给了我继续完善的动力。我也在这个过程学习了一些Linux下开发和发布的东西,从开始时只有makefile的源码压缩包,到由autotools来组织工程,从早期需要手动添加文件到music.lst到现在有选择文件的界面,从以前只在我的F8上测试,到现在好歹有了ubuntu9.04和Fedora11的虚拟机测试环境,可以提供rpm和deb包了。负责一个给大家使用的软件开源工程,并在其中解决大家提出的问题,确实能让人变得更加有责任心,更加努力去把这个东西做好。

题外话一下,虽然我里面有了baidump3和歌词下载的功能,写得极烂,可居然没有人反馈...敢情这些功能是没人关注啊。看来当初没打算写得更好是对了。

最后再提醒一下,大家使用过程中出现BUG。如果你要问其他使用者,在论坛上问是没问题的,但如果要问我,请电邮我或到软件页面(sourceforge)的BugReport去提,我可不是所有论坛都去过。

感谢xulang和边城浪子的BUG反馈和建议!
附件
键位图
键位图
上次由 bargain685 在 2009-06-23 6:12,总共编辑 8 次。
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#2

帖子 xiooli » 2009-01-05 14:03

很好,但是我这里都没有编译通过过,lz放个deb包的话反应会积极点吧。
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#3

帖子 bargain685 » 2009-01-05 14:18

xiooli 写了:很好,但是我这里都没有编译通过过,lz放个deb包的话反应会积极点吧。
怎么也给点错误信息吧 ... ...

对了,我还是比较关注你的SHELL歌词插件的,最近支持mplayer了。
本来想融入我的播放器中,(因为我的插件模式说白了也是SHELL...)
无奈赶着发布。打算下个版本考虑了。
到时遇到问题希望能帮兄弟一把啊。
:em11
yunhai
帖子: 87
注册时间: 2008-12-12 16:13

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#4

帖子 yunhai » 2009-01-05 14:27

./configure时,找不到CMMusic/commdef.h。

另外那个proj是做什么用的?
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#5

帖子 xiooli » 2009-01-05 14:36

bargain685 写了:
xiooli 写了:很好,但是我这里都没有编译通过过,lz放个deb包的话反应会积极点吧。
怎么也给点错误信息吧 ... ...

对了,我还是比较关注你的SHELL歌词插件的,最近支持mplayer了。
本来想融入我的播放器中,(因为我的插件模式说白了也是SHELL...)
无奈赶着发布。打算下个版本考虑了。
到时遇到问题希望能帮兄弟一把啊。
:em11
哈哈,客气了,估计没有人会那样子用mplayer来看歌词的 :em03
错误忘记了,以前编译时候遇到的。不过出deb包的话总归要方便些嘛。
Joolix live OS: http://joolix.com

代码: 全选

dpkg -l|awk '/^rc/{print $2}'|sudo xargs dpkg -P
头像
sammysun
帖子: 4088
注册时间: 2007-12-08 23:33
来自: SCUT-guangzhou

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#6

帖子 sammysun » 2009-01-05 14:47

好用不?
yunhai
帖子: 87
注册时间: 2008-12-12 16:13

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#7

帖子 yunhai » 2009-01-05 14:54

xiooli 写了: 估计没有人会那样子用mplayer来看歌词的 :em03
为什么不呢?我就喜欢让歌词显示在终端里,刚看了下图,比我想要的华丽多了。
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#8

帖子 bargain685 » 2009-01-05 15:13

对不起,我在这里给大家道歉,由于1.3是我第一次用autotools组织发布包。
由于对autotools了解不深,造成make dist打包的文件不全,导致下载后./configure出错。
目前已更新至1.3.1,应该已经解决了些问题。
有关Proj1,编译后,将其src里的 proj1和主目录下的openfile.sh放到/usr/local/share/cmmusic/plugins/中,
运行cmmusic时按 o,即有效果。
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.3(新增歌词手动下载)

#9

帖子 bargain685 » 2009-01-05 15:29

xiooli 写了:
bargain685 写了:
xiooli 写了:很好,但是我这里都没有编译通过过,lz放个deb包的话反应会积极点吧。
怎么也给点错误信息吧 ... ...

对了,我还是比较关注你的SHELL歌词插件的,最近支持mplayer了。
本来想融入我的播放器中,(因为我的插件模式说白了也是SHELL...)
无奈赶着发布。打算下个版本考虑了。
到时遇到问题希望能帮兄弟一把啊。
:em11
哈哈,客气了,估计没有人会那样子用mplayer来看歌词的 :em03
错误忘记了,以前编译时候遇到的。不过出deb包的话总归要方便些嘛。
都要有个慢慢来的过程吧,
我之前的版本基本都是make了之后就自己看着办的。
这个版本好歹使用了autotools,支持了安装。
并且由于不熟练,此次发布还出了问题不是。
以后会考虑做成二进制包的。
但个人认为还是./configure比较好,因为即使是二进制包,没有依赖库。
那估计也不行,呵呵。
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.4(新增文件目录操作界面)

#10

帖子 bargain685 » 2009-02-22 0:04

:em06
版本更新了,自己顶一下。
主要修改:
增加了以前一直没有文件目录界面的操作。
修改了之前提到的没有真正暂停的BUG。
针对uxrt+screen出现双字的问题,可通过configure设置来去除反亮。
主程序与插件安装分离,以前安装过的,make install安装主程序即可。

由于一直在加功能,代码已经显得有点乱了。
下个版本主程序可能不会有多大的功能扩展了,(有需求大家尽量提啊~)
会考虑附加上他人的shell做插件(如歌词显示或mp3下载)以及 美化下代码。
madman_913
帖子: 1
注册时间: 2009-02-24 16:51

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.4(新增文件目录操作界面)

#11

帖子 madman_913 » 2009-02-24 16:57

在configure时出现错误
configure: error: please install ncurses or curses!
并且ncurses已经安装了(在网上下载的ncurses-5[1].6.tar.gz然后进行安装的)

请指教。
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.4(新增文件目录操作界面)

#12

帖子 bargain685 » 2009-02-24 22:15

madman_913 写了:在configure时出现错误
configure: error: please install ncurses or curses!
并且ncurses已经安装了(在网上下载的ncurses-5[1].6.tar.gz然后进行安装的)

请指教。
我实际上检查的是 ncursesw 或 cursesw ,
你看是不是有ncurses,但没有ncursesw呢。
我相信autotools做的configure在检查库上应该是不会错的。
有w和没w的区别在于宽字符的支持,即中文的显示支持。
lawnet
帖子: 49
注册时间: 2005-12-16 10:59

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.4(新增文件目录操作界面)

#13

帖子 lawnet » 2009-03-02 10:41

好软件 非常感谢
头像
Azone
帖子: 98
注册时间: 2007-08-02 16:01
联系:

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.4(新增文件目录操作界面)

#14

帖子 Azone » 2009-03-02 20:15

怎么向列表添加文件?怎么播放文件?摸索了半天不行。。。 :em28
头像
LinuxMadman
帖子: 11
注册时间: 2008-08-14 23:01
联系:

Re: 类似千千静音的mplayer控制台前端CMMusic版本ver1.4(新增文件目录操作界面)

#15

帖子 LinuxMadman » 2009-03-09 2:29

cmmusic_1.4-1_i386.deb官方包下载地址 :em16
http://nchc.dl.sourceforge.net/sourcefo ... 1_i386.deb
我再说一次,其实我是个程序员,不是打字的,如果你一定要说我是打字的,可不可以不要在前面加个“死”字!
回复