2005-07-12 Iain <iaingnome@gmail.com>

	* marlin-window.h: Add a prototype to stop gcc bitching.

2005-03-18 Iain <iaingnome@gmail.com>

	* marlin-clipboard-info.[ch] (fill_in_clipboard_details): Set the src.
	(dialog_response_cb): Remove the help callback.
	(marlin_clipboard_info_new): Add a src label and remove the Help
	button.

2005-03-16 IAin <iaingnome@gmail.com>

	* marlin-progress-window.c (marlin_progress_window_new): Hide the
	subprocess label until there is a subprocess to report about.

2004-10-18 Iain <iaingnome@gmail.com>

	* other/gtkvumeter.[ch]: Change a lot of the code to work the way I want
	it to.

2004-10-18 Iain <iaingnome@gmail.com>

	* marlin-record.c: Hook the level meters up to the level plugin.

2004-10-08 Iain <iaingnome@gmail.com>

	* dialogs/marlin-vorbis-dialog.c: Write.

2004-09-29 Iain <iaingnome@gmail.com>

	* marlin-cdda-record.c (ri_op_finished): Don't destroy stuff.	
	(rip_track_in_list): Get the track title and set the progress window
	sub process.
	(pipeline_shutdown): Free stuff.
	
	* marlin-progress-window.c: Make HIGgy

	* marlin-window.c: Use new progress stuff.
	
2004-09-29 Iain <iaingnome@gmail.com>

	* dialogs/marlin-burn-dialog.c (burn_op_finished): Shuffle code around
	so that the wav progress dialog is always closed before burning starts

2004-09-28 Iain <iaingnome@gmail.com>

	* dialogs/marlin-burn-dialog.c (recorder_insert_cd_cb): Copy the nice
	dialog from ncb.

2004-09-25 Iain <iaingnome@gmail.com>

	* dialogs/marlin-burn-dialog.c: Dialog for burning to CD and pipeline
	for encoding to the correct type of wav.

2004-09-17 Iain <iaingnome@gmail.com>

	* marlin-window.c: Rewrite for new sample selection stuff.

2004-09-16 Iain <iaingnome@gmail.com>

	* marlin-progress-window.c (marlin_progress_window_new): Unref the 
	wait cursor.

2004-09-13 Iain <iaingnome@gmail.com>

	* marlin-window.h: Compile fixes from Christophe Fergeau

2004-09-11 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_selection_scale): The dreaded 
	UndoContext gets here as well.
	(scale_selection_undo): Undo,
	(scale_selection_redo): Redo...

	* marlin-window-menu.c (selection_halve): Create an undo context.
	(selection_double): Ditto.

2004-09-10 Iain <iaingnome@gmail.com>

	* dialogs/marlin-information-dialog.c (marlin_information_dialog_new):
	Store the original info.
	(properties_response): Set up the undo
	(set_info_undo): Undo
	(set_info_redo): Redo.
	(set_info_destroy): Free resources.

2004-09-09 Iain <iaingnome@gmail.com>

	* marlin-cdda-record.c (fill_in_marker_model): Pass NULL as ctxt.

	* marlin-window.c (view_key_press): 
	(marlin_window_delete):
	(marlin_window_clear):
	(marlin_window_invert):
	(marlin_window_crop):
	(marlin_window_paste):
	(mixer_response_cb):
	(adjust_volume_responsE):
	(insert_silence_response):
	(marlin_window_replace): Create undo contexts.

	* dialogs/marlin-adjust-channel-dialogs.c (remove_channels_response):
	(add_channels_response): Create contexts.

2004-09-09 Iain <iaingnome@gmail.com>

	* marlin-window-menu.c (process_swap_channels): Do the undo stuff,
	unref the sample.

2004-09-08 Iain <iaingnome@gmail.com>

	* marlin-window-menu.c (edit_undo): Pass to window undo.
	(edit_redo): Pass to window redo.

	* marlin-window.c (finalize): Unkook from signal, unref undo manager.
	(undo_changed): Update edit actions.
	(set_property): Hook up to signals.
	(marlin_window_set_edit_name): Update the undo/redo names.
	(marlin_window_undo): Undo!
	(marlin_window_redo): Redo!

2004-09-08 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_new): Get the undo manager from the
	sample.

2004-09-08 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_new): Create an undo manager.
	(marlin_window_set_edit_sensitive): Check with the undo manager to
	see whether we can undo/redo.
	(finalize): Free the undo manager.
	
	* marlin-window-menu.c (edit_undo): Stub
	(edit_redo): Stub

	* marlin.xml: Add Undo/Redo items

	* toolbars.xml: Add Undo/Redo items

2004-09-08 Iain <iaingnome@gmail.com>

	* marlin-window.c (load_op_started): Use proper data passing.
	(load_op_finished): ditto.
	(load_op_cancelled): Ditto.
	(load_op_error): Ditto.
	(load_pipeline_shutdown): Free the context data.
	(marlin_window_load_file): Create the context pass it to everything.

2004-09-08 Iain <iaingnome@gmail.com>

	* marlin-window.c (load_op_error): Display an error message, and reset
	the sample to default.
	(marlin_window_load_file): Hook to the operation's error, not the 
	pipelines

2004-09-07 Iain <iaingnome@gmail.com>

	* marlin-progress-window.c (update_icon): Make a partially full jar icon
	and set it as the window icon for the MarlinWindow.
	(operation_prgress): Update icon
	(marlin_progress_window_new): Create pixbufs.
	(marlin_progress_window_destroy): Reset the icon.

	* marlin-window.c (marlin_window_set_icon): Set the icon on the window
	or to the default one.

	* marlin-progress-window-icons.h: Nicked from Nautilus.

2004-09-04 Iain <iaingnome@gmail.com>

	* libegg/egg-recent-model.c (egg_recent_model_changed_timeout): Make
	this threadsafe.

2004-09-04 Iain <iaingnome@gmail.com>

	* marlin-window-menu.c (edit_paste_new): Use error reporting.

	* marlin-window.c: Use error reporting.

2004-09-01 Iain <iaingnome@gmail.com>

	* marlin-record.c (marlin_record_new): Unref the window's sample when 
	its not needed anymore. Grey out the existing window, cos its broken.
	Create a new sample for the pipeline here.
	(record_eos_reached): Create a new sample here for the pipeline.
	(dialog_response): Unref the sample.

