void ClipEditWindow::create_objects() { lock_window("ClipEditWindow::create_objects"); this->create_it = thread->create_it; int x = 10, y = 10; int x1 = x; BC_TextBox *textbox; BC_TextBox *titlebox; BC_Title *title; add_subwindow(title = new BC_Title(x1, y, _("Title:"))); y += title->get_h() + 5; add_subwindow(titlebox = new ClipEditTitle(this, x1, y, get_w() - x1 * 2)); y += titlebox->get_h() + 10; add_subwindow(title = new BC_Title(x1, y, _("Comments:"))); y += title->get_h() + 5; add_subwindow(textbox = new ClipEditComments(this, x1, y, get_w() - x1 * 2, BC_TextBox::pixels_to_rows(this, MEDIUMFONT, get_h() - 10 - BC_OKButton::calculate_h() - y))); add_subwindow(new BC_OKButton(this)); add_subwindow(new BC_CancelButton(this)); show_window(); titlebox->activate(); unlock_window(); }
void CreateDVD_GUI::create_objects() { lock_window("CreateDVD_GUI::create_objects"); int pady = BC_TextBox::calculate_h(this, MEDIUMFONT, 0, 1) + 5; int padx = BC_Title::calculate_w(this, (char*)"X", MEDIUMFONT); int x = padx/2, y = pady/2; BC_Title *title = new BC_Title(x, y, "Title:", MEDIUMFONT, YELLOW); add_subwindow(title); at_x = x + title->get_w(); at_y = y; asset_title = new CreateDVD_AssetTitle(this, at_x, at_y, get_w()-at_x-10); add_subwindow(asset_title); y += title->get_h() + pady/2; title = new BC_Title(x, y, "tmp path:", MEDIUMFONT, YELLOW); add_subwindow(title); tmp_x = x + title->get_w(); tmp_y = y; tmp_path = new CreateDVD_TmpPath(this, tmp_x, tmp_y, get_w()-tmp_x-10); add_subwindow(tmp_path); y += title->get_h() + pady/2; disk_space = new CreateDVD_DiskSpace(this, x, y); add_subwindow(disk_space); disk_space->update(); y += disk_space->get_h() + pady/2; need_deinterlace = new CreateDVD_Deinterlace(this, x, y); add_subwindow(need_deinterlace); int x1 = x + 150, x2 = x1 + 150; need_inverse_telecine = new CreateDVD_InverseTelecine(this, x1, y); add_subwindow(need_inverse_telecine); need_use_ffmpeg = new CreateDVD_UseFFMpeg(this, x2, y); add_subwindow(need_use_ffmpeg); y += need_deinterlace->get_h() + pady/2; need_scale = new CreateDVD_Scale(this, x, y); add_subwindow(need_scale); need_wide_audio = new CreateDVD_WideAudio(this, x1, y); add_subwindow(need_wide_audio); need_resize_tracks = new CreateDVD_ResizeTracks(this, x2, y); add_subwindow(need_resize_tracks); y += need_scale->get_h() + pady/2; need_histogram = new CreateDVD_Histogram(this, x, y); add_subwindow(need_histogram); need_wide_aspect = new CreateDVD_WideAspect(this, x1, y); add_subwindow(need_wide_aspect); need_label_chapters = new CreateDVD_LabelChapters(this, x2, y); add_subwindow(need_label_chapters); ok_w = BC_OKButton::calculate_w(); ok_h = BC_OKButton::calculate_h(); ok_x = 10; ok_y = get_h() - ok_h - 10; ok = new CreateDVD_OK(this, ok_x, ok_y); add_subwindow(ok); cancel_w = BC_CancelButton::calculate_w(); cancel_h = BC_CancelButton::calculate_h(); cancel_x = get_w() - cancel_w - 10, cancel_y = get_h() - cancel_h - 10; cancel = new CreateDVD_Cancel(this, cancel_x, cancel_y); add_subwindow(cancel); show_window(); unlock_window(); }
void TimeAvgWindow::create_objects() { int x = 10, y = 10; BC_Bar *bar; BC_Title *title; add_tool(title = new BC_Title(x, y, _("Frame count:"))); y += title->get_h() + 5; add_tool(total_frames = new TimeAvgSlider(client, x, y)); y += 30; add_tool(paranoid = new TimeAvgParanoid(client, x, y)); y += 30; add_tool(no_subtract = new TimeAvgNoSubtract(client, x, y)); y += 30; add_tool(bar = new BC_Bar(x, y, get_w() - x * 2)); y += bar->get_h() + 5; add_tool(avg = new TimeAvgAvg(client, this, x, y)); y += 30; add_tool(accum = new TimeAvgAccum(client, this, x, y)); y += 30; add_tool(bar = new BC_Bar(x, y, get_w() - x * 2)); y += bar->get_h() + 5; add_tool(replace = new TimeAvgReplace(client, this, x, y)); y += 30; add_tool(new BC_Title(x, y, _("Threshold:"))); y += title->get_h() + 5; add_tool(threshold = new TimeThresholdSlider(client, x, y)); y += 30; add_tool(new BC_Title(x, y, _("Border:"))); y += title->get_h() + 5; add_tool(border = new TimeBorderSlider(client, x, y)); y += 30; add_tool(bar = new BC_Bar(x, y, get_w() - x * 2)); y += bar->get_h() + 5; add_tool(greater = new TimeAvgGreater(client, this, x, y)); y += 30; add_tool(less = new TimeAvgLess(client, this, x, y)); y += 30; update_toggles(); show_window(); flush(); }
void BlurWindow::create_objects() { int x = 10, y = 10; BC_Title *title; add_subwindow(new BC_Title(x, y, _("Blur"))); y += 20; add_subwindow(horizontal = new BlurHorizontal(client, this, x, y)); y += 30; add_subwindow(vertical = new BlurVertical(client, this, x, y)); y += 35; add_subwindow(title = new BC_Title(x, y, _("Radius:"))); y += title->get_h() + 10; add_subwindow(radius = new BlurRadius(client, this, x, y)); add_subwindow(radius_text = new BlurRadiusText(client, this, x + radius->get_w() + 10, y, 100)); y += radius->get_h() + 10; add_subwindow(a_key = new BlurAKey(client, x, y)); y += 30; add_subwindow(a = new BlurA(client, x, y)); y += 30; add_subwindow(r = new BlurR(client, x, y)); y += 30; add_subwindow(g = new BlurG(client, x, y)); y += 30; add_subwindow(b = new BlurB(client, x, y)); show_window(); flush(); }
void LiveVideoWindow::create_objects() { int x = 10, y = 10; for(int i = 0; i < plugin->channeldb->size(); i++) { BC_ListBoxItem *current; channel_list.append(current = new BC_ListBoxItem(plugin->channeldb->get(i)->title)); if(i == plugin->config.channel) current->set_selected(1); } add_subwindow(title = new BC_Title(x, y, _("Channels:"))); y += title->get_h() + 5; add_subwindow(list = new LiveChannelList(plugin, this, x, y, get_w() - x - 10, get_h() - y - BC_OKButton::calculate_h() - 10 - 10)); y += list->get_h() + 10; add_subwindow(select = new LiveChannelSelect(plugin, this, x, y)); show_window(); flush(); }
void PhotoScaleWindow::create_objects() { int x = 10, y = 10; BC_Title *title; int x2 = x + BC_Title::calculate_w(this, _("Height:")) + plugin->get_theme()->widget_border; add_subwindow(title = new BC_Title(x, y, _("Output size:"))); y += title->get_h() + plugin->get_theme()->widget_border; add_subwindow(title = new BC_Title(x, y, _("Width:"))); add_subwindow(output_size[0] = new PhotoScaleSizeText( plugin, this, x2, y, 100, &(plugin->config.width))); y += output_size[0]->get_h() + plugin->get_theme()->widget_border; add_subwindow(title = new BC_Title(x, y, _("Height:"))); add_subwindow(output_size[1] = new PhotoScaleSizeText( plugin, this, x2, y, 100, &(plugin->config.height))); FrameSizePulldown *pulldown; add_subwindow(pulldown = new FrameSizePulldown(plugin->get_theme(), output_size[0], output_size[1], x + title->get_w() + output_size[1]->get_w() + plugin->get_theme()->widget_border, y)); add_subwindow(new PhotoScaleSwapExtents( plugin, this, x + title->get_w() + output_size[1]->get_w() + plugin->get_theme()->widget_border + pulldown->get_w(), y)); y += pulldown->get_h() + plugin->get_theme()->widget_border; add_subwindow(file = new PhotoScaleFile(plugin, this, x, y)); y += file->get_h() + plugin->get_theme()->widget_border; add_subwindow(scan = new PhotoScaleScan(plugin, this, x, y)); show_window(); flush(); }
void ConfirmScan::create_objects() { int x = 10, y = 10; int y2 = 0, x2 = 0; BC_Title *title; add_subwindow(title = new BC_Title(x, y, _("Set parameters for channel scanning."))); y += title->get_h() + 10; y2 = y; add_subwindow(title = new BC_Title(x, y, _("Frequency table:"))); x2 = title->get_w(); y += BC_PopupMenu::calculate_h(); add_subwindow(title = new BC_Title(x, y, _("Norm:"))); x2 = MAX(x2, title->get_w()); y += BC_PopupMenu::calculate_h(); add_subwindow(title = new BC_Title(x, y, _("Input:"))); x2 = MAX(x2, title->get_w()); y += BC_PopupMenu::calculate_h(); x2 += x + 5; y = y2; x = x2; ChannelEditEditFreqtable *table; add_subwindow(table = new ChannelEditEditFreqtable(x, y, 0, gui->thread)); table->add_items(); y += table->get_h() + 10; ChannelEditEditNorm *norm; add_subwindow(norm = new ChannelEditEditNorm(x, y, 0, gui->thread)); norm->add_items(); y += norm->get_h() + 10; ChannelEditEditInput *input; add_subwindow(input = new ChannelEditEditInput(x, y, 0, gui->thread)); input->add_items(); add_subwindow(new BC_OKButton(this)); add_subwindow(new BC_CancelButton(this)); show_window(); }
void PitchWindow::create_objects() { int x1 = 10, x = 10, y = 10; BC_Title *title; add_subwindow(title = new BC_Title(x, y, _("Scale:"))); x += title->get_w() + plugin->get_theme()->widget_border; add_subwindow(scale = new PitchScale(plugin, x, y)); x = x1; y += scale->get_h() + plugin->get_theme()->widget_border; add_subwindow(title = new BC_Title(x, y, _("Window Size:"))); y += title->get_h() + plugin->get_theme()->widget_border; add_subwindow(size = new PitchSize(this, plugin, x, y)); size->create_objects(); size->update(plugin->config.size); show_window(); flush(); }
void ManualGotoWindow::create_objects() { int x = 76, y = 5; int x1 = x; int boxwidth = 26; BC_Title *title; add_subwindow(title = new BC_Title(x1 - 2, y, _("hour min sec msec"), SMALLFONT)); y += title->get_h() + 3; add_subwindow(signtitle = new BC_Title(x1 - 17, y, "=", LARGEFONT)); add_subwindow(boxhours = new ManualGotoNumber(this, x1, y, 16, 0, 9, 1)); x1 += boxhours->get_w() + 4; add_subwindow(boxminutes = new ManualGotoNumber(this, x1, y, 26, 0, 59, 2)); x1 += boxminutes->get_w() + 4; add_subwindow(boxseconds = new ManualGotoNumber(this, x1, y, 26, 0, 59, 2)); x1 += boxseconds->get_w() + 4; add_subwindow(boxmsec = new ManualGotoNumber(this, x1, y, 34, 0, 999, 3)); y += boxhours->get_h() + 10; add_subwindow(new BC_OKButton(this)); add_subwindow(new BC_CancelButton(this)); }
void TimeStretchWindow::create_objects() { int x = 10, y = 10; BC_Title *title; add_subwindow(title = new BC_Title(x, y, _("Fraction of original speed:"))); y += title->get_h() + plugin->get_theme()->widget_border; TimeStretchFraction *fraction; add_subwindow(fraction = new TimeStretchFraction(plugin, x, y)); y += fraction->get_h() + plugin->get_theme()->widget_border; add_subwindow(freq = new TimeStretchFreq(plugin, this, x, y)); y += freq->get_h() + plugin->get_theme()->widget_border; add_subwindow(time = new TimeStretchTime(plugin, this, x, y)); add_subwindow(new BC_OKButton(this)); add_subwindow(new BC_CancelButton(this)); show_window(); flush(); }
void LensGUI::create_objects() { int x = 10; int y = 10; int x1; BC_Title *title; LensToggle *toggle; for(int i = 0; i < FOV_CHANNELS; i++) { switch(i) { case 0: add_tool(title = new BC_Title(x, y, _("R Field of View:"))); break; case 1: add_tool(title = new BC_Title(x, y, _("G Field of View:"))); break; case 2: add_tool(title = new BC_Title(x, y, _("B Field of View:"))); break; case 3: add_tool(title = new BC_Title(x, y, _("A Field of View:"))); break; } y += title->get_h() + 5; add_tool(fov_slider[i] = new LensSlider(client, this, 0, &client->config.fov[i], x, y, 0.0001, 1.0)); x1 = x + fov_slider[i]->get_w() + 5; add_tool(fov_text[i] = new LensText(client, this, fov_slider[i], &client->config.fov[i], x1, y)); fov_slider[i]->text = fov_text[i]; y += fov_text[i]->get_h() + 5; } add_tool(toggle = new LensToggle(client, &client->lock, x, y, "Lock")); y += toggle->get_h() + 10; BC_Bar *bar; add_tool(bar = new BC_Bar(x, y, get_w() - x * 2)); y += bar->get_h() + 5; add_tool(title = new BC_Title(x, y, _("Aspect Ratio:"))); y += title->get_h() + 5; add_tool(aspect_slider = new LensSlider(client, this, 0, &client->config.aspect, x, y, 0.333, 3.0)); x1 = x + aspect_slider->get_w() + 5; add_tool(aspect_text = new LensText(client, this, aspect_slider, &client->config.aspect, x1, y)); aspect_slider->text = aspect_text; y += aspect_text->get_h() + 5; add_tool(title = new BC_Title(x, y, _("Radius:"))); y += title->get_h() + 5; add_tool(radius_slider = new LensSlider(client, this, 0, &client->config.radius, x, y, 0.333, 3.0)); x1 = x + radius_slider->get_w() + 5; add_tool(radius_text = new LensText(client, this, radius_slider, &client->config.radius, x1, y)); radius_slider->text = radius_text; y += radius_text->get_h() + 5; add_tool(title = new BC_Title(x, y, _("Center X:"))); y += title->get_h() + 5; add_tool(centerx_slider = new LensSlider(client, this, 0, &client->config.center_x, x, y, 0.0, 99.0)); x1 = x + centerx_slider->get_w() + 5; add_tool(centerx_text = new LensText(client, this, centerx_slider, &client->config.center_x, x1, y)); centerx_slider->text = centerx_text; centerx_slider->set_precision(1.0); y += centerx_text->get_h() + 5; add_tool(title = new BC_Title(x, y, _("Center Y:"))); y += title->get_h() + 5; add_tool(centery_slider = new LensSlider(client, this, 0, &client->config.center_y, x, y, 0.0, 99.0)); x1 = x + centery_slider->get_w() + 5; add_tool(centery_text = new LensText(client, this, centery_slider, &client->config.center_y, x1, y)); centery_slider->text = centery_text; centery_slider->set_precision(1.0); y += centery_text->get_h() + 10; add_tool(bar = new BC_Bar(x, y, get_w() - x * 2)); y += bar->get_h() + 5; // add_tool(reverse = new LensToggle(client, // &client->config.reverse, // x, // y, // _("Reverse"))); // y += reverse->get_h() + 5; add_tool(draw_guides = new LensToggle(client, &client->config.draw_guides, x, y, _("Draw center"))); y += draw_guides->get_h() + 5; add_tool(title = new BC_Title(x, y, _("Mode:"))); add_tool(mode = new LensMode(client, this, x + title->get_w() + 5, y)); mode->create_objects(); y += mode->get_h() + 5; // add_tool(title = new BC_Title(x, y, _("Preset:"))); // add_tool(presets = new LensPresets(client, // this, // x + title->get_w() + 5, // y, // get_w() - x - title->get_w() - 50)); // presets->create_objects(); // y += presets->get_h() + 5; // // add_tool(save_preset = new LensSavePreset(client, // this, // x, // y)); // add_tool(preset_text = new LensPresetText(client, // this, // x + save_preset->get_w() + 5, // y, // get_w() - x - save_preset->get_w() - 10)); // y += preset_text->get_h() + 5; // add_tool(delete_preset = new LensDeletePreset(client, // this, // x, // y)); show_window(); flush(); }
int RecordPrefs::create_objects() { int x, y, x2; char string[BCTEXTLEN]; BC_Resources *resources = BC_WindowBase::get_resources(); BC_Title *title; BC_WindowBase *win; int maxw, curw, ybix[5]; x = mwindow->theme->preferencesoptions_x; y = mwindow->theme->preferencesoptions_y; add_subwindow(title = new BC_Title(x, y, _("File Format:"), LARGEFONT, resources->text_default)); y += title->get_h() + 5; recording_format = new FormatTools(mwindow, this, pwindow->thread->edl->session->recording_format); recording_format->create_objects(x, y, 1, // Include tools for audio 1, // Include tools for video 1, // Include checkbox for audio 1, // Include checkbox for video 0, 1, 0, // Select compressors to be offered 1, // Prompt for recording options 0, // If nonzero, prompt for insertion strategy 0, // Supply file formats for background rendering 1); // Horizontal layout // Audio hardware add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; add_subwindow(title = new BC_Title(x, y, _("Audio In"), LARGEFONT, resources->text_default)); y += title->get_h(); win = add_subwindow(new BC_Title(x, y, _("Record Driver:"), MEDIUMFONT, resources->text_default)); y += win->get_h(); audio_in_device = new ADevicePrefs(x + 55, y, pwindow, this, 0, pwindow->thread->edl->session->aconfig_in, MODERECORD); audio_in_device->initialize(1); y += audio_in_device->get_h(1); BC_TextBox *textbox; BC_Title *title1, *title2, *title3; ybix[0] = y; add_subwindow(title1 = new BC_Title(x, y, _("Samples to write to disk at a time:"))); ybix[1] = y += title1->get_h() + 8; add_subwindow(title2 = new BC_Title(x, y, _("Sample rate for recording:"))); ybix[2] = y += title2->get_h() + 8; add_subwindow(title3 = new BC_Title(x, y, _("Channels to record:"))); x2 = MAX(title1->get_w(), title2->get_w()) + 10; x2 = MAX(x2, title3->get_w() + 10); sprintf(string, "%jd", pwindow->thread->edl->session->record_write_length); add_subwindow(textbox = new RecordWriteLength(mwindow, pwindow, x2, ybix[0], string)); add_subwindow(textbox = new SampleRateSelection(x2, ybix[1], this, &pwindow->thread->edl->session->aconfig_in->in_samplerate)); textbox->update(pwindow->thread->edl->session->aconfig_in->in_samplerate); RecordChannels *channels = new RecordChannels(pwindow, this, x2, ybix[2]); channels->create_objects(); y += title3->get_h() + 15; x = 5; // Video hardware add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; win = add_subwindow(new BC_Title(x, y, _("Video In"), LARGEFONT, resources->text_default)); y += win->get_h(); win = add_subwindow(new BC_Title(x, y, _("Record Driver:"), MEDIUMFONT, resources->text_default)); y += win->get_h() + 5; video_in_device = new VDevicePrefs(x + 55, y, pwindow, this, 0, pwindow->thread->edl->session->vconfig_in, MODERECORD); video_in_device->initialize(1); ybix[0] = y += 50; win = add_subwindow(new BC_Title(x, y, _("Frames to record to disk at a time:"))); ybix[1] = y += win->get_h() + 8; maxw = win->get_w(); win = add_subwindow(new BC_Title(x, y, _("Frames to buffer in device:"))); y += win->get_h() + 8; if((curw = win->get_w()) > maxw) maxw = curw; win = add_subwindow(new RecordSoftwareTimer(pwindow, pwindow->thread->edl->session->record_software_position, x, y)); y += win->get_h(); win = add_subwindow(new RecordSyncDrives(pwindow, pwindow->thread->edl->session->record_sync_drives, x, y)); ybix[2] = y += win->get_h() + 5; win = add_subwindow(new BC_Title(x, y, _("Size of captured frame:"))); ybix[3] = y += win->get_h() + 8; if((curw = win->get_w()) > maxw) maxw = curw; win = add_subwindow(new BC_Title(x, y, _("Frame rate for recording:"))); ybix[4] = y += win->get_h() + 15; if((curw = win->get_w()) > maxw) maxw = curw; maxw += x + 10; // Frames to record to disk at a time sprintf(string, "%d", pwindow->thread->edl->session->video_write_length); add_subwindow(textbox = new VideoWriteLength(pwindow, string, maxw, ybix[0])); add_subwindow(new CaptureLengthTumbler(pwindow, textbox, textbox->get_x() + textbox->get_w(), ybix[0])); // Frames to buffer in device sprintf(string, "%d", pwindow->thread->edl->session->vconfig_in->capture_length); add_subwindow(textbox = new VideoCaptureLength(pwindow, string, maxw, ybix[1])); add_subwindow(new CaptureLengthTumbler(pwindow, textbox, textbox->get_x() + textbox->get_w(), ybix[1])); // Size of captured frame BC_TextBox *w_text, *h_text; x = maxw; y = ybix[2]; FrameSizeSelection *fselector; add_subwindow(fselector = new FrameSizeSelection(x, y, x + SELECTION_TB_WIDTH + 12, y, this, &pwindow->thread->edl->session->vconfig_in->w, &pwindow->thread->edl->session->vconfig_in->h)); fselector->update(pwindow->thread->edl->session->vconfig_in->w, pwindow->thread->edl->session->vconfig_in->h); y = ybix[3]; x = maxw; add_subwindow(textbox = new FrameRateSelection(x, y, this, &pwindow->thread->edl->session->vconfig_in->in_framerate)); textbox->update(pwindow->thread->edl->session->vconfig_in->in_framerate); y = ybix[4]; x = 5; add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; add_subwindow(new BC_Title(x, y, _("Images"), LARGEFONT, get_resources()->text_default)); y += 25; win = add_subwindow(new StillImageUseDuration(pwindow, pwindow->thread->edl->session->si_useduration, x, y)); x += win->get_w() + 10; win = add_subwindow(new StillImageDuration(pwindow, x, y)); x += win->get_w() + 10; y += 3; add_subwindow(new BC_Title(x, y, _("Seconds"))); return 0; }
void InterfacePrefs::create_objects() { int x, y; BC_Resources *resources = BC_WindowBase::get_resources(); int margin = mwindow->theme->widget_border; char string[BCTEXTLEN]; x = mwindow->theme->preferencesoptions_x; y = mwindow->theme->preferencesoptions_y; add_subwindow(new BC_Title(x, y, _("Time Format"), LARGEFONT, resources->text_default)); y += get_text_height(LARGEFONT) + 5; add_subwindow(hms = new TimeFormatHMS(pwindow, this, pwindow->thread->edl->session->time_format == TIME_HMS, x, y)); y += 20; add_subwindow(hmsf = new TimeFormatHMSF(pwindow, this, pwindow->thread->edl->session->time_format == TIME_HMSF, x, y)); y += 20; add_subwindow(samples = new TimeFormatSamples(pwindow, this, pwindow->thread->edl->session->time_format == TIME_SAMPLES, x, y)); y += 20; add_subwindow(hex = new TimeFormatHex(pwindow, this, pwindow->thread->edl->session->time_format == TIME_SAMPLES_HEX, x, y)); y += 20; add_subwindow(frames = new TimeFormatFrames(pwindow, this, pwindow->thread->edl->session->time_format == TIME_FRAMES, x, y)); y += 20; int x1 = x; add_subwindow(feet = new TimeFormatFeet(pwindow, this, pwindow->thread->edl->session->time_format == TIME_FEET_FRAMES, x1, y)); x1 += feet->get_w() + margin; BC_Title *title; add_subwindow(title = new BC_Title(x1, y, _("Frames per foot:"))); x1 += title->get_w() + margin; sprintf(string, "%0.2f", pwindow->thread->edl->session->frames_per_foot); add_subwindow(new TimeFormatFeetSetting(pwindow, x1, y - 5, string)); y += 20; add_subwindow(seconds = new TimeFormatSeconds(pwindow, this, pwindow->thread->edl->session->time_format == TIME_SECONDS, x, y)); y += 35; add_subwindow(new UseTipWindow(pwindow, x, y)); add_subwindow(new UseWarnIndecies(pwindow, x+200, y)); y += 35; add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; add_subwindow(new BC_Title(x, y, _("Index files"), LARGEFONT, resources->text_default)); y += 25; add_subwindow(new BC_Title(x, y + 5, _("Index files go here:"), MEDIUMFONT, resources->text_default)); add_subwindow(ipathtext = new IndexPathText(x + 230, y, pwindow, pwindow->thread->preferences->index_directory)); add_subwindow(ipath = new BrowseButton(mwindow, this, ipathtext, x + 230 + ipathtext->get_w(), y, pwindow->thread->preferences->index_directory, _("Index Path"), _("Select the directory for index files"), 1)); y += 30; add_subwindow(new BC_Title(x, y + 5, _("Size of index file:"), MEDIUMFONT, resources->text_default)); sprintf(string, "" _LD "", pwindow->thread->preferences->index_size); x1 = x + 230; add_subwindow(isize = new IndexSize(x + 230, y, pwindow, string)); add_subwindow(new ScanCommercials(pwindow, 350,y)); y += 30; add_subwindow(new BC_Title(x, y + 5, _("Number of index files to keep:"), MEDIUMFONT, resources->text_default)); sprintf(string, "%ld", (long)pwindow->thread->preferences->index_count); add_subwindow(icount = new IndexCount(x + 230, y, pwindow, string)); add_subwindow(deleteall = new DeleteAllIndexes(mwindow, pwindow, 350, y)); y += 35; add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; add_subwindow(new BC_Title(x, y, _("Editing"), LARGEFONT, resources->text_default)); y += 35; add_subwindow(thumbnails = new ViewThumbnails(x, y, pwindow)); int x2 = x + 320, y2 = y; AndroidRemote *android_remote = new AndroidRemote(pwindow, x2, y2); add_subwindow(android_remote); y2 += android_remote->get_h() + 10; add_subwindow(title = new BC_Title(x2, y2, _("Port:"))); int x3 = x2 + title->get_w() + margin; AndroidPort *android_port = new AndroidPort(pwindow, x3, y2); add_subwindow(android_port); y2 += title->get_h() + 10; add_subwindow(title = new BC_Title(x2, y2, _("PIN:"))); AndroidPIN *android_pin = new AndroidPIN(pwindow, x3, y2); add_subwindow(android_pin); y += 35; add_subwindow(new BC_Title(x, y, _("Clicking on edit boundaries does what:"))); y += 25; add_subwindow(new BC_Title(x, y, _("Button 1:"))); ViewBehaviourText *text; add_subwindow(text = new ViewBehaviourText(80, y - 5, behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[0]), pwindow, &(pwindow->thread->edl->session->edit_handle_mode[0]))); text->create_objects(); y += 30; add_subwindow(new BC_Title(x, y, _("Button 2:"))); add_subwindow(text = new ViewBehaviourText(80, y - 5, behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[1]), pwindow, &(pwindow->thread->edl->session->edit_handle_mode[1]))); text->create_objects(); y += 30; add_subwindow(new BC_Title(x, y, _("Button 3:"))); add_subwindow(text = new ViewBehaviourText(80, y - 5, behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[2]), pwindow, &(pwindow->thread->edl->session->edit_handle_mode[2]))); text->create_objects(); y += 40; x1 = x; add_subwindow(title = new BC_Title(x, y + 5, _("Min DB for meter:"))); x += title->get_w() + 10; sprintf(string, "%d", pwindow->thread->edl->session->min_meter_db); add_subwindow(min_db = new MeterMinDB(pwindow, string, x, y)); x += min_db->get_w() + 10; add_subwindow(title = new BC_Title(x, y + 5, _("Max DB:"))); x += title->get_w() + 10; sprintf(string, "%d", pwindow->thread->edl->session->max_meter_db); add_subwindow(max_db = new MeterMaxDB(pwindow, string, x, y)); x = x1; y += 30; ViewTheme *theme; add_subwindow(new BC_Title(x, y, _("Theme:"))); x += 60; add_subwindow(theme = new ViewTheme(x, y, pwindow)); theme->create_objects(); }