「ミディビ」に関する日記

次>

ミディビとドラゴンクエスト10

ミディビ

ミディビを閲覧専用で再公開
ミディビ復活です。
閲覧専用なのでもう作ることはできませんけどね。
せっかくなので、情報のページに、ブラウザ上で音楽作成できるツールを一つ紹介しておきました。

ドラゴンクエスト10(しろいコキン)

ゲルニック将軍
久しぶりにゲルニック討伐。
いつぞやは二度と戦いたくないなどと言っていましたが、時の流れは残酷ですね、楽勝です。

で、ついでに暗黒の魔人も倒してきました。
こっちはしろいコキンでは初めてでした。
ずっとプチでばかり戦ってきたからなあ。

ミディビとアンパンマンDBとドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト

ミディビ

うちに置いている方のミディビ、閲覧専用の跡地として復活させるための作業中です。
多分土日にでもリリースできるかと。

アンパンマンDB

「てつの星のアイアンクリスマス」の商品情報を追加
「おうたとてあそびたのしいね 1」の商品情報を追加
「おうたとてあそびたのしいね 2」の商品情報を追加
「うたってあそぼう♪ ようちえんはたのしいな」の商品情報を追加
レンタル情報の追加。

ドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト

15日ごろから動かなくなっていたので、修正しました。
PHPのバージョンが合わなくなっていました。

アンパンマンDBとミディビ

アンパンマンDB(記事更新)

「0才からのやさしいえいご Vol.1 Your Baby Can Read!」の商品情報を追加
「0才からのやさしいえいご Vol.2 Your Baby Can Read!」の商品情報を追加
英語の知育DVD追加。

ミディビ

Perl CGI側 · mifumi323/midib@e97bff6
CGI側もGitHubにアップしました。
README.mdとかの修正も必要ですが、ひとまずシステム全体はほぼそろいました。
cgi-lib.plは、ミディビのライセンスと混ぜられないので、意図的に抜いてあります。
いないとは思うけど、使いたい人は自分で探してみてね。

ミディビ

Javaアプレット側のコードと成果物追加 · mifumi323/midib@6d2799d
ひとまず、Javaアプレット側のコードをコミットしました。
アプレットの方が一応主体っちゃ主体なんで、このリポジトリの最大の目的は一つ果たしたのですが、このアプレットを使う掲示板CGI側のコードがあってやっとシステムとしては完成なので、これから作業します。
アプレットの方にはパスワードとかの情報は一切入ってなかったんでそのまま突っ込むだけでよかったのですが、掲示板CGIは管理者パスとかがあるので、そのあたりをしっかり潰してから公開します。

アンパンマンDBとミディビ

アンパンマンDB

「てつの星のアイアンクリスマス [DVD]」の商品情報を追加
去年のクリスマスDVDですよっ!
アンパンマンのクリスマスエピソードはクオリティが高いのに放送しない地域が多いので、DVDが数少ない視聴手段になるのです。

ミディビ

mifumi323/midib: 音楽を作って投稿できる掲示板だったもの
とりあえず、Gitにリポジトリを置いてみました。
あと、うちに置いてある本体も動作してないですね。

ミディビ

リンク集に引き続き、古いPerlCGIをどうにかしたいと思っているんですが、ミディビは、PerlだけじゃなくJavaアプレットと言う古い技術も使われているんですよね。
現在では普通の人が使うブラウザでは動きませんし、動作確認もできない状態です。
もともと使っていた人が少なかったこともあり、需要としては閉じても全く問題ありません。
ただ、このサイト「TGWS」の歴史として結構重要な存在だから、正直なところ、なかったことにはしたくないです。

そもそも、ミディビのコンセプトは、専門のソフトがなくても、気軽に音を出せて、音を組み合わせて音楽にできて、みんなに見せるところまでできちゃう、というところです。
そういうサービス、今ならいろいろとありそうですよね。
ちょっと前に自動作曲について調べていたのですが、手動作曲についても、多分あると思うのです。
みんなに見せるにも、自分で掲示板を持つ必要はなく、動画形式で出力してYouTubeやらTwitterやらSNSとかにアップロードする方が気軽に見てもらえるでしょう。

だから、終わるにしても、ミディビがやりたかったことを、他でもできることを伝えられるようにしたいです。
終わるにしても、ミディビが何をやってきたかを残したいです。
そういう方向で、考えていこうと思います。

