The toneincontext module

The `toneincontext` module
Antaŭen | Ĉapitro 4. Extending GNU Solfege | Sekven

## The `toneincontext` module

### Averto

This module is still begin worked on. The lesson file format will most likely change in the next releases. Right now the music in the cadences must be a string with complete mpd code. Using music objects will not work now.

Here is a minimal lesson file:

    header {
      module = toneincontext
      version = "3.21.0"
      title = "First 4 scale tones"
      tones = 3, 4
    }

The module has a predefined cadence it will play before the tone. If you define one or more `cadence` blocks with a variable named music containing some mpd parsable music, the program will select one by random. The predefined cadence looks like this:

    cadence {
      music = "\staff\relative g'{ <g e c> <a f c> <g f d b> <g e c> }"
    }

If you don't define the tones variable, the program will let you select tones in the config page of the exercise.

Header variables

`tones`

  list of integers from 0 to 12, representing the tones to ask for. If not defined, the lesson file with be run in a mode where the user can configure most of the settings independent of the lesson file.

`random_tonic`

  Set to `no` if you don't want transposition. Default value is `yes` Possible values:

  `no`

    No transposition. All question in C

  `yes`

    Each new question in a rando key.

  `other`

    Run all questions in a new key each time you start the lessonfile.

`many_octaves = no`

  If set to `yes`, the question will be translated to a random octave.

`tone_in_cadence`

  If set to `yes`, the tone to identify will be played together with the last tone of the cadence. Default value is `no`.

Antaŭen | Supren | Sekven
The `singinterval` module | Hejmen | The `twelvetone` module