Плагин SlyControl 2.7.12 для управления программой GOTVIEW PRO
Скачать SlyControl и Help к нему можно на официальной странице, программа бесплатна для жителей России.
При этом тюнером можно управлять, даже если программа GoTView PRO свёрнута в трей или даже если вы запустили какую-нибудь игру.
ChannelUp - канал вперёд
ChannelDown - канал назад
ChannelPrev - предыдущий канал
Channel <№канала> - переключить на канал № [ синтаксис: GotViewTV("Channel", h) ]
Channel0 - переключить на канал №0
Channel1 - переключить на канал №1
Channel2 - переключить на канал №2
Channel3 - переключить на канал №3
Channel4 - переключить на канал №4
Channel5 - переключить на канал №5
Channel6 - переключить на канал №6
Channel7 - переключить на канал №7
Channel8 - переключить на канал №8
Channel9 - переключить на канал №9
Channel10 - переключить на канал №10
PIPStartStop - Включение PIP устройства
PIPChannelPlus - PIP канал вперед
PIPChannelMinus - PIP канал назад
PIPSwap - Обмен каналами основного и PIP устройства
PIPChannel0 - переключить PIP канал на №0
PIPChannel1 - переключить PIP канал на №1
PIPChannel2 - переключить PIP канал на №2
PIPChannel3 - переключить PIP канал на №3
PIPChannel4 - переключить PIP канал на №4
PIPChannel5 - переключить PIP канал на №5
PIPChannel6 - переключить PIP канал на №6
PIPChannel7 - переключить PIP канал на №7
PIPChannel8 - переключить PIP канал на №8
PIPChannel9 - переключить PIP канал на №9
PIPChannel10 - переключить PIP канал на №10
УПРАВЛЕНИЕ ЗВУКОМ
VolumeUp - увеличить громкость
VolumeDown - уменьшить громкость
MuteTrigger - триггер включения звука
MuteOn - выключить звук
MuteOff - включить звук
УПРАВЛЕНИЕ "ОТЛОЖЕННЫМ ПРОСМОТРОМ"
StartTimeShift - запуск режима "отложенного просмотра"
StopTimeShift - останов режима "отложенного просмотра"
TimeShiftForward - Перемотка отложенного просмотра вперед
TimeShiftBack - Перемотка отложенного просмотра назад
TimeShiftGoEnd - Перемотка отложенного просмотра в конец
TimeShiftGoBegin - Перемотка отложенного просмотра в начало
УПРАВЛЕНИЕ ЗАХВАТОМ
StartCaptureAvi - запуск захвата в avi
StopCaptureAvi - останов захвата в avi
PauseCaptureAvi - пауза захвата avi
ShowAvi - показ захватываемого/захваченного AVI файла
StartCaptureMpeg - запуск захвата в мпег
StopCaptureMpeg - останов захвата в мпег
PauseCaptureMpeg - пауза захвата в мпег
ShowMpeg - показ захватываемого/захваченного MPEG файла
StartCaptureWMV - запуск захвата в windows media
StopCaptureWMV - останов захвата в windows media
PauseCaptureWMV - пауза захвата в windows media
ShowWMV - показ захватываемого/захваченного WMV файла
StartCaptureWAV - запуск захвата звука в WAV
StopCaptureWAV - останов захвата в WAV
StartCaptureSnap - запуск захвата картинок
StopCaptureSnap - останов захвата картинок
Snapshot - одиночный скриншот
УПРАВЛЕНИЕ ОКНОМ
FullScreen - переключение в полный экран и обратно
FullScreenHS - переключение в полный экран и обратно/ спрятать<-->показать программу в FM-режиме
HideTrigger - спрятать<-->показать программу в TV - режиме
HideMe - спрятать программу
ShowMe - показать программу
MinimizeTrigger - минимизировать программу, триггер
MinimizeMe - минимизировать программу
TopMostTrigger - окно поверх всех других окон, триггер
TopMostOn - окно поверх всех других окон включить
TopMostOff - окно поверх всех других окон выключить
ПЕРЕКЛЮЧЕНИЕ ИСТОЧНИКА ВИДЕО И ТВ СТАНДАРТА
Source - переключение источника видео
SourceTV - переключить видео на TV
SourceAV - переключить видео на AV
SourceSVHS - переключить видео на SVHS
System - переключение ТВ стандарта
SystemNTSC - переключить стандарт на NTSC
SystemPAL - переключить стандарт на PAL
SystemSECAM - переключить стандарт на SECAM
УПРАВЛЕНИЕ ИЗОБРАЖЕНИЕМ
Size3x4 - установить пропорции окна как 3 к 4-м
SharpNessPlus - увеличить резкость
SharpNessMinus - уменьшить резкость
GammaPlus - увеличить гамму
GammaMinus - уменьшить гамму
BalancePlus - увеличить баланс белого
BalanceMinus - уменьшить баланс белого
BackLightCompPlus - увеличить компенсацию тылового света
BackLightCompMinus - уменьшить компенсацию тылового света
УПРАВЛЕНИЕ OSD
Menu - Меню
MenuNext - Вниз
MenuPrev - Вверх
MenuApply - Применить
MenuCansel - Отмена
EraseOSD - убрать OSD
РАЗНОЕ
Quit - Выход из программы
TV_FM - переключение TV <---> FM
ShutDownTimer - Установка таймера на отключение
Pause - Пауза просмотра
ShowTime - Показать время
StartCaptureEnet - запуск вещания по сети
StopCaptureEnet - останов вещания по сети
TVGuidNow - Показ ТВ программы "сейчас"
TVGuidNext - Показ ТВ программы "будет"
TVGuidPrev - Показ ТВ программы "было"
ВЫВЕСТИ ИНФОРМАЦИЮ О КАНАЛЕ В OSD:
h = GotViewTV.ActionManual()
OSD("%s", @2)
h можно использовать как флаг наличия видеоокна: h = 0 – видеоокно есть; h = 3 – видеоокно отсутствует. Чтобы отобразить в OSD значение h, нужно ввести
OSD("%d", h)
Соответствие кнопок пульта и функций (при желании, Вы можете их изменить):
| Кнопка пульта | Функция |
| Power | выключить GoTView PRO |
| Source | запустить GoTView PRO |
| 1 | переключить на 1-й канал |
| 2 | переключить на 2-й канал |
| 3 | переключить на 3-й канал |
| 4 | переключить на 4-й канал |
| 5 | переключить на 5-й канал |
| 6 | переключить на 6-й канал |
| 7 | переключить на 7-й канал |
| 8 | переключить на 8-й канал |
| 9 | переключить на 9-й канал |
| 0 | переключить на 0-й канал |
| CH_UP | спрятать программу |
| CH_DOWN | показать программу |
| Recall | предыдущий канал |
| Enter | информация о канале |
| Up | следующий канал |
| Down | предыдущий канал |
| Left | уменьшить громкость |
| Right | увеличить громкость |
| Menu | Меню |
| Capture | сделать одиночный снимок |
| Prev | перемотка назад при таймшифте |
| Next | перемотка вперёд при таймшифте |
| Display | переключить TV<-->FM |
| Timeshift | запустить таймшифт |
| Stop | остановить таймшифт |
| Pause | пауза при записи |
| Play | показ захватываемого/захваченного AVI файла |
| Rec/Play | захват WAV |
| Zoom | полный экран |
| MTS | показать время |
| Open | установить таймер на отключение |
| Record | захват AVI |
GotViewTV.ActionManual( <Command> )
или
GotViewTV( <Command> )
Примеры:
VolumeUp = Hook( "REMOTE", "VOL_UP", Enabled, Break ){
Break( VolumeUp < 0 )
GotViewTV.ActionManual("VolumeUp") #увеличить громкость
}
FullScreen = Hook( "REMOTE", "Zoom", Enabled, Break){
Break( FullScreen <> 0)
GotView("FullScreen") #на весь экран
}
Channel = Hook("REMOTE", "X", Enabled, Break){
Break( Channel<>0)
GotView("Channel", 17) #переключить на 17-й канал
}
Получить информацию о канале:
Recall = Hook( "REMOTE", "Recall", Enabled, Break ){
Break( Recall <> 0 )
GotViewTV("ChannelPrev") #предыдущий канал
EventSend("info","channel") #получить информацию о новом канале
}
#получить информацию о новом канале
InfoChannel = Hook("info","channel", Enabled, Break){
Break(InfoChannel<0)
h = GotViewTV.ActionManual()
Timer(300)
h = GotViewTV.ActionManual()
OSD("%s", @2)
}
Распакуйте архив GoTView.zip в папку C:\Program Files\SlyDiman . При этом Вам будет предложено заменить файлы, согласитесь заменить все.
Запустите SlyControl, при этом нужно будет ввести название текущего месяца маленькими русскими буквами. Перед Вами откроется следующее окно:
В нём выберите из списка GotView и поставьте напротив него «птичку», убедитесь в отсутствии «птичек» в остальных пунктах списка. Внизу окна снимите «птичку» с «Открывать при запуске». Можете нажать на кнопку «Настройка» и убедиться, что программа реагирует на нажатие кнопок пульта.
Здесь обязательно поставьте «птичку» напротив GotView.scs . Остальные скрипты можете подключать по желанию, только не нужно включать все, иначе могут появиться ошибки и зависание программы. Если программа GoTView PRO у Вас установлена в папку не «по умолчанию», нажмите кнопку «Обзор» и укажите правильный путь. Нажмите «Применить». В следующем окне:
В выпадающем списке «TV» выберите GotView. У Вас он будет запускаться по нажатию кнопки Source. Нажмите «Применить». Открыть все вышеприведенные окна Вы всегда сможете, вызвав Мастер настройки из меню «Настройка».
Вы можете изменить кнопку запуска программы, открыв с помощью блокнота файл SlyDiman\SlyControl2\Data\CfgWizard\ favorites.scs и изменив в строчке TV = Hook( "REMOTE", "Source", Enabled, Break ){ слово Source на наименование какой-либо другой кнопки.
И последняя настройка: для того, чтобы программа SlyControl могла распознавать окно GoTView PRO среди остальных, ей нужно на него указать. Для этого открываем SlyControl и заходим на вкладку «Модули» (Plugins). Затем в левом окошке ставим курсор на WinMon и в появившемся списке справа выбираем GotView:
В нём выберите Advansed, нажмите кнопку Detect и щёлкните мышкой по панели управления (не по видеоокну) запущенного GoTView PRO. После того, как в окошке определится HWND, нажмите OK, и в «Windows monitoring» выставьте «птички», как показано на рисунке. Закройте окно, перезапустите программу, и можете пользоваться.
Для тех, кто самостоятельно хочет редактировать скрипты, следующие пояснения:
Всё, что в строке следует после значка # , воспринимается как комментарий и программой игнорируется.
Программа выполняет любые действия, реагируя на какое – либо событие, которым может быть нажатие кнопки на пульте ДУ, нажатие клавиши или сочетания клавиш на клавиатуре, а также на команду, которая может посылаться из скриптов.
Для того, чтобы программа отслеживала события, устанавливается своеобразная ловушка – Hook, например:
Sobit = Hook("Remote", …) #параметр Remote означает, что ловушка Sobit начнёт выполнять свою функцию при нажатии кнопки на пульте ДУ
Sobit = Hook("Key", …) # параметр Key означает, что ловушка Sobit начнёт выполнять свою функцию при нажатии клавиши или сочетания клавиш на клавиатуре
Sobit = Hook("Audio", …) #здесь параметр Audio является командой, посылаемой самой программой после какого – либо события, используется, в основном, для того, чтобы подавать команды неактивной группе из активной, об этом будет рассказано далее.
Поясним на примере, как сделать, чтобы по нажатию кнопки на пульте или клавиши на клавиатуре, на экране высветилось слово «Привет» (чтобы проверить, добавьте в скрипт Windows):
Для срабатывания после нажатия кнопки Min на пульте:
Privet = Hook( "Remote", "Min", Enabled, Break, 210){
Break( Privet<>0 )
OSD("Привет")
Timer( 2000 )
OSD("Как дела?")
}
Для срабатывания после нажатия сочетания клавиш Alt+Z на клавиатуре:
Privet = Hook( "Key", "Alt+Z", Enabled, Break, 210){
Break( Privet<>0 )
OSD("Привет")
Timer( 2000 )
OSD("Как дела?")
}
Здесь параметр Enabled означает, что ловушка постоянно включена и отслеживает событие, после которого она должна сработать, т.е. в нашем случае «ожидает» нажатия кнопки Min или клавиш Alt+Z. Соответственно возможно второе состояние ловушки - Disabled, когда ловушка выключена и не реагирует на нажатия кнопок и клавиш.
Далее идёт параметр Break. Он запрещает обработку события другим ловушкам и задаёт условие выполнения команд ловушки. В данном случае строка Break( Privet<>0 ) делает так, что команды выполнятся только один раз, по нажатию кнопки или клавиши. Если эту строчку убрать, команды будут выполняться многократно, пока вы удерживаете кнопку или клавишу.
Далее идёт число 210. Это приоритет выполнения ловушки. Допустим, у вас прописаны две ловушки, которые срабатывают от одной кнопки. Если вы нажмёте на кнопку, сработает ловушка с большим приоритетом, т.е. та, у которой число меньше. Если вы не пропишете число, оно по умолчанию будет считаться 128.
Далее идёт скобка {. В любой ловушке есть тело, заключённое в скобках { }. Все команды, которые должны выполняться в данной ловушке, должны быть в пределах этих скобок.
OSD – это плагин, который позволяет отображать на экране текст в одной строке. Вы можете в кавычках написать, что захотите, и это отобразится на экране после срабатывания ловушки.
Далее идёт таймер на 2000 миллисекунд – 2 секунды, для того, чтобы надпись «Привет» отображалась на экране 2 секунды, пока её не сменила надпись «Как дела?».
Ещё один пример:
Privet = Hook( "Remote", "Min", Enabled, Break, 210){
Break( Privet<>0 )
OSD("Привет")
HookEnable( Windows, Poka) #включает ловушку Poka
}
Poka = Hook( "Remote", "Min", Disabled, Break, 200){
Break( Poka<>0)
OSD("Пока")
HookDisable( Windows, Poka) # выключается ловушка Poka
}
Здесь ловушка Poka была изначально выключена, а когда её включили в ловушке Privet, у неё оказался приоритет выше, поэтому при последующем нажатии на кнопку Min сработает ловушка Poka.
Каждая ловушка принадлежит к своей группе, поэтому в конкретный момент времени выполняются ловушки из группы, которая сейчас активна. Если вы посмотрите скрипты, в них можно найти строки, похожие на эту:
Windows = Group( Enabled ){
Этой строкой открывается группа Windows, которая, кстати, всегда активна. После скобки следуют ловушки, относящиеся к этой группе. Группа всегда должна закрываться скобкой, поэтому окончание группы всегда будет выглядеть так:
}
}
Если активна группа с высоким приоритетом ловушек, вы не можете непосредственно управлять другой активной группой с более низким приоритетом, однако можете посылать ей команды. Например, вы хотите послать команду в группу Windows из группы Winamp:
Privet = Hook( "Remote", "Min", Enabled, Break, 110){
Break( Privet<>0)
EventSend("Priv ", "Windows ") # посылаем команду другой группе
}
Соответственно, в группе Windows будет ловушка, реагирующая на эту команду:
PrivetW = Hook("Priv ", "Windows ", Enabled, Break){
Break( PrivetW<>0)
OSD("Привет")
}
Ещё одно применение для команды EventSend:
FUNVKL = Hook( "Audio", "What_ Winamp ", Enabled, Break) {
Break( FUNVKL<>0)
Timer (3000)
OSD( "Назначение кнопок в Winamp" , "X:55 Y:5 T:1000 C:255.0.102")
Timer (10)
EventSend( "Audio", "What_ Winamp ")
}
Здесь реализован цикл – красная мигающая надпись.
Вот перечень некоторых команд, которые можно выполнять в ловушках:
Keyboard( "PRESS", "Enter" ) #эмуляция нажатия клавиши на клавиатуре (можно прописать любую)
Mouse( "MOVE,L,%", 500, 40 ) #передвинуть курсор мыши к точке с координатами X=500, Y=40
Mouse( "MOVE,D,D", 10, -10 ) #передвинуть курсор мыши вправо вверх
Mouse( "MOVE,D,D", -10, 0 ) #передвинуть курсор мыши влево
Mouse("CLICK", "LEFT" ) #клик левой клавишей мыши
Подробно о командах плагинов читайте в хелпе к SlyControl.
Если научиться правильно использовать возможности эмуляции клавиатуры и мыши, можно управлять практически любой программой с пульта ДУ.
Удачи вам.