File qradiolink-port-to-gnuradio-3_10.patch of Package qradiolink

From 57f0db125fd18b3de2128c4cbf6d47eec44b5a09 Mon Sep 17 00:00:00 2001
From: adrian <adrian@qradiolink.org>
Date: Sun, 30 Oct 2022 09:36:11 -0400
Subject: [PATCH] Port to gnuradio 3.10

---
 qradiolink.pro                  |  2 +-
 src/gr/cessb/clipper_cc.h       |  2 +-
 src/gr/cessb/stretcher_cc.h     |  2 +-
 src/gr/dsss_decoder_cc_impl.cc  |  4 ++--
 src/gr/dsss_decoder_cc_impl.h   |  2 +-
 src/gr/dsss_encoder_bb_impl.h   |  2 +-
 src/gr/gr_4fsk_discriminator.h  |  2 +-
 src/gr/gr_audio_sink.h          |  2 +-
 src/gr/gr_audio_source.h        |  2 +-
 src/gr/gr_bit_sink.h            |  2 +-
 src/gr/gr_byte_source.h         |  2 +-
 src/gr/gr_const_sink.h          |  2 +-
 src/gr/gr_deframer_bb.h         |  2 +-
 src/gr/gr_demod_2fsk.cpp        | 12 ++++++------
 src/gr/gr_demod_2fsk.h          |  6 +++---
 src/gr/gr_demod_4fsk.cpp        | 16 ++++++++--------
 src/gr/gr_demod_4fsk.h          |  6 +++---
 src/gr/gr_demod_am.cpp          | 14 +++++++-------
 src/gr/gr_demod_am.h            |  8 ++++----
 src/gr/gr_demod_base.cpp        | 10 +++++-----
 src/gr/gr_demod_base.h          |  4 ++--
 src/gr/gr_demod_bpsk.cpp        | 10 +++++-----
 src/gr/gr_demod_bpsk.h          | 10 +++++-----
 src/gr/gr_demod_dsss.cpp        | 10 +++++-----
 src/gr/gr_demod_dsss.h          |  8 ++++----
 src/gr/gr_demod_freedv.cpp      | 10 +++++-----
 src/gr/gr_demod_freedv.h        |  8 ++++----
 src/gr/gr_demod_gmsk.cpp        |  6 +++---
 src/gr/gr_demod_gmsk.h          |  6 +++---
 src/gr/gr_demod_m17.cpp         |  6 +++---
 src/gr/gr_demod_m17.h           |  6 +++---
 src/gr/gr_demod_mmdvm.cpp       | 10 +++++-----
 src/gr/gr_demod_mmdvm.h         | 10 +++++-----
 src/gr/gr_demod_mmdvm_multi.cpp | 10 +++++-----
 src/gr/gr_demod_mmdvm_multi.h   | 10 +++++-----
 src/gr/gr_demod_nbfm.cpp        | 14 +++++++-------
 src/gr/gr_demod_nbfm.h          | 10 +++++-----
 src/gr/gr_demod_qpsk.cpp        |  6 +++---
 src/gr/gr_demod_qpsk.h          | 10 +++++-----
 src/gr/gr_demod_ssb.cpp         | 16 ++++++++--------
 src/gr/gr_demod_ssb.h           |  6 +++---
 src/gr/gr_demod_wbfm.cpp        | 12 ++++++------
 src/gr/gr_demod_wbfm.h          | 10 +++++-----
 src/gr/gr_mmdvm_sink.h          |  2 +-
 src/gr/gr_mmdvm_source.h        |  2 +-
 src/gr/gr_mod_2fsk.cpp          |  6 +++---
 src/gr/gr_mod_2fsk.h            |  8 ++++----
 src/gr/gr_mod_4fsk.cpp          |  6 +++---
 src/gr/gr_mod_4fsk.h            | 10 +++++-----
 src/gr/gr_mod_am.cpp            |  8 ++++----
 src/gr/gr_mod_am.h              |  6 +++---
 src/gr/gr_mod_base.cpp          |  8 ++++----
 src/gr/gr_mod_base.h            |  4 ++--
 src/gr/gr_mod_bpsk.cpp          |  2 +-
 src/gr/gr_mod_bpsk.h            |  8 ++++----
 src/gr/gr_mod_dsss.cpp          |  8 ++++----
 src/gr/gr_mod_dsss.h            | 10 +++++-----
 src/gr/gr_mod_freedv.cpp        |  8 ++++----
 src/gr/gr_mod_freedv.h          |  6 +++---
 src/gr/gr_mod_gmsk.cpp          |  6 +++---
 src/gr/gr_mod_gmsk.h            |  8 ++++----
 src/gr/gr_mod_m17.cpp           |  8 ++++----
 src/gr/gr_mod_m17.h             | 10 +++++-----
 src/gr/gr_mod_mmdvm.cpp         |  6 +++---
 src/gr/gr_mod_mmdvm.h           |  6 +++---
 src/gr/gr_mod_mmdvm_multi.cpp   | 10 +++++-----
 src/gr/gr_mod_mmdvm_multi.h     |  8 ++++----
 src/gr/gr_mod_nbfm.cpp          | 18 +++++++++---------
 src/gr/gr_mod_nbfm.h            | 10 +++++-----
 src/gr/gr_mod_qpsk.cpp          |  2 +-
 src/gr/gr_mod_qpsk.h            |  6 +++---
 src/gr/gr_mod_ssb.cpp           | 16 ++++++++--------
 src/gr/gr_mod_ssb.h             |  6 +++---
 src/gr/gr_sample_sink.h         |  2 +-
 src/gr/gr_zero_idle_bursts.h    |  2 +-
 src/gr/limesdr/sink.h           |  2 +-
 src/gr/limesdr/source.h         |  2 +-
 src/gr/rssi_block.h             |  2 +-
 src/gr/rx_fft.cpp               | 20 ++++++++++----------
 src/gr/rx_fft.h                 | 16 ++++++++--------
 80 files changed, 288 insertions(+), 288 deletions(-)

diff --git a/qradiolink.pro b/qradiolink.pro
index e94fff04..60e1413b 100644
--- a/qradiolink.pro
+++ b/qradiolink.pro
@@ -262,7 +262,7 @@ FORMS    += src/mainwindow.ui
 
 
 LIBS += -lgnuradio-pmt -lgnuradio-analog -lgnuradio-fft -lgnuradio-vocoder -lgnuradio-zeromq \
-        -lgnuradio-osmosdr -lvolk \
+        -lgnuradio-osmosdr -lvolk -lfmt \
         -lgnuradio-blocks -lgnuradio-filter -lgnuradio-digital -lgnuradio-runtime -lgnuradio-fec \
         -lboost_system$$BOOST_SUFFIX
 LIBS += -lrt -lpthread # need to include on some distros
