public MusicDevice(IMusicPluginObject musicPlugin, string name, MusicType mt) { _musicDriverName = musicPlugin.Name; _musicDriverId = musicPlugin.Id; _name = name; _type = mt; Handle = new DeviceHandle(CompleteId.GetHashCode()); }
/// <summary> /// Creates a new <see cref="Submodule"/> with the given information /// </summary> /// <param name="solutionPath">The path to the current opend solution</param> /// <param name="subModuleInformation">The <see cref="string"/> /// that contains informations of the submodule</param> internal Submodule(string solutionPath, string subModuleInformation) { ShowSlimInformations = true; if (string.IsNullOrEmpty(subModuleInformation)) { return; } var lineSplit = subModuleInformation.TrimStart().Split(' '); CompleteId = lineSplit.FirstOrDefault(); Name = lineSplit.ElementAtOrDefault(1) ?? "???"; CompleteTag = lineSplit.ElementAtOrDefault(2) ?? "???"; CompleteId = !string.IsNullOrEmpty(CompleteId) ? CompleteId.Replace("U", string.Empty) .Replace("+", string.Empty) .Replace("-", string.Empty) .TrimStart() : "???"; ShortId = CompleteId.Substring(0, 7); SetSubModuleStatus(solutionPath, subModuleInformation); SetBackgroundColor(); // TODO: this if is useless, should be remove? if (string.IsNullOrEmpty(CompleteTag)) { ChangeHealthStatus(HealthStatus.Unknown); return; } CompleteTag = CompleteTag.TrimStart('(').TrimEnd(')'); if (CompleteTag.EndsWith("HEAD", StringComparison.Ordinal)) { ChangeHealthStatus(HealthStatus.Head); return; } if (CompleteId.StartsWith(CompleteTag, StringComparison.Ordinal)) { ChangeHealthStatus(HealthStatus.Okay); return; } if (CompleteTag.StartsWith("heads", StringComparison.Ordinal) && !CompleteTag.Contains("-")) { ChangeHealthStatus(HealthStatus.Okay); return; } var splittedTag = CompleteTag.Split('-'); if ((splittedTag.Length - 2) < 1) { ChangeHealthStatus(HealthStatus.Unknown); return; } int numberOfAdditionalCommits; int.TryParse(splittedTag.ElementAtOrDefault(splittedTag.Length - 2), out numberOfAdditionalCommits); NumberOfAdditionalCommits = numberOfAdditionalCommits; ChangeHealthStatus(NumberOfAdditionalCommits == 0 ? HealthStatus.Unknown : HealthStatus.Warning); }