\u24b3 is a triangle
TODO and stuff-to-remember file
Single qouted strings can contain line breaks.
Starting with version 2.0.0, Solfege stores configuration data
in $HOME/.solfegerc and not in versioned directories. The
config variable 'app/rcfileversion' will be used to ensure that
Solfege will not load a rcfile created by a newer release with
incompatible rcfile. And it will also make it possible for newer
releases to safely convert older rc-files. 'app/rcfileversion' 1
is the version used in Solfege 2.0.0
To make this work, every change to the rcfile, this mean every
new config variable, must be evaluated carefully.
Starting with version 2.0, Solfege stores statistics in
$HOME/.solfege and not in versioned directories. The file
$HOME/.solfege/statistics_version will contain the version
number for the statistics. Version 1 is the version used by
Solfege 2.0.0, and this version number should only be increased
when incompatible changes occour.
If Solfege starts and find that the statistics is stored in a
newer format than what it knows about, it should not load or
store any statistics to disk.
We can set 3 types of tempo in the preferences window. But not all
exercsises use these tempos.
Source rpm of regular tarball is ok. Fix for solfege-easybuild tarball.
support links in TABLE
method local variables are faster than self.name variables.
Solfege 2.0 lessonfile format changes:
-It is recommended to write include("filename") and not
include(filename) when you include a file. Using the old format
will display a warning.
Validate the site.
Solfege 2.2 (or 2.4):
Remove support for include(filename), require include("filename")
Don't read older rc files if ~/.solfegerc dont exist.
The nl translation of online-docs are so out of date that it is
no longer installed.
There are a few typos and missing translations in es_MX.
All .po files need update.
Minor source code cleanup:
inputwidgets.py could need some cleanup.
define ERR_PICKY and friends some common place?
selectlessonfilewidget.py: m_ui is inconsistent with g_win
make pydoc and pychecker work on my modules. Test modules with
MusicDisplayer.show should not require us to specify fontsize.
Can creation of SelectLessonfileWidget be done in a common function
used by many classes?
Finn ut om det er greit � definere SOLVED, UNSOLVED, TOPTONE,
INVERSTION etc p� module level for �velsene. F. eks for chord.
The configure check for gtkhtml only checks for the library, not the
bindings. We cannot import test it, because this fail without X.
Maybe just check for the file if the rest of pygnome is present?
Do @prefix@ instead of $(prefix) in all makefiles, and let configure
generate them from Makefile.in?
Bugs, not release critical.
Bugs in progression-atte?
The use of random_transpose=yes and \transpose command in
lessonfiles is no possible, there is no transposition!
The .rpm package leave many empty directories when upgrading the
random_transpose = key, -2, 2 give is not correct for for example
the chordvoicing exercise, if the chords entered are not c major or
a minor. This is documented in lessonfile.xml
pygnome API questions
Figure out how to use gtkhtml2.jump_to_anchor.
gnome.ui.PropertyBox is deprecated in GNOME2. What to do?
On config page, when the focus is on "Change midi instrument for
this exercise" check button, and we press down, the focus goes
to the last of three instrument select widgets, not the first.
i chordvoicing og chord Teacher er new_question helt lik. Den er
forskjellig i sing-chord, men b�r nok bli helt lik. Lag felles
Make it configurable how many accidentals we want.
Add 'disable unused buttons' checkbutton, and set answer buttons
of scale that are not going to be ask for, insensitive?
M� ikke vise navnet p� sp�rsm�let for enkelte av leksjonsfilene,
for eksempel three-prog-root. Man kan si at dette ikke er en
bug, at man ikke m� oppgi 'name' til sp�rsm�l til diktat, der
hvor navnet vil gj�re oppgaven enklere.
the config of the exercise is at best confusing.
skal vi bruke .push og .pop istedet for .flash, slik at vi
skj�nner hva som har skjedd, hvis vi ikke f�r det med oss med en
Ubekreftet: En god del med sensitivity og hva som st�r i
flashbar er galt.
complete the level-selection code
Should we set a limit on how many accidentals solfege is allowed
to create when doing random transpose?
Teacher.new_question should create a new question, but not play it.
N�r selectlessonfilewidget velger en lessonfile som ikke lar seg
parse, s� skal vi pr�ve � sette m_P til None.
The user should not be able to 'give up' until he has at least tried
compile with cygwin using -mno-cygwin flag to gcc to compile without
Misc TODO, checkout etc.
Better error messages:
\stemdown instead of \stemDown should say 'unknown
keyword' or something instead of Parse error:
The mpd displayer will be a little confused and generate bad
looking flags for 1/8-notes if the Question.m_clue_end
variable points to a timepos in the middle of a beam.
Better TieEngraver. This will require some reorganisation,
where we have one engraver that takes care of all ties
between two chords.
Get real number-pixmaps from Lilypond. The numbers I use for
time signatures now are handcrafted.
"|." bar, maybe also "||"
At least for id-by-name: the file should be able to refer to
midifiles to be played instead of music entered in the actual
file. This would be nice if I ever connect to an external midi
synth to create questions.
let harmonic|melodic intervall ask the inputwidget how big
intervalls it can handle. Only button-input is limited to a
decim. But this will require a change to the config page where
we select what intervalls to practise.
some classes, like MultipleIntervallConfigWidget is *very* ugly.
Check error code when trying to use an external midi playing program.
The LessonfileManager parses all lesson files at startup. This
is no real problem now, but with increasing number of lesson
files, this has to be fixed. (With version 1.2.0, program
startup takes 3 seconds, parsing takes 0.22)
Document the view menu
Kan jeg bruke vertikal label i statisticsviewer med gtk+ 2.0?
Lage nye xpm til rhythm exercise, i for eks 96x96 og bruk scale
image, slik av vi f�r mere runde kanter. Kan dette ogs� gj�res for
feta-fontene, evt for hele music displayer? Jeg har begynt med
xpm/rhythm-c4.xpm og rhythm-c8c8.xpm
De nederste 4 tabeller i statistikken er vanskelige. Gj�r bedre og
legg til dokumentasjon.
I need someone to fix (or give me a hint on how to fix) the sound
card code so the percussion channel works also for /dev/sequencer
for other sound cards than Soundblaster AWE. /dev/music (aka
/dev/sequencer2) works fine but /dev/sequencer is more tricky. SB
AWE works by by calling AWE_SET_CHANNEL_MODE(devnum,
AWE_PLAY_MULTI), but I don't know to do this for other soundcards,
and don't have the hardware to experiment.
GNOME session management
I rhythm.py m� vi legge til config "disable unused buttons" eller
noe liknende som harmonic interval har. Deretter se p� focus.
Decide on this:
Should 'correct/wrong answer' feedback be pushed or flashed?
Should we document that question numbering (and possibly line numbering) in error messages are zero-based?
Stuff to remember:
Lambda functions can be evil. If you have several lambda functions
as callback functions to events, for example when defining a menu,
then each menu item must be created with its own variable name, or
else hell will break loose. Also we get warnings from compileall on
When making polygons on GnomeCanvas, the points has to be entered
de_DE is language_COUNTRY
Thoughts about new exercises:
lag test ala www.earpower.com simple test, avgj�r om andre tone er
h�yere eller lavere. 50-10-5-3-1 hz forskjell. Hvor bra er PC til �
lage s� sm� forskjeller mellom tonene?
Train perception of modulations: Solfege play a simple progression
with random modulations to new keys. The user sing the same pattern
in the different keys. tca: this is similar to one exercise Marit
uses when warming up her choir.
Solfege display some notes and play the music. The user should tell
where solfege don't play the same as the notes.
solfege play a chord, and you should sing the middle/upper/lower tone.
Make it possible for the user to take a test, for example in
harmonic intervals, and see how well he knows them. And then save
the result so we can track progression over time.
From email@example.com Wed Dec 5 18:06:23 2001
Tom Cato Amundsen (05/12/01, 17:41) "Re: :-) s o l f e g e":
TCA| Your idea probably makes sense, but I don't understand what you
TCA| describe. Maybe I'm slow...
TCA| Can you try again, and be more detailed in how the lesson files should
TCA| look, what the program should play/display and what and how the user
TCA| should answer.
goal: ear-train every possible chord voicing for a given chord
problem: there are too many combinations, and writing a lesson files
would take way too long, because you have write down explicitely
solution: give solfege the "chord type" and let it "create" the
different voicing (or let it randomly play a different voicing every time)
a) how to specify the chord type:
the chord type is specified by the voices offeset from the root note (
all in one octave, offset in whole tones), e.g.
a min7 b5 chord has : tonic, minor third, flat fifth, and seventh (minor)
since the tonic is always there it's useless to write "0" (difference
tonic-tonic) so we have
minor third -> 3
flat fifth -> 6
seventh -> 10
so min7 b5 <=> [3,6,10]
(oh, well, I'm an engeneering, maybe [Eb, Gb, Bb] would make more sense)
7b5b9 (yep, jazzy chords :-)
[1, 4, 6, 10]
these "arrays" would go in the lesson file, together with the chord name
b) how to play a random voicing:
just randomly add a couple of octaves (+ and -) to the voices
for v in voices:
the user would have to choose between the chord names (min7b5, 7b5b9),
and then specify the voicings. Let's say the chord was a min7b5, the
are (tonic, minor 3rd, flat 5th, 7th), so 4 combos (<select><option>
stuff, oh, wait this is html :-) with the 4 voices each would do it.
of course the possible voicing must be shown *after* the user has guessed
the chord type (oterwise they would spoil the solution).
is this better?
keep in mind that
1) I'm an engeneer
2) I play jazz
3) I play guitar
so this stuff is probably just a bunh of useless crap :-)
But, if can put it in solfege, your karma would greatly improve,
and in your next life (if any) you wouldn't have to do heartly things like
coding computer software :-)
From firstname.lastname@example.org Mon Dec 17 20:06:13 2001
First, the program looks very useful since I would like to improve my
musical skills. I had some trouble getting it running on Windows 2000 and
Windows 98, until you made version 1.3.3 with windows installer available.
I am working on getting it running on RedHat 7.2.
Here are a couple of suggestions, but do not consider them urgent.
1) I am having a lot of trouble learning to recognize intervals, chords
etc. by ear. It would be use if there would be an option for auditory
feedback when I select the wrong answer. i.e. I should hear the chord
corresponding to the wrong selection, so I know how far I am off.
2) For multi-users, there should be an option of storing the statistics
for different users in separate files. When you start, you identify
yourself so the correct statistics are updated.
3) For people who develop shoulder, elbow injuries from using the mouse
pointer too much, there should be provision to enter responses on the
computer keyboard. Keys assigned to Next, Give-up etc. and arrow keys
(or hjkl (VI users)) or arrow keys to navigate the selected button.
4) Finally, on your page requesting help from contributers, you should
put a link to your e-mail address.
I wish I could offer more. Though I am a fairly experienced programmer
in Tcl/Tk and C, Python is quite new to me. There were a few spelling
English misspellings. Interval is spelled with one letter l.
The project looks very interesting and I shall be checking your site
Date: Mon, 24 Dec 2001 08:41:47 -0500
From: Seymour Shlien <email@example.com>
To: Tom Cato Amundsen <firstname.lastname@example.org>
Subject: Re: solfege : more suggestions
Finally, there is another freeware and similar ear trainer.
Bonera's Absolute Pitch Trainer which can be downloaded at
www.simtelnet/pub/win95/music/apt10b.zip. The program has
some nice features (training and test mode), particularly
for the beginner.
I am a beginner. Though I can play a recorder (flute a bec)
by ear implying that I can unconsciously recognize
pitch and musical intervals, (my fingers seem to automatically)
go to the right notes) learning to recognize intervals
or chords with random starting notes seems very difficult.
I have started with just two intervals, major 3rd and perfect
5 th. I am still making a few errors with descending intervals.
In any case, I find solfege very useful for developing these
skills. I have shown it to an advanced music student who has
spent several years doing ear-training (and is quite proficient).
She was very impressed and plans to use it to improve her
Happy Holidays and New Year.
vim: textwidth=72: foldmethod=indent: