1週間半ほど更新停止です(通算2週間ですね)。東京行ってきます。
今までいけない事に気付いてそれを捨てた。
でも、壁が現れてそれをこえるためには捨てたものを広う方が良い事に気付いた。
そして、再びそれを手に取った。
それで良いのだろうか?
していたら夜の3時。お風呂に入って寝ようと思ったら風呂場で鼻血出して目が覚めたので本を読んで寝た。翌朝起きたら12時。・・・なんだかな。
キーボードを打つ時手首をくっつけたままなのでそこの血行が悪くなりそう。という訳でタオルを敷いてみる。ん。まあまあ。
昨日からしているネタ。おかげでDllImportの使い方を覚えた(今まではコピペだった)。う~む。やっぱりC++/CLIの方が良いのかな。実はちょっと不具合があるので。
と思ったら、引数の順番が反対だった。シビアな世界です。
ワンポイントアドバイス、MCIのマクロ形式コマンド(?)は内部的にSendMessageをしていますが、そこの引数は後ろ側から埋まります。注意です。誰が必要とする情報なんだか・・・。
更にワンポイント「using HOGE =System.IntPtr;」とかって出来るみたい。
こことか、一つのお題で書いていますけど、時間的には1日の中でぽつぽつと書いています。そのため、自分で書いておいて突っ込みしてしまうわけですけど、MCIダメですね。今はもうDirectShowみたいです。色々と試しているのですが、動画が再生できなかったり、自動早送りになったり、色がにじんだり、音が出なかったり。ダメダメですね。
が、分からない。いや、どうしたものか。
というわけで、DLLを作成する事に・・・。大丈夫か?そんなコトするくらいだったら、C++/CLIとか使えばいいかも。でも、C++/CLI分からないからな。
半日かけてDLLを発見。いや、良かった良かった。
誰かどういう仕組みなっているのか教えて欲しい。すごく気になる。多分Application(メッセージ処理)とControl(メッセージ処理対象)を起点にして読めばどうにか・・・。いや、逆アセしたコードじゃ辛すぎる。それに私はWin32の表面しか知らない。Windowsの中身もちゃんと把握しないと。
この二つは微妙に挙動が違います。一番の違いは、データ保持の基準で、RECTは左上と右下の座標を保持します。Rectoangleは左上の座標と、大きさ(幅と高さ)を保持します。まあ、みんな普通に通り過ぎてしまうところですね。
ちなみにRectoangleのWidthやHeightにマイナスの値を設定すると、すんなり通って、結果が変な事になります(左上の座標よりも右下の座標の方が左上になったりする)。気をつけましょう。
「2006年本選」ではなく「2003年本選」でした。今の今まで気がつかなかった。
作成CGIを勉行がてら作成。意外と手こずった。google資料探しから、perlの文法まで。
実は一つかなり大きな妥協点があります。フォームの検索文字列文字コードはちゃんと設定通りにEUC-JPなどを出力しますが、文字コード変換がどうしても出来ずに一緒に表示されるサンプルの検索文字列文字コードは常にutf-8です。まあ、たいした問題ではないので公開です。
へたれですが、ソースコードが知りたい方は言って頂ければ差し上げます。
前半はちょっと忙しめです。後半はゆっくりしているかな。というわけで色々と頑張るかなと考えています。特にDirect3Dを色々を調節しないと。例外とか、解説とか、2005に対応とか。そうそう、組み合わせを考えると次のようになりますね。
私としてはVS2005+DirectX2.0をやっていくべきだと思うのですが、まだ微妙そうな部分があるので・・・。あ、DirectDrawもどうにかしないと。画像の読み込みくらい作らないと。
512MBを1024MGプラスして1536MB。.Net系はメモリ沢山食べますからね。どうにかして、.Netのメモリ食いを止められないものか。
をしっかりと作り直しました。XHTMLとしては98点(某所にて評価)。使い所がよく分からないものですが、要望があれば機能付け足したりしてみるかもしれません。
生成物のページで公開中。
友人がまた1人サイトを開いたようです。後でちゃんとリンクをつけなきゃ。
私の友人だと思う人は掲示板に書き込んでくれたらリンク貼ります。って、ここを読んでいる友人は果たしているのか?それが問題だ。
公開します。特徴を述べますと
生成物のページで公開中。
昔作ったアプリです。DirectShowを使って動画を再生。そこのデータを半透明ウィンドウにフレームレートと同じ回数描画します。
結構面白い作品に仕上がっています。実用性はほとんどないです。
CodeZineに解説が載っています。
生成物のページで公開中。
ここを更新するためにはどうしてもパソコンをつけなければならないのにパソコンをつけられない日や、パソコンをつけたくない日があります。
昨日は地元神社のお祭りに行って来ました。もっぱら友人とぷよぷよフィーバー2をしていました。昔64でぷよぷよはした事があったのですが、フィーバーモードは慣れるまで辛かった。友人にぼこぼこでした。
当たり前の事ですが、C#で「struct」の中に自分を参照するようなメンバ(またはstructの循環)があるとコンパイルに失敗します。回避する方法ってありましたっけ?
ちょっと、CGIカウンタで、ロック機能のチェックをしました。一時的に結構負荷をかけたので、他の方にはごめんなさいです。
テストは微妙に失敗でした。負荷がかかりすぎて、CGIが実行されない場合があったためです。分かった事としてはよっぽど頑張らないとカウンタは壊れないという事です(カウント漏れは起きる時には起きます)。そして、壊れる時には壊れると。
今になってみれば、もう少し工夫すればしっかりとテストが出来たなと。まあ、もう遅いですが。
というわけで、カウンタが自作のものになりました。
というわけで、とりあえずカウンターを自作。といっても、ロック機能すらない代物ですが。
perlで嬉しい事が1つ。utf-8が使えた事。今までeucでしてきましたが、コレで統一できそうです。掲示板頑張らねば。
とりあえず、掲示板を作りたいなと思います。今の掲示板、機能は満足しているのですが、出てくるHTMLがすごい事になっているので。それにしても、これだけのものだと作るのにだいぶ骨が折れますね。
「WAVEファイルのデータをリアルタイムに書き換えて再生する」が意外と見られているらしい。まあ、DirectXよりも使えそうな記事ではあるから納得。・・・って、別件でたどり着いただけ?
とかと意味不明なサブタイトルを付けてみたかっただけ。まあ、私の考え無しの文章にはふさわしいレベルでしょう。というわけで今日もいい加減な事ををつらつらと。
人間は欲のある生き物。また、自分を維持するためにユニークになろうとする生き物(普通の人間になりたい人も、一番の普通、絶対的なスタンダードに立ちたいと考えていると私は勝手に思いこむ)。
だがしかし、世界とはそう言う事で言えば意外と広いもので一番になんてそうそうなれなどしない。当たり前だ。
いや、だからといって方法がないわけではない。井の中の蛙になればいいだけの話である。自分を否定する要素の排除を行う。簡単だ。もちろんの事だが、唯一の解決方法な訳ではない。
だが、まあ、それでは生きて行きにくいわけで人間は勝手に枠組みを決めて世界を作る。それは本来の世界の一部である。コレに言葉を当てはめるとすれば、『社会』となる。
「昆虫たちの社会」「車社会」「人間社会」これらは全て枠である。世界を区切る国境線のようなもの。もちろんその境界はしっかりしている事もあれば曖昧な事もある。ココで重要なのは中の人々にとってはそれが世界である点である。
つまり、小さな世界を自分で作る事によってその中の一番になり自分を維持するというわけである。
・・・とまあ、ただの暇つぶしです。誰か文句の1つでも言ってくれるとありがたいかも。普通は心の中にしまっておくか、友人に話してバカにして貰うかなのですが、新たな試みという事で(私にとって)。
何の裏付けも、しっかりとした理論武装もありません。次の二点を言ってみたかっただけです。
今思えば、その人の人生自体がユニークとかとも思わなくもないです。でも、人は何かにすがって生きているものだと思います。
明るく締めくくりましょう。別に負けても良いじゃないですか(ただし、負けている事をユニークにしてすがってはいけない。それはもっと悪い)、あなたはあなたの出来る事を今の『社会』ですべきかと。嫌になったら今の社会から逃げればいいじゃないですか。平行宇宙の存在を私は疑っているため世界は1つだと考えておいたとしても社会はいっぱいあります。それこそあなた1人の社会だってあります(ただし、それは難しいというより『社会』という言葉の統一が出来なくなる)。
私がいなくなったって世界はどうもしないでしょう。でも、私は私が行きたいからここにいます。誰も必要としていないかもしれないし、誰かが必要としているかもしれない。そんなのはどうでも良い。もちろんユニークになりたい事もある。その時はとりあえず頑張ろうと思う。だがら今は・・・
本を読んで寝よう。
上の話がいささか邪魔であるが私のもう一つの人格が消すのを許さないため放置、でないと作業を続けられない。
えぇっとですね。「点の内外判定」が出来ました。って、前にも書いた?
方法は簡単、どこかの方法にずっと延ばします。その時交差する線の数を数え、奇数であれば中。偶数であれば外。はい、意外と簡単でした。
嘘です。諦めていたら、偶然どっかのページ載っていたので参考にしました。あと、ちょっとエレガントじゃないです。・・・。気付きました。最大範囲と最小範囲四角形で、x,yを絞ればOKです。今作り終わったばっかりなので後で直しましょう。めんどくさいです。
友人に「C言語って無くなる?」と聞かれた。私は次のように答えた。
「多分C言語は無くならない。アセンブリ言語よりも簡単で、それでいながらポインタ等細かいことまで出来る言語だから」(実際にはもっと言ったこともあるけど)
この予想が外れたとしてもC++がある限りCは消えてないことになると解釈するから大丈夫。と、そんなことはともかく。結局C#だけではOSは書けないですよね。前提条件が厳しすぎて(C#のOSもあった気がするけど)。その点、C、C++は簡単ですからね。
それに、HLSLとか、今後もCライクな言語は消えないでしょうから。
プロトタイプが出来た。でも、これMPCとたいして変わらないソフトなんですよね。「ピクセルシェーダ使ってリアルタイムエフェクト」私としてはMPCよりももっと使いやすくしたかったのですが、ちょっと無理そうです。C#で作ろうとしているのですが、アンマネージリソースとの兼ね合いで例外が多発します。どうした物か。
U20でアプリケーションを作っている途中でどうしようもなく気になってしまったことはTextBoxで「元に戻す」が1回しか使えないことではなく、「全て選択」がctrl+Aで出来ないことです。これは前々から気になってた事でした。
というわけでRichTextBoxを使ってみたのだが、こっちはこっちでハズレでした。貼り付けを行うと書式まで持ってくる(まあ、しゃあないんだけど)。というわけで全て選択だけ実装した。
private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.A){ ((TextBox)sender).SelectAll(); } }
皆さんもちょっと長めの文字を打つテキストボックスでは上の機能を付けてみてください。些細なことですが、キーボードショートカットになれた人には嬉しいと思います。
何か色々とバグがあるらしいです。私の環境ではボリュームをいじるとビデオの終了通知がされなくなりました。早くまともなDirectShowのManagedラッパー出してくれないかな。
それに、Dispose()を呼び出すと高確率でメモリの不正アクセスになるのもどうにかして欲しい物です。やっぱり正攻法でC++が一番かなぁ。いやだな。
そうそう。メインメモリを湯水のごとく使っておきながらビデオメモリだけ仲間はずれなんていけないですね。将来的にはビデオメモリもガベージコレクトかな?うん。楽でいい。それにハードウェア業界が潤う。
注。あんまり本気にしないように。アクセス時間がシビアなのにその上ガベージコレクタなんて動かしたら・・・。でも、メインメモリに載っているリソースよりもビデオメモリ載っているリソースは粒度が大きい(多分)。そうだとしたらガベージコレクションも可能かも。ただし、再配置は大変かもしれない。
昨日はどうやら七夕だったらしい。何か願っておけば良かった・・・いや、いつも願っているな。
HLSLで書いているのですが、対応するC#側のAPIが変わってしまってよく分からない。サンプル読んでも古くなっているし、新しく出役に立ちそうなのは独自のフレームワークを使っていて解読に時間がかかりそうだし、日本語で出ているドキュメントは当然ダメ。一応英語のドキュメントではちゃんとしているけど・・・やっぱりちょっと分かり難い。実際に使えるコンパクトなサンプルがないと。
と思ったら日本語ドキュメントの意外なところに説明が。まあ、足りないけど役には立った。
「そもさん、せっぱ」。「せっぱ、そもさん」の順番だと勘違いしていた。
SDK。何も2ヶ月ごとなんて高頻度で出さなくても。と思いつつも、ダウンロードしてしまう。やっぱり無いと困るから。
例外処理。サイトのソースコードを読んでいてダメなところを発見。例外で「exception」キャッチをしていた。ダメダメですね。書き換えないと。
AudioVideoPlayback。2.0で使えない?うわ。こまったなぁ。というわけで最新版を・・・。
いつの間にやら7月に。今日1つ書類を出したのですが、事務の人に3日とささやかれました。む?今日は四日ではないか(正確にはもう5日ですけど)。
ちゃっちゃかとやらなければスケジュールが詰まりそうです。問題はU20構想は出来てるけど、どれくらいで実装できるか。
昨日布団を干したのですが、やっぱり柔らかくなりますね。これも後で調べないと。父親は手っ取り早く布団乾燥機でふかふかにしています。何だかなーという感じです。
色々関連項目をあさっています。もしも「非ノイマン型コンピューター」が関連項目だとすればですが。
マイクロソフトのページでオンライン講座みたいなのを見ているのだが、wmvのファイルを帯域が空いているのに先読みしてくれず15秒おきにかっつんかっつんする。見ててつらい。ちゃんとバッファして欲しい。
言葉に表しづらいのですが、何か違うような気がするんですよ。Vistaとその周辺の技術。まあ、.Netも楽しく使わせていただいているんですけどどうしてもつぎはぎが見えて来ちゃうんですよね。それに私としてはこの方向が最終的なコンピューターの向かう先だと思いたくないんですよね。自分でも説明できないんですが。
Vistaについてはコンセプト、技術、インターフェイス、からもう一度理解し直してみます。とりあえず、今日感じたことは、XAML等WPFは今までしようとしていながらしていなかったインターフェイスの開発の改善ということです。ユーザーへの見せ方というよりも開発の側を変化させようとしている気がします。でも私としては、記述がスマートになるのは嬉しいですが、格好いいGUIが出来ても「ふーん」という感じです。私としては察しの良いOSが出て欲しいですね。色んな事を先読みして補助してくれるようなOSが(別に上の話と無理矢理からませた訳ではありませんよ)。
それと、これは仕方が無いことではあるのですが、「隠蔽が深くなるのは逆効果である時もある」ということです。整理整頓はすべきですが、隠蔽はほどほどにしないと絡み合いの中で「本当」を見つけにくくなります。「それが何のためにあるのか」よく分からなければ誰かの混乱を招くだけです。
自分がどんなパソコンを欲しているのかよく考える必要がありそうです。
メモですが、今のパソコンは「合わせて貰って」「命じられて動く」それは将来的には「相手に合わせる」「自分で動く」そうなるべきなのかなと。特に今のインターフェイスはどんなに頑張っても相手に合わせてもえらっていますからね。しょうがない事。でも、妥協しなければ何かが見えてくるかも。アシモにスパコンを載せてみるか・・・ダメですね、上に載るプログラムがない。
作らなきゃ。まだ1行も書いていない。
部活の雑談で「制作時間:48時間」とかって書けたらいいよねという話題が出た。基本部分だけなら何とか出来るかも。もっとも構想で半日くらいかかるだろうけど。
検索かけたら1件出てきた。何となく朝のような気がするけどちょっと違うよな。
まるで「小さい秋見つけた」を歌ってくださいと言われて、元気よく「小さい秋、小さい秋」と歌っているようなkんあじ。
はっきり言ってこれに対する答えに意味はないと思う。だけど、これを考える事やそれに含まれる「時間、思考過程」には意味があるかもしれない。そんな余裕のある生活。そんなことに気づける生活。私は社会人になってもそんな人でありたいです。
それに私にとってはまんざら意味がないわけではありません。「朝に今日も一日頑張るぞ」と言って一日を始めた方が頑張れそうな気がするから。
は、書いた日の日付にすべきですよね。でも、この日記は前の日付に昨日の日付で日記が書かれていたり明日の日付で日記が書かれていたりします。まあ、無駄なことを考える余裕がなさそうな日の分を先と後で分担しています。