2006-10-23 - Andrew Stone (andrew@stone.com) - to build for Videator: -DVIDEATOR_SUPPORT - added this file - added Credits.html - modified InfoPlist.strings - MainMenu.nib - changed NewApplication to XaoS - changed window title to indicate this version of XaoS talks to Videator - AppController.m: added distributed notification with imageRep - FractalView.m: added method to return current imageRep 2006-10-25 - ui_cocoa.m now byte swaps color masks 2006-10-26 - hot keys working - tutorial and help working ala carbon 2006-11-29 - J.B. Langston Committing additional changes submitted 10/30 by Andrew Stone: - support for arrow keys up/down change zoom speed right/left: if cycling - change if auto-rotation - change speed of rotation - UI -> Performance Mode This will turn off the echoing of messages to the screen - going from cycle forward and backward no longer toggles cycling off - BUG FIX: window now regains key status after after dialog 2008-03-14 - J.B. Langston - Fixed bug with smooth color modes on PowerPC Macs (filter.h) 2008-03-17 - J.B. Langston - Added user formula support using SFFE/libgsl - Added support for libpng to Cocoa - Added build instructions to Cocoa project 2008-03-18 - J.B. Langston - Moved Videator support into separate VideatorProxy class and updated with Andrew's latest changes - UNTESTED - Replaced funky bit-swapping code; now use #if __BIG_ENDIAN__ to set color masks correctly - Removed unnecessary xstdio_osx.c and made executable-relative paths work with standard xstdio.c - Added Enter key equivalent for OK button on custom dialogs - Added call to resize image when maximizing window - Added call to terminate app on window close - Enabled long double support for deeper zooms - Added event handling for middle and right mouse buttons - Added event handling for scroll wheel panning - Added copyright headers to all files - Changed [view setNeedsDisplay:YES] to [view display] to draw immediately in order to eliminate jerky zooming motion - Added support to print status text - Made save and open panels use last selected directory instead of always going back to home directory - Made window regains key status after open/save dialog - Removed "-Videator Enabled" from titlebar - Fixes to custom dialogs to correctly display long doubles and allow horizontal scrolling instead of wrapping values 2008-03-20 REFACTORING/CLEANUP - Added autorelease pools to all driver functions, wrapping all controller calls - removed autorelease pools from inside controller methods - Removed Preferences nib, controller, menu item, and associated icons (Videator support will be toggled via menu item in UI menu) - changed driver and function name to cocoa_* instead of osx_* - Added MACOSX define that can trigger shared functionality for Cocoa/Carbon drivers - Removed separate fullscreen driver - Removed wrapper functions from controller; now call view functions directly - Added functions for driver init and uninit to controller - Added pragma marks to categorize functions in controller and view - Moved videator hook to view's drawRect: - Added wait date to event handling to prevent busy waiting HELP SUPPORT - Created Apple Help conversion script - Added help settings to Info.plist - Updated showHelpWithContext:name: method to show main help page - Added help conversion script to pre-compile script build phase 2008-03-31 DIALOGS - Add copy/paste functionality for custom dialogs HELP - Update help conversion script to automatically generate index - Update help to use stylesheets 2008-04-04 I18N - Add reference to gettext library, and script command to copy it - Add code to detect default locale and set LANG variable accordingly 2008-04-05 MENUS - Added Window menu and associated menu items I18N - Fixed bug where key equivalents were not found when foreign languages were selected - I18nized cut/copy/paste/etc. menu items, and OK/Cancel dialog buttons 2008-04-06 I18N - Add code to convert user's native text encoding (usually UTF-8) to Latin1/2 to prevent garbled text through built-in text handling system - Automate po/mo file build and packaging - Add code to set locale directory correctly relative to executable path MENUS - Implement popup menus - I18nize menu items in application menu HELP - fix bug in help conversion that results in missing headers for some files - Add help applescript to automatically launch tutorials 2008-04-07 MENUS - Implement menu delegate to check/uncheck menu items when displayed DIALOGS - Hook up choose file button on custom dialogs 2008-04-09 FULL SCREEN - Implement fullscreen code - Add menu item to UI menu to toggle fullscreen mode - Change render basename type from to DIALOG_STRING to DIALOG_OFILE DRIVER - Add driver initialization code - Add driver uninitialization code MISC - Conditionalize custom script build phases so they do not do unnecessary work 2008-04-10 I18N - Added italian translation MISC - Rebuilt Xcode project to fix issues with debugger and interface builder - Incremented Cocoa version number from 3.3 to 3.4 HELP - Got rid of space in help file name 2008-04-14 I18N - Make OK/Cancel buttons on custom dialogs autosize to fit i18n labels MISC - Change Performance Mode to VJ mode (changed shortcut from P to v) (performance mode might be confused with performance enhancement) - Added document icon - Added Close menu item to file menu - Fixed regression where window did not retain key status after dialog - Add cursor changing code in cocoa driver - Add hook to change cursor during performance mode 2008-04-16 HELP - Add css element to make dt elements bold - Add anchors for usrform and usrformInit to help file I18N - Updated italian po and catalog - Added Italian to configure.in ALL_LINGUAS MISC - Refine about dialog box - Add comments and cleanup - Changed version to 3.4pre1 in configure.in 2008-04-17 BUGS - Fix crash after animation rendering Analysis: changes introduced for sffe made the uih variable from ui.c global in ui.h so that the sffe parser can be accessed from custom formula code in formulas.c. Uih was previously declared static in render.c because the animation renderer maintains its own context. SFFE changed this from static to extern so the uih in render.c was pointing to the same uih in ui.c, instead of to a different structure. When animations were rendered, the uih in ui.h got clobbered, and the next function that tried to use it caused a segfault. Fix: 1. Change name of global uih pointer defined in ui.h from uih to globaluih. 2. Change sffe code to access globaluih pointer instead of uih 3. Add code to main function to set both uih and globaluih to point at the same structure 4. Change code in cocoa driver to use globaluih as well - Fix bug that causes XaoS to crash when using non-native (ugly) dialog code for Render Animation dialog with open file dialog for basename Analysis: There was a loop in ui_buildfile in dialog.c, that tried to find a "*" in the default filename, and if it didn't find one, it would run right off the end of the buffer and continue until a seg fault occurred. Fix: the loop now checks for both "*" or a nul terminator as the exit condition. If it doesn't find an asterisk, it still stops at the end of the string. - Make custom dialog boxes slide out of view before executing menu function This prevents the dialog from hanging around after clicking OK during long running operations such as rendering animations - Add code to prevent rendering animation if absolute path is not specified for Basename. This prevents files from being accidentally written to the hard drive's root directory 2008-04-23 I18N - Changes to -initLocale: do not overwrite LANG if it is already set - Added AppController.m and CustomDialog.m in i18n/Makefile.in.in - Regenerated po and pot files with new strings from cocoa driver MISC - Conditionalize window menu with #ifdef MACOSX 2008-04-24 - Add enable/disable menu item for Videator - Move Close menu item to proper place in File menu - Reindent code - Cleanups to eliminate warnings - Conditionalize videator code 2008-04-26 - Update video encoding section to recommend ffmpeg, mencoder - Move Berkeley MPEG encoder information to historical section - Create help section to explain how to get support - Add library copyright information to credits help section - Update Development help section with recent contribution instructions - Add Mac OS X help section - Add links to Videator in Mac OS X help section 2008-05-15 - Fix diacritical mark rendering on Mac OS X Tiger - Update Italian translation - Fix problem with localized application menu - Add link to XaoS Website in About dialog 2008-05-20 - Fix black screen with edge detection filters - Fix black screen with pseudo-3d filter - Fix black screen with hsv coloring modes - Automatically save window position and size - Update help file to remove workarounds for fixed issues 2008-05-22 - Increment version numbers TODO: * bugs - Fix catseye rendering (shows empty circle without increasing bailout) - Cursor changing code only works until the user clicks a button * acs features - Implement fast palette save/recall - Implement autokeys on startup