- if (afd->current_play_mode == PLAY_MODE_PLAYLIST)
- ret = playlist_update_audio_file(aft_row);
- else {
- struct afsi_change_event_data aced = {.aft_row = aft_row,
- .old_afsi = &afd->afsi};
- afs_event(AFSI_CHANGE, NULL, &aced);
+
+ ret = load_chunk_info(&chunk_table_obj, &afd->afhi);
+ if (ret < 0)
+ goto err;
+ ret = get_attribute_text(&afd->afsi.attributes, " ", &tmp);
+ if (ret < 0)
+ goto err;
+ assert(tmp);
+ strncpy(afd->attributes_string, tmp, sizeof(afd->attributes_string));
+ afd->attributes_string[sizeof(afd->attributes_string) - 1] = '\0';
+ free(tmp);
+
+ {
+ struct ls_data d = {
+ .afhi = afd->afhi,
+ .afsi = afd->afsi,
+ .path = path,
+ .score = afd->score,
+ .hash = file_hash
+ };
+ struct para_buffer pb = {.buf = NULL};
+ ret = make_status_items(&d, &pb);
+ if (ret < 0)
+ goto err;
+ strncpy(afd->afs_status_info, pb.buf, AFS_STATUS_INFO_SIZE);
+ afd->afs_status_info[AFS_STATUS_INFO_SIZE] = '\0';
+ free(pb.buf);