2009-07-27  Murray Cumming  <murrayc@murrayc.com>

	Unbreak the GtkFileChooserButton. Sorry.
	
	* src/main_window.[h|cc]: Use the GtkFileChooserButton file-set signal via 
	the C API because it was not wrapped in the corresponding gtkmm (2.16) 
	version in Maemo.

2009-07-27  Murray Cumming  <murrayc@murrayc.com>

	Better stdcerr messages about missing elements.
	
	* src/main_window.cc: Add a create_element() helper function that gives a 
	slightly more informative error message when a plugin is missing.
	Add a comment explaining that the element names are just for debugging.

2009-07-26  Murray Cumming  <murrayc@murrayc.com>

	Fix the build on maemo.

	* Makefile.am:
	* configure.ac: Move the deprecated symbols disabling MY_CFLAGS into 
	the dkwarn.m4 --enable-warnings option so it is available but not the 
	default. Making it the default just makes it unnecessarily hard to 
	build from the tarball with new versions of libraries.

	* src/main_window.cc:
	* src/vidrot_preview.cc: Added ifdefs to hack around the build with 
	the mameomm version of gktmm.

2009-07-24  Murray Cumming  <murrayc@murrayc.com>

	* debian/changelog:
	* debian/control: Added missing commas in my previous commit.

2009-07-24  Murray Cumming  <murrayc@murrayc.com>

	* debian/changelog:
	* debian/control: Added likely gstreamer plugin dependencies.

2009-07-11  David King  <davidk@openismus.com>

	* src/main_window.cc: Change progress bar timeout in on_bus_message()
	to use connect_seconds() rather than connect().

2009-06-30  David King  <davidk@openismus.com>

	* debian/changelog:
	* debian/control: Update dependencies for libgtkmm.
	* debian/shlibs.local: Add override to ensure correct dependency version
	for libgstreamermm.

2009-06-30  David King  <davidk@openismus.com>

	* debian/changelog:
	* debian/control: Really update gstreamermm dependency.

2009-06-30  David King  <davidk@openismus.com>

	* debian/changelog:
	* debian/control: Update dependency of gstreamermm.

