//---------------------------------------------------------------------------

#ifndef VSTiFormUnitH
#define VSTiFormUnitH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include "GeneralDialogPanel.h"
#include "TextButton.h"
#include <Vcl.ExtCtrls.hpp>
#include "ComboBoxComponent.h"
#include "PNGButton.hpp"
#include "SkinTrackBar.h"
//---------------------------------------------------------------------------
class TVSTiForm : public TForm
{
__published:	// IDE-managed Components
	TGeneralDialogPanel *m_BKGPanel;
	TTextButton *m_btnCancel;
	TTextButton *m_btnOk;
	TComboBoxComponent *m_cbChannel;
	TPNGButton *m_btnPlay;
	TPNGButton *m_btnStop;
	TSkinTrackBar *m_tbPosition;
	TPanel *m_panShow;
	TLabel *m_lblNoEditor;
	TLabel *m_lblChannel;
	void __fastcall PlayClick(TObject *Sender);
	void __fastcall StopClick(TObject *Sender);
	void __fastcall PositionChange(TObject *Sender);
	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
	void __fastcall FormResize(TObject *Sender);
	void __fastcall ChannelChange(TComboBoxItem *Sender, int Index);
	void __fastcall FormCreate(TObject *Sender);
private:	// User declarations
	BYTE m_iVSTi;
	int m_iStartBar, m_lenBar;
	double m_dblStart, m_dblEnd, m_dblStep, m_dblPos;
	int m_iCurrPos;
	UINT m_tTimer, m_tAccuracy;

	MESSAGE void __fastcall UMMediaTime(TMessage &Message);
	MESSAGE void __fastcall UMEditorResize(TMessage &Message);

	BEGIN_MESSAGE_MAP
		MESSAGE_HANDLER(MSG_MEDIATIME, TMessage, UMMediaTime)
		MESSAGE_HANDLER(MSG_VSTEDITORRESIZE, TMessage, UMEditorResize)
	END_MESSAGE_MAP(TForm)

public:		// User declarations
	BYTE m_iChno;
	__fastcall TVSTiForm( TComponent* Owner, BYTE iVSTi, BYTE iChno, int iStart, int len );

	bool IsEditable(){ return !m_lblNoEditor->Visible; };
};
//---------------------------------------------------------------------------
extern PACKAGE TVSTiForm *VSTiForm;
//---------------------------------------------------------------------------
#endif
