h = MIN(h, get_h() + 20);
if(w > 0 && h > 0)
{
- set_color(WHITE);
+ set_color(mwindow->preferences->highlight_inverse);
set_inverse();
//draw_rectangle(x, y, w, h);
draw_rectangle(x + 1, y + 1, w - 2, h - 2);
}
w = MIN(w, get_w() + 20);
h = MIN(h, get_h() + 20);
- set_color(WHITE);
+ set_color(mwindow->preferences->highlight_inverse);
set_inverse();
draw_rectangle(x, y, w, h);
draw_rectangle(x + 1, y + 1, w - 2, h - 2);
void TrackCanvas::draw_brender_range()
{
- if(mwindow->preferences->use_brender)
+ if( !mwindow->preferences->use_brender || !mwindow->brender_active ) return;
+ if( mwindow->edl->session->brender_start >= mwindow->edl->session->brender_end ) return;
+ if( mwindow->edl->session->brender_end > 0 )
{
int64_t x1 = Units::round(mwindow->edl->session->brender_start *
mwindow->edl->session->sample_rate /
int result = 0;
int cursor_x, cursor_y;
int new_cursor;
+ double start_position = mwindow->edl->local_session->get_selectionstart(1);
cursor_x = get_cursor_x();
cursor_y = get_cursor_y();
activate();
}
- if( get_buttonpress() == LEFT_BUTTON ) {
+ if( get_buttonpress() == LEFT_BUTTON &&
+ gui->mbuttons->transport->engine->command->command != STOP ) {
gui->unlock_window();
gui->mbuttons->transport->handle_transport(STOP, 1, 0, 0);
gui->lock_window("TrackCanvas::button_press_event");
gui->flash_canvas(1);
}
}
+// if snapping to selection point
+ if( gui->ctrl_down() && gui->alt_down() ) {
+ switch( mwindow->session->current_operation ) {
+ case DRAG_EDITHANDLE1:
+ mwindow->session->drag_position = start_position;
+ mwindow->session->current_operation = NO_OPERATION;
+ drag_scroll = 0;
+ end_edithandle_selection();
+ break;
+ case DRAG_PLUGINHANDLE1:
+ mwindow->session->drag_position = start_position;
+ mwindow->session->current_operation = NO_OPERATION;
+ drag_scroll = 0;
+ end_pluginhandle_selection();
+ break;
+ }
+ }
return result;
}
int TrackCanvas::start_selection(double position)
{
int rerender = 0;
- position = mwindow->edl->align_to_frame(position, 0);
+ position = mwindow->edl->align_to_frame(position, 1);
// Extend a border