Exciting new Alt/h help key provided by sge (Georgy) with many thanks!
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / recordprefs.C
index 5a023a228a485b9fedf15540d95c4aea8a0b885d..04e177cab3e8fdea35b0d262cedaa9a095c98e79 100644 (file)
@@ -42,6 +42,8 @@ RecordPrefs::RecordPrefs(MWindow *mwindow, PreferencesWindow *pwindow)
  : PreferencesDialog(mwindow, pwindow)
 {
        this->mwindow = mwindow;
+// *** CONTEXT_HELP ***
+       context_help_set_keyword("Recording");
 }
 
 RecordPrefs::~RecordPrefs()
@@ -54,6 +56,8 @@ RecordPrefs::~RecordPrefs()
 
 void RecordPrefs::create_objects()
 {
+       int xs5 = xS(5), xs10 = xS(10), xs30 = xS(30);
+       int ys5 = yS(5), ys27 = yS(27), ys30 = yS(30);
        int x, y, x1, x2;
        char string[BCTEXTLEN];
        BC_Resources *resources = BC_WindowBase::get_resources();
@@ -68,6 +72,7 @@ void RecordPrefs::create_objects()
 
        add_subwindow(title = new BC_Title(x, y, _("File Format:"),
                LARGEFONT, resources->text_default));
+       title->context_help_set_keyword("File Format section");
        y += title->get_h() + margin;
 
        recording_format = new FormatTools(mwindow, this,
@@ -86,8 +91,9 @@ void RecordPrefs::create_objects()
                0); // Supply file formats for background rendering
 
        realtime_toc = new RecordRealtimeTOC(mwindow, pwindow,
-               x0+400, y0, pwindow->thread->edl->session->record_realtime_toc);
+               x0+xS(400), y0, pwindow->thread->edl->session->record_realtime_toc);
        add_subwindow(realtime_toc);
+       realtime_toc->context_help_set_keyword("File Format section");
 
 // Audio hardware
        add_subwindow(new BC_Bar(x, y,  get_w() - x * 2));
@@ -97,26 +103,29 @@ void RecordPrefs::create_objects()
        add_subwindow(title = new BC_Title(x, y,
                _("Audio In"), LARGEFONT,
                resources->text_default));
+       title->context_help_set_keyword("Audio In section");
 
        y += title->get_h() + margin;
 
