/* On enregistre notre lecteur. */ void cd_musicplayer_register_exaile_handler (void) { //On enregistre notre lecteur //cd_debug (""); MusicPlayerHandler *pHandler = g_new0 (MusicPlayerHandler, 1); pHandler->name = "Exaile"; pHandler->get_data = cd_exaile_get_data; pHandler->stop = NULL; pHandler->start = cd_exaile_start; // we could also let the loop get the state on the first iteration. pHandler->control = cd_exaile_control; pHandler->get_cover = NULL; pHandler->cCoverDir = NULL; /// visiblement il sait gerer les covers, sauf que je l'ai jamais vu en afficher une... pHandler->iPlayerControls = PLAYER_PREVIOUS | PLAYER_PLAY_PAUSE | PLAYER_NEXT; pHandler->appclass = "exaile.py"; pHandler->launch = "exaile"; pHandler->cMprisService = "org.exaile.DBusInterface"; pHandler->bSeparateAcquisition = FALSE; pHandler->iLevel = PLAYER_BAD; // API DBus moisie sans aucun signal. pHandler->cMprisService = "org.exaile.DBusInterface"; pHandler->path = "/DBusInterfaceObject"; pHandler->interface = "org.exaile.DBusInterface"; pHandler->path2 = NULL; pHandler->interface2 = NULL; cd_musicplayer_register_my_handler (pHandler); }
/* On enregistre notre lecteur. */ void cd_musicplayer_register_quodlibet_handler (void) { MusicPlayerHandler *pHandler = g_new0 (MusicPlayerHandler, 1); pHandler->name = "QuodLibet"; pHandler->get_data = cd_quodlibet_get_data; pHandler->stop = NULL; pHandler->start = cd_quodlibet_start; pHandler->control = cd_quodlibet_control; pHandler->get_cover = NULL; pHandler->cCoverDir = NULL; /// il me semble que QL gere les pochettes ... pHandler->iPlayerControls = PLAYER_PREVIOUS | PLAYER_PLAY_PAUSE | PLAYER_NEXT; pHandler->appclass = "quodlibet"; pHandler->launch = "quodlibet"; pHandler->cMprisService = "net.sacredchao.QuodLibet"; pHandler->cMpris2Service = "org.mpris.MediaPlayer2.quodlibet"; pHandler->path = "/net/sacredchao/QuodLibet"; pHandler->interface = "net.sacredchao.QuodLibet"; pHandler->path2 = NULL; pHandler->interface2 = NULL; pHandler->bSeparateAcquisition = FALSE; pHandler->iLevel = PLAYER_GOOD; // n'a besoin d'une boucle que pour afficher le temps ecoule. cd_musicplayer_register_my_handler (pHandler); }
/* On enregistre notre lecteur. */ void cd_musicplayer_register_amarok2_handler (void) { MusicPlayerHandler *pAmarok2 = cd_mpris_new_handler (); pAmarok2->cMprisService = "org.kde.amarok"; pAmarok2->appclass = "amarok"; pAmarok2->launch = "amarok"; pAmarok2->name = "Amarok 2"; pAmarok2->cMpris2Service = "org.mpris.MediaPlayer2.amarok"; cd_musicplayer_register_my_handler (pAmarok2); }
/* On enregistre notre lecteur. * Par matttbe => pour déresponsabiliser fab ça ^^ */ void cd_musicplayer_register_qmmp_handler (void) { MusicPlayerHandler *pHandler = cd_mpris_new_handler (); pHandler->cMprisService = "org.mpris.qmmp"; pHandler->cMpris2Service = "org.mpris.MediaPlayer2.qmmp"; pHandler->appclass = "qmmp"; // les classes sont passees en minuscule par le dock. pHandler->launch = "qmmp"; pHandler->name = "Qmmp"; cd_musicplayer_register_my_handler (pHandler); }
/* On enregistre notre lecteur. * Par matttbe */ void cd_musicplayer_register_exaile3_handler (void) { MusicPlayerHandler *pHandler = cd_mpris_new_handler (); pHandler->cMprisService = "org.mpris.exaile"; pHandler->cMpris2Service = "org.mpris.MediaPlayer2.exaile"; pHandler->appclass = "exaile"; // en vrai "Exaile.py", mais le dock tronque les extensions et passe tout en minuscule. pHandler->launch = "exaile"; pHandler->name = "Exaile 0.3"; cd_musicplayer_register_my_handler (pHandler); }
/* On enregistre notre lecteur. */ void cd_musicplayer_register_xmms2_handler (void) { MusicPlayerHandeler *pXmms2 = cd_mpris_new_handler (); pXmms2->cMprisService = "org.xmms.xmms2"; /// trouver le nom ... pXmms2->appclass = "xmms2"; /// idem... pXmms2->launch = "xmms2"; /// idem... pXmms2->name = "XMMS 2"; pXmms2->iPlayer = MP_XMMS2; cd_musicplayer_register_my_handler (pXmms2, "XMMS 2"); }
/* On enregistre notre lecteur. */ void cd_musicplayer_register_amarok2_handler (void) { MusicPlayerHandeler *pAmarok2 = cd_mpris_new_handler (); pAmarok2->cMprisService = "org.kde.amarok"; pAmarok2->appclass = "amarok"; pAmarok2->launch = "amarok"; pAmarok2->name = "Amarok 2"; pAmarok2->iPlayer = MP_AMAROK2; cd_musicplayer_register_my_handler (pAmarok2, "Amarok 2"); }
void cd_musicplayer_register_songbird_handler (void) { MusicPlayerHandler *pHandler = cd_mpris_new_handler (); pHandler->cMprisService = "org.mpris.songbird"; pHandler->cMpris2Service = "org.mpris.MediaPlayer2.songbird"; pHandler->appclass = "songbird"; pHandler->launch = "songbird-bin"; pHandler->name = "Songbird"; pHandler->name = "Songbird"; cd_musicplayer_register_my_handler (pHandler); }
void cd_musicplayer_register_amarok1_handler (void) { //On enregistre notre lecteurs MusicPlayerHandler *pAmarok1 = g_new0 (MusicPlayerHandler, 1); pAmarok1->read_data = cd_amarok1_read_data; pAmarok1->free_data = cd_amarok1_free_data; pAmarok1->configure = NULL; //Cette fonction permettera de préparé le controleur //Pour les lecteurs utilisants dbus, c'est elle qui connectera le dock aux services des lecteurs etc.. pAmarok1->control = cd_amarok1_control; pAmarok1->iPlayerControls = PLAYER_PREVIOUS | PLAYER_PLAY_PAUSE | PLAYER_NEXT | PLAYER_STOP | PLAYER_SHUFFLE | PLAYER_ENQUEUE | PLAYER_REPEAT; pAmarok1->appclass = "amarok"; pAmarok1->name = "Amarok 1.4"; pAmarok1->launch = "amarok"; pAmarok1->bSeparateAcquisition = FALSE; cd_musicplayer_register_my_handler (pAmarok1); }
void cd_musicplayer_register_xmms_handler (void) { //On enregistre notre lecteurs MusicPlayerHandeler *pXMMS = g_new0 (MusicPlayerHandeler, 1); pXMMS->read_data = cd_xmms_read_data; pXMMS->free_data = cd_xmms_free_data; pXMMS->configure = NULL; //Cette fonction permettera de préparer le controleur //Pour les lecteurs utilisants dbus, c'est elle qui connectera le dock aux services des lecteurs etc.. pXMMS->control = cd_xmms_control; pXMMS->appclass = "xmms"; pXMMS->name = "XMMS"; pXMMS->iPlayerControls = PLAYER_PREVIOUS | PLAYER_PLAY_PAUSE | PLAYER_NEXT | PLAYER_STOP | PLAYER_JUMPBOX | PLAYER_SHUFFLE | PLAYER_ENQUEUE | PLAYER_REPEAT; pXMMS->launch = "xmms"; pXMMS->iPlayer = MP_XMMS; pXMMS->bSeparateAcquisition = TRUE; cd_musicplayer_register_my_handler (pXMMS, "XMMS"); }
/* On enregistre notre lecteur. */ void cd_musicplayer_register_exaile_handler (void) { //On enregistre notre lecteur //cd_debug (""); MusicPlayerHandeler *pExaile = g_new0 (MusicPlayerHandeler, 1); pExaile->read_data = cd_exaile_read_data; pExaile->free_data = cd_exaile_free_data; pExaile->configure = cd_exaile_configure; pExaile->control = cd_exaile_control; pExaile->get_cover = NULL; pExaile->cCoverDir = NULL; /// visiblement il sait gerer les covers, sauf que je l'ai jamais vu en afficher une... pExaile->iPlayerControls = PLAYER_PREVIOUS | PLAYER_PLAY_PAUSE | PLAYER_NEXT; pExaile->appclass = "exaile.py"; pExaile->name = "Exaile"; pExaile->launch = "exaile"; pExaile->iPlayer = MP_EXAILE; pExaile->bSeparateAcquisition = FALSE; pExaile->iLevel = PLAYER_BAD; // API DBus moisie sans aucun signal. cd_musicplayer_register_my_handler (pExaile, "Exaile"); }
/* On enregistre notre lecteur. */ void cd_musicplayer_register_rhythmbox_handler (void) { cd_debug (""); MusicPlayerHandeler *pRhythmbox = g_new0 (MusicPlayerHandeler, 1); pRhythmbox->read_data = NULL; // rien a faire vu que l'echange de donnees se fait entierement avec les proxys DBus. pRhythmbox->free_data = cd_rhythmbox_free_data; pRhythmbox->configure = cd_rhythmbox_configure; // renseigne les proprietes DBus et se connecte au bus. pRhythmbox->control = cd_rhythmbox_control; pRhythmbox->get_cover = cd_rhythmbox_get_cover_path; pRhythmbox->appclass = "rhythmbox"; pRhythmbox->name = "Rhythmbox"; pRhythmbox->launch = "rhythmbox"; pRhythmbox->cCoverDir = g_strdup_printf ("%s/.cache/rhythmbox/covers", g_getenv ("HOME")); pRhythmbox->iPlayer = MP_RHYTHMBOX; pRhythmbox->bSeparateAcquisition = FALSE; pRhythmbox->iPlayerControls = PLAYER_PREVIOUS | PLAYER_PLAY_PAUSE | PLAYER_NEXT | PLAYER_ENQUEUE; pRhythmbox->iLevel = PLAYER_EXCELLENT; cd_musicplayer_register_my_handler(pRhythmbox, "rhythmbox"); }