flutter_notemus 2.5.0
flutter_notemus: ^2.5.0 copied to clipboard
Professional music notation rendering for Flutter. SMuFL-compliant with 2932 Bravura glyphs, beams, dynamics, articulations, and JSON import/export.
Changelog #
All notable changes to Flutter Notemus are documented in this file.
The format is based on Keep a Changelog and this project follows Semantic Versioning.
2.5.0 - 2026-03-23 #
Added #
- MEI v5 100% conformance: full coverage of Music Encoding Initiative v5 specification.
SpaceandMeasureSpaceclasses (MEI<space>and<mSpace>).FiguredBassandFigureElementclasses (MEI<fb>/<f>).HarmonicAnalysis,ChordTable,HarmonicLabelclasses (MEI<harm>,intm,mfunc,deg,inth,pclass).MeiHeaderwith full FRBR model (Work/Expression/Manifestation/Item levels).ScoreDefinitionclass (MEI<scoreDef>).MensuralNote,MensuralRest,Ligature,Mensur,ProportMark(MEI Mensural repertoire).Neume,NeumeComponent,NeumeDivision(MEI Neume notation).TabNote,TabGrp,TabTuningwith standard guitar/bass/ukulele tunings (MEI Tablature).
DurationTypeextended with historical values (maxima,long,breve) and ultra-short values up totwoThousandFortyEighth(2048th note).DurationType.meiDurValuegetter andDurationType.fromMeiValue()for MEI serialization.Pitch.pitchClassgetter (0–11, MEIpclass) andPitch.solmizationName/Pitch.fromSolmization().KeyModeenum (major, minor, dorian, phrygian, lydian, mixolydian, aeolian, locrian, none).TimeSignature.free()andTimeSignature.additive()constructors for MEI<meterSig>variants.SyllableandVerseclasses for MEI<syl>/<verse>lyric encoding.Staff.lineCountparameter for non-standard staves (MEI<staffDef @lines>).Measure.numberfield (MEI<measure @n>).Note.tabFret/Note.tabStringfields for tablature notation.MusicalElement.xmlIdfield for MEIxml:idcross-referencing.- MEI v5 badge and conformance section added to README.
- Audit document
docs/MEI_V5_AUDIT.mddocumenting 100% coverage across 30 categories. - GitHub issues #7, #8, #9 tracking remaining implementation work.
Fixed #
- All
avoid_printwarnings in example files replaced withdebugPrint. - Deprecated
Tuplet.showBracket/showNumberusages replaced withbracketConfig/numberConfigin examples. deprecated_member_use(withOpacity) replaced withwithValues(alpha:)in example files.implementation_importsandunnecessary_importwarnings resolved in JSON example files.prefer_const_constructorswarnings resolved across example files.- Non-exhaustive switch expressions in
BeamAnalyzer._getDurationValue()andMusicXMLParser._durationTypeToString()fixed afterDurationTypeenum expansion.
2.2.1 - 2026-03-23 #
Fixed #
- Replaced
LICENSEcontent with canonical Apache-2.0 text so pub.dev can recognize an OSI-approved license. - Moved third-party license attributions to
THIRD_PARTY_LICENSES.md.
2.2.0 - 2026-03-23 #
Changed #
- Translated example app UI texts to English across example pages and labels.
- Added web plugin support entry with
FlutterNotemusWeb. - Added Swift Package Manager manifests and source targets for iOS and macOS plugin integration.
- Normalized license metadata and Apache-2.0 declaration in
pubspec.yaml.
2.1.0 - 2026-03-23 #
Changed #
- Migrated README content to English across all sections.
- Reorganized README with project links at the top.
- Kept backlog references and project links aligned with GitHub and GitHub Pages.
2.0.2 - 2026-03-23 #
Fixed #
- Restored the complete README content for GitHub and pub.dev package page.
- Added project links section with GitHub, pub.dev, and GitHub Pages URL.
- Added explicit open-pending issues section with links to tracked implementation gaps.
2.0.1 - 2026-03-23 #
Added #
- Public backlog tracking document:
docs/OPEN_ISSUES.md - GitHub issue backlog for pending implementation gaps:
- #1 Native audio backend for iOS/macOS/Linux/Windows
- #2 Real notation engraving for PDF export
- #3 SMuFL brace integration for staff groups
- #4 Stem/flag primitive parameterization
- #5
repeatBothrobust glyph fallback
Changed #
- README fully rewritten and normalized (clean structure, setup, examples, status)
- Project status documentation now clearly separates stable features vs pending areas
2.0.0 - 2026-03-23 #
Added #
- First-party MIDI module exposed via
package:flutter_notemus/midi.dart MidiMapper.fromStaffandMidiMapper.fromScore- Repeat expansion (
repeatForward,repeatBackward,repeatBoth) with volta filtering - Tuplet, polyphony, and tie-aware event generation
- Metronome track generation synchronized with expanded playback timeline
- Standard MIDI file writer (
MidiFileWriter) - Native backend contract (
MidiNativeAudioBackend) - MethodChannel backend (
MethodChannelMidiNativeAudioBackend) - Native sequence bridge (
MidiNativeSequenceBridge) - PPQ sync API (
setTicksPerQuarter) - Android native plugin implementation (Kotlin + C++)
- Plugin channel setup for iOS, macOS, Linux, and Windows
- Unit tests for MIDI mapping and export
Changed #
- Public API includes MIDI exports via
flutter_notemus.dartandmidi.dart - Native backend state documented (Android active, other platforms stubbed)
