Expand description
iReal Pro AST types and a zero-dependency JSON debug serializer / parser.
This crate carries the iReal Pro data model plus the
irealb:// URL parser (#2054) and serializer (#2052).
Conversion to/from ChordPro (#2053 / #2061) and the
iReal-style graphical renderer (#2058 et seq) build on this
foundation in their own crates.
See ARCHITECTURE.md (in this crate’s directory) for the design
decisions behind the AST shape, the field/variant choices made up
front to keep the follow-up crates non-breaking, and the open
questions deferred to the parser crate (#2054).
§Dependency policy
Like chordsketch-chordpro, this crate has zero external
dependencies. Mirrors the policy that anchors the core AST in the
standard library so downstream crates inherit a minimal compile
surface and a stable transitive-dep tree.
Re-exports§
pub use ast::Accidental;pub use ast::Bar;pub use ast::BarChord;pub use ast::BarChordKind;pub use ast::BarLine;pub use ast::BeatGrouping;pub use ast::BeatPosition;pub use ast::Chord;pub use ast::ChordQuality;pub use ast::ChordRoot;pub use ast::ChordSize;pub use ast::Ending;pub use ast::IrealSong;pub use ast::JumpTarget;pub use ast::KeyMode;pub use ast::KeySignature;pub use ast::MusicalSymbol;pub use ast::Section;pub use ast::SectionLabel;pub use ast::StaffText;pub use ast::TimeSignature;pub use json::FromJson;pub use json::JsonError;pub use json::JsonValue;pub use json::ToJson;pub use json::parse_json;pub use parser::ParseError;pub use parser::parse;pub use parser::parse_collection;pub use serialize::irealb_serialize;pub use serialize::irealbook_serialize;pub use serialize::serialize_open_protocol;pub use serialize::serialize_open_protocol_collection;
Modules§
- ast
- AST types for an iReal Pro chart.
- json
- Zero-dependency JSON debug serializer.
- parser
irealb://URL parser.- serialize
IrealSong→irealb://URL serializer.
Functions§
- version
- Returns the library version (the workspace
Cargo.tomlversionfield, baked in at compile time).