<?xml version="1.0"?>
<Outline title="" edit_count="1087" num_nodes="53" creator="woody 0.2">
  <Options only_first_line="0" show_notes="0" show_due_dates="0" show_priorities="0" show_todo="1" show_numbering="0" show_done_items="1" new_items="normal" autocollapse="0" BF_tree_type="normal"/>
  <Node title="&apos;interval&apos; is not spelled &apos;intervall&apos;" expanded="1"/>
  <Node title="online-docs/C/ui.texi.m4 talk about the statusbar. Fix this to be similar to trunk if the statusbar is gone in 1.4.x. (I think so)" expanded="1"/>
  <Node title="1.4.2:" expanded="1">
    <Node title="intervall-&gt;interval in python source files and .po files" expanded="1"/>
  </Node>
  <Node title="compile with cygwin using -mno-cygwin flag to gcc to compile without cygwin.dll." expanded="1"/>
  <Node title="it is confusing that Teacher has .end_practise function, and Gui has on_end_practise function." expanded="1"/>
  <Node title="Gtk2 port:" expanded="0">
    <Node title="use the new object base class for classes like Rat, and set the allowed attributes with __slots__. This can speed up the Rat class with approximately 10%" expanded="1"/>
  </Node>
  <Node title="solfege don&apos;t display all natural signs required on key changes, for example from as minor to e major." expanded="1"/>
  <Node title="Instead of the mess with setting the volume and patch when playing mpd.parser, we can add some functions soundcard.synth.set_velocity, soundcard.synth.set_patch that will be default values." expanded="1"/>
  <Node title="txtui:" expanded="0">
    <Node title="intro message" expanded="1"/>
  </Node>
  <Node title="Should &apos;correct/wrong answer&apos; feedback be pushed or flashed?" expanded="1"/>
  <Node title="session management" expanded="1"/>
  <Node title="Next devel series:" expanded="1">
    <Node title="change intervall-&gt;interval in file names and rc files. Add convert function for rc files." expanded="1"/>
  </Node>
  <Node title="TODO" expanded="0">
    <Node title="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&apos;t know to do this for other soundcards, and don&apos;t have the hardware to experiment." expanded="1"/>
    <Node title="mpd" expanded="0">
      <Node title="mpd: add auto-beaming" expanded="1"/>
      <Node title="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." expanded="1"/>
      <Node title="better TieEngraver. This will require some reorganisation, where we have one engraver that takes care of all ties between two chords." expanded="1"/>
      <Node title="Better error messages:" expanded="1">
        <Node title="[g&apos;8 g]," expanded="1"/>
        <Node title="\stemdown instead of \stemDown should say &apos;unknown keyword&apos; or something instead of Parse error: \" expanded="1"/>
      </Node>
      <Node title="get real number-pixmaps from Lilypond. The numbers I use for time signatures now are handcrafted" expanded="1"/>
      <Node title=" &quot;|.&quot; bar, maybe also &quot;||&quot;" expanded="1"/>
    </Node>
    <Node title="lessonfiles" expanded="0">
      <Node title="lessonfiles: 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." expanded="1"/>
    </Node>
    <Node title="other stuff" expanded="0">
      <Node title="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." expanded="1"/>
      <Node title="some classes, like MultipleIntervallConfigWidget is *very* ugly." expanded="1"/>
      <Node title="Check error code when trying to use an external midi playing program." expanded="1"/>
      <Node title="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)" expanded="1"/>
    </Node>
  </Node>
  <Node title="Packaging" expanded="1">
    <Node title="Rpm: packages built on clean RH 6.2 and 7.0, mandrake etc...&nl;Someone with just a little clue can do this. Just make sure you have a clean system, and do &quot;make rpm&quot;" expanded="1"/>
  </Node>
  <Node title="Bugs" expanded="1">
    <Node title="Find out if the redraw problem in GuitarWidget is a gnomecanvas bug, or just me not understanding how to use it." expanded="1"/>
  </Node>
  <Node title="Tasks without programming skills" expanded="0">
    <Node title="Banner ads: gnucash uses 125x125 and 470x62 pixels" expanded="1"/>
    <Node title="Solfege need an icon to use when starting the program from menus or from the gnome panel" expanded="1"/>
    <Node title="create more lessonfiles" expanded="1"/>
    <Node title="write articles about eartraining and music theory to be included in Solfege" expanded="1"/>
    <Node title="translate the program. Just ask for help on solfege-devel if you don&apos;t know what to do." expanded="1"/>
  </Node>
  <Node title="Stuff to remember" expanded="0">
    <Node title="When making polygons on GnomeCanvas, the points has to be entered anticlockwise." expanded="1"/>
    <Node title="de_DE is language_COUNTRY" expanded="1"/>
  </Node>
  <Node title="Thoughts about new exercises" expanded="1">
    <Node title="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." expanded="1"/>
    <Node title="Solfege display some notes and play the music. The user should tell where solfege don&apos;t play the same as the notes." expanded="1"/>
    <Node title="idea from giovanni@simplesky.com" note="&nl;From giovanni@simplesky.com Wed Dec 5 18:06:23 2001&nl;&nl;Tom Cato Amundsen (05/12/01, 17:41) &quot;Re: :-) s o l f e g e&quot;:&nl;&nl;TCA| Your idea probably makes sense, but I don&apos;t understand what you&nl;TCA| describe. Maybe I&apos;m slow...&nl;TCA| &nl;TCA| Can you try again, and be more detailed in how the lesson files should&nl;TCA| look, what the program should play/display and what and how the user&nl;TCA| should answer.&nl;TCA| &nl;&nl;Sure :-)&nl;&nl;goal: ear-train every possible chord voicing for a given chord&nl;&nl;problem: there are too many combinations, and writing a lesson files&nl;would take way too long, because you have write down explicitely&nl;every voicing&nl;&nl;solution: give solfege the &quot;chord type&quot; and let it &quot;create&quot; the &nl;different voicing (or let it randomly play a different voicing every time)&nl;&nl;solution implementation:&nl;a) how to specify the chord type:&nl;  the chord type is specified by the voices offeset from the root note (&nl;all in one octave, offset in whole tones), e.g.&nl;a min7 b5 chord has : tonic, minor third, flat fifth, and seventh (minor)&nl;since the tonic is always there it&apos;s useless to write &quot;0&quot; (difference &nl;tonic-tonic) so we have&nl;minor third -&gt; 3&nl;flat fifth -&gt; 6&nl;seventh -&gt; 10&nl;&nl;so min7 b5 &lt;=&gt; [3,6,10] &nl;(oh, well, I&apos;m an engeneering, maybe [Eb, Gb, Bb] would make more sense)&nl;&nl;7b5b9 (yep, jazzy chords :-)&nl;[1, 4, 6, 10]&nl;&nl;these &quot;arrays&quot; would go in the lesson file, together with the chord name&nl;&nl;b) how to play a random voicing:&nl;just randomly add a couple of octaves (+ and -) to the voices&nl;for v in voices:&nl;   voices_out.append(v+rand*12)&nl;&nl;where -3&lt;rand&lt;3&nl; &nl;&nl;INTERFACE:&nl;the user would have to choose between the chord names (min7b5, 7b5b9),&nl;and then specify the voicings. Let&apos;s say the chord was a min7b5, the &nl;voices&nl;are (tonic, minor 3rd, flat 5th, 7th), so 4 combos (&lt;select&gt;&lt;option&gt; &nl;stuff, oh, wait this is html :-) with the 4 voices each would do it.&nl;&nl;of course the possible voicing must be shown *after* the user has guessed&nl;the chord type (oterwise they would spoil the solution).&nl;&nl;&nl;is this better?&nl;&nl;keep in mind that&nl;1) I&apos;m an engeneer&nl;2) I play jazz&nl;3) I play guitar&nl;&nl;so this stuff is probably just a bunh of useless crap :-)&nl;&nl;&nl;But, if can put it in solfege, your karma would greatly improve, &nl;and in your next life (if any) you wouldn&apos;t have to do heartly things like&nl;coding computer software :-)&nl;&nl;&nl;CIAOOOOOO&nl;&nl;Giovanni" expanded="1"/>
    <Node title="solfege play a chord, and you should sing the middle/upper/lower tone." expanded="1"/>
    <Node title="comments from Seymour Shlien &lt;seymour.shlien@crc.ca&gt;" note="&nl;From seymour@peso.dgim.crc.ca Mon Dec 17 20:06:13 2001&nl;&nl;Tom,&nl;&nl;First, the program looks very useful since I would like to improve my&nl;musical&nl;skills. I had some trouble getting it running on Windows 2000 and&nl;Windows 98,&nl;until you made version 1.3.3 with windows installer available. I am&nl;working&nl;on getting it running on RedHat 7.2.&nl;&nl;Here are a couple of suggestions, but do not consider them urgent.&nl;1) I am having a lot of trouble learning to recognize intervals, chords&nl;etc. by ear. It would be use if there would be an option for auditory&nl;feedback when I select the wrong answer. i.e. I should hear the chord&nl;corresponding to the wrong selection, so I know how far I am off.&nl;&nl;2) For multi-users, there should be an option of storing the statistics&nl;for different users in separate files. When you start, you identify&nl;yourself so the correct statistics are updated.&nl;&nl;3) For people who develop shoulder, elbow injuries from using the mouse&nl;pointer too much, there should be provision to enter responses on the&nl;computer keyboard. Keys assigned to Next, Give-up etc. and arrow keys&nl;(or hjkl (VI users)) or arrow keys to navigate the selected button.&nl;&nl;4) Finally, on your page requesting help from contributers, you should&nl;put a link to your e-mail address.&nl;&nl;I wish I could offer more. Though I am a fairly experienced programmer&nl;in Tcl/Tk and C, Python is quite new to me. There were a few spelling&nl;English misspellings. Interval is spelled with one letter l.&nl;&nl;The project looks very interesting and I shall be checking your site&nl;regularly.&nl;&nl;-- &nl;______________________________________________&nl;Seymour.Shlien@crc.ca, Communications Research Centre&nl;P.O. Box 11490, Station H, Ottawa, CANADA, K2H8S2&nl;Tel: (613)998-2551  Fax: (613)993-9950" expanded="1"/>
  </Node>
</Outline>
