xiRetimer

fit recorded audio to a tempo
git clone https://git.ce9e.org/xiRetimer.git

commit
8342eeae2cb84201f12df7026c78fe83d4091357
parent
604f600b74ed49bd1d5774eadba9c26d248085d1
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2010-11-04 20:02
preferences

Diffstat

M src/gui/xiRTMainFrame.cpp 9 +++++++--
M src/gui/xiRTPrefsDialog.cpp 64 +++++++++++++++++++++++++++++++++++++++++++++---------------
M src/gui/xiRTPrefsDialog.h 21 ++++++++++++++++++---
M src/gui/xiRetimer_wxfb.cpp 83 +++++++++++++++++++++++++++++++++++++++++++------------------
M src/gui/xiRetimer_wxfb.fbp 298 +++++++++++++++++++++++++++++++++++++++++++++++++++++--------
M src/gui/xiRetimer_wxfb.h 28 +++++++++++++++++-----------
M xiRetimer 0

7 files changed, 412 insertions, 91 deletions


diff --git a/src/gui/xiRTMainFrame.cpp b/src/gui/xiRTMainFrame.cpp

@@ -23,7 +23,12 @@ xiRTMainFrame::xiRTMainFrame( wxWindow* parent ) : MainFrame( parent ) {
   23    23   Seeker_move=false;
   24    24 }
   25    25 
   26    -1 xiRTMainFrame::~xiRTMainFrame() {}
   -1    26 xiRTMainFrame::~xiRTMainFrame() {
   -1    27   delete[] curve;
   -1    28   delete[] playback;
   -1    29   delete[] sample;
   -1    30   delete[] marker;
   -1    31 }
   27    32 
   28    33 // ************  mouse  **************
   29    34 void xiRTMainFrame::OnLeftDown( wxMouseEvent& event ) {
@@ -112,7 +117,7 @@ void xiRTMainFrame::OnEndClick( wxCommandEvent& event ) {
  112   117 // ************  general  **************
  113   118 void xiRTMainFrame::OnPrefsClick( wxCommandEvent& event )
  114   119 {
  115    -1     xiRTPrefsDialog* dialog = new xiRTPrefsDialog( (wxWindow*)NULL );
   -1   120     xiRTPrefsDialog* dialog = new xiRTPrefsDialog(marker, sample, curve);
  116   121     dialog->Show();
  117   122 }
  118   123 

diff --git a/src/gui/xiRTPrefsDialog.cpp b/src/gui/xiRTPrefsDialog.cpp

@@ -1,29 +1,61 @@
    1     1 #include "xiRTPrefsDialog.h"
   -1     2 #include <iostream>
    2     3 
    3    -1 xiRTPrefsDialog::xiRTPrefsDialog( wxWindow* parent )
    4    -1 :
    5    -1 PrefsDialog( parent )
   -1     4 xiRTPrefsDialog::xiRTPrefsDialog(Marker* m, Sample* s, Curve* c) : PrefsDialog( (wxWindow*)NULL )
    6     5 {
   -1     6   marker=m;
   -1     7   sample=s;
   -1     8   curve=c;
   -1     9   
   -1    10   oldInterpolationMode=marker->getInterpolationMode();
   -1    11   oldStretchMode=sample->getStretchMode();
   -1    12   oldTempo=curve->getTempo();
   -1    13   oldBeatResolution=curve->getBeatResolution();
    7    14 
   -1    15   c_intmode->SetSelection(oldInterpolationMode);
   -1    16   c_stretchmode->SetSelection(oldStretchMode);
   -1    17 
   -1    18   wxString wxs4;
   -1    19   wxs4 << oldTempo;
   -1    20   t_tempo->SetValue(wxs4);
   -1    21 
   -1    22   wxString wxs5;
   -1    23   wxs5 << oldBeatResolution;
   -1    24   t_beatres->SetValue(wxs5);
    8    25 }
    9    26 
   10    -1 void xiRTPrefsDialog::OnIModeChange( wxChoicebookEvent& event )
   11    -1 {
   12    -1 	// TODO: setIMode();
   -1    27 void xiRTPrefsDialog::OnIntModeChange( wxCommandEvent& event ) {
   -1    28   marker->setInterpolationMode(c_intmode->GetSelection());
   13    29 }
   14    30 
   15    -1 void xiRTPrefsDialog::OnColorChange( wxColourPickerEvent& event )
   16    -1 {
   17    -1 	// TODO: setColor()
   -1    31 void xiRTPrefsDialog::OnStretchModeChange( wxCommandEvent& event ) {
   -1    32   sample->setStretchMode(c_stretchmode->GetSelection());
   18    33 }
   19    34 
   20    -1 void xiRTPrefsDialog::OnOKClick( wxCommandEvent& event )
   21    -1 {
   22    -1         // TODO: update();
   23    -1 	Close();
   -1    35 void xiRTPrefsDialog::OnTempoEnter( wxCommandEvent& event ) {
   -1    36   long tempo;
   -1    37   if (event.GetString().ToLong(&tempo))
   -1    38     curve->setTempo(tempo);
   -1    39   else
   -1    40     std::cout << "Please insert an interger " << curve->getTempo() << std::endl;
   24    41 }
   25    42 
   26    -1 void xiRTPrefsDialog::OnCancelClick( wxCommandEvent& event )
   27    -1 {
   28    -1 	Close();
   -1    43 void xiRTPrefsDialog::OnBeatResEnter( wxCommandEvent& event ) {
   -1    44   double beatres;
   -1    45   if (event.GetString().ToDouble(&beatres))
   -1    46     curve->setBeatResolution(beatres);
   -1    47   else
   -1    48     std::cout << "Please insert a float " << std::endl;
   -1    49 }
   -1    50 
   -1    51 void xiRTPrefsDialog::OnOKClick( wxCommandEvent& event ) {
   -1    52   Close();
   -1    53 }
   -1    54 
   -1    55 void xiRTPrefsDialog::OnCancelClick( wxCommandEvent& event ) {
   -1    56   marker->setInterpolationMode(oldInterpolationMode);
   -1    57   sample->setStretchMode(oldStretchMode);
   -1    58   curve->setTempo(oldTempo);
   -1    59   curve->setBeatResolution(oldBeatResolution);
   -1    60   Close();
   29    61 }

diff --git a/src/gui/xiRTPrefsDialog.h b/src/gui/xiRTPrefsDialog.h

@@ -1,6 +1,10 @@
    1     1 #ifndef __xiRTPrefsDialog__
    2     2 #define __xiRTPrefsDialog__
    3     3 
   -1     4 #include "../marker.h"
   -1     5 #include "../sample.h"
   -1     6 #include "../curve.h"
   -1     7 
    4     8 /**
    5     9 @file
    6    10 Subclass of PrefsDialog, which is generated by wxFormBuilder.
@@ -13,14 +17,25 @@ class xiRTPrefsDialog : public PrefsDialog
   13    17 {
   14    18 protected:
   15    19 	// Handlers for PrefsDialog events.
   16    -1 	void OnIModeChange( wxChoicebookEvent& event );
   17    -1 	void OnColorChange( wxColourPickerEvent& event );
   -1    20 	void OnIntModeChange( wxCommandEvent& event );
   -1    21 	void OnStretchModeChange( wxCommandEvent& event );
   -1    22 	void OnTempoEnter( wxCommandEvent& event );
   -1    23 	void OnBeatResEnter( wxCommandEvent& event );
   18    24 	void OnOKClick( wxCommandEvent& event );
   19    25 	void OnCancelClick( wxCommandEvent& event );
   -1    26 
   -1    27   int oldInterpolationMode;
   -1    28   int oldStretchMode;
   -1    29   int oldTempo;
   -1    30   float oldBeatResolution;
   -1    31 
   -1    32   Marker* marker;
   -1    33   Sample* sample;
   -1    34   Curve* curve;
   20    35 	
   21    36 public:
   22    37 	/** Constructor */
   23    -1 	xiRTPrefsDialog( wxWindow* parent );
   -1    38 	xiRTPrefsDialog(Marker* m, Sample* s, Curve* c);
   24    39 };
   25    40 
   26    41 #endif // __xiRTPrefsDialog__

diff --git a/src/gui/xiRetimer_wxfb.cpp b/src/gui/xiRetimer_wxfb.cpp

@@ -25,6 +25,7 @@ wxInitAllImageHandlers();
   25    25 	wxMenuItem* m_open;
   26    26 	m_open = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("open") ) + wxT('\t') + wxT("CTRL+f"), wxEmptyString, wxITEM_NORMAL );
   27    27 	#ifdef __WXMSW__
   -1    28 	m_open->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/fileopen.png"), wxBITMAP_TYPE_ANY ) );
   28    29 	#elif defined( __WXGTK__ )
   29    30 	m_open->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/fileopen.png"), wxBITMAP_TYPE_ANY ) );
   30    31 	#endif
@@ -33,6 +34,7 @@ wxInitAllImageHandlers();
   33    34 	wxMenuItem* m_export;
   34    35 	m_export = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("export") ) + wxT('\t') + wxT("CTRL+s"), wxEmptyString, wxITEM_NORMAL );
   35    36 	#ifdef __WXMSW__
   -1    37 	m_export->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/document-save.png"), wxBITMAP_TYPE_ANY ) );
   36    38 	#elif defined( __WXGTK__ )
   37    39 	m_export->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/document-save.png"), wxBITMAP_TYPE_ANY ) );
   38    40 	#endif
@@ -44,6 +46,7 @@ wxInitAllImageHandlers();
   44    46 	wxMenuItem* m_prefs;
   45    47 	m_prefs = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("preferences") ) + wxT('\t') + wxT("F5"), wxEmptyString, wxITEM_NORMAL );
   46    48 	#ifdef __WXMSW__
   -1    49 	m_prefs->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/document-properties.png"), wxBITMAP_TYPE_ANY ) );
   47    50 	#elif defined( __WXGTK__ )
   48    51 	m_prefs->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/document-properties.png"), wxBITMAP_TYPE_ANY ) );
   49    52 	#endif
