xiRetimer

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

commit
2873dcd033e6c3c24b9af350794af664d3d06189
parent
9eb2cd7ac283da36a0c0395074769435552d42e3
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2010-11-01 23:30
menus

Diffstat

D gui/a.out 0
M gui/make 3 ++-
A gui/ressources/dialog-close.png 0
D gui/ressources/document-open.png 0
A gui/ressources/document-properties.png 0
M gui/ressources/document-save.png 0
A gui/ressources/edit-clear.png 0
A gui/ressources/fileopen.png 0
M gui/ressources/help-about.png 0
D gui/ressources/help-contents.png 0
D gui/ressources/insert-object.png 0
D gui/ressources/media-playback-pause.png 0
M gui/ressources/media-playback-start.png 0
M gui/ressources/media-skip-backward.png 0
M gui/ressources/media-skip-forward.png 0
D gui/ressources/preferences-desktop.png 0
A gui/ressources/stock_refresh.png 0
D gui/ressources/window-close.png 0
D gui/ressources/zoom-fit-best.png 0
D gui/ressources/zoom-in.png 0
D gui/ressources/zoom-original.png 0
D gui/ressources/zoom-out.png 0
M gui/xiRTMainFrame.cpp 55 ++++++++++++++++++++++++++++++++++---------------------
M gui/xiRTMainFrame.h 18 +++++++++++++-----
A gui/xiRetimer 0
M gui/xiRetimer_wxfb.cpp 162 +++++++++++++++++++++++++++++++++++++++++++++----------------
M gui/xiRetimer_wxfb.fbp 231 +++++++++++++++++++++++++++++++++++++++----------------------
M gui/xiRetimer_wxfb.h 25 +++++++++++++++----------
M src/curve.cpp 2 ++
M src/curve.h 1 +
M src/marker.cpp 7 +++----
M src/sample.cpp 2 +-

32 files changed, 338 insertions, 168 deletions


diff --git a/gui/a.out b/gui/a.out

Binary files differ.

diff --git a/gui/make b/gui/make

@@ -1,2 +1,3 @@
    1    -1 g++ *.h *.cpp ../src/*.h ../src/*.cpp `wx-config --cxxflags --libs` `pkg-config --cflags --libs rubberband sndfile`
   -1     1 g++ *.h *.cpp ../src/*.h ../src/*.cpp `wx-config --cxxflags --libs` `pkg-config --cflags --libs rubberband sndfile` -o xiRetimer
    2     2 rm ../*/*.gch
   -1     3 #  wxInitAllImageHandlers();

diff --git a/gui/ressources/dialog-close.png b/gui/ressources/dialog-close.png

Binary files differ.

diff --git a/gui/ressources/document-open.png b/gui/ressources/document-open.png

Binary files differ.

diff --git a/gui/ressources/document-properties.png b/gui/ressources/document-properties.png

Binary files differ.

diff --git a/gui/ressources/document-save.png b/gui/ressources/document-save.png

Binary files differ.

diff --git a/gui/ressources/edit-clear.png b/gui/ressources/edit-clear.png

Binary files differ.

diff --git a/gui/ressources/fileopen.png b/gui/ressources/fileopen.png

Binary files differ.

diff --git a/gui/ressources/help-about.png b/gui/ressources/help-about.png

Binary files differ.

diff --git a/gui/ressources/help-contents.png b/gui/ressources/help-contents.png

Binary files differ.

diff --git a/gui/ressources/insert-object.png b/gui/ressources/insert-object.png

Binary files differ.

diff --git a/gui/ressources/media-playback-pause.png b/gui/ressources/media-playback-pause.png

Binary files differ.

diff --git a/gui/ressources/media-playback-start.png b/gui/ressources/media-playback-start.png

Binary files differ.

diff --git a/gui/ressources/media-skip-backward.png b/gui/ressources/media-skip-backward.png

Binary files differ.

diff --git a/gui/ressources/media-skip-forward.png b/gui/ressources/media-skip-forward.png

Binary files differ.

diff --git a/gui/ressources/preferences-desktop.png b/gui/ressources/preferences-desktop.png

Binary files differ.

diff --git a/gui/ressources/stock_refresh.png b/gui/ressources/stock_refresh.png

Binary files differ.

diff --git a/gui/ressources/window-close.png b/gui/ressources/window-close.png

Binary files differ.

diff --git a/gui/ressources/zoom-fit-best.png b/gui/ressources/zoom-fit-best.png

Binary files differ.

diff --git a/gui/ressources/zoom-in.png b/gui/ressources/zoom-in.png

Binary files differ.

diff --git a/gui/ressources/zoom-original.png b/gui/ressources/zoom-original.png

Binary files differ.

diff --git a/gui/ressources/zoom-out.png b/gui/ressources/zoom-out.png

Binary files differ.

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

