Media center with star potential

Multimedia Buffet


Enna, a new media center project based on the GeeXboX code base, offers convenient controls and a couple of surprising functions.

By Falko Benthin

If you want to watch a movie, listen to music, view some photos, read a book, and check the weather forecast for the weekend, it's no problem with Enna [1]. En route to version 1.0, the latest addition to the free media center tribe is looking to thrill gamers; serve up TV shows, podcasts, and streams from a variety of web radio stations; and talk to other media servers.

Enna's development started as a user interface for the latest version of the GeeXboX [2] media center distribution. The application only runs on Linux right now, although the developers are working on ports for Mac OS X and Windows. Written in C, the program is based on the Enlightenment Foundations Libraries (EFL) [3]. The front end currently speaks languages other than English, including German, French, and Italian.

Installing Enna

The easiest way to put Enna on your living room PC is to boot the GeeXboX Live CD. The website also includes links to package repositories [4] for Ubuntu 9.10 "Karmic Koala" and Maemo 5, the system used by the Nokia N900. If you have another distribution and want to install Enna as a standalone application on your computer, you have no alternative but to install Enna from the source code.

Enna has dependencies for the MPlayer [5], Xine, or GStreamer media players; the Mercurial [6] version management tool; the EFL libraries (E_Dbus, Ecore, Edje, Eet, Efreet, Eina, Elementary, Embryo, and Evas) [7] [8]; and the GeeXboX developer libraries, libnfo [9], libvalhalla [10], and libplayer [11]. You can download the GeeXboX contributions to the Enna source code, libnfo, libvalhalla, and libplayer with the hg clone http://hg.geexbox.org/ package command.

After resolving all the dependencies, just follow the standard procedure for building and installing Enna: ./configure, make, and (after becoming root) make install.

Controls

If you install Enna from package repositories, the media center is added to your desktop applications. Otherwise, you can pop up a command line and type enna. Enna immediately spreads out over the desktop (Figure 1). The options are Music, Photo, Video, BookStore, Weather, and Configuration. Each section, or activity, has its own wallpaper, which means you can see what you have selected from a distance.

Figure 1: The Enna media center gives users options beyond the typical scope of multimedia.

Enna accommodates many media - DVDs, video files, audio files, photos, and books - Enna will play them all, assuming you have the right codecs in place on your machine. The basic controls are intuitive; instead of using the mouse, you can press the Enter, Backspace, and arrow keys. For more granular control, you can map shortcuts more or less to any key on the keyboard; the Enna team provides 30 default keyboard shortcuts [12]. If your computer has an infrared interface, you can even use a remote to control Enna; however, this does mean defining the actions for the remote buttons yourself.

Although the name would suggest more functionality, the Configuration menu item only takes the user to two information displays (Figure 2). One of these gives you an overview of your computer hardware, and the other lists the developers behind Enna. Currently, most settings rely on the ~/.enna/enna.cfg file, which is where you specify the file formats that the various Enna activities handle (Table 1).

Figure 2: The configuration section is still very basic. Right now, it only provides system information and lists the developers.

Besides defining the formats used by the Enna rendering engine, the configuration file also specifies the directories users can access via shortcuts. The media database also needs to know which directories Enna should search automatically for media files at defined intervals. The media center archives the hits in an SQLite media database. Also, you can set up a blacklist with keywords that should not appear in the database.

If you take a close look at the configuration file, you will see that the developers still seem to be working on many of the planned features; for example, there are sections for TV and media streaming over networks (some of which are commented out).

Activities

When you access a media area in Enna, you can search all the partitions linked to it. The Photos section in Enna currently displays only thumbnails (Figure 3); the other views, such as a list of filenames, have not yet been implemented. The currently selected photo is highlighted, and pressing Enter launches a slideshow. To modify the display interval for this slideshow, change the slideshow_delay value in enna.cfg. Enna currently doesn't parse the Exif information and thus will not rotate portrait images automatically.

Figure 3: Enna always displays photos in landscape; pressing Enter launches a slideshow.

