Merge branch 'windows' of git.ardour.org:ardour/ardour into windows
[ardour.git] / gtk2_ardour / engine_dialog.cc
index aa26c8e9d7032458885f51e8c942669728193f66..05cd9a661ed8bae19245759ae54fef19380a4431 100644 (file)
@@ -167,8 +167,12 @@ EngineControl::EngineControl ()
 
        strings.clear ();
        strings.push_back (_("None"));
+#ifdef __APPLE__
+       strings.push_back (_("coremidi"));
+#else
        strings.push_back (_("seq"));
        strings.push_back (_("raw"));
+#endif
        set_popdown_strings (midi_driver_combo, strings);
        midi_driver_combo.set_active_text (strings.front ());
 
@@ -439,6 +443,12 @@ EngineControl::build_command_line (vector<string>& cmd)
 
        cmd.push_back ("-T"); // temporary */
 
+       /* setup coremidi before the driver, otherwise jack won't start */
+
+       if (midi_driver_combo.get_active_text() == _("coremidi")) {
+               cmd.push_back ("-X coremidi");
+       }
+
        /* next the driver */
 
        cmd.push_back ("-d");
@@ -470,11 +480,11 @@ EngineControl::build_command_line (vector<string>& cmd)
        if (!using_coreaudio) {
                str = audio_mode_combo.get_active_text();
 
-               if (str == _("Playback/Recording on 1 Device")) {
+               if (str == _("Playback/recording on 1 device")) {
 
                        /* relax */
 
-               } else if (str == _("Playback/Recording on 2 Devices")) {
+               } else if (str == _("Playback/recording on 2 devices")) {
 
                        string input_device = get_device_name (driver, input_device_combo.get_active_text());
                        string output_device = get_device_name (driver, output_device_combo.get_active_text());
@@ -527,7 +537,7 @@ EngineControl::build_command_line (vector<string>& cmd)
 
        if (using_alsa) {
 
-               if (audio_mode_combo.get_active_text() != _("Playback/Recording on 2 Devices")) {
+               if (audio_mode_combo.get_active_text() != _("Playback/recording on 2 devices")) {
 
                        string device = get_device_name (driver, interface_combo.get_active_text());
                        if (device.empty()) {
@@ -774,7 +784,7 @@ EngineControl::enumerate_coreaudio_devices ()
 
 
        if (devs.size() == 0) {
-               MessageDialog msg (_("\
+               MessageDialog msg (string_compose (_("\
 You do not have any audio devices capable of\n\
 simultaneous playback and recording.\n\n\
 Please use Applications -> Utilities -> Audio MIDI Setup\n\
@@ -784,8 +794,8 @@ Please send email to Apple and ask them why new Macs\n\
 have no duplex audio device.\n\n\
 Alternatively, if you really want just playback\n\
 or recording but not both, start JACK before running\n\
-Ardour and choose the relevant device then."
-                                          ),
+%1 and choose the relevant device then."
+                                                          ), PROGRAM_NAME),
                                   true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK);
                msg.set_title (_("No suitable audio devices"));
                msg.set_position (Gtk::WIN_POS_MOUSE);
@@ -961,10 +971,10 @@ EngineControl::audio_mode_changed ()
 {
        std::string str = audio_mode_combo.get_active_text();
 
-       if (str == _("Playback/Recording on 1 Device")) {
+       if (str == _("Playback/recording on 1 device")) {
                input_device_combo.set_sensitive (false);
                output_device_combo.set_sensitive (false);
-       } else if (str == _("Playback/Recording on 2 Devices")) {
+       } else if (str == _("Playback/recording on 2 devices")) {
                input_device_combo.set_sensitive (true);
                output_device_combo.set_sensitive (true);
        } else if (str == _("Playback only")) {