SuperCat's Home

今日も頑張ろね~

RhythmCat2 Music Player 1.9.5-5 发布

| Comments

RhythmCat2 Music Player 1.9.5-5于今日宣布正式发布。本次更新添加了音乐库,并且提供了GStreamer 1.0的支持。

RhythmCat2 Music Player 是一个定位于Linux平台上的音乐播放器。是在老版本的RhythmCat 1.0的基础上,重新设计架构的新一代版本。本程序使用GTK+以及GStreamer开发,使用GTK+ 3.0作为图形用户界面,拥有D-Bus应用程序扩展接口,提供了强大的插件扩展支持,可用C或Python3进行插件开发。目前由本人直接开发的插件有: Lyric Show (窗口歌词秀)、Desktop Lyric (桌面歌词)、Notify-Popups (状态提示)、Lyric Crawler (歌词爬虫),以及MPRIS v2.1支持和多媒体键盘支持等。添加了GObject Introspection支持。日后也将尽可能为各位用户开发更多实用的插件,也欢迎各位开发者为本项目开发更多的插件。

本播放器需要GLib 2.32、GTK+ 3.4、GStreamer 0.10/1.0或以上的版本,因此需要您的系统上安装了这些包。对于Debian要求其版本为Wheezy(Testing)或以上,Fedora要求版本为18或以上。

下载地址可在本站的下载页面中找到,或者到 Github的托管站点 https://github.com/supercatexpert/RhythmCat2 获取本程序源代码。本程序提供了Deb安装包 (可在Debian上使用)和RPM安装包 (在Fedora上使用)。请根据自己使用的发行版来选择相应的安装包进行安装。Ubuntu 12.04(或更新版本)的Deb安装包将在之后提供。

若各位对本项目有任何的建议,或是发现了本程序的 BUG,欢迎在本站留言,并在 Github的 Issue 页面上进行报告。

RhythmCat2 Music Player 1.9.3-1 发布

| Comments

RhythmCat2 Music Player 1.9.3-1于今日宣布正式发布,此为 RhythmCat2 第一个公开发布的版本。

RhythmCat2 Music Player 是一个定位于Linux平台上的音乐播放器。是在老版本的RhythmCat 1.0的基础上,重新设计架构的新一代版本。本程序使用GTK+以及GStreamer开发,使用GTK+ 3.0作为图形用户界面,拥有D-Bus应用程序扩展接口,提供了强大的插件扩展支持,可用C或Python3进行插件开发。目前由本人直接开发的插件有: Lyric Show (窗口歌词秀)、Desktop Lyric (桌面歌词)、Notify-Popups (状态提示)、Lyric Crawler (歌词爬虫),以及MPRIS v2.1支持和多媒体键盘支持等。添加了GObject Introspection支持。日后也将尽可能为各位用户开发更多实用的插件,也欢迎各位开发者为本项目开发更多的插件。

本播放器需要GLib 2.32、GTK+ 3.4或以上的版本,因此需要您的系统上安装了这些包。对于Debian要求其版本为Wheezy(Testing)或更新,Ubuntu要求版本为12.04或以上,Fedora要求版本为17或以上。

下载地址可在本站的下载页面中找到,或者到 Github的托管站点 https://github.com/supercatexpert/RhythmCat2 获取本程序源代码。本程序提供了Deb安装包 (可在Debian/Ubuntu上使用)和RPM安装包 (在Fedora上使用)。请根据自己使用的发行版来选择相应的安装包进行安装。

若各位对本项目有任何的建议,或是发现了本程序的 BUG,欢迎在本站留言,并在 Github的 Issue 页面上进行报告。

在GNOME-Shell中进行屏幕录像时同时录制音频

| Comments

最近因毕业设计,需要录制项目演示视频。而听说GNOME-Shell自带了一个屏幕录像功能(按下Ctrl+Shift+Alt+R开始或停止)。试着用了一下以后,发现并不能录制音频。在一番搜索和尝试后,发现一个不错的办法。 首先使用以下命令使GNOME-Shell支持音频录制:

