traverso-commit
[Top][All Lists]
Advanced

[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()) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]