2007/01/16(火) [n年前の日記]
#1 [iappli] もう一つの参考ソースを編集中。
画像等も一緒に入っていた参考ソースだったので、実際動かせるところまで持っていくことができそう。
画像結合スクリプトも同梱されていたけれど、サウンドデータの結合に関してどのようなスクリプトを使っているのか判らず。そもそも .mld で届くのか、それともフォーマットを決めた状態で、結合ファイルが届くのか。仮に、.mld が届いた場合、結合スクリプトをまた作らないといけないのは面倒なので、今まで使ってた自前の結合スクリプト&自分で決めた結合データフォーマットを使うことに。自分で決めたフォーマットなら、結合ファイル中に各データの属性も入ってるから、テキストデータやマップデータをスクラッチパッドに追い出すこともできる。ただ、全部のデータファイルをまとめて結合しちゃうから、メッセージ文章を修正するだけで全データを再読み込みというアレなことにもなるんだけど。各データを配置するスクラッチパッドのアドレスを固定にしてないから仕方ない。固定にしたら、スクラッチパッド上に隙間ができてしまう = 使用メモリ量の無駄になるし。
ひとまず画像を表示するところまでは動いた。が、とんでもない画像が出てくる。…元々のソースが、画像の廃棄・ロードに関して、ちょっと変わった配置になっているらしい。一応そこまで修正してみるか…。それが終わったら、通信関係の処理内容を、もう一つのソースを参考にして検証してみないと。
画像結合スクリプトも同梱されていたけれど、サウンドデータの結合に関してどのようなスクリプトを使っているのか判らず。そもそも .mld で届くのか、それともフォーマットを決めた状態で、結合ファイルが届くのか。仮に、.mld が届いた場合、結合スクリプトをまた作らないといけないのは面倒なので、今まで使ってた自前の結合スクリプト&自分で決めた結合データフォーマットを使うことに。自分で決めたフォーマットなら、結合ファイル中に各データの属性も入ってるから、テキストデータやマップデータをスクラッチパッドに追い出すこともできる。ただ、全部のデータファイルをまとめて結合しちゃうから、メッセージ文章を修正するだけで全データを再読み込みというアレなことにもなるんだけど。各データを配置するスクラッチパッドのアドレスを固定にしてないから仕方ない。固定にしたら、スクラッチパッド上に隙間ができてしまう = 使用メモリ量の無駄になるし。
ひとまず画像を表示するところまでは動いた。が、とんでもない画像が出てくる。…元々のソースが、画像の廃棄・ロードに関して、ちょっと変わった配置になっているらしい。一応そこまで修正してみるか…。それが終わったら、通信関係の処理内容を、もう一つのソースを参考にして検証してみないと。
[ ツッコむ ]
#2 [windows] _TREE - ディレクトリ構成の表示
こんなコマンドがあったのか。知らなかった…。
[ ツッコむ ]
#3 [linux] knoppix機のFSBを75MHzから66MHzに戻した
FSB75MHzにしたせいなのか、サウンドが鳴らなくなってしまった…。KDEのコントロールセンターでサウンドのハードウェアに関してALSA等を選べば鳴るのだけど。自動認識・検出で失敗してしまうのかもしれん。ということで念のために FSB66MHzに戻した。
M/BのBIOS起動時、メモリカウントにおいて、時々引っ掛かる感じでカウントアップが止まるのも気になる。BISO設定で、メモリへのアクセスに"SPD"を選んだことで、起動時に「CL3って指定されてるけど、このメモリはCL2やで」とメッセージが出てくるようになったものだから、念のためにCL2を指定してみているのだけど。そのあたりが関係してるのだろうか。よくわからん。
M/BのBIOS起動時、メモリカウントにおいて、時々引っ掛かる感じでカウントアップが止まるのも気になる。BISO設定で、メモリへのアクセスに"SPD"を選んだことで、起動時に「CL3って指定されてるけど、このメモリはCL2やで」とメッセージが出てくるようになったものだから、念のためにCL2を指定してみているのだけど。そのあたりが関係してるのだろうか。よくわからん。
◎ RICOH MP-5240AでCD-Rは焼けた。 :
k3b で焼くことができた。
[ ツッコむ ]
#4 [iappli] _デュアルネットワークサービス | サービス・機能 | NTTドコモ
FOMA と mova 端末を切り換えて使うことができるサービス、らしい。以前某氏から教えてもらったのはたぶんコレだな…。バグチェック用端末を1つの契約で2台揃えることができそうなので、利用したいところ。
[ ツッコむ ]
#5 [prog] 画像一覧htmlを作成したい
元画像をそのままのサイズで、拡大も縮小もせず並べて、しかも各画像の横にでも画像サイズやらファイル名やらを列挙したい。…なんかiアプリに使った画像一覧が必要とかなんとかで。
そういう処理をするフリーソフトがどこかにあるだろう、これだけアルバムhtml作るソフトが溢れてんだから。と思って検索したものの。意外なことに、そういうものは無い。ベクターから数本DLして試してみたものの、無理矢理サムネイルを作るヤツとか、無理矢理サムネイルサイズに画像を拡大縮小するヤツとか、ファイルの画像サイズ等を何ら出力できないヤツとか。…しかも中には、インストールの際に半角カタカナで、「スタートアップ」なんて項目をスタートメニュー内に作るヤツまで居て。お前はいつの時代のソフトだ。Win3.1用か。
ということで、PerlMagick を使って一覧htmlを出力するスクリプトを作ってしまえ、みたいな。
と思ったが、use Image::Magick; でエラーが。うーむ。
そういう処理をするフリーソフトがどこかにあるだろう、これだけアルバムhtml作るソフトが溢れてんだから。と思って検索したものの。意外なことに、そういうものは無い。ベクターから数本DLして試してみたものの、無理矢理サムネイルを作るヤツとか、無理矢理サムネイルサイズに画像を拡大縮小するヤツとか、ファイルの画像サイズ等を何ら出力できないヤツとか。…しかも中には、インストールの際に半角カタカナで、「スタートアップ」なんて項目をスタートメニュー内に作るヤツまで居て。お前はいつの時代のソフトだ。Win3.1用か。
ということで、PerlMagick を使って一覧htmlを出力するスクリプトを作ってしまえ、みたいな。
と思ったが、use Image::Magick; でエラーが。うーむ。
◎ _ImageMagickのQ8とQ16、dllとstaticの違い。 :
面倒くさいので再インストールすることにした。ImageMagick-6.3.1-7-Q16-windows-dll.exe をDL。…インストールしようとしたら、ActivePerl 5.8.8.819 云々と言ってくる。自分が入れてるのは 5.8.7.815 なんだが…。
◎ _「退かぬ! 媚びぬ! 省みぬ!」最新ActivePerlにPlaggerを入れる :
_nishi/Plagger - Radiofly
Plagger もいずれ入れたいと思ってるので、最新版 ActivePerl では苦労するというのはちょっと気になる話。ActivePerl 5.8.8 build 818 以降は苦労するのか…。とりあえず _「ActivePerl 5.8.8 build 819 Plagger」 で検索してそのうち。
Plagger もいずれ入れたいと思ってるので、最新版 ActivePerl では苦労するというのはちょっと気になる話。ActivePerl 5.8.8 build 818 以降は苦労するのか…。とりあえず _「ActivePerl 5.8.8 build 819 Plagger」 で検索してそのうち。
◎ ActivePerl と ImageMagick をインストールし直し。 :
以前のバージョンをアンインストールしてから。
ActivePerl-5.8.8.819-MSWin32-x86-267479.msi と ImageMagick-6.3.1-7-Q16-windows-dll.exe をDL。インストール。
ActivePerl-5.8.8.819-MSWin32-x86-267479.msi と ImageMagick-6.3.1-7-Q16-windows-dll.exe をDL。インストール。
◎ 画像一覧htmlを出力する Perlスクリプト。 :
こんな感じに。
#!/usr/bin/perl
#
# 画像一覧htmlを出力するperlスクリプト
# PerlMagick (ImageMagick)が必要。
use strict;
use Image::Magick;
# 読み込むディレクトリ
my $indir = ".";
# 出力ファイル名
my $outfilename = "index.html";
# 対象にするファイルの拡張子
my @extlist = ( '.gif', '.jpg', '.png' );
if ( $#ARGV != -1 && $#ARGV != 1 ) {
# 想定外のパラメータが渡されたので、ヘルプを表示して終わる
print "usage: makealbum.pl InputDir OutputHtmlFileName\n";
print "usage: makealbum.pl\n\n";
print "default InputDir : $indir\n";
print "default OutputHtmlFileName : $outfilename\n";
exit;
}
if ( $#ARGV == 1 ) {
# ディレクトリ名と出力ファイル名が指定されたらしいので変更
$indir = $ARGV[0]; # in directory
$outfilename = $ARGV[1]; # out filename
}
unless ( -e $indir ) {
print "Error : Not Found $indir\n";
exit;
}
if ( -f $indir ) {
print "Error : $indir is Not Directory.\n";
exit;
}
# 画像ファイル名を取得
my @filelist = ();
opendir(DH, $indir) || die "$indir : $!";
while (my $file = readdir DH) {
next if $file =~ /^\.{1,2}$/;
my $fg = 0;
foreach my $ext (@extlist) {
if ( $file =~ /$ext$/ ) {
$fg = 1;
}
}
next if $fg == 0;
push(@filelist, $file);
}
closedir(DH);
# 画像情報を取得
my @lines = ();
foreach my $fname (@filelist) {
my $img = Image::Magick->new;
$img->Read("$indir/$fname");
my ($w, $h, $sz) = $img->Get('width', 'height', 'filesize');
push(@lines, "$fname,$w,$h,$sz");
undef $img;
}
# 結果出力
open(OUT, "> $outfilename") || die "$outfilename : $!";
# html 先頭部を出力
print OUT <<EOM;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<style type="text/css">
<!--
td,th{
}
-->
</style>
</head>
<body>
<table border="1">
EOM
# html 画像部分を出力
foreach (@lines) {
my ($fn, $w, $h, $sz) = split(/,/, $_);
print OUT "<tr>";
print OUT qq(<td class="inimg"><img src="$fn" width=$w height=$h alt="$fn"><p>$fn : $w x $h , $sz byte</p></td>);
print OUT qq(<td class="incomment"></td>);
print OUT "</tr>\n";
}
# html 終了部分を出力
print OUT <<EOM;
</table>
</body>
</html>
EOM
close(OUT);
exit;
[ ツッコむ ]
以上、1 日分です。