1
gsettings set org.gnome.shell.recorder pipeline 'webmmux name=mux videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! mux.video_0 pulsesrc ! audioconvert ! audiorate ! vorbisenc ! queue ! mux.audio_0'

其实这段命令就是修改GNOME-Shell使用GStreamer进行视频录制时的参数,让录制视频的同时录制音频并混合进媒体文件内。

看到这里,你或许会以为任务到此结束了。是的,如果你打算录制的声音是来自麦克风的话,的确如此。但是如果要录制声卡的输出的话,则需要另外想一些办法。你需要准备一个PulseAudio Volume Control程序,如果你并没有安装它,在Debian/Ubuntu下可以用命令 sudo apt-get install pavucontrol 来安装它。然后在终端用pavucontrol启动它。打开”Recording”选项卡,你可以看到所有正在进行录音的程序。这时,开启GNOME-Shell的屏幕录像,在Recording选项卡内可以看到新加的一个程序(必须打开录像功能后才能看到),名字为GNOME Shell,它的右边有一个按钮,默认值为Internal Audio,此时,点击它,会出现一个菜单,选择Monitor of Internal Audio即可大功告成。在GNOME-Shell退出(如重启)之前,该设定可以一直生效。

希望本文可以给一些使用GNOME3作为桌面的用户一些参考和帮助。

迁移到Octopress

| Comments

最近一直听说Octopress的大名,并且周围很多人都换了这个Blog系统。并且这个Blog是一个静态的实现,无须安装数据库。因此在经过准备以后,决定迁移到这个平台上。

首先自然就是要迁移文章和评论信息了,在 Mike君 的文章中,找到了一个能迁移内容的脚本。但是它要求Typecho是使用MySQL的,而本人的Blog使用的是SQLite。因此还需先将SQLite的数据转换成MySQL的。在网上找了数次后,终于弄到了一个PHP脚本,将SQLite数据库转换成了MySQL的.sql文件。然后导入MySQL中,使用 Typecho to octopress 程序进行转换(下载后需按照自己站点的配置修改脚本)。即可初步完成转换。但转换的效果并不是很好,内容需要修改才可用。在一番修改后,内容也终于迁移完成了。

然后就是迁移评论。上述迁移脚本中同时也提供了评论迁移的脚本,评论转换后是一个XML文件。到disqus注册一个帐号,配置好Octopress,在disqus站点上导入评论,在24小时内即可完成迁移过程。

至此,迁移过程完成。希望本文给想要目前正在使用Typecho,想要迁移到Octopress的人一些帮助。

使用GLib 2.32中的GResource

| Comments

在GLib 2.32中,添加了GResource这个模块,它提供了跨平台的程序资源(相信学过Win32编程的都知道这个是啥)集成支持,它可以将程序内所有非代码数据打包进一个文件,或者是可执行文件的段内,这样方便了程序的分发,也解决了访问路径的问题。既然它有如此强大的功能,那么该如何使用它呢?下面举一个简单的例子来说明。

首先准备好一个文本文件(如test.txt,内容随意),然后需要编写一个XML文件:

GResource XML资源文件示例
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/test/HelloWorld">
    <file compressed="true">test.txt</file>
  </gresource>
</gresources>

将这个XML命名为test.gresource.xml,并且与test.txt在同一个目录下,在Shell中进入文件所在目录后,使用以下命令:

1
2
glib-compile-resources --target=test-resources.c --generate-source test.gresource.xml
glib-compile-resources --target=test-resources.h --generate-header test.gresource.xml

完成以后,会得到2个文件: test-resources.c和test-resources.h。有了这些文件,就可以在程序中使用资源了,下面是一个测试程序,该程序将显示资源内test.txt的内容:

GResource访问测试示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <glib.h>
#include <stdio.h>
#include <glib-object.h>
#include <gio/gio.h>

