Making a Crestron Module for HTTP API Control
#11
5. Key calls
//*******************************************************************************************/
PUSH Key
{
INTEGER index;
STRING Temp$[255];
SIGNED_INTEGER Status;

If(PcPowerOffWaitFlag) ReTimeWait(300, PcPowerOffWait);
If(CommBusy) Terminateevent;
index = GetLastModifiedArrayIndex();
print("BtnPress=%u\n", index);
Switch(index)
{
Case(1): Call Connect("ExecBuiltIn(Action(Stop))", 0);
Case(2): Call Connect("getGUIStatus", 0);
Case(3): { Call Connect("ExecBuiltIn(Action(Pause))", 0); PlayingSpeed$ = "1x"; }
Case(4):
{
IF(PlaySpeed<1) PlaySpeed=1;
Else PlaySpeed=PlaySpeed*2;
IF(PlaySpeed>32) PlaySpeed=32;
Makestring(Temp$, "SetPlaySpeed(%d)", PlaySpeed);
Makestring(PlayingSpeed$, "%ux", PlaySpeed);
Switch(PlaySpeed)
{
Case(1): TransportIcon=1;
Case(2): TransportIcon=4; Case(4): TransportIcon=5; Case(8): TransportIcon=6; Case(16): TransportIcon=7; Case(32): TransportIcon=8;
Case(-2): TransportIcon=9; Case(-4): TransportIcon=10; Case(-8): TransportIcon=11; Case(-16): TransportIcon=12; Case(-32): TransportIcon=13;
}
Call Connect(Temp$, 0);
}
Case(5):
{
IF(PlaySpeed=0) PlaySpeed=-1;
IF(PlaySpeed=1) PlaySpeed=-1;
IF(PlaySpeed>0) PlaySpeed=1;
Else PlaySpeed=PlaySpeed*2;
IF(PlaySpeed<-32) PlaySpeed=-32;
Makestring(Temp$, "SetPlaySpeed(%d)", PlaySpeed);
Makestring(PlayingSpeed$, "%dx", PlaySpeed);
Switch(PlaySpeed)
{
Case(1): TransportIcon=1;
Case(2): TransportIcon=4; Case(4): TransportIcon=5; Case(8): TransportIcon=6; Case(16): TransportIcon=7; Case(32): TransportIcon=8;
Case(-2): TransportIcon=9; Case(-4): TransportIcon=10; Case(-8): TransportIcon=11; Case(-16): TransportIcon=12; Case(-32): TransportIcon=13;
}
Call Connect(Temp$, 0);
}
Case(6):
{
If(PlayFb) {PlaySpeed=1; Makestring(PlayingSpeed$, "%ux", PlaySpeed); Call Connect("SetPlaySpeed(1)", 0); }
If(PauseFb || StopFb){Call Connect("ExecBuiltIn(Action(Play))", 0); PlayingSpeed$ = "1x"; }
}
Case(7): Call Connect("SendKey(0xF051)", 0); //esc

Case(8): Call SendLyrics(1);
Case(9): Call SendLyrics(2);
Case(10): Call Connect("ExecBuiltIn(Action(AspectRatio))", 0);
Case(11): Call Connect("ExecBuiltIn(Action(PreviousMenu))", 0);
Case(12):
{
If(ActiveWindow=10025)
{
If(VideoNavHighlightFb) Call Connect("ExecBuiltIn(Action(Info))", 0);
Else { Call SendEventServer("up", BtnPress); }
}
Else Call Connect("ExecBuiltIn(Action(Info))", 0);
}
Case(13): Call Connect("ExecBuiltIn(Action(ShowSubtitles))", 0);
Case(14): Call Connect("ExecBuiltIn(Action(NextSubtitle))", 0);//
Case(15): Call Connect("ExecBuiltIn(Action(AudioNextLanguage))", 0);//
Case(16): Call Connect("ExecBuiltIn(Action(AudioDelayPlus))", 0);//
Case(17): Call Connect("ExecBuiltIn(Action(AudioDelayMinus))", 0);//
Case(18): Call Connect("ExecBuiltIn(Action(SubtitleDelayPlus))", 0);//
Case(19): Call Connect("ExecBuiltIn(Action(SubtitleDelayMinus))", 0);//
Case(20): Call SendEventServer("up", BtnPress);
Case(21):
{
If(ActiveWindow=10025)
{
If(VideoNavHighlightFb) Call SendEventServer("down", BtnPress);
}
Else Call SendEventServer("down", BtnPress);
}
Case(22):
{
If(!(ActiveWindow=10502 && ControlId=50) && !(ActiveWindow=10502 && ControlId=506))
{
Call SendEventServer("left", BtnPress);
}
}
Case(23):
{
If(!(ActiveWindow=10502 && ControlId=50) && !(ActiveWindow=10502 && ControlId=506))
{
Call SendEventServer("right", BtnPress);
}
}
Case(24):
{
If(HaltSelect = 0)
{
If(ActiveWindow=10025)
{
If(VideoNavHighlightFb) { Call SendEventServer("return", BtnPress); }
Else { Call SendEventServer("up", BtnPress); }
}
Else { If(ActiveWindow<>12005 && ActiveWindow<>12006) Call SendEventServer("return", BtnPress); }
}
Else Wait(200) {HaltSelect = 0;}
}
Case(25): Call SendEventServer("pageup", BtnPress); //Call Connect("ExecBuiltIn(Action(PageUp))", 0);//
Case(26): Call SendEventServer("pagedown", BtnPress); //Call Connect("ExecBuiltIn(Action(PageDown))", 0);//
Case(27): Call Connect("ExecBuiltIn(Action(Highlight))", 0);//
Case(28): Call Connect("ExecBuiltIn(Action(ParentDir))", 0);//
Case(29): Call Connect("ExecBuiltIn(Action(OSD))", 0);//
Case(30): Call Connect("ExecBuiltIn(Action(ShowVideoMenu))", 0);
Case(31): Call Connect("ExecBuiltIn(Action(ContextMenu))", 0);
Case(32): Call Connect("ExecBuiltIn(Action(NextPicture))", 0);
Case(33): Call Connect("ExecBuiltIn(Action(PreviousPicture))", 0);
Case(34): Call Connect("ExecBuiltIn(Action(ZoomOut))", 0);
Case(35): Call Connect("ExecBuiltIn(Action(ZoomIn))", 0);
Case(36): Call Connect("ExecBuiltIn(Action(ZoomNormal))", 0);
Case(37): Call Connect("ExecBuiltIn(Action(Rotate))", 0);
Case(38): Call Connect("ExecBuiltIn(Action(FullScreen))", 0);
Case(39): Call Connect("ExecBuiltIn(Action(ShowTime))", 0);
Case(40): Call Connect("ExecBuiltIn(Action(NextLetter))", 0);
Case(41): Call Connect("ExecBuiltIn(Action(PrevLetter))", 0);
Case(42): Call Connect("ExecBuiltIn(ActivateWindow(musiclibrary,artists,12600))", 0); //ActivateWindow(10025,movietitles))
Case(43): Call Connect("ExecBuiltIn(ActivateWindow(musiclibrary,albums,12600))", 0);//10502,albums)
Case(44): Call Connect("ExecBuiltIn(ActivateWindow(musiclibrary,genres,12600))", 0); //(10002)
Case(45): Call Connect("ExecBuiltIn(ActivateWindow(Weather, 12600))", 0);//10000)
Case(46): Call Connect("ExecBuiltIn(Action(StepForward))", 0);
Case(47): Call Connect("ExecBuiltIn(Action(StepBack))", 0);
Case(48): Call Connect("ExecBuiltIn(Action(BigStepForward))", 0);
Case(49): Call Connect("ExecBuiltIn(Action(BigStepBack))", 0);
Case(50): Call Connect("ExecBuiltIn(Action(SmallStepBack))", 0);
Case(51): Call Connect("ExecBuiltIn(Action(SkipNext))", 0);
Case(52): Call Connect("ExecBuiltIn(Action(SkipPrevious))", 0);
Case(53): Call Connect("ExecBuiltIn(Action(CodecInfo))", 0);
Case(54): Call Connect("ExecBuiltIn(Action(Number0))", 0);
Case(55): Call Connect("ExecBuiltIn(Action(Number1))", 0);
Case(56): Call Connect("ExecBuiltIn(Action(Number2))", 0);
Case(57): Call Connect("ExecBuiltIn(Action(Number3))", 0);
Case(58): Call Connect("ExecBuiltIn(Action(Number4))", 0);
Case(59): Call Connect("ExecBuiltIn(Action(Number5))", 0);
Case(60): Call Connect("ExecBuiltIn(Action(Number6))", 0);
Case(61): Call Connect("ExecBuiltIn(Action(Number7))", 0);
Case(62): Call Connect("ExecBuiltIn(Action(Number8))", 0);
Case(63): Call Connect("ExecBuiltIn(Action(Number9))", 0);
Case(64): Call Connect("ExecBuiltIn(Action(Play))", 0);
Case(65): Call Connect("ExecBuiltIn(Action(HideSubmenu))", 0);
Case(66): Call Connect("ExecBuiltIn(Action(NextResolution))", 0);
Case(67): Call Connect("ExecBuiltIn(Action(ResetCalibration))", 0);
Case(68): Call Connect("ExecBuiltIn(Action(Close))", 1);
Case(69): Call Connect("SetVolume(75)", 0);
Case(70): Call Connect("SetVolume(100)", 0);
Case(71): Call Connect("ExecBuiltIn(Container.NextViewMode)", 0);
Case(72): Call Connect("ExecBuiltIn(Container.PreviousViewMode)", 0);
Case(73): Call Connect("ExecBuiltIn(Container.NextSortMethod)", 0);
Case(74): Call Connect("ExecBuiltIn(Container.PreviousSortMethod)", 0);
Case(75): Call Connect("ExecBuiltIn(Container.SortDirection)", 0);
Case(76): Call Connect("ExecBuiltIn(EjectTray())", 0);
Case(77): Call Connect("getcurrentlyplaying", 0);
Case(78): Call Connect("ExecBuiltIn(ActivateWindow(videolibrary,tvshowtitles))", 0);
Case(79): Call Connect("Action(142)", 0);
Case(80): Call Connect("Action(143)", 0);
Case(81): Call Connect("Action(144)", 0);
Case(82): Call Connect("Action(145)", 0);
Case(83): Call Connect("Action(146)", 0);
Case(84): Call Connect("Action(147)", 0);
Case(85): Call Connect("Action(148)", 0);
Case(86): Call Connect("Action(149)", 0);
Case(87): Call Connect("ExecBuiltIn(Action(SmallStepForward))", 0);
Case(88):
{
Makestring(Temp$, "ExecBuiltIn(ActivateWindow(10002,%s))", CurrFolderPath[CurrFolder]);
CurrXbmcWindow = 5;
Temp$ = RepleaceSpace(Temp$);
Call Connect(Temp$, 1);
}
Case(89): Call Connect("ExecBuiltIn(PlayerControl(RandomOn))", 0);
Case(90): Call Connect("ExecBuiltIn(PlayerControl(RandomOff))", 0);
Case(91): Call Connect("ExecBuiltIn(PlayerControl(RepeatOne))", 0);
Case(92): Call Connect("ExecBuiltIn(PlayerControl(RepeatAll))", 0);
Case(93): Call Connect("ExecBuiltIn(PlayerControl(RepeatOff))", 0);
Case(94): Call Connect("Action(200)", 0);
Case(95):
{
If(VideoNavHighlightFb=0 && ActiveWindow=10025) { Call SendEventServer("up", BtnPress); Delay(20); }
Call SendEventServer("backspace", BtnPress); //Call Connect("Action(9)", 0);//bkspc
}
Case(96): Call Connect("ExecBuiltIn(ActivateWindow(musiclibrary,lastfm://,12600))", 0);
Case(97): Call Connect("ExecBuiltIn(ActivateWindow(10000))", 1);//home Call SendEventServer("escape", BtnPress); //
}
}
Reply


