TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2009年2月27日 星期五

有感

原來Meteor解散啦 ... 還滿喜歡Clover Point的說,它的OP和夜々真的不錯,沒想到成為遺作了。
不過似乎又重整為Comet ... 期待下個作品吧。

2009年2月25日 星期三

Patch to a tag using git

git checkout -b patch-v1.2.3 v1.2.2    (1)
[... fix your bugs ...]
git commit -a                          (2)
git tag v1.2.3 -m 'Version 1.2.3'      (3)
git checkout master                    (4)
git merge v1.2.3                       (5)
[... fix conflicts ...]
git branch -d patch-v1.2.3             (6)
解說:
  1. 建立一個基於v1.2.2的分支並轉移過去
  2. 送交
  3. 建立新的v1.2.3標記
  4. 回到主幹
  5. 合併v1.2.3的更動
  6. 刪除已不需要的暫時分支
之後就可以把修改過的主幹和新的標記推出去了,別人將不會知道你有暫時分支。
如果有其他的標記要patch(ex: v2.0 ...),則要從第四步開始每個都作一次。

2009年2月23日 星期一

Khopper 0.1.1 released

改版訊息:
  • 修正某些cue檔會崩潰的問題

遊戯王 + チチをもげ!

用的歌似乎是魔法少年賈修裡的某首歌,唱者和城之內的聲優一樣。 不懂的話我大約翻一下(沒有很準確,意思有到就好):
遊戲:是繩文人!(譯註:耶?)
馬利克:摧毀遊戲(的精神)吧!
...
Chi Chi Chi Chi ㄋㄟㄋㄟ 搖啊搖啊 (譯註:ChiChi 在日文也是胸部的意思)
馬利克:三小?!(驚)
...
搓吧揉吧抓吧
搓揉那ㄋㄟㄋㄟ啊
...
遊戲:快回復正常吧!
(城之內還在白目地唱歌)
遊戲:不行,完全被馬利克操縱了
圭:怎麼完全變成另一個人(字幕:並不是)
海馬:這就是馬利克的洗腦嗎...(還好本大爺沒被他洗腦)
(城之內還在唱)
杏子:別這樣,城之內你在衝三小
馬利克:那傢伙...完全只靠著本能在作戰(譯註:這是本能?!這是作戰?!囧)
孔雀舞:城之內...
靜香:哥哥...(準備把繃帶拿下)
杏子:(不行,不能讓靜香看到城之內這個樣子!)(譯註:我也這麼覺得)不可以,靜香不可以把繃帶拿掉!
靜香:咦?!
(字幕:城之內還是唱得很興奮)
杏子:(不能讓靜香看到城之內這個樣子,拿下繃帶第一次見到的那個憧憬中的哥哥,竟然是現在的城之內,那也太悲慘了!)
靜香:哥哥...
孔雀舞:沒問題的,妳要相信城之內
(還在唱白目歌的城之內 <- 憧憬中的哥哥)
(腦內妄想畫面...不過中途出現一個貧乳女讓他受到刺激)
城之內:嗚啊...為什麼...
靜香:哥哥...(拿掉繃帶跳入水中)
城之內:哈哈哈哈哈...抓到妳了
靜香:啊~不要~你看這是你最愛的ㄋㄟㄋㄟ哦
城之內:哈哈哈哈哈...
靜香:哈哈哈哈哈...
彈幕:你們兄妹兩在幹麻啊...
遊戲:城之內,我最喜歡你了!(大心)
(完)

腐り姫MAD - とおりゃんせ

昨天室友問我有沒有恐怖的日本童謠,那最有名的大概就屬かごめかごめとおりゃんせ了,在你管子上很輕易就可以找到。
在ニコニコ上找的時候找到了這首I've remix過的とおりゃんせ,配上我一直沒精神去讀的腐り姫。島みやえい子似乎很適合唱這類型的歌?

2009年2月21日 星期六

タユタマ