アンパンマンDBとPHPとVoidolとInternet Explorer

アンパンマンDB

Twitterのハッシュタグのページを更新
「アンパンマンポテト」を追加しました。
「アンパンマン」タグで検索していると、ちょくちょくおいしそうなポテトの写真が出てくるので。

PHP(Today I Learned)

PHP: プロパティ - Manual
プロパティ自体は昔から使っていたけど、8.1からはreadonlyが付けられます。
最初に代入した値以外に変更できなくして、想定外の変更によるバグを防ぐ、イミュータブルを実現できるというやつです。
で、もう一つ…

PHP: コンストラクタとデストラクタ - Manual
8.0から追加されたコンストラクタのプロモーション機能と組み合わせると、コンストラクタを書くだけで、最初にデータを全部受け取って保持するイミュータブルなクラスが簡単に書けてしまうというわけなのです。

まあ、今開発しているものは、ミュータブル(変更可能)なことに意味があるクラスなので、readonlyの方は使ってないのですが。
でも多分、今後どこかで必ず使うことになると思います。
…覚えていれば。

Voidol

Voidolを期間限定で無償配布します。PC Watch様にも取り上げていただきました。 | クリムゾンテクノロジー株式会社
ボイスチェンジャー、インストールしてみました。
私はあまり声出し配信とかしないのですが、VRChatをインストールしてたり、やっぱりたまには配信したくなるかもしれなかったりするし、そのときに地声から離れたらちょっとは抵抗感なくなるのかなと。
まだ試運転すらしていないですが、何かしら喋るネタでも探して試してみようかな。

Internet Explorer

IEはとっくにサポート終わってるわけですが、IEと一緒に使えなくなってしまったサイトが世の中にはいろいろとあったそうで、うちのサイトはどうなのか、というのを一応語っておこうと思います。

まず、そもそも当サイトTGWSは、Internet Explorerに対応していません。

一部のコンテンツ(具体的に言うとミディビ)だけは、IEにだけ残されたプラグイン機能に依存していましたが、そっちはそっちで、早々にプラグインの方がサポート外になったので、IEがサポートを続けようとももはや動きません。
このようなコンテンツは、歴史的な理由で残しているだけなので、今後も、特段の事情がない限りは、サポート外のまま残ります。

一方、ページ構成としては、一部を除き、JavaScriptやCSSが正常に機能しなくてもHTMLの基本的な機能だけで成り立つようになっています。
なので、IEでもそれ以外でも、何なら古いバージョンでも、多少崩れながらも意味が解る程度には表示できるかと思います。
おそらく、将来ブラウザが進化しても、それなりに表示できることでしょう。

なので、IEがサポート終了したことで、私のサイトが変わることはありませんし、移転や閉鎖の予定もありません。

無題

ふにゃさんの坂道のマップチップを作っています。
坂道は45°以上だと顔がつっかえて上れないので、割りと浅い角度の坂道になります。
通常ブロックと坂道の接続を作るのは面倒なのですが、坂道の機能を実装するとなると更に面倒なことが山積みなのです。

ミディビの記事削除をまじめに実装しました。
レス削除は実はまだできないのですが。

無題

そんなわけで検索機能つけました。
ついでにナビゲーションまわりも改良しました。

他に取り急ぎ更新したほうがよさそうなのは…
・キ番登録フォーム(番号の有効期間を延長)
・ミディビ(曲の削除)
このあたりかな。

無題

http://dic.nicovideo.jp/
ニコニコ大百科のピコカキコって面白いですね。
掲示板に投稿するためにブラウザ上で作曲するという内容はミディビとも通じるところがあります。
なんだか褒めたとたんにサーバーが落ちたようですが…。

データの送り方

ん、更新しました。
レイアウトの問題は解決してないのでほったらかしで。
もう自分でレイアウト作っちゃおうかなとも思うけど、そうするとまた一回分のネタになっちゃうので、そりゃいいやって思って次の更新はレイアウト関連にしたいなーと。
今回の更新の内容は通信内容の見直しでした。
一応ミディビ自体も復活です。

極上のスープ

スープはカボチャとチーズで味付けされておいしくなりました。

