+ set_session (s);
+
+ set_name ("SessionProperties");
+
+ /* TIMECODE*/
+
+ _sync_source = new ComboOption<SyncSource> (
+ "sync-source",
+ _("External timecode source"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_sync_source),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_sync_source)
+ );
+
+ populate_sync_options ();
+ parameter_changed (string ("external-sync"));
+
+ add_option (_("Timecode"), _sync_source);
+
+ add_option (_("Timecode"), new OptionEditorHeading (_("Timecode Settings")));
+
+
+ ComboOption<TimecodeFormat>* smf = new ComboOption<TimecodeFormat> (
+ "timecode-format",
+ _("Timecode frames-per-second"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_timecode_format),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_timecode_format)
+ );
+
+ smf->add (timecode_23976, _("23.976"));
+ smf->add (timecode_24, _("24"));
+ smf->add (timecode_24976, _("24.976"));
+ smf->add (timecode_25, _("25"));
+ smf->add (timecode_2997, _("29.97"));
+ smf->add (timecode_2997drop, _("29.97 drop"));
+ smf->add (timecode_30, _("30"));
+ smf->add (timecode_30drop, _("30 drop"));
+ smf->add (timecode_5994, _("59.94"));
+ smf->add (timecode_60, _("60"));
+
+ add_option (_("Timecode"), smf);
+
+ ComboOption<uint32_t>* spf = new ComboOption<uint32_t> (
+ "subframes-per-frame",
+ _("Subframes per frame"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_subframes_per_frame),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_subframes_per_frame)
+ );
+
+ spf->add (80, _("80"));
+ spf->add (100, _("100"));
+
+ add_option (_("Timecode"), spf);
+
+ add_option (_("Timecode"), new BoolOption (
+ "timecode-source-is-synced",
+ _("Timecode source shares sample clock with audio interface"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_timecode_source_is_synced),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_timecode_source_is_synced)
+ ));
+
+ ComboOption<float>* vpu = new ComboOption<float> (
+ "video-pullup",
+ _("Pull-up / pull-down"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_video_pullup),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_video_pullup)
+ );
+
+ vpu->add (4.1667 + 0.1, _("4.1667 + 0.1%"));
+ vpu->add (4.1667, _("4.1667"));
+ vpu->add (4.1667 - 0.1, _("4.1667 - 0.1%"));
+ vpu->add (0.1, _("0.1"));
+ vpu->add (0, _("none"));
+ vpu->add (-0.1, _("-0.1"));
+ vpu->add (-4.1667 + 0.1, _("-4.1667 + 0.1%"));
+ vpu->add (-4.1667, _("-4.1667"));
+ vpu->add (-4.1667 - 0.1, _("-4.1667 - 0.1%"));
+
+ add_option (_("Timecode"), vpu);
+
+ ClockOption* co = new ClockOption (
+ "timecode-offset",
+ _("Timecode Offset"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_timecode_offset),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_timecode_offset)
+ );
+
+ co->set_session (_session);
+
+ add_option (_("Timecode"), co);
+
+ add_option (_("Timecode"), new BoolOption (
+ "timecode-offset-negative",
+ _("Timecode Offset Negative"),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::get_timecode_offset_negative),
+ sigc::mem_fun (*_session_config, &SessionConfiguration::set_timecode_offset_negative)
+ ));
+