リアルタイムで高度なオーディオ波形処理を行いたい場合や複雑なルーティングによるオーディオ処理を実現したい場合、これを使用する必要が出てきます。ひさびさに触ってみた際にとっつきにくさを感じました。関数の引数がやたら多かったり、構造体の要素がやたら多かったり、慣れてないC言語APIだったりするので、久しぶりに触るとそのあたりが複雑に感じてしまうのかなと。そのあたりの「シンプルな全体感」と、「複雑に感じてしまう部分」を切り分けて見ることができるよう、メモっておきます。基本コンセプトは、「いろいろなユニットを複数接続し、オーディオ処理を実現する」というもの。そのひとつひとつのユニットがノード(AUNode)、それらが繋がっている全体がグラフ(AUGraph)。この考え方や呼称は直観的にもわかりやすいです。実際の実装手順としても、大まかにいうと下記のように非常にわかりやすいです。この流れさえ把握しておけば、後述する「一見複雑そう」な諸々が出てきても全体感は見失わずにすむかと。グラフを初期化して処理開始AUGraphInitialize(graph);AUGraphStart(graph);で、これに、下記要素が絡んできます。触るとうわー難しいってなるのかなと。そんなわけで、整理のため以下にひとつひとつ紐解いておきます。ユニットの場合は下記のようになります。&ioNode);こうやって書いてしまうと全然難しいものではないのですが、構造体の要素の数が多く、各定義名も長いので、パッと見のコードの複雑さを助長している気がします。