traverso-commit
[Top][All Lists]
Advanced

[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;




reply via email to

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