painter->fillPath(path,QBrush(QColor(200,200,200,127)));
//for test
int channels=2;
- kDebug() << "audio frames=" << baseClip()->audioFrameChache.size() ;
- for (int channel=0;channel<channels;channel++){
+ kDebug() << "audioframes=" << baseClip()->audioFrameChache.size();
+ for (int frame=0;frame<10 && frame+1< baseClip()->audioFrameChache.size();frame++){
QRectF re=path.boundingRect();
- int y=re.y()+re.height()*channel/channels+ (re.height()/channels)/2;
- painter->drawLine(re.x() , y, re.x() + re.width(), y );
+
+ QMap<int,QByteArray> frame_channel_data=baseClip()->audioFrameChache[frame];
+ kDebug() << "size=" <<frame_channel_data.size() << " " << frame_channel_data[0].size();;
+ int audio_frame_samples=frame_channel_data[0].size();
+ for (int samples=0;samples<audio_frame_samples/*AUDIO_FRAME_SIZE*/;samples++){
+ for (int channel=0;channel<channels && frame_channel_data[channel].size()> 0;channel++){
+
+ int y=re.y()+re.height()*channel/channels+ (re.height()/channels)/2;
+ painter->drawLine(re.x() + frame*audio_frame_samples+samples , y+frame_channel_data[channel][0], re.x() +frame*audio_frame_samples+samples+1 /*+ re.width()*/, y+frame_channel_data[channel][0] );
+ }
+ }
}
}
// draw start / end fades