2000-06-22 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* (TODO), (NEWS):
		+ updated.
	* (debian/changelog):
		+ added 0.1.13 entry.

2000-06-21 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* (debian/rules), (m3x.spec.in):
		+ remove --disable-debugging from the configure
		command-line.
	* (src/m3x-text.c):
		+ various nasty hacks around get_absolute_path,
		so it returns paths beginning with '/' in every
		situation.
	* (TODO), (INSTALL), (NEWS):
		+ updated.

2000-06-19 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGIFX:
		+ (id3xml.c) [id3xml_extract_from]:
			+ if tag == NULL return from the function.
			This avoids a segfault.
		+ (m3x-text.c):
			+ rm [node] works good now, '..' parsing is
			implemented, so rm [node] does not put me
			back to / anymore.
	* MISC:
		+ (configure.in):
			+ bumped version number to 0.1.13
			+ removed --{en|dis}able-debugging
		+ removed src/includes/debug.h, nothing uses it,
		and gdb is much better.

2000-06-18 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (misc.c) [misc_remove_dup]:
			+ allocate misc_strlen + 1 bytes memory
			to avoid segfault.
	* API:
		+ (misc.c):
			+ added misc_resolve_path.
	* DOCUMENTATION:
		+ (TODO):
			+ updated.

2000-06-16 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (m3x_applet.c), (main_clist.c):
			+ now compiles without warnings, a const
			was missing.
		+ (data/m3x.desktop):
			+ Name renamed to Comment, Name=M3X.
		+ (configure.in):
			+ fixed a typo and removed --with-extra-dirs.
		+ (Makefile.am):
			+ does not support --with-extra-dirs anymore.
			+ added dist-hook to chmod -R go-w $(distdir).
			This is required to remove that damn 777 permission
			from the directories. (Why does make dist set
			dir permissions to 777 ?!)
	* MISC:
		+ (configure.in):
			+ bumped version number to 0.1.12

2000-06-15 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (configure.in):
			+ if we have GNOME, we might not have
			ZVT, so check it.
			+ do the same for panel applets.
		+ (app.c), (m3x.c), (m3x_applet.c):
			+ removed sound events, for it segfaults
			on my freshly upgraded system.
		+ (app.c):
			+ [app_set_defaults]:
				+ global.zterm_props.font = g_strdup ("..."),
				a g_strdup was missing, and it caused segfaults
				when we tried to load the configuration.
		+ (about.c), (prefernces.c):
			+ I think I managed to solve the segfault problem...
		+ (xmlmerge.c):
			+ destroy database before exiting
			+ cmdline.name is not used, removed.
		+ (media_dialog.c) [media_dialog_clist_update_hash]:
			+ added sanity checks, so if length_min, length_sec or
			track_no is missing, they are either autodetected
			(track_no), or set to zero.
	* MISC:
		+ (configure.in):
			+ bumped version number to 0.1.11
			+ added id3xml support.
		+ (src/Makefile.am):
			+ include id3xml in bin_PROGRAMS.
		+ (id3xml.c):
			+ new utility to extract id3 tags from mp3
			files, and store them as m3x-xml databases.
	* API:
		+ some restructuring...
	* DOCUMENTATION:
		+ (THANKS):
			+ added Cactus.
		+ (doc/C/utils.html):
			+ added some notes about id3xml.

2000-06-13 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (misc.c) [misc_copy_substring]:
			+ some easy but important fixes.
	* MISC:
		+ (m3x.spec.in):
			+ rewrote %files.

2000-06-12 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (media_dialog.c):
			+ [media_dialog_callback_edit]:
				+ get the id from column 3, not 2.
	* API:
		+ started to comment up the C sources.
		+ (db.c):
			+ added a new element type: object.
			to be used by ud-tree for example.
	* DOCUMENTATION:
		+ updated TODO and TODO.script.
	* OTHER:
		+ changed Source: in m3x.spec.in

2000-06-09 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* MISC:
		+ bumped version number to 0.1.10.
		+ played around with GScanner and some other
		things, but couldn't make anything out of them.
		+ updated TODO.
		+ BUGS: new file.

