summaryrefslogtreecommitdiff
path: root/gr-blocks/python/blocks/bindings
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/python/blocks/bindings')
-rw-r--r--gr-blocks/python/blocks/bindings/CMakeLists.txt7
-rw-r--r--gr-blocks/python/blocks/bindings/docstrings/wavfile_sink_pydoc_template.h3
-rw-r--r--gr-blocks/python/blocks/bindings/wavfile_python.cc62
-rw-r--r--gr-blocks/python/blocks/bindings/wavfile_sink_python.cc16
4 files changed, 39 insertions, 49 deletions
diff --git a/gr-blocks/python/blocks/bindings/CMakeLists.txt b/gr-blocks/python/blocks/bindings/CMakeLists.txt
index 976e12d180..4385c82a0f 100644
--- a/gr-blocks/python/blocks/bindings/CMakeLists.txt
+++ b/gr-blocks/python/blocks/bindings/CMakeLists.txt
@@ -1,3 +1,10 @@
+# Copyright 2020 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+
include(GrPybind)
########################################################################
diff --git a/gr-blocks/python/blocks/bindings/docstrings/wavfile_sink_pydoc_template.h b/gr-blocks/python/blocks/bindings/docstrings/wavfile_sink_pydoc_template.h
index 137dc82cd1..dc7a57fb7a 100644
--- a/gr-blocks/python/blocks/bindings/docstrings/wavfile_sink_pydoc_template.h
+++ b/gr-blocks/python/blocks/bindings/docstrings/wavfile_sink_pydoc_template.h
@@ -37,3 +37,6 @@ static const char* __doc_gr_blocks_wavfile_sink_set_sample_rate = R"doc()doc";
static const char* __doc_gr_blocks_wavfile_sink_set_bits_per_sample = R"doc()doc";
+
+
+static const char* __doc_gr_blocks_wavfile_sink_set_append = R"doc()doc";
diff --git a/gr-blocks/python/blocks/bindings/wavfile_python.cc b/gr-blocks/python/blocks/bindings/wavfile_python.cc
index 950289d156..ff84bab7eb 100644
--- a/gr-blocks/python/blocks/bindings/wavfile_python.cc
+++ b/gr-blocks/python/blocks/bindings/wavfile_python.cc
@@ -14,7 +14,7 @@
/* BINDTOOL_GEN_AUTOMATIC(0) */
/* BINDTOOL_USE_PYGCCXML(0) */
/* BINDTOOL_HEADER_FILE(wavfile.h) */
-/* BINDTOOL_HEADER_FILE_HASH(85a13746fd109dbc7b94ba38aaf61e4c) */
+/* BINDTOOL_HEADER_FILE_HASH(69b513925578f5e61e5c98a083388fae) */
/***********************************************************************************/
#include <pybind11/complex.h>
@@ -29,49 +29,31 @@ namespace py = pybind11;
void bind_wavfile(py::module& m)
{
- using wav_header_info = gr::blocks::wav_header_info;
+ using wav_header_info = ::gr::blocks::wav_header_info;
py::class_<wav_header_info, std::shared_ptr<wav_header_info>>(m, "wav_header_info")
.def_readwrite("sample_rate", &wav_header_info::sample_rate)
.def_readwrite("nchans", &wav_header_info::nchans)
.def_readwrite("bytes_per_sample", &wav_header_info::bytes_per_sample)
- .def_readwrite("first_sample_pos", &wav_header_info::first_sample_pos)
.def_readwrite("samples_per_chan", &wav_header_info::samples_per_chan)
- .def_readwrite("data_chunk_size", &wav_header_info::data_chunk_size);
-
- m.def("wavheader_parse",
- &::gr::blocks::wavheader_parse,
- py::arg("fp"),
- py::arg("info"),
- D(wavheader_parse));
-
- m.def("wav_read_sample",
- &::gr::blocks::wav_read_sample,
- py::arg("fp"),
- py::arg("bytes_per_sample"),
- D(wav_read_sample));
-
-
- m.def("wavheader_write",
- &::gr::blocks::wavheader_write,
- py::arg("fp"),
- py::arg("sample_rate"),
- py::arg("nchans"),
- py::arg("bytes_per_sample"),
- D(wavheader_write));
-
-
- m.def("wav_write_sample",
- &::gr::blocks::wav_write_sample,
- py::arg("fp"),
- py::arg("sample"),
- py::arg("bytes_per_sample"),
- D(wav_write_sample));
-
-
- m.def("wavheader_complete",
- &::gr::blocks::wavheader_complete,
- py::arg("fp"),
- py::arg("byte_count"),
- D(wavheader_complete));
+ .def_readwrite("format", &wav_header_info::format)
+ .def_readwrite("subformat", &wav_header_info::subformat);
+
+ py::enum_<::gr::blocks::wavfile_format_t>(m, "wavfile_format_t")
+ .value("FORMAT_WAV", ::gr::blocks::FORMAT_WAV) // 65536
+ .value("FORMAT_FLAC", ::gr::blocks::FORMAT_FLAC) // 1507328
+ .value("FORMAT_OGG", ::gr::blocks::FORMAT_OGG) // 2097152
+ .value("FORMAT_RF64", ::gr::blocks::FORMAT_RF64) // 2228224
+ .export_values();
+
+ py::enum_<::gr::blocks::wavfile_subformat_t>(m, "wavfile_subformat_t")
+ .value("FORMAT_PCM_S8", ::gr::blocks::FORMAT_PCM_S8) // 1
+ .value("FORMAT_PCM_16", ::gr::blocks::FORMAT_PCM_16) // 2
+ .value("FORMAT_PCM_24", ::gr::blocks::FORMAT_PCM_24) // 3
+ .value("FORMAT_PCM_32", ::gr::blocks::FORMAT_PCM_32) // 4
+ .value("FORMAT_PCM_U8", ::gr::blocks::FORMAT_PCM_U8) // 5
+ .value("FORMAT_FLOAT", ::gr::blocks::FORMAT_FLOAT) // 6
+ .value("FORMAT_DOUBLE", ::gr::blocks::FORMAT_DOUBLE) // 7
+ .value("FORMAT_VORBIS", ::gr::blocks::FORMAT_VORBIS) // 96
+ .export_values();
}
diff --git a/gr-blocks/python/blocks/bindings/wavfile_sink_python.cc b/gr-blocks/python/blocks/bindings/wavfile_sink_python.cc
index af7046d086..5a6e236eff 100644
--- a/gr-blocks/python/blocks/bindings/wavfile_sink_python.cc
+++ b/gr-blocks/python/blocks/bindings/wavfile_sink_python.cc
@@ -14,7 +14,7 @@
/* BINDTOOL_GEN_AUTOMATIC(0) */
/* BINDTOOL_USE_PYGCCXML(0) */
/* BINDTOOL_HEADER_FILE(wavfile_sink.h) */
-/* BINDTOOL_HEADER_FILE_HASH(b8184d24184e3bd7aa4a08f5fca8ac0d) */
+/* BINDTOOL_HEADER_FILE_HASH(aef0fe37adeb3a7bb763e4ed9e807a17) */
/***********************************************************************************/
#include <pybind11/complex.h>
@@ -29,10 +29,8 @@ namespace py = pybind11;
void bind_wavfile_sink(py::module& m)
{
-
using wavfile_sink = ::gr::blocks::wavfile_sink;
-
py::class_<wavfile_sink,
gr::sync_block,
gr::block,
@@ -43,27 +41,27 @@ void bind_wavfile_sink(py::module& m)
py::arg("filename"),
py::arg("n_channels"),
py::arg("sample_rate"),
- py::arg("bits_per_sample") = 16,
+ py::arg("format"),
+ py::arg("subformat"),
py::arg("append") = false,
D(wavfile_sink, make))
-
.def("open", &wavfile_sink::open, py::arg("filename"), D(wavfile_sink, open))
-
.def("close", &wavfile_sink::close, D(wavfile_sink, close))
-
.def("set_sample_rate",
&wavfile_sink::set_sample_rate,
py::arg("sample_rate"),
D(wavfile_sink, set_sample_rate))
-
.def("set_bits_per_sample",
&wavfile_sink::set_bits_per_sample,
py::arg("bits_per_sample"),
D(wavfile_sink, set_bits_per_sample))
- ;
+ .def("set_append",
+ &wavfile_sink::set_append,
+ py::arg("append"),
+ D(wavfile_sink, set_append));
}