⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interface.c

📁 大名鼎鼎的CE下播放软件,TCPPMP的源代码!!!2410下可以流畅的解QVGA的H264,MPEG4等格式.
💻 C
📖 第 1 页 / 共 5 页
字号:
		ToggleStream(p,PLAYER_ASTREAM,PACKET_AUDIO,0);
		break;

	case IF_OPTIONS_ZOOM_IN:
		p->Player->Get(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		if (f.Num <= 0) f.Num = f.Den = 1;
		if (f.Den != 100)
		{
			f.Num = f.Num * 100 / f.Den;
			f.Den = 100;
		}
		f.Num+=5;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_OUT:
		p->Player->Get(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		if (f.Num <= 0) f.Num = f.Den = 1;
		if (f.Den != 100)
		{
			f.Num = f.Num * 100 / f.Den;
			f.Den = 100;
		}
		if (f.Num>5) f.Num-=5;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_FIT:
		p->Player->Get(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		f.Num = f.Num == -1 ? -2:-1;
		f.Den = 1;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_PLAY_FULLSCREEN:
		if (p->Player->Get(p->Player,PLAYER_STREAMING,&b,sizeof(b))==ERR_NONE && b)
			ToggleFullScreen(p,-1,0);
		else
		if (!(p->Player->Get(p->Player,PLAYER_FULLSCREEN,&b,sizeof(b))==ERR_NONE && b) &&
			!(p->Player->Get(p->Player,PLAYER_PLAY,&b,sizeof(b))==ERR_NONE && b))
		{
			ToggleFullScreen(p,1,0);
			Toggle(p,PLAYER_PLAY,1);
		}
		else
		{
			Toggle(p,PLAYER_PLAY,0);
			ToggleFullScreen(p,0,0);
		}
		break;

	case IF_MOVE_FFWD:
		SetKeyInSeek(p);
		p->Player->Set(p->Player,PLAYER_MOVEFFWD,NULL,0);
		break;

	case IF_MOVE_BACK:
		SetKeyInSeek(p);
		p->Player->Set(p->Player,PLAYER_MOVEBACK,NULL,0);
		break;

	case IF_NEXT2:
	case IF_NEXT:
		p->Player->Set(p->Player,PLAYER_NEXT,NULL,0);
		break;

	case IF_PREV_SMART:
	case IF_PREV_SMART2:
		p->Player->Set(p->Player,PLAYER_PREV,NULL,1);
		break;

	case IF_PREV:
		p->Player->Set(p->Player,PLAYER_PREV,NULL,0);
		break;

	case IF_PLAYPAUSE:
	case IF_PLAY:
		p->Play = -1; // force button refresh
		Toggle(p,PLAYER_PLAY,-1);
		break;

	case IF_FASTFORWARD:
		p->FFwd = -1; // force button refresh
		Toggle(p,PLAYER_FFWD,-1);
		break;

	case IF_FILE_BENCHMARK:
		if (!ToggleFullScreen(p,1,0))
		{
			if (p->WndTrack)
				SetTrackThumb(p->WndTrack,0);
			WaitBegin();
		}
		UpdateWindow(p->Win.Wnd);
		t = 0;
		p->Player->Set(p->Player,PLAYER_BENCHMARK,&t,sizeof(t));
		p->Bench = 1;
		break;

	case IF_STOP:
		p->Player->Set(p->Player,PLAYER_STOP,NULL,0);
		f.Num = 0;
		f.Den = 1;
		p->Player->Set(p->Player,PLAYER_PERCENT,&f,sizeof(f));
		break;

	case IF_FILE_OPENFILE:
		p->CmdLineMode = 0;

		Node = NodeCreate(OPENFILE_ID);
		i = 0;
		Node->Set(Node,OPENFILE_FLAGS,&i,sizeof(i));
		i = MEDIA_CLASS;
		Node->Set(Node,OPENFILE_CLASS,&i,sizeof(i));

		UpdateHotKey(p,0,1);
		i = ((win*)Node)->Popup((win*)Node,&p->Win);
		NodeDelete(Node);
		if (i==2)
		{
			UpdateWindow(p->Win.Wnd);
			i=0;
			p->Player->Set(p->Player,PLAYER_LIST_CURRIDX,&i,sizeof(i));
		}
		break;

	case IF_FILE_CORETHEQUE:
		WinPopupClass(CORETHEQUE_UI_ID,&p->Win);
		
		p->Player->Set(p->Player,PLAYER_UPDATEVIDEO,NULL,0); 
		break;

	case IF_FILE_ABOUT:
		WinPopupClass(ABOUT_ID,&p->Win);
		break;

	case IF_OPTIONS_SETTINGS:
		UpdateHotKey(p,0,1);
		p->AllKeysWarning = 1;
		WinPopupClass(SETTINGS_ID,&p->Win);
		p->AllKeysWarning = 0;

		p->Player->Set(p->Player,PLAYER_UPDATEVIDEO,NULL,0); 
		break;

	case IF_FILE_PLAYLIST:
		WinPopupClass(PLAYLIST_ID,&p->Win);
		break;

	case IF_FILE_MEDIAINFO:
		WinPopupClass(MEDIAINFO_ID,&p->Win);
		break;

	case IF_FILE_EXIT:
		// just to be sure to stop overlay update (WM_DESTROY comes after window is hidden)
		BeforeExit(p);
		DestroyWindow(p->Win.Wnd);
		break;

	case IF_OPTIONS_REPEAT:
		Toggle(p,PLAYER_REPEAT,-1);
		break;

	case IF_OPTIONS_SHUFFLE:
		Toggle(p,PLAYER_SHUFFLE,-1);
		break;

	case IF_OPTIONS_EQUALIZER:
		p->Equalizer->Get(p->Equalizer,EQUALIZER_ENABLED,&b,sizeof(b));
		b = !b;
		p->Equalizer->Set(p->Equalizer,EQUALIZER_ENABLED,&b,sizeof(b));
		//p->Player->Set(p->Player,PLAYER_RESYNC,NULL,0);
		break;

	case IF_OPTIONS_SKIN:

		Node = NodeCreate(OPENFILE_ID);
		if (Node)
		{
			i = OPENFLAG_SINGLE;
			Node->Set(Node,OPENFILE_FLAGS,&i,sizeof(i));
			i = SKIN_CLASS;
			Node->Set(Node,OPENFILE_CLASS,&i,sizeof(i));
			i = ((win*)Node)->Popup((win*)Node,&p->Win);
			NodeDelete(Node);
			if (i==1)
			{
				p->SkinPath[0] = 0;
				UpdateSkinFile(p);
			}
		}
		break;


	case IF_OPTIONS_FULLSCREEN:
		p->FullScreen = -1; // force button refresh
		ToggleFullScreen(p,-1,1);
		break;

	case IF_OPTIONS_MUTE:
		p->Mute = -1; // force button refresh
		if (p->Player->Get(p->Player,PLAYER_VOLUME,&i,sizeof(i))==ERR_NONE && i==0)
		{
			i = 1;
			p->Player->Set(p->Player,PLAYER_VOLUME,&i,sizeof(i));
		}
		Toggle(p,PLAYER_MUTE,-1);
		UpdateVolume(p);
		break;

	case IF_OPTIONS_VIDEO_DITHER:
		p->Color->Get(p->Color,COLOR_DITHER,&b,sizeof(b));
		b = !b;
		p->Color->Set(p->Color,COLOR_DITHER,&b,sizeof(b));
		break;

	case IF_OPTIONS_ROTATE:
		p->Player->Get(p->Player,PLAYER_FULL_DIR,&i,sizeof(i));
		switch (i)
		{
		case 0:	i = DIR_SWAPXY | DIR_MIRRORLEFTRIGHT; break;
		case DIR_SWAPXY | DIR_MIRRORLEFTRIGHT: i = DIR_MIRRORUPDOWN | DIR_MIRRORLEFTRIGHT; break;
		case DIR_MIRRORUPDOWN | DIR_MIRRORLEFTRIGHT: i = DIR_SWAPXY | DIR_MIRRORUPDOWN; break;
		case DIR_SWAPXY | DIR_MIRRORUPDOWN:	i = 0; break;
		default: i = 0; break;
		}
		p->Player->Set(p->Player,PLAYER_FULL_DIR,&i,sizeof(i));
		p->Player->Get(p->Player,PLAYER_SKIN_DIR,&i,sizeof(i));
		switch (i)
		{
		case 0:	i = DIR_SWAPXY | DIR_MIRRORLEFTRIGHT; break;
		case DIR_SWAPXY | DIR_MIRRORLEFTRIGHT: i = DIR_MIRRORUPDOWN | DIR_MIRRORLEFTRIGHT; break;
		case DIR_MIRRORUPDOWN | DIR_MIRRORLEFTRIGHT: i = DIR_SWAPXY | DIR_MIRRORUPDOWN; break;
		case DIR_SWAPXY | DIR_MIRRORUPDOWN:	i = 0; break;
		default: i = 0; break;
		}
		p->Player->Set(p->Player,PLAYER_SKIN_DIR,&i,sizeof(i));
		break;

	case IF_OPTIONS_ROTATE_GUI:
		i = -1;
		p->Player->Set(p->Player,PLAYER_FULL_DIR,&i,sizeof(i));
		break;

	case IF_OPTIONS_ROTATE_0:
		i = 0;
		p->Player->Set(p->Player,PLAYER_FULL_DIR,&i,sizeof(i));
		break;

	case IF_OPTIONS_ROTATE_270:
		i = DIR_SWAPXY | DIR_MIRRORUPDOWN;
		p->Player->Set(p->Player,PLAYER_FULL_DIR,&i,sizeof(i));
		break;

	case IF_OPTIONS_ROTATE_180:
		i = DIR_MIRRORUPDOWN | DIR_MIRRORLEFTRIGHT;
		p->Player->Set(p->Player,PLAYER_FULL_DIR,&i,sizeof(i));
		break;

	case IF_OPTIONS_ROTATE_90:
		i = DIR_SWAPXY | DIR_MIRRORLEFTRIGHT;
		p->Player->Set(p->Player,PLAYER_FULL_DIR,&i,sizeof(i));
		break;

	case IF_OPTIONS_ASPECT_AUTO:
		f.Num = 0;
		f.Den = 1;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ASPECT_SQUARE:
		f.Num = 1;
		f.Den = 1;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ASPECT_4_3_SCREEN:
		f.Num = -4;
		f.Den = 3;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ASPECT_4_3_NTSC:
		f.Num = 10;
		f.Den = 11;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ASPECT_4_3_PAL:
		f.Num = 12;
		f.Den = 11;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ASPECT_16_9_SCREEN:
		f.Num = -16;
		f.Den = 9;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ASPECT_16_9_NTSC:
		f.Num = 40;
		f.Den = 33;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ASPECT_16_9_PAL:
		f.Num = 16;
		f.Den = 11;
		p->Player->Set(p->Player,PLAYER_ASPECT,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_FIT_SCREEN:
		f.Num = 0;
		f.Den = 1;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_STRETCH_SCREEN:
		f.Num = -3;
		f.Den = SCALE_ONE;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_FILL_SCREEN:
		f.Num = -4;
		f.Den = SCALE_ONE;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_VIEW_TITLEBAR:
		p->TitleBar = !p->TitleBar;
		UpdateTitleBar(p,1);
		break;

	case IF_OPTIONS_VIEW_TASKBAR:
		p->TaskBar = !p->TaskBar;
		UpdateTaskBar(p);
		break;

	case IF_OPTIONS_VIEW_TRACKBAR:
		p->TrackBar = !p->TrackBar;
		UpdateTrackBar(p,1);
		break;

	case IF_OPTIONS_ZOOM_50:
		f.Num = 1;
		f.Den = 2;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_100:
		f.Num = 1;
		f.Den = 1;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_FIT_110:
		f.Num = -11;
		f.Den = 10;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_FIT_120:
		f.Num = -12;
		f.Den = 10;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_FIT_130:
		f.Num = -13;
		f.Den = 10;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_150:
		f.Num = 3;
		f.Den = 2;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_ZOOM_200:
		f.Num = 2;
		f.Den = 1;
		p->Player->Set(p->Player,PLAYER_FULL_ZOOM,&f,sizeof(f));
		p->Player->Set(p->Player,PLAYER_SKIN_ZOOM,&f,sizeof(f));
		break;

	case IF_OPTIONS_VIDEO_ZOOM_SMOOTH50:
		Toggle(p,PLAYER_SMOOTH50,-1);
		Toggle(p,PLAYER_SMOOTHALWAYS,0);
		break;

	case IF_OPTIONS_VIDEO_ZOOM_SMOOTHALWAYS:
		Toggle(p,PLAYER_SMOOTHALWAYS,-1);
		Toggle(p,PLAYER_SMOOTH50,0);
		break;

	case IF_OPTIONS_AUDIO_STEREO:
		i = STEREO_NORMAL;
		p->Player->Set(p->Player,PLAYER_STEREO,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_STEREO_SWAPPED:
		i = STEREO_SWAPPED;
		p->Player->Set(p->Player,PLAYER_STEREO,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_STEREO_JOINED:
		i = STEREO_JOINED;
		p->Player->Set(p->Player,PLAYER_STEREO,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_STEREO_LEFT:
		i = STEREO_LEFT;
		p->Player->Set(p->Player,PLAYER_STEREO,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_STEREO_RIGHT:
		i = STEREO_RIGHT;
		p->Player->Set(p->Player,PLAYER_STEREO,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_PREAMP_INC:
		p->Player->Get(p->Player,PLAYER_PREAMP,&i,sizeof(i));
		i += 25;
		if (i>200) i=200;
		p->Player->Set(p->Player,PLAYER_PREAMP,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_PREAMP_DEC:
		p->Player->Get(p->Player,PLAYER_PREAMP,&i,sizeof(i));
		i -= 25;
		if (i<-200) i=-200;
		p->Player->Set(p->Player,PLAYER_PREAMP,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_PREAMP:
		i = 0;
		p->Player->Set(p->Player,PLAYER_PREAMP,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_QUALITY_LOW:
		i = 0;
		p->Player->Set(p->Player,PLAYER_AUDIO_QUALITY,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_QUALITY_MEDIUM:
		i = 1;
		p->Player->Set(p->Player,PLAYER_AUDIO_QUALITY,&i,sizeof(i));
		break;

	case IF_OPTIONS_AUDIO_QUALITY_HIGH:
		i = 2;
		p->Player->Set(p->Player,PLAYER_AUDIO_QUALITY,&i,sizeof(i));
		break;

	case IF_OPTIONS_VIDEO_QUALITY_LOWEST:
		i = 0;
		p->Player->Set(p->Player,PLAYER_VIDEO_QUALITY,&i,sizeof(i));
		p->Player->Set(p->Player,PLAYER_RESYNC,NULL,0);
		break;

	case IF_OPTIONS_VIDEO_QUALITY_LOW:
		i = 1;
		p->Player->Set(p->Player,PLAYER_VIDEO_QUALITY,&i,sizeof(i));
		p->Player->Set(p->Player,PLAYER_RESYNC,NULL,0);
		break;

	case IF_OPTIONS_VIDEO_QUALITY_NORMAL:
		i = 2;
		p->Player->Set(p->Player,PLAYER_VIDEO_QUALITY,&

⌨️ 快捷键说明

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