Patch from colinf to allow the number of recent sessions to
authorCarl Hetherington <carl@carlh.net>
Sat, 10 Mar 2012 11:37:01 +0000 (11:37 +0000)
committerCarl Hetherington <carl@carlh.net>
Sat, 10 Mar 2012 11:37:01 +0000 (11:37 +0000)
be configured (#2207).

git-svn-id: svn://localhost/ardour2/branches/3.0@11641 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/rc_option_editor.cc
libs/ardour/ardour/rc_configuration_vars.h
libs/ardour/recent_sessions.cc

index c5952f0b6487b45eb546f8d0ed469c80d30a34cd..ee0a9828a024f923737a5d2cf5885e9a54cbbe6e 100644 (file)
@@ -919,6 +919,15 @@ RCOptionEditor::RCOptionEditor ()
                            sigc::mem_fun (*_rc_config, &RCConfiguration::set_default_session_parent_dir)
                            ));
 
+       add_option (_("Misc"),
+            new SpinOption<uint32_t> (
+                    "max-recent-sessions",
+                    _("Maximum number of recent sessions"),
+                    sigc::mem_fun (*_rc_config, &RCConfiguration::get_max_recent_sessions),
+                    sigc::mem_fun (*_rc_config, &RCConfiguration::set_max_recent_sessions),
+                    0, 1000, 1, 20
+                    ));
+
        add_option (_("Misc"), new OptionEditorHeading (_("Click")));
 
        add_option (_("Misc"), new ClickOptions (_rc_config, this));
index 146f91dd68f09b5355019786e854e59f84781f79..766db9db1ca8e839d9451683576e45022a08d0fc 100644 (file)
@@ -174,6 +174,7 @@ CONFIG_VARIABLE (bool, update_editor_during_summary_drag, "update-editor-during-
 CONFIG_VARIABLE (bool, never_display_periodic_midi, "never-display-periodic-midi", true)
 CONFIG_VARIABLE (bool, sound_midi_notes, "sound-midi-notes", false)
 CONFIG_VARIABLE (bool, use_plugin_own_gui, "use-plugin-own-gui", true)
+CONFIG_VARIABLE (uint32_t, max_recent_sessions, "max-recent-sessions", 10)
 
 /* denormal management */
 
index adc25294fb882e33fb63a1104c9ab6d79da72d60..45c30b085ba6400b245c88b279d5f3dd504f29b5 100644 (file)
@@ -28,6 +28,7 @@
 #include "pbd/error.h"
 
 #include "ardour/configuration.h"
+#include "ardour/rc_configuration.h"
 #include "ardour/filesystem_paths.h"
 #include "ardour/recent_sessions.h"
 #include "ardour/utils.h"
@@ -130,8 +131,10 @@ ARDOUR::store_recent_sessions (string name, string path)
 
        rs.push_front (newpair);
 
-       if (rs.size() > 10) {
-               rs.erase(rs.begin()+10, rs.end());
+       uint32_t max_recent_sessions = Config->get_max_recent_sessions();
+
+       if (rs.size() > max_recent_sessions) {
+               rs.erase(rs.begin()+max_recent_sessions, rs.end());
        }
 
        return ARDOUR::write_recent_sessions (rs);