What is new in 110
From Mms-wiki
Larger things:
- plugins - much improved search, including global search (search in all plugins: audio, movie, pictures) - movie collection plugin, for your couch potato needs - python plugin, for your hacking pleasure - opengl output plugin, for your bling needs - notification support (inotify), entering large folders is much faster now - VDR integration in EPG - VBOX support - multiple input - resolution independance + zooming interface
Smaller things:
- a lot of code cleanup - movie thumbnailing - better movie playback options - new movie list view - improved lcd support - imms upgraded from 2.X staticly compiled to loading it as a daemon (3.X) - ofdb.de support (german imdb clone) - automatic fetching of audio information + covers for cds - better persistence - ability to choose cover for audio folders - When searching imdb, make up better strings - submitting playback information to last.fm - New font, new theme - Search helper line - plasma screen burn-in protection - sorting by date - mouse support
A few movies showing some aspects of MMS 1.1.0:
[1] [2]
Plugins
The biggest change in 1.1.0 is the plugin structure. There are different kinds of plugins: feature, output, input, audio player, video player. Each of these plugins can be installed seperately and MMS will load them on startup. From the developers side of things, the flat filesystem layout as we have in 1.0.X, has been changed into a hierarchy of folders. This makes it much easier to find things.
So an example of the plugins I have in my plugin dir is:
lib_ainput_keyboard.so lib_feature_movie_player_dxr3player.so lib_ainput_replay.so lib_feature_movie_player_mplayer.so lib_feature_audio_player_alsaplayer.so lib_feature_movie_player_xine.so lib_feature_audio.so lib_feature_movie.so lib_feature_epg.so lib_feature_pictures.so lib_feature_movie_collection.so lib_output_sdl.so
Plugins makes the code much better since it forces one to not make hacks to get things working and will be a big help for distributions, since one can just install the plugins needed and have a small core. It also makes dependencies much easier to track.
The initial code was the work of Nicolas Vignot. It was actually what spawned the 1.1.0 branch a long time ago.
Search
Another new big thing is that search has been improved a lot. Instead of being very simple, only filename, and only from starts with, it can now search in all metadata and any position in the metadata. Furthermore in the startmenu there has now been added a search entry which will search in all feature plugins that have search capabilities. I think some screenshots of the search interface inside a feature plugin will show it best.
As one can see from the screenshots above, lirc (and evdev) input adds a helper line which helps one input strings. The line is especially helpful in finding out when a key has "timed out" so that one can enter another key.
A side-effect of the ability to search is that all information is now stored in a db. This also improves the performance of large folders, making them much faster to enter. In 1.0.X, MMS, had trouble entering a large folder (1000+ files) simply because stat'ing all the files took a long time.
movie collection plugin
The movie collection plugin is a plugin that was written to basically keep track of your dvd collection. The plugin works by allowing the user to enter the movies in ones collection and then allows the user to browse the collection using searching functionality and nice imdb data.
At first it is empty and one must add a movie to it. This is done by searching imdb for a movie and storing the movie in the collection.
The advantage of the movie collection plugin compared to not having it is:
1) Can find a movie to watch on dvd from couch (still have to move it put it in though) 2) Better info (cover, rating, genre, plot etc.) to determine the movie to watch 3) Can search for a movie (author, genre?), which is quite hard when the movies are on the shelf.
python plugin
Thanks to the excellent work of Fredde, one can now extend MMS with python code. So one will not have to be an expert in C++ but can instead leverage the easy to use programming language Python. I'm sure Fredde has a lot more to say about this.
opengl output device
A new output plugin that uses opengl for drawing. It does cool transition animations as you can see in this movie:
Plugin written by Lorenzodes and is still somewhat experimental especially the animations.
notification support
In 1.0.8.4, and earlier, when new media was added one had to explicitly reload directories by hand. In 1.1.0 we now hook into the kernel using inotify and is able to find out exactly when changes occur and can update only the needed folders. So if MMS is running while you add or remove stuff MMS will pick it up. In case mms is not running while you did this, one has to do a manual reload of the directory where the changes occurred.
movie playback/movie thumbnailing
Besides the search, we have added movie playback using mplayer inside MMS and thumbnailing of movie files using mplayer as the following screenshot shows:
And fullscreen movie playback inside mms:
Please note that this will only work on SDL devices. I havn't found a fast enough way to make this portable on all output devices.
better movie playback options
Since movie players are now plugins, Lorenzodes added a new generic player plugin that allows one to use almost any external movie player for playback. We also enhanced the current players by adding a new options menu when things can be set.
movie list view
A new list view for movie and movie collection has been added. It's sort of a mix between non-graphical view and graphical view. For imdb movies this gives more room for displaying spicy information next to the image on the display so this is particular useful for the movie collection plugin. It also works quite nice for a TV series which often uses long file names.
I would like to thank John Douglas whose work this is based on.
improved lcd support
In 1.1.0, lcd can be used for navigation, meaning that the menu structure will be displayed on the lcd display allowing for navigating around the system when TV is off. This idea comes from naicheben and works quite nice in real world.
automatic fetching of audio information + covers for cds
Thanks to Lorenzodes when you play music from a cd, the cover will automatically be fetched from an online service together with audio information such as artist, album etc. This makes cd playback a "first class citizen"
ofdb.de
ofdb.de is a german imdb clone with information about movies in German. I'm sure our rather large German user base will welcome this. This is implemented by adding a new config variable to movie config that allows one to choose if movie information should be downloaded from an english source or German. If German is selected, MMS will try to use as much information as can be gathered from ofdb.de, de.imdb.com. So if some info is missing from ofdb.de, information from de.imdb.com will be used.
This feature was coded by Osman Redzepi.
better persistence
Options and playlists are automatically saved when changes so this should add to the incentives for trying out the new features. You won't loose a playlist that you spend hours creating because MMS crashed.
Furthermore because we now store stuff in a db, the orientation of images will be saved so that when you show the image again, the orientation will be remembered. No more fiddling with rotating the images all the time.
ability to choose cover for audio folders
Added screen where one can select the cover for a folder. This is very useful in the case one has the following structure:
artist/
artist/album1
artist/album2
One can then choose a cover for the artist from all the covers available in all sub folders. And because the information is saved in the db it's super fast. By default the first time a folder is checked, the first cover will be picked and used. This makes it much nicer to navigate around around in a lot of artists.
Use better names in imdb searches
In older versions it could be quite dreaded to have to manually fix the filenames when looking up movies in imdb. In 1.1.0 a lot of the common cruft associated with filenames is automatically fixed so that one often doesn't have to change
submitting playback information to last.fm
We have some basic support for submitting to last.fm what you're listening to. So you won't be left out in the cold just for running the super media system MMS :-)
New font, new theme
We changed the font from the Red Hat liberation fonts to the Dejavu fonts. Debian doesn't allow packages with the Red Hat liberation font. A good thing about this is that we now have two fonts that you can use depending on your needs. We have a bold one and a thin one. Both are located in /usr/share/mms/fonts. Just change the symlink. If you run 720x405 I would suggest using the thin as the bold might be too big in the startmenu.
We also have a whole new theme with new icons from Andreas Saur.
plasma screen burn-in protection
Plasma screen have a problem with burn-in, like old crt monitors where it after many hours of the same image, would have it burned into the screen. We have a black screensaver that will kick in after a user-specified number of minutes to protect against this. Thanks to Lorenzodes for adding this feature.
