Visual Studio Professional with MSDN Premium納品。早い。とりあえずOffice 2010 Betaを入れてみた。ついにOfficeも64bitか,ってMSDNの意味ないじゃん,みたいな。

恒例のdenasu忘年会12周年。恒例といいつつ参加は5年ぶりくらいだが,ITの発達のお陰で遠隔飲み会ができる時代となった。来年は是非全員オンラインでゆっくり音声合成でやりましょう。

MSDN更新案内がくる。「今ならITバリューアップキャンペーンでお徳! 今すぐここにアクセス!」とかいう怪しいDMが入っていたので騙されて申し込んでみた。今までProfessionalだったのが,Premiumに変わって年間換算で+2万くらい。これでOfficeもExpressionもServer類も手に入るってことで。Visual Studio 2010が出ればTeam Foundation Serverも付いてくるらしいのでお徳,なのか? 今まで個人でPremium入ってた人はあんまりいないような気がするがこのキャンペーンで結構増えるような気がしないでもない。

Visual Studio 2010で遊んでいるのだが,C++0xに一部対応ってことでいろいろ面白いことができるようになっている。個人的にはクロージャのサポートとか正規表現の標準ライブラリ化とかメルセンヌツイスターの乱数発生とかが嬉しいところ。

なんかC++もC#もJavaもお互いに機能を取り入れまくっていて,よく似た言語が3つできあがっているだけのような気が・・・。それでいてヌルポはnullじゃなくてnullptrになってたりして意味が分からない。

# と思ったらregexなんかはVS2008 SP1からあるんですね。SPで機能が追加されるとは・・・。

外に出るのはめんどくさい,ということでDenasu忘年会はオンライン開催を提案。したのだが,私だけオンラインですか。まあいいですけど。てことでぱじ氏にWebカメラを買わせてみた。MSN Messangerで実験してみたが,まあまあいい感じ。何故か音が出なかったので本番までには解決しとかないと。1人ディナーの献立も考えないといけないし忙しいですね。

しばらくどのソフトも公式リリースはなさそうなのでVisual Studio 2010β2に移行してみた。WPFベースでデザイン一新に見えて色変わっただけ? みたいな。C++のインテリセンスとか編集中に波線が付くとかC#のインテリセンスに少しだけ近づいた感じか。ところでF#って何ですか?

楽譜描画。今までウェザタイ同様,DirectDrawで音符の画像を作って描画していたのだが,それだと連符や連桁の斜め線を描画するのが難しい。角度とか…。で,試しにGetDCしてGDIで描画してみたのだが,やっぱり線がギザギザして格好悪い。何かいい方法ないかなあ,ってことでいろいろ探した結果,DirectGraphics 9のID3DXLineを使うことにした。ID3DXLineにはアンチエイリアシング機能があるので良い感じの線を描ける。

で,これを使うにはDirectDrawベースじゃなくてDirect3Dベースにする必要があり大改造なのだが,こんなこともあろうかと描画ロジックを分離して作っていたおかげで2D→3Dへの移行は案外すんなり完了。結局DirectDrawのBltFastを使う描画ロジックとDirect3DのID3DXSpriteを使う描画ロジックを切り替えられるようになった。

これをウェザタイに逆輸入すればウェザタイ3D版ができていろいろなエフェクトが使えるわけだが,今更やろうとは思わないだろうなあ。

「テトリスを1時間強で作ってみた」動画が面白かった。「弾いてみた」とか「描いてみた」とかを見てるとそればっかりやってる人はやっぱりすごいんですね的なことがよく分かるので,誰かプログラマバージョン作らないかなあ,とか思ってたので興味深い。この,ちょっと作って動かして,を繰り返して段々形ができていく面白さがちゃんと伝わるようになっているのがいいですね。

現在メインマシンはWindows 7英語版なのだが,ウェザタイのオプション画面を開くと明らかに日本語版とデザインが違う。何でか不思議だったが,とりあえず原因判明。プロパティシートは,外側(フレームとタブ)と内側(ラベルとかがあるところ)で分かれているが,外側はWindowsが持ってるダイアログテンプレートをベースにしているのでシステムフォントになり,内側はリソースエディタで設定したフォントになり,食い違っている。例えば外側は英語版ではMS Shell Dlg,日本語版ではMS UI Gothicになったりするわけで,当然DLUが変わり,フレームの大きさが中身に比べて小さすぎたり大きすぎたりすることになる。

プロパティシートのコールバックでPSCB_PRECREATEを受け取ったときにダイアログテンプレートのフォント名をメモリ上で無理矢理書き換えればフォントを変えられそうだが,フォント名が同じ長さじゃないとダメだったりするし,今のところ解決策なし。

2007/03/08の日記に,VistaでHDDのパーティション容量を小さくする機能が「ボリュームの圧縮」というメニューになっていて誤訳だろう,って書いてたんだけど,Windows 7では「ボリュームの縮小」になっているらしい。これならなんとか分かりますね。ちなみに英語版では「Shrink Volume」になっていてより直感的。

Expression Studio 3日本語版発売。英語版を買おうと思ったらダウンロード販売の住所に「Japan」がなかったので日本語版まで待ってみた。Expression 2のときは,結局Expression Designをドローツール代わりにしか使ってなかったのだが,そろそろSilverlightも機能が充実してきたので何か作ってみようかな。ってことで読書中。

Windows 7が発売されたのに合わせて,ようやくWindows 7 Media Center対応の地デジチューナが発売され始めてきた。今手元のテレビ環境は,サブノートにI-O DATA GV-MC/TZをつないでVista Media Centerでアナログで見ている。まだアナログかよ,って感じなので,Media Centerに対応した地デジチューナを待っていたのだが,I-O DATAからWindows 7対応のUSB地デジチューナ「GV-MC7/VZ」が発売されたので,早速使ってみた。

動作環境的に微妙に外れているので動かないかも的な感じはあったが,結局,サブノートでの動作は動くけどかなり重い,メインノートは動かない,だった。うちの環境はここにある通り。メインノートの方は,「ディスプレイドライバーのエラー:このビデオ再生デバイスでは、保護されたコンテンツの再生はサポートされていません。」(英語版なので英語で出るけど多分このメッセージ)が出る。グラフィックカードはGeForce go 7950 GTXでHDCP対応だと思うんだけど,何でかな。

使い勝手としては,元々VistaのMedia Centerの使い勝手が最高だったので,相変わらず使いやすい。


開発的にはMIDIの楽譜化が大分できてきた。楽譜化ができて1/3くらいなので完成はまだまだ先。ぱじさんの新脱出ゲーの方が完成は早いかも。

Weather Typing,World TesterをWindows 7で評価。評価結果は問題なかったのでそれぞれのページの対象OSにWindows 7を追加した。が,評価していてWeather Typingのバグを発見し,結局Ver. 2.2.2にリビジョンアップ。修正したのは以下の3つ。3つ目は以前掲示板でzaqさんから報告があった件。

  • リプレイファイルを拡張子に関連づけて起動すると,WeatherTypingの設定が初期化される問題を修正
  • ロビー,2回目に起動すると初回起動時のチャットログファイルが「_old」にリネームされてしまう問題を修正
  • ロビー,ファイル選択ダイアログを開いていると,チャットログがダイアログで開いているパスからの相対パスに出力される問題を修正

今回,検証にVMWareを使ってみた。World Testerの検証にはDirect3Dが必要なのでVirtualPCではダメ。てことでDirect3DをサポートしたVMWare6.5を使ったわけだが,それなりに動いた。WDDMではないのでAeroは動かないが検証には十分使える感じ。Aeroサポートという噂のVMWare7からは本格的に使ってみようかな。

で,今後旧OSの環境を作ったときにWindows Updateが終了してたら困るので,Windows Server 2008 R2にWSUS 3.0 SP2を入れてみた。2000/XP/2003/Vista/2008/7の全てのセキュリティアップデートと重要な更新をダウンロードしたらだいたい9GB程度。このくらいなら持っておいてもいいか,って感じ。

Norton Anti Virus 2010のβの期限が切れた。どうしようかと思っていたが,英語版は既に製品版がリリースされているのでインストールしてみた。とりあえずWindows 7 64版でちゃんと動いている。

