1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/**********************************************************************
Audacity: A Digital Audio Editor
ImportRaw.h
Dominic Mazzoni
**********************************************************************/
#ifndef __AUDACITY_IMPORT_RAW__
#define __AUDACITY_IMPORT_RAW__
#include <wx/dialog.h>
#include <wx/panel.h>
class wxRadioButton;
class WaveTrack;
class DirManager;
bool ImportRaw(wxWindow * parent,
wxString fName, WaveTrack ** dest1, WaveTrack ** dest2,
DirManager * dirManager);
bool GuessPCMFormat(wxString fName,
bool & guess16bit,
bool & guessSigned,
bool & guessStereo,
bool & guessBigEndian,
bool & guessOffset,
char **sampleData = 0, int *sampleDataLen = 0);
class PreviewPanel:public wxPanel {
private:
int bitWidth;
int bitHeight;
wxBitmap *bitmap;
int dataLen;
char *rawData;
float *data1;
float *data2;
int len1;
int len2;
public:
bool param[4];
PreviewPanel(char *rawData, int dataLen, wxWindow * parent,
const wxPoint & pos, const wxSize & size,
const long style);
void OnEraseBackground(wxEraseEvent & ignore);
void OnPaint(wxPaintEvent & evt);
DECLARE_EVENT_TABLE()
};
class ImportDialog:public wxDialog {
DECLARE_DYNAMIC_CLASS(ImportDialog)
public:
wxRadioButton * bits[2];
wxRadioButton *sign[2];
wxRadioButton *stereo[2];
wxRadioButton *endian[2];
wxRadioButton *offset[2];
PreviewPanel *preview;
ImportDialog(char *data, int dataLen,
wxWindow * parent,
const wxPoint & pos = wxDefaultPosition);
void OnOK(wxCommandEvent & event);
void OnCancel(wxCommandEvent & event);
void RadioButtonPushed(wxCommandEvent & event);
DECLARE_EVENT_TABLE()
};
#endif
|