void CTrack_Info_Small::Init()
{
	// Create the main pane
	mpPane = ge::IPane::Create();
	mpPane->SetSize(gTrack_Info_Small);

	// Dummy
	mpSmall_Back_Drop				= CreateBitmap(ge::IControl::giNoID, IDB_Back_Track_Info_Small, ge::SPos(0, 0));
	mpSmall_Selected_Back_Drop		= CreateBitmap(ge::IControl::giNoID, IDB_Back_Track_Info_Small_Selected, ge::SPos(0, 0));
	// Hide selection backdrop
	mpSmall_Selected_Back_Drop->SetVisible(false);
	
	//--------------------------------------------
	// Text label
	ge::IText* pText = CreateDisplay(	giTrack_Info_Small_Channel_Text+ miCtrl_Offset, 
												ge::SPos(5, 24),  
												ge::SSize(118, 10), 
												CreateFont(Generic128, IDB_Font_Minix_Tight, ge::SRGB(204, 204, 204)),
												true);

	pText->SetHorzAlignment(ge::IText::HorzAlignLeft);
	pText->SetClicksOutsideAsSuccess();
	
	// Expand button
	ge::IMultiStateButton*  pButton = Create2StateButton(giTrack_Info_Small_Expand_Button	+ miCtrl_Offset, IDB_Button_Expand, ge::SPos(2, 4), true);
	pButton->SetEventMouseUp();
	// Arm button
	Create2StateButton(giTrack_Info_Small_Arm_Button	+ miCtrl_Offset, IDB_Button_Arm_Horizontal, ge::SPos(68, 4), true);
	// Mute button
	Create2StateButton(giTrack_Info_Small_Mute_Button	+ miCtrl_Offset, IDB_Button_Mute_Horizontal, ge::SPos(68+19, 4), true);
	//Solo Button
	Create2StateButton(giTrack_Info_Small_Solo_Button	+ miCtrl_Offset, IDB_Button_Solo_Horizontal, ge::SPos(68+19+18, 4), true); 
	
	// Output meter, Left
	mpMeterOutL = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(30, 6), 33, ge::IPeakMeter::Right);
	FindPane(mpMeterOutL)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Top, ge::SPos(0, 0));
	// Output meter, Right
	mpMeterOutR = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(30, 12), 33, ge::IPeakMeter::Right);
	FindPane(mpMeterOutR)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Bottom, ge::SPos(0, 0));

	// Mouse-trap for activation of track - must be last to have effect
	mpMouseTrap = ge::IMouseTrap::Create();
	mpMouseTrap->EnableOneTrap(ge::MouseDrag, true, true);
	mpMouseTrap->EnableOneTrap(ge::MouseDrop, true, true);
	mpPane->AddControl(mpMouseTrap, ge::SPos(0, 0));
	mpMouseTrap->CloneRect(GetPane());
	mpMouseTrap->AddListener(this);

}
void CMix_Buss::Init()
{
	// Create the main pane
	mpPane = ge::IPane::Create();
	mpPane->SetSize(gMix_Bus);
	mpPane->SetBackgroundColour(ge::SRGB(200,200,200));
	
	// Top label
	CreateBitmap(ge::IControl::giNoID, IDB_Back_Mix_Buss_Lable, ge::SPos(0, 0));
	
	//--------------------------------------------
	// Text label
	ge::IText* pText = CreateDisplay(	giCtr_Mix_Buss_Text+ miCtrl_Offset, 
												ge::SPos(8, 24),  
												ge::SSize(48, 12), 
												CreateFont(Generic128, IDB_Minix_Tight, ge::SRGB(204, 204, 204)), true);

	pText->SetHorzAlignment(ge::IText::HorzAlignLeft);
	pText->SetClicksOutsideAsSuccess();
	
	char psz[32];
	sprintf(psz, "Bus %d", miID+1);
	pText->SetText(psz);
	
	
	//--------------------------------------------
	// Track Aux/ Insert setup
	mpMix_Buss_AUX_Insert = new CMix_Buss_AUX_Insert(this, GetGUI());
	mpMix_Buss_AUX_Insert->SetInfo(miID, miTimerID);
	mpMix_Buss_AUX_Insert->Init();
	mpPane->AddControl(mpMix_Buss_AUX_Insert->GetPane(), ge::SPos(0, 54));
	
	// Byttom part with slider
	CreateBitmap(ge::IControl::giNoID, IDB_Back_Mix_Buss_Volume, ge::SPos(0, 184));
	
//	mpSelected_Back_Drop	= CreateBitmap(ge::IControl::giNoID, IDB_Back_Track_Info_Big_Selected, ge::SPos(0, 0));
//	mpSelected_Back_Drop->SetVisible(false);


	// Show insert button
	Create2StateButton(giCtr_Mix_Buss_Show_Insert_Button	+ miCtrl_Offset,	IDB_Button_AUX_Insert,	ge::SPos(36, 0), true);

	PreparePopups();
	CreatePop(giCtr_Mix_Buss_Output_Popup+ miCtrl_Offset, IDB_Invisible_Button_16_64, mpOutput_Menu, ge::SPos(3, 255));
	
	// Volume slider & display
	CreateSlider(giCtr_Mix_Buss_Volume_Slider				+ miCtrl_Offset, ge::SPos(88-64 , 21+184),ge::SSize(16,110), IDB_Slider_Handle_Volume);
	CreateDisplay( giCtr_Mix_Buss_Volume_Slider_Display		+ miCtrl_Offset, ge::SPos(4, 350),  ge::SSize(56, 12), CreateFont(Generic128, IDB_AxelTight, ge::SRGB(0, 255, 0)));
	
	
	Create2StateButton(giCtr_Mix_Buss_Arm_Button			+ miCtrl_Offset, IDB_Button_Arm_Vertical, ge::SPos(3, 102+184), true);
	Create2StateButton(giCtr_Mix_Buss_Mute_Button			+ miCtrl_Offset, IDB_Button_Mute_Vertical, ge::SPos(3,102+16+184), true);
	Create2StateButton(giCtr_Mix_Buss_Solo_Button			+ miCtrl_Offset, IDB_Button_Solo_Vertical, ge::SPos(3,102+16+15+184), true); 
	
	// Output meter, Left
	mpMeterOutL = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(46, 215), 120, ge::IPeakMeter::Up);
	FindPane(mpMeterOutL)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Left, ge::SPos(0, 0));
	// Output meter, Right
	mpMeterOutR = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(54, 215), 120, ge::IPeakMeter::Up);
	FindPane(mpMeterOutR)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Right, ge::SPos(0, 0));

	//mpPan = CreatePanner(giCtrl_Lopp_Start, ge::IControl::giNoID, NULL, IDB_Button_Pan_Handle, ge::SPos(3, 188), ge::SPos(0, 0), ge::SSize(59, 0), NULL);
	//mpPan->SetDirectMouseXlat();
	
	// Panner 
	CreatePanner(
		giCtr_Mix_Buss_Pan  + miCtrl_Offset, ge::IControl::giNoID,
		NULL, IDB_Button_Pan_Handle,
		ge::SPos(3, 188), 
		ge::SPos(0, 0),
		ge::SSize(59, 0),
		NULL
	);
