*/
#include "bundle_env.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
#include <shlobj.h>
#include <stdlib.h>
#include <fstream>
#include <glibmm.h>
-#include <glib/gstdio.h>
+#include "pbd/gstdio_compat.h"
#include <fontconfig/fontconfig.h>
if (0 == pExeRoot) {
pExeRoot = g_build_filename("C:\\", "Program Files", PROGRAM_NAME, 0);
}
-
+
if (pExeRoot) {
gchar tmp[PATH_MAX+1];
gchar* p;
#ifdef DEBUG
fonts_conf_file = get_module_folder();
-
+
if (!fonts_conf_file.empty()) {
fonts_conf_file += "\\";
fonts_conf_file += PROGRAM_NAME;
+ fonts_conf_file += PROGRAM_VERSION;
fonts_conf_file += FONTS_CONF_LOCATION;
#else
- if (PBD::find_file_in_search_path (ARDOUR::ardour_config_search_path(), "fonts.conf", fonts_conf_file)) {
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "fonts.conf", fonts_conf_file)) {
#endif
Glib::setenv ("FONTCONFIG_FILE", fonts_conf_file, true);
#if defined(DEBUG) || defined(RDC_BUILD)
// Make sure we pick up the debuggable DLLs !!!
pango_modules_file = get_module_folder();
-
+
if (!pango_modules_file.empty()) {
pango_modules_file += "\\";
pango_modules_file += PROGRAM_NAME;
+ pango_modules_file += PROGRAM_VERSION;
pango_modules_file += PANGO_CONF_LOCATION;
#if 0
// JE - handy for non-English locale testing (Greek, in this case)
#endif
pango_modules_path.resize (pango_modules_path.size()-14); // Remove "/pango.modules" from the end
#else
- if (PBD::find_file_in_search_path (ARDOUR::ardour_config_search_path(), "pango.modules", pango_modules_file)) {
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "pango.modules", pango_modules_file)) {
Glib::ustring pango_modules_path = pango_modules_file;
pango_modules_path.resize (pango_modules_path.size()-14); // Remove "/pango.modules" from the end
#if defined(DEBUG) || defined(RDC_BUILD)
// Make sure we pick up the debuggable DLLs !!!
gdk_pixbuf_loaders_file = get_module_folder();
-
+
if (!gdk_pixbuf_loaders_file.empty()) {
gdk_pixbuf_loaders_file += "\\";
gdk_pixbuf_loaders_file += PROGRAM_NAME;
+ gdk_pixbuf_loaders_file += PROGRAM_VERSION;
gdk_pixbuf_loaders_file += PIXBUFLOADERS_CONF_LOCATION;
#else
- if (PBD::find_file_in_search_path (ARDOUR::ardour_config_search_path(), "gdk-pixbuf.loaders", gdk_pixbuf_loaders_file)) {
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "gdk-pixbuf.loaders", gdk_pixbuf_loaders_file)) {
#endif
// Set an environment variable so we can find our pixbuf modules.
Glib::setenv ("GDK_PIXBUF_MODULE_FILE", Glib::filename_from_utf8(gdk_pixbuf_loaders_file), true);
#if defined(DEBUG) || defined(RDC_BUILD)
// Make sure we pick up the debuggable DLLs !!!
clearlooks_la_file = get_module_folder();
-
+
if (!clearlooks_la_file.empty()) {
clearlooks_la_file += "\\";
clearlooks_la_file += PROGRAM_NAME;
+ clearlooks_la_file += PROGRAM_VERSION;
clearlooks_la_file += CLEARLOOKS_CONF_LOCATION;
#else
- if (PBD::find_file_in_search_path (ARDOUR::ardour_config_search_path(), "libclearlooks.la", clearlooks_la_file)) {
+ if (PBD::find_file (ARDOUR::ardour_config_search_path(), "libclearlooks.la", clearlooks_la_file)) {
#endif
// Set an environment variable so we can find our clearlooks engine.
// Note that this requires a modified version of libgtk (gtkthemes.c)
}
void
-fixup_bundle_environment (int argc, char* argv[], const char** localedir)
+fixup_bundle_environment (int argc, char* argv[], string & localedir)
{
std::string exec_path = argv[0];
std::string dir_path = Glib::path_get_dirname (exec_path);
// Next, set up 'ARDOUR_DATA_PATH'
path = get_module_folder() + "\\";
path += PROGRAM_NAME;
+ path += PROGRAM_VERSION;
path += "\\share";
Glib::setenv ("ARDOUR_DATA_PATH", path, true);
Glib::setenv ("ARDOUR_CONFIG_PATH", path, true);
- // Next, set up 'ARDOUR_PATH'
- path = user_config_directory();
- path = Glib::path_get_dirname (path);
- path += G_SEARCHPATH_SEPARATOR;
- path += windows_search_path().to_string();
- path += "\\icons;";
- path += windows_search_path().to_string();
- path += "\\pixmaps;";
- path += ardour_data_search_path().to_string(); // In fact, adds both the 'data' search
- path += G_SEARCHPATH_SEPARATOR; // path and our 'config' search path
- path += dir_path;
- path += "\\etc";
- Glib::setenv ("ARDOUR_PATH", path, true);
-
-
// Next, set up 'ARDOUR_INSTANT_XML_PATH'
path = user_config_directory();
Glib::setenv ("ARDOUR_INSTANT_XML_PATH", path, true);
Glib::setenv ("LADSPA_PATH", path, true);
+ // Next, set up 'SUIL_MODULE_DIR'
+ Glib::setenv ("SUIL_MODULE_DIR", Glib::build_filename(ardour_dll_directory(), "suil"), true);
+
+
// Next, set up 'VAMP_PATH'
cstr = getenv ("VAMP_PATH");
if (cstr) {
}
path += get_module_folder() + "\\";
path += PROGRAM_NAME;
+ path += PROGRAM_VERSION;
path += "\\bin\\vamp";
path += G_SEARCHPATH_SEPARATOR;
path += "%ProgramFiles%\\Vamp Plugins";
Glib::setenv ("GTK_LOCALEDIR", path, true);
// and return the same path to our caller
- (*localedir) = strdup (path.c_str());
+ localedir = path;
}
Glib::setenv ("GTK_PATH", path, true);
- // Unset GTK_RC_FILES so that we only load the RC files that we define
- Glib::unsetenv ("GTK_RC_FILES");
+ // Unset GTK2_RC_FILES so that we only load the RC files that we define
+ Glib::unsetenv ("GTK2_RC_FILES");
// and set a '$HOME' environment variable. This variable changes the value returned
}
fixup_fonts_config();
- fixup_pango_config();
fixup_clearlooks_config();
+
+#ifdef DLL_PIXBUF_LOADERS
fixup_pixbuf_loaders_config();
+#endif
+#ifdef DLL_PANGO_MODULES
+ fixup_pango_config();
+#endif
}
-void load_custom_fonts()
+void load_custom_fonts()
{
std::string ardour_mono_file;
- if (!find_file_in_search_path (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
+ if (!find_file (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) {
cerr << _("Cannot find ArdourMono TrueType font") << endl;
}