Эта страничка посвящена OSD собственного написания к DVBDream. Основное достоинство этой OSD, чем я руководствовался при написании это УДОБСТВО использования! Хотелось избежать главной ошибки "и красиво и опций дохрена и вроде все хорошо и ПОЛЬЗОВАТЬСЯ НЕВОЗМОЖНО!!!" На мой взгляд получилось, а вот насколько это уже судить вам.


Сразу хочется ответить на вопрос типа "...а нахрена это OSD, ведь есть SIMOSD". Хочется отметить главное чем отличается моя OSD - это то что он полностью "заточена" под упавление с пульта. Ну и для нглядности приведу таблицу основных различий.

Мое OSDSIMOSD
Управление с пульта (работа с WinLirc) ДаНет
Таймер выключения компьютера ДаНет
Полная программа по каналу доступная с пульта ДаНет
Изменение размера ДаНет
Изменение положения на экране ДаНет

В остальном их функции схожи. Внизу страницы доступны все версии для скачивания в хронологическом порядке. С кратким их описанием, что добавлено, так сказать "NEWS"
А это так сказать final release OSD 1.3.1
Здесь я реализовал все что задумал на сегодняшний день.
  Высказать свое мнение можно здесь  

WinLIRC позволяет управлять Windows-приложениями с помощью практически любого пульта от видеомагнитофона или телевизора. Только вот что-то наши русские пульты (от "Горизонта") подкачали, да еще некоторые модели от Panasonic - в них несущая частота около 400 Кгц, у компа нет шансов поймать (в большинстве пультов 30-40 КГц).

Для получения удовольствия пользования пультом вам придется собрать небольшую схему. Схема такая:















Практически любой элемент может быть заменен на аналог. Я приобрел первый попавшийся фотоприемник для телевизора - "TK-19", хотя в продаже были еще какие-то аналоги. Как это обычно приговаривают: схема работает сразу и в настройке не нуждается. Подключается все это безобразие к любому COM-порту. Стабилизатор может быть любой 5-ти вольтовый, например очень хорошо подходят наши «кренки».

Плату травить вовсе не обязательно, все можно сделать навесным монтажом, вот что получилось у меня:













Далее что бы все это окультурить, и удобно расположить под телевизором, нам понадобиться:

1. Розетка RG-45 — 1шт., конектор RG-45 – 1 шт.

2. Витая пара — растояние «компьютер-телевизор», но не более 7м.

3. Разъем DB-9 “мама”, донором может служить шнур от бесперебойников.

4. Кусок двухстороннего скотча, чтобы приклеить коробку под телевизором.

5. Прямые руки с паяльником :)



вот что получилось у меня:



ну и в законченом варианте:







































Еще вам потребуется сам сервер WinLIRC: http://winlirc.sourceforge.net/
Там же лежит плюгин к
WinAMP, чтобы и его можно было пользовать с кровати.

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



Предположим, Вы правильно спаяли схему из исправных деталей. Соответственно она должна быть рабочей. Идём на http://www.lirc.org/ и по ссылке "supported remote controls" переходим на http://lirc.sourceforge.net/remotes/. Ищем там свой пульт. Если есть - повезло, скачиваем конфиг для него; нет - не страшно. Подключаем схему к свободному COM-порту. Запускаем WinLIRC. Для определённости я описываю порядок тыканья по кнопкам в версии 0.6.4 (не помню, что там было в более ранних). Если оно уходит в трей, то правой кнопкой мыши выбираем "Toggle window" -> "Reconfigure". Выбираем тот порт (COM1, COM2), к которому прицеплен приёмник. Для схемы, приведенной выше параметр "Receiver Type" должен быть RX device. Speed - 115200 Вообщем все должно выглядеть как на рисунке:











И не забудьте обязательно выставить в настройках ком-порта в диспечере устройств такую же скорость как вы указали в WinLirc, вообщем все должно выглядеть так:

































Если конфиг к своему пульту удалось найти, то идём в "Config" -> "Browse" выбираем его. Переходим к пункту "Всё готово". Если готовый конфиг найти не удалось, начинает обучать программу своему пульту. Итак:

1. В окне "Config" пишем MY_REMOTE.CF (ну или типа того).

2. Нажимаем "Raw codes". Тыкаем любые кнопки на пульте. Должны бежать цифры в окне. Значит, всё пучком. Закрываем крестиком и переходим к

3. Learn. Вас спросят

This will record the signals from your remote control 
and create a config file for WinLIRC. Please enter a name for this remote.

Надо ввести название Вашего пульта. Здесь и далее названия лучше давать латинскими (английскими) буквами, без пробелов.

4.

When learning and analyzing signals, a margin of error is used in order to 
handle the normal variations in the received signal. The margin of error ranges 
from 1% to 99%. The default is 25%, but larger values might be necessary depending 
on your hardware and software. If you are having trouble using your remote, 
try increasing this value. You may enter the allowable margin of error now, 
or press ENTER to use the default. Desired margin of error for this remote? 
(1-99, enter=25)

Очень много слов, просто нажимаем "Enter"

5.

