Commit Graph

3 Commits

Author SHA1 Message Date
Leandro Pereira 026715693f [enjoy] Add MPRIS support.
MPRIS stands for Media Player Remote Interfacing Specification. It is a DBUS
interface that lets other programs to control a media player.  This include
going to the next or previous songs, obtaining the track list, being
notified whenever a song starts to play, etc.  There are a couple of clients
out there, but standard programs like dbus-send and dbus-monitor can be used
also.

Spec 1.0 (http://www.mpris.org/1.0/spec.html) has been implemented, since
most clients only support it.  However, porting the current implementation
to the new spec shouldn't be too difficult.  The implementation is partial,
though, since more things should be implemented in Enjoy before MPRIS
support can make use of it.

SVN revision: 54439
2010-11-10 21:04:56 +00:00
Rafael Antognolli 0888cf64e9 Enjoy now uses lms to scan directories (only from cmd line yet).
SVN revision: 54143
2010-11-04 01:12:43 +00:00
Gustavo Sverzut Barbieri c010b3433f add basic enjoy code to svn.
WARNING: there is not much to see here yet! I'm just adding to svn as
people seems interested in help, and it is impossible to help without
the base code. IF YOU DON'T WANT TO HELP WITH CODE, DON'T EVEN BOTHER
COMPILING IT YET!

Enjoy is (will be) a music player fully based on Enlightenment
Foundation Libraries (EFL), the goal is to have a simple yet useful
music player that works on desktop and mobiles with the minimum set of
dependencies and maximum efficiency.

It is based on LightMediaScanner (my code[1]) to scan directories for
music and create a database and does so in a very and safe efficient
way by having a scanner process with lower nice priority. It is also
smart enough to hint to your kernel you'll not need the scanned files
anymore (posix_fadvise()) and thus it will not pollute your RAM with
useless file system cache.

So far it is not creating the database on its own, neither have a a
library manager to add/remove directories. In order to run Enjoy you
must first create your own database using "test" program from
lightmediascanner sources:

{{{
   cd lightmediascanner
   ./configure && make && make install
   mkdir -p $HOME/.config/enjoy/media.db
   ./src/bin/test -i 5000 -p id3 -s $HOME/Music $HOME/.config/enjoy/media.db
}}}

The GUI is pretty much ugly and needs huge work. It is almost fully
done in Edje, so C part is quite lean, however I did no Edje work yet,
just the basics to show something (uses r | g | b rectangles for
actions, you have to guess what's what ;-))


= HOW TO HELP =

Read TODO file.

If you're more like a coder:
 * src/bin/db.c follow the propsed stubs and db_songs_get() example;
 * src/bin/page.c add recursive paging with "folder" pages;
 * src/bin/win.c start/stop ecore_thread with lms_process() + lms_check();
 * src/bin/win.c write library manager: rescan collection (thread as
   above item), add directories, remove directories.

If you're more like an edje guy:
 * data/themes: follow eve's style, focus on the bottom toolbar, then
   the list items, then the page/songs. Use dummy icons (copy from eve
   or efenniht), we'll provide proper icons soon
 * add nowplaying screen
 * add volume using dragable (copy from efenniht's slider)


[1] download code from http://git.profusion.mobi/cgit.cgi/lightmediascanner.git/ or http://lms.garage.maemo.org/



SVN revision: 52658
2010-09-24 01:37:54 +00:00