Fix mismatched initialisation order.
[ardour.git] / libs / ardour / export_handler.cc
index b315494127f0bf002e36544c1a1f62c94ebfe945..ec89f270ca832534d212b04ab0f01c9fa872e100 100644 (file)
@@ -27,6 +27,7 @@
 #include "pbd/convert.h"
 
 #include "ardour/audiofile_tagger.h"
+#include "ardour/debug.h"
 #include "ardour/export_graph_builder.h"
 #include "ardour/export_timespan.h"
 #include "ardour/export_channel_configuration.h"
@@ -313,48 +314,40 @@ ExportHandler::finish_timespan ()
 #if 0                  // would be nicer with C++11 initialiser...
                        std::map<char, std::string> subs {
                                { 'f', filename },
-                               { 'd', Glib::path_get_dirname(filename) },
+                               { 'd', Glib::path_get_dirname(filename)  + G_DIR_SEPARATOR },
                                { 'b', PBD::basename_nosuffix(filename) },
-                               { 'u', upload_username },
-                               { 'p', upload_password}
+                               ...
                        };
 #endif
 
                        PBD::ScopedConnection command_connection;
                        std::map<char, std::string> subs;
                        subs.insert (std::pair<char, std::string> ('f', filename));
-                       subs.insert (std::pair<char, std::string> ('d', Glib::path_get_dirname(filename)));
-                       subs.insert (std::pair<char, std::string> ('b', PBD::basename_nosuffix(filename)));
-                       subs.insert (std::pair<char, std::string> ('u', soundcloud_username));
-                       subs.insert (std::pair<char, std::string> ('p', soundcloud_password));
+                       subs.insert (std::pair<char, std::string> ('d', Glib::path_get_dirname (filename) + G_DIR_SEPARATOR));
+                       subs.insert (std::pair<char, std::string> ('b', PBD::basename_nosuffix (filename)));
+                       subs.insert (std::pair<char, std::string> ('s', session.path ()));
+                       subs.insert (std::pair<char, std::string> ('n', session.name ()));
 
-
-                       std::cerr << "running command: " << fmt->command() << "..." << std::endl;
                        ARDOUR::SystemExec *se = new ARDOUR::SystemExec(fmt->command(), subs);
                        se->ReadStdout.connect_same_thread(command_connection, boost::bind(&ExportHandler::command_output, this, _1, _2));
                        if (se->start (2) == 0) {
                                // successfully started
-                               std::cerr << "started!" << std::endl;
                                while (se->is_running ()) {
                                        // wait for system exec to terminate
-                                       // std::cerr << "waiting..." << std::endl;
                                        Glib::usleep (1000);
                                }
+                       } else {
+                               error << "post-export hook failed! " << fmt->command() << endmsg;
                        }
-                       std::cerr << "done! deleting..." << std::endl;
                        delete (se);
                }
 
                if (fmt->soundcloud_upload()) {
                        SoundcloudUploader *soundcloud_uploader = new SoundcloudUploader;
                        std::string token = soundcloud_uploader->Get_Auth_Token(soundcloud_username, soundcloud_password);
-                       std::cerr
-                               << "uploading "
-                               << filename << std::endl
-                               << "username = " << soundcloud_username
-                               << ", password = " << soundcloud_password
-                               << " - token = " << token << " ..."
-                               << std::endl;
+                       DEBUG_TRACE (DEBUG::Soundcloud, string_compose(
+                                               "uploading %1 - username=%2, password=%3, token=%4",
+                                               filename, soundcloud_username, soundcloud_password, token) );
                        std::string path = soundcloud_uploader->Upload (
                                        filename,
                                        PBD::basename_nosuffix(filename), // title
@@ -366,7 +359,7 @@ ExportHandler::finish_timespan ()
                        if (path.length() != 0) {
                                info << string_compose ( _("File %1 uploaded to %2"), filename, path) << endmsg;
                                if (soundcloud_open_page) {
-                                       std::cerr << "opening " << path << " ..." << std::endl;
+                                       DEBUG_TRACE (DEBUG::Soundcloud, string_compose ("opening %1", path) );
                                        open_uri(path.c_str());  // open the soundcloud website to the new file
                                }
                        } else {