Even at this early stage, Enna has no trouble playing music. Once you configure the default paths in enna.cfg, they are displayed at the top of the location menu for quick access. Additionally, you can access remote file and media servers for replaying, although this again assumes that you have defined them in the configuration file. While your music is playing, libvalhalla, another development by the GeeXboX team, parses the ID3 tags for the tracks and stores the information it finds in an SQLite database; therefore, you can search your music collection by artist, album, or genre and possibly also display the album cover for a track (Figure 4).

Figure 4: Libvalhalla parses ID3 tags and catalogs the music collection in an SQLite database.

The Video activity plays both video files and DVDs. Enna uses libplayer to access applications such as MPlayer or Xine for this. Depending on the status of the libraries installed on your computer, Enna will play DVDs and show you the DVD menus, with some restrictions (Figure 5).

Figure 5: Depending on the libraries in place on your computer, Enna will play DVDs, as well as other media, including video files, audio files, photos, and books.

If you have a collection of video files, the media center will display a preview of each movie with its main characteristic shown below the image. The specifications include the vertical resolution and transmission type, the sound system, the file format, duration, genre, and a short description of the plot. Enna retrieves the preview and the plot from geexbox.org or from services such as TheTVDB.com and TVRage.com. Unfortunately, the information output might not match the movie (Figure 6).

Figure 6: Enna searches remote servers for information on video files. Things can go wrong here as you can see in the "Big Buck Bunny" announcement.

Enna's BookStore module lets you contact book sites, although the choice of providers is currently restricted to GoComics.com [13] and OneManga.com [14]. Both of these can supply a large selection of comics to users, including titles like "Garfield," "Calvin and Hobbes," or "Pickles" (Figure 7), as well as a whole bunch of Manga. Although you might have more convenient ways of reading comics and books, when a future version of Enna lets you watch TV, comics might be a welcome alternative to the commercials.

Figure 7: The BookStore module entertains users when they run out of movies and music.

One feature that virtually no other media center offers is the ability to check the current weather and the forecast for the next four days (Figure 8). In the configuration, you need to specify the location for which you want Enna to show the weather. The developers back up this function with idyllic photos that make you feel like packing your suitcase on the spot and that often have very little to do with the bleak reality. Future versions of Enna will let users check out the weather for more than one location.

Figure 8: The weather activity shows you whether you will need your swimming gear, a sweater, or a fur coat.

Conclusions

Despite being at an early stage of development, Enna creates a good first impression. It really does have what it takes to compete with other free media centers like XBMC [15] or Fluendo [16]. The application has a straightforward interface that supports intuitive use and a bunch of file formats.

The developers have many useful features in the pipeline. For example, future versions of Enna will support games and act as TV sets, web radios, and players for audio CDs and podcasts. Much farther down the road - and with some support from the GeeXboX project - the media center might let you play YouTube videos or keep in touch with friends via Internet messenger, VoIP, or video conferencing.

Enna still has some rough edges. For example, the program froze a couple of times in our lab, and the configuration activity doesn't live up to its name. Also, installing from source can prove time consuming, and of course, fans of this multimedia application will probably look forward to finding distribution-specific packages in their distributor's repository.

INFO
[1] Enna: http://enna.geexbox.org
[2] GeeXboX: http://www.geexbox.org
[3] Enlightenment Foundations Libraries: http://enlightenment.org
[4] GeeXboX download: http://enna.geexbox.org/download.html
[5] MPlayer: http://www.mplayerhq.hu
[6] Mercurial: http://mercurial.selenic.com
[7] EFL-EET: http://download.enlightenment.org/releases/
[8] EFL libraries: http://download.enlightenment.org/snapshots/LATEST/
[9] libnfo: http://libnfo.geexbox.org
[10] libvalhalla: http://libvalhalla.geexbox.org
[11] libplayer: http://libplayer.geexbox.org
[12] Predefined shortcuts: http://hg.geexbox.org/enna/file/35d6ab8d3531/src/modules/input/kbd/kbd.c#l39
[13] GoComics.com: http://www.gocomics.com
[14] OneManga.com: http://www.onemanga.com
[15] XBMC: http://xbmc.org
[16] Fluendo: http://www.fluendo.com