@@ -55,6 +58,7 @@ wxInitAllImageHandlers();
   55    58 	wxMenuItem* b_exit;
   56    59 	b_exit = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("Exit") ) , wxEmptyString, wxITEM_NORMAL );
   57    60 	#ifdef __WXMSW__
   -1    61 	b_exit->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/window-close.png"), wxBITMAP_TYPE_ANY ) );
   58    62 	#elif defined( __WXGTK__ )
   59    63 	b_exit->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/window-close.png"), wxBITMAP_TYPE_ANY ) );
   60    64 	#endif
@@ -66,6 +70,7 @@ wxInitAllImageHandlers();
   66    70 	wxMenuItem* m_play;
   67    71 	m_play = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("play/pause") ) + wxT('\t') + wxT("SPACE"), wxEmptyString, wxITEM_NORMAL );
   68    72 	#ifdef __WXMSW__
   -1    73 	m_play->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/media-playback-start.png"), wxBITMAP_TYPE_ANY ) );
   69    74 	#elif defined( __WXGTK__ )
   70    75 	m_play->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/media-playback-start.png"), wxBITMAP_TYPE_ANY ) );
   71    76 	#endif
@@ -74,6 +79,7 @@ wxInitAllImageHandlers();
   74    79 	wxMenuItem* m_start;
   75    80 	m_start = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("start") ) + wxT('\t') + wxT("CTRL+LEFT"), wxEmptyString, wxITEM_NORMAL );
   76    81 	#ifdef __WXMSW__
   -1    82 	m_start->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/media-skip-backward.png"), wxBITMAP_TYPE_ANY ) );
   77    83 	#elif defined( __WXGTK__ )
   78    84 	m_start->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/media-skip-backward.png"), wxBITMAP_TYPE_ANY ) );
   79    85 	#endif
@@ -82,6 +88,7 @@ wxInitAllImageHandlers();
   82    88 	wxMenuItem* m_end;
   83    89 	m_end = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("end") ) + wxT('\t') + wxT("CTRL+RIGHT"), wxEmptyString, wxITEM_NORMAL );
   84    90 	#ifdef __WXMSW__
   -1    91 	m_end->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/media-skip-forward.png"), wxBITMAP_TYPE_ANY ) );
   85    92 	#elif defined( __WXGTK__ )
   86    93 	m_end->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/media-skip-forward.png"), wxBITMAP_TYPE_ANY ) );
   87    94 	#endif
@@ -93,6 +100,7 @@ wxInitAllImageHandlers();
   93   100 	wxMenuItem* m_clear;
   94   101 	m_clear = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("clear markers") ) + wxT('\t') + wxT("CTRL+c"), wxEmptyString, wxITEM_NORMAL );
   95   102 	#ifdef __WXMSW__
   -1   103 	m_clear->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/edit-clear.png"), wxBITMAP_TYPE_ANY ) );
   96   104 	#elif defined( __WXGTK__ )
   97   105 	m_clear->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/edit-clear.png"), wxBITMAP_TYPE_ANY ) );
   98   106 	#endif
@@ -101,6 +109,7 @@ wxInitAllImageHandlers();
  101   109 	wxMenuItem* m_process;
  102   110 	m_process = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("update audio data") ) + wxT('\t') + wxT("CTRL+u"), wxEmptyString, wxITEM_NORMAL );
  103   111 	#ifdef __WXMSW__
   -1   112 	m_process->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/stock_refresh.png"), wxBITMAP_TYPE_ANY ) );
  104   113 	#elif defined( __WXGTK__ )
  105   114 	m_process->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/stock_refresh.png"), wxBITMAP_TYPE_ANY ) );
  106   115 	#endif