2000-06-07 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* UI:
		+ added length field to the media_dialog.
	* MISC:
		+ added sounds
		+ updated m3x.spec.in
		+ configure.in:
			+ bumped version number to 0.1.9
	* BUGFIX:
		+ fixed a typo in src/includes/menu.h.

2000-06-06 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (data/xmlmerge.sh.in):
			+ merge only existing files (though merging
			others cause no problem)
		+ (app.c):
			+ icon is loaded with gnome_pixmap_*
		+ (m3x_applet.c):
			+ pixmaps are loaded with gnome_pixmap_*
		+ (db.c):
			+ fixed db_destroy
			+ db_set_element calls db_remove_element
			before setting the new one
		+ (playlist_dialog.c), (media_dialog.c):
			+ take advantage of db_table_copy
	* OTHER:
		+ (db.c):
			+ [db_table_copy]:
				+ convenience function to copy
				databases.

2000-06-05 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (app.c):
			+ [app_launch_m3x]:
				+ when running m3x-text, output a shell script,
				and run that. It requires /bin/sh, and cat and
				m3x-text to be on the path. And rm of course :)
			+ [app_callback_import_filesel]:
				+ importing modifies the database, so
				global.db_state should be set accordingly.
		+ (m3x_applet.c):
			+ [m3x_applet_target_drag_data_received]:
				+ fixed dnd drop support. (damn GTK accepts
				image/gif even though I told it to accept
				text/plain only)
	* OTHER:
		+ (configure.in):
			+ added dmalloc support
			+ bumped version number to 0.1.8
		+ (app.c):
			+ [app_db_close_really]:
				+ restored db_destroy, for
				it appears something else caused those
				segfaults...
		+ (main_clist.c):
			+ made it a drop destination.
	* DOCUMENTATION:
		+ THANKS: initial revision.
		+ data/xmlmerge.sh.in:
			+ a bash/zsh script that will eventually replace
			the xmlmerge utility.

2000-06-04 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* APPLET:
		+ added preferences dialog
		+ added wrappers for preferences.c, app.c,
		zterm.c.
		+ saves session (applet-sm.c)
	* BUGFIX:
		+ (sm.c):
			+ save session in sm_callback_save_myself.
		+ (zterm.c), (misc.c):
			+ a few fixes to pass -ansi -pedantic
			without warnings.
	* OTHER:
		+ (app.c):
			+ app_launch_m3x ( renamed from *_text ):
				+ launch m3x OR m3x-text.
				+ if filename is specified, open it.
		+ (m3x-text.c):
			+ modified -e behaviour (does not set quiet
			automatically)
		+ reorganized source tree layout:
			+ extracted headers from prog-*.h, so
			every .c file has its corresponding .h file.
			+ m3x.h just #includes the other .h files.
			+ moved all .h files to src/includes

2000-06-03 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (m3x-text):
			+ stripwhite did not work correctly...
			+ added some {} blocks, so gcc 2.9x
			does not display so many warnings.
			+ comment lines do not lead to a segfault
			anymore.
		+ (app.c):
			+ [app_db_close_really]:
				+ do not use db_destroy, for it
				does not work yet.
	* OTHER:
		+ made the code pass -pedantic -ansi without warnings
		or errors (the warnings that occur are NOT in my code,
		they are in GNOME, glib and co)
		+ (m3x-text):
			+ added config stream <[stdin|script]>
		+ (m3x_applet.c):
			+ the GNOME applet.
		+ (about.c):
			+ added some #ifdefs, so the applet
			can use it too.
		+ data/Makefile.am:
			+ hacked to support conditionals
		+ configure.in:
			+ added AM_CONDITIONAL thingies.
			+ added --without-applet option.

