Releases: sauloverissimo/gingopy
Releases Β· sauloverissimo/gingopy
v2.0.1
Fixes
- Enharmonic map:
Cbb,Fbb,bbC,bbFwere off by one semitone (applied single flat instead of double flat) - Interval table:
#11anglo_saxon label wasd11(diminished), corrected toA11(augmented) - Mode brightness: fix ranking to match circle-of-fifths ordering (Locrian=0, Phrygian=1, Aeolian=2, Dorian=3, Mixolydian=5, Ionian=6, Lydian=7)
Maintenance
- Updated all repository URLs after rename (
gingo->gingopy) - Updated documentation links (MkDocs, README, pyproject.toml)
- PyPI package name remains
gingo(unchanged)
All 496 C++ tests pass.
v2.0.0
Gingo v2.0.0
New Features
- MIDI 1.0 & 2.0 I/O β Read/write Standard MIDI Files and MIDI 2.0 UMP streams
- Monitor β Real-time MIDI event monitoring and routing
- MIDI-CI Handler β Protocol negotiation, property exchange, and profile management
- ExpressionState β Per-note expression parameter tracking
Improvements
- Duration β Extended duration arithmetic and tuplet support
- Tempo β Tempo map and BPM conversion enhancements
- Field β Harmonic field refactoring and improvements
- Documentation β Expanded guides, API reference, and interactive examples
Infrastructure
- Updated .gitignore for cleaner repository
- Windows compatibility fixes for test temp files
- Version bump to 2.0.0
v1.1.0 β Fretboard & FretboardSVG
πͺ Gingo v1.1.0 β Fretboard & FretboardSVG
Fretboard β Guitar fingering engine
Fretboard.violao(),.cavaquinho(),.bandolim()β factory methods for standard instrumentsFretboard(tuning, num_frets)β custom instruments with any tuningfretboard.fingering(chord)β optimal CAGED-based fingering generationfretboard.scale_positions(scale, fret_lo, fret_hi)β scale positions on the neckfretboard.positions(note)β all occurrences of a note on the fretboard- Multi-criteria scoring algorithm: span, position, finger count, sounding strings, barre detection
- 22/24 standard CAGED chord shapes match reference (jguitar.com)
FretboardSVG β SVG renderer for fretboard diagrams
chord(),fingering(),scale(),note(),positions()β individual diagramsfield(),progression()β composite layouts (Grid, Horizontal, Vertical)full()β full open fretboard visualizationwrite()β save SVG to file
Orientation & Handedness
- Orientation:
Horizontal(fretboard view) /Vertical(chord box) - Handedness:
RightHanded/LeftHanded - All FretboardSVG methods support both parameters with smart defaults
- Backward compatible: existing calls produce identical output
New structs & enums
Tuning,FretPosition,Fingering,StringStateStringAction(Open, Fretted, Muted),Orientation,Handedness
CLI
gingo fretboard chord CM --svg chord.svggingo fretboard scale "C major" --svg scale.svggingo fretboard field "C major" --svg field.svg--left(left-handed),--horizontal/--vertical(orientation)
Visual showcase
The README now includes SVG examples for all instrument visualizations:
| FretboardSVG | PianoSVG |
|---|---|
| Chord diagrams (vertical/horizontal) | Chord voicings (close/open/shell) |
| Scale maps on the neck | Scale highlighting |
| Harmonic field grids | Harmonic field (7 keyboards) |
| Chord progressions | Full 88-key keyboard |
| Left-handed support | β |
Tests
- 1102 tests (426 C++ / Catch2 + 676 Python / pytest) β 100% passing
v1.0.0
Release 1.0.0