@@ -112,6 +121,7 @@ wxInitAllImageHandlers();
  112   121 	wxMenuItem* m_about;
  113   122 	m_about = new wxMenuItem( m_help, wxID_ANY, wxString( wxT("about") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
  114   123 	#ifdef __WXMSW__
   -1   124 	m_about->SetBitmaps( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/help-about.png"), wxBITMAP_TYPE_ANY ) );
  115   125 	#elif defined( __WXGTK__ )
  116   126 	m_about->SetBitmap( wxBitmap( wxT("/usr/share/icons/gnome/16x16/actions/help-about.png"), wxBITMAP_TYPE_ANY ) );
  117   127 	#endif
@@ -170,13 +180,12 @@ AboutDialog::AboutDialog( wxWindow* parent, wxWindowID id, const wxString& title
  170   180 	wxBoxSizer* bSizer14;
  171   181 	bSizer14 = new wxBoxSizer( wxVERTICAL );
  172   182 	
  173    -1 	m_staticText1 = new wxStaticText( this, wxID_ANY, wxT("xiRetimer v0.1 by xi."), wxDefaultPosition, wxDefaultSize, 0 );
   -1   183 	m_staticText1 = new wxStaticText( this, wxID_ANY, wxT("Created by xi."), wxDefaultPosition, wxDefaultSize, 0 );
  174   184 	m_staticText1->Wrap( -1 );
  175   185 	bSizer14->Add( m_staticText1, 0, wxALIGN_CENTER|wxALL, 5 );
  176   186 	
  177   187 	m_staticText2 = new wxStaticText( this, wxID_ANY, wxT("www.github.com/xi"), wxDefaultPosition, wxDefaultSize, 0 );
  178   188 	m_staticText2->Wrap( -1 );
  179    -1 
  180   189 	bSizer14->Add( m_staticText2, 0, wxALIGN_CENTER|wxALL, 5 );
  181   190 	
  182   191 	bSizer4->Add( bSizer14, 1, wxEXPAND, 5 );
@@ -215,30 +224,52 @@ PrefsDialog::PrefsDialog( wxWindow* parent, wxWindowID id, const wxString& title
  215   224 	fgSizer4->SetFlexibleDirection( wxBOTH );
  216   225 	fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  217   226 	
  218    -1 	m_staticText3 = new wxStaticText( this, wxID_ANY, wxT("Interpolation Mode"), wxDefaultPosition, wxDefaultSize, 0 );
  219    -1 	m_staticText3->Wrap( -1 );
  220    -1 	fgSizer4->Add( m_staticText3, 0, wxALL, 5 );
   -1   227 	l_intmode = new wxStaticText( this, wxID_ANY, wxT("Interpolation Mode"), wxDefaultPosition, wxDefaultSize, 0 );
   -1   228 	l_intmode->Wrap( -1 );
   -1   229 	fgSizer4->Add( l_intmode, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
   -1   230 	
   -1   231 	wxString c_intmodeChoices[] = { wxT("Linear") };
   -1   232 	int c_intmodeNChoices = sizeof( c_intmodeChoices ) / sizeof( wxString );
   -1   233 	c_intmode = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, c_intmodeNChoices, c_intmodeChoices, 0 );
   -1   234 	c_intmode->SetSelection( 0 );
   -1   235 	fgSizer4->Add( c_intmode, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
   -1   236 	
   -1   237 	l_stretchmode = new wxStaticText( this, wxID_ANY, wxT("Stretch Mode"), wxDefaultPosition, wxDefaultSize, 0 );
   -1   238 	l_stretchmode->Wrap( -1 );
   -1   239 	fgSizer4->Add( l_stretchmode, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
  221   240 	
  222    -1 	m_choicebook1 = new wxChoicebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxCHB_DEFAULT );
  223    -1 	fgSizer4->Add( m_choicebook1, 0, wxALL|wxALIGN_RIGHT|wxEXPAND, 5 );
   -1   241 	wxString c_stretchmodeChoices[] = { wxT("none"), wxT("RubberBand") };
   -1   242 	int c_stretchmodeNChoices = sizeof( c_stretchmodeChoices ) / sizeof( wxString );
   -1   243 	c_stretchmode = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, c_stretchmodeNChoices, c_stretchmodeChoices, 0 );
   -1   244 	c_stretchmode->SetSelection( 0 );
   -1   245 	fgSizer4->Add( c_stretchmode, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
  224   246 	
  225    -1 	m_staticText4 = new wxStaticText( this, wxID_ANY, wxT("Color"), wxDefaultPosition, wxDefaultSize, 0 );
  226    -1 	m_staticText4->Wrap( -1 );
  227    -1 	fgSizer4->Add( m_staticText4, 0, wxALL, 5 );
   -1   247 	l_tempo = new wxStaticText( this, wxID_ANY, wxT("Tempo"), wxDefaultPosition, wxDefaultSize, 0 );
   -1   248 	l_tempo->Wrap( -1 );
   -1   249 	fgSizer4->Add( l_tempo, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
  228   250 	
  229    -1 	m_colourPicker6 = new wxColourPickerCtrl( this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
  230    -1 	fgSizer4->Add( m_colourPicker6, 0, wxALL|wxEXPAND, 5 );
   -1   251 	t_tempo = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER|wxTE_RIGHT );
   -1   252 	fgSizer4->Add( t_tempo, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
   -1   253 	
   -1   254 	l_beatres = new wxStaticText( this, wxID_ANY, wxT("Beat Resolution"), wxDefaultPosition, wxDefaultSize, 0 );
   -1   255 	l_beatres->Wrap( -1 );
   -1   256 	fgSizer4->Add( l_beatres, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
   -1   257 	
   -1   258 	t_beatres = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER|wxTE_RIGHT );
   -1   259 	fgSizer4->Add( t_beatres, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
  231   260 	
  232   261 	bSizer5->Add( fgSizer4, 1, wxEXPAND, 5 );
  233   262 	
  234   263 	wxBoxSizer* bSizer15;
  235   264 	bSizer15 = new wxBoxSizer( wxHORIZONTAL );
  236   265 	
  237    -1 	m_button3 = new wxButton( this, wxID_ANY, wxT("OK"), wxDefaultPosition, wxDefaultSize, 0 );
  238    -1 	bSizer15->Add( m_button3, 0, wxALL|wxALIGN_BOTTOM|wxALIGN_RIGHT, 5 );
   -1   266 	b_OK = new wxButton( this, wxID_ANY, wxT("OK"), wxDefaultPosition, wxDefaultSize, 0 );
   -1   267 	bSizer15->Add( b_OK, 0, wxALL|wxALIGN_BOTTOM|wxALIGN_RIGHT, 5 );
   -1   268 	
   -1   269 	b_Cancel = new wxButton( this, wxID_ANY, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
   -1   270 	b_Cancel->SetToolTip( wxT("Escape") );
  239   271 	
  240    -1 	m_button2 = new wxButton( this, wxID_ANY, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
  241    -1 	bSizer15->Add( m_button2, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 );
   -1   272 	bSizer15->Add( b_Cancel, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 );
  242   273 	
  243   274 	bSizer5->Add( bSizer15, 0, wxALIGN_RIGHT, 5 );
  244   275 	
@@ -246,17 +277,21 @@ PrefsDialog::PrefsDialog( wxWindow* parent, wxWindowID id, const wxString& title
  246   277 	this->Layout();
  247   278 	
  248   279 	// Connect Events
  249    -1 	m_choicebook1->Connect( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, wxChoicebookEventHandler( PrefsDialog::OnIModeChange ), NULL, this );
  250    -1 	m_colourPicker6->Connect( wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler( PrefsDialog::OnColorChange ), NULL, this );
  251    -1 	m_button3->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnOKClick ), NULL, this );
  252    -1 	m_button2->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnCancelClick ), NULL, this );
   -1   280 	c_intmode->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PrefsDialog::OnIntModeChange ), NULL, this );
   -1   281 	c_stretchmode->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PrefsDialog::OnStretchModeChange ), NULL, this );
   -1   282 	t_tempo->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( PrefsDialog::OnTempoEnter ), NULL, this );
   -1   283 	t_beatres->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( PrefsDialog::OnBeatResEnter ), NULL, this );
   -1   284 	b_OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnOKClick ), NULL, this );
   -1   285 	b_Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnCancelClick ), NULL, this );
  253   286 }
  254   287 
  255   288 PrefsDialog::~PrefsDialog()
  256   289 {
  257   290 	// Disconnect Events
  258    -1 	m_choicebook1->Disconnect( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, wxChoicebookEventHandler( PrefsDialog::OnIModeChange ), NULL, this );
  259    -1 	m_colourPicker6->Disconnect( wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler( PrefsDialog::OnColorChange ), NULL, this );
  260    -1 	m_button3->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnOKClick ), NULL, this );
  261    -1 	m_button2->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnCancelClick ), NULL, this );
   -1   291 	c_intmode->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PrefsDialog::OnIntModeChange ), NULL, this );
   -1   292 	c_stretchmode->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PrefsDialog::OnStretchModeChange ), NULL, this );
   -1   293 	t_tempo->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( PrefsDialog::OnTempoEnter ), NULL, this );
   -1   294 	t_beatres->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( PrefsDialog::OnBeatResEnter ), NULL, this );
   -1   295 	b_OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnOKClick ), NULL, this );
   -1   296 	b_Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnCancelClick ), NULL, this );
  262   297 }