diff --git a/src/gr/cessb/clipper_cc.h b/src/gr/cessb/clipper_cc.h
index 7b65362f..19f6a07b 100644
--- a/src/gr/cessb/clipper_cc.h
+++ b/src/gr/cessb/clipper_cc.h
@@ -36,7 +36,7 @@ namespace gr {
     class CESSB_API clipper_cc : virtual public gr::sync_block
     {
      public:
-      typedef boost::shared_ptr<clipper_cc> sptr;
+      typedef std::shared_ptr<clipper_cc> sptr;
 
       /*!
        * \brief Return a shared_ptr to a new instance of cessb::clipper_cc.
diff --git a/src/gr/cessb/stretcher_cc.h b/src/gr/cessb/stretcher_cc.h
index ddf8f6a5..e9fd59e4 100644
--- a/src/gr/cessb/stretcher_cc.h
+++ b/src/gr/cessb/stretcher_cc.h
@@ -36,7 +36,7 @@ namespace gr {
     class CESSB_API stretcher_cc : virtual public gr::block
     {
      public:
-      typedef boost::shared_ptr<stretcher_cc> sptr;
+      typedef std::shared_ptr<stretcher_cc> sptr;
 
       /*!
        * \brief Return a shared_ptr to a new instance of cessb::stretcher_cc.
diff --git a/src/gr/dsss_decoder_cc_impl.cc b/src/gr/dsss_decoder_cc_impl.cc
index e0825576..a062ab2f 100644
--- a/src/gr/dsss_decoder_cc_impl.cc
+++ b/src/gr/dsss_decoder_cc_impl.cc
@@ -89,13 +89,13 @@ dsss_decoder_cc_impl::dsss_decoder_cc_impl(const std::vector<int> &code, float s
                                                excess_bw, // roll-off factor
                                                rrc_ntaps);
 
-    filter::kernel::fir_filter_ccf *fir_filter = new filter::kernel::fir_filter_ccf(1, rrc_taps);
+    filter::kernel::fir_filter_ccf *fir_filter = new filter::kernel::fir_filter_ccf(rrc_taps);
 
     for (int i = 0; i < code_symbols_size + extra_symbols; i++) {
         d_taps.push_back(fir_filter->filter(&code_symbols[i]));
     }
 
-    d_match_filter = new filter::kernel::fir_filter_ccc(1, d_taps);
+    d_match_filter = new filter::kernel::fir_filter_ccc(d_taps);
     // we can use this to tag back in time
     set_history(d_samples_per_symbol * d_code.size());
 
diff --git a/src/gr/dsss_decoder_cc_impl.h b/src/gr/dsss_decoder_cc_impl.h
index b6f4f6d3..82771cd0 100644
--- a/src/gr/dsss_decoder_cc_impl.h
+++ b/src/gr/dsss_decoder_cc_impl.h
@@ -35,7 +35,7 @@ namespace gr {
       class dsss_decoder_cc : virtual public gr::block
       {
        public:
-        typedef boost::shared_ptr<dsss_decoder_cc> sptr;
+        typedef std::shared_ptr<dsss_decoder_cc> sptr;
 
         /*!
          * \brief Return a shared_ptr to a new instance of dsss::dsss_decoder_cc.
diff --git a/src/gr/dsss_encoder_bb_impl.h b/src/gr/dsss_encoder_bb_impl.h
index 982a6e3c..fe887228 100644
--- a/src/gr/dsss_encoder_bb_impl.h
+++ b/src/gr/dsss_encoder_bb_impl.h
@@ -29,7 +29,7 @@ namespace gr {
       class dsss_encoder_bb : virtual public gr::block
       {
        public:
-        typedef boost::shared_ptr<dsss_encoder_bb> sptr;
+        typedef std::shared_ptr<dsss_encoder_bb> sptr;
 
         /*!
          * \brief Return a shared_ptr to a new instance of dsss::dsss_encoder_bb.
diff --git a/src/gr/gr_4fsk_discriminator.h b/src/gr/gr_4fsk_discriminator.h
index 5a3cc341..f70f31b6 100644
--- a/src/gr/gr_4fsk_discriminator.h
+++ b/src/gr/gr_4fsk_discriminator.h
@@ -7,7 +7,7 @@
 #include <stdio.h>
 
 class gr_4fsk_discriminator;
-typedef boost::shared_ptr<gr_4fsk_discriminator> gr_4fsk_discriminator_sptr;
+typedef std::shared_ptr<gr_4fsk_discriminator> gr_4fsk_discriminator_sptr;
 
 gr_4fsk_discriminator_sptr make_gr_4fsk_discriminator();
 
diff --git a/src/gr/gr_audio_sink.h b/src/gr/gr_audio_sink.h
index 29a1b8cf..e7ff6dc4 100644
--- a/src/gr/gr_audio_sink.h
+++ b/src/gr/gr_audio_sink.h
@@ -24,7 +24,7 @@
 
 
 class gr_audio_sink;
-typedef boost::shared_ptr<gr_audio_sink> gr_audio_sink_sptr;
+typedef std::shared_ptr<gr_audio_sink> gr_audio_sink_sptr;
 
 gr_audio_sink_sptr make_gr_audio_sink();
 
diff --git a/src/gr/gr_audio_source.h b/src/gr/gr_audio_source.h
index cbc042fe..c89ac900 100644
--- a/src/gr/gr_audio_source.h
+++ b/src/gr/gr_audio_source.h
@@ -24,7 +24,7 @@
 
 class gr_audio_source;
 
-typedef boost::shared_ptr<gr_audio_source> gr_audio_source_sptr;
+typedef std::shared_ptr<gr_audio_source> gr_audio_source_sptr;
 
 gr_audio_source_sptr make_gr_audio_source();
 
diff --git a/src/gr/gr_bit_sink.h b/src/gr/gr_bit_sink.h
index 920f3d89..bcfaaa18 100644
--- a/src/gr/gr_bit_sink.h
+++ b/src/gr/gr_bit_sink.h
@@ -24,7 +24,7 @@
 
 
 class gr_bit_sink;
-typedef boost::shared_ptr<gr_bit_sink> gr_bit_sink_sptr;
+typedef std::shared_ptr<gr_bit_sink> gr_bit_sink_sptr;
 
 gr_bit_sink_sptr make_gr_bit_sink();
 
diff --git a/src/gr/gr_byte_source.h b/src/gr/gr_byte_source.h
index 57b79039..b2735de4 100644
--- a/src/gr/gr_byte_source.h
+++ b/src/gr/gr_byte_source.h
@@ -24,7 +24,7 @@
 
 class gr_byte_source;
 
-typedef boost::shared_ptr<gr_byte_source> gr_byte_source_sptr;
+typedef std::shared_ptr<gr_byte_source> gr_byte_source_sptr;
 
 gr_byte_source_sptr make_gr_byte_source();
 
diff --git a/src/gr/gr_const_sink.h b/src/gr/gr_const_sink.h
index 14f65a53..2e210078 100644
--- a/src/gr/gr_const_sink.h
+++ b/src/gr/gr_const_sink.h
@@ -24,7 +24,7 @@
 #include <stdio.h>
 
 class gr_const_sink;
-typedef boost::shared_ptr<gr_const_sink> gr_const_sink_sptr;
+typedef std::shared_ptr<gr_const_sink> gr_const_sink_sptr;
 
 gr_const_sink_sptr make_gr_const_sink();
 
diff --git a/src/gr/gr_deframer_bb.h b/src/gr/gr_deframer_bb.h
index c7bb9369..06f463ee 100644
--- a/src/gr/gr_deframer_bb.h
+++ b/src/gr/gr_deframer_bb.h
@@ -24,7 +24,7 @@
 #include <QDebug>
 
 class gr_deframer_bb;
-typedef boost::shared_ptr<gr_deframer_bb> gr_deframer_bb_sptr;
+typedef std::shared_ptr<gr_deframer_bb> gr_deframer_bb_sptr;
 
 gr_deframer_bb_sptr make_gr_deframer_bb(int modem_type);
 
diff --git a/src/gr/gr_demod_2fsk.cpp b/src/gr/gr_demod_2fsk.cpp
index c2b6c0f0..672ace7e 100644
--- a/src/gr/gr_demod_2fsk.cpp
+++ b/src/gr/gr_demod_2fsk.cpp
@@ -80,21 +80,21 @@ gr_demod_2fsk::gr_demod_2fsk(std::vector<int>signature, int sps, int samp_rate,
     polys.push_back(79);
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2, _target_samp_rate/2,
-                                                           gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                                           gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> symbol_filter_taps = gr::filter::firdes::low_pass(1.0,
                                  _target_samp_rate, _target_samp_rate/_samples_per_symbol,
                                                                          _target_samp_rate/_samples_per_symbol,
-                                                                         gr::filter::firdes::WIN_HAMMING);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(interp, decim, taps);
+                                                                         gr::fft::window::WIN_HAMMING);
+    _resampler = gr::filter::rational_resampler_ccf::make(interp, decim, taps);
     _resampler->set_thread_priority(99);
     _fll = gr::digital::fll_band_edge_cc::make(_samples_per_symbol, 0.1, 16, 24*M_PI/100);
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass(
-                                1, _target_samp_rate, _filter_width,_filter_width/2,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                1, _target_samp_rate, _filter_width,_filter_width/2,gr::fft::window::WIN_BLACKMAN_HARRIS) );
 
     _upper_filter = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass(
-                                1, _target_samp_rate, -_filter_width,0,_filter_width,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                1, _target_samp_rate, -_filter_width,0,_filter_width,gr::fft::window::WIN_BLACKMAN_HARRIS) );
     _lower_filter = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass(
-                                1, _target_samp_rate, 0,_filter_width,_filter_width,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                1, _target_samp_rate, 0,_filter_width,_filter_width,gr::fft::window::WIN_BLACKMAN_HARRIS) );
     _mag_lower = gr::blocks::complex_to_mag::make();
     _mag_upper = gr::blocks::complex_to_mag::make();
     _divide = gr::blocks::divide_ff::make();
diff --git a/src/gr/gr_demod_2fsk.h b/src/gr/gr_demod_2fsk.h
index 9e7cfbe6..19caa64c 100644
--- a/src/gr/gr_demod_2fsk.h
+++ b/src/gr/gr_demod_2fsk.h
@@ -25,7 +25,7 @@
 #include <gnuradio/blocks/unpack_k_bits_bb.h>
 #include <gnuradio/blocks/float_to_complex.h>
 #include <gnuradio/blocks/multiply_const.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/digital/binary_slicer_fb.h>
 #include <gnuradio/digital/fll_band_edge_cc.h>
 #include <gnuradio/blocks/divide.h>
@@ -46,7 +46,7 @@
 
 class gr_demod_2fsk;
 
-typedef boost::shared_ptr<gr_demod_2fsk> gr_demod_2fsk_sptr;
+typedef std::shared_ptr<gr_demod_2fsk> gr_demod_2fsk_sptr;
 gr_demod_2fsk_sptr make_gr_demod_2fsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000, bool fm=false);
 
@@ -61,7 +61,7 @@ class gr_demod_2fsk : public gr::hier_block2
     gr::blocks::float_to_complex::sptr _float_to_complex;
     gr::filter::fft_filter_fff::sptr _symbol_filter;
     gr::digital::symbol_sync_ff::sptr _symbol_sync;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::digital::fll_band_edge_cc::sptr _fll;
     gr::filter::fft_filter_ccc::sptr _lower_filter;
diff --git a/src/gr/gr_demod_4fsk.cpp b/src/gr/gr_demod_4fsk.cpp
index 0bc28752..cc88e9cc 100644
--- a/src/gr/gr_demod_4fsk.cpp
+++ b/src/gr/gr_demod_4fsk.cpp
@@ -99,24 +99,24 @@ gr_demod_4fsk::gr_demod_4fsk(std::vector<int>signature, int sps, int samp_rate,
     int spacing = 1;
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2, _target_samp_rate/2,
-                                                           gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                                           gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> symbol_filter_taps = gr::filter::firdes::low_pass(1.0,
                                  _target_samp_rate, _target_samp_rate/_samples_per_symbol, _target_samp_rate/_samples_per_symbol/20,
-                                                                         gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(interpolation, decimation, taps);
+                                                                         gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(interpolation, decimation, taps);
     _resampler->set_thread_priority(99);
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass(
-                                1, _target_samp_rate, _filter_width,_filter_width/2,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                1, _target_samp_rate, _filter_width,_filter_width/2,gr::fft::window::WIN_BLACKMAN_HARRIS) );
     if(!fm)
     {
         _filter1 = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass(
-                                    1, _target_samp_rate, -_filter_width,-_filter_width+rs,bw,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                    1, _target_samp_rate, -_filter_width,-_filter_width+rs,bw,gr::fft::window::WIN_BLACKMAN_HARRIS) );
         _filter2 = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass(
-                                    1, _target_samp_rate, -_filter_width+rs,0,bw,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                    1, _target_samp_rate, -_filter_width+rs,0,bw,gr::fft::window::WIN_BLACKMAN_HARRIS) );
         _filter3 = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass(
-                                    1, _target_samp_rate, 0,_filter_width-rs,bw,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                    1, _target_samp_rate, 0,_filter_width-rs,bw,gr::fft::window::WIN_BLACKMAN_HARRIS) );
         _filter4 = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass(
-                                    1, _target_samp_rate, _filter_width-rs,_filter_width, bw,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                    1, _target_samp_rate, _filter_width-rs,_filter_width, bw,gr::fft::window::WIN_BLACKMAN_HARRIS) );
         _mag1 = gr::blocks::complex_to_mag::make();
         _mag2 = gr::blocks::complex_to_mag::make();
         _mag3 = gr::blocks::complex_to_mag::make();
diff --git a/src/gr/gr_demod_4fsk.h b/src/gr/gr_demod_4fsk.h
index 54cad49d..3ba65e7d 100644
--- a/src/gr/gr_demod_4fsk.h
+++ b/src/gr/gr_demod_4fsk.h
@@ -25,7 +25,7 @@
 #include <gnuradio/analog/quadrature_demod_cf.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/complex_to_mag.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/digital/constellation.h>
 #include <gnuradio/digital/symbol_sync_ff.h>
 #include <gnuradio/digital/symbol_sync_cc.h>
@@ -48,7 +48,7 @@
 
 class gr_demod_4fsk;
 
-typedef boost::shared_ptr<gr_demod_4fsk> gr_demod_4fsk_sptr;
+typedef std::shared_ptr<gr_demod_4fsk> gr_demod_4fsk_sptr;
 gr_demod_4fsk_sptr make_gr_demod_4fsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000, bool fm=true);
 
@@ -76,7 +76,7 @@ class gr_demod_4fsk : public gr::hier_block2
     gr::analog::quadrature_demod_cf::sptr _freq_demod;
     gr::blocks::float_to_complex::sptr _float_to_complex;
     gr::filter::fft_filter_ccf::sptr _symbol_filter;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::digital::constellation_decoder_cb::sptr _constellation_receiver;
     gr::digital::symbol_sync_ff::sptr _symbol_sync;
     gr::digital::symbol_sync_cc::sptr _symbol_sync_complex;
diff --git a/src/gr/gr_demod_am.cpp b/src/gr/gr_demod_am.cpp
index c2b41783..9d9bde9f 100644
--- a/src/gr/gr_demod_am.cpp
+++ b/src/gr/gr_demod_am.cpp
@@ -42,13 +42,13 @@ gr_demod_am::gr_demod_am(std::vector<int>signature, int sps, int samp_rate, int
     _filter_width = filter_width;
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2, _target_samp_rate/2,
-                                                           gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                                           gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> audio_taps = gr::filter::firdes::low_pass(2, 2*_target_samp_rate, 3600, 600,
-                                                                 gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1,50,taps);
-    _audio_resampler = gr::filter::rational_resampler_base_fff::make(2,5, audio_taps);
+                                                                 gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1,50,taps);
+    _audio_resampler = gr::filter::rational_resampler_fff::make(2,5, audio_taps);
     _filter = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass_2(
-                            1, _target_samp_rate, -_filter_width, _filter_width, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                            1, _target_samp_rate, -_filter_width, _filter_width, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS) );
     _squelch = gr::analog::pwr_squelch_cc::make(-140,0.01,0,true);
     _agc = gr::analog::agc2_ff::make(1e-1, 1e-1, 1.0, 1.0);
     _complex_to_mag = gr::blocks::complex_to_mag::make();
@@ -62,7 +62,7 @@ gr_demod_am::gr_demod_am(std::vector<int>signature, int sps, int samp_rate, int
     _audio_gain = gr::blocks::multiply_const_ff::make(0.99);
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::low_pass(
-                    1, 8000, 3600, 300, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                    1, 8000, 3600, 300, gr::fft::window::WIN_BLACKMAN_HARRIS));
 
 
 
@@ -85,7 +85,7 @@ void gr_demod_am::set_filter_width(int filter_width)
 {
     _filter_width = filter_width;
     std::vector<gr_complex> filter_taps = gr::filter::firdes::complex_band_pass(
-                1, _target_samp_rate, -_filter_width, _filter_width,1200,gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                1, _target_samp_rate, -_filter_width, _filter_width,1200,gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     _filter->set_taps(filter_taps);
 }
diff --git a/src/gr/gr_demod_am.h b/src/gr/gr_demod_am.h
index e0eae9f2..09999762 100644
--- a/src/gr/gr_demod_am.h
+++ b/src/gr/gr_demod_am.h
@@ -21,7 +21,7 @@
 #include <gnuradio/filter/firdes.h>
 
 #include <gnuradio/analog/agc2_cc.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/agc2_ff.h>
 #include <gnuradio/filter/iir_filter_ffd.h>
 #include <gnuradio/filter/fft_filter_fff.h>
@@ -34,7 +34,7 @@
 
 class gr_demod_am;
 
-typedef boost::shared_ptr<gr_demod_am> gr_demod_am_sptr;
+typedef std::shared_ptr<gr_demod_am> gr_demod_am_sptr;
 gr_demod_am_sptr make_gr_demod_am(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -50,8 +50,8 @@ class gr_demod_am : public gr::hier_block2
     void set_agc_decay(float value);
 private:
 
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_fff::sptr _audio_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_fff::sptr _audio_resampler;
     gr::analog::pwr_squelch_cc::sptr _squelch;
     gr::filter::fft_filter_ccc::sptr _filter;
     gr::analog::agc2_ff::sptr _agc;
diff --git a/src/gr/gr_demod_base.cpp b/src/gr/gr_demod_base.cpp
index 96f23c57..1c6cb782 100644
--- a/src/gr/gr_demod_base.cpp
+++ b/src/gr/gr_demod_base.cpp
@@ -52,8 +52,8 @@ gr_demod_base::gr_demod_base(BurstTimer *burst_timer, QObject *parent, float dev
 
     _rotator = gr::blocks::rotator_cc::make(2*M_PI/1000000);
     int tw = std::min(_samp_rate/4, 1500000);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1, 1,
-                gr::filter::firdes::low_pass(1, _samp_rate, 500000, tw, gr::filter::firdes::WIN_HAMMING));
+    _resampler = gr::filter::rational_resampler_ccf::make(1, 1,
+                gr::filter::firdes::low_pass(1, _samp_rate, 500000, tw, gr::fft::window::WIN_HAMMING));
 
     // FIXME: LimeSDR bandwidth set to higher value for lower freq
     _lime_specific = false;
@@ -110,7 +110,7 @@ gr_demod_base::gr_demod_base(BurstTimer *burst_timer, QObject *parent, float dev
         }
     }
 
-    _fft_sink = make_rx_fft_c(32768, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+    _fft_sink = make_rx_fft_c(32768, gr::fft::window::WIN_BLACKMAN_HARRIS);
     _mmdvm_sink = make_gr_mmdvm_sink(burst_timer, 1, false, _use_tdma);
 
     _deframer1 = make_gr_deframer_bb(1);
@@ -1070,9 +1070,9 @@ void gr_demod_base::set_samp_rate(int samp_rate)
         std::vector<float> taps;
         //int tw = std::min(_samp_rate/4, 1500000);
         taps = gr::filter::firdes::low_pass(1, _samp_rate, 480000, 100000,
-                                            gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                            gr::fft::window::WIN_BLACKMAN_HARRIS);
 
-        _resampler = gr::filter::rational_resampler_base_ccf::make(1, decimation, taps);
+        _resampler = gr::filter::rational_resampler_ccf::make(1, decimation, taps);
         _resampler->set_thread_priority(75);
         _top_block->connect(_rotator,0, _resampler,0);
         _top_block->connect(_resampler,0, _demod_valve,0);
diff --git a/src/gr/gr_demod_base.h b/src/gr/gr_demod_base.h
index 0b9d0549..33d9f965 100644
--- a/src/gr/gr_demod_base.h
+++ b/src/gr/gr_demod_base.h
@@ -23,7 +23,7 @@
 #include <string>
 #include <gnuradio/top_block.h>
 #include <gnuradio/filter/firdes.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/filter/freq_xlating_fir_filter.h>
 #include <gnuradio/blocks/multiply.h>
 #include <gnuradio/analog/agc2_ff.h>
@@ -116,7 +116,7 @@ public slots:
     gr_const_sink_sptr _constellation;
 
     gr::blocks::rotator_cc::sptr _rotator;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::zeromq::push_sink::sptr _zeromq_sink;
 
     rssi_block_sptr _rssi_block;
diff --git a/src/gr/gr_demod_bpsk.cpp b/src/gr/gr_demod_bpsk.cpp
index 5611fb88..3fc23cf2 100644
--- a/src/gr/gr_demod_bpsk.cpp
+++ b/src/gr/gr_demod_bpsk.cpp
@@ -49,8 +49,8 @@ gr_demod_bpsk::gr_demod_bpsk(std::vector<int>signature, int sps, int samp_rate,
 
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2, _target_samp_rate/2,
-                                                           gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1, 50, taps);
+                                                           gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1, 50, taps);
     _resampler->set_thread_priority(99);
     _agc = gr::analog::agc2_cc::make(1e-1, 1e-1, 1, 1);
     float gain_mu = 0.05;
@@ -59,7 +59,7 @@ gr_demod_bpsk::gr_demod_bpsk(std::vector<int>signature, int sps, int samp_rate,
                                                               gain_omega*gain_omega, 0.5, gain_mu,
                                                               0.001);
     _costas_loop = gr::digital::costas_loop_cc::make(2*M_PI/200,2);
-    _equalizer = gr::digital::cma_equalizer_cc::make(8,1,0.000005,1);
+    //_equalizer = gr::digital::linear_equalizer::make(8,1,0.000005,1);
     _fll = gr::digital::fll_band_edge_cc::make(_samples_per_symbol, 0.35, 32, 8*M_PI/100);
     _shaping_filter = gr::filter::fft_filter_ccf::make(
                 1, gr::filter::firdes::root_raised_cosine(_samples_per_symbol,_samples_per_symbol,1,0.35,15 * _samples_per_symbol));
@@ -87,8 +87,8 @@ gr_demod_bpsk::gr_demod_bpsk(std::vector<int>signature, int sps, int samp_rate,
     connect(_shaping_filter,0,self(),0);
     connect(_shaping_filter,0,_agc,0);
     connect(_agc,0,_clock_recovery,0);
-    connect(_clock_recovery,0,_equalizer,0);
-    connect(_equalizer,0,_costas_loop,0);
+    connect(_clock_recovery,0,_costas_loop,0);
+    //connect(_equalizer,0,_costas_loop,0);
     connect(_costas_loop,0,_complex_to_real,0);
     connect(_costas_loop,0,self(),1);
     connect(_complex_to_real,0,_multiply_const_fec,0);
diff --git a/src/gr/gr_demod_bpsk.h b/src/gr/gr_demod_bpsk.h
index a03e6052..2828e7ea 100644
--- a/src/gr/gr_demod_bpsk.h
+++ b/src/gr/gr_demod_bpsk.h
@@ -25,11 +25,11 @@
 #include <gnuradio/digital/binary_slicer_fb.h>
 #include <gnuradio/blocks/float_to_complex.h>
 #include <gnuradio/digital/costas_loop_cc.h>
-#include <gnuradio/digital/cma_equalizer_cc.h>
+#include <gnuradio/digital/linear_equalizer.h>
 #include <gnuradio/analog/agc2_cc.h>
 #include <gnuradio/analog/agc2_ff.h>
 #include <gnuradio/digital/fll_band_edge_cc.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
 #include <gnuradio/digital/descrambler_bb.h>
 #include <gnuradio/blocks/add_const_ff.h>
@@ -42,7 +42,7 @@
 
 class gr_demod_bpsk;
 
-typedef boost::shared_ptr<gr_demod_bpsk> gr_demod_bpsk_sptr;
+typedef std::shared_ptr<gr_demod_bpsk> gr_demod_bpsk_sptr;
 gr_demod_bpsk_sptr make_gr_demod_bpsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -54,7 +54,7 @@ class gr_demod_bpsk : public gr::hier_block2
 
 private:
 
-    gr::digital::cma_equalizer_cc::sptr _equalizer;
+    gr::digital::linear_equalizer::sptr _equalizer;
     gr::blocks::complex_to_real::sptr _complex_to_real;
     gr::analog::agc2_cc::sptr _agc;
     gr::digital::fll_band_edge_cc::sptr _fll;
@@ -64,7 +64,7 @@ class gr_demod_bpsk : public gr::hier_block2
     gr::blocks::float_to_uchar::sptr _float_to_uchar;
     gr::blocks::add_const_ff::sptr _add_const_fec;
 
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::digital::descrambler_bb::sptr _descrambler;
     gr::digital::descrambler_bb::sptr _descrambler2;
     gr::blocks::delay::sptr _delay;
diff --git a/src/gr/gr_demod_dsss.cpp b/src/gr/gr_demod_dsss.cpp
index c45fe65c..4f2cebd3 100644
--- a/src/gr/gr_demod_dsss.cpp
+++ b/src/gr/gr_demod_dsss.cpp
@@ -55,17 +55,17 @@ gr_demod_dsss::gr_demod_dsss(std::vector<int>signature, int sps, int samp_rate,
 
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _if_samp_rate/2, _if_samp_rate/2,
-                                                           gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1, 50, taps);
+                                                           gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1, 50, taps);
     _resampler->set_thread_priority(99);
 
     std::vector<float> taps_if = gr::filter::firdes::low_pass(1, _if_samp_rate, _target_samp_rate/2, _target_samp_rate/2,
-                                                           gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler_if = gr::filter::rational_resampler_base_ccf::make(13, 50, taps_if);
+                                                           gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler_if = gr::filter::rational_resampler_ccf::make(13, 50, taps_if);
 
     _agc = gr::analog::agc2_cc::make(1e-1, 1e-1, 1, 10);
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass(
-                            1, _target_samp_rate, _filter_width,1200,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                            1, _target_samp_rate, _filter_width,1200,gr::fft::window::WIN_BLACKMAN_HARRIS) );
     _costas_loop = gr::digital::costas_loop_cc::make(2*M_PI/100,2);
     _costas_freq = gr::digital::costas_loop_cc::make(M_PI/200,2,true);
     _dsss_decoder = gr::dsss::dsss_decoder_cc::make(dsss_code, _samples_per_symbol);
diff --git a/src/gr/gr_demod_dsss.h b/src/gr/gr_demod_dsss.h
index ce06720c..f9f4babe 100644
--- a/src/gr/gr_demod_dsss.h
+++ b/src/gr/gr_demod_dsss.h
@@ -26,7 +26,7 @@
 #include <gnuradio/digital/costas_loop_cc.h>
 #include <gnuradio/analog/agc2_cc.h>
 #include <gnuradio/analog/agc2_ff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/filter/pfb_arb_resampler_ccf.h>
 #include <gnuradio/digital/clock_recovery_mm_cc.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
@@ -42,7 +42,7 @@
 
 class gr_demod_dsss;
 
-typedef boost::shared_ptr<gr_demod_dsss> gr_demod_dsss_sptr;
+typedef std::shared_ptr<gr_demod_dsss> gr_demod_dsss_sptr;
 gr_demod_dsss_sptr make_gr_demod_dsss(int sps=25, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -63,8 +63,8 @@ class gr_demod_dsss : public gr::hier_block2
     gr::blocks::float_to_uchar::sptr _float_to_uchar;
     gr::blocks::add_const_ff::sptr _add_const_fec;
 
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler_if;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler_if;
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::digital::descrambler_bb::sptr _descrambler;
     gr::digital::descrambler_bb::sptr _descrambler2;
diff --git a/src/gr/gr_demod_freedv.cpp b/src/gr/gr_demod_freedv.cpp
index bbf19bc3..4cd327ec 100644
--- a/src/gr/gr_demod_freedv.cpp
+++ b/src/gr/gr_demod_freedv.cpp
@@ -40,17 +40,17 @@ gr_demod_freedv::gr_demod_freedv(std::vector<int>signature, int sps, int samp_ra
     _filter_width = filter_width;
 
     std::vector<float> taps = gr::filter::firdes::low_pass(sps, _samp_rate, _target_samp_rate/2,
-                        _target_samp_rate/2, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1,sps,taps);
+                        _target_samp_rate/2, gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1,sps,taps);
     if(sb ==0)
     {
         _filter = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass_2(
-            1, _target_samp_rate, low_cutoff, _filter_width, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+            1, _target_samp_rate, low_cutoff, _filter_width, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS) );
     }
     else
     {
         _filter = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass_2(
-            1, _target_samp_rate, -_filter_width, -low_cutoff, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+            1, _target_samp_rate, -_filter_width, -low_cutoff, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS) );
     }
 
     _feed_forward_agc = gr::analog::feedforward_agc_cc::make(512,1);
@@ -58,7 +58,7 @@ gr_demod_freedv::gr_demod_freedv(std::vector<int>signature, int sps, int samp_ra
     _complex_to_real = gr::blocks::complex_to_real::make();
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::band_pass_2(
-                    1, _target_samp_rate, 200, 3500, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                    1, _target_samp_rate, 200, 3500, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _freedv_gain = gr::blocks::multiply_const_ff::make(0.1);
     _float_to_short = gr::blocks::float_to_short::make(1, 32768);
     _freedv = gr::vocoder::freedv_rx_ss::make(mode);
diff --git a/src/gr/gr_demod_freedv.h b/src/gr/gr_demod_freedv.h
index 38e831f4..e3ec05dd 100644
--- a/src/gr/gr_demod_freedv.h
+++ b/src/gr/gr_demod_freedv.h
@@ -21,8 +21,8 @@
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/analog/agc2_ff.h>
 #include <gnuradio/analog/feedforward_agc_cc.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/filter/fft_filter_ccc.h>
 #include <gnuradio/filter/fft_filter_fff.h>
 #include <gnuradio/blocks/complex_to_real.h>
@@ -36,7 +36,7 @@
 
 class gr_demod_freedv;
 
-typedef boost::shared_ptr<gr_demod_freedv> gr_demod_freedv_sptr;
+typedef std::shared_ptr<gr_demod_freedv> gr_demod_freedv_sptr;
 gr_demod_freedv_sptr make_gr_demod_freedv(int sps=125, int samp_rate=8000, int carrier_freq=1700,
                                           int filter_width=2000, int low_cutoff=200, int mode=gr::vocoder::freedv_api::MODE_1600, int sb=0);
 
@@ -52,7 +52,7 @@ class gr_demod_freedv : public gr::hier_block2
 
 private:
 
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::filter::fft_filter_ccc::sptr _filter;
     gr::analog::agc2_ff::sptr _agc;
     gr::analog::feedforward_agc_cc::sptr _feed_forward_agc;
diff --git a/src/gr/gr_demod_gmsk.cpp b/src/gr/gr_demod_gmsk.cpp
index 9109a2b7..e0d5aa1e 100644
--- a/src/gr/gr_demod_gmsk.cpp
+++ b/src/gr/gr_demod_gmsk.cpp
@@ -78,11 +78,11 @@ gr_demod_gmsk::gr_demod_gmsk(std::vector<int>signature, int sps, int samp_rate,
     polys.push_back(79);
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2, _target_samp_rate/2,
-                                                           gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(interp, decim, taps);
+                                                           gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(interp, decim, taps);
     _resampler->set_thread_priority(99);
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass(
-                                1, _target_samp_rate, _filter_width,_filter_width/2,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+                                1, _target_samp_rate, _filter_width,_filter_width/2,gr::fft::window::WIN_BLACKMAN_HARRIS) );
 
     _float_to_complex = gr::blocks::float_to_complex::make();
     float sps_deviation = 200.0f / ((float)_target_samp_rate / (float)_samples_per_symbol);
diff --git a/src/gr/gr_demod_gmsk.h b/src/gr/gr_demod_gmsk.h
index 1e870ed1..b98186c5 100644
--- a/src/gr/gr_demod_gmsk.h
+++ b/src/gr/gr_demod_gmsk.h
@@ -24,7 +24,7 @@
 #include <gnuradio/blocks/unpack_k_bits_bb.h>
 #include <gnuradio/blocks/float_to_complex.h>
 #include <gnuradio/blocks/multiply_const.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/digital/binary_slicer_fb.h>
 #include <gnuradio/blocks/divide.h>
 #include <gnuradio/analog/rail_ff.h>
@@ -43,7 +43,7 @@
 
 class gr_demod_gmsk;
 
-typedef boost::shared_ptr<gr_demod_gmsk> gr_demod_gmsk_sptr;
+typedef std::shared_ptr<gr_demod_gmsk> gr_demod_gmsk_sptr;
 gr_demod_gmsk_sptr make_gr_demod_gmsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -56,7 +56,7 @@ class gr_demod_gmsk : public gr::hier_block2
 private:
     gr::blocks::multiply_const_cc::sptr _multiply_symbols;
     gr::blocks::float_to_complex::sptr _float_to_complex;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::digital::symbol_sync_ff::sptr _symbol_sync;
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::digital::binary_slicer_fb::sptr _binary_slicer;
diff --git a/src/gr/gr_demod_m17.cpp b/src/gr/gr_demod_m17.cpp
index 8140d6e8..7a7ec000 100644
--- a/src/gr/gr_demod_m17.cpp
+++ b/src/gr/gr_demod_m17.cpp
@@ -55,12 +55,12 @@ gr_demod_m17::gr_demod_m17(std::vector<int>signature, int sps, int samp_rate, in
                 constellation_points, pre_diff, 2, 4, 1, 1.0, 1.0);
 
     std::vector<float> taps = gr::filter::firdes::low_pass(3, _samp_rate * 3, _target_samp_rate/2,
-                                _target_samp_rate/2, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                _target_samp_rate/2, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
-    _resampler = gr::filter::rational_resampler_base_ccf::make(3, 125, taps);
+    _resampler = gr::filter::rational_resampler_ccf::make(3, 125, taps);
 
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass(
-            1, _target_samp_rate, _filter_width, _filter_width, gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+            1, _target_samp_rate, _filter_width, _filter_width, gr::fft::window::WIN_BLACKMAN_HARRIS) );
 
     _fm_demod = gr::analog::quadrature_demod_cf::make(_samples_per_symbol/M_PI);
     std::vector<float> symbol_filter_taps = gr::filter::firdes::root_raised_cosine(1.5,_target_samp_rate,
diff --git a/src/gr/gr_demod_m17.h b/src/gr/gr_demod_m17.h
index 0f29144f..5b4fbefe 100644
--- a/src/gr/gr_demod_m17.h
+++ b/src/gr/gr_demod_m17.h
@@ -19,7 +19,7 @@
 
 #include <gnuradio/hier_block2.h>
 #include <gnuradio/filter/firdes.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/quadrature_demod_cf.h>
 #include <gnuradio/analog/pwr_squelch_cc.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
@@ -37,7 +37,7 @@
 
 class gr_demod_m17;
 
-typedef boost::shared_ptr<gr_demod_m17> gr_demod_m17_sptr;
+typedef std::shared_ptr<gr_demod_m17> gr_demod_m17_sptr;
 gr_demod_m17_sptr make_gr_demod_m17(int sps=125, int samp_rate=1000000, int carrier_freq=1700,
                                           int filter_width=6250);
 
@@ -50,7 +50,7 @@ class gr_demod_m17 : public gr::hier_block2
 
 private:
     gr::analog::quadrature_demod_cf::sptr _fm_demod;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::digital::symbol_sync_ff::sptr _symbol_sync;
     gr::filter::fft_filter_fff::sptr _symbol_filter;
diff --git a/src/gr/gr_demod_mmdvm.cpp b/src/gr/gr_demod_mmdvm.cpp
index d12fa697..1ebc718f 100644
--- a/src/gr/gr_demod_mmdvm.cpp
+++ b/src/gr/gr_demod_mmdvm.cpp
@@ -42,16 +42,16 @@ gr_demod_mmdvm::gr_demod_mmdvm(std::vector<int>signature, int sps, int samp_rate
     _filter_width = filter_width;
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _filter_width,
-                                _filter_width, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1,_sps, taps);
+                                _filter_width, gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1,_sps, taps);
 
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass_2(
-            1, _target_samp_rate, _filter_width, _filter_width, 90 ,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+            1, _target_samp_rate, _filter_width, _filter_width, 90 ,gr::fft::window::WIN_BLACKMAN_HARRIS) );
 
     _fm_demod = gr::analog::quadrature_demod_cf::make(float(_target_samp_rate)/(4*M_PI* float(_filter_width)));
     std::vector<float> audio_taps = gr::filter::firdes::low_pass(1, _target_samp_rate, 3500, 500,
-                                                    gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _audio_resampler = gr::filter::rational_resampler_base_fff::make(1, 3, audio_taps);
+                                                    gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _audio_resampler = gr::filter::rational_resampler_fff::make(1, 3, audio_taps);
     _squelch = gr::analog::pwr_squelch_ff::make(-140,0.01,0,true);
     _level_control = gr::blocks::multiply_const_ff::make(0.7);
     _float_to_short = gr::blocks::float_to_short::make(1, 32767.0);
diff --git a/src/gr/gr_demod_mmdvm.h b/src/gr/gr_demod_mmdvm.h
index 9592a5e6..f2272980 100644
--- a/src/gr/gr_demod_mmdvm.h
+++ b/src/gr/gr_demod_mmdvm.h
@@ -19,8 +19,8 @@
 
 #include <gnuradio/hier_block2.h>
 #include <gnuradio/filter/firdes.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/quadrature_demod_cf.h>
 #include <gnuradio/analog/pwr_squelch_ff.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
@@ -30,7 +30,7 @@
 
 class gr_demod_mmdvm;
 
-typedef boost::shared_ptr<gr_demod_mmdvm> gr_demod_mmdvm_sptr;
+typedef std::shared_ptr<gr_demod_mmdvm> gr_demod_mmdvm_sptr;
 gr_demod_mmdvm_sptr make_gr_demod_mmdvm(int sps=50, int samp_rate=1200000, int carrier_freq=1700,
                                           int filter_width=6250);
 
@@ -49,8 +49,8 @@ class gr_demod_mmdvm : public gr::hier_block2
     gr::analog::quadrature_demod_cf::sptr _fm_demod;
     gr::analog::pwr_squelch_ff::sptr _squelch;
     gr::blocks::multiply_const_ff::sptr _level_control;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_fff::sptr _audio_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_fff::sptr _audio_resampler;
     gr::filter::fft_filter_ccf::sptr _filter;
 
     int _sps;
diff --git a/src/gr/gr_demod_mmdvm_multi.cpp b/src/gr/gr_demod_mmdvm_multi.cpp
index 69cd09e9..af28f9c6 100644
--- a/src/gr/gr_demod_mmdvm_multi.cpp
+++ b/src/gr/gr_demod_mmdvm_multi.cpp
@@ -57,19 +57,19 @@ gr_demod_mmdvm_multi::gr_demod_mmdvm_multi(BurstTimer *burst_timer, int num_chan
 
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, resamp_filter_width,
-                                resamp_filter_slope, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                resamp_filter_slope, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> intermediate_interp_taps = gr::filter::firdes::low_pass(1, intermediate_samp_rate,
-                        _filter_width, _filter_width, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                        _filter_width, _filter_width, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
 
     for(int i = 0;i < _num_channels;i++)
     {
-        _resampler[i] = gr::filter::rational_resampler_base_ccf::make(1, 10, intermediate_interp_taps);
+        _resampler[i] = gr::filter::rational_resampler_ccf::make(1, 10, intermediate_interp_taps);
     }
     for(int i = 0;i < _num_channels;i++)
     {
         _filter[i] = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass(
-                1, target_samp_rate, _filter_width, _filter_width, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                1, target_samp_rate, _filter_width, _filter_width, gr::fft::window::WIN_BLACKMAN_HARRIS));
     }
     for(int i = 0;i < _num_channels;i++)
     {
@@ -92,7 +92,7 @@ gr_demod_mmdvm_multi::gr_demod_mmdvm_multi(BurstTimer *burst_timer, int num_chan
     }
 
     _mmdvm_sink = make_gr_mmdvm_sink(burst_timer, num_channels, true, _use_tdma);
-    _first_resampler = gr::filter::rational_resampler_base_ccf::make(1, 5, taps);
+    _first_resampler = gr::filter::rational_resampler_ccf::make(1, 5, taps);
 
 
     connect(self(),0,_first_resampler,0);
diff --git a/src/gr/gr_demod_mmdvm_multi.h b/src/gr/gr_demod_mmdvm_multi.h
index 9d54871a..380bbd78 100644
--- a/src/gr/gr_demod_mmdvm_multi.h
+++ b/src/gr/gr_demod_mmdvm_multi.h
@@ -19,8 +19,8 @@
 
 #include <gnuradio/hier_block2.h>
 #include <gnuradio/filter/firdes.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/quadrature_demod_cf.h>
 #include <gnuradio/analog/pwr_squelch_ff.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
@@ -32,7 +32,7 @@
 
 class gr_demod_mmdvm_multi;
 
-typedef boost::shared_ptr<gr_demod_mmdvm_multi> gr_demod_mmdvm_multi_sptr;
+typedef std::shared_ptr<gr_demod_mmdvm_multi> gr_demod_mmdvm_multi_sptr;
 gr_demod_mmdvm_multi_sptr make_gr_demod_mmdvm_multi(BurstTimer *burst_timer, int num_channels=3,
                                                     int channel_separation=25000, bool use_tdma=true,
                                                     int sps=125, int samp_rate=1200000, int carrier_freq=1700,
@@ -53,8 +53,8 @@ class gr_demod_mmdvm_multi : public gr::hier_block2
     gr::blocks::float_to_short::sptr _float_to_short[MAX_MMDVM_CHANNELS];
     gr::analog::quadrature_demod_cf::sptr _fm_demod[MAX_MMDVM_CHANNELS];
     gr::blocks::multiply_const_ff::sptr _level_control[MAX_MMDVM_CHANNELS];
-    gr::filter::rational_resampler_base_ccf::sptr _first_resampler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler[MAX_MMDVM_CHANNELS];
+    gr::filter::rational_resampler_ccf::sptr _first_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler[MAX_MMDVM_CHANNELS];
     gr::filter::fft_filter_ccf::sptr _filter[MAX_MMDVM_CHANNELS];
     gr_mmdvm_sink_sptr _mmdvm_sink;
     gr::blocks::rotator_cc::sptr _rotator[MAX_MMDVM_CHANNELS];
diff --git a/src/gr/gr_demod_nbfm.cpp b/src/gr/gr_demod_nbfm.cpp
index 07881e93..1bb80a2d 100644
--- a/src/gr/gr_demod_nbfm.cpp
+++ b/src/gr/gr_demod_nbfm.cpp
@@ -45,14 +45,14 @@ gr_demod_nbfm::gr_demod_nbfm(std::vector<int>signature, int sps, int samp_rate,
     _de_emph_filter = gr::filter::iir_filter_ffd::make(_btaps, _ataps, false);
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2,
-                                _target_samp_rate/2, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                _target_samp_rate/2, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> audio_taps = gr::filter::firdes::low_pass_2(2, 2*_target_samp_rate, 3600, 250, 60,
-                                                    gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1,50, taps);
-    _audio_resampler = gr::filter::rational_resampler_base_fff::make(2,5, audio_taps);
+                                                    gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1,50, taps);
+    _audio_resampler = gr::filter::rational_resampler_fff::make(2,5, audio_taps);
 
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass_2(
-            1, _target_samp_rate, _filter_width, 200, 90 ,gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+            1, _target_samp_rate, _filter_width, 200, 90 ,gr::fft::window::WIN_BLACKMAN_HARRIS) );
 
     _fm_demod = gr::analog::quadrature_demod_cf::make(_target_samp_rate/(4*M_PI* _filter_width));
     _squelch = gr::analog::pwr_squelch_cc::make(-140,0.01,0,true);
@@ -60,7 +60,7 @@ gr_demod_nbfm::gr_demod_nbfm(std::vector<int>signature, int sps, int samp_rate,
     _level_control = gr::blocks::multiply_const_ff::make(2.0);
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::band_pass_2(
-                    1, 8000, 300, 3500, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                    1, 8000, 300, 3500, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
 
 
     connect(self(),0,_resampler,0);
@@ -82,7 +82,7 @@ void gr_demod_nbfm::set_filter_width(int filter_width)
 {
     _filter_width = filter_width;
     std::vector<float> filter_taps = gr::filter::firdes::low_pass(
-                    1, _target_samp_rate, _filter_width,1200,gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                    1, _target_samp_rate, _filter_width,1200,gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     _filter->set_taps(filter_taps);
     _fm_demod->set_gain(_target_samp_rate/(4*M_PI* _filter_width));
diff --git a/src/gr/gr_demod_nbfm.h b/src/gr/gr_demod_nbfm.h
index 358c076e..ed4bef93 100644
--- a/src/gr/gr_demod_nbfm.h
+++ b/src/gr/gr_demod_nbfm.h
@@ -20,8 +20,8 @@
 #include <gnuradio/hier_block2.h>
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/analog/agc2_ff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/quadrature_demod_cf.h>
 #include <gnuradio/analog/pwr_squelch_cc.h>
 #include <gnuradio/analog/ctcss_squelch_ff.h>
@@ -34,7 +34,7 @@
 
 class gr_demod_nbfm;
 
-typedef boost::shared_ptr<gr_demod_nbfm> gr_demod_nbfm_sptr;
+typedef std::shared_ptr<gr_demod_nbfm> gr_demod_nbfm_sptr;
 gr_demod_nbfm_sptr make_gr_demod_nbfm(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -55,8 +55,8 @@ class gr_demod_nbfm : public gr::hier_block2
     gr::analog::pwr_squelch_cc::sptr _squelch;
     gr::blocks::multiply_const_ff::sptr _level_control;
     gr::analog::ctcss_squelch_ff::sptr _ctcss;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_fff::sptr _audio_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_fff::sptr _audio_resampler;
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::filter::fft_filter_fff::sptr _audio_filter;
 
diff --git a/src/gr/gr_demod_qpsk.cpp b/src/gr/gr_demod_qpsk.cpp
index efe3a3ca..35d7ef6d 100644
--- a/src/gr/gr_demod_qpsk.cpp
+++ b/src/gr/gr_demod_qpsk.cpp
@@ -90,9 +90,9 @@ gr_demod_qpsk::gr_demod_qpsk(std::vector<int>signature, int sps, int samp_rate,
     */
 
     std::vector<float> taps = gr::filter::firdes::low_pass_2(interpolation, _samp_rate * interpolation, _target_samp_rate/2,
-                            _target_samp_rate/10, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                            _target_samp_rate/10, 60, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
-    _resampler = gr::filter::rational_resampler_base_ccf::make(interpolation, decimation, taps);
+    _resampler = gr::filter::rational_resampler_ccf::make(interpolation, decimation, taps);
     _resampler->set_thread_priority(99);
     _agc = gr::analog::agc2_cc::make(1, 1e-1, 1.0, 1.0);
 
@@ -110,7 +110,7 @@ gr_demod_qpsk::gr_demod_qpsk(std::vector<int>signature, int sps, int samp_rate,
     _costas_pll = gr::digital::costas_loop_cc::make(M_PI/200/_samples_per_symbol,4,true);
 
     _costas_loop = gr::digital::costas_loop_cc::make(costas_bw,4,true);
-    _equalizer = gr::digital::cma_equalizer_cc::make(8,1,0.005,2);
+    //_equalizer = gr::digital::linear_equalizer::make(8,1,0.005,2);
 
     _diff_phasor = gr::digital::diff_phasor_cc::make();
     const std::complex<float> i(0, 1);
diff --git a/src/gr/gr_demod_qpsk.h b/src/gr/gr_demod_qpsk.h
index bfd5205b..72bf5765 100644
--- a/src/gr/gr_demod_qpsk.h
+++ b/src/gr/gr_demod_qpsk.h
@@ -29,11 +29,11 @@
 #include <gnuradio/fec/decoder.h>
 #include <gnuradio/fec/cc_decoder.h>
 #include <gnuradio/digital/costas_loop_cc.h>
-#include <gnuradio/digital/cma_equalizer_cc.h>
+#include <gnuradio/digital/linear_equalizer.h>
 #include <gnuradio/digital/symbol_sync_cc.h>
 #include <gnuradio/analog/agc2_cc.h>
 #include <gnuradio/digital/fll_band_edge_cc.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/digital/constellation.h>
 #include <gnuradio/digital/constellation_decoder_cb.h>
 #include <gnuradio/digital/pfb_clock_sync_ccf.h>
@@ -45,7 +45,7 @@
 
 class gr_demod_qpsk;
 
-typedef boost::shared_ptr<gr_demod_qpsk> gr_demod_qpsk_sptr;
+typedef std::shared_ptr<gr_demod_qpsk> gr_demod_qpsk_sptr;
 gr_demod_qpsk_sptr make_gr_demod_qpsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -57,14 +57,14 @@ class gr_demod_qpsk : public gr::hier_block2
 
 
 private:
-    gr::digital::cma_equalizer_cc::sptr _equalizer;
+    gr::digital::linear_equalizer::sptr _equalizer;
     gr::analog::agc2_cc::sptr _agc;
     gr::digital::fll_band_edge_cc::sptr _fll;
     gr::digital::pfb_clock_sync_ccf::sptr _clock_sync;
     gr::digital::symbol_sync_cc::sptr _symbol_sync;
     gr::digital::costas_loop_cc::sptr _costas_loop;
     gr::digital::costas_loop_cc::sptr _costas_pll;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::filter::fft_filter_ccf::sptr _shaping_filter;
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::digital::descrambler_bb::sptr _descrambler;
diff --git a/src/gr/gr_demod_ssb.cpp b/src/gr/gr_demod_ssb.cpp
index 7b340df7..57c64e75 100644
--- a/src/gr/gr_demod_ssb.cpp
+++ b/src/gr/gr_demod_ssb.cpp
@@ -41,20 +41,20 @@ gr_demod_ssb::gr_demod_ssb(std::vector<int>signature, int sps, int samp_rate, in
     _filter_width = filter_width;
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2,
-                            _target_samp_rate/2, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1,_sps,taps);
+                            _target_samp_rate/2, gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1,_sps,taps);
 
     _if_gain = gr::blocks::multiply_const_cc::make(0.9);
 
     _filter_usb = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass_2(
-            1, _target_samp_rate, 200, _filter_width,200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+            1, _target_samp_rate, 200, _filter_width,200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _filter_lsb = gr::filter::fft_filter_ccc::make(1, gr::filter::firdes::complex_band_pass_2(
-            1, _target_samp_rate, -_filter_width, -200,200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+            1, _target_samp_rate, -_filter_width, -200,200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _squelch = gr::analog::pwr_squelch_cc::make(-140,0.01,0,true);
     _agc = gr::analog::agc2_cc::make(1e-1, 1e-1, 0.25, 1);
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::band_pass_2(
-                    1, _target_samp_rate, 200, _filter_width, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                    1, _target_samp_rate, 200, _filter_width, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _complex_to_real = gr::blocks::complex_to_real::make();
     _level_control = gr::blocks::multiply_const_ff::make(1.333);
     _clipper = gr::cessb::clipper_cc::make(0.95);
@@ -90,14 +90,14 @@ void gr_demod_ssb::set_filter_width(int filter_width)
 {
     _filter_width = filter_width;
     std::vector<gr_complex> filter_usb_taps = gr::filter::firdes::complex_band_pass_2(
-                1, _target_samp_rate, 200, _filter_width,200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                1, _target_samp_rate, 200, _filter_width,200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<gr_complex> filter_lsb_taps = gr::filter::firdes::complex_band_pass_2(
-                1, _target_samp_rate, -_filter_width, -200,200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                1, _target_samp_rate, -_filter_width, -200,200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     _filter_usb->set_taps(filter_usb_taps);
     _filter_lsb->set_taps(filter_lsb_taps);
     _audio_filter->set_taps(gr::filter::firdes::band_pass_2(
-            2, _target_samp_rate, 200, _filter_width, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+            2, _target_samp_rate, 200, _filter_width, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
 }
 
 void gr_demod_ssb::set_squelch(int value)
diff --git a/src/gr/gr_demod_ssb.h b/src/gr/gr_demod_ssb.h
index 0275cac1..cecf878b 100644
--- a/src/gr/gr_demod_ssb.h
+++ b/src/gr/gr_demod_ssb.h
@@ -20,7 +20,7 @@
 #include <gnuradio/hier_block2.h>
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/analog/agc2_cc.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/pwr_squelch_cc.h>
 #include <gnuradio/filter/fft_filter_ccc.h>
 #include <gnuradio/filter/fft_filter_fff.h>
@@ -34,7 +34,7 @@
 
 class gr_demod_ssb;
 
-typedef boost::shared_ptr<gr_demod_ssb> gr_demod_ssb_sptr;
+typedef std::shared_ptr<gr_demod_ssb> gr_demod_ssb_sptr;
 gr_demod_ssb_sptr make_gr_demod_ssb(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000, int sb=0);
 
@@ -51,7 +51,7 @@ class gr_demod_ssb : public gr::hier_block2
     void set_gain(float value);
 
 private:
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::analog::pwr_squelch_cc::sptr _squelch;
     gr::filter::fft_filter_ccc::sptr _filter_usb;
     gr::filter::fft_filter_ccc::sptr _filter_lsb;
diff --git a/src/gr/gr_demod_wbfm.cpp b/src/gr/gr_demod_wbfm.cpp
index 58cc230b..16b7388d 100644
--- a/src/gr/gr_demod_wbfm.cpp
+++ b/src/gr/gr_demod_wbfm.cpp
@@ -45,14 +45,14 @@ gr_demod_wbfm::gr_demod_wbfm(std::vector<int>signature, int sps, int samp_rate,
     _de_emph_filter = gr::filter::iir_filter_ffd::make(_btaps, _ataps, false);
 
     std::vector<float> taps = gr::filter::firdes::low_pass(1, _samp_rate, _target_samp_rate/2,
-                                    _target_samp_rate/2, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                                    _target_samp_rate/2, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> audio_taps = gr::filter::firdes::low_pass(1, _target_samp_rate, 4000, 2000,
-                                                        gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1,5,taps);
-    _audio_resampler = gr::filter::rational_resampler_base_fff::make(1,25, audio_taps);
+                                                        gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(1,5,taps);
+    _audio_resampler = gr::filter::rational_resampler_fff::make(1,25, audio_taps);
 
     _filter = gr::filter::fft_filter_ccf::make(1, gr::filter::firdes::low_pass_2(
-            1, _target_samp_rate, _filter_width, 600, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS) );
+            1, _target_samp_rate, _filter_width, 600, 90, gr::fft::window::WIN_BLACKMAN_HARRIS) );
 
     _fm_demod = gr::analog::quadrature_demod_cf::make(_target_samp_rate/(2*M_PI* _filter_width));
     _squelch = gr::analog::pwr_squelch_cc::make(-140,0.01,0,true);
@@ -77,7 +77,7 @@ void gr_demod_wbfm::set_filter_width(int filter_width)
 {
     _filter_width = filter_width;
     std::vector<float> filter_taps = gr::filter::firdes::low_pass(
-            1, _target_samp_rate, _filter_width,1200,gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+            1, _target_samp_rate, _filter_width,1200,gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     _filter->set_taps(filter_taps);
     _fm_demod->set_gain(_target_samp_rate/(2*M_PI* _filter_width));
diff --git a/src/gr/gr_demod_wbfm.h b/src/gr/gr_demod_wbfm.h
index f48d4afd..61f10a28 100644
--- a/src/gr/gr_demod_wbfm.h
+++ b/src/gr/gr_demod_wbfm.h
@@ -20,8 +20,8 @@
 #include <gnuradio/hier_block2.h>
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/analog/agc2_ff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/quadrature_demod_cf.h>
 #include <gnuradio/analog/pwr_squelch_cc.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
@@ -33,7 +33,7 @@
 
 class gr_demod_wbfm;
 
-typedef boost::shared_ptr<gr_demod_wbfm> gr_demod_wbfm_sptr;
+typedef std::shared_ptr<gr_demod_wbfm> gr_demod_wbfm_sptr;
 gr_demod_wbfm_sptr make_gr_demod_wbfm(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -52,8 +52,8 @@ class gr_demod_wbfm : public gr::hier_block2
     gr::filter::iir_filter_ffd::sptr _de_emph_filter;
     gr::analog::pwr_squelch_cc::sptr _squelch;
     gr::blocks::multiply_const_ff::sptr _amplify;
-    gr::filter::rational_resampler_base_fff::sptr _audio_resampler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_fff::sptr _audio_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::filter::fft_filter_ccf::sptr _filter;
 
     int _samples_per_symbol;
diff --git a/src/gr/gr_mmdvm_sink.h b/src/gr/gr_mmdvm_sink.h
index 4914eada..cf46b85c 100644
--- a/src/gr/gr_mmdvm_sink.h
+++ b/src/gr/gr_mmdvm_sink.h
@@ -27,7 +27,7 @@
 
 
 class gr_mmdvm_sink;
-typedef boost::shared_ptr<gr_mmdvm_sink> gr_mmdvm_sink_sptr;
+typedef std::shared_ptr<gr_mmdvm_sink> gr_mmdvm_sink_sptr;
 
 gr_mmdvm_sink_sptr make_gr_mmdvm_sink(BurstTimer *burst_timer, uint8_t cn=0,
                                       bool multi_channel=true, bool use_tdma=true);
diff --git a/src/gr/gr_mmdvm_source.h b/src/gr/gr_mmdvm_source.h
index 34174b98..0f896435 100644
--- a/src/gr/gr_mmdvm_source.h
+++ b/src/gr/gr_mmdvm_source.h
@@ -27,7 +27,7 @@
 
 class gr_mmdvm_source;
 
-typedef boost::shared_ptr<gr_mmdvm_source> gr_mmdvm_source_sptr;
+typedef std::shared_ptr<gr_mmdvm_source> gr_mmdvm_source_sptr;
 
 gr_mmdvm_source_sptr make_gr_mmdvm_source(BurstTimer *burst_timer, uint8_t cn=0, bool multi_channnel=false, bool use_tdma=true);
 
diff --git a/src/gr/gr_mod_2fsk.cpp b/src/gr/gr_mod_2fsk.cpp
index 6809309b..eb07837a 100644
--- a/src/gr/gr_mod_2fsk.cpp
+++ b/src/gr/gr_mod_2fsk.cpp
@@ -71,14 +71,14 @@ gr_mod_2fsk::gr_mod_2fsk(int sps, int samp_rate, int carrier_freq,
     _chunks_to_symbols = gr::digital::chunks_to_symbols_bf::make(constellation);
     _freq_modulator = gr::analog::frequency_modulator_fc::make((spacing * M_PI/2)/(_samples_per_symbol));
     _repeat = gr::blocks::repeat::make(4, _samples_per_symbol);
-    _resampler = gr::filter::rational_resampler_base_fff::make(_samples_per_symbol, 1,
+    _resampler = gr::filter::rational_resampler_fff::make(_samples_per_symbol, 1,
                     gr::filter::firdes::root_raised_cosine(_samples_per_symbol,
                                 _samples_per_symbol,1,0.2,nfilts));
     _amplify = gr::blocks::multiply_const_cc::make(amplif,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass_2(
-            1, if_samp_rate, _filter_width, 1200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
-    _resampler2 = gr::filter::rational_resampler_base_ccf::make(second_interp, 1,
+            1, if_samp_rate, _filter_width, 1200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
+    _resampler2 = gr::filter::rational_resampler_ccf::make(second_interp, 1,
                 gr::filter::firdes::low_pass(second_interp,_samp_rate,_filter_width,_filter_width*5));
 
     connect(self(),0,_packed_to_unpacked,0);
diff --git a/src/gr/gr_mod_2fsk.h b/src/gr/gr_mod_2fsk.h
index c77a1f3d..f08c17b0 100644
--- a/src/gr/gr_mod_2fsk.h
+++ b/src/gr/gr_mod_2fsk.h
@@ -35,12 +35,12 @@
 #include <gnuradio/analog/frequency_modulator_fc.h>
 #include <gnuradio/fec/cc_encoder.h>
 #include <gnuradio/fec/encoder.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 
 
 class gr_mod_2fsk;
 
-typedef boost::shared_ptr<gr_mod_2fsk> gr_mod_2fsk_sptr;
+typedef std::shared_ptr<gr_mod_2fsk> gr_mod_2fsk_sptr;
 gr_mod_2fsk_sptr make_gr_mod_2fsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000, bool fm=false);
 
@@ -63,8 +63,8 @@ class gr_mod_2fsk : public gr::hier_block2
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::digital::map_bb::sptr _map;
     gr::analog::frequency_modulator_fc::sptr _freq_modulator;
-    gr::filter::rational_resampler_base_fff::sptr _resampler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler2;
+    gr::filter::rational_resampler_fff::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler2;
 
 
 
diff --git a/src/gr/gr_mod_4fsk.cpp b/src/gr/gr_mod_4fsk.cpp
index 339f0638..7b629afe 100644
--- a/src/gr/gr_mod_4fsk.cpp
+++ b/src/gr/gr_mod_4fsk.cpp
@@ -78,7 +78,7 @@ gr_mod_4fsk::gr_mod_4fsk(int sps, int samp_rate, int carrier_freq,
     _map = gr::digital::map_bb::make(map);
 
     _chunks_to_symbols = gr::digital::chunks_to_symbols_bf::make(constellation);
-    _resampler = gr::filter::rational_resampler_base_fff::make(_samples_per_symbol, 1,
+    _resampler = gr::filter::rational_resampler_fff::make(_samples_per_symbol, 1,
                     gr::filter::firdes::root_raised_cosine(_samples_per_symbol,
                                 _samples_per_symbol,1,0.2,nfilts));
     _freq_modulator = gr::analog::frequency_modulator_fc::make((spacing*M_PI)/(_samples_per_symbol));
@@ -87,8 +87,8 @@ gr_mod_4fsk::gr_mod_4fsk(int sps, int samp_rate, int carrier_freq,
     _scale_pulses = gr::blocks::multiply_const_ff::make(0.66666666, 1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass(
-                1, _samp_rate, _filter_width, _filter_width/2,gr::filter::firdes::WIN_BLACKMAN_HARRIS));
-    _resampler2 = gr::filter::rational_resampler_base_ccf::make(second_interp, 1,
+                1, _samp_rate, _filter_width, _filter_width/2,gr::fft::window::WIN_BLACKMAN_HARRIS));
+    _resampler2 = gr::filter::rational_resampler_ccf::make(second_interp, 1,
                 gr::filter::firdes::low_pass(second_interp,_samp_rate,_filter_width,_filter_width*5));
 
 
diff --git a/src/gr/gr_mod_4fsk.h b/src/gr/gr_mod_4fsk.h
index d9d17015..3abaa350 100644
--- a/src/gr/gr_mod_4fsk.h
+++ b/src/gr/gr_mod_4fsk.h
@@ -35,15 +35,15 @@
 #include <gnuradio/blocks/pack_k_bits_bb.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
 #include <gnuradio/analog/frequency_modulator_fc.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/fec/cc_encoder.h>
 #include <gnuradio/fec/encoder.h>
 
 
 class gr_mod_4fsk;
 
-typedef boost::shared_ptr<gr_mod_4fsk> gr_mod_4fsk_sptr;
+typedef std::shared_ptr<gr_mod_4fsk> gr_mod_4fsk_sptr;
 gr_mod_4fsk_sptr make_gr_mod_4fsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000, bool fm=true);
 
@@ -68,8 +68,8 @@ class gr_mod_4fsk : public gr::hier_block2
     gr::digital::map_bb::sptr _map;
     gr::analog::frequency_modulator_fc::sptr _freq_modulator;
     gr::fec::encoder::sptr _encode_ccsds;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler2;
-    gr::filter::rational_resampler_base_fff::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler2;
+    gr::filter::rational_resampler_fff::sptr _resampler;
 
 
 
diff --git a/src/gr/gr_mod_am.cpp b/src/gr/gr_mod_am.cpp
index dc7841ac..715d2525 100644
--- a/src/gr/gr_mod_am.cpp
+++ b/src/gr/gr_mod_am.cpp
@@ -45,16 +45,16 @@ gr_mod_am::gr_mod_am(int sps, int samp_rate, int carrier_freq,
     _agc->set_max_gain(1.0);
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::band_pass_2(
-                    1, 8000, 300, 3000, 200, 60, gr::filter::firdes::WIN_HAMMING));
+                    1, 8000, 300, 3000, 200, 60, gr::fft::window::WIN_HAMMING));
     _float_to_complex = gr::blocks::float_to_complex::make();
     std::vector<float> interp_taps = gr::filter::firdes::low_pass(_sps, _samp_rate,
                                                         _filter_width, _filter_width);
     _feed_forward_agc = gr::analog::feedforward_agc_cc::make(1024,1);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_sps, 1, interp_taps);
+    _resampler = gr::filter::rational_resampler_ccf::make(_sps, 1, interp_taps);
     _amplify = gr::blocks::multiply_const_cc::make(0.5,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccc::make(1,gr::filter::firdes::complex_band_pass_2(
-            1, _samp_rate, -_filter_width, _filter_width, 1200, 120, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+            1, _samp_rate, -_filter_width, _filter_width, 1200, 120, gr::fft::window::WIN_BLACKMAN_HARRIS));
 
 
 
@@ -78,7 +78,7 @@ void gr_mod_am::set_filter_width(int filter_width)
     std::vector<float> interp_taps = gr::filter::firdes::low_pass(_sps, _samp_rate,
                                                         _filter_width, _filter_width);
     std::vector<gr_complex> filter_taps = gr::filter::firdes::complex_band_pass_2(
-            1, _samp_rate, -_filter_width, _filter_width, 1200, 120, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+            1, _samp_rate, -_filter_width, _filter_width, 1200, 120, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     _resampler->set_taps(interp_taps);
     _filter->set_taps(filter_taps);
diff --git a/src/gr/gr_mod_am.h b/src/gr/gr_mod_am.h
index e5a11b51..84c313aa 100644
--- a/src/gr/gr_mod_am.h
+++ b/src/gr/gr_mod_am.h
@@ -21,7 +21,7 @@
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/filter/fft_filter_ccc.h>
 #include <gnuradio/filter/fft_filter_fff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/analog/agc2_ff.h>
 #include <gnuradio/analog/feedforward_agc_cc.h>
 #include <gnuradio/blocks/multiply_const.h>
@@ -33,7 +33,7 @@
 
 class gr_mod_am;
 
-typedef boost::shared_ptr<gr_mod_am> gr_mod_am_sptr;
+typedef std::shared_ptr<gr_mod_am> gr_mod_am_sptr;
 gr_mod_am_sptr make_gr_mod_am(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -46,7 +46,7 @@ class gr_mod_am : public gr::hier_block2
     void set_bb_gain(float value);
 
 private:
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::blocks::multiply_const_cc::sptr _amplify;
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::blocks::multiply_const_ff::sptr _audio_amplify;
diff --git a/src/gr/gr_mod_base.cpp b/src/gr/gr_mod_base.cpp
index 07157fdc..1f882a5b 100644
--- a/src/gr/gr_mod_base.cpp
+++ b/src/gr/gr_mod_base.cpp
@@ -96,8 +96,8 @@ gr_mod_base::gr_mod_base(BurstTimer *burst_timer, QObject *parent, float device_
 
 
     int tw = std::min(_samp_rate/4, 1500000);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(1, 1,
-            gr::filter::firdes::low_pass(1, _samp_rate, 500000, tw, gr::filter::firdes::WIN_HAMMING));
+    _resampler = gr::filter::rational_resampler_ccf::make(1, 1,
+            gr::filter::firdes::low_pass(1, _samp_rate, 500000, tw, gr::fft::window::WIN_HAMMING));
 
     _2fsk_2k_fm = make_gr_mod_2fsk(25, 1000000, 1700, 2700, true); // 4000 for non FM, 2700 for FM
     _2fsk_1k_fm = make_gr_mod_2fsk(50, 1000000, 1700, 1350, true);
@@ -188,8 +188,8 @@ void gr_mod_base::set_samp_rate(int samp_rate)
 
         }
         _resampler.reset();
-        _resampler = gr::filter::rational_resampler_base_ccf::make(interpolation, 1,
-                gr::filter::firdes::low_pass(interpolation, _samp_rate, 480000, 20000, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+        _resampler = gr::filter::rational_resampler_ccf::make(interpolation, 1,
+                gr::filter::firdes::low_pass(interpolation, _samp_rate, 480000, 20000, gr::fft::window::WIN_BLACKMAN_HARRIS));
         _resampler->set_thread_priority(75);
         _top_block->connect(_rotator,0, _resampler,0);
         if(_lime_specific)
diff --git a/src/gr/gr_mod_base.h b/src/gr/gr_mod_base.h
index 145e4fe1..ce1ef5ff 100644
--- a/src/gr/gr_mod_base.h
+++ b/src/gr/gr_mod_base.h
@@ -31,7 +31,7 @@
 #include <gnuradio/analog/sig_source.h>
 #include <gnuradio/blocks/copy.h>
 #include <gnuradio/zeromq/pull_source.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <osmosdr/sink.h>
 #include "limesdr/sink.h"
 #include "src/modem_types.h"
@@ -89,7 +89,7 @@ public slots:
     gr::limesdr::sink::sptr _limesdr_sink;
     gr::blocks::rotator_cc::sptr _rotator;
     gr::analog::sig_source_f::sptr _signal_source;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::zeromq::pull_source::sptr _zmq_source;
     gr_mmdvm_source_sptr _mmdvm_source;
 
diff --git a/src/gr/gr_mod_bpsk.cpp b/src/gr/gr_mod_bpsk.cpp
index 027278a8..b331a031 100644
--- a/src/gr/gr_mod_bpsk.cpp
+++ b/src/gr/gr_mod_bpsk.cpp
@@ -49,7 +49,7 @@ gr_mod_bpsk::gr_mod_bpsk(int sps, int samp_rate, int carrier_freq,
     _encode_ccsds = gr::fec::encoder::make(encoder, 1, 1);
 
     _chunks_to_symbols = gr::digital::chunks_to_symbols_bc::make(constellation);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_samples_per_symbol, 1,
+    _resampler = gr::filter::rational_resampler_ccf::make(_samples_per_symbol, 1,
                 gr::filter::firdes::root_raised_cosine(_samples_per_symbol,
                         _samples_per_symbol, 1, 0.35,11 * _samples_per_symbol));
     _resampler->set_thread_priority(99);
diff --git a/src/gr/gr_mod_bpsk.h b/src/gr/gr_mod_bpsk.h
index 10ce3059..e27fa19b 100644
--- a/src/gr/gr_mod_bpsk.h
+++ b/src/gr/gr_mod_bpsk.h
@@ -38,12 +38,12 @@
 #include <gnuradio/fec/cc_encoder.h>
 #include <gnuradio/fec/encoder.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 
 
 class gr_mod_bpsk;
 
-typedef boost::shared_ptr<gr_mod_bpsk> gr_mod_bpsk_sptr;
+typedef std::shared_ptr<gr_mod_bpsk> gr_mod_bpsk_sptr;
 gr_mod_bpsk_sptr make_gr_mod_bpsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -62,8 +62,8 @@ class gr_mod_bpsk : public gr::hier_block2
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::fec::encoder::sptr _encode_ccsds;
     gr::digital::scrambler_bb::sptr _scrambler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler2;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler2;
 
 
 
diff --git a/src/gr/gr_mod_dsss.cpp b/src/gr/gr_mod_dsss.cpp
index 5efccbbf..9af52e4c 100644
--- a/src/gr/gr_mod_dsss.cpp
+++ b/src/gr/gr_mod_dsss.cpp
@@ -59,7 +59,7 @@ gr_mod_dsss::gr_mod_dsss(int sps, int samp_rate, int carrier_freq,
     _chunks_to_symbols = gr::digital::chunks_to_symbols_bc::make(constellation);
 
 
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_samples_per_symbol, 1,
+    _resampler = gr::filter::rational_resampler_ccf::make(_samples_per_symbol, 1,
                                   gr::filter::firdes::root_raised_cosine(_samples_per_symbol,
                                         _samples_per_symbol,1,0.35,11 * _samples_per_symbol));
     _resampler->set_thread_priority(99);
@@ -69,10 +69,10 @@ gr_mod_dsss::gr_mod_dsss(int sps, int samp_rate, int carrier_freq,
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccf::make(
                 1,gr::filter::firdes::low_pass_2(
-                    1, if_samp_rate, _filter_width, 1200, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
-    _resampler_if = gr::filter::rational_resampler_base_ccf::make(50,13,
+                    1, if_samp_rate, _filter_width, 1200, 60, gr::fft::window::WIN_BLACKMAN_HARRIS));
+    _resampler_if = gr::filter::rational_resampler_ccf::make(50,13,
                         gr::filter::firdes::low_pass(50.0,if_samp_rate*50,_filter_width,_filter_width*5));
-    _resampler_rf = gr::filter::rational_resampler_base_ccf::make(50, 1,
+    _resampler_rf = gr::filter::rational_resampler_ccf::make(50, 1,
                         gr::filter::firdes::low_pass(50,_samp_rate,_filter_width,_filter_width*5));
 
 
diff --git a/src/gr/gr_mod_dsss.h b/src/gr/gr_mod_dsss.h
index f98c1bfd..29dac9be 100644
--- a/src/gr/gr_mod_dsss.h
+++ b/src/gr/gr_mod_dsss.h
@@ -38,12 +38,12 @@
 #include <gnuradio/fec/cc_encoder.h>
 #include <gnuradio/fec/encoder.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 
 
 class gr_mod_dsss;
 
-typedef boost::shared_ptr<gr_mod_dsss> gr_mod_dsss_sptr;
+typedef std::shared_ptr<gr_mod_dsss> gr_mod_dsss_sptr;
 gr_mod_dsss_sptr make_gr_mod_dsss(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -66,9 +66,9 @@ class gr_mod_dsss : public gr::hier_block2
     gr::digital::scrambler_bb::sptr _scrambler;
     gr::dsss::dsss_encoder_bb::sptr _dsss_encoder;
     gr::filter::fft_filter_ccf::sptr _filter;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler_if;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler_rf;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler_if;
+    gr::filter::rational_resampler_ccf::sptr _resampler_rf;
 
 
 
diff --git a/src/gr/gr_mod_freedv.cpp b/src/gr/gr_mod_freedv.cpp
index c3415951..e1607d6a 100644
--- a/src/gr/gr_mod_freedv.cpp
+++ b/src/gr/gr_mod_freedv.cpp
@@ -42,13 +42,13 @@ gr_mod_freedv::gr_mod_freedv(int sps, int samp_rate, int carrier_freq,
     _freedv = gr::vocoder::freedv_tx_ss::make(mode);
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::band_pass(
-                    1, target_samp_rate, 200, 3500, 350, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                    1, target_samp_rate, 200, 3500, 350, gr::fft::window::WIN_BLACKMAN_HARRIS));
 
     _float_to_complex = gr::blocks::float_to_complex::make();
     std::vector<float> interp_taps = gr::filter::firdes::low_pass(sps, _samp_rate,
                                                         _filter_width, 1200);
 
-    _resampler = gr::filter::rational_resampler_base_ccf::make(sps,1, interp_taps);
+    _resampler = gr::filter::rational_resampler_ccf::make(sps,1, interp_taps);
     _feed_forward_agc = gr::analog::feedforward_agc_cc::make(512,1.0f);
     _amplify = gr::blocks::multiply_const_cc::make(0.98f,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
@@ -57,14 +57,14 @@ gr_mod_freedv::gr_mod_freedv(int sps, int samp_rate, int carrier_freq,
         _filter = gr::filter::fft_filter_ccc::make(
                     1,gr::filter::firdes::complex_band_pass_2(
                         1, target_samp_rate, low_cutoff, _filter_width, 250, 90,
-                        gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                        gr::fft::window::WIN_BLACKMAN_HARRIS));
     }
     else
     {
         _filter = gr::filter::fft_filter_ccc::make(
                     1,gr::filter::firdes::complex_band_pass_2(
                         1, target_samp_rate, -_filter_width, -low_cutoff, 250, 90,
-                        gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                        gr::fft::window::WIN_BLACKMAN_HARRIS));
     }
 
 
diff --git a/src/gr/gr_mod_freedv.h b/src/gr/gr_mod_freedv.h
index aefe7edf..2563b7c4 100644
--- a/src/gr/gr_mod_freedv.h
+++ b/src/gr/gr_mod_freedv.h
@@ -23,7 +23,7 @@
 #include <gnuradio/analog/feedforward_agc_cc.h>
 #include <gnuradio/filter/fft_filter_ccc.h>
 #include <gnuradio/filter/fft_filter_fff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/float_to_complex.h>
@@ -35,7 +35,7 @@
 
 class gr_mod_freedv;
 
-typedef boost::shared_ptr<gr_mod_freedv> gr_mod_freedv_sptr;
+typedef std::shared_ptr<gr_mod_freedv> gr_mod_freedv_sptr;
 gr_mod_freedv_sptr make_gr_mod_freedv(int sps=125, int samp_rate=8000, int carrier_freq=1700,
                                           int filter_width=2000, int low_cutoff=200, int mode=gr::vocoder::freedv_api::MODE_1600, int sb=0);
 
@@ -47,7 +47,7 @@ class gr_mod_freedv : public gr::hier_block2
     void set_bb_gain(float value);
 private:
 
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::blocks::multiply_const_cc::sptr _amplify;
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::filter::fft_filter_fff::sptr _audio_filter;
diff --git a/src/gr/gr_mod_gmsk.cpp b/src/gr/gr_mod_gmsk.cpp
index 4ba9d9fa..a6be344e 100644
--- a/src/gr/gr_mod_gmsk.cpp
+++ b/src/gr/gr_mod_gmsk.cpp
@@ -65,14 +65,14 @@ gr_mod_gmsk::gr_mod_gmsk(int sps, int samp_rate, int carrier_freq,
 
     _chunks_to_symbols = gr::digital::chunks_to_symbols_bf::make(constellation);
     _freq_modulator = gr::analog::frequency_modulator_fc::make((M_PI/2)/(_samples_per_symbol));
-    _resampler = gr::filter::rational_resampler_base_fff::make(_samples_per_symbol, 1,
+    _resampler = gr::filter::rational_resampler_fff::make(_samples_per_symbol, 1,
                     gr::filter::firdes::gaussian(_samples_per_symbol,
                                 _samples_per_symbol,0.3,nfilts));
     _amplify = gr::blocks::multiply_const_cc::make(amplif,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass_2(
-            1, if_samp_rate, _filter_width, 1200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
-    _resampler2 = gr::filter::rational_resampler_base_ccf::make(second_interp, 1,
+            1, if_samp_rate, _filter_width, 1200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
+    _resampler2 = gr::filter::rational_resampler_ccf::make(second_interp, 1,
                 gr::filter::firdes::low_pass(second_interp,_samp_rate,_filter_width,_filter_width*5));
 
     connect(self(),0,_packed_to_unpacked,0);
diff --git a/src/gr/gr_mod_gmsk.h b/src/gr/gr_mod_gmsk.h
index 3d6c7d07..a35f4bfd 100644
--- a/src/gr/gr_mod_gmsk.h
+++ b/src/gr/gr_mod_gmsk.h
@@ -35,12 +35,12 @@
 #include <gnuradio/analog/frequency_modulator_fc.h>
 #include <gnuradio/fec/cc_encoder.h>
 #include <gnuradio/fec/encoder.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 
 
 class gr_mod_gmsk;
 
-typedef boost::shared_ptr<gr_mod_gmsk> gr_mod_gmsk_sptr;
+typedef std::shared_ptr<gr_mod_gmsk> gr_mod_gmsk_sptr;
 gr_mod_gmsk_sptr make_gr_mod_gmsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -62,8 +62,8 @@ class gr_mod_gmsk : public gr::hier_block2
     gr::filter::fft_filter_ccf::sptr _filter;
     gr::digital::map_bb::sptr _map;
     gr::analog::frequency_modulator_fc::sptr _freq_modulator;
-    gr::filter::rational_resampler_base_fff::sptr _resampler;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler2;
+    gr::filter::rational_resampler_fff::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler2;
 
 
 
diff --git a/src/gr/gr_mod_m17.cpp b/src/gr/gr_mod_m17.cpp
index 2fcb730b..4b1d922f 100644
--- a/src/gr/gr_mod_m17.cpp
+++ b/src/gr/gr_mod_m17.cpp
@@ -53,7 +53,7 @@ gr_mod_m17::gr_mod_m17(int sps, int samp_rate, int carrier_freq,
     _map = gr::digital::map_bb::make(map);
 
     _chunks_to_symbols = gr::digital::chunks_to_symbols_bf::make(constellation);
-    _first_resampler = gr::filter::rational_resampler_base_fff::make(_samples_per_symbol, 1,
+    _first_resampler = gr::filter::rational_resampler_fff::make(_samples_per_symbol, 1,
                     gr::filter::firdes::root_raised_cosine(_samples_per_symbol,
                                 _samples_per_symbol,1, 0.5, 50 * _samples_per_symbol));
     _scale_pulses = gr::blocks::multiply_const_ff::make(0.66666666, 1);
@@ -61,12 +61,12 @@ gr_mod_m17::gr_mod_m17(int sps, int samp_rate, int carrier_freq,
     _fm_modulator = gr::analog::frequency_modulator_fc::make(M_PI/_samples_per_symbol);
 
     std::vector<float> interp_taps = gr::filter::firdes::low_pass(_sps, _samp_rate * 6,
-                        if_samp_rate/2, if_samp_rate/2, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_sps, 6, interp_taps);
+                        if_samp_rate/2, if_samp_rate/2, gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(_sps, 6, interp_taps);
     _amplify = gr::blocks::multiply_const_cc::make(0.9,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass(
-                1, if_samp_rate, _filter_width, _filter_width, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                1, if_samp_rate, _filter_width, _filter_width, gr::fft::window::WIN_BLACKMAN_HARRIS));
 
 
     connect(self(),0,_packed_to_unpacked,0);
diff --git a/src/gr/gr_mod_m17.h b/src/gr/gr_mod_m17.h
index 280feb2d..90246a2f 100644
--- a/src/gr/gr_mod_m17.h
+++ b/src/gr/gr_mod_m17.h
@@ -23,8 +23,8 @@
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
 #include <gnuradio/filter/fft_filter_fff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/multiply.h>
@@ -39,7 +39,7 @@
 
 class gr_mod_m17;
 
-typedef boost::shared_ptr<gr_mod_m17> gr_mod_m17_sptr;
+typedef std::shared_ptr<gr_mod_m17> gr_mod_m17_sptr;
 gr_mod_m17_sptr make_gr_mod_m17(int sps=250, int samp_rate=1000000, int carrier_freq=1700,
                                           int filter_width=6250);
 
@@ -53,8 +53,8 @@ class gr_mod_m17 : public gr::hier_block2
 private:
 
     gr::analog::frequency_modulator_fc::sptr _fm_modulator;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_fff::sptr _first_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_fff::sptr _first_resampler;
     gr::blocks::multiply_const_cc::sptr _amplify;
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::filter::fft_filter_ccf::sptr _filter;
diff --git a/src/gr/gr_mod_mmdvm.cpp b/src/gr/gr_mod_mmdvm.cpp
index caaafa98..5be7224f 100644
--- a/src/gr/gr_mod_mmdvm.cpp
+++ b/src/gr/gr_mod_mmdvm.cpp
@@ -42,12 +42,12 @@ gr_mod_mmdvm::gr_mod_mmdvm(int sps, int samp_rate, int carrier_freq,
 
 
     std::vector<float> interp_taps = gr::filter::firdes::low_pass_2(_sps, _samp_rate,
-                        _filter_width, _filter_width, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_sps,1, interp_taps);
+                        _filter_width, _filter_width, 60, gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(_sps,1, interp_taps);
     _amplify = gr::blocks::multiply_const_cc::make(0.8,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass_2(
-                1, target_samp_rate, _filter_width, _filter_width*2, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                1, target_samp_rate, _filter_width, _filter_width*2, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _zero_idle_bursts = make_gr_zero_idle_bursts();
 
 
diff --git a/src/gr/gr_mod_mmdvm.h b/src/gr/gr_mod_mmdvm.h
index 8176b0e6..6ce79f16 100644
--- a/src/gr/gr_mod_mmdvm.h
+++ b/src/gr/gr_mod_mmdvm.h
@@ -24,14 +24,14 @@
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
 #include <gnuradio/filter/fft_filter_fff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include "gr_zero_idle_bursts.h"
 
 
 class gr_mod_mmdvm;
 
-typedef boost::shared_ptr<gr_mod_mmdvm> gr_mod_mmdvm_sptr;
+typedef std::shared_ptr<gr_mod_mmdvm> gr_mod_mmdvm_sptr;
 gr_mod_mmdvm_sptr make_gr_mod_mmdvm(int sps=50, int samp_rate=1200000, int carrier_freq=1700,
                                           int filter_width=6250);
 
@@ -45,7 +45,7 @@ class gr_mod_mmdvm : public gr::hier_block2
 private:
 
     gr::analog::frequency_modulator_fc::sptr _fm_modulator;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::blocks::multiply_const_cc::sptr _amplify;
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::blocks::multiply_const_ff::sptr _audio_amplify;
diff --git a/src/gr/gr_mod_mmdvm_multi.cpp b/src/gr/gr_mod_mmdvm_multi.cpp
index 2d3c3dbe..b0b3a75c 100644
--- a/src/gr/gr_mod_mmdvm_multi.cpp
+++ b/src/gr/gr_mod_mmdvm_multi.cpp
@@ -48,9 +48,9 @@ gr_mod_mmdvm_multi::gr_mod_mmdvm_multi(BurstTimer *burst_timer, int num_channels
     float carrier_offset = float(channel_separation);
 
     std::vector<float> intermediate_interp_taps = gr::filter::firdes::low_pass_2(10, intermediate_samp_rate,
-                        _filter_width, _filter_width, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                        _filter_width, _filter_width, 60, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> interp_taps = gr::filter::firdes::low_pass_2(5, _samp_rate,
-                        resamp_filter_width, resamp_filter_slope, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                        resamp_filter_width, resamp_filter_slope, 60, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
 
     for(int i = 0;i < _num_channels;i++)
@@ -67,7 +67,7 @@ gr_mod_mmdvm_multi::gr_mod_mmdvm_multi(BurstTimer *burst_timer, int num_channels
     }
     for(int i = 0;i < _num_channels;i++)
     {
-        _resampler[i] = gr::filter::rational_resampler_base_ccf::make(10, 1, intermediate_interp_taps);
+        _resampler[i] = gr::filter::rational_resampler_ccf::make(10, 1, intermediate_interp_taps);
     }
     for(int i = 0;i < _num_channels;i++)
     {
@@ -76,7 +76,7 @@ gr_mod_mmdvm_multi::gr_mod_mmdvm_multi(BurstTimer *burst_timer, int num_channels
     for(int i = 0;i < _num_channels;i++)
     {
         _filter[i] = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass_2(
-                1, target_samp_rate, _filter_width, _filter_width/2, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                1, target_samp_rate, _filter_width, _filter_width/2, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     }
     for(int i = 0;i < _num_channels;i++)
     {
@@ -93,7 +93,7 @@ gr_mod_mmdvm_multi::gr_mod_mmdvm_multi(BurstTimer *burst_timer, int num_channels
     _add = gr::blocks::add_cc::make();
     _divide_level = gr::blocks::multiply_const_cc::make(1.0f / float(num_channels));
     _mmdvm_source = make_gr_mmdvm_source(burst_timer, num_channels, true, _use_tdma);
-    _final_resampler = gr::filter::rational_resampler_base_ccf::make(5, 1, interp_taps);
+    _final_resampler = gr::filter::rational_resampler_ccf::make(5, 1, interp_taps);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
 
 
diff --git a/src/gr/gr_mod_mmdvm_multi.h b/src/gr/gr_mod_mmdvm_multi.h
index 98cb572b..d6ce165f 100644
--- a/src/gr/gr_mod_mmdvm_multi.h
+++ b/src/gr/gr_mod_mmdvm_multi.h
@@ -24,7 +24,7 @@
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
 #include <gnuradio/filter/fft_filter_fff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/rotator_cc.h>
 #include "gr_mmdvm_source.h"
@@ -34,7 +34,7 @@
 
 class gr_mod_mmdvm_multi;
 
-typedef boost::shared_ptr<gr_mod_mmdvm_multi> gr_mod_mmdvm_multi_sptr;
+typedef std::shared_ptr<gr_mod_mmdvm_multi> gr_mod_mmdvm_multi_sptr;
 gr_mod_mmdvm_multi_sptr make_gr_mod_mmdvm_multi(BurstTimer *burst_timer, int num_channels=3,
                                                 int channel_separation=25000, bool use_tdma=true,
                                                 int sps=25, int samp_rate=1200000, int carrier_freq=1700,
@@ -52,8 +52,8 @@ class gr_mod_mmdvm_multi : public gr::hier_block2
 private:
 
     gr::analog::frequency_modulator_fc::sptr _fm_modulator[MAX_MMDVM_CHANNELS];
-    gr::filter::rational_resampler_base_ccf::sptr _resampler[MAX_MMDVM_CHANNELS];
-    gr::filter::rational_resampler_base_ccf::sptr _final_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler[MAX_MMDVM_CHANNELS];
+    gr::filter::rational_resampler_ccf::sptr _final_resampler;
     gr::blocks::multiply_const_cc::sptr _amplify[MAX_MMDVM_CHANNELS];
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::blocks::multiply_const_ff::sptr _audio_amplify[MAX_MMDVM_CHANNELS];
diff --git a/src/gr/gr_mod_nbfm.cpp b/src/gr/gr_mod_nbfm.cpp
index d1fb0187..2dc80ba3 100644
--- a/src/gr/gr_mod_nbfm.cpp
+++ b/src/gr/gr_mod_nbfm.cpp
@@ -42,24 +42,24 @@ gr_mod_nbfm::gr_mod_nbfm(int sps, int samp_rate, int carrier_freq,
     _audio_amplify = gr::blocks::multiply_const_ff::make(0.99,1);
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::band_pass_2(
-                    1, target_samp_rate, 300, 3500, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                    1, target_samp_rate, 300, 3500, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
 
     _pre_emph_filter = gr::filter::iir_filter_ffd::make(_btaps, _ataps, false);
 
     std::vector<float> if_taps = gr::filter::firdes::low_pass_2(25, if_samp_rate * 4,
-                        _filter_width, 1200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _if_resampler = gr::filter::rational_resampler_base_fff::make(25,4, if_taps);
+                        _filter_width, 1200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _if_resampler = gr::filter::rational_resampler_fff::make(25,4, if_taps);
 
     _tone_source = gr::analog::sig_source_f::make(target_samp_rate,gr::analog::GR_COS_WAVE,88.5,0.15);
     _add = gr::blocks::add_ff::make();
 
     std::vector<float> interp_taps = gr::filter::firdes::low_pass_2(_sps, _samp_rate,
-                        _filter_width, 1200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_sps,1, interp_taps);
+                        _filter_width, 1200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS);
+    _resampler = gr::filter::rational_resampler_ccf::make(_sps,1, interp_taps);
     _amplify = gr::blocks::multiply_const_cc::make(0.8,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter = gr::filter::fft_filter_ccf::make(1,gr::filter::firdes::low_pass_2(
-                1, if_samp_rate, _filter_width, 1200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                1, if_samp_rate, _filter_width, 1200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
 
 
     connect(self(),0,_audio_filter,0);
@@ -80,11 +80,11 @@ void gr_mod_nbfm::set_filter_width(int filter_width)
     _filter_width = filter_width;
     float if_samp_rate = 50000;
     std::vector<float> if_taps = gr::filter::firdes::low_pass_2(25, if_samp_rate * 4,
-                    _filter_width, _filter_width, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                    _filter_width, _filter_width, 60, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> filter_taps = gr::filter::firdes::low_pass_2(
-                1, if_samp_rate, _filter_width, 1200, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                1, if_samp_rate, _filter_width, 1200, 60, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<float> interp_taps = gr::filter::firdes::low_pass_2(_sps, _samp_rate,
-                    _filter_width, _filter_width, 60, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                    _filter_width, _filter_width, 60, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     _if_resampler->set_taps(if_taps);
     _filter->set_taps(filter_taps);
diff --git a/src/gr/gr_mod_nbfm.h b/src/gr/gr_mod_nbfm.h
index 661d624b..9031a0a0 100644
--- a/src/gr/gr_mod_nbfm.h
+++ b/src/gr/gr_mod_nbfm.h
@@ -25,8 +25,8 @@
 #include <gnuradio/filter/firdes.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
 #include <gnuradio/filter/fft_filter_fff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/multiply.h>
@@ -38,7 +38,7 @@
 
 class gr_mod_nbfm;
 
-typedef boost::shared_ptr<gr_mod_nbfm> gr_mod_nbfm_sptr;
+typedef std::shared_ptr<gr_mod_nbfm> gr_mod_nbfm_sptr;
 gr_mod_nbfm_sptr make_gr_mod_nbfm(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -57,8 +57,8 @@ class gr_mod_nbfm : public gr::hier_block2
     gr::filter::iir_filter_ffd::sptr _pre_emph_filter;
     gr::analog::sig_source_f::sptr _tone_source;
     gr::blocks::add_ff::sptr _add;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
-    gr::filter::rational_resampler_base_fff::sptr _if_resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
+    gr::filter::rational_resampler_fff::sptr _if_resampler;
     gr::blocks::multiply_const_cc::sptr _amplify;
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::blocks::multiply_const_ff::sptr _audio_amplify;
diff --git a/src/gr/gr_mod_qpsk.cpp b/src/gr/gr_mod_qpsk.cpp
index 75d601c7..a664aa34 100644
--- a/src/gr/gr_mod_qpsk.cpp
+++ b/src/gr/gr_mod_qpsk.cpp
@@ -70,7 +70,7 @@ gr_mod_qpsk::gr_mod_qpsk(int sps, int samp_rate, int carrier_freq,
     else
         nfilts = 15;
 
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_samples_per_symbol, 1,
+    _resampler = gr::filter::rational_resampler_ccf::make(_samples_per_symbol, 1,
             gr::filter::firdes::root_raised_cosine(_samples_per_symbol, _samples_per_symbol,
                          1, 0.35, nfilts * _samples_per_symbol));
     _amplify = gr::blocks::multiply_const_cc::make(0.6,1);
diff --git a/src/gr/gr_mod_qpsk.h b/src/gr/gr_mod_qpsk.h
index bace0772..5571f5e2 100644
--- a/src/gr/gr_mod_qpsk.h
+++ b/src/gr/gr_mod_qpsk.h
@@ -38,12 +38,12 @@
 #include <gnuradio/blocks/pack_k_bits_bb.h>
 #include <gnuradio/filter/fft_filter_ccf.h>
 #include <gnuradio/digital/constellation.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 
 
 class gr_mod_qpsk;
 
-typedef boost::shared_ptr<gr_mod_qpsk> gr_mod_qpsk_sptr;
+typedef std::shared_ptr<gr_mod_qpsk> gr_mod_qpsk_sptr;
 gr_mod_qpsk_sptr make_gr_mod_qpsk(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000);
 
@@ -67,7 +67,7 @@ class gr_mod_qpsk : public gr::hier_block2
     gr::digital::diff_encoder_bb::sptr _diff_encoder;
     gr::blocks::pack_k_bits_bb::sptr _packer;
     gr::digital::map_bb::sptr _map;
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
 
 
     int _samples_per_symbol;
diff --git a/src/gr/gr_mod_ssb.cpp b/src/gr/gr_mod_ssb.cpp
index f3bb9515..5151b48d 100644
--- a/src/gr/gr_mod_ssb.cpp
+++ b/src/gr/gr_mod_ssb.cpp
@@ -42,19 +42,19 @@ gr_mod_ssb::gr_mod_ssb(int sps, int samp_rate, int carrier_freq,
     _rail = gr::analog::rail_ff::make(-0.6, 0.6);
     _audio_filter = gr::filter::fft_filter_fff::make(
                 1,gr::filter::firdes::band_pass_2(
-                    1, target_samp_rate, 300, _filter_width, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+                    1, target_samp_rate, 300, _filter_width, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _float_to_complex = gr::blocks::float_to_complex::make();
     std::vector<float> interp_taps = gr::filter::firdes::low_pass_2(_sps, _samp_rate,
-                        _filter_width, _filter_width, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                        _filter_width, _filter_width, 90, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
-    _resampler = gr::filter::rational_resampler_base_ccf::make(_sps,1, interp_taps);
+    _resampler = gr::filter::rational_resampler_ccf::make(_sps,1, interp_taps);
     _feed_forward_agc = gr::analog::feedforward_agc_cc::make(640,0.5);
     _amplify = gr::blocks::multiply_const_cc::make(0.9,1);
     _bb_gain = gr::blocks::multiply_const_cc::make(1,1);
     _filter_usb = gr::filter::fft_filter_ccc::make(1,gr::filter::firdes::complex_band_pass_2(
-            1, target_samp_rate, 200, _filter_width, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+            1, target_samp_rate, 200, _filter_width, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _filter_lsb = gr::filter::fft_filter_ccc::make(1,gr::filter::firdes::complex_band_pass_2(
-            1, target_samp_rate, -_filter_width, -200, 200, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS));
+            1, target_samp_rate, -_filter_width, -200, 200, 90, gr::fft::window::WIN_BLACKMAN_HARRIS));
     _clipper = gr::cessb::clipper_cc::make(0.95);
     _stretcher = gr::cessb::stretcher_cc::make();
 
@@ -87,12 +87,12 @@ void gr_mod_ssb::set_filter_width(int filter_width)
     _filter_width = filter_width;
     float target_samp_rate = 8000.0;
     std::vector<float> interp_taps = gr::filter::firdes::low_pass_2(_sps, _samp_rate,
-                    _filter_width, _filter_width,90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+                    _filter_width, _filter_width,90, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     std::vector<gr_complex> filter_usb_taps = gr::filter::firdes::complex_band_pass_2(
-            1, target_samp_rate, 300, _filter_width, 250, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+            1, target_samp_rate, 300, _filter_width, 250, 90, gr::fft::window::WIN_BLACKMAN_HARRIS);
     std::vector<gr_complex> filter_lsb_taps = gr::filter::firdes::complex_band_pass_2(
-            1, target_samp_rate, -_filter_width, -300, 250, 90, gr::filter::firdes::WIN_BLACKMAN_HARRIS);
+            1, target_samp_rate, -_filter_width, -300, 250, 90, gr::fft::window::WIN_BLACKMAN_HARRIS);
 
     _resampler->set_taps(interp_taps);
     _filter_usb->set_taps(filter_usb_taps);
diff --git a/src/gr/gr_mod_ssb.h b/src/gr/gr_mod_ssb.h
index 93187e5d..13ac77fc 100644
--- a/src/gr/gr_mod_ssb.h
+++ b/src/gr/gr_mod_ssb.h
@@ -23,7 +23,7 @@
 #include <gnuradio/analog/feedforward_agc_cc.h>
 #include <gnuradio/filter/fft_filter_ccc.h>
 #include <gnuradio/filter/fft_filter_fff.h>
-#include <gnuradio/filter/rational_resampler_base.h>
+#include <gnuradio/filter/rational_resampler.h>
 #include <gnuradio/blocks/multiply_const.h>
 #include <gnuradio/blocks/multiply.h>
 #include <gnuradio/blocks/multiply.h>
@@ -37,7 +37,7 @@
 
 class gr_mod_ssb;
 
-typedef boost::shared_ptr<gr_mod_ssb> gr_mod_ssb_sptr;
+typedef std::shared_ptr<gr_mod_ssb> gr_mod_ssb_sptr;
 gr_mod_ssb_sptr make_gr_mod_ssb(int sps=125, int samp_rate=250000, int carrier_freq=1700,
                                           int filter_width=8000, int sb=0);
 
@@ -49,7 +49,7 @@ class gr_mod_ssb : public gr::hier_block2
     void set_filter_width(int filter_width);
     void set_bb_gain(float value);
 private:
-    gr::filter::rational_resampler_base_ccf::sptr _resampler;
+    gr::filter::rational_resampler_ccf::sptr _resampler;
     gr::blocks::multiply_const_cc::sptr _amplify;
     gr::blocks::multiply_const_cc::sptr _bb_gain;
     gr::filter::fft_filter_fff::sptr _audio_filter;
diff --git a/src/gr/gr_sample_sink.h b/src/gr/gr_sample_sink.h
index e1132d1e..fde91534 100644
--- a/src/gr/gr_sample_sink.h
+++ b/src/gr/gr_sample_sink.h
@@ -8,7 +8,7 @@
 #include <stdio.h>
 
 class gr_sample_sink;
-typedef boost::shared_ptr<gr_sample_sink> gr_sample_sink_sptr;
+typedef std::shared_ptr<gr_sample_sink> gr_sample_sink_sptr;
 
 gr_sample_sink_sptr make_gr_sample_sink();
 
diff --git a/src/gr/gr_zero_idle_bursts.h b/src/gr/gr_zero_idle_bursts.h
index ee859e7d..9c74c222 100644
--- a/src/gr/gr_zero_idle_bursts.h
+++ b/src/gr/gr_zero_idle_bursts.h
@@ -23,7 +23,7 @@
 #include <gnuradio/tags.h>
 
 class gr_zero_idle_bursts;
-typedef boost::shared_ptr<gr_zero_idle_bursts> gr_zero_idle_bursts_sptr;
+typedef std::shared_ptr<gr_zero_idle_bursts> gr_zero_idle_bursts_sptr;
 
 gr_zero_idle_bursts_sptr make_gr_zero_idle_bursts();
 
diff --git a/src/gr/limesdr/sink.h b/src/gr/limesdr/sink.h
index 4e2011a9..28fc9bbd 100755
--- a/src/gr/limesdr/sink.h
+++ b/src/gr/limesdr/sink.h
@@ -28,7 +28,7 @@ namespace gr {
 namespace limesdr {
 class LIMESDR_API sink : virtual public gr::block {
     public:
-    typedef boost::shared_ptr<sink> sptr;
+    typedef std::shared_ptr<sink> sptr;
     /*!
      * @brief Return a shared_ptr to a new instance of sink.
      *
diff --git a/src/gr/limesdr/source.h b/src/gr/limesdr/source.h
index 18094801..c4aa9c09 100755
--- a/src/gr/limesdr/source.h
+++ b/src/gr/limesdr/source.h
@@ -28,7 +28,7 @@ namespace gr {
 namespace limesdr {
 class LIMESDR_API source : virtual public gr::block {
     public:
-    typedef boost::shared_ptr<source> sptr;
+    typedef std::shared_ptr<source> sptr;
 
     /*!
      * @brief Return a shared_ptr to a new instance of source.
diff --git a/src/gr/rssi_block.h b/src/gr/rssi_block.h
index 4f3f6528..39695998 100644
--- a/src/gr/rssi_block.h
+++ b/src/gr/rssi_block.h
@@ -29,7 +29,7 @@
 
 class rssi_block;
 
-typedef boost::shared_ptr<rssi_block> rssi_block_sptr;
+typedef std::shared_ptr<rssi_block> rssi_block_sptr;
 rssi_block_sptr make_rssi_block(int level = -80);
 
 class rssi_block : public gr::hier_block2
diff --git a/src/gr/rx_fft.cpp b/src/gr/rx_fft.cpp
index 303c3c75..b225b541 100644
--- a/src/gr/rx_fft.cpp
+++ b/src/gr/rx_fft.cpp
@@ -48,7 +48,7 @@ rx_fft_c::rx_fft_c(unsigned int fftsize, int wintype)
 {
 
     /* create FFT object */
-    d_fft = new gr::fft::fft_complex(d_fftsize, true, 4);
+    d_fft = new gr::fft::fft_complex_fwd(d_fftsize);
     // must remember to check set_fft_size(), we malloc and free there as well
     d_fft_points = (float*)volk_malloc((size_t)d_fftsize * sizeof(float), volk_get_alignment());
     d_sample_buffer = d_fft->get_inbuf();
@@ -152,7 +152,7 @@ void rx_fft_c::set_fft_size(unsigned int fftsize)
 
         /* reset FFT object (also reset FFTW plan) */
         delete d_fft;
-        d_fft = new gr::fft::fft_complex (d_fftsize, true);
+        d_fft = new gr::fft::fft_complex_fwd (d_fftsize);
         d_sample_buffer = d_fft->get_inbuf();
     }
 
@@ -175,13 +175,13 @@ void rx_fft_c::set_window_type(int wintype)
 
     d_wintype = wintype;
 
-    if ((d_wintype < gr::filter::firdes::WIN_HAMMING) || (d_wintype > gr::filter::firdes::WIN_FLATTOP))
+    if ((d_wintype < gr::fft::window::WIN_HAMMING) || (d_wintype > gr::fft::window::WIN_FLATTOP))
     {
-        d_wintype = gr::filter::firdes::WIN_HAMMING;
+        d_wintype = gr::fft::window::WIN_HAMMING;
     }
 
     d_window.clear();
-    d_window = gr::filter::firdes::window((gr::filter::firdes::win_type)d_wintype, d_fftsize, 6.76);
+    d_window = gr::filter::firdes::window((gr::fft::window::win_type)d_wintype, d_fftsize, 6.76);
 }
 
 /*! \brief Get currently used window type. */
@@ -212,7 +212,7 @@ rx_fft_f::rx_fft_f(unsigned int fftsize, int wintype)
 {
 
     /* create FFT object */
-    d_fft = new gr::fft::fft_complex(d_fftsize, true);
+    d_fft = new gr::fft::fft_complex_fwd(d_fftsize);
     d_cbuf = new boost::circular_buffer<float>;
 
     /* allocate circular buffer */
@@ -329,7 +329,7 @@ void rx_fft_f::set_fft_size(unsigned int fftsize)
 
         /* reset FFT object (also reset FFTW plan) */
         delete d_fft;
-        d_fft = new gr::fft::fft_complex(d_fftsize, true);
+        d_fft = new gr::fft::fft_complex_fwd(d_fftsize, true);
     }
 }
 
@@ -350,13 +350,13 @@ void rx_fft_f::set_window_type(int wintype)
 
     d_wintype = wintype;
 
-    if ((d_wintype < gr::filter::firdes::WIN_HAMMING) || (d_wintype > gr::filter::firdes::WIN_FLATTOP))
+    if ((d_wintype < gr::fft::window::WIN_HAMMING) || (d_wintype > gr::fft::window::WIN_FLATTOP))
     {
-        d_wintype = gr::filter::firdes::WIN_HAMMING;
+        d_wintype = gr::fft::window::WIN_HAMMING;
     }
 
     d_window.clear();
-    d_window = gr::filter::firdes::window((gr::filter::firdes::win_type)d_wintype, d_fftsize, 6.76);
+    d_window = gr::filter::firdes::window((gr::fft::window::win_type)d_wintype, d_fftsize, 6.76);
 }
 
 /*! \brief Get currently used window type. */
diff --git a/src/gr/rx_fft.h b/src/gr/rx_fft.h
index 4532941d..e4d4032e 100644
--- a/src/gr/rx_fft.h
+++ b/src/gr/rx_fft.h
@@ -38,8 +38,8 @@
 class rx_fft_c;
 class rx_fft_f;
 
-typedef boost::shared_ptr<rx_fft_c> rx_fft_c_sptr;
-typedef boost::shared_ptr<rx_fft_f> rx_fft_f_sptr;
+typedef std::shared_ptr<rx_fft_c> rx_fft_c_sptr;
+typedef std::shared_ptr<rx_fft_f> rx_fft_f_sptr;
 
 
 /*! \brief Return a shared_ptr to a new instance of rx_fft_c.
@@ -50,7 +50,7 @@ typedef boost::shared_ptr<rx_fft_f> rx_fft_f_sptr;
  * of raw pointers, the rx_fft_c constructor is private.
  * make_rx_fft_c is the public interface for creating new instances.
  */
-rx_fft_c_sptr make_rx_fft_c(unsigned int fftsize=4096, int wintype=gr::filter::firdes::WIN_HAMMING);
+rx_fft_c_sptr make_rx_fft_c(unsigned int fftsize=4096, int wintype=gr::fft::window::WIN_HAMMING);
 
 
 /*! \brief Block for computing complex FFT.
@@ -70,7 +70,7 @@ class rx_fft_c : public gr::sync_block
     friend rx_fft_c_sptr make_rx_fft_c(unsigned int fftsize, int wintype);
 
 protected:
-    rx_fft_c(unsigned int fftsize=4096, int wintype=gr::filter::firdes::WIN_HAMMING);
+    rx_fft_c(unsigned int fftsize=4096, int wintype=gr::fft::window::WIN_HAMMING);
 
 public:
     ~rx_fft_c();
@@ -94,7 +94,7 @@ class rx_fft_c : public gr::sync_block
 
     boost::mutex d_mutex;  /*! Used to lock FFT output buffer. */
 
-    gr::fft::fft_complex    *d_fft;    /*! FFT object. */
+    gr::fft::fft_complex_fwd    *d_fft;    /*! FFT object. */
     std::vector<float>  d_window; /*! FFT window taps. */
 
     float *d_fft_points;
@@ -119,7 +119,7 @@ class rx_fft_c : public gr::sync_block
  * of raw pointers, the rx_fft_f constructor is private.
  * make_rx_fft_f is the public interface for creating new instances.
  */
-rx_fft_f_sptr make_rx_fft_f(unsigned int fftsize=1024, int wintype=gr::filter::firdes::WIN_HAMMING);
+rx_fft_f_sptr make_rx_fft_f(unsigned int fftsize=1024, int wintype=gr::fft::window::WIN_HAMMING);
 
 
 /*! \brief Block for computing real FFT.
@@ -140,7 +140,7 @@ class rx_fft_f : public gr::sync_block
     friend rx_fft_f_sptr make_rx_fft_f(unsigned int fftsize, int wintype);
 
 protected:
-    rx_fft_f(unsigned int fftsize=1024, int wintype=gr::filter::firdes::WIN_HAMMING);
+    rx_fft_f(unsigned int fftsize=1024, int wintype=gr::fft::window::WIN_HAMMING);
 
 public:
     ~rx_fft_f();
@@ -163,7 +163,7 @@ class rx_fft_f : public gr::sync_block
 
     boost::mutex d_mutex;  /*! Used to lock FFT output buffer. */
 
-    gr::fft::fft_complex    *d_fft;    /*! FFT object. */
+    gr::fft::fft_complex_fwd    *d_fft;    /*! FFT object. */
     std::vector<float>  d_window; /*! FFT window taps. */
 
     boost::circular_buffer<float> *d_cbuf; /*! buffer to accumulate samples. */
openSUSE Build Service is sponsored by