[an error occurred while processing this directive]

だめちゅんにっき

4月1日(木)

理奈ザウにっき(4)

4GBのマイクロドライブ理奈ザウのストレージをどうするか、という問題でしばらく悩んでいました。

理奈ザウにっき(2)で書いた通り、理奈ザウは手軽なアニメ視聴環境として、重宝しているわけです。最初に買ったのは、256MBのSDカードでした。これには DivX で圧縮した30分のアニメが2本入るわけですが、全然足りないでしょう。

例に漏れずあれをゲットすべくAmazonを毎日チェックしておりました。長かったです。

途中あきらめて、HPC-SD512T(SDメモリーカード 512MB)とか、HPC-CF1GV(コンパクトフラッシュ1GB)を買ってしまいそうになりました。どっちも2万円ちょいで、市価よりも Amazon のほうが安いので、ころっといきそうでしたが我慢しました。

そしてついに昨日Creative NOMAD MuVo2 4GB が入荷してました→ので 1-Click。いえい!

この不憫なMP3プレイヤーは、現在 4GBのマイクロドライブを最も安価に入手する方法であるがために売れまくっています。4GBのマイクロドライブって、調べてみたら6万半ば〜7万後半なんていう高価な代物なのですが、MuVo2 の市価は最安24800円(なかなか買えないみたいだけど)。Amazon では29190円です。

分解されるために買われるかわいそうなプレイヤーなのですが、うちは余っているCFカードを内蔵させて生かしてあげる予定ではいます。

こうやって iPod mini のワールドワイド展開が遅れていくのですね!

3/31 @785

ココア図書館 #03 - 決められた幅に収まるようにフォントサイズを調整する

ココア図書館CV:斎藤千和で人里離れた山の奥にある小さなサイト。そこにはゆかり姫ラブな管理人と、女医ハック狂いの管理人と、Cocoa の勉強を始めた管理人がいるのです(←もう3回目)。

HackENT で表示される文字列のフォントサイズはまちまちです。例えば、次のような感じです。

これは、決められた幅(この例の場合、ウィンドウの横幅)に対して、はみ出さないようにフォントサイズを調整して描画しているからです。歌詞の行のうちで、最大の長さのものが、折り返さないで画面内に表示できるようにフォントサイズを変えてやるわけです。

上記の例は、曲名表示のスクリーンショットですが、歌詞の表示にもこれは当てはまります。

「ええと、歌詞のなかで一番長い行が何文字だから…、フォントサイズこれだったら画面に収まるかなぁ?」みたいなことを、データ作成者が考えなくてもいいようにしたかったからです。見やすさのためには、できるかぎり大きな文字で表示したいけど、フォントサイズの制御はユーザには意識させないようにという思想です。

あまりいいネタではないですが、また使いそうなので、ここに記しておきます。NSString の sizeWithAttributes を用いて、描画する際の幅を算出しています。

#03 - 決められた幅に収まるようにフォントサイズを調整する
- (float) adjustFontSize:(NSString *)writeStr
           withAttribute:(NSMutableDictionary *)fontAttribute maxWidth:(float)maxWidth
/*
    writeStr : 描画する文字列
    fontAttribute :  フォント属性
    maxWidth : 文字列をおさめたい横方向のサイズ
*/
{
    /* フォントサイズを取り出す */
    float fontSize = [[fontAttribute objectForKey:@"NSFontAttributeName"] pointSize] / 10;
    /* 指定したフォント属性で文字列を描画したときの幅を求める */
    float strWidth = [writeStr sizeWithAttributes:fontAttribute].width;

    /* 書いてみたら決められた幅からはみ出してしまうとき */
    if( strWidth > maxWidth ){
        /* フォントサイズの補正 */
        fontSize *= maxWidth / strWidth;
    }
    return( fontSize );
}

といった感じで、strWidth(描画しようとしている文字列の幅)が、maxWidth(収めたい幅)を超えたときに、フォントサイズを小さくして対応しようというものです。

引数の fontAttribute は例えば以下のように設定します。

    [fontAttribute setObject:[NSFont fontWithName:@"Osaka" size:64] forKey:NSFontAttributeName];

Osaka の 64 ポイントで描画したときに 1280 ピクセルの幅になってしまうような文字列があったとして、それを 640 ピクセルに収めたければ、フォントサイズを(640/1280)倍してやればいいという理屈ですね。説明するまでもないか。

