Fold All / Expand All

2009年12月29日 星期二

gdb-7.0.1 failed to build on ppc platform workaround

diff -r 3e44f6f79b21 sim/ppc/Makefile.in
--- a/sim/ppc/Makefile.in Mon Jan 18 15:35:03 2010 +0800
+++ b/sim/ppc/Makefile.in Mon Jan 18 15:39:53 2010 +0800
@@ -551,7 +551,7 @@ PACKAGE_SRC = @sim_pk_src@
PACKAGE_OBJ = @sim_pk_obj@


-psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(LIBINTL_DEP)
+psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP)
$(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB)
$(BFD_LIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS)

run: psim


目前遇到LIBS跑出來的值是-lz,把-lz放在prerequiste當然是爆炸囉。

build arm platform就沒這個問題

BitTorrent magnet link

Transmission 1.80 beta 1 (2009/12/03)
開始支援Magnet link
ticket of Transmission Magnet support
diff of Transmission Magnet parser commit

rTorrent尚未支援
ticket of rTorrent Magnet support
How To Compile rTorrent From SVN In Ubuntu 9.10 Karmic Koala / Debian 5 Lenny With Magnet Link Support

Related Links:
Magnet URI scheme@wikipedia
MAGNET-URI Project
BitTorrent’s Future: DHT, PEX, and Magnet Links Explained

2009年12月27日 星期日

無双 OROCHI Z 各劇情模式第八章外傳出現條件

無双 OROCHI Z 各劇情模式第八章外傳出現條件

蜀:
第七章『江戶城』
在2分內逃出起火的江戶城,城內的我方將領也要逃出

魏:
第七章『山崎』
在1分內,擊破反叛的妲己

吳:
第七章『小牧長久手』
關卡開始3分內,出現救出孫家父子動畫

戰國:
第七章『五丈原』
完成千人斬

2009年12月15日 星期二

[茶太] Kaleidoscope / ウサギキノコ第六弾

Kaleidoscope / ウサギキノコ第六弾

已經uk6了耶,uk5是「eclipse 改」、uk4「さびしんぼう。」、uk3「たぶん青春」。

コミックマーケット77にておめにかかる予定。

趕流行,twitter也來了。

2009年12月12日 星期六

id3v2 Frame header flags

[id3v2.4]
Frame header flags
%0abc0000 %0h00kmnp
a - Tag alter preservation
b - File alter preservation
c - Read only
h - Grouping identity
k - Compression
m - Encryption
n - Unsynchronisation
p - Data length indicator

[id3v2.3]
Frame header flags
%abc00000 %ijk00000
a - Tag alter preservation
b - File alter preservation
c - Read only
i - Compression
j - Encryption
k - Grouping identity

2.3和2.4不一樣…

最近遇到的問題是,v2.4在塞cover的時候,mp3tag或是foobar都會把Unsynchronisation和Data length indicator設起來,data length indicator比較容易處理,就是看到這個flag有設起來,讀的時候,先讀4-byte(即data length),後面才是真正的data,而unsynchronisation比較麻煩一點,看到這個flag有設,要把value裡的$FF 00 00換成$FF 00,這是在MPEG系列才有的問題。

簡言之,就是要多做一步string replace,在純C寫啊……應該之前改wget那邊拿來用就可以了吧…

2009年12月11日 星期五

MIKUNI SHIMOKAWA Christmas party in Kaohsiung

台湾の高雄でのクリスマスイベントが急遽決定いたしました!

這是什麼情形!?
19號在台北,隔天就南下,而且是在神奇的地點

◆MIKUNI SHIMOKAWA Christmas party in Kaohsiung ◆
◆開催日時 :2009年12月20日(日)  開場18:00 開演 18:30~21:00
◆開催会場 : 台湾高雄市 巨星DISCO 高雄市自強三路62號6樓
◆チケット料金:事前予約券950NTD.当日券1200NTD.
◆販売場所 : 巨星DISCO

這個就沒年代售票,要到會場買票。

按照這個進度,明年是?

2009年12月8日 星期二

Hide Ext JS Grid Context Menu Column Lock

最近怎麼都是在hide東西…

這回是Ext JS 1.1.1,在Ext JS 1.1.1的Grid,Header是真的要用右鍵按一下,才有menu出來,和3.0.0的會浮現箭頭可以按是不同的。而在1.1.1的時候,grid有個不知道做什麼用的lock/unlock column,根據之前眾人使用後得到的結果是,功能貌似是像Excel的freeze pane(請參考「在Excel裡,讓標題固定在上方,捲動時也不會改變位置」),但是freeze pane比較常用的是固定最上面的row,固定column實在是沒啥用。