そろそろDenasuのソフトもWindows 7でちゃんと評価しないと一般リリースされてしまう・・・。

日本の終焉を記念して,パソコンデスクとチェアを購入。引っ越してからずっとテーブル生活だったが,ついに椅子生活に。いろいろネットで検索したところ,2日で届くという口車に乗せらせてgarageで通販。fantoniのデスクとsteelcaseの椅子を購入。近所のきっしーを呼びたくなるくらい組み立てが大変だったが,使用感はかなり満足。

# 書くことがなくなって普通の日記を書いているように見えるが,パソコンデスクなので一応プログラマ日記からは逸脱してないってことで。

なんか特命があったのでVHDブートとXP Modeを試してみたのでメモ。

VHDブートはWindows 7かWindows 2008 R2のバーチャルHDをbcdeditでマウントさせてブートする機能。ということで誰でも考えそうな,XP+Windows 7のマルチブートVHDを使ってみた。結果はダメ。ブートローダが壊れていると判定されて勝手に修復されてしまう。結局ブートローダだけじゃなくてOSそのものがVHD起動に対応してないとだめってことで。

XP Modeは,仮想XPにインストールしたアプリケーションがスタートメニューに表示されて,Windows 7の中にXPのウィンドウ(デスクトップではなくアプリケーションウィンドウだけ)が表示される感じの機能。Virtual ServerみたくバックグラウンドでXPが動いていて,そこにリモートデスクトップのもう少し洗練されたリモートウィンドウみたいな感じで接続して使う。何が「アプリケーション」なのかは,新しく追加されたスタートメニュー項目から持ってきてるみたいで,単純に考えるとWindows Installer前提なのかな? インストーラのないウェザタイは試せないのか。

見た感じ,XP Modeを新搭載しました,というよりVirtual PCが新しくなりましたという印象。USBがサポートされたのはいいんだけど,3Dは未対応。


8/12に書いていたWindows 7でDVD再生が重い件,他のDVDプレイヤーだと普通に見えるので,Media Playerがおかしいっぽい。でも検索しても同じ症状の人もいないし,なんだろう。


来週の衆議院選挙。ネットを使える層と使えない層で意見が真っ二つなのが興味深い。もう少しネットの普及が進んでいればよかったけど,ちょっと間に合いませんでした,って感じですかね。

Windows 7の日本語版が提供されたのでインストール。Weather Typing/World Testerの検証を開始。とりあえずざっと試した感じはうまく動いている。英語版をLanguage Packで日本語化したものだと,何故かロビーのボタンのテキストがボタンからはみだしていたのだが,日本語版は問題なかった。

2日間Windows 7を使ってみて分かったことなど。

  • もう一個のノートにWindows 7 32bit版を入れてみた。だいたいOKだが,Norton AntiVirusがSymantec Heuristicsドライバの互換性でブロックされ,使用できなかった。64bitはOKだったので,32bitだけの問題なのか,64bitで使えることが危険なのか,マシンとの相性なのか,分からない。とりあえずNotron AntiVirus 2010 betaを入れることに。
  • DVDをMedia Playerで再生してみると妙に重い。こっちは逆に64bitだけ。2つあるDVDドライブの両方ともだめなのでグラボか何かかなあ。

  • 標準添付ソフトのMath Input Panel。手書きした数式を認識して組版?してくれる。マウスだと無理があるけど面白い。
  • VHDをドライブにマウントできるようになっている。VHDはVirtual PCで使われているハードディスクイメージ。どういう使い方をするかというと,OSをインストールしたVHDをファイルとして置いておいて,起動したくなったらbcdeditでブートドライブに指定して起動。これで,仮想PCのように気軽にイメージを切り替えたりスナップショットをとったりできる上で,ゴーストのように物理PCの性能をフルに使える。これは革命的!と思ったけど,ゲストOSとして使えるのはWindows 7とWindows Server 2008 R2だけらしい。残念。
  • PowerShellが標準で付いている。これは本気でコマンドプロンプトを消し去ろうとしているのか。というかPowerShellは気になりつつ使ったことはなかったけど,折角標準添付だし,使ってみよう。

