#include "clip.h"
#include "bccolors.h"
#include "cwindowgui.h"
+#include "edit.h"
#include "edl.h"
#include "edlsession.h"
#include "keyframegui.h"
#include "resourcepixmap.h"
#include "statusbar.h"
#include "theme.h"
+#include "track.h"
#include "timebar.h"
#include "trackcanvas.h"
#include "vframe.h"
mtransport_margin = 0;
toggle_margin = 0;
control_pixels = xS(50);
+ stack_button_w = xS(32);
timebar_cursor_color = RED;
BC_WindowBase::get_resources()->bg_color = BLOND;
BC_WindowBase::get_resources()->button_highlighted = 0xffe000;
BC_WindowBase::get_resources()->recursive_resizing = 0;
audio_color = BLACK;
+ zero_crossing_color = 0xc03545;
+ graph_active_color = GRAPH_ACTIVE_COLOR;
+ graph_inactive_color = GRAPH_INACTIVE_COLOR;
+ graph_grid_color = GRAPH_GRID_COLOR;
+ graph_bg_color = GRAPH_BG_COLOR;
+ graph_border1_color = GRAPH_BORDER1_COLOR;
+ graph_border2_color = GRAPH_BORDER2_COLOR;
fade_h = yS(22);
inout_highlight_color = GREEN;
meter_h = yS(17);
statusbar_cancel_data = 0;
timebar_view_data = 0;
transition_data = 0;
+ tumblepatch_data = 0;
uptriangle_data = 0;
viewasset_data = 0;
vtimebar_bg_data = 0;
aspect_ratios.append(new BC_ListBoxItem("3:2"));
aspect_ratios.append(new BC_ListBoxItem("4:3"));
aspect_ratios.append(new BC_ListBoxItem("16:9"));
+ aspect_ratios.append(new BC_ListBoxItem("16:10"));
aspect_ratios.append(new BC_ListBoxItem("2.10:1"));
aspect_ratios.append(new BC_ListBoxItem("2.20:1"));
aspect_ratios.append(new BC_ListBoxItem("2.25:1"));
frame_sizes.append(new BC_ListBoxItem("128x96 "));
frame_sizes.append(new BC_ListBoxItem("160x120 "));
+ frame_sizes.append(new BC_ListBoxItem("240x160 HQVGA"));
frame_sizes.append(new BC_ListBoxItem("320x240 "));
+ frame_sizes.append(new BC_ListBoxItem("352x288 "));
frame_sizes.append(new BC_ListBoxItem("360x240 "));
- frame_sizes.append(new BC_ListBoxItem("400x300 "));
+ frame_sizes.append(new BC_ListBoxItem("384x288 CIF"));
+ frame_sizes.append(new BC_ListBoxItem("400x300 qSVGA"));
frame_sizes.append(new BC_ListBoxItem("640x360 nHD"));
frame_sizes.append(new BC_ListBoxItem("640x400 "));
frame_sizes.append(new BC_ListBoxItem("640x480 VGA"));
frame_sizes.append(new BC_ListBoxItem("1024x576 "));
frame_sizes.append(new BC_ListBoxItem("1024x768 XGA"));
frame_sizes.append(new BC_ListBoxItem("1152x648 "));
+ frame_sizes.append(new BC_ListBoxItem("1152x768 "));
+ frame_sizes.append(new BC_ListBoxItem("1152x864 XGA+"));
frame_sizes.append(new BC_ListBoxItem("1280x720 HD"));
+ frame_sizes.append(new BC_ListBoxItem("1280x800 "));
frame_sizes.append(new BC_ListBoxItem("1280x1024 SXGA"));
frame_sizes.append(new BC_ListBoxItem("1366x768 WXGA"));
+ frame_sizes.append(new BC_ListBoxItem("1440x900 WXGA+"));
+ frame_sizes.append(new BC_ListBoxItem("1440x1080 HDV"));
frame_sizes.append(new BC_ListBoxItem("1600x900 HD+"));
frame_sizes.append(new BC_ListBoxItem("1600x1200 UXGA"));
frame_sizes.append(new BC_ListBoxItem("1920x1080 Full HD"));
+ frame_sizes.append(new BC_ListBoxItem("1920x1280 FHD+"));
+ frame_sizes.append(new BC_ListBoxItem("2048x1080 DCI 2K"));
frame_sizes.append(new BC_ListBoxItem("2048x1152 "));
+ frame_sizes.append(new BC_ListBoxItem("2048x1536 QXGA"));
+ frame_sizes.append(new BC_ListBoxItem("2160x1440 "));
frame_sizes.append(new BC_ListBoxItem("2304x1296 "));
- frame_sizes.append(new BC_ListBoxItem("2560x1440 QHD"));
+ frame_sizes.append(new BC_ListBoxItem("2560x1080 UW-FHD"));
+ frame_sizes.append(new BC_ListBoxItem("2560x1440 WQHD"));
frame_sizes.append(new BC_ListBoxItem("2880x1620 "));
- frame_sizes.append(new BC_ListBoxItem("3200x1800 QHD+"));
+ frame_sizes.append(new BC_ListBoxItem("3200x1800 WQXGA+"));
+ frame_sizes.append(new BC_ListBoxItem("3440x1440 Ultra-Wide QHD"));
frame_sizes.append(new BC_ListBoxItem("3520x1980 "));
+ frame_sizes.append(new BC_ListBoxItem("3840x1600 UW4K"));
frame_sizes.append(new BC_ListBoxItem("3840x2160 4K UHD"));
+ frame_sizes.append(new BC_ListBoxItem("4096x2160 DCI 4K"));
frame_sizes.append(new BC_ListBoxItem("4096x2304 Full 4K UHD"));
frame_sizes.append(new BC_ListBoxItem("4480x2520 "));
frame_sizes.append(new BC_ListBoxItem("5120x2880 5K UHD"));
frame_sizes.append(new BC_ListBoxItem("7680x4320 8K UHD"));
sample_rates.append(new BC_ListBoxItem("8000"));
+ sample_rates.append(new BC_ListBoxItem("11025"));
sample_rates.append(new BC_ListBoxItem("16000"));
sample_rates.append(new BC_ListBoxItem("22050"));
sample_rates.append(new BC_ListBoxItem("32000"));
sample_rates.append(new BC_ListBoxItem("44100"));
sample_rates.append(new BC_ListBoxItem("48000"));
+ sample_rates.append(new BC_ListBoxItem("88000"));
sample_rates.append(new BC_ListBoxItem("96000"));
+ sample_rates.append(new BC_ListBoxItem("176400"));
sample_rates.append(new BC_ListBoxItem("192000"));
frame_rates.append(new BC_ListBoxItem("0.25"));
frame_rates.append(new BC_ListBoxItem("50"));
frame_rates.append(new BC_ListBoxItem("59.94"));
frame_rates.append(new BC_ListBoxItem("60"));
+ frame_rates.append(new BC_ListBoxItem("72"));
+ frame_rates.append(new BC_ListBoxItem("85"));
+ frame_rates.append(new BC_ListBoxItem("90"));
frame_rates.append(new BC_ListBoxItem("100"));
frame_rates.append(new BC_ListBoxItem("120"));
+ frame_rates.append(new BC_ListBoxItem("144"));
+ frame_rates.append(new BC_ListBoxItem("240"));
frame_rates.append(new BC_ListBoxItem("1000"));
char string[BCTEXTLEN];
{
mbuttons_x = 0;
mbuttons_y = gui->menu_h() + yS(1);
- mbuttons_w = w - (ffmpeg_toggle[0]->get_w()+2 + proxy_p_toggle[0]->get_w()+xS(2));
+ mbuttons_w = w - (ffmpeg_toggle[0]->get_w()+xS(2) +
+ proxy_p_toggle[0]->get_w()+xS(2) +
+ stack_button_w);
mbuttons_h = get_image("mbutton_bg")->get_h();
mclock_x = window_border - xS(5);
mclock_y = mbuttons_y-1 + mbuttons_h;
void Theme::get_cwindow_sizes(CWindowGUI *gui, int cwindow_controls)
{
- int total_buttons = !use_commercials ? 15 : 16;
+ int total_buttons = !use_commercials ? 16 : 17;
int edit_w = EditPanel::calculate_w(mwindow, 1, total_buttons);
int transport_w = PlayTransport::get_transport_width(mwindow) + toggle_margin;
int zoom_w = ZoomPanel::calculate_w(czoom_w);
}
else
{
- cmeter_x = mwindow->session->cwindow_w + widget_border;
+ cmeter_x = mwindow->session->cwindow_w;
}
- int buttons_h;
-
- if(edit_w +
- widget_border * 2 +
- transport_w + widget_border +
- zoom_w + widget_border +
- division_w +
- status_w > cmeter_x)
- {
- buttons_h = get_image("cbuttons_left")->get_h();
-
- cedit_x = widget_border;
- cedit_y = mwindow->session->cwindow_h -
- buttons_h +
- ctimebar_h +
- widget_border;
-
- ctransport_x = widget_border;
- ctransport_y = mwindow->session->cwindow_h -
- get_image_set("autokeyframe")[0]->get_h() -
- widget_border;
+ int buttons_h = get_image("rewind")->get_h() + widget_border;
+ int panel_y = mwindow->session->cwindow_h - buttons_h + yS(4);
+ ctransport_x = widget_border;
+ if( ctransport_x + transport_w + widget_border +
+ edit_w + widget_border + zoom_w + widget_border +
+ division_w + status_w > cmeter_x ) {
+ ctransport_y = panel_y;
czoom_x = ctransport_x + transport_w + widget_border;
- czoom_y = ctransport_y + widget_border;
-
- cstatus_x = xS(426);
- cstatus_y = mwindow->session->cwindow_h -
- get_image("cwindow_active")->get_h() - yS(30);
+ czoom_y = panel_y;
+ cstatus_x = xS(440);
+ cstatus_y = panel_y - yS(2);
+ int edit_h = EditPanel::calculate_h(mwindow) + widget_border;
+ buttons_h += edit_h; panel_y -= edit_h;
+ cedit_x = widget_border;
+ cedit_y = panel_y;
}
- else
- {
- buttons_h = ctimebar_h +
- widget_border +
- EditPanel::calculate_h(mwindow) +
- widget_border;
+ else {
ctransport_x = widget_border;
- ctransport_y = mwindow->session->cwindow_h -
- buttons_h +
- ctimebar_h +
- widget_border;
-
+ ctransport_y = panel_y;
cedit_x = ctransport_x + transport_w + widget_border;
- cedit_y = ctransport_y;
-
+ cedit_y = panel_y;
czoom_x = cedit_x + edit_w + widget_border;
- czoom_y = cedit_y + widget_border;
-//printf("Theme::get_cwindow_sizes %d %d %d\n", __LINE__, czoom_x, zoom_w);
+ czoom_y = panel_y;
cstatus_x = czoom_x + zoom_w + division_w;
- cstatus_y = ctransport_y;
+ cstatus_y = panel_y;
}
-
+ buttons_h += ctimebar_h;
ccomposite_x = xS(0);
ccomposite_y = yS(5);
}
-void Theme::draw_resource_bg(TrackCanvas *canvas, ResourcePixmap *pixmap, int color,
- int edit_x, int edit_w, int pixmap_x, int x1, int y1, int x2, int y2)
+void Theme::draw_resource_bg(TrackCanvas *canvas, ResourcePixmap *pixmap,
+ int color, Edit *edit, int edit_x, int edit_w,
+ int pixmap_x, int x1, int y1, int x2, int y2)
{
VFrame *image = 0;
-
- switch(mwindow->edl->local_session->zoom_track) {
+ int data_h = edit->track->data_h;
+ switch( data_h ) {
case 1024: image = get_image("resource1024"); break;
case 512: image = get_image("resource512"); break;
case 256: image = get_image("resource256"); break;
void Theme::get_vwindow_sizes(VWindowGUI *gui)
{
- int edit_w = EditPanel::calculate_w(mwindow, 0, 10);
+ int edit_w = EditPanel::calculate_w(mwindow, 0, 12);
int transport_w = PlayTransport::get_transport_width(mwindow) + toggle_margin;
// Space between buttons & time
int division_w = xS(30);
- vtime_w = xS(150);
+ vtime_w = xS(120);
vtimebar_h = yS(16);
int vtime_border = xS(15);
vmeter_y = widget_border;
vmeter_h = mwindow->session->vwindow_h - cmeter_y - widget_border;
- int buttons_h;
if(mwindow->edl->session->vwindow_meter)
{
vmeter_x = mwindow->session->vwindow_w -
}
else
{
- vmeter_x = mwindow->session->vwindow_w + widget_border;
+ vmeter_x = mwindow->session->vwindow_w;
}
vcanvas_x = 0;
vcanvas_y = 0;
vcanvas_w = vmeter_x - vcanvas_x - widget_border;
- if(edit_w +
- widget_border * 2 +
- transport_w + widget_border +
- vtime_w + division_w +
- vtime_border > vmeter_x)
- {
- buttons_h = get_image("vbuttons_left")->get_h();
+ int buttons_h = get_image("rewind")->get_h() + widget_border;
+ int panel_y = mwindow->session->vwindow_h - buttons_h + yS(4);
+ vtransport_x = widget_border;
+ if( vtransport_x + transport_w + widget_border +
+ edit_w + widget_border + vtime_w + xS(40) + widget_border > vmeter_x ) {
+ vtransport_y = panel_y;
+ vzoom_x = vtransport_x + transport_w + widget_border;
+ vzoom_y = panel_y;
+ vdivision_x = xS(320);
+ vtime_x = vdivision_x;
+ vtime_y = panel_y;
+ int edit_h = EditPanel::calculate_h(mwindow) + widget_border;
+ buttons_h += edit_h; panel_y -= edit_h;
vedit_x = widget_border;
- vedit_y = mwindow->session->vwindow_h -
- buttons_h +
- vtimebar_h +
- widget_border;
-
- vtransport_x = widget_border;
- vtransport_y = mwindow->session->vwindow_h -
- get_image_set("autokeyframe")[0]->get_h() -
- widget_border;
-
- vdivision_x = xS(280);
- vtime_x = vedit_x + xS(20); //vdivision_x;
- vtime_y = vedit_y + yS(30); //+ yS(20);
+ vedit_y = panel_y;
}
- else
- {
- buttons_h = vtimebar_h +
- widget_border +
- EditPanel::calculate_h(mwindow) +
- widget_border;
+ else {
vtransport_x = widget_border;
- vtransport_y = mwindow->session->vwindow_h -
- buttons_h +
- vtimebar_h +
- widget_border;
-
+ vtransport_y = panel_y;
vedit_x = vtransport_x + transport_w + widget_border;
- vedit_y = vtransport_y;
-
+ vedit_y = panel_y;
vdivision_x = vedit_x + edit_w + division_w;
vtime_x = vdivision_x + vtime_border;
- vtime_y = vedit_y + widget_border;
+ vtime_y = panel_y;
}
-
+ buttons_h += vtimebar_h;
// vtimebar_x = vcanvas_x;
// vtimebar_y = vcanvas_y + vcanvas_h;
vtimebar_x = 0;
vtimebar_y = vcanvas_y + vcanvas_h;
vtimebar_w = vmeter_x - widget_border;
-
}