From 1cabb60b318fd831458f937b240b207c21a28ceb Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Tue, 15 Apr 2014 14:14:52 +0200 Subject: Make CanvasToolListen work again with offsets using the mouse. Clean up Player code some more. --- dgedit/player.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'dgedit/player.h') diff --git a/dgedit/player.h b/dgedit/player.h index 0289cd5..1aa4426 100644 --- a/dgedit/player.h +++ b/dgedit/player.h @@ -37,7 +37,7 @@ class Player : public QThread { Q_OBJECT public: - Player(Canvas *canvas); // TODO: Don't use canvas pointer here. Instead introduce setData slot or similar. + Player(); ~Player(); void run(); @@ -49,6 +49,11 @@ public: volatile size_t pos; public slots: + /** + * Assign PCM data to the player. + */ + void setPcmData(float *data, size_t num_samples); + /** * Set gain scalar. * This value is multiplied with each sample before it is played. @@ -62,6 +67,11 @@ public slots: */ void setGainDB(double gain_db); + /** + * Set player position as sample offset. + */ + void setPosition(size_t position); + signals: /** * The absolute maximum of samples seen since last update. @@ -83,7 +93,9 @@ private slots: private: ao_device *dev; - Canvas *canvas; + + float *pcm_data; + size_t pcm_size; QTimer report_timer; -- cgit v1.2.3