2000-06-01 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (configure.in):
			+ test for $no_gnome_config when willing
			to decide if GNOME is present or not.
			$GNOME_CONFIG can be set, still, GNOME is
			unusable.
		+ (xml.c) [xml_save_database]:
			+ xmlFreeDoc before returning.
		+ (zterm.c):
			+ the global zterm_window was a mistake. When
			one opened multiple m3x-texts, only the first
			one could be closed properly. Fixed.
		+ (about.c):
			+ homepage URL is madhouse.lonyay.edu.hu/m3x/,
			not madhouse.lonyay.edu.hu.
		+ (m3x-text.c) [stripwhite]:
			+ start end at strlen ( string ), not
			strlen ( string ) - 1.
			+ do a poptFreeContext ( ... ) when we're
			done with the command line parsing.
		+ (misc.c):
			+ still some more fixes around misc_replace
			+ fixed misc_get_file_name, so it does not
			strip the first char if the path doesn't
			contain any '/'s
		+ data/README.examples:
			+ currected a typo
	* DOCUMENTATION:
		+ INSTALL:
			+ added Known Troubles section, because I had
			some problems building m3x-text on a Debian
			woody system.
		+ doc/C/m3x.html:
			+ added download URLS, including okki.lefute.com.
			(Thanks again!)
	* OTHER:
		+ (configure.in):
			+ bumped version number to 0.1.6
			+ hacked on it, so you can now build all the
			applications separately. Also made checks more
			intelligent when they have to select which
			application to built and which not.
		+ (m3x-text.c):
			+ renamed $filename to $filepath, $filename
			contains only the filename now.
			+ added $count.
			+ added $time and $date.
			+ made dependency on libpopt optional. If you don't
			have it, you won't have command-line paramaters.
		+ (about.c), (app.c), (media_dialog.c), (playlist_dialog.c),
		(ud_tree.c), (db_props.c):
			+ GNOME_DIALOG can be casted to GTK_WINDOW, so
			why cast to a GTK_WINDOW ( & GNOME_DIALOG ( ... ) -> window )
			thing ?
			+ GNOME_APP can be casted to GTK_WINDOW too...

