OBS複数サイト同時配信プラグイン(ソースコード付き)

1. 現状 1.1. OBS複数起動 1.2. OBSの録画機能を使ってURLに出力する 1.3. nginx-rtmpで自前中継サーバーを立つ 1.4. Restream.ioのサービスを利用する 1.5. OBSの代わりにXSplitを利用する 1.6. RtmpRelayerを利用する 2. 自作プラグイン 2.1 …

3D関連理論と2D平面に「立方体」を描く

3D

前の会社はPS4、XBOXなどのコンソールゲームを開発する仕事をやってた。 今の仕事はゲーム開発と関連ありませんが、只今春節休み中、特にやることなくて詰まらない。3D関連の理論を復習してあれそれ実験をやってみる。 目標は2D絵の関数で立体に見える立…

デレステ譜面フィルター

久しさ記事を書いた。 最近デレステを遊んだ。私は大学生のときから音ゲーに興味が起こる。 そしてネット友はデレステのスクリーンショットを見てくれたあと、始めた。ユビート遊んだとき、Jubeat Analyzerというツールがあるが、デレステにそんなツールはな…

lstrcmpA ≠ strcmp

多分中二病の発症とか何とか、とりあえず理由は忘れた。 何年前に私は書いたインポートライブラリ作成ツールに、文字列の比較はC言語のstrcmpの代わりにWindows APIのlstrcmpAを使った。 VC用の.libファイルに、二番目のメンバーはこのライブラリーに全部使…

フィボナッチ数の計算

久しぶり、雷鳴です。一昨年7月から社会人になった。いろいろ忙しい(たぶん)ので記事を全然書いてないorzアルゴリズムに上手なプログラマーはわりに人気のようだ。でも自分はアルゴリズムに下手なんだ。 だからすこしアルゴリズム技が進めばいいと思って…

暗黙的リンクのライブラリ編集ツール2

一昨日公開したツールで、 Noprefixの意味を誤解した。Prefixは正規表現で言えば 「[\?\@_]*」 ではなく「[\?\@_]」です。 だからプログラムをまた更新した。再うpして一昨日の記事にもダウンロードリンクを更新した

STDCALL対策:VC用暗黙的リンクのライブラリ編集ツール(ソース公開)

DLL

DLLを暗黙的リンクする時、インポートライブラリを使用する。 よくDLLを使うプログラマーたちはこのパターンに詳しいと思う:DEFファイルを書く→LIB.EXEツールでDEFファイルからLIBファイルに変更する→自分のコードにリンクする。 しかしこの場合に、このパ…

自作VC用DLLの暗黙的リンク用ライブラリの作成ツール(ダウンロード有)

DLL

二週間作ったインポートライブラリー作成ツール。DLL持てるがLIBはない場合に使える。 このツールを使うためにDLLに暗黙的リンクについて常識は必要です。LIB.exeツールでDEFから作ったLIBは、よく使えないことがある。特にx86 例えばcalc.dllにaddと言う関…

特定な場合で仮想メソッドの呼び出しを高速化する方法

C++

