/* -*- c++ -*- */ /* * Copyright 2003 Free Software Foundation, Inc. * * This file is part of GNU Radio * * 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 * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Radio is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU Radio; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, * Boston, MA 02110-1301, USA. */ %{ #include <atsc_types.h> #include <atsc_consts.h> #include <GrAtscRandomizer.h> #include <GrAtscRSEncoder.h> #include <GrAtscInterleaver.h> #include <GrAtscTrellisEncoder.h> #include <GrAtscFieldSyncMux.h> #include <GrAtscSymbolMapper.h> #include <GrAtscConvert2xTo20.h> #include <GrWeaverModHead.h> #include <GrWeaverModTail.h> %} // from atsc_types.h class plinfo; class atsc_mpeg_packet; class atsc_mpeg_packet_no_sync; class atsc_mpeg_packet_rs_encoded; class atsc_data_segment; class atsc_soft_data_segment; %include <atsc_consts.h> // leave out the VrHistoryProc and pretend we're directly derived from VrSigProc // %template(VrHistoryProc_1) VrHistoryProc<atsc_mpeg_packet,atsc_mpeg_packet_no_sync>; class GrAtscRandomizer : public VrSigProc // class GrAtscRandomizer : public VrHistoryProc<atsc_mpeg_packet, atsc_mpeg_packet_no_sync> { public: GrAtscRandomizer (); ~GrAtscRandomizer (); }; class GrAtscRSEncoder : public VrSigProc { public: GrAtscRSEncoder (); ~GrAtscRSEncoder (); }; class GrAtscInterleaver : public VrSigProc { public: GrAtscInterleaver (); ~GrAtscInterleaver (); }; class GrAtscTrellisEncoder : public VrSigProc { public: GrAtscTrellisEncoder (); ~GrAtscTrellisEncoder (); }; class GrAtscFieldSyncMux : public VrSigProc { public: GrAtscFieldSyncMux (); ~GrAtscFieldSyncMux (); }; template<class oType> class GrAtscSymbolMapper : public VrSigProc { public: GrAtscSymbolMapper (); ~GrAtscSymbolMapper (); }; %template(GrAtscSymbolMapperF) GrAtscSymbolMapper<float>; template<class iType, class oType> class GrWeaverModHead : public VrSigProc { public: GrWeaverModHead (int interp_factor); ~GrWeaverModHead (); }; %template(GrWeaverModHeadFF) GrWeaverModHead<float,float>; template<class iType, class oType> class GrWeaverModTail : public VrSigProc { public: GrWeaverModTail (float freq, float gain); ~GrWeaverModTail (); //! frequency is in Hz void set_freq (float frequency); void set_gain (float g); }; %template(GrWeaverModTailFS) GrWeaverModTail<float,short>; class GrAtscConvert2xTo20 : public VrSigProc { public: GrAtscConvert2xTo20 (); ~GrAtscConvert2xTo20 (); }; #if 0 // FIXME %template(VrSource_mpeg_packet) VrSource<atsc_mpeg_packet>; %template(VrFileSource_mpeg_packet) VrFileSource<atsc_mpeg_packet>; %template(VrSink_mpeg_packet) VrSink<atsc_mpeg_packet>; %template(VrFileSink_mpeg_packet) VrFileSink<atsc_mpeg_packet>; #endif