projects
/
goodguy
/
cinelerra.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fb3e537
)
add refresh_only to scopewindow, fix alsa prefs for capture source, add python to...
author
Good Guy
<good1.2guy@gmail.com>
Tue, 28 Apr 2020 00:50:02 +0000
(18:50 -0600)
committer
Good Guy
<good1.2guy@gmail.com>
Tue, 28 Apr 2020 00:50:02 +0000
(18:50 -0600)
16 files changed:
cinelerra-5.1/blds/bld_prepare.sh
patch
|
blob
|
history
cinelerra-5.1/cinelerra/adeviceprefs.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/canvas.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/canvas.h
patch
|
blob
|
history
cinelerra-5.1/cinelerra/colorpicker.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/cwindowgui.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/cwindowgui.h
patch
|
blob
|
history
cinelerra-5.1/cinelerra/editpanel.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/mainsession.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/mainsession.h
patch
|
blob
|
history
cinelerra-5.1/cinelerra/recordscopes.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/scopewindow.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/scopewindow.h
patch
|
blob
|
history
cinelerra-5.1/cinelerra/vwindowgui.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/vwindowgui.h
patch
|
blob
|
history
cinelerra-5.1/plugins/videoscope/videoscope.C
patch
|
blob
|
history
diff --git
a/cinelerra-5.1/blds/bld_prepare.sh
b/cinelerra-5.1/blds/bld_prepare.sh
index f5201e64bf761fe43cd09858276f174a1f26bf64..8c0b3511cac6a97de41bd8bbd1f589ad77422d92 100755
(executable)
--- a/
cinelerra-5.1/blds/bld_prepare.sh
+++ b/
cinelerra-5.1/blds/bld_prepare.sh
@@
-27,7
+27,7
@@
case "$dir" in
libsndfile-devel libtheora-devel linux-firmware ivtv-firmware \
libvorbis-devel texinfo xz-devel lzma-devel cmake udftools git \
autoconf automake rpm-build jbigkit-devel libvdpau-devel libva-devel \
libsndfile-devel libtheora-devel linux-firmware ivtv-firmware \
libvorbis-devel texinfo xz-devel lzma-devel cmake udftools git \
autoconf automake rpm-build jbigkit-devel libvdpau-devel libva-devel \
- alsa-lib-devel gtk2-devel pulseaudio-libs-devel libtool
+ alsa-lib-devel gtk2-devel pulseaudio-libs-devel libtool
python
yasm=yasm-1.3.0-3.fc24.x86_64.rpm
release=http://archives.fedoraproject.org/pub/fedora/linux/releases/24
url=$release/Everything/x86_64/os/Packages/y/$yasm
yasm=yasm-1.3.0-3.fc24.x86_64.rpm
release=http://archives.fedoraproject.org/pub/fedora/linux/releases/24
url=$release/Everything/x86_64/os/Packages/y/$yasm
@@
-67,7
+67,7
@@
case "$dir" in
ilmbase-devel fftw3-devel libsndfile-devel libtheora-devel flac-devel \
libtiff-devel inkscape cmake patch libnuma-devel lzma-devel udftools git \
yasm autoconf automake rpm-build libjbig-devel libvdpau-devel libva-devel \
ilmbase-devel fftw3-devel libsndfile-devel libtheora-devel flac-devel \
libtiff-devel inkscape cmake patch libnuma-devel lzma-devel udftools git \
yasm autoconf automake rpm-build libjbig-devel libvdpau-devel libva-devel \
- gtk2-devel libusb-1_0-devel libpulse-devel libtool
+ gtk2-devel libusb-1_0-devel libpulse-devel libtool
python
if [ ! -f /usr/lib64/libtermcap.so ]; then
ln -s libtermcap.so.2 /usr/lib64/libtermcap.so
fi
if [ ! -f /usr/lib64/libtermcap.so ]; then
ln -s libtermcap.so.2 /usr/lib64/libtermcap.so
fi
@@
-81,7
+81,7
@@
case "$dir" in
fonts-dejavu libopenexr-dev festival libfftw3-dev gdb libusb-1.0-0-dev \
libdc1394-22-dev libflac-dev libjbig-dev libvdpau-dev libva-dev \
inkscape libsndfile1-dev libtheora-dev cmake udftools libxml2-utils git \
fonts-dejavu libopenexr-dev festival libfftw3-dev gdb libusb-1.0-0-dev \
libdc1394-22-dev libflac-dev libjbig-dev libvdpau-dev libva-dev \
inkscape libsndfile1-dev libtheora-dev cmake udftools libxml2-utils git \
- autoconf automake debhelper libgtk2.0-dev libpulse-dev
+ autoconf automake debhelper libgtk2.0-dev libpulse-dev
python
;;
#"ub16-10")
# apt-get -y install libx264-dev libx265-dev libvpx-dev libmjpegtools-dev
;;
#"ub16-10")
# apt-get -y install libx264-dev libx265-dev libvpx-dev libmjpegtools-dev
@@
-94,7
+94,7
@@
case "$dir" in
libdc1394-22-dev libiec61883-dev libflac-dev libjbig-dev libusb-1.0-0-dev \
libvdpau-dev libva-dev libsndfile1-dev libtheora-dev cmake udftools \
libxml2-utils git inkscape autoconf automake debhelper libgtk2.0-dev \
libdc1394-22-dev libiec61883-dev libflac-dev libjbig-dev libusb-1.0-0-dev \
libvdpau-dev libva-dev libsndfile1-dev libtheora-dev cmake udftools \
libxml2-utils git inkscape autoconf automake debhelper libgtk2.0-dev \
- libpulse-dev libtool
+ libpulse-dev libtool
python
;;
*)
echo "unknown os: $dir"
;;
*)
echo "unknown os: $dir"
diff --git
a/cinelerra-5.1/cinelerra/adeviceprefs.C
b/cinelerra-5.1/cinelerra/adeviceprefs.C
index ddc75b2f0d744e7f46b6dde35b7218ef68b97d09..78cef42dfb012925800523987fc2c844b317f57d 100644
(file)
--- a/
cinelerra-5.1/cinelerra/adeviceprefs.C
+++ b/
cinelerra-5.1/cinelerra/adeviceprefs.C
@@
-370,6
+370,7
@@
int ADevicePrefs::create_alsa_objs()
ArrayList<char*> *alsa_titles = new ArrayList<char*>;
alsa_titles->set_array_delete();
AudioALSA::list_devices(alsa_titles, 0, mode);
ArrayList<char*> *alsa_titles = new ArrayList<char*>;
alsa_titles->set_array_delete();
AudioALSA::list_devices(alsa_titles, 0, mode);
+ AudioALSA::add_pulse_devices(mode, alsa_titles, 0);
alsa_drivers = new ArrayList<BC_ListBoxItem*>;
for(int i = 0; i < alsa_titles->total; i++)
alsa_drivers = new ArrayList<BC_ListBoxItem*>;
for(int i = 0; i < alsa_titles->total; i++)
diff --git
a/cinelerra-5.1/cinelerra/canvas.C
b/cinelerra-5.1/cinelerra/canvas.C
index a1f458541cea8d8080cf4bad17b9470dfc394be9..ad5e88111deddac2d2b7deaae86bd2c49186b28e 100644
(file)
--- a/
cinelerra-5.1/cinelerra/canvas.C
+++ b/
cinelerra-5.1/cinelerra/canvas.C
@@
-733,6
+733,7
@@
void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame)
}
else
refresh_frame->transfer_from(output_frame, -1);
}
else
refresh_frame->transfer_from(output_frame, -1);
+ draw_scope(refresh_frame, 1);
}
void Canvas::process_scope(VideoDevice *video, VFrame *frame)
}
void Canvas::process_scope(VideoDevice *video, VFrame *frame)
@@
-746,7
+747,7
@@
void Canvas::process_scope(VideoDevice *video, VFrame *frame)
frame = refresh_frame;
}
if( frame )
frame = refresh_frame;
}
if( frame )
- draw_scope(frame);
+ draw_scope(frame
, 0
);
}
void Canvas::clear(int flash)
}
void Canvas::clear(int flash)
diff --git
a/cinelerra-5.1/cinelerra/canvas.h
b/cinelerra-5.1/cinelerra/canvas.h
index c3cb283140e39d9a61d02167423abbc776f77112..51b7a2010d769f0614ce7fc28dd7fcb91207c5a9 100644
(file)
--- a/
cinelerra-5.1/cinelerra/canvas.h
+++ b/
cinelerra-5.1/cinelerra/canvas.h
@@
-128,7
+128,7
@@
public:
virtual void clear(int flash=1);
// draw scope
virtual int scope_on() { return 0; }
virtual void clear(int flash=1);
// draw scope
virtual int scope_on() { return 0; }
- virtual void draw_scope(VFrame *frame) {}
+ virtual void draw_scope(VFrame *frame
, int refresh
) {}
void process_scope(VideoDevice *video, VFrame *frame);
// Get top left offset of canvas relative to output.
void process_scope(VideoDevice *video, VFrame *frame);
// Get top left offset of canvas relative to output.
diff --git
a/cinelerra-5.1/cinelerra/colorpicker.C
b/cinelerra-5.1/cinelerra/colorpicker.C
index d14b4c1f90da8044bc96efdedecd9b9f67f434fe..348817c4bac2915f44f10dd963d3e1ade73bba37 100644
(file)
--- a/
cinelerra-5.1/cinelerra/colorpicker.C
+++ b/
cinelerra-5.1/cinelerra/colorpicker.C
@@
-1364,7
+1364,7
@@
void ColorButtonPicker::update(int color, int alpha)
int ColorButtonPicker::handle_new_color(int color, int alpha)
{
color_button->lock_window("ColorButtonPicker::handle_new_color");
int ColorButtonPicker::handle_new_color(int color, int alpha)
{
color_button->lock_window("ColorButtonPicker::handle_new_color");
- color_button->update_gui(color
, alpha
);
+ color_button->update_gui(color);
color_button->unlock_window();
return color_button->handle_new_color(color, alpha);
}
color_button->unlock_window();
return color_button->handle_new_color(color, alpha);
}
diff --git
a/cinelerra-5.1/cinelerra/cwindowgui.C
b/cinelerra-5.1/cinelerra/cwindowgui.C
index 1aff4d6c172fa10c3c27cf3aedd2dd7c2c83c557..006d6ddc59f148e764d5d55d8af2eb44242fc86b 100644
(file)
--- a/
cinelerra-5.1/cinelerra/cwindowgui.C
+++ b/
cinelerra-5.1/cinelerra/cwindowgui.C
@@
-1095,14
+1095,19
@@
int CWindowCanvas::do_scroll(EDL *edl, float cursor_x, float cursor_y)
int CWindowCanvas::scope_on()
{
int CWindowCanvas::scope_on()
{
- return !gui->edit_panel->scope_dialog ? 0 :
- gui->edit_panel->scope_dialog->running();
+ EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog;
+ if( !scope_dialog || !scope_dialog->scope_gui ) return 0;
+ if( scope_dialog->scope_gui->use_refresh ) return 0;
+ return scope_dialog->running();
}
}
-void CWindowCanvas::draw_scope(VFrame *output)
+void CWindowCanvas::draw_scope(VFrame *output
, int refresh
)
{
{
- if( gui->edit_panel->scope_dialog && output )
- gui->edit_panel->scope_dialog->process(output);
+ if( !output ) return;
+ EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog;
+ if( !scope_dialog || !scope_dialog->scope_gui ) return;
+ if( scope_dialog->scope_gui->use_refresh && !refresh ) return;
+ scope_dialog->process(output);
}
void CWindowCanvas::draw_refresh(int flush)
}
void CWindowCanvas::draw_refresh(int flush)
diff --git
a/cinelerra-5.1/cinelerra/cwindowgui.h
b/cinelerra-5.1/cinelerra/cwindowgui.h
index e663c3514aec4f9509b9015f674a7f8589773e17..df1e01c806fba5f1bb000dd859265b2a353266a2 100644
(file)
--- a/
cinelerra-5.1/cinelerra/cwindowgui.h
+++ b/
cinelerra-5.1/cinelerra/cwindowgui.h
@@
-305,7
+305,7
@@
public:
void draw_crophandle(int x, int y);
int set_fullscreen(int on, int unlock);
int scope_on();
void draw_crophandle(int x, int y);
int set_fullscreen(int on, int unlock);
int scope_on();
- void draw_scope(VFrame *output);
+ void draw_scope(VFrame *output
, int refresh
);
// Draw the camera/projector overlay in different colors.
void draw_outlines(int do_camera);
// Draw the camera/projector overlay in different colors.
void draw_outlines(int do_camera);
diff --git
a/cinelerra-5.1/cinelerra/editpanel.C
b/cinelerra-5.1/cinelerra/editpanel.C
index 03eb9e483e5b2d3f925037d7f1bf2b721da39f15..2466c1502cf412f1a06323763e5c8dcc2e18bbba 100644
(file)
--- a/
cinelerra-5.1/cinelerra/editpanel.C
+++ b/
cinelerra-5.1/cinelerra/editpanel.C
@@
-1224,6
+1224,7
@@
void EditPanelScopeGUI::create_objects()
use_wave_gain = session->use_wave_gain;
use_vect_gain = session->use_vect_gain;
use_smooth = session->use_smooth;
use_wave_gain = session->use_wave_gain;
use_vect_gain = session->use_vect_gain;
use_smooth = session->use_smooth;
+ use_refresh = session->use_refresh;
use_graticule = session->use_graticule;
ScopeGUI::create_objects();
}
use_graticule = session->use_graticule;
ScopeGUI::create_objects();
}
@@
-1239,6
+1240,7
@@
void EditPanelScopeGUI::toggle_event()
session->use_wave_gain = use_wave_gain;
session->use_vect_gain = use_vect_gain;
session->use_smooth = use_smooth;
session->use_wave_gain = use_wave_gain;
session->use_vect_gain = use_vect_gain;
session->use_smooth = use_smooth;
+ session->use_refresh = use_refresh;
session->use_graticule = use_graticule;
}
session->use_graticule = use_graticule;
}
diff --git
a/cinelerra-5.1/cinelerra/mainsession.C
b/cinelerra-5.1/cinelerra/mainsession.C
index 58ff172479581598d1a40bf0777e6d32532e3ecc..555a872e0b34667cb2e6322f61a9343f0a667200 100644
(file)
--- a/
cinelerra-5.1/cinelerra/mainsession.C
+++ b/
cinelerra-5.1/cinelerra/mainsession.C
@@
-109,6
+109,7
@@
MainSession::MainSession(MWindow *mwindow)
use_wave_gain = 5;
use_vect_gain = 5;
use_smooth = 0;
use_wave_gain = 5;
use_vect_gain = 5;
use_smooth = 0;
+ use_refresh = 0;
use_graticule = 0;
afolders_w = 0;
show_vwindow = show_awindow = show_cwindow = show_gwindow = show_lwindow = 0;
use_graticule = 0;
afolders_w = 0;
show_vwindow = show_awindow = show_cwindow = show_gwindow = show_lwindow = 0;
@@
-328,6
+329,7
@@
void MainSession::default_window_positions(int window_config)
use_wave_gain = 5;
use_vect_gain = 5;
use_smooth = 1;
use_wave_gain = 5;
use_vect_gain = 5;
use_smooth = 1;
+ use_refresh = 0;
use_graticule = 0;
if(mwindow->edl)
use_graticule = 0;
if(mwindow->edl)
@@
-446,6
+448,7
@@
int MainSession::load_defaults(BC_Hash *defaults)
use_wave_gain = defaults->get("USE_WAVE_GAIN", use_wave_gain);
use_vect_gain = defaults->get("USE_VECT_GAIN", use_vect_gain);
use_smooth = defaults->get("USE_SMOOTH", use_smooth);
use_wave_gain = defaults->get("USE_WAVE_GAIN", use_wave_gain);
use_vect_gain = defaults->get("USE_VECT_GAIN", use_vect_gain);
use_smooth = defaults->get("USE_SMOOTH", use_smooth);
+ use_refresh = defaults->get("USE_REFRESH", use_refresh);
use_graticule = defaults->get("USE_GRATICULE", use_graticule);
//printf("MainSession::load_defaults 1\n");
use_graticule = defaults->get("USE_GRATICULE", use_graticule);
//printf("MainSession::load_defaults 1\n");
@@
-575,6
+578,7
@@
int MainSession::save_defaults(BC_Hash *defaults)
defaults->update("USE_WAVE_GAIN", use_wave_gain);
defaults->update("USE_VECT_GAIN", use_vect_gain);
defaults->update("USE_SMOOTH", use_smooth);
defaults->update("USE_WAVE_GAIN", use_wave_gain);
defaults->update("USE_VECT_GAIN", use_vect_gain);
defaults->update("USE_SMOOTH", use_smooth);
+ defaults->update("USE_REFRESH", use_refresh);
defaults->update("USE_GRATICULE", use_graticule);
defaults->update("ABINS_W", afolders_w);
defaults->update("USE_GRATICULE", use_graticule);
defaults->update("ABINS_W", afolders_w);
diff --git
a/cinelerra-5.1/cinelerra/mainsession.h
b/cinelerra-5.1/cinelerra/mainsession.h
index 64796f8bff060b368096e99949b6358ea8ee7a8d..2ed9e5b5adbd134a9c586d929269ae9560dbb6af 100644
(file)
--- a/
cinelerra-5.1/cinelerra/mainsession.h
+++ b/
cinelerra-5.1/cinelerra/mainsession.h
@@
-175,6
+175,7
@@
public:
int use_wave_gain;
int use_vect_gain;
int use_smooth;
int use_wave_gain;
int use_vect_gain;
int use_smooth;
+ int use_refresh;
int use_graticule;
int afolders_w;
int use_graticule;
int afolders_w;
diff --git
a/cinelerra-5.1/cinelerra/recordscopes.C
b/cinelerra-5.1/cinelerra/recordscopes.C
index 3de960bae841198f0092e7352c05e30ecc80a724..55f5a0c3a01ac6fc7ea3a19166293505a6320216 100644
(file)
--- a/
cinelerra-5.1/cinelerra/recordscopes.C
+++ b/
cinelerra-5.1/cinelerra/recordscopes.C
@@
-120,6
+120,7
@@
void RecordScopeGUI::create_objects()
use_wave_gain = mwindow->session->use_wave_gain;
use_vect_gain = mwindow->session->use_vect_gain;
use_smooth = mwindow->session->use_smooth;
use_wave_gain = mwindow->session->use_wave_gain;
use_vect_gain = mwindow->session->use_vect_gain;
use_smooth = mwindow->session->use_smooth;
+ use_refresh = -1;
use_graticule = mwindow->session->use_graticule;
ScopeGUI::create_objects();
}
use_graticule = mwindow->session->use_graticule;
ScopeGUI::create_objects();
}
@@
-135,6
+136,7
@@
void RecordScopeGUI::toggle_event()
mwindow->session->use_wave_gain = use_wave_gain;
mwindow->session->use_vect_gain = use_vect_gain;
mwindow->session->use_smooth = use_smooth;
mwindow->session->use_wave_gain = use_wave_gain;
mwindow->session->use_vect_gain = use_vect_gain;
mwindow->session->use_smooth = use_smooth;
+ mwindow->session->use_refresh = 0;
mwindow->session->use_graticule = use_graticule;
}
mwindow->session->use_graticule = use_graticule;
}
diff --git
a/cinelerra-5.1/cinelerra/scopewindow.C
b/cinelerra-5.1/cinelerra/scopewindow.C
index 9e05c15a4be6b5c827342778215f427a5d191b0a..283564bc6c4915a9a95320c7082dc820df8e565a 100644
(file)
--- a/
cinelerra-5.1/cinelerra/scopewindow.C
+++ b/
cinelerra-5.1/cinelerra/scopewindow.C
@@
-453,6
+453,7
@@
void ScopeGUI::reset()
data_frame = 0;
frame_w = 1;
use_smooth = 1;
data_frame = 0;
frame_w = 1;
use_smooth = 1;
+ use_refresh = 0;
use_wave_gain = 5;
use_vect_gain = 5;
use_hist = 0;
use_wave_gain = 5;
use_vect_gain = 5;
use_hist = 0;
@@
-493,7
+494,10
@@
void ScopeGUI::create_objects()
scope_menu->create_objects();
int x1 = x + scope_menu->get_w() + 2*margin;
add_subwindow(smooth = new ScopeSmooth(this, x1, y));
scope_menu->create_objects();
int x1 = x + scope_menu->get_w() + 2*margin;
add_subwindow(smooth = new ScopeSmooth(this, x1, y));
-
+ if( use_refresh >= 0 ) {
+ y += smooth->get_h() + margin;
+ add_subwindow(refresh = new ScopeRefresh(this, x, y));
+ }
create_panels();
update_toggles();
show_window();
create_panels();
update_toggles();
show_window();
@@
-1442,3
+1446,16
@@
int ScopeSmooth::handle_event()
return 1;
}
return 1;
}
+ScopeRefresh::ScopeRefresh(ScopeGUI *gui, int x, int y)
+ : BC_CheckBox(x, y, gui->use_refresh, _("Refresh only"))
+{
+ this->gui = gui;
+}
+
+int ScopeRefresh::handle_event()
+{
+ gui->use_refresh = get_value();
+ gui->toggle_event();
+ return 1;
+}
+
diff --git
a/cinelerra-5.1/cinelerra/scopewindow.h
b/cinelerra-5.1/cinelerra/scopewindow.h
index 7258374b7680edd89a0fa56c28c2f53cfdc65c3b..1f73fc363b2b24b91b944b7b8f7a7f1dcd1de802 100644
(file)
--- a/
cinelerra-5.1/cinelerra/scopewindow.h
+++ b/
cinelerra-5.1/cinelerra/scopewindow.h
@@
-257,6
+257,14
@@
public:
ScopeGUI *gui;
};
ScopeGUI *gui;
};
+class ScopeRefresh : public BC_CheckBox
+{
+public:
+ ScopeRefresh(ScopeGUI *gui, int x, int y);
+ int handle_event();
+ ScopeGUI *gui;
+};
+
class ScopeGUI : public PluginClientWindow
{
class ScopeGUI : public PluginClientWindow
{
@@
-303,6
+311,7
@@
public:
ScopeVectSlider *vect_slider;
ScopeVectGrats *vect_grats;
ScopeSmooth *smooth;
ScopeVectSlider *vect_slider;
ScopeVectGrats *vect_grats;
ScopeSmooth *smooth;
+ ScopeRefresh *refresh;
VFrame *grat_image;
OverlayFrame *overlay;
VFrame *grat_image;
OverlayFrame *overlay;
@@
-321,7
+330,7
@@
public:
int use_hist_parade, use_wave_parade;
int bins[HIST_SECTIONS][TOTAL_BINS];
int use_hist_parade, use_wave_parade;
int bins[HIST_SECTIONS][TOTAL_BINS];
- int frame_w, use_smooth;
+ int frame_w, use_smooth
, use_refresh
;
int use_wave_gain, use_vect_gain;
};
int use_wave_gain, use_vect_gain;
};
diff --git
a/cinelerra-5.1/cinelerra/vwindowgui.C
b/cinelerra-5.1/cinelerra/vwindowgui.C
index 8370b4aaf555af96ded1b6967d7264ef29af83e3..8a3e5888602f2fc0787d511bb7fee09b9de9a981 100644
(file)
--- a/
cinelerra-5.1/cinelerra/vwindowgui.C
+++ b/
cinelerra-5.1/cinelerra/vwindowgui.C
@@
-829,14
+829,19
@@
void VWindowCanvas::close_source()
int VWindowCanvas::scope_on()
{
int VWindowCanvas::scope_on()
{
- return !gui->edit_panel->scope_dialog ? 0 :
- gui->edit_panel->scope_dialog->running();
+ EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog;
+ if( !scope_dialog || !scope_dialog->scope_gui ) return 0;
+ if( scope_dialog->scope_gui->use_refresh ) return 0;
+ return scope_dialog->running();
}
}
-void VWindowCanvas::draw_scope(VFrame *output)
+void VWindowCanvas::draw_scope(VFrame *output
, int refresh
)
{
{
- if( gui->edit_panel->scope_dialog && output )
- gui->edit_panel->scope_dialog->process(output);
+ if( !output ) return;
+ EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog;
+ if( !scope_dialog || !scope_dialog->scope_gui ) return;
+ if( scope_dialog->scope_gui->use_refresh && !refresh ) return;
+ scope_dialog->process(output);
}
void VWindowCanvas::draw_refresh(int flush)
}
void VWindowCanvas::draw_refresh(int flush)
diff --git
a/cinelerra-5.1/cinelerra/vwindowgui.h
b/cinelerra-5.1/cinelerra/vwindowgui.h
index a62a3015542954b4a9adcec9c39a8fd309f32c11..d56cc052b2b2910c3c74b46897901e5e2b8907a6 100644
(file)
--- a/
cinelerra-5.1/cinelerra/vwindowgui.h
+++ b/
cinelerra-5.1/cinelerra/vwindowgui.h
@@
-115,7
+115,7
@@
public:
void create_objects(EDL *edl);
void zoom_resize_window(float percentage);
int scope_on();
void create_objects(EDL *edl);
void zoom_resize_window(float percentage);
int scope_on();
- void draw_scope(VFrame *output);
+ void draw_scope(VFrame *output
, int refresh
);
void draw_refresh(int flush = 1);
int need_overlays();
void draw_overlays();
void draw_refresh(int flush = 1);
int need_overlays();
void draw_overlays();
diff --git
a/cinelerra-5.1/plugins/videoscope/videoscope.C
b/cinelerra-5.1/plugins/videoscope/videoscope.C
index f831a80919fb1110f48854c9bcb178815657ee51..533f481216670e7f5c01c7221b1a60c0ba2a287f 100644
(file)
--- a/
cinelerra-5.1/plugins/videoscope/videoscope.C
+++ b/
cinelerra-5.1/plugins/videoscope/videoscope.C
@@
-109,6
+109,7
@@
void VideoScopeWindow::create_objects()
use_wave_gain = plugin->use_wave_gain;
use_vect_gain = plugin->use_vect_gain;
use_smooth = plugin->use_smooth;
use_wave_gain = plugin->use_wave_gain;
use_vect_gain = plugin->use_vect_gain;
use_smooth = plugin->use_smooth;
+ use_refresh = -1;
use_graticule = plugin->use_graticule;
ScopeGUI::create_objects();
use_graticule = plugin->use_graticule;
ScopeGUI::create_objects();