-       add_subwindow(new BC_Title(x, y, _("Record Driver:"),
+       add_subwindow(title = new BC_Title(x, y, _("Record Driver:"),
                MEDIUMFONT, resources->text_default));
-       audio_in_device = new ADevicePrefs(x + 110, y, pwindow, this, 0,
+       title->context_help_set_keyword("Audio In section");
+       audio_in_device = new ADevicePrefs(x + xS(110), y, pwindow, this, 0,
                pwindow->thread->edl->session->aconfig_in, MODERECORD);
        audio_in_device->initialize(1);
        y += audio_in_device->get_h(1) + margin;
 
 
        int pad = RecordWriteLength::calculate_h(this,
-               MEDIUMFONT,
-               1,
-               1) +
-               mwindow->theme->widget_border;
+               MEDIUMFONT, 1, 1) + mwindow->theme->widget_border;
        add_subwindow(title0 = new BC_Title(x, y, _("Samples read from device:")));
+       title0->context_help_set_keyword("Audio In section");
        add_subwindow(title1 = new BC_Title(x, y + pad, _("Samples to write to disk:")));
+       title1->context_help_set_keyword("Audio In section");
        add_subwindow(title2 = new BC_Title(x, y + pad * 2, _("Sample rate for recording:")));
+       title2->context_help_set_keyword("Audio In section");
        add_subwindow(title3 = new BC_Title(x, y + pad * 3, _("Channels to record:")));
+       title3->context_help_set_keyword("Audio In section");
        x2 = MAX(title0->get_w(), title1->get_w()) + margin;
        x2 = MAX(x2, title2->get_w() + margin);
        x2 = MAX(x2, title3->get_w() + margin);
@@ -124,11 +133,7 @@ void RecordPrefs::create_objects()
 
        sprintf(string, "%ld", (long)pwindow->thread->edl->session->record_fragment_size);
        RecordFragment *menu;
-       add_subwindow(menu = new RecordFragment(x2,
-               y,
-               pwindow,
-               this,
-               string));
+       add_subwindow(menu = new RecordFragment(x2, y, pwindow, this, string));
        y += menu->get_h() + mwindow->theme->widget_border;
        menu->add_item(new BC_MenuItem("1024"));
        menu->add_item(new BC_MenuItem("2048"));
@@ -139,15 +144,15 @@ void RecordPrefs::create_objects()
        menu->add_item(new BC_MenuItem("65536"));
        menu->add_item(new BC_MenuItem("131072"));
        menu->add_item(new BC_MenuItem("262144"));
+       menu->context_help_set_keyword("Audio In section");
 
        sprintf(string, "%jd", pwindow->thread->edl->session->record_write_length);
        add_subwindow(textbox = new RecordWriteLength(mwindow, pwindow, x2, y, string));
+       textbox->context_help_set_keyword("Audio In section");
        y += textbox->get_h() + mwindow->theme->widget_border;
        add_subwindow(textbox = new RecordSampleRate(pwindow, x2, y));
-       add_subwindow(new SampleRatePulldown(mwindow,
-               textbox,
-               x2 + textbox->get_w(),
-               y));
+       textbox->context_help_set_keyword("Audio In section");
+       add_subwindow(new SampleRatePulldown(mwindow, textbox, x2 + textbox->get_w(), y));
        y += textbox->get_h() + mwindow->theme->widget_border;
 
        RecordChannels *channels = new RecordChannels(pwindow, this, x2, y);
@@ -157,84 +162,102 @@ void RecordPrefs::create_objects()
        RecordMap51_2 *record_map51_2 = new RecordMap51_2(mwindow, pwindow, x, y,
                pwindow->thread->edl->session->aconfig_in->map51_2);
        add_subwindow(record_map51_2);
+       record_map51_2->context_help_set_keyword("Audio In section");
 
-       x2 = x + record_map51_2->get_w() + 30;
+       x2 = x + record_map51_2->get_w() + xs30;
        int y2 = y + BC_TextBox::calculate_h(this,MEDIUMFONT,1,1) - get_text_height(MEDIUMFONT);
        add_subwindow(title = new BC_Title(x2, y2, _("Gain:")));
-       x2 += title->get_w() + 8;
+       title->context_help_set_keyword("Audio In section");
+       x2 += title->get_w() + xS(8);
        RecordGain *rec_gain = new RecordGain(pwindow, this, x2, y);
        rec_gain->create_objects();
 
-       x2 += rec_gain->get_w() + 30;
+       x2 += rec_gain->get_w() + xs30;
        add_subwindow(new RecordRealTime(mwindow, pwindow, x2, y,
                pwindow->thread->edl->session->real_time_record));
-       y += 30;
-       x = 5;
+       y += ys30;
+       x = xs5;
 
 
 // Video hardware
-       add_subwindow(new BC_Bar(5, y,  get_w() - 10));
+       add_subwindow(new BC_Bar(xs5, y, get_w() - xs10));
        y += margin;
 
        add_subwindow(title1 = new BC_Title(x, y, _("Video In"), LARGEFONT,
                resources->text_default));
+       title1->context_help_set_keyword("Video In section");
        y += title1->get_h() + margin;
 
        add_subwindow(title1 = new BC_Title(x, y, _("Record Driver:"), MEDIUMFONT,
                resources->text_default));
+       title1->context_help_set_keyword("Video In section");
        video_in_device = new VDevicePrefs(x + title1->get_w() + margin, y,
                pwindow, this, 0, pwindow->thread->edl->session->vconfig_in, MODERECORD);
        video_in_device->initialize(1);
        y += video_in_device->get_h() + margin;
 
        add_subwindow(title1 = new BC_Title(x, y, _("Frames to record to disk at a time:")));
+       title1->context_help_set_keyword("Video In section");
        x1 = x + title1->get_w() + margin;
        sprintf(string, "%d", pwindow->thread->edl->session->video_write_length);
        add_subwindow(textbox = new VideoWriteLength(pwindow, string, x1, y));
+       textbox->context_help_set_keyword("Video In section");
        x1 += textbox->get_w() + margin;
        add_subwindow(new CaptureLengthTumbler(pwindow, textbox, x1, y));
-       y += 27;
+       y += ys27;
 
        add_subwindow(title1 = new BC_Title(x, y, _("Frames to buffer in device:")));
+       title1->context_help_set_keyword("Video In section");
        x1 = x + title1->get_w() + margin;
        sprintf(string, "%d", pwindow->thread->edl->session->vconfig_in->capture_length);
        add_subwindow(textbox = new VideoCaptureLength(pwindow, string, x1, y));
+       textbox->context_help_set_keyword("Video In section");
        x1 += textbox->get_w() + margin;
        add_subwindow(new CaptureLengthTumbler(pwindow, textbox, x1, y));
-       y += 27;
+       y += ys27;
 
        x1 = x;
-       add_subwindow(new BC_Title(x1, y, _("Positioning:")));
-       x1 += 100;
-       add_subwindow(textbox = new BC_TextBox(x1, y, 200, 1, ""));
+       add_subwindow(title1 = new BC_Title(x1, y, _("Positioning:")));
+       title1->context_help_set_keyword("Video In section");
+       x1 += xS(120);
+       add_subwindow(textbox = new BC_TextBox(x1, y, xS(200), 1, ""));
+       textbox->context_help_set_keyword("Video In section");
        RecordPositioning *positioning = new RecordPositioning(pwindow,textbox);
        add_subwindow(positioning);
        positioning->create_objects();
-       y += positioning->get_h() + 5;
+       positioning->context_help_set_keyword("Video In section");
+       y += positioning->get_h() + ys5;
 
        add_subwindow(new RecordSyncDrives(pwindow,
                pwindow->thread->edl->session->record_sync_drives,
                x, y));
-       y += 35;
+       y += yS(35);
 
        BC_TextBox *w_text, *h_text;
        add_subwindow(title1 = new BC_Title(x, y, _("Size of captured frame:")));
+       title1->context_help_set_keyword("Video In section");
        x += title1->get_w() + margin;
        add_subwindow(w_text = new RecordW(pwindow, x, y));
+       w_text->context_help_set_keyword("Video In section");
        x += w_text->get_w() + margin;
        add_subwindow(title1 = new BC_Title(x, y, "x"));
+       title1->context_help_set_keyword("Video In section");
        x += title1->get_w() + margin;
        add_subwindow(h_text = new RecordH(pwindow, x, y));
+       h_text->context_help_set_keyword("Video In section");
        x += h_text->get_w() + margin;
-       FrameSizePulldown *tumbler;
-       add_subwindow(tumbler = new FrameSizePulldown(mwindow->theme, 
+       FrameSizePulldown *frame_sizes;
+       add_subwindow(frame_sizes = new FrameSizePulldown(mwindow->theme,
                w_text, h_text, x, y));
-       y += tumbler->get_h() + margin;
+       frame_sizes->context_help_set_keyword("Video In section");
+       y += frame_sizes->get_h() + margin;
 
        x = mwindow->theme->preferencesoptions_x;
        add_subwindow(title1 = new BC_Title(x, y, _("Frame rate for recording:")));
+       title1->context_help_set_keyword("Video In section");
        x += title1->get_w() + margin;
        add_subwindow(textbox = new RecordFrameRate(pwindow, x, y));
+       textbox->context_help_set_keyword("Video In section");
        x += textbox->get_w() + margin;
        add_subwindow(new FrameRatePulldown(mwindow, textbox, x, y));
 
@@ -252,19 +275,12 @@ int RecordPrefs::show_window(int flush)
 }
 
 
-
-
-
 RecordFragment::RecordFragment(int x,
        int y,
        PreferencesWindow *pwindow,
        RecordPrefs *record,
        char *text)
- : BC_PopupMenu(x,
-       y,
-       100,
-       text,
-       1)
+ : BC_PopupMenu(x, y, xS(100), text, 1)
 {
        this->pwindow = pwindow;
        this->record = record;
@@ -277,13 +293,8 @@ int RecordFragment::handle_event()
 }
 
 
-
-
-
-
-
 RecordWriteLength::RecordWriteLength(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, char *text)
- : BC_TextBox(x, y, 100, 1, text)
+ : BC_TextBox(x, y, xS(100), 1, text)
 {
        this->pwindow = pwindow;
 }
@@ -301,6 +312,8 @@ RecordRealTime::RecordRealTime(MWindow *mwindow,
        _("Record in realtime priority (root only)"))
 {
        this->pwindow = pwindow;
+// *** CONTEXT_HELP ***
+       context_help_set_keyword("Audio In section");
 }
 
 int RecordRealTime::handle_event()
@@ -325,7 +338,7 @@ int RecordMap51_2::handle_event()
 
 
 RecordSampleRate::RecordSampleRate(PreferencesWindow *pwindow, int x, int y)
- : BC_TextBox(x, y, 70, 1, pwindow->thread->edl->session->aconfig_in->in_samplerate)
+ : BC_TextBox(x, y, xS(70), 1, pwindow->thread->edl->session->aconfig_in->in_samplerate)
 {
        this->pwindow = pwindow;
 }
@@ -362,7 +375,7 @@ int RecordRealtimeTOC::handle_event()
 
 
 RecordW::RecordW(PreferencesWindow *pwindow, int x, int y)
- : BC_TextBox(x, y, 70, 1, pwindow->thread->edl->session->vconfig_in->w)
+ : BC_TextBox(x, y, xS(70), 1, pwindow->thread->edl->session->vconfig_in->w)
 {
        this->pwindow = pwindow;
 }
@@ -373,7 +386,7 @@ int RecordW::handle_event()
 }
 
 RecordH::RecordH(PreferencesWindow *pwindow, int x, int y)
- : BC_TextBox(x, y, 70, 1, pwindow->thread->edl->session->vconfig_in->h)
+ : BC_TextBox(x, y, xS(70), 1, pwindow->thread->edl->session->vconfig_in->h)
 {
        this->pwindow = pwindow;
 }
@@ -384,7 +397,7 @@ int RecordH::handle_event()
 }
 
 RecordFrameRate::RecordFrameRate(PreferencesWindow *pwindow, int x, int y)
- : BC_TextBox(x, y, 140, 1, pwindow->thread->edl->session->vconfig_in->in_framerate)
+ : BC_TextBox(x, y, xS(140), 1, pwindow->thread->edl->session->vconfig_in->in_framerate)
 {
        this->pwindow = pwindow;
 }
@@ -399,7 +412,7 @@ int RecordFrameRate::handle_event()
 RecordChannels::RecordChannels(PreferencesWindow *pwindow, BC_SubWindow *gui, int x, int y)
  : BC_TumbleTextBox(gui,
                pwindow->thread->edl->session->aconfig_in->channels,
-               1, MAX_CHANNELS, x, y, 100)
+               1, MAX_CHANNELS, x, y, xS(100))
 {
        this->pwindow = pwindow;
 }
