[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src core/Peak.cpp traverso/songcanvas/...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src core/Peak.cpp traverso/songcanvas/... |
Date: |
Mon, 24 Sep 2007 20:25:02 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/09/24 20:25:02
Modified files:
src/core : Peak.cpp
src/traverso/songcanvas: AudioClipView.cpp CurveView.cpp
Log message:
* back to painting waveforms with one datapoint for each pixel instead
of skipping each second pixel
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Peak.cpp?cvsroot=traverso&r1=1.56&r2=1.57
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.94&r2=1.95
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/CurveView.cpp?cvsroot=traverso&r1=1.58&r2=1.59
Patches:
Index: core/Peak.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Peak.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- core/Peak.cpp 24 Sep 2007 18:46:07 -0000 1.56
+++ core/Peak.cpp 24 Sep 2007 20:25:02 -0000 1.57
@@ -245,7 +245,7 @@
}
if (pixelcount <= 0) {
- return 1;
+ return NO_PEAKDATA_FOUND;
}
ChannelData* data = m_channelData.at(chan);
@@ -265,8 +265,8 @@
// Check if this zoom level has as many data as requested.
if ( (pixelcount + offset) >
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR]) {
// YES we know that sometimes we ommit the very last
'pixel' to avoid painting artifacts...
-// PERROR("pixelcount exceeds available data size!
(pixelcount is: %d, available is %d", pixelcount,
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR] -
offset);
- pixelcount =
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR] - offset;
+ PERROR("pixelcount exceeds available data size!
(pixelcount is: %d, available is %d", pixelcount,
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR] -
offset);
+// pixelcount =
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR] - offset;
}
nframes_t readposition =
data->headerdata.peakDataLevelOffsets[zoomLevel - SAVING_ZOOM_FACTOR] + offset;
@@ -898,9 +898,8 @@
}
// Make sure the read buffer is big enough for this read
- buffer->check_buffers_capacity(count*2, 1);
+ buffer->check_buffers_capacity(count, 1);
- // printf("read_from:: after_seek from %d, framepos is %d\n", start,
m_readPos);
Q_ASSERT(m_d->file);
int framesRead = fread((void*)buffer->readBuffer, sizeof(peak_data_t),
count, m_d->file);
@@ -908,7 +907,7 @@
peak_data_t* readbuffer = (peak_data_t*)(buffer->readBuffer);
for (int f = 0; f < framesRead; f++) {
- buffer->destination[0][f] = readbuffer[f];
+ buffer->destination[0][f] = float(readbuffer[f]);
}
m_readPos += framesRead;
Index: traverso/songcanvas/AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -b -r1.94 -r1.95
--- traverso/songcanvas/AudioClipView.cpp 24 Sep 2007 19:15:09 -0000
1.94
+++ traverso/songcanvas/AudioClipView.cpp 24 Sep 2007 20:25:02 -0000
1.95
@@ -253,9 +253,8 @@
int channels = m_clip->get_channels();
int peakdatacount = microView ? pixelcount : pixelcount * 2;
- int buffersize = microView ? sizeof(short) * peakdatacount :
sizeof(peak_data_t) * peakdatacount;
float* pixeldata[channels];
- float curvemixdown[buffersize];
+ float curvemixdown[peakdatacount];
Peak* peak = m_clip->get_peak();
if (!peak) {
@@ -270,9 +269,9 @@
int availpeaks = peak->calculate_peaks( chan,
&pixeldata[chan],
- microView ?
m_song->get_hzoom() : m_song->get_hzoom() + 1,
+ m_song->get_hzoom(),
(xstart *
m_sv->timeref_scalefactor) + clipstartoffset,
- microView ?
peakdatacount : peakdatacount / 2);
+ peakdatacount);
if (peakdatacount != availpeaks) {
// PWARN("peakdatacount != availpeaks (%d, %d)",
peakdatacount, availpeaks);
@@ -337,12 +336,12 @@
pixeldata[chan][i] *=
curvemixdown[curvemixdownpos];
i++;
pixeldata[chan][i] *=
curvemixdown[curvemixdownpos];
- curvemixdownpos += 2;
+ curvemixdownpos ++;
}
} else {
- for (int i = 0; i < (pixelcount*2);
i+=2) {
+ for (int i = 0; i < pixelcount; i++) {
pixeldata[chan][i] *=
curvemixdown[curvemixdownpos];
- curvemixdownpos += 2;
+ curvemixdownpos ++;
}
}
}
@@ -465,7 +464,7 @@
QPolygonF polygonbottom(pixelcount);
int range = pixelcount;
- for (int x = 0; x < range; x+=2) {
+ for (int x = 0; x < range; x++) {
polygontop.append( QPointF(x,
scaleFactor * pixeldata[chan][bufferpos++]) );
polygonbottom.append( QPointF(x,
-scaleFactor * pixeldata[chan][bufferpos++]) );
}
Index: traverso/songcanvas/CurveView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/CurveView.cpp,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- traverso/songcanvas/CurveView.cpp 24 Sep 2007 16:58:39 -0000 1.58
+++ traverso/songcanvas/CurveView.cpp 24 Sep 2007 20:25:02 -0000 1.59
@@ -158,7 +158,6 @@
m_newWhen = m_newWhen + dx * d->scalefactor;
m_newValue = m_newValue - ( dy / d->curveView->boundingRect().height());
- printf("m_newWhen is %f, %d\n", m_newWhen, dx);
TimeRef startoffset = d->curveView->get_start_offset();
if ( ((qint64(m_newWhen) - startoffset) / d->scalefactor) >
d->curveView->boundingRect().width()) {