Sunday, October 11, 2009

Update on the N900 FM Radio

Success! We can receive FM radio on the N900 now.

Controlling the FM radio in the N900 is tricky stuff. At first, the hardware is disabled for power saving reasons. Bluetooth has to be powered up, the I2C communication bus has to be powered up, and only then, the FM radio driver will actually load.

I have created a package n900-fmrx-enabler for this task. The FMRX-Enabler is a D-Bus service that takes care about enabling the FM radio hardware on request and powering it down again when no application are using it.

After the driver has been loaded by the FMRX-Enabler, the FM radio provides two interfaces for controlling. A classic Video4Linux2 interface featuring only the basic stuff such as setting the frequency and muting/unmuting it, and a sysfs interface where you can read and write into file-like objects to control the radio.

Another tricky part is getting to hear sound from the radio. Unlike the N800, the FM radio doesn't output to the speakers directly. You have to capture the sound from the PGA line and play it back. A simple GStreamer pipeline such as
gst-launch pulsesrc ! pulsesink

does the job, after enabling PGA line2 and PGA capturing in the mixer.

I have uploaded an application package fmradio for the FM radio to extras-testing. Testers are encouraged to test this, too.

One drawback with the FM radio is that due to constant capturing and replaying, the FM radio is kinda demanding on the battery. There's no safe way around that. The unsafe way around that can damage your speakers, so capturing/replaying is a must.

I'm gonna put up some developer documentation for the FM radio stuff.

Saturday, October 10, 2009

MediaBox on the N900

The popular NIT media center MediaBox is coming to the N900. Thanks to lots of user feedback the UI has been further simplified and optmized and of course "fremantlized". :)

The upcoming release for the N900 will be the first version to provide suport for portrait and landscape orientations. Browsing your music feels great in portrait mode!

MediaBox will support playing FM radio on the N900 as well (the N900 device specs don't list the FM radio, but there is one, on the Bluetooth chip).

Media indexing is now driven by tracker, the native indexer of the Fremantle OS. And if you don't like indexing you can of course browse the file system as before.

When you start MediaBox you will see the dashboard. This is where you can access your playlists, browse the device and your UPnP/DLNA servers, and access your indexed music, videos, and pictures. You can even put shortcuts to your stuff onto the dashboard for quick access, e.g. songs or albums you like, or folders with photos. No matter how deep within folders and subfolders you are, the dashboard is only one finger-tap away.

Another new feature is the folder history where you can see the folders where you recently were and go back.

If you have Tuomas Kulve's ogg-support installed, you will also be able to play Ogg Vorbis and FLAC music.

MediaBox still uses its own lightweight UPnP subsystem instead of gupnp that comes with Fremantle. My experience shows that the UPnP subsystem of MediaBox is still more compatible with the servers out there than gupnp is right now.

MediaBox is currently in the extras-devel repository for Fremantle and it's marked as an incomplete beta version. I expect to upload the full release later this month, after which it moves on to the extras-testing repository for community Q&A. Then it should only be a matter of time until it will appear in the extras repository.
The beta version in extras-devel is now updated frequently.

The new version will also be available for Diablo after the release for Fremantle. Portrait mode will be supported on Diablo, too, if you have rotation-support installed.