Working Soundcloud export

Adds an 'upload' property to ExportFormatSpecification, to indicate that files
exported with that format specfication should be uploaded to Soundcloud, and
makes it editable in the export format dialogue.
Adds fields for the Soundcloud username & password to the file format selection
page, as well as an option to make the uploaded files public and open them in
the system browser.

Possible improvements not yet implemented:
- make upload happen in its own thread
- cosmetic tidying up of dialogue control layout
- remember username & password
This commit is contained in:
Colin Fletcher 2013-10-07 14:44:35 +01:00
parent 15b4ebbb07
commit a3465ff5d3
16 changed files with 335 additions and 62 deletions

View file

@ -32,6 +32,7 @@
#include "export_file_notebook.h"
#include "export_preset_selector.h"
#include "ardour_dialog.h"
#include "soundcloud_export_selector.h"
#include <gtkmm.h>
@ -43,7 +44,8 @@ namespace ARDOUR {
class ExportTimespanSelector;
class ExportChannelSelector;
class ExportDialog : public ArdourDialog {
class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
{
public:
@ -79,6 +81,7 @@ class ExportDialog : public ArdourDialog {
boost::scoped_ptr<ExportTimespanSelector> timespan_selector;
boost::scoped_ptr<ExportChannelSelector> channel_selector;
boost::scoped_ptr<ExportFileNotebook> file_notebook;
boost::scoped_ptr<SoundcloudExportSelector> soundcloud_selector;
Gtk::VBox warning_widget;
Gtk::VBox progress_widget;
@ -130,6 +133,8 @@ class ExportDialog : public ArdourDialog {
float previous_progress; // Needed for gtk bug workaround
void soundcloud_upload_progress(double total, double now, std::string title);
/* Buttons */
Gtk::Button * cancel_button;