{
this->draw_mode = draw_mode;
this->bar_h = (VIEW_POPUP_BAR_H * h) / 200;
+ dragging = 0;
}
AssetViewPopup::~AssetViewPopup()
vicon_frame = 0;
in_use = 1;
comments_time = 0;
+ comments_rate = -1;
+ comments_ffmt = ' ';
+ comments_type = "";
id = 0;
persistent = 0;
}
}
struct stat st;
comments_time = !stat(asset->path, &st) ? st.st_mtime : 0;
+ comments_rate = asset->get_frame_rate();
+ comments_ffmt = asset->format == FILE_FFMPEG ? '=' : '-';
+ comments_type = asset->format == FILE_FFMPEG ?
+ asset->vcodec : File::formattostr(asset->format);
}
else
if( indexable && !indexable->is_asset ) {
int nw = get_text_width(MEDIUMFONT, _(av_names[i]));
if( tw < nw ) tw = nw;
}
- int pw = BC_PopupMenu::calculate_w(4, tw, -1) + 16;
+ int pw = BC_PopupMenu::calculate_w(16, tw, 1);
const char *text = _(AVIconDrawing::avicon_names[vicon_drawing]);
add_subwindow(avicon_drawing = new AVIconDrawing(this, fw, fy, pw, text));
avicon_drawing->create_objects();
continue;
}
if( picon->indexable && picon->indexable->is_asset ) {
+ Asset *asset = (Asset *)picon->indexable;
struct stat st;
- picon->comments_time = !stat(picon->indexable->path, &st) ?
- st.st_mtime : 0;
+ picon->comments_time = !stat(asset->path, &st) ? st.st_mtime : 0;
+ picon->comments_rate = asset->get_frame_rate();
+ picon->comments_ffmt = asset->format == FILE_FFMPEG ? '=' : '-';
+ picon->comments_type = asset->format == FILE_FFMPEG ?
+ asset->vcodec : File::formattostr(asset->format);
}
}
}
else if( picon->comments_time ) {
char date_time[BCSTRLEN];
struct tm stm; localtime_r(&picon->comments_time, &stm);
- sprintf(date_time,"%04d.%02d.%02d %02d:%02d:%02d",
+ sprintf(date_time,"%04d.%02d.%02d %02d:%02d:%02d @%0.2f %c%s",
stm.tm_year+1900, stm.tm_mon+1, stm.tm_mday,
- stm.tm_hour, stm.tm_min, stm.tm_sec);
+ stm.tm_hour, stm.tm_min, stm.tm_sec,
+ picon->comments_rate, picon->comments_ffmt,
+ picon->comments_type);
dst[1].append(item2 = new BC_ListBoxItem(date_time));
}
else
deactivate_selection();
}
- else if( get_button_down() &&
+ else if( get_button_down() && !gui->play_off &&
mwindow->edl->session->assetlist_format != ASSETS_TEXT ) {
item = (AssetPicon*)get_selection(0, 0);
if( item && !get_selection(0, 1) ) {
case AW_CLIP_FOLDER:
if( get_buttonpress() == LEFT_BUTTON ) {
AssetVIcon *vicon = 0;
- if( !gui->vicon_thread->vicon )
+ AssetVIconThread *avt = gui->vicon_thread;
+ if( !avt->vicon && gui->vicon_drawing != AVICON_NO_PLAY )
vicon = item->vicon;
gui->vicon_thread->set_view_popup(vicon, ASSET_VIEW_ICON);
}
int AWindowAssets::drag_start_event()
{
+ gui->vicon_thread->set_view_popup(0);
int collect_pluginservers = 0;
int collect_assets = 0, proxy = 0;
int AVIconDrawing::draw_face(int dx, int color)
{
int ret = BC_PopupMenu::draw_face(dx, color);
- if( agui->play_off ) {
+ if( agui->play_off && agui->vicon_drawing != AVICON_NO_PLAY ) {
int lx = get_margin(), ly = get_h()/2;
draw_line(lx,ly, get_w()-2*lx,ly);
}
}
AVIconDrawing::AVIconDrawing(AWindowGUI *agui, int x, int y, int w, const char *text)
- : BC_PopupMenu(x-w, y, w, text, -1, 0, 4)
+ : BC_PopupMenu(x-w, y, w, text, 1, 0, 4)
{
this->agui = agui;
}