@@ -10,8 +10,6 @@
   10    10 
   11    11 #include <iostream>
   12    12 
   13    -1 // TODO icon bar
   14    -1 
   15    13 xiRTMainFrame::xiRTMainFrame( wxWindow* parent ) : MainFrame( parent ) {
   16    14   curve=new Curve();
   17    15   sample=curve->sample;
@@ -20,6 +18,7 @@ xiRTMainFrame::xiRTMainFrame( wxWindow* parent ) : MainFrame( parent ) {
   20    18   curve->setSeeker(0.3);
   21    19   width=100; // anything greater than 2
   22    20   Marker_move=false;
   -1    21   Seeker_move=false;
   23    22 }
   24    23 
   25    24 xiRTMainFrame::~xiRTMainFrame() {}
@@ -39,11 +38,13 @@ void xiRTMainFrame::OnLeftDown( wxMouseEvent& event ) {
   39    38   }
   40    39   // if not returned set Seeker
   41    40   curve->setSeeker(event.m_x/(float)width);
   -1    41   Seeker_move=true;
   42    42   curve->selectMarker(-1);  //deselct
   43    43 }
   44    44 
   45    45 void xiRTMainFrame::OnLeftUp( wxMouseEvent& event ) {
   46    46   Marker_move=false;
   -1    47   Seeker_move=false;
   47    48 }
   48    49 
   49    50 void xiRTMainFrame::OnLeftDClick( wxMouseEvent& event ) {
@@ -65,9 +66,11 @@ void xiRTMainFrame::OnLeftDClick( wxMouseEvent& event ) {
   65    66 void xiRTMainFrame::OnMotion( wxMouseEvent& event ) {
   66    67   if (Marker_move)
   67    68     curve->setMarker(event.m_x/(float)width);
   -1    69   if (Seeker_move)
   -1    70     curve->setSeeker(event.m_x/(float)width);
   68    71 }
   69    72 
   70    -1 // ************  menu  **************
   -1    73 // ************  file  **************
   71    74 void xiRTMainFrame::OnOpenClick( wxCommandEvent& event )
   72    75 {
   73    76     wxFileDialog* dialog = new wxFileDialog( (wxWindow*)NULL );
@@ -81,7 +84,7 @@ void xiRTMainFrame::OnOpenClick( wxCommandEvent& event )
   81    84 
   82    85 void xiRTMainFrame::OnExportClick( wxCommandEvent& event )
   83    86 {
   84    -1     wxFileDialog* dialog = new wxFileDialog((wxWindow*)NULL, _T("Export As"), _T(""), _T(""), _T("*.*"), wxSAVE | wxOVERWRITE_PROMPT);
   -1    87     wxFileDialog* dialog = new wxFileDialog((wxWindow*)NULL, _T("Export As"), _T(""), _T(""), _T("*.wav"), wxSAVE | wxOVERWRITE_PROMPT);
   85    88     dialog ->Show();
   86    89 
   87    90     if (dialog->ShowModal()==wxID_OK) {
@@ -91,6 +94,20 @@ void xiRTMainFrame::OnExportClick( wxCommandEvent& event )
   91    94     }
   92    95 }
   93    96 
   -1    97 // ************  playback  **************
   -1    98 void xiRTMainFrame::OnStartClick( wxCommandEvent& event ) {
   -1    99   curve->setSeeker(0);
   -1   100 }
   -1   101 
   -1   102 void xiRTMainFrame::OnPlayClick( wxCommandEvent& event ) {
   -1   103   // TODO implement playback
   -1   104 }
   -1   105 
   -1   106 void xiRTMainFrame::OnEndClick( wxCommandEvent& event ) {
   -1   107   curve->setSeeker(0);
   -1   108 }
   -1   109 
   -1   110 // ************  general  **************
   94   111 void xiRTMainFrame::OnPrefsClick( wxCommandEvent& event )
   95   112 {
   96   113     xiRTPrefsDialog* dialog = new xiRTPrefsDialog( (wxWindow*)NULL );
@@ -99,38 +116,36 @@ void xiRTMainFrame::OnPrefsClick( wxCommandEvent& event )
   99   116 
  100   117 void xiRTMainFrame::OnExitClick( wxCommandEvent& event )
  101   118 {
  102    -1   delete[] curve;
  103   119   Destroy();
  104   120 }
  105   121 
  106   122 void xiRTMainFrame::OnHelpClick( wxCommandEvent& event )
  107   123 {
  108    -1 	// TODO: Implement OnHelpClick
  109    -1 }
  110    -1 
  111    -1 void xiRTMainFrame::OnAboutClick( wxCommandEvent& event )
  112    -1 {
   -1   124 	// TODO: create Help
  113   125     xiRTAboutDialog* dialog = new xiRTAboutDialog( (wxWindow*)NULL );
  114   126     dialog ->Show();
  115   127 }
  116   128 
   -1   129 // ************  marker  **************
   -1   130 void xiRTMainFrame::OnClearClick( wxCommandEvent& event ) {
   -1   131   curve->clearMarker();
   -1   132 }
   -1   133 
   -1   134 
   -1   135 // ************  misc  **************
  117   136 void xiRTMainFrame::OnProcessClick( wxCommandEvent& event ) {
  118   137     // TODO Link process with process bar
   -1   138 /*
  119   139     wxProgressDialog::wxProgressDialog* dialog = new wxProgressDialog( _T("processing..."), _T("please wait") );
  120   140     dialog ->Show();
   -1   141 */
  121   142     sample->process();
  122   143 }
  123   144 
  124    -1 void xiRTMainFrame::OnMSetClick( wxCommandEvent& event )
  125    -1 {
  126    -1   curve->addMarker();
  127    -1 }
   -1   145 void xiRTMainFrame::OnUpdateUI( wxUpdateUIEvent& event ) {paint();}
  128   146 
  129    -1 void xiRTMainFrame::OnMRmClick( wxCommandEvent& event )
  130    -1 {
  131    -1   curve->removeMarker();
  132    -1 }
  133   147 
   -1   148 // ***********************************
  134   149 void xiRTMainFrame::paint() {
  135   150   // TODO dont repaint all the time
  136   151   wxClientDC dc2(this);
@@ -149,7 +164,7 @@ void xiRTMainFrame::paint() {
  149   164   for (int i=0; i<width-1; ++i) {
  150   165     dc.DrawLine(i,int(curve->get(i/(float)(width-1))*h+h)/2,i+1,int(curve->get((i+1)/(float)(width-1))*h+h)/2);
  151   166   }
  152    -1   // TODO display tempo bars ...
   -1   167   // TODO display tempo bars !!!
  153   168   dc.SetPen(penMarker);
  154   169   for (int i=0; i<curve->getMarkerLength(); ++i) {
  155   170     int n=int(curve->getMarker(i)*(width-1));
@@ -168,5 +183,3 @@ void xiRTMainFrame::paint() {
  168   183   dc.DrawLine(seek,0,seek,h);
  169   184 }
  170   185 
  171    -1 void xiRTMainFrame::OnUpdateUI( wxUpdateUIEvent& event ) {paint();}
  172    -1 

diff --git a/gui/xiRTMainFrame.h b/gui/xiRTMainFrame.h

@@ -15,21 +15,28 @@ Subclass of MainFrame, which is generated by wxFormBuilder.
   15    15 class xiRTMainFrame : public MainFrame
   16    16 {
   17    17 protected:
   18    -1   // Handlers for MainFrame events.
   -1    18   // mouse
   19    19   void OnLeftDown( wxMouseEvent& event );
   20    20   void OnLeftUp( wxMouseEvent& event );
   21    21   void OnLeftDClick( wxMouseEvent& event );
   22    22   void OnMotion( wxMouseEvent& event );
   -1    23   // file
   23    24   void OnOpenClick( wxCommandEvent& event );
   24    25   void OnExportClick( wxCommandEvent& event );
   25    -1   void OnPrefsClick( wxCommandEvent& event );
   -1    26   // playback
   -1    27   void OnStartClick( wxCommandEvent& event );
   -1    28   void OnPlayClick( wxCommandEvent& event );
   -1    29   void OnEndClick( wxCommandEvent& event );
   -1    30   // general
   26    31   void OnExitClick( wxCommandEvent& event );
   27    32   void OnHelpClick( wxCommandEvent& event );
   28    -1   void OnAboutClick( wxCommandEvent& event );
   -1    33   // marker
   -1    34   void OnClearClick( wxCommandEvent& event );
   -1    35   // misc
   -1    36   void OnPrefsClick( wxCommandEvent& event );
   29    37   void OnProcessClick( wxCommandEvent& event );
   30    -1   void OnMSetClick( wxCommandEvent& event );
   31    -1   void OnMRmClick( wxCommandEvent& event );
   32    38   void OnUpdateUI( wxUpdateUIEvent& event );
   -1    39 
   33    40   void paint();
   34    41   static const int MARKERWIDTH=15;
   35    42   
@@ -37,6 +44,7 @@ protected:
   37    44   Curve* curve;
   38    45   int width;
   39    46   bool Marker_move;
   -1    47   bool Seeker_move;
   40    48 	
   41    49 public:
   42    50 	/** Constructor */

diff --git a/gui/xiRetimer b/gui/xiRetimer

Binary files differ.

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

@@ -11,58 +11,126 @@
   11    11 
   12    12 MainFrame::MainFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
   13    13 {
   -1    14 wxInitAllImageHandlers();
   14    15 	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
   15    16 	
   16    -1 	m_menubar1 = new wxMenuBar( 0 );
   17    -1 	m_menubar1->SetMaxSize( wxSize( -1,32 ) );
   -1    17 	wxBoxSizer* bSizer3;
   -1    18 	bSizer3 = new wxBoxSizer( wxVERTICAL );
   18    19 	
   19    -1 	m_File = new wxMenu();
   -1    20 	this->SetSizer( bSizer3 );
   -1    21 	this->Layout();
   -1    22 	m_statusBar1 = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
   -1    23 	m_menubar3 = new wxMenuBar( 0 );
   -1    24 	m_file = new wxMenu();
   20    25 	wxMenuItem* m_open;
   21    -1 	m_open = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("open") ) , wxEmptyString, wxITEM_NORMAL );
   22    -1 	m_File->Append( m_open );
   -1    26 	m_open = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("open") ) + wxT('\t') + wxT("CTRL+f"), wxEmptyString, wxITEM_NORMAL );
   -1    27 	#ifdef __WXMSW__
   -1    28 	m_open->SetBitmaps( wxBitmap( wxT("ressources/fileopen.png"), wxBITMAP_TYPE_ANY ) );
   -1    29 	#elif defined( __WXGTK__ )
   -1    30 	m_open->SetBitmap( wxBitmap( wxT("ressources/fileopen.png"), wxBITMAP_TYPE_ANY ) );
   -1    31 	#endif
   -1    32 	m_file->Append( m_open );
   23    33 	
   24    34 	wxMenuItem* m_export;
   25    -1 	m_export = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("export") ) , wxEmptyString, wxITEM_NORMAL );
   26    -1 	m_File->Append( m_export );
   -1    35 	m_export = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("export") ) + wxT('\t') + wxT("CTRL+s"), wxEmptyString, wxITEM_NORMAL );
   -1    36 	#ifdef __WXMSW__
   -1    37 	m_export->SetBitmaps( wxBitmap( wxT("ressources/document-save.png"), wxBITMAP_TYPE_ANY ) );
   -1    38 	#elif defined( __WXGTK__ )
   -1    39 	m_export->SetBitmap( wxBitmap( wxT("ressources/document-save.png"), wxBITMAP_TYPE_ANY ) );
   -1    40 	#endif
   -1    41 	m_file->Append( m_export );
   27    42 	
   28    -1 	wxMenuItem* m_separator3;
   29    -1 	m_separator3 = m_File->AppendSeparator();
   -1    43 	wxMenuItem* m_separator6;
   -1    44 	m_separator6 = m_file->AppendSeparator();
   30    45 	
   31    46 	wxMenuItem* m_prefs;
   32    -1 	m_prefs = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("preferences") ) , wxEmptyString, wxITEM_NORMAL );
   33    -1 	m_File->Append( m_prefs );
   34    -1 	
   35    -1 	wxMenuItem* m_separator2;
   36    -1 	m_separator2 = m_File->AppendSeparator();
   37    -1 	
   38    -1 	wxMenuItem* m_exit;
   39    -1 	m_exit = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("Exit") ) , wxEmptyString, wxITEM_NORMAL );
   40    -1 	m_File->Append( m_exit );
   41    -1 	
   42    -1 	m_menubar1->Append( m_File, wxT("File") );
   43    -1 	
   44    -1 	m_Help = new wxMenu();
   45    -1 	wxMenuItem* m_help;
   46    -1 	m_help = new wxMenuItem( m_Help, wxID_ANY, wxString( wxT("Help") ) , wxEmptyString, wxITEM_NORMAL );
   47    -1 	m_Help->Append( m_help );
   48    -1 	
   49    -1 	wxMenuItem* m_separator1;
   50    -1 	m_separator1 = m_Help->AppendSeparator();
   51    -1 	
   -1    47 	m_prefs = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("preferences") ) + wxT('\t') + wxT("F5"), wxEmptyString, wxITEM_NORMAL );
   -1    48 	#ifdef __WXMSW__
   -1    49 	m_prefs->SetBitmaps( wxBitmap( wxT("ressources/document-properties.png"), wxBITMAP_TYPE_ANY ) );
   -1    50 	#elif defined( __WXGTK__ )
   -1    51 	m_prefs->SetBitmap( wxBitmap( wxT("ressources/document-properties.png"), wxBITMAP_TYPE_ANY ) );
   -1    52 	#endif
   -1    53 	m_file->Append( m_prefs );
   -1    54 	
   -1    55 	wxMenuItem* m_separator7;
   -1    56 	m_separator7 = m_file->AppendSeparator();
   -1    57 	
   -1    58 	wxMenuItem* b_exit;
   -1    59 	b_exit = new wxMenuItem( m_file, wxID_ANY, wxString( wxT("Exit") ) , wxEmptyString, wxITEM_NORMAL );
   -1    60 	#ifdef __WXMSW__
   -1    61 	b_exit->SetBitmaps( wxBitmap( wxT("ressources/dialog-close.png"), wxBITMAP_TYPE_ANY ) );
   -1    62 	#elif defined( __WXGTK__ )
   -1    63 	b_exit->SetBitmap( wxBitmap( wxT("ressources/dialog-close.png"), wxBITMAP_TYPE_ANY ) );
   -1    64 	#endif
   -1    65 	m_file->Append( b_exit );
   -1    66 	
   -1    67 	m_menubar3->Append( m_file, wxT("File") );
   -1    68 	
   -1    69 	m_edit = new wxMenu();
   -1    70 	wxMenuItem* m_play;
   -1    71 	m_play = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("play/pause") ) + wxT('\t') + wxT("SPACE"), wxEmptyString, wxITEM_CHECK );
   -1    72 	#ifdef __WXMSW__
   -1    73 	m_play->SetBitmaps( wxBitmap( wxT("ressources/media-playback-start.png"), wxBITMAP_TYPE_ANY ) );
   -1    74 	#elif defined( __WXGTK__ )
   -1    75 	m_play->SetBitmap( wxBitmap( wxT("ressources/media-playback-start.png"), wxBITMAP_TYPE_ANY ) );
   -1    76 	#endif
   -1    77 	m_edit->Append( m_play );
   -1    78 	
   -1    79 	wxMenuItem* m_start;
   -1    80 	m_start = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("start") ) + wxT('\t') + wxT("CTRL+LEFT"), wxEmptyString, wxITEM_NORMAL );
   -1    81 	#ifdef __WXMSW__
   -1    82 	m_start->SetBitmaps( wxBitmap( wxT("ressources/media-skip-backward.png"), wxBITMAP_TYPE_ANY ) );
   -1    83 	#elif defined( __WXGTK__ )
   -1    84 	m_start->SetBitmap( wxBitmap( wxT("ressources/media-skip-backward.png"), wxBITMAP_TYPE_ANY ) );
   -1    85 	#endif
   -1    86 	m_edit->Append( m_start );
   -1    87 	
   -1    88 	wxMenuItem* m_end;
   -1    89 	m_end = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("end") ) + wxT('\t') + wxT("CTRL+RIGHT"), wxEmptyString, wxITEM_NORMAL );
   -1    90 	#ifdef __WXMSW__
   -1    91 	m_end->SetBitmaps( wxBitmap( wxT("ressources/media-skip-forward.png"), wxBITMAP_TYPE_ANY ) );
   -1    92 	#elif defined( __WXGTK__ )
   -1    93 	m_end->SetBitmap( wxBitmap( wxT("ressources/media-skip-forward.png"), wxBITMAP_TYPE_ANY ) );
   -1    94 	#endif
   -1    95 	m_edit->Append( m_end );
   -1    96 	
   -1    97 	wxMenuItem* m_separator8;
   -1    98 	m_separator8 = m_edit->AppendSeparator();
   -1    99 	
   -1   100 	wxMenuItem* m_clear;
   -1   101 	m_clear = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("clear markers") ) + wxT('\t') + wxT("CTRL+c"), wxEmptyString, wxITEM_NORMAL );
   -1   102 	#ifdef __WXMSW__
   -1   103 	m_clear->SetBitmaps( wxBitmap( wxT("ressources/edit-clear.png"), wxBITMAP_TYPE_ANY ) );
   -1   104 	#elif defined( __WXGTK__ )
   -1   105 	m_clear->SetBitmap( wxBitmap( wxT("ressources/edit-clear.png"), wxBITMAP_TYPE_ANY ) );
   -1   106 	#endif
   -1   107 	m_edit->Append( m_clear );
   -1   108 	
   -1   109 	wxMenuItem* m_process;
   -1   110 	m_process = new wxMenuItem( m_edit, wxID_ANY, wxString( wxT("update audio data") ) + wxT('\t') + wxT("CTRL+u"), wxEmptyString, wxITEM_NORMAL );
   -1   111 	#ifdef __WXMSW__
   -1   112 	m_process->SetBitmaps( wxBitmap( wxT("ressources/stock_refresh.png"), wxBITMAP_TYPE_ANY ) );
   -1   113 	#elif defined( __WXGTK__ )
   -1   114 	m_process->SetBitmap( wxBitmap( wxT("ressources/stock_refresh.png"), wxBITMAP_TYPE_ANY ) );
   -1   115 	#endif
   -1   116 	m_edit->Append( m_process );
   -1   117 	
   -1   118 	m_menubar3->Append( m_edit, wxT("Edit") );
   -1   119 	
   -1   120 	m_help = new wxMenu();
   52   121 	wxMenuItem* m_about;
   53    -1 	m_about = new wxMenuItem( m_Help, wxID_ANY, wxString( wxT("About") ) , wxEmptyString, wxITEM_NORMAL );
   54    -1 	m_Help->Append( m_about );
   -1   122 	m_about = new wxMenuItem( m_help, wxID_ANY, wxString( wxT("about") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
   -1   123 	#ifdef __WXMSW__
   -1   124 	m_about->SetBitmaps( wxBitmap( wxT("ressources/help-about.png"), wxBITMAP_TYPE_ANY ) );
   -1   125 	#elif defined( __WXGTK__ )
   -1   126 	m_about->SetBitmap( wxBitmap( wxT("ressources/help-about.png"), wxBITMAP_TYPE_ANY ) );
   -1   127 	#endif
   -1   128 	m_help->Append( m_about );
   55   129 	
   56    -1 	m_menubar1->Append( m_Help, wxT("Help") );
   -1   130 	m_menubar3->Append( m_help, wxT("Help") );
   57   131 	
   58    -1 	this->SetMenuBar( m_menubar1 );
   59    -1 	
   60    -1 	wxBoxSizer* bSizer3;
   61    -1 	bSizer3 = new wxBoxSizer( wxVERTICAL );
   -1   132 	this->SetMenuBar( m_menubar3 );
   62   133 	
   63    -1 	this->SetSizer( bSizer3 );
   64    -1 	this->Layout();
   65    -1 	m_statusBar1 = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
   66   134 	
   67   135 	// Connect Events
   68   136 	this->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( MainFrame::OnLeftDClick ) );
@@ -73,9 +141,13 @@ MainFrame::MainFrame( wxWindow* parent, wxWindowID id, const wxString& title, co
   73   141 	this->Connect( m_open->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnOpenClick ) );
   74   142 	this->Connect( m_export->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnExportClick ) );
   75   143 	this->Connect( m_prefs->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnPrefsClick ) );
   76    -1 	this->Connect( m_exit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnExitClick ) );
   77    -1 	this->Connect( m_help->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnHelpClick ) );
   78    -1 	this->Connect( m_about->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnAboutClick ) );
   -1   144 	this->Connect( b_exit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnExitClick ) );
   -1   145 	this->Connect( m_play->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnPlayClick ) );
   -1   146 	this->Connect( m_start->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnStartClick ) );
   -1   147 	this->Connect( m_end->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnEndClick ) );
   -1   148 	this->Connect( m_clear->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnClearClick ) );
   -1   149 	this->Connect( m_process->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnProcessClick ) );
   -1   150 	this->Connect( m_about->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnHelpClick ) );
   79   151 }
   80   152 
   81   153 MainFrame::~MainFrame()
