xiRetimer

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

commit
f060e6e48a9aea8a9b923dad44be5901f927a6ff
parent
6437567d274cafb8c276ad0e4b604b4daab1ef4f
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2010-10-31 17:35
put it together

Diffstat

M gui/curve.cpp 56 ++++++++++++++++++++++----------------------------------
M gui/curve.h 44 +++++++++++++++++++++++++++-----------------
D gui/errors 0
M gui/make 2 +-
M gui/xiRTMainFrame.cpp 81 +++++++++++++++++++++++++++++++++++++++++++------------------
M gui/xiRTMainFrame.h 16 +++++++++++-----
M gui/xiRetimer_wxfb.cpp 62 ++++---------------------------------------------------------
M gui/xiRetimer_wxfb.fbp 407 +------------------------------------------------------------
M gui/xiRetimer_wxfb.h 47 +----------------------------------------------
M src/sample.h 2 ++

10 files changed, 126 insertions, 591 deletions


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

@@ -1,51 +1,39 @@
    1     1 #include "curve.h"
    2     2 
    3    -1 Curve::Curve() {
    4    -1   length=0;
    5    -1   start=0;
    6    -1   zoom=1;
    7    -1   datalength=100;
   -1     3 Curve::Curve(Sample* s) {
   -1     4   sample=s;
   -1     5   data=sample->data;
   -1     6   screenwidth=0;
   -1     7   seeker=0;
    8     8 }
    9     9 
   10    10 Curve::~Curve() {}
   11    11 
   12    12 float Curve::get(int i) {
   13    -1   float data[100]; // data isnet implemented yet
   14    -1   int n=int(start*datalength+i*zoom*ZOOMFACTOR);
   15    -1   if (n>=0 && n<datalength)
   16    -1     return data[0];
   -1    13   int n=int((float)i/screenwidth*getDataLength());
   -1    14   if (n>=0 && n<getDataLength())
   -1    15     return data[n];
   17    16   else
   18    17     return 0;
   19    18 }
   20    19 
   21    -1 bool Curve::selected(int i) {
   22    -1   int n=int(start*datalength+i*zoom*ZOOMFACTOR);
   23    -1   return (n>=starts*datalength && n<ends*datalength);
   -1    20 float Curve::getSeeker() {return seeker;}
   -1    21 void Curve::setSeeker(float s) {
   -1    22   if (s>=0 && s<=1) seeker=s;
   24    23 }
   25    24 
   26    -1 void Curve::setZoom(float z) {
   27    -1   zoom=z;
   28    -1 }
   29    -1 
   30    -1 void Curve::zoomUp() {
   31    -1   setZoom(zoom*ZOOMSTEP);
   32    -1 }
   33    -1 
   34    -1 void Curve::zoomDown() {
   35    -1   setZoom(zoom/ZOOMSTEP);
   36    -1 }
   37    -1 
   38    -1 void Curve::zoomSel() {
   39    -1   start=starts;
   40    -1   setZoom((ends-starts)*datalength/length/ZOOMFACTOR);
   41    -1 }
   -1    25 void Curve::setScreenWidth(int w) {screenwidth=w;}
   42    26 
   43    -1 void Curve::zoomAll() {
   44    -1   start=0;
   45    -1   setZoom(datalength/ZOOMFACTOR/length);
   -1    27 void Curve::print() {
   -1    28   for (int i=0; i<screenwidth; ++i) {
   -1    29     for (float j=-1; j<get(i); j+=0.1)
   -1    30       std::cout << "+";
   -1    31     if (getSeeker()==i)
   -1    32       std::cout << " *";
   -1    33     std::cout << std::endl;
   -1    34   }
   46    35 }
   47    36 
   48    -1 
   49    -1 void Curve::setlength(int l) {
   50    -1   length=l;
   -1    37 inline int Curve::getDataLength() {
   -1    38   return sample->getLength();
   51    39 }

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

@@ -2,29 +2,39 @@
    2     2 #define __XICURVE_H
    3     3 
    4     4 #include <iostream>
   -1     5 #include "../src/sample.h"
    5     6 
    6     7 class Curve {
    7     8 public:
    8    -1   Curve(); // irgendwie muss ich das sample da rein bekommen
   -1     9   Curve(Sample* s); 
    9    10   ~Curve();
   10    11   float get(int i);
   11    -1   bool selected(int i);
   12    -1   void setZoom(float z);
   13    -1   void zoomUp();
   14    -1   void zoomDown();
   15    -1   void zoomSel();
   16    -1   void zoomAll();
   17    -1   void setlength(int l);
   -1    12   float getSeeker();
   -1    13   void setSeeker(float s);
   -1    14   void setScreenWidth(int w);
   -1    15   void print();
   18    16 private:
   19    -1   float zoom;
   20    -1   int length;  // pixel
   21    -1   float start; // 0-1
   22    -1   float starts; //selection
   23    -1   float ends; //selection
   24    -1   int datalength;
   25    -1 protected:
   26    -1   static const float ZOOMFACTOR=1;
   27    -1   static const float ZOOMSTEP=1.2; // factor used by zoomUp and zoomDown
   -1    17   int screenwidth;  // pixel
   -1    18   float seeker; // 0-1
   -1    19   float* data;
   -1    20   int getDataLength();
   -1    21   Sample* sample;
   28    22 };
   29    23 
   -1    24 /*
   -1    25 int main() {
   -1    26   Marker* m=new Marker();
   -1    27   m->add(0,0);
   -1    28   m->add(1,1);
   -1    29   Sample* s=new Sample(m);
   -1    30   m->add(0.5,0.3);
   -1    31   int error;
   -1    32   error=s->loadFile("../../test.wav");
   -1    33   
   -1    34   Curve c(s);
   -1    35   c.setScreenWidth(100);
   -1    36   c.print();
   -1    37 }
   -1    38 */
   -1    39 
   30    40 #endif

diff --git a/gui/errors b/gui/errors

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

@@ -1,2 +1,2 @@
    1    -1 g++ *.h *.cpp ../src/*.h ../src/*.cpp `wx-config --cxxflags --libs`
   -1     1 g++ *.h *.cpp ../src/*.h ../src/*.cpp `wx-config --cxxflags --libs` `pkg-config --cflags --libs rubberband sndfile`
    2     2 rm *.gch

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

@@ -4,23 +4,47 @@
    4     4 
    5     5 #include <wx/progdlg.h>
    6     6 #include <wx/dcclient.h>
   -1     7 #include <wx/dcbuffer.h>
   -1     8 #include <wx/string.h>
   -1     9 #include <wx/filedlg.h>
   -1    10 
   -1    11 xiRTMainFrame::xiRTMainFrame( wxWindow* parent ) : MainFrame( parent ) {
   -1    12   marker=new Marker();
   -1    13   marker->add(0,0);
   -1    14   marker->add(1,0.9);
   -1    15   sample=new Sample(marker);
   -1    16   curve=new Curve(sample);
   -1    17   curve->setSeeker(0.3);
   -1    18   marker->add(0.5,0.6);
   -1    19 }
    7    20 
    8    -1 xiRTMainFrame::xiRTMainFrame( wxWindow* parent ) : MainFrame( parent )
    9    -1 {
   10    -1 
   -1    21 xiRTMainFrame::~xiRTMainFrame() {
   -1    22   delete[] marker;
   -1    23   delete[] sample;
   -1    24   delete[] curve;
   11    25 }
   12    26 
   -1    27 
   13    28 void xiRTMainFrame::OnOpenClick( wxCommandEvent& event )
   14    29 {
   15    30     wxFileDialog* dialog = new wxFileDialog( (wxWindow*)NULL );
   16    31     dialog ->Show();
   -1    32 
   -1    33     if (dialog->ShowModal()==wxID_OK) {
   -1    34       wxString filename=dialog->GetPath();
   -1    35       sample->loadFile(filename.mb_str());
   -1    36     }
   17    37 }
   18    38 
   19    39 void xiRTMainFrame::OnExportClick( wxCommandEvent& event )
   20    40 {
   21    41     wxFileDialog* dialog = new wxFileDialog((wxWindow*)NULL, _T("Export As"), _T(""), _T(""), _T("*.*"), wxSAVE | wxOVERWRITE_PROMPT);
   22    42     dialog ->Show();
   23    -1     wxString path=dialog->GetPath();
   -1    43 
   -1    44     if (dialog->ShowModal()==wxID_OK) {
   -1    45       wxString filename=dialog->GetPath();
   -1    46       sample->writeFile(filename.mb_str());
   -1    47     }
   24    48 }
   25    49 
   26    50 void xiRTMainFrame::OnPrefsClick( wxCommandEvent& event )
@@ -37,10 +61,6 @@ void xiRTMainFrame::OnExitClick( wxCommandEvent& event )
   37    61 void xiRTMainFrame::OnHelpClick( wxCommandEvent& event )
   38    62 {
   39    63 	// TODO: Implement OnHelpClick
   40    -1   wxClientDC dc(this);
   41    -1   wxBrush brush(*wxRED); // red pen of width 1
   42    -1   dc.SetBackground(brush);
   43    -1   dc.Clear();
   44    64 }
   45    65 
   46    66 void xiRTMainFrame::OnAboutClick( wxCommandEvent& event )
@@ -54,28 +74,41 @@ void xiRTMainFrame::OnProcessClick( wxCommandEvent& event ) {
   54    74     dialog ->Show();
   55    75 }
   56    76 
   57    -1 void xiRTMainFrame::OnZUpClick( wxCommandEvent& event )
   58    -1 {
   59    -1 	// TODO: Implement OnZUpClick
   60    -1 }
   61    -1 
   62    -1 void xiRTMainFrame::OnZDownClick( wxCommandEvent& event )
   -1    77 void xiRTMainFrame::OnMSetClick( wxCommandEvent& event )
   63    78 {
   64    -1 	// TODO: Implement OnZDownClick
   -1    79 	// TODO: Implement OnMSetClick
   65    80 }
   66    81 
   67    -1 void xiRTMainFrame::OnZFullClick( wxCommandEvent& event )
   -1    82 void xiRTMainFrame::OnMRmClick( wxCommandEvent& event )
   68    83 {
   69    -1 	// TODO: Implement OnZFullClick
   -1    84 	// TODO: Implement OnMSetClick
   70    85 }
   71    86 
   72    -1 void xiRTMainFrame::OnZSelClick( wxCommandEvent& event )
   73    -1 {
   74    -1 	// TODO: Implement OnZSelClick
   -1    87 void xiRTMainFrame::paint() {
   -1    88   wxClientDC dc(this);
   -1    89   wxBrush brush(*wxBLACK); // red pen of width 1
   -1    90   dc.SetBackground(brush);
   -1    91   wxPen penCurve(*wxBLUE,1);
   -1    92   wxPen penSeeker(*wxWHITE,1);
   -1    93   wxPen penMarker(wxColor(255,255,0),1);
   -1    94   dc.SetPen(penCurve);
   -1    95   dc.Clear();
   -1    96   int w=0;
   -1    97   int h=0;
   -1    98   dc.GetSize(&w,&h);
   -1    99   curve->setScreenWidth(w);
   -1   100   for (int i=0; i<w-1; ++i) {
   -1   101     dc.DrawLine(i,int(curve->get(i)*h+h)/2,i+1,int(curve->get(i+1)*h+h)/2);
   -1   102   }
   -1   103   dc.SetPen(penMarker);
   -1   104   for (int i=0; i<marker->length(); ++i) {
   -1   105     int n=int(marker->getNew(i)*w/marker->getNew(marker->length()-1));
   -1   106     dc.DrawLine(n,0,n,h);
   -1   107   }
   -1   108   dc.SetPen(penSeeker);
   -1   109   int seek=int(curve->getSeeker()*w);
   -1   110   dc.DrawLine(seek,0,seek,h);
   75   111 }
   76   112 
   77    -1 void xiRTMainFrame::OnMSetClick( wxCommandEvent& event )
   78    -1 {
   79    -1 	// TODO: Implement OnMSetClick
   80    -1 }
   -1   113 void xiRTMainFrame::OnUpdateUI( wxUpdateUIEvent& event ) {paint();}
   81   114 

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

@@ -7,6 +7,10 @@ Subclass of MainFrame, which is generated by wxFormBuilder.
    7     7 */
    8     8 
    9     9 #include "xiRetimer_wxfb.h"
   -1    10 #include "../src/sample.h"
   -1    11 #include "../src/marker.h"
   -1    12 #include "curve.h"
   -1    13 
   10    14 
   11    15 /** Implementing MainFrame */
   12    16 class xiRTMainFrame : public MainFrame
@@ -19,17 +23,19 @@ protected:
   19    23 	void OnExitClick( wxCommandEvent& event );
   20    24 	void OnHelpClick( wxCommandEvent& event );
   21    25 	void OnAboutClick( wxCommandEvent& event );
   22    -1   void OnProcessClick( wxCommandEvent& event );
   23    -1 	void OnZUpClick( wxCommandEvent& event );
   24    -1 	void OnZDownClick( wxCommandEvent& event );
   25    -1 	void OnZFullClick( wxCommandEvent& event );
   26    -1 	void OnZSelClick( wxCommandEvent& event );
   -1    26         void OnProcessClick( wxCommandEvent& event );
   27    27 	void OnMSetClick( wxCommandEvent& event );
   28    28 	void OnMRmClick( wxCommandEvent& event );
   -1    29         void OnUpdateUI( wxUpdateUIEvent& event );
   -1    30         void paint();
   -1    31   Sample* sample;
   -1    32   Marker* marker;
   -1    33   Curve* curve;
   29    34 	
   30    35 public:
   31    36 	/** Constructor */
   32    37 	xiRTMainFrame( wxWindow* parent );
   -1    38 	~xiRTMainFrame(  );
   33    39 };
   34    40 
   35    41 #endif // __xiRTMainFrame__

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

@@ -18,11 +18,11 @@ MainFrame::MainFrame( wxWindow* parent, wxWindowID id, const wxString& title, co
   18    18 	
   19    19 	m_File = new wxMenu();
   20    20 	wxMenuItem* m_open;
   21    -1 	m_open = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("&open") ) , wxEmptyString, wxITEM_NORMAL );
   -1    21 	m_open = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("open") ) , wxEmptyString, wxITEM_NORMAL );
   22    22 	m_File->Append( m_open );
   23    23 	
   24    24 	wxMenuItem* m_export;
   25    -1 	m_export = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("e&xport") ) , wxEmptyString, wxITEM_NORMAL );
   -1    25 	m_export = new wxMenuItem( m_File, wxID_ANY, wxString( wxT("export") ) , wxEmptyString, wxITEM_NORMAL );
   26    26 	m_File->Append( m_export );
   27    27 	
   28    28 	wxMenuItem* m_separator3;
