private static void Categorize() { var bankRaw = File.ReadAllText(@"C:\Users\Valdemar\Desktop\XV5050 Bank.txt"); var bank = BankLoader.LoadBank(bankRaw); var allInstruments = bank.Programs.SelectMany(x => x.Value).ToArray(); var categories = new List <string>(); var programs = new List <string>(); foreach (var file in Directory.GetFiles(@"C:\Users\Valdemar\Desktop\xv5050\", "*.syx")) { var cat = Path.GetFileNameWithoutExtension(file).ToUpper(); categories.Add($"Category Cat={cat} # {cat}"); int kk = 0; var syx = File.ReadAllBytes(file); var bytes = SplitSyx(syx); programs.Add(""); foreach (var program in GetPrograms(bytes)) { var match = allInstruments.SingleOrDefault(x => x.Msb == program.Item1 && x.Lsb == program.Item2 && x.Prg == program.Item3); programs.Add($"Program Cat={cat} Msb={match.Msb} Lsb={match.Lsb} Prg={match.Prg} # {match.CategoryKey}: {match.Name}"); kk++; } } File.WriteAllLines(@"C:\Users\Valdemar\Desktop\xv5050\combined.txt", categories.Concat(programs)); }
private static void UpdateGm2() { var bank = BankLoader.LoadBankFromFile(@"C:\Users\Valdemar\Desktop\xv5050 GM2.txt"); var programs = new List <string>(); foreach (var match in bank.Programs["GM"]) { var cat = match.CategoryKey; programs.Add($"Program Cat={cat} Msb={match.Msb} Lsb={match.Lsb} Prg={match.Prg - 1} # {match.CategoryKey}: {match.Name}"); } File.WriteAllLines(@"C:\Users\Valdemar\Desktop\xv5050 GM2 Fixed.txt", programs); }
public void LoadBankData() { bank = BankLoader.LoadBank(selectedFileContent); Categories = bank.CategoryNames.Select(x => Tuple.Create(x.Key, x.Value)).ToArray(); if (Categories.Length > 0) { SelectedCategory = Categories[0]; } else { SelectedCategory = null; } }