traverso-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-devel] Re: [Traverso-commit] traverso/src/traverso/songcanvas


From: ben levitt
Subject: [Traverso-devel] Re: [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp
Date: Fri, 19 Oct 2007 10:32:25 -0700

fixed for me.  Thanks!

Ben


On 10/19/07, Remon Sijrier <address@hidden> wrote:
> CVSROOT:        /sources/traverso
> Module name:    traverso
> Changes by:     Remon Sijrier <r_sijrier>       07/10/19 15:42:27
>
> Modified files:
>         src/traverso/songcanvas: AudioClipView.cpp
>
> Log message:
>         * paint waveform classical in 2 passes, a path for top and one for 
> bottom.
>         @ Ben && Nic, does this solve your paint problems ?
>
> CVSWeb URLs:
> http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.110&r2=1.111
>
> Patches:
> Index: AudioClipView.cpp
> ===================================================================
> RCS file: 
> /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
> retrieving revision 1.110
> retrieving revision 1.111
> diff -u -b -r1.110 -r1.111
> --- AudioClipView.cpp   18 Oct 2007 17:48:41 -0000      1.110
> +++ AudioClipView.cpp   19 Oct 2007 15:42:27 -0000      1.111
> @@ -472,24 +472,31 @@
>                                 }
>                         }
>
> -                       QPainterPath path;
> -                       // in rectified view, we add an additional point, 
> hence + 1
> +                       // we add one start/stop point so reserve some more...
>                         m_polygontop.clear();
> -                       m_polygontop.reserve(pixelcount + 1);
> +                       m_polygontop.reserve(pixelcount + 3);
>                         int bufferpos = 0;
>
>                         if (m_classicView) {
> +                               QPainterPath pathtop;
> +                               QPainterPath pathbottom;
> +
>                                 m_polygonbottom.clear();
> -                               m_polygonbottom.reserve(pixelcount);
> +                               m_polygonbottom.reserve(pixelcount + 3);
> +
> +                               m_polygontop.append(QPointF(0, 0));
> +                               m_polygonbottom.append(QPointF(0, 0));
>
>                                 for (int x = 0; x < pixelcount; x+=2) {
>                                         m_polygontop.append( QPointF(x, 
> scaleFactor * pixeldata[chan][bufferpos++]) );
>                                         m_polygonbottom.append( QPointF(x, 
> -scaleFactor * pixeldata[chan][bufferpos++]) );
>                                 }
>
> -                               path.addPolygon(m_polygontop);
> -                               path.lineTo(m_polygonbottom.last());
> -                               path.addPolygon(m_polygonbottom);
> +                               m_polygontop.append(QPointF(pixelcount, 0));
> +                               m_polygonbottom.append(QPointF(pixelcount, 
> 0));
> +
> +                               pathtop.addPolygon(m_polygontop);
> +                               pathbottom.addPolygon(m_polygonbottom);
>
>                                 if (m_mergedView) {
>                                         ytrans = (height / 2) * channels;
> @@ -497,7 +504,14 @@
>                                         ytrans = (height / 2) + (chan * 
> height);
>                                 }
>
> +                               p->setMatrix(matrix().translate(xstart + 
> adjustforevenpixel, ytrans), true);
> +
> +                               p->drawPath(pathtop);
> +                               p->drawPath(pathbottom);
> +
>                         } else {
> +                               QPainterPath path;
> +
>                                 scaleFactor =  (float) height * 0.95 * 
> m_clip->get_gain() / Peak::MAX_DB_VALUE * curveDefaultValue;
>                                 ytrans = height + (chan * height);
>
> @@ -515,12 +529,12 @@
>                                 path.addPolygon(m_polygontop);
>                                 path.lineTo(0, 0);
>
> -                       }
> -
>                         p->setMatrix(matrix().translate(xstart + 
> adjustforevenpixel, ytrans), true);
>                         p->drawPath(path);
>                 }
>
> +               }
> +
>                 p->restore();
>
>
>
>
> _______________________________________________
> Traverso-commit mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/traverso-commit
>




reply via email to

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