25 #include <glibmm/miscutils.h>
41 const char *
const recent_file_name =
"recent";
50 ifstream recent (path.c_str());
53 if (errno != ENOENT) {
63 pair<string,string> newpair;
65 getline(recent, newpair.first);
71 getline(recent, newpair.second);
77 rs.push_back (newpair);
92 ofstream recent (path.c_str());
98 for (RecentSessions::iterator i = rs.begin(); i != rs.end(); ++i) {
99 recent << (*i).first <<
'\n' << (*i).second << endl;
114 pair<string,string> newpair;
116 newpair.first =
name;
117 newpair.second = path;
119 rs.erase(
remove(rs.begin(), rs.end(), newpair), rs.end());
121 rs.push_front (newpair);
123 uint32_t max_recent_sessions =
Config->get_max_recent_sessions();
125 if (rs.size() > max_recent_sessions) {
126 rs.erase(rs.begin()+max_recent_sessions, rs.end());
142 for (RecentSessions::iterator i = rs.begin(); i != rs.end(); ++i) {
143 if (i->second == path) {
LIBARDOUR_API int remove_recent_sessions(const std::string &path)
LIBARDOUR_API int store_recent_sessions(std::string name, std::string path)
std::deque< std::pair< std::string, std::string > > RecentSessions
LIBARDOUR_API int write_recent_sessions(RecentSessions &rs)
LIBPBD_API Transmitter error
std::ostream & endmsg(std::ostream &ostr)
LIBARDOUR_API std::string user_config_directory(int version=-1)
LIBARDOUR_API RCConfiguration * Config
LIBARDOUR_API int read_recent_sessions(RecentSessions &rs)
std::string string_compose(const std::string &fmt, const T1 &o1)