//	pPanner->SetDirectMouseXlat(true);
//	pPanner->SetJumpToMouseClickPos(true);
	
}
void CKSAUXGUIPane::Init()
{
	mpPane = ge::IPane::Create();
	//mpPane->SetBackgroundColour(ge::SRGB(0, 0, 0));
	mpPane->SetSize(gAUX);
	
	//-------------------------------
	// Backdrop for AUX
	CreateBitmap(ge::IControl::giNoID, IDB_Back_AUX, ge::SPos(0, 0));
	//-------------------------------
	
	//--------------------------------
	// ECHO
	//--------------------------------
	
	Create2StateButton(giCtrl_Delay_Power, IDB_Button_Power, ge::SPos(25, 36), true);
	
	tint32 iX		=	154+126;
	tint32 iY		=	75;
	
	// Delay time 
	CreateKnob(giCtrl_Delay_Time, IDB_Dial_Medium, ge::SPos(iX, iY), 65);		iX += 64;
	CreateDisplay( giCtrl_Delay_Time_Display, ge::SPos(184, 65),  ge::SSize(56, 12), CreateFont(Generic128, IDB_Font_Axel_Tight, ge::SRGB(0, 180, 0)));
	
	// Predlay
	CreateKnob(giCtrl_Delay_Feedback, IDB_Dial_Medium, ge::SPos(iX, iY), 65);	iX += 64;
	CreateDisplay( giCtrl_Delay_Feedback_Display, ge::SPos(184, 77),  ge::SSize(56, 12), CreateFont(Generic128, IDB_Font_Axel_Tight, ge::SRGB(0, 180, 0)));
	
	// Lo Filt
	CreateKnob(giCtrl_Delay_LP_Dampning, IDB_Dial_Medium, ge::SPos(iX, iY), 65);	iX += 64;
	CreateDisplay( giCtrl_Delay_LP_Dampning_Display, ge::SPos(184, 89),  ge::SSize(56, 12), CreateFont(Generic128, IDB_Font_Axel_Tight, ge::SRGB(0, 180, 0)));
	
	// High Filt
	CreateKnob(giCtrl_Delay_HP_Dampning, IDB_Dial_Medium, ge::SPos(iX, iY), 65);	iX += 64;
	CreateDisplay( giCtrl_Delay_HP_Dampning_Display, ge::SPos(184, 101),  ge::SSize(56, 12), CreateFont(Generic128, IDB_Font_Axel_Tight, ge::SRGB(0, 180, 0)));
	
	
	// Output meter, Left
	mpEcho_MeterOutL = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(534, 151-88), 47, ge::IPeakMeter::Up);
	FindPane(mpEcho_MeterOutL)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Left_AUX, ge::SPos(0, 0));
	// Output meter, Right
	mpEcho_MeterOutR = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(541, 151-88), 47, ge::IPeakMeter::Up);
	FindPane(mpEcho_MeterOutR)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Right_AUX, ge::SPos(0, 0));
	//--------------------------------
	// REVERB
	//--------------------------------
	Create2StateButton(giCtrl_Reverb_Power, IDB_Button_Power, ge::SPos(25, 124), true);
	iX		=	152;
	iY		=	165;
	// Reverb Size
	CreateKnob(giCtrl_Reverb_Size, IDB_Dial_Medium, ge::SPos(iX, iY), 65);		iX += 64;
	// Predlay
	CreateKnob(giCtrl_Reverb_PDelay, IDB_Dial_Medium, ge::SPos(iX, iY), 65);		iX += 64;
	// Damping
	CreateKnob(giCtrl_Reverb_Damp, IDB_Dial_Medium, ge::SPos(iX, iY), 65);		iX += 64;
	// Reverb
	CreateKnob(giCtrl_Reverb_Panorama, IDB_Dial_Medium, ge::SPos(iX, iY), 65);	iX += 64;
	// Reverb
	CreateKnob(giCtrl_Reverb_Color1, IDB_Dial_Medium, ge::SPos(iX, iY), 65);		iX += 64;
	// Reverb
	CreateKnob(giCtrl_Reverb_Color2, IDB_Dial_Medium, ge::SPos(iX, iY), 65);		iX += 64;
	
	// Output meter, Left
	mpReverb_MeterOutL = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(534, 153), 47, ge::IPeakMeter::Up);
	FindPane(mpReverb_MeterOutL)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Left_AUX, ge::SPos(0, 0));
	// Output meter, Right
	mpReverb_MeterOutR = CreatePeakMeter(ge::IControl::giNoID, ge::SPos(541, 153), 47, ge::IPeakMeter::Up);
	FindPane(mpReverb_MeterOutR)->CreateBitmap(ge::IControl::giNoID, IDB_Meter_Off_Right_AUX, ge::SPos(0, 0));
}