@@ -65,6 +65,7 @@ MainFrame::MainFrame( wxWindow* parent, wxWindowID id, const wxString& title, co
   65    65 	m_statusBar1 = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
   66    66 	
   67    67 	// Connect Events
   -1    68 	this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnUpdateUI ) );
   68    69 	this->Connect( m_open->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnOpenClick ) );
   69    70 	this->Connect( m_export->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnExportClick ) );
   70    71 	this->Connect( m_prefs->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnPrefsClick ) );
@@ -76,6 +77,7 @@ MainFrame::MainFrame( wxWindow* parent, wxWindowID id, const wxString& title, co
   76    77 MainFrame::~MainFrame()
   77    78 {
   78    79 	// Disconnect Events
   -1    80 	this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame::OnUpdateUI ) );
   79    81 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnOpenClick ) );
   80    82 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnExportClick ) );
   81    83 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnPrefsClick ) );
@@ -183,59 +185,3 @@ PrefsDialog::~PrefsDialog()
  183   185 	m_button3->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnOKClick ), NULL, this );
  184   186 	m_button2->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PrefsDialog::OnCancelClick ), NULL, this );
  185   187 }
  186    -1 
  187    -1 WaitDialog::WaitDialog( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
  188    -1 {
  189    -1 	wxBoxSizer* bSizer7;
  190    -1 	bSizer7 = new wxBoxSizer( wxVERTICAL );
  191    -1 	
  192    -1 	m_gauge2 = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL );
  193    -1 	bSizer7->Add( m_gauge2, 0, wxALL|wxEXPAND, 5 );
  194    -1 	
  195    -1 	m_staticText5 = new wxStaticText( this, wxID_ANY, wxT("Please wait ..."), wxDefaultPosition, wxDefaultSize, 0 );
  196    -1 	m_staticText5->Wrap( -1 );
  197    -1 	bSizer7->Add( m_staticText5, 0, wxALL, 5 );
  198    -1 	
  199    -1 	this->SetSizer( bSizer7 );
  200    -1 	this->Layout();
  201    -1 }
  202    -1 
  203    -1 WaitDialog::~WaitDialog()
  204    -1 {
  205    -1 }
  206    -1 
  207    -1 FileSelectDialog::FileSelectDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
  208    -1 {
  209    -1 	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
  210    -1 	
  211    -1 	wxBoxSizer* bSizer9;
  212    -1 	bSizer9 = new wxBoxSizer( wxVERTICAL );
  213    -1 	
  214    -1 	m_filePicker2 = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.*"), wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE );
  215    -1 	bSizer9->Add( m_filePicker2, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
  216    -1 	
  217    -1 	wxBoxSizer* bSizer10;
  218    -1 	bSizer10 = new wxBoxSizer( wxHORIZONTAL );
  219    -1 	
  220    -1 	m_toggleBtn2 = new wxToggleButton( this, wxID_ANY, wxT("OK"), wxDefaultPosition, wxDefaultSize, 0 );
  221    -1 	bSizer10->Add( m_toggleBtn2, 1, wxALL|wxEXPAND, 5 );
  222    -1 	
  223    -1 	m_button2 = new wxButton( this, wxID_ANY, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
  224    -1 	bSizer10->Add( m_button2, 1, wxEXPAND|wxALL, 5 );
  225    -1 	
  226    -1 	bSizer9->Add( bSizer10, 1, wxEXPAND, 5 );
  227    -1 	
  228    -1 	this->SetSizer( bSizer9 );
  229    -1 	this->Layout();
  230    -1 	
  231    -1 	// Connect Events
  232    -1 	m_toggleBtn2->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( FileSelectDialog::OnOKClick ), NULL, this );
  233    -1 	m_button2->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FileSelectDialog::OnCancelClick ), NULL, this );
  234    -1 }
  235    -1 
  236    -1 FileSelectDialog::~FileSelectDialog()
  237    -1 {
  238    -1 	// Disconnect Events
  239    -1 	m_toggleBtn2->Disconnect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( FileSelectDialog::OnOKClick ), NULL, this );
  240    -1 	m_button2->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FileSelectDialog::OnCancelClick ), NULL, this );
  241    -1 }

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

