PDA

Просмотр полной версии : А поддержка инфилловского радио не планируется?


Marassa
30.01.2008, 21:21
Сабж, собственно. Если бы поддерживалось радио, всерьез рассмотрел бы переход на этот фронт.

Димон
30.01.2008, 22:21
Ааааа, понравилось как менюшки выезжают-заезжают? Мне тоже. Наверное можно т.к. центрифужники както выковыряли dllку.

2func
31.01.2008, 15:57
Ааааа, понравилось как менюшки выезжают-заезжают? Мне тоже. Наверное можно т.к. центрифужники както выковыряли dllку.
Да они целый SDK раздают - бери не хочу.... Скажи Андрюх!

Marassa
31.01.2008, 16:26
Да они целый SDK раздают - бери не хочу.... Скажи Андрюх!Ну во-первых, не очень-то и раздают, скорее случайно забыли убрать из одного из ранних дистрибутивов StreetDeck :)
А во-вторых, сам по себе SDK к Леокару не пришьешь - с ним разбираться и программировать надо.

Rainbow
31.01.2008, 16:35
ну а таким ламерам как я (вернее не программерам) вообще хотца готового законченного решения:-)

LI()n
31.01.2008, 18:11
ну а таким ламерам как я (вернее не программерам) вообще хотца готового законченного решения:-)

Его всем хочется :)))
Просто времени на все нехватает... :(

Marassa
31.01.2008, 18:34
Просто времени на все нехватает... :(Понятно... Ну если время найдется с инфилловским радио поразбираться, то я готов подробно рассказать как там все устроено, снабдить нужными dll-ками, объяснить какая функция что делает и т.п.

LI()n
01.02.2008, 10:22
Понятно... Ну если время найдется с инфилловским радио поразбираться, то я готов подробно рассказать как там все устроено, снабдить нужными dll-ками, объяснить какая функция что делает и т.п.

Если у тебя есть вся необходимая инфа для работы радио - выкладывай прям тут, чего мелочиться :)
Серьезно, выкладывай!

Marassa
01.02.2008, 13:24
Если у тебя есть вся необходимая инфа для работы радио - выкладывай прям тут, чего мелочиться :)
Серьезно, выкладывай!Да пожалуйста :)

Хардверно радио в инфилле устроено так: аналоговый аудиовыход радиотюнера жостко припаян к линейному входу звуковой карты. Управление радио осуществляется через I/O порты 28H-2FH, 378H-37AH. Конкретное назначение портов неизвестно, да и не очень-то существенно, так как существует библиотека InfillG4Cmd.dll, через которую успешно работают StreetDeck и Centrafuse.

Функции InfillG4Cmd.dll, имеющие отношение к радио:

Private Declare Function OpenInfill Lib "InfillG4Cmd.dll" Alias "_mxn_OpenINFILL@0" () As Long
- инициализация Инфилла. По идее должна вызываться самой первой

Private Declare Function IsOpenInfill Lib "InfillG4Cmd.dll" Alias "_mxn_IsOpenINFILL@0" () As Long
- проверка статуса инфилла (инициализирован или нет)

Private Declare Function CloseInfill Lib "InfillG4Cmd.dll" Alias "_mxn_CloseINFILL@0" () As Long
- закрытие Инфилла

Private Declare Function OpenRadio Lib "InfillG4Cmd.dll" Alias "_mxn_OpenRadio@0" () As Long
- инициализация радио, выдвижение антенны

Private Declare Function IsOpenRadio Lib "InfillG4Cmd.dll" Alias "_mxn_IsOpenRadio@0" () As Long
- проверка статуса радио (инициализировано или нет)

Private Declare Function CloseRadio Lib "InfillG4Cmd.dll" Alias "_mxn_CloseRadio@0" () As Long
- закрытие радио, убирание антенны

Private Declare Function SetChannelRadio Lib "InfillG4Cmd.dll" Alias "_mxn_SetChannelRadio@8" (ByVal AM As Long, ByVal Channel As Long) As Long
- установка частоты. Для FM AM=0, для AM - AM=1. Частота для FM задается как целое в сотых долях мегагерца, т.е. для 101.7 Channel=10170, для AM - в килогерцах.

Private Declare Function GetFMStereoState Lib "InfillG4Cmd.dll" Alias "_mxn_GetFMStereoState@0" () As Long
- проверка статуса стерео

Private Declare Function GetChannelDetectState Lib "InfillG4Cmd.dll" Alias "_mxn_GetChannelDetectState@4" (ByVal Param As Long) As Long
- определение текущей частоты

Внимание: радиофункции сами по себе не подключают и не отключают линейный вход в звуковом микшере, это возлагается на прикладную программу.

Назначение файлов в прилагаемом архиве:
InfillG4Cmd.dll - самая главная библиотека
infillcom.dll, io.dll, winio.sys - нужны для ее работы
sttubedevice203.dll, infillfront.inf - для радио вроде бы и не нужны
SampleApp* - примеры приложений

Marassa
01.02.2008, 13:55
Теперь немножко мыслей об идеологии работы фронтенда с радио. Тут существуют две школы мысли:

1. Включить линейный вход в ВЫХОДНОМ микшере звуковой платы. Так сделано в InfillStation. Тогда звук с радио фигачит прямо на усилитель, и с компа можно только громкость отрегулировать, больше ничего. Дешево и сердито. В принципе может вполне сойти для первой версии.

2. Включить линейный вход во ВХОДНОМ микшере звуковой платы. Тогда звук с радио оцифровывается и может быть обработан компом как угодно перед выдачей его на усилитель. Так сделано в Centrafuse. Такой подход позволяет реализовать всякие вкусности типа:
- запись с радио в mp3-файл
- пауза радио (с использованием кольцевого буфера)
- всякая обработка сигнала типа эквалайзера
- визуализация и т.п.
Но это уже надо программировать.

Ну и напоследок не могу не вернуться к своей больной теме - гетерогенные плей-листы. Очень хотелось бы увидеть возможность составлять плей-листы/списки фаворитов, в которых можно было бы свободно чередовать разные источники - MP3, CD, FM радио, интернет радио и т.п. То есть для того, чтобы переключиться с играющей директории mp3 на одну из любимых радиостанций, я не хочу идти в модуль "Радио" и нажимать там кнопку номер 3, а хочу одним тыком вытащить на экран единый список любимых музык, который может выглядеть, например, так:

Директория My Music/Paris Combo
FM-радиостанция 95.2
Интернет-радио Aural Moon
Плей-лист "Блюз"
Директория My Music/Anekdoten
CD

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

Желание вроде бы такое простое и очевидное, но это не реализовано ни в одном известном мне фронтенде. Легко реализуется в винампе, только он с инфилловским радио не работает :(

PS А модуль "Радио" в его классическом виде, с кнопочками и функцией "Скан" лично мне ВООБЩЕ не нужен - я и так знаю, какие станции я слушаю и готов забить их в список фаворитов руками. А если вдруг посканировать захочется, то это так редко бывает, что ради этого я могу и InfillStation запустить.

Rainbow
29.02.2008, 15:58
типа интересуюсь новостями... есть ли они?
спасибо