Merge remote branch 'nldudok1/gr-wxgui_emulate_analog' into master
authorJohnathan Corgan <jcorgan@corganenterprises.com>
Thu, 13 May 2010 19:29:59 +0000 (12:29 -0700)
committerJohnathan Corgan <jcorgan@corganenterprises.com>
Thu, 13 May 2010 19:29:59 +0000 (12:29 -0700)
* nldudok1/gr-wxgui_emulate_analog:
  Add analog CRT screen afterglow emulation for gr-wxgui

Conflicts:
gr-wxgui/src/python/fftsink_gl.py
gr-wxgui/src/python/fftsink_nongl.py

1  2 
gr-wxgui/src/python/constants.py
gr-wxgui/src/python/fft_window.py
gr-wxgui/src/python/fftsink_gl.py
gr-wxgui/src/python/fftsink_nongl.py
gr-wxgui/src/python/scope_window.py
gr-wxgui/src/python/scopesink_gl.py

Simple merge
Simple merge
index 8ddea9a8e3fd0109a737a8f5f49a28478e604b5d,564764487ea3fccb49f26f429a548e27e3ae5e96..0d725ea14b3063a25f71b121cfd8965d84de63cf
@@@ -52,8 -53,8 +53,10 @@@ class _fft_sink_base(gr.hier_block2, co
                title='',
                size=fft_window.DEFAULT_WIN_SIZE,
                peak_hold=False,
 +              win=None,
+                 emulate_analog=False,
+                 analog_alpha=None,
 +              **kwargs #do not end with a comma
        ):
                #ensure avg alpha
                if avg_alpha is None: avg_alpha = 2.0/fft_rate
index 937eb27cce936ad14c5243ecc66568bb750833cb,f1c1f43964d10f49e685c76ef8fafebba000bec5..8735e98aef391d52cdab64de0ed2d965f33f0a94
@@@ -93,7 -104,7 +104,7 @@@ class fft_sink_f(gr.hier_block2, fft_si
      def __init__(self, parent, baseband_freq=0, ref_scale=2.0,
                   y_per_div=10, y_divs=8, ref_level=50, sample_rate=1, fft_size=512,
                   fft_rate=default_fft_rate, average=False, avg_alpha=None,
-                  title='', size=default_fftsink_size, peak_hold=False, **kwargs):
 -                 title='', size=default_fftsink_size, peak_hold=False, emulate_analog=False,analog_alpha=0.2):
++                 title='', size=default_fftsink_size, peak_hold=False, emulate_analog=False,analog_alpha=0.2, **kwargs):
  
          gr.hier_block2.__init__(self, "fft_sink_f",
                                  gr.io_signature(1, 1, gr.sizeof_float),
@@@ -136,7 -149,7 +149,7 @@@ class fft_sink_c(gr.hier_block2, fft_si
      def __init__(self, parent, baseband_freq=0, ref_scale=2.0,
                   y_per_div=10, y_divs=8, ref_level=50, sample_rate=1, fft_size=512,
                   fft_rate=default_fft_rate, average=False, avg_alpha=None,
-                  title='', size=default_fftsink_size, peak_hold=False, **kwargs):
 -                 title='', size=default_fftsink_size, peak_hold=False, emulate_analog=False,analog_alpha=0.2):
++                 title='', size=default_fftsink_size, peak_hold=False, emulate_analog=False,analog_alpha=0.2, **kwargs):
  
          gr.hier_block2.__init__(self, "fft_sink_c",
                                  gr.io_signature(1, 1, gr.sizeof_gr_complex),
index f7c0ffa82e6174a779b4fe412b3feaf8eb775c64,a6c7bdb412e68e49a3792885d222dac820b1f9d2..aace8688f2a2e46ed65bace7e711b493bd019b8e
@@@ -85,9 -84,38 +87,40 @@@ class control_panel(wx.Panel)
                WIDTH = 90
                self.parent = parent
                wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
 +              parent[SHOW_CONTROL_PANEL_KEY] = True
 +              parent.subscribe(SHOW_CONTROL_PANEL_KEY, self.Show)
                control_box = wx.BoxSizer(wx.VERTICAL)
+               ##################################################
+               # Emulate Analog
+               ##################################################
+               forms.check_box(
+                       sizer=control_box, parent=self, label='Emulate Analog',
+                       ps=parent, key=EMULATE_ANALOG_KEY,
+               )
+               #static text and slider for analog alpha
+               analog_alpha_text = forms.static_text(
+                       sizer=control_box, parent=self, label='Analog Alpha',
+                       converter=forms.float_converter(lambda x: '%.4f'%x),
+                       ps=parent, key=ANALOG_ALPHA_KEY, width=50,
+               )
+               analog_alpha_slider = forms.log_slider(
+                       sizer=control_box, parent=self,
+                       min_exp=ANALOG_ALPHA_MIN_EXP,
+                       max_exp=ANALOG_ALPHA_MAX_EXP,
+                       num_steps=SLIDER_STEPS,
+                       ps=parent, key=ANALOG_ALPHA_KEY,
+               )
+               for widget in (analog_alpha_text, analog_alpha_slider):
+                       parent.subscribe(EMULATE_ANALOG_KEY, widget.Enable)
+                       widget.Enable(parent[EMULATE_ANALOG_KEY])
+                       parent.subscribe(EMULATE_ANALOG_KEY, widget.ShowItems)
+                         #allways show initially, so room is reserved for them
+                       widget.ShowItems(True) # (parent[EMULATE_ANALOG_KEY])
+               
+                 parent.subscribe(EMULATE_ANALOG_KEY, self._update_layout)
                ##################################################
                # Axes Options
                ##################################################
Simple merge