summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-08-17 00:28:20 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-08-17 00:28:20 +0000
commitf5c4c8a2931f383c76212ea1cfdb6f85f43bb72f (patch)
tree7ba2fe9ac4df3bf87b222f7079b644fb5e72c078 /gtk2_ardour
parenta4d9d09af5853f769e1143c2353806bfb7d89f58 (diff)
forward port 2.X changes up to and including rev 6767
git-svn-id: svn://localhost/ardour2/branches/3.0@7636 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/add_midi_cc_track_dialog.cc2
-rw-r--r--gtk2_ardour/ardour_ui.cc84
-rw-r--r--gtk2_ardour/ardour_ui.h1
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc11
-rw-r--r--gtk2_ardour/crossfade_edit.cc2
-rw-r--r--gtk2_ardour/editor.cc2
-rw-r--r--gtk2_ardour/editor_ops.cc7
-rw-r--r--gtk2_ardour/location_ui.cc2
-rw-r--r--gtk2_ardour/main.cc30
-rw-r--r--gtk2_ardour/mixer_ui.cc2
-rw-r--r--gtk2_ardour/option_editor.cc2
-rw-r--r--gtk2_ardour/plugin_ui.cc2
-rw-r--r--gtk2_ardour/port_group.cc2
-rw-r--r--gtk2_ardour/route_params_ui.cc2
-rw-r--r--gtk2_ardour/route_time_axis.cc3
-rw-r--r--gtk2_ardour/route_ui.cc4
-rw-r--r--gtk2_ardour/sfdb_ui.cc11
-rw-r--r--gtk2_ardour/startup.cc14
-rw-r--r--gtk2_ardour/ui_config.cc14
-rw-r--r--gtk2_ardour/visual_time_axis.cc2
20 files changed, 130 insertions, 69 deletions
diff --git a/gtk2_ardour/add_midi_cc_track_dialog.cc b/gtk2_ardour/add_midi_cc_track_dialog.cc
index 79c6ed6a27..c3ccd92f3c 100644
--- a/gtk2_ardour/add_midi_cc_track_dialog.cc
+++ b/gtk2_ardour/add_midi_cc_track_dialog.cc
@@ -43,7 +43,7 @@ AddMidiCCTrackDialog::AddMidiCCTrackDialog ()
, _cc_num_spinner (_cc_num_adjustment)
{
set_name ("AddMidiCCTrackDialog");
- set_wmclass (X_("ardour_add_track_bus"), "Ardour");
+ set_wmclass (X_("ardour_add_track_bus"), PROGRAM_NAME);
set_position (Gtk::WIN_POS_MOUSE);
set_resizable (false);
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 72adc4305b..388af95200 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -272,7 +272,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[])
SessionEvent::create_per_thread_pool ("GUI", 512);
} catch (failed_constructor& err) {
- error << _("could not initialize Ardour.") << endmsg;
+ error << string_compose (_("could not initialize %1."), PROGRAM_NAME) << endmsg;
// pass it on up
throw;
}
@@ -1302,10 +1302,10 @@ ARDOUR_UI::session_add_midi_route (bool disk, RouteGroup* route_group, uint32_t
catch (...) {
MessageDialog msg (*editor,
- _("There are insufficient JACK ports available\n\
+ string_compose (_("There are insufficient JACK ports available\n\
to create a new track or bus.\n\
-You should save Ardour, exit and\n\
-restart JACK with more ports."));
+You should save %1, exit and\n\
+restart JACK with more ports."), PROGRAM_NAME));
msg.run ();
}
}
@@ -1351,10 +1351,10 @@ ARDOUR_UI::session_add_audio_route (bool track, bool aux, int32_t input_channels
catch (...) {
MessageDialog msg (*editor,
- _("There are insufficient JACK ports available\n\
+ string_compose (_("There are insufficient JACK ports available\n\
to create a new track or bus.\n\
-You should save Ardour, exit and\n\
-restart JACK with more ports."));
+You should save %1, exit and\n\
+restart JACK with more ports."), PROGRAM_NAME));
pop_back_splash ();
msg.run ();
}
@@ -1881,11 +1881,11 @@ ARDOUR_UI::engine_halted (const char* reason, bool free_reason)
if (strlen (reason)) {
msgstr = string_compose (_("The audio backend (JACK) was shutdown because:\n\n%1"), reason);
} else {
- msgstr = _("\
+ msgstr = string_compose (_("\
JACK has either been shutdown or it\n\
-disconnected Ardour because Ardour\n\
+disconnected %1 because %1\n\
was not fast enough. Try to restart\n\
-JACK, reconnect and save the session.");
+JACK, reconnect and save the session."), PROGRAM_NAME);
}
MessageDialog msg (*editor, msgstr);
@@ -2203,12 +2203,12 @@ ARDOUR_UI::fontconfig_dialog ()
if (!Glib::file_test (fontconfig, Glib::FILE_TEST_EXISTS|Glib::FILE_TEST_IS_DIR)) {
MessageDialog msg (*_startup,
- _("Welcome to Ardour.\n\n"
- "The program will take a bit longer to start up\n"
- "while the system fonts are checked.\n\n"
- "This will only be done once, and you will\n"
- "not see this message again\n"),
- true,
+ string_compose (_("Welcome to %1.\n\n"
+ "The program will take a bit longer to start up\n"
+ "while the system fonts are checked.\n\n"
+ "This will only be done once, and you will\n"
+ "not see this message again\n"), PROGRAM_NAME),
+ true,
Gtk::MESSAGE_INFO,
Gtk::BUTTONS_OK);
pop_back_splash ();
@@ -2301,7 +2301,7 @@ ARDOUR_UI::ask_about_loading_existing_session (const Glib::ustring& session_path
msg.set_name (X_("OpenExistingDialog"));
msg.set_title (_("Open Existing Session"));
- msg.set_wmclass (X_("existing_session"), "Ardour");
+ msg.set_wmclass (X_("existing_session"), PROGRAM_NAME);
msg.set_position (Gtk::WIN_POS_MOUSE);
pop_back_splash ();
@@ -2939,7 +2939,7 @@ After cleanup, unused audio files will be moved to a \
checker.set_default_response (RESPONSE_CANCEL);
checker.set_name (_("CleanupDialog"));
- checker.set_wmclass (X_("ardour_cleanup"), "Ardour");
+ checker.set_wmclass (X_("ardour_cleanup"), PROGRAM_NAME);
checker.set_position (Gtk::WIN_POS_MOUSE);
switch (checker.run()) {
@@ -3185,12 +3185,12 @@ ARDOUR_UI::disk_overrun_handler ()
if (!have_disk_speed_dialog_displayed) {
have_disk_speed_dialog_displayed = true;
- MessageDialog* msg = new MessageDialog (*editor, _("\
+ MessageDialog* msg = new MessageDialog (*editor, string_compose (_("\
The disk system on your computer\n\
-was not able to keep up with Ardour.\n\
+was not able to keep up with %1.\n\
\n\
Specifically, it failed to write data to disk\n\
-quickly enough to keep up with recording.\n"));
+quickly enough to keep up with recording.\n"), PROGRAM_NAME));
msg->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::disk_speed_dialog_gone), msg));
msg->show ();
}
@@ -3204,11 +3204,11 @@ ARDOUR_UI::disk_underrun_handler ()
if (!have_disk_speed_dialog_displayed) {
have_disk_speed_dialog_displayed = true;
MessageDialog* msg = new MessageDialog (*editor,
- _("The disk system on your computer\n\
-was not able to keep up with Ardour.\n\
+ string_compose (_("The disk system on your computer\n\
+was not able to keep up with %1.\n\
\n\
Specifically, it failed to read data from disk\n\
-quickly enough to keep up with playback.\n"));
+quickly enough to keep up with playback.\n"), PROGRAM_NAME));
msg->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::disk_speed_dialog_gone), msg));
msg->show ();
}
@@ -3557,3 +3557,39 @@ ARDOUR_UI::setup_profile ()
}
}
+void
+ARDOUR_UI::toggle_translations ()
+{
+ using namespace Glib;
+
+ RefPtr<Action> act = ActionManager::get_action (X_("Main"), X_("EnableTranslation"));
+ if (act) {
+ RefPtr<ToggleAction> ract = RefPtr<ToggleAction>::cast_dynamic (act);
+ if (ract) {
+
+ string i18n_killer = ARDOUR::translation_kill_path();
+
+ bool already_enabled = !ARDOUR::translations_are_disabled ();
+
+ if (ract->get_active ()) {
+/* we don't care about errors */
+ int fd = ::open (i18n_killer.c_str(), O_RDONLY|O_CREAT, 0644);
+ close (fd);
+ } else {
+/* we don't care about errors */
+ unlink (i18n_killer.c_str());
+ }
+
+ if (already_enabled != ract->get_active()) {
+ MessageDialog win (already_enabled ? _("Translations disabled") : _("Translations enabled"),
+ false,
+ Gtk::MESSAGE_WARNING,
+ Gtk::BUTTONS_OK);
+ win.set_secondary_text (string_compose (_("You must restart %1 for this to take effect."), PROGRAM_NAME));
+ win.set_position (Gtk::WIN_POS_CENTER);
+ win.present ();
+ win.run ();
+ }
+ }
+ }
+}
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index cc81faee3a..20660307cc 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -695,6 +695,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void platform_specific ();
void platform_setup ();
void fontconfig_dialog ();
+ void toggle_translations ();
PBD::ScopedConnectionList forever_connections;
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index fbd1a7bccc..4e02d48f9f 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -413,6 +413,17 @@ ARDOUR_UI::install_actions ()
act = ActionManager::register_toggle_action (option_actions, X_("SendMIDIfeedback"), _("Send MIDI Feedback"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_send_midi_feedback));
ActionManager::session_sensitive_actions.push_back (act);
+
+ if (getenv ("ARDOUR_BUNDLED")) {
+ act = ActionManager::register_toggle_action (main_actions, X_("EnableTranslation"), _("Enable Translations"), mem_fun (*this, &ARDOUR_UI::toggle_translations));
+ if (act) {
+ RefPtr<ToggleAction> ract = RefPtr<ToggleAction>::cast_dynamic (act);
+ if (ract) {
+ ract->set_active (!ARDOUR::translations_are_disabled());
+ }
+ }
+ }
+
ActionManager::add_action_group (shuttle_actions);
ActionManager::add_action_group (option_actions);
ActionManager::add_action_group (jack_actions);
diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc
index 43a1c741df..ecb7b8a1f8 100644
--- a/gtk2_ardour/crossfade_edit.cc
+++ b/gtk2_ardour/crossfade_edit.cc
@@ -101,7 +101,7 @@ CrossfadeEditor::CrossfadeEditor (Session* s, boost::shared_ptr<Crossfade> xf, d
{
set_session (s);
- set_wmclass (X_("ardour_automationedit"), "Ardour");
+ set_wmclass (X_("ardour_automationedit"), PROGRAM_NAME);
set_name ("CrossfadeEditWindow");
set_position (Gtk::WIN_POS_MOUSE);
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 9632fc04d8..2e2391c95e 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -711,7 +711,7 @@ Editor::Editor ()
WindowTitle title(Glib::get_application_name());
title += _("Editor");
set_title (title.get_string());
- set_wmclass (X_("ardour_editor"), "Ardour");
+ set_wmclass (X_("ardour_editor"), PROGRAM_NAME);
add (vpacker);
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 501d05020b..f5d64d3c3a 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -6470,16 +6470,17 @@ edit your ardour.rc file to set the\n\
if (nbusses) {
prompt = string_compose (_("Do you really want to remove %1 %2 and %3 %4?\n"
"(You may also lose the playlists associated with the %2)\n\n"
- "This action cannot be undone!"),
+ "This action cannot be undone, and the session file will be overwritten!"),
ntracks, trackstr, nbusses, busstr);
} else {
prompt = string_compose (_("Do you really want to remove %1 %2?\n"
"(You may also lose the playlists associated with the %2)\n\n"
- "This action cannot be undone!"),
+ "This action cannot be undone, and the session file will be overwritten!"),
ntracks, trackstr);
}
} else if (nbusses) {
- prompt = string_compose (_("Do you really want to remove %1 %2?"),
+ prompt = string_compose (_("Do you really want to remove %1 %2?\n\n"
+ "This action cannot be undon, and the session file will be overwritten"),
nbusses, busstr);
}
diff --git a/gtk2_ardour/location_ui.cc b/gtk2_ardour/location_ui.cc
index cf6862f2d6..70a00f0a26 100644
--- a/gtk2_ardour/location_ui.cc
+++ b/gtk2_ardour/location_ui.cc
@@ -1023,7 +1023,7 @@ LocationEditRow::set_clock_sensitivity ()
LocationUIWindow::LocationUIWindow ()
: ArdourDialog (_("Locations"))
{
- set_wmclass(X_("ardour_locations"), "Ardour");
+ set_wmclass(X_("ardour_locations"), PROGRAM_NAME);
set_name ("LocationWindow");
get_vbox()->pack_start (_ui);
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index e8cf2ac69c..a512af74a3 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -100,6 +100,8 @@ Please consider the possibilities, and perhaps (re)start JACK."));
#include <sys/param.h>
#include <fstream>
+extern void set_language_preference (); // cocoacarbon.mm
+
void
fixup_bundle_environment ()
{
@@ -107,6 +109,8 @@ fixup_bundle_environment ()
return;
}
+ set_language_preference ();
+
char execpath[MAXPATHLEN+1];
uint32_t pathsz = sizeof (execpath);
@@ -208,13 +212,17 @@ fixup_bundle_environment ()
setenv ("GTK_PATH", path.c_str(), 1);
- path = dir_path;
- path += "/../Resources/locale";
+ if (!ARDOUR::translations_are_disabled ()) {
- localedir = strdup (path.c_str());
+ path = dir_path;
+ path += "/../Resources/locale";
+
+ localedir = strdup (path.c_str());
+ setenv ("GTK_LOCALEDIR", localedir, 1);
+ }
/* write a pango.rc file and tell pango to use it. we'd love
- to put this into the Ardour.app bundle and leave it there,
+ to put this into the PROGRAM_NAME.app bundle and leave it there,
but the user may not have write permission. so ...
we also have to make sure that the user ardour directory
@@ -288,12 +296,12 @@ tell_about_jack_death (void* /* ignored */)
/* died during startup */
MessageDialog msg (_("JACK exited"), false, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK);
msg.set_position (Gtk::WIN_POS_CENTER);
- msg.set_secondary_text (_(
-"JACK exited unexpectedly, and without notifying Ardour.\n\
+ msg.set_secondary_text (string_compose (_(
+"JACK exited unexpectedly, and without notifying %1.\n\
\n\
This could be due to misconfiguration or to an error inside JACK.\n\
\n\
-Click OK to exit Ardour."));
+Click OK to exit %1."), PROGRAM_NAME));
msg.run ();
_exit (0);
@@ -303,12 +311,12 @@ Click OK to exit Ardour."));
/* engine has already run, so this is a mid-session JACK death */
MessageDialog* msg = manage (new MessageDialog (_("JACK exited"), false, Gtk::MESSAGE_INFO, Gtk::BUTTONS_NONE));
- msg->set_secondary_text (_(
-"JACK exited unexpectedly, and without notifying Ardour.\n\
+ msg->set_secondary_text (string_compose (_(
+"JACK exited unexpectedly, and without notifying %1.\n\
\n\
This is probably due to an error inside JACK. You should restart JACK\n\
-and reconnect Ardour to it, or exit Ardour now. You cannot save your\n\
-session at this time, because we would lose your connection information.\n"));
+and reconnect %1 to it, or exit %1 now. You cannot save your\n\
+session at this time, because we would lose your connection information.\n"), PROGRAM_NAME));
msg->present ();
}
return false; /* do not call again */
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 89276d435a..f160c40c8f 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -213,7 +213,7 @@ Mixer_UI::Mixer_UI ()
title += _("Mixer");
set_title (title.get_string());
- set_wmclass (X_("ardour_mixer"), "Ardour");
+ set_wmclass (X_("ardour_mixer"), PROGRAM_NAME);
add_accel_group (ActionManager::ui_manager->get_accel_group());
diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc
index 207a262dd9..82c544c50c 100644
--- a/gtk2_ardour/option_editor.cc
+++ b/gtk2_ardour/option_editor.cc
@@ -211,7 +211,7 @@ OptionEditor::OptionEditor (Configuration* c, std::string const & t)
using namespace Notebook_Helpers;
set_default_size (300, 300);
- set_wmclass (X_("ardour_preferences"), "Ardour");
+ set_wmclass (X_("ardour_preferences"), PROGRAM_NAME);
set_name ("Preferences");
add_events (Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index c575a3053e..9d569ad42b 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -131,7 +131,7 @@ PluginUIWindow::PluginUIWindow (Gtk::Window* win, boost::shared_ptr<PluginInsert
add (*manage(hbox));
*/
- set_wmclass (X_("ardour_plugin_editor"), "Ardour");
+ set_wmclass (X_("ardour_plugin_editor"), PROGRAM_NAME);
signal_map_event().connect (sigc::mem_fun (*pu, &GenericPluginUI::start_updating));
signal_unmap_event().connect (sigc::mem_fun (*pu, &GenericPluginUI::stop_updating));
diff --git a/gtk2_ardour/port_group.cc b/gtk2_ardour/port_group.cc
index 1598c5933c..f96d465564 100644
--- a/gtk2_ardour/port_group.cc
+++ b/gtk2_ardour/port_group.cc
@@ -331,7 +331,7 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
boost::shared_ptr<PortGroup> bus (new PortGroup (_("Bus")));
boost::shared_ptr<PortGroup> track (new PortGroup (_("Track")));
boost::shared_ptr<PortGroup> system (new PortGroup (_("System")));
- boost::shared_ptr<PortGroup> ardour (new PortGroup (_("Ardour")));
+ boost::shared_ptr<PortGroup> ardour (new PortGroup (PROGRAM_NAME));
boost::shared_ptr<PortGroup> other (new PortGroup (_("Other")));
/* Find the IOs which have bundles for routes and their processors. We store
diff --git a/gtk2_ardour/route_params_ui.cc b/gtk2_ardour/route_params_ui.cc
index b8ec7301a1..59d7565fc2 100644
--- a/gtk2_ardour/route_params_ui.cc
+++ b/gtk2_ardour/route_params_ui.cc
@@ -142,7 +142,7 @@ RouteParams_UI::RouteParams_UI ()
set_name ("RouteParamsWindow");
set_default_size (620,370);
- set_wmclass (X_("ardour_route_parameters"), "Ardour");
+ set_wmclass (X_("ardour_route_parameters"), PROGRAM_NAME);
// events
route_display.get_selection()->signal_changed().connect(sigc::mem_fun(*this, &RouteParams_UI::route_selected));
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 8f4d0cedbb..e44c62949b 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -1276,7 +1276,8 @@ RouteTimeAxisView::name_entry_changed ()
ARDOUR_UI::instance()->popup_error (_("A track already exists with that name"));
name_entry.set_text (_route->name());
} else if (_session->route_name_internal (x)) {
- ARDOUR_UI::instance()->popup_error (_("You cannot create a track with that name as it is reserved for Ardour"));
+ ARDOUR_UI::instance()->popup_error (string_compose (_("You cannot create a track with that name as it is reserved for %1"),
+ PROGRAM_NAME));
name_entry.set_text (_route->name());
} else {
_route->set_name (x);
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 334492fab3..9f2873bb23 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -1340,9 +1340,9 @@ edit your ardour.rc file to set the\n\
string prompt;
if (is_track()) {
- prompt = string_compose (_("Do you really want to remove track \"%1\" ?\n\nYou may also lose the playlist used by this track.\n(this cannot be undone)"), _route->name());
+ prompt = string_compose (_("Do you really want to remove track \"%1\" ?\n\nYou may also lose the playlist used by this track.\n\n(This action cannot be undone, and the session file will be overwritten)"), _route->name());
} else {
- prompt = string_compose (_("Do you really want to remove bus \"%1\" ?\n(this cannot be undone)"), _route->name());
+ prompt = string_compose (_("Do you really want to remove bus \"%1\" ?\n\nYou may also lose the playlist used by this track.\n\n(This action cannot be undone, and the session file will be overwritten)"), _route->name());
}
choices.push_back (_("No, do nothing."));
diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc
index 2e6235e70c..96380f3bff 100644
--- a/gtk2_ardour/sfdb_ui.cc
+++ b/gtk2_ardour/sfdb_ui.cc
@@ -423,12 +423,11 @@ SoundFileBrowser::SoundFileBrowser (Gtk::Window& parent, string title, ARDOUR::S
resetting_ourselves = false;
gm = 0;
- if (ARDOUR::Profile->get_sae()) {
- chooser.add_shortcut_folder_uri("file:///Library/GarageBand/Apple Loops");
- chooser.add_shortcut_folder_uri("file:///Library/Application Support/GarageBand/Instrument Library/Sampler/Sampler Files");
- }
-
#ifdef GTKOSX
+ chooser.add_shortcut_folder_uri("file:///Library/GarageBand/Apple Loops");
+ chooser.add_shortcut_folder_uri("file:///Library/Audio/Apple Loops");
+ chooser.add_shortcut_folder_uri("file:///Library/Application Support/GarageBand/Instrument Library/Sampler/Sampler Files");
+
chooser.add_shortcut_folder_uri("file:///Volumes");
#endif
@@ -1079,7 +1078,7 @@ bool
SoundFileOmega::bad_file_message()
{
MessageDialog msg (*this,
- _("One or more of the selected files\ncannot be used by Ardour"),
+ string_compose (_("One or more of the selected files\ncannot be used by %1"), PROGRAM_NAME),
true,
Gtk::MESSAGE_INFO,
Gtk::BUTTONS_OK);
diff --git a/gtk2_ardour/startup.cc b/gtk2_ardour/startup.cc
index 1e8276a4fc..fbf7d4ab47 100644
--- a/gtk2_ardour/startup.cc
+++ b/gtk2_ardour/startup.cc
@@ -294,7 +294,7 @@ using the program.</span>\
new_user_page_index = append_page (*vbox);
set_page_type (*vbox, ASSISTANT_PAGE_INTRO);
- set_page_title (*vbox, _("Welcome to Ardour"));
+ set_page_title (*vbox, string_compose (_("Welcome to %1"), PROGRAM_NAME));
set_page_header_image (*vbox, icon_pixbuf);
set_page_complete (*vbox, true);
}
@@ -321,12 +321,12 @@ ArdourStartup::setup_first_time_config_page ()
HBox* hbox = manage (new HBox);
VBox* vbox = manage (new VBox);
- txt->set_markup (_("\
-Each project that you work on with Ardour has its own folder.\n\
+ txt->set_markup (string_compose (_("\
+Each project that you work on with %1 has its own folder.\n\
These can require a lot of disk space if you are recording audio.\n\
\n\
-Where would you like new Ardour sessions to be stored by default?\n\n\
-<i>(You can put new sessions anywhere, this is just a default)</i>"));
+Where would you like new %1 sessions to be stored by default?\n\n\
+<i>(You can put new sessions anywhere, this is just a default)</i>"), PROGRAM_NAME));
txt->set_alignment (0.0, 0.0);
vbox->set_spacing (18);
@@ -681,6 +681,10 @@ ArdourStartup::setup_new_session_page ()
}
new_folder_chooser.set_title (_("Select folder for session"));
+#ifdef GTKOSX
+ new_folder_chooser->add_shortcut_folder_uri("file:///Volumes");
+#endif
+
vbox1->pack_start (*hbox2, false, false);
session_new_vbox.pack_start (*vbox1, false, false);
diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index 12e2817fcf..e80c85da8f 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -83,12 +83,12 @@ UIConfiguration::load_defaults ()
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endl;
if (!tree.read (rcfile.c_str())) {
- error << string_compose(_("Ardour: cannot read default ui configuration file \"%1\""), rcfile) << endmsg;
+ error << string_compose(_("cannot read default ui configuration file \"%1\""), rcfile) << endmsg;
return -1;
}
if (set_state (*tree.root(), Stateful::loading_state_version)) {
- error << string_compose(_("Ardour: default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
+ error << string_compose(_("default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
return -1;
}
}
@@ -114,12 +114,12 @@ UIConfiguration::load_state ()
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endl;
if (!tree.read (rcfile.c_str())) {
- error << string_compose(_("Ardour: cannot read default ui configuration file \"%1\""), rcfile) << endmsg;
+ error << string_compose(_("cannot read default ui configuration file \"%1\""), rcfile) << endmsg;
return -1;
}
if (set_state (*tree.root(), Stateful::loading_state_version)) {
- error << string_compose(_("Ardour: default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
+ error << string_compose(_("default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
return -1;
}
}
@@ -137,18 +137,18 @@ UIConfiguration::load_state ()
info << string_compose (_("Loading user ui configuration file %1"), rcfile) << endl;
if (!tree.read (rcfile)) {
- error << string_compose(_("Ardour: cannot read ui configuration file \"%1\""), rcfile) << endmsg;
+ error << string_compose(_("cannot read ui configuration file \"%1\""), rcfile) << endmsg;
return -1;
}
if (set_state (*tree.root(), Stateful::loading_state_version)) {
- error << string_compose(_("Ardour: user ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
+ error << string_compose(_("user ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
return -1;
}
}
if (!found)
- error << "Ardour: could not find any ui configuration file, canvas will look broken." << endmsg;
+ error << _("could not find any ui configuration file, canvas will look broken.") << endmsg;
pack_canvasvars();
return 0;
diff --git a/gtk2_ardour/visual_time_axis.cc b/gtk2_ardour/visual_time_axis.cc
index 5c61980edc..23daba7f7f 100644
--- a/gtk2_ardour/visual_time_axis.cc
+++ b/gtk2_ardour/visual_time_axis.cc
@@ -260,7 +260,7 @@ VisualTimeAxis::remove_this_time_axis(void* src)
{
vector<string> choices;
- std::string prompt = string_compose (_("Do you really want to remove track \"%1\" ?\n(cannot be undone)"), time_axis_name);
+ std::string prompt = string_compose (_("Do you really want to remove track \"%1\" ?\n\nYou may also lose the playlist used by this track.\n\n(This action cannot be undone, and the session file will be overwritten)"), time_axis_name);
choices.push_back (_("No, do nothing."));
choices.push_back (_("Yes, remove it."));