@@ -90,8 +162,12 @@ MainFrame::~MainFrame()
   90   162 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnExportClick ) );
   91   163 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnPrefsClick ) );
   92   164 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnExitClick ) );
   -1   165 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnPlayClick ) );
   -1   166 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnStartClick ) );
   -1   167 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnEndClick ) );
   -1   168 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnClearClick ) );
   -1   169 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnProcessClick ) );
   93   170 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnHelpClick ) );
   94    -1 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnAboutClick ) );
   95   171 }
   96   172 
   97   173 AboutDialog::AboutDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )

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

@@ -75,6 +75,61 @@
   75    75             <event name="OnSetFocus"></event>
   76    76             <event name="OnSize"></event>
   77    77             <event name="OnUpdateUI">OnUpdateUI</event>
   -1    78             <object class="wxBoxSizer" expanded="1">
   -1    79                 <property name="minimum_size"></property>
   -1    80                 <property name="name">bSizer3</property>
   -1    81                 <property name="orient">wxVERTICAL</property>
   -1    82                 <property name="permission">none</property>
   -1    83             </object>
   -1    84             <object class="wxStatusBar" expanded="1">
   -1    85                 <property name="bg"></property>
   -1    86                 <property name="context_help"></property>
   -1    87                 <property name="enabled">1</property>
   -1    88                 <property name="fg"></property>
   -1    89                 <property name="fields">1</property>
   -1    90                 <property name="font"></property>
   -1    91                 <property name="hidden">0</property>
   -1    92                 <property name="id">wxID_ANY</property>
   -1    93                 <property name="maximum_size"></property>
   -1    94                 <property name="minimum_size"></property>
   -1    95                 <property name="name">m_statusBar1</property>
   -1    96                 <property name="permission">protected</property>
   -1    97                 <property name="pos"></property>
   -1    98                 <property name="size"></property>
   -1    99                 <property name="style">wxST_SIZEGRIP</property>
   -1   100                 <property name="subclass"></property>
   -1   101                 <property name="tooltip"></property>
   -1   102                 <property name="validator_data_type"></property>
   -1   103                 <property name="validator_style">wxFILTER_NONE</property>
   -1   104                 <property name="validator_type">wxDefaultValidator</property>
   -1   105                 <property name="validator_variable"></property>
   -1   106                 <property name="window_extra_style"></property>
   -1   107                 <property name="window_name"></property>
   -1   108                 <property name="window_style"></property>
   -1   109                 <event name="OnChar"></event>
   -1   110                 <event name="OnEnterWindow"></event>
   -1   111                 <event name="OnEraseBackground"></event>
   -1   112                 <event name="OnKeyDown"></event>
   -1   113                 <event name="OnKeyUp"></event>
   -1   114                 <event name="OnKillFocus"></event>
   -1   115                 <event name="OnLeaveWindow"></event>
   -1   116                 <event name="OnLeftDClick"></event>
   -1   117                 <event name="OnLeftDown"></event>
   -1   118                 <event name="OnLeftUp"></event>
   -1   119                 <event name="OnMiddleDClick"></event>
   -1   120                 <event name="OnMiddleDown"></event>
   -1   121                 <event name="OnMiddleUp"></event>
   -1   122                 <event name="OnMotion"></event>
   -1   123                 <event name="OnMouseEvents"></event>
   -1   124                 <event name="OnMouseWheel"></event>
   -1   125                 <event name="OnPaint"></event>
   -1   126                 <event name="OnRightDClick"></event>
   -1   127                 <event name="OnRightDown"></event>
   -1   128                 <event name="OnRightUp"></event>
   -1   129                 <event name="OnSetFocus"></event>
   -1   130                 <event name="OnSize"></event>
   -1   131                 <event name="OnUpdateUI"></event>
   -1   132             </object>
   78   133             <object class="wxMenuBar" expanded="1">
   79   134                 <property name="bg"></property>
   80   135                 <property name="context_help"></property>
