public bool ToDocumentElement(TablatureContext context, ILogger logger, out ChordDefinition element) { if (context.DocumentState.DefinedChords.Any( c => c.Name.Equals(this.Name.Value, StringComparison.InvariantCulture))) { logger.Report(LogLevel.Warning, this.Range, Messages.Warning_ChordAlreadyDefined); element = null; return(false); } ChordFingering chordFingering; if (!this.Fingering.ToDocumentElement(context, logger, out chordFingering)) { element = null; return(false); } element = new ChordDefinition { Range = this.Range, DisplayName = this.GetDisplayName(), Name = this.Name.Value, Fingering = chordFingering }; return(true); }
public ChordDiagram(ChordDefinition chordDefinition, ChordBarreStyle barreStyle) { this.InitializeComponent(); _chordDefinition = chordDefinition; _barreStyle = barreStyle; this.Draw(); }
protected void OnChordChanged() { RunOnUiThread(() => { if (mplayer.currentPressedNotes == null) { return; } string t = ""; byte[] pressedNotes = mplayer.currentPressedNotes.ToArray(); //byte[] pressedNotes = new byte[3] {65,69,71}; // test if (pressedNotes.Length > 0) { ChordDefinition cd = chordRecognizer.ChordRecognize(pressedNotes); if (cd != null) { //TODO: error on chord 65-69-71 -- ошибка с необязательной нотой аккорда (когда она явялется основной) byte rootnote = pressedNotes[0]; if ((cd.RootOffset >= pressedNotes.Length) && (cd.ChordVariantOffset[cd.RootOffset] < cd.ChordVariantOffset[0])) { rootnote = (byte)(pressedNotes[0] - cd.ChordVariantOffset[0]); } t = Common.GetNoteName(rootnote) + cd.Chord.ChordName.Substring(1); } } FindViewById <TextView>(Resource.Id.currentChord).Text = t; }); }
private void ChordGroup_SelectionChanged(object sender, SelectionChangedEventArgs e) { var cb = e.Source as ComboBox; ChordDefinition def = cb.SelectedItem as ChordDefinition; chordDiagram.ChordDefinition = def; this.chordDiagram.InvalidateVisual(); }
public ChordDiagramGridRow(ChordDefinition chordDefinition, int fret, bool isCompact = false, ChordBarreStyle barreStyle = ChordBarreStyle.Brace) { _barreStyle = barreStyle; this.InitializeComponent(); _chordDefinition = chordDefinition; _fret = fret; _isCompact = isCompact; this.Draw(); }
private void DrawFChord() { var chord = new ChordDefinition() { DisplayName = "F", Name = "F", Fingering = new ChordFingering { Notes = new[] { new ChordFingeringNote(1, LeftHandFingerIndex.Index), new ChordFingeringNote(3, LeftHandFingerIndex.Ring, true), new ChordFingeringNote(3, LeftHandFingerIndex.Pinky, true), new ChordFingeringNote(2, LeftHandFingerIndex.Middle, true), new ChordFingeringNote(1, LeftHandFingerIndex.Index), new ChordFingeringNote(1, LeftHandFingerIndex.Index), } } }; this.Root.Children.Add(new ChordDiagram(chord, ChordBarreStyle.Brace)); }
private void DrawCmaj7OnGChord() { var chord = new ChordDefinition() { DisplayName = "Cmaj7/G", Name = "Cmaj7/G", Fingering = new ChordFingering { Notes = new[] { new ChordFingeringNote(3, LeftHandFingerIndex.Index, true), new ChordFingeringNote(3, LeftHandFingerIndex.Index, true), new ChordFingeringNote(5, LeftHandFingerIndex.Ring, true), new ChordFingeringNote(5, LeftHandFingerIndex.Ring, true), new ChordFingeringNote(5, LeftHandFingerIndex.Ring, true), new ChordFingeringNote(7, LeftHandFingerIndex.Pinky, true), } } }; this.Root.Children.Add(new ChordDiagram(chord, ChordBarreStyle.Lined)); }
private void DrawEmOnDChord() { var chord = new ChordDefinition() { DisplayName = "Em/D", Name = "Em/D", Fingering = new ChordFingering { Notes = new[] { new ChordFingeringNote(-1), new ChordFingeringNote(-1), new ChordFingeringNote(0), new ChordFingeringNote(0), new ChordFingeringNote(0), new ChordFingeringNote(0), } } }; this.Root.Children.Add(new ChordDiagram(chord, ChordBarreStyle.Lined)); }