This file contains technical (development) changes
If you look for "practical user changes" see NEWS

Latest changes: 2003-08-29

SingIt 0.1.28 (2003-08-29)

    * Started large refactoring tasks
    * Cleanup editor lyric views (new SingitEditorView klass)
    * Moved and renamed development headers
      -> singit_*.h --> singit/*.h
    * Removed displayer "show/hide/toggle" callbacks
      -> They were just called after a song change
      -> Instead added "set_song" callback to indicate song changes
      -> Removed song structure from set_time
      -> Port of all displayer plugings
    * Add query page to editor notebook
      -> Using lyrix servers
      -> Using ghttp to handle HTTP
      -> Using old (libxml2) and new (text) result parser
      -> Supports HTTP proxy usage
      -> Cached lyric queries
    * Reworked karaoke widget and data
      -> Karaoke ball data now "sinus" based
      -> Fullscreen doesn't work right yet
      -> Minor display errors
    * Integration of a (fake) control socket
      -> Facades SingitConfig
      -> No more direct usage of SingitConfig in the plugins
      -> Removed parameter from "update" callback
      -> Moved "config.h" into private plugin area
    * New SingitSingleton class for better instance control
      -> All status objects ported to SingitSingleton's
      -> All global config objects moved into status data struct
      -> Work around gtk type system limits for fake "dynamic" types
    * New XOSD based plugin from Nicolas Adenis-Lamarre
    * Removed song length from song change recognition
      -> Plugin was totally confused by VBR files


SingIt 0.1.27 (2003-04-22)

    * Update to libtool 1.5
      -> Finally fixes "relink" install problem
      -> Revert to old build mode
      -> Make displayer build process more libtool conform
    * New shared library loader (wraps libltdl and old code)
      -> Use new wrp_* funtions to load plugins
      -> Based on file basename without extension (like lt_dlopenext)
    * Set real background color in fullscreen displayer
    * More strict and simplified config handling
      -> Fixes startup config loading
    * RPM spec file generation
    * Fixed locking scheme
    * Include right french translation file (ups...)


SingIt 0.1.26 (2003-04-14)

    * Fixed locale handling
    * New combined karaoke window and fullscreen displayer
    * Cleanup color management
    * Karaoke widget cleanup (hopefully fixed the memory leak)
    * Tag management for Ogg Vorbis files (no save)
    * General framerate counter / limiter
    * New configure.ac file based on autoscan output
    * Moved all paths from config.h into Makefiles
      -> Hopefully fixes the config save problems
    * Cleanup plugin locking and library loading (now use RTLD_GLOBAL ;-(
      -> Prevent symbol export in displayer plugins (export.sym)
      -> Changed library build process (should finally build on Debian)
      -> No DisplayerPlugin struct needed outside the plugin scanner
    * Rewritten strip HTML function (i.e. skips comments)
    * Cleanup translation strings and modified editor menu for translation
    * Cleanup G-Force multi-character constants usage (depricated in gcc 3.2)
    * New french translation
    * New italian translation


Got a (slow) computer from the university for my room
	- hacking is ongoing again since 2003-03-28


SingIt 0.1.25 (2003-03-08)

    * Calculate best font size in SDL displayer
      (TTF calculations are much faster)
    * Progress indicator in SDL displayer
    * Validated synced lyrics stream read / write support
      (Just read in use yet)
    * Better modal message boxes (still not perfect)
    * Another SDL test displayer
    * Cleanup SDL surface locks
    * Moved to gcc 3.2.x compiler


Back to Irland on 2003-01-05 - 2003-06-??
Three weeks in Germany for X-Mas
No development between 2002-09-05 and 2002-12-14 in Ireland


SingIt 0.1.24 (2002-08-30)

    * Support for new tag format ([xx:xx.xx])
    * Updated to latest development tools
    * Validated unsynced lyrics read support


SingIt 0.1.23 (2002-07-21)

    * New lyrics visualizer in the sdl displayer


SingIt 0.1.22 (2002-06-17)

    * Integrated G-Force 1.1.6 code into SDL displayer
    * Ported G-Force Code to SDL
    * Moved the whole SingIt config and data again
      (.xmms/<various> -> .xmms/SingIt/)
    * New simple SDL test displayer
      (to debug various SDL problems)


SingIt 0.1.21 (2002-05-12)

    * Move id3 and ogg tag specific code into its own library (tagger)
    * Separated non visual karaoke widget code (data) from the gtk widget
    * Started an SDL-based plugin
    * Visual time indicator in karaoke widget (o o o . . . .)
    * Wrapper for various id3lib library versions
    * Less skips in the karaoke widget due to better exposure handler


SingIt 0.1.20 (2002-04-04)

    * Overall cleanups (editor, id3 dialog, config dialog, ...)
    * Finished disabled editor funtions
    * Some more OpenGL effects
    * Corrected auto time offset function
    * Consolidate general distributed sound calculation funtions
    * Fixed compatibility bugs with autoconf 2.53
    * "Decoded" GtkCList color management
    * Enabled navigator config dialog
    * Fixed a lyric file parser error


SingIt 0.1.19 (2002-03-12)

    * Change LSong -> SingitSong and made it a gtk class
      (same procedure as SingitConfig in 0.1.18)
    * Fixed --disable-debug-option
    * Added a "show if text found" option to navigator plugin
    * Prepared the karaoke widget for further improvements
    * Plugin interface change (show / hide / toggle includes SingitSong*)
    * Removed standard search path of file home (use ~~ instead)
    * New time offset dialog (more user friendly)
    * Auto time offset function


SingIt 0.1.18 (2002-02-26)

    * Moved config file from .xmms/config -> .xmms/config-singit
      (To preserve your config simply _copy_  .xmms/config -> .xmms/config-singit)
    * Changed editor keyhandling
      Works with Num-Lock / Caps-Lock (= Shift !)
    * Changed song structure checks
    * No more OpenGL errors when OpenGL isn't supported by XFree
    * Fixed some OpenGL bugs - still segfaulting (in NVidia symbols :-(
    * Made home install useable again
    * Rewritten config system - now using GtkObject
    * Support for song position relative lyrics (~~)
    * Totally new configure setup
    * Started new debug system (level based to prevent message flows)
    * Created new editor icons
    * Higher editor accuracy for clicks (clist + sync)
      Patch from Dino Leonardo Sangoi


SingIt 0.1.17 (2002-02-10)

    * New editor funtion - nice text
    * Remove sleep from display thread (config option)
    * Overall cleanups


SingIt 0.1.16 (2001-12-20)

    * Rewritten main thread handling
    * Rewritten karaoke widget
    * Every plugin adapted to new thread code
    * Correct localization handling
    * Improved OpenGL plugin
    * Splitted refresh (visual) and check (file) code into different threads
      (Much less GDK / GTK hickup)


SingIt 0.1.15 (2001-06-30)

    * Many multi-threaded cleanups
      - hopefully no more crashs by out of sync
    * Rearranged the editor
    * OpenGL plugin still crashes....


SingIt 0.1.14 (2001-06-07)

    * Switched from g_timeout to pthreads
      (hopefully everything is thread-safe now)
    * Implemented correct karaoke widget class (old one secfaulted with pthreads)
    * Some work on the OpenGL displayer (still unuseable...)


SingIt 0.1.13 (2001-05-22)

    * Plugin support
      (every displayer has its own lib like xmms plugins)
      Supported plugins:
      - Karaoke window (old main window)
      - Navigation window (old navigation window)
      - Fullscreen (!new!)
      - OpenGL (!new - switch in configure!)
    * New editor mode (just visual - no logic so far)
    * Code cleanups (karaoke widget / editor)


SingIt 0.1.12 (2001-04-29)

    * New filenames and internal structures
    * Moved old "clist"-karaoke widget into another window
        - its now a kind of navigator
    * New drawing code for the karaoke widget
    * New debug code (enable it inside the plugin config)
    	- it's still possible to drop the whole debug code from the plugin
    * Updated to libtool 1.4


SingIt 0.1.11 (2001-02-18)

    * Time offset changer (has anyone a better description...?)
      Expl. Select some lines in the editor containing tags. Then hit "Change time of selection".
      A box with a spinbox appears. Enter the time you want to add (- = sub) to the selection.
    * First version of a jumping ball...


SingIt 0.1.10 (2001-02-04)

    * Check consistency of sync lyrics in editor
      (! This doesn't work right with multiple start tags in a lyric file !)


SingIt 0.1.9 (2001-01-30)

    * New main window "set messages" code
    * Lots of code cleanups
      (lots of complicated code from the beginning of the development...)
    * Editor text should be consistent so strip html and timetags should work in both modes
    * Use a semaphore per song (should make access more secure...)
    * Use real song structure much less - use secure attached songs
    * Disabled HTML-Exporter page, since old export modes don't work with sync lyrics
      (Just a default one left... thinking of DHTML, CCS... )


SingIt 0.1.8 (2001-01-16)

    * Just bugfixes


SingIt 0.1.7 (2001-01-15)

    * Changed file change recognization again (still not perfect)
    * Rewrote the whole karaoke widget two times
      (first for better synchronization,
       second to remove horrible flickering - now it uses pixmaps)
    * Simplyfied synchronization between scroll list (clist) and karaoke widget
    * Rewritten lyrics scan code (better for editor)
    * Working color support for my karaoke widget ;-)
    * Rewritten much clearer line selection code for list widget
      (singit_main.c - set_new_clist_lyric_line)
    * See new lyrics sample - synchronized (Mel_C._-_I_Turn_To_You.txt)


SingIt 0.1.6 (2000-12-15)

    * Changed file change recognization because old one paralyzed xmms when changeing
      current song position in the playlist
    * Some more development on the karaoke widget (synchronization with text)
    * Ooops - corrected the extended timetags should be [MM:SS:III] not [MM:SS:IIII]
      because the range for milliseconds is from 0-999 ???;-)
      (Old extended one isn't supported anymore !!!)


SingIt 0.1.5 (2000-12-06)

    * Some little development on the karaoke widget
    * Hopefully removed all problems for people without libid3
      (undeclared the whole file -> much easier (more strict, simple but good ;-))
    * Adjustment for "reaction time" - this solution makes it easier to set
      correct extended timetags (current time from xmms - reaction time))
    * Update of the main code for better karaoke widget support


SingIt 0.1.4 (2000-11-20)

    * Implemented id3v1 tag reading functions
    * Should scan id3v2 lyric tags correctly (not tested)
    * Improved support for synchronous lyrics
    * Multiple directories for the lyrics (private / global / ...)
    * Multiple extensions (std: txt, tag)
    * New dialog to edit comma seperated entries
    * Inserted more "#ifdef HAVE_ID3" blocks - should compile without id3lib again
    * Extended Tag-Format to [MM:SS:IIII] Minute / Second / Millisecond
      (The old format is - of couse - still supported :-)
    * Option to configure the timeout (std: 100)
    * All windows are openable from the editor via toolbar buttons
    * Start to write my own karaoke widget (does anyone have tutoricals for gdk ???)


SingIt 0.1.3 (2000-10-20)

    * Created id3 Tag Editor / Dialog (just the interface) (singit_id3dlg.*)
    * Added file_hash and file_size to check updated file instead of rescanning (song.* / singit_sha.*)
    * Adapted / Extended song "class" / structure to support synchronized lyrics (song.*)
      (timestamps use milliseconds as Id3v2-sync_lyrics do)
    * Auto-Resize just changes width not height anymore


SingIt 0.1.2 (2000-10-03)

    * New lyrics window hide code
      (It's a workaround. It seems it isn't possible to correctly hide an unmaped window
        [a window which is visible, but on an other desktop].
       The only way I found is to hide the window after the window is maped.)
    * HTML export configuration config page


SingIt 0.1.1 (2000-09-26)

    * Fixed the bug when checking second lyric position
    * Implement new "user wanted" features
    * Fixed a bug when starting the creator from the config dialog


SingIt 0.1.0 (2000-09-25)

    * Bugfixes
    * Message box dialog widget
    * New HTML tag remove code
    * Now I use "linux version system" (even 0.0.x -> stable, odd 0.1.x -> development)


SingIt 0.0.4 (2000-09-10)

    * Nothing really new - just some tweaks


SingIt 0.0.3 (2000-09-07)

    * Encapsulated the whole config data (create, read, write, free, dialog - singit_config.*)
      (much cleaner and less (no... ?:-) errors (SEGFAULTs) ;-)
    * Using attach / detach mechanism to simplify config and timeout usage (timeout.*)
    * Encapsulated lyrics and token into a song structure (song.*)
      Added save, serialize (stream) funtions (used by lyrics editor)
    * Splitted singit_cfg into singit_status (not saved) and singit_config (saved)
    * Every dialog now uses an init, a clear and a close funtion
      They also contain a private *_status structure for easier cleanup
    * Removed XMMS plugin code from main window (main.c / singit_main.c)
      Better mechanism to free the whole resources


SingIt 0.0.2 (2000-08-26)

    * Totally new handling of lyric token
    * Seeking based on new token list works now correct
    * Subjectively polling time decreased
    * Added "automake / autoconf" structures (lots of work :-(
    * Added internationalization support
    * Improved configuration window
    * Nearly everything changed
      (except main and about window layout ;-)


SingIt 0.0.1 (2000-08-24)

    * Simple token list
    * Automatic selecting of lyric lines works
    * Token scanner works
    * "High" resource usage because of complex polling
    * Simple self written Makefile
    * Seeking crashes program
