X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=playlist.c;h=5dcac73cbb7c3adf7f77afecb4479b08d502b174;hp=5012d4c446739db9617eb00671bfe15a298e62f9;hb=6087405d00ebd7f3a6d8f383ab99b786a99029c2;hpb=a3dc441fc0219d417923b04e863ceca5a1427c0e diff --git a/playlist.c b/playlist.c index 5012d4c4..5dcac73c 100644 --- a/playlist.c +++ b/playlist.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Andre Noll + * Copyright (C) 2007-2008 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -41,12 +41,12 @@ static int add_playlist_entry(char *path, void *data) int ret = aft_get_row_of_path(path, &aft_row); if (ret < 0) { - PARA_NOTICE_LOG("%s: %s\n", path, PARA_STRERROR(-ret)); + PARA_NOTICE_LOG("%s: %s\n", path, para_strerror(-ret)); return 1; } ret = score_add(aft_row, -playlist->length); if (ret < 0) { - PARA_ERROR_LOG("failed to add %s: %s\n", path, PARA_STRERROR(-ret)); + PARA_ERROR_LOG("failed to add %s: %s\n", path, para_strerror(-ret)); return ret; } playlist->length++; @@ -80,7 +80,7 @@ static int load_playlist(struct osl_row *row, void *data) err: if (ret != -E_DUMMY_ROW) PARA_NOTICE_LOG("unable to load playlist (%s)\n", - PARA_STRERROR(-ret)); + para_strerror(-ret)); return 1; } @@ -91,7 +91,7 @@ static int check_playlist_path(char *path, void *data) int ret = aft_get_row_of_path(path, &aft_row); if (ret < 0) - para_printf(pb, "%s: %s\n", path, PARA_STRERROR(-ret)); + para_printf(pb, "%s: %s\n", path, para_strerror(-ret)); return 1; } @@ -104,7 +104,7 @@ static int check_playlist(struct osl_row *row, void *data) if (ret < 0) { para_printf(pb, "failed to get playlist data: %s\n", - PARA_STRERROR(-ret)); + para_strerror(-ret)); return 1; } if (*playlist_name) { /* skip dummy row */ @@ -223,12 +223,24 @@ static int handle_audio_file_event(enum afs_events event, void *data) return score_add(row, 0); /* play it immediately */ } +/** + * Handle afs events relevant to playlists. + * + * \param event The event type. + * \param pb Unused. + * \param data Depends on the event type. + * + * \return Standard. + */ int playlists_event_handler(enum afs_events event, __a_unused struct para_buffer *pb, void *data) { int ret; + struct afsi_change_event_data *aced = data; switch(event) { + case AFSI_CHANGE: + return playlist_update_audio_file(aced->aft_row); case AUDIO_FILE_RENAME: case AUDIO_FILE_ADD: return handle_audio_file_event(event, data);