#include <cstring>
#include <cerrno>
-#include <unistd.h>
#include <fstream>
#include <algorithm>
#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"
#include "i18n.h"
int
ARDOUR::read_recent_sessions (RecentSessions& rs)
{
- sys::path recent_file_path(user_config_directory());
-
- recent_file_path /= recent_file_name;
-
- const string path = recent_file_path.to_string();
+ std::string path = Glib::build_filename (user_config_directory(), recent_file_name);
ifstream recent (path.c_str());
int
ARDOUR::write_recent_sessions (RecentSessions& rs)
{
- sys::path recent_file_path(user_config_directory());
-
- recent_file_path /= recent_file_name;
-
- const string path = recent_file_path.to_string();
+ std::string path = Glib::build_filename (user_config_directory(), recent_file_name);
ofstream recent (path.c_str());
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);