wndw_ado_live_mr.c

来自「一个比较好用的TW2835音视频芯片开发板的程序,」· C语言 代码 · 共 567 行 · 第 1/2 页

C
567
字号
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+1)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT1)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x6e,0x44);
//				if(_rdat_ > 0)	_rdat_--;
////				else	_rdat_ = 15;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x6e,0x44,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+1,_rdat_);
//			}
//		}
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+2)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT2)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x04);
//				if(_rdat_ > 0)	_rdat_--;
////				else	_rdat_ = 15;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x04,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+2,_rdat_);
//			}
//		}
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+3)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT3)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x44);
//				if(_rdat_ > 0)	_rdat_--;
////				else	_rdat_ = 15;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x44,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+3,_rdat_);
//			}
//		}
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+4)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT4)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x70,0x04);
//				if(_rdat_ > 0)	_rdat_--;
////				else	_rdat_ = 15;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x70,0x04,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+4,_rdat_);
//			}
//		}
//	}
//}
////==================================================================================
//void	RunWndwAdoLvMrInc(U8 _pth, U8 _ch)//_osd_pos_y)
//{
//	U8 _rdat_;
//
////	if(wndw_ado_lv_mr_sel == ADO_SEL_MIX){
//		if(_osd_pos_y == WNDW_ADO_LV_MR_CHK_Y){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT0)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x6e,0x04);
//				if(_rdat_ < 15)	_rdat_++;
////				else	_rdat_ = 0;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x6e,0x04,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y,_rdat_);
//			}
//		}
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+1)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT1)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x6e,0x44);
//				if(_rdat_ < 15)	_rdat_++;
////				else	_rdat_ = 0;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x6e,0x44,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+1,_rdat_);
//			}
//		}
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+2)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT2)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x04);
//				if(_rdat_ < 15)	_rdat_++;
////				else	_rdat_ = 0;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x04,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+2,_rdat_);
//			}
//		}
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+3)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT3)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x44);
//				if(_rdat_ < 15)	_rdat_++;
////				else	_rdat_ = 0;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x6f,0x44,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+3,_rdat_);
//			}
//		}
//		else if(_osd_pos_y == (WNDW_ADO_LV_MR_CHK_Y+4)){
//			if(BitClear(wndw_ado_lv_mr_mute,BIT4)){
//				_rdat_ = GetAsicVar8Type(MASTER,DVC_PG0,0x70,0x04);
//				if(_rdat_ < 15)	_rdat_++;
////				else	_rdat_ = 0;
//				SetAsicVar8Type(MASTER,DVC_PG0,0x70,0x04,_rdat_);
//				SetWndwAdoLvMrOSDNum(_pth,WNDW_ADO_LV_MR_CHK_Y+4,_rdat_);
//			}
//		}
////	}
//}
//==================================================================================
void	RunWndwAdoLvMr(U8 _pth)//U8 _osd_pos_x, U8 _osd_pos_y)
{
	U8 _t1_;//, _t2_;
	U8 _dvc_, _ch_;
	U8 _rdat_;
	U8	_osd_pos_x_, _osd_pos_y_;

	_osd_pos_x_ = GetMseOSDX(reg_crsr_pos_x);
	_osd_pos_y_ = GetMseOSDY(reg_crsr_pos_y);


//		//*
//	if(wndw_ado_lv_mr_sel == ADO_SEL_MIX){
//		if(BitClear(wndw_ado_lv_mr_mute,BIT0))
//			RunMseOnOSDH(_pth,_osd_pos_x_,_osd_pos_y_,WNDW_ADO_LV_MR_DEC_X0,WNDW_ADO_LV_MR_INC_X0,WNDW_ADO_LV_MR_CHK_Y,MSE_ON_OSD_CH1);
//		if(BitClear(wndw_ado_lv_mr_mute,BIT1))
//			RunMseOnOSDH(_pth,_osd_pos_x_,_osd_pos_y_,WNDW_ADO_LV_MR_DEC_X0,WNDW_ADO_LV_MR_INC_X0,WNDW_ADO_LV_MR_CHK_Y+1,MSE_ON_OSD_CH2);
//		if(BitClear(wndw_ado_lv_mr_mute,BIT2))
//			RunMseOnOSDH(_pth,_osd_pos_x_,_osd_pos_y_,WNDW_ADO_LV_MR_DEC_X0,WNDW_ADO_LV_MR_INC_X0,WNDW_ADO_LV_MR_CHK_Y+2,MSE_ON_OSD_CH3);
//		if(BitClear(wndw_ado_lv_mr_mute,BIT3))
//			RunMseOnOSDH(_pth,_osd_pos_x_,_osd_pos_y_,WNDW_ADO_LV_MR_DEC_X0,WNDW_ADO_LV_MR_INC_X0,WNDW_ADO_LV_MR_CHK_Y+3,MSE_ON_OSD_CH4);
//		if(BitClear(wndw_ado_lv_mr_mute,BIT4))
//			RunMseOnOSDH(_pth,_osd_pos_x_,_osd_pos_y_,WNDW_ADO_LV_MR_DEC_X0,WNDW_ADO_LV_MR_INC_X0,WNDW_ADO_LV_MR_CHK_Y+4,MSE_ON_OSD_PB);
//	}
//			//	*/
	
	if(b_mse_btn_dwn_lb == 1){
		b_mse_btn_dwn_lb = 0;

		if((_osd_pos_x_ == WNDW_ADO_LV_MR_CLOS_X)&&(_osd_pos_y_ == WNDW_ADO_LV_MR_CLOS_Y)){
//			SetBoxBtnStrPush(BOX_WNDW_QUIT);
		}
	}
	if(b_mse_btn_dwn_rb == 1)	b_mse_btn_dwn_rb = 0;
	if(b_mse_clk_lb == 1){
		b_mse_clk_lb = 0;

		if((_osd_pos_x_ == WNDW_ADO_LV_MR_CLOS_X)&&(_osd_pos_y_ == WNDW_ADO_LV_MR_CLOS_Y)){
			WriteOSDClr(_pth,MASTER,WNDW_ADO_LV_MR_POS_X,WNDW_ADO_LV_MR_POS_Y,WNDW_ADO_LV_MR_L,WNDW_ADO_LV_MR_H);
			WriteOSDClrX(MASTER,WNDW_ADO_LV_MR_POS_X-1,WNDW_ADO_LV_MR_POS_Y-1,WNDW_ADO_LV_MR_L+2,WNDW_ADO_LV_MR_H+2);

			b_ado_lv_mr = OFF;
			
			CreateWndwAdoLv(_pth);
		}
		else{
#if defined(__4CH__)
			if((_osd_pos_y_ == WNDW_ADO_LV_MR_CHK_Y)||(_osd_pos_y_ == (WNDW_ADO_LV_MR_CHK_Y+1))){
#elif defined(__16CH__)
			if((_osd_pos_y_ >= WNDW_ADO_LV_MR_CHK_Y)&&(_osd_pos_y_ < WNDW_ADO_LV_MR_PB_Y)){
#endif
				_t1_ = (_osd_pos_y_ - WNDW_ADO_LV_MR_CHK_Y)<<1;
//				if((_osd_pos_x_==WNDW_ADO_LV_MR_CHK_X1)||(_osd_pos_x_==WNDW_ADO_LV_MR_DEC_X1)||(_osd_pos_x_==WNDW_ADO_LV_MR_INC_X1))
//					_t1_++;

				if((_osd_pos_x_ == WNDW_ADO_LV_MR_CHK_X0)||(_osd_pos_x_ == WNDW_ADO_LV_MR_CHK_X1)){
					if(_osd_pos_x_ == WNDW_ADO_LV_MR_CHK_X1)	_t1_++;

					SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
					_rdat_ = GetAsicFlgType(_dvc_,DVC_PG0,0x6d,BIT0<<_ch_)^(BIT0<<_ch_);				//... MIX_MUTE data
					SetAsicFlgType(_dvc_,DVC_PG0,0x6d,BIT0<<_ch_,_rdat_);
					
					SetWndwAdoLvMrOSDChk(_pth,_t1_);
					mse_flg_on_osd = 0xffff;
					SetWndwAdoLvMrOSDArw(_pth,_t1_);
					SetWndwAdoLvMrOSDNum(_pth,_t1_);
				}
				else if((_osd_pos_x_ == WNDW_ADO_LV_MR_DEC_X0)||(_osd_pos_x_ == WNDW_ADO_LV_MR_DEC_X1)){
					if(_osd_pos_x_ == WNDW_ADO_LV_MR_DEC_X1)	_t1_++;
//					RunWndwAdoLvMrDec(_pth,_t1_);

					SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
					if(!(GetAsicFlgType(_dvc_,DVC_PG0,0x6d,BIT0<<_ch_))){							//... not MUTE
						_rdat_ = GetWndwAdoLvMr(_dvc_,_ch_);
						if(_rdat_ > 0)	_rdat_--;
//						else	_rdat_ = 15;
						SetWndwAdoLvMr(_dvc_,_ch_,_rdat_);
						SetWndwAdoLvMrOSDNum(_pth,_t1_);
					}
				}
				else if((_osd_pos_x_ == WNDW_ADO_LV_MR_INC_X0)||(_osd_pos_x_ == WNDW_ADO_LV_MR_INC_X1)){
					if(_osd_pos_x_ == WNDW_ADO_LV_MR_INC_X1)	_t1_++;
//					RunWndwAdoLvMrInc(_pth,_t1_);

					SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
					if(!(GetAsicFlgType(_dvc_,DVC_PG0,0x6d,BIT0<<_ch_))){							//... not MUTE
						_rdat_ = GetWndwAdoLvMr(_dvc_,_ch_);
						if(_rdat_ < 15)	_rdat_++;
//						else	_rdat_ = 0;
						SetWndwAdoLvMr(_dvc_,_ch_,_rdat_);
						SetWndwAdoLvMrOSDNum(_pth,_t1_);
					}
				}
			}
			else if(_osd_pos_y_ == WNDW_ADO_LV_MR_PB_Y){
				if(_osd_pos_x_ == WNDW_ADO_LV_MR_CHK_X0){
					_rdat_ = GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x6d,BIT4)^BIT4;				//... MIX_MUTE data
					SetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x6d,BIT4,_rdat_);
					
					b_ado_lv_mr_arw_pb = 1;
					SetWndwAdoLvMrOSDPbChk(_pth);
//					RunWndwAdoLvMrOSDPbArw(_pth|_t1_,0,0);
					SetWndwAdoLvMrOSDPbNum(_pth);
				}
				else if(_osd_pos_x_ == WNDW_ADO_LV_MR_DEC_X0){
//					RunWndwAdoLvMrDec(_pth,_osd_pos_y_);
					if(!(GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x6d,BIT4))){			//... not MUTE
						_rdat_ = GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f);
						if(_rdat_ > 0)	_rdat_--;
//						else	_rdat_ = 15;
						SetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f,_rdat_);
						SetWndwAdoLvMrOSDPbNum(_pth);
					}
				}
				else if(_osd_pos_x_ == WNDW_ADO_LV_MR_INC_X0){
//					RunWndwAdoLvMrInc(_pth,_osd_pos_y_);
					if(!(GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x6d,BIT4))){			//... not MUTE
						_rdat_ = GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f);
						if(_rdat_ < 15)	_rdat_++;
