Rename server and makedcp (temporarily?) so that it is parallel installable with...
authorCarl Hetherington <cth@carlh.net>
Fri, 26 Apr 2013 21:25:09 +0000 (22:25 +0100)
committerCarl Hetherington <cth@carlh.net>
Fri, 26 Apr 2013 21:25:09 +0000 (22:25 +0100)
src/tools/makedcp.cc [deleted file]
src/tools/servomatic_cli.cc [deleted file]
src/tools/servomatic_gui.cc [deleted file]
src/tools/wscript

diff --git a/src/tools/makedcp.cc b/src/tools/makedcp.cc
deleted file mode 100644 (file)
index e2e1874..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
-
-    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.
-
-*/
-
-#include <iostream>
-#include <iomanip>
-#include <getopt.h>
-#include <libdcp/test_mode.h>
-#include <libdcp/version.h>
-#include "format.h"
-#include "film.h"
-#include "filter.h"
-#include "transcode_job.h"
-#include "job_manager.h"
-#include "ab_transcode_job.h"
-#include "util.h"
-#include "scaler.h"
-#include "version.h"
-#include "cross.h"
-#include "config.h"
-#include "log.h"
-
-using std::string;
-using std::cerr;
-using std::cout;
-using std::vector;
-using std::pair;
-using std::list;
-using boost::shared_ptr;
-
-static void
-help (string n)
-{
-       cerr << "Syntax: " << n << " [OPTION] <FILM>\n"
-            << "  -v, --version      show DCP-o-matic version\n"
-            << "  -h, --help         show this help\n"
-            << "  -d, --deps         list DCP-o-matic dependency details and quit\n"
-            << "  -t, --test         run in test mode (repeatable UUID generation, timestamps etc.)\n"
-            << "  -n, --no-progress  do not print progress to stdout\n"
-            << "  -r, --no-remote    do not use any remote servers\n"
-            << "\n"
-            << "<FILM> is the film directory.\n";
-}
-
-int
-main (int argc, char* argv[])
-{
-       string film_dir;
-       bool test_mode = false;
-       bool progress = true;
-       bool no_remote = false;
-       int log_level = 1;
-
-       int option_index = 0;
-       while (1) {
-               static struct option long_options[] = {
-                       { "version", no_argument, 0, 'v'},
-                       { "help", no_argument, 0, 'h'},
-                       { "deps", no_argument, 0, 'd'},
-                       { "test", no_argument, 0, 't'},
-                       { "no-progress", no_argument, 0, 'n'},
-                       { "no-remote", no_argument, 0, 'r'},
-                       { "log-level", required_argument, 0, 'l' },
-                       { 0, 0, 0, 0 }
-               };
-
-               int c = getopt_long (argc, argv, "vhdtnrl:", long_options, &option_index);
-
-               if (c == -1) {
-                       break;
-               }
-
-               switch (c) {
-               case 'v':
-                       cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n";
-                       exit (EXIT_SUCCESS);
-               case 'h':
-                       help (argv[0]);
-                       exit (EXIT_SUCCESS);
-               case 'd':
-                       cout << dependency_version_summary () << "\n";
-                       exit (EXIT_SUCCESS);
-               case 't':
-                       test_mode = true;
-                       break;
-               case 'n':
-                       progress = false;
-                       break;
-               case 'r':
-                       no_remote = true;
-                       break;
-               case 'l':
-                       log_level = atoi (optarg);
-                       break;
-               }
-       }
-
-       if (optind >= argc) {
-               help (argv[0]);
-               exit (EXIT_FAILURE);
-       }
-
-       film_dir = argv[optind];
-                       
-       dcpomatic_setup ();
-
-       if (no_remote) {
-               Config::instance()->set_servers (vector<ServerDescription*> ());
-       }
-
-       cout << "DCP-o-matic " << dcpomatic_version << " git " << dcpomatic_git_commit;
-       char buf[256];
-       if (gethostname (buf, 256) == 0) {
-               cout << " on " << buf;
-       }
-       cout << "\n";
-
-       if (test_mode) {
-               libdcp::enable_test_mode ();
-               cout << dependency_version_summary() << "\n";
-       }
-
-       shared_ptr<Film> film;
-       try {
-               film.reset (new Film (film_dir, true));
-       } catch (std::exception& e) {
-               cerr << argv[0] << ": error reading film `" << film_dir << "' (" << e.what() << ")\n";
-               exit (EXIT_FAILURE);
-       }
-
-       film->log()->set_level ((Log::Level) log_level);
-
-       cout << "\nMaking ";
-       if (film->ab()) {
-               cout << "A/B ";
-       }
-       cout << "DCP for " << film->name() << "\n";
-       cout << "Test mode: " << (test_mode ? "yes" : "no") << "\n";
-//     cout << "Content: " << film->content() << "\n";
-       pair<string, string> const f = Filter::ffmpeg_strings (film->filters ());
-       cout << "Filters: " << f.first << " " << f.second << "\n";
-
-       film->make_dcp ();
-
-       bool should_stop = false;
-       bool first = true;
-       bool error = false;
-       while (!should_stop) {
-
-               dcpomatic_sleep (5);
-
-               list<shared_ptr<Job> > jobs = JobManager::instance()->get ();
-
-               if (!first && progress) {
-                       cout << "\033[" << jobs.size() << "A";
-                       cout.flush ();
-               }
-
-               first = false;
-
-               int unfinished = 0;
-               int finished_in_error = 0;
-
-               for (list<shared_ptr<Job> >::iterator i = jobs.begin(); i != jobs.end(); ++i) {
-                       if (progress) {
-                               cout << (*i)->name() << ": ";
-                               
-                               float const p = (*i)->overall_progress ();
-                               
-                               if (p >= 0) {
-                                       cout << (*i)->status() << "                         \n";
-                               } else {
-                                       cout << ": Running           \n";
-                               }
-                       }
-
-                       if (!(*i)->finished ()) {
-                               ++unfinished;
-                       }
-
-                       if ((*i)->finished_in_error ()) {
-                               ++finished_in_error;
-                               error = true;
-                       }
-
-                       if (!progress && (*i)->finished_in_error ()) {
-                               /* We won't see this error if we haven't been showing progress,
-                                  so show it now.
-                               */
-                               cout << (*i)->status() << "\n";
-                       }
-               }
-
-               if (unfinished == 0 || finished_in_error != 0) {
-                       should_stop = true;
-               }
-       }
-
-       return error ? EXIT_FAILURE : EXIT_SUCCESS;
-}
-
-         
diff --git a/src/tools/servomatic_cli.cc b/src/tools/servomatic_cli.cc
deleted file mode 100644 (file)
index 76d0850..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
-
-    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.
-
-*/
-
-#include "lib/server.h"
-#include <iostream>
-#include <stdexcept>
-#include <sstream>
-#include <cstring>
-#include <vector>
-#include <unistd.h>
-#include <errno.h>
-#include <getopt.h>
-#include <boost/array.hpp>
-#include <boost/asio.hpp>
-#include <boost/algorithm/string.hpp>
-#include <boost/thread.hpp>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/condition.hpp>
-#include "config.h"
-#include "dcp_video_frame.h"
-#include "exceptions.h"
-#include "util.h"
-#include "config.h"
-#include "scaler.h"
-#include "image.h"
-#include "log.h"
-#include "version.h"
-
-using std::cerr;
-using std::string;
-using std::cout;
-using boost::shared_ptr;
-
-static void
-help (string n)
-{
-       cerr << "Syntax: " << n << " [OPTION]\n"
-            << "  -v, --version      show DCP-o-matic version\n"
-            << "  -h, --help         show this help\n"
-            << "  -t, --threads      number of parallel encoding threads to use\n";
-}
-
-int
-main (int argc, char* argv[])
-{
-       int num_threads = Config::instance()->num_local_encoding_threads ();
-
-       int option_index = 0;
-       while (1) {
-               static struct option long_options[] = {
-                       { "version", no_argument, 0, 'v'},
-                       { "help", no_argument, 0, 'h'},
-                       { "threads", required_argument, 0, 't'},
-                       { 0, 0, 0, 0 }
-               };
-
-               int c = getopt_long (argc, argv, "vht:", long_options, &option_index);
-
-               if (c == -1) {
-                       break;
-               }
-
-               switch (c) {
-               case 'v':
-                       cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n";
-                       exit (EXIT_SUCCESS);
-               case 'h':
-                       help (argv[0]);
-                       exit (EXIT_SUCCESS);
-               case 't':
-                       num_threads = atoi (optarg);
-                       break;
-               }
-       }
-
-       Scaler::setup_scalers ();
-       shared_ptr<FileLog> log (new FileLog ("servomatic.log"));
-       Server server (log);
-       server.run (num_threads);
-       return 0;
-}
diff --git a/src/tools/servomatic_gui.cc b/src/tools/servomatic_gui.cc
deleted file mode 100644 (file)
index 152e063..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
-
-    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.
-
-*/
-
-#include <boost/thread.hpp>
-#include <wx/taskbar.h>
-#include <wx/icon.h>
-#include "wx_util.h"
-#include "lib/util.h"
-#include "lib/server.h"
-#include "lib/config.h"
-
-using std::cout;
-using std::string;
-using boost::shared_ptr;
-using boost::thread;
-using boost::bind;
-
-enum {
-       ID_status = 1,
-       ID_quit,
-       ID_timer
-};
-
-class MemoryLog : public Log
-{
-public:
-
-       string get () const {
-               boost::mutex::scoped_lock (_mutex);
-               return _log;
-       }
-
-private:
-       void do_log (string m)
-       {
-               _log = m;
-       }
-
-       string _log;    
-};
-
-static shared_ptr<MemoryLog> memory_log (new MemoryLog);
-
-class StatusDialog : public wxDialog
-{
-public:
-       StatusDialog ()
-               : wxDialog (0, wxID_ANY, _("DCP-o-matic encode server"), wxDefaultPosition, wxSize (600, 80), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
-               , _timer (this, ID_timer)
-       {
-               _sizer = new wxFlexGridSizer (1, 6, 6);
-               _sizer->AddGrowableCol (0, 1);
-
-               _text = new wxTextCtrl (this, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY);
-               _sizer->Add (_text, 1, wxEXPAND);
-
-               SetSizer (_sizer);
-               _sizer->Layout ();
-
-               Connect (ID_timer, wxEVT_TIMER, wxTimerEventHandler (StatusDialog::update));
-               _timer.Start (1000);
-       }
-
-private:
-       void update (wxTimerEvent &)
-       {
-               _text->ChangeValue (std_to_wx (memory_log->get ()));
-               _sizer->Layout ();
-       }
-
-       wxFlexGridSizer* _sizer;
-       wxTextCtrl* _text;
-       wxTimer _timer;
-};
-
-class TaskBarIcon : public wxTaskBarIcon
-{
-public:
-       TaskBarIcon ()
-       {
-#ifdef __WXMSW__               
-               wxIcon icon (std_to_wx ("taskbar_icon"));
-#endif
-#ifdef __WXGTK__
-               wxInitAllImageHandlers();
-               wxBitmap bitmap (wxString::Format (wxT ("%s/taskbar_icon.png"), POSIX_ICON_PREFIX), wxBITMAP_TYPE_PNG);
-               wxIcon icon;
-               icon.CopyFromBitmap (bitmap);
-#endif         
-               SetIcon (icon, std_to_wx ("DCP-o-matic encode server"));
-
-               Connect (ID_status, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (TaskBarIcon::status));
-               Connect (ID_quit, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (TaskBarIcon::quit));
-       }
-       
-       wxMenu* CreatePopupMenu ()
-       {
-               wxMenu* menu = new wxMenu;
-               menu->Append (ID_status, std_to_wx ("Status..."));
-               menu->Append (ID_quit, std_to_wx ("Quit"));
-               return menu;
-       }
-
-private:
-       void status (wxCommandEvent &)
-       {
-               StatusDialog* d = new StatusDialog;
-               d->Show ();
-       }
-
-       void quit (wxCommandEvent &)
-       {
-               wxTheApp->ExitMainLoop ();
-       }
-};
-
-class App : public wxApp
-{
-public:
-       App ()
-               : wxApp ()
-               , _thread (0)
-               , _icon (0)
-       {}
-
-private:       
-       
-       bool OnInit ()
-       {
-               if (!wxApp::OnInit ()) {
-                       return false;
-               }
-               
-               dcpomatic_setup ();
-
-               _icon = new TaskBarIcon;
-               _thread = new thread (bind (&App::main_thread, this));
-               
-               return true;
-       }
-
-       int OnExit ()
-       {
-               delete _icon;
-               return wxApp::OnExit ();
-       }
-
-       void main_thread ()
-       {
-               Server server (memory_log);
-               server.run (Config::instance()->num_local_encoding_threads ());
-       }
-
-       boost::thread* _thread;
-       TaskBarIcon* _icon;
-};
-
-IMPLEMENT_APP (App)
index f0ffb8e8994aafd60f1018d8db94d367b25cd5e3..466f2903191b203196dd2fe7cc355427841be77e 100644 (file)
@@ -4,7 +4,7 @@ from waflib import Logs
 import i18n
 
 def build(bld):
-    for t in ['makedcp', 'servomatic_cli', 'servomatictest']:
+    for t in ['dcpomatic_cli', 'dcpomatic_server_cli']:
         obj = bld(features = 'cxx cxxprogram')
         obj.uselib = 'BOOST_THREAD OPENJPEG DCP CXML AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE POSTPROC'
         obj.includes = ['..']
@@ -13,7 +13,7 @@ def build(bld):
         obj.target = t
 
     if not bld.env.DISABLE_GUI:
-        for t in ['dcpomatic', 'servomatic_gui']:
+        for t in ['dcpomatic', 'dcpomatic_server']:
             obj = bld(features = 'cxx cxxprogram')
             obj.uselib = 'DCP CXML OPENJPEG AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE POSTPROC'
             obj.includes = ['..']