different idea: output bd.meta conditionally on gui var (set from checkbox), let sh script test for its existence, run tsmuxer conditionally.. seems to work!
I tried to pass variable intoclass BD_BatchRenderJob : public BatchRenderJob{public:static int get_udfs_mount(char *udfs, char *mopts, char *mntpt);BD_BatchRenderJob(Preferences *preferences, int labeled, int farmed);char *create_script(EDL *edl, ArrayList<Indexable *> *idxbls);int tsmuxered;};fromclass CreateBD_Thread : public BC_DialogThread{static const int64_t BD_SIZE;static const int BD_STREAMS, BD_WIDTH, BD_HEIGHT;static const double BD_ASPECT_WIDTH, BD_ASPECT_HEIGHT;static const double BD_WIDE_ASPECT_WIDTH, BD_WIDE_ASPECT_HEIGHT;static const int BD_MAX_BITRATE, BD_CHANNELS, BD_WIDE_CHANNELS;static const double BD_FRAMERATE, BD_SAMPLERATE, BD_KAUDIO_RATE;static const int BD_INTERLACE_MODE;public:CreateBD_Thread(MWindow *mwindow);~CreateBD_Thread();void handle_close_event(int result);BC_Window* new_gui();int option_presets();int create_bd_script(const char *path, EDL *edl);int create_bd_jobs(ArrayList<BatchRenderJob*> *jobs, const char *asset_dir);int insert_video_plugin(const char *title, KeyFrame *default_keyframe);int resize_tracks();MWindow *mwindow;CreateBD_GUI *gui;char asset_title[BCTEXTLEN];char tmp_path[BCTEXTLEN];char use_profile[BCTEXTLEN];int use_deinterlace, use_inverse_telecine;int use_scale, use_resize_tracks;int use_wide_audio, use_farmed;int use_histogram, use_labeled;int use_standard;int use_tsmuxer;int64_t bd_size;int bd_width;int bd_height;double bd_aspect_width;double bd_aspect_height;double bd_framerate;int bd_samplerate;int bd_max_bitrate;double bd_kaudio_rate;int bd_interlace_mode;int max_w, max_h;BD_BatchRenderJob *batchrender;};but guess I do something wrong because just calling//batchrender->tsmuxered = use_tsmuxer;formvoid CreateBD_Thread::handle_close_event(int result) result in crash (NOT WORKING (as far as this functionality is concerned) patchset attached...