ミディビ、ついでにボリュームとかパンとかにも対応させようとか、アプレットの横幅が狭いと一部表示されなくなる問題をどうにかしようとか考えていたのですけれど、横幅のほうの問題が解決しなくて、今のところこれといった進展はありません。

オクテットストリーム

うむ、ミディビの問題は案の定Content-Typeの問題でした。
multipart/form-dataからapplication/octet-streamにしたらあっさり解決です。
結局、単なるバイナリデータをわざわざmultipart/form-data、すなわちフォームからの送信のように扱ってしまったことが問題だったようです。
ただ、もしかするとこれは逆にフォームデータとして正しくなるような送り方をしてやればまた違った使い方ができるようになるかもしれません。
ともかく、次回の更新はこのあたりを中心に話していこうと思います。

ゼルダのトプ(毎度毎度ひどい略し方だ)は後半ダンジョンをひとつクリアしてやっと後半の目的が見えたところです。
新しく出てきた乗り物が結構爽快だったりします。
サブイベントのほうでもお店買収の話が出てきたりしてなかなか楽しくなってきました。

雰囲気チェンジ

Bomber丸WorldのBGMシステムの転調による雰囲気チェンジができましたよっ!!
いや、もう、今まで転調をなめてました。
半音上げ下げの組み合わせでこんなにも変わるなんて!
バトル中状況に応じて変化が現れるとか、フィールド上でイベント中に微妙に変わるとか、そういうのを考えていたのですが、別の曲みたいに聞こえるほど変わってしまうので、いっそのことキャラごとに別々のアレンジを割り当てるとかそういうことを考えてしまいます。
あと、曲の終止とかも考えています。
要するに、ただ単にぶつ切りとかフェードアウトだけじゃなくて、最後に終わりっぽいフレーズを入れてどーんと終わらせるような、そんな方式です。

ミディビについてですが、もしかしたらmultipartで送信しようとしていたのが問題だったのかもしれません。
なんとなく予想しただけなんですが、全部のデータをひとまとめにして送っているのにもかかわらずmultipartというのはどうにも合っていないような気がしたのです。

フェードができました

Bomber丸WorldのBGMシステムのフェードのテストプログラムが出来上がりました。
現在のボリューム、パンポット、エクスプレッションの値を見ることができるほか、それぞれの値を自由に変更することができます。
値を変更するとその値まで実際の値がゆっくりと近付き、フェードイン・フェードアウトが実現されます。
更には、裏技的な方法で範囲外の値を指定しても正常に動作する安全機能付きです。
これで確かめて初めて気付いたのですが、音量が50を切るとほとんど無音になってしまいます。
元も音量の二乗が音のエネルギーに比例するとのことだったのである程度想像はしていたのですが、結構予想以上だったので実際に使うときは音量は実際に指定したい値の平方根オーダーで指定するようにしようと思います。
今後はプログラムチェンジ、テンポ変更、雰囲気チェンジに手を付けていこうと思っています。

ミディビ、どうせだから休止している間にPHPで書き換えてやろうかなーと考えていたりします。
ただ、いまだにアプレットから曲が送信できない問題の解決法は見つかっていません。
場合によってはサーバー管理者に問い合わせてみようかなとも思っています。

ミディビ休止

ミディビ色々試してるんですがどうにも改善しません。
しばらく改善できそうにないので非常に残念ですがしばらくの間ミディビは休止させていただきます。

Bomber丸WorldはBGMシステムのフェード関連のチェックプログラムがようやくでき始めてきたところです。
ここから先はすんなり行ってくれるはずですが…。

404 Not Acceptable

ミディビで曲を送信できないという問題が報告されたので、調査してました。
とりあえず、実際のサーバーで動かしていると406エラーが出てリクエストが通らなかったらしいということがわかったので、何が悪くて受理されないのかを今調べているところです。

キノコ無しでは生きられぬのか

マリオ64、炎の海のクッパで撃沈しました。
1階から2階に上る途中のポールの先で追跡型キノコが出てきましてね。
どうにも逃げ切れません。
所詮マリオはキノコが無いと生きられぬ運命なのか…。

Lunascape4のデザインいじりは順調です。
昨日言っていた再起動のことは、フォルダの設定を間違えていて認識されなかったためで、再起動とは全然関係なかったようです。
Luna4のスキンの特徴として、topleft.bmpがないとタイトルバーのスキンが無いと判定されるようで、逆にtopcenter.bmpはなくても問題なく表示されました。
そんなわけで、今の私のLuna4は右上のボタン以外はWindowsXPほぼそのままです。
もっとも、非アクティブのときのデザインが設定できなくて気持ち悪い部分があったりするのですが。