diff --git a/src/gui/xiRetimer_wxfb.fbp b/src/gui/xiRetimer_wxfb.fbp

@@ -130,7 +130,7 @@
  130   130                 <event name="OnSize"></event>
  131   131                 <event name="OnUpdateUI"></event>
  132   132             </object>
  133    -1             <object class="wxMenuBar" expanded="1">
   -1   133             <object class="wxMenuBar" expanded="0">
  134   134                 <property name="bg"></property>
  135   135                 <property name="context_help"></property>
  136   136                 <property name="enabled">1</property>
@@ -178,12 +178,12 @@
  178   178                 <event name="OnSetFocus"></event>
  179   179                 <event name="OnSize"></event>
  180   180                 <event name="OnUpdateUI"></event>
  181    -1                 <object class="wxMenu" expanded="1">
   -1   181                 <object class="wxMenu" expanded="0">
  182   182                     <property name="label">File</property>
  183   183                     <property name="name">m_file</property>
  184   184                     <property name="permission">protected</property>
  185   185                     <object class="wxMenuItem" expanded="1">
  186    -1                         <property name="bitmap">ressources/fileopen.png; Load From File</property>
   -1   186                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/fileopen.png; Load From File</property>
  187   187                         <property name="checked">0</property>
  188   188                         <property name="enabled">1</property>
  189   189                         <property name="help"></property>
@@ -198,7 +198,7 @@
  198   198                         <event name="OnUpdateUI"></event>
  199   199                     </object>
  200   200                     <object class="wxMenuItem" expanded="1">
  201    -1                         <property name="bitmap">ressources/document-save.png; Load From File</property>
   -1   201                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/document-save.png; Load From File</property>
  202   202                         <property name="checked">0</property>
  203   203                         <property name="enabled">1</property>
  204   204                         <property name="help"></property>
@@ -217,7 +217,7 @@
  217   217                         <property name="permission">none</property>
  218   218                     </object>
  219   219                     <object class="wxMenuItem" expanded="1">
  220    -1                         <property name="bitmap">ressources/document-properties.png; Load From File</property>
   -1   220                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/document-properties.png; Load From File</property>
  221   221                         <property name="checked">0</property>
  222   222                         <property name="enabled">1</property>
  223   223                         <property name="help"></property>
@@ -236,7 +236,7 @@
  236   236                         <property name="permission">none</property>
  237   237                     </object>
  238   238                     <object class="wxMenuItem" expanded="1">
  239    -1                         <property name="bitmap">ressources/dialog-close.png; Load From File</property>
   -1   239                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/window-close.png; Load From File</property>
  240   240                         <property name="checked">0</property>
  241   241                         <property name="enabled">1</property>
  242   242                         <property name="help"></property>
@@ -256,12 +256,12 @@
  256   256                     <property name="name">m_edit</property>
  257   257                     <property name="permission">protected</property>
  258   258                     <object class="wxMenuItem" expanded="1">
  259    -1                         <property name="bitmap">ressources/media-playback-start.png; Load From File</property>
   -1   259                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/media-playback-start.png; Load From File</property>
  260   260                         <property name="checked">0</property>
  261   261                         <property name="enabled">1</property>
  262   262                         <property name="help"></property>
  263   263                         <property name="id">wxID_ANY</property>
  264    -1                         <property name="kind">wxITEM_CHECK</property>
   -1   264                         <property name="kind">wxITEM_NORMAL</property>
  265   265                         <property name="label">play/pause</property>
  266   266                         <property name="name">m_play</property>
  267   267                         <property name="permission">none</property>
