@@ -109,25 +109,36 @@ Component* StreamTableModel::refreshComponentForCell (int rowNumber,
109
109
}
110
110
else if (columnId == StreamTableModel::Columns::START_TIME)
111
111
{
112
- auto * syncOffsetMonitor = dynamic_cast <SyncOffsetMonitor *> (existingComponentToUpdate);
112
+ auto * syncStartTimeMonitor = dynamic_cast <SyncStartTimeMonitor *> (existingComponentToUpdate);
113
113
114
- if (syncOffsetMonitor == nullptr )
114
+ if (syncStartTimeMonitor == nullptr )
115
115
{
116
- syncOffsetMonitor = new SyncOffsetMonitor ();
116
+ syncStartTimeMonitor = new SyncStartTimeMonitor ();
117
117
}
118
118
119
- return syncOffsetMonitor ;
119
+ return syncStartTimeMonitor ;
120
120
}
121
121
else if (columnId == StreamTableModel::Columns::LATEST_SYNC)
122
122
{
123
- auto * syncTimeMonitor = dynamic_cast <SyncTimeMonitor *> (existingComponentToUpdate);
123
+ auto * lastSyncEventMonitor = dynamic_cast <LastSyncEventMonitor *> (existingComponentToUpdate);
124
124
125
- if (syncTimeMonitor == nullptr )
125
+ if (lastSyncEventMonitor == nullptr )
126
126
{
127
- syncTimeMonitor = new SyncTimeMonitor ();
127
+ lastSyncEventMonitor = new LastSyncEventMonitor ();
128
128
}
129
129
130
- return syncTimeMonitor;
130
+ return lastSyncEventMonitor;
131
+ }
132
+ else if (columnId == StreamTableModel::Columns::SYNC_ACCURACY)
133
+ {
134
+ auto * syncAccuracyMonitor = dynamic_cast <SyncAccuracyMonitor*> (existingComponentToUpdate);
135
+
136
+ if (syncAccuracyMonitor == nullptr )
137
+ {
138
+ syncAccuracyMonitor = new SyncAccuracyMonitor ();
139
+ }
140
+
141
+ return syncAccuracyMonitor;
131
142
}
132
143
133
144
jassert (existingComponentToUpdate == nullptr );
@@ -257,12 +268,13 @@ TableListBox* StreamSelectorTable::createTableView (bool expanded)
257
268
table->getHeader ().addColumn (" ID" , StreamTableModel::Columns::PROCESSOR_ID, 30 , 30 , 30 , TableHeaderComponent::notResizableOrSortable);
258
269
table->getHeader ().addColumn (" # CH" , StreamTableModel::Columns::NUM_CHANNELS, 30 , 30 , 30 , TableHeaderComponent::notResizableOrSortable);
259
270
table->getHeader ().addColumn (" Hz" , StreamTableModel::Columns::SAMPLE_RATE, 40 , 40 , 40 , TableHeaderComponent::notResizableOrSortable);
260
- table->getHeader ().addColumn (" " , StreamTableModel::Columns::ENABLED, 15 , 15 , 15 , TableHeaderComponent::notResizableOrSortable);
271
+ // table->getHeader().addColumn ("", StreamTableModel::Columns::ENABLED, 15, 15, 15, TableHeaderComponent::notResizableOrSortable);
261
272
262
273
if (isRecordNode)
263
274
{
264
- table->getHeader ().addColumn (" Offset" , StreamTableModel::Columns::START_TIME, 50 , 50 , 50 , TableHeaderComponent::notResizableOrSortable);
265
- table->getHeader ().addColumn (" Latest Sync" , StreamTableModel::Columns::LATEST_SYNC, 70 , 70 , 70 , TableHeaderComponent::notResizableOrSortable);
275
+ table->getHeader ().addColumn (" Start" , StreamTableModel::Columns::START_TIME, 50 , 50 , 50 , TableHeaderComponent::notResizableOrSortable);
276
+ table->getHeader ().addColumn (" Tolerance" , StreamTableModel::Columns::SYNC_ACCURACY, 55 , 50 , 50 , TableHeaderComponent::notResizableOrSortable);
277
+ table->getHeader ().addColumn (" Latest Sync" , StreamTableModel::Columns::LATEST_SYNC, 55 , 60 , 60 , TableHeaderComponent::notResizableOrSortable);
266
278
}
267
279
}
268
280
@@ -285,14 +297,12 @@ void StreamSelectorTable::buttonClicked (Button* button)
285
297
{
286
298
if (button == expanderButton.get ())
287
299
{
288
- LOGD (" EXPANDER BUTTON CLICKED -- " , isRecordNode);
289
-
290
300
auto * table = createTableView (true );
291
301
292
- int width = 331 ;
302
+ int width = 316 ;
293
303
294
304
if (isRecordNode)
295
- width += 120 ;
305
+ width += 160 ;
296
306
297
307
table->setBounds (0 , 0 , width, streams.size () * 20 + 24 );
298
308
table->selectRow (viewedStreamIndex);
@@ -317,8 +327,6 @@ void StreamSelectorTable::buttonClicked (Button* button)
317
327
318
328
void StreamSelectorTable::componentBeingDeleted (Component& component)
319
329
{
320
- LOGD (" POPUP TABLE CLOSED" );
321
-
322
330
tableModel->table = streamTable.get ();
323
331
streamTable->selectRow (viewedStreamIndex);
324
332
@@ -376,18 +384,23 @@ bool StreamSelectorTable::checkStream (const DataStream* streamToCheck)
376
384
}
377
385
}
378
386
379
- SyncOffsetMonitor * StreamSelectorTable::getSyncOffsetMonitor (const DataStream* stream)
387
+ SyncStartTimeMonitor * StreamSelectorTable::getSyncStartTimeMonitor (const DataStream* stream)
380
388
{
381
389
TableListBox* currentTable = tableModel->table ;
382
- return dynamic_cast <SyncOffsetMonitor *> (currentTable->getCellComponent (StreamTableModel::Columns::START_TIME, streams.indexOf (stream)));
390
+ return dynamic_cast <SyncStartTimeMonitor *> (currentTable->getCellComponent (StreamTableModel::Columns::START_TIME, streams.indexOf (stream)));
383
391
}
384
392
385
- SyncTimeMonitor * StreamSelectorTable::getSyncTimeMonitor (const DataStream* stream)
393
+ LastSyncEventMonitor * StreamSelectorTable::getlastSyncEventMonitor (const DataStream* stream)
386
394
{
387
395
TableListBox* currentTable = tableModel->table ;
388
- return dynamic_cast <SyncTimeMonitor *> (currentTable->getCellComponent (StreamTableModel::Columns::LATEST_SYNC, streams.indexOf (stream)));
396
+ return dynamic_cast <LastSyncEventMonitor *> (currentTable->getCellComponent (StreamTableModel::Columns::LATEST_SYNC, streams.indexOf (stream)));
389
397
}
390
398
399
+ SyncAccuracyMonitor* StreamSelectorTable::getSyncAccuracyMonitor (const DataStream* stream)
400
+ {
401
+ TableListBox* currentTable = tableModel->table ;
402
+ return dynamic_cast <SyncAccuracyMonitor*> (currentTable->getCellComponent (StreamTableModel::Columns::SYNC_ACCURACY, streams.indexOf (stream)));
403
+ }
391
404
392
405
TTLMonitor* StreamSelectorTable::getTTLMonitor (const DataStream* stream)
393
406
{
@@ -403,7 +416,7 @@ DelayMonitor* StreamSelectorTable::getDelayMonitor (const DataStream* stream)
403
416
404
417
void StreamSelectorTable::startAcquisition ()
405
418
{
406
- startTimer (50 );
419
+ startTimer (20 );
407
420
}
408
421
409
422
void StreamSelectorTable::stopAcquisition ()
@@ -418,36 +431,42 @@ void StreamSelectorTable::timerCallback()
418
431
TTLMonitor* ttlMonitor = getTTLMonitor (stream);
419
432
420
433
if (ttlMonitor != nullptr )
421
- ttlMonitor->repaint ();
434
+ ttlMonitor->repaint ();
422
435
}
423
436
424
437
counter++;
425
438
426
- if (counter == 10 )
439
+ if (counter % 10 == 0 )
427
440
{
428
- counter = 0 ;
429
-
430
441
for (auto stream : streams)
431
442
{
432
443
DelayMonitor* delayMonitor = getDelayMonitor (stream);
433
444
434
445
if (delayMonitor != nullptr )
435
- delayMonitor->repaint ();
446
+ delayMonitor->repaint ();
436
447
437
- if (isRecordNode)
448
+ if (isRecordNode && counter % 20 == 0 )
438
449
{
439
- SyncOffsetMonitor* syncOffsetMonitor = getSyncOffsetMonitor (stream);
450
+ SyncStartTimeMonitor* syncStartTimeMonitor = getSyncStartTimeMonitor (stream);
440
451
441
- if (syncOffsetMonitor != nullptr )
442
- syncOffsetMonitor ->repaint ();
452
+ if (syncStartTimeMonitor != nullptr )
453
+ syncStartTimeMonitor ->repaint ();
443
454
444
- SyncTimeMonitor* syncTimeMonitor = getSyncTimeMonitor (stream);
455
+ LastSyncEventMonitor* lastSyncEventMonitor = getlastSyncEventMonitor (stream);
445
456
446
- if (syncTimeMonitor != nullptr )
447
- syncTimeMonitor->repaint ();
457
+ if (lastSyncEventMonitor != nullptr )
458
+ lastSyncEventMonitor->repaint ();
459
+
460
+ SyncAccuracyMonitor* syncAccuracyMonitor = getSyncAccuracyMonitor (stream);
461
+
462
+ if (syncAccuracyMonitor != nullptr )
463
+ syncAccuracyMonitor->repaint ();
448
464
}
449
465
}
450
466
}
467
+
468
+ if (counter > 20 )
469
+ counter = 0 ;
451
470
}
452
471
453
472
void StreamSelectorTable::setStreamEnabledState (uint16 streamId, bool isEnabled)
0 commit comments