オシロスコープで表示できるようなリサージュ波形を描画するには、
x = sin(右チャンネルのオーディオデータ);
y = sin(左チャンネルのオーディオデータ);
という感じでサンプルごとに座標を求めて、線で繋ぐ。
NSViewのサブクラスでこのようなインスタンス変数があるとして、
NSUInteger length; //オーディオデータのサンプル数 float *lPtr; //左チャンネルのオーディオデータ float *rPtr; //右チャンネルのオーディオデータ
以下のようにdrawRectメソッドを記述する。(※2008/7/8 描画する位置をrectではなくboundsから求めるように変更しました)
- (void)drawRect:(NSRect)rect {
    
    NSRect viewRect = [self bounds];
    double halfWidth = viewRect.size.width / 2.0;
    double halfHeight = viewRect.size.height / 2.0;
    
    [[NSColor blackColor] set];
    NSRectFill(
        NSMakeRect(0, 0, viewRect.size.width, viewRect.size.height));
    
    NSBezierPath *path = [NSBezierPath bezierPath];
    [[NSColor greenColor] set];
    [path setLineWidth:1.0];
    
    for (NSUInteger i = 0; i < length; i++) {
        
        double x = sin(rPtr[i]);
        double y = sin(lPtr[i]);
        
        NSPoint point = 
            NSMakePoint(x * halfWidth + halfWidth , 
                y * halfHeight + halfHeight);
        if ([path isEmpty]) {
            [path moveToPoint:point];
        }
        
        [path lineToPoint:point];
    }
    
    [path stroke];
}