Skip to content

Latest commit

 

History

History
137 lines (104 loc) · 5.12 KB

File metadata and controls

137 lines (104 loc) · 5.12 KB

ABC+ Changelog

All notable changes to the ABC+ specification will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.7.0] - 2026-06-13

Added

  • Pedal, Octave & Glissando line decorations (§4.3) — real, playback-capable spanners that attach to the next note:
    • !ped! / !ped-up!<pedal line="no" sign="yes"> (asterisk style, Ped.*)
    • !ped(! / !ped)!<pedal line="yes" sign="no"> (line/bracket style)
    • !ped-change!<pedal type="change"> (re-pedal notch inside a line)
    • !8va!/!8va)! (+ !8vb! !15ma! !15mb! !22ma! !22mb!) → <octave-shift>
    • !gliss(! / !gliss)!<glissando> Reference implementation: abc2xml in abc-to-xml-converter.

Clarified

  • These pedal decorations (visible marks that also play back) are distinct from the %%damper-pedal / %%soft-pedal / %%sostenuto-pedal sound directives (§6.6), which are playback-only with no visible mark. Pedal/octave written as text ("^Ped.", "^8va") is cosmetic only and does not play back; abc_audit.py in abcplus-tools now flags it.

[1.6.0] - 2026-06-12

Added

  • Per-note performance tags @{key=value,...} (§6.7): playback nuance attached to a single note or chord — v (MIDI velocity 1–127) and t (timing offset in ms), mapped to MusicXML dynamics/attack note attributes. Reference implementation: abc_perf.py in abcplus-tools.
  • Source Conventions & Validation section (§11) with measure-block markers % M<n>: comment-level assertions of the next block's measure number, letting validators report voice misalignment at the bar where it first drifts. Reference implementation: abc_audit.py in abcplus-tools.

Fixed

  • Specification header version/date brought in line with the Version History table.

[1.5.0] - 2026-04-29

Added

  • MIDI Instrument Parameters (%%midi, %%midi-bank, %%midi-vol, %%midi-pan)
  • Playback Navigation (%%segno, %%dalsegno, %%tocoda, %%coda, %%dacapo, %%fine)
  • Pedal Control (%%damper-pedal, %%soft-pedal, %%sostenuto-pedal)

(Backfilled: this release was recorded in the specification's Version History but missing from this changelog.)

[1.4.0] - 2026-03-16

Added

  • MEI (Music Encoding Initiative) compatibility:
    • Comprehensive MEI mapping reference in the specification
    • Bidirectional conversion support between ABC+ and MEI
    • Mapping for all core ABC+ elements to MEI equivalents
    • Support for MEI-specific scholarly features
  • Additional format compatibility analysis:
    • Dorico
    • Flat.io
    • TuxGuitar
    • StaffPad
    • NoteWorthy Composer
  • Updated compatibility chart with all new formats
  • Comprehensive compatibility analysis documents for each new format

[1.3.0] - 2026-03-15

Added

  • Updated MusicXML mapping reference with comprehensive bidirectional mapping

[1.2.0] - 2026-01-17

Added

  • MusicXML 4.0 Playback Controls:
    • %%swing / %%swing-off - Toggle swing playback (maps to <sound swing="yes"/>)
    • %%mute / %%mute-off - Toggle instrument muting (maps to <sound mute="yes"/>)
  • Layout Refinements:
    • %%vskip <number> - Fixed direct implementation via <system-layout> in <print>
    • %%sep - Added horizontal system separators
  • Advanced Ornaments & Technical Marks:
    • Support for !vertical-turn!, !shake!, !schleifer!, !haydn!
    • Guitar/String technical marks: !hammer-on!, !pull-off!, !bend!, !tap!, !fingernails!, !golpe!
    • Organ/Keyboard marks: !heel!, !toe!
  • Robustness:
    • Fixed NoneType errors in staffDecos when processing global directives before the first measure.
    • Corrected addDirection argument handling for figured bass and other notations.

[1.1.0] - 2026-01-17

Added

  • MusicXML 4.0 Layout Controls:
    • %%measurenumbering yes|no - Toggle bar numbering
    • %%vskip <number> - Vertical system distance
    • %%sep - Horizontal separator
  • Advanced Notations:
    • %%marker <text> - Rehearsal marks
    • %%frame <chord> <frets> - Guitar chord diagrams
    • %%fb <figures> - Figured bass notation
  • Improved Decoration Support:
    • Grouped sub-containers for <articulations>, <ornaments>, and <technical>
    • Parameterized decorations: fingering(1), fret(5), string(6)
    • Cleaned up XML output (removed diagnostic comments)

[1.0.0] - 2026-01-17

Added

  • Initial ABC+ specification release
  • Core directives:
    • %%dir - Performance directions
    • %%fx - Audio effects
    • %%analysis - Harmonic analysis markers
    • %%game_state - Game audio synchronization
    • %%loop - Loop point markers
    • %%art - Note articulations
  • Extended decoration syntax for named slurs and tuplets
  • Percussion mapping via I:percmap
  • Lyric analysis abbreviations (^CT, ^P, etc.)
  • MusicXML mapping documentation
  • JSON schema for directive validation

Compatibility

  • Full backward compatibility with ABC 2.1
  • Tested with abc2xml converter v239