More player debugging for butler video-full states.
[dcpomatic.git] / src / lib / send_problem_report_job.cc
index 8142b173c3d42e89171ed6fbafb5b5e7c1e79aed..aac2b6e66645cfb8ef5e0520a346adc882b6e7fe 100644 (file)
@@ -1,19 +1,20 @@
 /*
-    Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2017 Carl Hetherington <cth@carlh.net>
 
-    This program is free software; you can redistribute it and/or modify
+    This file is part of DCP-o-matic.
+
+    DCP-o-matic 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,
+    DCP-o-matic 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.
+    along with DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
 
 */
 
@@ -25,6 +26,9 @@
 #include "log.h"
 #include "version.h"
 #include "emailer.h"
+#include "environment_info.h"
+#include <libxml++/libxml++.h>
+#include <boost/foreach.hpp>
 
 #include "i18n.h"
 
@@ -32,7 +36,10 @@ using std::string;
 using std::list;
 using boost::shared_ptr;
 
-/** @param film Film thta the problem is with, or 0 */
+/** @param film Film thta the problem is with, or 0.
+ *  @param from Email address to use for From:
+ *  @param summary Summary of the problem.
+ */
 SendProblemReportJob::SendProblemReportJob (
        shared_ptr<const Film> film,
        string from,
@@ -71,6 +78,12 @@ SendProblemReportJob::run ()
 
        body += "Version: " + string (dcpomatic_version) + " " + string (dcpomatic_git_commit) + "\n\n";
 
+       BOOST_FOREACH (string i, environment_info ()) {
+               body += i + "\n";
+       }
+
+       body += "\n";
+
        if (_film) {
                body += "log head and tail:\n";
                body += "---<8----\n";
@@ -78,16 +91,20 @@ SendProblemReportJob::run ()
                body += "---<8----\n\n";
 
                add_file (body, "ffprobe.log");
-               add_file (body, "metadata.xml");
+
+               body += "---<8----\n";
+               body += _film->metadata()->write_to_string_formatted("UTF-8");
+               body += "---<8----\n";
        }
 
        list<string> to;
        to.push_back ("carl@dcpomatic.com");
 
        Emailer emailer (_from, to, "DCP-o-matic problem report", body);
-       emailer.send (shared_from_this ());
+       emailer.send ("main.carlh.net", 2525);
 
        set_progress (1);
+       set_state (FINISHED_OK);
 }
 
 void