Mebitag is a pair of GTK+ applications written in C designed to help users of Unix-like systems sort and search through any collection of files using customizable criteria. Once you pick a collection you can use MebiEdit to create an XML database that stores information about those files. When this is made, MebiView will help you find the files you are looking for without making you read all the XML. Both applications use a small portable library called libmebi which can be used to make other Mebitag compatible applications. Mebitag is released under the GNU LGPL so it is free to download, modify and redistribute.
We are all used to tagging music collections and some programs have achieved fame solely for their ability to use these tags efficiently. However, ID3 tags and Vorbis comments are limited in their usefulness. The categories are: Title, Artist, Album, Year, Track, Genre, Comment and cannot be changed. Furthermore each tag is limited to a small number of characters and the type of tag you have to use is codec dependent.
Mebitag instead lets you tag a general collection of files and saves these tags in an XML file. In the language of Mebitag, every database is a list of entries. The entries are the files you want to tag. Each entry has an associated name, filepath, preferred player and a list of categories. This means for example that you can tag a set of songs and videos together and you can specify that you like the songs to be played in Amarok while you like the videos to be played in VLC. You don't need to make every entry have Title, Artist, Album, Year, Track, Genre and Comment as its categories. You can choose how many categories you use, the categories can have different names for each entry and you can even make each entry have a different number of categories. The common case in which all entries have the same categories is handled separately by Mebitag to improve performance. In turn, each category contains a list of tags. The tags can have any number of characters and the number of tags is arbitrary.
MebiEdit is a graphical front-end designed to help new users create a Mebitag database. It can open and save Mebitag databases and includes a tabbed interface to let you access, rename and reorder categories. Each tab lets you add, remove, edit and reorder tags. The menu has options for adding and removing entries and categories and the sidebar makes it easy to rename and reorder entries. Using MebiEdit for a while makes one familiar with how Mebitag databases work. After this initial learning curve it is usually much easier to edit a Mebitag database using a regular text editor.
MebiView is a graphical program for getting the most out of your Mebitag database once you've made one. The two-column GUI displays categories that any given entry could have in the tabs. It displays a checklist of tags that any given category could have in the left column and a dynamically updating list of entries having those tags in the right column. Also, tags that no displayed entires have are crossed out to help you save time. Double clicking an entry in the right column will cause it to play in the preferred player specified in the database.