1
0
mirror of https://github.com/ZetaKebab/MpcNET.git synced 2025-07-02 00:57:38 +00:00

Each command can format the mpd response. User response is a MpdMessage which conatins the requested command and the formatted response.

This commit is contained in:
glucaci
2016-12-06 18:01:28 +01:00
parent 9212021be6
commit 53325604e8
13 changed files with 250 additions and 270 deletions

View File

@ -53,15 +53,14 @@ namespace LibMpc
}
// TODO: create response type
public async Task<object> SendAsync(IMpcCommand command)
public async Task<object> SendAsync<T>(IMpcCommand<T> command)
{
var mpdResponse = await _connection.Exec(command.Value);
var respose = command.ParseResponse(mpdResponse);
var mpdMessage = await _connection.SendAsync(command);
return respose;
return mpdMessage;
}
/*
#region Admin Commands
/// <summary>
/// Disables an MPD output.
@ -84,18 +83,18 @@ namespace LibMpc
var mpdResponse = await _connection.Exec("enableoutput", new string[] { id.ToString() });
return !mpdResponse.IsError;
}
/// <summary>
/// Lists all outputs of the MPD.
/// </summary>
/// <returns>The list of all MPD outputs.</returns>
public async Task<MpdOutput[]> OutputsAsync()
{
MpdResponse response = await _connection.Exec("outputs");
MpdResponse response = await _connection.SendAsync("outputs");
if (response.Message.Count % 3 != 0)
throw new InvalidMpdResponseException();
MpdOutput[] ret = new MpdOutput[response.Message.Count / 3];
MpdOutput[] ret = new MpdcountsOutput[response.Message.Count / 3];
for (int i = 0; i < ret.Length; i++)
{
@ -137,7 +136,7 @@ namespace LibMpc
/// <returns>The list of tag types the MPD supports.</returns>
public async Task<string[]> TagTypesAsync()
{
MpdResponse response = await _connection.Exec("tagtypes");
MpdResponse response = await _connection.SendAsync("tagtypes");
string[] ret = new string[response.Message.Count];
@ -157,7 +156,7 @@ namespace LibMpc
/// <returns>An sequential number of the update process.</returns>
public async Task<int> UpdateAsync()
{
MpdResponse response = await _connection.Exec("update");
MpdResponse response = await _connection.SendAsync("update");
if (response.Message.Count != 1)
throw new InvalidMpdResponseException("Respose message has more than one line.");
@ -187,9 +186,9 @@ namespace LibMpc
if (token == null)
throw new ArgumentNullException("token");
MpdResponse response = await _connection.Exec("find", new string[] { tag.Value, token });
MpdResponse response = await _connection.SendAsync("find", new string[] { tag.Value, token });
if (response.IsError)
if (response.State.Error)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
return MpdFile.buildList(response);
@ -201,9 +200,9 @@ namespace LibMpc
/// <returns>All values found in files of the MPD for the given attribute.</returns>
public async Task<List<string>> ListAsync(ITag tag)
{
MpdResponse response = await _connection.Exec("list", new string[] { tag.Value });
MpdResponse response = await _connection.SendAsync("list", new string[] { tag.Value });
if (response.IsError)
if (response.State.Error)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
return response.getValueList();
@ -220,9 +219,9 @@ namespace LibMpc
if (searchValue == null)
throw new ArgumentNullException("searchValue");
MpdResponse response = await _connection.Exec("list", new string[] { resultTag.Value, searchTag.Value, searchValue });
MpdResponse response = await _connection.SendAsync("list", new string[] { resultTag.Value, searchTag.Value, searchValue });
if (response.IsError)
if (response.State.Error)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
return response.getValueList();
@ -237,9 +236,9 @@ namespace LibMpc
if (path == null)
throw new ArgumentNullException("path");
MpdResponse response = await _connection.Exec("listall", new string[] { path });
MpdResponse response = await _connection.SendAsync("listall", new string[] { path });
if (response.IsError)
if (response.State.Error)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
return response.getValueList();
@ -254,9 +253,9 @@ namespace LibMpc
if (path == null)
throw new ArgumentNullException("path");
MpdResponse response = await _connection.Exec("listallinfo", new string[] { path });
MpdResponse response = await _connection.SendAsync("listallinfo", new string[] { path });
if (response.IsError)
if (response.State.Error)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
return MpdFile.buildList(response);
@ -278,11 +277,11 @@ namespace LibMpc
{
MpdResponse response;
if (path == null)
response = await _connection.Exec("lsinfo");
response = await _connection.SendAsync("lsinfo");
else
response = await _connection.Exec("lsinfo", new string[] { path });
response = await _connection.SendAsync("lsinfo", new string[] { path });
if (response.IsError)
if (response.State.Error)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
return new MpdDirectoryListing(
@ -301,9 +300,9 @@ namespace LibMpc
if (token == null)
throw new ArgumentNullException("token");
MpdResponse response = await _connection.Exec("search", new string[] { tag.Value, token });
MpdResponse response = await _connection.SendAsync("search", new string[] { tag.Value, token });
if (response.IsError)
if (response.State.Error)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
return MpdFile.buildList(response);
@ -321,7 +320,7 @@ namespace LibMpc
if (filename == null)
throw new ArgumentNullException("filename");
MpdResponse response = await _connection.Exec("add", new string[] { filename });
MpdResponse response = await _connection.SendAsync("add", new string[] { filename });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -336,7 +335,7 @@ namespace LibMpc
if (filename == null)
throw new ArgumentNullException("filename");
MpdResponse response = await _connection.Exec("add", new string[] { filename });
MpdResponse response = await _connection.SendAsync("add", new string[] { filename });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -358,7 +357,7 @@ namespace LibMpc
/// </summary>
public async Task ClearAsync()
{
MpdResponse response = await _connection.Exec("clear");
MpdResponse response = await _connection.SendAsync("clear");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -369,7 +368,7 @@ namespace LibMpc
/// <returns>The information of the current song.</returns>
public async Task<MpdFile> CurrentSongAsync()
{
MpdResponse response = await _connection.Exec("currentsong");
MpdResponse response = await _connection.SendAsync("currentsong");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -382,7 +381,7 @@ namespace LibMpc
/// <param name="nr">The index of the track to remove from the playlist.</param>
public async Task DeleteAsync(int nr)
{
MpdResponse response = await _connection.Exec("delete", new string[] { nr.ToString() });
MpdResponse response = await _connection.SendAsync("delete", new string[] { nr.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -393,7 +392,7 @@ namespace LibMpc
/// <param name="id">The id of the track to remove from the playlist.</param>
public async Task DeleteIdAsync(int id)
{
MpdResponse response = await _connection.Exec("deleteid", new string[] { id.ToString() });
MpdResponse response = await _connection.SendAsync("deleteid", new string[] { id.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -407,7 +406,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("load", new string[] { name });
MpdResponse response = await _connection.SendAsync("load", new string[] { name });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -424,7 +423,7 @@ namespace LibMpc
if (newName == null)
throw new ArgumentNullException("newName");
MpdResponse response = await _connection.Exec("rename", new string[] { oldName, newName });
MpdResponse response = await _connection.SendAsync("rename", new string[] { oldName, newName });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -436,7 +435,7 @@ namespace LibMpc
/// <param name="newNr">The new index of the track in the playlist.</param>
public async Task MoveAsync(int oldNr, int newNr)
{
MpdResponse response = await _connection.Exec("move", new string[] { oldNr.ToString(), newNr.ToString() });
MpdResponse response = await _connection.SendAsync("move", new string[] { oldNr.ToString(), newNr.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -448,7 +447,7 @@ namespace LibMpc
/// <param name="nr">The new index of the track in the playlist.</param>
public async Task MoveIdAsync(int id, int nr)
{
MpdResponse response = await _connection.Exec("moveid", new string[] { id.ToString(), nr.ToString() });
MpdResponse response = await _connection.SendAsync("moveid", new string[] { id.ToString(), nr.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -459,7 +458,7 @@ namespace LibMpc
/// <returns>The meta data of the items in the current playlist.</returns>
public async Task<List<MpdFile>> PlaylistInfoAsync()
{
MpdResponse response = await _connection.Exec("playlistinfo");
MpdResponse response = await _connection.SendAsync("playlistinfo");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -473,7 +472,7 @@ namespace LibMpc
/// <returns>The meta data of the track in the current playlist.</returns>
public async Task<MpdFile> PlaylistInfoAsync(int nr)
{
MpdResponse response = await _connection.Exec("playlistinfo", new string[] { nr.ToString() });
MpdResponse response = await _connection.SendAsync("playlistinfo", new string[] { nr.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -486,7 +485,7 @@ namespace LibMpc
/// <returns>The meta data of the items in the current playlist.</returns>
public async Task<List<MpdFile>> PlaylistIdAsync()
{
MpdResponse response = await _connection.Exec("playlistid");
MpdResponse response = await _connection.SendAsync("playlistid");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -500,7 +499,7 @@ namespace LibMpc
/// <returns>The meta data of the track in the current playlist.</returns>
public async Task<MpdFile> PlaylistIdAsync(int id)
{
MpdResponse response = await _connection.Exec("playlistid", new string[] { id.ToString() });
MpdResponse response = await _connection.SendAsync("playlistid", new string[] { id.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -514,7 +513,7 @@ namespace LibMpc
/// <returns>All changed songs in the playlist since the given version.</returns>
public async Task<List<MpdFile>> PlchangesAsync(int version)
{
MpdResponse response = await _connection.Exec("plchanges", new string[] { version.ToString() });
MpdResponse response = await _connection.SendAsync("plchanges", new string[] { version.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -531,7 +530,7 @@ namespace LibMpc
/// </returns>
public async Task<List<KeyValuePair<int, int>>> PlChangesPosIdAsync(int version)
{
MpdResponse response = await _connection.Exec("plchangesposid", new string[] { version.ToString() });
MpdResponse response = await _connection.SendAsync("plchangesposid", new string[] { version.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -578,7 +577,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("rm", new string[] { name });
MpdResponse response = await _connection.SendAsync("rm", new string[] { name });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -592,7 +591,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("save", new string[] { name });
MpdResponse response = await _connection.SendAsync("save", new string[] { name });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -602,7 +601,7 @@ namespace LibMpc
/// </summary>
public async Task ShuffleAsync()
{
MpdResponse response = await _connection.Exec("shuffle");
MpdResponse response = await _connection.SendAsync("shuffle");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -614,7 +613,7 @@ namespace LibMpc
/// <param name="nr2">The index of the second track.</param>
public async Task SwapAsync(int nr1, int nr2)
{
MpdResponse response = await _connection.Exec("swap", new string[] { nr1.ToString(), nr2.ToString() });
MpdResponse response = await _connection.SendAsync("swap", new string[] { nr1.ToString(), nr2.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -626,7 +625,7 @@ namespace LibMpc
/// <param name="id2">The id of the second track.</param>
public async Task SwapIdAsync(int id1, int id2)
{
MpdResponse response = await _connection.Exec("swapid", new string[] { id1.ToString(), id2.ToString() });
MpdResponse response = await _connection.SendAsync("swapid", new string[] { id1.ToString(), id2.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -641,7 +640,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("listplaylist", new string[] { name });
MpdResponse response = await _connection.SendAsync("listplaylist", new string[] { name });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -658,7 +657,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("listplaylistinfo", new string[] { name });
MpdResponse response = await _connection.SendAsync("listplaylistinfo", new string[] { name });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -677,7 +676,7 @@ namespace LibMpc
if (file == null)
throw new ArgumentNullException("file");
MpdResponse response = await _connection.Exec("playlistadd", new string[] { name, file });
MpdResponse response = await _connection.SendAsync("playlistadd", new string[] { name, file });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -691,7 +690,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("playlistclear", new string[] { name });
MpdResponse response = await _connection.SendAsync("playlistclear", new string[] { name });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -706,7 +705,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("playlistdelete", new string[] { name, id.ToString() });
MpdResponse response = await _connection.SendAsync("playlistdelete", new string[] { name, id.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -722,7 +721,7 @@ namespace LibMpc
if (name == null)
throw new ArgumentNullException("name");
MpdResponse response = await _connection.Exec("playlistmove", new string[] { id.ToString(), nr.ToString() });
MpdResponse response = await _connection.SendAsync("playlistmove", new string[] { id.ToString(), nr.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -738,7 +737,7 @@ namespace LibMpc
if (token == null)
throw new ArgumentNullException("token");
MpdResponse response = await _connection.Exec("playlistfind", new string[] { tag.Value, token });
MpdResponse response = await _connection.SendAsync("playlistfind", new string[] { tag.Value, token });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -756,7 +755,7 @@ namespace LibMpc
if (token == null)
throw new ArgumentNullException("token");
MpdResponse response = await _connection.Exec("playlistsearch", new string[] { tag.Value, token });
MpdResponse response = await _connection.SendAsync("playlistsearch", new string[] { tag.Value, token });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -772,7 +771,7 @@ namespace LibMpc
/// <param name="seconds">The seconds to crossfade between songs.</param>
public async Task CrossfadeAsync(int seconds)
{
MpdResponse response = await _connection.Exec("crossfade", new string[] { seconds.ToString() });
MpdResponse response = await _connection.SendAsync("crossfade", new string[] { seconds.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -782,7 +781,7 @@ namespace LibMpc
/// </summary>
public async Task NextAsync()
{
MpdResponse response = await _connection.Exec("next");
MpdResponse response = await _connection.SendAsync("next");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -793,7 +792,7 @@ namespace LibMpc
/// <param name="pause">If the playback should be paused or resumed.</param>
public async Task PauseAsync(bool pause)
{
MpdResponse response = await _connection.Exec("pause", new string[] { pause ? "1" : "0" });
MpdResponse response = await _connection.SendAsync("pause", new string[] { pause ? "1" : "0" });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -803,7 +802,7 @@ namespace LibMpc
/// </summary>
public async Task PlayAsync()
{
MpdResponse response = await _connection.Exec("play");
MpdResponse response = await _connection.SendAsync("play");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -814,7 +813,7 @@ namespace LibMpc
/// <param name="nr">The index of the track in the playlist to start playing.</param>
public async Task PlayAsync(int nr)
{
MpdResponse response = await _connection.Exec("play", new string[] { nr.ToString() });
MpdResponse response = await _connection.SendAsync("play", new string[] { nr.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -824,7 +823,7 @@ namespace LibMpc
/// </summary>
public async Task PlayIdAsync()
{
MpdResponse response = await _connection.Exec("playid");
MpdResponse response = await _connection.SendAsync("playid");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -835,7 +834,7 @@ namespace LibMpc
/// <param name="id">The id of the track to start playing.</param>
public async Task PlayIdAsync(int id)
{
MpdResponse response = await _connection.Exec("playid", new string[] { id.ToString() });
MpdResponse response = await _connection.SendAsync("playid", new string[] { id.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -845,7 +844,7 @@ namespace LibMpc
/// </summary>
public async Task PreviousAsync()
{
MpdResponse response = await _connection.Exec("previous");
MpdResponse response = await _connection.SendAsync("previous");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -856,7 +855,7 @@ namespace LibMpc
/// <param name="random">If the MPD playlist should be played randomly.</param>
public async Task RandomAsync(bool random)
{
MpdResponse response = await _connection.Exec("random", new string[] { random ? "1" : "0" });
MpdResponse response = await _connection.SendAsync("random", new string[] { random ? "1" : "0" });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -867,7 +866,7 @@ namespace LibMpc
/// <param name="repeat">If the MPD should repeat the playlist.</param>
public async Task RepeatAsync(bool repeat)
{
MpdResponse response = await _connection.Exec("repeat", new string[] { repeat ? "1" : "0" });
MpdResponse response = await _connection.SendAsync("repeat", new string[] { repeat ? "1" : "0" });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -879,7 +878,7 @@ namespace LibMpc
/// <param name="time">The number of seconds to start playback on.</param>
public async Task SeekAsync(int nr, int time)
{
MpdResponse response = await _connection.Exec("seek", new string[] { nr.ToString(), time.ToString() });
MpdResponse response = await _connection.SendAsync("seek", new string[] { nr.ToString(), time.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -891,7 +890,7 @@ namespace LibMpc
/// <param name="time">The number of seconds to start playback on.</param>
public async Task SeekIdAsync(int id, int time)
{
MpdResponse response = await _connection.Exec("seekid", new string[] { id.ToString(), time.ToString() });
MpdResponse response = await _connection.SendAsync("seekid", new string[] { id.ToString(), time.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -907,7 +906,7 @@ namespace LibMpc
if (vol > 100)
throw new ArgumentException("vol > 100");
MpdResponse response = await _connection.Exec("setvol", new string[] { vol.ToString() });
MpdResponse response = await _connection.SendAsync("setvol", new string[] { vol.ToString() });
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -917,7 +916,7 @@ namespace LibMpc
/// </summary>
public async Task StopAsync()
{
MpdResponse response = await _connection.Exec("stop");
MpdResponse response = await _connection.SendAsync("stop");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -931,7 +930,7 @@ namespace LibMpc
/// </summary>
public async Task ClearErrorAsync()
{
await _connection.Exec("clearerror");
await _connection.SendAsync("clearerror");
}
/// <summary>
/// Returns which commands the current user has access to.
@ -939,7 +938,7 @@ namespace LibMpc
/// <returns>The commands the current user has access to.</returns>
public async Task<List<string>> CommandsAsync()
{
MpdResponse response = await _connection.Exec("commands");
MpdResponse response = await _connection.SendAsync("commands");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -952,7 +951,7 @@ namespace LibMpc
/// <returns>The commands the current user does has access to.</returns>
public async Task<List<string>> NotCommandsAsync()
{
MpdResponse response = await _connection.Exec("notcommands");
MpdResponse response = await _connection.SendAsync("notcommands");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -969,7 +968,7 @@ namespace LibMpc
if (password == null)
throw new ArgumentNullException("password");
var mpdResponse = await _connection.Exec("password", new string[] { password });
var mpdResponse = await _connection.SendAsync("password", new string[] { password });
return mpdResponse.IsError;
}
/// <summary>
@ -977,7 +976,7 @@ namespace LibMpc
/// </summary>
public async Task PingAsync()
{
await _connection.Exec("ping");
await _connection.SendAsync("ping");
}
/// <summary>
/// Requests the current statistics from the MPD,
@ -985,7 +984,7 @@ namespace LibMpc
/// <returns>The current statistics fromt the MPD.</returns>
public async Task<MpdStatistics> StatsAsync()
{
MpdResponse response = await _connection.Exec("stats");
MpdResponse response = await _connection.SendAsync("stats");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -1063,7 +1062,7 @@ namespace LibMpc
/// <returns>The current status of the MPD.</returns>
public async Task<MpdStatus> StatusAsync()
{
MpdResponse response = await _connection.Exec("status");
MpdResponse response = await _connection.SendAsync("status");
if (response.IsError)
throw new MpdResponseException(response.ErrorCode, response.ErrorMessage);
@ -1233,5 +1232,6 @@ namespace LibMpc
}
#endregion
*/
}
}