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 core/Peak.h traverso...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src core/Peak.cpp core/Peak.h traverso...
Date: Tue, 11 Sep 2007 19:52:33 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/09/11 19:52:33

Modified files:
        src/core       : Peak.cpp Peak.h 
        src/traverso/songcanvas: AudioClipView.cpp 

Log message:
        * do not translate waveform drawing one pixel to the right!!
        * added xscale factor to Peak::calculate_peaks(), not functional right 
now

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Peak.cpp?cvsroot=traverso&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Peak.h?cvsroot=traverso&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.85&r2=1.86

Patches:
Index: core/Peak.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Peak.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- core/Peak.cpp       11 Sep 2007 18:37:30 -0000      1.48
+++ core/Peak.cpp       11 Sep 2007 19:52:33 -0000      1.49
@@ -211,9 +211,13 @@
 }
 
 
-int Peak::calculate_peaks(float** buffer, int zoomLevel, nframes_t startPos, 
int pixelcount )
+int Peak::calculate_peaks(float** buffer, int zoomLevel, nframes_t startPos, 
int pixelcount, qreal& xscale)
 {
        PENTER3;
+       
+       // TODO determine the real xscale value
+       xscale = 1.0;
+       
        if (permanentFailure) {
                return PERMANENT_FAILURE;
        }

Index: core/Peak.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Peak.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- core/Peak.h 28 Aug 2007 19:51:52 -0000      1.15
+++ core/Peak.h 11 Sep 2007 19:52:33 -0000      1.16
@@ -118,7 +118,7 @@
        void process(audio_sample_t* buffer, nframes_t frames);
        int prepare_processing();
        int finish_processing();
-       int calculate_peaks(float** buffer, int zoomLevel, nframes_t startPos, 
int count);
+       int calculate_peaks(float** buffer, int zoomLevel, nframes_t startPos, 
int count, qreal& xscale);
 
        void close();
        

Index: traverso/songcanvas/AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -b -r1.85 -r1.86
--- traverso/songcanvas/AudioClipView.cpp       11 Sep 2007 15:15:08 -0000      
1.85
+++ traverso/songcanvas/AudioClipView.cpp       11 Sep 2007 19:52:33 -0000      
1.86
@@ -231,9 +231,6 @@
        // when using a different color for the brush then the outline.
        // Painting 2 more pixels makes it getting clipped away.....
        pixelcount += 2;
-       // Seems like we need one pixel more to the left as well, to 
-       // make the outline painting painted correctly...
-       xstart -= 1;
        // When painting skips one pixel at a time, we always have to start
        // at an even position with an even amount of pixels to paint
        if (xstart % 2) {
@@ -261,7 +258,7 @@
        float pixeldata[channels][buffersize];
        float curvemixdown[buffersize];
        
-       
+       qreal xscale;
        // Load peak data for all channels, if no peakdata is returned
        // for a certain Peak object, schedule it for loading.
        for (int chan=0; chan < channels; chan++) {
@@ -277,7 +274,8 @@
                int availpeaks = peak->calculate_peaks( &buffers[chan],
                                                        microView ? 
m_song->get_hzoom() : m_song->get_hzoom() + 1,
                                                        (xstart * 
m_sv->scalefactor) + clipstartoffset.to_frame(audiodevice().get_sample_rate()),
-                                                       microView ? 
peakdatacount : peakdatacount / 2);
+                                                       microView ? 
peakdatacount : peakdatacount / 2, 
+                                                       xscale);
                
                if (peakdatacount != availpeaks) {
 //                     PWARN("peakdatacount != availpeaks (%d, %d)", 
peakdatacount, availpeaks);
@@ -414,7 +412,7 @@
                        }
                
                        ytrans = height * chan;
-                       p->setMatrix(matrix().translate(1, ytrans), true);
+                       p->setMatrix(matrix().translate(0, ytrans), true);
                        p->drawLine(xstart, 0, xstart + pixelcount, 0);
                        p->restore();
                }
@@ -431,7 +429,7 @@
                                ytrans = (height / 2) + (chan * height);
                        }
                        
-                       p->setMatrix(matrix().translate(1, ytrans), true);
+                       p->setMatrix(matrix().translate(0, ytrans), true);
                        
                        if (m_clip->is_selected()) {
                                
p->setPen(themer()->get_color("AudioClip:channelseperator:selected"));
@@ -514,7 +512,7 @@
                                
                        }
                                                
-                       p->setMatrix(matrix().translate(1, ytrans), true);
+                       p->setMatrix(matrix().scale(xscale, 1).translate(0, 
ytrans), true);
                        p->drawPath(path);
                }
                




reply via email to

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