public static Macro Load(string fileName = null, bool macroDirRelative = false) { if (fileName == null) { fileName = Macro.ChooseMacro(); if (fileName == null) { return(null); } } else if (macroDirRelative) { fileName = Path.Combine(MacroDirectory, fileName); } return(XMLConverter.FromXML <Macro>(XElement.Load(fileName))); }