diff options
Diffstat (limited to 'src/plugins/Visual/analyzer')
| -rw-r--r-- | src/plugins/Visual/analyzer/analyzer.cpp | 26 | ||||
| -rw-r--r-- | src/plugins/Visual/analyzer/analyzer.h | 8 |
2 files changed, 13 insertions, 21 deletions
diff --git a/src/plugins/Visual/analyzer/analyzer.cpp b/src/plugins/Visual/analyzer/analyzer.cpp index 215c70a8a..de17d214d 100644 --- a/src/plugins/Visual/analyzer/analyzer.cpp +++ b/src/plugins/Visual/analyzer/analyzer.cpp @@ -82,43 +82,35 @@ void Analyzer::clear() update(); } -void Analyzer::add (Buffer *b, unsigned long w, int c, int p) +void Analyzer::add (unsigned char *data, qint64 size, int chan) { if (!m_timer->isActive ()) return; - long len = b->nbytes, cnt; + long len = size, cnt; short *l = 0, *r = 0; - len /= c; - len /= (p / 8); + len /= chan; + len /= 2; if (len > 512) len = 512; cnt = len; - if (c == 2) + if (chan == 2) { l = new short[len]; r = new short[len]; - - if (p == 8) - stereo16_from_stereopcm8 (l, r, b->data, cnt); - else if (p == 16) - stereo16_from_stereopcm16 (l, r, (short *) b->data, cnt); + stereo16_from_stereopcm16 (l, r, (short *) data, cnt); } - else if (c == 1) + else if (chan == 1) { l = new short[len]; - - if (p == 8) - mono16_from_monopcm8 (l, b->data, cnt); - else if (p == 16) - mono16_from_monopcm16 (l, (short *) b->data, cnt); + mono16_from_monopcm16 (l, (short *) data, cnt); } else len = 0; if (len) - m_nodes.append (new VisualNode (l, r, len, w)); + m_nodes.append (new VisualNode (l, r, len)); } void Analyzer::timeout() diff --git a/src/plugins/Visual/analyzer/analyzer.h b/src/plugins/Visual/analyzer/analyzer.h index 9b0352dae..1c0e8974e 100644 --- a/src/plugins/Visual/analyzer/analyzer.h +++ b/src/plugins/Visual/analyzer/analyzer.h @@ -36,8 +36,8 @@ class Buffer; class VisualNode { public: - VisualNode(short *l, short *r, unsigned long n, unsigned long o) - : left(l), right(r), length(n), offset(o) + VisualNode(short *l, short *r, unsigned long n) + : left(l), right(r), length(n) { // left and right are allocated and then passed to this class // the code that allocated left and right should give up all ownership @@ -50,7 +50,7 @@ public: } short *left, *right; - long length, offset; + long length; }; class Analyzer : public Visual @@ -61,7 +61,7 @@ public: Analyzer( QWidget *parent = 0); virtual ~Analyzer(); - void add(Buffer *, unsigned long, int, int); + void add(unsigned char *data, qint64 size, int chan); void clear(); void paintEvent( QPaintEvent * ); |
