projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix awdw solo vicon crash, fix nested clip for binfolders, open edit edl
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
trackcanvas.C
diff --git
a/cinelerra-5.1/cinelerra/trackcanvas.C
b/cinelerra-5.1/cinelerra/trackcanvas.C
index fa52b9c08e8d1bc0be19a82f333a7d88c6ad857f..fc7283c9be31f76ba88e6dafe8a5b4178788ba07 100644
(file)
--- a/
cinelerra-5.1/cinelerra/trackcanvas.C
+++ b/
cinelerra-5.1/cinelerra/trackcanvas.C
@@
-1013,8
+1013,8
@@
void TrackCanvas::get_pixmap_size(Edit *edit,
// }
// }
// }
// }
- pixmap_h = mwindow->edl->local_session->zoom_track;
Track *track = edit->edits->track;
Track *track = edit->edits->track;
+ pixmap_h = track->data_h;
if( track->show_titles() )
pixmap_h += mwindow->theme->get_image("title_bg_data")->get_h();
//printf("get_pixmap_size %d %d %d %d\n", edit_x, edit_w, pixmap_x, pixmap_w);
if( track->show_titles() )
pixmap_h += mwindow->theme->get_image("title_bg_data")->get_h();
//printf("get_pixmap_size %d %d %d %d\n", edit_x, edit_w, pixmap_x, pixmap_w);
@@
-1041,7
+1041,7
@@
void TrackCanvas::edit_dimensions(Edit *edit,
if( edit->track->show_titles() )
edit_h += mwindow->theme->get_image("title_bg_data")->get_h();
if( edit->track->show_assets() )
if( edit->track->show_titles() )
edit_h += mwindow->theme->get_image("title_bg_data")->get_h();
if( edit->track->show_assets() )
- edit_h +=
resource_h()
;
+ edit_h +=
edit->track->data_h
;
h = edit_h;
}
h = edit_h;
}
@@
-1297,16
+1297,12
@@
void TrackCanvas::plugin_dimensions(Plugin *plugin, int64_t &x, int64_t &y, int6
if( plugin->track->show_titles() )
y += mwindow->theme->get_image("title_bg_data")->get_h();
if( plugin->track->show_assets() )
if( plugin->track->show_titles() )
y += mwindow->theme->get_image("title_bg_data")->get_h();
if( plugin->track->show_assets() )
- y +=
resource_h()
;
+ y +=
plugin->track->data_h
;
y += plugin->plugin_set->get_number() *
mwindow->theme->get_image("plugin_bg_data")->get_h();
h = mwindow->theme->get_image("plugin_bg_data")->get_h();
}
y += plugin->plugin_set->get_number() *
mwindow->theme->get_image("plugin_bg_data")->get_h();
h = mwindow->theme->get_image("plugin_bg_data")->get_h();
}
-int TrackCanvas::resource_h()
-{
- return mwindow->edl->local_session->zoom_track;
-}
void TrackCanvas::draw_highlight_rectangle(int x, int y, int w, int h)
{
void TrackCanvas::draw_highlight_rectangle(int x, int y, int w, int h)
{
@@
-1434,11
+1430,11
@@
void TrackCanvas::get_transition_coords(Edit *edit,
int has_titles = edit->track->show_titles();
int has_assets = edit->track->show_assets();
double title_bg_h = mwindow->theme->get_image("title_bg_data")->get_h();
int has_titles = edit->track->show_titles();
int has_assets = edit->track->show_assets();
double title_bg_h = mwindow->theme->get_image("title_bg_data")->get_h();
-
double asset_h = resource_h()
;
- double ys = has_assets ?
asset
_h : has_titles ? title_bg_h : 0;
+
int data_h = edit->track->data_h
;
+ double ys = has_assets ?
data
_h : has_titles ? title_bg_h : 0;
double dy = has_titles ?
double dy = has_titles ?
- ( has_assets ? title_bg_h +
asset
_h/2 : title_bg_h/2 ) :
- ( has_assets ?
asset
_h/2 : 0) ;
+ ( has_assets ? title_bg_h +
data
_h/2 : title_bg_h/2 ) :
+ ( has_assets ?
data
_h/2 : 0) ;
double title_h = mwindow->theme->title_h;
if( dy < title_h / 2 ) { ys = title_h; dy = ys / 2; }
y += dy;
double title_h = mwindow->theme->title_h;
if( dy < title_h / 2 ) { ys = title_h; dy = ys / 2; }
y += dy;
@@
-1906,7
+1902,7
@@
void TrackCanvas::draw_hard_edges()
if( track->show_titles() )
y1 += mwindow->theme->get_image("title_bg_data")->get_h();
if( track->show_assets() )
if( track->show_titles() )
y1 += mwindow->theme->get_image("title_bg_data")->get_h();
if( track->show_assets() )
- y1 +=
resource_h()
;
+ y1 +=
track->data_h
;
if( y1 == y )
y1 += mwindow->theme->title_h;
if( edit->hard_left ) {
if( y1 == y )
y1 += mwindow->theme->title_h;
if( edit->hard_left ) {
@@
-2388,11
+2384,8
@@
void TrackCanvas::draw_keyframe_reticle()
}
}
}
}
-void TrackCanvas::draw_auto(Auto *current,
- int x,
- int y,
- int center_pixel,
- int zoom_track)
+void TrackCanvas::draw_auto(Auto *current, int x, int y,
+ int center_pixel, int data_h)
{
int x1, y1, x2, y2;
{
int x1, y1, x2, y2;
@@
-2401,8
+2394,8
@@
void TrackCanvas::draw_auto(Auto *current,
y1 = center_pixel + y - HANDLE_W / 2;
y2 = center_pixel + y + HANDLE_W / 2;
y1 = center_pixel + y - HANDLE_W / 2;
y2 = center_pixel + y + HANDLE_W / 2;
- if(
y1 < center_pixel + -zoom_track / 2) y1 = center_pixel + -zoom_track /
2;
- if(
y2 > center_pixel + zoom_track / 2) y2 = center_pixel + zoom_track /
2;
+ if(
y1 < center_pixel - data_h/2 ) y1 = center_pixel - data_h/
2;
+ if(
y2 > center_pixel + data_h/2 ) y2 = center_pixel + data_h/
2;
draw_box(x1, y1, x2 - x1, y2 - y1);
}
draw_box(x1, y1, x2 - x1, y2 - y1);
}
@@
-2455,23
+2448,16
@@
void TrackCanvas::draw_cropped_line(int x1,
}
}
-void TrackCanvas::draw_floatauto(FloatAuto *current,
- int x,
- int y,
- int in_x,
- int in_y,
- int out_x,
- int out_y,
- int center_pixel,
- int zoom_track,
- int color)
+void TrackCanvas::draw_floatauto(FloatAuto *current, int x, int y,
+ int in_x, int in_y, int out_x, int out_y,
+ int center_pixel, int data_h, int color)
{
int x1 = x - HANDLE_W / 2; // Center
int x2 = x + HANDLE_W / 2;
int y1 = center_pixel + y - HANDLE_H / 2;
int y2 = center_pixel + y + HANDLE_H / 2;
{
int x1 = x - HANDLE_W / 2; // Center
int x2 = x + HANDLE_W / 2;
int y1 = center_pixel + y - HANDLE_H / 2;
int y2 = center_pixel + y + HANDLE_H / 2;
- int ymin = center_pixel -
zoom_track
/ 2;
- int ymax = center_pixel +
zoom_track
/ 2;
+ int ymin = center_pixel -
data_h
/ 2;
+ int ymax = center_pixel +
data_h
/ 2;
CLAMP(y1, ymin, ymax);
CLAMP(y2, ymin, ymax);
CLAMP(y1, ymin, ymax);
CLAMP(y2, ymin, ymax);
@@
-2501,22
+2487,22
@@
void TrackCanvas::draw_floatauto(FloatAuto *current,
return;
if(in_x != x)
return;
if(in_x != x)
- draw_floatauto_ctrlpoint(x, y, in_x, in_y, center_pixel,
zoom_track
, color);
+ draw_floatauto_ctrlpoint(x, y, in_x, in_y, center_pixel,
data_h
, color);
if(out_x != x)
if(out_x != x)
- draw_floatauto_ctrlpoint(x, y, out_x, out_y, center_pixel,
zoom_track
, color);
+ draw_floatauto_ctrlpoint(x, y, out_x, out_y, center_pixel,
data_h
, color);
}
inline int quantize(float f) { return (int)floor(f + 0.5); }
inline void TrackCanvas::draw_floatauto_ctrlpoint(
}
inline int quantize(float f) { return (int)floor(f + 0.5); }
inline void TrackCanvas::draw_floatauto_ctrlpoint(
- int x, int y, int cp_x, int cp_y, int center_pixel,
-
int zoom_track
, int color)
+
int x, int y, int cp_x, int cp_y, int center_pixel,
+
int data_h
, int color)
// draw the tangent and a handle for given bézier ctrl point
{
// draw the tangent and a handle for given bézier ctrl point
{
- bool handle_visible = (abs(cp_y) <=
zoom_track /
2);
+ bool handle_visible = (abs(cp_y) <=
data_h/
2);
float slope = (float)(cp_y - y)/(cp_x - x);
float slope = (float)(cp_y - y)/(cp_x - x);
- CLAMP(cp_y, -
zoom_track / 2, zoom_track /
2);
+ CLAMP(cp_y, -
data_h/2, data_h/
2);
if(slope != 0)
cp_x = x + quantize((cp_y - y) / slope);
if(slope != 0)
cp_x = x + quantize((cp_y - y) / slope);
@@
-2558,7
+2544,7
@@
inline void TrackCanvas::draw_floatauto_ctrlpoint(
int TrackCanvas::test_auto(Auto *current,
int TrackCanvas::test_auto(Auto *current,
- int x, int y, int center_pixel, int
zoom_track
,
+ int x, int y, int center_pixel, int
data_h
,
int cursor_x, int cursor_y, int buttonpress)
{
int x1, y1, x2, y2;
int cursor_x, int cursor_y, int buttonpress)
{
int x1, y1, x2, y2;
@@
-2568,8
+2554,8
@@
int TrackCanvas::test_auto(Auto *current,
x2 = x + HANDLE_W / 2;
y1 = center_pixel + y - HANDLE_H / 2;
y2 = center_pixel + y + HANDLE_H / 2;
x2 = x + HANDLE_W / 2;
y1 = center_pixel + y - HANDLE_H / 2;
y2 = center_pixel + y + HANDLE_H / 2;
- int ymin = center_pixel -
zoom_track /
2;
- int ymax = center_pixel +
zoom_track /
2;
+ int ymin = center_pixel -
data_h/
2;
+ int ymax = center_pixel +
data_h/
2;
CLAMP(y1, ymin, ymax);
CLAMP(y2, ymin, ymax);
CLAMP(y1, ymin, ymax);
CLAMP(y2, ymin, ymax);
@@
-2645,7
+2631,7
@@
float TrackCanvas::value_to_percentage(float auto_value, int autogrouptype)
int TrackCanvas::test_floatauto(FloatAuto *current, int x, int y, int in_x,
int TrackCanvas::test_floatauto(FloatAuto *current, int x, int y, int in_x,
- int in_y, int out_x, int out_y, int center_pixel, int
zoom_track
,
+ int in_y, int out_x, int out_y, int center_pixel, int
data_h
,
int cursor_x, int cursor_y, int buttonpress, int autogrouptype)
{
int result = 0;
int cursor_x, int cursor_y, int buttonpress, int autogrouptype)
{
int result = 0;
@@
-2654,8
+2640,8
@@
int TrackCanvas::test_floatauto(FloatAuto *current, int x, int y, int in_x,
int x2 = x + HANDLE_W / 2;
int y1 = center_pixel + y - HANDLE_W / 2;
int y2 = center_pixel + y + HANDLE_W / 2;
int x2 = x + HANDLE_W / 2;
int y1 = center_pixel + y - HANDLE_W / 2;
int y2 = center_pixel + y + HANDLE_W / 2;
- int ymin = center_pixel -
zoom_track /
2;
- int ymax = center_pixel +
zoom_track /
2;
+ int ymin = center_pixel -
data_h/
2;
+ int ymax = center_pixel +
data_h/
2;
CLAMP(y1, ymin, ymax);
CLAMP(y2, ymin, ymax);
CLAMP(y1, ymin, ymax);
CLAMP(y2, ymin, ymax);
@@
-2952,7
+2938,7
@@
void TrackCanvas::fill_ganged_autos(int all, float change, Track *skip, FloatAut
CLAMP(new_value, auto_min, auto_max);
keyframe->adjust_to_new_coordinates(current_position, new_value);
}
CLAMP(new_value, auto_min, auto_max);
keyframe->adjust_to_new_coordinates(current_position, new_value);
}
- else {
+ else
if( all >= 0 )
{
// create keyframe on neighbouring track at the point in time given by fauto
FloatAuto *previous = 0, *next = 0;
float value = fade_autos->get_value(current_position, PLAY_FORWARD, previous, next);
// create keyframe on neighbouring track at the point in time given by fauto
FloatAuto *previous = 0, *next = 0;
float value = fade_autos->get_value(current_position, PLAY_FORWARD, previous, next);
@@
-2961,6
+2947,7
@@
void TrackCanvas::fill_ganged_autos(int all, float change, Track *skip, FloatAut
keyframe = (FloatAuto*)fade_autos->insert_auto(current_position);
keyframe->set_value(new_value);
}
keyframe = (FloatAuto*)fade_autos->insert_auto(current_position);
keyframe->set_value(new_value);
}
+ if( !keyframe ) continue;
mwindow->session->drag_auto_gang->append((Auto *)keyframe);
}
}
mwindow->session->drag_auto_gang->append((Auto *)keyframe);
}
}
@@
-3084,12
+3071,12
@@
void TrackCanvas::calculate_viewport(Track *track,
int has_titles = track->show_titles();
int has_assets = track->show_assets();
double title_bg_h = mwindow->theme->get_image("title_bg_data")->get_h();
int has_titles = track->show_titles();
int has_assets = track->show_assets();
double title_bg_h = mwindow->theme->get_image("title_bg_data")->get_h();
- double asset_h = resource_h();
double title_h = mwindow->theme->title_h;
double title_h = mwindow->theme->title_h;
- double ys = has_assets ? asset_h : has_titles ? title_bg_h : 0;
+ double data_h = track->data_h;
+ double ys = has_assets ? data_h : has_titles ? title_bg_h : 0;
double dy = has_titles ?
double dy = has_titles ?
- ( has_assets ? title_bg_h +
asset
_h/2 : title_bg_h/2) :
- ( has_assets ?
asset
_h/2 : 0) ;
+ ( has_assets ? title_bg_h +
data
_h/2 : title_bg_h/2) :
+ ( has_assets ?
data
_h/2 : 0) ;
if( dy < title_h/2 ) { ys = title_h; dy = ys / 2; }
yscale = ys;
center_pixel = y + dy;
if( dy < title_h/2 ) { ys = title_h; dy = ys / 2; }
yscale = ys;
center_pixel = y + dy;
@@
-3590,7
+3577,7
@@
int TrackCanvas::do_plugin_autos(Track *track, int cursor_x, int cursor_y,
if( track->show_titles() )
center_pixel += mwindow->theme->get_image("title_bg_data")->get_h();
if( track->show_assets() )
if( track->show_titles() )
center_pixel += mwindow->theme->get_image("title_bg_data")->get_h();
if( track->show_assets() )
- center_pixel +=
resource_h()
;
+ center_pixel +=
track->data_h
;
center_pixel += (i + 0.5) * mwindow->theme->get_image("plugin_bg_data")->get_h();
for(Plugin *plugin = (Plugin*)plugin_set->first;
center_pixel += (i + 0.5) * mwindow->theme->get_image("plugin_bg_data")->get_h();
for(Plugin *plugin = (Plugin*)plugin_set->first;