void
RouteUI::save_as_template ()
{
- sys::path path;
+ std::string path;
std::string safe_name;
string name;
path = ARDOUR::user_route_template_directory ();
- if (g_mkdir_with_parents (path.to_string().c_str(), 0755)) {
- error << string_compose (_("Cannot create route template directory %1"), path.to_string()) << endmsg;
+ if (g_mkdir_with_parents (path.c_str(), 0755)) {
+ error << string_compose (_("Cannot create route template directory %1"), path) << endmsg;
return;
}
safe_name = legalize_for_path (name);
safe_name += template_suffix;
- path /= safe_name;
+ path = Glib::build_filename (path, safe_name);
- _route->save_as_template (path.to_string(), name);
+ _route->save_as_template (path, name);
}
void
#include "ardour/session.h"
#include "ardour/session_state_utils.h"
#include "ardour/template_utils.h"
+#include "ardour/filename_extensions.h"
#include "ardour_ui.h"
#include "startup.h"
ArdourStartup::session_template_name ()
{
if (!load_template_override.empty()) {
- string the_path = (ARDOUR::user_template_directory()/ (load_template_override + ".template")).to_string();
- return the_path;
+ string the_path(ARDOUR::user_template_directory());
+ return Glib::build_filename (the_path, load_template_override + ARDOUR::template_suffix);
}
if (ic_existing_session_button.get_active()) {
#ifndef TEMPLATE_UTILS_INCLUDED
#define TEMPLATE_UTILS_INCLUDED
+#include <string>
#include <vector>
-#include "pbd/filesystem.h"
-
namespace ARDOUR {
- PBD::sys::path system_template_directory ();
- PBD::sys::path system_route_template_directory ();
+ std::string system_template_directory ();
+ std::string system_route_template_directory ();
- PBD::sys::path user_template_directory ();
- PBD::sys::path user_route_template_directory ();
+ std::string user_template_directory ();
+ std::string user_route_template_directory ();
struct TemplateInfo {
std::string name;
#include "pbd/controllable_descriptor.h"
#include "pbd/enumwriter.h"
#include "pbd/error.h"
+#include "pbd/filesystem.h"
#include "pbd/pathscanner.h"
#include "pbd/pthread_utils.h"
#include "pbd/search_path.h"
#include <glibmm.h>
-#include "pbd/filesystem.h"
#include "pbd/basename.h"
#include "pbd/pathscanner.h"
#include "pbd/xml++.h"
return spath;
}
-sys::path
+std::string
user_template_directory ()
{
- sys::path p(user_config_directory());
- p /= templates_dir_name;
-
- return p;
+ return Glib::build_filename (user_config_directory(), templates_dir_name);
}
-sys::path
+std::string
user_route_template_directory ()
{
- sys::path p(user_config_directory());
- p /= route_templates_dir_name;
-
- return p;
+ return Glib::build_filename (user_config_directory(), route_templates_dir_name);
}
static bool
string
session_template_dir_to_file (string const & dir)
{
- sys::path dir_path = dir;
- sys::path file_path = dir;
- file_path /= dir_path.leaf() + template_suffix;
- return file_path.to_string ();
+ return Glib::build_filename (dir, Glib::path_get_basename(dir) + template_suffix);
}