double position = edit_mode != MOVE_NO_EDITS &&
( session->drag_handle || edit_mode == MOVE_ONE_EDIT ) ?
session->drag_position : session->drag_start;
- Track *track = session->drag_edit->edits->track;
+ Track *track = session->drag_handle_track();
int64_t pos = track->to_units(position, 0);
render_handle_frame(edl, pos, shift_down() ? 0 :
session->drag_handle ? 1 : 2);
int w = canvas->w, h = canvas->h, w2 = w/2, h2 = h/2;
int lx = 0, ly = h2/2, rx = w2, ry = h2/2;
BC_WindowBase *window = canvas->get_canvas();
+ window->set_color(BLACK);
+ window->clear_box(0,0, window->get_w(),window->get_h());
window->draw_vframe(&vlt, lx,ly, w2,h2, 0,0,vlt.get_w(),vlt.get_h());
window->draw_vframe(&vrt, rx,ry, w2,h2, 0,0,vrt.get_w(),vrt.get_h());
window->flash(1);
break; }
case 1:
case 2: {
- Track *track = mwindow->session->drag_edit->edits->track;
+ Track *track = mwindow->session->drag_handle_track();
double position = track->from_units(mode == 1 ? left : pos);
if( position < 0 ) position = 0;
edl->local_session->set_selectionstart(position);
int result = 0;
for( Track *track=mwindow->edl->tracks->first; track && !result; track=track->next) {
- if( !track->show_assets() ) continue;
-
for( Edit *edit=track->edits->first; edit && !result; edit=edit->next ) {
int64_t edit_x, edit_y, edit_w, edit_h;
edit_dimensions(edit, edit_x, edit_y, edit_w, edit_h);
if( cursor_x < edit_x + HANDLE_W ) {
edit_result = edit;
handle_result = 0;
- if( cursor_y >= edit_y+edit_h - HANDLE_W ) {
+ if( cursor_y >= edit_y+edit_h - HANDLE_W &&
+ track->show_assets() ) {
new_cursor = DOWNLEFT_RESIZE;
if( button_press == LEFT_BUTTON )
result = -1;
else if( cursor_x >= edit_x + edit_w - HANDLE_W ) {
edit_result = edit;
handle_result = 1;
- if( cursor_y >= edit_y+edit_h - HANDLE_W ) {
+ if( cursor_y >= edit_y+edit_h - HANDLE_W &&
+ track->show_assets() ) {
new_cursor = DOWNRIGHT_RESIZE;
if( button_press == LEFT_BUTTON )
result = -1;
update_overlay = 1;
}
}
- else if( result < 0) {
+ else if( result < 0 ) {
mwindow->undo->update_undo_before();
if( !shift_down() ) {
if( handle_result == 0 )
int result = 0;
for(Track *track = mwindow->edl->tracks->first; track && !result; track = track->next) {
- if( !track->show_assets() ) continue;
-
for(Edit *edit = track->edits->first; edit && !result; edit = edit->next) {
int64_t edit_x, edit_y, edit_w, edit_h;
edit_dimensions(edit, edit_x, edit_y, edit_w, edit_h);