From 83ad135d5cbf13ff33f710e2630e729166e5ccd2 Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianasulu@gmail.com>
Date: Fri, 17 Dec 2021 08:36:55 +0300
Subject: [PATCH 16/24] EXPERIMENTAL: add tsmuxer checkbox

---
 cinelerra-5.1/cinelerra/bdcreate.C   | 20 ++++++++++++++++++--
 cinelerra-5.1/cinelerra/bdcreate.h   | 14 +++++++++++++-
 cinelerra-5.1/cinelerra/bdcreate.inc |  1 +
 3 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/cinelerra-5.1/cinelerra/bdcreate.C b/cinelerra-5.1/cinelerra/bdcreate.C
index 54d391d8..b47f80cb 100644
--- a/cinelerra-5.1/cinelerra/bdcreate.C
+++ b/cinelerra-5.1/cinelerra/bdcreate.C
@@ -212,7 +212,7 @@ CreateBD_Thread::CreateBD_Thread(MWindow *mwindow)
 	this->use_resize_tracks = 0;
 	this->use_labeled = 0;
 	this->use_farmed = 0;
-	this->use_termux = 0;
+	this->use_tsmuxer = 0;
 	
 	strcpy(use_profile,"bluray.m2ts");
 
@@ -457,7 +457,7 @@ BC_Window* CreateBD_Thread::new_gui()
 	use_resize_tracks = 0;
 	use_labeled = 0;
 	use_farmed = 0;
-	use_termux = 0;
+	use_tsmuxer = 0;
 	use_standard = !strcmp(mwindow->default_std(),"NTSC") ?
 		 BD_1920x1080_2997i : BD_1920x1080_25i;
 	bd_size = BD_SIZE;
@@ -719,6 +719,16 @@ CreateBD_WideAudio::~CreateBD_WideAudio()
 {
 }
 
+CreateBD_UseTsmuxer::CreateBD_UseTsmuxer(CreateBD_GUI *gui, int x, int y)
+ : BC_CheckBox(x, y, &gui->thread->use_tsmuxer, _("use tsmuxer"))
+{
+	this->gui = gui;
+}
+
+CreateBD_UseTsmuxer::~CreateBD_UseTsmuxer()
+{
+}
+
 
 CreateBD_GUI::CreateBD_GUI(CreateBD_Thread *thread, int x, int y, int w, int h)
  : BC_Window(_(PROGRAM_NAME ": Create BD"), x, y, w, h, xS(50), yS(50), 1, 0, 1)
@@ -742,6 +752,7 @@ CreateBD_GUI::CreateBD_GUI(CreateBD_Thread *thread, int x, int y, int w, int h)
 	need_wide_audio = 0;
 	need_labeled = 0;
 	need_farmed = 0;
+	need_tsmuxer = 0;
 	ok = 0;
 	cancel = 0;
 // *** CONTEXT_HELP ***
@@ -803,6 +814,11 @@ void CreateBD_GUI::create_objects()
 	profiles.append(new BC_ListBoxItem("bluray_truehd.m2ts"));
 	profile->update_list(&profiles);
 	profile->update(profiles[0]->get_text());
+	
+	x += title->get_w()+padx;
+	need_tsmuxer = new CreateBD_UseTsmuxer(this, x1, y);
+	add_subwindow(need_tsmuxer);
+	
 	y += profile->get_h() + pady;
 	
 	title = new BC_Title(x-prev_title_w, y, _("Format:"), MEDIUMFONT, YELLOW);
diff --git a/cinelerra-5.1/cinelerra/bdcreate.h b/cinelerra-5.1/cinelerra/bdcreate.h
index e91d3c0a..6744e027 100644
--- a/cinelerra-5.1/cinelerra/bdcreate.h
+++ b/cinelerra-5.1/cinelerra/bdcreate.h
@@ -63,7 +63,7 @@ public:
 	int use_wide_audio, use_farmed;
 	int use_histogram, use_labeled;
 	int use_standard;
-	int use_termux;
+	int use_tsmuxer;
 
 	int64_t bd_size;
 	int bd_width;
@@ -198,6 +198,17 @@ public:
 	CreateBD_GUI *gui;
 };
 
+
+class CreateBD_UseTsmuxer : public BC_CheckBox
+{
+public:
+	CreateBD_UseTsmuxer(CreateBD_GUI *gui, int x, int y);
+	~CreateBD_UseTsmuxer();
+
+	CreateBD_GUI *gui;
+};
+
+
 class CreateBD_GUI : public BC_Window
 {
 public:
@@ -226,6 +237,7 @@ public:
 	CreateBD_InverseTelecine *need_inverse_telecine;
 	CreateBD_ResizeTracks *need_resize_tracks;
 	CreateBD_Histogram *need_histogram;
+	CreateBD_UseTsmuxer *need_tsmuxer;
 	BC_Title *non_standard;
 	CreateBD_WideAudio *need_wide_audio;
 	CreateBD_LabelChapters *need_labeled;
diff --git a/cinelerra-5.1/cinelerra/bdcreate.inc b/cinelerra-5.1/cinelerra/bdcreate.inc
index 5db9568b..45d9fc1e 100644
--- a/cinelerra-5.1/cinelerra/bdcreate.inc
+++ b/cinelerra-5.1/cinelerra/bdcreate.inc
@@ -42,5 +42,6 @@ class CreateBD_FormatItem;
 class CreateBD_Format;
 class CreateBD_MediaSize;
 class CreateBD_Profile;
+class CreateBD_UseTsmuxer;
 
 #endif
-- 
2.34.1

