1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Ĉapitro 4. Extending GNU Solfege</title><link rel="stylesheet" href="../style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="GNU Solfege 3.16.3 Gvidlibro de Uzanto"><link rel="up" href="index.html" title="GNU Solfege 3.16.3 Gvidlibro de Uzanto"><link rel="prev" href="inverting-intervals.html" title="Inverting intervals"><link rel="next" href="lesson-files.html" title="Lesson files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Ĉapitro 4. Extending GNU Solfege</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="inverting-intervals.html">Antaŭen</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="lesson-files.html">Sekven</a></td></tr></table><hr></div><div class="chapter" title="Ĉapitro 4. Extending GNU Solfege"><div class="titlepage"><div><div><h2 class="title"><a name="extending-solfege"></a>Ĉapitro 4. Extending GNU Solfege</h2></div></div></div><div class="toc"><p><b>Enhavo</b></p><dl><dt><span class="sect1"><a href="extending-solfege.html#extending-intro">Introduction</a></span></dt><dt><span class="sect1"><a href="lesson-files.html">Lesson files</a></span></dt><dd><dl><dt><span class="sect2"><a href="lesson-files.html#File-encoding">File encoding</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Useful-characters">Useful unicode characters</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Comments">Comments</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Types">Types</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Global-variables">Global variables</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Lesson-file-contents">Lesson file contents</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Header-block">Header block</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Question-block">Question block</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#music-object"><code class="literal">music</code> objects</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#functions">Functions</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#lf-operators">Operators</a></span></dt></dl></dd><dt><span class="sect1"><a href="chordvoicing-module.html">The <code class="literal">chordvoicing</code> module</a></span></dt><dt><span class="sect1"><a href="compareintervals-module.html">The <code class="literal">compareintervals</code> module</a></span></dt><dt><span class="sect1"><a href="dictation-module.html">The <code class="literal">dictation</code> module</a></span></dt><dt><span class="sect1"><a href="elembuilder-module.html">The <code class="literal">elembuilder</code> module</a></span></dt><dd><dl><dt><span class="sect2"><a href="elembuilder-module.html#elembuilder-element-block">The element block</a></span></dt><dt><span class="sect2"><a href="elembuilder-module.html#elembuilder-header-block">The header block</a></span></dt><dt><span class="sect2"><a href="elembuilder-module.html#elembuilder-question-block">The question block</a></span></dt></dl></dd><dt><span class="sect1"><a href="harmonicinterval-module.html">The <code class="literal">harmonicinterval</code> module</a></span></dt><dt><span class="sect1"><a href="idbyname-module.html">The <code class="literal">idbyname</code> module</a></span></dt><dd><dl><dt><span class="sect2"><a href="idbyname-module.html#id3028516">Question block</a></span></dt></dl></dd><dt><span class="sect1"><a href="identifybpm-module.html">The <code class="literal">identifybpm</code> module</a></span></dt><dt><span class="sect1"><a href="idproperty-module.html">The <code class="literal">idproperty</code> module</a></span></dt><dt><span class="sect1"><a href="idtone-module.html">The <code class="literal">idtone</code> module</a></span></dt><dt><span class="sect1"><a href="melodicinterval-module.html">The <code class="literal">melodicinterval</code> module</a></span></dt><dt><span class="sect1"><a href="nameinterval-module.html">The <code class="literal">nameinterval</code> module</a></span></dt><dt><span class="sect1"><a href="rhythm-module.html">The <code class="literal">rhythm</code> module</a></span></dt><dt><span class="sect1"><a href="rhythmtapping-module.html">The <code class="literal">rhythmtapping</code> module</a></span></dt><dt><span class="sect1"><a href="rhythmtapping2-module.html">The <code class="literal">rhythmtapping2</code> module</a></span></dt><dt><span class="sect1"><a href="singanswer-module.html">The <code class="literal">singanswer</code> module</a></span></dt><dt><span class="sect1"><a href="singchord-module.html">The <code class="literal">singchord</code> module</a></span></dt><dt><span class="sect1"><a href="singinterval-module.html">The <code class="literal">singinterval</code> module</a></span></dt><dt><span class="sect1"><a href="twelvetone-module.html">The <code class="literal">twelvetone</code> module</a></span></dt><dt><span class="sect1"><a href="mpd-module.html">The <code class="literal">mpd</code> module</a></span></dt><dt><span class="sect1"><a href="midi-instrument-names.html">Midi instrument names</a></span></dt><dd><dl><dt><span class="sect2"><a href="midi-instrument-names.html#percussion-instrument-names">Percussion instrument names</a></span></dt></dl></dd></dl></div><div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="extending-intro"></a>Introduction</h2></div></div></div><p>GNU Solfege is written so that it can easily be extended, even if
1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Ĉapitro 4. Extending GNU Solfege</title><link rel="stylesheet" href="../style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="GNU Solfege 3.16.4 Gvidlibro de Uzanto"><link rel="up" href="index.html" title="GNU Solfege 3.16.4 Gvidlibro de Uzanto"><link rel="prev" href="inverting-intervals.html" title="Inverting intervals"><link rel="next" href="lesson-files.html" title="Lesson files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Ĉapitro 4. Extending GNU Solfege</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="inverting-intervals.html">Antaŭen</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="lesson-files.html">Sekven</a></td></tr></table><hr></div><div class="chapter" title="Ĉapitro 4. Extending GNU Solfege"><div class="titlepage"><div><div><h2 class="title"><a name="extending-solfege"></a>Ĉapitro 4. Extending GNU Solfege</h2></div></div></div><div class="toc"><p><b>Enhavo</b></p><dl><dt><span class="sect1"><a href="extending-solfege.html#extending-intro">Introduction</a></span></dt><dt><span class="sect1"><a href="lesson-files.html">Lesson files</a></span></dt><dd><dl><dt><span class="sect2"><a href="lesson-files.html#File-encoding">File encoding</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Useful-characters">Useful unicode characters</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Comments">Comments</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Types">Types</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Global-variables">Global variables</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Lesson-file-contents">Lesson file contents</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Header-block">Header block</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#Question-block">Question block</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#music-object"><code class="literal">music</code> objects</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#functions">Functions</a></span></dt><dt><span class="sect2"><a href="lesson-files.html#lf-operators">Operators</a></span></dt></dl></dd><dt><span class="sect1"><a href="chordvoicing-module.html">The <code class="literal">chordvoicing</code> module</a></span></dt><dt><span class="sect1"><a href="compareintervals-module.html">The <code class="literal">compareintervals</code> module</a></span></dt><dt><span class="sect1"><a href="dictation-module.html">The <code class="literal">dictation</code> module</a></span></dt><dt><span class="sect1"><a href="elembuilder-module.html">The <code class="literal">elembuilder</code> module</a></span></dt><dd><dl><dt><span class="sect2"><a href="elembuilder-module.html#elembuilder-element-block">The element block</a></span></dt><dt><span class="sect2"><a href="elembuilder-module.html#elembuilder-header-block">The header block</a></span></dt><dt><span class="sect2"><a href="elembuilder-module.html#elembuilder-question-block">The question block</a></span></dt></dl></dd><dt><span class="sect1"><a href="harmonicinterval-module.html">The <code class="literal">harmonicinterval</code> module</a></span></dt><dt><span class="sect1"><a href="idbyname-module.html">The <code class="literal">idbyname</code> module</a></span></dt><dd><dl><dt><span class="sect2"><a href="idbyname-module.html#id2880309">Question block</a></span></dt></dl></dd><dt><span class="sect1"><a href="identifybpm-module.html">The <code class="literal">identifybpm</code> module</a></span></dt><dt><span class="sect1"><a href="idproperty-module.html">The <code class="literal">idproperty</code> module</a></span></dt><dt><span class="sect1"><a href="idtone-module.html">The <code class="literal">idtone</code> module</a></span></dt><dt><span class="sect1"><a href="melodicinterval-module.html">The <code class="literal">melodicinterval</code> module</a></span></dt><dt><span class="sect1"><a href="nameinterval-module.html">The <code class="literal">nameinterval</code> module</a></span></dt><dt><span class="sect1"><a href="rhythm-module.html">The <code class="literal">rhythm</code> module</a></span></dt><dt><span class="sect1"><a href="rhythmtapping-module.html">The <code class="literal">rhythmtapping</code> module</a></span></dt><dt><span class="sect1"><a href="rhythmtapping2-module.html">The <code class="literal">rhythmtapping2</code> module</a></span></dt><dt><span class="sect1"><a href="singanswer-module.html">The <code class="literal">singanswer</code> module</a></span></dt><dt><span class="sect1"><a href="singchord-module.html">The <code class="literal">singchord</code> module</a></span></dt><dt><span class="sect1"><a href="singinterval-module.html">The <code class="literal">singinterval</code> module</a></span></dt><dt><span class="sect1"><a href="twelvetone-module.html">The <code class="literal">twelvetone</code> module</a></span></dt><dt><span class="sect1"><a href="mpd-module.html">The <code class="literal">mpd</code> module</a></span></dt><dt><span class="sect1"><a href="midi-instrument-names.html">Midi instrument names</a></span></dt><dd><dl><dt><span class="sect2"><a href="midi-instrument-names.html#percussion-instrument-names">Percussion instrument names</a></span></dt></dl></dd></dl></div><div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="extending-intro"></a>Introduction</h2></div></div></div><p>GNU Solfege is written so that it can easily be extended, even if
2
2
you do not know any computer programming. The steps are:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Create a <a class="link" href="lesson-files.html" title="Lesson files">lesson file</a>
3
3
and save it it in the first directory
4
4
listed when you select <span class="guimenuitem">User Exercises</span> from the