add_subwindow(text_box = new BC_TextBox(x, y, 300, 1, thread->folder->title));
y += text_box->get_h() + 10;
int lh = get_h() - y - BC_OKButton::calculate_h() - 30;
- int lw = get_w() - x - 120;
+ int lw = get_w() - x - 160;
add_subwindow(folder_list =
new BinFolderList(thread->folder, thread->agui->mwindow, this, x, y, lw, lh));
folder_list->create_objects();
int lx = folder_list->get_x();
int ly = folder_list->get_y();
int lh = h - ly - BC_OKButton::calculate_h() - 30;
- int lw = w - lx - 120;
+ int lw = w - lx - 160;
folder_list->reposition_window(lx, ly, lw, lh);
int x1 = lx + lw + 15;
add_filter->reposition_window(x1, add_filter->get_y());
if( !frame ) {
fprintf(stderr,"FFMPEG::scan: ");
fprintf(stderr,_("av_frame_alloc failed\n"));
+ fprintf(stderr,"FFMPEG::scan:file=%s\n", file_base->asset->path);
return -1;
}
}
fprintf(stderr,"FFMPEG::scan: ");
fprintf(stderr,_("codec open failed\n"));
+ fprintf(stderr,"FFMPEG::scan:file=%s\n", file_base->asset->path);
avcodec_free_context(&avctx);
}
awindow_w = root_x + root_w - awindow_x - border_left - border_right;
awindow_h = mwindow_h;
- bwindow_w = 520;
- bwindow_h = 340;
+ bwindow_w = 600;
+ bwindow_h = 360;
ewindow_w = 640;
ewindow_h = 240;
}
else
if( out_point ) out_point->update(0);
+
+ draw_inout_highlight();
+}
+
+void TimeBar::draw_inout_highlight()
+{
+ EDL *edl = get_edl();
+ if( !edl->local_session->inpoint_valid() ) return;
+ if( !edl->local_session->outpoint_valid() ) return;
+ double in_position = edl->local_session->get_inpoint();
+ double out_position = edl->local_session->get_outpoint();
+ if( in_position >= out_position ) return;
+ int in_x = position_to_pixel(in_position);
+ int out_x = position_to_pixel(out_position);
+ CLAMP(in_x, 0, get_w());
+ CLAMP(out_x, 0, get_w());
+ set_color(GREEN);
+ int lw = 5;
+ set_line_width(lw);
+ set_inverse();
+ draw_line(in_x, get_h()-2*lw, out_x, get_h()-2*lw);
+ set_opaque();
+ set_line_width(1);
}
void TimeBar::update_points()
void update_points();
// Make sure widgets are highlighted according to selection status
void update_highlights();
+ void draw_inout_highlight();
// Update highlight cursor during a drag
virtual void update_cursor();
}
}
-void VWindowEditing::prev_label()
+void VWindowEditing::prev_label(int cut)
{
if(vwindow->get_edl())
{
}
}
-void VWindowEditing::next_label()
+void VWindowEditing::next_label(int cut)
{
if(vwindow->get_edl())
{
void unset_inoutpoint();
void to_clip();
void toggle_label();
- void prev_label();
- void next_label();
+ void prev_label(int cut);
+ void next_label(int cut);
double get_position();
void set_position(double position);
return;
case VFrame::SCREEN:
- if((get_w() % 4) || (get_h() % 4)) {
- printf("VFrame::to_texture w=%d h=%d\n", get_w(), get_h());
- return;
- }
if(pbuffer) {
enable_opengl();
screen_to_texture();
void VFrame::create_pbuffer()
{
- if( pbuffer && (pbuffer->w != get_w() || pbuffer->h != get_h() ||
- pbuffer->window_id != BC_WindowBase::get_synchronous()->current_window->get_id() ) )
- {
+ int ww = (get_w()+3) & ~3, hh = (get_h()+3) & ~3;
+ if( pbuffer && (pbuffer->w != ww || pbuffer->h != hh ||
+ pbuffer->window_id != BC_WindowBase::get_synchronous()->current_window->get_id() ) ) {
delete pbuffer;
pbuffer = 0;
}
- if((get_w() % 4) || (get_h() % 4))
- {
- printf("VFrame::create_pbuffer w=%d h=%d\n", get_w(), get_h());
- return;
- }
-
- if(!pbuffer)
- {
- pbuffer = new BC_PBuffer(get_w(), get_h());
+ if( !pbuffer ) {
+ pbuffer = new BC_PBuffer(ww, hh);
}
}
void VFrame::enable_opengl()
{
create_pbuffer();
- if(pbuffer)
- {
+ if( pbuffer ) {
pbuffer->enable_opengl();
}
}