static struct replay_gain_info * wavpack_replaygain(WavpackContext *wpc) { struct replay_gain_info *replay_gain_info; bool found = false; replay_gain_info = replay_gain_info_new(); found |= wavpack_tag_float( wpc, "replaygain_track_gain", &replay_gain_info->tuples[REPLAY_GAIN_TRACK].gain ); found |= wavpack_tag_float( wpc, "replaygain_track_peak", &replay_gain_info->tuples[REPLAY_GAIN_TRACK].peak ); found |= wavpack_tag_float( wpc, "replaygain_album_gain", &replay_gain_info->tuples[REPLAY_GAIN_ALBUM].gain ); found |= wavpack_tag_float( wpc, "replaygain_album_peak", &replay_gain_info->tuples[REPLAY_GAIN_ALBUM].peak ); if (found) { return replay_gain_info; } replay_gain_info_free(replay_gain_info); return NULL; }
static bool wavpack_replaygain(struct replay_gain_info *replay_gain_info, WavpackContext *wpc) { bool found = false; replay_gain_info_init(replay_gain_info); found |= wavpack_tag_float( wpc, "replaygain_track_gain", &replay_gain_info->tuples[REPLAY_GAIN_TRACK].gain ); found |= wavpack_tag_float( wpc, "replaygain_track_peak", &replay_gain_info->tuples[REPLAY_GAIN_TRACK].peak ); found |= wavpack_tag_float( wpc, "replaygain_album_gain", &replay_gain_info->tuples[REPLAY_GAIN_ALBUM].gain ); found |= wavpack_tag_float( wpc, "replaygain_album_peak", &replay_gain_info->tuples[REPLAY_GAIN_ALBUM].peak ); return found; }