Thursday 11-9-97
- I have started with some tries to make the midi work and due to the
  success I have even made an object to manage the midi : midiOut

Friday 12-9-97
- Waking up at 7:00am, working from 8:20 to 11:20 and doing some fixes
  at 14:20, I have been able to play a midi file through the /dev/sequencer
  using the class midiOut and writing some new classes like : midfile
  track and some more. 

Saturday 13-9-97
- Today I have made a midi mapper (object mapper) which read a map config file
  and is used to support older synths without general midi compliance.

Sunday 14-9-97 
- I have made a window, with a KMenuBar, and a KSilder, which reads a mid file
  and play it (using a fork)

Monday 15-9-97
- fork copy the memory and thus, I cannot tell the player to pause, I have read
  much about the subject, and about threads

Tuesday 16-9-97
- I have made a small program to test the threads and forks, threads apparently
are faster, but it seems to have a problem with libqt or anyone, and I get
core dumpes what I run kmid even if I only link libpthread but don't use it.
So I've decided to make a fork, in the other way, I've learned to share memory

Wednesday 17-9-97
- C. E. has told me to use mediatool, but I don't have the documentation, so
I cannot continue work until I get it.

Thursday 18-9-97
- Well, I'll continue even without the docs, and when I have them, I will
make the neccesary changes to the code. I have made a few details in windows

Friday 19-9-97
- Today I have made the Pause and Stop buttons work. Also, I have made the
slide bar move. And also, I have made a parser of the midi file, which tells
how long the song is, in seconds. If this was little, I have made the interface
between the ui and the player.

Saturday 20-9-97
- The interface between the ui and the player doesn't work well, I have to
redesign it because it's difficult to be accurate writing the karaoke at the same that the note plays

Sunday 21-9-97
- I have redesigned twice the interface between ui and player and it still
doesn't work well, the first method was creating a list of the karaoke events
and using a timer to process the next event at the right time, but that doesn't
work perfectly, because the text appears a moment after or before the note is
played. The second method is a while loop, which calls processEvents, but
that isn't a very good option, because, though text appears just at the same
time of the note is played, top tells me that kmid is consuming up to 98% of
CPU time, and I don't want to make such a monster.

Monday 22-9-97
- Another failed method, and another passed day

Tuesday 23-9-97
- Some small changes beautifying the monster to send it to C. E.

Wednesday 24-9-97
- More debugging and no result. I have uploaded current version to arrakis for
C. to see it.

Thursday 25-9-97
- Eureka ! , at last, I have made the player and the ui run at the same time
with PERFECT syncronisation :-) (at 10:30 pm)

Friday,Saturday,Sunday 26,27,28-9-97
- I've been looking at the birds flying freely from tree to tree in all this
weekend, also, I've studied for the test drive.

Monday 29-9-97
- I have passed the exam and also, I have (almost) done the karaoke widget
and it works very well !

Tuesday 30-9-97
- The karaoke widget is finished, it also have a scrollbar to see all the
lyrics. By the way, StarTrek : First Contact is a very recommended film 

Wednesday 1-10-97
- I have fixed pause and stop, which were broken during the karaoke syncro
By the way, kmid consumes 0.0% CPU and 00:00 time while playing a 6 minute song
(and I think that even in longer songs !)

Thursday 2-10-97
- I have started classes, so I think I will have less time :-(

Wednesday 8-10-97
- The player now recognizes the SETPOS message, but the ui is not syncronized
yet

Thursday 9-10-97
- S. R. has "show"ed me the way to initialize the menu, toolbar and client of a
KTopLevelWidget, without the need to resize the window.

Sunday 12-10-97
- I have made that all time variables are expressed in milliseconds, so no
more change units !!

Sunday 19-10-97
- I have programmed very little this week, but today I have kill a big bug,
now all the songs play well. Some songs were played with some parts faster and
some parts slower than they should (thanks to C. E. for reporting the bug!)

Tuesday 21-10-97
- WOE, KDE-Beta-ONE is even better than before. But now kmid doesn't compile (?)

Wednesday 22-10-97
- After compiling the kde libs, kmid compiles ok. KSlider has changed and its
behaviour (Arrrgh!), so I have trickered a little the code.

Thursday 23-10-97
- I have cleaned a little the code.

Friday 24-10-97
- I started to "rewrite"  the track class to make the slider work well

Saturday 25-10-97
- I have passed the day working in the time. 

Sunday 26-10-97
- Eureka !!!, KMid works great! with good timings and syncronization between
         O ~                     music and lyrics.
          U
         \_/

Monday 27-10-97
- After 10 hours in the university, I have made the final touches to send
kmid 0.1 to the internet.

??? 7-11-97
- Finally, there's an impossible-better syncro between the program
and the user !!!. I mean, that when you press the pause button, the music
is inmediatly paused !!!

Saturday 8-11-97
- So I suppose yesterday was Friday, but I should demostrate it :-)
I have added drag & drop support in kmid to load files by dropping them from kfm
Also made the slider show the time played at resizeable steps