2000-05-31 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGIFX:
		+ (misc.c) [misc_replace]:
			+ this function segfaulted in some weird cases,
			now it is cured.
		+ (preferences.c):
			+ fixed some nasty bugs that could lead to a segfault.
		+ (m3x-text.c), (xmlmerge.c), (m3x.c):
			+ only call setlocale, if HAVE_SETLOCALE is defined.
		+ data/*:
			+ fixed scripts that called the obsolete quit command
			+ updated README.examples
	* UI:
		+ (media_dialog.c):
			+ use ui_common_button_with_pixmap to create
			the buttons.
		+ (zterm.c):
			+ new window to launch m3x-text in.
		+ (preferences.c):
			+ added a new tab for the m3x-text terminal
			configuration.
	* OTHER:
		+ (m3x-text.c)
			+ [stripwhite]:
				+ if string is inside quotation marks,
				strip them.
			+ added the 'rc' command.
			+ added prompt and xterm title customization
			support.
			+ added history load/save/clear support.
		+ (prog-common.h):
			+ common things in prog-m3x.h and prog-xless.h
		+ (i18n.h):
			+ #include locale.h if HAVE_LOCALE_H is defined.
		+ minor changes in debian/rules
	* DOCUMENTATION:
		+ renamed INSTALL to INSTALL.Basic, and wrote a new one.
		+ updated screenshots

2000-05-30 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (app.c) [app_not_implemented]
			+ this dialog should have been modal, now it is.
		+ *.h: added #ifdef __[name]__ thingies.
	* UI:
		+ (ud_tree.c):
			+ dialog to edit the user_data structure.
		+ (menu.h):
			+ added '/Edit/Change user specified data'.
		+ (ui-common.c):
			+ ui_common_button_with_pixmap: create a button
			with a gnome_stock pixmap and a label on it.
		+ (main_buttons.c):
			+ take advantage of the new ui_common function.
			+ packed buttons into a hbox, instead of a table.
			Looks better this way.
	* DOCUMENTATION:
		+ added note about the new menuitem, but it is not
		documented yet.
	* PACKAGING:
		+ rewrote debian/rules, and redid almost the whole
		debian/ directory.
	* OTHER:
		+ (m3x-text.c):
			+ made 'get /' working, it now lists the
			contents of the root node.
		+ xmlmerge and m3x-text does not depend on GNOME
		libraries anymore, so I can make a separate
		package (deb, rpm) for them.
		+ (configure.in):
			+ added libpopt check. This made possible
			to remove GNOME dependencies from m3x-text.
			+ consider xmlmerge a text-client
		+ (src/Makefile.am):
			+ made xmlmerge an extra program.

2000-05-29 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (misc.c) [misc_clean_path]:
			+ remove trailing slashes, so
			cd /name/ does not crash m3x-text.
		+ (m3x-text.c):
			+ import returns correct filename in its message.
			+ import warns if no filename was passed to it.
		+ (xml.c) [xml_save_database]:
			+ uhh... broke database saving somewhere
			around 0.1.3, now it is fixed.
	* OTHER:
		+ (m3x-text.c):
			+ reorganized the command parser a bit.
			+ added check to the help command, now
			a help request on an unknown command is
			reported, not just silently ignored.
			+ getting a hash is equal to listing it.
			(however get / does not list the root node yet)
			+ changed the 'quit' command to 'exit', so
			it does not conflict with quiet, and completion
			works better.
		+ (xml.c) [xml_load_user_data]:
			+ new function that loads the <user_data>
			structure.
		+ configure.in:
			+ bumped version number to 0.1.5
	* DOCUMENTATION:
		+ updated, because m3x-text is no more experimental.
		+ added m3x-text screenshot.

2000-05-28 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (sm.c) [sm_init]:
			+ apply the loaded preferences.
	* UI:
		+ labels are now aligned to the left, not centered.
	* OTHER:
		+ configuration can be saved to the global
		configuration file too.
		+ (m3x-text.c):
			+ added 'version' command.
			+ implemented ls / (more to come later)
	* DOCUMENTATION:
		+ updated documentation, new screenshots, etc.

2000-05-27 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (m3x-text.c): fixed potential segfault bug,
		when only an <enter> was pressed.
		+ (db.c):
			+ [db_lookup_subtable]:
				+ added path cleaning.
				+ if path is NULL, return table.
		+ (m3x.spec.in):
			+ fixed docdir path, so documentation
			is correctly installed into the rpm.
		+ due to the total rewrite of the internal
		database handling, most of the memory leaks are
		eliminated. At least I hope so...
	* API:
		+ again, rewrote the internal database handling,
		it is now more error-proof, although it is a bit
		slower and bigger. But not much.
	* GUI:
		+ a user can now import databases (merge them into
		the actual one)
		+ m3x-text can be launched from the GUI.
	* OTHER:
		+ (m3x-text.c):
			+ added command line options.
			+ added quiet mode.
			+ added script parser mode.
			+ implmented the ls command.
		+ (misc.c):
			+ added misc_remove_dup
			+ added misc_clean_path (currently the same
			as misc_remove_dup ( [path], '/' ) )
		+ (configure.in): bumped version number to 0.1.4

2000-05-26 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ fixed many-many bugs in m3x-text.c, so
		only a few things are missing from it.
		+ fixed up the m3x scripts in data/
	* DOCUMENTATION:
		+ updated the TODO list.
	* OTHER:
		+ some hacking in src/Makefile.am and
		configure.in to make building of m3x-text.c:
			+ optional
			+ automatic (if libreadline isn't
			installed, don't build it)

2000-05-25 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ fixed the bug in multiple selection handling
		(damn GTK+ documentation, not a useful word about
		GtkCList->selection.)
			+ some useless code eliminated, uses less
			memory, and it is probably faster this way.
	* DOCUMENTATION:
		+ finished the HTML documentation.
	* UI:
		+ converted the database name dialog to a general
		property box, so I can easily add more properties
		later.
		+ added the m3x-text utility, a text-mode frontend.
	* OTHER:
		+ some header and file rearranging.
		+ added build-depends to debian/control

2000-05-25 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* DOCUMENTATION:
		+ HTML documentation almost completed. Only
		the "Menus" section and the hungarian translation
		is missing.

2000-05-24 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (xmlmerge.c):
			+ fixed command-line handling, so name
			can be set now.
	* API:
		+ added wrapper sources for xmlmerge.
		+ some new helper functions (to be used during
		the view process)
	* OTHER:
		+ removed all dependency on the old database
		handling routines.
		+ man/xmlmerge.1x: updated to new command line
		syntax, and added the "EXAMPLES" section.
		+ removed debugging messages from functions that
		are bullet proof. (So every functions that has
		debug messages is considered unstable)
		+ check if the file exists before saving.

2000-05-23 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (main_clist.c):
			+ fixed the bug that caused the conflict
			between autosort and remove/edit.
	* OTHER:
		+ renamed db.c to main_db.c, and started working on
		the new database API: db.c.
		+ (configure.in): bumped version number to 0.1.2

2000-05-22 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* BUGFIX:
		+ (app.c) [app_prepare]:
			+ call app_refresh_title after loading the
			database from the command line.
		+ (main_clist.c) [main_clist_update_hash]:
			+ return immediately if key does not begin with
			the string 'id'.
		+ (sm.c) [sm_request_save]:
			+ pass INTERACT_NONE instead of INTERACT_ERROR.
		+ (sm.c) [sm_callback_save_myself]:
			+ only display the dialog if
			interact_style != GNOME_INTERACT_NONE
		+ (misc.c) [misc_replace_amp]:
			+ test if source is NULL, and if it is, return
			imediately.
	* OTHER:
		+ (misc.c) [misc_begin_with]:
			+ nice function that decides if a string begins
			with a substring, or not.
		+ (misc.c) [misc_get_genres]:
			+ sort the list before returning.
		+ data/example_db.xml:
			+ added Tiamat: Skeleton Skeletron
			(too good to be missed)
		+ added support for the <track_no> element in the database.
		+ updated TODO
		+ configure.in: bumped version number to 0.1.1
		+ EXTRA PROGRAM: xmlmerge.
	* Database:
		+ added the <name></name> tag.
		+ track_no tag inside a <track> element.
	* UI:
		+ db_name_dialog.c: a dialog for changing the name of
		the database.
		+ added icons for some menuitems.
		+ added a HREF thingy to the about box.
		+ app_db_new calls db_name_dialog_display after closing
		the database.
		+ added an icon for the main window.
		+ added track_no to playlist_dialog.

2000-05-21 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* UI:
		+ packed the buttons into a table, and the table to
		the dock of the app.
		+ changed the release_date widget to gtk_spin_button.
		+ changed selection mode, so editing/removing multiple
		entries is now possible.
		+ if autosorting is on, the list isn't reorderable, if
		it is on, the list becomes reorderable (the main CList
		only, this does not affect the playlist yet)
		+ Added Select All/Unselect All to the menu, and of
		course support function to main_clist.c
	* BUGFIX:
		+ refresh app title after a db_save too.
		+ call misc_replace_amp before storing an element in the
		xml database, so the problematic '&'s are replaced by
		'&amp'.
		+ frees up at least some of the memory allocated for
		different things in a hash before destroying the hash
		itself.
	* REAMDE:
		+ added note about the mailing list.
	* man/m3x.1x:
		+ finally wrote that manpage thingy...

2000-05-20 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* src/*.c:
		+ made the media_dialog use a copy of the db entry,
		so if one clicks cancel, the database is not updated.
	* src/main_clist.c:
		+ (main_clist_set_sort_column): if the old sort_column is
		the same as the new one, then set sort order instead.
	* src/app.c:
		+ (app_db_open): new function.
	* src/xml.c:
		+ added database loading functions.
	* src/sm.c:
		+ GNOME session management support functions.
	* src/misc.c:
		+ a bunch of useful routines.
	* src/preferences.c:
		+ the preferences dialog and support routines.
	* packaging: added rpm spec and the debian/ subdir.
	* po/POTFILES.in: added src/menu.h and src/xml.c
	* configure.in: bumped version number to 0.1.0

2000-05-19 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* src/*.c:
		+ many-many API changes, fixes and improvements.
	* po/POTFILES.in:
		+ added src/db.c, just in case...
	* doc/: documentation directory.
	* TODO: removed finished entries.

2000-05-18 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* src/*.c:
		+ added debugging messages.
		+ fixed stupid segfault bug, so adding entries works fine now.
	* src/app.c:
		+ added app_not_implemented function.
	* src/menus.h:
		+ binded all unimplemented entries to app_not_implemented.
	* data/: brand new directory.
	* configure.in: bumped version number to 0.0.3

2000-05-17 Gergely Nagy <algernon@madhouse.lonyay.edu.hu>

	* src/*.c: + reworked internal database handling. It works quite well
		now.
		   + when the user closes the media_dialog, all its children
		windows are closed too.
	* AUTHORS, NEWS, TODO: now they contain some words.
	* Makefile.am: added TODO to the doclist.
	* configure.in: bumped version number to 0.0.2
