wincent Wincent Colaiuta's weblog

« November 2006 | Archives index | January 2007 »

December 30, 2006

Synergy Advance r382, 6 items changed

New tool tips in Growl preference pane; new options (http://wincent.com/a/support/bugs/show_bug.cgi?id=527)

Posted 5:58 PM

December 29, 2006

Synergy Advance r381, 3 items changed

Fix affine clamp 'smear' for non-square cover art (when displayed instead of the Synergy Advance icon); don't bother with generating clear backgrounds for non-square images (it appears that all non-image pixels are transparent anyway); minor reformatting; improve efficiency by avoiding unnecessary duplicate calls to the squareIconSizedImage method

Posted 7:36 PM

Synergy Advance r380, 5 items changed

Fix for non-square album art; better scaling; adjustable badge size, location and border width

Posted 5:31 PM

December 28, 2006

Synergy Advance r379, 1 item changed

Do an affine "clamp -> resize -> crop" instead of a simple resize

Posted 7:23 PM

Synergy Advance r378, 3 items changed

Use NSUnarchiver instead of NSKeyedUnarchiver for maximum compatibility; it appears that Cocoa Bindings uses NSUnarchiver under the hood

Posted 6:52 PM

WOCommon r247, 1 item changed

Use NSUnarchiver instead of NSKeyedUnarchiver for maximum compatibility; it appears that Cocoa Bindings uses NSUnarchiver under the hood

Posted 6:50 PM

Synergy Advance r377, 16 items changed

Dock icon compositing now done using Core Image; performance is roughly the same as the old Cocoa version but quality is much higher and new transaprency controls are available

Posted 5:31 PM

WOCommon r246, 16 items changed

Reformat dates; new convenience methods on CIImage; reformatting

Posted 5:30 PM

December 26, 2006

WOCommon r245, 5 items changed

CGRect/NSRect functions

Posted 4:56 PM

December 25, 2006

Clipboard Commando r15, 38 items changed

Favorites panel, preferences, type-ahead tableview

Posted 11:21 PM

Clipboard Commando r14, 47 items changed

Move unused files into 'old' subdirectory

Posted 5:16 PM

Clipboard Commando r13, 1 item changed

Create separate branch for Panther; the main trunk is now for Leopard development.

Posted 5:09 PM

Clipboard Commando r12, 2 items changed

Commit project file changes prior to branching

Posted 5:08 PM

December 24, 2006

WOCommon r244, 4 items changed

Unit test for new Core Image code

Posted 11:40 PM

WOCommon r243, 8 items changed

New category for tinting using Core Image; modify WODraggableButton to use the new Core Image code

Posted 9:02 PM

December 23, 2006

WOCommon r242, 10 items changed

NSImage/CIImage conversion methods

Posted 4:12 PM

Synergy Advance r376, 1 item changed

If iTunes cannot be found (as might occur if the user has just reset their Launch Services database) try using a hard-coded path as a last-ditch attempt

Posted 10:27 AM

December 22, 2006

Synergy Advance r375, 10 items changed

New icons for plug-ins and registration preference panes.

Posted 11:31 PM

WOCommon r241, 1 item changed

Explicit cast to silence WOTest warning about signed/unsigned comparison in WOSingleton tests

Posted 9:36 PM

Synergy Advance r374, 3 items changed

Allow transparency adjustment in the color picker

Posted 9:35 PM

WOCommon r240, 1 item changed

Unit tests to confirm that NSMapTable can automatically grow beyond its initial capacity

Posted 9:23 PM

WOTest r145, 6 items changed

Fixed cast bugs that would show up under very specific circumstances; added regression tests for bug; also added 'warnsAboutSignComparisons' to shared test instance so that the regression tests can run without polluting the console output

Posted 9:21 PM

WOCommon r239, 1 item changed

WOSingleton class now uses NSMapTable instead of an NSMutableDictionary because it can be configured to not copy the keys (seeing as the keys were class objects this was not really correct or a very elegant thing to do). In making this change discovered and fixed a subtle race condition in certain circumstances: the order in which constructors are called is not determinate (or at least it is not publicly documented) so it was possible for another singleton class such as WOLogManager to call the WOSingleton class's sharedInstance method from it's constructor function before WOSingleton's constructor function had been called and before the singleton registry had been set up. Also, the switch to map tables permitted the use of NSMapInsertKnownAbsent which in turn revealed that the sharedInstance and allocWithZone methods were both trying to add the same entry to the singleton registry; this was harmless but redundant so one of the redundant calls has been removed.

Posted 8:17 PM

Synergy Advance r373, 2 items changed

Fix typo ("0+5f" is not "0.5f") that was causing incorrect pixel offsets.

Posted 7:05 PM

Synergy Advance r372, 3 items changed

Offset paths by 0.5 pixels to force them to exactly coincide with screen pixels (sharper images).

Posted 6:59 PM

WOCommon r238, 1 item changed

Use dataForKey: instead of objectForKey:.

Posted 6:55 PM

Synergy Advance r371, 9 items changed

Hook up user preferences for altering colors used in Dock icon. Also, now that the user has the option of setting the transparency of cover art displayed in the Dock must change the way the Dock icon badge border is drawn (ie. it must be an actual border rather than an underlay, otherwise it will be visible when showing semi-transparent art).

Posted 6:44 PM

WOCommon r237, 1 item changed

Notes about possible HOM alternative of NSThread convenience methods.

Posted 6:41 PM

WOCommon r236, 3 items changed

Convenience method for retrieving colors from NSUserDefaults.

Posted 6:41 PM

Synergy Advance r370, 2 items changed

Removed Dock-specific category files (this code now belongs in the Dock plug-in).

Posted 6:08 PM

Synergy Advance r369, 2 items changed

Remove references to unused preference key, "NoIconInDock".

Posted 2:45 PM

Synergy Advance r368, 37 items changed

Refactoring of Dock code: support for Code Signing in Leopard requires us to abandon the self-modifying Info.plist trick for hiding the Dock icon, but the alternatives (Carbon TransformProcessType API and/or separate Dock helper application) impose unacceptable limitations; so have removed the ability to hide the Dock icon while keeping existing Dock code bundled as a separate plug-in and will be adding more functionality to justify the investment in Dock "real estate". Added preferences UI for modifying color and transparency of various elements.

Posted 2:39 PM

December 21, 2006

Synergy Advance r367, 4 items changed

Dock helper now displays correct name ("Synergy Advance" instead of "SynergyAdvanceDockHelper") when hovering the mouse over the Dock; the cause was some kind of invisible corruption in the target's Info.plist file

Posted 2:29 PM

Synergy Advance r366, 30 items changed

New icon for Advanced preference pane; rework preferences back end (less indirection, less code, should be faster and use less resources; preference-related unit tests all pass

Posted 5:05 AM

WOCommon r235, 12 items changed

Move deprecated NSUserDefaultsController category methods to a separate category; new methods in NSUserDefaults category where they should have been all along; tests

Posted 5:04 AM

December 20, 2006

WOHotKey r84, 13 items changed

Special case handling for keys mislablled with 'NSFunctionKeyMask' by Cocoa; this is necessary for compatibility with Quartz but also has the benefit of making the human-readable descriptions of hot key combinations more accurate

Posted 11:34 PM

WOHotKey r83, 4 items changed

Polish issues; handle key repeat, optimize, tidy etc

Posted 5:14 PM

WOHotKey r82, 15 items changed

Initial implementation of Quartz-based hot keys (http://wincent.com/a/support/bugs/show_bug.cgi?id=524)

Posted 2:52 PM

December 19, 2006

WOBezel r56, 2 items changed

Lazy initialization of notification window; silences console noise that stems from working with AppKit in the constructor function prior to hitting main

Posted 3:18 PM

WOCommon r234, 2 items changed

Autorelease pools in pre-main constructor functions

Posted 2:39 PM

December 18, 2006

Install r64, 17 items changed

Special handling for when a "finish" step is actually the first step in an installer

Posted 6:56 PM

December 15, 2006

Synergy Advance r365, 4 items changed

New controller for handling application tests

Posted 6:45 PM

WOTest r144, 3 items changed

Weak import the AppKit framework so as to provide useful but optional code as a basis for application tests

Posted 6:44 PM

WOTest r143, 1 item changed

Add WOTestApplicationTestsController header to framework header

Posted 6:10 PM

WOTest r142, 4 items changed

Add missing GPL header to new files

Posted 5:13 PM

WOTest r141, 6 items changed

WOTestApplicationTestsController class

Posted 5:11 PM

Synergy Advance r364, 2 items changed

Unit test procedure now working again; users can run a single script to test the frameworks and the application all in one hit

Posted 2:12 PM

Synergy Advance r363, 50 items changed

Category cleanup

Posted 2:02 PM

WOCommon r233, 13 items changed

Category cleanup

Posted 2:02 PM

December 14, 2006

WOBezel r55, 2 items changed

Delete and recreate 'Copy Files' phase to work around Xcode bug

Posted 9:11 PM

WOCommon r232, 4 items changed

Update dates

Posted 8:58 PM

Synergy Advance r362, 4 items changed

Prefix for 'WO' in Dock helper also

Posted 8:17 PM

Synergy Advance r361, 48 items changed

Adding 'WO' prefix to category names

Posted 8:16 PM

WOTest r140, 3 items changed

Thread-proofing for WOTestBundleInjector; workaround GCC warnings about potentially clobbered variables

Posted 7:23 PM

WOCommon r231, 8 items changed

Updated symbols and added a new target for conveniently doing so in the future; adding missing header in NSDate convenience category

Posted 6:13 PM

WOCommon r230, 135 items changed

Move decryption functions into a separate file and remove all dependency on anything outside of Foundation, the refactored functions are faster, require less memory and can be used anywhere indepently; change category enforcement procedure to allow for indirect symbol names; additional unit tests

Posted 5:04 PM

December 13, 2006

WOCommon r229, 2 items changed

Correct string output (missing closing parenthesis)

Posted 11:47 PM

WOCommon r228, 1 item changed

Add notes checksumming notes

Posted 10:59 PM

Synergy Advance r360, 3 items changed

Add notes checksumming notes

Posted 10:59 PM

WOCommon r227, 3 items changed

Add simple mode to string preprocessor

Posted 10:59 PM

Synergy Advance r359, 3 items changed

Updated symbol headers

Posted 7:52 PM

WOCommon r226, 2 items changed

Keep a binary copy of string and symbol processing tools in the source directory for ease of use by projects that use WOCommon

Posted 7:51 PM

WOCommon r225, 2 items changed

Symbol generation unit tests

Posted 7:50 PM

buildtools r50, 2 items changed

Refactor code for closing open documents in Xcode into a separate, common function so that it can be easily called from other shell script build phases

Posted 7:49 PM

WOCommon r224, 19 items changed

Factor out lexing utilities (NSString and NSScanner categories) into separate files so that they can be used by all preprocessing tools; add the symbol updater tool

Posted 3:19 PM

WOCommon r223, 1 item changed

Updated header with tool

Posted 3:17 PM

WOCommon r222, 1 item changed

Add special comment markers to header so that it can be automatically preprocessed for symbol updates

Posted 3:14 PM

WOCommon r221, 3 items changed

Unit tests for NSString category

Posted 1:07 AM

Synergy Advance r358, 18 items changed

Switch main application localizable strings over to new improved implementation

Posted 12:53 AM

WOCommon r220, 3 items changed

Improvements to string preprocessor and NSString category

Posted 12:47 AM

WOCommon r219, 2 items changed

Additional requirements notes in doxygen comment blocks

Posted 12:44 AM

December 12, 2006

WOCommon r218, 1 item changed

Add urgent TODO note

Posted 5:01 PM

WOCommon r217, 3 items changed

Further compression of string literals

Posted 5:00 PM

WOCommon r216, 3 items changed

Add missing header files

Posted 2:14 PM

WOCommon r215, 1 item changed

Lower memory requirements by discarding insignificant characters in literal strings

Posted 1:54 PM

WOCommon r214, 12 items changed

String literal functions and preprocessor

Posted 1:33 PM

December 11, 2006

WOCommon r213, 1 item changed

String handling notes

Posted 1:48 PM

WOTest r139, 3 items changed

Silence autorelease pool warnings on secondary thread

Posted 3:17 AM

WOBezel r54, 4 items changed

Add test running script

Posted 3:13 AM

WOHotKey r81, 3 items changed

Add test running script

Posted 3:13 AM

WOTest r138, 1 item changed

Update doxyfile

Posted 2:55 AM

WOTest r137, 2 items changed

Update default.pbxuser file (mods to custom executables)

Posted 2:47 AM

WOHotKey r80, 37 items changed

Add complete unit testing infrastructure to WOHotKey framework, initial tests, doxygen doxyfile

Posted 2:45 AM

WODebug r158, 3 items changed

Ability to run unit tests under the debugger

Posted 2:23 AM

WOBezel r53, 2 items changed

Ability to run unit tests under the debugger

Posted 2:23 AM

December 10, 2006

WODebug r157, 1 item changed

Update default.pbxuser file (custom executables have changed)

Posted 10:05 PM

WOBezel r52, 1 item changed

Update default.pbxuser file (custom executables have changed)

Posted 10:04 PM

WODebug r156, 11 items changed

Improve robustness of singleton pattern and once-only initialization for WOCrashCatcher class; complete unit test suite (infrastructure only, more tests can still be written); update doxygen setup

Posted 10:02 PM

WOCommon r212, 1 item changed

Comment correction

Posted 9:53 PM

WOBezel r51, 1 item changed

Update copyright year

Posted 9:37 PM

WOBezel r50, 63 items changed

Much-improved singleton pattern for WONotificationBezelManager; exhausitive unit testing infrastructure in place; Doxygen target

Posted 9:35 PM

WOCommon r211, 1 item changed

WO_UNLOAD macro (counterpart for WO_LOAD)

Posted 9:34 PM

buildtools r49, 2 items changed

Bump minimum OS version to 10.4; update doxygen script to change directory to the source root prior to running Doxygen (this allows the specification of relative paths in the Doxyfile)

Posted 7:16 PM

WOTest r136, 2 items changed

Notes in bundle injector class

Posted 2:37 PM

WOTest r135, 2 items changed

Clean up textual output of unit test running script by avoiding a harmless warning

Posted 1:37 PM

WODebug r155, 3 items changed

Clean up textual output of unit test running script by avoiding a harmless warning

Posted 1:37 PM

WOCommon r210, 4 items changed

New unit tests for the NSUserDefaultsController convenience category; add notes for incorporating WOCommon unit tests in other projects' unit tests

Posted 12:05 PM

Synergy Advance r357, 1 item changed

New loadable test bundle xcconfig file specific to Synergy Advance which adds "SOURCE_ROOT/WOCommon" to the header search paths; this allows WOCommon unit tests to be incorporated into the Synergy Advance unit tests

Posted 12:04 PM

Synergy Advance r356, 2 items changed

New unit tests for NSUserDefaults

Posted 12:03 PM

December 9, 2006

Synergy Advance r355, 12 items changed

Plug-in-specific user defaults are now managed from within the plug-ins themselves rather than in the main app; the first plug-in to be converted to the new style is the Dock plug-in

Posted 6:46 PM

WOCommon r209, 2 items changed

Add addInitialValues: method to NSUserDefaultsController category

Posted 6:29 PM

WOCommon r208, 4 items changed

Correct unit tests and fix test failures for date and date/time classes after refactoring and additions

Posted 5:50 PM

WOCommon r207, 6 items changed

Refactor datetime validity checking so that it can be used by subclass for date checking; unit tests for WODatePreferenceSetting

Posted 5:30 PM

WOCommon r206, 5 items changed

Changes to WODateTimePreferenceSetting to work around unexpected NSScanner behaviour discovered during unit testing

Posted 3:00 PM

WOCommon r205, 2 items changed

Add references for recently created files to project

Posted 2:13 PM

WOCommon r204, 57 items changed

Add XML-aware preference setting classes

Posted 1:58 PM

Synergy Advance r354, 3 items changed

Cast to silence compiler warnings

Posted 1:57 PM

December 8, 2006

Synergy Advance r353, 10 items changed

Advanced Dock preferences

Posted 8:48 PM

WOCommon r203, 2 items changed

Add pop-up menu support to schema

Posted 5:19 PM

WOCommon r202, 2 items changed

Improve readability of compact syntax schema by factoring out different types of preference settings

Posted 4:18 PM

WOCommon r201, 4 items changed

Relax NG schema for defining preference settings

Posted 4:00 PM

December 7, 2006

Synergy Advance r352, 1 item changed

Update references in project file

Posted 10:46 PM

Synergy Advance r351, 15 items changed

Refactor (WODockController -> WODockControllerPlugIn); make adjustments for undocumented NSConnection behaviour

Posted 10:44 PM

Bansshee r4, 12 items changed

Added Ubunutu Dapper support files

Posted 3:54 PM

December 6, 2006

Synergy Advance r350, 11 items changed

Conditionalize display of Dock preference settings

Posted 7:38 PM

WOCommon r200, 2 items changed

Add 'TODO' comments

Posted 7:37 PM

WOCommon r199, 4 items changed

Mark WOProcessManager for export; raise minimum required system version; remove references to unused headers

Posted 3:07 PM

Synergy Advance r349, 14 items changed

Move files into Dock helper subdir; bump minimum system version

Posted 3:06 PM

Synergy r319, 2 items changed

Additional translations added to the German localization, http://wincent.com/a/support/bugs/show_bug.cgi?id=519

Posted 3:05 PM

December 5, 2006

Synergy Advance r348, 10 items changed

Complete Dock code refactoring

Posted 4:43 PM

WODebug r154, 3 items changed

Remove category dependency enforcement (no longer required)

Posted 4:29 PM

WOTest r134, 3 items changed

Header reorganization to speed up build times

Posted 4:23 PM

WOHotKey r79, 21 items changed

Header reorganization to speed up build times

Posted 4:15 PM

WOBezel r49, 25 items changed

Header reorganization to speed up build times

Posted 3:37 PM

WODebug r153, 30 items changed

Header reorganization to speed up build times

Posted 3:24 PM

WOCommon r198, 12 items changed

Update copyright info

Posted 3:23 PM

WOTest r133, 4 items changed

Common prefix headers

Posted 1:17 PM

WOHotKey r78, 4 items changed

Common prefix headers

Posted 1:16 PM

WOBezel r48, 4 items changed

Common prefix headers

Posted 1:15 PM

WODebug r152, 3 items changed

Common prefix headers

Posted 1:14 PM

WODebug r151, 5 items changed

Remove methods/classes/files previously moved to WOCommon

Posted 1:11 PM

Synergy Advance r347, 25 items changed

Get rid of custom prefix headers, try to make all targets use the same prefix header; will hopefully result in faster build times

Posted 12:54 PM

buildtools r48, 4 items changed

Standardize prefix header usage

Posted 12:47 PM

Synergy Advance r346, 2 items changed

Remove references to files no longer in project; update notes

Posted 11:09 AM

Synergy Advance r345, 17 items changed

Date methods moved to WOCommon; other cleanup

Posted 11:06 AM

WOCommon r197, 3 items changed

Import missing header files

Posted 11:06 AM

WOCommon r196, 2 items changed

Unit tests for 'isPast' method

Posted 10:53 AM

WOCommon r195, 16 items changed

Thread safety enhancements (safer, earlier initialization of class-wide resources; this allows the removal of later checks which should make performance significantly better); process launcher classes and methods; NSDate category speed improvements and new 'isPast' method

Posted 10:50 AM

December 4, 2006

Synergy r318, 1 item changed

Tagging for 3.1 release.

Posted 8:31 PM

Install r63, 1 item changed

Tagging for Synergy 3.1 release.

Posted 8:30 PM

Install r62, 1 item changed

Synergy 3.1 final release

Posted 8:20 PM

Synergy r317, 36 items changed

Synergy 3.1 final release

Posted 8:20 PM

December 3, 2006

Synergy Advance r344, 3 items changed

More fixes

Posted 8:40 PM

Synergy Advance r343, 11 items changed

Fix file-encodings; address compiler warnings and errors caused by refactoring of Dock-related code into a seperate plug-in and preference pane

Posted 8:25 PM

December 2, 2006

WOCommon r194, 1 item changed

Notes for WOHOMCollectProxy class

Posted 12:47 PM

WOCommon r193, 4 items changed

One-to-many support added to "collect" HOM

Posted 1:24 AM