X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aft.c;h=7af50f9de8dfe25ffe70356edd0d5ceaabd79bf4;hp=df6c2592cd40c7bebcc0969b7292981ddf09a5d0;hb=5c556c52f1196cea4536d36b683372de532943a9;hpb=ef313758068c4a4eaacb7886a5621e85f9b05de5 diff --git a/aft.c b/aft.c index df6c2592..7af50f9d 100644 --- a/aft.c +++ b/aft.c @@ -622,6 +622,7 @@ int load_afd(int shmid, struct audio_file_data *afd) * Mmap the given audio file and update statistics. * * \param aft_row Determines the audio file to be opened and updated. + * \param score The score of the audio file. * \param afd Result pointer. * * On success, the numplayed field of the audio file selector info is increased @@ -630,8 +631,8 @@ int load_afd(int shmid, struct audio_file_data *afd) * * \return Positive shmid on success, negative on errors. */ -int open_and_update_audio_file(struct osl_row *aft_row, - struct audio_file_data *afd, long score) +int open_and_update_audio_file(struct osl_row *aft_row, long score, + struct audio_file_data *afd) { HASH_TYPE *aft_hash, file_hash[HASH_SIZE]; struct osl_object afsi_obj; @@ -807,9 +808,8 @@ static char *make_filename_lines(const char *path, unsigned flags) char *ret; if (!(flags & LS_FLAG_FULL_PATH)) - return make_message("%s: %s\n%s:\n", - status_item_list[SI_BASENAME], path, - status_item_list[SI_DIRECTORY]); + return make_message("%s: %s\n", + status_item_list[SI_BASENAME], path); basename = para_basename(path), dirname = para_dirname(path); ret = make_message("%s: %s\n%s: %s\n%s: %s\n", @@ -887,82 +887,56 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts, lyrics_lines = make_lyrics_lines(afsi); image_lines = make_image_lines(afsi); filename_lines = make_filename_lines(d->path, opts->flags); - if (opts->mode == LS_MODE_VERBOSE) { - para_printf(b, - "%s" /* filename stuff */ - "%s%s%s%s" /* score */ - "%s\n" /* attributes */ - "%s: %s\n" /* hash */ - "%s" /* image id, image name */ - "%s" /* lyrics */ - "%s: %dkbit/s\n" /* bitrate */ - "%s: %s\n" /* format */ - "%s: %dHz\n" /* frequency */ - "%s: %d\n" /* channels */ - "%s: %s\n" /* duration */ - "%s: %lu\n" /* seconds total */ - "%s: %d\n" /* num_played */ - "%s: %s\n" /* last_played */ - "%s", /* tag info */ - filename_lines, - have_score? status_item_list[SI_SCORE] : "", - have_score? ": " : "", - score_buf, - have_score? "\n" : "", - att_lines, - status_item_list[SI_HASH], asc_hash, - image_lines, - lyrics_lines, - status_item_list[SI_BITRATE], afhi->bitrate, - status_item_list[SI_FORMAT], audio_format_name(afsi->audio_format_id), - status_item_list[SI_FREQUENCY], afhi->frequency, - status_item_list[SI_CHANNELS], afhi->channels, - status_item_list[SI_DURATION], duration_buf, - status_item_list[SI_SECONDS_TOTAL], afhi->seconds_total, - status_item_list[SI_NUM_PLAYED], afsi->num_played, - status_item_list[SI_LAST_PLAYED], last_played_time, - afhi->info_string - ); - } else { /* mbox mode */ /* FIXME: merge with verbose output */ - struct osl_object lyrics_def; - lyr_get_def_by_id(afsi->lyrics_id, &lyrics_def); + if (opts->mode == LS_MODE_MBOX) para_printf(b, "From foo@localhost %s\n" "Received: from\nTo: bar\nFrom: a\n" - "Subject: %s\n\n" /* path */ - "%s%s%s" /* score */ - "%s\n" /* attributes */ - "hash: %s\n" - "%s\n" /* image id, image name */ - "lyrics_id: %s\n" - "bitrate: %dkbit/s\n" - "format: %s\n" - "frequency: %dHz\n" - "channels: %d\n" - "duration: %s\n" - "num_played: %d\n" - "%s\n" /* tag info */ - "%s%s\n", + "Subject: %s\n\n", last_played_time, - d->path, - have_score? "score: " : "", score_buf, - have_score? "\n" : "", - att_lines, - asc_hash, - image_lines, - lyrics_lines, - afhi->bitrate, - audio_format_name(afsi->audio_format_id), - afhi->frequency, - afhi->channels, - duration_buf, - afsi->num_played, - afhi->info_string, - lyrics_def.data? "Lyrics:\n~~~~~~~\n" : "", - lyrics_def.data? (char *)lyrics_def.data : "" - ); - if (lyrics_def.data) - osl_close_disk_object(lyrics_def.data); + d->path); + para_printf(b, + "%s" /* filename stuff */ + "%s%s%s%s" /* score */ + "%s\n" /* attributes */ + "%s: %s\n" /* hash */ + "%s" /* image id, image name */ + "%s" /* lyrics */ + "%s: %dkbit/s\n" /* bitrate */ + "%s: %s\n" /* format */ + "%s: %dHz\n" /* frequency */ + "%s: %d\n" /* channels */ + "%s: %s\n" /* duration */ + "%s: %lu\n" /* seconds total */ + "%s: %s\n" /* last played time */ + "%s: %d\n" /* num_played */ + "%s\n", /* tag info */ + filename_lines, + have_score? status_item_list[SI_SCORE] : "", + have_score? ": " : "", + score_buf, + have_score? "\n" : "", + att_lines, + status_item_list[SI_HASH], asc_hash, + image_lines, + lyrics_lines, + status_item_list[SI_BITRATE], afhi->bitrate, + status_item_list[SI_FORMAT], audio_format_name(afsi->audio_format_id), + status_item_list[SI_FREQUENCY], afhi->frequency, + status_item_list[SI_CHANNELS], afhi->channels, + status_item_list[SI_DURATION], duration_buf, + status_item_list[SI_SECONDS_TOTAL], afhi->seconds_total, + status_item_list[SI_LAST_PLAYED], last_played_time, + status_item_list[SI_NUM_PLAYED], afsi->num_played, + afhi->info_string + ); + if (opts->mode == LS_MODE_MBOX) { + struct osl_object lyrics_def; + lyr_get_def_by_id(afsi->lyrics_id, &lyrics_def); + if (lyrics_def.data) { + para_printf(b, "Lyrics:\n~~~~~~~\n%s", + (char *)lyrics_def.data); + osl_close_disk_object(&lyrics_def); + } } free(att_lines); free(lyrics_lines);