LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: bargain685

mplayer控制台前端播放器CMMusic版本更新(支持歌词,插件扩展)

[复制链接]
发表于 2009-2-22 13:32:15 | 显示全部楼层
Post by 沙漠之子;1948462
@realasking
运行genlist.sh,当含有空格的路径拖入终端的话,终端自动在路径前后加入单引号
导致:
find: "'/media/MEDIA/My Music'" :没有那个文件或目录

另外genlist.sh的文件过滤不完美
如以下文件会被添加到列表中
/media/MEDIA/My Music/PlayList/alarm1.lrc
/media/MEDIA/My Music/PlayList/Alarm.lrc
/media/MEDIA/My Music/PlayList/greenwaves.lrc
/media/MEDIA/My Music/PlayList/Spirit dreams inside mp3.lrc
沙漠之子你好~
对于目录列表的生成我已经作了修改,
还是基于此前我发到这里的那个修改的,
后一个问题已经解决,
不过由于我的终端不支持拖放,
所以你遇到的第一个问题我这里没法重现,
但是你可以试试现在我传上来的这个脚本,
看看是否能用。
另外,我感觉CMMusic 1.4版的播放器确实好用多了,
而且一次安装,几个用户都可以正常使用~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2009-2-22 13:35:13 | 显示全部楼层
Post by bargain685;1950749
谢谢大家的支持,新版本发布了,
主要修改:
增加了以前一直没有文件目录界面的操作。
修改了之前提到的没有真正暂停的BUG。
针对uxrt+screen出现双字的问题,可通过configure设置来去除反亮。
主程序与插件安装分离,以前安装过的,make install安装主程序即可。

由于一直在加功能,代码已经显得有点乱了。
下个版本主程序可能不会有多大的功能扩展了,(有需求大家尽量提啊~)
会考虑附加上他人的shell做插件(如歌词显示或mp3下载)以及 美化下代码。
嗯,支持bargain~,
1.4在我这里表现很不错,
目前为止还没有碰到什么问题,
比前几个版本好不少。
回复 支持 反对

使用道具 举报

发表于 2009-2-22 13:40:58 | 显示全部楼层
1.4终于可以在feodra 10工作了。
Thanks man!
回复 支持 反对

使用道具 举报

发表于 2009-2-22 14:06:52 | 显示全部楼层
PlayerMgr.cpp: In member function ‘void CPlayerMgr:arseOutput(const char*)’:
PlayerMgr.cpp:271: error: cast from ‘const char*’ to ‘unsigned int’ loses precision

应该是 不支持64位的编译器
回复 支持 反对

使用道具 举报

发表于 2009-2-22 15:33:38 | 显示全部楼层
1.4的安装插件失败
ttpLrc.cpp: In function ‘int GetCode(int, const char*)’:           
ttpLrc.cpp:8: 错误:‘strlen’在此作用域中尚未声明                  
ttpLrc.cpp: In function ‘int ConvertCode(const char*, const char*, const char*, char*)’:
ttpLrc.cpp:89: 错误:‘strlen’在此作用域中尚未声明                                       
ttpLrc.cpp: In function ‘std::string GetUnicodeStr(const char*)’:                       
ttpLrc.cpp:115: 错误:‘memset’在此作用域中尚未声明                                      
ttpLrc.cpp:120: 错误:‘strlen’在此作用域中尚未声明                                      
ttpLrc.cpp: In function ‘int main(int, char**)’:                                       
ttpLrc.cpp:139: 错误:‘strcmp’在此作用域中尚未声明
回复 支持 反对

使用道具 举报

发表于 2009-2-22 17:15:21 | 显示全部楼层
好东西啊!!!!
回复 支持 反对

使用道具 举报

发表于 2009-2-22 18:11:18 | 显示全部楼层
Post by realasking;1951015
沙漠之子你好~
对于目录列表的生成我已经作了修改,
还是基于此前我发到这里的那个修改的,
后一个问题已经解决,
不过由于我的终端不支持拖放,
所以你遇到的第一个问题我这里没法重现,
但是你可以试试现在我传上来的这个脚本,
看看是否能用。
另外,我感觉CMMusic 1.4版的播放器确实好用多了,
而且一次安装,几个用户都可以正常使用~


OK了 谢谢大大
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-23 00:23:37 | 显示全部楼层
Post by Daring666;1951064
1.4的安装插件失败
ttpLrc.cpp: In function ‘int GetCode(int, const char*)’:           
ttpLrc.cpp:8: 错误:‘strlen’在此作用域中尚未声明                  
ttpLrc.cpp: In function ‘int ConvertCode(const char*, const char*, const char*, char*)’:
ttpLrc.cpp:89: 错误:‘strlen’在此作用域中尚未声明                                       
ttpLrc.cpp: In function ‘std::string GetUnicodeStr(const char*)’:                       
ttpLrc.cpp:115: 错误:‘memset’在此作用域中尚未声明                                      
ttpLrc.cpp:120: 错误:‘strlen’在此作用域中尚未声明                                      
ttpLrc.cpp: In function ‘int main(int, char**)’:                                       
ttpLrc.cpp:139: 错误:‘strcmp’在此作用域中尚未声明



还有头文件没有包含...真日啊,
就麻烦你自己查下这些函数在哪些头文件里有吧。
包含上应该能编译通过的。或者你直接包含上commdef.h。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-23 00:33:25 | 显示全部楼层
Post by zhwps;1951027
PlayerMgr.cpp: In member function ‘void CPlayerMgr:arseOutput(const char*)’:
PlayerMgr.cpp:271: error: cast from ‘const char*’ to ‘unsigned int’ loses precision

应该是 不支持64位的编译器


64位我暂时没有编译环境,你如果能通过修改代码得以解决。
我将十分感激,软件是开源的,也希望大家遇到问题时多提多帮忙。
可以为之后遇到问题的人找到解决方法,
毕竟我个人的测试环境和精力都是比较有限的。

我查了代码,这里我提些建议:
错误是由于 ‘const char*’ 到 ‘unsigned int’ 强转失败引起的。
而commdef.h中有:
#define WPARAM        unsigned int
#define LPARAM        unsigned long
看前面代码可以知道 ‘const char*’ 到 ‘unsigned long’是可行的。
所以建议修改WPARAM的定义,即
#define WPARAM        unsigned long
#define LPARAM        unsigned long
看下能不能编译通过。
为什么有WPARAM和LPARAM呢,因为我原先是主要从事Windows开发的,这是WIN消息的两个常用参数,所以我常把它们当成万能参数使用。
回复 支持 反对

使用道具 举报

发表于 2009-2-23 07:28:58 | 显示全部楼层
Post by bargain685;1951229
还有头文件没有包含...真日啊,
就麻烦你自己查下这些函数在哪些头文件里有吧。
包含上应该能编译通过的。或者你直接包含上commdef.h。

ttpLrc.cpp里第一句#include <string>应该是#include <string.h>吧,改后还是不行,错误如下
ttpLrc.cpp:110: 错误:‘string’在命名空间‘std’中没有命名一个类型
ttpLrc.cpp: In function ‘int main(int, char**)’:
ttpLrc.cpp:141: 错误:‘printf’在此作用域中尚未声明
ttpLrc.cpp:145: 错误:‘GetUnicodeStr’在此作用域中尚未声明
ttpLrc.cpp:145: 错误:‘printf’在此作用域中尚未声明

继续加上#include "commdef.h",并拷贝commdef.h到ttpLrc.cpp目录,终于成功了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表