Merge remote-tracking branch 'remotes/origin/master' into windows+cc

This commit is contained in:
John Emmas 2013-10-16 15:55:59 +01:00
commit 75b933eadb
13 changed files with 1861 additions and 1666 deletions

View file

@ -722,6 +722,7 @@ ARDOUR_UI::starting ()
{
Application* app = Application::instance ();
char *nsm_url;
bool brand_new_user = ArdourStartup::required ();
app->ShouldQuit.connect (sigc::mem_fun (*this, &ARDOUR_UI::queue_finish));
app->ShouldLoad.connect (sigc::mem_fun (*this, &ARDOUR_UI::idle_load));
@ -783,16 +784,16 @@ ARDOUR_UI::starting ()
} else {
if (ArdourStartup::required()) {
if (brand_new_user) {
ArdourStartup s;
s.present ();
main().run();
s.hide ();
switch (s.response ()) {
case Gtk::RESPONSE_REJECT:
return -1;
default:
case Gtk::RESPONSE_OK:
break;
default:
return -1;
}
}
@ -808,7 +809,9 @@ ARDOUR_UI::starting ()
/* go get a session */
if (get_session_parameters (false, ARDOUR_COMMAND_LINE::new_session, ARDOUR_COMMAND_LINE::load_template)) {
const bool new_session_required = (ARDOUR_COMMAND_LINE::new_session || brand_new_user);
if (get_session_parameters (false, new_session_required, ARDOUR_COMMAND_LINE::load_template)) {
return -1;
}
}

View file

@ -77,7 +77,7 @@ EngineControl::EngineControl ()
, ports_adjustment (128, 8, 1024, 1, 16)
, ports_spinner (ports_adjustment)
, control_app_button (_("Device Control Panel"))
, lm_measure_button (_("Measure"))
, lm_measure_label (_("Measure"))
, lm_use_button (_("Use results"))
, lm_back_button (_("Back to settings ... (ignore results)"))
, lm_button (_("Calibrate..."))
@ -179,6 +179,8 @@ EngineControl::EngineControl ()
xopt = AttachOptions(0);
lm_measure_label.set_padding (10, 10);
lm_measure_button.add (lm_measure_label);
lm_measure_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::latency_button_clicked));
lm_use_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::use_latency_button_clicked));
lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), 0));
@ -191,10 +193,6 @@ EngineControl::EngineControl ()
Gtk::Misc* l;
if ((l = dynamic_cast<Gtk::Misc*>(lm_measure_button.get_child())) != 0) {
l->set_padding (10, 10);
}
if ((l = dynamic_cast<Gtk::Misc*>(lm_use_button.get_child())) != 0) {
l->set_padding (10, 10);
}
@ -336,7 +334,7 @@ EngineControl::EngineControl ()
basic_packer.attach (*label, 0, 1, 0, 1, xopt, (AttachOptions) 0);
basic_packer.attach (backend_combo, 1, 2, 0, 1, xopt, (AttachOptions) 0);
lm_button.signal_clicked.connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), latency_tab));
lm_button.signal_clicked.connect (sigc::mem_fun (*this, &EngineControl::calibrate_latency));
lm_button.set_name ("record enable button");
if (_have_control) {
build_full_control_notebook ();
@ -514,14 +512,34 @@ EngineControl::EngineControl ()
EngineControl::enable_latency_tab ()
{
vector<string> outputs;
vector<string> inputs;
ARDOUR::AudioEngine::instance()->get_physical_outputs (ARDOUR::DataType::AUDIO, outputs);
ARDOUR::AudioEngine::instance()->get_physical_inputs (ARDOUR::DataType::AUDIO, inputs);
if (inputs.empty() || outputs.empty()) {
MessageDialog msg (_("Your selected audio configuration is playback- or capture-only.\n\nLatency calibration requires playback and capture"));
lm_measure_button.set_sensitive (false);
notebook.set_current_page (0);
msg.run ();
return;
}
if (!outputs.empty()) {
set_popdown_strings (lm_output_channel_combo, outputs);
lm_output_channel_combo.set_active_text (outputs.front());
lm_output_channel_combo.set_sensitive (true);
} else {
lm_output_channel_combo.set_sensitive (false);
}
vector<string> inputs;
ARDOUR::AudioEngine::instance()->get_physical_inputs (ARDOUR::DataType::AUDIO, inputs);
if (!inputs.empty()) {
set_popdown_strings (lm_input_channel_combo, inputs);
lm_input_channel_combo.set_active_text (inputs.front());
lm_input_channel_combo.set_sensitive (true);
} else {
lm_input_channel_combo.set_sensitive (false);
}
lm_measure_button.set_sensitive (true);
}
@ -1272,9 +1290,9 @@ EngineControl::EngineControl ()
/* backend never started, so we have to force a group
of settings.
*/
change_driver = true;
if (backend->requires_driver_selection()) {
change_device = true;
if (backend->requires_driver_selection()) {
change_driver = true;
}
change_rate = true;
change_bufsize = true;
@ -1619,9 +1637,11 @@ EngineControl::EngineControl ()
enable_latency_tab ();
} else {
if (lm_running) {
ARDOUR::AudioEngine::instance()->stop_latency_detection();
}
}
}
/* latency measurement */
@ -1688,7 +1708,7 @@ EngineControl::start_latency_detection ()
if (ARDOUR::AudioEngine::instance()->start_latency_detection () == 0) {
lm_results.set_markup (string_compose (results_markup, _("Detecting ...")));
latency_timeout = Glib::signal_timeout().connect (mem_fun (*this, &EngineControl::check_latency_measurement), 100);
lm_measure_button.set_label (_("Cancel"));
lm_measure_label.set_text (_("Cancel"));
have_lm_results = false;
lm_use_button.set_sensitive (false);
lm_input_channel_combo.set_sensitive (false);
@ -1702,7 +1722,7 @@ EngineControl::end_latency_detection ()
{
latency_timeout.disconnect ();
ARDOUR::AudioEngine::instance()->stop_latency_detection ();
lm_measure_button.set_label (_("Measure"));
lm_measure_label.set_text (_("Measure"));
if (!have_lm_results) {
lm_results.set_markup (string_compose (results_markup, _("No measurement results yet")));
} else {
@ -1793,3 +1813,10 @@ EngineControl::connect_disconnect_click()
ARDOUR_UI::instance()->reconnect_to_engine ();
}
}
void
EngineControl::calibrate_latency ()
{
notebook.set_current_page (latency_tab);
}

View file

@ -86,6 +86,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
Gtk::ComboBoxText lm_output_channel_combo;
Gtk::ComboBoxText lm_input_channel_combo;
Gtk::Label lm_measure_label;
Gtk::Button lm_measure_button;
Gtk::Button lm_use_button;
Gtk::Button lm_back_button;
@ -212,6 +213,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
PBD::ScopedConnection stopped_connection;
void connect_disconnect_click ();
void calibrate_latency ();
};
#endif /* __gtk2_ardour_engine_dialog_h__ */

