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();
}
示例#2
0
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();
}
示例#3
0
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();
}
示例#5
0
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();
}
示例#6
0
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();
}
示例#7
0
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();
}
示例#8
0
文件: pitch.C 项目: knutj/cinelerra
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));
}
示例#10
0
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();
}
示例#11
0
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();
}
示例#12
0
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;
}
示例#13
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();

}