int main(int argc, char *argv[])
{
    gchar *data = NULL;
    gsize length;
    GFile *file;
    g_type_init();
    file = g_file_new_for_uri("resource:///org/test/HelloWorld/test.txt");
    if(!g_file_load_contents(file, NULL, &data, &length, NULL, NULL))
    {
        fprintf(stderr, "Cannot open resource data!\n");
        g_object_unref(file);
        return 1;
    }
    g_object_unref(file);
    printf("Data: %s\n", data);
    g_free(data);
    return 0;
}

将上面的代码保存为test.c,使用下面的命令来编译它:

1
gcc `pkg-config --cflags --libs glib-2.0 gio-2.0` -o test test.c test-resources.c

运行test (./test),即可打印出资源test.txt的内容。即使原来的test.txt被删除了,只要程序本身完整,就能够读取出资源内容。

本文简单介绍了GLib 2.32中新添加的GResouce的使用方法,详细的情况请参考GLib的文档: GIO Reference Manual。希望本文能给更多使用GLib进行程序开发的人一些帮助。

转移到PhotonVPS

| Comments

从我购买BurstNet VPS开始,到今天也有接近1年的时间了。在使用过程中,遇到过多次内存不足等情况,因为BurstNet的VPS基于OpenVZ架构,没有SWAP,因此程序总是直接出现Out of memory错误。因此,我决定迁移到PhotonVPS上,其支持支付宝付款,因此也方便我续费。

我选择购买的是PhotonVPS Xen WARP1,其配置中等,与我原先的VPS接近(还要好一些)。在官方提供了VPS入口IP后,我这次选择安装nginx作为Web服务器,并恢复了Web的数据。接下来就是恢复其它的一些功能了,并且对该VPS的性能做进一步的评估。

RhythmCat Music Player 1.0.1 发布

| Comments

RhythmCat Music Player 1.0.1-1 于今日发布,此为上一版本的维护版本。

此次更新中,所有的安装包均统一使用GTK+ 3.0进行编译打包(同时用户也可自己用GTK+ 2.0来编译),修正了部分BUG。Debian/Ubuntu用户请重新安装新GTK+ 3.0版本的插件,Fedora及Arch用户无须重新安装插件。

升级到Debian Wheezy (Testing)

| Comments

自从去年9月Debian Squeeze进入冻结阶段以来,用它已经有一年多了。不得不说Stable版本还真是稳定,基本上都很少遇上系统问题。不过随着时间推移,GNOME3发布,KVM的Spice组件的添加,GTK+ 3的正式发布,等等。Debian Squeeze已经渐渐无法满足我的需要了。而且,在RhythmCat Music Player发布1.0.0正式版本后,我也需要GTK+ 3来开发下一代版本,于是,我终于走上了升级系统的道路。

首先自然是换掉源,切换到官方源,禁用Security和Backports源,将squeeze替换为wheezy,保存后,自然是经典的sudo apt-get update和sudo apt-get upgrade。进过漫长的包下载后,终于可以开始升级了。升级中,发现几个包冲突。此时只有卸掉有问题的包,甚至连VMware Player都会引起冲突,好吧,只有先卸掉它,等升级后还是可以装回来的。接着就是sudo apt-get dist-upgrade。然后装上新内核(Wheezy的内核都已经到了3.1了)。重启,等待升级结果。

重启之后,好在升级没遇到问题,启动一切正常。主系统上终于也有了GNOME3~。不过iBus工作不正常了,我就先卸载它,然后重装一次,OK,这次工作正常了。至此,升级基本完成。

升级完成后,试着使用了一下KVM,spice果然大大提高了KVM的图形性能,KVM终于变得更适合桌面使用了,^_^。不得不说GNOME3用着感觉还是比过去的GNOME2好的,虽然确实需要花时间来适应。之前在Firefox 8.0上无法使用的WebGL,现在也可以工作了(估计是和库版本有关)。至此,升级工作告一段落。

KVM中FreeBSD安装手记

| Comments