@@ -271,7 +271,7 @@
  271   271                         <event name="OnUpdateUI"></event>
  272   272                     </object>
  273   273                     <object class="wxMenuItem" expanded="1">
  274    -1                         <property name="bitmap">ressources/media-skip-backward.png; Load From File</property>
   -1   274                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/media-skip-backward.png; Load From File</property>
  275   275                         <property name="checked">0</property>
  276   276                         <property name="enabled">1</property>
  277   277                         <property name="help"></property>
@@ -286,7 +286,7 @@
  286   286                         <event name="OnUpdateUI"></event>
  287   287                     </object>
  288   288                     <object class="wxMenuItem" expanded="1">
  289    -1                         <property name="bitmap">ressources/media-skip-forward.png; Load From File</property>
   -1   289                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/media-skip-forward.png; Load From File</property>
  290   290                         <property name="checked">0</property>
  291   291                         <property name="enabled">1</property>
  292   292                         <property name="help"></property>
@@ -305,7 +305,7 @@
  305   305                         <property name="permission">none</property>
  306   306                     </object>
  307   307                     <object class="wxMenuItem" expanded="1">
  308    -1                         <property name="bitmap">ressources/edit-clear.png; Load From File</property>
   -1   308                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/edit-clear.png; Load From File</property>
  309   309                         <property name="checked">0</property>
  310   310                         <property name="enabled">1</property>
  311   311                         <property name="help"></property>
@@ -320,7 +320,7 @@
  320   320                         <event name="OnUpdateUI"></event>
  321   321                     </object>
  322   322                     <object class="wxMenuItem" expanded="1">
  323    -1                         <property name="bitmap">ressources/stock_refresh.png; Load From File</property>
   -1   323                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/stock_refresh.png; Load From File</property>
  324   324                         <property name="checked">0</property>
  325   325                         <property name="enabled">1</property>
  326   326                         <property name="help"></property>
@@ -340,7 +340,7 @@
  340   340                     <property name="name">m_help</property>
  341   341                     <property name="permission">protected</property>
  342   342                     <object class="wxMenuItem" expanded="1">
  343    -1                         <property name="bitmap">ressources/help-about.png; Load From File</property>
   -1   343                         <property name="bitmap">/usr/share/icons/gnome/16x16/actions/help-about.png; Load From File</property>
  344   344                         <property name="checked">0</property>
  345   345                         <property name="enabled">1</property>
  346   346                         <property name="help"></property>
@@ -608,7 +608,7 @@
  608   608                 </object>
  609   609             </object>
  610   610         </object>
  611    -1         <object class="Dialog" expanded="0">
   -1   611         <object class="Dialog" expanded="1">
  612   612             <property name="bg"></property>
  613   613             <property name="center"></property>
  614   614             <property name="context_help"></property>
@@ -622,7 +622,7 @@
  622   622             <property name="minimum_size"></property>
  623   623             <property name="name">PrefsDialog</property>
  624   624             <property name="pos"></property>
  625    -1             <property name="size">247,165</property>
   -1   625             <property name="size">322,238</property>
  626   626             <property name="style">wxDEFAULT_DIALOG_STYLE</property>
  627   627             <property name="subclass"></property>
  628   628             <property name="title">Preferences</property>
@@ -687,7 +687,7 @@
  687   687                         <property name="vgap">0</property>
  688   688                         <object class="sizeritem" expanded="1">
  689   689                             <property name="border">5</property>
  690    -1                             <property name="flag">wxALL</property>
   -1   690                             <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
  691   691                             <property name="proportion">0</property>
  692   692                             <object class="wxStaticText" expanded="1">
  693   693                                 <property name="bg"></property>
@@ -700,7 +700,7 @@
  700   700                                 <property name="label">Interpolation Mode</property>
  701   701                                 <property name="maximum_size"></property>
  702   702                                 <property name="minimum_size"></property>
  703    -1                                 <property name="name">m_staticText3</property>
   -1   703                                 <property name="name">l_intmode</property>
  704   704                                 <property name="permission">protected</property>
  705   705                                 <property name="pos"></property>
  706   706                                 <property name="size"></property>