剛剛去Getchu上逛了一下,發現タユタマ要發行續作,看來是after story。然後還有TV版發行預定。
接觸它的理由是該社的上個作品いつ空,雖然朱門氏己經離開該社了,不過還是會想看看下一個是不是也是包了糖衣的猛藥。
不過這次它走的是溫馨路線,原本的敵人最後都變成同伴...還算可以啦。
發售前的人氣排名依序是:メアリ、ましろ、美冬、ゆみな。應該是因為到體驗版時的人物表現吧。メアリ擁有強大的恋する幼なじみ屬性,ましろ畢竟是第一女主角[?],美冬則是因為大部分時候都處在生真面目和敵對狀態,魅力無法展現。ゆみな...雖然是很有趣啦,不過這個角色其實比較適合放在配角。
發售後的人氣排名就有點變動了,ましろ、美冬以及鵺佔據了前三名,メアリ和ゆみな則掉到了四五名。而第三名的鵺拿了約兩千票,ましろ和美冬都拿了超過六千票,可知人氣差距。雖然ましろ只以數票之差險勝,不過因為她的熟女型態和幼女型態的票數是另外計算,加起來還是會贏,只能說不愧是第一女主角吧。
另外TV版的demo實在是怪怪的...

2009年2月17日 星期二

2009年2月13日 星期五

Khopper 0.1.0 Released

改版訊息:
  • 修正某些CUE讀取錯誤的問題
  • 修正進度會越跳越快的問題
  • 增加偏好設定儲存功能
  • 檔名增加音軌編號設定
  • 現在取消轉檔應該會正常運作了
  • 現在Windows上可以編譯並執行了
  • 新增程式圖示
  • 其他介面細微修改
套件改變:
  • 新增amd64套件
其他:
  • Windows可使用,但是無法開啟有Unicode字元的路徑
  • MP3的VBR暫時關閉
  • 個人設定會存在~/.config/FoolproofProject/Khopper.ini
學期又要開始了...因此我可能不會再像寒假一樣有這麼多時間,歡迎有興趣的人加入!

2009年2月9日 星期一

該死

我實在不知道該怨恨誰了,就讓我恨天吧...(?)
故事的開頭,是在我想把程式port到Windows的時候發生的。
首先我遇到了TR1和C99名稱缺省的問題,沒關係,我知道每次都要跟上標準很累,VC沒有<cstdint>,gcc也沒實作std::tr1::regex,一人一次很公平,打平了,還好我還有Boost,不怕你。
然而沒想到魔王其實不在這裡,而是Unicode。
先簡單的介紹一下一般處理系統字串的方法好了。
大家都知道早期各國為了顯示自己的文字,定了各種了不起的編碼方式來對應字型,Big5的許功蓋就是這段歷史下的偉大人物,大概比踢牙齒老奶奶這位史詩級人物還要再個高一級左右。
夫天下大勢,分久必合合久必分,某個大有為的組織看不慣這種戰國亂象,於是制定了Unicode的編碼標準,以對應全人類的偉大文化產物,又生出了各種對應Unicode的編碼方式,希望能夠平息亂碼之亂。要注意的是,編碼標準和編碼方式不同,每個文字在Unicode裡只有一種編碼標準,再根據各種不同的編碼方式,比方說UTF-8或UTF-16,UCS4等編成不同的編碼。
那麼我們在程式裡是怎麼處理各種不同的輸入和輸出呢?
最常用的方法就是,把輸入字串解碼成Unicode字串,如此一來就可以在程式裡方便地處理字串,在輸出時再編碼成需要的輸出字串。
那要怎麼存Unicode字串呢?C和C++都提供了wchar_t來存寬字元,你可以用它來存放Unicode化過的字元。但是有趣的地方也在這裡,Windows和其他系統的wchar_t的寬度是不一樣的,Windows是2 bytes,Linux等是4 bytes,因此在Windows上你可能要選擇UTF-16,而在Linux上要用UCS4。
這還不是最糟糕的。
Linux的系統函式都沒有提供wchar_t的版本,因為現在系統上的編碼都是用UTF-8,就算用locale的編碼也不會漏失字元。
但是Windows就提供了另一套w開頭的API,以提供wchar_t的版本,同時系統函式分成兩系,一是W結尾,使用wchar_t,一是A結尾,使用char,而且要編成本地編碼。
於是當某個你碰不到的程式碼內部使用fopen時,在Windows上你一點辦法都沒有,根本不能讀取non-ascii的路徑。

