mutable song: rename a few functions
This commit is contained in:
@@ -1379,7 +1379,7 @@ void EditLibraryTag::Run()
|
|||||||
for (auto s = songs.begin(); s != songs.end(); ++s)
|
for (auto s = songs.begin(); s != songs.end(); ++s)
|
||||||
{
|
{
|
||||||
MPD::MutableSong es = *s;
|
MPD::MutableSong es = *s;
|
||||||
es.setTag(set, new_tag);
|
es.setTags(set, new_tag);
|
||||||
ShowMessage("Updating tags in \"%s\"...", es.getName().c_str());
|
ShowMessage("Updating tags in \"%s\"...", es.getName().c_str());
|
||||||
std::string path = Config.mpd_music_dir + es.getURI();
|
std::string path = Config.mpd_music_dir + es.getURI();
|
||||||
if (!TagEditor::WriteTags(es))
|
if (!TagEditor::WriteTags(es))
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ void MutableSong::setDuration(unsigned int duration)
|
|||||||
m_duration = duration;
|
m_duration = duration;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MutableSong::setTag(SetFunction set, const std::string &value, const std::string &delimiter)
|
void MutableSong::setTags(SetFunction set, const std::string &value, const std::string &delimiter)
|
||||||
{
|
{
|
||||||
auto tags = split(value, delimiter);
|
auto tags = split(value, delimiter);
|
||||||
for (size_t i = 0; i < tags.size(); ++i)
|
for (size_t i = 0; i < tags.size(); ++i)
|
||||||
@@ -184,17 +184,6 @@ void MutableSong::clearModifications()
|
|||||||
m_tags.clear();
|
m_tags.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string MutableSong::getTag(mpd_tag_type tag_type, std::function<std::string()> orig_value, unsigned idx) const
|
|
||||||
{
|
|
||||||
auto it = m_tags.find(Tag(tag_type, idx));
|
|
||||||
std::string result;
|
|
||||||
if (it == m_tags.end())
|
|
||||||
result = orig_value();
|
|
||||||
else
|
|
||||||
result = it->second;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MutableSong::replaceTag(mpd_tag_type tag_type, std::string &&orig_value, const std::string &value, unsigned idx)
|
void MutableSong::replaceTag(mpd_tag_type tag_type, std::string &&orig_value, const std::string &value, unsigned idx)
|
||||||
{
|
{
|
||||||
Tag tag(tag_type, idx);
|
Tag tag(tag_type, idx);
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ struct MutableSong : public Song
|
|||||||
virtual unsigned getDuration() const;
|
virtual unsigned getDuration() const;
|
||||||
void setDuration(unsigned duration);
|
void setDuration(unsigned duration);
|
||||||
|
|
||||||
void setTag(SetFunction set, const std::string &value, const std::string &delimiter = "");
|
void setTags(SetFunction set, const std::string &value, const std::string &delimiter = "");
|
||||||
|
|
||||||
bool isModified() const;
|
bool isModified() const;
|
||||||
void clearModifications();
|
void clearModifications();
|
||||||
@@ -88,8 +88,19 @@ private:
|
|||||||
unsigned m_idx;
|
unsigned m_idx;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string getTag(mpd_tag_type tag_type, std::function<std::string()> orig_value, unsigned idx) const;
|
void replaceTag(mpd_tag_type tag_type, std::string &&orig_value,
|
||||||
void replaceTag(mpd_tag_type tag_type, std::string &&orig_value, const std::string &value, unsigned idx);
|
const std::string &value, unsigned idx);
|
||||||
|
|
||||||
|
template <typename F>
|
||||||
|
std::string getTag(mpd_tag_type tag_type, F orig_value, unsigned idx) const {
|
||||||
|
auto it = m_tags.find(Tag(tag_type, idx));
|
||||||
|
std::string result;
|
||||||
|
if (it == m_tags.end())
|
||||||
|
result = orig_value();
|
||||||
|
else
|
||||||
|
result = it->second;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
std::string m_uri;
|
std::string m_uri;
|
||||||
unsigned m_duration;
|
unsigned m_duration;
|
||||||
|
|||||||
@@ -123,9 +123,8 @@ std::string Song::getTrack(unsigned idx) const
|
|||||||
std::string track = getTag(MPD_TAG_TRACK, idx);
|
std::string track = getTag(MPD_TAG_TRACK, idx);
|
||||||
if ((track.length() == 1 && track[0] != '0')
|
if ((track.length() == 1 && track[0] != '0')
|
||||||
|| (track.length() > 3 && track[1] == '/'))
|
|| (track.length() > 3 && track[1] == '/'))
|
||||||
return "0"+track;
|
track = "0"+track;
|
||||||
else
|
return track;
|
||||||
return track;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Song::getTrackNumber(unsigned idx) const
|
std::string Song::getTrackNumber(unsigned idx) const
|
||||||
|
|||||||
@@ -525,7 +525,7 @@ void TagEditor::EnterPressed()
|
|||||||
std::string new_tag = wFooter->getString(Tags->current().value().getTags(get));
|
std::string new_tag = wFooter->getString(Tags->current().value().getTags(get));
|
||||||
UnlockStatusbar();
|
UnlockStatusbar();
|
||||||
for (auto it = EditedSongs.begin(); it != EditedSongs.end(); ++it)
|
for (auto it = EditedSongs.begin(); it != EditedSongs.end(); ++it)
|
||||||
(*it)->setTag(set, new_tag);
|
(*it)->setTags(set, new_tag);
|
||||||
}
|
}
|
||||||
else if (w == Tags)
|
else if (w == Tags)
|
||||||
{
|
{
|
||||||
@@ -534,7 +534,7 @@ void TagEditor::EnterPressed()
|
|||||||
std::string new_tag = wFooter->getString(Tags->current().value().getTags(get));
|
std::string new_tag = wFooter->getString(Tags->current().value().getTags(get));
|
||||||
UnlockStatusbar();
|
UnlockStatusbar();
|
||||||
if (new_tag != Tags->current().value().getTags(get))
|
if (new_tag != Tags->current().value().getTags(get))
|
||||||
Tags->current().value().setTag(set, new_tag);
|
Tags->current().value().setTags(set, new_tag);
|
||||||
Tags->scroll(NC::wDown);
|
Tags->scroll(NC::wDown);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1291,7 +1291,7 @@ std::string ParseFilename(MPD::MutableSong &s, std::string mask, bool preview)
|
|||||||
{
|
{
|
||||||
MPD::MutableSong::SetFunction set = IntoSetFunction(it->first);
|
MPD::MutableSong::SetFunction set = IntoSetFunction(it->first);
|
||||||
if (set)
|
if (set)
|
||||||
s.setTag(set, it->second);
|
s.setTags(set, it->second);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
result << "%" << it->first << ": " << it->second << "\n";
|
result << "%" << it->first << ": " << it->second << "\n";
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ void TinyTagEditor::EnterPressed()
|
|||||||
{
|
{
|
||||||
size_t pos = option-8;
|
size_t pos = option-8;
|
||||||
Statusbar() << NC::fmtBold << SongInfo::Tags[pos].Name << ": " << NC::fmtBoldEnd;
|
Statusbar() << NC::fmtBold << SongInfo::Tags[pos].Name << ": " << NC::fmtBoldEnd;
|
||||||
itsEdited.setTag(SongInfo::Tags[pos].Set, Global::wFooter->getString(itsEdited.getTags(SongInfo::Tags[pos].Get)));
|
itsEdited.setTags(SongInfo::Tags[pos].Set, Global::wFooter->getString(itsEdited.getTags(SongInfo::Tags[pos].Get)));
|
||||||
w->at(option).value().clear();
|
w->at(option).value().clear();
|
||||||
w->at(option).value() << NC::fmtBold << SongInfo::Tags[pos].Name << ':' << NC::fmtBoldEnd << ' ';
|
w->at(option).value() << NC::fmtBold << SongInfo::Tags[pos].Name << ':' << NC::fmtBoldEnd << ' ';
|
||||||
ShowTag(w->at(option).value(), itsEdited.getTags(SongInfo::Tags[pos].Get));
|
ShowTag(w->at(option).value(), itsEdited.getTags(SongInfo::Tags[pos].Get));
|
||||||
|
|||||||
Reference in New Issue
Block a user