そうそう、LineBreaker2はなかなか感動的な速さです。
VBで作っていた1では処理中他の作業をして時間を潰していたのに、2はわずか2秒で終了なので他の作業をする暇がないんです。

そうそう、ミディビの迷惑書き込み対策はこっそり完了です。
問題のある内容であれば問題がなくなるまで書き直しさせます。
文章投稿と返信記事でのみ動作確認済みですが、多分MIDI投稿のときにもちゃんと動いてくれてると思います。

シュークリーム食べたので今日は元気です

先日いっていたマリオシリーズのキノコ取らないプレイ、スーパーマリオ64でやってみました。
まず黄色いブロックは危険。
坂道も、穴も、ポールの先っぽも、隠しコースも、危険。
杭の周りを回るのも、チョロプーを倒すのも、木の上で逆立ちするのも、危険。
とにかく危険なところほどキノコが出やすいので、できるだけ前半の簡単なステージの簡単なスターのみでクリアに必要なスターを集めてしまいたいところです。
というわけで現在のスターはウォーターランドに入る直前で40個。
チックタックロックは上る途中で必ず取らされてしまい非常に危険なので可能な限り2階以下の3フロアで集めてしまいたいところです。
それにしても、データを消すときの音がなかなかいいですね。
今までもったいないからと消さずにいたのですが、今回のプレイのために一つ消してみると、マリオが高いところから落ちる声で「ウワァ~ッ!」と。
持っている人は是非一度消してみましょう。

Lunascape4の正式版が出たそうなのでさっそくインストールしてみました。
起動速度は遅くて元々なので別に速くなっても気にならなかったんですが、検索バー周りはかなりよくなっていました。
そして注目すべきは自由度の高いスキン。
そのためにウィンドウ左右上端の挙動が普通のウィンドウズのソフトと変わってしまったのはやや不満ですが、標準のスキンが気に入らなくてスキンのフォルダを見たときはその内容に驚かされました。
ウィンドウの部品とかがビットマップで全部用意できるんですね。
例えば標準のスキンではWindowsVista風のシステムボタン(と呼べばいいのかな?)なのですが、これがスキンを用いてできたもので、WindowsXP風のスキンを用意すればいつも見るXPのデザインに戻せるわけですよ。
それどころかウィンドウの形状自体もある程度制御できるようで、いっそOSに組み込んじゃってもいいんじゃないかと思える内容です(Windows以外のOSは知らなかったりしますが)。
ただ、スキンの適用にいちいち再起動が必要なのは重量級ブラウザだけにかなりつらいところですね。
本格的にスキンをいじり倒すのは明日以降になりそうです。

それはそうと、なんかうちのミディビにも迷惑書き込みが来たようです。
やっぱりフォームをちょっとやそっといじったようじゃなかなか迷惑書込み防止には繋がらないようですね。
そこで、Perl用とPHP用で、それぞれメッセージの妥当性チェックモジュールを作っています。
まあ、その内容は外国語SPAMの防止用にひらがなの使用を強制したりSPAM書き込みによく見られる問題のある単語をNGワードとして設定したりする程度の単純なものですが、それなりの効果はあるんじゃないかと思っています。
とりあえず、条件をやや厳しめにして、許容範囲の問題であれば、ユーザーに問題を無視して投稿させることができるようにして利便性との両立を図りたいと思っています。

人の状態を「眠い」と「眠くない」の2つに分けるとき、眠っている間の人間はどんな状態なのか

GIF構造、ローカルカラーのところまではわかったのですが、どうにもラスタデータのところがわかりません。
ラスタデータは圧縮されているからどこで終わるか教えてもらわないとどこまでを画像と見ていいのかわからないわけで。
「,」か「!」の文字が来ると次の画像?
だとすると色番号44や33はどうなるの?
ってことで。

そうそう、ミディビ更新しました。
著作権表示とちょっとしたエラーチェック。
音の重なりチェックは結構簡単なアルゴリズムで動いています。
同時発音数チェックもできればやりたいんですが、これについては結構な処理数になるのでやらなさそうな気がします。

次>