一昨日に考えたことです。 CRC16の計算に、こういうインターフェイスを設計した。class ICrc16 { public: virtual ~ICrc16() = 0 {} virtual void ProcessBit(bool val) = 0; virtual void ProcessByte(char val) = 0; virtual void ProcessBlock(char* ptr,…

GIMP 2.8ツールオプションに文字消えるバグの回避パッチの作成方法

GIMP 2.8 (Win32)は中国語および日本語OSで実行する時、 ツールオプションに文字はよく消える。 回避対策として環境変数のLANGをenに設定すればいい。前に私はその「環境変数LANGをenにする」って手順をEXEに入らせる。 今はその方法より簡単な方法を…

GIMP 2.8.4 Win32に対応するパッチ

原理など詳しくはこちらへ→ http://d.hatena.ne.jp/sorayukinoyume/20130206 とりあえず原理など同じです。文字の消えることに対応するパッチ。 昨日記事のトラックバックからGIMPの初心者質問掲示板を発見した。 そこに2.8.4の更新情報を手に入れた。 そし…

GIMP 2.8.2はWin32でツールオプションに文字が消えるバグ修正パッチ

GIMP 2.8.2は中国語版、日本語版Windowsで実行するとき、 ツールオプションに文字は時々消える。 これで使えないと思う。 BugZillaに報告すると、ほかのレポに統合された。 https://bugzilla.gnome.org/show_bug.cgi?id=668239 あのレポをよく見ると、対策は…

Audacityの改造とLRC/字幕エディターとしての利用

Audacityはオープンソースのツールから、ソースを編集して再構築すればいいですが。再構築は面倒そうなので直接バイナリを編集する方法を使った。 うほっ!WAVEエディターです。 LRCの歌詞作りたいとき、Audacityで時間を確認したら精確なタイミング…

仮想マシンでXen+NetBSD Dom0遊ぶ

しばらくDomUの準仮想化OSをインストールしていない。 こうする理由は特になかった。タイトルの言う、遊び。まずはVMWare Playerの仮想マシンにNetbsd 6.0/i386をインストールする。 この段階は簡単です。普通のOSインストールと特に何か違いはない。イン…

Linuxでkernelを再構築せず自分のシステムコールを追加(偽)する

最近、仮想記憶システムを勉強するためCR3レジストとページテーブルをアクセス必要がある。 Ring3でアクセスできないので、OSのカーネルにする。しかしどうするとカーネルに入れるのかなって。 ネットで検索して、Linuxで一番簡単な方法はカーネルモジュー…

Boost.Spirit.Qiで自作int型パーサーの使用

Boost.Spirit.Qiはパーサー作成のライブラリです。 このライブラリの説明書に、主に文字列の解析で説明した。 ほかの型も解析できると思うが、今試した。int型の解析器で練習してた。いろいろの問題に会ったが最後にできた。まず、基本のパーサーを作る。Qi…

C++でスタックでメモリ確保

C++

動的配列を作るとき、普段でnewとかmallocとか使う。 それはヒープからメモリブロックを取得するのです。 小さいメモリブロックを取得する時、性能的にスタックから取得より低いと思う。スタックからメモリブロックの取得は、allocaと言う関数がありますが、…

mciSendStringでMP3再生するときID3v2のせいで起こる遅延の計算(C++コード付き)

昨日言ったこと。 自分で書いた計算のC++コードは大体この感じ double CheckMp3_mciSendStringWorkAround(std::istream& mp3file) { char id3[3]; mp3file.read(id3, 3); if(mp3file.gcount() != 3) throw MyException("Fail to read id3v2 tag"); if(std::e…

Jubeat Analyzerとmp3ファイル

一応Jubeatプレイヤーです。最近Air Raid From Tha Undaground通れなくて困ってる。 JubeatクラスタにJubeat Analyzerはすごく有名なツールです。TXT形式の譜面スクリプトを再生できる。まるでゲーセンのユビートと同じです。譜面確認とかすごい便利なツール…

.netでGDI+の使用とガベージコレクション機能

Jubeat Analyzerは譜面動画のフレーム出力機能があります。 そして私はニコニコとかの動画サイトで数字付くの譜面動画を見たことがある。その数字はどう追加するのだろう。キーワードとかわからなくてネットで検索して役に立てる情報出ていない。譜面情報を…

昨日書いた文字列コード変換のこと・・・

C++

mbstate_t state;と書いたよね。それじゃだめです。 よくみると、このmbstate_tはただのintです。 構造関数がありません。 ローカル変数なので初期化しなければならない。 おかしい変換結果になるよ。 だからmbstate_t state = 0;と書けばいい。デフォルトの…

C++で文字列コードを変換する

C++

最近、jubeat analyzerの譜面からyubiosiの譜面への変換機を作った。 その中に、文字列コードの問題に会った。jubeat analyzerの譜面は、Shift-JISコードのテキストファイルだ。 私の使っているOSは中国語のだ。だから読み込んだ文字列は化けになる。ネッ…

STLのコンテナで自作のallocatorを使う

C++

特に理由もなく、突然自作allocatorをSTLコンテナ、文字列で試したいです。STLで、デフォルトのstd::allocatorがある。vectorを使う時、allocatorを指定しなかったらそれを使う。 VC2010のSTLのvectorヘーダに、こういうコードがある template<class _Ty, class _Ax = allocator<_Ty> > class vecto</class>…

SilverLightで動画エフェクト使用

昨日退屈なのでSilverlightで何かを試しようと思った。 なんというかネットで検索して動画エフェクトのブログとかいっぱい出る。 しかし理解しにくい。XAMLによく知らない私にいきなりxxx.Resourceで動画追加とか流石に。 いろいろ探して、自分を試して、C…

PortAudioの低遅延について

リアルタイムの要求はちょっと厳しい場合、 私はPortAudioのDirectSound HostAPIを使う (PortAudioのコンパイル時DS以外全部禁止した)しかしそれでも遅延が長いようだ ネットで検索して、 http://www.portaudio.com/docs/latency.html ←これは出った。変数…

アンタイトル

確かに明らかに学部生と違っている。 授業は学部生の時ほど多くない。 でも授業以外に全部は自由な時間のわけではない。 先生は何かの「プロジェクト」をしていて、 院生たちはそのプロジェクトに手伝って勉強になれる。私もそうだ。私の先生はLinuxシステム…

foobarのランダム再生強化プラグイン

foobarのプレイリストに曲は500以上あるのに なんでランダム再生の時いつも少ない幾つの何曲ばかり再生してる?友たちは「そのランダム、規律あるよ」って教えてくれた。じゃあ自分でランダム再生支援のプラグインを作ってみよう MT19937を使おうそして:…

自作PCゆびっと

この間暇々(←てまえ!本当ですか!)してるから何かを作ってみようと思って 前にXNAの本を買ったからXNAで何かを作ろう。 考えたらゆびっとのエンゲージはそんなに難しいもないので試しに作る。Update関数とDraw関数、前者はゲームの論理で後者はゲームの画…

無料でVC2003ToolkitコンパイラーとSP1の取得する方法

MS社のVC2003tookitはもう公開停止になった。 しかし特別な場合にそれが必要な時がある。 そして試しに使いたい人もいる。私はそのコンパイラーまた関するライブラリーを手に入る方法を探した。 MS社のウェブサイトで.net framework 1.1のSDKをダウンロード…

最近買ったDVDライター with Lite-on社のラベルタグ技術

私はネットで新しいDVDライターを買った Lite-on社のeNAU508だ。紹介にラベルタブ技術のことを書いてあるので ちょっと試してみようと思った。ニコ動で落としたPVとかの動画をVCDに変換して CD-Rに焼いた。←このようなものだ 何だかよく見えなかったらしいDV…