Windows 7上で開発環境を揃える。Windows SDKやDirectX SDKを最新にしてみたのだが,DirectXのSDKのincludeをWindows 7用のWindows SDKより優先度高くしているとビルドが通らない。とりあえずWindows SDKを優先しておくしかないのかなあ。で次にDirect PlayとDirect MusicのCLSID定義がなくてリンクが通らない。最新のdxguid.libには入っていないようなのでこんな感じで自分でlibに入れることに。_WIN64になってるのは64bit用のDirectX SDKにそもそもDirect Musicがないため。

#define INITGUID
#include <Dplay8.h>
#ifndef _WIN64
#include <dmusici.h>
#endif

Windows 7正式版がMSDNでダウンロードできるようになったのでインストールしてみる。とりあえず英語版だけだが,同時にLanguage Packもリリースされているので,これも入れるといい感じになるのだろうか。

ダウンロードについて。いつものMicrosoft File Transfer Managerで落とし始めるが,少し遅い。で,代替サイトというリンクをたどると,以前使いづらいと書いていたAkamaiダウンロードマネージャが起動。こっちは並列ダウンロードになってて早い。これって前は途中で回線が切れたら最初からやり直しでダメソフトだと思ってたけど,回線が速くなってから使ってみると,2Gで20分なら別にいいか,とも思える。

インストール。とりあえず64でしょ,ってことでWindows 7 Ultimate x64でインストール。βのときもそうだったが,インストール時に無線LANが使えるようになって,その後Windows Updateするとドライバが全部入った。このままではUIが英語なので,続いてLanguage Packを入れようかと思ったが,そのままでも日本語フォント入ってるし,日本語キーボード使えるし,ATOK 2009使えるし,何も問題なさそうなのでこのままにしておこう。

ウィルス対策。Nortonは,公式サイトにWindows 7が出たら自動アップデートを展開するよ,ってな感じのことを書いてあるのでNorton Anti Virus 2009を入れておく。

βのときは休止から復旧するとものすごく不安定になっていたのが大丈夫だとかベタの壁紙がやっぱりなくなったとかいろいろあるが,今夜から本格的に試してみよう。

最近MIDIファイルの読み込みと再生を実装していたのだが,ウェザタイと同じように,60fpsごとにそれまでに出さなければならなかった音を出すという形にするとかなり重い。これに描画とMIDI inの処理を入れると相当なスペックを要求するソフトになってしまう。普通のMIDIプレイヤーってどうやってるんだろう。

で,MIDIファイル読み込みはだいたいできたので,とりあえずいろんなMIDIファイルを入力してみたが,どうしても解析に失敗するMIDIファイルがある。調べてみるとどうもメタイベントのあと,メタイベントの前のランニングステータスを引き継ぐ前提で作られているらしい。つまり1.MIDIイベント-2.メタイベント-3.MIDIイベントで,3の部分で1のランニングステータスを引き継いでいる。MIDIファイルの規格書を見てみても「メタイベントはランニングステータスをキャンセルするしランニングステータスは適用されない」としか書いてないのでどっちだかいまいち分からない。まあそういうシーケンサがあるんだから対応しろってことだろうけど。

物理の時もそうだったけど,勉強しながら開発するから進みが遅い。もう少し形ができてきたら,音楽に詳しいはっぱさんやまっちーさんに協力を依頼するかな。

一応流し読みしているタイピングスレで出ていたのだが,Weather TypingでJISかなを選んでいると「ヵヶヮ」が打てないという話。全然気付かなかった・・・。でもかな入力の仕様的に直すのは無理なんじゃないのか。とりあえず他にないか探してみよう。

掲示板の話。バグを利用して無理矢理他プレイヤーに攻撃を与える感じのデータドレイン(?)が確立されたのかと思った。もげぇはあらし対策機能は皆無なので仕方がない。1時間遊んでクリアして終わりみたいな使い方しか想定していなかったからなあ。

