Задался целью сделать маленьку Си-программку для прослушивания fm-радиостанций с аппаратного тюнера.
На мой взгляд для прослушивания станций, нет необдимости в оконном интеррфейсе, но в то же время интерфейс управления всегда должен быть под рукой. Т.к. использую Gnome решил, что для этого, Panel Applet будет самое то.
Как я это вижу:
Апплет - в панели с небольшим дисплеем (реализовано) показывающем:
- уровень сигнала (реализовано),
- частоту настройки (реализовано),
- информацию о приеме стерео-сигнала (реализовано),
- уровень громкости звукового канала (реализовано).
Управление:
Колесиком мыши (при нахождении курсора на апплете):
Mouse scroll up – увеличение горомкости (реализовано)
Mouse scroll down – уменьшение горомкости (реализовано)
Ctrl + Mouse scroll up – переход на следующую (предустановленную) станцию (реализовано)
Ctrl + Mouse scroll down – переход на предыдущую (предустановленную) станцию (реализовано)
Левая кнопка мыши – показывает popup-окно с элементами управления (управление звуком управление пресетами, включение/выключение) (реализовано)
двойной клик или средняя кнопка мыши – on/off (реализовано)
Правая кнопка мыши – стандартное popup-меню Gnome (Preferences.., Settings.., About, Move, Lock to panel) (реализовано)
На данный момент оно работает и выводит звук на line-out тюнера (шнурок на line-in звуковухи) можно увеличивать/уменьшать частоту с инкрементом (0,05 Mhz) , дисплей отрисовывается через API Cairo, простенький радио модуль через API V4L2
Что нужно сделать:
- Окно Preferences.. управления пресетами станций и т.п. и реализовать его функциональность (включая автосканирование диапазона) (не реализовано)
- Окно Settings.. с начальными установками работы оборудования (hw:1,0 dev/radio0 и т.п) и реализовать его функциональность (не реализовано)
- GConf – получение и сохранение настроек и пресетов (не реализовано)
- решить вопрос позиционирование popup-окна (не реализовано)
Может кто поделится кодом или идеями – очень интересует:
- захват звука по PCI и т.п., по ALSA документации мало и она бестолковая (пока прикрутил модуль на sys/soundcard.h)
- код или алгоритм определения координат вывода popup-окна, т.е чтобы popup-окно отображалось точно под апплетом, если аплет в верхней панели и соотвественно над апплетом если аплет в нижней панели и не справа и не слева, а именно под/над.
Gnome panel fm-applet
Модератор: Модераторы разделов
- Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
- Контактная информация:
Re: Gnome panel fm-applet
По-моему, стоящее начинание. Переношу в Проекты.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru