Do not use wrapper class for SendCreate
This commit is contained in:
@@ -1,27 +0,0 @@
|
|||||||
#include "PySendCreate.hpp"
|
|
||||||
|
|
||||||
PySendCreate::PySendCreate(const std::string &ndi_name_,
|
|
||||||
const std::string &groupds_, bool clock_video_,
|
|
||||||
bool clock_audio_)
|
|
||||||
: _ndi_name(ndi_name_), _groups(groupds_) {
|
|
||||||
p_ndi_name = _ndi_name.c_str();
|
|
||||||
p_groups = _groups.c_str();
|
|
||||||
clock_video = clock_video_;
|
|
||||||
clock_audio = clock_audio_;
|
|
||||||
}
|
|
||||||
|
|
||||||
PySendCreate::~PySendCreate() {}
|
|
||||||
|
|
||||||
const std::string &PySendCreate::getNdiName() const { return _ndi_name; }
|
|
||||||
|
|
||||||
void PySendCreate::setNdiName(const std::string &name) {
|
|
||||||
_ndi_name = name;
|
|
||||||
p_ndi_name = _ndi_name.c_str();
|
|
||||||
}
|
|
||||||
|
|
||||||
const std::string &PySendCreate::getGroups() const { return _groups; }
|
|
||||||
|
|
||||||
void PySendCreate::setGroups(const std::string &groups) {
|
|
||||||
_groups = groups;
|
|
||||||
p_groups = _groups.c_str();
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#include <string>
|
|
||||||
|
|
||||||
#include <Processing.NDI.Lib.h>
|
|
||||||
|
|
||||||
class PySendCreate : public NDIlib_send_create_t {
|
|
||||||
public:
|
|
||||||
PySendCreate(const std::string &ndi_name_, const std::string &groups_,
|
|
||||||
bool clock_video_, bool clock_audio_);
|
|
||||||
virtual ~PySendCreate();
|
|
||||||
|
|
||||||
const std::string &getNdiName() const;
|
|
||||||
void setNdiName(const std::string &name);
|
|
||||||
|
|
||||||
const std::string &getGroups() const;
|
|
||||||
void setGroups(const std::string &groups);
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::string _ndi_name;
|
|
||||||
std::string _groups;
|
|
||||||
};
|
|
||||||
37
src/main.cpp
37
src/main.cpp
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
#include "PyAudioFrame.hpp"
|
#include "PyAudioFrame.hpp"
|
||||||
#include "PyMetadataFrame.hpp"
|
#include "PyMetadataFrame.hpp"
|
||||||
#include "PySendCreate.hpp"
|
|
||||||
#include "PySource.hpp"
|
#include "PySource.hpp"
|
||||||
#include "PyVideoFrame.hpp"
|
#include "PyVideoFrame.hpp"
|
||||||
|
|
||||||
@@ -437,16 +436,34 @@ PYBIND11_MODULE(NDIlib, m) {
|
|||||||
py::arg("instance"), py::arg("times"));
|
py::arg("instance"), py::arg("times"));
|
||||||
|
|
||||||
// Processing.NDI.Send
|
// Processing.NDI.Send
|
||||||
py::class_<PySendCreate>(m, "SendCreate")
|
py::class_<NDIlib_send_create_t>(m, "SendCreate")
|
||||||
.def(py::init<const std::string &, const std::string &, bool, bool>(),
|
.def(py::init<const char *, const char *, bool, bool>(),
|
||||||
py::arg("ndi_name") = nullptr, py::arg("groups") = nullptr,
|
py::arg("p_ndi_name") = nullptr, py::arg("p_groups") = nullptr,
|
||||||
py::arg("clock_video") = true, py::arg("clock_audio") = true)
|
py::arg("clock_video") = true, py::arg("clock_audio") = true)
|
||||||
.def_property("ndi_name", &PySendCreate::getNdiName,
|
.def_property(
|
||||||
&PySendCreate::setNdiName)
|
"ndi_name",
|
||||||
.def_property("groups", &PySendCreate::getGroups,
|
[](const NDIlib_send_create_t &self) {
|
||||||
&PySendCreate::setGroups)
|
auto ustr = PyUnicode_DecodeLocale(self.p_ndi_name, nullptr);
|
||||||
.def_readwrite("clock_video", &PySendCreate::clock_video)
|
return py::reinterpret_steal<py::str>(ustr);
|
||||||
.def_readwrite("clock_audio", &PySendCreate::clock_audio);
|
},
|
||||||
|
[](NDIlib_send_create_t &self, const char *name) {
|
||||||
|
static std::unordered_map<NDIlib_send_create_t *, std::string> strs;
|
||||||
|
strs[&self] = py::str(name);
|
||||||
|
self.p_ndi_name = strs[&self].c_str();
|
||||||
|
})
|
||||||
|
.def_property(
|
||||||
|
"groups",
|
||||||
|
[](const NDIlib_send_create_t &self) {
|
||||||
|
auto ustr = PyUnicode_DecodeLocale(self.p_groups, nullptr);
|
||||||
|
return py::reinterpret_steal<py::str>(ustr);
|
||||||
|
},
|
||||||
|
[](NDIlib_send_create_t &self, const std::string &groups) {
|
||||||
|
static std::unordered_map<NDIlib_send_create_t *, std::string> strs;
|
||||||
|
strs[&self] = py::str(groups);
|
||||||
|
self.p_groups = strs[&self].c_str();
|
||||||
|
})
|
||||||
|
.def_readwrite("clock_video", &NDIlib_send_create_t::clock_video)
|
||||||
|
.def_readwrite("clock_audio", &NDIlib_send_create_t::clock_audio);
|
||||||
|
|
||||||
m.def("send_create", &NDIlib_send_create,
|
m.def("send_create", &NDIlib_send_create,
|
||||||
py::arg("create_settings") = nullptr);
|
py::arg("create_settings") = nullptr);
|
||||||
|
|||||||
Reference in New Issue
Block a user