song: add function song_replace_uri()
This commit is contained in:
parent
01b0d9eb97
commit
df563db294
12
src/song.c
12
src/song.c
@ -61,6 +61,18 @@ song_file_new(const char *path, struct directory *parent)
|
||||
return song_alloc(path, parent);
|
||||
}
|
||||
|
||||
struct song *
|
||||
song_replace_uri(struct song *old_song, const char *uri)
|
||||
{
|
||||
struct song *new_song = song_alloc(uri, old_song->parent);
|
||||
new_song->tag = old_song->tag;
|
||||
new_song->mtime = old_song->mtime;
|
||||
new_song->start_ms = old_song->start_ms;
|
||||
new_song->end_ms = old_song->end_ms;
|
||||
g_free(old_song);
|
||||
return new_song;
|
||||
}
|
||||
|
||||
void
|
||||
song_free(struct song *song)
|
||||
{
|
||||
|
@ -74,6 +74,15 @@ song_file_new(const char *path, struct directory *parent);
|
||||
struct song *
|
||||
song_file_load(const char *path, struct directory *parent);
|
||||
|
||||
/**
|
||||
* Replaces the URI of a song object. The given song object is
|
||||
* destroyed, and a newly allocated one is returned. It does not
|
||||
* update the reference within the parent directory; the caller is
|
||||
* responsible for doing that.
|
||||
*/
|
||||
struct song *
|
||||
song_replace_uri(struct song *song, const char *uri);
|
||||
|
||||
void
|
||||
song_free(struct song *song);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user