first attempt at adding new SMPTE formats, moving SMPTE options to menu, adding video...
authorBen Loftis <ben@glw.com>
Mon, 18 Sep 2006 16:50:42 +0000 (16:50 +0000)
committerBen Loftis <ben@glw.com>
Mon, 18 Sep 2006 16:50:42 +0000 (16:50 +0000)
git-svn-id: svn://localhost/ardour2/trunk@920 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour.menus
gtk2_ardour/ardour_ui_options.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_actions.cc
gtk2_ardour/option_editor.cc
gtk2_ardour/option_editor.h

index 3aa9507d696084e9da0bf4b6e5c2d93335059252..aa6424b8b99e2809fbd1c6958afb475c0449379e 100644 (file)
                        <menuitem action='FileHeaderFormatCAF'/>
                   </menu>
                </menu>
+              <menu action='SMPTE'>
+                  <menuitem action='Smpte23976'/>
+                  <menuitem action='Smpte24'/>
+                  <menuitem action='Smpte24976'/>
+                  <menuitem action='Smpte25'/>
+                  <menuitem action='Smpte2997drop'/>
+                  <menuitem action='Smpte2997'/>
+                  <menuitem action='Smpte30drop'/>
+                  <menuitem action='Smpte30'/>
+                  <menuitem action='Smpte5994'/>
+                  <menuitem action='Smpte60'/>
+               </menu>
+              <menu action='Pullup'>
+                  <menuitem action='PullupPlus4Plus1'/>
+                  <menuitem action='PullupPlus4'/>
+                  <menuitem action='PullupPlus4Minus1'/>
+                  <menuitem action='PullupPlus1'/>
+                  <menuitem action='PullupNone'/>
+                  <menuitem action='PullupMinus1'/>
+                  <menuitem action='PullupMinus4Plus1'/>
+                  <menuitem action='PullupMinus4'/>
+                  <menuitem action='PullupMinus4Minus1'/>
+               </menu>
+               <separator/>
                <menu action='Autoconnect'>
                    <menuitem action='AutoConnectNewTrackInputsToHardware'/>
                   <separator/>
index 205180a344be66ba5510eddb1f8bd0df5ea8b3ba..21afbcde212752d62ca2a0df06a5e96982f1b0db 100644 (file)
@@ -463,6 +463,7 @@ ARDOUR_UI::setup_session_options ()
        session_control_changed (Session::AutoReturn);
        session_control_changed (Session::AutoInput);
        session_control_changed (Session::Clicking);
+       session_control_changed (Session::SmpteMode);
        
        session->ControlChanged.connect (mem_fun (*this, &ARDOUR_UI::queue_session_control_changed));
 }
@@ -555,7 +556,6 @@ ARDOUR_UI::session_control_changed (Session::ControlType t)
        case Session::CrossfadingModel:
                break;
 
-               
        case Session::AutoPlay:
                map_some_session_state ("Transport", "ToggleAutoPlay", &Session::get_auto_play);
                break;
index 6b8fc782dc79be8e526eb4a0445e64baee5bd8f1..0729533f76febe22fd1bb25cd1e1cefe06522ce2 100644 (file)
@@ -700,6 +700,7 @@ Editor::Editor (AudioEngine& eng)
        ControlProtocol::ZoomIn.connect (bind (mem_fun (*this, &Editor::temporal_zoom_step), false));
        ControlProtocol::ZoomOut.connect (bind (mem_fun (*this, &Editor::temporal_zoom_step), true));
        ControlProtocol::ScrollTimeline.connect (mem_fun (*this, &Editor::control_scroll));
+
        constructed = true;
        instant_save ();
 
@@ -1025,6 +1026,10 @@ Editor::session_control_changed (Session::ControlType t)
                update_layering_model ();
                break;
 
+       case Session::SmpteMode:
+               update_smpte_mode ();
+               break;
+
        default:
                break;
        }
@@ -1171,6 +1176,9 @@ Editor::connect_to_session (Session *t)
        session_connections.push_back (session->SMPTEOffsetChanged.connect (mem_fun(*this, &Editor::update_just_smpte)));
        session_connections.push_back (session->SMPTETypeChanged.connect (mem_fun(*this, &Editor::update_just_smpte)));
 