@@ -84,12 +139,12 @@
   84   139                 <property name="hidden">0</property>
   85   140                 <property name="id">wxID_ANY</property>
   86   141                 <property name="label">MyMenuBar</property>
   87    -1                 <property name="maximum_size">-1,32</property>
   -1   142                 <property name="maximum_size"></property>
   88   143                 <property name="minimum_size"></property>
   89    -1                 <property name="name">m_menubar1</property>
   -1   144                 <property name="name">m_menubar3</property>
   90   145                 <property name="permission">protected</property>
   91   146                 <property name="pos"></property>
   92    -1                 <property name="size">-1,32</property>
   -1   147                 <property name="size"></property>
   93   148                 <property name="style"></property>
   94   149                 <property name="subclass"></property>
   95   150                 <property name="tooltip"></property>
@@ -123,12 +178,12 @@
  123   178                 <event name="OnSetFocus"></event>
  124   179                 <event name="OnSize"></event>
  125   180                 <event name="OnUpdateUI"></event>
  126    -1                 <object class="wxMenu" expanded="0">
   -1   181                 <object class="wxMenu" expanded="1">
  127   182                     <property name="label">File</property>
  128    -1                     <property name="name">m_File</property>
   -1   183                     <property name="name">m_file</property>
  129   184                     <property name="permission">protected</property>
  130   185                     <object class="wxMenuItem" expanded="1">
  131    -1                         <property name="bitmap">; Load From File</property>
   -1   186                         <property name="bitmap">ressources/fileopen.png; Load From File</property>
  132   187                         <property name="checked">0</property>
  133   188                         <property name="enabled">1</property>
  134   189                         <property name="help"></property>
