devel: TODO/ideas for future


 


__________KLEARNNOTES2_______ROAD______MAP__________


general ideas for future development; for details see TODO-details



**************************************
******************* IN VERSION 1.2
**************************************

Planned small changes:
* Voice recognition: add commands "note C/D.../H on/off"
* add accel translations
* add tooltips and whatis-es to voice recognition dialogs
* add louder/quieter buttons or volume sliders to a toolbar
* add zoom in/out item in MenuOptions (changing SC)
* move timer to canvas, change it to countdown with red background
    when negative
* determine start/stop state by some variable, rather than by
    a button text 
* make KLN2 arts-aware (?)
* add command line option -quiet to turn of stderr/stdout output
* clefs other than treble/bass
* add a choice of turning interface translations off or even a choice
	of all available translations

KDE/QT stuff/improvements:
* use QCursor when over active areas? Eg. over a note.
* maybe: use KJanusWidget for multiple exercise layouts
* use KKeyChooser/KKeyDialog (?)
* KListViewItem-s for voice lists(?)
* maybe use KTabCtl instead of 'KDialogBase(Tabbed' in dModelEditor?
	- this emits a signal tabSelected(int pagenumber) when the 
	user selects one of the tabs!
* maybe use KWizard instead of KDialogBase in dVoiceMicroSetup?
* note: KImageEffect can create gradients, blending two images,
	fading, rotating and many other;
	there is also a KPixmapEffect
* use KStdAccel for Help/Save etc.
* note: running timidity can use KTempFile


Maybe:
How to add a configure --no-voice-recognition option?
How to make conditional makefiles?

Bigger subjects:
=======
1.  individual testnotes selection and individually auto-design test

   WHY? if an user makes mistakes about particular notes it may be beneficial
	if the program designs for her a special exercise to train these notes

DANGER:	user may make mistakes about a note only in particular combinations
	(e.g. after a note which is far away in the staff); thus these custom
	exercises may not actually address what really is a problem here



COMPLETELY NEW EXERCISE IDEAS  but based on similar interface:
=======
2. add exercise in another direction with all testnotes visible:
	user can see all testnotes;
	one button gets highlighted and she has to click on all notes with 
	it's name (if OK a note gets green, if wrong a note gets red + label
        comments with no.of remaining notes of this name);
	user answers until she marks all the right notes;

	NOTE: this is probably simpler than notes' name recognition
	and might be suggested as an introductory exercise for each 
	testnotes set;
	simpler, because user can click e.g. every second note (C-G-C-G)

3. add exercise in another direction with no testnotes visible

4. maybe: some kind of a game? make KLN2 more fun!

**************************************
******************* IN VERSION 2.0
**************************************

NEW INTERFACE EXERCISES :

********* (sharps, flats, exe based not-on-notes) ******
=======
1. teach key signatures
   * order of sharps/ order of flats
	(exercise1: two lines of buttons(no staff):
                    drag letters to unscramble the order
         exercise2: sharps/flats are shown on staff on right pitch, but in
                    wrong order: sort it out
         exercise3; place N sharps/flats on staff) 
   * name key signature (both Major and minor)
   * find notes between which there is one-semitone separation
   * find tonic and dominant notes for a key (and variations: this is
	tonic - find a key)

=======
2. teach major/minor chords writing in staff and recognition

=======
3. design somehow common interface to all kinds of exercises

=======
4. theory help (what is the order of sharps/flats etc.)

********* (fretboard/keyboard) ******
(see TODO_details)


**************************************
******************* IDEAS POSTPONED TO MAYBE-NEVER
**************************************

Most of the postponed things are those, which I thought wouldn't be very
useful. Every extra feature makes the interface more complicated and
still requires extra work. So: maybe, some day. But for now - I stop 
thinking about these:

=======
1. decreasing time of pauses between questions and leave only limited
	(and decreasing) time for an answer
******************* WHY POSTPONED: speeding - not that important really

   WHY?	this should improve dynamics of tests and motivate user to work
	on speed/automatic answers

  WHAT?	two kinds of exercises: without time decrease (introductory) and 
	with one

DANGER:	don't over-do; this should not change KLN2 to a mission-impossible 
	prog.


=======
- use kdelibs (kmid) or TSE for midi (actually this should be a choice; some
	people may not have kde and most don't have TSE!)
******************* WHY POSTPONED: sound works; extra TSE functionality not 
			needed in this program

=======
2. add sequence reading exercise: 
******************* WHY POSTPONED: the fact that there is a series of questions
			does more or less the same
	few notes visible in the staff;
	user has to click names of the notes in right order;
	correct names should be shown under the staff as she types 
	(in red if you type wrong, in green if right)

=======
3. idea (2.) the other way around:
******************* WHY POSTPONED: the fact that there is a series of questions
			does more or less the same
	note's name and a range of the staff gets highlighted;
	user is to click on notes location (which would make the note appear);