commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r9178 - gnuradio/branches/features/experimental-gui/pl


From: jblum
Subject: [Commit-gnuradio] r9178 - gnuradio/branches/features/experimental-gui/plotter
Date: Tue, 5 Aug 2008 20:40:55 -0600 (MDT)

Author: jblum
Date: 2008-08-05 20:40:54 -0600 (Tue, 05 Aug 2008)
New Revision: 9178

Modified:
   gnuradio/branches/features/experimental-gui/plotter/waterfall_plotter.py
Log:
resize in gl thread only

Modified: 
gnuradio/branches/features/experimental-gui/plotter/waterfall_plotter.py
===================================================================
--- gnuradio/branches/features/experimental-gui/plotter/waterfall_plotter.py    
2008-08-06 02:32:05 UTC (rev 9177)
+++ gnuradio/branches/features/experimental-gui/plotter/waterfall_plotter.py    
2008-08-06 02:40:54 UTC (rev 9178)
@@ -89,6 +89,7 @@
                """
                #init
                grid_plotter_base.__init__(self, parent, PADDING)
+               self._resize_buffer_flag = True
                self._minimum = 0
                self._maximum = 0
                self._fft_size = 0
@@ -110,6 +111,8 @@
                Draw the grid and waveforms.
                """
                self.semaphore.acquire(True)
+               #resize buffer
+               if self._resize_buffer_flag: self._resize_buffer()
                #store the grid drawing operations
                if self.changed():
                        glNewList(self._grid_compiled_list_id, GL_COMPILE)
@@ -205,6 +208,7 @@
                        glBindTexture(GL_TEXTURE_2D, self._waterfall_texture)
                        data = numpy.zeros(self._num_lines*self._fft_size*4, 
numpy.uint8).tostring()
                        glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, self._fft_size, 
self._num_lines, 0, GL_RGBA, GL_UNSIGNED_BYTE, data)
+               self._resize_buffer_flag = False
 
        def set_color_mode(self, color_mode):
                """!
@@ -227,7 +231,7 @@
                """
                self.semaphore.acquire(True)
                self._num_lines = num_lines
-               self._resize_buffer()
+               self._resize_buffer_flag = True
                self.semaphore.release()
 
        def set_samples(self, samples, minimum, maximum):
@@ -247,7 +251,7 @@
                if self._fft_size != len(samples):
                        self._fft_size = len(samples)
                        self._buffer = list() #empty buffer before resize
-                       self._resize_buffer()
+                       self._resize_buffer_flag = True
                #normalize the samples to min/max
                samples = (samples - minimum)*float(255/(maximum-minimum))
                samples = numpy.clip(samples, 0, 255) #clip





reply via email to

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