projects
/
goodguy
/
history.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a95193c
)
refresh frame fix, dblclk proxy viewer fix, vicon refresh fix for awdw resize, fix...
author
Good Guy
<good1.2guy@gmail.com>
Thu, 23 Aug 2018 00:41:12 +0000
(18:41 -0600)
committer
Good Guy
<good1.2guy@gmail.com>
Thu, 23 Aug 2018 00:41:12 +0000
(18:41 -0600)
cinelerra-5.1/bld.sh
patch
|
blob
|
history
cinelerra-5.1/cinelerra/awindowgui.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/canvas.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/cwindowgui.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/timebar.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/timebar.h
patch
|
blob
|
history
cinelerra-5.1/cinelerra/vtimebar.h
patch
|
blob
|
history
cinelerra-5.1/guicast/vicon.C
patch
|
blob
|
history
diff --git
a/cinelerra-5.1/bld.sh
b/cinelerra-5.1/bld.sh
index 7c8837bfbf9a6b4443f93c38c35299aad8851b4d..b8a80d6bbaaa2d1b31b41ca84f46b7375a986367 100755
(executable)
--- a/
cinelerra-5.1/bld.sh
+++ b/
cinelerra-5.1/bld.sh
@@
-1,6
+1,6
@@
#!/bin/bash
( ./autogen.sh
#!/bin/bash
( ./autogen.sh
- ./configure --with-single-user
--with-booby
+ ./configure --with-single-user
make && make install ) 2>&1 | tee log
mv Makefile Makefile.cfg
cp Makefile.devel Makefile
make && make install ) 2>&1 | tee log
mv Makefile Makefile.cfg
cp Makefile.devel Makefile
diff --git
a/cinelerra-5.1/cinelerra/awindowgui.C
b/cinelerra-5.1/cinelerra/awindowgui.C
index 409ba26ff35884b54f1014c172628ac44d7be3ba..9f966f75f6a8116087033dd530b7abd62979aa85 100644
(file)
--- a/
cinelerra-5.1/cinelerra/awindowgui.C
+++ b/
cinelerra-5.1/cinelerra/awindowgui.C
@@
-173,12
+173,12
@@
int64_t AssetVIcon::set_seq_no(int64_t no)
int AssetVIcon::get_vx()
{
BC_ListBox *lbox = picon->gui->asset_list;
int AssetVIcon::get_vx()
{
BC_ListBox *lbox = picon->gui->asset_list;
- return lbox->get_item_x(picon);
+ return lbox->get_item_x(picon)
+ ICON_MARGIN
;
}
int AssetVIcon::get_vy()
{
BC_ListBox *lbox = picon->gui->asset_list;
}
int AssetVIcon::get_vy()
{
BC_ListBox *lbox = picon->gui->asset_list;
- return lbox->get_item_y(picon);
+ return lbox->get_item_y(picon)
+ ICON_MARGIN
;
}
void AssetVIcon::load_audio()
}
void AssetVIcon::load_audio()
@@
-1136,6
+1136,10
@@
int AWindowGUI::resize_event(int w, int h)
// view->reposition_window(x, y);
BC_WindowBase::resize_event(w, h);
// view->reposition_window(x, y);
BC_WindowBase::resize_event(w, h);
+ int x0 = 0, x1 = asset_list->get_w();
+ int y0 = asset_list->get_title_h();
+ int y1 = asset_list->get_h();
+ vicon_thread->set_drawing_area(x0,y0, x1,y1);
return 1;
}
return 1;
}
@@
-1672,7
+1676,7
@@
EDL *AWindowGUI::collect_proxy(Indexable *indexable)
int proxy_scale = mwindow->edl->session->proxy_scale;
ProxyRender::from_proxy_path(path, proxy_asset, proxy_scale);
Asset *unproxy_asset = mwindow->edl->assets->get_asset(path);
int proxy_scale = mwindow->edl->session->proxy_scale;
ProxyRender::from_proxy_path(path, proxy_asset, proxy_scale);
Asset *unproxy_asset = mwindow->edl->assets->get_asset(path);
- if( !unproxy_asset || !unproxy_asset->
channel
s ) return 0;
+ if( !unproxy_asset || !unproxy_asset->
layer
s ) return 0;
// make a clip from proxy video tracks and unproxy audio tracks
EDL *proxy_edl = new EDL(mwindow->edl);
proxy_edl->create_objects();
// make a clip from proxy video tracks and unproxy audio tracks
EDL *proxy_edl = new EDL(mwindow->edl);
proxy_edl->create_objects();
diff --git
a/cinelerra-5.1/cinelerra/canvas.C
b/cinelerra-5.1/cinelerra/canvas.C
index 85d4e6f51ce453286e7d2636fbf22d00d021d7ce..0d738c808de59187730041c66cfcbb245e841033 100644
(file)
--- a/
cinelerra-5.1/cinelerra/canvas.C
+++ b/
cinelerra-5.1/cinelerra/canvas.C
@@
-857,9
+857,11
@@
void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame)
if( use_opengl )
best_color_model = BC_RGB888;
if( use_opengl )
best_color_model = BC_RGB888;
+ int out_w = output_frame->get_w();
+ int out_h = output_frame->get_h();
if( refresh_frame &&
if( refresh_frame &&
- (refresh_frame->get_w() !=
device->
out_w ||
- refresh_frame->get_h() !=
device->
out_h ||
+ (refresh_frame->get_w() != out_w ||
+ refresh_frame->get_h() != out_h ||
refresh_frame->get_color_model() != best_color_model ) ) {
// x11 direct render uses BC_BGR8888, use tranfer_from to remap
delete refresh_frame; refresh_frame = 0;
refresh_frame->get_color_model() != best_color_model ) ) {
// x11 direct render uses BC_BGR8888, use tranfer_from to remap
delete refresh_frame; refresh_frame = 0;
@@
-867,7
+869,7
@@
void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame)
if( !refresh_frame ) {
refresh_frame =
if( !refresh_frame ) {
refresh_frame =
- new VFrame(
device->out_w, device->
out_h, best_color_model);
+ new VFrame(
out_w,
out_h, best_color_model);
}
if( use_opengl ) {
}
if( use_opengl ) {
@@
-879,7
+881,7
@@
void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame)
get_canvas()->lock_window(" Canvas::output_refresh");
}
else
get_canvas()->lock_window(" Canvas::output_refresh");
}
else
- refresh_frame->
transfer
_from(output_frame);
+ refresh_frame->
copy
_from(output_frame);
}
}
diff --git
a/cinelerra-5.1/cinelerra/cwindowgui.C
b/cinelerra-5.1/cinelerra/cwindowgui.C
index 2b11f38b4a36f314eb0e7ab7adb662ea29c89405..c51eb0c3d155fc8bcef72a316efbc8521689849d 100644
(file)
--- a/
cinelerra-5.1/cinelerra/cwindowgui.C
+++ b/
cinelerra-5.1/cinelerra/cwindowgui.C
@@
-1091,12
+1091,13
@@
void CWindowCanvas::draw_refresh(int flush)
(int)out_x1,
(int)out_y1,
(int)(out_x2 - out_x1),
(int)out_x1,
(int)out_y1,
(int)(out_x2 - out_x1),
- (int)(out_y2 - out_y1),
- (int)in_x1,
- (int)in_y1,
- (int)(in_x2 - in_x1),
- (int)(in_y2 - in_y1),
- 0);
+ (int)(out_y2 - out_y1));
+// if refresh_frame session geometry...
+// (int)in_x1,
+// (int)in_y1,
+// (int)(in_x2 - in_x1),
+// (int)(in_y2 - in_y1),
+// 0);
}
}
else
}
}
else
diff --git
a/cinelerra-5.1/cinelerra/timebar.C
b/cinelerra-5.1/cinelerra/timebar.C
index 8d8bfc7c6a58f7deeac606fba58980831e092370..e386bea54120c4ffb2e6d769aa3a2105ba29a769 100644
(file)
--- a/
cinelerra-5.1/cinelerra/timebar.C
+++ b/
cinelerra-5.1/cinelerra/timebar.C
@@
-24,6
+24,7
@@
#include "cplayback.h"
#include "cursors.h"
#include "cwindow.h"
#include "cplayback.h"
#include "cursors.h"
#include "cwindow.h"
+#include "cwindowgui.h"
#include "edl.h"
#include "edlsession.h"
#include "filexml.h"
#include "edl.h"
#include "edlsession.h"
#include "filexml.h"
@@
-205,12
+206,12
@@
int64_t TimeBar::position_to_pixel(double position)
double TimeBar::pixel_to_position(int pixel)
{
if( pane ) {
double TimeBar::pixel_to_position(int pixel)
{
if( pane ) {
- pixel +=
mwindow->edl
->local_session->view_start[pane->number];
+ pixel +=
get_edl()
->local_session->view_start[pane->number];
}
return (double)pixel *
}
return (double)pixel *
-
mwindow->edl
->local_session->zoom_sample /
-
mwindow->edl
->session->sample_rate;
+
get_edl()
->local_session->zoom_sample /
+
get_edl()
->session->sample_rate;
}
void TimeBar::update_labels()
}
void TimeBar::update_labels()
@@
-277,31
+278,33
@@
void TimeBar::update_labels()
void TimeBar::update_highlights()
{
void TimeBar::update_highlights()
{
+ EDL *edl = get_edl();
+ if( !edl ) return;
for( int i = 0; i < labels.total; i++ ) {
LabelGUI *label = labels.values[i];
for( int i = 0; i < labels.total; i++ ) {
LabelGUI *label = labels.values[i];
- if(
mwindow->
edl->equivalent(label->position,
-
mwindow->
edl->local_session->get_selectionstart(1)) ||
-
mwindow->
edl->equivalent(label->position,
-
mwindow->
edl->local_session->get_selectionend(1)) ) {
+ if( edl->equivalent(label->position,
+ edl->local_session->get_selectionstart(1)) ||
+ edl->equivalent(label->position,
+ edl->local_session->get_selectionend(1)) ) {
if( !label->get_value() ) label->update(1);
}
else
if( label->get_value() ) label->update(0);
}
if( !label->get_value() ) label->update(1);
}
else
if( label->get_value() ) label->update(0);
}
- if(
mwindow->edl->equivalent(mwindow->
edl->local_session->get_inpoint(),
-
mwindow->
edl->local_session->get_selectionstart(1)) ||
-
mwindow->edl->equivalent(mwindow->
edl->local_session->get_inpoint(),
-
mwindow->
edl->local_session->get_selectionend(1)) ) {
+ if(
edl->equivalent(
edl->local_session->get_inpoint(),
+ edl->local_session->get_selectionstart(1)) ||
+
edl->equivalent(
edl->local_session->get_inpoint(),
+ edl->local_session->get_selectionend(1)) ) {
if( in_point ) in_point->update(1);
}
else
if( in_point ) in_point->update(0);
if( in_point ) in_point->update(1);
}
else
if( in_point ) in_point->update(0);
- if(
mwindow->edl->equivalent(mwindow->
edl->local_session->get_outpoint(),
-
mwindow->
edl->local_session->get_selectionstart(1)) ||
-
mwindow->edl->equivalent(mwindow->
edl->local_session->get_outpoint(),
-
mwindow->
edl->local_session->get_selectionend(1)) ) {
+ if(
edl->equivalent(
edl->local_session->get_outpoint(),
+ edl->local_session->get_selectionstart(1)) ||
+
edl->equivalent(
edl->local_session->get_outpoint(),
+ edl->local_session->get_selectionend(1)) ) {
if( out_point ) out_point->update(1);
}
else
if( out_point ) out_point->update(1);
}
else
@@
-393,7
+396,7
@@
void TimeBar::update(int flush)
//printf("TimeBar::update %d %d\n", __LINE__, x);
double position = pixel_to_position(x);
//printf("TimeBar::update %d %d\n", __LINE__, x);
double position = pixel_to_position(x);
- position =
get_edl()
->align_to_frame(position, 0);
+ position =
mwindow->edl
->align_to_frame(position, 0);
pixel = position_to_pixel(position);
update_clock(position);
}
pixel = position_to_pixel(position);
update_clock(position);
}
@@
-692,7
+695,7
@@
int TimeBar::button_press_event()
stop_playback();
// Select region between two labels
stop_playback();
// Select region between two labels
- if( get_double_click() ) {
+ if(
!is_vwindow() &&
get_double_click() ) {
int x = get_relative_cursor_x();
double position = pixel_to_position(x);
// Test labels
int x = get_relative_cursor_x();
double position = pixel_to_position(x);
// Test labels
@@
-815,14
+818,14
@@
void TimeBar::handle_mwindow_drag()
int TimeBar::select_region(double position)
{
Label *start = 0, *end = 0, *current;
int TimeBar::select_region(double position)
{
Label *start = 0, *end = 0, *current;
- for( current =
mwindow->edl
->labels->first; current; current = NEXT ) {
+ for( current =
get_edl()
->labels->first; current; current = NEXT ) {
if( current->position > position ) {
end = current;
break;
}
}
if( current->position > position ) {
end = current;
break;
}
}
- for( current =
mwindow->edl
->labels->last ; current; current = PREVIOUS ) {
+ for( current =
get_edl()
->labels->last ; current; current = PREVIOUS ) {
if( current->position <= position ) {
start = current;
break;
if( current->position <= position ) {
start = current;
break;
@@
-832,28
+835,32
@@
int TimeBar::select_region(double position)
// Select region
if( end != start ) {
if( !start )
// Select region
if( end != start ) {
if( !start )
-
mwindow->edl
->local_session->set_selectionstart(0);
+
get_edl()
->local_session->set_selectionstart(0);
else
else
-
mwindow->edl
->local_session->set_selectionstart(start->position);
+
get_edl()
->local_session->set_selectionstart(start->position);
if( !end )
if( !end )
-
mwindow->edl->local_session->set_selectionend(mwindow->edl
->tracks->total_length());
+
get_edl()->local_session->set_selectionend(get_edl()
->tracks->total_length());
else
else
-
mwindow->edl
->local_session->set_selectionend(end->position);
+
get_edl()
->local_session->set_selectionend(end->position);
}
else
if( end || start ) {
}
else
if( end || start ) {
-
mwindow->edl
->local_session->set_selectionstart(start->position);
-
mwindow->edl
->local_session->set_selectionend(start->position);
+
get_edl()
->local_session->set_selectionstart(start->position);
+
get_edl()
->local_session->set_selectionend(start->position);
}
// Que the CWindow
}
// Que the CWindow
+ mwindow->cwindow->gui->lock_window("TimeBar::select_region");
mwindow->cwindow->update(1, 0, 0);
mwindow->cwindow->update(1, 0, 0);
+ mwindow->cwindow->gui->unlock_window();
+ mwindow->gui->lock_window("TimeBar::select_region");
mwindow->gui->hide_cursor(0);
mwindow->gui->draw_cursor(1);
mwindow->gui->flash_canvas(0);
mwindow->gui->activate_timeline();
mwindow->gui->zoombar->update();
mwindow->gui->hide_cursor(0);
mwindow->gui->draw_cursor(1);
mwindow->gui->flash_canvas(0);
mwindow->gui->activate_timeline();
mwindow->gui->zoombar->update();
+ mwindow->gui->unlock_window();
update_highlights();
return 0;
}
update_highlights();
return 0;
}
diff --git
a/cinelerra-5.1/cinelerra/timebar.h
b/cinelerra-5.1/cinelerra/timebar.h
index 0a047ff72f3eb52ffa8a321543c6d6ab03fec18a..40a0220a082ac2f52da410f70ae1a0dc220198ae 100644
(file)
--- a/
cinelerra-5.1/cinelerra/timebar.h
+++ b/
cinelerra-5.1/cinelerra/timebar.h
@@
-154,6
+154,7
@@
public:
// Get highlight status when the cursor is over the timeline.
virtual double test_highlight();
virtual int has_preview() { return 0; }
// Get highlight status when the cursor is over the timeline.
virtual double test_highlight();
virtual int has_preview() { return 0; }
+ virtual int is_vwindow() { return 0; }
void update_labels();
void update_labels();
diff --git
a/cinelerra-5.1/cinelerra/vtimebar.h
b/cinelerra-5.1/cinelerra/vtimebar.h
index 9247274bdabb9b79533353f307df6d7b5a02a3bc..f17ba6779dd4725aff44874c488aa151cf76a2e4 100644
(file)
--- a/
cinelerra-5.1/cinelerra/vtimebar.h
+++ b/
cinelerra-5.1/cinelerra/vtimebar.h
@@
-44,6
+44,7
@@
public:
double pixel_to_position(int pixel);
void update_cursor();
int has_preview() { return 1; }
double pixel_to_position(int pixel);
void update_cursor();
int has_preview() { return 1; }
+ int is_vwindow() { return 1; }
double test_highlight();
VWindowGUI *gui;
double test_highlight();
VWindowGUI *gui;
diff --git
a/cinelerra-5.1/guicast/vicon.C
b/cinelerra-5.1/guicast/vicon.C
index b7fd0f6c70bd0dd8ce4e8d06b7fadd4b05cf83f7..9c41ccf1ea915d20548a0f755f6676ea92249abe 100644
(file)
--- a/
cinelerra-5.1/guicast/vicon.C
+++ b/
cinelerra-5.1/guicast/vicon.C
@@
-292,7
+292,10
@@
draw(VIcon *vicon)
void VIconThread::hide_vicons(int v)
{
void VIconThread::hide_vicons(int v)
{
- for( int i=0; i<t_heap.size(); ++i ) t_heap[i]->hidden = v;
+ for( int i=0; i<t_heap.size(); ++i ) {
+ t_heap[i]->hidden = v;
+ t_heap[i]->age = 0;
+ }
}
void VIconThread::
}
void VIconThread::