@@ -137,13 +192,13 @@
  137   192                         <property name="label">open</property>
  138   193                         <property name="name">m_open</property>
  139   194                         <property name="permission">none</property>
  140    -1                         <property name="shortcut"></property>
   -1   195                         <property name="shortcut">CTRL+f</property>
  141   196                         <property name="unchecked_bitmap"></property>
  142   197                         <event name="OnMenuSelection">OnOpenClick</event>
  143   198                         <event name="OnUpdateUI"></event>
  144   199                     </object>
  145   200                     <object class="wxMenuItem" expanded="1">
  146    -1                         <property name="bitmap"></property>
   -1   201                         <property name="bitmap">ressources/document-save.png; Load From File</property>
  147   202                         <property name="checked">0</property>
  148   203                         <property name="enabled">1</property>
  149   204                         <property name="help"></property>
@@ -152,17 +207,17 @@
  152   207                         <property name="label">export</property>
  153   208                         <property name="name">m_export</property>
  154   209                         <property name="permission">none</property>
  155    -1                         <property name="shortcut"></property>
   -1   210                         <property name="shortcut">CTRL+s</property>
  156   211                         <property name="unchecked_bitmap"></property>
  157   212                         <event name="OnMenuSelection">OnExportClick</event>
  158   213                         <event name="OnUpdateUI"></event>
  159   214                     </object>
  160   215                     <object class="separator" expanded="1">
  161    -1                         <property name="name">m_separator3</property>
   -1   216                         <property name="name">m_separator6</property>
  162   217                         <property name="permission">none</property>
  163   218                     </object>
  164   219                     <object class="wxMenuItem" expanded="1">
  165    -1                         <property name="bitmap"></property>
   -1   220                         <property name="bitmap">ressources/document-properties.png; Load From File</property>
  166   221                         <property name="checked">0</property>
  167   222                         <property name="enabled">1</property>
  168   223                         <property name="help"></property>
