2016/05/14(土)YAMAHA XGの音源コントローラを結局作り直した。
XGTGCTL2 開発やめた の続きになる。
あれから10年近く経っても、自分のDTM環境が、MU2000 EXから脱却できていないので、
ドラムやEQを自由にいじりやすくするために結局作っていた。
前のバージョンはHSPで作ってて、ソースコードがスパゲティ状態で、拡張なんてとても無理だったのでC#で書き直している。
gitの使い方の勉強もかねて、GitHub上で公開してみる。
リリース: https://github.com/ttsuki/XGMidiControllerForMU2000EX/releases
これを使って作った曲: Another Wing -Deep White- と、そのソースコード
スクリーンショット:
MIDIファイルからの読み込み機能はあんまり使わないので省いて、
音源とSysExでSEND/DUMPするほか、サクラMMLスクリプトではき出すようにしたりした。
もはやXGという規格がレトロ化してきている昨今。
MOXFを買おうかとか、でもソフトで何でもできる時代だしーと思うと躊躇してしまう今日この頃。
2016/04/03(日)RAMDISKドライバを作る
RAMDISKドライバを作る
ほんとは、これがやりたくてオレオレ認証局とか作ってたんだけど、
調べたところによると、Windowsで使えるドライバ用のコード証明書のCAは決まってて、
そればかりか、Windows 10のカーネルモードのドライバのコード署名はEV証明書でないといけないみたいで、
結局、この記事でやってるようにドライバ署名の検証をスルーしないと動かせなかった。
趣味レベルでカーネルモードドライバをちゃんと作ってリリースする道はもはや絶望的だなー……。
この記事では、
Visual Studioでのドライバの開発に必要なものをインストールして、
サンプルドライバをビルド・インストールしてみてから、
RAMDISKの容量が1GBになるよう、ソースコードを改造してみます。
制限
この記事の範疇ではFAT16なので、2GB(一説では4GB?)よりも大きいドライブは作れないはず。
FAT32への対応はすぐできるんだと思うけど、あんまり調べてない。
上記の通りドライバにコード署名できないので、ドライブを使うには、
毎回ドライバ署名の検証をスルーできる状態でWindowsを起動する必要がある。
2011/12/04(日)C#とかの.NET言語で Ogg Vorbis デコードする DLL
ゲームのBGM用にOggのデコーダが欲しいじゃない?
- libogg.dllとかlibvorbis.dllとかvorbisfile.dllとかやだなー。DLL 1個でゲーム用にOggデコードしたいなー。
- 参照設定に追加して、お好みでWaveデコードしてください。もちろん再配布可(ライセンス見てね)
2012.09.30 更新
- libvorbisを1.3.3 にアップデート。
- GitHubに引っ越し。
2011.12.04 更新
- 長らく更新をほったらかしていたので手元の最新版にアップデートしました。
- ついでに、サンプルとドキュメント(嘘)を整備しました。
- 実はずいぶん前からループ終了位置も指定できるようになってました。
概要
C#などの.NET言語からOggVorbisをデコードするライブラリです。
libogg 1.3.0, libvorbis 1.3.3 を用いています。
・あたかもPCMストリームを扱っているいるようなOggDecodeStreamクラス。
・ストリームを渡せるので、暗号化ファイルやメモリ上のファイルなどに対応可能。
・ループポイントを指定して自動的にループデコードしちゃう機能を搭載。
1ループ分の波形データだけで、途切れないBGM再生が可能になります。
Special ThanX!!
J-SONさん J-SONさんのサイト (コールバックの呼び出し方法について助言をいただきました)
C#でOgg Vorbis - DLLのビルド (.NET Claimwork 3.0) (ライブラリの使用方法の参考にさせていただきました)
Download
- GitHubに引っ越しました。
- ダウンロードするときは「ZIP」ってボタンを押してください。
- https://github.com/ttsuki/OggVorbis.NET
2010/12/10(金)ICPC 前夜 の Magical Festival
あのゲームを対人戦(専用)にしてみたら結構アツかった。
Download: Magical Festival in yukatama.zip
Windows / .NET Framework 2.0 / Managed DirectX 1.1
2009/10/03(土)twittime.user.js
1時間前っていつよ?
twitter を web から使っていると、「1時間前」などという表記がアバウトすぎて、逆にいらいらするので表示を日時にしてくれるブックマークレット UserJSにした
導入すると、「約3時間前 webで」が「10/03 20:40 [2時間58分前] webで」みたいになります。
Opera10 のみ動作確認。
twittime.user.js
保存されるときは文字コード(UTF-8で!)にお気をつけください。
// ==UserScript== // @name Twittime // @namespace http://tu3.jp/ // @include http://twitter.com/* // ==/UserScript== function twittimeUpdate() { if(window.getSelection().rangeCount > 0) return; var entries = document.getElementsByClassName("published timestamp"); for(var i=0; i<entries.length; i++) { var nowDate = new Date(); var pubDate = new Date(entries[i].getAttribute("data").split(/'/)[1]); var dta = new Array(pubDate.getFullYear(), pubDate.getMonth()+1, pubDate.getDate(), pubDate.getHours(), pubDate.getMinutes(), pubDate.getSeconds()); var pDate = (nowDate.getFullYear() != dta[0] ? dta[0]+"/" : "") + dta[1]+"/"+(dta[2]<10?"0":"")+dta[2]; var pTime = dta[3]+":"+(dta[4]<10?"0":"")+dta[4]; var deltaStr; var deltaSec = (nowDate.getTime() - pubDate.getTime())/1000; var dsa = new Array(Math.floor(deltaSec/86400), Math.floor(deltaSec%86400/3600), Math.floor(deltaSec%3600/60), Math.floor(deltaSec%60)); if (deltaSec < 60) deltaStr = "" + dsa[3] + "秒前"; else if(deltaSec < 3600) deltaStr = "" + dsa[2] + "分" + (dsa[3]<10?"0":"")+dsa[3] + "秒前"; else if(deltaSec < 86400) deltaStr = "" + dsa[1] + "時間" + (dsa[2]<10?"0":"")+dsa[2] + "分前"; else deltaStr = "" + dsa[0] +"日"+(dsa[1]<10?"0":"")+dsa[1]+"時間前"; entries[i].innerHTML = pDate + " " + pTime + " ["+deltaStr+"]"; } } setInterval("twittimeUpdate()",1000);
2009/07/21(火)発狂★BMSがしたい
2016.12.31 追記 時代が進めば便利な者が出てくるもので、 http://tumblr.ribbit.xyz/post/129562866015/bemusicseeker-%E6%AD%A3%E5%BC%8F%E7%89%88%E3%82%92%E5%85%AC%E9%96%8B%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F-v030 こちらのツールの方が便利そうです。
まとめてダウンロードできるサイトはないかn(殴
まぁ、それはさておき仮にダウンロードしたとしても
私はBMSをちゃんと整理できていないので、
どこにどの曲があるか行方不明なんですよね……。
うーん。
……。
差分のインストールを簡単にやってくれる感じで。
BMSがインストールされているフォルダをDnDで登録してから、
インストールしたいBMSファイルをドロップすると、探してくれます。
たまに間違えますが……
BmsSabunSuggester.zip
やる気のないソースコード付き
タグ: BMS 差分 譜面 簡単 インストール 自動 検索
そんなん車輪の再発明だろが、というコメントをお待ちしております。
2008/06/05(木)UltraVNCでWin+Rキーを押してはよくイライラしている方に捧げるDLL
ZIP ultrawinr.zip
rICHeD32.dll という奇妙な名前のDLLが入っています。x86向けにビルドしてます。
このDLLをUltraVNCのビューワ.exe と同じところにおいて、ビューワに読み込むDLLを勘違いさせてみた場合、VNCの窓が前面にあるときだけ、WinキーがCtrl+ESCに化けます。ファイル名を指定して実行とか、デスクトップの表示とか、その辺をよく使っていて、かつVNCごしにはそれが使えなくていらいらしている人向けのDLLです。
2007/12/04(火)みどねっと MIDI on NETWORK
MIDI/WAVE トンネルソフト # このVSTのご時世に!
おうちのMU2000EX(ハード音源)を、部室から使うために作りました。
おうちでサーバを建て部室からつなぐと、
部室に音源を持って行かなくても、おうちのMU2000EXを使うことができます。
これはべんり;p