📄 interface.c
字号:
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 + -