traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src/core DiskIO.cpp DiskIO.h ReadSourc...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/core DiskIO.cpp DiskIO.h ReadSourc...
Date: Sat, 24 Nov 2007 15:56:15 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/11/24 15:56:15

Modified files:
        src/core       : DiskIO.cpp DiskIO.h ReadSource.cpp 

Log message:
        * add missing include
        * only process ReadSources when they are in transport range +/- 3 
seconds.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/DiskIO.cpp?cvsroot=traverso&r1=1.52&r2=1.53
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/DiskIO.h?cvsroot=traverso&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ReadSource.cpp?cvsroot=traverso&r1=1.81&r2=1.82

Patches:
Index: DiskIO.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/DiskIO.cpp,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -b -r1.52 -r1.53
--- DiskIO.cpp  24 Nov 2007 14:02:07 -0000      1.52
+++ DiskIO.cpp  24 Nov 2007 15:56:15 -0000      1.53
@@ -225,7 +225,9 @@
 // Internal function
 void DiskIO::do_work( )
 {
-//     Q_ASSERT_X(m_song->threadId != QThread::currentThreadId (), 
"DiskIO::do_work", "Error, running in gui thread!!!!!");
+#if defined (THREAD_CHECK)
+       Q_ASSERT_X(m_song->threadId != QThread::currentThreadId (), 
"DiskIO::do_work", "Error, running in gui thread!!!!!");
+#endif
 
        QMutexLocker locker(&mutex);
        

Index: DiskIO.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/DiskIO.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- DiskIO.h    24 Nov 2007 14:02:07 -0000      1.25
+++ DiskIO.h    24 Nov 2007 15:56:15 -0000      1.26
@@ -25,6 +25,7 @@
 #include <QMutex>
 #include <QList>
 #include <QTimer>
+#include <QPair>
 
 #include "defines.h"
 

Index: ReadSource.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/ReadSource.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -b -r1.81 -r1.82
--- ReadSource.cpp      24 Nov 2007 14:02:07 -0000      1.81
+++ ReadSource.cpp      24 Nov 2007 15:56:15 -0000      1.82
@@ -598,17 +598,21 @@
        int freespace = m_buffers.at(0)->write_space();
        
 //     printf("m_rbFileReadPos, m_length %lld, %lld\n", 
m_rbFileReadPos.universal_frame(), m_length.universal_frame());
+       TimeRef transport = m_clip->get_song()->get_transport_location();
+       TimeRef syncstartlocation = m_clip->get_track_start_location();
+       bool transportBeforeSyncStartLocation = transport < (syncstartlocation 
- (3 * UNIVERSAL_SAMPLE_RATE));
+       bool transportAfterClipEndLocation = transport > 
(m_clip->get_track_end_location() + (3 * UNIVERSAL_SAMPLE_RATE));
        
-       if (m_rbFileReadPos >= m_length || !m_active) {
+       if (m_rbFileReadPos >= m_length || !m_active || 
transportBeforeSyncStartLocation || transportAfterClipEndLocation) {
                m_bufferstatus->fillStatus =  100;
                freespace = 0;
+               m_bufferstatus->needSync = false;
        } else {
                m_bufferstatus->fillStatus = (int) (((float)freespace / 
m_bufferSize) * 100);
+               m_bufferstatus->needSync = m_needSync;
        }
        
        m_bufferstatus->bufferUnderRun = m_bufferUnderRunDetected;
-       m_bufferstatus->needSync = m_needSync;
-
        m_bufferstatus->priority = (int) (freespace / m_chunkSize);
        
        return m_bufferstatus;




reply via email to

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