Abjad comes with a number of command-line tools which are used outside of the Python interpreter to handle a variety of routine tasks, including:
These tools are grouped as subcommands under the umbrella of Abjad's ajv
script.
Like nearly all command-line tools, written in Python or not, we can pull up documentation about ajv
by calling it with the --help
flag.
Note: The "!
" prefix here tells IPython to run the command not in Python but in Bash.
In [1]:
!ajv --help
The score project layout suggests a particular overall workflow for composing scores:
This workflow is afforded by tools available either directly in your terminal, or implemented as subcommands of ajv
:
In [2]:
!ajv score --help
ajv score --new "My Score" \
--year 2016 \
--composer-name "Jane Doe Composer" \
--composer-email "composer@composer.com" \
--composer-github "jdcomposer" \
--composer-library "my_library" \
--composer-website "composer.com"
cd my_score
pip install -e .
When using the commands ajv material
, ajv segment
and ajv target
, you need to let them know what score you want to operate upon. You can either pass in the name of a score package installed in your system, or you can simply work from within the score package directory itself - ajv
is clever enough to figure out that there's a score there.
To be explicit:
ajv segment --list -s my_score
To be implicit:
cd my_score
ajv segment --list
In [3]:
!ajv material --help
In [4]:
!ajv segment --help
In [6]:
!ajv builds --help
In [ ]: