Early work on options dialog (won't really work without wxWidgets 2.8.0) and save/load keyframes.

Originally committed to SVN as r571.
This commit is contained in:
Rodrigo Braz Monteiro 2006-12-18 02:44:38 +00:00
parent 0bccc65219
commit 7573a814ad
13 changed files with 197 additions and 116 deletions

BIN
core/bitmaps/options.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -3,6 +3,7 @@ Please visit http://aegisub.net to download latest version
= 1.11 beta - 2006.xx.xx =========================== = 1.11 beta - 2006.xx.xx ===========================
- New Aegisub logo. (AMZ)
- Support reading SSA/ASS files with intermixed V4 and V4+ Styles sections (jfs) - Support reading SSA/ASS files with intermixed V4 and V4+ Styles sections (jfs)
- Fixed loading of sections with unexpected cases. (AMZ) - Fixed loading of sections with unexpected cases. (AMZ)
- Changes to Audio Spectrum: (jfs) - Changes to Audio Spectrum: (jfs)

View File

@ -36,34 +36,43 @@
/////////// ///////////
// Headers // Headers
#include <wx/notebook.h>
#include "dialog_options.h" #include "dialog_options.h"
#ifdef wxUSE_TREEBOOK
#include <wx/treebook.h>
#endif
/////////////// ///////////////
// Constructor // Constructor
DialogOptions::DialogOptions(wxWindow *parent) DialogOptions::DialogOptions(wxWindow *parent)
: wxDialog(parent, -1, _T("Options"), wxDefaultPosition, wxSize(400,300)) : wxDialog(parent, -1, _T("Options"), wxDefaultPosition, wxDefaultSize)
{ {
// List book #ifdef wxUSE_TREEBOOK
book = new wxNotebook(this,-1,wxDefaultPosition,wxSize(300,200)); // Create book
wxWindow *page1 = new wxTextCtrl(book,-1,_T(""),wxDefaultPosition,wxSize(100,50)); book = new wxTreebook(this,-1,wxDefaultPosition,wxSize(500,300));
wxWindow *page2 = new wxPanel(book,-1,wxDefaultPosition,wxSize(100,50));
wxSizer *testSizer = new wxBoxSizer(wxVERTICAL);
wxWindow *testWindow = new wxPanel(book,-1);
testSizer->Add(new wxTextCtrl(testWindow,-1,_T(""),wxDefaultPosition,wxSize(100,50)),1,wxEXPAND | wxALL,5);
testSizer->Add(new wxButton(testWindow,wxID_OK),0,wxTOP,5);
testWindow->SetSizer(testSizer);
wxWindow *page3 = testWindow;
book->AddPage(page1,_T("Test"),true);
book->AddPage(page2,_T("Test2"),true);
book->AddPage(page3,_T("Why, hello there"),true);
// Sizer // List book
book->AddPage(new wxPanel(book,-1),_T("General"),true);
book->AddSubPage(new wxPanel(book,-1),_T("File Save/Load"),true);
book->AddSubPage(new wxPanel(book,-1),_T("Subtitles Grid"),true);
book->AddSubPage(new wxPanel(book,-1),_T("Subtitles Edit Box"),true);
book->AddPage(new wxPanel(book,-1),_T("Video"),true);
book->AddPage(new wxPanel(book,-1),_T("Audio"),true);
book->AddSubPage(new wxPanel(book,-1),_T("Display"),true);
book->AddPage(new wxPanel(book,-1),_T("Automation"),true);
// Buttons Sizer
wxSizer *buttonSizer = new wxBoxSizer(wxHORIZONTAL);
buttonSizer->AddStretchSpacer(1);
buttonSizer->Add(new wxButton(this,wxID_OK),0,wxRIGHT,5);
buttonSizer->Add(new wxButton(this,wxID_CANCEL),0,wxRIGHT,5);
// Main Sizer
wxSizer *mainSizer = new wxBoxSizer(wxVERTICAL); wxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
mainSizer->Add(book,1,wxEXPAND | wxALL,5); mainSizer->Add(book,1,wxEXPAND | wxALL,5);
//mainSizer->SetSizeHints(this); mainSizer->Add(buttonSizer,0,wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM,5);
SetSizer(mainSizer); SetSizer(mainSizer);
#endif
} }

View File

@ -44,14 +44,16 @@
////////////// //////////////
// Prototypes // Prototypes
class wxNotebook; class wxTreebook;
//////////////////////// ////////////////////////
// Options screen class // Options screen class
class DialogOptions: public wxDialog { class DialogOptions: public wxDialog {
private: private:
wxNotebook *book; #ifdef wxUSE_TREEBOOK
wxTreebook *book;
#endif
public: public:
DialogOptions(wxWindow *parent); DialogOptions(wxWindow *parent);

View File

@ -79,7 +79,7 @@ DialogPasteOver::DialogPasteOver (wxWindow *parent)
// Buttons // Buttons
wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL); wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL);
ButtonSizer->AddStretchSpacer(1); ButtonSizer->AddStretchSpacer(1);
ButtonSizer->Add(new wxButton(this, wxID_OK),0,0,0); ButtonSizer->Add(new wxButton(this, wxID_OK),0,wxRIGHT,5);
ButtonSizer->Add(new wxButton(this, wxID_CANCEL),0,0,0); ButtonSizer->Add(new wxButton(this, wxID_CANCEL),0,0,0);
// Main sizer // Main sizer

View File

@ -272,6 +272,10 @@ void FrameMain::InitMenu() {
wxMenuItem *RecentTimesParent = new wxMenuItem(videoMenu, Menu_File_Recent_Timecodes_Parent, _("Recent"), _T(""), wxITEM_NORMAL, RecentTimecodes); wxMenuItem *RecentTimesParent = new wxMenuItem(videoMenu, Menu_File_Recent_Timecodes_Parent, _("Recent"), _T(""), wxITEM_NORMAL, RecentTimecodes);
videoMenu->Append(RecentTimesParent); videoMenu->Append(RecentTimesParent);
videoMenu->AppendSeparator(); videoMenu->AppendSeparator();
videoMenu->Append(Menu_Video_Load_Keyframes, _("Open keyframes..."), _("Opens a keyframe list file"));
videoMenu->Append(Menu_Video_Save_Keyframes, _("Save keyframes..."), _("Saves the current keyframe list"))->Enable(false);
videoMenu->Append(Menu_Video_Close_Keyframes, _("Close keyframes"), _("Closes the currently open keyframes list"))->Enable(false);
videoMenu->AppendSeparator();
AppendBitmapMenuItem (videoMenu,Menu_Video_JumpTo, _("&Jump To...\t") + Hotkeys.GetText(_T("Video Jump")), _("Jump to frame or time"), wxBITMAP(jumpto_button)); AppendBitmapMenuItem (videoMenu,Menu_Video_JumpTo, _("&Jump To...\t") + Hotkeys.GetText(_T("Video Jump")), _("Jump to frame or time"), wxBITMAP(jumpto_button));
videoMenu->AppendSeparator(); videoMenu->AppendSeparator();
videoMenu->Append(Menu_View_Zoom_50, _("Zoom &50%\t") + Hotkeys.GetText(_T("Zoom 50%")), _("Set zoom to 50%")); videoMenu->Append(Menu_View_Zoom_50, _("Zoom &50%\t") + Hotkeys.GetText(_T("Zoom 50%")), _("Set zoom to 50%"));
@ -318,7 +322,7 @@ void FrameMain::InitMenu() {
AppendBitmapMenuItem (toolMenu,Menu_Tools_SpellCheck, _("Spe&ll checker..."),_("Open spell checker"), wxBITMAP(spellcheck_toolbutton)); AppendBitmapMenuItem (toolMenu,Menu_Tools_SpellCheck, _("Spe&ll checker..."),_("Open spell checker"), wxBITMAP(spellcheck_toolbutton));
#endif #endif
toolMenu->AppendSeparator(); toolMenu->AppendSeparator();
//AppendBitmapMenuItem (toolMenu,Menu_Tools_Options, _("&Options..."), _("Configure Aegisub"), wxBITMAP(hotkeys_button)); AppendBitmapMenuItem (toolMenu,Menu_Tools_Options, _("&Options..."), _("Configure Aegisub"), wxBITMAP(options_button));
AppendBitmapMenuItem (toolMenu,Menu_Tools_Hotkeys, _("&Hotkeys..."), _("Remap hotkeys"), wxBITMAP(hotkeys_button)); AppendBitmapMenuItem (toolMenu,Menu_Tools_Hotkeys, _("&Hotkeys..."), _("Remap hotkeys"), wxBITMAP(hotkeys_button));
MenuBar->Append(toolMenu, _("&Tools")); MenuBar->Append(toolMenu, _("&Tools"));

View File

@ -147,6 +147,9 @@ private:
void OnCloseVideo (wxCommandEvent &event); void OnCloseVideo (wxCommandEvent &event);
void OnOpenVFR (wxCommandEvent &event); void OnOpenVFR (wxCommandEvent &event);
void OnCloseVFR (wxCommandEvent &event); void OnCloseVFR (wxCommandEvent &event);
void OnOpenKeyframes (wxCommandEvent &event);
void OnCloseKeyframes (wxCommandEvent &event);
void OnSaveKeyframes (wxCommandEvent &event);
void OnZoomIn (wxCommandEvent &event); void OnZoomIn (wxCommandEvent &event);
void OnZoomOut (wxCommandEvent &event); void OnZoomOut (wxCommandEvent &event);
@ -215,6 +218,8 @@ private:
void LoadVideo(wxString filename,bool autoload=false); void LoadVideo(wxString filename,bool autoload=false);
void LoadAudio(wxString filename,bool FromVideo=false); void LoadAudio(wxString filename,bool FromVideo=false);
void LoadVFR(wxString filename); void LoadVFR(wxString filename);
void LoadKeyframes(wxString filename);
void SaveKeyframes(wxString filename);
void LoadSubtitles(wxString filename,wxString charset=_T("")); void LoadSubtitles(wxString filename,wxString charset=_T(""));
bool SaveSubtitles(bool saveas=false,bool withCharset=false); bool SaveSubtitles(bool saveas=false,bool withCharset=false);
int TryToCloseSubs(bool enableCancel=true); int TryToCloseSubs(bool enableCancel=true);
@ -285,6 +290,9 @@ enum {
Menu_View_Zoom_200, Menu_View_Zoom_200,
Menu_Video_Zoom_In, Menu_Video_Zoom_In,
Menu_Video_Zoom_Out, Menu_Video_Zoom_Out,
Menu_Video_Load_Keyframes,
Menu_Video_Save_Keyframes,
Menu_Video_Close_Keyframes,
Toolbar_Zoom_Dropdown, Toolbar_Zoom_Dropdown,
Menu_Video_AR_Default, Menu_Video_AR_Default,
Menu_Video_AR_Full, Menu_Video_AR_Full,

View File

@ -133,6 +133,9 @@ BEGIN_EVENT_TABLE(FrameMain, wxFrame)
EVT_MENU(Menu_File_Export_Subtitles, FrameMain::OnExportSubtitles) EVT_MENU(Menu_File_Export_Subtitles, FrameMain::OnExportSubtitles)
EVT_MENU(Menu_File_Open_VFR, FrameMain::OnOpenVFR) EVT_MENU(Menu_File_Open_VFR, FrameMain::OnOpenVFR)
EVT_MENU(Menu_File_Close_VFR, FrameMain::OnCloseVFR) EVT_MENU(Menu_File_Close_VFR, FrameMain::OnCloseVFR)
EVT_MENU(Menu_Video_Load_Keyframes, FrameMain::OnOpenKeyframes)
EVT_MENU(Menu_Video_Save_Keyframes, FrameMain::OnSaveKeyframes)
EVT_MENU(Menu_Video_Close_Keyframes, FrameMain::OnCloseKeyframes)
EVT_MENU(Menu_View_Zoom_50, FrameMain::OnSetZoom50) EVT_MENU(Menu_View_Zoom_50, FrameMain::OnSetZoom50)
EVT_MENU(Menu_View_Zoom_100, FrameMain::OnSetZoom100) EVT_MENU(Menu_View_Zoom_100, FrameMain::OnSetZoom100)
@ -286,7 +289,9 @@ void FrameMain::OnMenuOpen (wxMenuEvent &event) {
MenuBar->Enable(Menu_Video_AR_Wide,state); MenuBar->Enable(Menu_Video_AR_Wide,state);
MenuBar->Enable(Menu_Video_AR_235,state); MenuBar->Enable(Menu_Video_AR_235,state);
MenuBar->Enable(Menu_Video_AR_Custom,state); MenuBar->Enable(Menu_Video_AR_Custom,state);
MenuBar->Enable(Menu_File_Close_VFR,VFR_Output.GetFrameRateType() == VFR); //fix me, wrong? MenuBar->Enable(Menu_File_Close_VFR,VFR_Output.GetFrameRateType() == VFR);
MenuBar->Enable(Menu_Video_Close_Keyframes,videoBox->videoDisplay->keyFramesLoaded);
MenuBar->Enable(Menu_Video_Save_Keyframes,videoBox->videoDisplay->keyFramesLoaded);
// Set AR radio // Set AR radio
int arType = videoBox->videoDisplay->GetAspectRatioType(); int arType = videoBox->videoDisplay->GetAspectRatioType();
@ -623,6 +628,24 @@ void FrameMain::OnCloseVFR(wxCommandEvent &event) {
} }
//////////////////
// Open keyframes
void FrameMain::OnOpenKeyframes (wxCommandEvent &event) {
}
///////////////////
// Close keyframes
void FrameMain::OnCloseKeyframes (wxCommandEvent &event) {
}
//////////////////
// Save keyframes
void FrameMain::OnSaveKeyframes (wxCommandEvent &event) {
}
/////////////// ///////////////
// Zoom levels // Zoom levels
void FrameMain::OnSetZoom50(wxCommandEvent& WXUNUSED(event)) { void FrameMain::OnSetZoom50(wxCommandEvent& WXUNUSED(event)) {

View File

@ -66,11 +66,13 @@ OptionsManager::~OptionsManager() {
/////////////////////// ///////////////////////
// Load default values // Load default values
void OptionsManager::LoadDefaults() { void OptionsManager::LoadDefaults() {
SetInt(_T("Locale Code"),-1); ///// PUBLIC //////
SetText(_T("Save Charset"),_T("UTF-8")); // Here go the options that can be edited by the options menu
SetBool(_T("Use nonstandard Milisecond Times"),false);
SetBool(_T("Keep raw dialogue data"),false);
// General
SetBool(_T("Tips enabled"),true);
SetBool(_T("Show splash"),true);
SetBool(_T("Link Time Boxes Commit"),true);
SetInt(_T("Undo Levels"),8); SetInt(_T("Undo Levels"),8);
SetInt(_T("Recent timecodes max"),16); SetInt(_T("Recent timecodes max"),16);
SetInt(_T("Recent sub max"),16); SetInt(_T("Recent sub max"),16);
@ -79,10 +81,54 @@ void OptionsManager::LoadDefaults() {
SetInt(_T("Recent find max"),16); SetInt(_T("Recent find max"),16);
SetInt(_T("Recent replace max"),16); SetInt(_T("Recent replace max"),16);
SetBool(_T("Sync video with subs"),true); // File Save/Load
SetBool(_T("Show keyframes on video slider"),true); SetText(_T("Save Charset"),_T("UTF-8"));
SetBool(_T("Link Time Boxes Commit"),true); SetBool(_T("Use nonstandard Milisecond Times"),false);
SetBool(_T("Auto backup"),true);
SetInt(_T("Auto save every seconds"),60);
SetBool(_T("Auto save on every change"),false);
SetText(_T("Auto backup path"),_T("autoback"));
SetText(_T("Auto save path"),_T("autosave"));
SetText(_T("Auto recovery path"),_T("recovered"));
SetInt(_T("Autoload linked files"),2);
// Video Options
SetInt(_T("Video Check Script Res"), 0);
SetInt(_T("Video Default Zoom"), 7);
SetInt(_T("Video Fast Jump Step"), 10);
SetBool(_T("Show keyframes on video slider"),true);
// Video Provider (Advanced)
SetBool(_T("Threaded Video"),false);
SetInt(_T("Avisynth MemoryMax"),64);
SetBool(_T("Allow Ancient Avisynth"),false);
SetText(_T("Video Provider"),_T("Avisynth"));
SetText(_T("Video resizer"),_T("BilinearResize"));
// Audio Options
SetBool(_T("Audio Link"),true);
SetBool(_T("Audio Autocommit"),false);
SetBool(_T("Audio Autoscroll"),true);
SetBool(_T("Audio SSA Mode"),false);
SetBool(_T("Audio SSA Next Line on Commit"),true);
SetBool(_T("Audio SSA Allow Autocommit"),false);
SetBool(_T("Audio Autofocus"),false);
SetBool(_T("Audio Wheel Default To Zoom"),false);
SetBool(_T("Audio lock scroll on cursor"),false);
SetInt(_T("Timing Default Duration"), 2000);
SetInt(_T("Audio lead in"),200);
SetInt(_T("Audio lead out"),300);
SetInt(_T("Audio Inactive Lines Display Mode"),1);
// Audio Provider (Advanced)
SetInt(_T("Audio Cache"),1);
SetInt(_T("Audio Sample Rate"),0);
SetText(_T("Audio Downmixer"),_T("ConvertToMono"));
// Automation
SetText(_T("Automation Include Path"), AegisubApp::folderName + _T("automation/include"));
// Edit box cosmetic
SetBool(_T("Syntax Highlight Enabled"),true); SetBool(_T("Syntax Highlight Enabled"),true);
SetColour(_T("Syntax Highlight Normal"),wxColour(0,0,0)); SetColour(_T("Syntax Highlight Normal"),wxColour(0,0,0));
SetColour(_T("Syntax Highlight Brackets"),wxColour(20,50,255)); SetColour(_T("Syntax Highlight Brackets"),wxColour(20,50,255));
@ -97,24 +143,6 @@ void OptionsManager::LoadDefaults() {
#endif #endif
SetText(_T("Font Face"),_T("")); SetText(_T("Font Face"),_T(""));
SetBool(_T("Shift Times ByTime"),true);
SetInt(_T("Shift Times Type"),0);
SetInt(_T("Shift Times Length"),0);
SetBool(_T("Shift Times All Rows"),true);
SetBool(_T("Shift Times Direction"),true);
SetBool(_T("Tips enabled"),true);
SetInt(_T("Tips current"),0);
SetBool(_T("Show splash"),true);
SetBool(_T("Show associations"),true);
SetBool(_T("Find Match Case"),false);
SetBool(_T("Find RegExp"),false);
SetBool(_T("Find Update Video"),false);
SetInt(_T("Find Affect"),0);
SetInt(_T("Find Field"),0);
// Generate colors // Generate colors
wxColour tempCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); wxColour tempCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
float r = tempCol.Red() / 255.0; float r = tempCol.Red() / 255.0;
@ -132,6 +160,7 @@ void OptionsManager::LoadDefaults() {
wxColour grid = wxColour(128,128,128); wxColour grid = wxColour(128,128,128);
wxColour collision = wxColour(255,0,0); wxColour collision = wxColour(255,0,0);
// Grid cosmetic
SetColour(_T("Grid standard foreground"),textCol); SetColour(_T("Grid standard foreground"),textCol);
SetColour(_T("Grid selection background"),selection); SetColour(_T("Grid selection background"),selection);
SetColour(_T("Grid selection foreground"),textCol); SetColour(_T("Grid selection foreground"),textCol);
@ -144,70 +173,15 @@ void OptionsManager::LoadDefaults() {
SetColour(_T("Grid left column"),labels); SetColour(_T("Grid left column"),labels);
SetColour(_T("Grid active border"),active); SetColour(_T("Grid active border"),active);
SetColour(_T("Grid lines"),grid); SetColour(_T("Grid lines"),grid);
SetInt(_T("Grid hide overrides"),1);
wchar_t temp = 0x2600; wchar_t temp = 0x2600;
SetText(_T("Grid hide overrides char"),temp); SetText(_T("Grid hide overrides char"),temp);
SetBool(_T("Grid allow focus"),true); SetBool(_T("Grid allow focus"),true);
for (int i=0;i<10;i++) SetBool(_T("Grid show column ") + IntegerToString(i),true);
#if defined(__WINDOWS__)
SetInt(_T("Grid font size"),8);
#else
SetInt(_T("Grid font size"),10);
#endif
SetBool(_T("Highlight subs in frame"),true); SetBool(_T("Highlight subs in frame"),true);
for (int i=0;i<9;i++) SetBool(wxString::Format(_T("Paste Over #%i"),i),false); // Audio Cosmetic
SetBool(_T("Paste Over #9"),true);
SetText(_T("Fonts Collector Destination"),_T("?script"));
SetBool(_T("Threaded Video"),false);
SetInt(_T("Avisynth MemoryMax"),64);
SetBool(_T("Allow Ancient Avisynth"),false);
SetText(_T("Video Provider"),_T("Avisynth"));
SetText(_T("Video resizer"),_T("BilinearResize"));
SetInt(_T("Video Check Script Res"), 0);
SetInt(_T("Video Default Zoom"), 7);
SetInt(_T("Video Fast Jump Step"), 10);
SetInt(_T("Audio Cache"),1);
SetInt(_T("Audio Sample Rate"),0);
SetText(_T("Audio Downmixer"),_T("ConvertToMono"));
SetBool(_T("Audio Link"),true);
SetBool(_T("Audio Autocommit"),false);
SetBool(_T("Audio Autoscroll"),true);
SetBool(_T("Audio SSA Mode"),false);
SetBool(_T("Audio SSA Next Line on Commit"),true);
SetBool(_T("Audio SSA Allow Autocommit"),false);
SetBool(_T("Audio Autofocus"),false);
SetInt(_T("Audio Display Height"),100);
SetInt(_T("Timing Default Duration"), 2000);
SetBool(_T("Audio Wheel Default To Zoom"),false);
SetBool(_T("Audio lock scroll on cursor"),false);
SetBool(_T("Audio Spectrum"),false);
SetInt(_T("Audio Spectrum Cutoff"),32); SetInt(_T("Audio Spectrum Cutoff"),32);
SetInt(_T("Audio Spectrum Window"),11); SetInt(_T("Audio Spectrum Window"),11);
SetBool(_T("Audio Spectrum invert selection"), true); SetBool(_T("Audio Spectrum invert selection"), true);
SetInt(_T("Audio lead in"),200);
SetInt(_T("Audio lead out"),300);
SetInt(_T("Audio Inactive Lines Display Mode"),1);
SetInt(_T("Timing processor key start before thres"),5);
SetInt(_T("Timing processor key start after thres"),4);
SetInt(_T("Timing processor key end before thres"),5);
SetInt(_T("Timing processor key end after thres"),6);
SetInt(_T("Timing processor adjascent thres"),300);
SetBool(_T("Timing processor Enable lead-in"),true);
SetBool(_T("Timing processor Enable lead-out"),true);
SetBool(_T("Timing processor Enable keyframe"),true);
SetBool(_T("Timing processor Enable adjascent"),true);
SetFloat(_T("Timing processor adjascent bias"),1.0);
SetColour(_T("Audio Selection Background Modified"),wxColour(92,0,0)); SetColour(_T("Audio Selection Background Modified"),wxColour(92,0,0));
SetColour(_T("Audio Selection Background"),wxColour(64,64,64)); SetColour(_T("Audio Selection Background"),wxColour(64,64,64));
SetColour(_T("Audio Seconds Boundaries"),wxColour(0,100,255)); SetColour(_T("Audio Seconds Boundaries"),wxColour(0,100,255));
@ -226,7 +200,57 @@ void OptionsManager::LoadDefaults() {
SetBool(_T("Audio Draw Secondary Lines"), true); SetBool(_T("Audio Draw Secondary Lines"), true);
SetBool(_T("Audio Draw Selection Background"), true); SetBool(_T("Audio Draw Selection Background"), true);
SetText(_T("Automation Include Path"), AegisubApp::folderName + _T("automation/include"));
///// INTERNAL //////
// Options that are set by the program itself
SetInt(_T("Locale Code"),-1);
SetBool(_T("Keep raw dialogue data"),false);
SetBool(_T("Sync video with subs"),true);
SetBool(_T("Shift Times ByTime"),true);
SetInt(_T("Shift Times Type"),0);
SetInt(_T("Shift Times Length"),0);
SetBool(_T("Shift Times All Rows"),true);
SetBool(_T("Shift Times Direction"),true);
SetInt(_T("Tips current"),0);
SetBool(_T("Show associations"),true);
SetBool(_T("Find Match Case"),false);
SetBool(_T("Find RegExp"),false);
SetBool(_T("Find Update Video"),false);
SetInt(_T("Find Affect"),0);
SetInt(_T("Find Field"),0);
SetInt(_T("Grid hide overrides"),1);
for (int i=0;i<10;i++) SetBool(_T("Grid show column ") + IntegerToString(i),true);
#if defined(__WINDOWS__)
SetInt(_T("Grid font size"),8);
#else
SetInt(_T("Grid font size"),10);
#endif
for (int i=0;i<9;i++) SetBool(wxString::Format(_T("Paste Over #%i"),i),false);
SetBool(_T("Paste Over #9"),true);
SetText(_T("Fonts Collector Destination"),_T("?script"));
SetInt(_T("Audio Display Height"),100);
SetBool(_T("Audio Spectrum"),false);
SetInt(_T("Timing processor key start before thres"),5);
SetInt(_T("Timing processor key start after thres"),4);
SetInt(_T("Timing processor key end before thres"),5);
SetInt(_T("Timing processor key end after thres"),6);
SetInt(_T("Timing processor adjascent thres"),300);
SetBool(_T("Timing processor Enable lead-in"),true);
SetBool(_T("Timing processor Enable lead-out"),true);
SetBool(_T("Timing processor Enable keyframe"),true);
SetBool(_T("Timing processor Enable adjascent"),true);
SetFloat(_T("Timing processor adjascent bias"),1.0);
SetText(_T("Select Text"),_T("")); SetText(_T("Select Text"),_T(""));
SetInt(_T("Select Condition"),0); SetInt(_T("Select Condition"),0);
@ -237,14 +261,6 @@ void OptionsManager::LoadDefaults() {
SetBool(_T("Select Match dialogues"),true); SetBool(_T("Select Match dialogues"),true);
SetBool(_T("Select Match comments"),false); SetBool(_T("Select Match comments"),false);
SetBool(_T("Auto backup"),true);
SetInt(_T("Auto save every seconds"),60);
SetBool(_T("Auto save on every change"),false);
SetText(_T("Auto backup path"),_T("autoback"));
SetText(_T("Auto save path"),_T("autosave"));
SetText(_T("Auto recovery path"),_T("recovered"));
SetInt(_T("Autoload linked files"),2);
SetText(_T("Text actor separator"),_T(":")); SetText(_T("Text actor separator"),_T(":"));
SetText(_T("Text comment starter"),_T("#")); SetText(_T("Text comment starter"),_T("#"));

View File

@ -51,6 +51,7 @@ zoom_in_button BITMAP "bitmaps/zoom_in.bmp"
zoom_out_button BITMAP "bitmaps/zoom_out.bmp" zoom_out_button BITMAP "bitmaps/zoom_out.bmp"
font_collector_button BITMAP "bitmaps/fontcollect.bmp" font_collector_button BITMAP "bitmaps/fontcollect.bmp"
hotkeys_button BITMAP "bitmaps/hotkeys.bmp" hotkeys_button BITMAP "bitmaps/hotkeys.bmp"
options_button BITMAP "bitmaps/options.bmp"
attach_button BITMAP "bitmaps/attach.bmp" attach_button BITMAP "bitmaps/attach.bmp"
substart_to_video BITMAP "bitmaps/substart_to_video.bmp" substart_to_video BITMAP "bitmaps/substart_to_video.bmp"
subend_to_video BITMAP "bitmaps/subend_to_video.bmp" subend_to_video BITMAP "bitmaps/subend_to_video.bmp"

View File

@ -36,6 +36,8 @@
//////////// ////////////
// Includes // Includes
#include <wx/wxprec.h>
#include <wx/display.h>
#include "splash.h" #include "splash.h"
#include "options.h" #include "options.h"
#include "tip.h" #include "tip.h"
@ -52,8 +54,12 @@ SplashScreen::SplashScreen(wxWindow *parent)
// Get splash // Get splash
splash = wxBITMAP(splash); splash = wxBITMAP(splash);
// Prepare // Set position
Center(); Center();
//wxDisplay display(wxDisplay::GetFromPoint(parent->GetPosition()));
//wxRect rect = display.GetGeometry();
// Prepare
wxClientDC dc(this); wxClientDC dc(this);
dc.BeginDrawing(); dc.BeginDrawing();
dc.DrawBitmap(splash,0,0); dc.DrawBitmap(splash,0,0);

View File

@ -99,6 +99,7 @@ VideoDisplay::VideoDisplay(wxWindow* parent, wxWindowID id, const wxPoint& pos,
ControlSlider = NULL; ControlSlider = NULL;
PositionDisplay = NULL; PositionDisplay = NULL;
loaded = false; loaded = false;
keyFramesLoaded = false;
frame_n = 0; frame_n = 0;
origSize = size; origSize = size;
arType = 0; arType = 0;
@ -172,6 +173,7 @@ void VideoDisplay::SetVideo(const wxString &filename) {
provider->SetDAR(arValue); provider->SetDAR(arValue);
KeyFrames.Clear(); KeyFrames.Clear();
keyFramesLoaded = false;
// Why the hell was this disabled? // Why the hell was this disabled?
// Read extra data from file // Read extra data from file
@ -184,6 +186,7 @@ void VideoDisplay::SetVideo(const wxString &filename) {
// Get keyframes // Get keyframes
KeyFrames = MatroskaWrapper::wrapper.GetKeyFrames(); KeyFrames = MatroskaWrapper::wrapper.GetKeyFrames();
keyFramesLoaded = true;
// Ask to override timecodes // Ask to override timecodes
int override = wxYES; int override = wxYES;
@ -194,7 +197,10 @@ void VideoDisplay::SetVideo(const wxString &filename) {
MatroskaWrapper::wrapper.Close(); MatroskaWrapper::wrapper.Close();
} }
#ifdef __WINDOWS__ #ifdef __WINDOWS__
else if (ext == _T(".avi")) KeyFrames = VFWWrapper::GetKeyFrames(filename); else if (ext == _T(".avi")) {
KeyFrames = VFWWrapper::GetKeyFrames(filename);
keyFramesLoaded = true;
}
#endif #endif
// Update size // Update size
@ -237,6 +243,9 @@ void VideoDisplay::Reset() {
GetSize(&_w,&_h); GetSize(&_w,&_h);
SetSizeHints(_w,_h,_w,_h); SetSizeHints(_w,_h,_w,_h);
KeyFrames.Clear();
keyFramesLoaded = false;
// Remove temporary audio provider // Remove temporary audio provider
if (audio && audio->temporary) { if (audio && audio->temporary) {
delete audio->provider; delete audio->provider;

View File

@ -99,7 +99,9 @@ private:
public: public:
VideoProvider *provider; VideoProvider *provider;
bool keyFramesLoaded;
wxArrayInt KeyFrames; wxArrayInt KeyFrames;
SubtitlesGrid *grid; SubtitlesGrid *grid;
wxString videoName; wxString videoName;
int w,h; int w,h;
@ -132,7 +134,7 @@ public:
void JumpToTime(int ms); void JumpToTime(int ms);
void RefreshSubtitles(); void RefreshSubtitles();
void RefreshVideo(); void RefreshVideo();
void DrawText( wxPoint Pos, wxString Text ); void DrawText(wxPoint Pos, wxString Text);
void UpdatePositionDisplay(); void UpdatePositionDisplay();
void SetZoom(double value); void SetZoom(double value);
void SetZoomPos(int pos); void SetZoomPos(int pos);