void queue_modify_all(struct queue *queue) { for (unsigned i = 0; i < queue->length; i++) queue->items[i].version = queue->version; queue_increment_version(queue); }
void queue_modify(struct queue *queue, unsigned order) { unsigned position; assert(order < queue->length); position = queue->order[order]; queue->items[position].version = queue->version; queue_increment_version(queue); }
static void playlist_state_load(FILE *fp, GString *buffer, struct playlist *playlist) { const char *line = read_text_line(fp, buffer); if (line == NULL) { g_warning("No playlist in state file"); return; } while (!g_str_has_prefix(line, PLAYLIST_STATE_FILE_PLAYLIST_END)) { queue_load_song(fp, buffer, line, &playlist->queue); line = read_text_line(fp, buffer); if (line == NULL) { g_warning("'" PLAYLIST_STATE_FILE_PLAYLIST_END "' not found in state file"); break; } } queue_increment_version(&playlist->queue); }
static void playlist_increment_version(struct playlist *playlist) { queue_increment_version(&playlist->queue); idle_add(IDLE_PLAYLIST); }