Commit Graph

31 Commits

Author SHA1 Message Date
Carsten Haitzler 46e844b917 group get length + pos
SVN revision: 53587
2010-10-18 23:19:13 +00:00
Carsten Haitzler 877afc2bc0 adapt to song length change... any time! :) oh and use right callbacks
too.



SVN revision: 53585
2010-10-18 23:15:30 +00:00
Carsten Haitzler 986a892996 bugsors.
SVN revision: 53247
2010-10-10 23:46:17 +00:00
Carsten Haitzler 8c8082b285 lets not segv shall we when some fileds dont exist in songs? :)
SVN revision: 53244
2010-10-10 23:07:01 +00:00
Leandro Pereira 88c040ce1a [Enjoy] Use a different effect when changing mode buttons (play/pause and now playing/playlist).
Play/pause effect is currently b0rked, will be fixed by monday.

SVN revision: 53220
2010-10-08 23:07:13 +00:00
Leandro Pereira 052fc3a17b [Enjoy] Move position slider to reflect current song position.
Dragging the slider should change the song position as well.

Patch by Otávio Pontes.

SVN revision: 53219
2010-10-08 23:07:09 +00:00
Leandro Pereira 249b07be6e [Enjoy] Theme: Better effect on disabled buttons.
SVN revision: 53155
2010-10-07 19:18:18 +00:00
Leandro Pereira 73788cd067 [Enjoy] Fix sensitiveness of toolbar buttons, according to context.
SVN revision: 53120
2010-10-06 22:33:27 +00:00
Leandro Pereira 58c9588799 [Enjoy] Add nowplaying.c, forgotten on last commit. Bad git-svn :(
SVN revision: 53116
2010-10-06 20:32:26 +00:00
Leandro Pereira 16a97997c4 [Enjoy] Implement partially the Now Playing screen.
Patch by Otávio Pontes.

SVN revision: 53110
2010-10-06 20:09:44 +00:00
Leandro Pereira 04f84d3dd7 [Enjoy] Prevent crash if Prev/Next buttons are clicked when they shouldn't be.
SVN revision: 53064
2010-10-05 15:19:11 +00:00
Gustavo Sverzut Barbieri 0d9366c083 give my speed back :-)
don't stringshare as we don't need it, better to use direct info and
check for know extensions before trying slow efreet discovery.



SVN revision: 52970
2010-10-01 21:29:12 +00:00
Gustavo Sverzut Barbieri f5e8baacdc huge block count makes elm_genlist calculate too many icons and this is slow.
SVN revision: 52969
2010-10-01 21:28:13 +00:00
Gustavo Sverzut Barbieri af94b452d4 cedric, coding style is now without tabs! :-)
SVN revision: 52968
2010-10-01 21:14:07 +00:00
Leandro Pereira dc1afa0070 [Enjoy] Speed up album screen loading.
Efreet MIME was being initialized and deinitialized for every cover icon: moved them to saner places. Bad Cedric :P

SVN revision: 52954
2010-10-01 17:16:12 +00:00
Leandro Pereira ad037bcad4 [Enjoy] Theme: Effenihtize album list.
SVN revision: 52951
2010-10-01 16:35:06 +00:00
Cedric BAIL 0e7776e733 * enjoy: simplify cover discovering code.
SVN revision: 52924
2010-09-30 13:32:38 +00:00
Leandro Pereira f6ac986a49 [Enjoy] Self-spanking over emotion_object_init().
SVN revision: 52893
2010-09-29 16:13:07 +00:00
Leandro Pereira 14c368e160 [Enjoy] More work on Enjoy theme.
Add high-quality, designer-drawn icons, plus other things stolen from the Eve theme.

SVN revision: 52856
2010-09-28 18:02:15 +00:00
Nicolas Aguirre 49b7a7f5a5 Set enjoy style for genlist and pager
SVN revision: 52842
2010-09-28 06:49:19 +00:00
Leandro Pereira fa0ff006ed [Enjoy] Try all possible emotion backends before giving up.
Try, in order: xine, gstreamer, vlc. I know xine and gstreamer backends are working, but I don't know the state of the vlc frontend. I'm assuming it works.

SVN revision: 52803
2010-09-27 17:57:32 +00:00
Gustavo Sverzut Barbieri 8182ccda33 "All songs" for lists that make sense.
SVN revision: 52778
2010-09-26 15:25:13 +00:00
Gustavo Sverzut Barbieri a881d3d605 more meat: local cover arts, custom listings.
this is basically a stub, with covers being fetched from local
directories. Further on they must be added to some DB and queried to
avoid dir walks every time. Maybe we should also do the lookups in
ecore_thread, using a placeholder image while it is fetched. [even
more future, but maybe you want to help]

listings got customized, with genres -> albums, artists -> albums, and
albums show song length and track number. album listings shows
covers. I guess this is the way it is gonna be (much like my ipod), so
people can start helping with genlist item theme.

my future work will be on "nowplaying" mode screen, then theme, then
storing covers in db.



SVN revision: 52766
2010-09-25 23:34:58 +00:00
Gustavo Sverzut Barbieri eca67db8b8 fix db issues, proper list navigation, action to go to now playing list.
SVN revision: 52696
2010-09-24 18:35:08 +00:00
Gustavo Sverzut Barbieri aafd339e18 oops, and also work on the root folders.
SVN revision: 52678
2010-09-24 07:15:46 +00:00
Gustavo Sverzut Barbieri 81bcbe3ba6 of course, commit then test, then figure you forgot a case ;-P
SVN revision: 52677
2010-09-24 07:01:26 +00:00
Gustavo Sverzut Barbieri 97438b7195 wow, it mostly works ;-)
seriously, still nothing to see here, just tests to get page
switching. Now we have few folders that lead to songs.

tomorrow I'll add more meat to it. artists should lead to
albums. genre should to albums. Albums must be specialized to provide
artist id as well, so we can have "Album - Artist" in the list (seems
every group like the similar album names ;-))



SVN revision: 52676
2010-09-24 06:55:40 +00:00
Gustavo Sverzut Barbieri e70a9acb21 we all like correctness + faster + laziness, so we got it all!
correctness: do not do the join of all audio tables, so we still get
those music without albums, artist or genres.

faster: this is also faster, as there is less data comming in, and
during db_song_copy() we do not have to handle album, artist and genre
strings.

laziness: do just when item requests such information. So if you open
the list but never scrolls, just a few will be fetched. And the
information is saved for future reuse.




SVN revision: 52664
2010-09-24 04:13:22 +00:00
Gustavo Sverzut Barbieri 966f3e0bae bring in items, as requested by raster
SVN revision: 52662
2010-09-24 02:32:08 +00:00
Gustavo Sverzut Barbieri f790ff1b00 example on how to add new queries, pretty simple.
try the following code as test:
{{{
#!c

#include <stdio.h>
#include <unistd.h>

#include "private.h"
int _log_domain = 0;

int main(int argc, char *argv[]) {
    eina_init();
    DB *db = db_open(argv[1]);
    Eina_Iterator *it = db_artist_songs_get(db, atoi(argv[2]));
    const Song *song;
    EINA_ITERATOR_FOREACH(it, song)
        printf("%d - [%s] of [%s] by [%s]\n",
               song->trackno,
               song->title,
               song->album,
               song->artist);
    eina_iterator_free(it);
    db_close(db);
    eina_shutdown();
    return 0;
}

}}}



SVN revision: 52659
2010-09-24 02:10:00 +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