Introduction
eclair est le premier lecteur multimédia (ou audio uniquement) basé sur les EFL.
Idées
Themes :
Plugins :
- Accepter les plugins écrit en C et ceux écrit avec embryo
- plugin du shuffle de playlist écrit avec embryo
- plugins emotion :
- un pour les fichiers
- un pour les CD
- un pour le streaming
Playlist :
- Plusieurs playlists :
- fichiers locaux
- streaming (ex : webradio)
- Recherche
- shuffle :
static int * _playlist_shuffle (playlist * pl)
{
unsigned int * tab;
unsigned int nb;
nb = playlist_count_get (pl);
tab = malloc (sizeof (unsigned int) * nb);
for (int i = 0; i < nb; i++)
tab[i] = i;
for (int i = 0; i < nb; i++)
swap (tab, i, rand (nb - i));
return tab;
}
static void swap (unsigned int * array, unsigned int index, unsigned int index2)
{
unsigned int i;
i = array [index];
array [index] = array [index2];
array [index2] = i;
}Details
Signaux envoyés par le thème à l'application
- media_open : ouvrir un media
- media_play : lance la lecture du media sélectionner
- media_pause : mettre en pause la lecture
- media_stop : arreter la lecture
- media_next : passer au media suivant
- media_prev : passer au media précédent
- media_forward : avance rapide
- media_backward : retour rapide
- media_seek : déplacer dans le media
- volume_up : augmenter le volume
- volume_down : bassier le volume
- playlist_open : charger une liste de lecture
- playlist_save : sauvegarder la liste de lecture en cours
- playlist_add : ajouter un media à la liste de lecture
- playlist_remove : supprimer un media de la liste de lecture
- playlist_shuffle : active la lecture aléatoire
- playlist_repeat : active la lecture en boucle
Liste des objets disponibles dans un thème :
- window : une fentre classique
- body : la fenetre principale du lecteur
- info_bar : barre d'infos sur le média en cours
- progress_bar : barre de progression au niveau du média en cours
- volume_bar : barre de volume (peut être une progress_bar ou pas)
- cover : zone ou l'on affiche la jaquette du média
- button : bouton de sélection
- menu : menu contextuel
- menu_item : option d'un menu ou d'un sous menu
- radio : bouton radio
- check : check box