+       session_connections.push_back (session->SMPTETypeChanged.connect (mem_fun(*this, &Editor::update_smpte_mode)));
+       session_connections.push_back (session->PullupChanged.connect (mem_fun(*this, &Editor::update_video_pullup)));
+
        session_connections.push_back (session->tempo_map().StateChanged.connect (mem_fun(*this, &Editor::tempo_map_changed)));
 
        edit_groups_changed ();
@@ -1258,9 +1266,12 @@ Editor::connect_to_session (Session *t)
        }
 
        /* xfade visibility state set from editor::set_state() */
-       
-       update_crossfade_model ();
-       update_layering_model ();
+
+       update_crossfade_model();
+       update_layering_model();
+
+       update_smpte_mode();
+       update_video_pullup();
 
        handle_new_duration ();
 
@@ -4084,6 +4095,7 @@ Editor::restore_editing_space ()
 {
        mouse_mode_tearoff->set_visible (true);
        tools_tearoff->set_visible (true);
+
        edit_pane.set_position (pre_maximal_pane_position);
 
        unfullscreen();
@@ -4137,6 +4149,87 @@ Editor::on_key_press_event (GdkEventKey* ev)
        return key_press_focus_accelerator_handler (*this, ev);
 }
 
+void
+Editor::update_smpte_mode ()
+{
+       ENSURE_GUI_THREAD(mem_fun(*this, &Editor::update_smpte_mode));
+
+       RefPtr<Action> act;
+
+       float frames = session->smpte_frames_per_second;
+       bool drop = session->smpte_drop_frames;
+
+       if ((frames < 23.976 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte23976"));
+       else if ((frames < 24 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte24"));
+       else if ((frames < 24.976 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte24976"));
+       else if ((frames < 25 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte25"));
+       else if ((frames < 29.97 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte2997"));
+       else if ((frames < 29.97 * 1.0005) && drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte2997drop"));
+       else if ((frames < 30 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte30"));
+       else if ((frames < 30 * 1.0005) && drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte30drop"));
+       else if ((frames < 59.94 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte5994"));
+       else if ((frames < 60 * 1.0005) && !drop)
+               act = ActionManager::get_action (X_("Editor"), X_("Smpte60"));
+       else
+               cerr << "Unexpected SMPTE value (" << frames << (drop ? "drop" : "") << ") in update_smpte_mode.  Menu is probably wrong\n" << endl;
+               
+
+       if (act) {
+               RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
+               if (ract && !ract->get_active()) {
+                       ract->set_active (true);
+               }
+       }
+}
+
+void
+Editor::update_video_pullup ()
+{
+       ENSURE_GUI_THREAD (mem_fun(*this, &Editor::update_video_pullup));
+
+       RefPtr<Action> act;
+
+       float pullup = session->video_pullup;
+
+       if ( pullup < (-4.1667 - 0.1) * 0.99) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Minus1"));
+       } else if ( pullup < (-4.1667) * 0.99 ) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4"));
+       } else if ( pullup < (-4.1667 + 0.1) * 0.99 ) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Plus1"));
+       } else if ( pullup < (-0.1) * 0.99 ) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus1"));
+       } else if (pullup > (4.1667 + 0.1) * 0.99 ) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Plus1"));
+       } else if ( pullup > (4.1667) * 0.99 ) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4"));
+       } else if ( pullup > (4.1667 - 0.1) * 0.99) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Minus1"));
+       } else if ( pullup > (0.1) * 0.99 ) {
+               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus1"));
+       } else
+               act = ActionManager::get_action (X_("Editor"), X_("PullupNone"));
+
+
+       if (act) {
+               RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
+               if (ract && !ract->get_active()) {
+                       ract->set_active (true);
+               }
+       }
+
+}
+
+
 void
 Editor::update_layering_model ()
 {
@@ -4162,7 +4255,6 @@ Editor::update_layering_model ()
        }
 }
 
-
 void
 Editor::update_crossfade_model ()
 {
index 226cdfb5327d0a955209c9414fc1ff81827ac38d..dacfde83278beb2290a1ef5ce4455a6706713e2b 100644 (file)
@@ -301,6 +301,14 @@ class Editor : public PublicEditor
        void set_meter_falloff (int);
        void set_meter_hold (int32_t);
 
+       /* SMPTE timecode & video sync */
+
+       void smpte_fps_chosen (ARDOUR::Session::SmpteFormat format);
+       void video_pullup_chosen (ARDOUR::Session::PullupFormat pullup);
+
+       void update_smpte_mode();
+       void update_video_pullup();
+
        /* xfades */
 
        void toggle_auto_xfade ();
@@ -310,8 +318,8 @@ class Editor : public PublicEditor
        void update_crossfade_model ();
        void set_crossfade_model (ARDOUR::CrossfadeModel);
 
-       /* layers */
 
+       /* layers */
        void set_layer_model (ARDOUR::Session::LayerModel);
        void update_layering_model ();
 
index 65195ca82204295dc10f3d0751e02423525a44f2..f1b9ef4b83a76d086b7b79640e71d70b29f92384 100644 (file)
@@ -39,6 +39,8 @@ Editor::register_actions ()
        ActionManager::register_action (editor_actions, X_("Monitoring"), _("Monitoring"));
        ActionManager::register_action (editor_actions, X_("Autoconnect"), _("Autoconnect"));
        ActionManager::register_action (editor_actions, X_("Layering"), _("Layering"));
+       ActionManager::register_action (editor_actions, X_("SMPTE"), _("SMPTE fps"));
+       ActionManager::register_action (editor_actions, X_("Pullup"), _("Pullup / Pulldown"));
        ActionManager::register_action (editor_actions, X_("Metering"), _("Metering"));
        ActionManager::register_action (editor_actions, X_("MeteringFallOffRate"), _("Fall off rate"));
        ActionManager::register_action (editor_actions, X_("MeteringHoldTime"), _("Hold Time"));
@@ -393,6 +395,31 @@ Editor::register_actions ()
        ActionManager::register_radio_action (editor_actions, layer_model_group,  X_("LayerMoveAddHigher"), _("Most Recently Moved/Added is Higher"), bind (mem_fun (*this, &Editor::set_layer_model), Session::MoveAddHigher));
        ActionManager::register_radio_action (editor_actions, layer_model_group,  X_("LayerAddHigher"), _("Most Recently Added is Higher"), bind (mem_fun (*this, &Editor::set_layer_model), Session::AddHigher));
 
+       RadioAction::Group smpte_group;
+
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte23976"), _("23.976"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_23976));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte24"), _("24"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_24));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte24976"), _("24.976"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_24976));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte25"), _("25"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_25));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte2997"), _("29.97"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_2997));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte2997drop"), _("29.97 drop"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_2997drop));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte30"), _("30"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_30));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte30drop"), _("30 drop"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_30drop));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte5994"), _("59.94"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_5994));
+       ActionManager::register_radio_action (editor_actions, smpte_group,  X_("Smpte60"), _("60"), bind (mem_fun (*this, &Editor::smpte_fps_chosen), Session::smpte_60));
+
+       RadioAction::Group pullup_group;
+
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupPlus4Plus1"), _("+4.1667% + 0.1%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Plus4Plus1));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupPlus4"), _("+4.1667%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Plus4));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupPlus4Minus1"), _("+4.1667% - 0.1%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Plus4Minus1));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupPlus1"), _("+ 0.1%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Plus1));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupNone"), _("None"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_None));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupMinus1"), _("- 0.1%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Minus1));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupMinus4Plus1"), _("-4.1667% + 0.1%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Minus4Plus1));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupMinus4"), _("-4.1667%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Minus4));
+       ActionManager::register_radio_action (editor_actions, pullup_group,  X_("PullupMinus4Minus1"), _("-4.1667% - 0.1%"), bind (mem_fun (*this, &Editor::video_pullup_chosen), Session::pullup_Minus4Minus1));
+
        ActionManager::add_action_group (rl_actions);
        ActionManager::add_action_group (zoom_actions);
        ActionManager::add_action_group (mouse_mode_actions);
@@ -492,6 +519,150 @@ Editor::set_layer_model (Session::LayerModel model)
        }
 }
 