@@ -742,10 +742,121 @@
  742   742                         </object>
  743   743                         <object class="sizeritem" expanded="1">
  744   744                             <property name="border">5</property>
  745    -1                             <property name="flag">wxALL|wxALIGN_RIGHT|wxEXPAND</property>
   -1   745                             <property name="flag">wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL</property>
   -1   746                             <property name="proportion">1</property>
   -1   747                             <object class="wxChoice" expanded="1">
   -1   748                                 <property name="bg"></property>
   -1   749                                 <property name="choices">&quot;Linear&quot;</property>
   -1   750                                 <property name="context_help"></property>
   -1   751                                 <property name="enabled">1</property>
   -1   752                                 <property name="fg"></property>
   -1   753                                 <property name="font"></property>
   -1   754                                 <property name="hidden">0</property>
   -1   755                                 <property name="id">wxID_ANY</property>
   -1   756                                 <property name="maximum_size"></property>
   -1   757                                 <property name="minimum_size"></property>
   -1   758                                 <property name="name">c_intmode</property>
   -1   759                                 <property name="permission">protected</property>
   -1   760                                 <property name="pos"></property>
   -1   761                                 <property name="selection">0</property>
   -1   762                                 <property name="size"></property>
   -1   763                                 <property name="subclass"></property>
   -1   764                                 <property name="tooltip"></property>
   -1   765                                 <property name="validator_data_type"></property>
   -1   766                                 <property name="validator_style">wxFILTER_NONE</property>
   -1   767                                 <property name="validator_type">wxDefaultValidator</property>
   -1   768                                 <property name="validator_variable"></property>
   -1   769                                 <property name="window_extra_style"></property>
   -1   770                                 <property name="window_name"></property>
   -1   771                                 <property name="window_style"></property>
   -1   772                                 <event name="OnChar"></event>
   -1   773                                 <event name="OnChoice">OnIntModeChange</event>
   -1   774                                 <event name="OnEnterWindow"></event>
   -1   775                                 <event name="OnEraseBackground"></event>
   -1   776                                 <event name="OnKeyDown"></event>
   -1   777                                 <event name="OnKeyUp"></event>
   -1   778                                 <event name="OnKillFocus"></event>
   -1   779                                 <event name="OnLeaveWindow"></event>
   -1   780                                 <event name="OnLeftDClick"></event>
   -1   781                                 <event name="OnLeftDown"></event>
   -1   782                                 <event name="OnLeftUp"></event>
   -1   783                                 <event name="OnMiddleDClick"></event>
   -1   784                                 <event name="OnMiddleDown"></event>
   -1   785                                 <event name="OnMiddleUp"></event>
   -1   786                                 <event name="OnMotion"></event>
   -1   787                                 <event name="OnMouseEvents"></event>
   -1   788                                 <event name="OnMouseWheel"></event>
   -1   789                                 <event name="OnPaint"></event>
   -1   790                                 <event name="OnRightDClick"></event>
   -1   791                                 <event name="OnRightDown"></event>
   -1   792                                 <event name="OnRightUp"></event>
   -1   793                                 <event name="OnSetFocus"></event>
   -1   794                                 <event name="OnSize"></event>
   -1   795                                 <event name="OnUpdateUI"></event>
   -1   796                             </object>
   -1   797                         </object>
   -1   798                         <object class="sizeritem" expanded="1">
   -1   799                             <property name="border">5</property>
   -1   800                             <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
  746   801                             <property name="proportion">0</property>
  747    -1                             <object class="wxChoicebook" expanded="1">
   -1   802                             <object class="wxStaticText" expanded="1">
   -1   803                                 <property name="bg"></property>
   -1   804                                 <property name="context_help"></property>
   -1   805                                 <property name="enabled">1</property>
   -1   806                                 <property name="fg"></property>
   -1   807                                 <property name="font"></property>
   -1   808                                 <property name="hidden">0</property>
   -1   809                                 <property name="id">wxID_ANY</property>
   -1   810                                 <property name="label">Stretch Mode</property>
   -1   811                                 <property name="maximum_size"></property>
   -1   812                                 <property name="minimum_size"></property>
   -1   813                                 <property name="name">l_stretchmode</property>
   -1   814                                 <property name="permission">protected</property>
   -1   815                                 <property name="pos"></property>
   -1   816                                 <property name="size"></property>
   -1   817                                 <property name="style"></property>
   -1   818                                 <property name="subclass"></property>
   -1   819                                 <property name="tooltip"></property>
   -1   820                                 <property name="validator_data_type"></property>
   -1   821                                 <property name="validator_style">wxFILTER_NONE</property>
   -1   822                                 <property name="validator_type">wxDefaultValidator</property>
   -1   823                                 <property name="validator_variable"></property>
   -1   824                                 <property name="window_extra_style"></property>
   -1   825                                 <property name="window_name"></property>
   -1   826                                 <property name="window_style"></property>
   -1   827                                 <property name="wrap">-1</property>
   -1   828                                 <event name="OnChar"></event>
   -1   829                                 <event name="OnEnterWindow"></event>
   -1   830                                 <event name="OnEraseBackground"></event>
   -1   831                                 <event name="OnKeyDown"></event>
   -1   832                                 <event name="OnKeyUp"></event>
   -1   833                                 <event name="OnKillFocus"></event>
   -1   834                                 <event name="OnLeaveWindow"></event>
   -1   835                                 <event name="OnLeftDClick"></event>
   -1   836                                 <event name="OnLeftDown"></event>
   -1   837                                 <event name="OnLeftUp"></event>
   -1   838                                 <event name="OnMiddleDClick"></event>
   -1   839                                 <event name="OnMiddleDown"></event>
   -1   840                                 <event name="OnMiddleUp"></event>
   -1   841                                 <event name="OnMotion"></event>
   -1   842                                 <event name="OnMouseEvents"></event>
   -1   843                                 <event name="OnMouseWheel"></event>
   -1   844                                 <event name="OnPaint"></event>
   -1   845                                 <event name="OnRightDClick"></event>
   -1   846                                 <event name="OnRightDown"></event>
   -1   847                                 <event name="OnRightUp"></event>
   -1   848                                 <event name="OnSetFocus"></event>
   -1   849                                 <event name="OnSize"></event>
   -1   850                                 <event name="OnUpdateUI"></event>
   -1   851                             </object>
   -1   852                         </object>
   -1   853                         <object class="sizeritem" expanded="1">
   -1   854                             <property name="border">5</property>
   -1   855                             <property name="flag">wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL</property>
   -1   856                             <property name="proportion">1</property>
   -1   857                             <object class="wxChoice" expanded="1">
  748   858                                 <property name="bg"></property>
   -1   859                                 <property name="choices">&quot;none&quot; &quot;RubberBand&quot;</property>
  749   860                                 <property name="context_help"></property>
  750   861                                 <property name="enabled">1</property>
  751   862                                 <property name="fg"></property>
@@ -754,11 +865,11 @@
  754   865                                 <property name="id">wxID_ANY</property>
  755   866                                 <property name="maximum_size"></property>
  756   867                                 <property name="minimum_size"></property>
  757    -1                                 <property name="name">m_choicebook1</property>
   -1   868                                 <property name="name">c_stretchmode</property>
  758   869                                 <property name="permission">protected</property>
  759   870                                 <property name="pos"></property>
   -1   871                                 <property name="selection">0</property>
  760   872                                 <property name="size"></property>
  761    -1                                 <property name="style">wxCHB_DEFAULT</property>
  762   873                                 <property name="subclass"></property>
  763   874                                 <property name="tooltip"></property>
  764   875                                 <property name="validator_data_type"></property>
@@ -769,8 +880,7 @@
  769   880                                 <property name="window_name"></property>
  770   881                                 <property name="window_style"></property>
  771   882                                 <event name="OnChar"></event>
  772    -1                                 <event name="OnChoicebookPageChanged">OnIModeChange</event>
  773    -1                                 <event name="OnChoicebookPageChanging"></event>
   -1   883                                 <event name="OnChoice">OnStretchModeChange</event>
  774   884                                 <event name="OnEnterWindow"></event>
  775   885                                 <event name="OnEraseBackground"></event>
  776   886                                 <event name="OnKeyDown"></event>
@@ -797,7 +907,7 @@
  797   907                         </object>
  798   908                         <object class="sizeritem" expanded="1">
  799   909                             <property name="border">5</property>
  800    -1                             <property name="flag">wxALL</property>
   -1   910                             <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
  801   911                             <property name="proportion">0</property>
  802   912                             <object class="wxStaticText" expanded="1">
  803   913                                 <property name="bg"></property>
@@ -807,10 +917,10 @@
  807   917                                 <property name="font"></property>
  808   918                                 <property name="hidden">0</property>
  809   919                                 <property name="id">wxID_ANY</property>
  810    -1                                 <property name="label">Color</property>
   -1   920                                 <property name="label">Tempo</property>
  811   921                                 <property name="maximum_size"></property>
  812   922                                 <property name="minimum_size"></property>
  813    -1                                 <property name="name">m_staticText4</property>
   -1   923                                 <property name="name">l_tempo</property>
  814   924                                 <property name="permission">protected</property>
  815   925                                 <property name="pos"></property>
  816   926                                 <property name="size"></property>
