midi

いい加減zipだけ放っておくのはどうかと思うので
特に外部と関係ないものだけでも説明しておこう第三弾

midi
midiの読み書き再生を行うプログラム、使い道が特に無い習作。
Readmeにもあるとおり、midiの入出力に興味がある人へ向けた参考資料程度の価値しかありません。

midi再生には自分で全部やる方法とデバイスに全て任せる方法の二つ用意されていて
このプログラムは前者の方法で演奏されている。 理由は簡単で、デバイスに任せても楽しくないから。
ただし、この方法はCPUに依存するため処理落ちで音声が乱れる。
さらに、時間管理の実装が大分いい加減なためにデバイス式に比べかなり品質が劣る。

というわけで普通にmidi再生をする場合、この実装はあまり参考にしない方がいいかもしれない。
(それ以前に、単純再生ならいくらでも他に方法はあるだろうが)

どうでもいい話:
某動画サイトにてmidiの音階を視覚化した動画を見たのがきっかけになって作ったプログラムで
当時東方に強く触発されていた時でもあったので、最初はその音階を資格化から弾幕STGでも作ろうと思っていた。
が、GUIに手を出して完成させたことが無い自分がいきなりそんなもの作れるはずもなく……
結局midiの再生まで行った所で、サウンドフォントやmidiデバイスに興味が向いてなかったことにされましたとさ。

これのおかげで音楽に対する造詣が大分深まったと思う。
音楽はコンピュータ上においてどのように表現されているのか、という方面はかなり。

ところで、midiの仕様作った人はかなり頭おかしい(ほめ言葉)と思うんだが、どうだろう?

th105_ai

いい加減zipだけ放っておくのはどうかと思うので
特に外部と関係ないものだけでも説明しておこう第二弾
といいつつ、今回はバリバリに外部と関係のあるソフトです。

th105_ai
東方緋想天という格闘ゲームでAIを作ることが出来るソフト。
スクリプトエンジンはLuaを使っていて、キー操作をエミュレートする形でAIを作成できる。
現在進行形で開発中のソフト、自作物の中で一番アクセス数の多いソフトでもある。

個人的に結構こだわりのあるソフトで、緋想天側にはキーイベントを送る以外一切影響を与えないように設計してある。

他にも、C言語レベルでマイクロスレッド(コルーチンかファイバーというべきかも?)が実装されていたり
C言語なのに例外処理を行っていたり、非アクティブな状態から指定ウィンドウをアクティブにしていたりと
色々度外視しすぎな無駄技術が詰め込まれている、まさにおもちゃ箱的存在。

作者が一番使いこなせるなんて都市伝説

th105_aiという某格闘ゲームのAI作成ツールの話

それなりに好評なようで、これを使ってAIを作ってくれた人も多い
そして、公開済みAIの中で一番弱いのは自分のAIという現実。

自分があまりにも下手で
「AI越しでいいから上手の人を倒したい!」
と思ったのが発端なのに、AIの上でも上手の人には勝てないというのは才能が無いのかもしれない。

DllFuncList

いい加減zipだけ放っておくのはどうかと思うので
特に外部と関係ないものだけでも説明しておこう第一弾

DllFuncList
dllを指定するとアドレスと関数名を列挙してくれるだけ、いわゆる習作。
ソース付き(コメントなし)なので、dllから関数名を列挙する処理を組みたい人にとっては有用かもしれない。

「公開するつもりで書いたほうが勉強になる」という自分ルールによる公開なので公開自体に意味は無い。
むしろ同じ機能を持ったもっと良いアプリはいくらでも転がっているので、存在価値は自己満足。

移転?

ググらず出来る3行解説WordPressという言葉で押し負けた、ということで。

はるか昔にブログサービスと連携させたりrss配信するコードを書いて
様子見して問題なければアド公開しよう思いつつ忘却し
今見たら完全に止まっていた、というのが最大の理由かもしれない。
(止まっていたことに気づいたのはWordPress導入中だったけど気にしない)

とりあえず、面倒くさくて仕方なくなるか、飽きるかするまではこっちがメインになるかもしれない。