一直以来想尝试一下FreeBSD,但是总是没下手。原先打算FreeBSD 9.0正式版发布后开始动手,而我终于是按奈不住了,于是在KVM环境下尝试安装9.0的RC2版本,也为在本机上安装正式版提供经验。

从官网拖下DVD版安装文件(发现9.0-RC2的ISO和8.2的比差好远,居然只有500多M。用virt-manager建立好虚拟机,启动开始安装。从FreeBSD 9.0开始使用bsd-install替代原来的sys-install,安装过程还算顺利。分了/, /home, swap 3个分区,安装完成后,进入FreeBSD的终端界面。以root登录,将自己用的普通用户加入wheels组,这样便能在普通用户下使用su来提升自己的权限了。

接下来就是设置Ports,Ports有2种使用方式,一种是下载源码来编译(感觉和Gentoo极为相似),还有一种是直接下载编译好的Binary。首先就要配置好Ports,首先是建立/etc/make.conf (用vi真不习惯!)。添加如下2行:

1
2
MASTER_SITE_BACKUP?=http://mirrors.163.com/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}

然后依次使用 portsnap fetch, portsnap extract 来安装Ports快照。

接着设置环境变量 PACKAGESITE,这样便可以直接使用 pkg_add -r 命令来安装已编译好的二进制包,使用 setenv PACKAGESITE ‘http://mirrors.163.com/FreeBSD/ports/i386/packages-9-stable/Latest/’ 来设置这一变量。

下面就可以使用 pkg_add -r 命令来安装需要的软件了:

1
pkg_add -r gtk20 gtk30 gstreamer xorg xorg-drivers xf86-video-vmware gnome2 xfce4 ibus

安装完成后,设置/etc/rc.conf,添加上:

1
2
3
hald_enable="YES"
dbus_enable="YES"
#gdm_enable="YES" #如需使用gdm,则去掉注释

下面设置Xorg,使用Xorg -configure命令生成xorg.org.new,然后将其复制到/etc/X11/,命名为xorg.conf,并适当修改其中的设置(如分辨率等),将driver设置为vmware(我在KVM中设置的显卡类型)。

安装到此基本完成,顺便送上在FreeBSD下的 RhythmCat 1.0.0-1 效果 (使用GTK+ 3.0编译)。 RhythmCat 1.0.0-1 in FreeBSD

RhythmCat Music Player 1.0.0-1 正式版发布

| Comments

RhythmCat Music Player 1.0.0-1于今日宣布正式发布,此为本项目的第一个稳定版本。

RhythmCat Music Player 是一个定位于Linux平台上的音乐播放器。本程序使用GTK+以及GStreamer开发,提供GTK+ 2.0以及GTK+ 3.0的支持,拥有D-Bus应用程序扩展接口,提供了强大的插件扩展支持,可用C或Python进行插件开发。目前由本人直接开发的插件有: Lyric Show (窗口歌词秀)、Desktop Lyric (桌面歌词)、Notify (状态提示)、Music Locator (音乐定位)、Lyric Editor (歌词编辑器)、Lyric Crawler (歌词爬虫),以及Tag Editor (标签编辑器)。日后也将尽可能为各位用户开发更多实用的插件,也欢迎各位开发者为本项目开发更多的插件。

本项目发布后将不再向主程序中添加任何新功能,而着重与缺陷修复以及插件的开发。同时,下一代开发版本也将择日启动。下一代开发版本预定完全使用GTK+ 3.0,并重写部分的模块。

下载地址可在本站的下载页面中找到,或者在 http://code.google.com/p/rhythmcat 也可获取本程序。本程序提供了Deb安装包 (可在Debian/Ubuntu上使用)、RPM安装包 (在Fedora上使用)、pkg安装包(在Arch上使用),也提供了通用的二进制安装包。请根据自己使用的发行版来选择相应的安装包进行安装。

若各位对本项目有任何的建议,或是发现了本程序的 BUG,欢迎在本站留言,并在 Google Code 的 Issue 页面上进行报告。

程序截图:

默认主题: 默认主题

Monochrome主题: Monochrome主题