*/
+#include <dcp/raw_convert.h>
#include "lib/content.h"
#include "lib/image_content.h"
-#include "lib/sndfile_content.h"
#include "timing_panel.h"
#include "wx_util.h"
#include "timecode.h"
using std::string;
using boost::shared_ptr;
using boost::dynamic_pointer_cast;
-using boost::lexical_cast;
+using dcp::raw_convert;
TimingPanel::TimingPanel (FilmEditor* e)
- : FilmEditorPanel (e, _("Timing"))
+ /* horrid hack for apparent lack of context support with wxWidgets i18n code */
+ : FilmEditorPanel (e, S_("Timing|Timing"))
{
wxFlexGridSizer* grid = new wxFlexGridSizer (2, 4, 4);
_sizer->Add (grid, 0, wxALL, 8);
if (content) {
shared_ptr<VideoContent> vc = dynamic_pointer_cast<VideoContent> (content);
if (vc) {
- _video_frame_rate->SetValue (std_to_wx (lexical_cast<string> (vc->video_frame_rate ())));
+ _video_frame_rate->SetValue (std_to_wx (raw_convert<string> (vc->video_frame_rate (), 5)));
} else {
_video_frame_rate->SetValue ("24");
}
}
}
+ shared_ptr<VideoContent> vc = dynamic_pointer_cast<VideoContent> (content);
shared_ptr<ImageContent> ic = dynamic_pointer_cast<ImageContent> (content);
- shared_ptr<SndfileContent> sc = dynamic_pointer_cast<SndfileContent> (content);
_full_length->set_editable (ic && ic->still ());
_play_length->set_editable (!ic || !ic->still ());
- _video_frame_rate->Enable ((ic && !ic->still ()) || sc);
+ _video_frame_rate->Enable (vc);
_set_video_frame_rate->Enable (false);
}
{
ContentList c = _editor->selected_content ();
if (c.size() == 1) {
- shared_ptr<ImageContent> ic = dynamic_pointer_cast<ImageContent> (c.front ());
- if (ic) {
- ic->set_video_frame_rate (lexical_cast<float> (wx_to_std (_video_frame_rate->GetValue ())));
+ shared_ptr<VideoContent> vc = dynamic_pointer_cast<VideoContent> (c.front ());
+ if (vc) {
+ vc->set_video_frame_rate (raw_convert<float> (wx_to_std (_video_frame_rate->GetValue ())));
}
_set_video_frame_rate->Enable (false);
}