@@ -171,24 +226,24 @@
  171   226                         <property name="label">preferences</property>
  172   227                         <property name="name">m_prefs</property>
  173   228                         <property name="permission">none</property>
  174    -1                         <property name="shortcut"></property>
   -1   229                         <property name="shortcut">F5</property>
  175   230                         <property name="unchecked_bitmap"></property>
  176   231                         <event name="OnMenuSelection">OnPrefsClick</event>
  177   232                         <event name="OnUpdateUI"></event>
  178   233                     </object>
  179   234                     <object class="separator" expanded="1">
  180    -1                         <property name="name">m_separator2</property>
   -1   235                         <property name="name">m_separator7</property>
  181   236                         <property name="permission">none</property>
  182   237                     </object>
  183   238                     <object class="wxMenuItem" expanded="1">
  184    -1                         <property name="bitmap"></property>
   -1   239                         <property name="bitmap">ressources/dialog-close.png; Load From File</property>
  185   240                         <property name="checked">0</property>
  186   241                         <property name="enabled">1</property>
  187   242                         <property name="help"></property>
  188   243                         <property name="id">wxID_ANY</property>
  189   244                         <property name="kind">wxITEM_NORMAL</property>
  190   245                         <property name="label">Exit</property>
  191    -1                         <property name="name">m_exit</property>
   -1   246                         <property name="name">b_exit</property>
  192   247                         <property name="permission">none</property>
  193   248                         <property name="shortcut"></property>
  194   249                         <property name="unchecked_bitmap"></property>