+void
+Editor::smpte_fps_chosen (Session::SmpteFormat format)
+{
+       /* this is driven by a toggle on a radio group, and so is invoked twice,
+          once for the item that became inactive and once for the one that became
+          active.
+       */
+
+       if (session) {
+
+               float fps = 10;
+               bool drop = false;
+
+               RefPtr<Action> act;
+
+               switch (format) {
+                       case Session::smpte_23976: {
+                               fps=23.976;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte23976"));
+                       } break;
+                       case Session::smpte_24: {
+                               fps=24;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte24"));
+                       } break;
+                       case Session::smpte_24976: {
+                               fps=24.976;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte24976"));
+                       } break;
+                       case Session::smpte_25: {
+                               fps=25;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte25"));
+                       } break;
+                       case Session::smpte_2997: {
+                               fps=29.97;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte2997"));
+                       } break;
+                       case Session::smpte_2997drop: {
+                               fps=29.97;
+                               drop = true;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte2997drop"));
+                       } break;
+                       case Session::smpte_30: {
+                               fps=30;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte30"));
+                       } break;
+                       case Session::smpte_30drop: {
+                               fps=30;
+                               drop = true;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte30drop"));
+                       } break;
+                       case Session::smpte_5994: {
+                               fps=59.94;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte5994"));
+                       } break;
+                       case Session::smpte_60: {
+                               fps=60;
+                               drop = false;
+                               act = ActionManager::get_action (X_("Editor"), X_("Smpte60"));
+                       } break;
+                       default:
+                               cerr << "Editor received unexpected smpte type" << endl;
+               }
+
+               if (act) {
+                       RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
+                       if (ract && ract->get_active()) {
+                               session->set_smpte_type (fps, drop);
+                       }
+               }
+       }
+}
+
+void
+Editor::video_pullup_chosen (Session::PullupFormat pullup)
+{
+       /* this is driven by a toggle on a radio group, and so is invoked twice,
+          once for the item that became inactive and once for the one that became
+          active.
+       */
+
+       if (session) {
+
+               RefPtr<Action> act;
+
+               float pull = 0.0;
+
+               switch (pullup) {
+                       case Session::pullup_Plus4Plus1:{
+                               pull = 4.1667 + 0.1;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Plus1"));
+                       } break;
+                       case Session::pullup_Plus4:{
+                               pull = 4.1667;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4"));
+                       } break;
+                       case Session::pullup_Plus4Minus1:{
+                               pull = 4.1667 - 0.1;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Minus1"));
+                       } break;
+                       case Session::pullup_Plus1:{
+                               pull = 0.1;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupPlus1"));
+                       } break;
+                       case Session::pullup_None:{
+                               pull = 0.0;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupNone"));
+                       } break;
+                       case Session::pullup_Minus1:{
+                               pull = -0.1;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus1"));
+                       } break;
+                       case Session::pullup_Minus4Plus1:{
+                               pull = -4.1667 + 0.1;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Plus1"));
+                       } break;
+                       case Session::pullup_Minus4:{
+                               pull = -4.1667;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4"));
+                       } break;
+                       case Session::pullup_Minus4Minus1:{
+                               pull = -4.1667 - 0.1;
+                               act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Minus1"));
+                       } break;
+                       default:
+                               cerr << "Session received unexpected pullup type" << endl;
+               }
+               
+               if (act) {
+                       RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
+                       if (ract && ract->get_active()) {
+                               session->set_video_pullup ( pull );
+                       }
+               } else  cerr << "Editor::video_pullup_chosen could not find action to match pullup." << endl;
+       }
+}
+
+
 void
 Editor::set_crossfade_model (CrossfadeModel model)
 {
index b7fc7e746e539fc097f795d9d7175892c5560d4f..013761a86a091b08cd76b23a7243042431efe863 100644 (file)
@@ -152,7 +152,6 @@ OptionEditor::set_session (Session *s)
        click_emphasis_path_entry.set_sensitive (false);
        session_raid_entry.set_sensitive (false);
 
-       smpte_fps_combo.set_sensitive (false);
        short_xfade_slider.set_sensitive (false);
        smpte_offset_negative_button.set_sensitive (false);
 
@@ -165,28 +164,9 @@ OptionEditor::set_session (Session *s)
        click_path_entry.set_sensitive (true);
        click_emphasis_path_entry.set_sensitive (true);
        session_raid_entry.set_sensitive (true);
-       smpte_fps_combo.set_sensitive (true);
        short_xfade_slider.set_sensitive (true);
        smpte_offset_negative_button.set_sensitive (true);
 
-       if (!s->smpte_drop_frames) {
-               // non-drop frames
-               if (s->smpte_frames_per_second == 24.0)
-                       smpte_fps_combo.set_active_text (_("24 FPS"));
-               else if (s->smpte_frames_per_second == 25.0)
-                       smpte_fps_combo.set_active_text (_("25 FPS"));
-               else if (s->smpte_frames_per_second == 30.0)
-                       smpte_fps_combo.set_active_text (_("30 FPS"));
-               else
-                       smpte_fps_combo.set_active_text (_("???"));
-       } else {
-               // drop frames
-               if (floor(s->smpte_frames_per_second) == 29.0)
-                       smpte_fps_combo.set_active_text (_("30 FPS drop"));
-               else
-                       smpte_fps_combo.set_active_text (_("???"));
-       }
-       
        smpte_offset_clock.set_session (s);
        smpte_offset_clock.set (s->smpte_offset (), true);
 
@@ -352,15 +332,6 @@ OptionEditor::setup_sync_options ()
        HBox* hbox;
        vector<string> dumb;
 
-       dumb.clear ();
-       dumb.push_back (X_("24 FPS"));
-       dumb.push_back (X_("25 FPS"));
-       dumb.push_back (X_("30 FPS drop"));
-       dumb.push_back (X_("30 FPS non-drop"));
-       
-       set_popdown_strings (smpte_fps_combo, dumb);
-       smpte_fps_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::smpte_fps_chosen));
-       
        smpte_offset_clock.set_mode (AudioClock::SMPTE);
        smpte_offset_clock.ValueChanged.connect (mem_fun(*this, &OptionEditor::smpte_offset_chosen));
        
