プログラミング( 2 )

Category
メモリ上のデータからNSImageオブジェクトを作成する
CocoaFrameworkのNSImageオブジェクトをメモリ上の画像ファイルデータから作成する方法についてのメモ書きです。 これが出来るようになると、例えば汎用ストリームから画像データを読み込む処理も実現できるようになります。 サポートしている画像ファイルの形式はBMPやPNG、JPEGなどです。 画像データは既に...
2271 PV
Macにboostをインストールする(ソースからビルド)
前回のこちらの記事でMacPortsを使ってboostをインストールする方法を紹介しました。 今回はboostのソースを一からビルドしてMacにインストールする方法について書き記したいと思います。 ■インストール 以下サイトにアクセスし、boostのソースをダウンロードします。  http://www.boost.or...
3684 PV
Macにboostをインストールする(MacPortsを使う)
MacでC++向けライブラリのboostを使えるようにするための手順についてのメモ書きです。 ■インストール boostのインストール方法には以下の二通りあります。  ・ソースファイルをダウンロードしてビルドする  ・MacPortsを使う 結論から言うと、2つ目のMacPortsを使ってインストールしたほうが劇的に楽...
1928 PV
COMオブジェクトでスマートポインタを使う
COMオブジェクトをスマートポインタで管理する方法のメモ書きです。 boost::shared_ptrはnew/deleteでインスタンス生成・開放するオブジェクトに対して使えますが、 COMオブジェクトのようにReleaseでオブジェクトを開放するものに対しては使えません。 そこで、boost::intrusive_...
3283 PV
VisualStudioのビルドでLNK4042が発生してしまう問題
VisualStudioのビルドで嵌ったことについてのメモです。 VS2013を使っていて、同じ名前のソースファイルが無いにもかかわらず以下のエラーが表示されてしまうことがあります。  1>DebugSource.obj : warning LNK4042: オブジェクトの指定が重複しています。余分なものは無視されます...
6827 PV
Windows ACMでPCMをリサンプリングする
WindowsアプリケーションからPCMデータをリサンプリングする方法についてのメモ書きです。 リサンプリング処理はプログラマが直に書いても良いですが、出来れば楽したいのでAPIを用いて実現できないかどうかと考えていました。 結果、ACMを用いれば実現できることが分かりました。 ACM自体はMP3データのデコードでも使...
3455 PV
WAVEファイルの作成
前回の記事の続きです。 アプリケーション上で保持しているPCMデータをWAVEファイルとして保存するプログラムについての解説です。 WAVEファイルの構造につきましてはこちらをご覧ください。 WAVEファイルはRIFF形式で保存され、フォーマットチャンクとデータチャンクが最低限必要になります。 まず、RIFFチャンクの...
2546 PV