@@ -74,7 +74,7 @@
   74    74             <event name="OnRightUp"></event>
   75    75             <event name="OnSetFocus"></event>
   76    76             <event name="OnSize"></event>
   77    -1             <event name="OnUpdateUI"></event>
   -1    77             <event name="OnUpdateUI">OnUpdateUI</event>
   78    78             <object class="wxMenuBar" expanded="1">
   79    79                 <property name="bg"></property>
   80    80                 <property name="context_help"></property>
@@ -967,410 +967,5 @@
  967   967                 </object>
  968   968             </object>
  969   969         </object>
  970    -1         <object class="Panel" expanded="0">
  971    -1             <property name="bg"></property>
  972    -1             <property name="context_help"></property>
  973    -1             <property name="enabled">1</property>
  974    -1             <property name="fg"></property>
  975    -1             <property name="font"></property>
  976    -1             <property name="hidden">0</property>
  977    -1             <property name="id">wxID_ANY</property>
  978    -1             <property name="maximum_size"></property>
  979    -1             <property name="minimum_size"></property>
  980    -1             <property name="name">WaitDialog</property>
  981    -1             <property name="pos"></property>
  982    -1             <property name="size">269,80</property>
  983    -1             <property name="subclass"></property>
  984    -1             <property name="tooltip"></property>
  985    -1             <property name="validator_data_type"></property>
  986    -1             <property name="validator_style">wxFILTER_NONE</property>
  987    -1             <property name="validator_type">wxDefaultValidator</property>
  988    -1             <property name="validator_variable"></property>
  989    -1             <property name="window_extra_style"></property>
  990    -1             <property name="window_name"></property>
  991    -1             <property name="window_style">wxTAB_TRAVERSAL</property>
  992    -1             <event name="OnChar"></event>
  993    -1             <event name="OnEnterWindow"></event>
  994    -1             <event name="OnEraseBackground"></event>
  995    -1             <event name="OnInitDialog"></event>
  996    -1             <event name="OnKeyDown"></event>
  997    -1             <event name="OnKeyUp"></event>
  998    -1             <event name="OnKillFocus"></event>
  999    -1             <event name="OnLeaveWindow"></event>
 1000    -1             <event name="OnLeftDClick"></event>
 1001    -1             <event name="OnLeftDown"></event>
 1002    -1             <event name="OnLeftUp"></event>
 1003    -1             <event name="OnMiddleDClick"></event>
 1004    -1             <event name="OnMiddleDown"></event>
 1005    -1             <event name="OnMiddleUp"></event>
 1006    -1             <event name="OnMotion"></event>
 1007    -1             <event name="OnMouseEvents"></event>
 1008    -1             <event name="OnMouseWheel"></event>
 1009    -1             <event name="OnPaint"></event>
 1010    -1             <event name="OnRightDClick"></event>
 1011    -1             <event name="OnRightDown"></event>
 1012    -1             <event name="OnRightUp"></event>
 1013    -1             <event name="OnSetFocus"></event>
 1014    -1             <event name="OnSize"></event>
 1015    -1             <event name="OnUpdateUI"></event>
 1016    -1             <object class="wxBoxSizer" expanded="1">
 1017    -1                 <property name="minimum_size"></property>
 1018    -1                 <property name="name">bSizer7</property>
 1019    -1                 <property name="orient">wxVERTICAL</property>
 1020    -1                 <property name="permission">none</property>
 1021    -1                 <object class="sizeritem" expanded="1">
 1022    -1                     <property name="border">5</property>
 1023    -1                     <property name="flag">wxALL|wxEXPAND</property>
 1024    -1                     <property name="proportion">0</property>
 1025    -1                     <object class="wxGauge" expanded="1">
 1026    -1                         <property name="bg"></property>
 1027    -1                         <property name="context_help"></property>
 1028    -1                         <property name="enabled">1</property>
 1029    -1                         <property name="fg"></property>
 1030    -1                         <property name="font"></property>
 1031    -1                         <property name="hidden">0</property>
 1032    -1                         <property name="id">wxID_ANY</property>
 1033    -1                         <property name="maximum_size"></property>
 1034    -1                         <property name="minimum_size"></property>
 1035    -1                         <property name="name">m_gauge2</property>
 1036    -1                         <property name="permission">protected</property>
 1037    -1                         <property name="pos"></property>
 1038    -1                         <property name="range">100</property>
 1039    -1                         <property name="size"></property>
 1040    -1                         <property name="style">wxGA_HORIZONTAL</property>
 1041    -1                         <property name="subclass"></property>
 1042    -1                         <property name="tooltip"></property>
 1043    -1                         <property name="validator_data_type"></property>
 1044    -1                         <property name="validator_style">wxFILTER_NONE</property>
 1045    -1                         <property name="validator_type">wxDefaultValidator</property>
 1046    -1                         <property name="validator_variable"></property>
 1047    -1                         <property name="value"></property>
 1048    -1                         <property name="window_extra_style"></property>
 1049    -1                         <property name="window_name"></property>
 1050    -1                         <property name="window_style"></property>
 1051    -1                         <event name="OnChar"></event>
 1052    -1                         <event name="OnEnterWindow"></event>
 1053    -1                         <event name="OnEraseBackground"></event>
 1054    -1                         <event name="OnKeyDown"></event>
 1055    -1                         <event name="OnKeyUp"></event>
 1056    -1                         <event name="OnKillFocus"></event>
 1057    -1                         <event name="OnLeaveWindow"></event>
 1058    -1                         <event name="OnLeftDClick"></event>
 1059    -1                         <event name="OnLeftDown"></event>
 1060    -1                         <event name="OnLeftUp"></event>
 1061    -1                         <event name="OnMiddleDClick"></event>
 1062    -1                         <event name="OnMiddleDown"></event>
 1063    -1                         <event name="OnMiddleUp"></event>
 1064    -1                         <event name="OnMotion"></event>
 1065    -1                         <event name="OnMouseEvents"></event>
 1066    -1                         <event name="OnMouseWheel"></event>
 1067    -1                         <event name="OnPaint"></event>
 1068    -1                         <event name="OnRightDClick"></event>
 1069    -1                         <event name="OnRightDown"></event>
 1070    -1                         <event name="OnRightUp"></event>
 1071    -1                         <event name="OnSetFocus"></event>
 1072    -1                         <event name="OnSize"></event>
 1073    -1                         <event name="OnUpdateUI"></event>
 1074    -1                     </object>
 1075    -1                 </object>
 1076    -1                 <object class="sizeritem" expanded="1">
 1077    -1                     <property name="border">5</property>
 1078    -1                     <property name="flag">wxALL</property>
 1079    -1                     <property name="proportion">0</property>
 1080    -1                     <object class="wxStaticText" expanded="1">
 1081    -1                         <property name="bg"></property>
 1082    -1                         <property name="context_help"></property>
 1083    -1                         <property name="enabled">1</property>
 1084    -1                         <property name="fg"></property>
 1085    -1                         <property name="font"></property>
 1086    -1                         <property name="hidden">0</property>
 1087    -1                         <property name="id">wxID_ANY</property>
 1088    -1                         <property name="label">Please wait ...</property>
 1089    -1                         <property name="maximum_size"></property>
 1090    -1                         <property name="minimum_size"></property>
 1091    -1                         <property name="name">m_staticText5</property>
 1092    -1                         <property name="permission">protected</property>
 1093    -1                         <property name="pos"></property>
 1094    -1                         <property name="size"></property>
 1095    -1                         <property name="style"></property>
 1096    -1                         <property name="subclass"></property>
 1097    -1                         <property name="tooltip"></property>
 1098    -1                         <property name="validator_data_type"></property>
 1099    -1                         <property name="validator_style">wxFILTER_NONE</property>
 1100    -1                         <property name="validator_type">wxDefaultValidator</property>
 1101    -1                         <property name="validator_variable"></property>
 1102    -1                         <property name="window_extra_style"></property>
 1103    -1                         <property name="window_name"></property>
 1104    -1                         <property name="window_style"></property>
 1105    -1                         <property name="wrap">-1</property>
 1106    -1                         <event name="OnChar"></event>
 1107    -1                         <event name="OnEnterWindow"></event>
 1108    -1                         <event name="OnEraseBackground"></event>
 1109    -1                         <event name="OnKeyDown"></event>
 1110    -1                         <event name="OnKeyUp"></event>
 1111    -1                         <event name="OnKillFocus"></event>
 1112    -1                         <event name="OnLeaveWindow"></event>
 1113    -1                         <event name="OnLeftDClick"></event>
 1114    -1                         <event name="OnLeftDown"></event>
 1115    -1                         <event name="OnLeftUp"></event>
 1116    -1                         <event name="OnMiddleDClick"></event>
 1117    -1                         <event name="OnMiddleDown"></event>
 1118    -1                         <event name="OnMiddleUp"></event>
 1119    -1                         <event name="OnMotion"></event>
 1120    -1                         <event name="OnMouseEvents"></event>
 1121    -1                         <event name="OnMouseWheel"></event>
 1122    -1                         <event name="OnPaint"></event>
 1123    -1                         <event name="OnRightDClick"></event>
 1124    -1                         <event name="OnRightDown"></event>
 1125    -1                         <event name="OnRightUp"></event>
 1126    -1                         <event name="OnSetFocus"></event>
 1127    -1                         <event name="OnSize"></event>
 1128    -1                         <event name="OnUpdateUI"></event>
 1129    -1                     </object>
 1130    -1                 </object>
 1131    -1             </object>
 1132    -1         </object>
 1133    -1         <object class="Dialog" expanded="1">
 1134    -1             <property name="bg"></property>
 1135    -1             <property name="center"></property>
 1136    -1             <property name="context_help"></property>
 1137    -1             <property name="enabled">1</property>
 1138    -1             <property name="extra_style"></property>
 1139    -1             <property name="fg"></property>
 1140    -1             <property name="font"></property>
 1141    -1             <property name="hidden">0</property>
 1142    -1             <property name="id">wxID_ANY</property>
 1143    -1             <property name="maximum_size"></property>
 1144    -1             <property name="minimum_size"></property>
 1145    -1             <property name="name">FileSelectDialog</property>
 1146    -1             <property name="pos"></property>
 1147    -1             <property name="size">223,111</property>
 1148    -1             <property name="style">wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxSTAY_ON_TOP</property>
 1149    -1             <property name="subclass"></property>
 1150    -1             <property name="title"></property>
 1151    -1             <property name="tooltip"></property>
 1152    -1             <property name="validator_data_type"></property>
 1153    -1             <property name="validator_style">wxFILTER_NONE</property>
 1154    -1             <property name="validator_type">wxDefaultValidator</property>
 1155    -1             <property name="validator_variable"></property>
 1156    -1             <property name="window_extra_style"></property>
 1157    -1             <property name="window_name"></property>
 1158    -1             <property name="window_style"></property>
 1159    -1             <event name="OnActivate"></event>
 1160    -1             <event name="OnActivateApp"></event>
 1161    -1             <event name="OnChar"></event>
 1162    -1             <event name="OnClose"></event>
 1163    -1             <event name="OnEnterWindow"></event>
 1164    -1             <event name="OnEraseBackground"></event>
 1165    -1             <event name="OnHibernate"></event>
 1166    -1             <event name="OnIconize"></event>
 1167    -1             <event name="OnIdle"></event>
 1168    -1             <event name="OnInitDialog"></event>
 1169    -1             <event name="OnKeyDown"></event>
 1170    -1             <event name="OnKeyUp"></event>
 1171    -1             <event name="OnKillFocus"></event>
 1172    -1             <event name="OnLeaveWindow"></event>
 1173    -1             <event name="OnLeftDClick"></event>
 1174    -1             <event name="OnLeftDown"></event>
 1175    -1             <event name="OnLeftUp"></event>
 1176    -1             <event name="OnMiddleDClick"></event>
 1177    -1             <event name="OnMiddleDown"></event>
 1178    -1             <event name="OnMiddleUp"></event>
 1179    -1             <event name="OnMotion"></event>
 1180    -1             <event name="OnMouseEvents"></event>
 1181    -1             <event name="OnMouseWheel"></event>
 1182    -1             <event name="OnPaint"></event>
 1183    -1             <event name="OnRightDClick"></event>
 1184    -1             <event name="OnRightDown"></event>
 1185    -1             <event name="OnRightUp"></event>
 1186    -1             <event name="OnSetFocus"></event>
 1187    -1             <event name="OnSize"></event>
 1188    -1             <event name="OnUpdateUI"></event>
 1189    -1             <object class="wxBoxSizer" expanded="1">
 1190    -1                 <property name="minimum_size"></property>
 1191    -1                 <property name="name">bSizer9</property>
 1192    -1                 <property name="orient">wxVERTICAL</property>
 1193    -1                 <property name="permission">none</property>
 1194    -1                 <object class="sizeritem" expanded="1">
 1195    -1                     <property name="border">5</property>
 1196    -1                     <property name="flag">wxEXPAND|wxALL</property>
 1197    -1                     <property name="proportion">1</property>
 1198    -1                     <object class="wxFilePickerCtrl" expanded="1">
 1199    -1                         <property name="bg"></property>
 1200    -1                         <property name="context_help"></property>
 1201    -1                         <property name="enabled">1</property>
 1202    -1                         <property name="fg"></property>
 1203    -1                         <property name="font"></property>
 1204    -1                         <property name="hidden">0</property>
 1205    -1                         <property name="id">wxID_ANY</property>
 1206    -1                         <property name="maximum_size"></property>
 1207    -1                         <property name="message">Select a file</property>
 1208    -1                         <property name="minimum_size"></property>
 1209    -1                         <property name="name">m_filePicker2</property>
 1210    -1                         <property name="permission">protected</property>
 1211    -1                         <property name="pos"></property>
 1212    -1                         <property name="size"></property>
 1213    -1                         <property name="style">wxFLP_DEFAULT_STYLE</property>
 1214    -1                         <property name="subclass"></property>
 1215    -1                         <property name="tooltip"></property>
 1216    -1                         <property name="validator_data_type"></property>
 1217    -1                         <property name="validator_style">wxFILTER_NONE</property>
 1218    -1                         <property name="validator_type">wxDefaultValidator</property>
 1219    -1                         <property name="validator_variable"></property>
 1220    -1                         <property name="value"></property>
 1221    -1                         <property name="wildcard">*.*</property>
 1222    -1                         <property name="window_extra_style"></property>
 1223    -1                         <property name="window_name"></property>
 1224    -1                         <property name="window_style"></property>
 1225    -1                         <event name="OnChar"></event>
 1226    -1                         <event name="OnEnterWindow"></event>
 1227    -1                         <event name="OnEraseBackground"></event>
 1228    -1                         <event name="OnFileChanged"></event>
 1229    -1                         <event name="OnKeyDown"></event>
 1230    -1                         <event name="OnKeyUp"></event>
 1231    -1                         <event name="OnKillFocus"></event>
 1232    -1                         <event name="OnLeaveWindow"></event>
 1233    -1                         <event name="OnLeftDClick"></event>
 1234    -1                         <event name="OnLeftDown"></event>
 1235    -1                         <event name="OnLeftUp"></event>
 1236    -1                         <event name="OnMiddleDClick"></event>
 1237    -1                         <event name="OnMiddleDown"></event>
 1238    -1                         <event name="OnMiddleUp"></event>
 1239    -1                         <event name="OnMotion"></event>
 1240    -1                         <event name="OnMouseEvents"></event>
 1241    -1                         <event name="OnMouseWheel"></event>
 1242    -1                         <event name="OnPaint"></event>
 1243    -1                         <event name="OnRightDClick"></event>
 1244    -1                         <event name="OnRightDown"></event>
 1245    -1                         <event name="OnRightUp"></event>
 1246    -1                         <event name="OnSetFocus"></event>
 1247    -1                         <event name="OnSize"></event>
 1248    -1                         <event name="OnUpdateUI"></event>
 1249    -1                     </object>
 1250    -1                 </object>
 1251    -1                 <object class="sizeritem" expanded="1">
 1252    -1                     <property name="border">5</property>
 1253    -1                     <property name="flag">wxEXPAND</property>
 1254    -1                     <property name="proportion">1</property>
 1255    -1                     <object class="wxBoxSizer" expanded="1">
 1256    -1                         <property name="minimum_size"></property>
 1257    -1                         <property name="name">bSizer10</property>
 1258    -1                         <property name="orient">wxHORIZONTAL</property>
 1259    -1                         <property name="permission">none</property>
 1260    -1                         <object class="sizeritem" expanded="1">
 1261    -1                             <property name="border">5</property>
 1262    -1                             <property name="flag">wxALL|wxEXPAND</property>
 1263    -1                             <property name="proportion">1</property>
 1264    -1                             <object class="wxToggleButton" expanded="1">
 1265    -1                                 <property name="bg"></property>
 1266    -1                                 <property name="context_help"></property>
 1267    -1                                 <property name="enabled">1</property>
 1268    -1                                 <property name="fg"></property>
 1269    -1                                 <property name="font"></property>
 1270    -1                                 <property name="hidden">0</property>
 1271    -1                                 <property name="id">wxID_ANY</property>
 1272    -1                                 <property name="label">OK</property>
 1273    -1                                 <property name="maximum_size"></property>
 1274    -1                                 <property name="minimum_size"></property>
 1275    -1                                 <property name="name">m_toggleBtn2</property>
 1276    -1                                 <property name="permission">protected</property>
 1277    -1                                 <property name="pos"></property>
 1278    -1                                 <property name="size"></property>
 1279    -1                                 <property name="subclass"></property>
 1280    -1                                 <property name="tooltip"></property>
 1281    -1                                 <property name="validator_data_type"></property>
 1282    -1                                 <property name="validator_style">wxFILTER_NONE</property>
 1283    -1                                 <property name="validator_type">wxDefaultValidator</property>
 1284    -1                                 <property name="validator_variable"></property>
 1285    -1                                 <property name="value">0</property>
 1286    -1                                 <property name="window_extra_style"></property>
 1287    -1                                 <property name="window_name"></property>
 1288    -1                                 <property name="window_style"></property>
 1289    -1                                 <event name="OnChar"></event>
 1290    -1                                 <event name="OnEnterWindow"></event>
 1291    -1                                 <event name="OnEraseBackground"></event>
 1292    -1                                 <event name="OnKeyDown"></event>
 1293    -1                                 <event name="OnKeyUp"></event>
 1294    -1                                 <event name="OnKillFocus"></event>
 1295    -1                                 <event name="OnLeaveWindow"></event>
 1296    -1                                 <event name="OnLeftDClick"></event>
 1297    -1                                 <event name="OnLeftDown"></event>
 1298    -1                                 <event name="OnLeftUp"></event>
 1299    -1                                 <event name="OnMiddleDClick"></event>
 1300    -1                                 <event name="OnMiddleDown"></event>
 1301    -1                                 <event name="OnMiddleUp"></event>
 1302    -1                                 <event name="OnMotion"></event>
 1303    -1                                 <event name="OnMouseEvents"></event>
 1304    -1                                 <event name="OnMouseWheel"></event>
 1305    -1                                 <event name="OnPaint"></event>
 1306    -1                                 <event name="OnRightDClick"></event>
 1307    -1                                 <event name="OnRightDown"></event>
 1308    -1                                 <event name="OnRightUp"></event>
 1309    -1                                 <event name="OnSetFocus"></event>
 1310    -1                                 <event name="OnSize"></event>
 1311    -1                                 <event name="OnToggleButton">OnOKClick</event>
 1312    -1                                 <event name="OnUpdateUI"></event>
 1313    -1                             </object>
 1314    -1                         </object>
 1315    -1                         <object class="sizeritem" expanded="1">
 1316    -1                             <property name="border">5</property>
 1317    -1                             <property name="flag">wxEXPAND|wxALL</property>
 1318    -1                             <property name="proportion">1</property>
 1319    -1                             <object class="wxButton" expanded="1">
 1320    -1                                 <property name="bg"></property>
 1321    -1                                 <property name="context_help"></property>
 1322    -1                                 <property name="default">0</property>
 1323    -1                                 <property name="enabled">1</property>
 1324    -1                                 <property name="fg"></property>
 1325    -1                                 <property name="font"></property>
 1326    -1                                 <property name="hidden">0</property>
 1327    -1                                 <property name="id">wxID_ANY</property>
 1328    -1                                 <property name="label">Cancel</property>
 1329    -1                                 <property name="maximum_size"></property>
 1330    -1                                 <property name="minimum_size"></property>
 1331    -1                                 <property name="name">m_button2</property>
 1332    -1                                 <property name="permission">protected</property>
 1333    -1                                 <property name="pos"></property>
 1334    -1                                 <property name="size"></property>
 1335    -1                                 <property name="style"></property>
 1336    -1                                 <property name="subclass"></property>
 1337    -1                                 <property name="tooltip"></property>
 1338    -1                                 <property name="validator_data_type"></property>
 1339    -1                                 <property name="validator_style">wxFILTER_NONE</property>
 1340    -1                                 <property name="validator_type">wxDefaultValidator</property>
 1341    -1                                 <property name="validator_variable"></property>
 1342    -1                                 <property name="window_extra_style"></property>
 1343    -1                                 <property name="window_name"></property>
 1344    -1                                 <property name="window_style"></property>
 1345    -1                                 <event name="OnButtonClick">OnCancelClick</event>
 1346    -1                                 <event name="OnChar"></event>
 1347    -1                                 <event name="OnEnterWindow"></event>
 1348    -1                                 <event name="OnEraseBackground"></event>
 1349    -1                                 <event name="OnKeyDown"></event>
 1350    -1                                 <event name="OnKeyUp"></event>
 1351    -1                                 <event name="OnKillFocus"></event>
 1352    -1                                 <event name="OnLeaveWindow"></event>
 1353    -1                                 <event name="OnLeftDClick"></event>
 1354    -1                                 <event name="OnLeftDown"></event>
 1355    -1                                 <event name="OnLeftUp"></event>
 1356    -1                                 <event name="OnMiddleDClick"></event>
 1357    -1                                 <event name="OnMiddleDown"></event>
 1358    -1                                 <event name="OnMiddleUp"></event>
 1359    -1                                 <event name="OnMotion"></event>
 1360    -1                                 <event name="OnMouseEvents"></event>
 1361    -1                                 <event name="OnMouseWheel"></event>
 1362    -1                                 <event name="OnPaint"></event>
 1363    -1                                 <event name="OnRightDClick"></event>
 1364    -1                                 <event name="OnRightDown"></event>
 1365    -1                                 <event name="OnRightUp"></event>
 1366    -1                                 <event name="OnSetFocus"></event>
 1367    -1                                 <event name="OnSize"></event>
 1368    -1                                 <event name="OnUpdateUI"></event>
 1369    -1                             </object>
 1370    -1                         </object>
 1371    -1                     </object>
 1372    -1                 </object>
 1373    -1             </object>
 1374    -1         </object>
 1375   970     </object>
 1376   971 </wxFormBuilder_Project>

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