@@ -852,24 +962,83 @@
  852   962                         </object>
  853   963                         <object class="sizeritem" expanded="1">
  854   964                             <property name="border">5</property>
  855    -1                             <property name="flag">wxALL|wxEXPAND</property>
   -1   965                             <property name="flag">wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL</property>
   -1   966                             <property name="proportion">1</property>
   -1   967                             <object class="wxTextCtrl" expanded="1">
   -1   968                                 <property name="bg"></property>
   -1   969                                 <property name="context_help"></property>
   -1   970                                 <property name="enabled">1</property>
   -1   971                                 <property name="fg"></property>
   -1   972                                 <property name="font"></property>
   -1   973                                 <property name="hidden">0</property>
   -1   974                                 <property name="id">wxID_ANY</property>
   -1   975                                 <property name="maximum_size"></property>
   -1   976                                 <property name="maxlength">0</property>
   -1   977                                 <property name="minimum_size"></property>
   -1   978                                 <property name="name">t_tempo</property>
   -1   979                                 <property name="permission">protected</property>
   -1   980                                 <property name="pos"></property>
   -1   981                                 <property name="size"></property>
   -1   982                                 <property name="style">wxTE_PROCESS_ENTER|wxTE_RIGHT</property>
   -1   983                                 <property name="subclass"></property>
   -1   984                                 <property name="tooltip"></property>
   -1   985                                 <property name="validator_data_type"></property>
   -1   986                                 <property name="validator_style">wxFILTER_NONE</property>
   -1   987                                 <property name="validator_type">wxDefaultValidator</property>
   -1   988                                 <property name="validator_variable"></property>
   -1   989                                 <property name="value"></property>
   -1   990                                 <property name="window_extra_style"></property>
   -1   991                                 <property name="window_name"></property>
   -1   992                                 <property name="window_style"></property>
   -1   993                                 <event name="OnChar"></event>
   -1   994                                 <event name="OnEnterWindow"></event>
   -1   995                                 <event name="OnEraseBackground"></event>
   -1   996                                 <event name="OnKeyDown"></event>
   -1   997                                 <event name="OnKeyUp"></event>
   -1   998                                 <event name="OnKillFocus"></event>
   -1   999                                 <event name="OnLeaveWindow"></event>
   -1  1000                                 <event name="OnLeftDClick"></event>
   -1  1001                                 <event name="OnLeftDown"></event>
   -1  1002                                 <event name="OnLeftUp"></event>
   -1  1003                                 <event name="OnMiddleDClick"></event>
   -1  1004                                 <event name="OnMiddleDown"></event>
   -1  1005                                 <event name="OnMiddleUp"></event>
   -1  1006                                 <event name="OnMotion"></event>
   -1  1007                                 <event name="OnMouseEvents"></event>
   -1  1008                                 <event name="OnMouseWheel"></event>
   -1  1009                                 <event name="OnPaint"></event>
   -1  1010                                 <event name="OnRightDClick"></event>
   -1  1011                                 <event name="OnRightDown"></event>
   -1  1012                                 <event name="OnRightUp"></event>
   -1  1013                                 <event name="OnSetFocus"></event>
   -1  1014                                 <event name="OnSize"></event>
   -1  1015                                 <event name="OnText"></event>
   -1  1016                                 <event name="OnTextEnter">OnTempoEnter</event>
   -1  1017                                 <event name="OnTextMaxLen"></event>
   -1  1018                                 <event name="OnTextURL"></event>
   -1  1019                                 <event name="OnUpdateUI"></event>
   -1  1020                             </object>
   -1  1021                         </object>
   -1  1022                         <object class="sizeritem" expanded="1">
   -1  1023                             <property name="border">5</property>
   -1  1024                             <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
  856  1025                             <property name="proportion">0</property>
  857    -1                             <object class="wxColourPickerCtrl" expanded="1">
   -1  1026                             <object class="wxStaticText" expanded="1">
  858  1027                                 <property name="bg"></property>
  859    -1                                 <property name="colour"></property>
  860  1028                                 <property name="context_help"></property>
  861  1029                                 <property name="enabled">1</property>
  862  1030                                 <property name="fg"></property>
  863  1031                                 <property name="font"></property>
  864  1032                                 <property name="hidden">0</property>
  865  1033                                 <property name="id">wxID_ANY</property>
   -1  1034                                 <property name="label">Beat Resolution</property>
  866  1035                                 <property name="maximum_size"></property>
  867  1036                                 <property name="minimum_size"></property>
  868    -1                                 <property name="name">m_colourPicker6</property>
   -1  1037                                 <property name="name">l_beatres</property>
  869  1038                                 <property name="permission">protected</property>
  870  1039                                 <property name="pos"></property>
  871  1040                                 <property name="size"></property>
  872    -1                                 <property name="style">wxCLRP_DEFAULT_STYLE</property>
   -1  1041                                 <property name="style"></property>
  873  1042                                 <property name="subclass"></property>
  874  1043                                 <property name="tooltip"></property>
  875  1044                                 <property name="validator_data_type"></property>
@@ -879,8 +1048,63 @@
  879  1048                                 <property name="window_extra_style"></property>
  880  1049                                 <property name="window_name"></property>
  881  1050                                 <property name="window_style"></property>
   -1  1051                                 <property name="wrap">-1</property>
   -1  1052                                 <event name="OnChar"></event>
   -1  1053                                 <event name="OnEnterWindow"></event>
   -1  1054                                 <event name="OnEraseBackground"></event>
   -1  1055                                 <event name="OnKeyDown"></event>
   -1  1056                                 <event name="OnKeyUp"></event>
   -1  1057                                 <event name="OnKillFocus"></event>
   -1  1058                                 <event name="OnLeaveWindow"></event>
   -1  1059                                 <event name="OnLeftDClick"></event>
   -1  1060                                 <event name="OnLeftDown"></event>
   -1  1061                                 <event name="OnLeftUp"></event>
   -1  1062                                 <event name="OnMiddleDClick"></event>
   -1  1063                                 <event name="OnMiddleDown"></event>
   -1  1064                                 <event name="OnMiddleUp"></event>
   -1  1065                                 <event name="OnMotion"></event>
   -1  1066                                 <event name="OnMouseEvents"></event>
   -1  1067                                 <event name="OnMouseWheel"></event>
   -1  1068                                 <event name="OnPaint"></event>
   -1  1069                                 <event name="OnRightDClick"></event>
   -1  1070                                 <event name="OnRightDown"></event>
   -1  1071                                 <event name="OnRightUp"></event>
   -1  1072                                 <event name="OnSetFocus"></event>
   -1  1073                                 <event name="OnSize"></event>
   -1  1074                                 <event name="OnUpdateUI"></event>
   -1  1075                             </object>
   -1  1076                         </object>
   -1  1077                         <object class="sizeritem" expanded="1">
   -1  1078                             <property name="border">5</property>
   -1  1079                             <property name="flag">wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL</property>
   -1  1080                             <property name="proportion">1</property>
   -1  1081                             <object class="wxTextCtrl" expanded="1">
   -1  1082                                 <property name="bg"></property>
   -1  1083                                 <property name="context_help"></property>
   -1  1084                                 <property name="enabled">1</property>
   -1  1085                                 <property name="fg"></property>
   -1  1086                                 <property name="font"></property>
   -1  1087                                 <property name="hidden">0</property>
   -1  1088                                 <property name="id">wxID_ANY</property>
   -1  1089                                 <property name="maximum_size"></property>
   -1  1090                                 <property name="maxlength">0</property>
   -1  1091                                 <property name="minimum_size"></property>
   -1  1092                                 <property name="name">t_beatres</property>
   -1  1093                                 <property name="permission">protected</property>
   -1  1094                                 <property name="pos"></property>
   -1  1095                                 <property name="size"></property>
   -1  1096                                 <property name="style">wxTE_PROCESS_ENTER|wxTE_RIGHT</property>
   -1  1097                                 <property name="subclass"></property>
   -1  1098                                 <property name="tooltip"></property>
   -1  1099                                 <property name="validator_data_type"></property>
   -1  1100                                 <property name="validator_style">wxFILTER_NONE</property>
   -1  1101                                 <property name="validator_type">wxDefaultValidator</property>
   -1  1102                                 <property name="validator_variable"></property>
   -1  1103                                 <property name="value"></property>
   -1  1104                                 <property name="window_extra_style"></property>
   -1  1105                                 <property name="window_name"></property>
   -1  1106                                 <property name="window_style"></property>
  882  1107                                 <event name="OnChar"></event>
  883    -1                                 <event name="OnColourChanged">OnColorChange</event>
  884  1108                                 <event name="OnEnterWindow"></event>
  885  1109                                 <event name="OnEraseBackground"></event>
  886  1110                                 <event name="OnKeyDown"></event>
