change namespace MediaLibrary into class

This commit is contained in:
Andrzej Rybczak
2009-02-14 17:38:39 +01:00
parent 111652e2d6
commit 5a06f2a4fc
8 changed files with 254 additions and 226 deletions

View File

@@ -39,10 +39,10 @@ namespace Global
// extern Menu<MPD::Item> *myBrowser->Main(); // extern Menu<MPD::Item> *myBrowser->Main();
// extern Menu< std::pair<Buffer *, MPD::Song *> > *mSearcher; // extern Menu< std::pair<Buffer *, MPD::Song *> > *mSearcher;
extern Window *wLibActiveCol; // extern Window *wLibActiveCol;
extern Menu<std::string> *mLibArtists; // extern Menu<std::string> *myLibrary->Artists;
extern Menu<string_pair> *mLibAlbums; // extern Menu<string_pair> *myLibrary->Albums;
extern Menu<MPD::Song> *mLibSongs; // extern Menu<MPD::Song> *myLibrary->Songs;
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
extern Window *wTagEditorActiveCol; extern Window *wTagEditorActiveCol;

View File

@@ -81,7 +81,7 @@ void Info::GetSong()
redraw_header = 1; redraw_header = 1;
if (current_screen == csLibrary) if (current_screen == csLibrary)
{ {
MediaLibrary::Refresh(); myLibrary->Refresh();
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {
@@ -98,7 +98,7 @@ void Info::GetSong()
(wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty()) (wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty())
|| (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == MPD::itSong) || (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == MPD::itSong)
|| (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first)
|| (wCurrent == mLibSongs && !mLibSongs->Empty()) || (wCurrent == myLibrary->Songs && !myLibrary->Songs->Empty())
|| (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty()) || (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty())
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| (wCurrent == mEditorTags && !mEditorTags->Empty()) || (wCurrent == mEditorTags && !mEditorTags->Empty())
@@ -119,7 +119,7 @@ void Info::GetSong()
s = mySearcher->Main()->at(id).second; s = mySearcher->Main()->at(id).second;
break; break;
case csLibrary: case csLibrary:
s = &mLibSongs->at(id); s = &myLibrary->Songs->at(id);
break; break;
case csPlaylistEditor: case csPlaylistEditor:
s = &mPlaylistEditor->at(id); s = &mPlaylistEditor->at(id);
@@ -168,7 +168,7 @@ void Info::GetArtist()
redraw_header = 1; redraw_header = 1;
if (current_screen == csLibrary) if (current_screen == csLibrary)
{ {
MediaLibrary::Refresh(); myLibrary->Refresh();
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {
@@ -185,8 +185,8 @@ void Info::GetArtist()
(wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty()) (wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty())
|| (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == MPD::itSong) || (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == MPD::itSong)
|| (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first)
|| (wCurrent == mLibArtists && !mLibArtists->Empty()) || (wCurrent == myLibrary->Artists && !myLibrary->Artists->Empty())
|| (wCurrent == mLibSongs && !mLibSongs->Empty()) || (wCurrent == myLibrary->Songs && !myLibrary->Songs->Empty())
|| (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty()) || (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty())
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| (wCurrent == mEditorTags && !mEditorTags->Empty()) || (wCurrent == mEditorTags && !mEditorTags->Empty())
@@ -213,7 +213,7 @@ void Info::GetArtist()
*artist = mySearcher->Main()->at(id).second->GetArtist(); *artist = mySearcher->Main()->at(id).second->GetArtist();
break; break;
case csLibrary: case csLibrary:
*artist = mLibArtists->at(id); *artist = myLibrary->Artists->at(id);
break; break;
case csPlaylistEditor: case csPlaylistEditor:
*artist = mPlaylistEditor->at(id).GetArtist(); *artist = mPlaylistEditor->at(id).GetArtist();

View File

@@ -93,7 +93,7 @@ void Lyrics::Get()
redraw_header = 1; redraw_header = 1;
if (current_screen == csLibrary) if (current_screen == csLibrary)
{ {
MediaLibrary::Refresh(); myLibrary->Refresh();
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {
@@ -111,7 +111,7 @@ void Lyrics::Get()
|| (wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty()) || (wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty())
|| (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == MPD::itSong) || (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == MPD::itSong)
|| (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first)
|| (wCurrent == mLibSongs && !mLibSongs->Empty()) || (wCurrent == myLibrary->Songs && !myLibrary->Songs->Empty())
|| (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty()) || (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty())
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| (wCurrent == mEditorTags && !mEditorTags->Empty()) || (wCurrent == mEditorTags && !mEditorTags->Empty())
@@ -151,7 +151,7 @@ void Lyrics::Get()
s = mySearcher->Main()->at(id).second; s = mySearcher->Main()->at(id).second;
break; break;
case csLibrary: case csLibrary:
s = &mLibSongs->at(id); s = &myLibrary->Songs->at(id);
break; break;
case csPlaylistEditor: case csPlaylistEditor:
s = &mPlaylistEditor->at(id); s = &mPlaylistEditor->at(id);

View File

@@ -34,76 +34,70 @@ using namespace MPD;
using namespace Global; using namespace Global;
using std::string; using std::string;
Window *Global::wLibActiveCol; MediaLibrary *myLibrary = new MediaLibrary;
Menu<string> *Global::mLibArtists;
Menu<string_pair> *Global::mLibAlbums;
Menu<Song> *Global::mLibSongs;
namespace MediaLibrary size_t MediaLibrary::itsLeftColWidth;
{ size_t MediaLibrary::itsMiddleColWidth;
size_t left_col_width; size_t MediaLibrary::itsMiddleColStartX;
size_t middle_col_width; size_t MediaLibrary::itsRightColWidth;
size_t middle_col_startx; size_t MediaLibrary::itsRightColStartX;
size_t right_col_width;
size_t right_col_startx;
}
void MediaLibrary::Init() void MediaLibrary::Init()
{ {
left_col_width = COLS/3-1; itsLeftColWidth = COLS/3-1;
middle_col_width = COLS/3; itsMiddleColWidth = COLS/3;
middle_col_startx = left_col_width+1; itsMiddleColStartX = itsLeftColWidth+1;
right_col_width = COLS-COLS/3*2-1; itsRightColWidth = COLS-COLS/3*2-1;
right_col_startx = left_col_width+middle_col_width+2; itsRightColStartX = itsLeftColWidth+itsMiddleColWidth+2;
mLibArtists = new Menu<string>(0, main_start_y, left_col_width, main_height, IntoStr(Config.media_lib_primary_tag) + "s", Config.main_color, brNone); Artists = new Menu<string>(0, main_start_y, itsLeftColWidth, main_height, IntoStr(Config.media_lib_primary_tag) + "s", Config.main_color, brNone);
mLibArtists->HighlightColor(Config.active_column_color); Artists->HighlightColor(Config.active_column_color);
mLibArtists->SetTimeout(ncmpcpp_window_timeout); Artists->SetTimeout(ncmpcpp_window_timeout);
mLibArtists->SetItemDisplayer(Display::Generic); Artists->SetItemDisplayer(Display::Generic);
mLibAlbums = new Menu<string_pair>(middle_col_startx, main_start_y, middle_col_width, main_height, "Albums", Config.main_color, brNone); Albums = new Menu<string_pair>(itsMiddleColStartX, main_start_y, itsMiddleColWidth, main_height, "Albums", Config.main_color, brNone);
mLibAlbums->HighlightColor(Config.main_highlight_color); Albums->HighlightColor(Config.main_highlight_color);
mLibAlbums->SetTimeout(ncmpcpp_window_timeout); Albums->SetTimeout(ncmpcpp_window_timeout);
mLibAlbums->SetItemDisplayer(Display::StringPairs); Albums->SetItemDisplayer(Display::StringPairs);
mLibSongs = new Menu<Song>(right_col_startx, main_start_y, right_col_width, main_height, "Songs", Config.main_color, brNone); Songs = new Menu<Song>(itsRightColStartX, main_start_y, itsRightColWidth, main_height, "Songs", Config.main_color, brNone);
mLibSongs->HighlightColor(Config.main_highlight_color); Songs->HighlightColor(Config.main_highlight_color);
mLibSongs->SetTimeout(ncmpcpp_window_timeout); Songs->SetTimeout(ncmpcpp_window_timeout);
mLibSongs->SetSelectPrefix(&Config.selected_item_prefix); Songs->SetSelectPrefix(&Config.selected_item_prefix);
mLibSongs->SetSelectSuffix(&Config.selected_item_suffix); Songs->SetSelectSuffix(&Config.selected_item_suffix);
mLibSongs->SetItemDisplayer(Display::Songs); Songs->SetItemDisplayer(Display::Songs);
mLibSongs->SetItemDisplayerUserData(&Config.song_library_format); Songs->SetItemDisplayerUserData(&Config.song_library_format);
wLibActiveCol = mLibArtists; w = Artists;
} }
void MediaLibrary::Resize() void MediaLibrary::Resize()
{ {
left_col_width = COLS/3-1; itsLeftColWidth = COLS/3-1;
middle_col_startx = left_col_width+1; itsMiddleColStartX = itsLeftColWidth+1;
middle_col_width = COLS/3; itsMiddleColWidth = COLS/3;
right_col_startx = left_col_width+middle_col_width+2; itsRightColStartX = itsLeftColWidth+itsMiddleColWidth+2;
right_col_width = COLS-COLS/3*2-1; itsRightColWidth = COLS-COLS/3*2-1;
mLibArtists->Resize(left_col_width, main_height); Artists->Resize(itsLeftColWidth, main_height);
mLibAlbums->Resize(middle_col_width, main_height); Albums->Resize(itsMiddleColWidth, main_height);
mLibSongs->Resize(right_col_width, main_height); Songs->Resize(itsRightColWidth, main_height);
mLibAlbums->MoveTo(middle_col_startx, main_start_y); Albums->MoveTo(itsMiddleColStartX, main_start_y);
mLibSongs->MoveTo(right_col_startx, main_start_y); Songs->MoveTo(itsRightColStartX, main_start_y);
} }
void MediaLibrary::Refresh() void MediaLibrary::Refresh()
{ {
mLibArtists->Display(); Artists->Display();
mvvline(main_start_y, middle_col_startx-1, 0, main_height); mvvline(main_start_y, itsMiddleColStartX-1, 0, main_height);
mLibAlbums->Display(); Albums->Display();
mvvline(main_start_y, right_col_startx-1, 0, main_height); mvvline(main_start_y, itsRightColStartX-1, 0, main_height);
mLibSongs->Display(); Songs->Display();
if (mLibAlbums->Empty()) if (Albums->Empty())
{ {
mLibAlbums->WriteXY(0, 0, 0, "No albums found."); Albums->WriteXY(0, 0, 0, "No albums found.");
mLibAlbums->Refresh(); Albums->Refresh();
} }
} }
@@ -122,22 +116,27 @@ void MediaLibrary::SwitchTo()
// redraw_screen = 1; // redraw_screen = 1;
redraw_header = 1; redraw_header = 1;
MediaLibrary::Refresh(); MediaLibrary::Refresh();
wCurrent = wLibActiveCol; wCurrent = w;
current_screen = csLibrary; current_screen = csLibrary;
UpdateSongList(mLibSongs); UpdateSongList(Songs);
} }
} }
std::string MediaLibrary::Title()
{
return "Media library";
}
void MediaLibrary::Update() void MediaLibrary::Update()
{ {
if (mLibArtists->Empty()) if (Artists->Empty())
{ {
CLEAR_FIND_HISTORY; CLEAR_FIND_HISTORY;
TagList list; TagList list;
mLibAlbums->Clear(0); Albums->Clear(0);
mLibSongs->Clear(0); Songs->Clear(0);
Mpd->GetList(list, Config.media_lib_primary_tag); Mpd->GetList(list, Config.media_lib_primary_tag);
sort(list.begin(), list.end(), CaseInsensitiveSorting()); sort(list.begin(), list.end(), CaseInsensitiveSorting());
for (TagList::iterator it = list.begin(); it != list.end(); it++) for (TagList::iterator it = list.begin(); it != list.end(); it++)
@@ -145,25 +144,25 @@ void MediaLibrary::Update()
if (!it->empty()) if (!it->empty())
{ {
utf_to_locale(*it); utf_to_locale(*it);
mLibArtists->AddOption(*it); Artists->AddOption(*it);
} }
} }
mLibArtists->Window::Clear(); Artists->Window::Clear();
mLibArtists->Refresh(); Artists->Refresh();
} }
if (!mLibArtists->Empty() && mLibAlbums->Empty() && mLibSongs->Empty()) if (!Artists->Empty() && Albums->Empty() && Songs->Empty())
{ {
mLibAlbums->Reset(); Albums->Reset();
TagList list; TagList list;
std::map<string, string, CaseInsensitiveSorting> maplist; std::map<string, string, CaseInsensitiveSorting> maplist;
locale_to_utf(mLibArtists->Current()); locale_to_utf(Artists->Current());
if (Config.media_lib_primary_tag == MPD_TAG_ITEM_ARTIST) if (Config.media_lib_primary_tag == MPD_TAG_ITEM_ARTIST)
Mpd->GetAlbums(mLibArtists->Current(), list); Mpd->GetAlbums(Artists->Current(), list);
else else
{ {
Mpd->StartSearch(1); Mpd->StartSearch(1);
Mpd->AddSearch(Config.media_lib_primary_tag, mLibArtists->Current()); Mpd->AddSearch(Config.media_lib_primary_tag, Artists->Current());
Mpd->StartFieldSearch(MPD_TAG_ITEM_ALBUM); Mpd->StartFieldSearch(MPD_TAG_ITEM_ALBUM);
Mpd->CommitSearch(list); Mpd->CommitSearch(list);
} }
@@ -173,11 +172,11 @@ void MediaLibrary::Update()
{ {
SongList noalbum_list; SongList noalbum_list;
Mpd->StartSearch(1); Mpd->StartSearch(1);
Mpd->AddSearch(Config.media_lib_primary_tag, mLibArtists->Current()); Mpd->AddSearch(Config.media_lib_primary_tag, Artists->Current());
Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, ""); Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, "");
Mpd->CommitSearch(noalbum_list); Mpd->CommitSearch(noalbum_list);
if (!noalbum_list.empty()) if (!noalbum_list.empty())
mLibAlbums->AddOption(std::make_pair("<no album>", "")); Albums->AddOption(std::make_pair("<no album>", ""));
FreeSongList(noalbum_list); FreeSongList(noalbum_list);
} }
@@ -185,7 +184,7 @@ void MediaLibrary::Update()
{ {
SongList l; SongList l;
Mpd->StartSearch(1); Mpd->StartSearch(1);
Mpd->AddSearch(Config.media_lib_primary_tag, mLibArtists->Current()); Mpd->AddSearch(Config.media_lib_primary_tag, Artists->Current());
Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, *it); Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, *it);
Mpd->CommitSearch(l); Mpd->CommitSearch(l);
if (!l.empty() && !l[0]->GetAlbum().empty()) if (!l.empty() && !l[0]->GetAlbum().empty())
@@ -196,35 +195,35 @@ void MediaLibrary::Update()
} }
FreeSongList(l); FreeSongList(l);
} }
utf_to_locale(mLibArtists->Current()); utf_to_locale(Artists->Current());
for (std::map<string, string>::const_iterator it = maplist.begin(); it != maplist.end(); it++) for (std::map<string, string>::const_iterator it = maplist.begin(); it != maplist.end(); it++)
mLibAlbums->AddOption(make_pair(it->first, it->second)); Albums->AddOption(make_pair(it->first, it->second));
mLibAlbums->Window::Clear(); Albums->Window::Clear();
mLibAlbums->Refresh(); Albums->Refresh();
} }
if (!mLibArtists->Empty() && wCurrent == mLibAlbums && mLibAlbums->Empty()) if (!Artists->Empty() && wCurrent == Albums && Albums->Empty())
{ {
mLibAlbums->HighlightColor(Config.main_highlight_color); Albums->HighlightColor(Config.main_highlight_color);
mLibArtists->HighlightColor(Config.active_column_color); Artists->HighlightColor(Config.active_column_color);
wCurrent = wLibActiveCol = mLibArtists; wCurrent = w = Artists;
} }
if (!mLibArtists->Empty() && mLibSongs->Empty()) if (!Artists->Empty() && Songs->Empty())
{ {
mLibSongs->Reset(); Songs->Reset();
SongList list; SongList list;
mLibSongs->Clear(0); Songs->Clear(0);
Mpd->StartSearch(1); Mpd->StartSearch(1);
Mpd->AddSearch(Config.media_lib_primary_tag, locale_to_utf_cpy(mLibArtists->Current())); Mpd->AddSearch(Config.media_lib_primary_tag, locale_to_utf_cpy(Artists->Current()));
if (mLibAlbums->Empty()) // left for compatibility with <mpd-0.14 if (Albums->Empty()) // left for compatibility with <mpd-0.14
{ {
mLibAlbums->WriteXY(0, 0, 0, "No albums found."); Albums->WriteXY(0, 0, 0, "No albums found.");
mLibAlbums->Refresh(); Albums->Refresh();
} }
else else
Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, locale_to_utf_cpy(mLibAlbums->Current().second)); Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, locale_to_utf_cpy(Albums->Current().second));
Mpd->CommitSearch(list); Mpd->CommitSearch(list);
sort(list.begin(), list.end(), SortSongsByTrack); sort(list.begin(), list.end(), SortSongsByTrack);
@@ -240,23 +239,67 @@ void MediaLibrary::Update()
break; break;
} }
} }
mLibSongs->AddOption(**it, bold); Songs->AddOption(**it, bold);
bold = 0; bold = 0;
} }
FreeSongList(list); FreeSongList(list);
mLibSongs->Window::Clear(); Songs->Window::Clear();
mLibSongs->Refresh(); Songs->Refresh();
} }
} }
void MediaLibrary::EnterPressed(bool add_n_play) void MediaLibrary::NextColumn()
{
CLEAR_FIND_HISTORY;
if (w == Artists)
{
if (Songs->Empty())
return;
Artists->HighlightColor(Config.main_highlight_color);
w->Refresh();
wCurrent = w = Albums;
Albums->HighlightColor(Config.active_column_color);
if (!Albums->Empty())
return;
}
if (w == Albums && !Songs->Empty())
{
Albums->HighlightColor(Config.main_highlight_color);
w->Refresh();
wCurrent = w = Songs;
Songs->HighlightColor(Config.active_column_color);
}
}
void MediaLibrary::PrevColumn()
{
CLEAR_FIND_HISTORY;
if (w == Songs)
{
Songs->HighlightColor(Config.main_highlight_color);
w->Refresh();
wCurrent = w = Albums;
Albums->HighlightColor(Config.active_column_color);
if (!Albums->Empty())
return;
}
if (w == Albums)
{
Albums->HighlightColor(Config.main_highlight_color);
w->Refresh();
wCurrent = w = Artists;
Artists->HighlightColor(Config.active_column_color);
}
}
void MediaLibrary::AddToPlaylist(bool add_n_play)
{ {
SongList list; SongList list;
if (!mLibArtists->Empty() && wCurrent == mLibArtists) if (!Artists->Empty() && wCurrent == Artists)
{ {
Mpd->StartSearch(1); Mpd->StartSearch(1);
Mpd->AddSearch(Config.media_lib_primary_tag, locale_to_utf_cpy(mLibArtists->Current())); Mpd->AddSearch(Config.media_lib_primary_tag, locale_to_utf_cpy(Artists->Current()));
Mpd->CommitSearch(list); Mpd->CommitSearch(list);
for (SongList::const_iterator it = list.begin(); it != list.end(); it++) for (SongList::const_iterator it = list.begin(); it != list.end(); it++)
Mpd->QueueAddSong(**it); Mpd->QueueAddSong(**it);
@@ -264,7 +307,7 @@ void MediaLibrary::EnterPressed(bool add_n_play)
{ {
string tag_type = IntoStr(Config.media_lib_primary_tag); string tag_type = IntoStr(Config.media_lib_primary_tag);
ToLower(tag_type); ToLower(tag_type);
ShowMessage("Adding songs of %s \"%s\"", tag_type.c_str(), mLibArtists->Current().c_str()); ShowMessage("Adding songs of %s \"%s\"", tag_type.c_str(), Artists->Current().c_str());
Song *s = &myPlaylist->Main()->at(myPlaylist->Main()->Size()-list.size()); Song *s = &myPlaylist->Main()->at(myPlaylist->Main()->Size()-list.size());
if (s->GetHash() == list[0]->GetHash()) if (s->GetHash() == list[0]->GetHash())
{ {
@@ -275,15 +318,15 @@ void MediaLibrary::EnterPressed(bool add_n_play)
ShowMessage("%s", message_part_of_songs_added); ShowMessage("%s", message_part_of_songs_added);
} }
} }
else if (wCurrent == mLibAlbums) else if (wCurrent == Albums)
{ {
for (size_t i = 0; i < mLibSongs->Size(); i++) for (size_t i = 0; i < Songs->Size(); i++)
Mpd->QueueAddSong(mLibSongs->at(i)); Mpd->QueueAddSong(Songs->at(i));
if (Mpd->CommitQueue()) if (Mpd->CommitQueue())
{ {
ShowMessage("Adding songs from album \"%s\"", mLibAlbums->Current().second.c_str()); ShowMessage("Adding songs from album \"%s\"", Albums->Current().second.c_str());
Song *s = &myPlaylist->Main()->at(myPlaylist->Main()->Size()-mLibSongs->Size()); Song *s = &myPlaylist->Main()->at(myPlaylist->Main()->Size()-Songs->Size());
if (s->GetHash() == mLibSongs->at(0).GetHash()) if (s->GetHash() == Songs->at(0).GetHash())
{ {
if (add_n_play) if (add_n_play)
Mpd->PlayID(s->GetID()); Mpd->PlayID(s->GetID());
@@ -292,14 +335,14 @@ void MediaLibrary::EnterPressed(bool add_n_play)
ShowMessage("%s", message_part_of_songs_added); ShowMessage("%s", message_part_of_songs_added);
} }
} }
else if (wCurrent == mLibSongs) else if (wCurrent == Songs)
{ {
if (!mLibSongs->Empty()) if (!Songs->Empty())
{ {
block_item_list_update = 1; block_item_list_update = 1;
if (Config.ncmpc_like_songs_adding && mLibSongs->isBold()) if (Config.ncmpc_like_songs_adding && Songs->isBold())
{ {
long long hash = mLibSongs->Current().GetHash(); long long hash = Songs->Current().GetHash();
if (add_n_play) if (add_n_play)
{ {
for (size_t i = 0; i < myPlaylist->Main()->Size(); i++) for (size_t i = 0; i < myPlaylist->Main()->Size(); i++)
@@ -324,19 +367,19 @@ void MediaLibrary::EnterPressed(bool add_n_play)
} }
} }
Mpd->CommitQueue(); Mpd->CommitQueue();
mLibSongs->BoldOption(mLibSongs->Choice(), 0); Songs->BoldOption(Songs->Choice(), 0);
} }
} }
else else
{ {
Song &s = mLibSongs->Current(); Song &s = Songs->Current();
int id = Mpd->AddSong(s); int id = Mpd->AddSong(s);
if (id >= 0) if (id >= 0)
{ {
ShowMessage("Added to playlist: %s", s.toString(Config.song_status_format).c_str()); ShowMessage("Added to playlist: %s", s.toString(Config.song_status_format).c_str());
if (add_n_play) if (add_n_play)
Mpd->PlayID(id); Mpd->PlayID(id);
mLibSongs->BoldOption(mLibSongs->Choice(), 1); Songs->BoldOption(Songs->Choice(), 1);
} }
} }
} }
@@ -345,13 +388,13 @@ void MediaLibrary::EnterPressed(bool add_n_play)
if (!add_n_play) if (!add_n_play)
{ {
wCurrent->Scroll(wDown); wCurrent->Scroll(wDown);
if (wCurrent == mLibArtists) if (wCurrent == Artists)
{ {
mLibAlbums->Clear(0); Albums->Clear(0);
mLibSongs->Clear(0); Songs->Clear(0);
} }
else if (wCurrent == mLibAlbums) else if (wCurrent == Albums)
mLibSongs->Clear(0); Songs->Clear(0);
} }
} }

View File

@@ -22,23 +22,41 @@
#define _H_MEDIA_LIBRARY #define _H_MEDIA_LIBRARY
#include "ncmpcpp.h" #include "ncmpcpp.h"
#include "screen.h"
namespace MediaLibrary class MediaLibrary : public Screen<Window>
{ {
void Init(); public:
void Resize(); virtual void Init();
void Refresh(); virtual void SwitchTo();
void SwitchTo(); virtual void Resize();
void Update();
virtual std::string Title();
void EnterPressed(bool = 1);
inline void SpacePressed(); virtual void Refresh();
} virtual void Update();
virtual void EnterPressed() { AddToPlaylist(1); }
virtual void SpacePressed() { AddToPlaylist(0); }
void NextColumn();
void PrevColumn();
Menu<std::string> *Artists;
Menu<string_pair> *Albums;
Menu<MPD::Song> *Songs;
protected:
void AddToPlaylist(bool);
static size_t itsLeftColWidth;
static size_t itsMiddleColWidth;
static size_t itsMiddleColStartX;
static size_t itsRightColWidth;
static size_t itsRightColStartX;
};
void MediaLibrary::SpacePressed() extern MediaLibrary *myLibrary;
{
EnterPressed(0);
}
#endif #endif

View File

@@ -150,7 +150,7 @@ int main(int argc, char *argv[])
myPlaylist->Init(); myPlaylist->Init();
myBrowser->Init(); myBrowser->Init();
mySearcher->Init(); mySearcher->Init();
MediaLibrary::Init(); myLibrary->Init();
PlaylistEditor::Init(); PlaylistEditor::Init();
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
@@ -258,7 +258,7 @@ int main(int argc, char *argv[])
screen_title = mySearcher->Title(); screen_title = mySearcher->Title();
break; break;
case csLibrary: case csLibrary:
screen_title = "Media library"; screen_title = myLibrary->Title();
break; break;
case csLyrics: case csLyrics:
screen_title = "Lyrics: "; screen_title = "Lyrics: ";
@@ -319,7 +319,7 @@ int main(int argc, char *argv[])
|| current_screen == csBrowser); || current_screen == csBrowser);
else if (current_screen == csLibrary) else if (current_screen == csLibrary)
{ {
MediaLibrary::Update(); myLibrary->Update();
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {
@@ -374,14 +374,14 @@ int main(int argc, char *argv[])
{ {
if (Keypressed(input, Key.Up) || Keypressed(input, Key.Down) || Keypressed(input, Key.PageUp) || Keypressed(input, Key.PageDown) || Keypressed(input, Key.Home) || Keypressed(input, Key.End) || Keypressed(input, Key.FindForward) || Keypressed(input, Key.FindBackward) || Keypressed(input, Key.NextFoundPosition) || Keypressed(input, Key.PrevFoundPosition)) if (Keypressed(input, Key.Up) || Keypressed(input, Key.Down) || Keypressed(input, Key.PageUp) || Keypressed(input, Key.PageDown) || Keypressed(input, Key.Home) || Keypressed(input, Key.End) || Keypressed(input, Key.FindForward) || Keypressed(input, Key.FindBackward) || Keypressed(input, Key.NextFoundPosition) || Keypressed(input, Key.PrevFoundPosition))
{ {
if (wCurrent == mLibArtists) if (wCurrent == myLibrary->Artists)
{ {
mLibAlbums->Clear(0); myLibrary->Albums->Clear(0);
mLibSongs->Clear(0); myLibrary->Songs->Clear(0);
} }
else if (wCurrent == mLibAlbums) else if (wCurrent == myLibrary->Albums)
{ {
mLibSongs->Clear(0); myLibrary->Songs->Clear(0);
} }
else if (wCurrent == mPlaylistList) else if (wCurrent == mPlaylistList)
{ {
@@ -412,7 +412,7 @@ int main(int argc, char *argv[])
) )
{ {
if (!Config.fancy_scrolling if (!Config.fancy_scrolling
&& (wCurrent == mLibArtists && (wCurrent == myLibrary->Artists
|| wCurrent == mPlaylistList || wCurrent == mPlaylistList
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| wCurrent == mEditorLeftCol || wCurrent == mEditorLeftCol
@@ -440,7 +440,7 @@ int main(int argc, char *argv[])
) )
{ {
if (!Config.fancy_scrolling if (!Config.fancy_scrolling
&& (wCurrent == mLibArtists && (wCurrent == myLibrary->Artists
|| wCurrent == mPlaylistList || wCurrent == mPlaylistList
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| wCurrent == mEditorLeftCol || wCurrent == mEditorLeftCol
@@ -509,7 +509,7 @@ int main(int argc, char *argv[])
myPlaylist->Resize(); myPlaylist->Resize();
myBrowser->Resize(); myBrowser->Resize();
mySearcher->Resize(); mySearcher->Resize();
MediaLibrary::Resize(); myLibrary->Resize();
PlaylistEditor::Resize(); PlaylistEditor::Resize();
Info::Resize(); Info::Resize();
Lyrics::Resize(); Lyrics::Resize();
@@ -533,7 +533,7 @@ int main(int argc, char *argv[])
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
if (current_screen == csLibrary) if (current_screen == csLibrary)
{ {
MediaLibrary::Refresh(); myLibrary->Refresh();
} }
else if (current_screen == csTagEditor) else if (current_screen == csTagEditor)
{ {
@@ -592,7 +592,7 @@ int main(int argc, char *argv[])
} }
case csLibrary: case csLibrary:
{ {
MediaLibrary::EnterPressed(); myLibrary->EnterPressed();
break; break;
} }
case csPlaylistEditor: case csPlaylistEditor:
@@ -625,7 +625,7 @@ int main(int argc, char *argv[])
|| wCurrent == mEditorTags || wCurrent == mEditorTags
# endif // HAVE_TAGLIB_H # endif // HAVE_TAGLIB_H
|| (wCurrent == myBrowser->Main() && ((Menu<Song> *)wCurrent)->Choice() >= (myBrowser->CurrentDir() != "/" ? 1 : 0)) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first) || (wCurrent == myBrowser->Main() && ((Menu<Song> *)wCurrent)->Choice() >= (myBrowser->CurrentDir() != "/" ? 1 : 0)) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first)
|| wCurrent == mLibSongs || wCurrent == myLibrary->Songs
|| wCurrent == mPlaylistEditor) || wCurrent == mPlaylistEditor)
{ {
List *mList = (Menu<Song> *)wCurrent; List *mList = (Menu<Song> *)wCurrent;
@@ -648,7 +648,7 @@ int main(int argc, char *argv[])
} }
else if (current_screen == csLibrary) else if (current_screen == csLibrary)
{ {
MediaLibrary::SpacePressed(); myLibrary->SpacePressed();
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {
@@ -676,25 +676,7 @@ int main(int argc, char *argv[])
{ {
if (current_screen == csLibrary && input == Key.VolumeUp[0]) if (current_screen == csLibrary && input == Key.VolumeUp[0])
{ {
CLEAR_FIND_HISTORY; myLibrary->NextColumn();
if (wCurrent == mLibArtists)
{
if (mLibSongs->Empty())
continue;
mLibArtists->HighlightColor(Config.main_highlight_color);
wCurrent->Refresh();
wCurrent = wLibActiveCol = mLibAlbums;
mLibAlbums->HighlightColor(Config.active_column_color);
if (!mLibAlbums->Empty())
continue;
}
if (wCurrent == mLibAlbums && !mLibSongs->Empty())
{
mLibAlbums->HighlightColor(Config.main_highlight_color);
wCurrent->Refresh();
wCurrent = wLibActiveCol = mLibSongs;
mLibSongs->HighlightColor(Config.active_column_color);
}
} }
else if (current_screen == csPlaylistEditor && input == Key.VolumeUp[0]) else if (current_screen == csPlaylistEditor && input == Key.VolumeUp[0])
{ {
@@ -734,23 +716,7 @@ int main(int argc, char *argv[])
{ {
if (current_screen == csLibrary && input == Key.VolumeDown[0]) if (current_screen == csLibrary && input == Key.VolumeDown[0])
{ {
CLEAR_FIND_HISTORY; myLibrary->PrevColumn();
if (wCurrent == mLibSongs)
{
mLibSongs->HighlightColor(Config.main_highlight_color);
wCurrent->Refresh();
wCurrent = wLibActiveCol = mLibAlbums;
mLibAlbums->HighlightColor(Config.active_column_color);
if (!mLibAlbums->Empty())
continue;
}
if (wCurrent == mLibAlbums)
{
mLibAlbums->HighlightColor(Config.main_highlight_color);
wCurrent->Refresh();
wCurrent = wLibActiveCol = mLibArtists;
mLibArtists->HighlightColor(Config.active_column_color);
}
} }
else if (current_screen == csPlaylistEditor && input == Key.VolumeDown[0]) else if (current_screen == csPlaylistEditor && input == Key.VolumeDown[0])
{ {
@@ -1340,19 +1306,19 @@ int main(int argc, char *argv[])
{ {
CHECK_MPD_MUSIC_DIR; CHECK_MPD_MUSIC_DIR;
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
if (wCurrent == mLibArtists) if (wCurrent == myLibrary->Artists)
{ {
LockStatusbar(); LockStatusbar();
Statusbar() << fmtBold << IntoStr(Config.media_lib_primary_tag) << fmtBoldEnd << ": "; Statusbar() << fmtBold << IntoStr(Config.media_lib_primary_tag) << fmtBoldEnd << ": ";
string new_tag = wFooter->GetString(mLibArtists->Current()); string new_tag = wFooter->GetString(myLibrary->Artists->Current());
UnlockStatusbar(); UnlockStatusbar();
if (!new_tag.empty() && new_tag != mLibArtists->Current()) if (!new_tag.empty() && new_tag != myLibrary->Artists->Current())
{ {
bool success = 1; bool success = 1;
SongList list; SongList list;
ShowMessage("Updating tags..."); ShowMessage("Updating tags...");
Mpd->StartSearch(1); Mpd->StartSearch(1);
Mpd->AddSearch(Config.media_lib_primary_tag, locale_to_utf_cpy(mLibArtists->Current())); Mpd->AddSearch(Config.media_lib_primary_tag, locale_to_utf_cpy(myLibrary->Artists->Current()));
Mpd->CommitSearch(list); Mpd->CommitSearch(list);
SongSetFunction set = IntoSetFunction(Config.media_lib_primary_tag); SongSetFunction set = IntoSetFunction(Config.media_lib_primary_tag);
if (!set) if (!set)
@@ -1378,39 +1344,39 @@ int main(int argc, char *argv[])
FreeSongList(list); FreeSongList(list);
} }
} }
else if (wCurrent == mLibAlbums) else if (wCurrent == myLibrary->Albums)
{ {
LockStatusbar(); LockStatusbar();
Statusbar() << fmtBold << "Album: " << fmtBoldEnd; Statusbar() << fmtBold << "Album: " << fmtBoldEnd;
string new_album = wFooter->GetString(mLibAlbums->Current().second); string new_album = wFooter->GetString(myLibrary->Albums->Current().second);
UnlockStatusbar(); UnlockStatusbar();
if (!new_album.empty() && new_album != mLibAlbums->Current().second) if (!new_album.empty() && new_album != myLibrary->Albums->Current().second)
{ {
bool success = 1; bool success = 1;
ShowMessage("Updating tags..."); ShowMessage("Updating tags...");
for (size_t i = 0; i < mLibSongs->Size(); i++) for (size_t i = 0; i < myLibrary->Songs->Size(); i++)
{ {
(*mLibSongs)[i].Localize(); (*myLibrary->Songs)[i].Localize();
ShowMessage("Updating tags in '%s'...", (*mLibSongs)[i].GetName().c_str()); ShowMessage("Updating tags in '%s'...", (*myLibrary->Songs)[i].GetName().c_str());
string path = Config.mpd_music_dir + (*mLibSongs)[i].GetFile(); string path = Config.mpd_music_dir + (*myLibrary->Songs)[i].GetFile();
TagLib::FileRef f(path.c_str()); TagLib::FileRef f(path.c_str());
if (f.isNull()) if (f.isNull())
{ {
ShowMessage("Error opening file '%s'!", (*mLibSongs)[i].GetFile().c_str()); ShowMessage("Error opening file '%s'!", (*myLibrary->Songs)[i].GetFile().c_str());
success = 0; success = 0;
break; break;
} }
f.tag()->setAlbum(ToWString(new_album)); f.tag()->setAlbum(ToWString(new_album));
if (!f.save()) if (!f.save())
{ {
ShowMessage("Error writing tags in '%s'!", (*mLibSongs)[i].GetFile().c_str()); ShowMessage("Error writing tags in '%s'!", (*myLibrary->Songs)[i].GetFile().c_str());
success = 0; success = 0;
break; break;
} }
} }
if (success) if (success)
{ {
Mpd->UpdateDirectory(FindSharedDir(mLibSongs)); Mpd->UpdateDirectory(FindSharedDir(myLibrary->Songs));
ShowMessage("Tags updated succesfully!"); ShowMessage("Tags updated succesfully!");
} }
} }
@@ -1419,7 +1385,7 @@ int main(int argc, char *argv[])
(wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty()) (wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty())
|| (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == itSong) || (wCurrent == myBrowser->Main() && myBrowser->Main()->Current().type == itSong)
|| (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first)
|| (wCurrent == mLibSongs && !mLibSongs->Empty()) || (wCurrent == myLibrary->Songs && !myLibrary->Songs->Empty())
|| (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty()) || (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty())
|| (wCurrent == mEditorTags && !mEditorTags->Empty())) || (wCurrent == mEditorTags && !mEditorTags->Empty()))
{ {
@@ -1437,7 +1403,7 @@ int main(int argc, char *argv[])
edited_song = *mySearcher->Main()->at(id).second; edited_song = *mySearcher->Main()->at(id).second;
break; break;
case csLibrary: case csLibrary:
edited_song = mLibSongs->at(id); edited_song = myLibrary->Songs->at(id);
break; break;
case csPlaylistEditor: case csPlaylistEditor:
edited_song = mPlaylistEditor->at(id); edited_song = mPlaylistEditor->at(id);
@@ -1543,7 +1509,7 @@ int main(int argc, char *argv[])
{ {
if ((wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty()) if ((wCurrent == myPlaylist->Main() && !myPlaylist->Main()->Empty())
|| (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first)
|| (wCurrent == mLibSongs && !mLibSongs->Empty()) || (wCurrent == myLibrary->Songs && !myLibrary->Songs->Empty())
|| (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty()) || (wCurrent == mPlaylistEditor && !mPlaylistEditor->Empty())
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| (wCurrent == mEditorTags && !mEditorTags->Empty()) || (wCurrent == mEditorTags && !mEditorTags->Empty())
@@ -1561,7 +1527,7 @@ int main(int argc, char *argv[])
s = mySearcher->Main()->at(id).second; s = mySearcher->Main()->at(id).second;
break; break;
case csLibrary: case csLibrary:
s = &mLibSongs->at(id); s = &myLibrary->Songs->at(id);
break; break;
case csPlaylistEditor: case csPlaylistEditor:
s = &mPlaylistEditor->at(id); s = &mPlaylistEditor->at(id);
@@ -1627,7 +1593,7 @@ int main(int argc, char *argv[])
if (wCurrent == myPlaylist->Main() if (wCurrent == myPlaylist->Main()
|| wCurrent == myBrowser->Main() || wCurrent == myBrowser->Main()
|| (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first) || (wCurrent == mySearcher->Main() && !mySearcher->Main()->Current().first)
|| wCurrent == mLibSongs || wCurrent == myLibrary->Songs
|| wCurrent == mPlaylistEditor || wCurrent == mPlaylistEditor
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| wCurrent == mEditorTags || wCurrent == mEditorTags
@@ -1652,7 +1618,7 @@ int main(int argc, char *argv[])
if (wCurrent == myPlaylist->Main() if (wCurrent == myPlaylist->Main()
|| wCurrent == myBrowser->Main() || wCurrent == myBrowser->Main()
|| wCurrent == mySearcher->Main() || wCurrent == mySearcher->Main()
|| wCurrent == mLibSongs || wCurrent == myLibrary->Songs
|| wCurrent == mPlaylistEditor || wCurrent == mPlaylistEditor
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
|| wCurrent == mEditorTags || wCurrent == mEditorTags
@@ -1673,7 +1639,7 @@ int main(int argc, char *argv[])
if (wCurrent != myPlaylist->Main() if (wCurrent != myPlaylist->Main()
&& wCurrent != myBrowser->Main() && wCurrent != myBrowser->Main()
&& wCurrent != mySearcher->Main() && wCurrent != mySearcher->Main()
&& wCurrent != mLibSongs && wCurrent != myLibrary->Songs
&& wCurrent != mPlaylistEditor) && wCurrent != mPlaylistEditor)
continue; continue;
@@ -1729,7 +1695,7 @@ int main(int argc, char *argv[])
} }
case csLibrary: case csLibrary:
{ {
Song *s = new Song(mLibSongs->at(*it)); Song *s = new Song(myLibrary->Songs->at(*it));
result.push_back(s); result.push_back(s);
break; break;
} }
@@ -1800,7 +1766,7 @@ int main(int argc, char *argv[])
// redraw_screen = 1; // redraw_screen = 1;
if (current_screen == csLibrary) if (current_screen == csLibrary)
{ {
MediaLibrary::Refresh(); myLibrary->Refresh();
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {
@@ -1953,12 +1919,12 @@ int main(int argc, char *argv[])
name = mySearcher->Main()->at(i).second->toString(Config.song_list_format); name = mySearcher->Main()->at(i).second->toString(Config.song_list_format);
break; break;
case csLibrary: case csLibrary:
if (wCurrent == mLibArtists) if (wCurrent == myLibrary->Artists)
name = mLibArtists->at(i); name = myLibrary->Artists->at(i);
else if (wCurrent == mLibAlbums) else if (wCurrent == myLibrary->Albums)
name = mLibAlbums->at(i).first; name = myLibrary->Albums->at(i).first;
else else
name = mLibSongs->at(i).toString(Config.song_library_format); name = myLibrary->Songs->at(i).toString(Config.song_library_format);
break; break;
case csPlaylistEditor: case csPlaylistEditor:
if (wCurrent == mPlaylistList) if (wCurrent == mPlaylistList)
@@ -2105,7 +2071,7 @@ int main(int argc, char *argv[])
{ {
myBrowser->ChangeBrowseMode(); myBrowser->ChangeBrowseMode();
} }
else if (wCurrent == mLibArtists) else if (wCurrent == myLibrary->Artists)
{ {
LockStatusbar(); LockStatusbar();
Statusbar() << "Tag type ? [" << fmtBold << 'a' << fmtBoldEnd << "rtist/" << fmtBold << 'y' << fmtBoldEnd << "ear/" << fmtBold << 'g' << fmtBoldEnd << "enre/" << fmtBold << 'c' << fmtBoldEnd << "omposer/" << fmtBold << 'p' << fmtBoldEnd << "erformer] "; Statusbar() << "Tag type ? [" << fmtBold << 'a' << fmtBoldEnd << "rtist/" << fmtBold << 'y' << fmtBoldEnd << "ear/" << fmtBold << 'g' << fmtBoldEnd << "enre/" << fmtBold << 'c' << fmtBoldEnd << "omposer/" << fmtBold << 'p' << fmtBoldEnd << "erformer] ";
@@ -2124,10 +2090,10 @@ int main(int argc, char *argv[])
{ {
Config.media_lib_primary_tag = new_tagitem; Config.media_lib_primary_tag = new_tagitem;
string item_type = IntoStr(Config.media_lib_primary_tag); string item_type = IntoStr(Config.media_lib_primary_tag);
mLibArtists->SetTitle(item_type + "s"); myLibrary->Artists->SetTitle(item_type + "s");
mLibArtists->Reset(); myLibrary->Artists->Reset();
mLibArtists->Clear(0); myLibrary->Artists->Clear(0);
mLibArtists->Display(); myLibrary->Artists->Display();
ToLower(item_type); ToLower(item_type);
ShowMessage("Switched to list of %s tag", item_type.c_str()); ShowMessage("Switched to list of %s tag", item_type.c_str());
} }
@@ -2172,7 +2138,7 @@ int main(int argc, char *argv[])
} }
else if (Keypressed(input, Key.MediaLibrary)) else if (Keypressed(input, Key.MediaLibrary))
{ {
MediaLibrary::SwitchTo(); myLibrary->SwitchTo();
} }
else if (Keypressed(input, Key.PlaylistEditor)) else if (Keypressed(input, Key.PlaylistEditor))
{ {

View File

@@ -25,6 +25,7 @@
#include "charset.h" #include "charset.h"
#include "global.h" #include "global.h"
#include "helpers.h" #include "helpers.h"
#include "media_library.h"
#include "playlist.h" #include "playlist.h"
#include "search_engine.h" #include "search_engine.h"
#include "settings.h" #include "settings.h"
@@ -232,7 +233,7 @@ void NcmpcppStatusChanged(Connection *Mpd, StatusChanges changed, void *)
} }
else if (current_screen == csLibrary) else if (current_screen == csLibrary)
{ {
UpdateSongList(mLibSongs); UpdateSongList(myLibrary->Songs);
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {
@@ -247,7 +248,7 @@ void NcmpcppStatusChanged(Connection *Mpd, StatusChanges changed, void *)
mEditorAlbums->Clear(0); mEditorAlbums->Clear(0);
mEditorDirs->Clear(0); mEditorDirs->Clear(0);
# endif // HAVE_TAGLIB_H # endif // HAVE_TAGLIB_H
mLibArtists->Clear(0); myLibrary->Artists->Clear(0);
mPlaylistEditor->Clear(0); mPlaylistEditor->Clear(0);
} }
if (changed.PlayerState) if (changed.PlayerState)

View File

@@ -183,7 +183,7 @@ void TinyTagEditor::EnterPressed(Song &s)
redraw_header = 1; redraw_header = 1;
if (current_screen == csLibrary) if (current_screen == csLibrary)
{ {
MediaLibrary::Refresh(); myLibrary->Refresh();
} }
else if (current_screen == csPlaylistEditor) else if (current_screen == csPlaylistEditor)
{ {