lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ANN: Abjad 2.17


From: josiah oberholtzer
Subject: ANN: Abjad 2.17
Date: Mon, 25 Apr 2016 22:38:48 +0000

Dear friends,

I'm pleased to announce that Abjad 2.17 is now available.

    Abjad is a Python API for Formalized Score Control

    Abjad helps composers build up complex pieces of music notation in an
    iterative and incremental way. Use Abjad to create symbolic
    representations of all the notes, rests, staves, tuplets, beams and slurs
    in any score. Because Abjad extends the Python programming language, you
    can use Abjad to make systematic changes to your music as you work. And
    because Abjad wraps the powerful LilyPond music notation package, you can
    use Abjad to control the typographic details of the symbols on the page.


Details of the new release appear below.

------------

## Improvements:

- Abjad's documentation has seen extensive work, including:

  - a new theme based off of https://github.com/snide/sphinx_rtd_theme
  - crisp SVG Graphviz output for all class lineage graphs
  - expandable image thumbnails
  - a score gallery page showing notation examples from many scores created
  - revised installation instructions
  - virtually all code examples in the docs are now interpreted via the
    `abjad-book` Sphinx extension, guaranteeing correctness
  - many enhancements to Abjad's Sphinx extension
  
- A new `PackageGitCommitToken` class for embedding Python package version
  information in LilyPond files as comments.

- A new `IterationAgent.by_timeline_and_logical_tie()` method.

- A provisional collection of new classes in `lilypondnametools` for
  object-modeling various LilyPond entities: `LilyPondGrob`,
  `LilyPondGrobInterface`, `LilyPondContext` and `LilyPondEngraver`. 

- Abjad now supports PyPy, in addition to Python 2.7 and Python 3.3+.

## Changes:

- Abjad's dependencies have been separated into `standard`, `development` and
  `ipython`. See our installation docs for details.

- Abjad's IPython extension now uses `timidity` instead of `ffmpeg` and
  `fluidsynth` to embed audio output from calls to `play()`. OSX users can
  install `timidity` via HomeBrew.

- `GraphvizEdge.__call__()` has been removed in favor of explicit
  `.attach(node_one, node_two)` and `.detach()` methods.

- `sievetools` functionality has been merged into the classes housed in
  `patterntools`.

- All `labeltools` functionality has been migrated into the
  `agentools.LabelAgent` class.

- `LilyPondFile` properties such as `paper_size`, `includes`, etc. are now
  immutable. Set them during instantiation. See the API example for details:

- `TimeSignature` can now only be instantiated from a pair, such as `(3, 4)`:
  `TimeSignature((3, 4))`.

## Bugfixes:

- `GraphvizGraph` instances can now be copied with edges intact.

- `Markup` now properly quotes strings containing `#` symbols.

------------

For installation instructions, see http://abjad.mbrsi.org/installation.html.

We hope you enjoy!

Trevor Bača 

Josiah Wolf Oberholtzer

reply via email to

[Prev in Thread] Current Thread [Next in Thread]