Remove film player, DVD ripping, alignment, screen configs; never finished and not...
[dcpomatic.git] / src / tools / dvdomatic.cc
index 4e3006c57cd74d7a7d64fbf0c34e4cddc17ba748..ea93436beb49129ef2eb364934a687c01c221626 100644 (file)
@@ -27,7 +27,6 @@
 #include "wx/job_manager_view.h"
 #include "wx/config_dialog.h"
 #include "wx/job_wrapper.h"
-//#include "gtk/dvd_title_dialog.h"
 #include "wx/wx_util.h"
 #include "wx/new_film_dialog.h"
 #include "wx/properties_dialog.h"
 #include "lib/version.h"
 #include "lib/ui_signaller.h"
 
-using namespace std;
-using namespace boost;
+using std::string;
+using std::stringstream;
+using std::map;
+using std::make_pair;
+using boost::shared_ptr;
 
 static FilmEditor* film_editor = 0;
 static FilmViewer* film_viewer = 0;
 
-static Film* film = 0;
+static shared_ptr<Film> film;
 
 static void set_menu_sensitivity ();
 
@@ -95,8 +97,7 @@ maybe_save_then_delete_film ()
                }
        }
        
-       delete film;
-       film = 0;
+       film.reset ();
 }
 
 enum Sensitivity {
@@ -134,7 +135,6 @@ enum {
        ID_edit_preferences,
        ID_jobs_make_dcp,
        ID_jobs_send_dcp_to_tms,
-       ID_jobs_copy_from_dvd,
        ID_jobs_examine_content,
        ID_jobs_make_dcp_from_existing_transcode,
        ID_help_about
@@ -159,9 +159,6 @@ setup_menu (wxMenuBar* m)
        wxMenu* jobs = new wxMenu;
        add_item (jobs, "&Make DCP", ID_jobs_make_dcp, NEEDS_FILM);
        add_item (jobs, "&Send DCP to TMS", ID_jobs_send_dcp_to_tms, NEEDS_FILM);
-#ifdef DVDOMATIC_POSIX 
-       add_item (jobs, "Copy from &DVD...", ID_jobs_copy_from_dvd, NEEDS_FILM);
-#endif 
        jobs->AppendSeparator ();
        add_item (jobs, "&Examine content", ID_jobs_examine_content, NEEDS_FILM);
        add_item (jobs, "Make DCP from existing &transcode", ID_jobs_make_dcp_from_existing_transcode, NEEDS_FILM);
@@ -200,7 +197,6 @@ public:
                Connect (ID_edit_preferences, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::edit_preferences));
                Connect (ID_jobs_make_dcp, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_make_dcp));
                Connect (ID_jobs_send_dcp_to_tms, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_send_dcp_to_tms));
-               Connect (ID_jobs_copy_from_dvd, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_copy_from_dvd));
                Connect (ID_jobs_examine_content, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_examine_content));
                Connect (ID_jobs_make_dcp_from_existing_transcode, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_make_dcp_from_existing_transcode));
                Connect (ID_help_about, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::help_about));
@@ -229,7 +225,7 @@ public:
                film_editor->setup_visibility ();
                film_viewer->setup_visibility ();
                
-               film_editor->FileChanged.connect (sigc::mem_fun (*this, &Frame::file_changed));
+               film_editor->FileChanged.connect (bind (&Frame::file_changed, this, _1));
                if (film) {
                        file_changed (film->directory ());
                } else {
@@ -264,11 +260,11 @@ public:
                
                if (r == wxID_OK) {
                        maybe_save_then_delete_film ();
-                       film = new Film (d->get_path (), false);
+                       film.reset (new Film (d->get_path (), false));
 #if BOOST_FILESYSTEM_VERSION == 3              
-                       film->set_name (filesystem::path (d->get_path()).filename().generic_string());
+                       film->set_name (boost::filesystem::path (d->get_path()).filename().generic_string());
 #else          
-                       film->set_name (filesystem::path (d->get_path()).filename());
+                       film->set_name (boost::filesystem::path (d->get_path()).filename());
 #endif
                        set_film ();
                }
@@ -280,13 +276,14 @@ public:
        {
                wxDirDialog* c = new wxDirDialog (this, wxT ("Select film to open"), wxStandardPaths::Get().GetDocumentsDir(), wxDEFAULT_DIALOG_STYLE | wxDD_DIR_MUST_EXIST);
                int const r = c->ShowModal ();
-               c->Destroy ();
                
                if (r == wxID_OK) {
                        maybe_save_then_delete_film ();
-                       film = new Film (wx_to_std (c->GetPath ()));
+                       film.reset (new Film (wx_to_std (c->GetPath ())));
                        set_film ();
                }
+
+               c->Destroy ();
        }
 
        void file_save (wxCommandEvent &)
@@ -325,20 +322,6 @@ public:
                JobWrapper::make_dcp (this, film, false);
        }
        
-       void jobs_copy_from_dvd (wxCommandEvent &)
-       {
-               try {
-
-//             DVDTitleDialog d;
-//             if (d.run () != Gtk::RESPONSE_OK) {
-//                     return;
-//             }
-                       film->copy_from_dvd ();
-               } catch (DVDError& e) {
-                       error_dialog (this, e.what ());
-               }
-       }
-       
        void jobs_send_dcp_to_tms (wxCommandEvent &)
        {
                film->send_dcp_to_tms ();
@@ -371,12 +354,16 @@ class App : public wxApp
 {
        bool OnInit ()
        {
+#ifdef DVDOMATIC_POSIX         
+               unsetenv ("UBUNTU_MENUPROXY");
+#endif         
+               
                wxInitAllImageHandlers ();
                
                dvdomatic_setup ();
 
                if (argc == 2 && boost::filesystem::is_directory (wx_to_std (argv[1]))) {
-                       film = new Film (wx_to_std (argv[1]));
+                       film.reset (new Film (wx_to_std (argv[1])));
                }
 
                Frame* f = new Frame (_("DVD-o-matic"));