abc4j API Specification

abc4j API Specification

This document is the API specification for the abc4j musical library dedicated to the abc musical notation; for more information, please have a look at the official home page for tutorials, wikis, discussion group and so on...

See:
          Description

abc Representation / Parsing Packages
abc.notation This package defines all classes related to tunes in abc notation.
abc.parser This package contains classes for parsing tunes in abc notation.

 

Midi Playback Packages
abc.midi This package contains all classes for midi use from abc format.

 

MusicXML Packages
abc.xml This package contains classes to convert tunes to musicXML format.

 

Scanner Engine Packages
scanner This package contains classes for scanners needed for syntax analysis : a scanner is in charge of retrieving tokens from an input stream.

 

UI Packages
abc.ui.awt This package contains classes for displaying abc related objects in awt UI components.
abc.ui.swing This package contains classes for displaying abc related objects in swing UI components.
Such components are closely linked to music abstractions defined in package abc.notation and propose advanced UI components that take advantage of information offered by objects such as Tune, Tune.Music etc...

 

This document is the API specification for the abc4j musical library dedicated to the abc musical notation; for more information, please have a look at the official home page for tutorials, wikis, discussion group and so on... The abc4j java library provides API to handle ABC musical notation using java (1.2 but core classes only use 1.1.8).
It provides a parser to parse tunes written in ABC notation, and basic other helper classes in order to play them using midi etc etc.
It only supports ABC v1.6 and relies on the BNF definition of the notation.
The purpose is also to define interfaces that can be implemented in order to extend basic capabilities of the library (for instance : improved midi player, musical score display...)
The library also includes a Java Application that demonstrates some of the features of the library : ABCynth.


abc4j API Specification

Submit a bug or feature