@@ -1181,7 +1181,8 @@ void HistogramArea::update(
|
||||
bhistRaw = histBlueRaw;
|
||||
break;
|
||||
case ScopeType::PARADE:
|
||||
case ScopeType::WAVEFORM:
|
||||
case ScopeType::WAVEFORM: {
|
||||
MyWriterLock wave_lock(wave_mutex);
|
||||
waveform_scale = waveformScale;
|
||||
rwave = waveformRed;
|
||||
gwave = waveformGreen;
|
||||
@@ -1189,6 +1190,7 @@ void HistogramArea::update(
|
||||
lwave = waveformLuma;
|
||||
parade_buffer_r_dirty = parade_buffer_g_dirty = parade_buffer_b_dirty = wave_buffer_dirty = wave_buffer_luma_dirty = true;
|
||||
break;
|
||||
}
|
||||
case ScopeType::VECTORSCOPE_HS:
|
||||
vectorscope_scale = vectorscopeScale;
|
||||
vect_hs = vectorscopeHS;
|
||||
@@ -1313,6 +1315,7 @@ void HistogramArea::updateBackBuffer ()
|
||||
|
||||
cr->unset_dash();
|
||||
|
||||
MyReaderLock wave_lock(wave_mutex);
|
||||
if (valid && (scopeType == ScopeType::HISTOGRAM || scopeType == ScopeType::HISTOGRAM_RAW)) {
|
||||
bool rawMode = scopeType == ScopeType::HISTOGRAM_RAW;
|
||||
|
||||
@@ -1429,6 +1432,7 @@ void HistogramArea::updateBackBuffer ()
|
||||
} else if (scopeType == ScopeType::VECTORSCOPE_HC || scopeType == ScopeType::VECTORSCOPE_HS) {
|
||||
drawVectorscope(cr, w, h);
|
||||
}
|
||||
wave_lock.release();
|
||||
|
||||
// Draw the frame's border
|
||||
style->render_frame(cr, 0, 0, surface->get_width(), surface->get_height());
|
||||
|
@@ -169,6 +169,7 @@ protected:
|
||||
bool vect_hc_buffer_dirty, vect_hs_buffer_dirty;
|
||||
int waveform_scale;
|
||||
array2D<int> rwave, gwave, bwave, lwave;
|
||||
MyRWMutex wave_mutex;
|
||||
std::vector<unsigned char> parade_buffer_r;
|
||||
std::vector<unsigned char> parade_buffer_g;
|
||||
std::vector<unsigned char> parade_buffer_b;
|
||||
|
Reference in New Issue
Block a user