runsisi's

technical notes

audacious-mac-0.3.10.modified

2018-12-20 runsisi#desktop

把 ubuntu 删了,太傻瓜了,出了问题几乎从没人想过要自己用下载工具下 deb 包,只知道 apt-get, aptitude, 新立得,看着都烦了,windows 都没这么傻瓜。
重装了一次 fedora,自己到底出了什么问题? 没事喜欢折腾,而起还是 fedora 用的好好的时候。现在 fedora 也有 ubuntu 的病了,什么都是 yum。
说实话 fedora 远远没有 ubuntu 稳定,这次更新后照样还是出不来 login screen,而且新的内核根本就进不去,只能控制台登陆,但上次却可以…

在 ubuntu 和 fedora 下一直都是用 rhythmbox 听歌的,但放整张碟的那种 ape 是有问题的,而且太庞大了,千千静听多好:) audacious 没有那乱七八糟的插件,用搜狗下了半天的源代码都没下全,而且默认的皮肤不是一般的丑,几乎就没有看得清楚按键的皮肤,制作这种皮肤的人到底出了什么问题?
偶然发现 sohu 的 mirror 有 rpmfusion 的 mirror,在那里下了一些插件,但没有放 ape 的插件,只得自己编译。

编译 audacious-mac-0.3.10 出了点小问题,应该是因为这个包是针对 audacious 低版本的原因,代码有点小错误, gcc 会报初始化参数太多。
下面是我生成的 patch,也可以自己找到 mac.cpp 这个文件注释掉 4 个 NULL:
注意,该 patch 只适用于 audacious 2.1 版本!

diff -rNu audacious-mac-0.3.10.org/src/mac.cpp audacious-mac-0.3.10.modified/src/mac.cpp
--- audacious-mac-0.3.10.org/src/mac.cpp    2010-01-18 12:16:19.983322369 +0800
+++ audacious-mac-0.3.10.modified/src/mac.cpp    2010-01-18 12:13:48.000000000 +0800
@@ -12,6 +12,7 @@
 
 const gchar *fmts[] = { "mac", "ape", "apl", NULL };
 
+//modified by runsisi@163.com
 InputPlugin mac_plugin_info =
 {
     NULL,
@@ -36,12 +37,12 @@
     NULL,
     NULL,
     NULL,
-    NULL,
+    //NULL,
     mac_file_info_box,
-    NULL,
+    //NULL,
     mac_get_song_tuple,
-    NULL,
-    NULL,
+    //NULL,
+    //NULL,
     mac_is_our_file_from_vfs,
     (gchar **)fmts,
     mac_mseek,

注意:编译这个插件之前需要编译 shared lib of Monkey’s Audio Codec,audacious 官方提供的 mac-port 已经从 sourceforge 上撤了,请搜索 mac-3.99-u4-b5 (某个 chinese 的修改更新版)进行编译。
注意:mac-3.99-u4-b5 本身也有一处代码编译通不过,请自行修改,只要使用 c 语言的类型转换(char) 或 c++ 转换 const_cast<char> 就可以了。
都可以不考虑使用 gstreamer 了,smplayer + mplayer 解决视频,audacious 解决音频,比 totem + rhythmbox 的解决方案好太多了。