[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/core MonoReader.cpp
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/core MonoReader.cpp |
Date: |
Tue, 22 May 2007 23:50:33 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/05/22 23:50:33
Modified files:
src/core : MonoReader.cpp
Log message:
third attempt to fix seek code, seems to work correctly now.....
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/MonoReader.cpp?cvsroot=traverso&r1=1.13&r2=1.14
Patches:
Index: MonoReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/MonoReader.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- MonoReader.cpp 22 May 2007 21:54:43 -0000 1.13
+++ MonoReader.cpp 22 May 2007 23:50:33 -0000 1.14
@@ -196,6 +196,7 @@
if (start != m_rbRelativeFileReadPos) {
int available = m_buffer->read_space();
+// printf("start %d, m_rbFileReadPos %d\n", start,
m_rbRelativeFileReadPos);
if ( (start > m_rbRelativeFileReadPos) &&
(m_rbRelativeFileReadPos + available) > (start + count)) {
int advance = start - m_rbRelativeFileReadPos;
if (available < advance)
@@ -203,12 +204,7 @@
m_buffer->increment_read_ptr(advance);
m_rbRelativeFileReadPos += advance;
} else {
-/* if (m_wasActivated) {
- m_wasActivated = 0;*/
-
start_resync(m_clip->get_song()->get_transport_frame());
-/* } else {
- recover_from_buffer_underrun(start);
- }*/
+ start_resync(start + (m_clip->get_track_start_frame() +
m_clip->get_source_start_frame()));
return 0;
}
}
@@ -239,7 +235,7 @@
Q_ASSERT(m_clip);
// calculate position relative to the file!
- long fileposition = position - (m_clip->get_track_start_frame() -
m_clip->get_source_start_frame());
+ long fileposition = position - (m_clip->get_track_start_frame() +
m_clip->get_source_start_frame());
if (m_rbFileReadPos == fileposition) {
// printf("ringbuffer allready at position %d\n", position);
@@ -264,6 +260,7 @@
fileposition = m_clip->get_source_start_frame() - 1;
}
+// printf("seeking to %d\n", fileposition);
m_buffer->reset();
m_rbFileReadPos = fileposition;
m_rbRelativeFileReadPos = fileposition;