traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso/src engine/AudioDevice.cpp engine/Audi...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src engine/AudioDevice.cpp engine/Audi...
Date: Tue, 16 Oct 2007 13:43:00 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/10/16 13:43:00

Modified files:
        src/engine     : AudioDevice.cpp AudioDevice.h 
        src/traverso/songcanvas: Cursors.cpp 

Log message:
        * compensate playhead position for latencies introduced by buffers

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/AudioDevice.cpp?cvsroot=traverso&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/AudioDevice.h?cvsroot=traverso&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/Cursors.cpp?cvsroot=traverso&r1=1.29&r2=1.30

Patches:
Index: engine/AudioDevice.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/engine/AudioDevice.cpp,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- engine/AudioDevice.cpp      12 Oct 2007 08:52:13 -0000      1.41
+++ engine/AudioDevice.cpp      16 Oct 2007 13:43:00 -0000      1.42
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: AudioDevice.cpp,v 1.41 2007/10/12 08:52:13 r_sijrier Exp $
+$Id: AudioDevice.cpp,v 1.42 2007/10/16 13:43:00 r_sijrier Exp $
 */
 
 #include "AudioDevice.h"
@@ -852,5 +852,8 @@
 }
 #endif
 
-//eof
+TimeRef AudioDevice::get_buffer_latency()
+{
+       return TimeRef(m_bufferSize, m_rate);
+}
 

Index: engine/AudioDevice.h
===================================================================
RCS file: /sources/traverso/traverso/src/engine/AudioDevice.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- engine/AudioDevice.h        12 Oct 2007 08:52:13 -0000      1.22
+++ engine/AudioDevice.h        16 Oct 2007 13:43:00 -0000      1.23
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: AudioDevice.h,v 1.22 2007/10/12 08:52:13 r_sijrier Exp $
+$Id: AudioDevice.h,v 1.23 2007/10/16 13:43:00 r_sijrier Exp $
 */
 
 #ifndef AUDIODEVICE_H
@@ -102,6 +102,7 @@
 
        uint get_sample_rate() const;
        uint get_bit_depth() const;
+       TimeRef get_buffer_latency();
 
        /**
         * 

Index: traverso/songcanvas/Cursors.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/Cursors.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- traverso/songcanvas/Cursors.cpp     13 Oct 2007 20:53:02 -0000      1.29
+++ traverso/songcanvas/Cursors.cpp     16 Oct 2007 13:43:00 -0000      1.30
@@ -22,6 +22,7 @@
 #include "Cursors.h"
 #include "SongView.h"
 #include "ClipsViewPort.h"
+#include "AudioDevice.h"
 #include <QPen>
 #include <Song.h>
 #include <Config.h>
@@ -128,6 +129,8 @@
 void PlayHead::update_position()
 {
        QPointF newPos(m_song->get_transport_location() / 
m_sv->timeref_scalefactor, 1);
+       qreal playBufferTimePositionCompensation = 
audiodevice().get_buffer_latency() / m_sv->timeref_scalefactor;
+       newPos.setX(newPos.x() - playBufferTimePositionCompensation);
        
        if (int(newPos.x()) != int(pos().x()) && (m_animation.state() != 
QTimeLine::Running)) {
                setPos(newPos);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]