简单配置 Windows 下 gVim

以下是 _vimrc 添加的配置

syntax on
set encoding=utf-8

source $VIMRUNTIME/vimrc_example.vim
if has('win32')
source $VIMRUNTIME/mswin.vim
behave mswin
endif

set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set fileencoding=utf-8 " 新建文件使用的编码

” 解决菜单乱码
set langmenu=zh_CN
let $LANG = 'zh_CN.UTF-8'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set guifont=Consolas:h9
colo slate

BearAudio 0.0.1 完成

按照预期的目标,0.0.1 完成了。

这个版本调用了 playbin 去实现播放、暂停、时间跳转等功能。在 SVN 的代码里面并没有显示时间的代码。实际上已经作出来了。只是在 shell 下的显示以及其他一些细节问题,我没有深入研究。毕竟最后这个播放器是图形界面的,把这些功夫花在图形上更加好。

0.0.1 的代码通过

svn co -r 11 http://code.latteye.com/bearaudio/

就可以获得了,很简单,直接 make 一下就能得到二进制文件。就不详细解释其中的内容了。

接下来要做的是:

1.学习 C++ (大概才学了五成)
2.学习 gtkmm,据说这是 gtk C++ 的实现。我就用这个做图形界面吧。希望更好上手一点。
3.继续学习 GStreamer,由于前面偷懒,pipeline 是通过 playbin 实现的。并没有深入捣鼓 很多“工厂”。但是(我猜测)最终的实现目标既然是加入音效插件支持,那么 playbin 应该是无法满足需求的。得把一个现成的 playbin 拆开学。

目前,我先把模子搭起来。

0.0.2 目标:

1.通过 gtkmm 设计简单的播放界面
2.能够显示当前播放的文件
3.能够显示进度条
4.具有播放、暂停功能
5.能够通过进度条重新定位播放时间

这是向图形化迈出的第一步。

开始写 BearAudio

一直想写一个播放器 :smile: ,从去年年底就开始有这个想法。到现在已经有一年了。由于在摩比源的日子实在太忙,搁置了这么久。现在在新单位总算有时间集中起来学习很多东西了。

喜欢听点东西,所以也就喜欢捣鼓捣鼓播放器。但 Linux 下的播放器实在是寒酸 :cry: ,DSP VST 都可怜的很。于是一直想自己写一个。
但毕竟我不是开发出身 :cry: ,起步的时候总想拉人来帮忙。拉来拉去自己也没干成啥 :eek: 。还是靠自己吧,累点就累点吧,昨天又是不知不觉到半夜 :!:

软件的名字叫 BearAudio:cool: 中文咋说呢?小熊播放器~ :grin:

SVN 在这里 http://code.latteye.com/bearaudio ,目前的状态是一穷二白。要是您看了此文动了尊手 check out 了,那就委屈您了。 :evil:

Lisa 答应来帮我做 UI。

游离在 C++ 以及 GStreamer 已经半个多月了。现在开始边写边学。

播放器的最终目标是开发出能够支持第三方 DSP 以及 VST 的专业音乐播放器。目前能想到的比较好的状态是直接直接支持 winamp 的众多插件。希望这个远大的理想能够实现。 :lol:

现在,还是从走路开始学吧。 :sad:

0.0.1 版本的设计目标:

1. 命令行播放一个音频文件。
2. 通过键盘控制文件的播放,暂停、快进、快退。
3. 能够在 命令行 上显示播放的百分比。

加油 :cool:

我尽量让 C++ GTK GStreamer 的学习同步进行,相互吸收。过两天也可以请 Lisa 开始设计UI了。

此文即为此项目开篇之文!

Perl 语言入门 第十章

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl -w
 
$x=int rand(100);
$x++;
 
while (<>) {
         if (/\d/) {
                 my $number=
                 ($_==$x)?"correct.":
                 ($_<$x)?"small":
                 ($_>$x)?"biggerr": "unknow";
                 print "$number\n";
         } else {
                 print "Please enter a number\n";
}
}

Perl 语言入门 第七章 答案

又是好久没看 Perl 了,本来就没学多少东西。这下都忘记了,还得重头看一遍。先把第七章自己写的答案贴上来。
(全文…)

Perl 语言入门 第六章

6.1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
 
my %name_hash=(
	"fred"=>"flintstone",
	"barney"=>"rubble",
	"wilma"=>"flintstone");
#print $name_hash{"fred"};
 
while (chomp($_=<stdin>)){
#	chomp ($_);
	$name=$name_hash{$_};
	print "$name\n";
}
</stdin>

(全文…)

配置 VIM 适合 Perl

由于一直没学多少开发,所以我对编辑器要求都不是很高。现在开始学 Perl 了,把 VIM 稍微弄一下吧。

.vimrc

syntax on
set tabstop=4
set nu
set showmatch
set syntax=perl

同时下载 perl.vim 高亮脚本:http://www.vim.org/scripts/script.php?script_id=56

保存为 ~/.vim/syntax/perl.vim 即可。如果配置文件中包含Windows下的回车符,替换掉即可。

cat -A perl.vim | sed 's/\^\M\$//g' > perl.vim

Perl 语言入门 第五章

先把自己拼拼凑凑写出来的东西贴出来,找到了英文版本 CHM,看过那个里面的答案。简单几行代码就能看出自己的代码组织能力很差。回头再分析一下原文答案。
(全文…)

Perl 语言入门 第四章 答案

自己在学,边学边做作业:
(全文…)

C++ 作业-类-1

恩…… 编程太烂了,都是大学里面没好好学。现在慢慢开始学起来,今天写完了第一个 C++ 类的作业,很简单。

题目:

生成一个 Rectangle 类,这个类的 length 和 width 属性默认为 1,其成员函数计算长方形的周长和面积。为该类的 length 和 width 设置 set 和 get 函数。set 函数应该验证 length 和 width 为 0.0-20.0 浮点数。

(全文…)