[kln2-devel] Re: KLearnNotes2-devel digest, Vol 1 #10 - 2 msgs
Brought to you by:
wiecko
From: Mo <Mo...@no...> - 2004-02-23 08:15:22
|
> // In future we may implement double sharps and double flats, > // but let us keep things simple for now. > > > // what to do with integer representation of the name?=20 > // we have to check how it is used; should we number > // * all the notes (like 0=3DC, 1=3DC#, 2=3DDb, 3=3DD ) > // * distinct note's positions (like 0=3DC, 1=3DC#/Db, 2=3DD) > // * only base notes (like it is now - 0=3DC, 1=3DD ) > // * or abandon the integer representation as an unclear > // one? > KeySignature* keySignature; // or maybe there should be a parent > // Staff class with a keySignature property? > // This would inherit a QCanvas, take care of all the staff lines,=20 > // key type (bass/treble), key signature and so on? In such a case > // each note would hold a pointer to it's parent Staff rather than > // to the keySignature directly; but for now 'KS* kS' would do. > } //////////////////////////////// END OF NEW NOTE MEMBERS > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20 > Implementation:=20 > > 1. add the declarations; define empty functions; check that > things compile and work as previously (note: not that=20 > obvious, e.g. checking note's name will have to be changed=20 > in few places) > > 2. note2name (current exercise) without changing KeySignature > (that is in C Major key only) > > this is quite stupid from user's point of view but makes an > important step in step-by-step implementation; > this is quite easy to implement because this does not change > program's structure; the only major decisions are to be made > about the widgets layout: > > - extra buttons (ordered in piano keyboard style? but maybe two > sets of 'black' keys: one above with sharps, one below with > flats?: > C# D# E# F# > C D E F G=20 > Db Eb Fb Gb > and so on ? )=20 > > - extra name checkboxes (grrr this makes the interface quite > unclear :( ) > > - user's input : letter with Shift =3D sharp note, letter with > Ctrl =3D flat note (note, that Alts are on some kbds used for=20 > 'accidented' local letters like =F3) > - bigger pool of all notes > - when choosing notes for a test, not only range and name=20 > checkboxes but also three new checkboxes: > * natural notes (which activates middle row of nameButtons) > * sharp notes (which activates top row of nameButtons) > * flat notes (which activates button row of nameButtons) > They should probably be placed to the right of nameButtons, > bellow rangeSliders. > > 3. the same as (2.) but with manually changed KeySignature:=20 > > now this becomes important from user's point of view: > user chooses a key signature from a combo in the toolbar (to=20 > focus: G major); the key should be displayed; and now if "CMajor=20 > F" note is shown the user should recognize it is F sharp. > > I guess, the questions should be asked only about notes without=20 > extra accidentals. > Lessons:=20 > * Gmajor, notes in middle region (one sharp F#) > * Gmajor, notes in upper region > * Gmajor, notes in lower region > * Gmajor, all notes > * Fmajor, notes in m.r. (one flat, H/B b) > * Fmajor, u.r. > * Fmajor, l.r. > * Fmajor, all notes > * Dmajor, m.r. (two sharps: F# and C#) > and so-on. > > At this point we know both accidented notes and key signatures=20 > work. We can move few-fold: > > 4a. the same with randomly chosen KeySignature for each question > Lessons: > Gmajor and Cmajor, (no sharps or one sharp at F) > Dmajor, Gmajor and Cmajor (no sharps one or two sharps) > Amajor, Dmajor, Gmajor and Cmajor (0,1 or 3 sharps) > and so on > > Fmajor and Cmajor, (no flats, or one flat at H/B) > Hb/Bb major, Fmajor and Cmajor (no flat, one or two flats) > > 4b. exercises about key signatures > 4c. fretboard (AT LAST! :) > 4d. sequence reading exercise=20 > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > --=20 > > \/ /|\ Marek Wieckowski > ##### | | | > =3D . . =3D \|/ Institute of Theoretical Physics > U | Warsaw University > / ~ \___ | > <| | | > > . < | http://www.fuw.edu.pl/~wiecko > <<___>> | http://klearnnotes2.sourceforge.net > > > > > > --__--__-- > > _______________________________________________ > KLearnNotes2-devel mailing list > KLe...@li... > https://lists.sourceforge.net/lists/listinfo/klearnnotes2-devel > > > End of KLearnNotes2-devel Digest > |