而且還有人誤以為lock column之後,grid column order就會記住,browser refresh後會是調整過的order。呃…基本上order要記起來,如果沒有動cookie的話,就是server端有記,不然refresh之後,當然是回到default order。

如此無用又令人誤解的東西,還是藏起來吧,但是翻了翻Ext JS 1.1.1的doc,竟然沒有關掉它的config!

原本心想,和上一篇一樣,要去override click action,把ext-all-debug.js看過後發現,其實是可以從config設定的!

不論是在grid.GridView的render()還是handleHdCtx,都有去看「this.grid.enableColLock !== false」,才進行lock column相關的動作,但是…Ext.grid.Grid裡是沒有enableColLock的,也就是說這個值當然是永遠!==false,因為它是undefined...

既然我們知道了有個參數可以讓它不畫出來,就不用把原本的function抓出來再override了,只要再new grid.Grid的時候,把「enableColLock: false」代入config,grid.GridView就不會有這個奇怪的東西啦!!

2009年12月7日 星期一

Hide Ext JS Grid Context Menu Sort Item

Ext JS的grid,在header可以有下拉選單調整是否要sort、顯示該column,如果今天我們不想讓這個column可以做sorting,在設定columns時,可以把sortable設為false。

但是下拉式選單裡的asc, desc是以disabled的型態呈現,如果我們在non-sortable的時候,連menu item都不想顯示的話要怎麼辦呢?

一個方法是override掉Ext.grid.GridView的renderUI這支,不過這支實在太長了啦,只為了asc, desc,要多複製一堆code。

另一個方法是override掉handleHdDown這支,Ext JS在這裡會和isSortable而去做disable asc, desc的動作,只要把setDisabled換成setVisible,就可以達成我們的要求啦。

以下是拿ext-3.0.0來改,先整個override的code
Ext.override(Ext.grid.GridView, {
handleHdDown: function(e, t){
if (Ext.fly(t).hasClass('x-grid3-hd-btn')){
e.stopEvent();
var hd = this.findHeaderCell(t);
Ext.fly(hd).addClass('x-grid3-hd-menu-open');
var index = this.getCellIndex(hd);
this.hdCtxIndex = index;
var ms = this.hmenu.items, cm = this.cm;

var sortable = cm.isSortable(index);
ms.get("asc").setVisible(sortable);
ms.get("desc").setVisible(sortable);
ms.get("columns").previousSibling().setVisible(sortable);

this.hmenu.on("hide", function(){
Ext.fly(hd).removeClass('x-grid3-hd-menu-open');
}, this, {single:true});
this.hmenu.show(t, "tl-bl?");
}
}
});


和原本的diff
- ms.get("asc").setDisabled(!cm.isSortable(index));
- ms.get("desc").setDisabled(!cm.isSortable(index));
+
+ var sortable = cm.isSortable(index);
+ ms.get("asc").setVisible(sortable);
+ ms.get("desc").setVisible(sortable);
+ ms.get("columns").previousSibling().setVisible(sortable);

2009年12月5日 星期六

Album Artist and Contributing Artist

「Album Artist」,其實原本最早是沒有這個東西的。看起來是2006年9月,iTunes 7帶入了這個玩意,而之後的media player才陸續支援這個tag。

在Windows Media Player 11,左方的tree structure裡,有Album Artist和Contributing Artist兩種分類,其實Contributing Artist就是讀原本的Artist,只是WMP自己換了個稱號,在中文版,則是用「演出者」(album artist)和「參與演出者」(contributing artist)。

在WMP,如果Album Artist field沒有東西,則會用Artist裡的第一個。什麼叫第一個,不是只有一個tag value嗎?在tag value裡,有人會用「,」或是「/」,又或者是「;」,將不同的歌手(表演者)分開,而WMP就是會去看分隔符號,抓裡面第一個,至於哪一個版本是抓哪些分隔符號…這又是另一個故事了。

Album Artist的出現,是為了歌曲分類方便,有些專輯,可能是找了一堆人featuring,而標tag的方式,有人是把feat.放在title裡,有些則是放在artist裡,如果是放在artist裡,就會造成一種情形,用artist當category時,明明是同一張專輯的歌,卻會被分到不同類別。

網路上有人舉Santana的Supernatural當例子,裡面的歌幾乎都是feat.不同歌手,用artist分類的話,整張專輯會被分成好多不同類別,這時候如果有album artist,將artist設為「Santana Featuring Rob Thomas」,而album artist設為「Santana」,用album artist分類,就可以在Santana裡找到整張專輯的歌。

當然,前提是mp3的tag都要做好。

至於iTunes用TPE2 (Band)作為存放Album Artist的tag,foobar社群並不同意,這又是另一個故事啦……