first vaguely working version using PresentationInfo
[ardour.git] / gtk2_ardour / session_option_editor.cc
index d8326a09cc8e71fb3f25088a1cdf8bcbaa5bcf29..6c33e1ca7cf53282669b02f2c499090ede690dc5 100644 (file)
@@ -29,7 +29,7 @@ using namespace ARDOUR;
 using namespace Timecode;
 
 SessionOptionEditor::SessionOptionEditor (Session* s)
-       : OptionEditor (&(s->config), _("Session Properties"))
+       : OptionEditorWindow (&(s->config), _("Session Properties"))
        , _session_config (&(s->config))
 {
        set_session (s);
@@ -141,6 +141,20 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
                _("ms")
                            ));
 
+       add_option (_("Fades"), new BoolOption (
+                           "use-transport-fades",
+                           _("Declick when transport starts and stops"),
+                           sigc::mem_fun (*_session_config, &SessionConfiguration::get_use_transport_fades),
+                           sigc::mem_fun (*_session_config, &SessionConfiguration::set_use_transport_fades)
+                           ));
+
+       add_option (_("Fades"), new BoolOption (
+                           "use-monitor-fades",
+                           _("Declick when monitor state changes"),
+                           sigc::mem_fun (*_session_config, &SessionConfiguration::get_use_monitor_fades),
+                           sigc::mem_fun (*_session_config, &SessionConfiguration::set_use_monitor_fades)
+                           ));
+
        add_option (_("Fades"), new BoolOption (
                            "use-region-fades",
                            _("Region fades active"),
@@ -179,10 +193,17 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
                sigc::mem_fun (*_session_config, &SessionConfiguration::set_native_file_header_format)
                );
 
-       hf->add (BWF, _("Broadcast WAVE"));
-       hf->add (WAVE, _("WAVE"));
+       hf->add (BWF, _("Broadcast WAVE (4GB size limit)"));
+#ifdef HAVE_RF64_RIFF
+       hf->add (MBWF, _("Broadcast RF64"));
+#endif
+       hf->add (WAVE, _("WAVE (4GB size limit)"));
        hf->add (WAVE64, _("WAVE-64"));
        hf->add (CAF, _("CAF"));
+       hf->add (RF64, _("RF64"));
+#ifdef HAVE_RF64_RIFF
+       hf->add (RF64_WAV, _("RF64 (WAV compatible)"));
+#endif
 
        add_option (_("Media"), hf);
 
@@ -207,7 +228,7 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
 
        BoolOption *bo;
 
-       bo = new BoolOption (
+       bo = new RouteDisplayBoolOption (
                        "track-name-number",
                        _("Prefix Track number"),
                        sigc::mem_fun (*_session_config, &SessionConfiguration::get_track_name_number),
@@ -395,7 +416,7 @@ SessionOptionEditor::parameter_changed (std::string const & p)
 bool
 SessionOptionEditor::set_use_monitor_section (bool yn)
 {
-       bool had_monitor_section = _session->monitor_out();
+       bool had_monitor_section = _session->monitor_out() != 0;
 
        if (yn) {
                _session->add_monitor_section ();
@@ -404,10 +425,10 @@ SessionOptionEditor::set_use_monitor_section (bool yn)
        }
 
        /* store this choice for any new sessions */
-       
+
        Config->set_use_monitor_bus (yn);
 
-       return had_monitor_section != yn;
+       return had_monitor_section != (_session->monitor_out() != 0);
 }
 
 bool