@@ -196,101 +251,111 @@
  196   251                         <event name="OnUpdateUI"></event>
  197   252                     </object>
  198   253                 </object>
  199    -1                 <object class="wxMenu" expanded="0">
  200    -1                     <property name="label">Help</property>
  201    -1                     <property name="name">m_Help</property>
   -1   254                 <object class="wxMenu" expanded="1">
   -1   255                     <property name="label">Edit</property>
   -1   256                     <property name="name">m_edit</property>
  202   257                     <property name="permission">protected</property>
  203   258                     <object class="wxMenuItem" expanded="1">
  204    -1                         <property name="bitmap"></property>
   -1   259                         <property name="bitmap">ressources/media-playback-start.png; Load From File</property>
   -1   260                         <property name="checked">0</property>
   -1   261                         <property name="enabled">1</property>
   -1   262                         <property name="help"></property>
   -1   263                         <property name="id">wxID_ANY</property>
   -1   264                         <property name="kind">wxITEM_CHECK</property>
   -1   265                         <property name="label">play/pause</property>
   -1   266                         <property name="name">m_play</property>
   -1   267                         <property name="permission">none</property>
   -1   268                         <property name="shortcut">SPACE</property>
   -1   269                         <property name="unchecked_bitmap"></property>
   -1   270                         <event name="OnMenuSelection">OnPlayClick</event>
   -1   271                         <event name="OnUpdateUI"></event>
   -1   272                     </object>
   -1   273                     <object class="wxMenuItem" expanded="1">
   -1   274                         <property name="bitmap">ressources/media-skip-backward.png; Load From File</property>
  205   275                         <property name="checked">0</property>
  206   276                         <property name="enabled">1</property>
  207   277                         <property name="help"></property>
  208   278                         <property name="id">wxID_ANY</property>
  209   279                         <property name="kind">wxITEM_NORMAL</property>
  210    -1                         <property name="label">Help</property>
  211    -1                         <property name="name">m_help</property>
   -1   280                         <property name="label">start</property>
   -1   281                         <property name="name">m_start</property>
  212   282                         <property name="permission">none</property>
  213    -1                         <property name="shortcut"></property>
   -1   283                         <property name="shortcut">CTRL+LEFT</property>
  214   284                         <property name="unchecked_bitmap"></property>
  215    -1                         <event name="OnMenuSelection">OnHelpClick</event>
   -1   285                         <event name="OnMenuSelection">OnStartClick</event>
   -1   286                         <event name="OnUpdateUI"></event>
   -1   287                     </object>
   -1   288                     <object class="wxMenuItem" expanded="1">
   -1   289                         <property name="bitmap">ressources/media-skip-forward.png; Load From File</property>
   -1   290                         <property name="checked">0</property>
   -1   291                         <property name="enabled">1</property>
   -1   292                         <property name="help"></property>
   -1   293                         <property name="id">wxID_ANY</property>
   -1   294                         <property name="kind">wxITEM_NORMAL</property>
   -1   295                         <property name="label">end</property>
   -1   296                         <property name="name">m_end</property>
   -1   297                         <property name="permission">none</property>
   -1   298                         <property name="shortcut">CTRL+RIGHT</property>
   -1   299                         <property name="unchecked_bitmap"></property>
   -1   300                         <event name="OnMenuSelection">OnEndClick</event>
  216   301                         <event name="OnUpdateUI"></event>
  217   302                     </object>
  218   303                     <object class="separator" expanded="1">
  219    -1                         <property name="name">m_separator1</property>
   -1   304                         <property name="name">m_separator8</property>
  220   305                         <property name="permission">none</property>
  221   306                     </object>
  222   307                     <object class="wxMenuItem" expanded="1">
  223    -1                         <property name="bitmap"></property>
   -1   308                         <property name="bitmap">ressources/edit-clear.png; Load From File</property>
   -1   309                         <property name="checked">0</property>
   -1   310                         <property name="enabled">1</property>
   -1   311                         <property name="help"></property>
   -1   312                         <property name="id">wxID_ANY</property>
   -1   313                         <property name="kind">wxITEM_NORMAL</property>
   -1   314                         <property name="label">clear markers</property>
   -1   315                         <property name="name">m_clear</property>
   -1   316                         <property name="permission">none</property>
   -1   317                         <property name="shortcut">CTRL+c</property>
   -1   318                         <property name="unchecked_bitmap"></property>
   -1   319                         <event name="OnMenuSelection">OnClearClick</event>
   -1   320                         <event name="OnUpdateUI"></event>
   -1   321                     </object>
   -1   322                     <object class="wxMenuItem" expanded="1">
   -1   323                         <property name="bitmap">ressources/stock_refresh.png; Load From File</property>
  224   324                         <property name="checked">0</property>
  225   325                         <property name="enabled">1</property>
  226   326                         <property name="help"></property>
  227   327                         <property name="id">wxID_ANY</property>
  228   328                         <property name="kind">wxITEM_NORMAL</property>
  229    -1                         <property name="label">About</property>
   -1   329                         <property name="label">update audio data</property>
   -1   330                         <property name="name">m_process</property>
   -1   331                         <property name="permission">none</property>
   -1   332                         <property name="shortcut">CTRL+u</property>
   -1   333                         <property name="unchecked_bitmap"></property>
   -1   334                         <event name="OnMenuSelection">OnProcessClick</event>
   -1   335                         <event name="OnUpdateUI"></event>
   -1   336                     </object>
   -1   337                 </object>
   -1   338                 <object class="wxMenu" expanded="1">
   -1   339                     <property name="label">Help</property>
   -1   340                     <property name="name">m_help</property>
   -1   341                     <property name="permission">protected</property>
   -1   342                     <object class="wxMenuItem" expanded="1">
   -1   343                         <property name="bitmap">ressources/help-about.png; Load From File</property>
   -1   344                         <property name="checked">0</property>
   -1   345                         <property name="enabled">1</property>
   -1   346                         <property name="help"></property>
   -1   347                         <property name="id">wxID_ANY</property>
   -1   348                         <property name="kind">wxITEM_NORMAL</property>
   -1   349                         <property name="label">about</property>
  230   350                         <property name="name">m_about</property>
  231   351                         <property name="permission">none</property>
  232    -1                         <property name="shortcut"></property>
   -1   352                         <property name="shortcut">F1</property>
  233   353                         <property name="unchecked_bitmap"></property>
  234    -1                         <event name="OnMenuSelection">OnAboutClick</event>
   -1   354                         <event name="OnMenuSelection">OnHelpClick</event>
  235   355                         <event name="OnUpdateUI"></event>
  236   356                     </object>
  237   357                 </object>
  238   358             </object>
  239    -1             <object class="wxBoxSizer" expanded="1">
  240    -1                 <property name="minimum_size"></property>
  241    -1                 <property name="name">bSizer3</property>
  242    -1                 <property name="orient">wxVERTICAL</property>
  243    -1                 <property name="permission">none</property>
  244    -1             </object>
  245    -1             <object class="wxStatusBar" expanded="1">
  246    -1                 <property name="bg"></property>
  247    -1                 <property name="context_help"></property>
  248    -1                 <property name="enabled">1</property>
  249    -1                 <property name="fg"></property>
  250    -1                 <property name="fields">1</property>
  251    -1                 <property name="font"></property>
  252    -1                 <property name="hidden">0</property>
  253    -1                 <property name="id">wxID_ANY</property>
  254    -1                 <property name="maximum_size"></property>
  255    -1                 <property name="minimum_size"></property>
  256    -1                 <property name="name">m_statusBar1</property>
  257    -1                 <property name="permission">protected</property>
  258    -1                 <property name="pos"></property>
  259    -1                 <property name="size"></property>
  260    -1                 <property name="style">wxST_SIZEGRIP</property>
  261    -1                 <property name="subclass"></property>
  262    -1                 <property name="tooltip"></property>
  263    -1                 <property name="validator_data_type"></property>
  264    -1                 <property name="validator_style">wxFILTER_NONE</property>
  265    -1                 <property name="validator_type">wxDefaultValidator</property>
  266    -1                 <property name="validator_variable"></property>
  267    -1                 <property name="window_extra_style"></property>
  268    -1                 <property name="window_name"></property>
  269    -1                 <property name="window_style"></property>
  270    -1                 <event name="OnChar"></event>
  271    -1                 <event name="OnEnterWindow"></event>
  272    -1                 <event name="OnEraseBackground"></event>
  273    -1                 <event name="OnKeyDown"></event>
  274    -1                 <event name="OnKeyUp"></event>
  275    -1                 <event name="OnKillFocus"></event>
  276    -1                 <event name="OnLeaveWindow"></event>
  277    -1                 <event name="OnLeftDClick"></event>
  278    -1                 <event name="OnLeftDown"></event>
  279    -1                 <event name="OnLeftUp"></event>
  280    -1                 <event name="OnMiddleDClick"></event>
  281    -1                 <event name="OnMiddleDown"></event>
  282    -1                 <event name="OnMiddleUp"></event>
  283    -1                 <event name="OnMotion"></event>
  284    -1                 <event name="OnMouseEvents"></event>
  285    -1                 <event name="OnMouseWheel"></event>
  286    -1                 <event name="OnPaint"></event>
  287    -1                 <event name="OnRightDClick"></event>
  288    -1                 <event name="OnRightDown"></event>
  289    -1                 <event name="OnRightUp"></event>
  290    -1                 <event name="OnSetFocus"></event>
  291    -1                 <event name="OnSize"></event>
  292    -1                 <event name="OnUpdateUI"></event>
  293    -1             </object>
  294   359         </object>
  295   360         <object class="Dialog" expanded="0">
  296   361             <property name="bg"></property>

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