@@ -413,7 +426,7 @@ int RecordChannels::handle_event()
 RecordGain::RecordGain(PreferencesWindow *pwindow, BC_SubWindow *gui, int x, int y)
  : BC_TumbleTextBox(gui,
                pwindow->thread->edl->session->aconfig_in->rec_gain,
-               0.0001f, 10000.0f, x, y, 72)
+               0.0001f, 10000.0f, x, y, xS(72))
 {
        this->pwindow = pwindow;
        this->set_increment(0.1);
@@ -428,7 +441,7 @@ int RecordGain::handle_event()
 
 
 VideoWriteLength::VideoWriteLength(PreferencesWindow *pwindow, char *text, int x, int y)
- : BC_TextBox(x, y, 100, 1, text)
+ : BC_TextBox(x, y, xS(100), 1, text)
 {
        this->pwindow = pwindow;
 }
@@ -441,7 +454,7 @@ int VideoWriteLength::handle_event()
 
 
 VideoCaptureLength::VideoCaptureLength(PreferencesWindow *pwindow, char *text, int x, int y)
- : BC_TextBox(x, y, 100, 1, text)
+ : BC_TextBox(x, y, xS(100), 1, text)
 {
        this->pwindow = pwindow;
 }
@@ -457,6 +470,8 @@ CaptureLengthTumbler::CaptureLengthTumbler(PreferencesWindow *pwindow, BC_TextBo
 {
        this->pwindow = pwindow;
        this->text = text;
+// *** CONTEXT_HELP ***
+       context_help_set_keyword("Video In section");
 }
 
 int CaptureLengthTumbler::handle_up_event()
@@ -484,7 +499,7 @@ int CaptureLengthTumbler::handle_down_event()
 
 RecordPositioning::RecordPositioning(PreferencesWindow *pwindow, BC_TextBox *textbox)
  : BC_ListBox(textbox->get_x() + textbox->get_w(), textbox->get_y(),
-                200, 100, LISTBOX_TEXT, &position_type, 0, 0, 1, 0, 1)
+                xS(200), yS(100), LISTBOX_TEXT, &position_type, 0, 0, 1, 0, 1)
 {
        this->pwindow = pwindow;
        this->textbox = textbox;
@@ -520,6 +535,8 @@ RecordSyncDrives::RecordSyncDrives(PreferencesWindow *pwindow, int value, int x,
  : BC_CheckBox(x, y, value, _("Sync drives automatically"))
 {
        this->pwindow = pwindow;
+// *** CONTEXT_HELP ***
+       context_help_set_keyword("Video In section");
 }
 
 int RecordSyncDrives::handle_event()