@@ -25,10 +25,6 @@
   25    25 #include <wx/dialog.h>
   26    26 #include <wx/choicebk.h>
   27    27 #include <wx/clrpicker.h>
   28    -1 #include <wx/gauge.h>
   29    -1 #include <wx/panel.h>
   30    -1 #include <wx/filepicker.h>
   31    -1 #include <wx/tglbtn.h>
   32    28 
   33    29 ///////////////////////////////////////////////////////////////////////////
   34    30 
@@ -47,6 +43,7 @@ class MainFrame : public wxFrame
   47    43 		wxStatusBar* m_statusBar1;
   48    44 		
   49    45 		// Virtual event handlers, overide them in your derived class
   -1    46 		virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
   50    47 		virtual void OnOpenClick( wxCommandEvent& event ) { event.Skip(); }
   51    48 		virtual void OnExportClick( wxCommandEvent& event ) { event.Skip(); }
   52    49 		virtual void OnPrefsClick( wxCommandEvent& event ) { event.Skip(); }
@@ -114,46 +111,4 @@ class PrefsDialog : public wxDialog
  114   111 	
  115   112 };
  116   113 
  117    -1 ///////////////////////////////////////////////////////////////////////////////
  118    -1 /// Class WaitDialog
  119    -1 ///////////////////////////////////////////////////////////////////////////////
  120    -1 class WaitDialog : public wxPanel 
  121    -1 {
  122    -1 	private:
  123    -1 	
  124    -1 	protected:
  125    -1 		wxGauge* m_gauge2;
  126    -1 		wxStaticText* m_staticText5;
  127    -1 	
  128    -1 	public:
  129    -1 		
  130    -1 		WaitDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 269,80 ), long style = wxTAB_TRAVERSAL );
  131    -1 		~WaitDialog();
  132    -1 	
  133    -1 };
  134    -1 
  135    -1 ///////////////////////////////////////////////////////////////////////////////
  136    -1 /// Class FileSelectDialog
  137    -1 ///////////////////////////////////////////////////////////////////////////////
  138    -1 class FileSelectDialog : public wxDialog 
  139    -1 {
  140    -1 	private:
  141    -1 	
  142    -1 	protected:
  143    -1 		wxFilePickerCtrl* m_filePicker2;
  144    -1 		wxToggleButton* m_toggleBtn2;
  145    -1 		wxButton* m_button2;
  146    -1 		
  147    -1 		// Virtual event handlers, overide them in your derived class
  148    -1 		virtual void OnOKClick( wxCommandEvent& event ) { event.Skip(); }
  149    -1 		virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
  150    -1 		
  151    -1 	
  152    -1 	public:
  153    -1 		
  154    -1 		FileSelectDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 223,111 ), long style = wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxSTAY_ON_TOP );
  155    -1 		~FileSelectDialog();
  156    -1 	
  157    -1 };
  158    -1 
  159   114 #endif //__xiRetimer_wxfb__

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

@@ -23,6 +23,7 @@ private:
   23    23   SF_INFO sfinfo;
   24    24 };
   25    25 
   -1    26 /*
   26    27 int main() {
   27    28   Marker* m=new Marker();
   28    29   m->add(0,0);
@@ -33,5 +34,6 @@ int main() {
   33    34   error=s.loadFile("test.wav");
   34    35   error=s.writeFile("testo.wav");
   35    36 }
   -1    37 */
   36    38 
   37    39 #endif