/// <summary> /// Create a ScoreStaffs object for a bar. /// </summary> /// <param name="genome"></param> /// <param name="tempo"></param> /// <param name="barPosition"></param> /// <returns></returns> private ScoreStaffs CreateScoreStaffsBar(Genome genome, string tempo, int barPosition) { // The staffs for the new bar. ScoreStaffs ss = new ScoreStaffs(); ss.Background = Brushes.White; ss.setContent(genome); ss.AddTempoInfo(tempo); if (addEmptyBar == false) { ss.AddIndexTag(barCount + 1); } else { ss.AddIndexTag(barPosition + 1); } ss.borderStaff.BorderThickness = new Thickness(0); ss.borderStaff.BorderBrush = Brushes.Blue; ss.AllowDrop = true; AddScoreStaffsMouseLeftButtonUpEventHandler(ss); AddScoreStaffsDragEnterEventHandler(ss); AddScoreStaffsDropEventHandler(ss); return(ss); }
public void ApplyKeySignature() { KeySignature temp = Parameters.KeySignature; Parameters.KeySignature = LayoutController.StringToEnum <KeySignature>(keySignature + "Maj"); geneticSong.ApplyKeySignature(keySignature); Parameters.KeySignature = temp; int defaultNumberElem = ScoreStaffs.defaultNumberElem; for (int i = 0; i < scores.Count; i++) { ScoreStaffs ss = scores[i]; Grid grid = (Grid)ss.borderStaff.Child; grid.Children.RemoveRange(defaultNumberElem, grid.Children.Count - defaultNumberElem); ss.setContent(geneticSong.songGenomes[i]); ss.AddTempoInfo(geneticSong.tempos[i].ToString()); ss.AddIndexTag(i + 1); } foreach (WrapPanel wp in keySignatures) { ((Image)wp.Children[0]).Source = LayoutController.GetKeySignature(keySignature, Clefs[0].ToString()); ((Image)wp.Children[1]).Source = LayoutController.GetKeySignature(keySignature, Clefs[1].ToString()); } MarkSavedScore(true); }