X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Frecordprefs.C;h=5a023a228a485b9fedf15540d95c4aea8a0b885d;hp=5ca3bb84c19be6efa0f86d62cc477332a0476a47;hb=502b6f3b6fd04f6b01c6d70dcb81aa304dd0db1c;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd diff --git a/cinelerra-5.1/cinelerra/recordprefs.C b/cinelerra-5.1/cinelerra/recordprefs.C index 5ca3bb84..5a023a22 100644 --- a/cinelerra-5.1/cinelerra/recordprefs.C +++ b/cinelerra-5.1/cinelerra/recordprefs.C @@ -2,21 +2,21 @@ /* * CINELERRA * Copyright (C) 2008-2013 Adam Williams - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * */ #include "adeviceprefs.h" @@ -54,23 +54,26 @@ RecordPrefs::~RecordPrefs() void RecordPrefs::create_objects() { - int x, y, x2; + int x, y, x1, x2; char string[BCTEXTLEN]; BC_Resources *resources = BC_WindowBase::get_resources(); BC_Title *title; + BC_Title *title0, *title1, *title2, *title3; + BC_TextBox *textbox; x = mwindow->theme->preferencesoptions_x; y = mwindow->theme->preferencesoptions_y; + int margin = mwindow->theme->widget_border; int x0 = x, y0 = y; - add_subwindow(title = new BC_Title(x, y, _("File Format:"), + add_subwindow(title = new BC_Title(x, y, _("File Format:"), LARGEFONT, resources->text_default)); - y += title->get_h() + 5; + y += title->get_h() + margin; - recording_format = new FormatTools(mwindow, this, + recording_format = new FormatTools(mwindow, this, pwindow->thread->edl->session->recording_format); - recording_format->create_objects(x, y, + recording_format->create_objects(x, y, 1, // Include tools for audio 1, // Include tools for video 1, // Include checkbox for audio @@ -79,7 +82,7 @@ void RecordPrefs::create_objects() 1, 0, // Select compressors to be offered 1, // Prompt for recording options - 0, // If nonzero, prompt for insertion strategy + 0, // prompt for use labels 0); // Supply file formats for background rendering realtime_toc = new RecordRealtimeTOC(mwindow, pwindow, @@ -87,46 +90,44 @@ void RecordPrefs::create_objects() add_subwindow(realtime_toc); // Audio hardware - add_subwindow(new BC_Bar(5, y, get_w() - 10)); - y += 5; + add_subwindow(new BC_Bar(x, y, get_w() - x * 2)); + y += margin; - add_subwindow(title = new BC_Title(x, y, - _("Audio In"), LARGEFONT, + add_subwindow(title = new BC_Title(x, y, + _("Audio In"), LARGEFONT, resources->text_default)); - y += title->get_h() + 5; + y += title->get_h() + margin; add_subwindow(new BC_Title(x, y, _("Record Driver:"), MEDIUMFONT, resources->text_default)); audio_in_device = new ADevicePrefs(x + 110, y, pwindow, this, 0, pwindow->thread->edl->session->aconfig_in, MODERECORD); audio_in_device->initialize(1); - y += audio_in_device->get_h(1); + y += audio_in_device->get_h(1) + margin; - BC_TextBox *textbox; - BC_Title *title0, *title1, *title2, *title3; int pad = RecordWriteLength::calculate_h(this, MEDIUMFONT, 1, - 1) + + 1) + mwindow->theme->widget_border; add_subwindow(title0 = new BC_Title(x, y, _("Samples read from device:"))); add_subwindow(title1 = new BC_Title(x, y + pad, _("Samples to write to disk:"))); add_subwindow(title2 = new BC_Title(x, y + pad * 2, _("Sample rate for recording:"))); add_subwindow(title3 = new BC_Title(x, y + pad * 3, _("Channels to record:"))); - x2 = MAX(title0->get_w(), title1->get_w()) + mwindow->theme->widget_border; - x2 = MAX(x2, title2->get_w() + mwindow->theme->widget_border); - x2 = MAX(x2, title3->get_w() + mwindow->theme->widget_border); + x2 = MAX(title0->get_w(), title1->get_w()) + margin; + x2 = MAX(x2, title2->get_w() + margin); + x2 = MAX(x2, title3->get_w() + margin); sprintf(string, "%ld", (long)pwindow->thread->edl->session->record_fragment_size); RecordFragment *menu; add_subwindow(menu = new RecordFragment(x2, y, - pwindow, - this, + pwindow, + this, string)); y += menu->get_h() + mwindow->theme->widget_border; menu->add_item(new BC_MenuItem("1024")); @@ -143,9 +144,9 @@ void RecordPrefs::create_objects() add_subwindow(textbox = new RecordWriteLength(mwindow, pwindow, x2, y, string)); 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(), + add_subwindow(new SampleRatePulldown(mwindow, + textbox, + x2 + textbox->get_w(), y)); y += textbox->get_h() + mwindow->theme->widget_border; @@ -153,7 +154,7 @@ void RecordPrefs::create_objects() channels->create_objects(); y += channels->get_h() + mwindow->theme->widget_border; - RecordMap51_2 *record_map51_2 = new RecordMap51_2(mwindow, pwindow, x, y, + 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); @@ -165,7 +166,7 @@ void RecordPrefs::create_objects() rec_gain->create_objects(); x2 += rec_gain->get_w() + 30; - add_subwindow(new RecordRealTime(mwindow, pwindow, x2, y, + add_subwindow(new RecordRealTime(mwindow, pwindow, x2, y, pwindow->thread->edl->session->real_time_record)); y += 30; x = 5; @@ -173,31 +174,36 @@ void RecordPrefs::create_objects() // Video hardware add_subwindow(new BC_Bar(5, y, get_w() - 10)); - y += 5; + y += margin; - add_subwindow(new BC_Title(x, y, _("Video In"), LARGEFONT, + add_subwindow(title1 = new BC_Title(x, y, _("Video In"), LARGEFONT, resources->text_default)); - y += 25; + y += title1->get_h() + margin; - add_subwindow(new BC_Title(x, y, _("Record Driver:"), MEDIUMFONT, + add_subwindow(title1 = new BC_Title(x, y, _("Record Driver:"), MEDIUMFONT, resources->text_default)); - video_in_device = new VDevicePrefs(x + 110, y, pwindow, this, 0, - pwindow->thread->edl->session->vconfig_in, MODERECORD); + 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; - y += 55; + add_subwindow(title1 = new BC_Title(x, y, _("Frames to record to disk at a time:"))); + x1 = x + title1->get_w() + margin; sprintf(string, "%d", pwindow->thread->edl->session->video_write_length); - add_subwindow(textbox = new VideoWriteLength(pwindow, string, y)); - add_subwindow(new CaptureLengthTumbler(pwindow, textbox, textbox->get_x() + textbox->get_w(), y)); - add_subwindow(new BC_Title(x, y, _("Frames to record to disk at a time:"))); + add_subwindow(textbox = new VideoWriteLength(pwindow, string, x1, y)); + x1 += textbox->get_w() + margin; + add_subwindow(new CaptureLengthTumbler(pwindow, textbox, x1, y)); y += 27; + + add_subwindow(title1 = new BC_Title(x, y, _("Frames to buffer in device:"))); + x1 = x + title1->get_w() + margin; sprintf(string, "%d", pwindow->thread->edl->session->vconfig_in->capture_length); - add_subwindow(textbox = new VideoCaptureLength(pwindow, string, y)); - add_subwindow(new CaptureLengthTumbler(pwindow, textbox, textbox->get_x() + textbox->get_w(), y)); - add_subwindow(new BC_Title(x, y, _("Frames to buffer in device:"))); + add_subwindow(textbox = new VideoCaptureLength(pwindow, string, x1, y)); + x1 += textbox->get_w() + margin; + add_subwindow(new CaptureLengthTumbler(pwindow, textbox, x1, y)); y += 27; - int x1 = x; + x1 = x; add_subwindow(new BC_Title(x1, y, _("Positioning:"))); x1 += 100; add_subwindow(textbox = new BC_TextBox(x1, y, 200, 1, "")); @@ -206,29 +212,30 @@ void RecordPrefs::create_objects() positioning->create_objects(); y += positioning->get_h() + 5; - add_subwindow(new RecordSyncDrives(pwindow, - pwindow->thread->edl->session->record_sync_drives, + add_subwindow(new RecordSyncDrives(pwindow, + pwindow->thread->edl->session->record_sync_drives, x, y)); y += 35; BC_TextBox *w_text, *h_text; - add_subwindow(new BC_Title(x, y, _("Size of captured frame:"))); - x += 170; + add_subwindow(title1 = new BC_Title(x, y, _("Size of captured frame:"))); + x += title1->get_w() + margin; add_subwindow(w_text = new RecordW(pwindow, x, y)); - x += w_text->get_w() + 2; - add_subwindow(new BC_Title(x, y, "x")); - x += 10; + x += w_text->get_w() + margin; + add_subwindow(title1 = new BC_Title(x, y, "x")); + x += title1->get_w() + margin; add_subwindow(h_text = new RecordH(pwindow, x, y)); - x += h_text->get_w(); - add_subwindow(new FrameSizePulldown(mwindow->theme, + x += h_text->get_w() + margin; + FrameSizePulldown *tumbler; + add_subwindow(tumbler = new FrameSizePulldown(mwindow->theme, w_text, h_text, x, y)); + y += tumbler->get_h() + margin; - y += 30; - x = 5; - add_subwindow(new BC_Title(x, y, _("Frame rate for recording:"))); - x += 180; + x = mwindow->theme->preferencesoptions_x; + add_subwindow(title1 = new BC_Title(x, y, _("Frame rate for recording:"))); + x += title1->get_w() + margin; add_subwindow(textbox = new RecordFrameRate(pwindow, x, y)); - x += 75; + x += textbox->get_w() + margin; add_subwindow(new FrameRatePulldown(mwindow, textbox, x, y)); } @@ -248,24 +255,24 @@ int RecordPrefs::show_window(int flush) -RecordFragment::RecordFragment(int x, - int y, - PreferencesWindow *pwindow, - RecordPrefs *record, +RecordFragment::RecordFragment(int x, + int y, + PreferencesWindow *pwindow, + RecordPrefs *record, char *text) - : BC_PopupMenu(x, - y, - 100, + : BC_PopupMenu(x, + y, + 100, text, 1) -{ +{ this->pwindow = pwindow; this->record = record; } -int RecordFragment::handle_event() +int RecordFragment::handle_event() { - pwindow->thread->edl->session->record_fragment_size = atol(get_text()); + pwindow->thread->edl->session->record_fragment_size = atol(get_text()); return 1; } @@ -277,23 +284,23 @@ int RecordFragment::handle_event() RecordWriteLength::RecordWriteLength(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, char *text) : BC_TextBox(x, y, 100, 1, text) -{ - this->pwindow = pwindow; +{ + this->pwindow = pwindow; } int RecordWriteLength::handle_event() -{ +{ pwindow->thread->edl->session->record_write_length = atol(get_text()); - return 1; + return 1; } -RecordRealTime::RecordRealTime(MWindow *mwindow, +RecordRealTime::RecordRealTime(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value) - : BC_CheckBox(x, y, value, + : BC_CheckBox(x, y, value, _("Record in realtime priority (root only)")) -{ - this->pwindow = pwindow; +{ + this->pwindow = pwindow; } int RecordRealTime::handle_event() @@ -303,11 +310,11 @@ int RecordRealTime::handle_event() } -RecordMap51_2::RecordMap51_2(MWindow *mwindow, +RecordMap51_2::RecordMap51_2(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value) : BC_CheckBox(x, y, value, _("Map 5.1->2")) -{ - this->pwindow = pwindow; +{ + this->pwindow = pwindow; } int RecordMap51_2::handle_event() @@ -329,11 +336,11 @@ int RecordSampleRate::handle_event() } -RecordRealtimeTOC::RecordRealtimeTOC(MWindow *mwindow, +RecordRealtimeTOC::RecordRealtimeTOC(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value) : BC_CheckBox(x, y, value, _("Realtime TOC")) -{ - this->pwindow = pwindow; +{ + this->pwindow = pwindow; } int RecordRealtimeTOC::handle_event() @@ -346,12 +353,12 @@ int RecordRealtimeTOC::handle_event() // DuplexEnable::DuplexEnable(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value) // : BC_CheckBox(x, y, value, _("Enable full duplex")) // { this->pwindow = pwindow; } -// +// // int DuplexEnable::handle_event() // { // pwindow->thread->edl->session->enable_duplex = get_value(); // } -// +// RecordW::RecordW(PreferencesWindow *pwindow, int x, int y) @@ -377,7 +384,7 @@ int RecordH::handle_event() } RecordFrameRate::RecordFrameRate(PreferencesWindow *pwindow, int x, int y) - : BC_TextBox(x, y, 70, 1, pwindow->thread->edl->session->vconfig_in->in_framerate) + : BC_TextBox(x, y, 140, 1, pwindow->thread->edl->session->vconfig_in->in_framerate) { this->pwindow = pwindow; } @@ -390,11 +397,11 @@ int RecordFrameRate::handle_event() RecordChannels::RecordChannels(PreferencesWindow *pwindow, BC_SubWindow *gui, int x, int y) - : BC_TumbleTextBox(gui, + : BC_TumbleTextBox(gui, pwindow->thread->edl->session->aconfig_in->channels, 1, MAX_CHANNELS, x, y, 100) { - this->pwindow = pwindow; + this->pwindow = pwindow; } int RecordChannels::handle_event() @@ -408,7 +415,7 @@ RecordGain::RecordGain(PreferencesWindow *pwindow, BC_SubWindow *gui, int x, int pwindow->thread->edl->session->aconfig_in->rec_gain, 0.0001f, 10000.0f, x, y, 72) { - this->pwindow = pwindow; + this->pwindow = pwindow; this->set_increment(0.1); } @@ -420,29 +427,29 @@ int RecordGain::handle_event() -VideoWriteLength::VideoWriteLength(PreferencesWindow *pwindow, char *text, int y) - : BC_TextBox(260, y, 100, 1, text) -{ - this->pwindow = pwindow; +VideoWriteLength::VideoWriteLength(PreferencesWindow *pwindow, char *text, int x, int y) + : BC_TextBox(x, y, 100, 1, text) +{ + this->pwindow = pwindow; } int VideoWriteLength::handle_event() -{ - pwindow->thread->edl->session->video_write_length = atol(get_text()); +{ + pwindow->thread->edl->session->video_write_length = atol(get_text()); return 1; } -VideoCaptureLength::VideoCaptureLength(PreferencesWindow *pwindow, char *text, int y) - : BC_TextBox(260, y, 100, 1, text) -{ +VideoCaptureLength::VideoCaptureLength(PreferencesWindow *pwindow, char *text, int x, int y) + : BC_TextBox(x, y, 100, 1, text) +{ this->pwindow = pwindow; } int VideoCaptureLength::handle_event() -{ - pwindow->thread->edl->session->vconfig_in->capture_length = atol(get_text()); - return 1; +{ + pwindow->thread->edl->session->vconfig_in->capture_length = atol(get_text()); + return 1; } CaptureLengthTumbler::CaptureLengthTumbler(PreferencesWindow *pwindow, BC_TextBox *text, int x, int y) @@ -512,12 +519,12 @@ int RecordPositioning::handle_event() RecordSyncDrives::RecordSyncDrives(PreferencesWindow *pwindow, int value, int x, int y) : BC_CheckBox(x, y, value, _("Sync drives automatically")) { - this->pwindow = pwindow; + this->pwindow = pwindow; } -int RecordSyncDrives::handle_event() +int RecordSyncDrives::handle_event() { - pwindow->thread->edl->session->record_sync_drives = get_value(); + pwindow->thread->edl->session->record_sync_drives = get_value(); return 1; }