[Top][All Lists]
[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
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-devel] Re: [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp,
ben levitt <=