Sunday 9-11-97
- Today I have made possible to change the font and I have made an icon.
Prepare a version to upload tomorrow to the internet.

Thursday 13-11-97
- I have nearly rewritten (made lots of changes to) the lyrics display widget
Also fixed that old "bug" that let in black the last word of a phrase in some
songs.

Friday 14-11-97
- Automatic text event chooser is done ! 
- Fixed a bug that could freeze kmid under very rare circunstances.
- Added more support for incomplete/broken files

Saturday 15-11-97
- I have changed the exit-behaviour for a messagebox-behaviour
- Fixed a bug that could leave the children running when closing kmid

Sunday 16-11-97
- KMid adds a mime entry for karaoke files in audio/x-karaoke
- Real Session Management.
- Made the first rpm of kmid.

Monday 17-11-97
- Release version 0.3 in tgz and rpm

Friday 28-11-97
- I've been quite busy this week, but I have had reports and patches :-) on
how to make kmid to work with an AWE, a GUS, and in FreeBSD :-))))

Monday 8-12-97
- I have fixed a small bug with which the time that a song longs was not well
reported.
- Also a tiny bug in consolekmid

Tuesday 9-12-97
- I've made the first feature that I've been asked for. Another thing to map
with the midi mapper for Dietmar's PSR500  

Friday 12-12-97
- Nearly done the map chooser so that there will no be needed to edit the kmidrc
for anything.
Now when you choose a new map or change GM/MT32 mode, the music is automatically
changed while playing !.

...... **-12-97
- I have been the rest of the month implementing a midi server that I will 
call KMidServer and that will provide any application with easy control over
midi functions.

30-12-97
- KMid now can play gzipped midi files just as any other normal file. 

.... **-1-98
- I have improved the midi mapper by allowing to factor the pitch bender.
   Now pitch benders works OK !! (at last I have improved the windows mapper :-)
  I have also added support to convert expression events to volume events.
* I have been doing the kfourier this month and studying (little time to do more)


Thursday 5-2-98
- After doing my first exam this year, I have decided to calm things a little
 by programming something. I have made the options added to the mapper available
through the config map file.

Monday 9-2-98
- 2nd exam done and a bug that I introduced last thrusday fixed.

Friday 20-2-98
- I've finished exams, have installed the yesterday snapshots and have 
updated the configure scripts to add rpath and all that stuff to my copy
of kmid (thanks to Kulow, who added it to kmid in kdemultimedia)

Saturday 21-2-98
- Fixed the not-a-feature problem with FM, next time I will not let the
option for the user to select something that doesn't work.
Final touches to release kmid 0.41 tomorrow morning.

Monday 23-2-98
- I've started working on FM support (and it goes very fast)

Tuesday 24-2-98
- fm already works, but notes are shifted to a higher key !!!
Also pitch bender seems not to be accurate.

Wednesday 25-2-98
- pitch bender is now fixed, and also the shift of notes, now the problem
 is that some notes are lost (always from the same track/channel/patch?!?!)

Friday 27-2-98
- The problem with the lost notes is fixed :-/, the problem was that some
notes are played through the left speaker and some thru the right speaker,
and my wires for the right speaker were broken, but it wasn't noted with
the surround activated :-))))))) (Sometimes I feel real shame). Three days
lost in that !!

Saturday 28-2-98
- I've gone to the country and I've done the internals of the playlists in a
486/50 without linux, so I'll compile the Monday.

Sunday 1-3-98
- Some test with multiple toolbars.

Monday 2-3-98
- Started to do the collections manager dialog

Tuesday 3-3-98
- The collections manager dialog is done.

Wednesday 4-3-98
- KKeyConfig is a really good class, easy to use to make the karaoke scroll
when arrow keys are pressed.

Thursday 5-3-98
- I've done the playlist hardest part, now it works and there's only left
 some final touches to do  

Tuesday 10-3-98
- Playlists are finally working ok.

Wednesday 11-3-98
- Fixed the session management (in fact, I've changed it a little to support
collections)

Thursday 12-3-98
- Fixed some small bugs.

Friday 13-3-98
- I have replaced my new Makefiles.am (just two days old) with the one
of Stephan Kulow which look much better.

Saturday 14-3-98
- Finished deleting printf's to upload kmid tomorrow :-)