@@ -368,19 +339,9 @@ OptionEditor::setup_sync_options ()
 
        smpte_offset_negative_button.unset_flags (Gtk::CAN_FOCUS);
 
-       Label *smpte_fps_label = manage (new Label (_("SMPTE Frames/second")));
        Label *smpte_offset_label = manage (new Label (_("SMPTE Offset")));
-       smpte_fps_label->set_name("OptionsLabel");
        smpte_offset_label->set_name("OptionsLabel");
        
-       hbox = manage (new HBox);
-       hbox->set_border_width (5);
-       hbox->set_spacing (10);
-       hbox->pack_start (*smpte_fps_label, false, false);
-       hbox->pack_start (smpte_fps_combo, false, false);
-
-       sync_packer.pack_start (*hbox, false, false);
-
        hbox = manage (new HBox);
        hbox->set_border_width (5);
        hbox->set_spacing (10);
@@ -401,24 +362,6 @@ OptionEditor::smpte_offset_negative_clicked ()
        }
 }
 
-void
-OptionEditor::smpte_fps_chosen ()
-{
-       if (session) {
-               string str = smpte_fps_combo.get_active_text();
-               
-               if (str == X_("24 FPS")) {
-                       session->set_smpte_type (24.0, false);
-               } else if (str == X_("25 FPS")) {
-                       session->set_smpte_type (25.0, false);
-               } else if (str == X_("30 FPS drop")) {
-                       session->set_smpte_type (29.97, true);
-               } else if (str == X_("30 FPS non-drop")) {
-                       session->set_smpte_type (30.0, false);
-               }
-       }
-}
-
 void
 OptionEditor::smpte_offset_chosen()
 {
index 1331d3126efee35f14fff43c51973988cfb0fdfd..d3235164a69c8155520141aa8e741f668213a0c8 100644 (file)
@@ -100,13 +100,11 @@ class OptionEditor : public Gtk::Dialog
        Gtk::VBox sync_packer;
 
        Gtk::ComboBoxText slave_type_combo;
-       Gtk::ComboBoxText smpte_fps_combo;
        AudioClock smpte_offset_clock;
        Gtk::CheckButton smpte_offset_negative_button;
 
        void setup_sync_options ();
 
-       void smpte_fps_chosen ();
        void smpte_offset_chosen ();
        void smpte_offset_negative_clicked ();