Step One: Determine signal gap, signal length, and repeat codes.
-----------------------------------------------------------------------------------
You will be asked to press an arbitrary button a number of times. 
Please hold it in for at least one s second each time, and wait at least 
one second between keypresses. If you want to manually enter a signal gap 
and signal length, you may do so now (ie, "31000 52"). 
Otherwise, just hit ENTER. Gap and length?

Опять очень много слов, просто нажимаем "Enter"

6.

Press a button. Please wait a second and press it again.

Нажмите и отпустите любую кнопку (на пульте). Подождите секунду и нажмите и отпустите её опять. Появится строчка

Baseline initialized. 

После этого давим ЁТУ ЖЕ кнопку десять (или чуть больше раз), пока не дойдём до нуля.

Please wait a second and press a button again (10 left) 
Please wait a second and press a button again (9 left) 
Please wait a second and press a button again (8 left) 
Press a button.

7. Получаем сообщение:

This is a signal-repeating remote with no special repeat code. 
Holding down the button can quickly yield many copies of that button's code. 
Therefore, 64 samples of each button will be taken. 
You will be prompted to enter each button's name in turn. 
To finish recording buttons, enter a blank button name. 

8. Теперь обучаем программу ВСЕМ кнопкам пульта. Порядок такой: Вас спрашивают

Button 1 name? 

(имя первой кнопки)? Пишем название. Латинскими буквами или цифрами, без пробелов, лучше заглавными то слово, которое есть на пульте на кнопке. Ну типа "1", "2", "PLAY", "FFWD", "STOP", "VOL+". После этого давим на кнопку несколько секунд. В окне будут бежать цифры, примерно вот так:

Baseline initialized. 
matches=64, faults=19 

Давим, пока matches не дойдёт до 64. Чем меньше будет faults, тем лучше.

9. Появляется слово "Stop" и "Button 2 name (blank to stop)". Пишем имя второй кнопки. Повторяем п.8 до тех пор, пока не кончатся все кнопки.

10. По окончании всех кнопок, нажимаем "Enter", не вводя название. Выдаётся сообщение "Configuration written сукесфули, не забудь analyze". Что мы и делаем.

11. Тыкаем мышой в "Analyze" получаем в ответ "analysis successfully"

12. Радуемся.

13. "Всё готово" - Нажимаем OK, затем "Hide window".








Запускаем DVBDream, идем в опции — пульт ду

Выбираем :


























Нам для OSD написанного мною, понадобиться всего 4 кнопки: Optional1-«up», Optional2-«down», Ok-«Ok», EXIT- «exit». Остальные кнопки можете назначить на свое усмотрение.

Для этого дважды щелкаем на соответствующем пункте и при появившейся надписи «Waiting for button store» нажимаем кнопку на пульте, если все сделано правильно, то напротив команды вы увидите наименование кнопки которое вы задали, когда обучали пульт в WinLirc.
























Все пульт мы привязали, осталось только подключить модуль OSD, для этого копируем файл big_OSD.mod из архива в папку «C:\DVBDream\Modules».

Немного терпения, сразу наверное зададитесь вопросом «а нахрена нам надо еще одно OSD, ведь есть simosd и dosd (их кстати рекомендую отключить или что побудило меня написать собственное OSD.

Ну вопервых, переключать канал по номеру это просто издевательство если их больше 100 (если у вас модуля на гиг в башке не стоит и вы помните все номера каналов :) ), да и не очень удобно это делать например в ddosd, то не введется цифра то их введется 2. Конечно есть simosd и как вариант радио мышь, вот я со своим зрением с расстояния 4-х метров нихрена список каналов не могу прочитать, да и не очень удобно мышью тыкать. Поэтому я посмотрел менюхи в легендарном DreamBox-е, в OpenBox-e, и триколоровском DRE-5000. Меню реализовал
как в дриме без всяких бесполезных наворотов, алгоритм прокрутки мне больше понравился в Open-е , а управление от триколора (одно нажатие «ОК»- выдает меню со списком каналов, кнопками «up» «down» прокрутка каналов вверх-низ соответственно, повторное нажатие кнопки «ОК» переключает канал, и наконец кнопка exit убирает меню.

Конечно были мысли с размешение списка каналов в несколько столбцов как у триколора или расположение рядом анонса как в дримбоксе, но ни то ни другое не позволяет сделать размер шрифта, а это как вы помните и было первостепенной задачей. Цвета старался подобрать не раздражающие и что бы было видно менюху из далека. Вобщем сделал менюху для комфортного , как в ресивере переключения списка каналов. Получилось очень неплохо, прокрутка меню из 140 каналов занимает секунды, при этом скорость не слишком высокая, так что успеваешь заметить нужный канал, за что спасибо разработчикам DVBDream API для плагинов предоставили «реальное» :).

В следующих версиях планируется:

  1. Будет шкала звука
  2. Название передачи и процентовка внизу списка каналов.
  3. Полное инфо

Если все это вас заинтересовало то пишите предложения:

mail: big-town@yandex.ru
или оставляйте сообщения в гостевой http://big-town.narod.ru

Вот так все это выглядит сейчас:





