Mercurial > hg > hv
view Unit1.h @ 1:f3fd4e19cec0 tip
first binary upload
author | wenx <xue.wen@eecs.qmul.ac.uk> |
---|---|
date | Wed, 10 Aug 2011 14:56:28 +0100 |
parents | a6a46af64546 |
children |
line wrap: on
line source
/* Harmonic Visualiser An audio file viewer and editor. Centre for Digital Music, Queen Mary, University of London. This file copyright 2011 Wen Xue. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ //--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- /* Unit1.cpp implements the main window of HV. */ #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ComCtrls.hpp> #include <ExtCtrls.hpp> #include <Menus.hpp> #include <ToolWin.hpp> #include <Dialogs.hpp> #include <ActnList.hpp> #include <Buttons.hpp> #include <ImgList.hpp> #include "AudioPac.h" #include "WaveView.h" #include "Navigator.h" #include "hs.h" #include "EventBoxUnit.h" #include "procedures.h" #include <Grids.hpp> #define wopHS 16 #define wopCrop 17 #define wopSample 18 #define wopEdit 32 //--------------------------------------------------------------------------- const MaxRecents=10; const MaxPartialsPerCR=32; enum objshorttag0 {stNULL, stAtom, stFreqDelimiter, stFloater, stDUMMY, stOnset}; //if ShortTag[0]==stAtom, then ShortTag[1]=channel, [2]=m+1, [3]=0, Tag[2]=fr class TForm1 : public TForm { __published: // IDE-managed Components TMainMenu *MainMenu1; TCoolBar *CoolBar1; TStatusBar *StatusBar1; TMenuItem *File1; TMenuItem *Open1; TMenuItem *Exit1; TPanel *PanelButtons; TShape *PanelRightButton; TImageList *ImageList1; TOpenDialog *OpenDialog1; TToolBar *ToolBarFile; TSpeedButton *SpeedButtonOpen; TMenuItem *Project1; TMenuItem *Backup1; TToolBar *ToolBarMode; TSpeedButton *SpeedButtonS; TToolButton *ToolButton2; TSpeedButton *SpeedButtonT; TSpeedButton *SpeedButtonF; TSpeedButton *SpeedButtonM; TPanel *BackPanel; TPanel *PanelMain; TPanel *PanelRight; TPanel *PanelNavigator; TSplitter *Splitter1; TPanel *PanelRightBack; TSplitter *Splitter2; TPageControl *PageControl1; TTabSheet *TabSheet1; TTabSheet *TabSheet2; TRadioGroup *PlaybackFilterRadio; TRadioGroup *PlayChannelRadio; TRadioGroup *DisplayChannelRadio; TRadioGroup *PanesRadio; TStaticText *StaticText1; TPopupMenu *NavigatorPopup; TMenuItem *Waveform1; TMenuItem *Spectrogram1; TToolButton *ToolButton4; TToolButton *ToolButton3; TSpeedButton *SpeedButtonSelect; TGroupBox *GroupBox1; TCheckBox *LogFreqCheck; TCheckBox *FreqLineCheck; TPopupMenu *WaveView1PopupMenu; TMenuItem *ZoomToSelection1; TMenuItem *UndoZoom1; TMenuItem *N2; TMenuItem *Restore1; TMenuItem *TimeZoom1; TMenuItem *FrequencyZoom1; TMenuItem *AmplitudeZoom1; TMenuItem *SpectrogramBrightness1; TMenuItem *Play1; TSpeedButton *SpeedButtonExit; TMenuItem *Help1; TMenuItem *Save1; TMenuItem *Saveas1; TSpeedButton *SpeedButtonSave; TMenuItem *N3; TMenuItem *Cut1; TMenuItem *Extract1; TMenuItem *Editorpanel1; TMenuItem *Amplify1; TMenuItem *AM1; TMenuItem *FM1; TMenuItem *Timestretching1; TMenuItem *Pitchshifting1; TMenuItem *DeFM1; TMenuItem *View1; TMenuItem *Events1; TTabSheet *TabSheet5; TLabel *Label1; TEdit *HSDelmEdit1; TEdit *HSDelpEdit1; TLabel *Label2; TLabel *Label3; TEdit *HSMaxpEdit1; TLabel *Label4; TEdit *HSMaxBEdit1; TListBox *PartialSelectCombo; TLabel *Label5; TEdit *HSMinF0Edit1; TLabel *Label6; TLabel *Label7; TEdit *HSMaxF0Edit1; TLabel *Label8; TSaveDialog *SaveDialog1; TMenuItem *N6; TMenuItem *Vibratowizard1; TToolButton *ToolButton1; TSpeedButton *SpeedButtonRecord; TMenuItem *Close1; TCheckBox *AutoScrollCheck; TRadioGroup *PlayFromRadio; TRadioGroup *PlayUntilRadio; TCheckBox *LoopCheck; TTabSheet *TabSheet6; TCheckBox *MouseWheelZoom; TPanel *PanelWaveView; TScrollBar *ScrollBar1; TSplitter *Splitter3; TPanel *PanelGrid; TShape *PanelRightButton2; TPageControl *PageControl2; TTabSheet *AmpTab; TStringGrid *AmpGrid; TTabSheet *ArcTab; TStringGrid *PhaseGrid; TCheckBox *MBCheck; TEdit *FormatEdit; TMenuItem *Sourcefilter1; TTabSheet *QPkTab; TStringGrid *QPkGrid; TToolBar *ToolBar1; TComboBox *WindowTypeCombo; TComboBox *WindowSizeCombo; TComboBox *PlayFilterCombo; TPopupMenu *PopupMenu1; TSpeedButton *SpeedButtonCursorText; TSpeedButton *SpeedButtonPaneInfo; TSpeedButton *SpeedButtonPlay; TToolBar *ToolBarAudio; TGroupBox *FadeInGroup; TLabel *FadeInLabel; TCheckBox *FadeInCheck; TComboBox *FadeInCombo; TMenuItem *Recent00; TMenuItem *Recent11; TMenuItem *Retrieve1; TMenuItem *N1; TMenuItem *Spectrogram2; void __fastcall PanelRightButtonMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall Open1Click(TObject *Sender); void __fastcall Exit1Click(TObject *Sender); void __fastcall Backup1Click(TObject *Sender); void __fastcall SpeedButtonTClick(TObject *Sender); void __fastcall SpeedButtonFClick(TObject *Sender); void __fastcall SpeedButtonMClick(TObject *Sender); void __fastcall LogFreqCheckClick(TObject *Sender); void __fastcall WindowSizeComboChange(TObject *Sender); void __fastcall WindowTypeComboChange(TObject *Sender); void __fastcall WaveView1PopupMenuPopup(TObject *Sender); void __fastcall ZoomToSelection1Click(TObject *Sender); void __fastcall UndoZoom1Click(TObject *Sender); void __fastcall Play1Click(TObject *Sender); void __fastcall SpectrogramBrightness1Click(TObject *Sender); void __fastcall SpeedButtonSClick(TObject *Sender); void __fastcall AmplitudeZoom1Click(TObject *Sender); void __fastcall Extract1Click(TObject *Sender); void __fastcall FadeInCheckClick(TObject *Sender); void __fastcall Cut1Click(TObject *Sender); void __fastcall Amplify1Click(TObject *Sender); void __fastcall Events1Click(TObject *Sender); void __fastcall SpeedButtonSaveClick(TObject *Sender); void __fastcall TimeZoom1Click(TObject *Sender); void __fastcall FrequencyZoom1Click(TObject *Sender); void __fastcall Vibratowizard1Click(TObject *Sender); void __fastcall Recent11Click(TObject *Sender); void __fastcall SpeedButtonRecordClick(TObject *Sender); void __fastcall Close1Click(TObject *Sender); void __fastcall AutoScrollCheckClick(TObject *Sender); void __fastcall LoopCheckClick(TObject *Sender); void __fastcall PlayUntilRadioClick(TObject *Sender); void __fastcall MouseWheelZoomClick(TObject *Sender); void __fastcall AmpGridDblClick(TObject *Sender); void __fastcall Sourcefilter1Click(TObject *Sender); void __fastcall PlayFilterComboSelect(TObject *Sender); void __fastcall PlaybackFilterRadioClick(TObject *Sender); void __fastcall Retrieve1Click(TObject *Sender); private: // User declarations bool SpectrogramView; int fcalculatespcount; TSpeedButton* NavButton; Graphics::TBitmap* BitmapPlay; Graphics::TBitmap* BitmapStop; Graphics::TBitmap* BitmapSpectrogram; Graphics::TBitmap* BitmapWaveform; Graphics::TBitmap* BitmapRecord; Graphics::TBitmap* BitmapTimeSelect; Graphics::TBitmap* BitmapFreqSelect; Graphics::TBitmap* BitmapMultiSelect; Graphics::TBitmap* BitmapHSSelect; Graphics::TBitmap* BitmapCursorText; Graphics::TBitmap* BitmapPaneInfo; Graphics::TBitmap* BitmapRecording; AnsiString ExePath; AnsiString IniFileName; AnsiString TmpOutFileName; AnsiString TmpInFileName; int GridSourcePane; public: // User declarations THS* HS; TWaveAudio* WaveAudio1; TWaveAudio* WaveAudio2; TWaveView* WaveView1; TNavigator* Navigator1; double f1; double f2; int edfr; int anccount; int* ancps; int* ancfrs; double* ancfs; double* ancts; TMenuItem* Recents[MaxRecents]; struct ost {int count, wid, offst, *xfr; int** pitches; double** f0s;} onset; __fastcall TForm1(TComponent* Owner); __fastcall ~TForm1(); void __fastcall AddHSObject(THS* aHS); void __fastcall NavButtonClick(TObject*); void __fastcall PostWaveViewData(double* data, int Channel, int StartPos, int EndPos, bool fadein, int W); void __fastcall PostWaveViewData(__int16* data, int Channel, int StartPos, int EndPos, bool fadein, int W); void __fastcall PostWaveViewData(__int16* data, int Channel, int StartPos, int EndPos); void Initialize(); void PrepareNMSettings(NMSettings* settings); void RecentFile(AnsiString); void SetGridContents(); void SetWaveViewContents(); void ShowPanel(TPanel* APanel, bool Hide); void __fastcall ApplicationIdle(TObject*, bool&); void __fastcall CropEventStart(TObject*, TShiftState); void __fastcall CropEventEnd(TObject*, TShiftState); void __fastcall GetTargetAudio(int& targettype, int& channel, int& from, int& to, double*& target, __int16*& before); void __fastcall Navigator1AreaChange(TObject*); void __fastcall Navigator1Background(TObject*); void __fastcall WaveAudio1Load(TObject*); void __fastcall WaveAudio2InAddBuffer(TObject*); void __fastcall WaveView1AfterPaint(TObject*); void __fastcall WaveView1BeforePlayback(TObject*); int __fastcall WaveView1CustomPaneInfo(TObject*); int __fastcall WaveView1CustomInfo(TObject*); void __fastcall WaveView1DrawFreqLimiter(TObject*, TWaveViewObject&); void __fastcall WaveView1DrawObject(TObject*, TWaveViewObject&); void __fastcall WaveView1DrawAtom(TObject*, TWaveViewObject&); void __fastcall WaveView1InfoDblClick(TObject*); void __fastcall WaveView1KeyPress(TObject* Sender, char &Key); void __fastcall WaveView1MouseDown(TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall WaveView1MouseMove(TObject* Sender, TShiftState Shift, int X, int Y); void __fastcall WaveView1MousePointer(TObject* Sender, int Pane, int t, double f); void __fastcall WaveView1MouseUp(TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall WaveView1MouseWheel(TObject* Sender, TShiftState Shift, int WheelDelta, const TPoint& MousePos, bool& Handled); void __fastcall WaveView1ObjectClick(TObject*); void __fastcall WaveView1ObjectDblClick(TObject*); void __fastcall WaveView1ObjectEnter(TObject*); void __fastcall WaveView1ObjectMouseWheel(TObject* Sender, TShiftState Shift, int WheelDelta, const TPoint& MousePos, bool& Handled); void __fastcall WaveView1OpMode(TObject* Sender, TShiftState Shift, int& OpMode); void __fastcall WaveView1ParKeyDown(TObject*, Word &Key, TShiftState Shift); void __fastcall WaveView1ParMouseDown(TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall WaveView1ParMouseMove(TObject* Sender, TShiftState Shift, int X, int Y); void __fastcall WaveView1ParMouseUp(TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall WaveView1ParMouseWheel(TObject* Sender, TShiftState Shift, int WheelDelta, const TPoint& MousePos, bool& Handled); void __fastcall WaveView1PlaybackDone(TObject*); void __fastcall WaveView1PlaybackStart(TObject*); void __fastcall WaveView1PlaybackStartAndEndPos(TObject*, int&, int&, bool); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif