Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Отчет: OS/2 совместимое оборудование
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

 

Использование пульта


TITLE: Использование пульта

DATE: 2004-03-08 13:03:16

AUTHOR: Vladimir Solovyov

В статье рассказывается об использовании пульта дистанционного управления ТВ тюнера AVERMedia TVSudio mod.203

Идея использовать пульт дистанционного управления (в дальнейшем ДУ) появилась когда я увидел программу JTVRemote, которая лихо двигала мышиным курсором по рабочему столу Windows98. Тогда у меня взыграло: "Ну почему в винде есть, а в оси нет."

Год назад в поле моего зрения попал проект TVShow (на тот момент это была версия 0.42.) В его составе есть программа TVSHOWRCD.EXE, которая узнает у драйвера какая кнопка была нажата или отпущена и помещает в именованный канал (named pipe) соответствующий код этой кнопки.

К TVShow прилагался небольшой пример использования данной функциональности. (RemoteCmdTVSHOW.cmd)

Очень много OS/2 программ, в отличие от их windows аналогов, имеют возможность управления через именованные каналы (named pipes). Эту возможность я и решил использовать. К примеру, mp3-плейер Z! имеет именованный канал \pipe\zmp3 и набор команд : *next, *previous, *pause, *pause, *play, *vol+, *vol-, *mute

Я немножко подумал и в результате развил оригинальный скрипт, придав ему большую функциональность. Скрипт писался для внутреннего потребления - поэтому внутри много мусора, да и написан он крайне неаккуратно - к REXX'у я обращаюсь раз в полгода. И каждый раз вынужден вспоминать всё заново.

Тем не менее, работоспособность скрипта меня устраивает.

Итак, список программ, которые управляются пультом дистанционного управления через pipe:

MP3 плейер Z! by dink
ТВ TVShow by Aleksandr Cherkaev
Радио CoolFM 2.0 by Eugene Gorbunoff
Мультимедиа плейер WarpVision by Vlad Stelmahovsky
CD плейер Simple CD Player for OS/2 v.1.07 (c) Dmitry Kubov 1996-1998
Выключение компьютера APM/2 by Roman Stangle

Как всё это ставится

  1. Берем TVShow 0.42 (tvShow042.zip) или готовый набор, который я собрал из TVShow remotecmd.zip.
  2. Распаковываем. Я положил его в C:\os2apps\tv
  3. В config.sys добавим одну строку: device=C:\os2apps\tv\warpdrvr.sys
    Так загружается драйвер, с помощью которого TVShow работает с тюнером. Здесь положено перезагрузиться, но это можно отложить и на потом.
  4. Все пути к управляемому софту можно прописать в config.sys в переменную PATH. Часть из нужных программ я положил в каталог из PATH. В моем случае это C:\SRV. Для другой части сделал небольшие cmd следующего вида (video2.cmd):
    C:
    cd \os2apps\video
    video2.exe %1 %2 %3 %4 %5
    

    И тоже положил в C:\SRV.

  5. Еще нам понадобится программа GO. GO! v1.5 - (c) 1993-95 by Carsten Wimmer. Она позволяет получить список процессов и прерывать указанные процессы по именам их исполняемых файлов.
  6. Для работы всей конструкции нужны следующие файлы из комплекта TVShow:
    TVSHOWRCD.EXE демон, который и выдает в именованный канал (pipe) коды клавиш
    MAPHYMEM.DLL библиотека для TVSHOWRCD.EXE
    VIDEO.CFG файл конфигурации TVShow, используется TVSHOWRCD.EXE.
    WARPDRVR.SYS драйвер ТВ тюнера

  7. Сам скрипт remotecmd.cmd, который надо положить либо в каталог к TVShow, либо в отдельный каталог с этими файлами из комплекта TVShow.

Теперь remotecmd.cmd можно запустить и посмотреть что получится.

Управление

Одновременно может быть запущено несколько программ, поэтому сначала надо выбрать режим управления.
Кнопки пульта, использующиеся для выбора режима:

Video переключается в режим работы с видеоплеером
Audio переключается в режим работы с аудиоплеером
TV переключается в режим работы с ТВ
FM переключается в режим работы с FM
CD переключается в режим работы с CD плеером
Teletext переключается в режим работы управлением OS/2

После выбора режима скрипт определяет запущена ли уже программа или нет. Если она запущена, тогда нажатия кнопок управления будут преобразовываться в команды программы, которая работает в данном режиме.

Кнопкой Power можно включить или выключить программу, ответственную за выбранный режим работы. Для запуска используются наименования исполняемых файлов, лежащие в пути поиска. Наименования и пути для запуска программ нужно поправлять непосредственно в remotecmd.cmd.

Кнопки управления программами

MP3 плейер Z!

Channel+, 8, 6 следующая песня
Channel-, 2, 4 предыдущая песня
PAUSE пауза
STOP остановить воспроизвдение
PLAY начать воспроизведение
VOLUME+ увеличить громкость
VOLUME- уменьшить громкость
MUTE выключить/включить звук
1 промотать 10 песен назад
3 промотать 10 песен вперед

Управление OS/2 (пока что всё управление OS/2 сводится к выключению компьютера c помощью APM.EXE)

Power выключить компьютер
Power прервать выключение компьютера, если оно запущено.

TVShow

Channel+ следующий канал
Channel- предыдущий канал
1..9 номер канала
MUTE выключить/включить звук

WarpVision GUI

Channel+ следующий элемент плейлиста
Channel предыдущая элемент плейлиста
PAUSE пауза
STOP остановить воспроизвдение
PLAY начать воспроизведение
VOLUME+ увеличить громкость
VOLUME уменьшить громкость
MUTE выключить/включить звук
FULL SCREEN переключиться в полный экран и обратно
1 назад на 5 минут
2 вперед на 10 минут
3 вперед на 5 минут
4 назад на 1 минуту
6 вперед на 1 минуту
7 назад на 10 секунд
8 назад на 10 минут
9 вперед на 10 секунд

CoolFM 2.x

Channel+, 8, 6 следующая станция
Channel-, 2, 4 предыдущая станция
MUTE выключить/включить звук
RECORD включить/выключить запись

Simple CD player

Channel+, 8, 6 следующая песня
Channel, 2, 4 предыдущая песня
PAUSE пауза
STOP остановить воспроизвдение
PLAY начать воспроизведение
MUTE выключить/включить звук
1 промотать 10 песен назад
3 промотать 10 песен вперед

Особенности запуска программ

В общем особенность пока одна, и касается она mp3 плейера Z!, который запускается с заранее подготовленным списком воспроизведения.

Делается список всех файлов MP3 из всех подкаталогов КаталогMP3:

   dir КаталогMP3 *.mp3 /s /f > ВременныйКаталог\list.pl
  • ВременныйКаталог - это каталог, который определяется переменной TEMP.
  • КаталогMP3 - берется из файла mp3path, расположенного в одном каталоге с remotecmd.cmd. (За поиск и разбор написанного в mp3path отвечает процедура GetMp3Path. Файл mp3path должен содержать полный путь к каталогу с MP3, например: D:\MUSIC. Если файла mp3path нет, тогда Z! ничего играть не будет!!!

Внутренности REMOTECMD.CMD

Внутри страшно :)

В бесконечном цикле слушается \pipe\tvshowremote. Из него извлекаются коды нажатых клавиш. Здесь есть один нюанс - в пайпе оказываются еще и коды отпущенных клавиш. Их проходится отсекать, чтобы не мешали.

Список кодов клавиш можно посмотреть здесь.

Потом происходит анализ нажатых кнопок. Если нажата одна из кнопок смены режима, тогда закрывается pipe предыдущей программы и открывается новый. При нажатии кнопок управления программами происходит вызов конкретной процедуры, отвечаюшей за управление программой.

Каждая процедура управления содержит в начале две строки:
ControlList.1 = 'cdp.exe'
ControlList.2 = 'go -ka cdp.exe >nul'
Первая строка - это строка запуска приложения, вторая строка - это строка останова приложения. В данном примере показаны строки из процедуры управления CD-плейером. Вот в эти строки и надо вписывать вызовы программ.


Попробуй программу:

WarpOverlay! - видео-оверлей для видеоадаптеров, выпускавшихся до 2006 года.

Комментарии:

XEPOMAHT
2004-03-09 00:45:58

"TVShow by Alex Strelnikov"

Я конечно Лелика уважаю, но автор не он, а Александр Черкаев.

XEPOMAHT
2004-03-09 00:47:40

А поддерживаются ли LIRC-девайсы, которые описаны на [url] ?

Vladimir Solovyov
2004-03-09 09:22:45

Посыпаю голову тонером, я ошибся

2 e-co: Исправь пожалуйста

Vladimir Solovyov
2004-03-09 09:26:47

Насчет LIRC. Если будет демон, который выдает в pipe коды кнопок, то почему бы и нет.

И это же REXX - можно доделать подо что угодно.

bz
2004-03-10 13:15:41

2XEPOMAHT: вас это абстрактно интересует?

XEPOMAHT
2004-03-11 10:16:42

bz: не только. Поддержку хотелось бы иметь...

Vladimir Solovyov
2004-03-11 10:52:36

2 ХЕРОМАНТ: С тебя слушалка для Com-порта, которая вываливает совместимые с AVERMedia коды кнопок.

Список кодов клавиш можно посмотреть [url]

Vladimir Solovyov
2004-03-11 10:53:34

2bz: а своей софтинкой с общественностью не поделишься ? :)

bz
2004-03-12 12:35:20

не, не поделюсь. и не из-за жадности, а потому что оно нетестированное нигде, кроме как у меня самого. вот, может, бета-тестера найду...

Vladimir Solovyov
2004-03-13 10:29:34

а обучить ее чтению из pipe не хочешь? Тогда была бы универсальная штука - для тюнеров и LIRC устройств

bz
2004-03-15 14:02:42

У меня изначально было две разных штуки -- одна кнопки распознаёт и пишет их в pipe, другая из pipe читает и всякие действия (определённые в своих конфигах) выполняет. Вполне себе универсально. Особенно при наличии rexx-хуков.

Vladimir Solovyov
2004-03-16 10:46:18

ну если оно умеет читать из pipe, тогда можно обучить и TVShow понимать

А тогда и я могу бетатестером быть

UY
2004-11-17 10:49:22

Can you give me software to view a file "dll"

I'm waiting for you. Thanks a lot!

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


Вы не можете решить проблемы с Сетью (медленная работа, нет соединения, ..), Аудио (висы, щелчки, ..), USB (подключенные устройства не видны, медленная работа, ..)? Начни отсюда: Configuring ACPI driver for eComStation 2.0 + Новинка: Часто задаваемые вопросы и ответы по ACPI в 2011-ом году

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 

Самая комментируемая новость за неделю: ArcaOS 5.01 еще две недели





Последний активный опрос: Какая высота барьера RPM?

Самая комментируемая новость за месяц: ArcaOS 5.01 еще две недели

IBM OS/2 Warp

 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2014 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: