Hi, Thanks for responding. Here is my header file. I am compiling this to a shared object called opus_strategy.so. If I set the argument of BOOST_PYTHON_MODULE to opus_encoder_strategy, and compile my .so file to have the name opus_encoder_strategy.so,I can load the boost python module into my python interpreter and see the OpusEncoderStrategy class as an attribute.
However, if I choose other names such as opus_strategy for the argument to BOOST_PYTHON_MODULE, when I load the boost python object it doesn’t appear to have any recognized attributes. I don’t understand why the name should matter. As I had noted in my previous email, I would like to have a shared object file with the name opus_strategy.so that encompasses a set of classes. Just can’t figure out how to get it to work. I am on OS X, BTW if that matters. Any help would be greatly appreciated. Thanks. -Jon #ifndef OPUS_ENCODER_STRATEGY_H_ #define OPUS_ENCODER_STRATEGY_H_ #include "memory" #include "opus/opus.h" #include "opus/opus_defines.h" #include "opus/opus_multistream.h" #include "opus/opus_types.h" #include <boost/python.hpp> #include <boost/numpy.hpp> #include <exception> #include <memory> #include <map> #include <vector> #include <iostream> namespace bp = boost::python; namespace np = boost::numpy; using namespace std; class OpusEncoderStrategy { public: OpusEncoderStrategy(const int sample_rate, const int number_channels, const int opus_application); ~OpusEncoderStrategy(); opus_int32 encode(const float* pcm, const int frame_size, const unsigned char* data, opus_int32 max_data_bytes); bool setComplexity(const int c); int getComplexity(); private: bool encoderCtl(); int getPacketDurationBytes(); OpusEncoder* encoder; int fs; int channels; int application; int error; }; BOOST_PYTHON_MODULE(opus_strategy) { using namespace boost::python; class_<OpusEncoderStrategy>("OpusEncoderStrategy", init<const int, const int, const int>()) .def("setComplexity", &OpusEncoderStrategy::setComplexity) .def("getComplexity", &OpusEncoderStrategy::getComplexity); } #endif > On Sep 8, 2016, at 4:47 PM, Stefan Seefeld <ste...@seefeld.name> wrote: > > Hi Jon, > > what you are describing makes perfect sense, and should work without > problem. From your description it isn't clear why this isn't working, so > I suggest you put together a self-contained test that doesn't work as > you expect, and send that out so we can have a look. Otherwise we'd have > to guess. > The online docs at http://boostorg.github.io/python/doc/html/index.html > should contain everything you need. > > Stefan > > -- > > ...ich hab' noch einen Koffer in Berlin... > > _______________________________________________ > Cplusplus-sig mailing list > Cplusplus-sig@python.org > https://mail.python.org/mailman/listinfo/cplusplus-sig _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org https://mail.python.org/mailman/listinfo/cplusplus-sig