@@ -902,6 +1126,10 @@
  902  1126                                 <event name="OnRightUp"></event>
  903  1127                                 <event name="OnSetFocus"></event>
  904  1128                                 <event name="OnSize"></event>
   -1  1129                                 <event name="OnText"></event>
   -1  1130                                 <event name="OnTextEnter">OnBeatResEnter</event>
   -1  1131                                 <event name="OnTextMaxLen"></event>
   -1  1132                                 <event name="OnTextURL"></event>
  905  1133                                 <event name="OnUpdateUI"></event>
  906  1134                             </object>
  907  1135                         </object>
@@ -932,7 +1160,7 @@
  932  1160                                 <property name="label">OK</property>
  933  1161                                 <property name="maximum_size"></property>
  934  1162                                 <property name="minimum_size"></property>
  935    -1                                 <property name="name">m_button3</property>
   -1  1163                                 <property name="name">b_OK</property>
  936  1164                                 <property name="permission">protected</property>
  937  1165                                 <property name="pos"></property>
  938  1166                                 <property name="size"></property>
@@ -988,13 +1216,13 @@
  988  1216                                 <property name="label">Cancel</property>
  989  1217                                 <property name="maximum_size"></property>
  990  1218                                 <property name="minimum_size"></property>
  991    -1                                 <property name="name">m_button2</property>
   -1  1219                                 <property name="name">b_Cancel</property>
  992  1220                                 <property name="permission">protected</property>
  993  1221                                 <property name="pos"></property>
  994  1222                                 <property name="size"></property>
  995  1223                                 <property name="style"></property>
  996  1224                                 <property name="subclass"></property>
  997    -1                                 <property name="tooltip"></property>
   -1  1225                                 <property name="tooltip">Escape</property>
  998  1226                                 <property name="validator_data_type"></property>
  999  1227                                 <property name="validator_style">wxFILTER_NONE</property>
 1000  1228                                 <property name="validator_type">wxDefaultValidator</property>

diff --git a/src/gui/xiRetimer_wxfb.h b/src/gui/xiRetimer_wxfb.h

@@ -23,8 +23,8 @@
   23    23 #include <wx/stattext.h>
   24    24 #include <wx/button.h>
   25    25 #include <wx/dialog.h>
   26    -1 #include <wx/choicebk.h>
   27    -1 #include <wx/clrpicker.h>
   -1    26 #include <wx/choice.h>
   -1    27 #include <wx/textctrl.h>
   28    28 
   29    29 ///////////////////////////////////////////////////////////////////////////
   30    30 
@@ -99,23 +99,29 @@ class PrefsDialog : public wxDialog
   99    99 	private:
  100   100 	
  101   101 	protected:
  102    -1 		wxStaticText* m_staticText3;
  103    -1 		wxChoicebook* m_choicebook1;
  104    -1 		wxStaticText* m_staticText4;
  105    -1 		wxColourPickerCtrl* m_colourPicker6;
  106    -1 		wxButton* m_button3;
  107    -1 		wxButton* m_button2;
   -1   102 		wxStaticText* l_intmode;
   -1   103 		wxChoice* c_intmode;
   -1   104 		wxStaticText* l_stretchmode;
   -1   105 		wxChoice* c_stretchmode;
   -1   106 		wxStaticText* l_tempo;
   -1   107 		wxTextCtrl* t_tempo;
   -1   108 		wxStaticText* l_beatres;
   -1   109 		wxTextCtrl* t_beatres;
   -1   110 		wxButton* b_OK;
   -1   111 		wxButton* b_Cancel;
  108   112 		
  109   113 		// Virtual event handlers, overide them in your derived class
  110    -1 		virtual void OnIModeChange( wxChoicebookEvent& event ) { event.Skip(); }
  111    -1 		virtual void OnColorChange( wxColourPickerEvent& event ) { event.Skip(); }
   -1   114 		virtual void OnIntModeChange( wxCommandEvent& event ) { event.Skip(); }
   -1   115 		virtual void OnStretchModeChange( wxCommandEvent& event ) { event.Skip(); }
   -1   116 		virtual void OnTempoEnter( wxCommandEvent& event ) { event.Skip(); }
   -1   117 		virtual void OnBeatResEnter( wxCommandEvent& event ) { event.Skip(); }
  112   118 		virtual void OnOKClick( wxCommandEvent& event ) { event.Skip(); }
  113   119 		virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
  114   120 		
  115   121 	
  116   122 	public:
  117   123 		
  118    -1 		PrefsDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Preferences"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 247,165 ), long style = wxDEFAULT_DIALOG_STYLE );
   -1   124 		PrefsDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Preferences"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 322,238 ), long style = wxDEFAULT_DIALOG_STYLE );
  119   125 		~PrefsDialog();
  120   126 	
  121   127 };

diff --git a/xiRetimer b/xiRetimer

Binary files differ.