2009-06-30  David King  <davidk@openismus.com>

	* debian/*: Add Debian packaging.

2009-06-30  David King  <davidk@openismus.com>

	* .gitignore: Update.
	* configure.ac:
	* Makefile.am: Build system updates.
	* INSTALL: Remove from repository.

2009-06-30  David King  <davidk@openismus.com>

	* src/main_window.cc: Remove completion dialog from
	offer_finished_file(), as gtk_show_uri() does not work for me. Also,
	modal dialogs are unnecessary.

2009-06-30  David King  <davidk@openismus.com>

	* src/main_window.cc: Remove preview widget, as it currently does not
	display a preview.

2009-06-30  David King  <davidk@openismus.com>

	* src/main.cc: Correct command-line argument descriptions.

2009-06-30  David King  <davidk@openismus.com>

	* src/main_window.cc: Use stock item for m_button_stop.

2009-06-30  David King  <davidk@openismus.com>

	* src/main_window.cc: Tooltips should not have trailing full stops.

2009-06-30  David King  <davidk@openismus.com>

	* src/main_window.cc: FileChooser::get_uri() returns a Glib::ustring,
	not a std::string.

2009-06-30  David King  <davidk@openismus.com>

	* CodingStyle: Briefly document coding style.
	* ChangeLog: Remove superfluous patch subjects.
	* configure.ac: Add "no-define" option to Automake initialisation. Make
	use of the new defines that it provides. Remove unnecessary line breaks.
	* src/main.cc:
	* src/main_window.cc:
	* src/main_window.h: Fix coding style issues.
	* vidrot.desktop.in.in: Use Automake variables where appropriate.
	* vidrot.doap: Fix email address.

2009-06-30  David King  <davidk@openismus.com>

	* configure.ac: Depend on gstreamermm >= 0.10.2 for videoscale.h and
	ximagesink.h headers.

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* Makefile.am: Mention the .desktop file in DISTCLEANFILES to avoid 
	a distcheck error.
	* po/POTFILES.skip: Added this, to avoid a distcheck error.

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* configure.ac
	* Makefile.am:
	* vidrot.desktop.in.in: Install a .desktop file so vidrot shows up 
	in the main desktop menu. I stole the MIME types list from totem, 
	removing the audio MIME types, though there are probably still some 
	inappropriate ones there.

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* src/main_window.[h|cc]: Added offer_finished_file(), which asks the 
	user and then calls gtk_show_uri() to open it, for instance, in totem.
	on_bus_message(): Call offer_finished_file() at EOS.
	
2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* src/main_window.[h|cc]: setup_widgets(): Added stop button, and 
	handled it.
	Added update_widget_sensitivity(processing) and moved all 
	set_sensitivity() calls there to simplify the code.

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* src/main_window.cc: on_bus_message(): g_free() the result from 
	gst_missing_plugin_message_get_description().

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* src/main_window.cc: on_file_selected(): Silently ignore an empty 
	URI.

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* src/main.cc: Use a Glib::OptionContext to offer and parse --version 
	and --file command-line options, also accepting the filepath with no 
	-- option name.
	* src/main_window.[h|cc]: Added set_file_uri(), for use by main(), 
	though FileChooser.get_uri() does not return what I set, at least on 
	my system. 

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* Makefile.am:
	* src/vidrot.cc: Renamed to src/main.cc, because I find that clearer.

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* configure.ac: Depend on gstreamer-pbutils-0.10 (from
	gst-plugins-base).
	* src/vidrot.cc: main(): Call gst_pb_utils_init().
	* src/main_window.cc: on_bus_message(): Try to deal with the message as 
	a missing pluging message, to give the user a meaningful warning and 
	offer installation of the plugin. This does not work in jhbuild but 
	maybe it would work in a normal environment. We will see.

2009-06-26  Murray Cumming  <murrayc@murrayc.com>

	* src/main_window.cc: Constructor: Add labels to make the UI clearer, 
	and correct the button order.

2009-05-12  David King  <davidk@openismus.com>

	* configure.ac: Don't define AC_CONFIG_AUX_DIR as it's not
	needed. Remove -pedantic from fatal warning flags as variadic
	macros (used in GStreamer) are not available in C++.
	* Makefile.am: Don't distribute auxilliary config files.
	* src/main_window.cc:
	* src/vidrot_preview.cc: Remove unused function arguments.

2009-05-12  David King  <davidk@openismus.com>

	* data/vidrot_logo.png: Add simple logo, copied from Totem.
	* src/main_window.[cc|h]: Remove preview support from GStreamer
	pipeline, in preperation for adding static preview.

2009-05-11  David King  <davidk@openismus.com>

	* README: Mention restricted codecs in Ubuntu.

2009-05-08  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Remove try...catch blocks, as
	there is no error-handling if an exception is caught.
	Rearrange constructor into separate helper functions.
	* TODO: Update to reflect time remaining estimation.

2009-05-04  David King  <davidk@openismus.com>

	* src/main_window.cc: Set default directory for FileChooser
	to the XDG videos directory, using Glib API.

2009-05-04  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Add Glib::Timer time_remaining and
	use it to estimate the remaining time left for conversion.

2009-05-01  Murray Cumming  <murrayc@murrayc.com>

	Mention Debian/Ubuntu packages to install.

	* README: Mention Debian/Ubuntu packages to install when building
	gstreamer stuff from source, because it is not obvious and I forget.

2009-04-30  David King  <davidk@openismus.com>

	* src/vidrot_preview.[cc|h]: Add set_aspect_ratio() and
	get_aspect_ratio() to set aspect ratio of video for preview.
	Simply derive from Gtk::Widget, suggested by Daniel.
	* src/main_window.cc: Use set_aspect_ratio().

2009-04-29  David King  <davidk@openismus.com>

	* Makefile.am:
	* src/main_window.h:
	* src/vidrot_preview.[cc|h]: Add custom widget for preview
	of videos. Currently, simply draws a black background.

2009-04-28  David King  <davidk@openismus.com>

	* ChangeLog: Forgot to add ChangeLog in last commit.
	* Makefile.am: Add vidrot.doap to EXTRA_DIST.
	* src/main_window.cc: Comment preview size code.

2009-04-28  David King  <davidk@openismus.com>

	* TODO:
	* src/main_window.[cc|h]: Add videoscale element to enable
	scaling of the video preview. Initialize buffer_[width|height]
	to 0 (noticed by Murray). Constrain preview widget to aspect
	ratio of video stream.

2009-04-23  Murray Cumming  <murrayc@openismus.com>

	* src/main_window.cc: on_bus_message(): Improve the debug output.
	Fail if there is a Gst::MESSAGE_WARNING because I get a warning
	that there is no encoder for some videos, which seems more like an
	error to me.

2009-04-22  David King  <davidk@openismus.com>

	* vidrot.doap: Basic DOAP file.

2009-04-22  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Move separate preview window into
	m_video_area widget. Code taken from gstreamermm media player
	example.

2009-04-21  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Preliminary preview support. Slows
	encoding down to realtime and appears in separate window.

2009-04-18  David King  <daivdk@openismus.com>

	* m4/*:
	* po/*: Purge autogenerated files.
	* po/POTFILES.in: Set character encoding of source files to utf-8.
	* autogen.sh:
	* configure.ac: Integrate intltool support.

2009-04-17  David King  <davidk@openismus.com>

	* m4/*:
	* po/*:
	* src/main_window.[cc|h]:
	* ABOUT-NLS:
	* configure.ac:
	* Makefile.am:
	* TODO: Integrate glib-gettext for i18n support.

2009-04-16  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Revert typefind change to fix conversion.
	* TODO: Update TODO.

2009-04-09  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Add typefind bin and output stream
	type to stdout on file selection (breaks conversion).

2009-04-03  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Add progress bar, using timeout
	function. Add HButtonbox for convert and quit buttons.
	* TODO: Initial commit.

2009-04-03  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Revert output to MPEG2/MP3 in AVI.
	Add videorate element before mpeg2enc element. Add tooltips
	for widgets in main window.

2009-04-02  David King  <davidk@openismus.com>

	* src/main_window.cc: Change output to OGG container, Theora
	video and Vorbis audio. Set convert button insensitive by
	default. Reset uridecodebin to NULL on changing URI.

2009-04-02  David King  <davidk@openismus.com>

	* src/main_window.[cc|h]: Change state of elements to PAUSED as
	soon as	possible to reduce latency on changing from NULL to
	PLAYING.

2009-04-01  Murray Cumming  <murrayc@openismus.com>

	* configure.ac: Added a comment hinting about a needed -bad and
	-ugly plugins, just so that hint is somewhere.
	* src/main_window.cc: Constructor: Add some asserts to make failures
	provide better hints and put try/catch around the use of Bin::add(),
	because it throws.

2009-03-24  David King  <davidk@openismus.com>

	* src/main_window.cc (MainWindow.MainWindow,
	  MainWindow.on_file_selected):
	* src/main_window.h (MainWindow.m_element_source,
	  MainWindow.m_element_colorspace, MainWindow.m_element_audconvert):
	Remove decodebin and filesrc elements and replace with single
	uridecodebin. Add colorspace and audioconvert elements.

2009-03-23  David King  <davidk@openismus.com>

	* Makefile.am:
	* configure.ac:
	* src/main_window.cc:
	* src/vidrot.cc: Move *.cpp to *.cc, at Daniel's suggestion.

2009-03-23  David King  <davidk@openismus.com>

	* src/main_window.cpp (MainWindow.on_decode_pad_added): Correctly
	handle both audio and video dynamic pads.

2009-03-12  David King  <davidk@openismus.com>

	* src/main_window.cpp (MainWindow.MainWindow): Connect ghost pads to
	audio and video bins.

2009-03-11  David King  <davidk@openismus.com>

	* Makefile.am:
	* configure.ac:
	* m4/dk-warn.m4: Rename GTKMM_* to VIDROT_* for clarity. Use
	Daniel's dk-warn.m4 automagic warning macro.
	* autogen.sh: Force m4 include to aclocal.

2009-03-10  David King  <davidk@openismus.com>

	* src/main_window.cpp (MainWindow.MainWindow): Setup audio and video
	bins. Still need to add ghost pads.
	  (MainWindow.on_bus_message): Make UI sensitive at end of stream. Set
	  UI insensitive during stream state change.
	* src/main_window.h (MainWindow): Add bin and queue elements for audio
	and video. Add muxer and mpeg encoder elements for video.

2009-03-06  David King  <davidk@openismus.com>

	* src/main_window.cpp: Include our own header before all others.
	  (MainWindow.MainWindow): Partially link elements at MainWindow
	construction, decoder can only be linked to filter element one the
	media type is known.
	  (MainWindow.on_button_convert): Set stream to PLAYING.
	  (MainWindow.on_bus_message): Set stream to NULL at end of stream.
	  (MainWindow.on_decode_pad_added): Link dynamic source pad on
	  decodebin to static sink pad on filter element.
	* src/main_window.h (MainWindow): Add on_decode_pad_added().
	* src/vidrot.cpp: Include our own header before all others.

2009-03-05  David King  <davidk@openismus.com>

	* src/main_window.h (MainWindow.m_element_decode,
	  MainWindow.m_element_filter): Define Gst::ElementFactory types.
	* src/main_window.cpp (MainWindow.MainWindow,
	  MainWindow.on_button_convert): Setup videoflip filter.

2009-03-03  David King  <davidk@openismus.com>

	* src/main_window.cpp: Include <config.h> not "config.h".
	* src/main_window.h (MainWindow): Make constructor explicit. Make
	member data private.
	* src/vidrot.cpp (main): Return 1, not -1. Include <config.h> not
	"config.h"

2009-03-02  David King  <davidk@openismus.com>

	* src/main_window.cpp (MainWindow.MainWindow): Add m_watch_id to
	constructior initialisation list. Create more specific pipeline
	elements. Remove extra brackets from string.
	  (MainWindow.~MainWindow): Remove watch from message bus.
	  (MainWindow.on_file_selected): Print URI for FileSrc element.
	  (MainWindow.on_bus_message): Tidy Glib::Error definition.
	* src/main_window.h: More specific pipeline elements.

2009-02-26  David King  <davidk@openismus.com>

	* src/main_window.[cpp|h]:
	* src/vidrot.cpp (main): Skeleton code to setup a Gst::Pipeline,
	select a video file with a FileChooserButton, select a rotation
	direction with a RadioButton and handle a Gst::Bus.

2009-02-26  David King  <davidk@openismus.com>

	* Makefile.am:
	* README:
	* configure.ac:
	* src/vidrot.cpp (main): Switch to Gtkmm/Gstreamermm.
	* src/main_window.cpp (MainWindow.MainWindow, MainWindow.~MainWindow,
	  MainWindow.on_button_quit):
	* src/main_window.h (_MAINWINDOW_H, VIDROT_MAINWINDOW_UI, MainWindow,
	  MainWindow.m_vbox, MainWindow.m_button_filechooser,
	  MainWindow.m_button_quit): Implement basic main window.

2009-02-25  David King  <davidk@openismus.com>

	* autogen.sh: Add executable bit, as pointed out by Michael.

2009-02-24  David King  <davidk@openismus.com>

	* Initial commit.
