{
this->gui = gui;
this->pane = 0;
+// *** CONTEXT_HELP ***
+ context_help_set_keyword("Time Format section");
}
MTimeBar::MTimeBar(MWindow *mwindow,
{
this->gui = mwindow->gui;
this->pane = pane;
+// *** CONTEXT_HELP ***
+ context_help_set_keyword("Time Format section");
}
void MTimeBar::create_objects()
gui->stop_transport("MTimeBar::stop_transport");
}
-#define TEXT_MARGIN 4
-#define TICK_SPACING 5
-#define LINE_MARGIN 3
-#define TICK_MARGIN 16
+#define TEXT_MARGIN xS(4)
+#define TICK_SPACING xS(5)
+#define LINE_MARGIN yS(3)
+#define TICK_MARGIN yS(16)
+
void MTimeBar::draw_time()
{
}
case TIME_FRAMES:
+ case TIME_TIMECODE:
case TIME_HMSF:
// One frame per text mark
if(frame_seconds >= min_time)
// Set tick interval
tick_interval = text_interval;
+ double timecode_offset = 0;
switch(mwindow->edl->session->time_format)
{
- case TIME_HMSF:
+ case TIME_TIMECODE:
+ timecode_offset = mwindow->get_timecode_offset(); // fall thru
case TIME_FEET_FRAMES:
+ case TIME_HMSF:
case TIME_FRAMES:
if(frame_seconds / time_per_pixel > TICK_SPACING)
tick_interval = frame_seconds;
mwindow->edl->session->time_format,
sample_rate,
mwindow->edl->session->frame_rate,
- mwindow->edl->session->frames_per_foot);
+ mwindow->edl->session->frames_per_foot,
+ timecode_offset);
set_color(get_resources()->default_text_color);
set_font(MEDIUMFONT);
draw_text(pixel + TEXT_MARGIN, get_text_ascent(MEDIUMFONT), string);
- draw_line(pixel, LINE_MARGIN, pixel, get_h() - 2);
+ draw_line(pixel, LINE_MARGIN, pixel, get_h() - yS(2));
double position2 = start_position + text_interval * (iteration + 1);
int pixel2 = (int64_t)(position2 / time_per_pixel) -
mwindow->edl->local_session->view_start[pane->number];
if(labs(pixel - pixel1) > 1 &&
labs(pixel - pixel2) > 1)
- draw_line(pixel, TICK_MARGIN, pixel, get_h() - 2);
+ draw_line(pixel, TICK_MARGIN, pixel, get_h() - yS(2));
}
iteration++;
}
}
-
-
-
-
TimeBarPopupItem::TimeBarPopupItem(MWindow *mwindow,
TimeBarPopup *menu,
const char *text,
TimeBarPopup::TimeBarPopup(MWindow *mwindow)
- : BC_PopupMenu(0,
- 0,
- 0,
- "",
- 0)
+ : BC_PopupMenu(0, 0, 0, "", 0)
{
this->mwindow = mwindow;
}
void TimeBarPopup::create_objects()
{
add_item(items[0] = new TimeBarPopupItem(mwindow,
- this,
- TIME_HMS_TEXT,
- TIME_HMS));
+ this, TIME_HMS_TEXT, TIME_HMS));
add_item(items[1] = new TimeBarPopupItem(mwindow,
- this,
- TIME_HMSF_TEXT,
- TIME_HMSF));
+ this, TIME_HMSF_TEXT, TIME_HMSF));
add_item(items[2] = new TimeBarPopupItem(mwindow,
- this,
- TIME_FRAMES_TEXT,
- TIME_FRAMES));
+ this, TIME_TIMECODE_TEXT, TIME_TIMECODE));
add_item(items[3] = new TimeBarPopupItem(mwindow,
- this,
- TIME_SAMPLES_TEXT,
- TIME_SAMPLES));
+ this, TIME_FRAMES_TEXT, TIME_FRAMES));
add_item(items[4] = new TimeBarPopupItem(mwindow,
- this,
- TIME_SAMPLES_HEX_TEXT,
- TIME_SAMPLES_HEX));
+ this, TIME_SAMPLES_TEXT, TIME_SAMPLES));
add_item(items[5] = new TimeBarPopupItem(mwindow,
- this,
- TIME_SECONDS_TEXT,
- TIME_SECONDS));
+ this, TIME_SAMPLES_HEX_TEXT, TIME_SAMPLES_HEX));
add_item(items[6] = new TimeBarPopupItem(mwindow,
- this,
- TIME_FEET_FRAMES_TEXT,
- TIME_FEET_FRAMES));
+ this, TIME_SECONDS_TEXT, TIME_SECONDS));
+ add_item(items[7] = new TimeBarPopupItem(mwindow,
+ this, TIME_FEET_FRAMES_TEXT, TIME_FEET_FRAMES));
}
void TimeBarPopup::update()
{
- for(int i = 0; i < TOTAL_TIMEFORMATS; i++)
- {
- if(items[i]->value == mwindow->edl->session->time_format)
- {
- items[i]->set_checked(1);
- }
- else
- {
- items[i]->set_checked(0);
- }
+ int time_format = mwindow->edl->session->time_format;
+ for( int i=0; i<TOTAL_TIMEFORMATS; ++i ) {
+ items[i]->set_checked(items[i]->value == time_format);
}
}