ANA国内線【PR】

ffmpeg

ほとんどの場合に玄箱が遊んでしまっているので、特に急がないエンコードを玄箱に任せることにしてみようと思い立ってffmpegを導入してみる。

fedora armのレポジトリにはffmpegが見当たらないのでソースからビルドする。
libmp3lameが欲しいのでまずビルド。

そこでまず選択肢が二つ。クロスとセルフどうしよう。
クロスだと速いけど、autoconfなんかがとっても面倒。
セルフはほとんど何も考えなくてもいい代わりにアホみたいに時間がかかる。

とりあえずクロスでやるのは環境を揃えるのも面倒なので後回しにして、今回はセルフでトライしてみることにした。

で、libmp3lame
3.92のソースを取得してくる。

./configure --disable-frontend --prefix=/usr/local && make && make install

これで完了。

んで、ffmpeg
初期状態だと/usr/localが使えないので、今後も考えて/etc/ld.so.conf.dをいじる。

/etc/ld.so.conf.d/ffmpeg.conf というファイルを作り、
中に/usr/local/libとだけ記述して保存。

svnからffmpegの最新ソースを取得してくる。

disable-armv6を忘れてビルドしてしまい、ffmpegを実行すると不正な命令と怒られる。なんでv6があることになってんだろう。玄箱proはarmv5TEJなのでv6の命令は使えないはず。ついでにvfpももってないっぽいので除外。

./configure --enable-gpl --prefix=/usr/local --enable-libmp3lame --extra-cflags=-I/usr/local/include --disable-armv6 --enable-pthreads --enable-nonfree --disable-armvfp && make && make install

で3時間ほど待てば完了。

時間かかりすぎなので、そのうちdistccやりたいけど、arm-none-eabi-linux-gcc の 4.1.2版はcodesourceryではもう公開していないっぽい。
セルフよりは速いから、andlinux上でubuntuを使ったクロス環境構築するのが手っ取り早いか。

# by mestoph | 2008-10-26 01:00 | 玄箱

lighttpd と mpwii

奥さんがwiiから色々覗けるように立てているlighttpdサーバーをfedora化したので立て直し。
yum -y install lighttpd でインストールして、
vi /etc/lighttpd/lighttpd.conf の中の、

server.document-root を書き換えて、
dir-listing.activate = "enable" のコメントをはずす。

dir-listing.activate に気づかなくて、mpwiiでフォルダ一覧が取得できなくて悩んだ。

sambaもインストールしたし、これで大体元通りかな?

次はmonoでもインストールしてみよう。

# by mestoph | 2008-08-10 18:21 | 玄箱

fedora化

debian化していた玄箱のHDDが残り10%を切っていたので、HDD乗せ換えがてらfedoar化してみた。

debianはどうもしっくりこないのと、EABIカーネルでxfsを使っていたのでバグが気になったのと、HDDのアクセス状態がなんとなく嫌だったからだ。

ぽちねっとさんとこを参考にして、Flashブートしようとしたら久しぶりすぎてやり方忘れてた。

NAS-centralの玄箱pro 情報を参考に、Flashのブートコマンドとnandbootを変更したりしたら動いたのでOK。
setenvするときに;(セミコロン)を¥でエスケープするのを忘れて挙動が怪しくなってみたりもした。

んで、ぽちねっとさんとこからパッケージを貰ってきて手順通りにやったら、特に悩むことなく完了した。
起動したら、スワップパーティションが出来てたので、swaponコマンドを入力してenableに。/dev/sda4に作られる、あまったHDDのパーティションを/mnt/disk1としてsamba用に設定。エレキジャックさんとこみたら、tune2fsで調整しないとHDDが無駄だということなので、tune2fs -m 2 /dev/sda4 として管理領域を2%にしておいた。

以前のHDDのXFSから、裸族の頭を使って新しいパーティションにデータを引越し。
と思ったらFedoraで認識しなかった。じゃあ、debianならいけるのかと思ってHDDを戻して再実験。どうやら認識にすごく時間がかかるだけみたい。fedoraでももしかしたらいけるのかも。

tar を使ってパーティションとかがなくならないように、引越し実行。完了するまで12時間くらいかかった(多分USBがボトルネック)けど、無事引越しできたみたい。

あとはyum -y updateでもしておけばOKっぽい

# by mestoph | 2008-08-10 18:17 | 玄箱

Vistaと玄箱

SambaをDebian化した玄箱で動かすと、Vistaからのエクスプローラ以外からのアクセスが激重い。

具体的に言うと、玄箱に音楽ファイルを置いてあるので、そこをVistaからネットワークドライブとして設定。
iTunesからその音楽ファイルをインポートしたり、タグの書き換えをしたり、ipodにデータを読み込んだりするとものすごい重さになる。

Windowsのエクスプローラからのアクセスだとそれほど重くないから、Sambaのせいではないと思うのだけど、気になったのでバージョンを上げてみた。

Etchだと3.0.24までしかないので、Unstableを導入。
libc6まで更新しなきゃならんので、結構ドキドキだったけど、結果的には動いてるっぽい。
順番にやっていくとapt-utilssとかaptitudeまで死ぬので、消しちゃった後にdpkg -iで足りないものを再インストール。
もうちょっと上手くやればdpkgを使わなくても済むと思う。

