async void chimneyMpdServer_OnLsInfoOld(object sender, ResponseEventArgs e)
{
bool suc = true;
var musicLibraryFolder = Windows.Storage.KnownFolders.MusicLibrary;
string path = musicLibraryFolder.Name;
string response = string.Empty;
if (e.arguments.Count > 0)
{
path = e.arguments.First<string>();
Tuple<StorageFolder, string> seekpath = new Tuple<StorageFolder,string>(musicLibraryFolder, musicLibraryFolder.Name);
if (!path.Equals(musicLibraryFolder.Name.ToLower()))
{
seekpath = await GetPath(musicLibraryFolder, path);
}
var files = await seekpath.Item1.GetFilesAsync();
var folders = await seekpath.Item1.GetFoldersAsync();
response = string.Empty;
foreach (StorageFolder folder in folders)
{
response += "directory: " + seekpath.Item2 + "/" + folder.Name + "\n";
}
foreach (StorageFile file in files)
{
if (file.FileType.ToLower().Equals(".mp3") ||
file.FileType.ToLower().Equals(".wav") ||
file.FileType.ToLower().Equals(".wma"))
{
//response += "file: " + seekpath.Item2 + "/" + file.Name + "\n";
SongTag songTag = await SongTag.GetSongTagFromFile(file);
songTag.file = seekpath.Item2 + "/" + file.Name;
response += songTag.ToString();
}
}
}
else
{
foreach (Tuple<StorageFolder, string> rootpath in RootPaths)
{
response += "directory: " + rootpath.Item2 + "\n";
}
}
//if (suc) response = await FolderCrawler(seekpath.Item1, seekpath.Item2, false, true);
if (suc) chimneyMpdServer.AppendResponse(response, e.id, e.position);
else
{
string errorfile = string.Empty;
if (e.arguments.Count > 0) errorfile = e.arguments.First<string>();
chimneyMpdServer.ErrorResponse(MPDKeyWords.Response.ACK + " [50@0] {listall} could not find path:" + " \"" + errorfile + "\"", e.id, e.position);
}
}