I have fixed plot.py and revised fftsink.py so they work with Mac OS X.

To fix plot.py, in PlotCanvas.__init__ I changed this:

  if wx.Platform != "__WXMAC__":
      self.OnSize(None) # sets the initial size based on client size

To this:

  self.OnSize(None) # UNCONDITIONAL, needed to create self._Buffer

Without this fix, fftsink repeatedly fails in PlotCanvas.OnPaint, with
a traceback complaining 'fft_window' object has no attribute '_Buffer'.
_Buffer is assigned (and thus created) in PlotCanvas.OnSize.
Apparently OnSize should be called before OnPaint, but this does not
happen on Mac OS X when the "if ..." is left in place.

In addition to fixing plot.py, I had to revise fftsink.py so wxgui
displays only 1 in nscans traces, to avoid overloading wxgui on the Mac.
The changes were essentially the same as I made in scopesink.py, as
described earlier today in

 http://lists.gnu.org/archive/html/discuss-gnuradio/2005-07/msg00197.html

You can set nscans on the command line (from argv[1]). fftsink updates the
display when nscans >= 3.

To bring up the menu of fftsink controls, ctrl-click instead of right
click.  The Mac has only one mouse button.

Jon Jacky






_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to