TOEICを受けてきた。答え合わせにTOEICスレを見ていたのだが,TOEICをネイティブが受けたら・・・っていうTOEICを日本語訳した動画の話が出ていた。で見てみると,日本語だとものすごく物足りないというか,選択肢を読もうとしなくても眺めるだけで頭に入るのを実感する。本とか見てても英語ではいちいち読んでいかないと内容が把握できないけど,日本語だと眺めるだけでだいたい何が書いてあるのか把握できそうな気がするというか,洋書コーナーでは本を見つけづらいというか,そんな感じ。ずっと日本語で暮らしている人とずっと英語で暮らしている人では相当ニューロンの接続が違うんですね,ということで無理矢理サイエンス的な話にしておく。


そうそう。ぱじさんがサーバを増強するので近い内にサーバを落とすとか言っていたのでよろしくお願い致します。

5月がスキップされると面倒なので何か書いておかないと。とりえあず来週のTOEICに向けて英語の勉強とかやっててプログラム的なものは何もやっていない。

長いこと日記を放っておいたのだが,そろそろ復帰。


とりあえず現状。ぱじさんの方は脱出ゲーム制作を進めているらしくFlashの何かに出したいとか間に合わないとか言ってる感じ。で,私の方では新たなキーボード練習ソフト制作を進めている。いろいろあってなかなか進まなかったが,そろそろ本腰を入れようかというところ。

八分音符をつなげたりタイ記号を斜めにするのが難しいよね。ってことで,PCのキーボードではないことを一応断っといた方がいいのか。

一段落。年金とかに詳しくなって帰ってきた。

しばらく不在になりますのであとよろしく>ぱじさん

ここ1ヶ月でいろいろあって日記も書けなかったのだが,各掲示板で波紋を呼んでいるらしいので,そろそろ書いておく。逆襲のもげぇたんについては,多分短くて数ヶ月とか,長くて1年とかで公開停止して次のゲームを公開する形になると思う。メインで作ってるぱじさんのモチベーション次第だが。公開停止の理由としては,サーバの負荷軽減が主な理由だが,もう一つ,もげぇたんは実験作でいろいろ問題もあるので,ずっと公開しておくのも考え物っていうのもある。

逆襲のもげぇたんは,協力プレイ前提の脱出ゲーム第1弾ということで,とりあえず運営してみようか,ってことで見切り発射で公開した。で,1部屋に300人以上入ってきてゲームにならなかったり,サーバが負荷で落ちたり,ゲームの性格上常連はないだろうと思ってたら何故かチャット場になったりといろんな反省点が出てきた。で,これらの反省点を活かした上で次回作を,ってのが今の状況。とりあえずぱじさんの構想次第だが,次回作もチャットやネット協力プレイは存続すると思う。


にしてもセキュリティエラーはどうにかならないのかな。とりあえず誰か環境を教えてくれる人が現れれば少しは前に進めるのだが…。

もげぇプロジェクトでサーバ負荷が限界を超えて以来,ぱじさんが新サーバ計画を進めていたのだが,ようやく入れ替え完了。掲示板に書いているが,もげぇサーバは最初古いサーバを起動してしまった。次回のためにメモしておくと,ウェザタイロビーともげぇサーバは同じソースなのだが,ウェザタイは安定しているのでしばらくビルドし直していない。もげぇは部屋ランダム選択機能とか増やしているのでソースが新しくなっている。そのため今回のようにウェザタイのバイナリをそのまま使うともげぇのバイナリが古くなってしまうので部屋ランダム選択機能とかがなくなってしまう。

で,障害だったので珍しくもげぇに管理側としてログインしてみた。0番部屋とか都市伝説ができてたりするのが面白い。そろそろ次回作を,って感じなのだが,とりあえずぱじさんはシステムの改善をやってるらしいって段階なのでまだまだ先。

ぱじ氏がFlash CS4遅すぎってことで新PCを購入。Vista x64を買って自分で入れたらしいのだが,指摘するまでAeroを有効にしてなかった。PCプレインストールだと最初からAero有効になっているが,自分で入れた人は結構Aero有効にしてない人多かったりして。その状態だとXPにすら劣る性能しか出ないので注意が必要。