2009年2月8日 星期日

Khopper v0.0 RC released

改版訊息:
  • 修正輸出路徑在使用一個以上專輯時的錯誤
  • 在歌曲清單上的編輯將會反應到轉出的檔案上
  • 增加專輯資訊
  • 輸出格式設定改為跳出式視窗
  • 輸出檔名設定移至選單內
  • 轉檔鍵移至右鍵選單內,並增加熱鍵(Ctrl+Enter)
  • 轉檔進度條介面改善
  • 其他介面細微修改
套件改變:
  • 新增系統選單
如果沒什麼bug的話,這就會是最後的釋出版了。現在只有一個問題--如果不能保證MP3的VBR編碼是正確的,那麼恐怕我必須把它先拿掉。
另外一點很遺憾的是,依然沒有圖示;我可能要自己亂畫一個...

2009年2月6日 星期五

Choise of byte array container

最近需要在函式回傳一個容納二進位資料的陣列,以供C的函式庫使用,因此它最好是在儲存空間上連續,在頭尾加入或刪除資料很快速[?],並且可以隨機存取。
我第一個想到的是std::string。它是一個底部連續的容器,支援隨機存取,可快速在尾端插入或刪除元素,甚至提供了data()函式取得底部資料,似乎很完美。不過我顧慮的有兩點,一是結束字元的判斷--它會不會把'\0'當成字串結束就打亂了字串狀態呢?二是它多了一些其實不需要的字串處理介面。
那麼std::vector怎麼樣?它具有std::string的所有優點,而沒有它的缺點,似乎是個不錯的選擇。要說它唯一缺點就是,在開頭插入或刪除元素的速度很慢。
那麼再看看其他的容器吧,也許std::list?它在頭尾插入很快--事實上它在任何一點都很快,不過它有其他的缺點--它的底部不連續,這讓你要以陣列方式傳給C函式時需要額外的手續。另外不支援隨機存取也會多一些麻煩,以及比較不明顯的問題....list node空間佔用。如果應用並不需要時常存取整段資料,應該會是個好選擇。
到這裡只剩下一個不太常看到的標準容器了--std::deque。它可以隨機存取,在頭尾可以很快速地新增或移除元素,只是它不保證底部會連續儲存。看起來好像是std::vector加上std::list再取平均的特性。
目前我的選擇是std::deque,因為我覺得在大量資料的操作下,std::list似乎會比較慢。實際上可能還要看實作吧。

2009年2月5日 星期四

Khopper v0.0 beta released

改版訊息:
  • 修正編譯錯誤
  • 現在可以刪除歌曲清單了
  • 如果沒有選取音軌會出現警告
  • 加入ID3 tag的寫入功能
  • 改善輸出路徑的操作
  • 加入輸出檔名的自訂功能
  • 加入編碼預覽功能
套件包目前只有i386版,amd64可能會在下一版釋出。Bug可能很多,歡迎回報錯誤。

2009年2月3日 星期二

Khopper v0.0 alpha released

功能:音樂轉檔
簡介:讀入cue,任選幾首歌,點選fire即可轉出音樂,目前只實作MP3。
未來計劃功能:ID3 tag寫入,更多輸出輸入格式支援,播放功能。
一開始的畫面會像這樣:
初始畫面
可以使用File -> Open... 開啟*.cue檔案,或是直接用拖拉的方式開啟,會先出現選擇文字編碼的對話框:
選擇文字編碼
選擇完畢後即會出現該張專輯的內容,如果內容是正確的話:
讀取完畢
之後選擇想要的歌曲(使用ctrl+左鍵選擇複數),按下Fire即可轉檔:
進度顯示
檔名會使用歌曲的標題。