2004-08-31 Iain <iaingnome@gmail.com>

	* marlin-record.c (marlin_record_new): Just cos I'm bored...here's some
	not working vumters that'll look pretty.

	* Makefile.am: Compile other dir

	* other/*: Add vu meter

2004-08-31 Iain <iaingnome@gmail.com>

	* marlin-record.c (dialog_response): Stop the pipelines.
	if0'd the destory_ids stuff.
	(record_clicked): Don't hold a reference to the sample.

2004-08-31 Iain <iaingnome@gmail.com>

	* marlin-recent-view.c (marlin_recent_view_set_model): Don't set the
	list the lazy and inefficient way. Just set it directly.

2004-08-31 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_new): Set the fixed size smaller.
	(init): Hook up to the merge signals.
	(connect_proxy_cb): Hook up to the select and deselect signals.
	(disconnect_proxy_cb): Unhook.
	(menu_item_select_cb): Put the text in the statusbar.
	(menu_item_deselect_cb): Remove the text from the statusbar.

2004-08-31 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_new): Set a fixed size for the status
	bars.

2004-08-30 Iain <iaingnome@gmail.com>

	* marlin-window.c (is_valid_filename): Check there's enough space on the
	drive to make the backup.
	(ask_overwrite_dialog): Show the overwrite dialog.
	(ask_no_space_write_dialog): Tell the user the file needs to be over
	written but that there's not enough space to make the backup.

2004-08-29 Iain <iaingnome@gmail.com>

	* marlin-window.c (is_valid_filename): Ask to create a backup of any 
	file that's going to be overwritten.

2004-08-27 Iain <iaingnome@gmail.com>

	* marlin-window.c (save_op_started): Show window immediately.
	(save_op_finished): Copy the temp file onto the proper file, and unlink
	the temp file if the copy was successful.
	(save_shutdown): Free the SOD data.
	(save_sample_as): Create the SOD, and generate the temp filename. Save
	the file to a temp file first, so that if something goes wrong like
	out of space or a crash, or aliens attacking, then the user won't lose
	the original file.

2004-08-27 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_mix): Make the mixer dialog a decent
	size to use the sliders.

2004-08-27 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_sample_notify): When the total frames
	change, recalculate the frames per page for the overview bar.

2004-08-27 Iain <iaingnome@gmail.com>

	* marlin-window.c (set_property): When the sample is set, set it on the
	marker-view as well.
	(load_op_cancelled): Create a new blank sample, and set it on the window
	so that the old half loaded one will be destroyed and freed.

2004-08-26 Iain <iaingnome@gmail.com>

	* marlin-window.c (save_op_started): Don't show the progress window 
	(load_op_started): Ditto.

	* marlin-progress-window.c (show_progress_window): Show the window
	only after the timeout has expired.
	(marlin_progress_window_new): Start a timeout to delay showing the 
	window.
	(marlin_progress_window_destroy): Cancel the timeout.

2004-08-23 Iain <iaingnome@gmail.com>

	* dialogs/marlin-adjust-channel-dialogs.[ch]: Move these dialogs from
	marlin-window.c

	* dialogs/Makefile.am: Compile new files

	* marlin-window.c: Move the dialogs out.

2004-08-23 Iain <iaingnome@gmail.com>

	* dialogs/marlin-information-window.c (marlin_information_dialog_new):
	Fix the scrolled window.

2004-08-23 Iain <iaingnome@gmail.com>

	* marlin-mp3-dialog.c (marlin_mp3_dialog_new): Get the element named
	encoder-element.

2004-08-23 Iain <iaingnome@gmail.com>

	* marlin-window.c (is_valid_filename): Fix typo.

	* dialogs/marlin-information-window.c (properties_reponse): Set the	
	tags.
	(get_string_from_taglist): Don't return Unknown.
	(marlin_informtion_dialog_new): Add entries for editing the data.

2004-08-21 Iain <iaingnome@gmail.com>

	* marlin-recent-view.c (marlin_recent_view_set_list): Give actions to
	suppress spewage.

2004-08-19 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_set_process_sensitive): Allow Adjust
	Channels to be used all the time.

2004-08-17 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_sample_notify): When frames are added
	then the stuff needs to be sensitive

2004-08-17 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_set_process_sensitive): There is no
	time when the Insert Silence item cannot be used now.
	
2004-08-17 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_save_sample_as): Only set the filename
	in the save dialog.

2004-08-17 Iain <iaingnome@gmail.com>

	* marlin-window.c (remove_channels_response):
	(remove_channels):
	(add_channels_response):
	(add_channels):
	(marlin_window_change_channels): Prepared these functions for splitting
	out into dialogs/

2004-08-17 Iain <iaingnome@gmail.com>

	* marlin-window-menu.c (help_about): Update copyright dates.

	* marlin-window.c (marlin_window_show_properties): Use new dialog code

	* dialogs/Makefile.am: Compile information window.

	* dialogs/marlin-information-dialog.[ch]: New dialog.

2004-08-16 Iain <iaingnome@gmail.com>

	* Makefile.am: Stop compiling dummy.cpp because we don't need to force
	marlin to compile as CXX

	* bacon/Makefile.am: Add the libstdc++ hack

2004-08-16 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_save_sample_as): Restore last dir.

2004-08-15 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_save_sample_as): Suggest a name

2004-08-13 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_set_process_sensitive): Set the
	Split Markers option sensitive depending on how many markers there are.
	(finalize): Unref and disconnect.
	(marker_added): Update sensitivity.
	(marker_removed): Ditto.
	(set_property): Deal with the signals and refs re: marker model.
	(marlin_window_new): Ditto.

2004-08-12 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_split_sample): Split the sample into
	new ones on the markers.
	
	* marlin-window-menu.c (process_split_sample): Stub function.

	* marlin.xml: Add split sample menu.

2004-08-09 Iain <iaingnome@gmail.com>

	* marlin-window.c (marlin_window_save_sample): Check that we can encode
	to the specified format displaying dialog if we can't.
	(is_valid_filename): HIGify the dialogs.

2004-08-09 Iain <iaingnome@gmail.com>

	* libegg/egg-toolbar-editor.c (setup_editor): Add a \n after the .
	(Fixes #149391)

2004-08-09 Iain <iaingnome@gmail.com>

	* marlin-progress-window.c (operation_progress): Even more accurate
	method.

2004-08--8 Iain <iaingnome@gmail.com>

	* marlin-progress-window.c (operation_progress): Calculate the time
	using a more accurate method.
	(marlin_progress_window_new): Init the new time counter.

	* marlin-progress-window.h: Remove some unneeded things for time.

2004-08-07 Iain <iaingnome@gmail.com>

	* bacon/bacon-cd-selection.c (bacon_cd_selection_finalize): Don't
	free the cdrom here, its already been freed.

2004-08-07 Iain <iaingnome@gmail.com>

	* marlin-cdda-record.c (oneton_new_pad): Rewrite for new elements.
	(init): Rewrite for new pipeline and elements.

2004-08-07 Iain <iain@prettypeople.org>

	* libegg/egg-recent-{model|item}.[ch]: Update to new version.

2004-08-06 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_process_sensitive): Make the
	channel adjust sensitive too.

2004-08-06 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_process_name): Make the channel
	add/remove a more specific name depending on the action.
	(load_op_finished): Call set_process_name.
	(marlin_window_sample_notify): Ditto.
	(marlin_window_new): Ditto.

2004-08-05 Iain <iain@prettypeople.org>

	* marlin-window.c (add_channels_response): Fill it out.
	(remove_channels_response): Use the new enum.

2004-08-05 Iain <iain@prettypeople.org>

	* marlin-window.c (remove_channels_response): Do the removing channel
	thing.
	(remove_channels): Display the dialog for removing channels.
	(add_channels_response): Stub at the moment.
	(add_channels): Display the add channels dialog.
	(marlin_window_change_channels): Work out what dialog to display.

	* marlin-window-menu.c (process_change_channels): Proxy to marlin-window
	
	* marlin.xml: Add Change Channels menu item.

2004-08-04 Iain <iain@prettypeople.org>

	* marlin-record.c (marlin_record_new): Remove the stuff that wasn't 
	used yet.

	* main.c (update_toolbar_remove_flag): Update.

	* marlin-window-menu.c (toolbar_editor_response_cb): Set the icons only
	flag.

	* libegg/egg-toolbar-editor.c (setup_editor): Rewrite that awful 
	sentence.

2004-08-04 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (marlin_cdda_record_new): Make the border less
	insane and HIGgy

	* marlin-window.c (marlin_window_select_region): Ditto.

2004-08-04 Iain <iain@prettypeople.org>

	* main.c (marlin_get_toolbars_model): Update for new API.

	* marlin-toolbar.c (toolbar_get_type): Update for new API.

	* toolbars.xml: Finally we can specify the style in the XML file.
	WOOOPEEEEE!

	* ephy/ephy-toolbars-model.[ch]: Updated and modified from epiphany.

	* libegg/egg-editable-toolbar.[ch]: Updated and modified from libegg.

	* libegg/egg-toolbar-editor.[ch]: Ditto.

	* libegg/egg-toolbars-model.[ch]: Ditto.

2004-08-01 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_entries): Fix Delete accel and add one
	for Crop.

2004-07-28 Iain <iain@prettypeople.org>

	* marlin-window.c: Disable the vorbis dialog.

2004-07-27 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: i18n some strings.

2004-07-26 Iain <iain@prettypeople.org>

	* marlin-window.c (file_sel_save_as_response): Create the profile 
	pipeline correctly.

2004-07-21 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_range): Set state to PAUSED before
	sending the seek event.

2004-07-21 Iain <iain@prettypeople.org>

	* marlin-window.c: Add the profile code.

2004-05-29 Iain <iain@prettypeople.org>

	* bacon/bacon-message-connection.[ch]: Added IPC channel stuff.

	* main.c (main): Initialise the IPC stuff.
	(message_received_cb): Basic message parsing stuff.
	(process_command_line): Send remote messages if needed.
	(make_full_path): Take a relative path and make it full.

2004-04-24 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_new_dialog): Remove the 12 pixel border

2004-04-23 Iain <iain@prettypeople.org>

	* main.c (marlin_open_window_with_sample): Just pass the sample in
	the function call. Wonder what that'll break.

	* marlin-window.c (marlin_window_new): Pass a sample to the view if
	one was passed in on the function.

2004-04-23 Iain <iain@prettypeople.org>

	* marlin-record.c (marlin_record_new): Make the dialog controls line
	up correctly, HIGgy!

2004-04-22 Iain <iain@prettypeople.org>

	* marlin-window.c (dialog_response_cb): Handle all the new options.
	(select_start_changed): Hide/Show appropriate widgets.
	(select_finish_changed): Ditto.
	(make_start_combo_menu): Make the combo menu.
	(make_finish_combo_menu): Ditto.
	(marlin_window_select_region): Allow presets and markers.

2004-04-22 Iain <iain@prettypeople.org>

	* marlin-window.c (move_cursor_response_cb): Correctly move to end so
	that move to start doesn't mess up.

2004-04-22 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_move_cursor): Add Mnemonics.
	(make_insert_silence_menu): Gettext the string.
	(make_move_combo_menu): Make a combo menu for the move presets.
	(move_cursor_response_cb): Handle the presets.
	(move_combo_changed): Show/hide the fun things.
	(marlin_window_move_cursor_dialog): Add presets combo.

2004-04-21 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_xfade): More work on xfader.
	(marlin_window_insert_silence): Add a marker menu option
	(position_combo_changed): Set the marker combo sensitive.
	(make_insert_marker_menu): Makr a marker menu.
	(insert_silence_response): Insert at markers.

2004-04-18 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_edit_sensitive): Set teh XFade

2004-04-18 Iain <iain@prettypeople.org>

	* marlin-window.c (xfade_response_cb): Stubs for crossfading.
	(marlin_window_xfade): Make the crossfade dialog here.

	* marlin-window-menu.c (edit_xfade): Just pass it onto the marlin-window
	function.

2004-04-17 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Rename Properties as Information

	* marlin-window.c (marlin_window_show_properties): Change title to
	Sample Information

2004-04-17 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Add <Control>P for the properties.

	* marlin-window.c (get_string_from_taglist): Check taglist isn't NULL.
	(marlin_window_show_properties): Use the correct string all the time.
	Check for NULL taglists.

2004-04-17 Iain <iain@prettypeople.org>

	* marlin-window.c (dispose): Unclip the clip_id here.
	(class_init): Hook up the dispose function.

	* main.c (marlin_shutdown): Make this an idle callback.
	(window_destroyed): Create an idle.

2004-04-15 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Use pretty icon for Properties.

2004-03-24 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_show_properties): Don't display track
	number as 0, use Unknown.

2004-01-13 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Add some mnemonics to the Transport menu,
	give some of the items a better name.

2003-12-07 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_show_properties): Use the new 
	GstTagList stuff.

2003-12-06 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Add accelerators to the Menu headings.

2003-12-05 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (fill_in_cdda): Only lookup cd if we have
	music brainz installed.

2003-12-05 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Connect to the vzoom changed
	signal.
	(view_vzoom_changed): Set the zoom sensitive stuff.

2003-12-05 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (vzoom_in): 
	(vzoom_out): Marshal.
	
	* marlin-window.c (marlin_window_set_view_sensitive): Set the vzoom 
	stuff sensitive.
	(marlin_window_vzoom_in): VZoom in.
	(marlin_window_vzoom_out): Ditto.

	* marlin.xml: Add the VZoom stuff.
	
	* toolbars.xml: Ditto.

2003-12-03 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_range): Remove the duplicate
	variables.

2003-12-02 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_selection_scale): Limit the selection
	size to the end of the sample.

2003-12-02 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_edit_sensitive): Don't unghost
	the delete/cut/crop options if only one channel of a multichannel 
	sample is selected.

2003-12-02 Iain <iain@prettypeople.org>

	* marlin-window.[ch] (overview_bar_play_request): Start a range from the
	cursor position to the end of the sample to play.
	(marlin_window_play_range): Move the code to play in here.
	(marlin_window_play_sample): Work out the range and play it.

2003-12-01 Iain <iain@prettypeople.org>

	* marlin-window.c (load_error): Show an error message dialog.
	(marlin_window_load_file): Hook up to the pipeline's error signal.

2003-12-01 Iain <iain@prettypeople.org>

	* marlin-window.c (attach_popups): Use the new path to the popup.

	* marlin-recent-view.c (marlin_recent_view_set_list): USe new markup.

2003-12-01 Iain <iain@prettypeople.org>

	* main.[ch] (marlin_get_toolbars_model): Get the global model.
	
	* marlin-window-menu.c (toolbar_editor_destroy_cb): Turn off the toolbar
	editing.
	(toolbar_editor_response_cb): Close, add a new toolbar or show help.
	(edit_toolbars): Create a toolbar editor and show it.

2003-11-28 Iain <iain@prettypeople.org>

	* FAR TOO MUCH: Updated to use the GtkUIManager schnizz instead of the
	old Egg stuff.

2003-11-27 Iain <iain@prettypeople.org>

	* marlin-progress-window.c (operation_progress): Some hacky tweaks to
	calculate eta better, and so that it doesn't do silly jumps from like
	32 seconds to 1 minute 24 seconds...

2003-11-27 Iain <iain@prettypeople.org>

	* marlin-progress-window.c (make_eta_string): Make a string so that
	translators only need to translate some bits of it once.
	(operation_progress): Calculate the time left. Its not exactly very
	good, cos its only dealing with integers.
	(marlin_progress_window_new): Add a eta widget.

"003-11-21 Iain <iain@prettypeople.org>

	* marlin-window.c (time_to_str): Put the whole string in the ngettext
	call so that translators can translate it all correctly.
	(maybe_save_quit): Translate the string.

2003-11-21 Iain <iain@prettypeople.org>

	* marlin-window.c: Applied patch from Danilo Segan to get stuff 
	translated right.

2003-11-21 Iain <iain@prettypeople.org>

	* marlin-window.c (time_to_str): Use ngettext to translate strings.

2003-11-17 Iain <iain@prettypeople.org>

	* marlin-window.c (init): Initialise the last save counter.
	(save_op_finished): Reset the last save counter.
	(time_to_str): Make a pretty string out of a time.
	(maybe_save_quit): Rewrite the dialog to include the length of time
	since the last save.

2003-11-17 Iain <iain@prettypeople.org>

	* marlin-record.c (marlin_record_new): Update for new combobox api

2003-11-17 Iain <iain@prettypeople.org>

	* marlin-record.c: Change option menus to new gtkcombobox

2003-11-16 Iain <iain@prettypeople.org>

	* marlin-mp3-dialog.c (make_mode_menu): Use combobox.
	(make_cbr_menu): Ditto.
	(dialog_response): Ditto.
	(marlin_mp3_dialog_new): Ditto.

2003-11-16 Iain <iain@prettypeople.org>

	* marlin-window.c (make_insert_silence_menu): Use Combo
	(marlin_window_insert_silence): Use the combo.

2003-11-16 Iain <iain@prettypeople.org>

	* bacon/bacon-cd-selection.c (cdrom_option_menu): Make a new combo box
	(option_menu_device_changed): Combo box now.

2003-11-15 Iain <iain@prettypeople.org>

	* marlin-window.c (file_sel_save_as_response): Use the new file chooser
	(marlin_window_save_sample_as): Ditto.
	(file_sel_response): Ditto.
	(marlin_window_open): Ditto.

2003-11-12 Iain <iain@prettypeople.org>

	* marlin-window.c (adjust_volume_response): Don't clear the selection.
	(marlin_window_invert): Ditto.
	
2003-10-19 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_title): Put (read only) in the
	titlebar if the track is read only.
	(marlin_window_set_file_sensitive): Set the Save button active if the
	sample is both dirty and writable.

2003-10-17 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (make_cool_text): Make a nice bit of markup to
	display track info.
	(fill_in_model): Fill in the album name etc.
	(fill_in_marker_model): Get the track name from the model.
	(track_details_free): Free the track
	(album_details_free): Free the album
	(update_track_model): Rename the tracks
	(do_op): Do the Musicbrainz lookup in a seperate thread.
	(done_op): GUI side of the operation.
	(free_op): Free everything we initalised.
	(lookup_cd): Fire off a new thread.

2003-10-15 Iain <iain@prettypeople.org>

	* marlin-window.c (mimetypemap): Add the vorbis map.

	* marlin-vorbis-dialog.[ch]: New dialog to set vorbis properties.

	* Makefile.am: Compile vorbis stuff.

2003-10-15 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_show_properties): Show the metadata too

2003-10-15 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_title): Set the title from the
	realname, not the filename.

2003-10-11 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Add the new icon for the cdda extract.

2003-10-11 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (fill_in_model): Store the starting times of
	tracks.
	(fill_in_marker_model): Create markers for the track seperations.
	(rip_tracks): Set the marker model on the sample.
	(do_rip): Rip the right number of tracks, and build the marker model.
	(device_changed_cb): Destroy the track starts.

2003-10-10 Iain <iain@prettypeople.org>

	* marlin-open-history-action.c (activate_history_item): Open a new 
	window for the file.
	(setup_history_menu): Get the list of items from the model, then
	add them to the menu.

2003-10-10 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_sample_notify): Set the file menu
	sensitivity and change the window title.
	(set_property): Use the safe notify
	(marlin_window_new): Ditto.

2003-10-10 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (rip_eos_reached): mmap and generate peaks for
	the ripped track

2003-10-10 Iain <iain@prettypeople.org>

	* bacon/bacon-cd-selection.c (bacon_cd_selection_finalize): Don't need
	to destroy the widget, the parent finalise call does that for us.

	* marlin-cdda-record.c (pipeline_shutdown): only unref the pipeline 
	here.
	(rip_op_finished): Instead free everything here.

2003-10-10 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (device_changed_cb): Clear the list and rescan
	(marlin_cdda_record_new): Connect to the device changed signal.

2003-10-08 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (fill_in_cdda): Set the device correctly before
	scanning.

2003-10-05 Iain <iain@prettypeople.org>

	* bacon/*: Code from libbacon.

	* Makefile.am: Compile code with the libbacon code.

	* dummy.cpp: An empty file that forces marlin to be compiled with g++

2003-10-03 Iain <iain@pp.o>

	* marlin-window.c: Remove the code to add a button to the dialog.

2003-10-03 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Listen for the move-cursor signal
	on the marker view.
	(marker_view_move_cursor): Move the cursor.

2003-10-03 Iain <iain@prettypeople.org>

	* marlin-window.c: Pretty print the time in the information dialog

2003-09-26 Iain <iain@prettypeople.org>

	* main.c (main): Initialise GStreamer along with GNOME properly :)

2003-09-25 Iain <iain@prettypeople.org>

	* marlin-toolbar.c (window_cmd_open): Call the marlin-window function

2003-09-25 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_open): Call the marlin_window_open function

	* marlin-window.c (marlin_window_open): Move the function from -menu.c

2003-09-25 Iain <iain@prettypeople.org>

	* marlin-toolbar.c (toolbar_setup_actions): Set up the custom actions
	for the toolbar.
	(toolbar_set_window): Merge the custom action group.

	* marlin-open-history-action.[ch]: Port of ephy-navigation-action from
	Epiphany.

	* toolbars.xml: Add the OpenHistory action.

	* ephy/ephy-arrow-toolbar.[ch]: Copied from Epiphany and backported to
	libegg stuff.

	* Makefile.am: Compile the new files.
	
	* ephy/Makefile.am: Ditto

2003-09-23 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_scroll_to_cursor): Scroll to the
	cursor.
	(marlin_window_set_view_sensitive): Deal with Centre on Cursor.

	* marlin-window-menu.c (view_centre): Pass it off to marlin-window

	* marlin.xml: Add View->Centre on Cursor

2003-09-23 Iain <iain@prettypeople.org>

	* marlin-window.c (finalize): Close any dialogs associated with this
	window.
	(properties_response): Destroy dialog.
	(marlin_window_show_properties): Show a properties dialog.

2003-09-22 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_show_properties): Add a properties 
	dialog stub.
	(marlin_window_set_file_sensitive): Set the properties menu item.

	* marlin-window-menu.c (file_properties): Call stub.

	* marlin.xml: Add the menu item and the new separator.

2003-09-11 Iain <iain@prettypeople.org>

	* marlin-window.c: Update for Overview Bar changes.

	* marlin.xml: Add a popup for the markers.

	* marlin-window-menu.c: Add verbs and functions for the marker popup

2003-09-07 Iain <iain@prettypeople.org>

	* marlin-window.c (add_widget): Hack so that the toolbars have icons
	only.

2003-09-07 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Fix warnings.

2003-09-06 Iain <iain@prettypeople.org>

	* main.c: Fix warnings

	* marlin-cdda-record.c: Ditto.

	* marlin-mp3-dialog.c: Ditto

	* marlin-progress-window.c: Ditto

	* marlin-window.c: marlin-window.c is warning free...woohoo

2003-08-13 Iain <iain@prettypeople.org>

	* marlin-recent-view.c (marlin_recent_view_set_list): Show numbers.

	* marlin-recent-action.c (marlin_recent_action_new): Take a label as
	well as URI

2003-08-13 Iain <iain@prettypeople.org>

	* toolbars.xml: Remove the Zoom toolbar

2003-08-13 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_recent_action_new): Shorten the location for
	the label.

2003-08-13 Iain <iain@prettypeople.org>
	
	* marlin-window.c (file_open_recent): And as if by magic, recent files
	works again.

2003-08-13 Iain <iain@prettypeople.org>

	* marlin-recent-view.c (open_recent_cb): The callback has a location
	parameter...duh!

2003-08-12 Iain <iain@prettypeople.org>

	* marlin-recent-action.c (marlin_recent_action_new): Add a label.

	* marlin-recent-view.c (marlin_recent_view_set_list): Add an action for
	the toplevel. Don't walk the list every iteration.
	(rebuild_menu_: Get the model list and rebuild.
	
	* marlin-recent.c (marlin_recent_initialise): Filter the mime types
	to be audio/* and video/*

	* marlin-window.c (init): Add a recent_view.
	(marlin_window_new): Set the model.

	* marlin.xml: Add a placeholder for the recent menu.

	* libegg/Makefile.am: Include the intl file.

	* libegg/*c: Update.

2003-08-11 Iain <iain@prettypeople.org>

	* marlin-recent-view.[ch]: Implementation of EggRecent for the new
	egg action menu stuff.

	* marlin-recent-action.c: Finish

2003-08-07 Iain <iain@prettypeople.org>

	* marlin-recent-action.[ch]: New files implementing an egg action

2003-08-07 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_insert_silence): Redid the dialog
	so that it made more sense.

2003-08-01 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_adjust_volume): Make the slider
	horizontal.

2003-07-30 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_move_cursor_dialog): ATK.
	(marlin_window_select_region): Ditto.
	(marlin_window_mix): Ditto.

	* marlin-window-menu.c (file_new_dialog): Ditto.

2003-07-28 Iain <iain@prettypeople.org>

	* marlin-mp3-dialog.c (marlin_mp3_dialog_new): Add ATK stuff

2003-07-24 Iain <iain@prettypeople.org>

	* main.c (main): Use gst_init_check.

	* marlin-window.c: Use the global marker model.

2003-06-29 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Pass the sample to the view.

2003-06-23 Iain <iain@prettypeople.org>
	
	* marlin-window.c (marlin_window_new): Set the scroll adjustments on
	the marker view.

2003-06-22 Iain <iain@prettypeople.org>

	* marlin-window.c (set_timeline_fpp): Remove usless code, set the
	marker view fpp.
	(marlin_window_new): Create a marker view.

2003-06-06 Iain <iain@prettypeople.org>

	* marlin-window.[ch] (marlin_window_selection_shift_left): Shift the
	selection left.
	(marlin_window_selection_shift_right): Shift the selection right.

	* marlin-window-menu.c (selection_left): Call window function.
	(selection_right): Ditto

2003-06-06 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Add some icons.

2003-06-06 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_selection_scale): Scale the selection.
	(marlin_window_selection_set_sensitive): Turn on/off the new items.

	* marlin-window-menu.c (selection_halve): Scale the selection by 0.5
	(selection_double): Scale the selection by 2.0

	* marlin.xml: Add Halve, Double, Shift left, Shift right menu items.

2003-06-06 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_replace): And then handle "Replace
	selection".

2003-06-06 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_replace): Implement replace by doing
	a clipped mix to the end of the sample.

2003-06-06 Iain <iain@prettypeople.org>

	* marlin-window.c (mixer_response_cb): If there's a selection, then
	clip the mix by the selection.

2003-06-05 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_mix): Set the title with the sample 
	shortname.

2003-06-05 Iain <iain@prettypeople.org>

	* marlin-window.c (mixer_response_cb): Do a mix.
	(marlin_window_mix): Show the mixer window.
	(marlin_window_adjust_volume): USe the new callback.

	* marlin-window-menu.c (edit_paste_mix): Just call the window function

2003-06-04 Iain <iain@prettypeople.org>

	* marlin-window.c (selection_changed): Handle new menu.
	(set_property): ditto.
	(marlin_window_new): Ditto.
	(marlin_window_set_selection_sensitive): Set the items sensitive or not
	(load_op_finished): Handle new menu.
	(marlin_window_set_process_name): Change the names of the items 
	depending on their actions.

	* marlin-window-menu.c (marlin_window_menu_setup): Setup the new window

	* marlin.xml: Move the selection items into a new selection menu.

2003-06-03 Iain <iain@prettypeople.org>

	* marlin-window.c (move_cursor_response_cb): Opps, forgot to hook up
	the help dialog.

2003-05-29 Iain <iain@prettypeople.org>

	* marlin-window.c (dialog_response_cb): Store the display of the 
	spinners.
	( marlin_window_select_region): Restore it and use the spinners 
	correctly.
	(marlin_window_move_cursor_dialog): Ditto.

	* marlin.schemas: Add schemas for the select region displays

2003-05-29 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (help_contents): Open the help browser at the
	help page.

	* marlin.xml: Add a Contents menuitem to the Help menu.

2003-05-28 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_move_cursor_dialog): i18n the title
	and add the file name.

2003-05-28 Iain <iain@prettypeople.org>

	* marlin-window.c (move_cursor_response_cb): Move the cursor, store
	the display type.
	(marlin_window_move_cursor_dialog): Move the move cursor dialog from
	the view to the window. Enhance it by using MarlinPositionSpinner
	correctly.

	* marlin-window-menu.c (edit_move_cursor): Use new window move dialog.

	* marlin.schemas: New schema for the move cursor dialog display type.

2003-05-27 Iain <iain@prettypeople.org>

	* marlin-window.c (insert_silence_response): Call the sample function

2003-05-24 Iain <iain@prettypeople.org>

	* marlin-mp3-dialoc. (dialog_response): Store settings, fix typo

2003-05-24 Iain <iain@prettypeople.org>

	* marlin-mp3-dialog.c (marlin_mp3_dialog_new): Restore settings from 
	gconf.

	* marlin.schemas: Add schemas for the mp3 dialog.

2003-05-23 Iain <iain@prettypeople.org>

	* marlin-mp3-dialog.c (dialog_response): Get the encoding options and
	set the encoder.
	(qual_toggled): Set the sensitive hboxes
	(cbr_toggled): Ditto.
	(vbr_toggled): Ditto.
	(marlin_mp3_dialog_new): Hook everything up for it.

2003-05-22 Iain <iain@prettypeople.org>

	* Makefile.am: Add header.

	* marlin-mp3-dialog.h: Header.

	* marlin-window.c (marlin_default_save): Save without any options.
	(save_sample_as): Check what mimetype it is and call the options dialog

2003-05-21 Iain <iain@prettypeople.org>

	* Makefile.am: Add new file

	* marlin-window.c (save_sample_as): Display the mp3 dialog...
	(is_valid_filename): Check the file is a valid one before we try to 
	save it.
	(file_sel_save_as_response): Check the filename is valid.
	
	* marlin-mp3-dialog.c: New file for mp3 options dialog.

2003-05-20 Iain <iain@prettypeople.org>

	* marlin-record.c (dialog_response): Remove the need for the GConfClient
	(new_radio_toggled): Ditto.
	(record_clicked): Ditto.
	(marlin_record_new): Ditto. Restore the insert menu.
	
2003-05-20 Iain <iain@prettypeople.org>

	* marlin-record.c (dialog_response): Store position display in gconf.

2003-05-19 Iain <iain@prettypeople.org>

	* marlin-record.c (marlin_record_new): Get the position display from 
	gconf.
	(item_activated): Set the max_frames and rate on the spinner.
	(exist_radio_toggled): Ditto

2003-05-19 Iain <iain@prettypeople.org>

	* marlin-window.c (insert_silence_response): Record the last display_as
	(marlin_window_insert_silence): Restore the last display_as.

	* marlin.schemas: Add scheme for the last display_as

2003-05-17 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_insert_silence): Set the rate.

2003-05-16 Iain <iain@prettypeople.org>

	* marlin-window.c (attach_popup_menu): Translate the name.

2003-05-15 Iain <iain@prettypeople.org>

	* marlin-window.c (insert_silence_response): Get the number of frames
	to insert.

2003-05-14 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_insert_silence): Use a spinner.

2003-05-14 Iain <iain@prettypeople.org>

	* marlin-window.c (selection_changed): Put the start and end of the 
	selections into the status bar.

2003-05-14 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (response_callback): Use marlin_gconf functions.
	(fill_combo_box_with_defaults): Ditto.
	(file_new_dialog): Ditto
	(file_sel_response): Ditto
	(file_open): Ditto and free string.

2003-05-14 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_adjust_volume): Recall the dB level
	(adjust_volume_response): Remember the dB level

2003-05-14 Iain <iain@prettypeople.org>

	* marlin-window.c (insert_silence_response): Store the option menu 
	history in gconf.
	(make_insert_silence_menu): Make the option menu menu.
	(marlin_window_insert_silence): Add the menu.

	* marlin.schemas: Add new schema for insert silence menu

2003-05-13 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (mixer_response_cb): Handle help display even
	if there's no help file yet.

	* marlin-window.c (dialog_response_cb): Ditto.
	(adjust_volume_response): Ditto.
	(insert_silence_response): Ditto.

	* marlin-cdda-record.c (dialog_response): Ditto.

	* marlin-record.c (dialog_response): Ditto.

2003-05-13 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (response_callback): Use help display function

2003-05-12 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (process_insert_silence): Hook

	* marlin-window.c (marlin_window_set_process_sensitive): Handle insert
	silence.
	(marlin_window_select_region): Put the sample name in the titlebar.
	(insert_silence_response): Handle the response.
	(marlin_window_insert_silence): Display a volume control dialog.

	* marlin.xml: Add Insert Silence

2003-05-12 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_adjust_volume): Put the sample name
	in the titlebar.

2003-05-12 Iain <iain@prettypeople.org>

	* marlin-window.c (set_path_name): Helper function to set the name of
	a path.
	(marlin_window_set_process_name): Set the names of the process menu
	to whether they act on the whole sample or the selection.
	(marlin_window_adjust_volume): Fix typo
	(marlin_window_select_region): Ditto

2003-05-11 Iain <iain@prettypeople.org>

	* marlin-window.c (set_volume_digits): Use INFINITE define.

	* marlin-window-menu.c (set_volume_digits): Ditto.

2003-05-11 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_adjust_volume): Add mnemonic

2003-05-11 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Fix some menu names

2003-05-11 Iain <iain@prettypeople.org>

	* marlin-window.c (adjust_volume_response): Handle the dialog.
	(set_volume_digits): Convert db to string.
	(marlin_window_adjust_volume): Create a dialog.

	* marlin-window-menu.c (process_volume_adjust): Add hook.

	* marlin.xml: Add menu item.

2003-05-10 Iain <iain@prettypeople.org>

	* marlin-clipboard-info.[ch] (fill_in_clipboard_details): Fill in 
	details.
	(clip_changed): Get details.
	(dialog_response_cb): Close the dialog, (or do help...)
	(marlin_clipboard_info_new): Make the dialog.
	
	* marlin-window-menu.c (destroy_info_cb): Reset.
	(view_clipboard_info): Display the info dialog.

	* marlin-window.[ch]: Misc warning fixes

	* marlin.xml: Add the Clipboard Info dialog

2003-05-10 Iain <iain@prettypeople.org>

	* marlin-clipboard-info.[ch]: New files for a clipboard info dialog.

	* Makefile.am: Compile clipboard info

2003-05-09 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (process_invert): call marlin_window_invert

	* marlin-window.c (marlin_window_set_process_sensitive): Handle the
	invert.
	(marlin_window_invert): Invert the selection or the whole sample.

	* marlin.xml: Add a Process invert menu item

2003-05-09 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_clear): Mute the whole sample if there
	is no selection.

2003-05-09 Iain <iain@prettypeople.org>

	* marlin-window.c (load_op_finished): Sensitise the process menu

2003-05-09 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Fix some typos in menu names.

2003-05-09 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_delete): Only allow delete to work on
	BOTH channels of a stereo file.
	(marlin_window_crop): Ditto.

2003-05-09 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_clear): Pass the coverage.

2003-05-08 Iain <iain@prettypeople.org>

	* main.c (make_window_name): Make a new window name with the numbers
	appended.
	(marlin_open_window_with_sample): Use above.
	(marlin_open_window): Ditto.

2003-05-08 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_paste_new): Dirty the sample.

2003-05-06 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_edit_sensitive): Set the paste
	sensitive.

2003-05-02 Iain <iain@prettypeople.org>

	* marlin-window.[ch] (marlin_window_paste): Call the sample insert 
	function.

2003-05-02 Iain <iain@prettypeople.org>

	* cd-drive.c: Update from totem.

	* marlin-window-menu.c (edit_paste): Do the paste.

	* marlin-window.c (marlin_window_paste): Paste.

	* totem-cd-selection.c: Update from totem.

2003-04-16 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_zoom_selection): Scroll the view to the
	start of the selection.
	(marlin_window_show_all): Scroll the window to the start.

2003-04-16 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_zoom_selection): Zoom in on the 
	selection.

2003-04-16 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_zoom_sensitive): Set the correct
	state for the show all and zoom selection items.
	(selection_changed): Update the zoom menu.

2003-04-16 Iain <iain@prettypeople.org>

	* marlin.xml: Added Show all and Zoom Selection menu items.

	* marlin-window-menu.c (show_all):
	(zoom_selection): Stub functions to call the new zoom functions.

	* marlin-window.c (marlin_window_show_all): Show the whole sample in the
	window.

2003-04-14 Iain <iain@prettypeople.org>

	* marlin-window-menu.c: Add an accel to the Move cursor option

2003-04-14 Iain <iain@prettypeople.org>

	* marlin-record.c (marlin_record_new): Make the ugly split level insert/
	overwrite thing into an option menu...I'm tired. This took 20 mintues
	to write...I bet there's a damn bug in there somewhere. Variable names
	are ugly.

2003-03-28 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (mixer_response_cb): Mix the two samples together
	
	* marlin-window.c (marlin_window_set_process_sensitive): Remove debug

2003-03-18 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (percent_from_db): convert db into a percentage
	(set_volume_digits): Set the digits on the scale.
	(ed_paste_mix): Connect to the scale's format signals.

2003-03-18 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_process_sensitive): Do the Swap 
	Channels item too.

2003-03-18 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (process_swap_channels): Get the sample, swap
	the channels.

	* marlin.xml: Add the Swap Channels menu item to the Process menu

2003-03-18 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_paste_mix): Invert the scales. Make them
	measure dB instead of percentage.

2003-03-17 Iain <iain@prettypeople.org>

	* main.c (marlin_shutdown): Destroy the main program.

	* marlin-window.c (marlin_window_selection_to_clipboard): Unref the
	clipboard to give ownership to the MarlinProgram.

2003-03-16 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (mixer_response_cb): Stub function.
	(edit_paste_mix): Make a pretty dialog for mixing the clipboard and
	the sample together.

	* marlin-window.c (marlin_window_set_edit_sensitive): Set the Paste Mix
	sensitive.
	
	* marlin-record.c (marlin_record_new): Use new convience function.

	* marlin-cdda-record.c (marlin_cdda_record_new): Ditto.

2003-03-16 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_paste_new): Copy the sample before creating
	the new window.

2003-03-15 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Put the statusbar back in.

2003-03-15 Iain <iain@prettypeople.org>

	* marlin-window.c (selection_changed): Set process sensitive.
	(set_property): Ditto
	(marlin_window_new): Ditto
	(marlin_window_set_process_sensitive): Set the process sentitive.

2003-03-14 Iain <iain@prettypeople.org>

	* main.c (main): Set the program name.

2003-03-12 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Show the overview bar...

2003-03-12 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_select_region): Set the default

2003-03-12 Iain <iain@prettypeople.org>

	* marlin-window.c (dialog_response_cb): Select the region.
	(marlin_window_select_region): Open a dialog.

	* marlin-window-menu.c (edit_select_region): Open the dialog.

2003-03-12 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_edit_sensitive): Handle the new
	actions.
	(marlin_window_get_view): Return the view.

	* marlin.xml: Add the new items.

	* marlin-window-menu.c (edit_move_cursor): Open the dialog.
	
2003-03-10 Iain <iain@prettypeople.org>

	* libegg/egg-menu-merge.c: Remove debugging.

	* marlin-window.c (add_widget): Remove debugging.

2003-03-10 Iain <iain@prettypeople.org>

	* Makefile.am: Add the toolbar popup.

	* marlin-window.c: Finish replacing bonobo with Egg

	* toolbars.xml: Add name, style and icon_size to the toolbars.

	* ephy/ephy-editable-toolbar.c: Update from the Epiphany source.
	Add the editor features.
	
	* ephy/ephy-toolbars-group.[ch]: Ditto.

	* libegg/egg-menu-merge.c: Handle addition properties on dockitems

	* libegg/egg-toolbar.c: Update from source.

2003-03-07 Iain <iain@prettypeople.org>

	* Makefile.am: Add the ephy dir.

	* main.c (main): Make the .marlin dir.

	* marlin-window-menu.c (loads): Replace all the Bonobo stuff with Egg
	stuff.
	(edit_toolbars): Get the toolbars and open the editor window.
	(marlin_window_menu_popup_setup): Setup the popup menus.

	* marlin-window.c (loads): Replace Bonobo stuff with Egg stuff.
	(add_widget): Crude widget placing function.
	(init): Initialise the new Egg stuff.
	(attach_view_popup): Get the popup menu widget and add it.
	(marlin_window_get_action_group): Convience
	(marlin_window_get_popup_action_group): Ditto.
	(marlin_window_get_menu_merge): Ditto
	(marlin_window_get_toolbar): Ditto

	* marlin.xml: Remove the verb and toolbar stuff.

	* toolbar.xml: Add the toolbar stuff.

2003-03-04 Iain <iain@prettypeople.org>

	* ephy/*: Place to store the code I've nicked from Epiphany.

	* Makefile.am: Add ephy

2003-03-01 Iain <iain@prettypeople.org>

	* libegg/*: Place to store the code from libegg
	
	* Makefile.am: Add libegg

2003-02-27 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_cut): Cut the selection.

2003-02-24 Iain <iain@prettypeople.org>

	* marlin-window.c (clip_changed): Handle the clipboard changing.
	(finalize): Unhook from the clipboard signal.
	(marlin_window_new): Hook up to the clipboard
	(marlin_window_set_edit_sensitive): Check the clipboard

	* marlin-window-menu.c (edit_paste_new): Use the clipboard

2003-02-24 Iain <iain@prettypeople.org>

	* main.c: Add a marlin program thing.

2003-02-23 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_get_clipboard): Actually return the
	right thing.

2003-02-20 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_copy): Call marlin_window_selection_to_
	clipboard.
	(edit_paste_new): Get the clipboard, make a new window with it.

	* marlin-window.c (marlin_window_set_edit_sensitive): Temp fix to
	make the menu items work. Needs done correctly.
	(marlin_window_selection_to_clipboard): Copy the region to a new sample
	Put that sample on the clipboard.
	(marlin_window_get_clipboarD): Temp clipboard.
	NEEDS FIXED

2003-02-19 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_copy): Stub.
	(edit_cut): Stub
	(edit_paste): Stub.
	(edit_paste_mix): Stub.
	(edit_paste_new): Stub.
	(process_mute): Renamed edit_clear.
	(marlin_window_menu_setup): Add the Process menu.

	* marlin.xml: Add the copy and cut and paste verbs.
	Move the EditClear verb into the Process menu and rename it Mute.

2003-02-12 Iain <iain@prettypeople.org>

	* marlin.xml: Add some pixmaps to the selection stuff.

2003-02-10 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_crop): Wrapper.

	* marlin-window.c (marlin_window_crop): Crop the area around the 
	selection.

	* marlin.xml: Add a Crop verb.

2003-02-10 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_select_none): Wrapper.

	* marlin-window.c (marlin_window_set_edit_sensitive): Set the right
	state for the new edit items.
	(marlin_window_select_none): Deselect everything.

	* marlin.xml: Add a Select None verb and add an icon to Clear

2003-02-10 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (edit_delete): Remove debug.
	(edit_clear): Clear.
	(marlin_window_delete): Clear the selection after deleting.
	(marlin_window_clear): Clear the area.
	
	* marlin.xml: Add a Clear verb.

2003-02-08 Iain <iain@prettypeople.org>

	* marlin-window.c (maybe_save_quit): Only show the filename.

2003-02-07 Iain <iain@prettypeople.org>

	* marlin-progress-window.c (operation_progress): Only set the name if
	there's a % in the format string.
	(operation_notify): Check for description-R and store the label as 
	format.

2003-02-03 Iain <iain@prettypeople.org>

	* marlin-window.c (drag_data_received): Process the drag data and open
	new windows for the files.
	(marlin_window_new): Set up the window as a drag destination.

2003-01-29 Iain <iain@prettypeople.org>

	* marlin-progress-window.c (marlin_progress_window_new): Hook to notify
	signal.
	(operation_notify): Listen for the description changing
	(marlin_progress_window_destroy): Unhook from the signal.

2003-01-28 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_delete): Update for new parameters

2003-01-27 Iain <iain@prettypeople.org>

	* marlin-progress-window.c (marlin_progress_window_new): Realize the
	window and set the busy cursor.

2003-01-27 Iain <iain@prettypeople.org>

	* marlin-window.c (selection_changed): Set the edit menu sensitive.
	(set_property): Connect  to the selection changed signal.
	(finalize): Disconnect from the signal.
	(marlin_window_new): Connect to the selection changed signal.
	(marlin_window_set_edit_sensitive): Add the logic to work out if we
	should set the Delete menu sensitive.
	
2003-01-26 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_delete): Delete the selection.
	(maybe_save_response): On a NO response destroy the dialog before the
	main window.

	* marlin-window-menu.c (edit_delete): Verb function.

	* marlin.xml: Add a delete menu item to the Edit menu.

2003-01-24 Iain <iain@prettypeople.org>

	* marlin-window.c (view_key_press): Delete a range when the delete key
	is pressed.

2003-01-20 Iain <iain@prettypeople.org>

	* marlin-window.c (view_key_press): On space play/pause sample.

2003-01-18 Iain <iain@prettypeople.org>

	* marlin-window.c (view_key_press): Listen for key events.
	(marlin_window_new): Hook up to thekey press event signal on the view.

2003-01-09 Iain <iain@prettypeople.org>

	* totem-cd-selector.[ch]: Updated from libbacon

	* cd-drive.[ch]: Ditto

2003-01-03 Iain <iain@prettypeople.org>

	* marlin.xml: Don't have a Quit option.

2003-01-03 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_set_edit_sensitive): Set the edit menu
	sensitive.
	(set_property): Use.
	(marlin_window_new): Ditto.
	(load_op_finished): Ditto.

2003-01-03 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_zoom_in): Use the new code to set the
	zoom controls.
	(marlin_window_zoom_out): Ditto.

2003-01-03 Iain <iain@prettypeople.org>

	* marlin-window.c (set_property): Set teh zoom sensitive.
	(marlin_window_new): Ditto.
	(marlin_window_set_zoom_sensitive): Set thezoom stuff.
	(load_op_finished): Ditto.

2003-01-02 Iain <iain@prettypeople.org>

	* marlin-window.c (load_op_cancelled): Cancel the load.
	(marlin_window_load_file): Connect to the cancelled signal.
	(save_op_cancelled): Cancel the save.
	(sample_save_as): Connect to the cancelled signal.

	* marlin-progress-window.c (response_callback): Cancel the operation.
	(marlin_progress_window_new): Connect the cancel button.

2003-01-02 Iain <iain@prettypeople.org>

	* marlin-window.c (set_property): Ref the sample.
	(marlin_load_op_finished): Set to NULL.
	(load_pipeline_shutdown): Unref pipeline.
	(marlin_window_load_file): Link the pipeline and operation together.
	(save_op_finished): Set to NULL
	(save_shutdown): Unref pipeline.
	(save_sample_as): Link the pipeline and operation.

	* main.c (marlin_open_window_with_sample): Unref the sample.
	(marlin_open_window): Ditto.

2003-01-01 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (set_property): Set the device and the speed.
	(do_rip): Set the speed and the device.

2003-01-01 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (eos_reached): Simplify the rip

2003-01-01 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (get_progress): Calculate the progress correctly

2003-01-01 Iain <iain@prettypeople.org>

	* marlin-window.c (set_property): Use selection property on the timeline
	(marlin_window_new): Ditto.

2002-01-01 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (get_progress): Change progress calculation.
	(oneton_new_pad): Don't need to pause the pipeline.
	(fill_in_model): Update for GST_QUERY.
	(fill_in_cdda): Ditto.
	(rip_tracks): Cast to a gint64

	* marlin-window-menu.c (file_new_dialog): Add a : and make the label
	bold

2002-12-31 Iain <iain@prettypeople.org>

	* main.c (marlin_open_window_with_sample): Update for marlin-window 
	changes.
	(marlin_open_window): Ditto.
	
	* marlin-cdda-record.c (finalize): 
	(sample_notify):
	(set_property):
	(get_property):
	(get_progress):
	(class_init):
	(oneton_new_pad):
	(rip_eos_reached):
	(init):
	(cdda_pipeline_get_type): Implement a CDDA Pipeline.
	(fill_in_model): Use the passed in pad.
	(fill_in_cdda): Make a small pipeline only for finding info.
	(rip_op_finished): Update for MarlinOperation
	(rip_op_started): Ditto.
	(eos_reached): Set the state on the pipeline to NULL.
	(pipieline_shutdown): Free the pipeline.
	(marlin_cdda_record_new): Don't create a pipeline here.

	* marlin-window.[ch] (set_property):
	(get_property): Add a sample property.
	(class_init): Create it.
	(marlin_window_new): Take a loaded parameter...FIXME!

2002-12-27 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (response_callback): Hook up the Help button
	to the help documentation.

2002-12-27 Iain <iain@prettypeople.org>

	* marlin-window.c (save_op_started): Create a progress window.
	(save_op_finished): Destroy it.

2002-12-26 Iain <iain@prettypeople.org>

	* main.c (marlin_oper_window): Use the window to load the sample.

	* marlin-cdda-record.c: Temporarily disable loads of stuff that uses
	operations/pipelines and the like.
	
	* marlin-progress-window.[ch] (operation_progress): Modify to use
	operations.
	(marlin_progress_window_new): Ditto.
	
	* marlin-window.c (marlin_window_op_started): Only handle the load case
	(marlin_load_op_finished): Only handle the load case and set the sample
	on the view once it's loaded.
	(marlin_window_load_file): Create an operation and a load pipeline.
	(save_op_started): Temp debug stuff.
	(save_op_finished): Ditto.
	(save_sample_as): Create an operation and a save pipeline.
	(marlin_window_save_sample): Get the filename.
	(marlin_window_save_sample_as): Get a new filename.

2002-12-22 Iain <iain@prettypeople.org>

	* marlin-record.c (exist_radio_toggled): Setup the timeline and media
	controls correctly
	(new_radio_toggled) Ditto.
	(marlin_record_new): Ditto

2002-12-22 Iain <iain@prettypeople.org>

	* marlin-record.c (record_eos_reached): Reset the media controls
	(play_eos_reached): Ditto.

2002-12-22 Iain <iain@prettypeople.org>

	* marlin-record.c (record_clicked): Change the status
	(play_clicked): Ditto.
	(stop_clicked): Ditto.
	(record_eos_reached): Ditto.
	(play_eos_reached): Ditto.

2002-12-19 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Pass the sample so that the
	save button will only be set if the sample is dirty.
	(marlin_window_op_finished): As above.
	(marlin_window_set_file_sensitive): Take the sample so we know if it is
	dirty or not.

2002-12-19 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_open): Keep track of the open filesel 
	window.

2002-12-19 Iain <iain@prettypeople.org>

	* marlin.xml: Fix the zoom band problem.

2002-12-19 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_change_timeline_fpp): Adjust the zoom
	commands too.
	(marlin_window_zoom_in): Do a zoom in.
	(marlin_window_zoom_out): Guess.

	* marlin-window-menu.c (zoom_in): Uncomment out the code.
	(zoom_out): Ditto.

2002-12-15 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (rip_track_in_list): Rip to the start of the
	next track.

2002-12-14 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (marlin_cdda_record_new): Neaten dialog, make it
	slightly larger by default.
	(fill_in_model): Get the details from GST.
	(make_time): Make the time right.

2002-12-14 Iain <iain@prettypeople.org>

	* totem-cd-selector.[ch]:
	* cd-drive.[ch]: Files from totem to detect CD drives and show them
	as a neat option menu.

	* marlin-cdda-record.c (fill_in_cdda): Don't crash due to CDParanoia
	changes.
	(marlin_cdda_record_new): Add the CD Selector and speed selector.

2002-12-13 Iain <iain@prettypeople.org>

	* marlin-window.c: Add checks

2002-12-09 Iain <iain@prettypeople.org>

	* marlin.xml: Add the View menu, put the Zoom stuff into the toolbars
	Add ... to New and Open

2002-12-09 Iain <iain@prettypeople.org>

	* marlin.xml: Add an Edit menu.

	* marlin-window-menu.c (edit_select_all): Call the marlin window 
	function.
	(marlin_window_menu_setup): Add the edit menu verbs

	* marlin-window.c (marlin_window_select_all): Add a selection for the
	whole of the window.

2002-12-09 Iain <iain@prettypeople.org>

	* marlin.xml: Fix toolbar positions

2002-12-08 Iain <iain@prettypeople.org>

	* marlin-record.c (make_profile_menu): Remove spew.
	(marlin_record_new): Add a settings button, Shuffle the dialog around
	Don't let it be resizable

2002-12-07 Iain <iain@prettypeople.org>

	* marlin.xml: Add zoom in and zoom out verbs.

	* marlin-window.c: Add code to zoom in and out: broken code :)

	* marlin-window-menus.c: Register the verbs.

2002-12-07 Iain <iain@prettypeople.org>

	* marlin-record.c (make_profile_menu): Check for extra non soundcard
	sources and add them

2002-12-06 Iain <iain@prettypeople.org>

	* marlin-record.c (prev_clicked): Set the position to 0
	(rewind_clicked): Go backwards
	(ffwd_clicked): Go forwards
	(next_clicked): Go to the end.

2002-12-06 Iain <iain@prettypeople.org>

	* marlin-record.c (play_position_changed): Set the position on the time
	line
	(play_eos_reached): Set the position to 0.
	(marlin_record_new): Hook up to the useful signals on the play pipeline

2002-12-05 Iain <iain@prettypeople.org>

	* marlin-record.c (record_clicked): Get the rate and channels to set the
	sample to the right levels.
	(stop_clicked): Just set the EOS on the record pipeline.
	(record_eos_reached): Set the pipeline to READY and open the new window.
	(marlin_record_new): Hook up to the EOS signal.

2002-12-04 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (help_about): Add the logo to the about box.

2002-12-02 Iain <iain@prettypeople.org>

	* marlin-record.c (item_activaated): Check the number of frames before
	seeking.
	(exist_radio_toggled): Ditto

2002-11-30 Iain <iain@prettypeople.org>

	* marlin-record.c (record_clicked): Check the state, if it's not NOTHING
	return.
	(play_clicked): Ditto.
	(stop_clicked): Check the state, open a new window with the sample if we
	were recording.
	(marlin_record_new): Set the state.

2002-11-30 Iain <iain@prettypeople.org>

	* marlin-record.c (item_activated): Don't check if frames > 0.
	(exist_radio_toggled): Set the sample on the play pipeline.
	(record_clicked): Create a sample, start recording, turn off the buttons
	(play_clicked): Start playing sample, turn off the buttons.
	(stop_clicked): Stop playing or recording. Turn on buttons.
	(marlin_record_new): Remove the if 0's stuff
	
	* marlin-window.c: Add some more time types.
	(statusbar_set_frames): Support the AS_SECONDS type.
	(attach_popup_menu): Create the radiobuttons correctly.

2002-11-29 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_sample_notify): Do nothing.
	(marlin_window_op_finished): Update the timeline

2002-11-29 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_op_finished): Remove sucky hack.

2002-11-29 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_op_finished): Add sucky hack so the
	sample will play at the correct rate.

2002-11-28 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_total_frames_changed): Update for the
	notify stuff.
	(marlin_window_new): Connect to the notify signal.

2002-11-27 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (dialog_response): Handle the Help button.
	(marlin_cdda_record_new): Add a help button.

	* marlin-window-menu.c (response_callback): Handle the Help button.

	* marlin-record.c (dialog_response): Handle the Help button.

2002-11-18 Iain <iain@prettypeople.org>

	* marlin-record.c (marlin_record_new): Make the layout of the dialog
	perfect.

2002-11-18 Iain <iain@prettypeople.org>

	* main.c (marlin_open_window): Get the sample defaults from GConf.
	Update the recent files stuff.
	
	* marlin-record.c: Major changes :)

	* marlin-window-menu.c: Add lots of gtk includes.
	(make_title_label): Make a title label.
	(response_callback): Open a new window.
	(fill_combo_box_with_defaults): Load up the defaults.
	(fill_new_dialog): Open a dialog for selecting properties.
	(file_verbs): Hook up the new verb.
	
	* marlin-window.c (file_open_recent): Update.
	(marlin_window_get_filename): Remove.

	* marlin.schemas: Add lots new schemas.

	* marlin.xml: Add the new verb.

2002-11-10 Iain <iain@prettypeople.org>

	* main.[ch] (marlin_get_window_list): Simple accessor function.

	* marlin-record.c (make_existing_menu): Make the real menu.
	(marlin_record_new): More work...

	* marlin-window.[ch] (marlin_window_get_filename): Accessor.

2002-11-09 Iain <iain@prettypeople.org>

	* marlin-record.c (marlin_record_new): More work on the UI.
	(make_profile_menu): Mock up a menu.
	(make_existing_menu): Mock up a menu.

2002-11-08 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Set the record button up.

	* marlin-window-menu.c (media_record): Open a record dialog.

	* marlin-record.c: New file for the record dialog.

2002-10-17 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_timeline_cursor_changed): Set the
	position again

2002-10-17 Iain <iain@prettypeople.org>

	* marlin-window.c (change_position_display): Redraw the status bar

2002-10-16 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Set the size of the status bars 
	to 75

2002-10-16 Iain <iain@prettypeople.org>

	* marlin.schemas: Add a schema to record what the position was displayed
	as.
	
	* marlin-window.c (statusbar_set_frames): Check how the position is
	displayed.
	(change_position_display): Check if the item is toggled, and if so
	update gconf.
	(attach_popup_menu): Attach a popup menu to the widget passed in.
	(marlin_window_new): Create event boxes for the controls so we have a
	GdkWindow to attach a popup menu to, so we can change the type of
	display.

2002-10-16 Iain <iain@prettypeople.org>

	* marlin-window.c (statusbar_set_frames): Calculate the frame position
	as a time and put it in the statusbar.
	(marlin_window_view_move_cursor): Remove all the dumb calculation stuff
	I dunno what I was thinking.
	
2002-10-16 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Add status bars to the window.

	* marlin.xml: Add more status bars

2002-10-15 Iain <iain@prettypeople.org>

	* marlin-progress-window.c (marlin_progress_window_new): Conform to
	HIG.

2002-10-14 Iain <iain@prettypeople.org>

	* gnome-recent-*: Updated code from libegg.

	* Makefile.am: Compile new files.

	* marlin-cdda-record.c (marlin_cdda_record_new): Design the dialog with
	the HIG rules.

2002-10-11 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (fill_in_model): Don't free offset

2002-10-11 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (marlin_cdda_record_new): Add frames and some
	spacing.
	
	* marlin-window-menu.c (tools_extract): Only open one window.

2002-10-05 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (get_rip_progress): Calculate the percent 
	correctly.

2002-10-05 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c: HAndle prgress windows.
	(get_rip_progress): Get the progress of the rip.
	(op_finished): Disconnect the signals and destroy the progress window.
	(op_started): Create a progress window.
	(eos_reached): End the op.
	(rip_tracks): Start the op.

	* marlin-window.c (maybe_save_quit): Create the dialog the proper way.

2002-10-04 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (eos_reached): Only rip the next track if we're
	ripping by tracks.
	(rip_tracks): Rip a range of tracks.
	(rip_track_in_list): call rip_tracks.
	(do_rip): Check if we're ripping the whole CD or just a list of
	tracks.

2002-10-04 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (by_tracks_toggled): Set the CD length
	unsensitive
	(full_cd_toggled): Set the CD length sensitive

2002-10-04 Iain <iain@prettypeople.org>

	* marlin-window.c: Add a close_on_op_complete boolean.
	(init) Set boolean to false.
	(marlin_window_op_finished): Close the window if boolean in set.
	(maybe_save_response): Set the boolean, save the sample.

2002-10-04 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_save_sample_as): Move the code to
	open the save file selector to here.
	(file_sel_save_as_response): Save the file.

	* marlin-window-menu.c: Removed above functions.

2002-10-04 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_can_close): Check to see if the
	window is able to close. If not, bring up the save or quit dialog.
	(marlin_window_close): Ask if we need to save.
	(maybe_save_quit): Display the this file needs saved dialog.
	(maybe_save_response): Handle the responses.
	(make_button): Hack to make a button from stock + text.
	(add_button_to_dialog): Add a new button.
	
	* main.c (marlin_open_window): Connect to the delete event too.
	(marlin_open_window_with_sample): Ditto.
	(window_deleted): Cancel the delete event if the sample is dirty.

2002-10-04 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (pipeline_shutdown): Free the pipeline data.
	(dialog_response): Hook up to the shutdown signal.

2002-10-04 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_save_sample_as): Set the new filename

2002-10-02 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (rip_track): Generate a sensible name.

2002-10-02 Iain <iain@orettypeople.org>

	* marlin-cdda-record.c (make_time): Remove spew.
	(*)Remove spew.
	(eos_reached): PAUSE the pipeline.
	Rip the next track.
	(rip_track): Don't hook up the pipeline.
	(do_rip): Hook up the pipeline.

2002-09-30 Iain <iain@prettypeople.org>

	* marlin-window.c (op_finished): Don't set the pipeline's sample. It's
	not needed anymore.
	(marlin_window_new): Pass the sample to the play pipeline.

2002-09-29 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (eos_reached): Set the dirty bit.

	* marlin-window.c (marlin_window_new): Check how many frames are in
	the sample and set the toolbars accordingly.

2002-09-29 Iain <iain@prettypeople.org>

	* main.[ch] (marlin_open_window_with_sample): Open a window with a
	sample and add it to the window list.

	* marlin-cdda-record.c (eos_reached): Use above function.

2002-09-28 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (rip_track): Use an event to set the start and
	end points

2002-09-28 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (fill_in_cdda): Return if theres no tracks.
	(new_pad): Add some asserts, and don't restart the pipeline, as it
	screws up capsnego
	(rip_track): Set the tracks to the right value. Hook up the whole
	pipeline.

2002-09-27 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (fill_in_cdda): Set the list of tracks to be
	ripped.
	(track_toggled): Change the rip status.
	(oneton_new_pad): Hook up a new src pad.
	(eos_reached): Callback when the track has finished ripping.
	(rip_track): Set the track, and start ripping.
	(do_rip): Make a list of tracks to rip.

2002-09-21 Iain <iain@prettypeople.org>

	* marlin-cdda-record.c (track_toggled): Change the model for the path.
	(dialog_response): Close the dialog.

2002-09-21 Iain <iain@prettypeople.org>

	* Makefile.am: Compile the cdda stuff.

	* marlin.xml: Add a new verb.

	* marlin-window-menus.c: Add the cdda stuff.

	* marlin-cdda-record.c: Start of a CDDA ripper.

2002-09-19 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_load_started): Update for new signal.

2002-09-19 Iain <iain@prettypeople.org>

	* marlin-progress-window.c (marlin_progress_window_new): Stick a
	pretty icon into the window.

2002-09-17 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_sample): When the state is
	paused, set the state to playing

2002-09-17 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_sample): Get the right initial
	start point when playing a selection.

2002-09-17 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_sample): Play a range.
	(marlin_window_stop_sample): Don't need to seek.

2002-09-16 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_move_cursor): Another guin64 fix.
	(marlin_window_move_cursor_to_start): Ditto.
	(marlin_window_move_cursor_to_end): Ditto.

2002-09-16 Iain <iain@prettypeople.org>

	* marlin-window.c: USe 64bit uints for positions.
	(marlin_window_total_frames_changed): Update for new prototype.

2002-09-15 Iain <iain@prettypeople.org>

	* marlin-window.c (position_changed): Move the cursor.
	(marlin_window_new): Connect the signal.

2002-09-14 Iain <iain@prettypeople.org>

	* marlin-window.c (play_eos): Reset the pipeline.
	(marlin_window_new): Hook up signal.

2002-09-14 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Load the image and set it as
	the window icon.

2002-09-14 Iain <iain@prettypeople.org>

	* Makefile.am: Remove marlin-window-play.

	* main.c (marlin_shutdown): Remove jack.
	(dont_show_again_toggled): Remove.
	(show_jack_error): Remove.
	(main): Don't check for jack.

2002-09-14 Iain <iain@prettypeople.org>

	* marlin-window.c: Remove jack stuff. Add play pipeline stuff.
	(finalize): Unref the play pipeline.
	(marlin_window_load_finished): Set the sample on the play pipeline.
	(marlin_window_new): Create a new play pipeline.
	(marlin_window_set_media_bar_sensitive): Don't care about jack.
	(marlin_window_play_sample): Remove jack stuff, start the pipeline.
	(marlin_window_stop_sample): Remove jack.
	(marlin_window_pause_sample): Set the pipeline state.
	(marlin_window_sample_completed): Remove jack stuff.

2002-09-13 Iain <iain@prettypeople.org>

	* marlin.schemas. Add schema for the save-file-directory.

2002-09-12 Iain <iain@prettypeople.org>

	* marlin-window-progress.[ch]: (sample_progress): Update the progress.
	(marlin_progress_window_new): Connect to the progress signal of the
	sample.
	(marlin_progresS_window_destroy): Disconnect signal.
	(marlin_progress_window_set_progress): Remove.

	* marlin-window.c (marlin_window_total_frames_changed): Don't update
	progress.

2002-09-12 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_save_started): Open a new progress
	window, to show something is happening.
	(marlin_window_save_finished): Close window.
	(marlin_window_new): Hook up new functions.

2002-09-12 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_open): Add a title to the file dialog.
	(file_sel_save_as_response): Get the filename, store the directory and
	save the file.
	(file_save_as): Open a file requester.

	* marlin-window.c (set_path_sensitive): Sets the path sensitive.
	(marlin_window_set_file_sensitive): Set the save/save as sensitive.
	(marlin_window_set_media_bar_sensitive): Use set_path_sensitive.
	(marlin_window_save_sample_as): Save the sample as the filename.

	* marlin.xml: Set the defaults for the save and save as verbs to 0

2002-09-12 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_open): Fix protocol.
	(file_save): Call marlin_window_save_sample.

	* marlin-window.c (marlin_window_save_sample): Get the filetype from
	the filename, and save the file.

2002-09-08 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_save): Stub function.
	(file_save_as): Ditto.
	(file_verbs): Hook up the save and saveas verbs

2002-09-08 Iain <iain@prettypeople.org>

	* marlin.xml: Add FileSave and FileSaveAs verbs and put them in the
	menu and toolbar.

2002-09-08 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_new): Pass NULL as the uuid

2002-09-04 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_sample): If the sample is
	already playing, stop it first, otherwise every click on the play or
	repeat button while the sample is playing makes it louder.

2002-09-04 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_sample): Unlock the selection.
	(marlin_window_repeat_sample): Don't restart jack...it'll make the
	volume get louder on each repeat.

	* marlin-window-play.c: Add a lock to the private struct.
	(play_process): Lock and unlock the lock.
	(marlin_window_play_get_jack): Make the lock.
	(marlin_window_play_set_start_position): Lock.
	(marlin_window_play_set_stop_position): Lock.
	(marlin_window_play_set_jack): Lock.
	(marlin_window_play_remove_jack): Lock.

2002-09-04 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (media_repeat): Call the repeat function.

	* marlin-window.c (marlin_window_repeat_sample): Set the repeat flag
	and call marlin_window_play_sample.
	(marlin_window_sample_completed): Check the repeat flag. Reset the
	start and finish and play it again.

	* marlin-window-play.c (do_play_complete): Call sample_completed.

2002-09-04 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (media_verbs): Add the MediaRepeat verb.
	(media_repeat): Function for the verb.

	* marlin-window.c (marlin_window_set_media_bar_sensitive): Set the
	state of the MediaRepeat verb too.

2002-09-04 Iain <iain@prettypeople.org>

	* marlin.xml: Add info for the repeat button

2002-09-02 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_sample): Store the start and
	finish points for looping or selection playing.

2002-09-02 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_play_sample): Check if there's a
	selection, and if so use it to set the start and finish.

	* marlin-window-play.c (marlin_window_play_set_position): Rename to
	marlin_window_play_set_start_position.
	(marlin_window_play_set_stop_position): Set the position that play is
	to stop at.

2002-09-02 Iain <iain@prettypeople.org>

	* marlin-window.c: Add an initial member to the priv.
	(marlin_window_play_sample): Store the position the cursor is at.
	Set the starting position.
	(marlin_window_stop_sample): Restore the initial cursor position.

	* marlin-window-play.c (marlin_window_play_set_position): Set the
	position for the the play to start at.

2002-09-02 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Use the selection property.

2002-09-01 Iain <iain@prettypeople.org>

	* main.c: Include gst.h
	(main): Initialise GST.

2002-08-18 Iain <iain@prettypeople.org>

	* Makefile.am: Add -luuid.

	* main.c (marlin_foreach_window): A foreach function to run on all the
	windows.
	(marlin_open_window): Take a uuid and restore a window from state.
	(main): Add some ugly ifdefs.

	* marlin-session.c: Include gconf.client.h
	(interaction_function): Move everything to client save youself.
	(client_save_yourself): Save each of the windows.
	Remove all the gnome_config crap.
	(marlin_session_load): Remove gconf_config crap. Get a list of all
	stored windows and open them. Then remove all the keys.

	* marlin-window.c: Include uuid.h
	(file_open_recent): Update for new sig.
	(get_int): Get an integer from gconf.
	(marlin_window_new_from_state): Create a window and restore its state.
	(set_int): Set an integer.
	(marlin_window_save_state): Save window state.
	(remove_key): Remove a key from gconf.
	(marlin_window_remove_state): Remove all the state info for that
	window.

	* marlin.xml: Move the media bar to the top.
	
2002-08-17 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Get the selection and pass it
	to the time line

2002-08-12 Iain <iain@prettypeople.org>

	* .cvsignore: Add some more files to be ignored

2002-08-12 Iain <iain@prettypeople.org>

	* main.c (marlin_open_window): Number each new window as Untitled-%d

2002-08-11 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (media_verbs): Hook up the Pause verb.

	* marlin-window.c: Add a state enum.
	(marlin_sample_pause): Check that the state isn't paused.
	(marlin_window_play_sample): Check the state
	(marlin_window_stop_sample): Check the state.

2002-08-11 Iain <iain@prettypeople.org>

	* marlin-window-play.c (play_process): Add another mutex wait :) Tell
	the gui to update the cursor position.
	(do_update_play): Move the cursor in the GUI thread
	(marlin_window_play_update_position): Set up the thread functions.

2002-08-10 Iain <iain@prettypeople.org>

	* marlin-window-play.c (play_process): Don't assume that there will 
	always be nframes in the current block. Call 
	marlin_window_play_sample_completed once the sample is completed.
	(marlin_window_play_set_jack): Don't bother with intermediary variables.
	(marlin_window_play_remove_jack): Push the wrong jack, free the
	current block data and reset the positions.
	(do_play_complete): Stop the sample playing.
	(marlin_window_play_sample_completed): Set off a function in the GUI
	thread to stop the sample playing.

2002-08-02 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_stop_sample): Stop the sample
	playing.
	(marlin_window_pause_sample): Pause.
	(marlin_window_resume_sample): Unpause.

	* marlin-window-menus.c (media_stop): Stop the sample callback.
	(media_pause): Pause sample callback.
	(media_verbs): Hook up callbacks.

2002-08-02 Iain <iain@prettypeople.org>

	* Makefile.am: Added the new files.

	* marlin-window-menu.c (media_play): Callback for the MediaPlay verb.
	(media_verbs): Add the callback.

	* marlin-window.c: Add a jack object.
	(marlin_window_new): Create the jack object.
	(marlin_window_set_media_bar_sensitive): Only ifdef out the record
	button.
	(marlin_window_get_sample): Accessor for the sample.
	(marlin_window_play_sample): Start jack.

	* marlin-window-play.[ch]: New files that handle the jack code for
	playback.

2002-08-02 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Don't ref the sample, we
	already own it.

2002-07-28 Iain <iain@prettypeople.org>

	* main.[ch]: Include marlin-stock.h and add a got_jack boolean.
	(main): Register stock icons.
	
	* marlin-window-menu.c (media_previous): Callback for new verb.
	(media_next): Ditto.
	(media_forward): Ditto.
	(media_rewind): Ditto.
	(media_verbs): Added the new verbs.
	(marlin_window_menu_setup): Register the new verbs.

	* marlin-window.[ch]: Include main.h
	(marlin_window_load_started): Insensitise the media buttons.
	(marlin_window_load_finished): Resensitise them.
	(marlin_window_timeline_cursor_changed): Use the GParam stuff instead
	of the function.
	(marlin_window_move_cursor_to): Function to move the cursor to an
	absolute position.
	(marlin_window_move_cursor): Function to move the cursor to a relative
	position.
	(marlin_window_move_cursor_to_start): Move the cursor to the start.
	(marlin_window_move_cursor_to_end): Move the cursor to...the end.
	(marlin_window_set_media_bar_sensitive): Set the sensitivity on the
	media bar.

	* marlin.xml: Add the new verbs, and create the media bar.
	
2002-07-28 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_timeline_cursor_changed): Change the
	view's cursor position when the timeline's changes. Block signals to
	stop a loop.
	(marlin_window_view_move_cursor): Move the timelines cursor when the
	view's changes. Ditto loop.
	(marlin_window_new): Hook up new signals.

2002-06-28 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (help_about): Add my email address to the 
	authors, and add the web page to the about box.

2002-06-28 Iain <iain@prettypeople.org>

	* marlin.schemas: Add a schema for storing the file requestor's last
	dir.

	* marlin-window-menu.c (file_sel_response): Store the last accessed 
	dir.
	(file_open): Restore the filesel to the last dir.

2002-06-27 Iain <iain@prettypeople.org>

	* Makefile.am: Add the marlin-session.[ch] files.

	* main.c: Include main.h and marlin-session.h
	(main): Initialise the session. If we're restored ignore the extra
	files.

	* marlin-session.[ch]: Session management files.

2002-06-27 Iain <iain@prettypeople.org>

	* Makefile.am: Add the marlin-recent.[ch] files

	* main.c (marlin_open_window): Add the filename to the recent model.
	(main): Initialise the recent stuff.

	* marlin-window.c (file_open_recent): Open the recent file.
	(init): Hook up the recent files to the correct menu.

	* marlin-recent.[ch]: Some minor functions.

2002-06-27 Iain <iain@prettypeople.org>

	* Makefile.am: Generate the marshallers, compile the new recent stuff.

	* marlin-window-menu.c: Include config.h.
	(file_sel_response): Remove the checkbox.
	(file_open): Sod the checkbox.
	(help_about): A proper about box.
	
2002-06-26 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_open): Use MarlinFileSelection and put
	a "Open in new window" check box in.
	(file_sel_response): Check if we need to open in the same window or
	open a new window as well.

2002-06-25 Iain <iain@prettypeople.org>

	* marlin-window-menu.c (file_open): Display a file selection widget
	(file_sel_response): On a OK response, open a new window with the 
	selected file loading.

2002-06-24 Iain <iain@prettypeople.org>

	* marlin-window.c: Change the default height of a window.

	* marlin-window-menu.c (file_new): Open a new window.

	* marlin.xml: Add a sparse toolbar and a status bar.

2002-06-24 Iain <iain@prettypeople.org>

	* Makefile.am: Install the ui stuff, build the new files.

	* main.c (marlin_quit): Close all the windows in the window list.

	* marlin-window.c (init): Load the ui xml file and set up the menu
	verbs.
	(marlin_window_close): Destroy the window.
	(marlin_window_get_bonobo_ui_component): Get the UIComponent.

	* marlin.xml: UI definition

	* marlin-window-menus.[ch]: Menu callbacks and verb set up
	
2002-06-24 Iain <iain@prettypeople.org>

	* marlin-window.[ch]: Derive from BonoboWindow instead of GnomeApp.
	(init): Create BonoboUI stuff

2002-06-24 Iain <iain@prettypeople.org>

	* main.c (show_jack_error): Add a Don't show this dialog again check
	button.
	(main): Only show the error if gconf says we should.
	(dont_show_again_toggled): Set the gconf value to whatever the check
	button is set to.

	* marlin.schemas: A schema file for Marlin options.

	* Makefile.am: Install the schema file.

2002-06-24 Iain <iain@prettypeople.org>

	* main.c (show_jack_error): Reorder the OK and Quit buttons. Make the
	OK button default and change the text to refer to OK instead of Okay.

2002-06-23 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_timeline_start_changed): Callback to
	scroll the view to the correct place when the timeline changes.
	(marlin_window_new): Hook up the above function to the signal.

2002-06-23 Iain <iain@prettypeople.org>

	* marlin-window.c (marlin_window_new): Get the number of frames from
	the sample, to set the timeline correctly.

2002-06-23 Iain <iain@prettypeople.org>

	* marlin-window.c: Include gtkhruler.h, gtkvruler.h, gtktable.h and
	gtkhscrollbar.h
	(marlin_window_new): Create a table to put the rulers, view and
	scrollbar into. Create rulers and a scrollbar. Set the scrolled
	window's adjustment to be the same as the scrollbar, hide the 
	scrolled window's scrollbars and use the newly created one.

2002-06-22 Iain <iain@prettypeople.org>

	* Makefile.am: Build an application.

	* main.c: Main file.

	* marlin-progress-window.[ch]: A window to display file progress.

	* marlin-window.[ch]: Main application window.
