[Top][All Lists]
[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;