//*************************************************************************** // Windows Media Player, Marmot2' mod // + изменены многие управляющие клавиши(для лучшего использования на Motorola) // + добавлена возможность переключения из полного режима в режим обложки и наоборот // + соответственно исправлена справка //*************************************************************************** etIgnore = 0; etActivate = 1; etBegin = 2; etEnd = 3; etKeyPress = 4; etKeyRelease = 5; etIntegerInput = 6; etBack = 7; etTimer = 8; etNext = 9; stNormal = 0; stHelp = 1; stFull = 0x000; stSkin = 0x100; showDialog = false; wmpPath = getEnvironmentString("ProgramFiles") # "\Windows Media Player\wmplayer.exe"; windowClassName = "WMPlayerApp"; window = Windows.findWindow(windowClassName); //--- Попытка активизировать окно Media Player ---- //window.postMessage(0x01C,true); //window.postMessage(0x800c,0,0); //window.postMessage(0x0A0,0,0); //window.postMessage(0x086,true,0); //window.postMessage(0x046,0,0); //window.postMessage(0x047,0,0); //window.postMessage(0x007,0,0); //window.postMessage(0x003,0,0); //window.postMessage(0x0112,0xF012,0x0019021C); if(ExecuteData.type == etActivate) { showDialog = true; RemoteController.setStore(stNormal&stFull); //при активизации считаем, что мы находимся в Полном режиме } else if(ExecuteData.type == etBegin) { RemoteController.startTimer(500); } else if(ExecuteData.type == etEnd) { RemoteController.stopTimer(); } else if(ExecuteData.type == etTimer) { showDialog = true; } if(!window) { if(ExecuteData.type == etBack) return; if(ExecuteData.type == etNext) { RemoteController.showProgress("Launching..."); if(!Windows.open(wmpPath)) { RemoteController.showDialog("Media Player not installed"); RemoteController.stopTimer(); return; } for(i = 0; i < 20; i += 1) { window = Windows.findWindow(windowClassName); if(window) break; Windows.sleep(400); } showDialog = true; } } else if(RemoteController.store&0x00FF == stNormal) { if(ExecuteData.type == etBack) return; if(ExecuteData.type == etNext) { // Play/Pause window.postMessage(0x111, 18808, 0); showDialog = true; } else if(ExecuteData.type == etKeyPress) { //--мой добавочный блок-- if(ExecuteData.keyID == "5") { // Play/Pause window.postMessage(0x111, 18808, 0); } if(ExecuteData.keyID == "*") { // Перекл. режима Полного/режима обложки state=RemoteController.store; if (state>0x00FF) { RemoteController.setStore(state&0x00FF+stFull); window.postMessage(0x111, 18780,0);} else { RemoteController.setStore(state+stSkin); window.postMessage(0x111, 18781,0);} } //--далее здесь некоторые пункты переделаны if(ExecuteData.keyID == "1") { // Rewind window.postMessage(0x111, 18812, 0); } else if(ExecuteData.keyID == "3") { // Fast Forward window.postMessage(0x111, 18813, 0); } else if(ExecuteData.keyID == "2") { // Stop window.postMessage(0x111, 18809, 0); } else if(ExecuteData.keyID == "^"||ExecuteData.keyID == "4") { // Previous window.postMessage(0x111, 18810, 0); } else if(ExecuteData.keyID == "v"||ExecuteData.keyID == "6") { // Next window.postMessage(0x111, 18811, 0); } else if(ExecuteData.keyID == ">" || ExecuteData.keyID == "9") { // Volume Up window.postMessage(0x111, 18815, 0); } else if(ExecuteData.keyID == "<" || ExecuteData.keyID == "7") { // Volume Down window.postMessage(0x111, 18816, 0); } else if(ExecuteData.keyID == "#") { // Full screen toggle window.postMessage(0x111, 18782, 0); } else if(ExecuteData.keyID == "8") { // Mute window.postMessage(0x111, 18817, 0); } else if(ExecuteData.keyID == "f") { // Help! RemoteController.setStore((RemoteController.store&0xFF00)+stHelp); showDialog = true; } } else if(ExecuteData.type == etKeyRelease) { if(ExecuteData.keyID == "1") { window.postMessage(0x111, 18812, 0); } else if(ExecuteData.keyID == "3") { window.postMessage(0x111, 18813, 0); } } } else if(RemoteController.store&0x00FF == stHelp) { if(ExecuteData.type == etTimer) return; if(ExecuteData.type == etBack || ExecuteData.type == etNext) { showDialog = true; RemoteController.setStore((RemoteController.store&0xFF00)+stNormal); } } if(showDialog) { if(!window) { RemoteController.showDialog("Press OK to launch Windows Media Player"); } else if(RemoteController.store&0x00FF == stNormal) { RemoteController.showDialog("Media Player" # crlf # "([fire] for help)"); } else if(RemoteController.store&0x00FF == stHelp) { RemoteController.showText("Media Player", "OK,5: Play/Pause" # crlf # "2: Stop" # crlf # "1,3: Rewind/Fast Forward" # crlf # "^ or 4,v or 6: Previous/Next Track/Chapter" # crlf # "< or 7,> or 9: Volume Down/Up" # crlf # "8: Toggle mute" # crlf # "*: Toggle full/skin mode" # crlf # "#: Toggle fullscreen"); } else { RemoteController.showDialog("Unknown state"); } } //***************************************************************************