public static string Encode(string cmd, List<string> args, List<string> quoted_args, bool reversarguments = false)
{
string send = cmd;
var args_send = string.Empty;
var quoted_args_send = string.Empty;
if (args.Count > 0)
{
for (var i = 0; i < args.Count; i++)
{
args_send += args[i];
if (i < args.Count - 1)
args_send += MPDKeyWords.Send.SEPERATION;
}
}
if (quoted_args.Count > 0)
{
for (var i = 0; i < quoted_args.Count; i++)
{
quoted_args_send += MPDKeyWords.Send.QUOTATION_MARK
+ quoted_args[i]
+ MPDKeyWords.Send.QUOTATION_MARK;
if (i < quoted_args.Count - 1)
quoted_args_send += MPDKeyWords.Send.SEPERATION;
}
}
if(reversarguments)
{
if(quoted_args.Count > 0)
send += MPDKeyWords.Send.SEPERATION + quoted_args_send;
if(args.Count > 0)
send += MPDKeyWords.Send.SEPERATION + args_send;
}
else
{
if (args.Count > 0)
send += MPDKeyWords.Send.SEPERATION + args_send;
if (quoted_args.Count > 0)
send += MPDKeyWords.Send.SEPERATION + quoted_args_send;
}
return send + MPDKeyWords.Response.END;
}
}