結果的に、samba 3.2.0にあがったけど、Vistaからのアクセスは早くなりませんでした(;´Д`)
NTLMの認証レベルをVistaで下げるんじゃなくて、Sambaでv2認証のみってやると早くなったりしないかなぁ・・・

# by mestoph | 2008-07-27 17:53 | 玄箱

windres その後

今日ぐぐるさんで検索してみたら,Meadow関連でよく話に出てるっぽかった.
-D__MINGW32__をつければいいらしい.
MeadowのDevelop メーリングリストのアーカイブから.

実験としてTomeをビルドしてみたら一発でいけたヽ(´ー`)ノ
話題自体は2002年のものだし,別にvistaだからどうこうという話ではないみたい.
gcc呼んでるだけだしね.

# by mestoph | 2008-07-13 15:22 | ToME

バグ修正

トメスレ3の993で,

993 名前:名@無@し 投稿日:2008/05/25(日) 21:24:42
トラップで装備入れ替え起ってセット装備になったとき、セット効果が乗らないのはバグなんだろうな・・・
ゴズモグのセットだから面倒クサス(・ω・`)

というのがあったので,なんとなく対応してみた.

あからさまにバグっぽかったので,本家にもバグ報告とパッチ投げてみたけど変な英語なので対応してもらえるかどうか・・・w

本家で取り入れてもらえたら直してリリースしようかな。
階段が会談になってたとかも直したし!

# by mestoph | 2008-07-13 12:06 | ToME

windres

OS を vista に変えたら, ToME のビルドでメニューバーが化け化けになってしまった.
何かインストールし忘れているのかもしれないけど, とりあえずリリースしてしまいたいので, Windows SDK for Vista をインストールして付属の rc を使ってリソースをコンパイル.

src フォルダにて,
> rc angband
> windres angband.res -O coff -o angband.coff
> mv angband.coff angband.res
でビルドできる.
ほんとはwindres 1発でいけるといいんだけど, 何か足りないんだよなあ.

# by mestoph | 2008-04-29 02:12 | ToME

AutoPagerize

swdyh
いろんなサイトにページャー機能を追加するぐりもんスクリプト
作ろうと思ってたら、既にあった(;´Д`)
自分で車輪の再発明をするよりもこっちのがすごいのでこっちを使うことに

# by mestoph | 2007-12-06 21:02 | コンピュータ

ヤフオクのマイオークションの値上がりを視覚的に確認する

greasemonkey スクリプト
エキサイトブログはファイルのアップロードができないので、使う場合はコピペしてください。
どっか移住すっかなぁ。
マイオークションの1ページ目に表示しているアイテムが、前回表示していた時と値段が変わっていたらオレンジ色に変化します。
不具合があったらコメントで。

<blockquote>
// ==UserScript==
// @name yahoo auction watchlist coloring
// @namespace http://mestoph.exblog.jp/
// @description This script compares current yahoo auction watchlist with saved one
// @include http://openwatchlist*.auctions.yahoo.co.jp/jp/show/mystatus?select=watchlist*watchclosed=0*
// ==/UserScript==
(function(){
var urlarray2 = {};
window.addEventListener('load',function(){
var urlarray = {};
//load pastlist value into assoc-array
var pastList = GM_getValue('pastlist');
var pastArray = pastList.split(';');
var index=0;
while(pastArray[index] != undefined){
var url = pastArray[index++];
var price = pastArray[index++];
urlarray[url] = price;
}

//save document value into about:config
var small = document.getElementsByTagName('SMALL')[22]; //"選択"というセルからスタート
var tbody=small.parentNode.parentNode.parentNode;
var urlcell_num = 0;
var pricecell_num = 0;
//search url cell
var titlerow = tbody.rows[0];
for(var i= 0; i<titlerow.cells.length;i++){
var candiate = titlerow.cells[i].firstChild.firstChild.firstChild;
if((candiate.childNodes.length != 0) && (candiate.nodeName == 'A')){
pricecell_num = i;
urlcell_num = i-1;
break;
}
}
GM_log('urlcell num:'+urlcell_num);
GM_log('pricecell num:'+pricecell_num);

for(var i = 1; i<tbody.rows.length;i++){
var row = tbody.rows[i];
var urlcell = row.cells[urlcell_num];
if(urlcell.firstChild.nodeName != 'A'){ //強調の場合更に子を取る
urlcell = urlcell.firstChild;
}
var url = urlcell.firstChild.href;
var pricecell = row.cells[pricecell_num];
var price = pricecell.firstChild.firstChild.nodeValue;
price = price.replace(",",""); // カンマをはずす
price = price.match(/\d+/g); // 円をはずす
GM_log(url+":"+urlarray[url]);

if(urlarray[url] != price){ // getValueのものと値が違えばセルの色を変える
pricecell.setAttribute('bgcolor','orange');
}
urlarray2[url] = price; // 連想配列更新
}


},false);
window.addEventListener('unload',function(){
var urlstring = ""; // urlarray2をsetValueで保存する
for(var val in urlarray2){
urlstring += val+ ';';
urlstring += urlarray2[val] + ';';
}
GM_setValue('pastlist',urlstring);
GM_log("setvalue string:"+urlstring);
},false);
})();
</blockquote>

# by mestoph | 2007-12-06 20:53 | コンピュータ

javascriptの連想配列

http://slashdot.jp/~aoki_taichi/journal/335896
連想配列をjavascriptで使おうとした場合、web上の情報として、
var arr = new Array();
とするところと、
var arr = new Object();

とするところがある。

Arrayオブジェクトとして宣言した場合には配列として扱われるので、Arrayクラスのメソッドが使用可能だが、Objectオブジェクトとして宣言した場合には、構造体のようなものとして扱われるので、Arrayクラスのメソッドは使用できない。
が、Objectのほうが都合がいいこともしばしばあるので、意識して使い分けたほうがいいのかも。

# by mestoph | 2007-12-02 18:01 | コンピュータ

< 前のページ 次のページ >