X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_file_notebook.cc;h=a7ad0610938adb0307fc00779437306cb3796184;hb=9b3fd34b6b90e16157b8709ca0914b169a7235da;hp=ad590ad18c963b7da38173d249e90e1854fdcf4b;hpb=dab6e8a2d33b7ab6127d3916d253f2c41b51b6a0;p=ardour.git diff --git a/gtk2_ardour/export_file_notebook.cc b/gtk2_ardour/export_file_notebook.cc index ad590ad18c..a7ad061093 100644 --- a/gtk2_ardour/export_file_notebook.cc +++ b/gtk2_ardour/export_file_notebook.cc @@ -112,53 +112,17 @@ ExportFileNotebook::update_soundcloud_upload () soundcloud_export_selector->set_visible (show_credentials_entry); } -void -ExportFileNotebook::FilePage::on_show () -{ - VBox::on_show (); - restore_state (); -} - -void -ExportFileNotebook::FilePage::on_hide () -{ - VBox::on_hide (); - store_state (); -} - void ExportFileNotebook::FilePage::analysis_changed () { format_state->format->set_analyse (analysis_button.get_active ()); + profile_manager->save_format_to_disk (format_state->format); } void -ExportFileNotebook::FilePage::store_state () +ExportFileNotebook::FilePage::update_analysis_button () { - XMLNode node (X_("ExportFile")); - node.add_property ("analyze-audio", analysis_button.get_active () ? "yes" : "no"); - node.add_property ("soundcloud-upload", soundcloud_upload_button.get_active () ? "yes" : "no"); - Config->add_instant_xml (node); -} - -void -ExportFileNotebook::FilePage::restore_state () -{ - XMLNode* node = Config->instant_xml (X_("ExportFile")); - - if (!node) { - return; - } - - XMLProperty const* prop; - - if ((prop = node->property ("analyze-audio")) != 0) { - analysis_button.set_active (string_is_affirmative (prop->value())); - } - - if ((prop = node->property ("soundcloud-upload")) != 0) { - soundcloud_upload_button.set_active (string_is_affirmative (prop->value())); - } + analysis_button.set_active (format_state->format->analyse()); } void @@ -234,15 +198,15 @@ ExportFileNotebook::handle_page_change (GtkNotebookPage*, uint32_t page) ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager, ExportFileNotebook * parent, uint32_t number, ExportProfileManager::FormatStatePtr format_state, ExportProfileManager::FilenameStatePtr filename_state) : - format_state (format_state), - filename_state (filename_state), - profile_manager (profile_manager), - - format_label (_("Format"), Gtk::ALIGN_LEFT), - filename_label (_("Location"), Gtk::ALIGN_LEFT), - soundcloud_upload_button (_("Upload to Soundcloud")), - analysis_button (_("Analyze Exported Audio")), - tab_number (number) + format_state (format_state), + filename_state (filename_state), + profile_manager (profile_manager), + + format_label (_("Format"), Gtk::ALIGN_LEFT), + filename_label (_("Location"), Gtk::ALIGN_LEFT), + soundcloud_upload_button (_("Upload to Soundcloud")), + analysis_button (_("Analyze Exported Audio")), + tab_number (number) { set_border_width (12); @@ -253,7 +217,9 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager, Gtk::HBox *hbox = Gtk::manage (new Gtk::HBox()); hbox->set_spacing (6); +#ifndef NDEBUG // SoundCloud upload is currently b0rked, needs debugging hbox->pack_start (soundcloud_upload_button, false, false, 0); +#endif hbox->pack_start (analysis_button, false, false, 0); pack_start (*hbox, false, false, 0); @@ -275,6 +241,7 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager, format_selector.set_state (format_state, s); filename_selector.set_state (filename_state, s); analysis_button.set_active (format_state->format->analyse()); + soundcloud_upload_button.set_active (format_state->format->soundcloud_upload()); /* Signals */ @@ -292,6 +259,7 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager, sigc::mem_fun (*this, &ExportFileNotebook::FilePage::critical_selection_changed)); soundcloud_upload_button.signal_toggled().connect (sigc::mem_fun (*parent, &ExportFileNotebook::update_soundcloud_upload)); + soundcloud_upload_button.signal_toggled().connect (sigc::mem_fun (*this, &ExportFileNotebook::FilePage::soundcloud_upload_changed)); analysis_button.signal_toggled().connect (sigc::mem_fun (*this, &ExportFileNotebook::FilePage::analysis_changed)); /* Tab widget */ @@ -332,9 +300,24 @@ ExportFileNotebook::FilePage::get_format_name () const bool ExportFileNotebook::FilePage::get_soundcloud_upload () const { +#ifdef NDEBUG // SoundCloud upload is currently b0rked, needs debugging + return false; +#endif return soundcloud_upload_button.get_active (); } +void +ExportFileNotebook::FilePage::soundcloud_upload_changed () +{ + profile_manager->save_format_to_disk (format_state->format); +} + +void +ExportFileNotebook::FilePage::update_soundcloud_upload_button () +{ + soundcloud_upload_button.set_active (format_state->format->soundcloud_upload()); +} + void ExportFileNotebook::FilePage::save_format_to_manager (FormatPtr format) { @@ -377,5 +360,7 @@ ExportFileNotebook::FilePage::critical_selection_changed () { update_tab_label(); update_example_filename(); + update_analysis_button(); + update_soundcloud_upload_button(); CriticalSelectionChanged(); }