I got the flickering worked out; however the only thing now that is
lacking is the wave itself.
I know it is drawn in the DrawWave method and then this method calls
the redraw method which in turns calls draw again. This is the thing I
do not understand, once the canvas is paint with the paint event the
only method which is called is drawwave and it is called by the timer.
Now why am I not seeing the vertical lolipops representing the values
of the samples that are drawn from the middle red line.

A side note is that the display shrinks almost half of the width. This
maybe because of a drawpicture parameter in error. But I do not detect
this either.

any hints on how to troubleshoot this problem of not seeing the wave?
Definitely after this is solved, I can post it to the list.

thanks to all,

luis

On 2/17/07, E. Tejkowski <[EMAIL PROTECTED]> wrote:
>
> On Feb 17, 2007, at 8:58 AM, Luis Cordova wrote:
>
> > great. I changed the blockmovedata to memmove and set CoreServices
> > to point to C:\WINDOWS\system32\crtdll.dll which is the dll that holds
> > the memmove function and it works now; I just tried a wav file and it
> > looks like it flickers a lot but at least I see the canvas, the wave
> > is also being erased as it advances and again lots of flickering, I
> > bet this is not the case in a Mac so I would probably have to adjust
> > some more parameters. Has anyone seen the same flickering?
>
> Yes, what everyone else has said… double buffering. Basically you
> draw everything to a Picture first and then at the last second you
> draw that picture to the canvas. This will stop flicker compared to
> drawing each individual thing to the canvas itself. Mac OS X doesn't
> have to worry about this because the OS itself has double-buffering
> built-in. Mac OS 9, Win32, and Linux(?) require this for no flicker
> drawing. Joe Strout once explained this on the list years ago and I
> made a flicker free class from his post that I've used ever since.
> You can download a copy here.
>
> http://sonicamigos.com/etejkowski/code/flickerFreeCanvas.zip
>
> I believe that I started the waveform canvas off with the intention
> of it being double buffered for other operating systems, because all
> of the elements of the above canvas are included in the waveform
> code. Somewhere along the way I must have stopped paying attention to
> it, since I was programming on OS X. The problem appears to be in the
> Draw function. All of the g.SomeFunction calls are probably what's
> causing the problem. They need to be drawing to an "offscreen"
> picture object, not to g. Then, you draw that offscreen picture
> object to g. If I had a Windows machine handy, I'd help. But I don't,
> so it's tough for me to debug. I'm confident it could be fixed with
> about 2 minutes of work. Maybe you could post your semi-working
> example and some Win32 folks on the list who understand double-
> buffering can help tweak it. Sorry that I can't help more. If you get
> this fixed, let me know and I'll include the changes in my download
> for other's benefit.
>
> Erick_______________________________________________
> Unsubscribe or switch delivery mode:
> <http://www.realsoftware.com/support/listmanager/>
>
> Search the archives:
> <http://support.realsoftware.com/listarchives/lists.html>
>


-- 
-------------------------------------------------------
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to