NeoMupl
リリースしました。
そして、次に必要なループ設定のための機能も実装開始。
愛と勇気とかしわもちとNeoMuplと大神
NeoMupl
データや設定によってはループが全然完璧じゃなかったので、修正していました。
先走ってすぐリリースしてしまわなくてよかった。
それから、次期バージョン以降だけど、ループポイントをいい感じに設定するための技術情報調査中。
NAudioの作者が波形を表示するライブラリを作ってくれているみたいなので使えるかも。
NeoMupl
実装しました。完璧に。
0.1秒単位ぐらいで設定するといい感じ。
…なんだけど、ループそのものが完璧なだけに、設定が面倒臭いのは惜しい!
ループ未実装はバグ扱いなんで動作の検証が終わったら早めにリリースしますが、設定面倒臭い件についてはそれなりに画面を作り込みたいので後でゆっくり時間をかけてリリースする予定です。
大神とNeoMuplとナマライザ
大神

最初の村でおっさんが寝ているところまで進めました。
タッチ操作の筆しらべを楽しみにしていたのですが、筆しらべの画面に行くのに右手がふさがる都合で、結局昔ながらのスティック操作が一番しっくりくるのでした。
NeoMupl
昔から気になっていたバグなんですが、なんと未実装だったというオチ。
作ってないんだからちゃんと動くわけねーよな!
ナマライザ
もうあんまり更新することもないのですが、一点大きめな改修を加えようと思っています。
一点…と言えるのかも怪しいものですが。
NeoMupl
最新版アップしました。
最も致命的なバグを潰せたのでいっそのことバージョン0をやめて1に上げようかと思ったのですが、一応バグ修正だけなので、リビジョン番号を上げて0.31.2にしました。
勝手に落ちるバグは直ったとして、以前考えていたプロセス分離が落ちるバグ対策以外にも何か功を奏さないか確かめてみて、完成度をより高めてからバージョン1にしたいところです。
…もともと需要のないソフトだし、永遠にバージョン0のままでもいいっちゃいいけど。
NeoMupl
うん、ステータスバーのコントロールを自動生成している部分をシングルトン的設計に変えてみたら、ユーザーオブジェクトは増えないし、ずっと再生していても落ちないね。
中でも再生ゲージが決定的だったみたいだけど、せっかくなのでステータスバー全体を対象に修正を施した。
今週内にでも修正版を公開しよう。
NeoMuplと日記
NeoMupl
そもそも再生方法に関わらず落ちるのがおかしいと思っていたんだ。
どうやら音楽再生そのものは関係なかったようだ。
何年もの間、私は見当はずれのところを探し続けていたのだ。
日記
日記のカテゴリ統計がメモリエラーで落ちていた模様。
ユーザーには関係ないけど、サジェストが頭悪くなってる。
NeoMupl
やはりユーザーオブジェクト数の関係なのは間違いない模様。
再生中だけ増え続けているので、再生に問題あり?
再生を止めても減りはしない。
NeoMupl
ユーザーオブジェクトの数が単調増加している…。
通常は10000までなので、長いこと使っていると自然に使い切ることになる。
リソースリークと思われるが、再生中に増え続けて、再生オブジェクトを解放しても減らないから、ライブラリ側の問題では…?
NeoMupl
項目のプロパティウィンドウにアイコンもなかったので補充。
あと、Gitのブランチの分け方がぐちゃぐちゃになって、分けたままにしていると不都合が出そうだったので、developブランチとmasterブランチの2本に統合しました。
一応、プロセス分離の方向性は決まっているので、統合しても問題はないはず…。
NeoMuplとTGWSDQXと雑多
NeoMupl
項目のプロパティウィンドウにタイトルがついていなかったので、付けました。
年明けの週内にでも公開する予定です。
TGWSDQX
未ログイン時に公式サイトのデータを収集しようとするとエラーで落ちるのを修正。
データ収集の仕組み自体をもっとスマートにしたいなぁ…。
雑多
「Magical Circle」の記事を更新しました。
表題の楽曲自体には関係ないのですが、余談に書いたことについて進展があったので、追記しました。
TGWSDQXとアンパンマンDBとNeoMupl
TGWSDQX
ファイルの保存処理が甘くて、ファイルサイズが小さくなるときに、前のファイルの残りが末尾にゴミとしてくっついたのが問題でした。
今まで、書き込み用にファイルを開いていた時はいつも自動的にファイルサイズ0になっていたので気付きませんでした。
修正はもちろん、ファイルサイズを0にするという方向で。
あと、エラーメッセージも表示するようにしました。
アンパンマンDB
差分取得がかなりいい感じに。
ショートカットと画像とカテゴリの項目をもうちょっと頑張ればいよいよ使えそう。
リスト編集だと、100個一度に更新するんですが、これを本当に編集したものだけに絞れるんですね。
あとは、更新告知に更新箇所の情報を含めるという、大昔のアンパンマンDBにあった機能が復活させられるはずです。
NeoMupl
こまめに再起動していたら今日一日エラー落ちしませんでした。
やけくそで根本が何も解決しない修正だけど、これは正解だったかも。
配布用ファイルを整えたら、週末の休みの日にでもアップできそうです。
NeoMupl
やはり問題の根本から目を逸らして再起動だのプロセス分離だのに逃げている場合じゃなかろうということで、ちょっとハンドルリークについて調べています。
ハンドルリークとは何ぞや、ということに関しては、 http://keicode.com/iis/iis504.php 参照で。
で、手始めに、BGMとしてランダム再生しながらメモリ使用量、ハンドル使用量の増減から見ていますが、今のところ、増えたり減ったりを繰り返しつつ微増傾向で、落ちるほどドーンを増えている印象はないですね。
でも落ちるという…。
TGWSAdminはもっとメモリもハンドルも使っているんですが、あっちはOSの再起動ぐらいでしか止まらないぐらい安定しているんですよね…。
いったい何が問題なんだろう。
アンパンマン日替わり紹介botといっしょにチョキッとスニッパーズとNeoMupl
アンパンマン日替わり紹介bot
日別画像アップロード実装完了。
画像をそのままアップするのと、放送日当日用の切り抜きを行うパターンができています。
それ以外のパターンは、今のところは、アップロード前に加工してからそのままアップですね。
いっしょにチョキッとスニッパーズ
サルベージのステージがユニークな形ではかなり高難度でした。
NeoMupl
プロセス分離がまだ時間がかかりそうなので、暫定対応として、エラーで落ちる前に自主的に再起動できるように、再起動メニューを作ってみました。
暫定対応なので最終的になくせればいいなと思うのですが、とりあえずは再起動メニュー自体に問題がないかどうか確かめてから、いったんリリースしようと思っています。
地味ーに再起動処理と二重起動防止がかち合うという現象が発生したので、これをネタにプログラミングコーナーを更新してみるというのもいいかもしれませんね。
NeoMupl
プロセス分離のための準備をのろのろと進行中。
NeoMupl
マルチプロセスにするために、橋渡しとなる共通部の抽出中…。
NeoMupl
追加機能のリリースが一段落ついたので、何年も悩まされている勝手に落ちる問題への対応に着手。
UI側と、再生側を別プロセスにして、再生側で問題が起きてもUI側が巻き添えで落ちないようにします。
再生側をサーバーとして、UIがクライアントになって、サーバーに対して再生リクエストを送る感じです。
んで、サーバーは、落ちる原因が結局はっきりしないので、落ちる前に再起動です。
原因はわからないのですが、開始後すぐに落ちることがないことだけは分かっているので、常に「開始直後」の状態を維持するのです。
果てしなく非効率的になってしまうのですが、原因を解決できない以上、こうするしかないと思っています。
PHPCRSSとNeoMupl
TGWS内のPHPコードをphp-cs-fixerで整形してみました。
管理の都合でイレギュラーな書き方にしている部分も多々あるので全部とはいきませんでしたが、だいぶすっきりしました。true/false/nullの大文字小文字の不統一や、publicの付け忘れなどが解消したのが特に有益でした。
PHPCRSS
で、同じのをPHPCRSSにも使ってみました。
動作内容が何も変わっていないのでダウンロードコーナーは更新していませんが、GitHubで今のURLにて修正版を公開しています。
https://github.com/mifumi323/PHPCRSS
以前も言ったように、PHPCRSSそのものに対する開発モチベーションはすでにありません。
アーカイブ形式をLZHからZIPにするぐらいはしてもいいかなって思ったりもしますが、それをする価値もあるかどうか…。
NeoMupl
最新版公開しました。


