Beispiel #1
0
void rockon_data_clean(rockon_data *rdata) {
	assert(rdata);

	if (rdata->playback_info != NULL) {
		media_info_del(rdata->playback_info);
	}
	if (rdata->playlists != NULL) {
		playlist_list_del(rdata->playlists);
	}
	if (rdata->volume != NULL) {
		volume_del(rdata->volume);
	}
	
	xmms2_shutdown(rdata);
}
Beispiel #2
0
void
volume_load(void)
{
   FILE *f;
   char buf[4096];
   Eina_List *tvolumes, *l;
   
   snprintf(buf, sizeof(buf), "%s/volumes", config);
   tvolumes = volumes;
   volumes = NULL;
   f = fopen(buf, "rb");
   for (l = tvolumes; l; l = l->next)
     volumes = eina_list_append(volumes, strdup(l->data));
   if (f)
     {
	while (fgets(buf, sizeof(buf), f))
	  {
	     int len;
	     char *vol;
	     
	     len = strlen(buf);
	     if (len < 1) continue;
	     if (buf[0] == '#') continue;
	     if (buf[len - 1] == '\n') buf[len - 1] = 0;
	     vol = volume_list_exists(tvolumes, buf);
	     if (!vol)
	       volume_add(buf);
	     else
	       {
		  tvolumes = eina_list_remove(tvolumes, vol);
		  free(vol);
	       }
	  }
	fclose(f);
     }
   /* whats left in tvolumes is to be deleted */
   while (tvolumes)
     {
	char *vol;
	
	vol = tvolumes->data;
	tvolumes = eina_list_remove_list(tvolumes, tvolumes);
	volume_del(vol);
	free(vol);
     }
}
Beispiel #3
0
void
volume_update(void)
{
   while (volumes) volume_del(volumes->data);
   volumes_load_timer = ecore_timer_add(SCANDELAY, volume_timer, NULL);
}