From fa56c39802a82e6e0e730813a57e86e1aea09a24 Mon Sep 17 00:00:00 2001
From: Eric Blossom <eb@comsec.com>
Date: Tue, 3 Aug 2010 11:54:25 -0700
Subject: fix scoped_lock that didn't ref mutex

---
 gnuradio-core/src/lib/runtime/gr_sptr_magic.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'gnuradio-core/src')

diff --git a/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc b/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc
index 96ffae85fe..b0351248c3 100644
--- a/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc
+++ b/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc
@@ -39,7 +39,7 @@ namespace gnuradio {
   detail::sptr_magic::create_and_stash_initial_sptr(gr_hier_block2 *p)
   {
     gr_basic_block_sptr sptr(p);
-    gruel::scoped_lock guard();
+    gruel::scoped_lock guard(s_mutex);
     s_map.insert(sptr_map::value_type(static_cast<gr_basic_block *>(p), sptr));
   }
 
@@ -60,7 +60,7 @@ namespace gnuradio {
      * p is a subclass of gr_hier_block2, thus we've already created the shared pointer
      * and stashed it away.  Fish it out and return it.
      */
-    gruel::scoped_lock guard();
+    gruel::scoped_lock guard(s_mutex);
     sptr_map::iterator pos = s_map.find(static_cast<gr_basic_block *>(p));
     if (pos == s_map.end())
       throw std::invalid_argument("gr_sptr_magic: invalid pointer!");
-- 
cgit v1.2.3


From 0a9b999b5cce596f4de05828005f698047e14ce9 Mon Sep 17 00:00:00 2001
From: Eric Blossom <eb@comsec.com>
Date: Tue, 3 Aug 2010 13:36:18 -0700
Subject: Modify all block factories to use gnuradio::get_initial_sptr.

---
 gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc        |  4 ++--
 gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc          |  4 ++--
 gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc          |  2 +-
 gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc         |  4 ++--
 gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t        |  4 ++--
 .../src/lib/filter/gr_fractional_interpolator_cc.cc        |  4 ++--
 .../src/lib/filter/gr_fractional_interpolator_ff.cc        |  4 ++--
 .../src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t     |  4 ++--
 gnuradio-core/src/lib/filter/gr_goertzel_fc.cc             |  4 ++--
 gnuradio-core/src/lib/filter/gr_hilbert_fc.cc              |  4 ++--
 gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc          |  4 ++--
 gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t |  4 ++--
 gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc   |  2 +-
 gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc     |  2 +-
 gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc      |  2 +-
 gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc      |  2 +-
 gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc       |  4 ++--
 gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc    |  4 ++--
 .../src/lib/filter/gr_rational_resampler_base_XXX.cc.t     |  4 ++--
 .../src/lib/filter/gr_single_pole_iir_filter_cc.cc         |  4 ++--
 .../src/lib/filter/gr_single_pole_iir_filter_ff.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc  |  2 +-
 gnuradio-core/src/lib/general/gr_agc2_cc.cc                |  4 ++--
 gnuradio-core/src/lib/general/gr_agc2_ff.cc                |  4 ++--
 gnuradio-core/src/lib/general/gr_agc_cc.cc                 |  4 ++--
 gnuradio-core/src/lib/general/gr_agc_ff.cc                 |  4 ++--
 .../src/lib/general/gr_align_on_samplenumbers_ss.cc        |  4 ++--
 gnuradio-core/src/lib/general/gr_bin_statistics_f.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_bytes_to_syms.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_char_to_float.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_check_counting_s.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc   |  4 ++--
 gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc   |  4 ++--
 .../src/lib/general/gr_complex_to_interleaved_short.cc     |  4 ++--
 gnuradio-core/src/lib/general/gr_complex_to_xxx.cc         | 14 +++++++-------
 gnuradio-core/src/lib/general/gr_conjugate_cc.cc           |  4 ++--
 .../src/lib/general/gr_correlate_access_code_bb.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_costas_loop_cc.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_cpfsk_bc.cc               |  4 ++--
 gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc     |  4 ++--
 gnuradio-core/src/lib/general/gr_deinterleave.cc           |  4 ++--
 gnuradio-core/src/lib/general/gr_delay.cc                  |  4 ++--
 gnuradio-core/src/lib/general/gr_descrambler_bb.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc        |  4 ++--
 gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc        |  4 ++--
 gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_dpll_bb.cc                |  4 ++--
 gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc     |  4 ++--
 gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc  |  6 +++---
 gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc     |  4 ++--
 gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc           |  4 ++--
 gnuradio-core/src/lib/general/gr_fft_vfc.cc                |  4 ++--
 gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_float_to_char.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_float_to_complex.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_float_to_short.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_float_to_uchar.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_fmdet_cf.cc               |  4 ++--
 gnuradio-core/src/lib/general/gr_framer_sink_1.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc |  4 ++--
 gnuradio-core/src/lib/general/gr_glfsr_source_b.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_glfsr_source_f.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_interleave.cc             |  4 ++--
 .../src/lib/general/gr_interleaved_short_to_complex.cc     |  4 ++--
 gnuradio-core/src/lib/general/gr_iqcomp_cc.cc              |  4 ++--
 gnuradio-core/src/lib/general/gr_keep_one_in_n.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc             |  4 ++--
 gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc             |  4 ++--
 gnuradio-core/src/lib/general/gr_map_bb.cc                 |  4 ++--
 gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_nlog10_ff.cc              |  4 ++--
 gnuradio-core/src/lib/general/gr_nop.cc                    |  4 ++--
 gnuradio-core/src/lib/general/gr_null_sink.cc              |  4 ++--
 gnuradio-core/src/lib/general/gr_null_source.cc            |  4 ++--
 gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc     |  4 ++--
 gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc   |  4 ++--
 gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc |  4 ++--
 gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc        |  4 ++--
 gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc   |  4 ++--
 gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc        |  4 ++--
 gnuradio-core/src/lib/general/gr_ofdm_sampler.cc           |  2 +-
 gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc  |  4 ++--
 gnuradio-core/src/lib/general/gr_packet_sink.cc            |  4 ++--
 gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc     |  4 ++--
 gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc |  4 ++--
 gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_pll_refout_cc.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc   |  4 ++--
 gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc  |  4 ++--
 gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc   |  4 ++--
 gnuradio-core/src/lib/general/gr_probe_density_b.cc        |  4 ++--
 gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_probe_signal_f.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc    |  4 ++--
 gnuradio-core/src/lib/general/gr_rail_ff.cc                |  4 ++--
 gnuradio-core/src/lib/general/gr_regenerate_bb.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_repeat.cc                 |  4 ++--
 gnuradio-core/src/lib/general/gr_rms_cf.cc                 |  4 ++--
 gnuradio-core/src/lib/general/gr_rms_ff.cc                 |  4 ++--
 gnuradio-core/src/lib/general/gr_scrambler_bb.cc           |  4 ++--
 gnuradio-core/src/lib/general/gr_short_to_float.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_simple_correlator.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_simple_framer.cc          |  4 ++--
 gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_skiphead.cc               |  4 ++--
 gnuradio-core/src/lib/general/gr_squash_ff.cc              |  4 ++--
 gnuradio-core/src/lib/general/gr_stream_mux.cc             |  4 ++--
 gnuradio-core/src/lib/general/gr_stream_to_streams.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_stream_to_vector.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_streams_to_stream.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_streams_to_vector.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_stretch_ff.cc             |  4 ++--
 gnuradio-core/src/lib/general/gr_test.cc                   |  4 ++--
 gnuradio-core/src/lib/general/gr_threshold_ff.cc           |  4 ++--
 gnuradio-core/src/lib/general/gr_throttle.cc               |  4 ++--
 gnuradio-core/src/lib/general/gr_uchar_to_float.cc         |  4 ++--
 gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_vco_f.cc                  |  4 ++--
 gnuradio-core/src/lib/general/gr_vector_to_stream.cc       |  4 ++--
 gnuradio-core/src/lib/general/gr_vector_to_streams.cc      |  4 ++--
 gnuradio-core/src/lib/general/gr_wavelet_ff.cc             |  4 ++--
 gnuradio-core/src/lib/general/gr_wvps_ff.cc                |  4 ++--
 gnuradio-core/src/lib/gengen/gr_add_XX.cc.t                |  4 ++--
 gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t          |  4 ++--
 gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t         |  4 ++--
 gnuradio-core/src/lib/gengen/gr_and_XX.cc.t                |  4 ++--
 gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t          |  4 ++--
 gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t  |  4 ++--
 gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t             |  4 ++--
 gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t          |  4 ++--
 gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t     |  4 ++--
 gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t           |  4 ++--
 gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t     |  4 ++--
 gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t    |  4 ++--
 gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t               |  4 ++--
 gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t        |  4 ++--
 gnuradio-core/src/lib/gengen/gr_not_XX.cc.t                |  4 ++--
 gnuradio-core/src/lib/gengen/gr_or_XX.cc.t                 |  4 ++--
 gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t      |  4 ++--
 gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t    |  4 ++--
 gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t          |  4 ++--
 gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t                |  4 ++--
 gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t         |  4 ++--
 gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t       |  4 ++--
 gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t                |  4 ++--
 gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc        |  4 ++--
 gnuradio-core/src/lib/io/gr_file_sink.cc                   |  4 ++--
 gnuradio-core/src/lib/io/gr_file_source.cc                 |  4 ++--
 gnuradio-core/src/lib/io/gr_histo_sink_f.cc                |  4 ++--
 gnuradio-core/src/lib/io/gr_message_sink.cc                |  4 ++--
 gnuradio-core/src/lib/io/gr_message_source.cc              |  6 +++---
 gnuradio-core/src/lib/io/gr_oscope_sink_f.cc               |  4 ++--
 gnuradio-core/src/lib/io/gr_udp_sink.cc                    |  2 +-
 gnuradio-core/src/lib/io/gr_udp_source.cc                  |  2 +-
 gnuradio-core/src/lib/io/gr_wavfile_sink.cc                |  4 ++--
 gnuradio-core/src/lib/io/gr_wavfile_source.cc              |  4 ++--
 gr-atsc/src/lib/atsc_bit_timing_loop.cc                    |  4 ++--
 gr-atsc/src/lib/atsc_deinterleaver.cc                      |  4 ++--
 gr-atsc/src/lib/atsc_depad.cc                              |  4 ++--
 gr-atsc/src/lib/atsc_derandomizer.cc                       |  4 ++--
 gr-atsc/src/lib/atsc_ds_to_softds.cc                       |  4 ++--
 gr-atsc/src/lib/atsc_equalizer.cc                          |  4 ++--
 gr-atsc/src/lib/atsc_field_sync_demux.cc                   |  4 ++--
 gr-atsc/src/lib/atsc_field_sync_mux.cc                     |  4 ++--
 gr-atsc/src/lib/atsc_fpll.cc                               |  4 ++--
 gr-atsc/src/lib/atsc_fs_checker.cc                         |  4 ++--
 gr-atsc/src/lib/atsc_interleaver.cc                        |  4 ++--
 gr-atsc/src/lib/atsc_pad.cc                                |  4 ++--
 gr-atsc/src/lib/atsc_randomizer.cc                         |  4 ++--
 gr-atsc/src/lib/atsc_rs_decoder.cc                         |  4 ++--
 gr-atsc/src/lib/atsc_rs_encoder.cc                         |  4 ++--
 gr-atsc/src/lib/atsc_trellis_encoder.cc                    |  4 ++--
 gr-atsc/src/lib/atsc_viterbi_decoder.cc                    |  4 ++--
 gr-audio-alsa/src/audio_alsa_sink.cc                       |  4 ++--
 gr-audio-alsa/src/audio_alsa_source.cc                     |  4 ++--
 gr-audio-jack/src/audio_jack_sink.cc                       |  4 ++--
 gr-audio-jack/src/audio_jack_source.cc                     |  4 ++--
 gr-audio-oss/src/audio_oss_sink.cc                         |  4 ++--
 gr-audio-oss/src/audio_oss_source.cc                       |  4 ++--
 gr-audio-osx/src/audio_osx_sink.cc                         |  2 +-
 gr-audio-osx/src/audio_osx_source.cc                       |  2 +-
 gr-audio-portaudio/src/audio_portaudio_sink.cc             |  4 ++--
 gr-audio-portaudio/src/audio_portaudio_source.cc           |  4 ++--
 gr-audio-windows/src/audio_windows_sink.cc                 |  5 ++---
 gr-audio-windows/src/audio_windows_source.cc               |  6 ++----
 gr-comedi/src/comedi_sink_s.cc                             |  4 ++--
 gr-comedi/src/comedi_source_s.cc                           |  4 ++--
 gr-cvsd-vocoder/src/lib/cvsd_decode_bs.cc                  |  4 ++--
 gr-cvsd-vocoder/src/lib/cvsd_encode_sb.cc                  |  4 ++--
 gr-gcell/src/gcell_fft_vcc.cc                              |  4 ++--
 gr-gsm-fr-vocoder/src/lib/gsm_fr_decode_ps.cc              |  4 ++--
 gr-gsm-fr-vocoder/src/lib/gsm_fr_encode_sp.cc              |  4 ++--
 gr-howto-write-a-block/lib/howto_square2_ff.cc             |  4 ++--
 gr-howto-write-a-block/lib/howto_square_ff.cc              |  4 ++--
 gr-msdd6000/src/msdd_rs_source_simple.cc                   |  4 ++--
 gr-msdd6000/src/msdd_source_simple.cc                      |  4 ++--
 gr-pager/lib/pager_flex_deinterleave.cc                    |  4 ++--
 gr-pager/lib/pager_flex_parse.cc                           |  4 ++--
 gr-pager/lib/pager_flex_sync.cc                            |  4 ++--
 gr-pager/lib/pager_slicer_fb.cc                            |  4 ++--
 gr-qtgui/src/lib/qtgui_sink_c.cc                           |  4 ++--
 gr-qtgui/src/lib/qtgui_sink_f.cc                           |  4 ++--
 gr-trellis/src/lib/trellis_encoder_XX.cc.t                 |  4 ++--
 gr-trellis/src/lib/trellis_metrics_X.cc.t                  |  4 ++--
 gr-trellis/src/lib/trellis_permutation.cc                  |  4 ++--
 gr-trellis/src/lib/trellis_siso_combined_f.cc              |  4 ++--
 gr-trellis/src/lib/trellis_siso_f.cc                       |  4 ++--
 gr-trellis/src/lib/trellis_viterbi_X.cc.t                  |  4 ++--
 gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t        |  4 ++--
 gr-usrp/src/usrp_sink_c.cc                                 |  4 ++--
 gr-usrp/src/usrp_sink_s.cc                                 |  4 ++--
 gr-usrp/src/usrp_source_c.cc                               |  4 ++--
 gr-usrp/src/usrp_source_s.cc                               |  4 ++--
 gr-video-sdl/src/video_sdl_sink_s.cc                       |  4 ++--
 gr-video-sdl/src/video_sdl_sink_uc.cc                      |  4 ++--
 223 files changed, 442 insertions(+), 445 deletions(-)

(limited to 'gnuradio-core/src')

diff --git a/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc b/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc
index 6a6fe1c265..8252509bba 100644
--- a/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc
+++ b/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -29,7 +29,7 @@
 gr_cma_equalizer_cc_sptr
 gr_make_cma_equalizer_cc(int num_taps, float modulus, float mu)
 {
-  return gr_cma_equalizer_cc_sptr(new gr_cma_equalizer_cc(num_taps, modulus, mu));
+  return gnuradio::get_initial_sptr(new gr_cma_equalizer_cc(num_taps, modulus, mu));
 }
 
 gr_cma_equalizer_cc::gr_cma_equalizer_cc(int num_taps, float modulus, float mu)
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
index 4540c6e4ad..02bfaf105b 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -45,7 +45,7 @@
 
 gr_fft_filter_ccc_sptr gr_make_fft_filter_ccc (int decimation, const std::vector<gr_complex> &taps)
 {
-  return gr_fft_filter_ccc_sptr (new gr_fft_filter_ccc (decimation, taps));
+  return gnuradio::get_initial_sptr(new gr_fft_filter_ccc (decimation, taps));
 }
 
 
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
index e8857fe8cf..e5b218f20d 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
@@ -37,7 +37,7 @@
 
 gr_fft_filter_fff_sptr gr_make_fft_filter_fff (int decimation, const std::vector<float> &taps)
 {
-  return gr_fft_filter_fff_sptr (new gr_fft_filter_fff (decimation, taps));
+  return gnuradio::get_initial_sptr(new gr_fft_filter_fff (decimation, taps));
 }
 
 
diff --git a/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc b/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc
index 49a1e0eb34..7974da934d 100644
--- a/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc
+++ b/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_filter_delay_fc_sptr 
 gr_make_filter_delay_fc (const std::vector<float> &taps) 
 {
-  return gr_filter_delay_fc_sptr (new gr_filter_delay_fc (taps));
+  return gnuradio::get_initial_sptr(new gr_filter_delay_fc (taps));
 }
 
 gr_filter_delay_fc::gr_filter_delay_fc (const std::vector<float> &taps)
diff --git a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
index b99de50731..29e3519252 100644
--- a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -36,7 +36,7 @@
 
 @SPTR_NAME@ gr_make_@BASE_NAME@ (int decimation, const std::vector<@TAP_TYPE@> &taps)
 {
-  return @SPTR_NAME@ (new @NAME@ (decimation, taps));
+  return gnuradio::get_initial_sptr (new @NAME@ (decimation, taps));
 }
 
 
diff --git a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc
index 56a1a31aa8..500958e3da 100644
--- a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc
+++ b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -32,7 +32,7 @@
 // Public constructor
 gr_fractional_interpolator_cc_sptr gr_make_fractional_interpolator_cc(float phase_shift, float interp_ratio)
 {
-  return gr_fractional_interpolator_cc_sptr(new gr_fractional_interpolator_cc(phase_shift, interp_ratio));
+  return gnuradio::get_initial_sptr(new gr_fractional_interpolator_cc(phase_shift, interp_ratio));
 }
 
 gr_fractional_interpolator_cc::gr_fractional_interpolator_cc(float phase_shift, float interp_ratio)
diff --git a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc
index 0e0fdad7f4..9cbe31635d 100644
--- a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc
+++ b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -32,7 +32,7 @@
 // Public constructor
 gr_fractional_interpolator_ff_sptr gr_make_fractional_interpolator_ff(float phase_shift, float interp_ratio)
 {
-  return gr_fractional_interpolator_ff_sptr(new gr_fractional_interpolator_ff(phase_shift, interp_ratio));
+  return gnuradio::get_initial_sptr(new gr_fractional_interpolator_ff(phase_shift, interp_ratio));
 }
 
 gr_fractional_interpolator_ff::gr_fractional_interpolator_ff(float phase_shift, float interp_ratio)
diff --git a/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t
index f51e046afa..656b3402a9 100644
--- a/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2003 Free Software Foundation, Inc.
+ * Copyright 2003,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -39,7 +39,7 @@
 gr_make_@BASE_NAME@ (int decimation, const std::vector<@TAP_TYPE@> &taps,
 		     double center_freq, double sampling_freq)
 {
-  return @SPTR_NAME@ (new @NAME@ (decimation, taps, center_freq, sampling_freq));
+  return gnuradio::get_initial_sptr (new @NAME@ (decimation, taps, center_freq, sampling_freq));
 }
 
 
diff --git a/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc b/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc
index aee8df844d..a93751b2f0 100644
--- a/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc
+++ b/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_goertzel_fc_sptr 
 gr_make_goertzel_fc(int rate, int len, float freq) 
 {
-  return gr_goertzel_fc_sptr (new gr_goertzel_fc(rate, len, freq));
+  return gnuradio::get_initial_sptr(new gr_goertzel_fc(rate, len, freq));
 }
 
 gr_goertzel_fc::gr_goertzel_fc(int rate, int len, float freq)
diff --git a/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc b/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc
index 65343916ca..7445f051e6 100644
--- a/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc
+++ b/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 gr_hilbert_fc_sptr 
 gr_make_hilbert_fc (unsigned int ntaps)
 {
-  return gr_hilbert_fc_sptr (new gr_hilbert_fc (ntaps));
+  return gnuradio::get_initial_sptr(new gr_hilbert_fc (ntaps));
 }
 
 gr_hilbert_fc::gr_hilbert_fc (unsigned int ntaps)
diff --git a/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc b/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc
index 0c2d386303..a41a4f7dba 100644
--- a/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc
+++ b/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@ gr_iir_filter_ffd_sptr
 gr_make_iir_filter_ffd (const std::vector<double> &fftaps,
 			const std::vector<double> &fbtaps) throw (std::invalid_argument)
 {
-  return gr_iir_filter_ffd_sptr (new gr_iir_filter_ffd (fftaps, fbtaps));
+  return gnuradio::get_initial_sptr(new gr_iir_filter_ffd (fftaps, fbtaps));
 }
 
 gr_iir_filter_ffd::gr_iir_filter_ffd (const std::vector<double> &fftaps,
diff --git a/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t
index 274aee7278..b90450c659 100644
--- a/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -38,7 +38,7 @@
 
 @SPTR_NAME@ gr_make_@BASE_NAME@ (unsigned interpolation, const std::vector<@TAP_TYPE@> &taps)
 {
-  return @SPTR_NAME@ (new @NAME@ (interpolation, taps));
+  return gnuradio::get_initial_sptr (new @NAME@ (interpolation, taps));
 }
 
 
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
index 5a6e753ab4..2c5e3a7af5 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
@@ -34,7 +34,7 @@ gr_pfb_arb_resampler_ccf_sptr gr_make_pfb_arb_resampler_ccf (float rate,
 							     const std::vector<float> &taps,
 							     unsigned int filter_size)
 {
-  return gr_pfb_arb_resampler_ccf_sptr (new gr_pfb_arb_resampler_ccf (rate, taps,
+  return gnuradio::get_initial_sptr(new gr_pfb_arb_resampler_ccf (rate, taps,
 								      filter_size));
 }
 
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
index 5fda47880f..f86782dada 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
@@ -36,7 +36,7 @@ gr_pfb_channelizer_ccf_sptr gr_make_pfb_channelizer_ccf (unsigned int numchans,
 							 const std::vector<float> &taps,
 							 float oversample_rate)
 {
-  return gr_pfb_channelizer_ccf_sptr (new gr_pfb_channelizer_ccf (numchans, taps,
+  return gnuradio::get_initial_sptr(new gr_pfb_channelizer_ccf (numchans, taps,
 								  oversample_rate));
 }
 
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc
index ff4fb70a36..937899c0d0 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc
@@ -39,7 +39,7 @@ gr_pfb_clock_sync_ccf_sptr gr_make_pfb_clock_sync_ccf (double sps, float gain,
 						       float init_phase,
 						       float max_rate_deviation)
 {
-  return gr_pfb_clock_sync_ccf_sptr (new gr_pfb_clock_sync_ccf (sps, gain, taps,
+  return gnuradio::get_initial_sptr(new gr_pfb_clock_sync_ccf (sps, gain, taps,
 								filter_size,
 								init_phase,
 								max_rate_deviation));
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc
index 86de3b5a1c..5d7f7a0d0f 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc
@@ -39,7 +39,7 @@ gr_pfb_clock_sync_fff_sptr gr_make_pfb_clock_sync_fff (double sps, float gain,
 						       float init_phase,
 						       float max_rate_deviation)
 {
-  return gr_pfb_clock_sync_fff_sptr (new gr_pfb_clock_sync_fff (sps, gain, taps,
+  return gnuradio::get_initial_sptr(new gr_pfb_clock_sync_fff (sps, gain, taps,
 								filter_size,
 								init_phase,
 								max_rate_deviation));
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc
index e05e18ff2e..28c6a611a8 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -36,7 +36,7 @@ gr_pfb_decimator_ccf_sptr gr_make_pfb_decimator_ccf (unsigned int decim,
 						     const std::vector<float> &taps,
 						     unsigned int channel)
 {
-  return gr_pfb_decimator_ccf_sptr (new gr_pfb_decimator_ccf (decim, taps, channel));
+  return gnuradio::get_initial_sptr(new gr_pfb_decimator_ccf (decim, taps, channel));
 }
 
 
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc
index 6a9598f344..8a0ad1c4c6 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 gr_pfb_interpolator_ccf_sptr gr_make_pfb_interpolator_ccf (unsigned int interp, 
 							   const std::vector<float> &taps)
 {
-  return gr_pfb_interpolator_ccf_sptr (new gr_pfb_interpolator_ccf (interp, taps));
+  return gnuradio::get_initial_sptr(new gr_pfb_interpolator_ccf (interp, taps));
 }
 
 
diff --git a/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t
index 69276f58ee..3e9a34cdc1 100644
--- a/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -42,7 +42,7 @@ gr_make_@BASE_NAME@ (unsigned interpolation,
 		     unsigned decimation, 
 		     const std::vector<@TAP_TYPE@> &taps)
 {
-  return @SPTR_NAME@ (new @NAME@ (interpolation, decimation, taps));
+  return gnuradio::get_initial_sptr (new @NAME@ (interpolation, decimation, taps));
 }
 
 @NAME@::@NAME@ (unsigned interpolation, unsigned decimation,
diff --git a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc
index e4269798be..8f8efb7e6b 100644
--- a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc
+++ b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_single_pole_iir_filter_cc_sptr 
 gr_make_single_pole_iir_filter_cc (double alpha, unsigned int vlen)
 {
-  return gr_single_pole_iir_filter_cc_sptr(new gr_single_pole_iir_filter_cc(alpha, vlen));
+  return gnuradio::get_initial_sptr(new gr_single_pole_iir_filter_cc(alpha, vlen));
 }
 
 gr_single_pole_iir_filter_cc::gr_single_pole_iir_filter_cc (
diff --git a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc
index a71861ba8f..3282f1fc37 100644
--- a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc
+++ b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_single_pole_iir_filter_ff_sptr 
 gr_make_single_pole_iir_filter_ff (double alpha, unsigned int vlen)
 {
-  return gr_single_pole_iir_filter_ff_sptr(new gr_single_pole_iir_filter_ff(alpha, vlen));
+  return gnuradio::get_initial_sptr(new gr_single_pole_iir_filter_ff(alpha, vlen));
 }
 
 gr_single_pole_iir_filter_ff::gr_single_pole_iir_filter_ff (
diff --git a/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc b/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc
index 91e02c2d3e..f390df6d5d 100644
--- a/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc
@@ -30,7 +30,7 @@
 gr_additive_scrambler_bb_sptr
 gr_make_additive_scrambler_bb(int mask, int seed, int len, int count)
 {
-  return gr_additive_scrambler_bb_sptr(new gr_additive_scrambler_bb(mask, seed, len, count));
+  return gnuradio::get_initial_sptr(new gr_additive_scrambler_bb(mask, seed, len, count));
 }
 
 gr_additive_scrambler_bb::gr_additive_scrambler_bb(int mask, int seed, int len, int count)
diff --git a/gnuradio-core/src/lib/general/gr_agc2_cc.cc b/gnuradio-core/src/lib/general/gr_agc2_cc.cc
index 175ca4ab23..687f6c8571 100644
--- a/gnuradio-core/src/lib/general/gr_agc2_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_agc2_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@ gr_agc2_cc_sptr
 gr_make_agc2_cc (float attack_rate, float decay_rate, float reference, 
 		 float gain, float max_gain)
 {
-  return gr_agc2_cc_sptr (new gr_agc2_cc (attack_rate, decay_rate, reference, gain, max_gain));
+  return gnuradio::get_initial_sptr(new gr_agc2_cc (attack_rate, decay_rate, reference, gain, max_gain));
 }
 
 gr_agc2_cc::gr_agc2_cc (float attack_rate, float decay_rate, float reference, 
diff --git a/gnuradio-core/src/lib/general/gr_agc2_ff.cc b/gnuradio-core/src/lib/general/gr_agc2_ff.cc
index a9f7fffab8..667e9d05d5 100644
--- a/gnuradio-core/src/lib/general/gr_agc2_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_agc2_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@ gr_agc2_ff_sptr
 gr_make_agc2_ff (float attack_rate, float decay_rate, float reference, 
 		 float gain, float max_gain)
 {
-  return gr_agc2_ff_sptr (new gr_agc2_ff (attack_rate, decay_rate, reference, 
+  return gnuradio::get_initial_sptr(new gr_agc2_ff (attack_rate, decay_rate, reference, 
 					  gain, max_gain));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_agc_cc.cc b/gnuradio-core/src/lib/general/gr_agc_cc.cc
index 3f48b55fee..92cec00883 100644
--- a/gnuradio-core/src/lib/general/gr_agc_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_agc_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@ gr_agc_cc_sptr
 gr_make_agc_cc (float rate, float reference, 
 		float gain, float max_gain)
 {
-  return gr_agc_cc_sptr (new gr_agc_cc (rate, reference, gain, max_gain));
+  return gnuradio::get_initial_sptr(new gr_agc_cc (rate, reference, gain, max_gain));
 }
 
 gr_agc_cc::gr_agc_cc (float rate, float reference, 
diff --git a/gnuradio-core/src/lib/general/gr_agc_ff.cc b/gnuradio-core/src/lib/general/gr_agc_ff.cc
index 9e74fed850..45c86d898c 100644
--- a/gnuradio-core/src/lib/general/gr_agc_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_agc_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_agc_ff_sptr
 gr_make_agc_ff (float rate, float reference, float gain, float max_gain)
 {
-  return gr_agc_ff_sptr (new gr_agc_ff (rate, reference, gain, max_gain));
+  return gnuradio::get_initial_sptr(new gr_agc_ff (rate, reference, gain, max_gain));
 }
 
 gr_agc_ff::gr_agc_ff (float rate, float reference, float gain, float max_gain)
diff --git a/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc b/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc
index 241a33f5df..e11793fdd3 100644
--- a/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc
+++ b/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -48,7 +48,7 @@
 gr_align_on_samplenumbers_ss_sptr
 gr_make_align_on_samplenumbers_ss (int nchan, int align_interval)
 {
-  return gr_align_on_samplenumbers_ss_sptr (new gr_align_on_samplenumbers_ss (nchan,align_interval));
+  return gnuradio::get_initial_sptr(new gr_align_on_samplenumbers_ss (nchan,align_interval));
 }
 
 gr_align_on_samplenumbers_ss::gr_align_on_samplenumbers_ss (int nchan,int align_interval)
diff --git a/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc b/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc
index 61abd72b86..435a660cd0 100644
--- a/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc
+++ b/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@ gr_make_bin_statistics_f(unsigned int vlen,
 			size_t tune_delay,
 			size_t dwell_delay)
 {
-  return gr_bin_statistics_f_sptr(new gr_bin_statistics_f(vlen,
+  return gnuradio::get_initial_sptr(new gr_bin_statistics_f(vlen,
 							  msgq,
 							  tune,
 							  tune_delay,
diff --git a/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc b/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc
index 69e85f0bc5..ae8903abbd 100644
--- a/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc
+++ b/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_binary_slicer_fb_sptr
 gr_make_binary_slicer_fb ()
 {
-  return gr_binary_slicer_fb_sptr (new gr_binary_slicer_fb ());
+  return gnuradio::get_initial_sptr(new gr_binary_slicer_fb ());
 }
 
 gr_binary_slicer_fb::gr_binary_slicer_fb ()
diff --git a/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc b/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc
index 2babe492f6..4604443793 100644
--- a/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc
+++ b/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@ static const int BITS_PER_BYTE = 8;
 gr_bytes_to_syms_sptr 
 gr_make_bytes_to_syms ()
 {
-  return gr_bytes_to_syms_sptr (new gr_bytes_to_syms ());
+  return gnuradio::get_initial_sptr(new gr_bytes_to_syms ());
 }
 
 gr_bytes_to_syms::gr_bytes_to_syms ()
diff --git a/gnuradio-core/src/lib/general/gr_char_to_float.cc b/gnuradio-core/src/lib/general/gr_char_to_float.cc
index 2d3854873a..e68f8d2085 100644
--- a/gnuradio-core/src/lib/general/gr_char_to_float.cc
+++ b/gnuradio-core/src/lib/general/gr_char_to_float.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_char_to_float_sptr
 gr_make_char_to_float ()
 {
-  return gr_char_to_float_sptr (new gr_char_to_float ());
+  return gnuradio::get_initial_sptr(new gr_char_to_float ());
 }
 
 gr_char_to_float::gr_char_to_float ()
diff --git a/gnuradio-core/src/lib/general/gr_check_counting_s.cc b/gnuradio-core/src/lib/general/gr_check_counting_s.cc
index 15c7b98e19..bce3088145 100644
--- a/gnuradio-core/src/lib/general/gr_check_counting_s.cc
+++ b/gnuradio-core/src/lib/general/gr_check_counting_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_check_counting_s_sptr
 gr_make_check_counting_s (bool do_32bit)
 {
-  return gr_check_counting_s_sptr (new gr_check_counting_s (do_32bit));
+  return gnuradio::get_initial_sptr(new gr_check_counting_s (do_32bit));
 }
 
 gr_check_counting_s::gr_check_counting_s (bool do_32bit)
diff --git a/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc b/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc
index c5f7bfc47e..95c6c7da5f 100644
--- a/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc
+++ b/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_check_lfsr_32k_s_sptr
 gr_make_check_lfsr_32k_s ()
 {
-  return gr_check_lfsr_32k_s_sptr (new gr_check_lfsr_32k_s ());
+  return gnuradio::get_initial_sptr(new gr_check_lfsr_32k_s ());
 }
 
 gr_check_lfsr_32k_s::gr_check_lfsr_32k_s ()
diff --git a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc
index 60e3dd13d5..23bbf821fe 100644
--- a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -39,7 +39,7 @@ gr_clock_recovery_mm_cc_sptr
 gr_make_clock_recovery_mm_cc(float omega, float gain_omega, float mu, float gain_mu,
 			     float omega_relative_limit)
 {
-  return gr_clock_recovery_mm_cc_sptr (new gr_clock_recovery_mm_cc (omega, 
+  return gnuradio::get_initial_sptr(new gr_clock_recovery_mm_cc (omega, 
 								    gain_omega, 
 								    mu,
 								    gain_mu,
diff --git a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc
index 2e9eea8e66..bb5a27071d 100644
--- a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -37,7 +37,7 @@ gr_clock_recovery_mm_ff_sptr
 gr_make_clock_recovery_mm_ff(float omega, float gain_omega, float mu, float gain_mu,
 			     float omega_relative_limit)
 {
-  return gr_clock_recovery_mm_ff_sptr (new gr_clock_recovery_mm_ff (omega,
+  return gnuradio::get_initial_sptr(new gr_clock_recovery_mm_ff (omega,
 								    gain_omega, 
 								    mu,
 								    gain_mu,
diff --git a/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc b/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc
index fcecf0c8b3..d198da0b03 100644
--- a/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc
+++ b/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_complex_to_interleaved_short_sptr
 gr_make_complex_to_interleaved_short ()
 {
-  return gr_complex_to_interleaved_short_sptr (new gr_complex_to_interleaved_short ());
+  return gnuradio::get_initial_sptr(new gr_complex_to_interleaved_short ());
 }
 
 gr_complex_to_interleaved_short::gr_complex_to_interleaved_short ()
diff --git a/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc b/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
index abffa4da13..a59c127f38 100644
--- a/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
+++ b/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 gr_complex_to_float_sptr
 gr_make_complex_to_float (unsigned int vlen)
 {
-  return gr_complex_to_float_sptr (new gr_complex_to_float (vlen));
+  return gnuradio::get_initial_sptr(new gr_complex_to_float (vlen));
 }
 
 gr_complex_to_float::gr_complex_to_float (unsigned int vlen)
@@ -81,7 +81,7 @@ gr_complex_to_float::work (int noutput_items,
 gr_complex_to_real_sptr
 gr_make_complex_to_real (unsigned int vlen)
 {
-  return gr_complex_to_real_sptr (new gr_complex_to_real (vlen));
+  return gnuradio::get_initial_sptr(new gr_complex_to_real (vlen));
 }
 
 gr_complex_to_real::gr_complex_to_real (unsigned int vlen)
@@ -112,7 +112,7 @@ gr_complex_to_real::work (int noutput_items,
 gr_complex_to_imag_sptr
 gr_make_complex_to_imag (unsigned int vlen)
 {
-  return gr_complex_to_imag_sptr (new gr_complex_to_imag (vlen));
+  return gnuradio::get_initial_sptr(new gr_complex_to_imag (vlen));
 }
 
 gr_complex_to_imag::gr_complex_to_imag (unsigned int vlen)
@@ -143,7 +143,7 @@ gr_complex_to_imag::work (int noutput_items,
 gr_complex_to_mag_sptr
 gr_make_complex_to_mag (unsigned int vlen)
 {
-  return gr_complex_to_mag_sptr (new gr_complex_to_mag (vlen));
+  return gnuradio::get_initial_sptr(new gr_complex_to_mag (vlen));
 }
 
 gr_complex_to_mag::gr_complex_to_mag (unsigned int vlen)
@@ -174,7 +174,7 @@ gr_complex_to_mag::work (int noutput_items,
 gr_complex_to_mag_squared_sptr
 gr_make_complex_to_mag_squared (unsigned int vlen)
 {
-  return gr_complex_to_mag_squared_sptr (new gr_complex_to_mag_squared (vlen));
+  return gnuradio::get_initial_sptr(new gr_complex_to_mag_squared (vlen));
 }
 
 gr_complex_to_mag_squared::gr_complex_to_mag_squared (unsigned int vlen)
@@ -207,7 +207,7 @@ gr_complex_to_mag_squared::work (int noutput_items,
 gr_complex_to_arg_sptr
 gr_make_complex_to_arg (unsigned int vlen)
 {
-  return gr_complex_to_arg_sptr (new gr_complex_to_arg (vlen));
+  return gnuradio::get_initial_sptr(new gr_complex_to_arg (vlen));
 }
 
 gr_complex_to_arg::gr_complex_to_arg (unsigned int vlen)
diff --git a/gnuradio-core/src/lib/general/gr_conjugate_cc.cc b/gnuradio-core/src/lib/general/gr_conjugate_cc.cc
index f25ce1a577..59c3bae897 100644
--- a/gnuradio-core/src/lib/general/gr_conjugate_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_conjugate_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_conjugate_cc_sptr
 gr_make_conjugate_cc ()
 {
-  return gr_conjugate_cc_sptr (new gr_conjugate_cc ());
+  return gnuradio::get_initial_sptr(new gr_conjugate_cc ());
 }
 
 gr_conjugate_cc::gr_conjugate_cc ()
diff --git a/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc b/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc
index 43dae6c1a2..15f6734111 100644
--- a/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -37,7 +37,7 @@
 gr_correlate_access_code_bb_sptr
 gr_make_correlate_access_code_bb (const std::string &access_code, int threshold)
 {
-  return gr_correlate_access_code_bb_sptr (new gr_correlate_access_code_bb (access_code, threshold));
+  return gnuradio::get_initial_sptr(new gr_correlate_access_code_bb (access_code, threshold));
 }
 
 
diff --git a/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc b/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
index 4e0f7e0673..f3bfd09518 100644
--- a/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -38,7 +38,7 @@ gr_make_costas_loop_cc (float alpha, float beta,
 			int order
 			) throw (std::invalid_argument)
 {
-  return gr_costas_loop_cc_sptr (new gr_costas_loop_cc (alpha, beta,
+  return gnuradio::get_initial_sptr(new gr_costas_loop_cc (alpha, beta,
 							max_freq, min_freq,
 							order));
 }
diff --git a/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc b/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc
index 95d7c1753d..f0b04ef974 100644
--- a/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc
+++ b/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * GNU Radio is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@
 gr_cpfsk_bc_sptr 
 gr_make_cpfsk_bc(float k, float ampl, int samples_per_sym)
 {
-  return gr_cpfsk_bc_sptr(new gr_cpfsk_bc(k, ampl, samples_per_sym));
+  return gnuradio::get_initial_sptr(new gr_cpfsk_bc(k, ampl, samples_per_sym));
 }
 
 gr_cpfsk_bc::gr_cpfsk_bc(float k, float ampl, int samples_per_sym)
diff --git a/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc b/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc
index 59034ddc19..6c1e98d474 100644
--- a/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -38,7 +38,7 @@ static int max_tone_index = 37;
 gr_ctcss_squelch_ff_sptr
 gr_make_ctcss_squelch_ff(int rate, float freq, float level, int len, int ramp, bool gate)
 {
-  return gr_ctcss_squelch_ff_sptr(new gr_ctcss_squelch_ff(rate, freq, level, len, ramp, gate));
+  return gnuradio::get_initial_sptr(new gr_ctcss_squelch_ff(rate, freq, level, len, ramp, gate));
 }
 
 int gr_ctcss_squelch_ff::find_tone(float freq)
diff --git a/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc b/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc
index add036f208..d5425bfc84 100644
--- a/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc
+++ b/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * GNU Radio is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@
 gr_decode_ccsds_27_fb_sptr 
 gr_make_decode_ccsds_27_fb()
 {
-  return gr_decode_ccsds_27_fb_sptr(new gr_decode_ccsds_27_fb());
+  return gnuradio::get_initial_sptr(new gr_decode_ccsds_27_fb());
 }
 
 gr_decode_ccsds_27_fb::gr_decode_ccsds_27_fb()
diff --git a/gnuradio-core/src/lib/general/gr_deinterleave.cc b/gnuradio-core/src/lib/general/gr_deinterleave.cc
index 6530b9675c..8432753664 100644
--- a/gnuradio-core/src/lib/general/gr_deinterleave.cc
+++ b/gnuradio-core/src/lib/general/gr_deinterleave.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_deinterleave_sptr
 gr_make_deinterleave (size_t itemsize)
 {
-  return gr_deinterleave_sptr (new gr_deinterleave (itemsize));
+  return gnuradio::get_initial_sptr(new gr_deinterleave (itemsize));
 }
 
 gr_deinterleave::gr_deinterleave (size_t itemsize)
diff --git a/gnuradio-core/src/lib/general/gr_delay.cc b/gnuradio-core/src/lib/general/gr_delay.cc
index d52faca39a..b06346f595 100644
--- a/gnuradio-core/src/lib/general/gr_delay.cc
+++ b/gnuradio-core/src/lib/general/gr_delay.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_delay_sptr
 gr_make_delay (size_t itemsize, int delay)
 {
-  return gr_delay_sptr (new gr_delay (itemsize, delay));
+  return gnuradio::get_initial_sptr(new gr_delay (itemsize, delay));
 }
 
 gr_delay::gr_delay (size_t itemsize, int delay)
diff --git a/gnuradio-core/src/lib/general/gr_descrambler_bb.cc b/gnuradio-core/src/lib/general/gr_descrambler_bb.cc
index e173a8a225..b712e69eda 100644
--- a/gnuradio-core/src/lib/general/gr_descrambler_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_descrambler_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_descrambler_bb_sptr
 gr_make_descrambler_bb(int mask, int seed, int len)
 {
-  return gr_descrambler_bb_sptr(new gr_descrambler_bb(mask, seed, len));
+  return gnuradio::get_initial_sptr(new gr_descrambler_bb(mask, seed, len));
 }
 
 gr_descrambler_bb::gr_descrambler_bb(int mask, int seed, int len)
diff --git a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc b/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
index 1802b3b770..1b0bcfb967 100644
--- a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_diff_decoder_bb_sptr
 gr_make_diff_decoder_bb (unsigned int modulus)
 {
-  return gr_diff_decoder_bb_sptr (new gr_diff_decoder_bb(modulus));
+  return gnuradio::get_initial_sptr(new gr_diff_decoder_bb(modulus));
 }
 
 gr_diff_decoder_bb::gr_diff_decoder_bb (unsigned int modulus)
diff --git a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc b/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
index 3eb8e62cc4..7e67a718e0 100644
--- a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_diff_encoder_bb_sptr
 gr_make_diff_encoder_bb (unsigned int modulus)
 {
-  return gr_diff_encoder_bb_sptr (new gr_diff_encoder_bb(modulus));
+  return gnuradio::get_initial_sptr(new gr_diff_encoder_bb(modulus));
 }
 
 gr_diff_encoder_bb::gr_diff_encoder_bb (unsigned int modulus)
diff --git a/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc b/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc
index 003297ff84..fb6a3a910e 100644
--- a/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_diff_phasor_cc_sptr
 gr_make_diff_phasor_cc ()
 {
-  return gr_diff_phasor_cc_sptr (new gr_diff_phasor_cc());
+  return gnuradio::get_initial_sptr(new gr_diff_phasor_cc());
 }
 
 gr_diff_phasor_cc::gr_diff_phasor_cc ()
diff --git a/gnuradio-core/src/lib/general/gr_dpll_bb.cc b/gnuradio-core/src/lib/general/gr_dpll_bb.cc
index f24b2a88e3..fcaad21744 100644
--- a/gnuradio-core/src/lib/general/gr_dpll_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_dpll_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007,2009 Free Software Foundation, Inc.
+ * Copyright 2007,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_dpll_bb_sptr
 gr_make_dpll_bb (float period, float gain)
 {
-  return gr_dpll_bb_sptr (new gr_dpll_bb (period, gain));
+  return gnuradio::get_initial_sptr(new gr_dpll_bb (period, gain));
 }
 
 gr_dpll_bb::gr_dpll_bb (float period, float gain)
diff --git a/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc b/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc
index 76b8091f71..092e91d8b1 100644
--- a/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * GNU Radio is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ extern "C" {
 gr_encode_ccsds_27_bb_sptr 
 gr_make_encode_ccsds_27_bb()
 {
-  return gr_encode_ccsds_27_bb_sptr(new gr_encode_ccsds_27_bb());
+  return gnuradio::get_initial_sptr(new gr_encode_ccsds_27_bb());
 }
 
 gr_encode_ccsds_27_bb::gr_encode_ccsds_27_bb()
diff --git a/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc b/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc
index 02385c59e4..24945cfd8a 100644
--- a/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc
+++ b/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@ static const int PAD_VAL = 0xAA;
 gr_fake_channel_encoder_pp_sptr
 gr_make_fake_channel_encoder_pp(int input_vlen, int output_vlen)
 {
-  return gr_fake_channel_encoder_pp_sptr(new gr_fake_channel_encoder_pp(input_vlen,
+  return gnuradio::get_initial_sptr(new gr_fake_channel_encoder_pp(input_vlen,
 									output_vlen));
 }
 
@@ -77,7 +77,7 @@ gr_fake_channel_encoder_pp::work (int noutput_items,
 gr_fake_channel_decoder_pp_sptr
 gr_make_fake_channel_decoder_pp(int input_vlen, int output_vlen)
 {
-  return gr_fake_channel_decoder_pp_sptr(new gr_fake_channel_decoder_pp(input_vlen,
+  return gnuradio::get_initial_sptr(new gr_fake_channel_decoder_pp(input_vlen,
 									output_vlen));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc b/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc
index 53fb2a8199..9046fcaa79 100644
--- a/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_feedforward_agc_cc_sptr
 gr_make_feedforward_agc_cc(int nsamples, float reference)
 {
-  return gr_feedforward_agc_cc_sptr(new gr_feedforward_agc_cc (nsamples, reference));
+  return gnuradio::get_initial_sptr(new gr_feedforward_agc_cc (nsamples, reference));
 }
 
 gr_feedforward_agc_cc::gr_feedforward_agc_cc (int nsamples, float reference)
diff --git a/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc b/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc
index f69d2e84eb..3293e3ab86 100644
--- a/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc
+++ b/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2007,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 gr_fft_vcc_sptr
 gr_make_fft_vcc_fftw (int fft_size, bool forward, const std::vector<float> &window, bool shift)
 {
-  return gr_fft_vcc_sptr (new gr_fft_vcc_fftw (fft_size, forward, window, shift));
+  return gnuradio::get_initial_sptr(new gr_fft_vcc_fftw (fft_size, forward, window, shift));
 }
 
 gr_fft_vcc_fftw::gr_fft_vcc_fftw (int fft_size, bool forward,
diff --git a/gnuradio-core/src/lib/general/gr_fft_vfc.cc b/gnuradio-core/src/lib/general/gr_fft_vfc.cc
index df68af7e1a..608161efed 100644
--- a/gnuradio-core/src/lib/general/gr_fft_vfc.cc
+++ b/gnuradio-core/src/lib/general/gr_fft_vfc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -42,7 +42,7 @@
 gr_fft_vfc_sptr
 gr_make_fft_vfc (int fft_size, bool forward, const std::vector<float> window)
 {
-  return gr_fft_vfc_sptr (new gr_fft_vfc (fft_size, forward, window));
+  return gnuradio::get_initial_sptr(new gr_fft_vfc (fft_size, forward, window));
 }
 
 gr_fft_vfc::gr_fft_vfc (int fft_size, bool forward, const std::vector<float> window)
diff --git a/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc b/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc
index 7f2c468b72..ff997e7a97 100644
--- a/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -48,7 +48,7 @@ float sinc(float x)
 gr_fll_band_edge_cc_sptr gr_make_fll_band_edge_cc (float samps_per_sym, float rolloff,
 						   int filter_size, float gain_alpha, float gain_beta)
 {
-  return gr_fll_band_edge_cc_sptr (new gr_fll_band_edge_cc (samps_per_sym, rolloff,
+  return gnuradio::get_initial_sptr(new gr_fll_band_edge_cc (samps_per_sym, rolloff,
 							    filter_size, gain_alpha, gain_beta));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_float_to_char.cc b/gnuradio-core/src/lib/general/gr_float_to_char.cc
index ed6c41826c..88b9d276e2 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_char.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_char.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_float_to_char_sptr
 gr_make_float_to_char ()
 {
-  return gr_float_to_char_sptr (new gr_float_to_char ());
+  return gnuradio::get_initial_sptr(new gr_float_to_char ());
 }
 
 gr_float_to_char::gr_float_to_char ()
diff --git a/gnuradio-core/src/lib/general/gr_float_to_complex.cc b/gnuradio-core/src/lib/general/gr_float_to_complex.cc
index af878231a6..89ef188698 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_complex.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_complex.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_float_to_complex_sptr
 gr_make_float_to_complex (size_t vlen)
 {
-  return gr_float_to_complex_sptr (new gr_float_to_complex (vlen));
+  return gnuradio::get_initial_sptr(new gr_float_to_complex (vlen));
 }
 
 gr_float_to_complex::gr_float_to_complex (size_t vlen)
diff --git a/gnuradio-core/src/lib/general/gr_float_to_short.cc b/gnuradio-core/src/lib/general/gr_float_to_short.cc
index ecb0fa0fc6..084f76f9c4 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_short.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_short.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_float_to_short_sptr
 gr_make_float_to_short ()
 {
-  return gr_float_to_short_sptr (new gr_float_to_short ());
+  return gnuradio::get_initial_sptr(new gr_float_to_short ());
 }
 
 gr_float_to_short::gr_float_to_short ()
diff --git a/gnuradio-core/src/lib/general/gr_float_to_uchar.cc b/gnuradio-core/src/lib/general/gr_float_to_uchar.cc
index 3776ac8979..78369f8be6 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_uchar.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_uchar.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_float_to_uchar_sptr
 gr_make_float_to_uchar ()
 {
-  return gr_float_to_uchar_sptr (new gr_float_to_uchar ());
+  return gnuradio::get_initial_sptr(new gr_float_to_uchar ());
 }
 
 gr_float_to_uchar::gr_float_to_uchar ()
diff --git a/gnuradio-core/src/lib/general/gr_fmdet_cf.cc b/gnuradio-core/src/lib/general/gr_fmdet_cf.cc
index e2c7e7a7f9..3d828124e6 100644
--- a/gnuradio-core/src/lib/general/gr_fmdet_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_fmdet_cf.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@
 gr_fmdet_cf_sptr
 gr_make_fmdet_cf (float samplerate, float freq_low, float freq_high, float scl)
 {
-  return gr_fmdet_cf_sptr (new gr_fmdet_cf (samplerate, freq_low, freq_high, scl));
+  return gnuradio::get_initial_sptr(new gr_fmdet_cf (samplerate, freq_low, freq_high, scl));
 }
 
 gr_fmdet_cf::gr_fmdet_cf (float samplerate, float freq_low, float freq_high, float scl)
diff --git a/gnuradio-core/src/lib/general/gr_framer_sink_1.cc b/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
index 9da271bac7..c90b26c356 100644
--- a/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
+++ b/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -69,7 +69,7 @@ gr_framer_sink_1::enter_have_header(int payload_len, int whitener_offset)
 gr_framer_sink_1_sptr
 gr_make_framer_sink_1(gr_msg_queue_sptr target_queue)
 {
-  return gr_framer_sink_1_sptr(new gr_framer_sink_1(target_queue));
+  return gnuradio::get_initial_sptr(new gr_framer_sink_1(target_queue));
 }
 
 
diff --git a/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc b/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc
index 541f841f4c..0f6f0d719f 100644
--- a/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc
+++ b/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 
 gr_frequency_modulator_fc_sptr gr_make_frequency_modulator_fc (double sensitivity)
 {
-  return gr_frequency_modulator_fc_sptr (new gr_frequency_modulator_fc (sensitivity));
+  return gnuradio::get_initial_sptr(new gr_frequency_modulator_fc (sensitivity));
 }
 
 gr_frequency_modulator_fc::gr_frequency_modulator_fc (double sensitivity)
diff --git a/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc b/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc
index 8fe616044d..134f7a21a9 100644
--- a/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc
+++ b/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 gr_glfsr_source_b_sptr 
 gr_make_glfsr_source_b(int degree, bool repeat, int mask, int seed)
 {
-  return gr_glfsr_source_b_sptr(new gr_glfsr_source_b(degree, repeat, mask, seed));
+  return gnuradio::get_initial_sptr(new gr_glfsr_source_b(degree, repeat, mask, seed));
 }
 
 gr_glfsr_source_b::gr_glfsr_source_b(int degree, bool repeat, int mask, int seed)
diff --git a/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc b/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc
index 8ef3a06cfb..7ffcfbd2a0 100644
--- a/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc
+++ b/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 gr_glfsr_source_f_sptr 
 gr_make_glfsr_source_f(int degree, bool repeat, int mask, int seed)
 {
-  return gr_glfsr_source_f_sptr(new gr_glfsr_source_f(degree, repeat, mask, seed));
+  return gnuradio::get_initial_sptr(new gr_glfsr_source_f(degree, repeat, mask, seed));
 }
 
 gr_glfsr_source_f::gr_glfsr_source_f(int degree, bool repeat, int mask, int seed)
diff --git a/gnuradio-core/src/lib/general/gr_interleave.cc b/gnuradio-core/src/lib/general/gr_interleave.cc
index 3c3ce8cc9a..d210cd5ed3 100644
--- a/gnuradio-core/src/lib/general/gr_interleave.cc
+++ b/gnuradio-core/src/lib/general/gr_interleave.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_interleave_sptr
 gr_make_interleave (size_t itemsize)
 {
-  return gr_interleave_sptr (new gr_interleave (itemsize));
+  return gnuradio::get_initial_sptr(new gr_interleave (itemsize));
 }
 
 gr_interleave::gr_interleave (size_t itemsize)
diff --git a/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc b/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc
index 74b8532072..09aa91f471 100644
--- a/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc
+++ b/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_interleaved_short_to_complex_sptr
 gr_make_interleaved_short_to_complex ()
 {
-  return gr_interleaved_short_to_complex_sptr (new gr_interleaved_short_to_complex ());
+  return gnuradio::get_initial_sptr(new gr_interleaved_short_to_complex ());
 }
 
 gr_interleaved_short_to_complex::gr_interleaved_short_to_complex ()
diff --git a/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc b/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc
index e0a2c08ae1..16a68337ff 100644
--- a/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_iqcomp_cc_sptr
 gr_make_iqcomp_cc (float mu)
 {
-  return gr_iqcomp_cc_sptr (new gr_iqcomp_cc (mu));
+  return gnuradio::get_initial_sptr(new gr_iqcomp_cc (mu));
 }
 
 gr_iqcomp_cc::gr_iqcomp_cc (float mu)
diff --git a/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc b/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc
index e38240a3f6..c07e177fe2 100644
--- a/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc
+++ b/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_keep_one_in_n_sptr
 gr_make_keep_one_in_n (size_t item_size, int n)
 {
-  return gr_keep_one_in_n_sptr (new gr_keep_one_in_n (item_size, n));
+  return gnuradio::get_initial_sptr(new gr_keep_one_in_n (item_size, n));
 }
 
 gr_keep_one_in_n::gr_keep_one_in_n (size_t item_size, int n)
diff --git a/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc b/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc
index b65e2b78af..e227f8b3ea 100644
--- a/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc
+++ b/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_lfsr_32k_source_s_sptr 
 gr_make_lfsr_32k_source_s ()
 {
-  return gr_lfsr_32k_source_s_sptr (new gr_lfsr_32k_source_s ());
+  return gnuradio::get_initial_sptr(new gr_lfsr_32k_source_s ());
 }
 
 
diff --git a/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc b/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc
index f1eff05cce..8659386d50 100644
--- a/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -67,7 +67,7 @@ gr_lms_dfe_cc_sptr
 gr_make_lms_dfe_cc (float lambda_ff, float lambda_fb, 
 		    unsigned int num_fftaps, unsigned int num_fbtaps)
 {
-  return gr_lms_dfe_cc_sptr (new gr_lms_dfe_cc (lambda_ff, lambda_fb,
+  return gnuradio::get_initial_sptr(new gr_lms_dfe_cc (lambda_ff, lambda_fb,
 						num_fftaps, num_fbtaps));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc b/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc
index 2992dbf888..8a5e22c2fe 100644
--- a/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -42,7 +42,7 @@ gr_lms_dfe_ff_sptr
 gr_make_lms_dfe_ff (float lambda_ff, float lambda_fb, 
 		    unsigned int num_fftaps, unsigned int num_fbtaps)
 {
-  return gr_lms_dfe_ff_sptr (new gr_lms_dfe_ff (lambda_ff,lambda_fb,num_fftaps,num_fbtaps));
+  return gnuradio::get_initial_sptr(new gr_lms_dfe_ff (lambda_ff,lambda_fb,num_fftaps,num_fbtaps));
 }
 
 gr_lms_dfe_ff::gr_lms_dfe_ff (float lambda_ff, float lambda_fb , 
diff --git a/gnuradio-core/src/lib/general/gr_map_bb.cc b/gnuradio-core/src/lib/general/gr_map_bb.cc
index b10dfea36a..7762c7e35b 100644
--- a/gnuradio-core/src/lib/general/gr_map_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_map_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006,2007 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_map_bb_sptr
 gr_make_map_bb (const std::vector<int> &map)
 {
-  return gr_map_bb_sptr (new gr_map_bb (map));
+  return gnuradio::get_initial_sptr(new gr_map_bb (map));
 }
 
 gr_map_bb::gr_map_bb (const std::vector<int> &map)
diff --git a/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc b/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc
index 1efa827035..bc51c67693 100644
--- a/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2006,2007 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2007,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -46,7 +46,7 @@ gr_make_mpsk_receiver_cc(unsigned int M, float theta,
 			 float mu, float gain_mu, 
 			 float omega, float gain_omega, float omega_rel)
 {
-  return gr_mpsk_receiver_cc_sptr (new gr_mpsk_receiver_cc (M, theta, 
+  return gnuradio::get_initial_sptr(new gr_mpsk_receiver_cc (M, theta, 
 							    alpha, beta,
 							    fmin, fmax,
 							    mu, gain_mu, 
diff --git a/gnuradio-core/src/lib/general/gr_nlog10_ff.cc b/gnuradio-core/src/lib/general/gr_nlog10_ff.cc
index 8175359b5a..15d28d4841 100644
--- a/gnuradio-core/src/lib/general/gr_nlog10_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_nlog10_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_nlog10_ff_sptr
 gr_make_nlog10_ff (float n, unsigned vlen, float k)
 {
-  return gr_nlog10_ff_sptr(new gr_nlog10_ff(n, vlen, k));
+  return gnuradio::get_initial_sptr(new gr_nlog10_ff(n, vlen, k));
 }
 
 gr_nlog10_ff::gr_nlog10_ff(float n, unsigned vlen, float k)
diff --git a/gnuradio-core/src/lib/general/gr_nop.cc b/gnuradio-core/src/lib/general/gr_nop.cc
index b8d5cb3ac8..e69c8b340f 100644
--- a/gnuradio-core/src/lib/general/gr_nop.cc
+++ b/gnuradio-core/src/lib/general/gr_nop.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -36,7 +36,7 @@ gr_nop::gr_nop (size_t sizeof_stream_item)
 gr_block_sptr
 gr_make_nop (size_t sizeof_stream_item)
 {
-  return gr_block_sptr (new gr_nop (sizeof_stream_item));
+  return gnuradio::get_initial_sptr (new gr_nop (sizeof_stream_item));
 }
 
 int
diff --git a/gnuradio-core/src/lib/general/gr_null_sink.cc b/gnuradio-core/src/lib/general/gr_null_sink.cc
index ed9973a3a2..0b7f2d9e89 100644
--- a/gnuradio-core/src/lib/general/gr_null_sink.cc
+++ b/gnuradio-core/src/lib/general/gr_null_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -37,7 +37,7 @@ gr_null_sink::gr_null_sink (size_t sizeof_stream_item)
 gr_block_sptr
 gr_make_null_sink (size_t sizeof_stream_item)
 {
-  return gr_block_sptr (new gr_null_sink (sizeof_stream_item));
+  return gnuradio::get_initial_sptr (new gr_null_sink (sizeof_stream_item));
 }
 
 int
diff --git a/gnuradio-core/src/lib/general/gr_null_source.cc b/gnuradio-core/src/lib/general/gr_null_source.cc
index d11976e1b4..b65c390355 100644
--- a/gnuradio-core/src/lib/general/gr_null_source.cc
+++ b/gnuradio-core/src/lib/general/gr_null_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -38,7 +38,7 @@ gr_null_source::gr_null_source (size_t sizeof_stream_item)
 gr_block_sptr
 gr_make_null_source (size_t sizeof_stream_item)
 {
-  return gr_block_sptr (new gr_null_source (sizeof_stream_item));
+  return gnuradio::get_initial_sptr (new gr_null_source (sizeof_stream_item));
 }
 
 int
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc b/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc
index a01cf358a9..bcb469651c 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_ofdm_bpsk_demapper_sptr
 gr_make_ofdm_bpsk_demapper (unsigned int occupied_carriers)
 {
-  return gr_ofdm_bpsk_demapper_sptr (new gr_ofdm_bpsk_demapper (occupied_carriers));
+  return gnuradio::get_initial_sptr(new gr_ofdm_bpsk_demapper (occupied_carriers));
 }
 
 gr_ofdm_bpsk_demapper::gr_ofdm_bpsk_demapper (unsigned occupied_carriers)
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc b/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc
index 5327c5707f..fb40a3035f 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_ofdm_cyclic_prefixer_sptr
 gr_make_ofdm_cyclic_prefixer (size_t input_size, size_t output_size)
 {
-  return gr_ofdm_cyclic_prefixer_sptr (new gr_ofdm_cyclic_prefixer (input_size, output_size));
+  return gnuradio::get_initial_sptr(new gr_ofdm_cyclic_prefixer (input_size, output_size));
 }
 
 gr_ofdm_cyclic_prefixer::gr_ofdm_cyclic_prefixer (size_t input_size, size_t output_size)
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc b/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc
index fd27e6d48c..201375597a 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006,2007,2008 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@ gr_make_ofdm_frame_acquisition (unsigned int occupied_carriers, unsigned int fft
 				const std::vector<gr_complex> &known_symbol,
 				unsigned int max_fft_shift_len)
 {
-  return gr_ofdm_frame_acquisition_sptr (new gr_ofdm_frame_acquisition (occupied_carriers, fft_length, cplen,
+  return gnuradio::get_initial_sptr(new gr_ofdm_frame_acquisition (occupied_carriers, fft_length, cplen,
 									known_symbol, max_fft_shift_len));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc b/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc
index 26a5cf0fe1..3457370eb3 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007,2008 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -184,7 +184,7 @@ gr_make_ofdm_frame_sink(const std::vector<gr_complex> &sym_position,
 			gr_msg_queue_sptr target_queue, unsigned int occupied_carriers,
 			float phase_gain, float freq_gain)
 {
-  return gr_ofdm_frame_sink_sptr(new gr_ofdm_frame_sink(sym_position, sym_value_out,
+  return gnuradio::get_initial_sptr(new gr_ofdm_frame_sink(sym_position, sym_value_out,
 							target_queue, occupied_carriers,
 							phase_gain, freq_gain));
 }
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc b/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc
index 3706c36725..ed10c94a89 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@ gr_ofdm_insert_preamble_sptr
 gr_make_ofdm_insert_preamble(int fft_length,
 			     const std::vector<std::vector<gr_complex> > &preamble)
 {
-  return gr_ofdm_insert_preamble_sptr(new gr_ofdm_insert_preamble(fft_length,
+  return gnuradio::get_initial_sptr(new gr_ofdm_insert_preamble(fft_length,
 								  preamble));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc b/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc
index 02f09f5f25..370b029cdf 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006,2007,2008 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -34,7 +34,7 @@ gr_ofdm_mapper_bcv_sptr
 gr_make_ofdm_mapper_bcv (const std::vector<gr_complex> &constellation, unsigned int msgq_limit, 
 			 unsigned int occupied_carriers, unsigned int fft_length)
 {
-  return gr_ofdm_mapper_bcv_sptr (new gr_ofdm_mapper_bcv (constellation, msgq_limit, 
+  return gnuradio::get_initial_sptr(new gr_ofdm_mapper_bcv (constellation, msgq_limit, 
 							  occupied_carriers, fft_length));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc b/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
index 7f6b2b01c9..f9a53c87f2 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
@@ -34,7 +34,7 @@ gr_make_ofdm_sampler (unsigned int fft_length,
 		      unsigned int symbol_length,
 		      unsigned int timeout)
 {
-  return gr_ofdm_sampler_sptr (new gr_ofdm_sampler (fft_length, symbol_length, timeout));
+  return gnuradio::get_initial_sptr(new gr_ofdm_sampler (fft_length, symbol_length, timeout));
 }
 
 gr_ofdm_sampler::gr_ofdm_sampler (unsigned int fft_length, 
diff --git a/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc b/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc
index c4498ed934..a79e34be4a 100644
--- a/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc
+++ b/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_pa_2x2_phase_combiner_sptr
 gr_make_pa_2x2_phase_combiner()
 {
-  return gr_pa_2x2_phase_combiner_sptr(new gr_pa_2x2_phase_combiner());
+  return gnuradio::get_initial_sptr(new gr_pa_2x2_phase_combiner());
 }
 
 gr_pa_2x2_phase_combiner::gr_pa_2x2_phase_combiner ()
diff --git a/gnuradio-core/src/lib/general/gr_packet_sink.cc b/gnuradio-core/src/lib/general/gr_packet_sink.cc
index 0979f76d3d..d66d96839f 100644
--- a/gnuradio-core/src/lib/general/gr_packet_sink.cc
+++ b/gnuradio-core/src/lib/general/gr_packet_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -77,7 +77,7 @@ gr_packet_sink_sptr
 gr_make_packet_sink (const std::vector<unsigned char>& sync_vector,
 		     gr_msg_queue_sptr target_queue, int threshold)
 {
-  return gr_packet_sink_sptr (new gr_packet_sink (sync_vector, target_queue, threshold));
+  return gnuradio::get_initial_sptr(new gr_packet_sink (sync_vector, target_queue, threshold));
 }
 
 
diff --git a/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc b/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc
index 4f927bffe6..2b1c5da618 100644
--- a/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc
+++ b/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@ gr_peak_detector2_fb_sptr
 gr_make_peak_detector2_fb (float threshold_factor_rise,
 			   int look_ahead, float alpha)
 {
-  return gr_peak_detector2_fb_sptr (new gr_peak_detector2_fb (threshold_factor_rise, 
+  return gnuradio::get_initial_sptr(new gr_peak_detector2_fb (threshold_factor_rise, 
 				  look_ahead, alpha));
 }
 
diff --git a/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc b/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc
index 9ee8d3f4db..c1a2e7da3d 100644
--- a/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc
+++ b/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 
 gr_phase_modulator_fc_sptr gr_make_phase_modulator_fc (double sensitivity)
 {
-  return gr_phase_modulator_fc_sptr (new gr_phase_modulator_fc (sensitivity));
+  return gnuradio::get_initial_sptr(new gr_phase_modulator_fc (sensitivity));
 }
 
 gr_phase_modulator_fc::gr_phase_modulator_fc (double sensitivity)
diff --git a/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc b/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc
index 5f0e9a6921..19ab316a19 100644
--- a/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@
 gr_pll_carriertracking_cc_sptr
 gr_make_pll_carriertracking_cc (float alpha, float beta, float max_freq, float min_freq)
 {
-  return gr_pll_carriertracking_cc_sptr (new gr_pll_carriertracking_cc (alpha, beta, max_freq, min_freq));
+  return gnuradio::get_initial_sptr(new gr_pll_carriertracking_cc (alpha, beta, max_freq, min_freq));
 }
 
 gr_pll_carriertracking_cc::gr_pll_carriertracking_cc (float alpha, float beta, float max_freq, float min_freq)
diff --git a/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc b/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc
index c9fd9a71e8..1f17f2afc6 100644
--- a/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -36,7 +36,7 @@
 gr_pll_freqdet_cf_sptr
 gr_make_pll_freqdet_cf (float alpha, float beta, float max_freq, float min_freq)
 {
-  return gr_pll_freqdet_cf_sptr (new gr_pll_freqdet_cf (alpha, beta, max_freq, min_freq));
+  return gnuradio::get_initial_sptr(new gr_pll_freqdet_cf (alpha, beta, max_freq, min_freq));
 }
 
 gr_pll_freqdet_cf::gr_pll_freqdet_cf (float alpha, float beta, float max_freq, float min_freq)
diff --git a/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc b/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc
index 5df822d373..8a7fbf88ba 100644
--- a/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -37,7 +37,7 @@
 gr_pll_refout_cc_sptr
 gr_make_pll_refout_cc (float alpha, float beta, float max_freq, float min_freq)
 {
-  return gr_pll_refout_cc_sptr (new gr_pll_refout_cc (alpha, beta, max_freq, min_freq));
+  return gnuradio::get_initial_sptr(new gr_pll_refout_cc (alpha, beta, max_freq, min_freq));
 }
 
 gr_pll_refout_cc::gr_pll_refout_cc (float alpha, float beta, float max_freq, float min_freq)
diff --git a/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc b/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
index 2614c3a2d8..37e7b803ca 100644
--- a/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_pn_correlator_cc_sptr
 gr_make_pn_correlator_cc(int degree, int mask, int seed)
 {
-  return gr_pn_correlator_cc_sptr (new gr_pn_correlator_cc(degree, mask, seed));
+  return gnuradio::get_initial_sptr(new gr_pn_correlator_cc(degree, mask, seed));
 }
 
 gr_pn_correlator_cc::gr_pn_correlator_cc(int degree, int mask, int seed)
diff --git a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc
index 8af11ad220..c00eb5cdf9 100644
--- a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_probe_avg_mag_sqrd_c_sptr
 gr_make_probe_avg_mag_sqrd_c(double threshold_db, double alpha)
 {
-  return gr_probe_avg_mag_sqrd_c_sptr(new gr_probe_avg_mag_sqrd_c(threshold_db, alpha));
+  return gnuradio::get_initial_sptr(new gr_probe_avg_mag_sqrd_c(threshold_db, alpha));
 }
 
 gr_probe_avg_mag_sqrd_c::gr_probe_avg_mag_sqrd_c (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc
index 8b1c7cc507..5350028a75 100644
--- a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2007 Free Software Foundation, Inc.
+ * Copyright 2005,2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_probe_avg_mag_sqrd_cf_sptr
 gr_make_probe_avg_mag_sqrd_cf(double threshold_db, double alpha)
 {
-  return gr_probe_avg_mag_sqrd_cf_sptr(new gr_probe_avg_mag_sqrd_cf(threshold_db, alpha));
+  return gnuradio::get_initial_sptr(new gr_probe_avg_mag_sqrd_cf(threshold_db, alpha));
 }
 
 gr_probe_avg_mag_sqrd_cf::gr_probe_avg_mag_sqrd_cf (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc
index c39207d2c6..d3b0e2d37d 100644
--- a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_probe_avg_mag_sqrd_f_sptr
 gr_make_probe_avg_mag_sqrd_f(double threshold_db, double alpha)
 {
-  return gr_probe_avg_mag_sqrd_f_sptr(new gr_probe_avg_mag_sqrd_f(threshold_db, alpha));
+  return gnuradio::get_initial_sptr(new gr_probe_avg_mag_sqrd_f(threshold_db, alpha));
 }
 
 gr_probe_avg_mag_sqrd_f::gr_probe_avg_mag_sqrd_f (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_density_b.cc b/gnuradio-core/src/lib/general/gr_probe_density_b.cc
index dae4eec74f..70b03e881c 100644
--- a/gnuradio-core/src/lib/general/gr_probe_density_b.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_density_b.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * GNU Radio is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@
 gr_probe_density_b_sptr 
 gr_make_probe_density_b(double alpha)
 {
-  return gr_probe_density_b_sptr(new gr_probe_density_b(alpha));
+  return gnuradio::get_initial_sptr(new gr_probe_density_b(alpha));
 }
 
 gr_probe_density_b::gr_probe_density_b(double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc b/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
index a0bb99ce14..fed9ad66ee 100644
--- a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_probe_mpsk_snr_c_sptr
 gr_make_probe_mpsk_snr_c(double alpha)
 {
-  return gr_probe_mpsk_snr_c_sptr(new gr_probe_mpsk_snr_c(alpha));
+  return gnuradio::get_initial_sptr(new gr_probe_mpsk_snr_c(alpha));
 }
 
 gr_probe_mpsk_snr_c::gr_probe_mpsk_snr_c(double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_signal_f.cc b/gnuradio-core/src/lib/general/gr_probe_signal_f.cc
index b67836682f..ee1a18e891 100644
--- a/gnuradio-core/src/lib/general/gr_probe_signal_f.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_signal_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -29,7 +29,7 @@
 gr_probe_signal_f_sptr
 gr_make_probe_signal_f()
 {
-  return gr_probe_signal_f_sptr(new gr_probe_signal_f());
+  return gnuradio::get_initial_sptr(new gr_probe_signal_f());
 }
 
 gr_probe_signal_f::gr_probe_signal_f ()
diff --git a/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc b/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc
index 1604972fd2..d2fee1a573 100644
--- a/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -29,7 +29,7 @@
 gr_pwr_squelch_cc_sptr
 gr_make_pwr_squelch_cc(double threshold, double alpha, int ramp, bool gate)
 {
-  return gr_pwr_squelch_cc_sptr(new gr_pwr_squelch_cc(threshold, alpha, ramp, gate));
+  return gnuradio::get_initial_sptr(new gr_pwr_squelch_cc(threshold, alpha, ramp, gate));
 }
 
 gr_pwr_squelch_cc::gr_pwr_squelch_cc(double threshold, double alpha, int ramp, bool gate) : 
diff --git a/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc b/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc
index 976b7a1059..a689c407c6 100644
--- a/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -29,7 +29,7 @@
 gr_pwr_squelch_ff_sptr
 gr_make_pwr_squelch_ff(double threshold, double alpha, int ramp, bool gate)
 {
-  return gr_pwr_squelch_ff_sptr(new gr_pwr_squelch_ff(threshold, alpha, ramp, gate));
+  return gnuradio::get_initial_sptr(new gr_pwr_squelch_ff(threshold, alpha, ramp, gate));
 }
 
 gr_pwr_squelch_ff::gr_pwr_squelch_ff(double threshold, double alpha, int ramp, bool gate) : 
diff --git a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc
index bae5a3857e..8e59fbd71d 100644
--- a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@ gr_quadrature_demod_cf::gr_quadrature_demod_cf (float gain)
 gr_quadrature_demod_cf_sptr
 gr_make_quadrature_demod_cf (float gain)
 {
-  return gr_quadrature_demod_cf_sptr (new gr_quadrature_demod_cf (gain));
+  return gnuradio::get_initial_sptr(new gr_quadrature_demod_cf (gain));
 }
 
 int
diff --git a/gnuradio-core/src/lib/general/gr_rail_ff.cc b/gnuradio-core/src/lib/general/gr_rail_ff.cc
index 9fd3af8dfc..2608971991 100644
--- a/gnuradio-core/src/lib/general/gr_rail_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_rail_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_rail_ff_sptr
 gr_make_rail_ff(float lo, float hi)
 {
-  return gr_rail_ff_sptr(new gr_rail_ff(lo, hi));
+  return gnuradio::get_initial_sptr(new gr_rail_ff(lo, hi));
 }
 
 gr_rail_ff::gr_rail_ff(float lo, float hi)
diff --git a/gnuradio-core/src/lib/general/gr_regenerate_bb.cc b/gnuradio-core/src/lib/general/gr_regenerate_bb.cc
index 1836755204..3bb8be1057 100644
--- a/gnuradio-core/src/lib/general/gr_regenerate_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_regenerate_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_regenerate_bb_sptr
 gr_make_regenerate_bb (int period, unsigned int max_regen)
 {
-  return gr_regenerate_bb_sptr (new gr_regenerate_bb (period, max_regen));
+  return gnuradio::get_initial_sptr(new gr_regenerate_bb (period, max_regen));
 }
 
 gr_regenerate_bb::gr_regenerate_bb (int period, unsigned int max_regen)
diff --git a/gnuradio-core/src/lib/general/gr_repeat.cc b/gnuradio-core/src/lib/general/gr_repeat.cc
index 70bb44e5a5..43ad50f52a 100644
--- a/gnuradio-core/src/lib/general/gr_repeat.cc
+++ b/gnuradio-core/src/lib/general/gr_repeat.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_repeat_sptr 
 gr_make_repeat(size_t itemsize, int interp)
 {
-  return gr_repeat_sptr(new gr_repeat(itemsize, interp));
+  return gnuradio::get_initial_sptr(new gr_repeat(itemsize, interp));
 }
 
 gr_repeat::gr_repeat(size_t itemsize, int interp)  
diff --git a/gnuradio-core/src/lib/general/gr_rms_cf.cc b/gnuradio-core/src/lib/general/gr_rms_cf.cc
index eab937e97a..a7b5d99f1c 100644
--- a/gnuradio-core/src/lib/general/gr_rms_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_rms_cf.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_rms_cf_sptr
 gr_make_rms_cf(double alpha)
 {
-  return gr_rms_cf_sptr(new gr_rms_cf(alpha));
+  return gnuradio::get_initial_sptr(new gr_rms_cf(alpha));
 }
 
 gr_rms_cf::gr_rms_cf (double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_rms_ff.cc b/gnuradio-core/src/lib/general/gr_rms_ff.cc
index 604cb3c9b8..1ff4379f63 100644
--- a/gnuradio-core/src/lib/general/gr_rms_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_rms_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_rms_ff_sptr
 gr_make_rms_ff(double alpha)
 {
-  return gr_rms_ff_sptr(new gr_rms_ff(alpha));
+  return gnuradio::get_initial_sptr(new gr_rms_ff(alpha));
 }
 
 gr_rms_ff::gr_rms_ff (double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_scrambler_bb.cc b/gnuradio-core/src/lib/general/gr_scrambler_bb.cc
index 42f70901b3..59bd1ca419 100644
--- a/gnuradio-core/src/lib/general/gr_scrambler_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_scrambler_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_scrambler_bb_sptr
 gr_make_scrambler_bb(int mask, int seed, int len)
 {
-  return gr_scrambler_bb_sptr(new gr_scrambler_bb(mask, seed, len));
+  return gnuradio::get_initial_sptr(new gr_scrambler_bb(mask, seed, len));
 }
 
 gr_scrambler_bb::gr_scrambler_bb(int mask, int seed, int len)
diff --git a/gnuradio-core/src/lib/general/gr_short_to_float.cc b/gnuradio-core/src/lib/general/gr_short_to_float.cc
index 09dad2ef28..7b80953ac1 100644
--- a/gnuradio-core/src/lib/general/gr_short_to_float.cc
+++ b/gnuradio-core/src/lib/general/gr_short_to_float.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_short_to_float_sptr
 gr_make_short_to_float ()
 {
-  return gr_short_to_float_sptr (new gr_short_to_float ());
+  return gnuradio::get_initial_sptr(new gr_short_to_float ());
 }
 
 gr_short_to_float::gr_short_to_float ()
diff --git a/gnuradio-core/src/lib/general/gr_simple_correlator.cc b/gnuradio-core/src/lib/general/gr_simple_correlator.cc
index ebfbfa72e9..01c007122e 100644
--- a/gnuradio-core/src/lib/general/gr_simple_correlator.cc
+++ b/gnuradio-core/src/lib/general/gr_simple_correlator.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -39,7 +39,7 @@ static const int THRESHOLD = 3;
 gr_simple_correlator_sptr
 gr_make_simple_correlator (int payload_bytesize)
 {
-  return gr_simple_correlator_sptr (new gr_simple_correlator (payload_bytesize));
+  return gnuradio::get_initial_sptr(new gr_simple_correlator (payload_bytesize));
 }
 
 gr_simple_correlator::gr_simple_correlator (int payload_bytesize)
diff --git a/gnuradio-core/src/lib/general/gr_simple_framer.cc b/gnuradio-core/src/lib/general/gr_simple_framer.cc
index d2de095462..2a574a74e4 100644
--- a/gnuradio-core/src/lib/general/gr_simple_framer.cc
+++ b/gnuradio-core/src/lib/general/gr_simple_framer.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@
 gr_simple_framer_sptr
 gr_make_simple_framer (int payload_bytesize)
 {
-  return gr_simple_framer_sptr (new gr_simple_framer (payload_bytesize));
+  return gnuradio::get_initial_sptr(new gr_simple_framer (payload_bytesize));
 }
 
 gr_simple_framer::gr_simple_framer (int payload_bytesize)
diff --git a/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc b/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc
index 3900671a65..cdea8055b5 100644
--- a/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_simple_squelch_cc_sptr
 gr_make_simple_squelch_cc(double threshold_db, double alpha)
 {
-  return gr_simple_squelch_cc_sptr(new gr_simple_squelch_cc(threshold_db, alpha));
+  return gnuradio::get_initial_sptr(new gr_simple_squelch_cc(threshold_db, alpha));
 }
 
 gr_simple_squelch_cc::gr_simple_squelch_cc (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_skiphead.cc b/gnuradio-core/src/lib/general/gr_skiphead.cc
index 45e3d5cb23..ea7e9405f1 100644
--- a/gnuradio-core/src/lib/general/gr_skiphead.cc
+++ b/gnuradio-core/src/lib/general/gr_skiphead.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2007 Free Software Foundation, Inc.
+ * Copyright 2005,2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -38,7 +38,7 @@ gr_skiphead::gr_skiphead (size_t itemsize, size_t nitems_to_skip)
 gr_skiphead_sptr
 gr_make_skiphead (size_t itemsize, size_t nitems_to_skip)
 {
-  return gr_skiphead_sptr (new gr_skiphead (itemsize, nitems_to_skip));
+  return gnuradio::get_initial_sptr(new gr_skiphead (itemsize, nitems_to_skip));
 }
 
 int
diff --git a/gnuradio-core/src/lib/general/gr_squash_ff.cc b/gnuradio-core/src/lib/general/gr_squash_ff.cc
index 05ad4a7eb6..479204fdbf 100644
--- a/gnuradio-core/src/lib/general/gr_squash_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_squash_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@ gr_squash_ff_sptr
 gr_make_squash_ff(const std::vector<float> &igrid,
 		  const std::vector<float> &ogrid)
 {
-  return gr_squash_ff_sptr(new gr_squash_ff(igrid, ogrid));
+  return gnuradio::get_initial_sptr(new gr_squash_ff(igrid, ogrid));
 }
 
 gr_squash_ff::gr_squash_ff(const std::vector<float> &igrid,
diff --git a/gnuradio-core/src/lib/general/gr_stream_mux.cc b/gnuradio-core/src/lib/general/gr_stream_mux.cc
index 06556b5836..7ef2bb3c7b 100644
--- a/gnuradio-core/src/lib/general/gr_stream_mux.cc
+++ b/gnuradio-core/src/lib/general/gr_stream_mux.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -34,7 +34,7 @@
 gr_stream_mux_sptr
 gr_make_stream_mux (size_t itemsize, const std::vector<int> &lengths)
 {
-  return gr_stream_mux_sptr (new gr_stream_mux (itemsize, lengths));
+  return gnuradio::get_initial_sptr(new gr_stream_mux (itemsize, lengths));
 }
 
 gr_stream_mux::gr_stream_mux (size_t itemsize, const std::vector<int> &lengths)
diff --git a/gnuradio-core/src/lib/general/gr_stream_to_streams.cc b/gnuradio-core/src/lib/general/gr_stream_to_streams.cc
index b38a8d4d81..3d34dbc43d 100644
--- a/gnuradio-core/src/lib/general/gr_stream_to_streams.cc
+++ b/gnuradio-core/src/lib/general/gr_stream_to_streams.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_stream_to_streams_sptr
 gr_make_stream_to_streams (size_t item_size, size_t nstreams)
 {
-  return gr_stream_to_streams_sptr (new gr_stream_to_streams (item_size, nstreams));
+  return gnuradio::get_initial_sptr(new gr_stream_to_streams (item_size, nstreams));
 }
 
 gr_stream_to_streams::gr_stream_to_streams (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_stream_to_vector.cc b/gnuradio-core/src/lib/general/gr_stream_to_vector.cc
index fd233adca7..f218601d73 100644
--- a/gnuradio-core/src/lib/general/gr_stream_to_vector.cc
+++ b/gnuradio-core/src/lib/general/gr_stream_to_vector.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_stream_to_vector_sptr
 gr_make_stream_to_vector (size_t item_size, size_t nitems_per_block)
 {
-  return gr_stream_to_vector_sptr (new gr_stream_to_vector (item_size, nitems_per_block));
+  return gnuradio::get_initial_sptr(new gr_stream_to_vector (item_size, nitems_per_block));
 }
 
 gr_stream_to_vector::gr_stream_to_vector (size_t item_size, size_t nitems_per_block)
diff --git a/gnuradio-core/src/lib/general/gr_streams_to_stream.cc b/gnuradio-core/src/lib/general/gr_streams_to_stream.cc
index 6f6b49a82c..ce4101089d 100644
--- a/gnuradio-core/src/lib/general/gr_streams_to_stream.cc
+++ b/gnuradio-core/src/lib/general/gr_streams_to_stream.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_streams_to_stream_sptr
 gr_make_streams_to_stream (size_t item_size, size_t nstreams)
 {
-  return gr_streams_to_stream_sptr (new gr_streams_to_stream (item_size, nstreams));
+  return gnuradio::get_initial_sptr(new gr_streams_to_stream (item_size, nstreams));
 }
 
 gr_streams_to_stream::gr_streams_to_stream (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_streams_to_vector.cc b/gnuradio-core/src/lib/general/gr_streams_to_vector.cc
index f3ee2c49aa..e04fa4dcb5 100644
--- a/gnuradio-core/src/lib/general/gr_streams_to_vector.cc
+++ b/gnuradio-core/src/lib/general/gr_streams_to_vector.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_streams_to_vector_sptr
 gr_make_streams_to_vector (size_t item_size, size_t nstreams)
 {
-  return gr_streams_to_vector_sptr (new gr_streams_to_vector (item_size, nstreams));
+  return gnuradio::get_initial_sptr(new gr_streams_to_vector (item_size, nstreams));
 }
 
 gr_streams_to_vector::gr_streams_to_vector (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_stretch_ff.cc b/gnuradio-core/src/lib/general/gr_stretch_ff.cc
index f1822dcb8b..c6395798ad 100644
--- a/gnuradio-core/src/lib/general/gr_stretch_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_stretch_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 gr_stretch_ff_sptr
 gr_make_stretch_ff(float lo, size_t vlen)
 {
-  return gr_stretch_ff_sptr(new gr_stretch_ff(lo, vlen));
+  return gnuradio::get_initial_sptr(new gr_stretch_ff(lo, vlen));
 }
 
 gr_stretch_ff::gr_stretch_ff(float lo, size_t vlen)
diff --git a/gnuradio-core/src/lib/general/gr_test.cc b/gnuradio-core/src/lib/general/gr_test.cc
index a04554ec4e..077b397076 100644
--- a/gnuradio-core/src/lib/general/gr_test.cc
+++ b/gnuradio-core/src/lib/general/gr_test.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006,2008 Free Software Foundation, Inc.
+ * Copyright 2006,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -36,7 +36,7 @@ gr_test_sptr gr_make_test (const std::string &name,
         unsigned int history,unsigned int output_multiple,double relative_rate,
         bool fixed_rate,gr_consume_type_t cons_type, gr_produce_type_t prod_type)
 {
-  return gr_test_sptr (new gr_test (name, min_inputs,max_inputs,sizeof_input_item,
+  return gnuradio::get_initial_sptr(new gr_test (name, min_inputs,max_inputs,sizeof_input_item,
              min_outputs,max_outputs,sizeof_output_item,
              history,output_multiple,relative_rate,fixed_rate,cons_type, prod_type));
 }
diff --git a/gnuradio-core/src/lib/general/gr_threshold_ff.cc b/gnuradio-core/src/lib/general/gr_threshold_ff.cc
index 9deb3e461e..622fe1b45d 100644
--- a/gnuradio-core/src/lib/general/gr_threshold_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_threshold_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_threshold_ff_sptr
 gr_make_threshold_ff (float lo, float hi, float initial_state)
 {
-  return gr_threshold_ff_sptr (new gr_threshold_ff (lo, hi, initial_state));
+  return gnuradio::get_initial_sptr(new gr_threshold_ff (lo, hi, initial_state));
 }
 
 gr_threshold_ff::gr_threshold_ff (float lo, float hi, float initial_state)
diff --git a/gnuradio-core/src/lib/general/gr_throttle.cc b/gnuradio-core/src/lib/general/gr_throttle.cc
index 88219c1c80..3189e01c01 100644
--- a/gnuradio-core/src/lib/general/gr_throttle.cc
+++ b/gnuradio-core/src/lib/general/gr_throttle.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -57,7 +57,7 @@ gr_nanosleep(struct timespec *ts)
 gr_throttle_sptr
 gr_make_throttle(size_t itemsize, double samples_per_sec)
 {
-  return gr_throttle_sptr(new gr_throttle(itemsize, samples_per_sec));
+  return gnuradio::get_initial_sptr(new gr_throttle(itemsize, samples_per_sec));
 }
 
 gr_throttle::gr_throttle(size_t itemsize, double samples_per_sec)
diff --git a/gnuradio-core/src/lib/general/gr_uchar_to_float.cc b/gnuradio-core/src/lib/general/gr_uchar_to_float.cc
index 305052942d..83616b4283 100644
--- a/gnuradio-core/src/lib/general/gr_uchar_to_float.cc
+++ b/gnuradio-core/src/lib/general/gr_uchar_to_float.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_uchar_to_float_sptr
 gr_make_uchar_to_float ()
 {
-  return gr_uchar_to_float_sptr (new gr_uchar_to_float ());
+  return gnuradio::get_initial_sptr(new gr_uchar_to_float ());
 }
 
 gr_uchar_to_float::gr_uchar_to_float ()
diff --git a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc b/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
index 7c5fdb1d6d..e33c3da9a5 100644
--- a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 
 gr_unpack_k_bits_bb_sptr gr_make_unpack_k_bits_bb (unsigned k)
 {
-  return gr_unpack_k_bits_bb_sptr (new gr_unpack_k_bits_bb (k));
+  return gnuradio::get_initial_sptr(new gr_unpack_k_bits_bb (k));
 }
 
 
diff --git a/gnuradio-core/src/lib/general/gr_vco_f.cc b/gnuradio-core/src/lib/general/gr_vco_f.cc
index 342a880e45..43a686327b 100644
--- a/gnuradio-core/src/lib/general/gr_vco_f.cc
+++ b/gnuradio-core/src/lib/general/gr_vco_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_vco_f_sptr
 gr_make_vco_f(double sampling_rate, double sensitivity, double amplitude)
 {
-  return gr_vco_f_sptr(new gr_vco_f(sampling_rate, sensitivity, amplitude));
+  return gnuradio::get_initial_sptr(new gr_vco_f(sampling_rate, sensitivity, amplitude));
 }
 
 
diff --git a/gnuradio-core/src/lib/general/gr_vector_to_stream.cc b/gnuradio-core/src/lib/general/gr_vector_to_stream.cc
index 149bc0d5bf..0a0788de67 100644
--- a/gnuradio-core/src/lib/general/gr_vector_to_stream.cc
+++ b/gnuradio-core/src/lib/general/gr_vector_to_stream.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_vector_to_stream_sptr
 gr_make_vector_to_stream (size_t item_size, size_t nitems_per_block)
 {
-  return gr_vector_to_stream_sptr (new gr_vector_to_stream (item_size, nitems_per_block));
+  return gnuradio::get_initial_sptr(new gr_vector_to_stream (item_size, nitems_per_block));
 }
 
 gr_vector_to_stream::gr_vector_to_stream (size_t item_size, size_t nitems_per_block)
diff --git a/gnuradio-core/src/lib/general/gr_vector_to_streams.cc b/gnuradio-core/src/lib/general/gr_vector_to_streams.cc
index 19f15b1706..cc32641525 100644
--- a/gnuradio-core/src/lib/general/gr_vector_to_streams.cc
+++ b/gnuradio-core/src/lib/general/gr_vector_to_streams.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_vector_to_streams_sptr
 gr_make_vector_to_streams (size_t item_size, size_t nstreams)
 {
-  return gr_vector_to_streams_sptr (new gr_vector_to_streams (item_size, nstreams));
+  return gnuradio::get_initial_sptr(new gr_vector_to_streams (item_size, nstreams));
 }
 
 gr_vector_to_streams::gr_vector_to_streams (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_wavelet_ff.cc b/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
index 6cbfa23818..f77c96e993 100644
--- a/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -38,7 +38,7 @@ gr_make_wavelet_ff(int size,
 		   int order,
 		   bool forward)
 {
-  return gr_wavelet_ff_sptr(new gr_wavelet_ff(size,
+  return gnuradio::get_initial_sptr(new gr_wavelet_ff(size,
 					      order,
 					      forward));
 }
diff --git a/gnuradio-core/src/lib/general/gr_wvps_ff.cc b/gnuradio-core/src/lib/general/gr_wvps_ff.cc
index f814ba8fc4..8a8dc56acd 100644
--- a/gnuradio-core/src/lib/general/gr_wvps_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_wvps_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -39,7 +39,7 @@ ceil_log2(int k)
 gr_wvps_ff_sptr
 gr_make_wvps_ff(int ilen)
 {
-  return gr_wvps_ff_sptr(new gr_wvps_ff(ilen));
+  return gnuradio::get_initial_sptr(new gr_wvps_ff(ilen));
 }
 
 gr_wvps_ff::gr_wvps_ff(int ilen)
diff --git a/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
index 2e44c5ea78..58a25325af 100644
--- a/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (size_t vlen)
 {
-  return @SPTR_NAME@ (new @NAME@ (vlen));
+  return gnuradio::get_initial_sptr (new @NAME@ (vlen));
 }
 
 @NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
index 3df3ea9c63..0d3034be7e 100644
--- a/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (@O_TYPE@ k)
 {
-  return @SPTR_NAME@ (new @NAME@ (k));
+  return gnuradio::get_initial_sptr (new @NAME@ (k));
 }
 
 @NAME@::@NAME@ (@O_TYPE@ k)
diff --git a/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
index 0e6588dc0b..2a0a3ba3f9 100755
--- a/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (const std::vector<@I_TYPE@> k)
 {
-  return @SPTR_NAME@ (new @NAME@ (k));
+  return gnuradio::get_initial_sptr (new @NAME@ (k));
 }
 
 @NAME@::@NAME@ (const std::vector<@I_TYPE@> k)
diff --git a/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t
index cef21d3330..150ef7f0dc 100644
--- a/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ ()
 {
-  return @SPTR_NAME@ (new @NAME@ ());
+  return gnuradio::get_initial_sptr (new @NAME@ ());
 }
 
 @NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t
index ec725b23dc..bd48788e63 100644
--- a/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (@I_TYPE@ k)
 {
-  return @SPTR_NAME@ (new @NAME@ (k));
+  return gnuradio::get_initial_sptr (new @NAME@ (k));
 };
 
 @NAME@::@NAME@ (@I_TYPE@ k)
diff --git a/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
index ab61fb08d3..635d991ef5 100644
--- a/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D)
 {
-  return @SPTR_NAME@ (new @NAME@ (symbol_table,D));
+  return gnuradio::get_initial_sptr (new @NAME@ (symbol_table,D));
 }
 
 @NAME@::@NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D)
diff --git a/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
index 2db490f135..1200145fa3 100644
--- a/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (size_t vlen)
 {
-  return @SPTR_NAME@ (new @NAME@ (vlen));
+  return gnuradio::get_initial_sptr (new @NAME@ (vlen));
 }
 
 @NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t
index 0a62554bd1..f6e38848c7 100644
--- a/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@ 
 gr_make_@BASE_NAME@ (int decim)
 {
-  return @SPTR_NAME@ (new @NAME@ (decim));
+  return gnuradio::get_initial_sptr (new @NAME@ (decim));
 }
 
 @NAME@::@NAME@ (int decim)
diff --git a/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t
index 33a0acf9ce..8d2370d3ba 100644
--- a/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@ 
 gr_make_@BASE_NAME@ (int length, @O_TYPE@ scale, int max_iter)
 {
-  return @SPTR_NAME@ (new @NAME@ (length, scale, max_iter));
+  return gnuradio::get_initial_sptr (new @NAME@ (length, scale, max_iter));
 }
 
 @NAME@::@NAME@ (int length, @O_TYPE@ scale, int max_iter)
diff --git a/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
index 000c5e0bd8..13ec0c8b34 100644
--- a/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (size_t vlen)
 {
-  return @SPTR_NAME@ (new @NAME@ (vlen));
+  return gnuradio::get_initial_sptr (new @NAME@ (vlen));
 }
 
 @NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
index 715782dd18..09e658e90a 100644
--- a/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (@O_TYPE@ k)
 {
-  return @SPTR_NAME@ (new @NAME@ (k));
+  return gnuradio::get_initial_sptr (new @NAME@ (k));
 }
 
 @NAME@::@NAME@ (@O_TYPE@ k)
diff --git a/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
index 5b92ea8a12..8286453f1e 100755
--- a/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (const std::vector<@I_TYPE@> k)
 {
-  return @SPTR_NAME@ (new @NAME@ (k));
+  return gnuradio::get_initial_sptr (new @NAME@ (k));
 }
 
 @NAME@::@NAME@ (const std::vector<@I_TYPE@> k)
diff --git a/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
index ee49d97b4e..62a8e63daf 100644
--- a/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -34,7 +34,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (bool mute)
 {
-  return @SPTR_NAME@ (new @NAME@ (mute));
+  return gnuradio::get_initial_sptr (new @NAME@ (mute));
 }
 
 @NAME@::@NAME@ (bool mute)
diff --git a/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
index 83be9aa18f..35f5fabd9f 100644
--- a/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 @NAME@_sptr 
 gr_make_@BASE_NAME@ (gr_noise_type_t type, float ampl, long seed)
 {
-  return @NAME@_sptr (new @NAME@ (type, ampl, seed));
+  return gnuradio::get_initial_sptr(new @NAME@ (type, ampl, seed));
 }
 
 
diff --git a/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t
index 272987411e..432938e677 100644
--- a/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ ()
 {
-  return @SPTR_NAME@ (new @NAME@ ());
+  return gnuradio::get_initial_sptr (new @NAME@ ());
 }
 
 @NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t
index e118cdbbb4..07c759d73e 100644
--- a/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ ()
 {
-  return @SPTR_NAME@ (new @NAME@ ());
+  return gnuradio::get_initial_sptr (new @NAME@ ());
 }
 
 @NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t
index ce63169207..1a4a2564b2 100644
--- a/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@ gr_make_@BASE_NAME@ (float threshold_factor_rise,
 		     float threshold_factor_fall,
 		     int look_ahead, float alpha)
 {
-  return @SPTR_NAME@ (new @NAME@ (threshold_factor_rise, 
+  return gnuradio::get_initial_sptr (new @NAME@ (threshold_factor_rise, 
 				  threshold_factor_fall,
 				  look_ahead, alpha));
 }
diff --git a/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t
index 52538286e5..b78c52857a 100644
--- a/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ ()
 {
-  return @SPTR_NAME@ (new @NAME@ ());
+  return gnuradio::get_initial_sptr (new @NAME@ ());
 }
 
 @NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
index 0694df315c..9354eb93ca 100644
--- a/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -47,7 +47,7 @@
 gr_make_@BASE_NAME@ (double sampling_freq, gr_waveform_t waveform,
 		     double frequency, double ampl, @TYPE@ offset)
 {
-  return @NAME@_sptr (new @NAME@ (sampling_freq, waveform, frequency, ampl, offset));
+  return gnuradio::get_initial_sptr(new @NAME@ (sampling_freq, waveform, frequency, ampl, offset));
 }
 
 int
diff --git a/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
index c8bdabf9f6..f0ed75217f 100644
--- a/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ (size_t vlen)
 {
-  return @SPTR_NAME@ (new @NAME@ (vlen));
+  return gnuradio::get_initial_sptr (new @NAME@ (vlen));
 }
 
 @NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
index b2a6c4ac4e..f3466d46f8 100644
--- a/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -54,7 +54,7 @@ int
 @NAME@_sptr
 gr_make_@BASE_NAME@ (int vlen)
 {
-  return @NAME@_sptr (new @NAME@ (vlen));
+  return gnuradio::get_initial_sptr(new @NAME@ (vlen));
 }
 
 std::vector<@TYPE@>
diff --git a/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
index 889a6f22c2..1fe5df5b53 100644
--- a/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -84,6 +84,6 @@ int
 @NAME@_sptr
 gr_make_@BASE_NAME@ (const std::vector<@TYPE@> &data, bool repeat, int vlen)
 {
-  return @NAME@_sptr (new @NAME@ (data, repeat, vlen));
+  return gnuradio::get_initial_sptr(new @NAME@ (data, repeat, vlen));
 }
 
diff --git a/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t
index f64dd1c973..29230f7a6e 100644
--- a/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 @SPTR_NAME@
 gr_make_@BASE_NAME@ ()
 {
-  return @SPTR_NAME@ (new @NAME@ ());
+  return gnuradio::get_initial_sptr (new @NAME@ ());
 }
 
 @NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc b/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc
index 2da66b7ae2..09fb6c826c 100644
--- a/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -46,7 +46,7 @@ gr_file_descriptor_sink::gr_file_descriptor_sink (size_t itemsize, int fd)
 gr_file_descriptor_sink_sptr
 gr_make_file_descriptor_sink (size_t itemsize, int fd)
 {
-  return gr_file_descriptor_sink_sptr (new gr_file_descriptor_sink (itemsize, fd));
+  return gnuradio::get_initial_sptr(new gr_file_descriptor_sink (itemsize, fd));
 }
 
 gr_file_descriptor_sink::~gr_file_descriptor_sink ()
diff --git a/gnuradio-core/src/lib/io/gr_file_sink.cc b/gnuradio-core/src/lib/io/gr_file_sink.cc
index d40235fab9..706837c7a9 100644
--- a/gnuradio-core/src/lib/io/gr_file_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_file_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_file_sink_sptr
 gr_make_file_sink (size_t itemsize, const char *filename)
 {
-  return gr_file_sink_sptr (new gr_file_sink (itemsize, filename));
+  return gnuradio::get_initial_sptr(new gr_file_sink (itemsize, filename));
 }
 
 gr_file_sink::gr_file_sink(size_t itemsize, const char *filename)
diff --git a/gnuradio-core/src/lib/io/gr_file_source.cc b/gnuradio-core/src/lib/io/gr_file_source.cc
index 5591826d0c..d045e26b39 100644
--- a/gnuradio-core/src/lib/io/gr_file_source.cc
+++ b/gnuradio-core/src/lib/io/gr_file_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -74,7 +74,7 @@ gr_file_source::gr_file_source (size_t itemsize, const char *filename, bool repe
 gr_file_source_sptr
 gr_make_file_source (size_t itemsize, const char *filename, bool repeat)
 {
-  return gr_file_source_sptr (new gr_file_source (itemsize, filename, repeat));
+  return gnuradio::get_initial_sptr(new gr_file_source (itemsize, filename, repeat));
 }
 
 gr_file_source::~gr_file_source ()
diff --git a/gnuradio-core/src/lib/io/gr_histo_sink_f.cc b/gnuradio-core/src/lib/io/gr_histo_sink_f.cc
index 2885fe428a..a37189c240 100644
--- a/gnuradio-core/src/lib/io/gr_histo_sink_f.cc
+++ b/gnuradio-core/src/lib/io/gr_histo_sink_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -46,7 +46,7 @@ static float get_clean_num(float num){
 gr_histo_sink_f_sptr
 gr_make_histo_sink_f (gr_msg_queue_sptr msgq)
 {
-  return gr_histo_sink_f_sptr (new gr_histo_sink_f (msgq));
+  return gnuradio::get_initial_sptr(new gr_histo_sink_f (msgq));
 }
 
 gr_histo_sink_f::gr_histo_sink_f (gr_msg_queue_sptr msgq)
diff --git a/gnuradio-core/src/lib/io/gr_message_sink.cc b/gnuradio-core/src/lib/io/gr_message_sink.cc
index b9e0cc382f..8881e97f4d 100644
--- a/gnuradio-core/src/lib/io/gr_message_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_message_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@
 gr_message_sink_sptr 
 gr_make_message_sink (size_t itemsize, gr_msg_queue_sptr msgq, bool dont_block)
 {
-  return gr_message_sink_sptr(new gr_message_sink(itemsize, msgq, dont_block));
+  return gnuradio::get_initial_sptr(new gr_message_sink(itemsize, msgq, dont_block));
 }
 
 gr_message_sink::gr_message_sink (size_t itemsize, gr_msg_queue_sptr msgq, bool dont_block)
diff --git a/gnuradio-core/src/lib/io/gr_message_source.cc b/gnuradio-core/src/lib/io/gr_message_source.cc
index 3efc5b3216..0fa24f2f9c 100644
--- a/gnuradio-core/src/lib/io/gr_message_source.cc
+++ b/gnuradio-core/src/lib/io/gr_message_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,14 +40,14 @@
 gr_message_source_sptr
 gr_make_message_source(size_t itemsize, int msgq_limit)
 {
-  return gr_message_source_sptr(new gr_message_source(itemsize, msgq_limit));
+  return gnuradio::get_initial_sptr(new gr_message_source(itemsize, msgq_limit));
 }
 
 // public constructor that takes existing message queue
 gr_message_source_sptr
 gr_make_message_source(size_t itemsize, gr_msg_queue_sptr msgq)
 {
-  return gr_message_source_sptr(new gr_message_source(itemsize, msgq));
+  return gnuradio::get_initial_sptr(new gr_message_source(itemsize, msgq));
 }
 
 gr_message_source::gr_message_source (size_t itemsize, int msgq_limit)
diff --git a/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc b/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc
index cb401699e9..eca0f6dc61 100644
--- a/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc
+++ b/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2003,2004,2005 Free Software Foundation, Inc.
+ * Copyright 2003,2004,2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 gr_oscope_sink_f_sptr
 gr_make_oscope_sink_f (double sampling_rate, gr_msg_queue_sptr msgq)
 {
-  return gr_oscope_sink_f_sptr (new gr_oscope_sink_f (sampling_rate, msgq));
+  return gnuradio::get_initial_sptr(new gr_oscope_sink_f (sampling_rate, msgq));
 }
 
 
diff --git a/gnuradio-core/src/lib/io/gr_udp_sink.cc b/gnuradio-core/src/lib/io/gr_udp_sink.cc
index 3084a848be..36b4cbe36b 100644
--- a/gnuradio-core/src/lib/io/gr_udp_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_udp_sink.cc
@@ -135,7 +135,7 @@ gr_make_udp_sink (size_t itemsize,
 		  const char *host, unsigned short port,
 		  int payload_size, bool eof)
 {
-  return gr_udp_sink_sptr (new gr_udp_sink (itemsize, 
+  return gnuradio::get_initial_sptr(new gr_udp_sink (itemsize, 
 					    host, port,
 					    payload_size, eof));
 }
diff --git a/gnuradio-core/src/lib/io/gr_udp_source.cc b/gnuradio-core/src/lib/io/gr_udp_source.cc
index fea9a26ba4..ca31233de4 100644
--- a/gnuradio-core/src/lib/io/gr_udp_source.cc
+++ b/gnuradio-core/src/lib/io/gr_udp_source.cc
@@ -189,7 +189,7 @@ gr_udp_source_sptr
 gr_make_udp_source (size_t itemsize, const char *ipaddr, 
 		    unsigned short port, int payload_size, bool eof, bool wait)
 {
-  return gr_udp_source_sptr (new gr_udp_source (itemsize, ipaddr, 
+  return gnuradio::get_initial_sptr(new gr_udp_source (itemsize, ipaddr, 
 						port, payload_size, eof, wait));
 }
 
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
index 72e4ef51e0..b60a6e3abd 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006,2007,2008,2009 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2007,2008,2009,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -58,7 +58,7 @@ gr_make_wavfile_sink(const char *filename,
 		     unsigned int sample_rate,
 		     int bits_per_sample)
 {
-  return gr_wavfile_sink_sptr (new gr_wavfile_sink (filename,
+  return gnuradio::get_initial_sptr(new gr_wavfile_sink (filename,
 						    n_channels,
 						    sample_rate,
 						    bits_per_sample));
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_source.cc b/gnuradio-core/src/lib/io/gr_wavfile_source.cc
index 900f84efd1..d00dd30289 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_source.cc
+++ b/gnuradio-core/src/lib/io/gr_wavfile_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -52,7 +52,7 @@
 gr_wavfile_source_sptr
 gr_make_wavfile_source (const char *filename, bool repeat)
 {
-  return gr_wavfile_source_sptr (new gr_wavfile_source (filename, repeat));
+  return gnuradio::get_initial_sptr(new gr_wavfile_source (filename, repeat));
 }
 
 
diff --git a/gr-atsc/src/lib/atsc_bit_timing_loop.cc b/gr-atsc/src/lib/atsc_bit_timing_loop.cc
index a661e708bb..d87a2c3fd2 100644
--- a/gr-atsc/src/lib/atsc_bit_timing_loop.cc
+++ b/gr-atsc/src/lib/atsc_bit_timing_loop.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -37,7 +37,7 @@ double ratio_of_rx_clock_to_symbol_freq = input_rate / ATSC_SYMBOL_RATE;
 atsc_bit_timing_loop_sptr
 atsc_make_bit_timing_loop()
 {
-  return atsc_bit_timing_loop_sptr(new atsc_bit_timing_loop());
+  return gnuradio::get_initial_sptr(new atsc_bit_timing_loop());
 }
 
 
diff --git a/gr-atsc/src/lib/atsc_deinterleaver.cc b/gr-atsc/src/lib/atsc_deinterleaver.cc
index af58777ddb..aee9cd58b7 100644
--- a/gr-atsc/src/lib/atsc_deinterleaver.cc
+++ b/gr-atsc/src/lib/atsc_deinterleaver.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_deinterleaver_sptr
 atsc_make_deinterleaver()
 {
-  return atsc_deinterleaver_sptr(new atsc_deinterleaver());
+  return gnuradio::get_initial_sptr(new atsc_deinterleaver());
 }
 
 atsc_deinterleaver::atsc_deinterleaver()
diff --git a/gr-atsc/src/lib/atsc_depad.cc b/gr-atsc/src/lib/atsc_depad.cc
index f1e8305686..5cf0c3de2b 100644
--- a/gr-atsc/src/lib/atsc_depad.cc
+++ b/gr-atsc/src/lib/atsc_depad.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006,2008 Free Software Foundation, Inc.
+ * Copyright 2006,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 atsc_depad_sptr
 atsc_make_depad()
 {
-  return atsc_depad_sptr(new atsc_depad());
+  return gnuradio::get_initial_sptr(new atsc_depad());
 }
 
 atsc_depad::atsc_depad()
diff --git a/gr-atsc/src/lib/atsc_derandomizer.cc b/gr-atsc/src/lib/atsc_derandomizer.cc
index 361b781ad8..7dc4cf4c10 100644
--- a/gr-atsc/src/lib/atsc_derandomizer.cc
+++ b/gr-atsc/src/lib/atsc_derandomizer.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_derandomizer_sptr
 atsc_make_derandomizer()
 {
-  return atsc_derandomizer_sptr(new atsc_derandomizer());
+  return gnuradio::get_initial_sptr(new atsc_derandomizer());
 }
 
 atsc_derandomizer::atsc_derandomizer()
diff --git a/gr-atsc/src/lib/atsc_ds_to_softds.cc b/gr-atsc/src/lib/atsc_ds_to_softds.cc
index 8d3fc33851..c589bbb9f9 100644
--- a/gr-atsc/src/lib/atsc_ds_to_softds.cc
+++ b/gr-atsc/src/lib/atsc_ds_to_softds.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_ds_to_softds_sptr
 atsc_make_ds_to_softds()
 {
-  return atsc_ds_to_softds_sptr(new atsc_ds_to_softds());
+  return gnuradio::get_initial_sptr(new atsc_ds_to_softds());
 }
 
 atsc_ds_to_softds::atsc_ds_to_softds()
diff --git a/gr-atsc/src/lib/atsc_equalizer.cc b/gr-atsc/src/lib/atsc_equalizer.cc
index 3053c00b82..3e68de9928 100644
--- a/gr-atsc/src/lib/atsc_equalizer.cc
+++ b/gr-atsc/src/lib/atsc_equalizer.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -34,7 +34,7 @@
 atsc_equalizer_sptr
 atsc_make_equalizer()
 {
-  return atsc_equalizer_sptr(new atsc_equalizer());
+  return gnuradio::get_initial_sptr(new atsc_equalizer());
 }
 
 // had atsc_equalizer(atsci_equalizer *equalizer)
diff --git a/gr-atsc/src/lib/atsc_field_sync_demux.cc b/gr-atsc/src/lib/atsc_field_sync_demux.cc
index b6195c6dfe..3b321eae69 100644
--- a/gr-atsc/src/lib/atsc_field_sync_demux.cc
+++ b/gr-atsc/src/lib/atsc_field_sync_demux.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -44,7 +44,7 @@ static const int        DEC = ATSC_DATA_SEGMENT_LENGTH; // nominal decimation fa
 atsc_field_sync_demux_sptr
 atsc_make_field_sync_demux()
 {
-  return atsc_field_sync_demux_sptr(new atsc_field_sync_demux());
+  return gnuradio::get_initial_sptr(new atsc_field_sync_demux());
 }
 
 atsc_field_sync_demux::atsc_field_sync_demux()
diff --git a/gr-atsc/src/lib/atsc_field_sync_mux.cc b/gr-atsc/src/lib/atsc_field_sync_mux.cc
index 526599aed2..3d0e20a1c9 100644
--- a/gr-atsc/src/lib/atsc_field_sync_mux.cc
+++ b/gr-atsc/src/lib/atsc_field_sync_mux.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 atsc_field_sync_mux_sptr
 atsc_make_field_sync_mux()
 {
-  return atsc_field_sync_mux_sptr(new atsc_field_sync_mux());
+  return gnuradio::get_initial_sptr(new atsc_field_sync_mux());
 }
 
 atsc_field_sync_mux::atsc_field_sync_mux()
diff --git a/gr-atsc/src/lib/atsc_fpll.cc b/gr-atsc/src/lib/atsc_fpll.cc
index f5bf39d20f..676a7453ee 100644
--- a/gr-atsc/src/lib/atsc_fpll.cc
+++ b/gr-atsc/src/lib/atsc_fpll.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -34,7 +34,7 @@
 atsc_fpll_sptr
 atsc_make_fpll()
 {
-  return atsc_fpll_sptr(new atsc_fpll());
+  return gnuradio::get_initial_sptr(new atsc_fpll());
 }
 
 
diff --git a/gr-atsc/src/lib/atsc_fs_checker.cc b/gr-atsc/src/lib/atsc_fs_checker.cc
index 69406650ee..6162c9ef67 100644
--- a/gr-atsc/src/lib/atsc_fs_checker.cc
+++ b/gr-atsc/src/lib/atsc_fs_checker.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@
 atsc_fs_checker_sptr
 atsc_make_fs_checker()
 {
-  return atsc_fs_checker_sptr(new atsc_fs_checker());
+  return gnuradio::get_initial_sptr(new atsc_fs_checker());
 }
 
 atsc_fs_checker::atsc_fs_checker()
diff --git a/gr-atsc/src/lib/atsc_interleaver.cc b/gr-atsc/src/lib/atsc_interleaver.cc
index d9fd98bb31..a870914368 100644
--- a/gr-atsc/src/lib/atsc_interleaver.cc
+++ b/gr-atsc/src/lib/atsc_interleaver.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_interleaver_sptr
 atsc_make_interleaver()
 {
-  return atsc_interleaver_sptr(new atsc_interleaver());
+  return gnuradio::get_initial_sptr(new atsc_interleaver());
 }
 
 atsc_interleaver::atsc_interleaver()
diff --git a/gr-atsc/src/lib/atsc_pad.cc b/gr-atsc/src/lib/atsc_pad.cc
index cd1353e266..8a36307afe 100644
--- a/gr-atsc/src/lib/atsc_pad.cc
+++ b/gr-atsc/src/lib/atsc_pad.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@ static const int INTR = ATSC_MPEG_PKT_LENGTH;
 atsc_pad_sptr
 atsc_make_pad()
 {
-  return atsc_pad_sptr(new atsc_pad());
+  return gnuradio::get_initial_sptr(new atsc_pad());
 }
 
 atsc_pad::atsc_pad()
diff --git a/gr-atsc/src/lib/atsc_randomizer.cc b/gr-atsc/src/lib/atsc_randomizer.cc
index e6756c6ed3..cd797b8f5e 100644
--- a/gr-atsc/src/lib/atsc_randomizer.cc
+++ b/gr-atsc/src/lib/atsc_randomizer.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_randomizer_sptr
 atsc_make_randomizer()
 {
-  return atsc_randomizer_sptr(new atsc_randomizer());
+  return gnuradio::get_initial_sptr(new atsc_randomizer());
 }
 
 atsc_randomizer::atsc_randomizer()
diff --git a/gr-atsc/src/lib/atsc_rs_decoder.cc b/gr-atsc/src/lib/atsc_rs_decoder.cc
index 680d64e439..aa3f9369e5 100644
--- a/gr-atsc/src/lib/atsc_rs_decoder.cc
+++ b/gr-atsc/src/lib/atsc_rs_decoder.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_rs_decoder_sptr
 atsc_make_rs_decoder()
 {
-  return atsc_rs_decoder_sptr(new atsc_rs_decoder());
+  return gnuradio::get_initial_sptr(new atsc_rs_decoder());
 }
 
 atsc_rs_decoder::atsc_rs_decoder()
diff --git a/gr-atsc/src/lib/atsc_rs_encoder.cc b/gr-atsc/src/lib/atsc_rs_encoder.cc
index faf9bfff31..f98ff664c3 100644
--- a/gr-atsc/src/lib/atsc_rs_encoder.cc
+++ b/gr-atsc/src/lib/atsc_rs_encoder.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_rs_encoder_sptr
 atsc_make_rs_encoder()
 {
-  return atsc_rs_encoder_sptr(new atsc_rs_encoder());
+  return gnuradio::get_initial_sptr(new atsc_rs_encoder());
 }
 
 atsc_rs_encoder::atsc_rs_encoder()
diff --git a/gr-atsc/src/lib/atsc_trellis_encoder.cc b/gr-atsc/src/lib/atsc_trellis_encoder.cc
index efd0883103..4cf81a045d 100644
--- a/gr-atsc/src/lib/atsc_trellis_encoder.cc
+++ b/gr-atsc/src/lib/atsc_trellis_encoder.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 atsc_trellis_encoder_sptr
 atsc_make_trellis_encoder()
 {
-  return atsc_trellis_encoder_sptr(new atsc_trellis_encoder());
+  return gnuradio::get_initial_sptr(new atsc_trellis_encoder());
 }
 
 atsc_trellis_encoder::atsc_trellis_encoder()
diff --git a/gr-atsc/src/lib/atsc_viterbi_decoder.cc b/gr-atsc/src/lib/atsc_viterbi_decoder.cc
index 9db0401216..81ad9178ac 100644
--- a/gr-atsc/src/lib/atsc_viterbi_decoder.cc
+++ b/gr-atsc/src/lib/atsc_viterbi_decoder.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -35,7 +35,7 @@ using std::endl;
 atsc_viterbi_decoder_sptr
 atsc_make_viterbi_decoder()
 {
-  return atsc_viterbi_decoder_sptr(new atsc_viterbi_decoder());
+  return gnuradio::get_initial_sptr(new atsc_viterbi_decoder());
 }
 
 atsc_viterbi_decoder::atsc_viterbi_decoder()
diff --git a/gr-audio-alsa/src/audio_alsa_sink.cc b/gr-audio-alsa/src/audio_alsa_sink.cc
index fe3f043bf6..d6b7f84cfb 100644
--- a/gr-audio-alsa/src/audio_alsa_sink.cc
+++ b/gr-audio-alsa/src/audio_alsa_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -70,7 +70,7 @@ audio_alsa_make_sink (int sampling_rate,
 		      const std::string dev,
 		      bool ok_to_block)
 {
-  return audio_alsa_sink_sptr (new audio_alsa_sink (sampling_rate, dev,
+  return gnuradio::get_initial_sptr(new audio_alsa_sink (sampling_rate, dev,
 						    ok_to_block));
 }
 
diff --git a/gr-audio-alsa/src/audio_alsa_source.cc b/gr-audio-alsa/src/audio_alsa_source.cc
index 381e553f54..7b3d91b9dd 100644
--- a/gr-audio-alsa/src/audio_alsa_source.cc
+++ b/gr-audio-alsa/src/audio_alsa_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -68,7 +68,7 @@ audio_alsa_source_sptr
 audio_alsa_make_source (int sampling_rate, const std::string dev,
 			bool ok_to_block)
 {
-  return audio_alsa_source_sptr (new audio_alsa_source (sampling_rate, dev,
+  return gnuradio::get_initial_sptr(new audio_alsa_source (sampling_rate, dev,
 							ok_to_block));
 }
 
diff --git a/gr-audio-jack/src/audio_jack_sink.cc b/gr-audio-jack/src/audio_jack_sink.cc
index 9dfc46751f..6e39135c96 100644
--- a/gr-audio-jack/src/audio_jack_sink.cc
+++ b/gr-audio-jack/src/audio_jack_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -87,7 +87,7 @@ jack_sink_process (jack_nframes_t nframes, void *arg)
 audio_jack_sink_sptr
 audio_jack_make_sink(int sampling_rate, const std::string dev, bool ok_to_block)
 {
-  return audio_jack_sink_sptr (new audio_jack_sink (sampling_rate, dev,
+  return gnuradio::get_initial_sptr(new audio_jack_sink (sampling_rate, dev,
 						    ok_to_block));
 }
 
diff --git a/gr-audio-jack/src/audio_jack_source.cc b/gr-audio-jack/src/audio_jack_source.cc
index 392d246b42..ca3df51d7f 100644
--- a/gr-audio-jack/src/audio_jack_source.cc
+++ b/gr-audio-jack/src/audio_jack_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -88,7 +88,7 @@ jack_source_process (jack_nframes_t nframes, void *arg)
 audio_jack_source_sptr
 audio_jack_make_source (int sampling_rate, const std::string dev, bool ok_to_block)
 {
-  return audio_jack_source_sptr (new audio_jack_source (sampling_rate, dev, ok_to_block));
+  return gnuradio::get_initial_sptr(new audio_jack_source (sampling_rate, dev, ok_to_block));
 }
 
 audio_jack_source::audio_jack_source (int sampling_rate,
diff --git a/gr-audio-oss/src/audio_oss_sink.cc b/gr-audio-oss/src/audio_oss_sink.cc
index a14edc9d27..8230ab9b64 100644
--- a/gr-audio-oss/src/audio_oss_sink.cc
+++ b/gr-audio-oss/src/audio_oss_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -47,7 +47,7 @@ default_device_name ()
 audio_oss_sink_sptr
 audio_oss_make_sink (int sampling_rate, const std::string dev, bool ok_to_block)
 {
-  return audio_oss_sink_sptr (new audio_oss_sink (sampling_rate, dev, ok_to_block));
+  return gnuradio::get_initial_sptr(new audio_oss_sink (sampling_rate, dev, ok_to_block));
 }
 
 audio_oss_sink::audio_oss_sink (int sampling_rate,
diff --git a/gr-audio-oss/src/audio_oss_source.cc b/gr-audio-oss/src/audio_oss_source.cc
index 1df98a5eb7..fbb898f8c0 100644
--- a/gr-audio-oss/src/audio_oss_source.cc
+++ b/gr-audio-oss/src/audio_oss_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -47,7 +47,7 @@ default_device_name ()
 audio_oss_source_sptr
 audio_oss_make_source (int sampling_rate, const std::string dev, bool ok_to_block)
 {
-  return audio_oss_source_sptr (new audio_oss_source (sampling_rate, dev, ok_to_block));
+  return gnuradio::get_initial_sptr(new audio_oss_source (sampling_rate, dev, ok_to_block));
 }
 
 
diff --git a/gr-audio-osx/src/audio_osx_sink.cc b/gr-audio-osx/src/audio_osx_sink.cc
index 20fd895b98..ec9b024e83 100644
--- a/gr-audio-osx/src/audio_osx_sink.cc
+++ b/gr-audio-osx/src/audio_osx_sink.cc
@@ -267,7 +267,7 @@ audio_osx_make_sink (int sampling_freq,
 		     int channel_config,
 		     int max_sample_count)
 {
-  return audio_osx_sink_sptr (new audio_osx_sink (sampling_freq,
+  return gnuradio::get_initial_sptr(new audio_osx_sink (sampling_freq,
 						  dev,
 						  do_block,
 						  channel_config,
diff --git a/gr-audio-osx/src/audio_osx_source.cc b/gr-audio-osx/src/audio_osx_source.cc
index 538cfd8f69..757e65a9e2 100644
--- a/gr-audio-osx/src/audio_osx_source.cc
+++ b/gr-audio-osx/src/audio_osx_source.cc
@@ -614,7 +614,7 @@ audio_osx_make_source (int sampling_freq,
 		       int channel_config,
 		       int max_sample_count)
 {
-  return audio_osx_source_sptr (new audio_osx_source (sampling_freq,
+  return gnuradio::get_initial_sptr(new audio_osx_source (sampling_freq,
 						      device_name,
 						      do_block,
 						      channel_config,
diff --git a/gr-audio-portaudio/src/audio_portaudio_sink.cc b/gr-audio-portaudio/src/audio_portaudio_sink.cc
index 65a38f9119..9a3baf40ef 100644
--- a/gr-audio-portaudio/src/audio_portaudio_sink.cc
+++ b/gr-audio-portaudio/src/audio_portaudio_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -120,7 +120,7 @@ portaudio_sink_callback (const void *inputBuffer,
 audio_portaudio_sink_sptr
 audio_portaudio_make_sink (int sampling_rate, const std::string dev, bool ok_to_block)
 {
-  return audio_portaudio_sink_sptr (new audio_portaudio_sink (sampling_rate,
+  return gnuradio::get_initial_sptr(new audio_portaudio_sink (sampling_rate,
 							      dev, ok_to_block));
 }
 
diff --git a/gr-audio-portaudio/src/audio_portaudio_source.cc b/gr-audio-portaudio/src/audio_portaudio_source.cc
index 484b7f1e54..23801a8bf7 100644
--- a/gr-audio-portaudio/src/audio_portaudio_source.cc
+++ b/gr-audio-portaudio/src/audio_portaudio_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -119,7 +119,7 @@ portaudio_source_callback (const void *inputBuffer,
 audio_portaudio_source_sptr
 audio_portaudio_make_source (int sampling_rate, const std::string dev, bool ok_to_block)
 {
-  return audio_portaudio_source_sptr (new audio_portaudio_source (sampling_rate,
+  return gnuradio::get_initial_sptr(new audio_portaudio_source (sampling_rate,
 								  dev, ok_to_block));
 }
 
diff --git a/gr-audio-windows/src/audio_windows_sink.cc b/gr-audio-windows/src/audio_windows_sink.cc
index 1fa9150724..a47871954a 100644
--- a/gr-audio-windows/src/audio_windows_sink.cc
+++ b/gr-audio-windows/src/audio_windows_sink.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
-* Copyright 2004 Free Software Foundation, Inc.
+* Copyright 2004,2010 Free Software Foundation, Inc.
 *
 * This file is part of GNU Radio
 *
@@ -81,8 +81,7 @@ audio_windows_sink::~audio_windows_sink ()
 audio_windows_sink_sptr
 audio_windows_make_sink (int sampling_freq, const std::string dev)
 {
-  return audio_windows_sink_sptr (new
-				  audio_windows_sink (sampling_freq, dev));
+  return gnuradio::get_initial_sptr (new audio_windows_sink (sampling_freq, dev));
 }
 
 
diff --git a/gr-audio-windows/src/audio_windows_source.cc b/gr-audio-windows/src/audio_windows_source.cc
index 5cdfb8c846..a88923afde 100644
--- a/gr-audio-windows/src/audio_windows_source.cc
+++ b/gr-audio-windows/src/audio_windows_source.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -128,9 +128,7 @@ audio_windows_source::~audio_windows_source ()
 audio_windows_source_sptr
 audio_windows_make_source (int sampling_freq, const std::string dev)
 {
-  return audio_windows_source_sptr (new
-				    audio_windows_source (sampling_freq,
-							  dev));
+  return gnuradio::get_initial_sptr (new audio_windows_source (sampling_freq, dev));
 }
 
 
diff --git a/gr-comedi/src/comedi_sink_s.cc b/gr-comedi/src/comedi_sink_s.cc
index 7f4c6d6aaf..d4a6687588 100644
--- a/gr-comedi/src/comedi_sink_s.cc
+++ b/gr-comedi/src/comedi_sink_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -52,7 +52,7 @@ default_device_name ()
 comedi_sink_s_sptr
 comedi_make_sink_s (int sampling_freq, const std::string dev)
 {
-  return comedi_sink_s_sptr (new comedi_sink_s (sampling_freq, dev));
+  return gnuradio::get_initial_sptr(new comedi_sink_s (sampling_freq, dev));
 }
 
 comedi_sink_s::comedi_sink_s (int sampling_freq,
diff --git a/gr-comedi/src/comedi_source_s.cc b/gr-comedi/src/comedi_source_s.cc
index 4e3980e760..a52d04e2a3 100644
--- a/gr-comedi/src/comedi_source_s.cc
+++ b/gr-comedi/src/comedi_source_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -49,7 +49,7 @@ default_device_name ()
 comedi_source_s_sptr
 comedi_make_source_s (int sampling_freq, const std::string dev)
 {
-  return comedi_source_s_sptr (new comedi_source_s (sampling_freq, dev));
+  return gnuradio::get_initial_sptr(new comedi_source_s (sampling_freq, dev));
 }
 
 comedi_source_s::comedi_source_s (int sampling_freq,
diff --git a/gr-cvsd-vocoder/src/lib/cvsd_decode_bs.cc b/gr-cvsd-vocoder/src/lib/cvsd_decode_bs.cc
index 1dad15d430..26dcb29da5 100644
--- a/gr-cvsd-vocoder/src/lib/cvsd_decode_bs.cc
+++ b/gr-cvsd-vocoder/src/lib/cvsd_decode_bs.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -42,7 +42,7 @@ cvsd_make_decode_bs (short min_step, short max_step, double step_decay,
 		     double accum_decay,  int K, int J,
 		     short pos_accum_max, short neg_accum_max)
 {
-  return cvsd_decode_bs_sptr (new cvsd_decode_bs (min_step, max_step,
+  return gnuradio::get_initial_sptr(new cvsd_decode_bs (min_step, max_step,
 						  step_decay, accum_decay, K, J,
 						  pos_accum_max, neg_accum_max));
 }
diff --git a/gr-cvsd-vocoder/src/lib/cvsd_encode_sb.cc b/gr-cvsd-vocoder/src/lib/cvsd_encode_sb.cc
index 561b91c686..df867f3ba8 100644
--- a/gr-cvsd-vocoder/src/lib/cvsd_encode_sb.cc
+++ b/gr-cvsd-vocoder/src/lib/cvsd_encode_sb.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -42,7 +42,7 @@ cvsd_make_encode_sb (short min_step, short max_step, double step_decay,
 		     double accum_decay,  int K, int J,
 		     short pos_accum_max, short neg_accum_max)
 {
-  return cvsd_encode_sb_sptr (new cvsd_encode_sb (min_step, max_step,
+  return gnuradio::get_initial_sptr(new cvsd_encode_sb (min_step, max_step,
 						  step_decay, accum_decay, K, J,
 						  pos_accum_max, neg_accum_max));
 }
diff --git a/gr-gcell/src/gcell_fft_vcc.cc b/gr-gcell/src/gcell_fft_vcc.cc
index 8bbcfb2b9e..ae40b6fad9 100644
--- a/gr-gcell/src/gcell_fft_vcc.cc
+++ b/gr-gcell/src/gcell_fft_vcc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2007,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -71,7 +71,7 @@ gcell_make_fft_vcc(int fft_size, bool forward, const std::vector<float> &window,
 gcell_fft_vcc_sptr
 gcell_make_fft_vcc(int fft_size, bool forward, const std::vector<float> &window, bool shift)
 {
-  return gcell_fft_vcc_sptr (new gcell_fft_vcc(fft_size, forward, window, shift));
+  return gnuradio::get_initial_sptr(new gcell_fft_vcc(fft_size, forward, window, shift));
 }
 
 #endif
diff --git a/gr-gsm-fr-vocoder/src/lib/gsm_fr_decode_ps.cc b/gr-gsm-fr-vocoder/src/lib/gsm_fr_decode_ps.cc
index c4fc782fa1..9b788dedfd 100644
--- a/gr-gsm-fr-vocoder/src/lib/gsm_fr_decode_ps.cc
+++ b/gr-gsm-fr-vocoder/src/lib/gsm_fr_decode_ps.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -34,7 +34,7 @@ extern "C"{
 gsm_fr_decode_ps_sptr
 gsm_fr_make_decode_ps ()
 {
-  return gsm_fr_decode_ps_sptr (new gsm_fr_decode_ps ());
+  return gnuradio::get_initial_sptr(new gsm_fr_decode_ps ());
 }
 
 gsm_fr_decode_ps::gsm_fr_decode_ps ()
diff --git a/gr-gsm-fr-vocoder/src/lib/gsm_fr_encode_sp.cc b/gr-gsm-fr-vocoder/src/lib/gsm_fr_encode_sp.cc
index 3fd35db042..10bd1fef85 100644
--- a/gr-gsm-fr-vocoder/src/lib/gsm_fr_encode_sp.cc
+++ b/gr-gsm-fr-vocoder/src/lib/gsm_fr_encode_sp.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@ extern "C"{
 gsm_fr_encode_sp_sptr
 gsm_fr_make_encode_sp ()
 {
-  return gsm_fr_encode_sp_sptr (new gsm_fr_encode_sp ());
+  return gnuradio::get_initial_sptr(new gsm_fr_encode_sp ());
 }
 
 gsm_fr_encode_sp::gsm_fr_encode_sp ()
diff --git a/gr-howto-write-a-block/lib/howto_square2_ff.cc b/gr-howto-write-a-block/lib/howto_square2_ff.cc
index e86db93dd2..5e0fd7a436 100644
--- a/gr-howto-write-a-block/lib/howto_square2_ff.cc
+++ b/gr-howto-write-a-block/lib/howto_square2_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -39,7 +39,7 @@
 howto_square2_ff_sptr 
 howto_make_square2_ff ()
 {
-  return howto_square2_ff_sptr (new howto_square2_ff ());
+  return gnuradio::get_initial_sptr(new howto_square2_ff ());
 }
 
 /*
diff --git a/gr-howto-write-a-block/lib/howto_square_ff.cc b/gr-howto-write-a-block/lib/howto_square_ff.cc
index 5ab45d1f21..f1d5a78482 100644
--- a/gr-howto-write-a-block/lib/howto_square_ff.cc
+++ b/gr-howto-write-a-block/lib/howto_square_ff.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -39,7 +39,7 @@
 howto_square_ff_sptr 
 howto_make_square_ff ()
 {
-  return howto_square_ff_sptr (new howto_square_ff ());
+  return gnuradio::get_initial_sptr(new howto_square_ff ());
 }
 
 /*
diff --git a/gr-msdd6000/src/msdd_rs_source_simple.cc b/gr-msdd6000/src/msdd_rs_source_simple.cc
index 2ffc64240a..c44808f517 100644
--- a/gr-msdd6000/src/msdd_rs_source_simple.cc
+++ b/gr-msdd6000/src/msdd_rs_source_simple.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 msdd_rs_source_simple_sptr
 msdd_rs_make_source_simple ( const char *src, unsigned short port_src) 
 {
-  return msdd_rs_source_simple_sptr (new msdd_rs_source_simple ( src, port_src)); 
+  return gnuradio::get_initial_sptr(new msdd_rs_source_simple ( src, port_src)); 
 }
 
 
diff --git a/gr-msdd6000/src/msdd_source_simple.cc b/gr-msdd6000/src/msdd_source_simple.cc
index 0ee2505d48..076a305f1f 100644
--- a/gr-msdd6000/src/msdd_source_simple.cc
+++ b/gr-msdd6000/src/msdd_source_simple.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008,2009 Free Software Foundation, Inc.
+ * Copyright 2008,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 msdd_source_simple_sptr
 msdd_make_source_simple (const char *src, unsigned short port_src) 
 {
-  return msdd_source_simple_sptr (new msdd_source_simple ( src, port_src)); 
+  return gnuradio::get_initial_sptr(new msdd_source_simple ( src, port_src)); 
 }
 
 
diff --git a/gr-pager/lib/pager_flex_deinterleave.cc b/gr-pager/lib/pager_flex_deinterleave.cc
index 25ea22e391..a51670b22c 100644
--- a/gr-pager/lib/pager_flex_deinterleave.cc
+++ b/gr-pager/lib/pager_flex_deinterleave.cc
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -30,7 +30,7 @@
 
 pager_flex_deinterleave_sptr pager_make_flex_deinterleave()
 {
-    return pager_flex_deinterleave_sptr(new pager_flex_deinterleave());
+    return gnuradio::get_initial_sptr(new pager_flex_deinterleave());
 }
 
 pager_flex_deinterleave::pager_flex_deinterleave() :
diff --git a/gr-pager/lib/pager_flex_parse.cc b/gr-pager/lib/pager_flex_parse.cc
index 0819294daa..19d3d96c60 100644
--- a/gr-pager/lib/pager_flex_parse.cc
+++ b/gr-pager/lib/pager_flex_parse.cc
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004,2006,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 
 pager_flex_parse_sptr pager_make_flex_parse(gr_msg_queue_sptr queue, float freq)
 {
-    return pager_flex_parse_sptr(new pager_flex_parse(queue, freq));
+    return gnuradio::get_initial_sptr(new pager_flex_parse(queue, freq));
 }
 
 pager_flex_parse::pager_flex_parse(gr_msg_queue_sptr queue, float freq) :
diff --git a/gr-pager/lib/pager_flex_sync.cc b/gr-pager/lib/pager_flex_sync.cc
index 6bcee8ede7..61cf4ad382 100644
--- a/gr-pager/lib/pager_flex_sync.cc
+++ b/gr-pager/lib/pager_flex_sync.cc
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 
 pager_flex_sync_sptr pager_make_flex_sync()
 {
-    return pager_flex_sync_sptr(new pager_flex_sync());
+    return gnuradio::get_initial_sptr(new pager_flex_sync());
 }
 
 // FLEX sync block takes input from sliced baseband stream [0-3] at specified 
diff --git a/gr-pager/lib/pager_slicer_fb.cc b/gr-pager/lib/pager_slicer_fb.cc
index d419db78a1..53ba7b9deb 100644
--- a/gr-pager/lib/pager_slicer_fb.cc
+++ b/gr-pager/lib/pager_slicer_fb.cc
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004,2006,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -28,7 +28,7 @@
 
 pager_slicer_fb_sptr pager_make_slicer_fb(float alpha)
 {
-    return pager_slicer_fb_sptr(new pager_slicer_fb(alpha));
+    return gnuradio::get_initial_sptr(new pager_slicer_fb(alpha));
 }
 
 pager_slicer_fb::pager_slicer_fb(float alpha) :
diff --git a/gr-qtgui/src/lib/qtgui_sink_c.cc b/gr-qtgui/src/lib/qtgui_sink_c.cc
index a148cf5011..f77045938b 100644
--- a/gr-qtgui/src/lib/qtgui_sink_c.cc
+++ b/gr-qtgui/src/lib/qtgui_sink_c.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008,2009 Free Software Foundation, Inc.
+ * Copyright 2008,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@ qtgui_make_sink_c (int fftsize, int wintype,
 		   bool use_openGL,
 		   QWidget *parent)
 {
-  return qtgui_sink_c_sptr (new qtgui_sink_c (fftsize, wintype,
+  return gnuradio::get_initial_sptr(new qtgui_sink_c (fftsize, wintype,
 					      fc, bw, name,
 					      plotfreq, plotwaterfall,
 					      plotwaterfall3d, plottime,
diff --git a/gr-qtgui/src/lib/qtgui_sink_f.cc b/gr-qtgui/src/lib/qtgui_sink_f.cc
index 8eb0a0347f..976b1761b2 100644
--- a/gr-qtgui/src/lib/qtgui_sink_f.cc
+++ b/gr-qtgui/src/lib/qtgui_sink_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2008,2009 Free Software Foundation, Inc.
+ * Copyright 2008,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@ qtgui_make_sink_f (int fftsize, int wintype,
 		   bool use_openGL,
 		   QWidget *parent)
 {
-  return qtgui_sink_f_sptr (new qtgui_sink_f (fftsize, wintype,
+  return gnuradio::get_initial_sptr(new qtgui_sink_f (fftsize, wintype,
 					      fc, bw, name,
 					      plotfreq, plotwaterfall,
 					      plotwaterfall3d, plottime,
diff --git a/gr-trellis/src/lib/trellis_encoder_XX.cc.t b/gr-trellis/src/lib/trellis_encoder_XX.cc.t
index 1985fa46a6..698a0b307d 100644
--- a/gr-trellis/src/lib/trellis_encoder_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_encoder_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -33,7 +33,7 @@
 @SPTR_NAME@ 
 trellis_make_@BASE_NAME@ (const fsm &FSM, int ST)
 {
-  return @SPTR_NAME@ (new @NAME@ (FSM,ST));
+  return gnuradio::get_initial_sptr (new @NAME@ (FSM,ST));
 }
 
 @NAME@::@NAME@ (const fsm &FSM, int ST)
diff --git a/gr-trellis/src/lib/trellis_metrics_X.cc.t b/gr-trellis/src/lib/trellis_metrics_X.cc.t
index bced13c0cf..4bdaabc22c 100644
--- a/gr-trellis/src/lib/trellis_metrics_X.cc.t
+++ b/gr-trellis/src/lib/trellis_metrics_X.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -36,7 +36,7 @@
 @SPTR_NAME@
 trellis_make_@BASE_NAME@ (int O, int D,  const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE)
 {
-  return @SPTR_NAME@ (new @NAME@ (O,D,TABLE,TYPE));
+  return gnuradio::get_initial_sptr (new @NAME@ (O,D,TABLE,TYPE));
 }
 
 
diff --git a/gr-trellis/src/lib/trellis_permutation.cc b/gr-trellis/src/lib/trellis_permutation.cc
index c80d820cd1..a32390742b 100644
--- a/gr-trellis/src/lib/trellis_permutation.cc
+++ b/gr-trellis/src/lib/trellis_permutation.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -32,7 +32,7 @@
 trellis_permutation_sptr 
 trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT)
 {
-  return trellis_permutation_sptr (new trellis_permutation (K,TABLE,SYMS_PER_BLOCK,NBYTES_INOUT));
+  return gnuradio::get_initial_sptr(new trellis_permutation (K,TABLE,SYMS_PER_BLOCK,NBYTES_INOUT));
 }
 
 trellis_permutation::trellis_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT)
diff --git a/gr-trellis/src/lib/trellis_siso_combined_f.cc b/gr-trellis/src/lib/trellis_siso_combined_f.cc
index c8181d1096..708608b16a 100644
--- a/gr-trellis/src/lib/trellis_siso_combined_f.cc
+++ b/gr-trellis/src/lib/trellis_siso_combined_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -45,7 +45,7 @@ trellis_make_siso_combined_f (
     const std::vector<float> &TABLE,
     trellis_metric_type_t TYPE)
 {
-  return trellis_siso_combined_f_sptr (new trellis_siso_combined_f (FSM,K,S0,SK,POSTI,POSTO,SISO_TYPE,D,TABLE,TYPE));
+  return gnuradio::get_initial_sptr(new trellis_siso_combined_f (FSM,K,S0,SK,POSTI,POSTO,SISO_TYPE,D,TABLE,TYPE));
 }
 
 trellis_siso_combined_f::trellis_siso_combined_f (
diff --git a/gr-trellis/src/lib/trellis_siso_f.cc b/gr-trellis/src/lib/trellis_siso_f.cc
index ed9ebed61d..c8fa8231dc 100644
--- a/gr-trellis/src/lib/trellis_siso_f.cc
+++ b/gr-trellis/src/lib/trellis_siso_f.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -42,7 +42,7 @@ trellis_make_siso_f (
     bool POSTO,
     trellis_siso_type_t SISO_TYPE)
 {
-  return trellis_siso_f_sptr (new trellis_siso_f (FSM,K,S0,SK,POSTI,POSTO,SISO_TYPE));
+  return gnuradio::get_initial_sptr(new trellis_siso_f (FSM,K,S0,SK,POSTI,POSTO,SISO_TYPE));
 }
 
 trellis_siso_f::trellis_siso_f (
diff --git a/gr-trellis/src/lib/trellis_viterbi_X.cc.t b/gr-trellis/src/lib/trellis_viterbi_X.cc.t
index d2ecfacff4..1782153628 100644
--- a/gr-trellis/src/lib/trellis_viterbi_X.cc.t
+++ b/gr-trellis/src/lib/trellis_viterbi_X.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@ trellis_make_@BASE_NAME@ (
     int S0,
     int SK)
 {
-  return @SPTR_NAME@ (new @NAME@ (FSM,K,S0,SK));
+  return gnuradio::get_initial_sptr (new @NAME@ (FSM,K,S0,SK));
 }
 
 @NAME@::@NAME@ (
diff --git a/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t b/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
index e343a4965a..d365de75fc 100644
--- a/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -43,7 +43,7 @@ trellis_make_@BASE_NAME@ (
     const std::vector<@I_TYPE@> &TABLE,
     trellis_metric_type_t TYPE)
 {
-  return @SPTR_NAME@ (new @NAME@ (FSM,K,S0,SK,D,TABLE,TYPE));
+  return gnuradio::get_initial_sptr (new @NAME@ (FSM,K,S0,SK,D,TABLE,TYPE));
 }
 
 @NAME@::@NAME@ (
diff --git a/gr-usrp/src/usrp_sink_c.cc b/gr-usrp/src/usrp_sink_c.cc
index 40750b477d..7054158d8a 100644
--- a/gr-usrp/src/usrp_sink_c.cc
+++ b/gr-usrp/src/usrp_sink_c.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006,2009 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@ usrp_make_sink_c (int which_board,
 		   const std::string firmware_filename
 		   ) throw (std::runtime_error)
 {
-  return usrp_sink_c_sptr (new usrp_sink_c (which_board,
+  return gnuradio::get_initial_sptr(new usrp_sink_c (which_board,
 					      interp_rate,
 					      nchan,
 					      mux,
diff --git a/gr-usrp/src/usrp_sink_s.cc b/gr-usrp/src/usrp_sink_s.cc
index 1f51da24db..1ffaeed963 100644
--- a/gr-usrp/src/usrp_sink_s.cc
+++ b/gr-usrp/src/usrp_sink_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006,2009 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -40,7 +40,7 @@ usrp_make_sink_s (int which_board,
 		   const std::string firmware_filename
 		   ) throw (std::runtime_error)
 {
-  return usrp_sink_s_sptr (new usrp_sink_s (which_board,
+  return gnuradio::get_initial_sptr(new usrp_sink_s (which_board,
 					      interp_rate,
 					      nchan,
 					      mux,
diff --git a/gr-usrp/src/usrp_source_c.cc b/gr-usrp/src/usrp_source_c.cc
index 26d95dc1b3..9055f3ee76 100644
--- a/gr-usrp/src/usrp_source_c.cc
+++ b/gr-usrp/src/usrp_source_c.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006,2009 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -43,7 +43,7 @@ usrp_make_source_c (int which_board,
 		     const std::string firmware_filename
 		     ) throw (std::runtime_error)
 {
-  return usrp_source_c_sptr (new usrp_source_c (which_board,
+  return gnuradio::get_initial_sptr(new usrp_source_c (which_board,
 						  decim_rate,
 						  nchan,
 						  mux,
diff --git a/gr-usrp/src/usrp_source_s.cc b/gr-usrp/src/usrp_source_s.cc
index 88b8495d36..8e1c2f188b 100644
--- a/gr-usrp/src/usrp_source_s.cc
+++ b/gr-usrp/src/usrp_source_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2006,2009 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2009,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -43,7 +43,7 @@ usrp_make_source_s (int which_board,
 		     const std::string firmware_filename
 		     ) throw (std::runtime_error)
 {
-  return usrp_source_s_sptr (new usrp_source_s (which_board,
+  return gnuradio::get_initial_sptr(new usrp_source_s (which_board,
 						  decim_rate, 
 						  nchan,
 						  mux,
diff --git a/gr-video-sdl/src/video_sdl_sink_s.cc b/gr-video-sdl/src/video_sdl_sink_s.cc
index 825cd80cb0..2be3ff0722 100644
--- a/gr-video-sdl/src/video_sdl_sink_s.cc
+++ b/gr-video-sdl/src/video_sdl_sink_s.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -118,7 +118,7 @@ video_sdl_sink_s::~video_sdl_sink_s ()
 video_sdl_sink_s_sptr
 video_sdl_make_sink_s (double framerate,int width, int height,unsigned int format,int dst_width,int dst_height)
 {
-  return video_sdl_sink_s_sptr (new video_sdl_sink_s (framerate, width, height,format,dst_width,dst_height));
+  return gnuradio::get_initial_sptr(new video_sdl_sink_s (framerate, width, height,format,dst_width,dst_height));
 }
 
 void
diff --git a/gr-video-sdl/src/video_sdl_sink_uc.cc b/gr-video-sdl/src/video_sdl_sink_uc.cc
index 2d25399a89..58e4830e4a 100644
--- a/gr-video-sdl/src/video_sdl_sink_uc.cc
+++ b/gr-video-sdl/src/video_sdl_sink_uc.cc
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -118,7 +118,7 @@ video_sdl_sink_uc::~video_sdl_sink_uc ()
 video_sdl_sink_uc_sptr
 video_sdl_make_sink_uc (double framerate,int width, int height,unsigned int format,int dst_width,int dst_height)
 {
-  return video_sdl_sink_uc_sptr (new video_sdl_sink_uc (framerate, width, height,format,dst_width,dst_height));
+  return gnuradio::get_initial_sptr(new video_sdl_sink_uc (framerate, width, height,format,dst_width,dst_height));
 }
 
 void
-- 
cgit v1.2.3