comparison data/fft/FFTDataServer.cpp @ 411:52303ec15cd2

* Permit holding Shift while dragging an instant or other edited thing, to override the initial drag resistance (for #1928943 sticky time instants) * better handling of updates during progressive decode load * ready() signal from model (used by vect)
author Chris Cannam
date Mon, 19 May 2008 17:23:11 +0000
parents 115f60df1e4d
children cff476cfce77
comparison
equal deleted inserted replaced
410:9c7ebf2cd956 411:52303ec15cd2
664 if (m_fillThread) { 664 if (m_fillThread) {
665 if (m_fillThread->isFinished()) { 665 if (m_fillThread->isFinished()) {
666 delete m_fillThread; 666 delete m_fillThread;
667 m_fillThread = 0; 667 m_fillThread = 0;
668 deleteProcessingData(); 668 deleteProcessingData();
669 } else if (!m_fillThread->isRunning()) {
670 m_fillThread->start();
669 } else { 671 } else {
670 m_condition.wakeAll(); 672 m_condition.wakeAll();
671 } 673 }
672 } 674 }
673 } 675 }
1128 1130
1129 if (x >= m_width) { 1131 if (x >= m_width) {
1130 std::cerr << "WARNING: FFTDataServer::fillColumn(" << x << "): " 1132 std::cerr << "WARNING: FFTDataServer::fillColumn(" << x << "): "
1131 << "x > width (" << x << " > " << m_width << ")" 1133 << "x > width (" << x << " > " << m_width << ")"
1132 << std::endl; 1134 << std::endl;
1135 // abort(); //!!!
1133 return; 1136 return;
1134 } 1137 }
1135 1138
1136 size_t col; 1139 size_t col;
1137 #ifdef DEBUG_FFT_SERVER_FILL 1140 #ifdef DEBUG_FFT_SERVER_FILL
1313 } 1316 }
1314 1317
1315 void 1318 void
1316 FFTDataServer::FillThread::run() 1319 FFTDataServer::FillThread::run()
1317 { 1320 {
1321 #ifdef DEBUG_FFT_SERVER_FILL
1322 std::cerr << "FFTDataServer::FillThread::run()" << std::endl;
1323 #endif
1324
1318 m_extent = 0; 1325 m_extent = 0;
1319 m_completion = 0; 1326 m_completion = 0;
1320 1327
1321 while (!m_server.m_model->isReady() && !m_server.m_exiting) { 1328 while (!m_server.m_model->isReady() && !m_server.m_exiting) {
1329 #ifdef DEBUG_FFT_SERVER_FILL
1330 std::cerr << "FFTDataServer::FillThread::run(): waiting for model " << m_server.m_model << " to be ready" << std::endl;
1331 #endif
1322 sleep(1); 1332 sleep(1);
1323 } 1333 }
1324 if (m_server.m_exiting) return; 1334 if (m_server.m_exiting) return;
1325 1335
1326 size_t start = m_server.m_model->getStartFrame(); 1336 size_t start = m_server.m_model->getStartFrame();