solfege-3.22.2/ 0000755 0001750 0001750 00000000000 12224076521 011405 5 ustar tom tom solfege-3.22.2/solfegedebug.bat 0000644 0001750 0001750 00000001273 12224076514 014535 0 ustar tom tom @echo off
rem GNU Solfege - free eartraining
rem Copyright (C) 2008, 2009 Tom Cato Amundsen
rem
echo PYTHONHOME must not point to locally installed python, for example
echo C:\Python25 or D:\Python25
echo Current value:
echo PYTHONHOME=%PYTHONHOME%
if exist configure.ac goto infomsg
:runsolfege
set GDK_PIXBUF_MODULE_FILE=../../etc/gtk-2.0/gdk-pixbuf.loaders
python.exe solfege --debug
goto end
:infomsg
echo.
echo This script should only be run when installed into the win32 folder
echo or after the generated installer is installed.
echo If you want to run Solfege from the source directory without installing,
echo then you should run runsrcdir.bat
echo.
:end
pause
solfege-3.22.2/Makefile.in 0000644 0001750 0001750 00000024241 12224076514 013457 0 ustar tom tom #
# GNU Solfege - free ear training software
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 Tom Cato Amundsen
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
@SET_MAKE@
export prefix:=@prefix@
export exec_prefix:=@exec_prefix@
export bindir:=@bindir@
export datadir:=@datadir@
export sysconfdir:=@sysconfdir@
export libdir:=@libdir@
export mandir:=@mandir@
export CC:=@CC@
export CFLAGS:=@CFLAGS@
export RSVG:=@RSVG@
export SWIG:=@SWIG@
export SWIG_VERSION:=@SWIG_VERSION@
export LILYPOND:=@LILYPOND@
export LILYPOND_VERSION:=@LILYPOND_VERSION@
export BZR:="@BZR@"
export GS:=@GS@
export XGETTEXT:=@XGETTEXT@
export MAKEINFO:=@MAKEINFO@
export MSGFMT:=@MSGFMT@
export MSGGREP:=@MSGGREP@
export MSGMERGE:=@MSGMERGE@
export XML2PO:=@XML2PO@
export XSLTPROC:=@XSLTPROC@
export STYLESHEET:=@STYLESHEET@
export HAVE_STYLESHEET:=@HAVE_STYLESHEET@
export PYTHON:=@PYTHON@
export PYTHON_VERSION:=@PYTHON_VERSION@
export PYTHON_PREFIX:=@PYTHON_PREFIX@
export PYTHON_INCLUDES:=@PYTHON_INCLUDES@
export PACKAGE:=@PACKAGE@
export MAJOR_VERSION:=@MAJOR_VERSION@
export MINOR_VERSION:=@MINOR_VERSION@
export VERSION:=@VERSION@
export INSTALL:=@INSTALL@
export INSTALL_PROGRAM := ${INSTALL}
export INSTALL_DATA := ${INSTALL} -m 644
export ENABLE_OSS_SOUND := @ENABLE_OSS_SOUND@
export ENABLE_WINMIDI := @ENABLE_WINMIDI@
export ENABLE_TUNER := @ENABLE_TUNER@
export HAVE_FFTW := @HAVE_FFTW@
export LIBS:=@LIBS@
export DISTNAME:=$(PACKAGE)-$(VERSION)
export DISTDIR:=$(PWD)/$(PACKAGE)-$(VERSION)
TARGETS += AUTHORS INSTALL README FAQ INSTALL.win32
installfiles += ui.xml help-menu.xml
.PHONY: all genfiles genlyfiles
# We have this as the default makefile target, because we want the
# generated .ly files to be present before running make with the
# all target to build the images
genfiles: genlyfiles
$(MAKE) all
all:
SUBDIRS := po feta solfege test tools topdocs graphics help exercises
FAQ INSTALL.win32 README INSTALL : topdocs/defs.texi
%: topdocs/%.texi
LC_ALL=C makeinfo -I topdocs --no-split --no-headers --output $(notdir $(basename $<)) $<
dist_files = AUTHORS COPYING INSTALL FAQ INSTALL.win32 \
Makefile.in config.h.in \
README changelog ChangeLog configure configure.ac \
default.config system.rc finn \
install-sh py-compile run-solfege.py.in \
solfege.1 solfege.1.txt \
lessonfile_editor.1.txt \
solfege.desktop solfege.gtkrc solfege.py \
windowsinstaller.iss.in windowsinstaller.iss \
win32-start-solfege.pyw \
solfegedebug.bat \
acinclude.m4 aclocal.m4 \
runsrcdir.bat \
ui.xml \
help-menu.xml \
autopackage/default.apspec.in \
winbuild.sh \
testgtkenv.py testgtkenv.bat \
test.py
include $(patsubst %,%/Makefile,$(SUBDIRS))
-include debian-dir/Makefile
-include debian/Makefile
%.1: %.1.txt
txt2man -r "GNU Solfege @VERSION@" -t Solfege -s 1 $< > $@
# We need solfege/_version.py because solfege imports it at runtime.
solfege.1: solfege.1.txt solfege/_version.py
LANGUAGE=C $(PYTHON) -c "import tools.buildutil; tools.buildutil.create_manpage()" | txt2man -t Solfege -s 1 > $@
rsync-manual: $(foreach lang,$(USER_MANUAL_LANGUAGES),help/$(lang)/one-big-page.html) help/C/one-big-page.html
rm -rf tmp-build
make prefix=`pwd`/tmp-build
make prefix=`pwd`/tmp-build install
for lang in $(USER_MANUAL_LANGUAGES) C; do \
ls tmp-build/share/solfege/help/$$lang/one*.html; \
done
cd tmp-build/share/solfege/help && rsync --delete --rsh=ssh -r . tom@solfege.org:/srv/data/www/docs.solfege.org/www/$(MAJOR_VERSION).$(MINOR_VERSION)
ssh tom@solfege.org "cd /srv/data/www/docs.solfege.org && python mkindex.py"
maintainer-clean: clean
clean:
rm -f $(TARGETS)
rm -f $(clean-files)
rm -f AUTHORS.txt COPYING.txt FAQ.txt README.txt INSTALL.txt INSTALL.win32.txt
# share is created at build time to store .mo files to be used when
# we run the program from the source dir.
rm -rf share
install: all mkinstalldirs install-po install-soundcard install-graphics install-program-files compileall
install-program-files: mkinstalldirs
$(INSTALL_PROGRAM) run-solfege.py $(DESTDIR)/$(bindir)/solfege
$(INSTALL_PROGRAM) run-solfege.py $(DESTDIR)/$(bindir)/solfege
$(INSTALL_DATA) solfege.gtkrc $(DESTDIR)/$(datadir)/$(PACKAGE)
$(INSTALL_DATA) default.config $(DESTDIR)/$(datadir)/$(PACKAGE)
$(INSTALL_DATA) solfege.1 $(DESTDIR)/$(mandir)/man1
$(INSTALL_DATA) system.rc $(DESTDIR)/$(sysconfdir)/$(PACKAGE)
$(INSTALL_DATA) solfege.desktop $(DESTDIR)/$(datadir)/applications/
for ifile in $(installfiles); do \
cp --parents $$ifile $(DESTDIR)/$(datadir)/$(PACKAGE)/; \
done
compileall:
ifneq "$(nopycompile)" "YES"
$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/$(datadir)/$(PACKAGE)/solfege')"
endif
mkinstalldirs:
mkdir -p $(DESTDIR)/$(mandir)/man1
mkdir -p $(DESTDIR)/$(bindir)
mkdir -p $(DESTDIR)/$(datadir)/$(PACKAGE)
mkdir -p $(DESTDIR)/$(sysconfdir)
mkdir -p $(DESTDIR)/$(datadir)/applications/
uninstall: uninstall-po uninstall-soundcard uninstall-graphics
rm $(addprefix $(datadir)/$(PACKAGE)/,$(installfiles))
# delete .pyc files
rm -f $(patsubst %,$(datadir)/$(PACKAGE)/%c,$(filter %.py,$(installfiles)))
# delete .pyo files
rm -f $(patsubst %,$(datadir)/$(PACKAGE)/%o,$(filter %.py,$(installfiles)))
rm $(bindir)/$(PACKAGE)
rmdir $(bindir) || true
rm $(mandir)/man1/solfege.1
rmdir $(mandir)/man1 || true
rmdir $(mandir) || true
rm -f $(datadir)/$(PACKAGE)/solfege.gtkrc
rm -f $(datadir)/$(PACKAGE)/default.config
rm -f $(sysconfdir)/$(PACKAGE)
rm -f $(datadir)/applications/solfege.desktop
rmdir $(datadir)/$(PACKAGE)/feta
rmdir $(datadir)/$(PACKAGE)/exercises/standard/regression-lesson-files
rmdir $(datadir)/$(PACKAGE)/exercises/standard/lesson-files/bin
rmdir $(datadir)/$(PACKAGE)/exercises/standard/lesson-files/share
rmdir $(datadir)/$(PACKAGE)/exercises/standard/lesson-files/include
rmdir $(datadir)/$(PACKAGE)/exercises/standard/lesson-files
rmdir $(datadir)/$(PACKAGE)/exercises/standard
rmdir $(datadir)/$(PACKAGE)/exercises
rmdir $(datadir)/$(PACKAGE)/solfege/mpd
rmdir $(datadir)/$(PACKAGE)/solfege/soundcard
rmdir $(datadir)/$(PACKAGE)/solfege/exercises
rmdir $(datadir)/$(PACKAGE)/solfege
rmdir $(datadir)/$(PACKAGE)/graphics
rm -rf $(datadir)/$(PACKAGE)/help
rmdir $(datadir)/$(PACKAGE)
rmdir $(datadir)/applications || true
rmdir $(datadir)/pixmaps || true
rmdir $(datadir) || true
rmdir $(sysconfdir) || true
rmdir $(libdir) || true
rmdir $(prefix) || true
.PHONY: test
test: xmllint po/solfege.pot
if grep -H -n -e "[Uu]ser'*s manual" po/solfege.pot; then \
echo "Don't write \"users manual\" or \"user's manual\". Always write \"user manual\""; \
exit 10; \
fi
$(PYTHON) test.py
$(PYTHON) tools/po-file-checks.py
test-screenshots:
$(PYTHON) tools/missing-screenshots.py
solfege/_version.py:
$(BZR) version-info --check-clean --python > solfege/_version.py
check-revision-id:
ifndef skip_rev_test
# We force recreating solfege/_version.py here
$(BZR) version-info --check-clean --python > solfege/_version.py
$(PYTHON) tools/test-revision-id.py
endif
prepare-release: check-for-new-po-files check-for-new-manual-po-files update-manual check-revision-id test
dist: po/solfege.pot help/C/solfege.pot
# We cannot add disk_workhorse as a prerequisite to the dist target,
# because it is possible, I think, that dist_workhorse will be executed
# before update-manual
$(MAKE) dist_workhorse
@echo
@echo "To make an official release:"
@echo " * set revision-id and version string in configure.ac and run"
@echo " autoconf && configure"
@echo " * make prepare-release"
@echo " * make dist"
dist_workhorse: all AUTHORS INSTALL README FAQ INSTALL.win32
rm -rf $(DISTNAME)
ifdef BZR
$(BZR) st && $(BZR) log -r 1.. > ChangeLog || true
endif
mkdir $(DISTNAME)
for dfile in $(dist_files); do \
cp --parents $$dfile $(DISTNAME); \
done
# We had to split the dist_files variable in two because
# the list got too long for execvp
for dfile in $(lf_dist_files); do \
cp --parents $$dfile $(DISTNAME); \
done
find $(DISTNAME) | grep "~$$" | xargs rm -f
tar --gzip --create --file=../$(DISTNAME).tar.gz $(DISTNAME)
rm -rf $(DISTNAME)
distclean-files += config.status config.cache config.log \
install-stamp build-stamp \
Makefile \
config.h run-solfege.py \
installer.nsi \
autopackage/default.apspec
distclean: clean
rm -f $(distclean-files)
count_c_lines:
wc --lines $(wildcard soundcard/*.c)
count_lines:
wc --lines $(wildcard solfege/mpd/*.py solfege/soundcard/*.py solfege/*.py)
@echo "Counted python files"
winbuild:
$(PYTHON) -c "file('AUTHORS.txt', 'w').write(file('AUTHORS', 'rU').read())"
$(PYTHON) -c "file('COPYING.txt', 'w').write(file('COPYING', 'rU').read())"
$(PYTHON) -c "file('FAQ.txt', 'w').write(file('FAQ', 'rU').read())"
$(PYTHON) -c "file('README.txt', 'w').write(file('README', 'rU').read())"
$(PYTHON) -c "file('INSTALL.txt', 'w').write(file('INSTALL', 'rU').read())"
$(PYTHON) -c "file('INSTALL.win32.txt', 'w').write(file('INSTALL.win32', 'rU').read())"
solfege/languages.py: $(wildcard po/*.po) tools/buildutil.py
$(PYTHON) -c "import tools.buildutil; tools.buildutil.create_languages_py()"
TARGETS += solfege/languages.py
all: $(TARGETS) solfege.1
.PHONY: help
help:
@echo "set skip_rev_test=yes if you need to skip the bzr revid test"
@echo "set skipmanual=yes Don't rebuild the music theory images"
@echo "make po-update Update po/solfege.pot and msgmerge with po/*.po"
@echo "make manual-po-update Update help/*/solfege.pot and msgmerge with help/*/*.po"
@echo "make update-manual Rebuild the manual, requiring xml2po etc."
@echo "make test-screenshots See which screenshots are missing in the user manual"
@echo "make help Display this message."
@echo "help/C/one-big-page.html Make documentation in on big html file."
solfege-3.22.2/run-solfege.py.in 0000644 0001750 0001750 00000004506 12224076514 014621 0 ustar tom tom #!@PYTHON@
# vim: set fileencoding=utf-8 :
# @configure_input@
#
# GNU Solfege - free ear training software
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2011 Tom Cato Amundsen
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
from __future__ import absolute_import
import __builtin__
import time
__builtin__.start_time = time.time()
import sys
import os
prefix = os.path.split(os.path.dirname(os.path.abspath(sys.argv[0])))[0]
if sys.platform == 'win32':
s = os.path.normpath(prefix)
os.environ['PATH']=r"%s;%s\bin;%s\lib" % (s, s, s)
# Had to add this to make it work for people running solfege
# from within directories with non-ascii file names.
# Also, this had to be done after we set the environment
# variables. Example dir: Gehör
prefix = prefix.decode(sys.getfilesystemencoding())
os.chdir(os.path.join(prefix, "share", "solfege"))
sys.path.insert(1, os.path.join(prefix, "lib", "solfege"))
sys.path.insert(1, os.path.join(prefix, "share", "solfege"))
from solfege import cfg
from solfege import filesystem
# For future reference:
# The migration code to %APPDATA% on MS Windows that is in
# solfege.py is not necessary here because this file is only used on
# linux.
if prefix == "/usr":
sysconf = "/etc/solfege"
else:
sysconf = os.path.join(prefix, "etc", "solfege")
from solfege import presetup
presetup.presetup(os.path.join(prefix, "share", "solfege", "default.config"),
sysconf, filesystem.rcfile())
# i18n should be imported very early in program init because it setup
# the _ and _i functions for the whole program.
from solfege import i18n
i18n.setup(prefix, cfg.get_string("app/lc_messages"))
import solfege.startup
solfege.startup.start_app(os.path.join(prefix, "share", "solfege"))
solfege-3.22.2/AUTHORS 0000644 0001750 0001750 00000006021 12224076514 012456 0 ustar tom tom 1 AUTHORS - who wrote what on GNU Solfege?
******************************************
* Jan Baumgart (Folkwang Universitaet der Kuenste)
Wrote the initial version of the solmisation module.
* Davide Bonetti
Scale lesson files and a document about scales.
* Tom Eykens
Updated nl.po and translated the user's manual.
* Etienne Bourrez
Translated the users manual and fr.po
* Thibaut Cousin
Spec file for SuSE 8.2.
* Michael Becker
Two lessonfiles: volkslieder1 and volkslieder2
* Olivier Ahn
Small update to fr.po
* Daniel Tonda Castillo
Updated `es.po' file and added `es_MX.po'. Compiled binaries for
RedHat 8.0. Testing and bugreporting.
* David Asorey lvares and Diego Duchowney
Spannish translations.
* David Coe
Rpm spec file cleanup. Made it more portable and let us junk
create_fileslist.py.
* David Petrou
Testing and portability fixes for FreeBSD
* Michael Shigorin
Russian translations.
* Keld Simonsen
Danish translations.
* Steve Lee
Ported `winmidi.c' to gcc.
* Joe Lee
Wrote `winsynth.py' and `winmidi.c' that talk to the soundcard on
MS Windows.
* F(r)eddy SpierenBU(r)G
Dutch translations.
* Fabio Checconi
The dsp code are borrowed from Fabio Checconi's GPL'ed guituner
program. The `fft.c' file was originally written by Richard
Boulton and Ralph Loader
, but almost completely rewritten by Checconi.
* Giovanni Chierico
Some lessonfiles.
* Jean Orloff
French translations.
* Mauro Colorio
Italian translations.
* Oliver Vollmer
Toolbar icons, testing, comments, lots of bug reports and feedback,
german translations. He made the first rpm spec file and has
helped to improve it.
* GNU Lilypond authors
The pixmaps used to display music is generated from the feta font
used by GNU Lilypond, copyright Han-Wen Nienhuys, Jan Nieuwenhuizen
and others. Lilypond is the GNU project music typesetter, if you
want high quality music typesetting, check it out at
`http://www.lilypond.org'. Only the generated pixmaps for the font
are included in GNU Solfege, you should check the source tarball
for GNU Lilypond for the source code. This because GNU Solfege
only use a few of the fonts and I had to to some manual tweaking
to use the fonts. I got permission to do this from Han-Wen
Nienhuys.
* Jan Baumgart (Folkwang Universitaet der Kuenste)
The solmisation exercise module.
* Tom Cato Amundsen
Main author.
solfege-3.22.2/system.rc 0000644 0001750 0001750 00000000376 12224076514 013267 0 ustar tom tom # For Solfege versions X.Y.Z, this file get installed as
# /etc/solfegeX.Y
#
# Sys admin can override app defaults set in the file
# /usr/share/solfege/X.Y.Z/default.config
# (in debian packages the file is named
# /usr/share/solfege/default.config
solfege-3.22.2/exercises/ 0000755 0001750 0001750 00000000000 12224076521 013377 5 ustar tom tom solfege-3.22.2/exercises/Makefile 0000644 0001750 0001750 00000000106 12224076521 015034 0 ustar tom tom
dist_files += exercises/Makefile
include exercises/standard/Makefile
solfege-3.22.2/exercises/standard/ 0000755 0001750 0001750 00000000000 12224076523 015201 5 ustar tom tom solfege-3.22.2/exercises/standard/Makefile 0000644 0001750 0001750 00000002157 12224076521 016644 0 ustar tom tom # vim: set noexpandtab:
#
# GNU Solfege - free ear training software
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2011 Tom Cato Amundsen
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
installfiles += $(wildcard exercises/standard/*.txt)
dist_files += $(wildcard exercises/standard/*.txt) exercises/standard/Makefile
installfiles += $(wildcard exercises/standard/lib/*)
dist_files += $(wildcard exercises/standard/lib/*)
include exercises/standard/lesson-files/Makefile
include exercises/standard/regression-lesson-files/Makefile
solfege-3.22.2/exercises/standard/lib/ 0000755 0001750 0001750 00000000000 12224076521 015745 5 ustar tom tom solfege-3.22.2/exercises/standard/lib/jazz_progressions 0000644 0001750 0001750 00000002320 12224076521 021460 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2006 Tom Cato Amundsen
# License is GPL, see file COPYING
element I { label = rnc("I") }
element Im7 { label = rnc("Im7") }
element Imaj7 { label = rnc("Imaj7") }
element II { label = rnc("II") }
element IIm7 { label = rnc("IIm7") }
element IIm7b5 { label = rnc("IIm7b5") }
element II7 { label = rnc("II7") }
element bIIImaj7 { label = rnc("bIIImaj7") }
element III { label = rnc("III") }
element IIIm7 { label = rnc("III7") }
element III7 { label = rnc("III7") }
element IV { label = rnc("IV") }
element IVm7 { label = rnc("IVm7") }
element IVmaj7 { label = rnc("IVmaj7")}
element IV_6 { label = progressionlabel("IV(6)") }
element V { label = rnc("V") }
element V7 { label = rnc("V7") }
element Vm7 { label = rnc("Vm7") }
element Vts { label = pangomarkup("""Vts""") }
element VtsParen { label = pangomarkup("""[Vts]""") }
element V_6 { label = progressionlabel("V(6)") }
element V9 { label = rnc("V9") }
element V13 { label = rnc("V13") }
element VI { label = rnc("VI") }
element VIm7 { label = rnc("VIm7") }
element VI7 { label = rnc("VI7") }
solfege-3.22.2/exercises/standard/lib/progression_elements 0000644 0001750 0001750 00000001124 12224076521 022134 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2006, 2012 Tom Cato Amundsen
# License is GPL, see file COPYING
element I { label = progressionlabel("I") }
element II { label = progressionlabel("II") }
element III { label = progressionlabel("III") }
element IV { label = progressionlabel("IV") }
element IV_6 { label = progressionlabel("IV(6)") }
element V { label = progressionlabel("V") }
element Vts { label = progressionlabel("Vts") }
element VtsParen { label = progressionlabel("[Vts]") }
element V_6 { label = progressionlabel("V(6)") }
element VI { label = progressionlabel("VI") }
solfege-3.22.2/exercises/standard/csound-tree.txt 0000644 0001750 0001750 00000045642 12224076521 020203 0 ustar tom tom FileHeader(1,
Page(_(u'Experimental CSound exercises'), [
Column([
LinkList(_(u'Melodic intervals'), [
Page(_(u'Minor Second'), [
Column([
LinkList(_(u'Minor Second'), [
u'solfege:lesson-files/csound-intonation-min2-40cent',
u'solfege:lesson-files/csound-intonation-min2-30cent',
u'solfege:lesson-files/csound-intonation-min2-20cent',
u'solfege:lesson-files/csound-intonation-min2-15cent',
u'solfege:lesson-files/csound-intonation-min2-10cent',
u'solfege:lesson-files/csound-intonation-min2-8cent',
u'solfege:lesson-files/csound-intonation-min2-6cent',
u'solfege:lesson-files/csound-intonation-min2-5cent',
]),
]),
]),
Page(_(u'Major Second'), [
Column([
LinkList(_(u'Major Second'), [
u'solfege:lesson-files/csound-intonation-maj2-40cent',
u'solfege:lesson-files/csound-intonation-maj2-30cent',
u'solfege:lesson-files/csound-intonation-maj2-20cent',
u'solfege:lesson-files/csound-intonation-maj2-15cent',
u'solfege:lesson-files/csound-intonation-maj2-10cent',
u'solfege:lesson-files/csound-intonation-maj2-8cent',
u'solfege:lesson-files/csound-intonation-maj2-6cent',
u'solfege:lesson-files/csound-intonation-maj2-5cent',
]),
]),
]),
Page(_(u'Minor Third'), [
Column([
LinkList(_(u'Minor Third'), [
u'solfege:lesson-files/csound-intonation-min3-40cent',
u'solfege:lesson-files/csound-intonation-min3-30cent',
u'solfege:lesson-files/csound-intonation-min3-20cent',
u'solfege:lesson-files/csound-intonation-min3-15cent',
u'solfege:lesson-files/csound-intonation-min3-10cent',
u'solfege:lesson-files/csound-intonation-min3-8cent',
u'solfege:lesson-files/csound-intonation-min3-6cent',
u'solfege:lesson-files/csound-intonation-min3-5cent',
]),
]),
]),
Page(_(u'Major Third'), [
Column([
LinkList(_(u'Major Third'), [
u'solfege:lesson-files/csound-intonation-maj3-40cent',
u'solfege:lesson-files/csound-intonation-maj3-30cent',
u'solfege:lesson-files/csound-intonation-maj3-20cent',
u'solfege:lesson-files/csound-intonation-maj3-15cent',
u'solfege:lesson-files/csound-intonation-maj3-10cent',
u'solfege:lesson-files/csound-intonation-maj3-8cent',
u'solfege:lesson-files/csound-intonation-maj3-6cent',
u'solfege:lesson-files/csound-intonation-maj3-5cent',
]),
]),
]),
Page(_(u'Perfect Fourth'), [
Column([
LinkList(_(u'Perfect Fourth'), [
u'solfege:lesson-files/csound-intonation-p4-40cent',
u'solfege:lesson-files/csound-intonation-p4-30cent',
u'solfege:lesson-files/csound-intonation-p4-20cent',
u'solfege:lesson-files/csound-intonation-p4-15cent',
u'solfege:lesson-files/csound-intonation-p4-10cent',
u'solfege:lesson-files/csound-intonation-p4-8cent',
u'solfege:lesson-files/csound-intonation-p4-6cent',
u'solfege:lesson-files/csound-intonation-p4-5cent',
]),
]),
]),
Page(_(u'Perfect Fifth'), [
Column([
LinkList(_(u'Perfect Fifth'), [
u'solfege:lesson-files/csound-intonation-p5-40cent',
u'solfege:lesson-files/csound-intonation-p5-30cent',
u'solfege:lesson-files/csound-intonation-p5-20cent',
u'solfege:lesson-files/csound-intonation-p5-15cent',
u'solfege:lesson-files/csound-intonation-p5-10cent',
u'solfege:lesson-files/csound-intonation-p5-8cent',
u'solfege:lesson-files/csound-intonation-p5-6cent',
u'solfege:lesson-files/csound-intonation-p5-5cent',
]),
]),
]),
Page(_(u'Minor Sixth'), [
Column([
LinkList(_(u'Minor Sixth'), [
u'solfege:lesson-files/csound-intonation-min6-40cent',
u'solfege:lesson-files/csound-intonation-min6-30cent',
u'solfege:lesson-files/csound-intonation-min6-20cent',
u'solfege:lesson-files/csound-intonation-min6-15cent',
u'solfege:lesson-files/csound-intonation-min6-10cent',
u'solfege:lesson-files/csound-intonation-min6-8cent',
u'solfege:lesson-files/csound-intonation-min6-6cent',
u'solfege:lesson-files/csound-intonation-min6-5cent',
]),
]),
]),
Page(_(u'Major Sixth'), [
Column([
LinkList(_(u'Major Sixth'), [
u'solfege:lesson-files/csound-intonation-maj6-40cent',
u'solfege:lesson-files/csound-intonation-maj6-30cent',
u'solfege:lesson-files/csound-intonation-maj6-20cent',
u'solfege:lesson-files/csound-intonation-maj6-15cent',
u'solfege:lesson-files/csound-intonation-maj6-10cent',
u'solfege:lesson-files/csound-intonation-maj6-8cent',
u'solfege:lesson-files/csound-intonation-maj6-6cent',
u'solfege:lesson-files/csound-intonation-maj6-5cent',
]),
]),
]),
Page(_(u'Minor Seventh'), [
Column([
LinkList(_(u'Minor Seventh'), [
u'solfege:lesson-files/csound-intonation-min7-40cent',
u'solfege:lesson-files/csound-intonation-min7-30cent',
u'solfege:lesson-files/csound-intonation-min7-20cent',
u'solfege:lesson-files/csound-intonation-min7-15cent',
u'solfege:lesson-files/csound-intonation-min7-10cent',
u'solfege:lesson-files/csound-intonation-min7-8cent',
u'solfege:lesson-files/csound-intonation-min7-6cent',
u'solfege:lesson-files/csound-intonation-min7-5cent',
]),
]),
]),
Page(_(u'Major Seventh'), [
Column([
LinkList(_(u'Major Seventh'), [
u'solfege:lesson-files/csound-intonation-maj7-40cent',
u'solfege:lesson-files/csound-intonation-maj7-30cent',
u'solfege:lesson-files/csound-intonation-maj7-20cent',
u'solfege:lesson-files/csound-intonation-maj7-15cent',
u'solfege:lesson-files/csound-intonation-maj7-10cent',
u'solfege:lesson-files/csound-intonation-maj7-8cent',
u'solfege:lesson-files/csound-intonation-maj7-6cent',
u'solfege:lesson-files/csound-intonation-maj7-5cent',
]),
]),
]),
Page(_(u'Perfect Octave'), [
Column([
LinkList(_(u'Perfect Octave'), [
u'solfege:lesson-files/csound-intonation-p8-40cent',
u'solfege:lesson-files/csound-intonation-p8-30cent',
u'solfege:lesson-files/csound-intonation-p8-20cent',
u'solfege:lesson-files/csound-intonation-p8-15cent',
u'solfege:lesson-files/csound-intonation-p8-10cent',
u'solfege:lesson-files/csound-intonation-p8-8cent',
u'solfege:lesson-files/csound-intonation-p8-6cent',
u'solfege:lesson-files/csound-intonation-p8-5cent',
]),
]),
]),
Page(_(u'Minor Ninth'), [
Column([
LinkList(_(u'Minor Ninth'), [
u'solfege:lesson-files/csound-intonation-min9-40cent',
u'solfege:lesson-files/csound-intonation-min9-30cent',
u'solfege:lesson-files/csound-intonation-min9-20cent',
u'solfege:lesson-files/csound-intonation-min9-15cent',
u'solfege:lesson-files/csound-intonation-min9-10cent',
u'solfege:lesson-files/csound-intonation-min9-8cent',
u'solfege:lesson-files/csound-intonation-min9-6cent',
u'solfege:lesson-files/csound-intonation-min9-5cent',
]),
]),
]),
Page(_(u'Major Ninth'), [
Column([
LinkList(_(u'Major Ninth'), [
u'solfege:lesson-files/csound-intonation-maj9-40cent',
u'solfege:lesson-files/csound-intonation-maj9-30cent',
u'solfege:lesson-files/csound-intonation-maj9-20cent',
u'solfege:lesson-files/csound-intonation-maj9-15cent',
u'solfege:lesson-files/csound-intonation-maj9-10cent',
u'solfege:lesson-files/csound-intonation-maj9-8cent',
u'solfege:lesson-files/csound-intonation-maj9-6cent',
u'solfege:lesson-files/csound-intonation-maj9-5cent',
]),
]),
]),
Page(_(u'Minor Tenth'), [
Column([
LinkList(_(u'Minor Tenth'), [
u'solfege:lesson-files/csound-intonation-min10-40cent',
u'solfege:lesson-files/csound-intonation-min10-30cent',
u'solfege:lesson-files/csound-intonation-min10-20cent',
u'solfege:lesson-files/csound-intonation-min10-15cent',
u'solfege:lesson-files/csound-intonation-min10-10cent',
u'solfege:lesson-files/csound-intonation-min10-8cent',
u'solfege:lesson-files/csound-intonation-min10-6cent',
u'solfege:lesson-files/csound-intonation-min10-5cent',
]),
]),
]),
Page(_(u'Major Tenth'), [
Column([
LinkList(_(u'Major Tenth'), [
u'solfege:lesson-files/csound-intonation-maj10-40cent',
u'solfege:lesson-files/csound-intonation-maj10-30cent',
u'solfege:lesson-files/csound-intonation-maj10-20cent',
u'solfege:lesson-files/csound-intonation-maj10-15cent',
u'solfege:lesson-files/csound-intonation-maj10-10cent',
u'solfege:lesson-files/csound-intonation-maj10-8cent',
u'solfege:lesson-files/csound-intonation-maj10-6cent',
u'solfege:lesson-files/csound-intonation-maj10-5cent',
]),
]),
]),
]),
]),
Column([
LinkList(_(u'Harmonic intervals'), [
Page(_(u'Minor Second'), [
Column([
LinkList(_(u'Minor Second'), [
u'solfege:lesson-files/csound-intonation-harmonic-min2-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-min2-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-min2-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-min2-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-min2-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-min2-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-min2-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-min2-5cent',
]),
]),
]),
Page(_(u'Major Second'), [
Column([
LinkList(_(u'Major Second'), [
u'solfege:lesson-files/csound-intonation-harmonic-maj2-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj2-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj2-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj2-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj2-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj2-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj2-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj2-5cent',
]),
]),
]),
Page(_(u'Minor Third'), [
Column([
LinkList(_(u'Minor Third'), [
u'solfege:lesson-files/csound-intonation-harmonic-min3-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-min3-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-min3-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-min3-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-min3-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-min3-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-min3-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-min3-5cent',
]),
]),
]),
Page(_(u'Major Third'), [
Column([
LinkList(_(u'Major Third'), [
u'solfege:lesson-files/csound-intonation-harmonic-maj3-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj3-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj3-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj3-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj3-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj3-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj3-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj3-5cent',
]),
]),
]),
Page(_(u'Perfect Fourth'), [
Column([
LinkList(_(u'Perfect Fourth'), [
u'solfege:lesson-files/csound-intonation-harmonic-p4-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-p4-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-p4-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-p4-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-p4-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-p4-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-p4-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-p4-5cent',
]),
]),
]),
Page(_(u'Perfect Fifth'), [
Column([
LinkList(_(u'Perfect Fifth'), [
u'solfege:lesson-files/csound-intonation-harmonic-p5-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-p5-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-p5-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-p5-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-p5-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-p5-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-p5-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-p5-5cent',
]),
]),
]),
Page(_(u'Minor Sixth'), [
Column([
LinkList(_(u'Minor Sixth'), [
u'solfege:lesson-files/csound-intonation-harmonic-min6-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-min6-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-min6-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-min6-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-min6-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-min6-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-min6-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-min6-5cent',
]),
]),
]),
Page(_(u'Major Sixth'), [
Column([
LinkList(_(u'Major Sixth'), [
u'solfege:lesson-files/csound-intonation-harmonic-maj6-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj6-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj6-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj6-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj6-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj6-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj6-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj6-5cent',
]),
]),
]),
Page(_(u'Minor Seventh'), [
Column([
LinkList(_(u'Minor Seventh'), [
u'solfege:lesson-files/csound-intonation-harmonic-min7-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-min7-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-min7-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-min7-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-min7-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-min7-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-min7-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-min7-5cent',
]),
]),
]),
Page(_(u'Major Seventh'), [
Column([
LinkList(_(u'Major Seventh'), [
u'solfege:lesson-files/csound-intonation-harmonic-maj7-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj7-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj7-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj7-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj7-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj7-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj7-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj7-5cent',
]),
]),
]),
Page(_(u'Perfect Octave'), [
Column([
LinkList(_(u'Perfect Octave'), [
u'solfege:lesson-files/csound-intonation-harmonic-p8-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-p8-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-p8-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-p8-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-p8-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-p8-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-p8-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-p8-5cent',
]),
]),
]),
Page(_(u'Minor Ninth'), [
Column([
LinkList(_(u'Minor Ninth'), [
u'solfege:lesson-files/csound-intonation-harmonic-min9-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-min9-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-min9-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-min9-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-min9-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-min9-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-min9-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-min9-5cent',
]),
]),
]),
Page(_(u'Major Ninth'), [
Column([
LinkList(_(u'Major Ninth'), [
u'solfege:lesson-files/csound-intonation-harmonic-maj9-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj9-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj9-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj9-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj9-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj9-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj9-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj9-5cent',
]),
]),
]),
Page(_(u'Minor Tenth'), [
Column([
LinkList(_(u'Minor Tenth'), [
u'solfege:lesson-files/csound-intonation-harmonic-min10-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-min10-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-min10-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-min10-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-min10-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-min10-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-min10-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-min10-5cent',
]),
]),
]),
Page(_(u'Major Tenth'), [
Column([
LinkList(_(u'Major Tenth'), [
u'solfege:lesson-files/csound-intonation-harmonic-maj10-40cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj10-30cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj10-20cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj10-15cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj10-10cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj10-8cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj10-6cent',
u'solfege:lesson-files/csound-intonation-harmonic-maj10-5cent',
]),
]),
]),
]),
]),
]),
)
solfege-3.22.2/exercises/standard/regression-lesson-files/ 0000755 0001750 0001750 00000000000 12224076523 021762 5 ustar tom tom solfege-3.22.2/exercises/standard/regression-lesson-files/xx-singchord-exceptions 0000644 0001750 0001750 00000001215 12224076523 026500 0 ustar tom tom header {
module = singchord
title = "singchord mpd errors"
lesson_id = "singchord-module-exceptions"
have_repeat_slowly_button = yes
}
question {
name = "satb: c'' | e' | g | c"
music = satb("c'' | e' | g | c")
}
question {
name = "satb: |||"
music = satb("|||")
}
question {
name = "satb: c | > | |"
music = satb(" c | > | |")
}
question {
name = "satb: c'' | g' | error | c"
music = satb("c'' | g' | error | c")
}
question {
name = "satb: c'' | g' |
ER | c"
music = satb("c'' | g' |
ER | c")
}
question {
name = "satb: |dfd"
music = satb(" |dfd")
}
question {
name = "satb: | | |}"
music = satb(" | | |}")
}
solfege-3.22.2/exercises/standard/regression-lesson-files/idbyname-at_question_start-1 0000644 0001750 0001750 00000000615 12224076523 027403 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "d0bdddf6-563c-4f74-81e1-e91ef1b0bb6a"
module = idbyname
title = "at__question__start=play"
at_question_start=play
}
question {
name = "A"
music = rvoice("c d e")
}
question {
name= "B"
music = rvoice(" c e g")
}
solfege-3.22.2/exercises/standard/regression-lesson-files/elembuilder-scale-3 0000644 0001750 0001750 00000001236 12224076523 025425 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2006 Tom Cato Amundsen
# License is GPL, see file COPYING
element whole { label = "Whole" }
element half { label = "Half" }
header {
lesson_id = "62aa929a-e12d-41bd-a82f-dba35cff0d50"
module = elembuilder
title = "Build scales, (at__question__start = show, play)"
elements = auto
lesson_heading = "Build the scale"
at_question_start = show, play
}
question {
name = "Dur"
elements = whole, whole, half, whole, whole, whole, half
music = rvoice("c d e f g a b c")
}
question {
name = "Dorian"
elements = whole, half, whole, whole, whole, half, whole
music = rvoice("d e f g a b c d")
}
solfege-3.22.2/exercises/standard/regression-lesson-files/singanswer-missing-question_text 0000644 0001750 0001750 00000000650 12224076523 030446 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2006 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "ea58f3c8-cf54-46b3-8d41-bb60c666d019"
module = singanswer
title = "1 of 2 questions has a missing question_text variable"
}
question {
question_text = "Sing the third."
music = rvoice("c e g")
answer = chord("e")
}
question {
music = rvoice("c e g")
answer = chord("e")
}
solfege-3.22.2/exercises/standard/regression-lesson-files/rvoice 0000644 0001750 0001750 00000001556 12224076523 023203 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "c54bcd09-a77f-473a-9a9e-e152ae165e45"
module = idbyname
random_transpose = no
title = "rvoice"
description = """
Use this file to check that entering music with rvoice get the
correct octave."""
have_repeat_slowly_button = yes
have_music_displayer = yes
}
tempo = 240/4
question {
name = "The notes c' d' e' f' g'"
music = music("c'4 d e f g", rvoice)
}
question {
name = "The notes c'' d'' e'' f'' g''"
music = music("c''4 d e f g", rvoice)
}
question {
name = "The notes c d e f g"
music = music("\clef bass c d e f g", rvoice)
}
question {
name = "only a bass clef"
music = music("\clef bass", rvoice)
}
question {
name = "first note is a chord"
music = rvoice(" ")
}
solfege-3.22.2/exercises/standard/regression-lesson-files/xx-chordvoicing-exceptions 0000644 0001750 0001750 00000002024 12224076523 027175 0 ustar tom tom header {
module = chordvoicing
title = "chordvoicing mpd errors"
lesson_id = "chordvoicing-module-exceptions"
have_repeat_slowly_button = yes
}
question {
name = "chord: c e g"
music = chord("c e g")
}
question {
name = "chord: c > e g"
music = chord("c > e g")
}
question {
name = "chord: <"
music = chord("<")
}
question {
name = "chord: c ERR g"
music = chord("c ERR g")
}
question {
name = "chord: \c e g"
music = chord("\c e g")
}
question {
name = "chord: \clef noclefsaadlj c e "
music = chord("\clef noclefsaadlj c e ")
}
question {
name = "chord: {"
music = chord("{")
}
question {
name = "satb: |||"
music = satb("|||")
}
question {
name = "satb: c | > | |"
music = satb(" c | > | |")
}
question {
name = "satb: c'' | g' | error | c"
music = satb("c'' | g' | error | c")
}
question {
name = "satb: c'' | g' |
ER | c"
music = satb("c'' | g' |
ER | c")
}
question {
name = "satb: |dfd"
music = satb(" |dfd")
}
question {
name = "satb: | | |}"
music = satb(" | | |}")
}
solfege-3.22.2/exercises/standard/regression-lesson-files/Makefile 0000644 0001750 0001750 00000002552 12224076523 023426 0 ustar tom tom # vim: set noexpandtab:
#
# GNU Solfege - free ear training software
# Copyright (C) 2004, 2007, 2008, 2011 Tom Cato Amundsen
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
installfiles += $(filter-out \
exercises/standard/regression-lesson-files/Makefile \
exercises/standard/regression-lesson-files/share, \
$(wildcard exercises/standard/regression-lesson-files/* \
exercises/standard/regressions-lesson-files/share/*))
lf_dist_files += $(filter-out exercises/standard/regression-lesson-files/share, \
$(wildcard exercises/standard/regression-lesson-files/* \
exercises/standard/regression-lesson-files/share/*))
.PHONY: gen-regression-lessonfiles
gen-regression-lessonfiles:
$(PYTHON) tools/gen_regression_lessonfiles.py
all: gen-regression-lessonfiles
solfege-3.22.2/exercises/standard/regression-lesson-files/xx-idbyname-exceptions 0000644 0001750 0001750 00000006204 12224076523 026313 0 ustar tom tom header {
module = idbyname
title = "idbyname mpd errors"
lesson_id = "idbyname-module-exceptions"
have_repeat_slowly_button = yes
filldir = horiz
fillnum = 4
}
question {
name = "voice: c d e"
music = voice("c d e")
}
question {
name = "voice: < c"
music = voice("< c")
}
question {
name = "voice: 3c EX d"
music = voice("3c EX d")
}
question {
name = "voice: *"
music = voice("*")
}
question {
name = "voice: \time 3\4 c d"
music = voice("\time 3\4 c d")
}
question {
name = "voice: \time 3/x c d"
music = voice("\time 3/x c d")
}
question {
name = "voice: c \time 3\4 c d"
music = voice("c \time 3\4 c d")
}
question {
name = "voice: c4 \times 3/2{ c \times 4/6 { c e } }"
music = voice("c4 \times 3/2{ c \times 4/6 { c e } }")
}
question {
name = "voice: c4. c."
music = voice("c4. c.")
}
question {
name = "voice: c4 { jo "
music = voice("c4 { jo ")
}
question {
name = "voice: c4 >d < e }"
music = voice("c4 >d < e }")
}
question {
name = "voice: c4 d < e }")
}
question {
name = "rvoice: c4 e g")
}
question {
name = "chord: <"
music = chord("<")
}
question {
name = "chord: c ERR g"
music = chord("c ERR g")
}
question {
name = "chord: \c e g"
music = chord("\c e g")
}
question {
name = "chord: \clef noclefsaadlj c e "
music = chord("\clef noclefsaadlj c e ")
}
question {
name = "chord: {"
music = chord("{")
}
question {
name = "music: \staff{}
\staff()
\staff"
music = music("\staff{}
\staff()
\staff")
}
question {
name = "music: \addvoice{ c
e g}
\staff{ x
y x}"
music = music("\addvoice{ c
e g}
\staff{ x
y x}")
}
question {
name = "music: clkfja slkdfj"
music = music("clkfja slkdfj")
}
question {
name = "music: \staff{ \clef ERROR c"
music = music("\staff{ \clef ERROR c")
}
question {
name = "music: \staff{ \clef ERROR
c"
music = music("\staff{ \clef ERROR
c")
}
question {
name = "music: \staff{ \clef
ERROR
c"
music = music("\staff{ \clef
ERROR
c")
}
question {
name = "music: \staff{ c < }"
music = music("\staff{ c < }")
}
question {
name = "music: }"
music = music("}")
}
solfege-3.22.2/exercises/standard/regression-lesson-files/idbyname-syntax-error-1 0000644 0001750 0001750 00000000502 12224076523 026303 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "31bcb116-a6fa-4a1b-ba8d-ac2e49cb3f52"
module = idbyname
title = "Syntax error. Extra curly brace after header block"
at_question_start=play
}
}
solfege-3.22.2/exercises/standard/regression-lesson-files/idbyname-syntax-error-2 0000644 0001750 0001750 00000000441 12224076523 026306 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "4269ebfd-e620-4cf9-a6ef-b913e1ffb2a2"
module = idbyname
title = "Syntax error. a)"
at_question_start=play
}
a)
solfege-3.22.2/exercises/standard/regression-lesson-files/nameinterval-constraints 0000644 0001750 0001750 00000000504 12224076523 026736 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2006 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "56928553-18ac-4402-9953-ca8e4e25c0ee"
module = nameinterval
title = "Too small range of tones to be able to construct intervals."
intervals = p5, a5, d5
tones = "c", "d"
}
solfege-3.22.2/exercises/standard/regression-lesson-files/transpose-accidentals 0000644 0001750 0001750 00000001123 12224076523 026170 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2000, 2001, 2002, 2003, 2004 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "7a7d69a6-9fdf-4cb1-a6fc-e176d49f0eda"
module = idbyname
random_transpose = accidentals, -1, 1
title = "rvoice"
description = """
"""
have_repeat_slowly_button = yes
have_music_displayer = yes
}
tempo = 240/4
question {
name = "The notes c' d' e' f' g'"
music = music("c'4 d e f g", rvoice)
}
question {
name = "The music: key d \major d' e' fis'"
key = "d \major"
music = music("\key d \major d' e fis", rvoice)
}
solfege-3.22.2/exercises/standard/regression-lesson-files/nameinterval-bad-tones-header-var 0000644 0001750 0001750 00000000436 12224076523 030263 0 ustar tom tom # Solfege - ear training for GNOME
# Copyright (C) 2006 Tom Cato Amundsen
# License is GPL, see file COPYING
header {
lesson_id = "0891952b-d26c-4911-b49f-87622e0b5e85"
module = nameinterval
title = "bad header.tones"
intervals = p5, a5, d5
tones = "c", "d", "e"
}
solfege-3.22.2/exercises/standard/regression-lesson-files/share/ 0000755 0001750 0001750 00000000000 12224076523 023064 5 ustar tom tom solfege-3.22.2/exercises/standard/regression-lesson-files/share/sound.wav 0000644 0001750 0001750 00000037256 12224076523 024750 0 ustar tom tom RIFF> WAVEfmt @ data> a[
[F
8U9'O
v/
+b` &
o T.U=Mb
MT- =%B$0w?J1J&t { %reI7W
Fi1/P#3!WU
\B6U:'N
x3
,c_$
o V+U?"Nb
KS/ =&A!0y>H1J(u
}%pdH7ZFh22S"3XX
\B
6U=*Mx3
/c_"
m V*U@"Oc
JS1 ?&>!/|=F/J*x~ )o`I9[
Gd22T"1XX
[?5U>+L{6
0d^!
l
X'V@&Qc
HR3
?&</}=C/J,y *m`H9^Hd26W!0Y[
[?4UB-K~{8
4d^
j
Y%VA&Se
HQ4 B':
/;B.J-|-m]H:_I`26X!.Z[
Y<
3UB.J}}:
4e]
j Z#VB)Te
EQ7 B'8
/;?.J/}-j\H:bJ`29[!.Z]
Y;}2U E0H|};
8e]
h [!VC!*Vf EP7 D(6/:>,J10jXH<cK\3 9] ,Z^#
X9{ 1UF1H~z=
8f]
h \VD"-Wf BP; E(3
.:;,J22gXH<fK[3"<_ ,[`$
W7y 0UJ3F}x@
<f\
f ]VE$.Zg BO; F(3. 8:+J5 4fU
H>hLY3"=b)[a'
V7v/UJ4Fyw@
<f\
e ^VE%1Zh @N? H)/.87*K5} 6dS
H>jMW3$@c)\c(
V4u.UN6DyuC
@g[
d `VG'3]i ?M? I)/.66)K8|#7cQ
G?lNU4$Af
'\d+
U4r-UN8DutD
@g[
b `VG)5]i =MB J*+.63(K9{#:bOG@nOR4&Cg&
]e+
T2q,UR9BurG
DhZ
a
bVI+7`j <LC K*+-42(K< z %;`MGAqPQ4&Ej$ ^g/
T1m,UR;BqqG
E iZ
` b VJ-8`k ;LF M+'-
4/'K<# x
&>_JGAqQN4(Fk$ _h/
S.m*UU<@qoJ
H iY
_ dVK.