OSD с инструкцией по установке.
WinLirc c конфигом пульта от TT-4200.


OSD 1.1
В новой версии 1.1:
добавлена OSD на звук
организован фильтр по четырем спутникам (по умолчанию EutilSat w4 36e), который доступен по F9, или через меню "Модули", дабы не отображать вам все каналы, у меня например позиционер+дисект и одвременно мне нужны 2-спутника, а не весь лист с 90е по 5е, думаю что фильтр будет полезен

OSD 1.1.2
В новой версии 1.1.2:
Исправлен косяк с фильтром, теперь по умолчанию добавляются все каналы.


OSD 1.1.3
В новой версии 1.1.3:
Добавлена так называемая инфо (анонсы) , те что идет на текущий момент, и что будет идти за ним, с небольшим описанием если присутствует. Для вызова инфо необходимо запрограммировать еще одну кнопку - "Options3"

Так же добавлена процентовка на меню каналов, те сколько времени прошло от начала передачи.



OSD 1.1.4
В новой версии 1.1.4:
Исправлен баг с временной зоной. Добавлены часы в панель инфо.




OSD 1.1.6
В новой версии 1.1.6:
Исправлен мелкие баги. исправлено (уменьшено) OSD на звук.




OSD 1.1.8
В новой версии 1.1.8:
На OPtions4 повешены переключение соотношения сторон, актуально для DVBDream 1.4 (DVBDream 1.5 уже есть ratio) На Options5 повешено выключение компа.



OSD 1.2.0
В новой версии 1.2.0:
На OPtions6 реализованно меню "избранное". При включенном списке каналов нажимаем "OPtions6" - попадаем в меню "избранное", выбираем интересующий нас раздел - жмем "ок". Для того чтобы перейти опять в полный список каналов нужно в меню "Избранное" повторно нажать "OPtions6"




OSD 1.2.1
В новой версии 1.2.1:
Исправил мелкие косяки
Так как у многих работает пульты в эмуляции клавиатуры, решено было добавить управление в OSD клавишами.
список клавишь

"Q" - аналогично кнопки OK вызов OSD или выбор канала при включенном списке каналов
"E" - аналогично кнопки Exit убирает с экрана любую OSD.
"W" - скролинг каналов вверх
"S" - скролинг каналов вниз
"F" - вызом меню "избранное" при включенном списке каналов
"R" - вызов анонса т.е. что идет на текущий момент и что будет за ним
"P" - выключение компьютера!

Ну и несколько клавиш назначенных в самом дриме:

"*" - переключение соотношения сторон
"-" "+" на цифровой клавиатуре - прибавить/убавить громкость
"М" - выключить звук




OSD 1.2.3
В новой версии 1.2.3:
Исправил мелкие косяки
Теперь доступен выбор расцветки OSD, через меню "Модули" DVBDream.
Для того что бы изменения вступили в силу нужно перезапустить DVBDream







OSD 1.2.4
В новой версии 1.2.4:
В новой версии 1.2.4: Теперь доступна прокрутка по +10 -10 т.е. по страницам, для этого нужно запрограммировать клавиши OPtions7 и OPtions8 клавиши на клавиатуре соответствуют "Z" "X"




OSD 1.2.5
В новой версии 1.2.5:
В новой версии 1.2.5: Исправил косяки с расцветкой


OSD 1.2.6
В новой версии 1.2.6:
В новой версии 1.2.6: исправил косяки с временной зоной, теперь смешение выставляется вручную в настройках через меню "модули" добавил полную ЕПГ по текущему каналу Для ЕПГ нужно запрограмировать OPTIONAL9 её эквивалент на клавиатуре клавиша "пробел"


OSD 1.2.7
В новой версии 1.2.7:
В новой версии 1.2.7: Добавил полный календарь на все епг

OSD 1.2.8
В новой версии 1.2.8:
В новой версии 1.2.8: Добавил таймер выключения, для него необходимо запрограммировать кнопку "REWIND" ее эквивалент на клавиатуре "T"

Таймер работает следующим образом:
 при первом нажатии он отображает текущее состояние таймера, при каждом последующем идет приращение таймера на 15 мин
 и так до 3:00, по достижении 3-ех часов таймер снова сбрасывается в 0:00.
 Активируется таймер по нажатии на кнопку "EXIT", если таймер был установлен в 0:00 то он неактивен.


OSD 1.2.9
В новой версии 1.2.9:
В новой версии 1.2.9: Исправил мелкие косяки с осд и календарем.
в архив вложил краткий help

OSD 1.3.0
В новой версии 1.3.0:

В новой версии 1.3.0: Добавил изменение масштаба, теперь вы можете сами выбирать размер меню. А так же добавил смещение по Х и смещение по Y, что позволяет задать положение меню на экране. Настройка производиться через меню модулей.



OSD 1.3.1
В новой версии 1.3.1:

В новой версии 1.3.1: Доработал изменение масштаба. Теперь миниатюра в настройках в точности ссответствует реальному положению и размеру OSD. В полном епг курсор становиться на текущую передачу, а не на начало епг.

  Оставить сообщение в госетвой  
Используются технологии uCoz