Preferences/Config changes for image-surface settings
[ardour.git] / gtk2_ardour / export_dialog.h
index 315780750e6c9813c066502dcdcd5f68465d2b2d..e15a21395e7aaceb228ca65e2a387e0b7f8f9430 100644 (file)
@@ -1,28 +1,38 @@
 /*
-    Copyright (C) 2008 Paul Davis
-    Author: Sakari Bergen
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
+ * Copyright (C) 2005-2015 Paul Davis <paul@linuxaudiosystems.com>
+ * Copyright (C) 2005 Taybin Rutkin <taybin@taybin.com>
+ * Copyright (C) 2007-2011 David Robillard <d@drobilla.net>
+ * Copyright (C) 2008-2013 Sakari Bergen <sakari.bergen@beatwaves.net>
+ * Copyright (C) 2010-2012 Carl Hetherington <carl@carlh.net>
+ * Copyright (C) 2013-2014 Colin Fletcher <colin.m.fletcher@googlemail.com>
+ * Copyright (C) 2016-2017 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
 #ifndef __export_dialog_h__
 #define __export_dialog_h__
 
-#include <boost/scoped_ptr.hpp>
 #include <string>
+#include <boost/scoped_ptr.hpp>
+
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+#include <gtkmm/label.h>
+#include <gtkmm/notebook.h>
+#include <gtkmm/progressbar.h>
 
 #include "ardour/export_profile_manager.h"
 
@@ -34,8 +44,6 @@
 #include "ardour_dialog.h"
 #include "soundcloud_export_selector.h"
 
-#include <gtkmm.h>
-
 namespace ARDOUR {
        class ExportStatus;
        class ExportHandler;
@@ -44,10 +52,9 @@ namespace ARDOUR {
 class ExportTimespanSelector;
 class ExportChannelSelector;
 
-class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList 
+class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
 {
-
-  public:
+public:
 
        ExportDialog (PublicEditor & editor, std::string title, ARDOUR::ExportProfileManager::ExportType type);
        ~ExportDialog ();
@@ -62,7 +69,11 @@ class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
                RESPONSE_CANCEL
        };
 
-  protected:
+protected:
+
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
 
        typedef boost::shared_ptr<ARDOUR::ExportHandler> HandlerPtr;
        typedef boost::shared_ptr<ARDOUR::ExportProfileManager> ManagerPtr;
@@ -81,7 +92,8 @@ class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
        boost::scoped_ptr<ExportTimespanSelector> timespan_selector;
        boost::scoped_ptr<ExportChannelSelector>  channel_selector;
        boost::scoped_ptr<ExportFileNotebook>     file_notebook;
-       boost::scoped_ptr<SoundcloudExportSelector> soundcloud_selector;
+
+       boost::shared_ptr<SoundcloudExportSelector> soundcloud_selector;
 
        Gtk::VBox                                 warning_widget;
        Gtk::VBox                                 progress_widget;
@@ -89,7 +101,7 @@ class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
        /*** GUI components ***/
        Gtk::Notebook export_notebook;
 
-  private:
+private:
 
        void init ();
 
@@ -102,6 +114,9 @@ class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
 
        void do_export ();
 
+       void update_realtime_selection ();
+       void parameter_changed (std::string const&);
+
        void show_progress ();
        gint progress_timeout ();
 
@@ -116,12 +131,12 @@ class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
 
        Gtk::HBox           warn_hbox;
        Gtk::Label          warn_label;
-       std::string       warn_string;
+       std::string         warn_string;
 
        Gtk::HBox           list_files_hbox;
        Gtk::Label          list_files_label;
        Gtk::Button         list_files_button;
-       std::string       list_files_string;
+       std::string         list_files_string;
 
        void add_error (std::string const & text);
        void add_warning (std::string const & text);