LIBARDOUR_API extern const char* const peak_dir_name;
LIBARDOUR_API extern const char* const export_dir_name;
LIBARDOUR_API extern const char* const export_formats_dir_name;
+ LIBARDOUR_API extern const char* const plugin_metadata_dir_name;
LIBARDOUR_API extern const char* const templates_dir_name;
LIBARDOUR_API extern const char* const route_templates_dir_name;
LIBARDOUR_API extern const char* const surfaces_dir_name;
Hidden
};
+ std::string user_plugin_metadata_dir () const;
void load_statuses ();
void save_statuses ();
void set_status (ARDOUR::PluginType type, std::string unique_id, PluginStatusType status);
*/
LIBARDOUR_API PBD::Searchpath panner_search_path ();
+ /**
+ * return a Searchpath containing directories in which to look for
+ * plugin metadata ( tags and favorite/hidden status ).
+ */
+ LIBARDOUR_API PBD::Searchpath plugin_metadata_search_path ();
+
/**
* return a Searchpath containing directories in which to look for
* route templates.
const char* const export_dir_name = X_("export");
const char* const export_formats_dir_name = X_("export");
const char* const templates_dir_name = X_("templates");
+const char* const plugin_metadata_dir_name = X_("plugin_metadata");
const char* const route_templates_dir_name = X_("route_templates");
const char* const surfaces_dir_name = X_("surfaces");
const char* const ladspa_dir_name = X_("ladspa");
/* presets */
- old_name = Glib::build_filename (old_dir, X_("plugin_statuses"));
- new_name = Glib::build_filename (new_dir, X_("plugin_statuses"));
+ old_name = Glib::build_filename (old_dir, X_("plugin_statuses")); /* until 6.0 */
+ new_name = Glib::build_filename (new_dir, plugin_metadata_dir_name, X_("plugin_statuses"));
+ copy_file (old_name, new_name); /* can fail silently */
+
+ old_name = Glib::build_filename (old_dir, plugin_metadata_dir_name, X_("plugin_statuses"));
+ copy_file (old_name, new_name);
+
+ /* plugin tags */
+
+ old_name = Glib::build_filename (old_dir, plugin_metadata_dir_name, X_("plugin_tags"));
+ new_name = Glib::build_filename (new_dir, plugin_metadata_dir_name, X_("plugin_tags"));
copy_file (old_name, new_name);
#include "pbd/whitespace.h"
#include "pbd/file_utils.h"
+#include "ardour/directory_names.h"
#include "ardour/debug.h"
#include "ardour/filesystem_paths.h"
#include "ardour/ladspa.h"
statuses.insert (ps);
}
+std::string
+PluginManager::user_plugin_metadata_dir () const
+{
+ std::string dir = Glib::build_filename (user_config_directory(), plugin_metadata_dir_name);
+ g_mkdir_with_parents (dir.c_str(), 0744);
+ return dir;
+}
+
const ARDOUR::PluginInfoList&
PluginManager::windows_vst_plugin_info ()
{
return spath;
}
+Searchpath
+plugin_metadata_search_path ()
+{
+ Searchpath spath (ardour_data_search_path());
+ spath.add_subdirectory_to_paths(plugin_metadata_dir_name);
+ return spath;
+}
+
Searchpath
route_template_search_path ()
{
Themes=$Shared/themes
Templates=$Shared/templates
+PluginMetadata=$Shared/plugin_metadata
ExportFormats=$Shared/export
Locale=$Shared/locale
MidiMaps=$Shared/midi_maps
#Session templates
cp -av $BUILD_ROOT/../templates $Templates
+# PluginMetadata
+cp -av $BUILD_ROOT/../plugin_metadata $PluginMetadata
+
# ExportFormats
# got to be careful with names here
for x in $BUILD_ROOT/../export/*.preset $BUILD_ROOT/../export/*.format ; do
Panners=$Frameworks/panners
Backends=$Frameworks/backends
MidiMaps=$Shared/midi_maps
+PluginMetadata=$Shared/plugin_metadata
ExportFormats=$Shared/export
Templates=$Shared/templates
PatchFiles=$Shared/patchfiles
#Session templates
cp -av $BUILD_ROOT/../templates $Templates
+# PluginMetadata
+cp -av $BUILD_ROOT/../plugin_metadata $PluginMetadata
+
# MidiMaps
# got to be careful with names here
for x in $BUILD_ROOT/../midi_maps/*.map ; do