Messages In This Thread
[No subject] - by greatant1337 - 2009-10-10, 01:58
[No subject] - by Legdiian - 2009-10-10, 02:59
Crestron Module - by nightwolf - 2010-04-20, 19:48
[No subject] - by Kabooga - 2010-04-21, 19:51
Crestron Interface - by tzya - 2010-06-14, 07:43
RE: Crestron Interface - by Cpassow - 2019-07-06, 21:03
[No subject] - by casentis - 2010-06-14, 12:47
[No subject] - by nightwolf - 2010-06-16, 04:58
Crestron Connection sample code - by tzya - 2010-06-16, 05:58
Crestron Code #2 - by tzya - 2010-06-16, 06:00
Crestron Code #3 - by tzya - 2010-06-16, 06:01
[No subject] - by nicola_leo - 2010-06-16, 20:46
[No subject] - by dacookster - 2010-06-21, 19:38
[No subject] - by dacookster - 2010-06-21, 21:11
[No subject] - by nightwolf - 2010-06-28, 00:22
[No subject] - by djatwork - 2010-07-05, 22:33
Rest of code? - by ppmcbiggs - 2010-07-16, 21:41
[No subject] - by bufferbuilder - 2010-07-16, 23:23
Crestron Simpl+ - by slimdog420 - 2010-08-01, 19:32
[No subject] - by Nero81 - 2010-08-03, 17:22
[No subject] - by slimdog420 - 2010-08-05, 18:03
[No subject] - by tyra - 2010-08-14, 08:56
[No subject] - by tyra - 2010-08-14, 08:57
[No subject] - by slimdog420 - 2010-08-16, 21:35
[No subject] - by slimdog420 - 2010-08-17, 05:41
[No subject] - by ncarthy - 2010-08-20, 02:18
[No subject] - by ncarthy - 2010-08-23, 13:08
[No subject] - by slimdog420 - 2010-08-24, 06:33
[No subject] - by Nero81 - 2010-08-24, 17:04
[No subject] - by ncarthy - 2010-08-24, 23:40
[No subject] - by thedroid - 2010-08-30, 05:03
New JSON module - by ncarthy - 2010-09-03, 01:58
[No subject] - by thedroid - 2010-09-03, 06:47
[No subject] - by ncarthy - 2010-09-03, 14:23
Corrected link - by ncarthy - 2010-09-04, 20:05
!!!! - by dacookster - 2010-09-22, 17:02
[No subject] - by ncarthy - 2010-09-27, 01:22
crestron module - by cruzinbum - 2010-11-14, 04:50
great - by Vultures - 2010-11-14, 06:56
[No subject] - by manulight - 2010-12-05, 01:34
[No subject] - by manulight - 2011-01-06, 22:47
Crestron JSON xbmc module - by ncarthy - 2011-01-06, 23:38
[No subject] - by KeN Rogiers - 2011-09-14, 16:15
Logout Mark Read Team Forum Stats Members Help
Making a Crestron Module for HTTP API Control0