%
% anyremote configuration file for kmplayer management. (Server-mode)
% prerequisites: kmplayer, amixer/pactl utility
% 
%

% STATUS stable
% XTEST no
% SOUND mixer
% ENV no
% FBROWSER v.4i
% DEF_VIDEO_PLAYER   
% ALL_IN_ONE 
% MEDIACENTER video

GuiAppName=Kmplayer
GuiAppBinary=kmplayer
GuiAppRun=echo 'A=`qdbus 2> /dev/null|grep kmplayer`; if [ "x$A" = "x" ]; then echo NOK; else echo OK; fi'|sh -s
GuiAppIcon=kmplayer.png
GuiAppType=Application
GuiAppProtocols=Server
GuiAppDesc=Media Player for KDE

[Protocol]=Server

(Init)=\
	Include($(CfgDir)/Utils/aliases-server.cfg);\
	Macro(SETUP_DEFAULT_MIXER);\
	Include($(CfgDir)/Utils/aliases-server-fbrowser-v4i.cfg);\
	Macro(FBROWSER_IC_INIT);\
	Include($(CfgDir)/Utils/aliases-server-video-player.cfg);\
	Make(var,kde4_app,by_value,kmplayer);\
	Macro(TEST_KDE4_APP);\
	Make(var,app_name,by_value,KMplayer);\
	Make(var,do_app_init,by_value,1);\
	Make(var,open_file,by_value,);\
	Make(var,kmplayer_layout,\
	     V=`$(CfgDir)/Utils/registry.sh $(TmpDir) get kmplayer_layout`;\
	     if [ "x$V" = "x" ]; then echo "3x4"; else echo $V; fi);\
	Make(var,app_manage_mode,by_value,kmplayer_$(kmplayer_layout));

(Exit)=\
	Macro(FBROWSER_IC_EXIT);\
	Exec($(CfgDir)/Utils/registry.sh $(TmpDir) set kmplayer_layout $(kmplayer_layout));

(Connect)=\
	Make(mode,kmplayer_init);

[Mode]=kmplayer_init : default_video_player_init

APP_IS_RUN=\
	Make(var,app_run,A=`qdbus 2> /dev/null|grep kmplayer`; if [ "x$A" = "x" ]; then echo 0; else echo 1; fi);

[ModeEnd]

[Mode]=kmplayer_general

APP_START_IF=\
	Set(title,$(open_file));\
	Exec(P=`qdbus|grep kmplayer`;\
	     if [ "x$P" = "x" ]; then cd "$(fbrowser_dir)"; kmplayer $(open_file) 2> /dev/null & fi);

% Application window should be present in output of "wmctrl -l"
APP_RAISE=\
	Exec($(CfgDir)/Utils/run-or-switch-to.sh -switch kmplayer);

APP_QUIT=\
	Exec(qdbus `qdbus|grep kmplayer` /MainApplication org.kde.KApplication.quit);

APP_FULLSCREEN=\
	Exec(qdbus `qdbus|grep kmplayer` /kmplayer/MainWindow_1 org.kde.KMainWindow.activateAction view_fullscreen > /dev/null);

PLAY=\
	Exec(qdbus `qdbus|grep kmplayer` /kmplayer/MainWindow_1 org.kde.KMainWindow.activateAction play > /dev/null);

RWD=\
	Exec(KMP=`qdbus|grep kmplayer`;\
	     POS=`qdbus $KMP /KMPlayerPart org.freedesktop.DBus.Properties.Get org.kde.KMediaPlayer position`;\
	     NEWPOS=`expr $POS - 10000`;qdbus $KMP /KMPlayerPart org.kde.KMediaPlayer.seek $NEWPOS > /dev/null);

FF=\
	Exec(KMP=`qdbus|grep kmplayer`;\
	     POS=`qdbus $KMP /KMPlayerPart org.freedesktop.DBus.Properties.Get org.kde.KMediaPlayer position`;\
	     NEWPOS=`expr $POS + 10000`;qdbus $KMP /KMPlayerPart org.kde.KMediaPlayer.seek $NEWPOS > /dev/null);

STOP=\
	Exec(qdbus `qdbus|grep kmplayer` /kmplayer/MainWindow_1 org.kde.KMainWindow.activateAction stop > /dev/null);

PAUSE=\
	Exec(qdbus `qdbus|grep kmplayer` /kmplayer/MainWindow_1 org.kde.KMainWindow.activateAction pause > /dev/null);

Layout 3x4=\
	Make(mode,kmplayer_3x4);

Layout 5x1=\
	Make(mode,kmplayer_5x1);

[ModeEnd]

[Mode]=kmplayer_3x4 : kmplayer_general,default_video_player

APP_POST_SETUP=\
	Make(var,kmplayer_layout,by_value,3x4);\
	Make(var,app_manage_mode,by_value,kmplayer_$(kmplayer_layout));

APP_MENU=\
	Set(menu,replace,Layout 5x1,PowerMgmt);\
	Macro(ALLIN1MENU);\
	Macro(MEDIACENTER_MENU);

[ModeEnd]

[Mode]=kmplayer_5x1 : kmplayer_general,default_video_player_5x1 

APP_POST_SETUP=\
	Make(var,kmplayer_layout,by_value,5x1);\
	Make(var,app_manage_mode,by_value,kmplayer_$(kmplayer_layout));
APP_MENU=\
	Set(menu,replace,Help,Mute,Quit,Fullscreen,Files,Layout 3x4,IMDB,PowerMgmt);\
	Macro(ALLIN1MENU);\
	Macro(MEDIACENTER_MENU);
Fullscreen=\
	Macro(APP_FULLSCREEN);

[ModeEnd]

[End]
