export ARDOUR_MIDIMAPS_PATH=$TOP/midi_maps:.
export ARDOUR_MCP_PATH=$TOP/mcp:.
export ARDOUR_EXPORT_FORMATS_PATH=$TOP/export:.
-export ARDOUR_BACKEND_PATH=$libs/backends/jack
+export ARDOUR_BACKEND_PATH=$libs/backends/jack:$libs/backends/wavesaudio:$libs/backends/dummy
+ export ARDOUR_TEST_PATH=$libs/ardour/test/data
#
# even though we set the above variables, ardour requires that these
virtual void set_path (const std::string&);
- static PBD::Signal3<int,std::string,std::string,std::vector<std::string> > AmbiguousFileName;
+ static PBD::Signal2<int,std::string,std::vector<std::string> > AmbiguousFileName;
+
+ void existence_check ();
+ virtual void prevent_deletion ();
+ void existence_check ();
+ virtual void prevent_deletion ();
+
protected:
FileSource (Session& session, DataType type,
const std::string& path,
template<typename T> class MidiRingBuffer;
/** Standard Midi File (Type 0) Source */
-class SMFSource : public MidiSource, public FileSource, public Evoral::SMF {
+class LIBARDOUR_API SMFSource : public MidiSource, public FileSource, public Evoral::SMF {
public:
+ /** Constructor for new internal-to-session files */
+ SMFSource (Session& session, const std::string& path, Source::Flag flags);
+
/** Constructor for existing external-to-session files */
- SMFSource (Session& session, const std::string& path,
- Source::Flag flags = Source::Flag(0));
+ SMFSource (Session& session, const std::string& path);
/** Constructor for existing in-session files */
SMFSource (Session& session, const XMLNode&, bool must_exist = false);
void ensure_disk_file ();
static bool safe_midi_file_extension (const std::string& path);
+ static bool valid_midi_file (const std::string& path);
+
+ void prevent_deletion ();
+ void prevent_deletion ();
+
protected:
void set_path (const std::string& newpath);
#include <errno.h>
#include <string.h>
- #include <glib/gstdio.h>
+ #include <glib.h>
-#include <glib/gstdio.h>
#include <glibmm/miscutils.h>
#include "pbd/error.h"
}
if (::g_unlink (fullpath.c_str())) {
-- error << string_compose (_("cannot remove file %1 (%2)"), fullpath, strerror (errno)) << endmsg;
++ error << string_compose (_("cannot remove file %1 (%2)"), fullpath, strerror (errno)) << endmsg;
}
}
if (::g_rmdir(dir.c_str())) {
#include <vector>
#include <sys/types.h>
+#include "pbd/libpbd_visibility.h"
+
namespace PBD {
+ LIBPBD_API int clear_directory (const std::string&, size_t* = 0, std::vector<std::string>* = 0);
+ LIBPBD_API void remove_directory (const std::string& dir);
+ int clear_directory (const std::string&, size_t* = 0, std::vector<std::string>* = 0);
+ void remove_directory (const std::string& dir);
}
#endif /* __pbd_clear_dir_h__ */