Commit bf78b7f8 authored by Max Kellermann's avatar Max Kellermann

decoder/sidplay: use template to eliminate duplicate code

parent ffb9874d
......@@ -142,10 +142,13 @@ ParseContainerPath(Path path_fs)
return { path_fs.GetDirectoryName(), track };
}
#ifdef HAVE_SIDPLAYFP
/**
* This is a template, because libsidplay requires SidTuneMod while
* libsidplayfp requires just a plain Sidtune.
*/
template<typename T>
static SignedSongTime
get_song_length(SidTune &tune)
get_song_length(T &tune)
{
assert(tune.getStatus());
......@@ -159,25 +162,6 @@ get_song_length(SidTune &tune)
return SignedSongTime::FromS(length);
}
#else
static SignedSongTime
get_song_length(SidTuneMod &tune)
{
assert(tune);
if (songlength_database == nullptr)
return SignedSongTime::Negative();
const auto length = songlength_database->length(tune);
if (length < 0)
return SignedSongTime::Negative();
return SignedSongTime::FromS(length);
}
#endif
static void
sidplay_file_decode(DecoderClient &client, Path path_fs)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment