<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar/8638045102788407707?origin\x3dhttp://micro1o.blogspot.com', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

收集压制DVD相关的文章 2008年11月24日 |

  最近下载了一张电影DVD,正在学习用megui压制,在网上找到的相关有用文章:

标签: , ,

干干净净安装iTunes 8 2008年11月21日 |

  在笔记本上面曾经安装过iTunes 7.5,记得当时安装的组件比8少一些,可还是自动安装了QuickTime。让我印象深刻的是:Apple Software Update提示iTunes有更新,列出了更新的组件,我仅仅是选择了iTunes更新,但是更新程序自动下载了QuickTime等其他组件强制安装。后来,我就将iTunes等相关软件全部卸载了。现在为了下载专辑封面,想在台式机上面安装iTunes 8,放狗搜索了一下看是否有办法仅仅安装iTunes 8,不安装其他组件(话说,iTunes 8附带的组件比7.5多了不少,又是Bonjour,又是MobileMe)。功夫不负有心人,终于让我找到了,经过使用安装成功。
Method 2 - if you have installed QTA and need iTunes 7 适用于iTunes 8
  1. Install QuickTime Alternative (QTA).
    安装了终极解码或者完美解码,就不需要安装这个了,因为已经包含了QuickTime解码播放组件。
  2. Download latest iTunes installer.
    下载的iTunes安装文件是个可执行文件。
  3. Extract the contents of the installer file using WinRAR. You will likely see 5 .msi Windows Installer Package setup files, namely AppleMobileDeviceSupport.msi, AppleSoftwareUpdate.msi, iTunes.msi, iTunesSetupAdmin.msi and QuickTime.msi.
    原来这个安装文件是可以用WinRAR解压缩的,iTunes 8里面包含了6个安装包(扩展名为msi的文件,是windows的安装包格式),只需要将需要安装的解压缩出来。
  4. Delete the Qucktime.msi installer file.
    上一步解压缩了需要的安装包,这一步可以不需要了:)
  5. Open a Command Prompt window (cmd.exe, with administrator privileges in Vista), and then type the following command:
    msiexec.exe /i iTunes.msi /quiet
    打开命令行(通过运行cmd.exe,在Vista下面需要管理员权限),输入那条命令运行后只要等待安装完成,由于是在后台安装,看不到任何提示,过段时间在桌面看到iTunes的快捷方式就OK啦!

标签: ,

修改基于glibc的程序 2008年11月20日 |

  Ubuntu下面喜欢使用mpd(Music Player Daemon)播放歌曲,由于这是一个C/S的音乐播放程序,一个好用的播放客户端必不可少。

  最初使用的是Sonata(用Python语言编写),这个播放客户端界面简洁,功能满足要求,能够修改音乐的标签,但是有一个缺点,对于需要代理访问因特网的用户无法更新专辑封面、歌词等信息。检查充分使用Google,搜索发现Python支持使用系统环境变量http_proxy的代理设置访问因特网,于是自己修改了部分代码(使用urllib2访问因特网的部分),可是测试使用的时候总是不起作用。后来想通过在终端运行看看是否有出错的信息,出人意料竟然能访问因特网了,这个现象也太奇怪了,实在搞不懂是怎么一回事??

  接着找到了gimmix,为了编译最新版本安装了一堆包(太惨了,网站上的编译说明和源码包中的还不一致,nxml这个包其实是libnxml,费了很长时间才搞定)。使用中也是无法使用代理,而且没法显示音乐目录下面的专辑封面图片(在windows下面搜集了不少itunes/amazon/allcdcovers的专辑封面),毫不犹豫删除了。

  最后看到一篇论坛帖子介绍mpd的客户端,推荐了Sonata和gmpc(Gonme Music Player Client),于是在launchpad找到了开发者自身编译的gmpc包安装到系统中。使用后感觉不错,尤其是支持代理访问因特网。优点如下:
  • 支持插件,通过插件实现如下功能:搜索本地专辑封面、歌词;获取amazon上的专辑封面;获取last.fm上面的艺术家信息、图片;获取lyricwiki、leoslyric等上面的歌词(纯歌词,不是lrc歌词)等等。
  • Metadata Browser功能强大,充分利用插件获取的last.fm的相关信息。
  确定使用gmpc作为播放客户端后,就想能否修改一下满足自身的要求。搜索本地专辑封面的插件Music Dir Fetcher虽然可以搜索到播放音乐文件所在目录下面的图片,但对于有多张图片(包括专辑封面、光盘封面、小册子扫图等)不能按照喜好定义选择哪一张,用下来感觉像随机选取。阅读这个插件的源代码(只有单个c文件)后,知道插件是用正则表达式匹配图片文件,选取匹配的第一个文件作为专辑图片,如果没有匹配的,使用目录下面的第一个图片文件。插件考虑兼容性,将匹配的表达式定义为:
(voorkant|front|cover|large|folder|booklet)
因此,我想能不能给一个自定义项用于匹配,在插件处理专辑图片时先用用户自定义的进行匹配,这样即不破坏原插件的功能,又能让插件按照用户习惯选择正确的专辑图片。为插件增加这个功能,用Google搜索了不少关于GTK+界面编程、glibc函数等信息:
  学习了半天,终于修改成功,已经编译到gmpc下正常使用。在Music Dir Fetcher界面增加Cover Filename一个自定义项,可以使用正则表达式,比如我自己设定成(itunes|amazon),因为我的专辑图片一般将来源放在图片文件名开头([itunes] xxx.jpg、[amazon] xxx.jpg)。


相关信息
  • gmpc作者的第三发软件源,目前gmpc版本0.16.1,比ubuntu中的版本高不少,同时包含插件的最新版本
    deb http://ppa.launchpad.net/qball-qballcow/ubuntu intrepid main

标签: , , , ,

update-rc.d 详解 2008年11月18日 |


  update-rc.d命令,是用来自动的升级System V类型初始化脚本,简单的讲就是,哪些东西是你想要系统在引导初始化的时候运行的,哪些是希望在关机或重启时停止的,可以用它来帮你设置。这些脚本的连接位于/etc/rcN.d/LnName,对应脚本位于/etc/init.d/Script-name。

  1. 设置指定启动顺序、指定运行级别的启动项:
    update-rc.d <service> start <order> <runlevels> .

  2. 设置在指定运行级中,按指定顺序停止:
    update-rc.d <service> stop <order> <runlevels> .

  3. 从所有的运行级别中删除指定的启动项:
    update-rc.d -f <script-name> remove

例如:
update-rc.d script-name start 90 1 2 3 4 5 . stop 52 0 6 .
start 90 1 2 3 4 5 . : 表示在1、2、3、4、5这五个运行级别中,按先后顺序,由小到大,第90个开始运行这个脚本。
stop 52 0 6 . :表示在0、6这两个运行级别中,按照先后顺序,由小到大,第52个停止这个脚本的运行。



----
禁止Tor服务:
sudo update-rc.d -f tor remove
sudo /etc/init.d/tor stop

标签: ,

开机自动加载系统模块 2008年11月17日 |


  如果想开机自动加载loop模块,传统的做法是将其写入类似/etc/modules.conf的文件里,比如ubuntu是/etc/modules;对于archlinux用户,可以在/etc/rc.conf的MODULES段添加欲自动加载的模块。



----
下面是ubuntu中的modules文件内容:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

标签: ,