@@ -8,17 +8,17 @@
    8     8 #ifndef __xiRetimer_wxfb__
    9     9 #define __xiRetimer_wxfb__
   10    10 
   -1    11 #include <wx/sizer.h>
   -1    12 #include <wx/gdicmn.h>
   -1    13 #include <wx/statusbr.h>
   -1    14 #include <wx/font.h>
   -1    15 #include <wx/colour.h>
   -1    16 #include <wx/settings.h>
   11    17 #include <wx/string.h>
   12    18 #include <wx/bitmap.h>
   13    19 #include <wx/image.h>
   14    20 #include <wx/icon.h>
   15    21 #include <wx/menu.h>
   16    -1 #include <wx/gdicmn.h>
   17    -1 #include <wx/font.h>
   18    -1 #include <wx/colour.h>
   19    -1 #include <wx/settings.h>
   20    -1 #include <wx/sizer.h>
   21    -1 #include <wx/statusbr.h>
   22    22 #include <wx/frame.h>
   23    23 #include <wx/stattext.h>
   24    24 #include <wx/button.h>
@@ -37,10 +37,11 @@ class MainFrame : public wxFrame
   37    37 	private:
   38    38 	
   39    39 	protected:
   40    -1 		wxMenuBar* m_menubar1;
   41    -1 		wxMenu* m_File;
   42    -1 		wxMenu* m_Help;
   43    40 		wxStatusBar* m_statusBar1;
   -1    41 		wxMenuBar* m_menubar3;
   -1    42 		wxMenu* m_file;
   -1    43 		wxMenu* m_edit;
   -1    44 		wxMenu* m_help;
   44    45 		
   45    46 		// Virtual event handlers, overide them in your derived class
   46    47 		virtual void OnLeftDClick( wxMouseEvent& event ) { event.Skip(); }
@@ -52,8 +53,12 @@ class MainFrame : public wxFrame
   52    53 		virtual void OnExportClick( wxCommandEvent& event ) { event.Skip(); }
   53    54 		virtual void OnPrefsClick( wxCommandEvent& event ) { event.Skip(); }
   54    55 		virtual void OnExitClick( wxCommandEvent& event ) { event.Skip(); }
   -1    56 		virtual void OnPlayClick( wxCommandEvent& event ) { event.Skip(); }
   -1    57 		virtual void OnStartClick( wxCommandEvent& event ) { event.Skip(); }
   -1    58 		virtual void OnEndClick( wxCommandEvent& event ) { event.Skip(); }
   -1    59 		virtual void OnClearClick( wxCommandEvent& event ) { event.Skip(); }
   -1    60 		virtual void OnProcessClick( wxCommandEvent& event ) { event.Skip(); }
   55    61 		virtual void OnHelpClick( wxCommandEvent& event ) { event.Skip(); }
   56    -1 		virtual void OnAboutClick( wxCommandEvent& event ) { event.Skip(); }
   57    62 		
   58    63 	
   59    64 	public:

diff --git a/src/curve.cpp b/src/curve.cpp

@@ -73,3 +73,5 @@ void Curve::print() {
   73    73   }
   74    74 }
   75    75 
   -1    76 void Curve::clearMarker() {marker->reset();}
   -1    77 

diff --git a/src/curve.h b/src/curve.h

@@ -26,6 +26,7 @@ public:
   26    26   float getMarker(int i);
   27    27   void selectMarker(int i);
   28    28   void setMarker(float nn);
   -1    29   void clearMarker();
   29    30 private:
   30    31   float seeker; // 0-1
   31    32   Marker* marker;

diff --git a/src/marker.cpp b/src/marker.cpp

@@ -11,16 +11,15 @@ Marker::~Marker() {
   11    11 }
   12    12 
   13    13 void Marker::reset() {
   14    -1   for (int i=0; i<getLength(); ++i) {
   15    -1     anew.remove(i);
   16    -1     aold.remove(i);
   -1    14   while(getLength()>0) {
   -1    15     anew.remove(0);
   -1    16     aold.remove(0);
   17    17   }
   18    18   add(0,0);
   19    19   add(1,1);
   20    20 }
   21    21 
   22    22 void Marker::add(float pold, float pnew) {
   23    -1 print();
   24    23   if (pold<0 || pold>1) {
   25    24     std::cerr << "Error in Marker::add" << std::endl;
   26    25     std::cerr << "  pold not in range" << std::endl;

diff --git a/src/sample.cpp b/src/sample.cpp

@@ -27,7 +27,7 @@ float Sample::getOld(float o) {
   27    27   // TODO interpolation?
   28    28   int i=int((olength-1)*o);
   29    29   if (i<0 || i>=olength) return NULL;
   30    -1   return data[i];
   -1    30   return odata[i];
   31    31 }
   32    32 
   33    33 int Sample::loadFile(const char* fileName) {