🤖

ASIOドライバを最小構成でビルドする

2021/03/07に公開

Steinbergが提供するASIOドライバのSDKに関する記事です。

SDK付属のサンプルプロジェクトから開くとうまくビルドできるものの、新規でプロジェクトを作るとうまく動かない問題に決着をつけた過程を記します。

手っ取り早くプロジェクトだけほしい方はこちらからよろしくお願いいたします。
https://github.com/kodai100/SimplifiedAsioAudioDriver

SDKのダウンロード

以下ページよりASIO SDKをダウンロードし、展開してください。

https://new.steinberg.net/developers/

VisualStudioプロジェクトの作成

どれでもいいのですが、ひとまずC++コンソールアプリケーションで作成します。

ファイルをプロジェクトにコピー

ASIO SDKの以下のファイル群をプロジェクトにコピーします

ヘッダ

ソース

プロジェクト設定

Project > プロパティより、プロジェクト設定を開き、以下の設定を行います。

追加のインクルードディレクトリ

ヘッダを移したフォルダパスを指定します

文字セット

デフォルトでUnicodeになっているのを、マルチバイト文字に変更します。

SDLチェック

有効になっているのを、無効にします。

準拠モード

有効になっているのを、無効にします。

追加の依存ファイル

どこで使用しているのかはわかりませんが、ASIOのサンプルプロジェクトで記入されていたので一応入れておきます。

  • odbc32.lib
  • odbccp32.lib
  • winmm.lib

main関数で動作チェック

#include <stdio.h>
#include <string.h>
#include <iostream>
#include "asiosys.h"
#include "asio.h"
#include "asiodrivers.h"

int main()
{

	AsioDrivers asioDrivers;

	char buffer[10][32] = {};
	char* buf[10];

	for (int i = 0; i < 10; ++i) {
		buf[i] = buffer[i];
	}
	asioDrivers.getDriverNames(buf, 10);

	for (int i = 0; i < 10; ++i) {
		std::cout << buf[i] << std::endl;
	}

}

これで無事ASIOドライバデバイスの一覧が表示されれば成功です。

最後に

おつかれさまでした。

Discussion