2001-01-27  Jonas Borgstrm  <jonas@codefactory.se>

	* configure.in, debian/changelog: Bumped the version number to 0.1.7

	* src/application.c (application_init): Some code cleanup.

	* src/mainwin.c (mainwin_create_toolbars): Changed the "space" accelerator back to play,
	thoma why did you change this?

	* src/plugins/output/alsa/alsa.c (alsa_open): More work on the alsa driver, it works now!

	* src/*.c (about_show): Updated copyright notice.

	* src/*.[ch]: Applied another great patch from Tavis Barr.
	
2000-12-21  Jonas Borgstrm  <jonas@codefactory.se>

	* src/block.c (block_draw): Adding patch from:
	Tavis Barr <tavis@mahler.econ.columbia.edu>
	"I wrote some changes to block.c that cause MixMagic to display the
	starting time and length of a sample in the bottom left-hand corner.
	Following is a diff to that file, relative to the HEAD tag."
	
2000-08-20 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/preferences.h: Added pref-value snap_resistance

	* src/block.c: Changed #define SNAP_RESISTANCE to prefs->snap_resistance

	* src/preferences.c: Loads and saves pref->snap_resistance

	* src/preferences.c: Possible to change prefs->snap_resistance

	* src/preferences.c: snap_resist_scale sensitive only when snap_to_block == TRUE
	
2000-08-15 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/block.c: Fixed some compile-warnings
	
2000-08-14 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/block.c(lower_left_box_motion, lower_right_box_motion): Added check for snap_pos > -1,
	  solving a minor bug

	* src/block.c: Added #define SNAP_RESISTANCE 10, removing those uggly magic numbers

	* src/block.c(upper_half_motion): Removed song_is_dirty(...), why does a selection cause
	  the song to be dirty? Also cleaned the function up a little bit.

	* src/song.[ch]: Added some more const to function-args

	* src/track.[ch]: Added some more const to function-args
	
2000-08-14 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/track.c(track_sort_blocks): Now sorts the order of track->block_list

	* src/plugins/tools/edit/edit.c: Now calls track_sort_blocks. Solving a
	  minor bug.

	* src/block.c(block_configure): Removed block->old_xxx = xxx from
	  function.
	
2000-08-13 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.[ch]: Added dummy-function song_is_playing

	* src/plugins/tools/edit/edit.c(edit_move_start): Fixed an uggly race-condition
	  causing mixmagic to crash if a song is playing and you change the sample

	* src/sample.[ch]: Added function sample_get_filename to prevent accidental
	  overwriting of the filename

	* src/sample.[ch]: Added function sample_set_filename for completeness

	* src/song.c, src/index.c: Now uses sample_get_filename and sample_set_filename
	  to change sample->filename instead of direct-access

	* src/mainwin.c: Uses gnome_error_dialog_parented to align the dialogs with
	  mainwin->toplevel

	* src/sidebar.c(sidebar_init): Column-titles now inactive, i.e does not respond
	  to mouseover and such

	* src/mainwin.c: Fixed a mistake regarding #define's for toolbar-button-locations

	* src/mainwin.c(mainwin_repeat_toggled): Using gtk_toggle_button_get_active
	  instead of reading the value directly

	* src/sidebar.c(sidebar_init): Removed all the dnd-code

	* src/sidebar.c: Added functions sidebar_enable_drags, sidebar_disable_drags,
	  sidebar_button_press

	* src/sidebar.c(sidebar_button_press): Checks to see if selected file is
	  a directory or a file, and disables/enables drags accordingly
	
2000-08-12 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.c: The progressbar now reflects the song->marker_position compared
	  to song_get_length(...)
	
2000-08-12 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.[ch]: Added function song_get_sample_by_id

	* src/song.c(song_load): Code now handles missing samples, displaying
	  an gnome_error_dialog

	* src/block.c(block_load): Added a return-value. Code also handles
	  missing samples.
	
2000-08-11 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/block.c(lower_half_motion): Fixed a bug causing different blocks to snap "wrong"
	  when zooming.

	* src/block.c(lower_half_motion): Cleaned the code up a tiny bit
	
2000-08-11 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/sample.[ch]: Added function sample_get_length - computes the effective length
	  of the sample.

	* src/plugins/tools/edit/edit.c(edit_move_apply_cb): Fixed a bug causing a sigsegv if
	  new_sample->length > old_sample->length.

	* src/track.c(track_drag_data_received): Now using sample_get_length
	
2000-08-10 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.[ch]: Made the args to a few functions const
	
2000-08-10 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.[ch]: Added function song_free_sample

	* src/block.[ch]: Added function block_draw, draws the waveform, envelopes

	* src/block.c(block_configure): Removed all drawing-code and placed in function block_draw

	* src/plugins/tools/edit/edit.c(edit_move_apply_cb): Fixed a minor bug, now possible to
	  change sample of a block.
	
2000-08-09 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/plugins/tools/edit/edit.c: Changes now calls song_set_dirty

	* src/song.[ch]: Added function song_get_track_count

	* src/song.c: Added function song_move_block

	* src/plugins/tools/edit/edit.c: Removed the align-tool

	* src/plugins/tools/edit/edit.c: Added a "move"-tool, now possible to move a block to a 
	  certain track. Also possible to change the sample of a block. (NOTE, possible making 
	  mixmagic a wee bit less stable... have to check more...)

	* src/block.c: Fixed a strange misprint, parent_class was set to GtkVBoxClass and not
	  GtkDrawingAreaClass as block.h suggests
	
2000-08-09 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/preferences.[ch]: Centers pref_win above parent-window

	* src/plugins/.../wavwriter/configure.c: Changed the gtk_entry to a gnome_file_entry

	* src/plugins/.../oss/configure.c: Replaced gtk_entry with gnome_entry

	* src/plugins/.../esound/configure.c: Replaced gtk_entry with gnome_entry
	
2000-08-09 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/sidebar.c: Added function chdir_up

	* src/sidebar.c(sidebar_update_list): Fixed bug causing the sidebar to break 
	  if the directory didn't exist.
	
2000-08-08 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/track.c: Instead of setting the track-size, I now set the layout-size
	
	* src/mainwin.c: Added a few defines
	
2000-08-07  Jonas Borgstrm  <jonas@bengburken.net>

	* po/ru.po: Added russian translation.

	* po/POTFILES.in: Added missing files.
	
	* po/update.pl: Added a perl utility.

2000-08-06  Jonas Borgstrm  <jonas@bengburken.net>

	* debian/rules: Removed CFLAGS

	* AUTHORS: Updated my email, added Thomas Nyberg.

	* po/sv.po: Updated Swedish translation.

2000-08-03 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/*.c: Fixed all warnings received during compiling
	
2000-08-03 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.c: Song starts at last track when loading - makes importing possible

	* src/mainwin.c (mainwin_show_open_dlg): Added function to make importing easier

	* src/mainwin.c: Now possible to import a mmsong into and already open
	
2000-08-03 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/track.[ch]: Renamed track->pan_spin_button to track->pan_hscale

	* src/track.[ch]: Changed the pan-spinner to a hscale and rearranged the
	  track-layout a bit
	
2000-08-03  Jonas Borgstrm  <jonas@bengburken.net>

	* debian/*: updated debian package.

	* src/song.c: Removed som debug messages.

	* configure.in: MixMagic 0.1.6

	* mixmagic.spec.in: Changed email address.

2000-07-26 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/index.c(index_get_average): Probably fixed a bug causing mixmagic to 
	crash when playing around with the blocks.
	
2000-06-25  Jonas Borgstrm  <jonas@bengburken.net>

	* src/*.[ch]: Updated copyright notice, and changed my e-mail address.

	* src/plugins/tools/edit/edit.c: Changed it not to create very small blocks.
	Removed "static ToolPlugin *plugin" from g_module_check_init, it was shadowing
	a global variable.

2000-06-22 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/block.c: Added a function block_tool_menu_item_destroy, thus fixing a small memleak
	
2000-06-21 Thomas Nyberg <thomas.nyberg@linux.nu>

	* configure.in: Added GNOME_COMPILE_WARNINGS

	* src/preferences.c: General and Output now separated

	* src/plugins/tools/edit/edit.c: Added an experimental align-tool
	
2000-06-21 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/plugins.h: Added struct _PluginCBInfo

	* src/block.c: Added code to execute the tools (memleak is caused though)

	* src/index.c: Corrected a buffer-overflow

	* src/plugins/tools/edit/Makefile.am: Added the same flags as src/Makefile.am includes

	* src/plugins/tools/edit/edit.c: Added create_ cut/copy/delete functions

	* src/block.c(block_subblock_new): Removed function, don't need it
	
2000-06-20 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/plugins/oss/oss.c: Changed checks for fd == -1 to fd != -1
	
2000-06-20 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/plugins/esound/configure.c: Added a simple config-window

	* src/block.c: Added code for creating a Tools-menu
	
2000-06-19 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.c(timeout_update_marker): wrapped function in gdk_threads_enter()

	* src/plugins/tools: Added directory

	* src/plugins/tools/edit: Added directory

	* configure.in: Added the new Makefile's

	* src/song.h: Added Block *selected_block, to simplify things

	* src/block.c: Code to set/unset Song->selected_block

	* src/plugins.[ch]: Added tools-plugins

	* southpark: Killed Kenny

	* src/plugins/output/esound: Added directory

	* src/plugins/output/esound/esound.c: Added test-support for esound - works for me :)

	* src/plugins/output/esound/esound.c: Rewrote everything, support for different hosts added
	
2000-06-19 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/block.c: Fixed a bug in selection, selection stays when right-button clicked

	* src/block.c: Added function block_subblock_new(...) To create blocks from selections
	
	* src/block.c: Added new option, create-subblock, creates a new block from a selected area
	
2000-06-18 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/song.[ch]: Added a song_track_new(...) funktion, simplifies things in track

	* src/track.c: Handles drags from gmc, and handles dropping of multiple files

	* src/sidebar.c: Changed format on dragdata to match gmc's
	
2000-06-18 Thomas Nyberg <thomas.nyberg@linux.nu>

	* src/about.c: Added code to make sure only one about-window is visible

	* src/application.c: Added code to make glib and Gtk+ thread- aware/safe

	* src/about.c: Uses gnome_dialog_set_parent to center the about-box

	* configure.in: Added checks for gthread

	* src/Makefile.am: Added GLIB_LIB, and GLIB_CFLAGS include's

	* Changelog: Corrected some dateproblems ;)

	* src/plugins/output/oss/oss.c: Added gnome_error_dialogs instead of g_print

	* src/plugins/output/wavwriter/wavwriter.c: More gnome_error_dialogs here too
	
2000-06-17  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.[ch]: Added copy on shift-drag. Thanks to Xavier HOSXE.

	* src/song.c: Fixed some zoom bugs.

2000-06-07  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/mixmagic.h: Added TargetType.

	* src/sample.c: Removed some debug messages.

	* src/sidebar.c: Fixed an assertion and updated the dnd code.

	* src/song.c: Improved the zoom code.

	* src/track.c: Fixed an assertion and updated the dnd code.

2000-06-06  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/mainwin.c (mainwin_size_allocate): New function. It saves the windows 
	size using gnome-config. Added some error messing dialogs.

	* src/mixer.c: Set thread_running to false on plugin->init failure.

	* src/sidebar.c: Use song_get_sample. To get the sample.

	* src/song.c (song_get_sample): Made it work with 

	* src/track.c: Use song_get_sample. To get the sample.

	* src/plugins/output/oss/Makefile.am: Added configure.c
	
	* src/plugins/output/oss/oss.c: Made the output device configurable.
	
	* src/plugins/output/oss/configure.c: New file. Plug-in configure dialog.
	
	* src/plugins/output/wavwriter/Makefile.am: Added configure.c
	
	* src/plugins/output/wavwriter/wavwriter.c: Made the output file configurable.

	* src/plugins/output/wavwriter/configure.c: New file. Plug-in configure dialog.
		
	
2000-06-06  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c: Call song_set_dirty when editing envelopes.
	Changed some colors.

2000-06-04  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/sidebar.c: More sidebar work.

2000-06-04  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/stock/Makefile.am: Added dir-close.xpm.

	* src/stock/dir-close.xpm: New file

	* src/sidebar.[ch]: More sidebar work.

	* src/mainwin.c: Add the sidebar to the left on the mainwin.

	* src/song.c: Changed x_scale to something more sane.

	* src/track.c: Added drag n drop support.

2000-06-03  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/Makefile.am: Added sidebar.[ch].

	* src/sidebar.[ch]: Started to work on a sidebar.

	* src/mainwin.[ch]: Add the sidebar to the left on the mainwin.

2000-06-01  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/track.[ch]: Made the "insert sample" file selector common to all tracks.

2000-06-01  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/application.c: Enabling setlocale (LC_NUMERIC, "C"); again.

	* src/block.c (lower_left_box_motion), 
		(lower_right_box_motion),
		(lower_half_motion): Added snap to block support.

	* src/loopblock.c(lower_left_box_motion), 
		(lower_right_box_motion): Added snap to block support.

	* src/preferences.[ch]: Added snap to block as a gtk_check_button to the preferences dialog.

	* src/song.[ch] (song_get_snap_position): New function, returns the position of the
	nearest "snap".

2000-06-01  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/*.c: Added localization support.

	* po/sv.po: Added Swedish translation.

	* po/POTFILES.in: new file.

2000-05-27  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/application.c (application_init): SET LC_NUMERIC to "C".

	* src/block.c (block_update): Set the Song's "dirty" flag.

	* src/mainwin.[ch]: Added a "do you want to save your changes" dialog.

	* src/song.[ch]: Added song dirty feature, song_is_dirty == TRUE, when the song
	needs to be saved to disk.

2000-05-24  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/plugins.c (plugins_scan_dir): call closedir to fix memory leak.

2000-05-13  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c: Added "select all" and "convert to loopblock" features.

	* src/index.c (index_get_average): Updated formula.

	* src/loopblock.c (configure_event): use float precision.

	* src/mixer.c (mixer_play_sample_and_delete): New function.

	* src/sample.c: Only create an index if appbar != NULL.

	* src/track.c: Added play button to "insert sample" dialog.
	
2000-05-13  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c (configure_event): Added mono sample support.

	* src/loopblock.c (configure_event): Added mono sample support.

	* src/index.[ch] (index_get_average, index_create): Added mono sample support.

	* src/mixer.[ch]: Added mono sample support.

2000-05-06  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/application.c (application_init): call setlocale (LC_NUMERIC, "en_US").

	* src/track.c: Let the song button get the focus if we use the pan or amp spinn button.

2000-05-06  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c: Made -1 in pan envelopes be left channel.

	* src/mixer.c: Made -1 in pan envelopes be left channel.

	* src/track.c: Update track panning..

2000-05-06  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/preferences.c: Make dialog modal.

	* src/index.c (index_get_average): Fixed loopblock bug.

2000-05-06  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/preferences.c: Added "configure" and "about" buttons.

	* src/plugins/output/oss/Makefile.am: Added @GNOME_CFLAGS@

	* src/plugins/output/oss/oss.c: Added about box.

	* src/plugins/output/oss/wavwriter.c: Added about box.

2000-05-06  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.[ch]: Renamed vol to amp.

	* src/loopblock.c: Renamed vol to amp.

	* src/mixer.[ch]: Added track->pan support.

	* src/song.[ch]: Save track->mute, track->amp and track->pan.

	* src/track.[ch]: Added track->amp and track->pan.

2000-05-05  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.[ch]: Converted the selection_start and selection_end to sample type.
	Made the selection extendable by pressing CTRL.

	* src/index.c (index_get_average): Fixed possible segmentation fault.

	* src/mixer.c: Fixed compiler warning.
	
2000-05-05  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* configure.in: Adding src/plugins/output/wavwriter/Makefile.am, Added OSS presens checking.

	* acconfig.h: Added HAVE_SYS_SOUNDCARD_H

	* src/mixer.c: Chaged default vol_scale.

	* src/plugins/output/oss/oss.c: updated oss driver.
	
	* src/plugins/output/oss/Makefile.am: updated oss driver.

	* src/plugins/output/wavwriter/Makefile.am: New file.

	* src/plugins/output/wavwriter/wavwriter.c: New output plug-in. Writes the output to $HOME/mixmagic.wav.

2000-05-05  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/Makefile.am: added preferences.[ch].

	* src/application.[ch]: Call preferences_load ()

	* src/mainwin.c: Added a preference menu item.

	* src/mixer.c: Check if the output_plugin == NULL

	* src/plugins.c: Updated the plugin interface.

	* src/preferences.[ch]: New preferences dialog.

	* src/plugins/output/oss/oss.c: Use OUTPUT_PLUGIN_VERSION.

2000-05-05  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.[ch]: Changing Envelope->y type to gfloat.

	* src/loopblock.c: Pass track->volume to the mixer.

	* src/mixer.[ch]: Updated envelope support, and added track volume support.

	* src/song.c: Slightly changed the fileformat.

	* src/track.[ch]: Added track volume support.

2000-05-04  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* configure.in: Added new Makefiles.
	
	* src/Makefile.am : Added plugins.c and plugins.h.

	* src/application.c (application_init): Call plugins_init.

	* src/mixer.c: Use the new output plugin.

	* src/plugin.[ch]: Load the plugins in $prefix/lib/mixmagic/plugins/

	* src/snd-oss.[ch]: Removed unused files.

	* src/plugins/output/oss/*: New oss output plugin.

2000-05-03  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/mainwin.c (mainwin_new): Fixed posible segfault on open.

2000-04-30  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/mainwin.c (mainwin_rewind_clicked): Scroll the song to the beginning also.

	* src/block.[ch]: Remove the selection when moving. Removed spelling error.

	* src/loopblock.c: Removed spelling error.

	* src/track.c: Correct button_release handling.

2000-04-30  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* debian/* Updated debian build system..

	* mixmagic.spec.in: Updated rpm build system.

	* README: Updated README..

	* configure.in: Changed version to 0.1.1.

	* src/block.[ch]: Added volume and pan envelopes.

	* src/loopblock.c: Rewrote some code.
	
	* src/mainwin.c: Change window title on file load/save.
	
	* src/mixer.c: Updated envelope support.
	
	* src/song.c: Scroll window on playback.
	
2000-04-29  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* debian/* Added debian package information..

	* mixmagic.desktop: Gnome desktop information.

	* Makefile.am: Added mixmagic.desktop installation target.

	* src/Makefile.am: Fixed build environment.

	* src/index.c, src/song.c: Fixed build varning.
	
2000-04-29  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c: Improved the selection drawing code.

	* src/track.c: Improved the selection drawing code.

	configure.in: Changed version number to 0.1.0.

2000-04-29  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/mainwin.c (mainwin_create_toolbars): Rewrote the code to use gnome_app_helper functions.
	(mainwin_repeat_toggled) New function.

	* src/mixer.c: Made the mixer restart from the beginning if song->repeat_flag is TRUE.

	* src/song.[ch]: Added song->repeat_flag, removed unneeded g_print.
	
2000-04-29  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c: Move marker on button_release.

	* src/mainwin.c: Use new icons, and implemented "rewind".

	* src/mixer.c: Use song->marker_position instead of mixer_position.

	* src/song.[ch]: Implemented song->marker_position.

	* src/stock.[ch]: Added new play, stop and rewind icons.

	* src/track.c: Move marker on button_relese.

	* src/stock/Makefile.am: Added play, stop and rewind files.

	* src/stock/stock-play.xpm: New file.

	* src/stock/stock-stop.xpm: New file.

	* src/stock/stock-rewind.xpm: New file.

2000-04-28  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* configure.in: Added src/stock/Makefile

	* src/Makefile.am: Added the stock files.

	* src/application.c (application_init) Call stock_init ();

	* src/block.c (block_update) Call song_update_scrollbar ();

	* src/loopblock.c (loopblock_motion_event) Removed selection code.

	* src/mainwin.c: Implemented Zoom fit, and uses new stock zoom icons.

	* src/song.[ch] (song_get_length), (song_zoom_in/out/fit) New functins

	* src/stock.[ch]: New files (stolen from eog).

	* src/track.[ch]: (track_set_length): New function.

	* src/stock/Makefile.am: New file

	* src/stock/stock-zoom-in.xpm: New file, from eog.

	* src/stock/stock-zoom-out.xpm: New file, from eog.

	* src/stock/stock-zoom-fit.xpm: New file, from eog.

2000-04-28  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/Makefile.am: Added loopblock.[ch]

	* src/block.[ch]: Rewrote some code.

	* src/index.[ch] (index_get_average): New function, returs the average of the index in a certain
	range.

	* src/loopblock.[ch]: New Class. This class inherits from Block. You can make looping blocks now!.

	* src/mixer.[ch] (mixer_mix_sample_into_buffer) new function, factorized from block_mix_into_buffer.

	* src/song.c: Added support for LoopBlock.

	* src/track.[ch]: Added support for LoopBlock.

2000-04-27  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.[ch] (block_mix_into_buffer): New function. This one is factorized out 
	from mixer_mix_blocks.

	* src/mixer.[ch]: mixer_mix_blocks, moved some code to block.c. Made mixer_calc_evelope global.

	* src/mainwin.c: Added an exit item to the file menu.

	* src/index.c (index_create): Reset the progress bar to 0 when done.
	(index_new): Recreate the index if the sample has a newer modification time.

2000-04-24  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/index.[ch]: Update the progressbar on the mainwin while creating the index.

	* src/sample.[ch]: Pass the AppBar pointer to the index class.

	* src/song.c: Pass the AppBar pointer to the sample class.

2000-04-24  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/Makefile.am: Added index.[ch].

	* src/block.c (block_configure_event): Use new indexing feature.

	* src/index.[ch]: New files. Implemented wave file indexing, this improves speed alot.
	
	* src/mainwin.c (mainwin_new): Told the appbar have a progress bar.

	* src/mixer.c (mixer_get_blocks): The mixer can now handle muted tracks.

	* src/sample.[ch] (sample_new): Initialize the new index member.

	* src/song.h: Added a going_unsolo_flag: This helps the tracks going unsolo.

	* src/track.[ch]: Implemented "Mute" and "Solo" features.

2000-04-23  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c (block_configure_event): Added new wave display function.

	* src/track.[ch] (struct _Track): Added new member solo/mute_check_button. 

	* src/song.c (song_remove_block): Keep atleast one empty track at the end of the track_list.

2000-04-23  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.[ch] (block_configure_event): Draw small "handles" on the lower
	left and right corner of the block.

	* src/mainwin.[ch] (mainwin_new): Pass mainwin->appbar to the song_new ().

	* src/mixer.[ch]: Use #define SAMPLE_RATE. Use MIX_BUFFER SIZE of 1 / 11 sec.

	* src/mixmagic.h: #define SAMPLE_RATE 44100.

	* src/song.[ch]: Display the play time on the appbar.

	* src/track.c (raise_widget): only raise if the window is != NULL.

2000-04-23  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/block.c (block_selection_get): Give the block a valid position.

	* src/mainwin.c (mainwin_play_clicked): Call song_play instead of mixer_play.
	(mainwin_stop_clicked): Call song_stop_playback instead of mixer_stop_playback.

	* src/mixer.[ch]: Made mixer_position global. Use a small mixing buffer 1/10 s.

	* src/song.[ch]: Implemented a progress mark.

	* src/track.[ch]: Implemented a progress mark.

2000-04-23  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/mainwin.c (mainwin_about_clicked): New function: Calls about_show.

	* src/about.c (about_show): New function: Displays an about dialog.

2000-04-23  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/main.c (main): small casting change.

	* src/sample.c (sample_unref): Added a debug message.

	* src/mainwin.[ch]: Converted it to a GtkObject. We are also freeing the 
		Mainwin structure on window close.

2000-04-22  Jonas Borgstrm  <jonas_b@bitsmart.com>

	This is a BIG rewrite. Song, Track and Block has been converted to GtkWidgets.

	* src/application.[ch]: New file. Here goes application global code.

	* src/mainwin.[ch]: New files. Here goes Mainwindow UI code.

	* src/block.[ch]: Converted to a GtkWidget.
	
	* src/track.[ch]: Converted to a GtkWidget.
	
	* src/song.[ch]: Converted to a GtkWidget.

	* src/app.[ch]: Removed.

	* src/gtkblock.[ch]: Removed.
	
2000-04-21  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/gtkblock.c (gtk_block_motion_event): The block can now be dragged to a
	different track with the mouse

	* src/mixer.c (mm_mixer_get_blocks): The function now works correctly 
	with overlapping blocks..

	* src/song.[ch] (mm_song_move_block): This function moves a block to a new track.
	
2000-04-20  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/app.c: Connected all menuitem to correct callback function.
	Added Zooming functionality.

	* src/gtkblock.[ch] (gtk_block_configure_event): Only regenerate the 
	pixmap when needed.
	
2000-04-20  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/song.[ch] (mm_song_is_empty): New function, returns TRUE if empty.

	* src/app.[ch]: Implemented the "Open" and "Save" dialog boxes.
	Moved the song initializing from main.c to app.c.

	* src/main.c (main): Moved the MMSong initalizing from main.c to app.c.
	
2000-04-16  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/song.[ch] (mm_song_get_sample): New function, returns a sample struct,
	New or from the hash.

	* src/app.[ch]: The popup menu now has a "Insert sample". It creates a filerequester,
	where the user can import wav file.

	* src/gtkblock.c (gtk_block_realize): Added more wav_gc colors.
	And better selection code.

	* src/sample.c (mm_sample_init): Return FALSE if it isn't a wav file.
	
2000-04-16  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/song.c (mm_song_insert_block): Add the sample to the
	sample hash if it is missing.

	* src/app.[ch]: Pressing space now also start playback.
	If a block has an selection it is played instead of the song.

	* src/gtkblock.c: Better selection code.

	* src/mixer.[ch] (mm_mixer_play_block_and_delete): New function.
	It plays the block and deletes it afterwards.
	
2000-04-16  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/mixer.c: use gint instead of guint32 everywhere.
	
	* src/app.[ch]: Implemented a popup menu. And "Paste".
	
	* src/song.[ch] (mm_song_insert_block): New function.
			(mm_song_delete_block): New function.

	* src/gtkblock.[ch]: Better selection code. And a new popup menu.
	gtkblocks can now be deleted.
	
	
2000-04-15  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/gtkblock.[ch]: Improved block stretching code.
	
	* src/app.[ch]: Added a "Save" callback.
	
	* src/song.c: Implemented saving to an xml file.
	
2000-04-15  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* src/gtkblock.[ch]: Improved selection code.
	
	* src/app.[ch]: mm_app_start now taks one argument (MMApp *).
	
	* src/main.c (main): Call mm_app_start with the new argument.
	
2000-04-15  Jonas Borgstrm  <jonas_b@bitsmart.com>

	* imported sources to CVS.
	