亜流としてフォントサイズを変えないで、NSAffineTransform で、アフィン変換をかけるという手もあります。

    NSAffineTransform *scaleMatrix;

    scaleMatrix = [NSAffineTransform transform];
    [scaleMatrix scaleXBy:maxWidth / strWidth yBy:1.0];
    [scaleMatrix concat];

こんな風にしておけば、フォントの横方向を縮めて、縦長文字で描画してくれますよね。drawAtPoint で実際に描画するポイントもアフィン変換されることに気をつけておきます。

もうひとつ気をつけることがあって「アフィン変換」じゃなくて、「あひーっ!変換」をすると、描画しようとする文字列はおかしくなってしまうでよ。あひーっ!(←もうやめたほうがいいてすかね)

4/1 @300

4月5日(月)

理奈ザウにっき(5)

Creative NOMAD MuVo2 4GB キター!

速攻で分解されたー!

理奈ザウが 4GB になったー!

いえーい!

ちゅうわけで、理奈ザウにっき(4)で書いていた通り、ついに理奈ザウストレージの大容量化を敢行。CFカード合計、3999424KB と表示されています。なんかグラフがパーセンテージ表記なので直感的にはわかりにくいですが、一気に 4GB になりました。

ちなみに理奈ザウは CF のフォーマットの GUI がないので、ターミナルから次のようにしました。

    #umount /dev/hda1
    #mkfs.msdos /dev/hda1
    #mount /dev/hda1 /mnt/cf

この不憫なCreative NOMAD MuVo2には、手もちの CF を入れて生かしてあげようと思ったのですが、どうやらこの MuVo2、認識するCFがかなり少ないのだそうで、残念ながらうちにあったハギワラシスコム256MBは認識してくれませんでした。もったいない。

てゆか、この MuVo2 はインタフェースがよくないです。4GB もあったら、その中から曲をサーチするための方法には本当にこだわらなくてはならないはず。だけど、操作性はシリコンオーディオのそれを脱却していません。

初代と2代目の iPodのインタフェースを体験しているけど、iPod mini はさらにシンプルになり、こなれていると感じます。聴きたい曲を探し出す、という点で iPod には到底勝てそうもないと思いました。

4/4 @719

4月8日(木)

PEACHY CHERRY PIE - 田村ゆかり

PEACHY CHERRY PIE良すぎて死ぬつ、つつつつ、ついに!発売されましたよ!87分にわたる至福の時。田村ゆかり『Peachy Cherry Pie』。

ふぁーすとらいぶ 蒼空に揺れる蜜月の小舟。

なんといっても「ふぁーすとらいぶ 蒼空に揺れる蜜月の小舟。」の模様を中心に構成された内容がうれしいです。観てると昨年末の ZEPP TOKYO の様子が鮮明に脳裏に浮かんできます(その時の日記こつら「田村ゆかり*ふぁーすとらいぶ〜蒼空に揺れる蜜月の小舟。〜(これまた年末の話)」)。

DVD ではその時の模様を端折りながらですが 14 曲収録してます。中でも大好きな『HONEY MOON』の映像が入っててくれてめちゃめちゃうれしかったす。

そんなわけで何も考えずRecします。既に配信済みの女医ハックデータを映像付きに差し替えです。がそさん@やまなこわのおかげで、コール込みでカラオケ化できました。

HONEY MOON1HONEY MOON2

ちくしょう、早く歌いてー!今、歌いてー!

BSデジタルチューナの機能を使って『激★店』の代引きで買ってみました。残念ながらサイン入りは当たらなかったけども、激★店向け特典でもう一枚生写真がついてきました。こつら(左が通常の初回特典、右が激店の)。

PEACHY CHERRY PIE

ちなみに激★店ゲストのときの様子はこつら「激★店のゆかり姫(18日深夜1:00放送分)」。

代引きで頼んでいたからずっと受け取れないのじゃないかと心配していました。だけど、昨日は大寝坊してしまって、配達の人のチャイムで目覚めました。運命的な何かを感じます。

当然、仕事は大遅刻だけども、『HONEY MOON』映像見ないで出勤なんて無理じゃないですか。一度見たら何回かリピートしたくなるじゃないですか。DivXにして理奈ザウで見たくなるじゃないですか。職場でリッピング&エンコーディングしたくなるじゃないですか。仕事中は脳内再生したくなるじゃないですか。時々、『HONEY MOON』の歌詞を口にしちゃって、隣の席の同僚がそわそわしたりするじゃないですか。

ねえ?

4/7 @839

2004年3月下旬のだめちゅんにっき