//						else	_rdat_ = 0;
						SetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f,_rdat_);
						SetWndwAdoLvMrOSDPbNum(_pth);
					}
				}
			}
		}
	}
	if(b_mse_clk_rb == 1)	b_mse_clk_rb = 0;
	if(b_mse_pshng_clk_lb == 1){
		b_mse_pshng_clk_lb = 0;

#if defined(__4CH__)
		if((_osd_pos_y_ == WNDW_ADO_LV_MR_CHK_Y)||(_osd_pos_y_ == (WNDW_ADO_LV_MR_CHK_Y+1))){
#elif defined(__16CH__)
		if((_osd_pos_y_ >= WNDW_ADO_LV_MR_CHK_Y)&&(_osd_pos_y_ < WNDW_ADO_LV_MR_PB_Y)){
#endif
			_t1_ = (_osd_pos_y_ - WNDW_ADO_LV_MR_CHK_Y)<<1;
			if((_osd_pos_x_ == WNDW_ADO_LV_MR_DEC_X0)||(_osd_pos_x_ == WNDW_ADO_LV_MR_DEC_X1)){
				if(_osd_pos_x_==WNDW_ADO_LV_MR_DEC_X1)	_t1_++;
//					RunWndwAdoLvMrDec(_pth,_t1_);

				SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
				if(!(GetAsicFlgType(_dvc_,DVC_PG0,0x6d,BIT0<<_ch_))){							//... not MUTE
					_rdat_ = GetWndwAdoLvMr(_dvc_,_ch_);
					if(_rdat_ > 0)	_rdat_--;
					SetWndwAdoLvMr(_dvc_,_ch_,_rdat_);
					SetWndwAdoLvMrOSDNum(_pth,_t1_);
				}
			}
			else if((_osd_pos_x_ == WNDW_ADO_LV_MR_INC_X0)||(_osd_pos_x_ == WNDW_ADO_LV_MR_INC_X1)){
				if(_osd_pos_x_==WNDW_ADO_LV_MR_INC_X1)	_t1_++;
//					RunWndwAdoLvMrInc(_pth,_t1_);

				SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
				if(!(GetAsicFlgType(_dvc_,DVC_PG0,0x6d,BIT0<<_ch_))){							//... not MUTE
					_rdat_ = GetWndwAdoLvMr(_dvc_,_ch_);
					if(_rdat_ < 15)	_rdat_++;
					SetWndwAdoLvMr(_dvc_,_ch_,_rdat_);
					SetWndwAdoLvMrOSDNum(_pth,_t1_);
				}
			}
		}
		else if(_osd_pos_y_ == WNDW_ADO_LV_MR_PB_Y){
			if(_osd_pos_x_ == WNDW_ADO_LV_MR_DEC_X0){
//					RunWndwAdoLvMrDec(_pth,_osd_pos_y_);
				if(!(GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x6d,BIT4))){			//... not MUTE
					_rdat_ = GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f);
					if(_rdat_ > 0)	_rdat_--;
	//				else	_rdat_ = 15;
					SetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f,_rdat_);
					SetWndwAdoLvMrOSDPbNum(_pth);
				}
			}
			else if(_osd_pos_x_ == WNDW_ADO_LV_MR_INC_X0){
//					RunWndwAdoLvMrInc(_pth,_osd_pos_y_);
				if(!(GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x6d,BIT4))){			//... not MUTE
					_rdat_ = GetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f);
					if(_rdat_ < 15)	_rdat_++;
	//				else	_rdat_ = 0;
					SetAsicFlgType(cmn_lst_slvr_x,DVC_PG0,0x70,0x0f,_rdat_);
					SetWndwAdoLvMrOSDPbNum(_pth);
				}
			}
		}
	}
	if(b_mse_pshng_clk_rb == 1)	b_mse_pshng_clk_rb = 0;
}
//==================================================================================

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?