Daniel Berrange [Wed, 7 Apr 2010 23:23:59 +0000 (00:23 +0100)]
Add link to download area
Daniel Berrange [Wed, 7 Apr 2010 23:17:59 +0000 (00:17 +0100)]
Bump release to 0.1.0 & other release prep work
* AUTHORS, NEWS: Fill out basic info.
* Makefile.am, gitlog-to-changelog: Setup ChangeLog to be
autogenerated from GIT logs.
* configure.ac Bump release to 0.1.0
Daniel Berrange [Wed, 7 Apr 2010 23:04:27 +0000 (00:04 +0100)]
Fix tagline in about dialog
Daniel Berrange [Wed, 7 Apr 2010 23:03:59 +0000 (00:03 +0100)]
Fix bug in thread locking upon error scenarios
When breaking out of the task loop it is neccesary to reacquire the
lock.
Daniel Berrange [Wed, 7 Apr 2010 22:32:04 +0000 (23:32 +0100)]
Fix hang when changing configuration values
The camera schedular thread runs continuously in the background
waiting for events. It is thus neccessary to pause this background
thread whenever updating a control value in the foreground thread.
Daniel Berrange [Mon, 5 Apr 2010 20:07:14 +0000 (21:07 +0100)]
Add filename labels in session browser & image info popup
Daniel Berrange [Mon, 5 Apr 2010 14:56:46 +0000 (15:56 +0100)]
Fix thumbnail orientation
Daniel Berrange [Mon, 5 Apr 2010 14:30:54 +0000 (15:30 +0100)]
Fix logic bug that broke thumbnail resizing
Daniel Berrange [Sun, 4 Apr 2010 23:03:52 +0000 (00:03 +0100)]
Set widget readonly state on camera controls
GPhoto now has an API for discovering whether a camera control
is readonly. This can be used to set the GTK widget to be non
sensitive
Daniel Berrange [Sun, 4 Apr 2010 22:48:14 +0000 (23:48 +0100)]
Rewrite filename generation code to preserve original extension
Rewrite the session filename generation code to preserve the
original filename extension as provided by the camera/gphoto.
ie stop giving raw files a .jpeg extension !
Daniel Berrange [Sun, 4 Apr 2010 22:47:44 +0000 (23:47 +0100)]
Add & ignore GP_EVENT_CAPTURE_COMPLETE to prevent bogus failures
Daniel Berrange [Fri, 2 Apr 2010 20:37:00 +0000 (21:37 +0100)]
Allow presentation mode to set monitor to diplay on
The view menu gets popupulated with a list of named monitors in
the screen. The presentation mode can be switched between the
different monitors. Fullscreen also now hides the menubar
Daniel Berrange [Wed, 31 Mar 2010 22:14:06 +0000 (23:14 +0100)]
Add a real presentation mode
Add a real presentation mode where the only thing visible is the image
display window, in fullscreen.
Daniel Berrange [Wed, 31 Mar 2010 21:32:40 +0000 (22:32 +0100)]
Use proper glib API for finding user pictures directory
Daniel Berrange [Wed, 31 Mar 2010 21:13:54 +0000 (22:13 +0100)]
Port to gudev library
Use the gudev library for monitoring devices in preference to
HAL, where available
Daniel Berrange [Wed, 31 Mar 2010 20:19:24 +0000 (21:19 +0100)]
Fix 100% cpu loop on camera disconnect & potential crash
When the camera disconnects care must be taken that all camera
functions return false and not try to access a NULL gphoto camera
object. The background event loop must also check for a disconnected
camera and not spin 100% cpu waiting for events that will never
arrive
Daniel Berrange [Wed, 31 Mar 2010 20:18:06 +0000 (21:18 +0100)]
Fix thread safety in task-end callback & disconnect camera
The task-end callback invokes GTK functions and is emitted from
a background thread, thus it must be protected by the GDK threads
lock.
When the camera is removed from the camera manager, the camera
must be switched to disconnected state
Daniel Berrange [Tue, 30 Mar 2010 20:59:57 +0000 (21:59 +0100)]
Rename Capa -> Entangle
Renaming the project from "Capa" to "Entangle". This renames all
files with 'capa' in the name, and changes all source code symbols
and strings to match.
Daniel P. Berrange [Thu, 18 Mar 2010 01:03:28 +0000 (01:03 +0000)]
Add cast from gsize to int to avoid printf warning
Daniel P. Berrange [Mon, 15 Mar 2010 22:51:29 +0000 (22:51 +0000)]
Readd port property mistakenly removed
Daniel P. Berrange [Sun, 14 Mar 2010 13:01:24 +0000 (13:01 +0000)]
Add initial impl of gconf configuration store
Daniel P. Berrange [Sat, 13 Mar 2010 11:27:55 +0000 (11:27 +0000)]
Add setters/getters for control panel, session browser & camera manager objects
Daniel P. Berrange [Fri, 12 Mar 2010 22:44:51 +0000 (22:44 +0000)]
Remove all unneccessary G_OBJECT casts
Daniel P. Berrange [Fri, 12 Mar 2010 22:18:15 +0000 (22:18 +0000)]
Add getter/setters for image display object properties
Daniel P. Berrange [Fri, 12 Mar 2010 21:46:41 +0000 (21:46 +0000)]
Add setter for camera file mimetype
Daniel P. Berrange [Fri, 12 Mar 2010 21:24:55 +0000 (21:24 +0000)]
Add setters/getters for camera info object
Daniel P. Berrange [Fri, 12 Mar 2010 21:12:09 +0000 (21:12 +0000)]
Add setters/getters to pixbuf loader object
Daniel P. Berrange [Fri, 12 Mar 2010 19:37:53 +0000 (19:37 +0000)]
Add getter & setter for camera progress property
Daniel P. Berrange [Fri, 12 Mar 2010 19:24:19 +0000 (19:24 +0000)]
Standard naming convention for "getters" on camera class
Daniel P. Berrange [Fri, 12 Mar 2010 19:16:08 +0000 (19:16 +0000)]
Cache camera docs to avoid possible thread race condition
The gphoto library must only be used from one thread at once for
absolute safety, so camera driver/manual/summary strings should
be cached just in case
Daniel P. Berrange [Fri, 12 Mar 2010 19:02:51 +0000 (19:02 +0000)]
Fix session changing code
The session changing code was setting a property which no longer
exists on the camera class
Daniel P. Berrange [Sat, 6 Mar 2010 10:58:36 +0000 (10:58 +0000)]
Fix printf format specifier
Daniel P. Berrange [Sat, 6 Mar 2010 10:57:23 +0000 (10:57 +0000)]
Basic framework for new config management system
* backend/capa-config-entry.h, backend/capa-config-entry.c: Object
for a single configuration value
* backend/capa-config-set.h, backend/capa-config-set.c: Object for
a group of configuration values
* backend/capa-config-store.c, backend/capa-config-store.c: Backing
store for all configuration values
Daniel P. Berrange [Mon, 15 Feb 2010 00:54:27 +0000 (00:54 +0000)]
Switch capture/preview/monitor over to scheduler task & rip out old code
The old threads code from the camera class is ripped out. The camera
manager frontend now triggers all operations via the new camera
scheduler object.
Daniel P. Berrange [Mon, 15 Feb 2010 00:48:14 +0000 (00:48 +0000)]
Add progress debug logging on control building process
Daniel P. Berrange [Mon, 15 Feb 2010 00:47:45 +0000 (00:47 +0000)]
Fix typo in object class name
Daniel P. Berrange [Sat, 16 Jan 2010 22:32:53 +0000 (22:32 +0000)]
Camera execution script and task system
To make the capture process more flexible, the hardcoded preview,
monitor & capture threads need to be moved out of the camera
class. This commit introduces a general purpose camera scheduler
that runs in a background thread monitoring for events. It then
accepts queuing of tasks to execute. Tasks are provided for the
basic operations.
Daniel P. Berrange [Thu, 14 Jan 2010 20:34:24 +0000 (20:34 +0000)]
Refactor camera capture routines to prepare for scripts
Introduce an explicit object for representing a file on the camera.
Separate out methods for capturing, downloading & deleting files
from the camera. Rewrite existing background threads to use the
new APIs.
Daniel P. Berrange [Tue, 12 Jan 2010 23:28:42 +0000 (23:28 +0000)]
Don't abort monitoring when getting an unexpected event
berrange [Tue, 12 Jan 2010 20:02:14 +0000 (20:02 +0000)]
Ignore Makefile.am file
Daniel P. Berrange [Sun, 10 Jan 2010 21:50:13 +0000 (21:50 +0000)]
Merge CapaPluginBase into CapaPlugin inteface
The CapaPlugin interface was not serving any useful purpose. This
change merges the CapaPluginBase abstract class into CapaPlugin
removing the interface
Daniel P. Berrange [Mon, 11 Jan 2010 23:31:27 +0000 (18:31 -0500)]
Fix gint64 printf format specifier for x86_64
Can't assume that gint64 format specific is %llu on x86_64. GLib
provides a portable macro G_GUINT64_FORMAT so use that instead.
Daniel P. Berrange [Sun, 10 Jan 2010 19:37:56 +0000 (19:37 +0000)]
Rename all source files added 'capa-' prefix
Avoid potential include file namespace problems by adding a 'capa-'
prefix to all source files
Daniel P. Berrange [Sun, 10 Jan 2010 16:35:19 +0000 (16:35 +0000)]
Integrate with gtk-doc for API reference generation
Daniel P. Berrange [Sun, 10 Jan 2010 15:36:21 +0000 (15:36 +0000)]
Remove auto-generated INSTALL file
Daniel P. Berrange [Sun, 10 Jan 2010 15:35:24 +0000 (15:35 +0000)]
Move debug variables out of main.c into separate debug.c
In order for gtk-doc to link to the library for scanning, it is
neccessary to move the debug flags into a separate file.
Daniel P. Berrange [Sun, 10 Jan 2010 14:46:13 +0000 (14:46 +0000)]
Rename some methods in CapaApp and annotate for introspection data
The introspection transfer mode was incorrect for methods in
CapaApp, so they had to be annotated. The getters are also renamed
to add 'get_' prefix.
Daniel P. Berrange [Sat, 9 Jan 2010 16:51:57 +0000 (16:51 +0000)]
Turn off colour profile debugging
Daniel P. Berrange [Sun, 3 Jan 2010 20:07:36 +0000 (20:07 +0000)]
Pass the 'CapaPlugin' instance to the plugin activate methods
The plugin may need to know its base directory in order to load
other assets such as images. To allow for this, it is neccessary
to pass the CapaPlugin instance into the plugin's activate/deactive
methods
Daniel P. Berrange [Sun, 3 Jan 2010 19:52:53 +0000 (19:52 +0000)]
Switch UI out of operation mode when camera is removed
The current camera may be removed from the manager window while an
operation is in progress (particularly when monitoring for new images
in the background). In this case it is neccessary to toggle the
'inOperation' flag to update the UI
Daniel P. Berrange [Sun, 3 Jan 2010 19:49:54 +0000 (19:49 +0000)]
Remove obsolete, unused 'camera-progress' window definition
The camera progress window was removed in a previous commit, the
progress display being incorporated into the main manager window.
The glade definition of the 'camera-progress' window is thus
obsolete & unused.
Daniel P. Berrange [Sun, 3 Jan 2010 19:41:27 +0000 (19:41 +0000)]
Fix crash in background thread when progress monitor is removed
When disconnecting the UI from a camera, there may still be a
background job active using the progress monitor. Therefore it
is neccessary to include checks for NULL on the progress object
Daniel P. Berrange [Sun, 3 Jan 2010 18:26:22 +0000 (18:26 +0000)]
Disconnect camera from display when camera is removed
When a camera is removed, and it matches the camera currently opened
in the display, it must be removed, disabling the UI.
Daniel P. Berrange [Sun, 3 Jan 2010 18:19:46 +0000 (18:19 +0000)]
Make 'CapaAppDisplay' inherit from 'CapaApp'
The plugins get given a handle to a 'CapaApp' instance. By making
the CapaAppDisplay type inherit from 'CapaApp', they can get access
to the UI objects
Daniel P. Berrange [Sun, 3 Jan 2010 18:13:43 +0000 (18:13 +0000)]
Clarify warning text when camera cannot be connected to
Daniel P. Berrange [Sun, 3 Jan 2010 18:12:33 +0000 (18:12 +0000)]
Fix missing word in camera picker warning message
* src/capa.glade: Add missing 'when' in warning message
Daniel P. Berrange [Tue, 29 Dec 2009 18:25:58 +0000 (18:25 +0000)]
Include a relative timestamp in log messages
Daniel P. Berrange [Tue, 29 Dec 2009 18:25:15 +0000 (18:25 +0000)]
Basic UI for plugin preferences / management
Daniel P. Berrange [Mon, 28 Dec 2009 15:38:50 +0000 (15:38 +0000)]
Javascript plugins based on GJS runtime
Daniel P. Berrange [Mon, 28 Dec 2009 15:40:24 +0000 (15:40 +0000)]
Rename GIR data to use initial caps as per GObject standards
Daniel P. Berrange [Sun, 27 Dec 2009 19:33:24 +0000 (19:33 +0000)]
Preliminary plugin script with dlopen()
Daniel P. Berrange [Sat, 12 Dec 2009 18:56:15 +0000 (18:56 +0000)]
Update screenshots to reflect current UI design
Daniel P. Berrange [Sun, 6 Dec 2009 18:36:14 +0000 (18:36 +0000)]
Update the website content to match current reality
Daniel P. Berrange [Sun, 6 Dec 2009 16:15:07 +0000 (16:15 +0000)]
Re-order buttons on toolbar to move important ones to the left
Daniel P. Berrange [Sun, 6 Dec 2009 16:11:39 +0000 (16:11 +0000)]
Merge capture/preview/monitor tool buttons into one
Declutter the toolbar slightly by merging the separate buttons for
capture/preview/montior into one button with a drop down menu. This
will also allow scripts to populate the menu with other options
like timed/sequenced shooting
Daniel P. Berrange [Sun, 6 Dec 2009 15:36:49 +0000 (15:36 +0000)]
Pull the progress display into the toolbar instead of popup window
Daniel P. Berrange [Sat, 5 Dec 2009 18:20:58 +0000 (18:20 +0000)]
Misc enhancements to colour management
* Auto-rebuild colour transform when preferences change
* Fix crash when a profile is NULL
* Honour requested rendering intent
Daniel P. Berrange [Sat, 5 Dec 2009 17:42:22 +0000 (17:42 +0000)]
Auto apply any orientation info when displaying images/thumbnails
Daniel P. Berrange [Fri, 4 Dec 2009 17:27:19 +0000 (17:27 +0000)]
Fix build ordering dependancy for generated enums
Daniel P. Berrange [Fri, 4 Dec 2009 17:12:50 +0000 (17:12 +0000)]
Remove obsolete comment and class variable
Daniel P. Berrange [Fri, 4 Dec 2009 17:10:32 +0000 (17:10 +0000)]
Introduce an async thumbnail loader
Subclass pixbuf loader to provide a thumbnail loader. Attempts to
following the thumbnail spec for caching thumbnails
http://jens.triq.net/thumbnail-spec/index.html
Daniel P. Berrange [Fri, 4 Dec 2009 14:37:22 +0000 (14:37 +0000)]
Pull most of image loader out into a abstract pixbuf loader base
Introduce a CapaPixbufLoader base class which does most of the
image loading work. This will allow a subclass for doing thumbnail
generation/loading to reuse most functionality.
Daniel P. Berrange [Wed, 2 Dec 2009 21:57:41 +0000 (21:57 +0000)]
Integrate with libunique to ensure we're always a single-instance app
Daniel P. Berrange [Wed, 2 Dec 2009 21:44:16 +0000 (21:44 +0000)]
Integrate with startup notification library
Daniel P. Berrange [Wed, 2 Dec 2009 21:19:03 +0000 (21:19 +0000)]
Turn camera manager window into a singleton
Always display the camera manager window, even if no camera is
present. Fix bugs in disconnecting from camera.
Daniel P. Berrange [Wed, 2 Dec 2009 20:17:02 +0000 (20:17 +0000)]
Automatically connect to the camera if exactly one is found
If there is only a choice of one single camera, then we will
automatically connect to it when starting up,instead of showing
the camera picker dialog.
Daniel P. Berrange [Sun, 29 Nov 2009 18:13:34 +0000 (18:13 +0000)]
Introduce a background image loader for main image display
Use a thread pool to load images in the background without blocking
the main UI. Wire the thread loader into the main image display
panel
Daniel P. Berrange [Sat, 28 Nov 2009 20:11:56 +0000 (20:11 +0000)]
Wire up preferences to GConf for persistent storage
Daniel P. Berrange [Sat, 28 Nov 2009 18:28:12 +0000 (18:28 +0000)]
Apply changes to preferences from editor form
Daniel P. Berrange [Sat, 28 Nov 2009 17:48:50 +0000 (17:48 +0000)]
Add missing ref count in previous commit
Daniel P. Berrange [Sat, 28 Nov 2009 17:08:27 +0000 (17:08 +0000)]
Apply colour profile transform according to configured preferences
Daniel P. Berrange [Fri, 27 Nov 2009 19:14:35 +0000 (19:14 +0000)]
Tiny whitespace tweak
Daniel P. Berrange [Fri, 27 Nov 2009 19:12:00 +0000 (19:12 +0000)]
Create a preferences dialog
Daniel P. Berrange [Mon, 9 Nov 2009 22:35:06 +0000 (22:35 +0000)]
Initial support for ICC profile conversion of images when displayed
Adds basic support for applying ICC profiles to captured images
when displayed in the main image viewer. Needs to be hooked up
to preferences to control rendering intent and ICC filenames
* capa.spec.in: Add BuildRequires: lcms-devel
* configure.ac: Add pkgconfig check for lcms
* src/Makefile.am: Add lcms linker/cflags
* src/backend/colour-profile.c, src/backend/colour-profile.h: Add
an object for representing a colour profile
* src/frontend/camera-manager.c: Quick nasty hack to apply a profile
Daniel P. Berrange [Mon, 19 Oct 2009 23:18:04 +0000 (00:18 +0100)]
Really fix threading issues
* src/backend/camera.h, src/backend/camera.c: Add thread funcs
to be registered, and call when emitting signals froma thread.
Remove idle func hack which was useless
* src/frontend/camera-manager.c: Register gdk thread funcs with
camera class.
* src/main.c: Enter threads before running main loop
Daniel P. Berrange [Mon, 19 Oct 2009 23:16:58 +0000 (00:16 +0100)]
Auto-select latest image in session browser
* src/frontend/session-browser.c: Automatically select the latest
image added to list
Daniel Berrange [Mon, 19 Oct 2009 23:16:35 +0000 (00:16 +0100)]
Fix XML comment syntax
* src/gphoto-2.0.gir: Fix comment syntax
Daniel P. Berrange [Mon, 19 Oct 2009 21:43:17 +0000 (22:43 +0100)]
Use a server-side pixmap for image display to make expose events fast
Rendering directly from a client side pixbuf made for very slow expose
events. Use a pixmap to cache the data for fast rendering
* frontend/image-display.c: Add a pixmap cache
Daniel Berrange [Mon, 19 Oct 2009 20:02:14 +0000 (21:02 +0100)]
Add GObject introspection support
* capa.spec.in: Add deps on gobject-introspection-devel,
gir-repository-devel
* configure.ac: Check for gobject introspection
* src/Makefile.am: Add rules for building tpyelib/gir data
* src/main.c: Add --introspect-dump arg
* src/gphoto-2.0.gir: Add stub for gphoto2 structs
Daniel P. Berrange [Sun, 18 Oct 2009 23:04:50 +0000 (00:04 +0100)]
Remove all polaroids when closing camera window
Daniel P. Berrange [Sun, 18 Oct 2009 22:45:29 +0000 (23:45 +0100)]
Move capa_session_add call to a idle func to avoid thread safety problem
Daniel P. Berrange [Sun, 18 Oct 2009 22:25:34 +0000 (23:25 +0100)]
Add missing ref count increment on preferences class
Daniel P. Berrange [Sun, 18 Oct 2009 22:18:40 +0000 (23:18 +0100)]
Refresh session browser when changing camera session
Daniel P. Berrange [Sun, 18 Oct 2009 22:08:05 +0000 (23:08 +0100)]
Kill all tabs, mass ident & add emacs magic to prevent their return
Daniel P. Berrange [Sun, 18 Oct 2009 21:55:38 +0000 (22:55 +0100)]
Turn CapaApp into a proper GObject class
Daniel P. Berrange [Sun, 18 Oct 2009 19:20:45 +0000 (20:20 +0100)]
Change to use a toggle button/menu for showing/hiding camera settings
Daniel P. Berrange [Sun, 18 Oct 2009 18:43:14 +0000 (19:43 +0100)]
Wire up new/open session menus/toolbuttons
Daniel P. Berrange [Sun, 18 Oct 2009 17:33:54 +0000 (18:33 +0100)]
Change default filename pattern to JPEG
Daniel P. Berrange [Sun, 18 Oct 2009 17:18:16 +0000 (18:18 +0100)]
Fix session directory creation
Daniel P. Berrange [Tue, 6 Oct 2009 21:52:30 +0000 (22:52 +0100)]
Wire up changes to settings propagating back to camera