File diff suppressed because it is too large Load diff

View file

@ -243,6 +243,7 @@ Where would you like new %1 sessions to be stored by default?\n\n\
vbox->pack_start (*txt, false, false);
vbox->pack_start (*hbox, false, true);
cerr << "set default folder to " << poor_mans_glob (Config->get_default_session_parent_dir()) << endl;
default_dir_chooser->set_current_folder (poor_mans_glob (Config->get_default_session_parent_dir()));
default_dir_chooser->signal_current_folder_changed().connect (sigc::mem_fun (*this, &ArdourStartup::default_dir_changed));
default_dir_chooser->show ();

View file

@ -137,7 +137,7 @@ VideoServerDialog::VideoServerDialog (Session* s)
t->attach (cachesize_spinner, 1, 2, 2, 3);
l = manage (new Label (string_compose(
_("%1 relies on an external Video Server for the videotimeline.\nThe server configured in Edit -> Prefereces -> Video is not reachable.\nDo you want ardour to launch 'harvid' on this machine?"), PROGRAM_NAME)
_("%1 relies on an external video server for the videotimeline.\nThe server configured in Edit -> Preferences -> Video is not reachable.\nDo you want %1 to launch 'harvid' on this machine?"), PROGRAM_NAME)
, Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
l->set_max_width_chars(80);
l->set_line_wrap();

File diff suppressed because it is too large Load diff

View file

@ -83,7 +83,8 @@ namespace {
const char * const dummy_driver_command_line_name = X_("dummy");
// should we provide more "pretty" names like above?
const char * const alsaint_midi_driver_name = X_("alsa");
const char * const alsa_seq_midi_driver_name = X_("alsa");
const char * const alsa_raw_midi_driver_name = X_("alsarawmidi");
const char * const alsaseq_midi_driver_name = X_("seq");
const char * const alsaraw_midi_driver_name = X_("raw");
const char * const winmme_midi_driver_name = X_("winmme");
@ -744,9 +745,12 @@ ARDOUR::get_jack_command_line_string (JackCommandLineOptions& options, string& c
#endif
if (options.driver == alsa_driver_name) {
if (options.midi_driver == alsaint_midi_driver_name) {
args.push_back ("-I");
if (options.midi_driver == alsa_seq_midi_driver_name) {
args.push_back ("-X");
args.push_back ("alsa_midi");
} else if (options.midi_driver == alsa_raw_midi_driver_name) {
args.push_back ("-X");
args.push_back ("alsarawmidi");
}
}
@ -860,7 +864,7 @@ ARDOUR::get_jack_command_line_string (JackCommandLineOptions& options, string& c
if (options.driver == alsa_driver_name || options.driver == coreaudio_driver_name) {
if (options.midi_driver != alsaint_midi_driver_name) {
if (options.midi_driver != alsa_seq_midi_driver_name) {
if (!options.midi_driver.empty() && options.midi_driver != get_none_string ()) {
args.push_back ("-X");
args.push_back (options.midi_driver);
@ -921,9 +925,10 @@ ARDOUR::enumerate_midi_options ()
{
if (midi_options.empty()) {
#ifdef HAVE_ALSA
midi_options.push_back (make_pair (_("ALSA"), alsaint_midi_driver_name));
midi_options.push_back (make_pair (_("(legacy) ALSA raw devices"), alsaraw_midi_driver_name));
midi_options.push_back (make_pair (_("(legacy) ALSA sequencer"), alsaseq_midi_driver_name));
midi_options.push_back (make_pair (_("ALSA (JACK1, 0.124 and later)"), alsa_seq_midi_driver_name));
midi_options.push_back (make_pair (_("ALSA (JACK2, 1.9.8 and later)"), alsa_raw_midi_driver_name));
#endif
#ifdef HAVE_PORTAUDIO
/* Windows folks: what name makes sense here? Are there other

View file

@ -7,26 +7,25 @@ msgid ""
msgstr ""
"Project-Id-Version: gtkmm2ext\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-15 15:09-0400\n"
"PO-Revision-Date: 2012-12-31 01:38+0300\n"
"POT-Creation-Date: 2013-10-15 21:33+0400\n"
"PO-Revision-Date: 2013-10-15 21:54+0300\n"
"Last-Translator: Александр Прокудин <alexandre.prokoudine@gmail.com>\n"
"Language-Team: русский <>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); 10<=4 && (n%100<10 || n"
"%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.5.4\n"
#: actions.cc:386
msgid "Unknown action name: %1"
msgstr "Неизвестное название действия: %1"
#: binding_proxy.cc:84
#, fuzzy
msgid "operate controller now"
msgstr "включить MIDI-контроллер"
msgstr ""
#: bindable_button.cc:48
msgid "button cannot watch state of non-existing Controllable\n"
@ -36,7 +35,7 @@ msgstr ""
msgid "Log"
msgstr "Журнал"
#: gtk_ui.cc:361
#: gtk_ui.cc:363
msgid ""
"\n"
"\n"
@ -46,11 +45,11 @@ msgstr ""
"\n"
"Комбинация клавиш: "
#: gtk_ui.cc:633
#: gtk_ui.cc:635
msgid "Press To Exit"
msgstr "Нажмите для выхода"
#: gtk_ui.cc:669
#: gtk_ui.cc:671
msgid "I'm sorry %1, I can't do that"
msgstr ""
@ -78,21 +77,21 @@ msgstr "Alt"
msgid "Meta"
msgstr "Meta"
#: keyboard.cc:139 keyboard.cc:531
#: keyboard.cc:139 keyboard.cc:535
msgid "Unknown"
msgstr "Неизвестно"
#: keyboard.cc:542
#: keyboard.cc:546
msgid "key bindings file not found at \"%2\" or contains errors."
msgstr ""
#: tearoff.cc:57
msgid "Click to tear this into its own window"
msgstr ""
msgstr "Щелкните, чтобы превратить эту панель инструментов в плавающее окно"
#: tearoff.cc:63
msgid "Click to put this back in the main window"
msgstr ""
msgstr "Щелкните, чтобы превратить это плавающее окно в панель инструментов"
#: textviewer.cc:34
msgid "Close"

View file

@ -84,6 +84,7 @@ MackieControlProtocolGUI::MackieControlProtocolGUI (MackieControlProtocol& p)
Gtk::Table* table = Gtk::manage (new Gtk::Table (2, 9));
table->set_row_spacings (4);
table->set_col_spacings (6);
table->set_border_width (12);
l = manage (new Gtk::Label (_("Device Type:")));
l->set_alignment (1.0, 0.5);
table->attach (*l, 0, 1, 0, 1, AttachOptions(FILL|EXPAND), AttachOptions(0));
@ -182,7 +183,6 @@ MackieControlProtocolGUI::MackieControlProtocolGUI (MackieControlProtocol& p)
fkey_packer->pack_start (function_key_scroller, true, true);
fkey_packer->pack_start (*observation_packer, false, false);
fkey_packer->set_spacing (12);
function_key_scroller.set_size_request (700,700);
function_key_scroller.property_shadow_type() = Gtk::SHADOW_NONE;
function_key_scroller.add (function_key_editor);
append_page (*fkey_packer, _("Function Keys"));

View file

@ -531,6 +531,7 @@ fi
# share stuff
cp -R ../../gtk2_ardour/splash.png $Shared
cp -R ../../gtk2_ardour/small-splash.png $Shared
cp -R ../../gtk2_ardour/ArdourMono.ttf $Shared
# go through and recursively remove any .svn dirs in the bundle

View file

@ -409,6 +409,7 @@ cp -r ../../gtk2_ardour/pixmaps $Resources
# shared stuff
cp -R ../../gtk2_ardour/splash.png $Shared
cp -R ../../gtk2_ardour/small-splash.png $Shared
cp -R ../../gtk2_ardour/ArdourMono.ttf $Shared
# go through and recursively remove any .svn dirs in the bundle

View file

@ -8,7 +8,7 @@ import subprocess
import sys
MAJOR = '3'
MINOR = '4'
MINOR = '5'
VERSION = MAJOR + '.' + MINOR
APPNAME = 'Ardour' + MAJOR