summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau2011-10-06 14:41:43 -0400
committerTom Rondeau2011-10-06 14:41:43 -0400
commit8523d8a0fa1dba59d45defc27cd630901c91e76e (patch)
tree6e536bda47a86381043f3483342ee172a4ba3106
parent34fbf0c82a09be1f14fc85829317a2ee4bf0b793 (diff)
parent178590c3afae08ccafd3db711e2cfa65c841403f (diff)
downloadgnuradio-8523d8a0fa1dba59d45defc27cd630901c91e76e.tar.gz
gnuradio-8523d8a0fa1dba59d45defc27cd630901c91e76e.tar.bz2
gnuradio-8523d8a0fa1dba59d45defc27cd630901c91e76e.zip
Merge branch 'master' into next
-rw-r--r--gr-audio/lib/alsa/audio_alsa_sink.cc16
-rw-r--r--gr-uhd/swig/uhd_swig.i5
2 files changed, 11 insertions, 10 deletions
diff --git a/gr-audio/lib/alsa/audio_alsa_sink.cc b/gr-audio/lib/alsa/audio_alsa_sink.cc
index 5fd197ec7..0bda42470 100644
--- a/gr-audio/lib/alsa/audio_alsa_sink.cc
+++ b/gr-audio/lib/alsa/audio_alsa_sink.cc
@@ -326,7 +326,7 @@ audio_alsa_sink::work_s16 (int noutput_items,
gr_vector_void_star &output_items)
{
typedef gr_int16 sample_t; // the type of samples we're creating
- static const int NBITS = 16; // # of bits in a sample
+ static const float scale_factor = std::pow(2.0f, 16-1) - 1;
unsigned int nchan = input_items.size ();
const float **in = (const float **) &input_items[0];
@@ -343,7 +343,7 @@ audio_alsa_sink::work_s16 (int noutput_items,
bi = 0;
for (unsigned int i = 0; i < d_period_size; i++){
for (unsigned int chan = 0; chan < nchan; chan++){
- buf[bi++] = (sample_t) (in[chan][i] * (float) ((1L << (NBITS-1)) - 1));
+ buf[bi++] = (sample_t) (in[chan][i] * scale_factor);
}
}
@@ -368,7 +368,7 @@ audio_alsa_sink::work_s32 (int noutput_items,
gr_vector_void_star &output_items)
{
typedef gr_int32 sample_t; // the type of samples we're creating
- static const int NBITS = 32; // # of bits in a sample
+ static const float scale_factor = std::pow(2.0f, 32-1) - 1;
unsigned int nchan = input_items.size ();
const float **in = (const float **) &input_items[0];
@@ -385,7 +385,7 @@ audio_alsa_sink::work_s32 (int noutput_items,
bi = 0;
for (unsigned int i = 0; i < d_period_size; i++){
for (unsigned int chan = 0; chan < nchan; chan++){
- buf[bi++] = (sample_t) (in[chan][i] * (float) ((1L << (NBITS-1)) - 1));
+ buf[bi++] = (sample_t) (in[chan][i] * scale_factor);
}
}
@@ -410,7 +410,7 @@ audio_alsa_sink::work_s16_1x2 (int noutput_items,
gr_vector_void_star &output_items)
{
typedef gr_int16 sample_t; // the type of samples we're creating
- static const int NBITS = 16; // # of bits in a sample
+ static const float scale_factor = std::pow(2.0f, 16-1) - 1;
assert (input_items.size () == 1);
static const unsigned int nchan = 2;
@@ -427,7 +427,7 @@ audio_alsa_sink::work_s16_1x2 (int noutput_items,
// process one period of data
bi = 0;
for (unsigned int i = 0; i < d_period_size; i++){
- sample_t t = (sample_t) (in[0][i] * (float) ((1L << (NBITS-1)) - 1));
+ sample_t t = (sample_t) (in[0][i] * scale_factor);
buf[bi++] = t;
buf[bi++] = t;
}
@@ -452,7 +452,7 @@ audio_alsa_sink::work_s32_1x2 (int noutput_items,
gr_vector_void_star &output_items)
{
typedef gr_int32 sample_t; // the type of samples we're creating
- static const int NBITS = 32; // # of bits in a sample
+ static const float scale_factor = std::pow(2.0f, 32-1) - 1;
assert (input_items.size () == 1);
static unsigned int nchan = 2;
@@ -469,7 +469,7 @@ audio_alsa_sink::work_s32_1x2 (int noutput_items,
// process one period of data
bi = 0;
for (unsigned int i = 0; i < d_period_size; i++){
- sample_t t = (sample_t) (in[0][i] * (float) ((1L << (NBITS-1)) - 1));
+ sample_t t = (sample_t) (in[0][i] * scale_factor);
buf[bi++] = t;
buf[bi++] = t;
}
diff --git a/gr-uhd/swig/uhd_swig.i b/gr-uhd/swig/uhd_swig.i
index 93bf5bfbe..f8381ae64 100644
--- a/gr-uhd/swig/uhd_swig.i
+++ b/gr-uhd/swig/uhd_swig.i
@@ -26,6 +26,9 @@
#define GR_UHD_API
+//suppress 319. No access specifier given for base class name (ignored).
+#pragma SWIG nowarn=319
+
////////////////////////////////////////////////////////////////////////
// standard includes
////////////////////////////////////////////////////////////////////////
@@ -72,8 +75,6 @@
%include <uhd/types/metadata.hpp>
-%ignore uhd::device::register_device; //causes compile to choke in MSVC
-%include <uhd/device.hpp>
%template(device_addr_vector_t) std::vector<uhd::device_addr_t>;
%include <uhd/types/sensors.hpp>