AA+ v1.51
Just to let everyone know that v1.51 of AA+ has been released. Updates for this version include:
- Updated the sample app to print out the rise transit and set times for the Moon and Sun as well as a ASCII graphic of the moon phase for the month of April 2012 for the location of Wexford, Ireland. Thanks to Roger Dahl for providing this nice addition to AA+.
AA+ v1.50
Just to let everyone know that v1.50 of AA+ has been released. Updates for this version include:
- To further improve the accuracy of the CAADynamicalTime::DeltaT method, the code now uses a lookup table between the dates of 1 February 1973 to 1 April 2012 (for observed values) and predicted values from April 2012 till April 2015. These values are as provided by IERS Rapid Service/Prediction Center at http://maia.usno.navy.mil/ser7/deltat.data and http://maia.usno.navy.mil/ser7/deltat.preds. This lookup table will of course need to be kept up to date as IERS update this information. As currently coded there is a single discontinuity of c. one second in early April 2015. At this point http://maia.usno.navy.mil/ser7/deltat.preds indicates an error value for DeltaT of about 0.9 seconds anyway.
- A new CAADynamicalTime::CumulativeLeapSeconds has been provided. This method takes as input the Julian Day value and returns the cumulative total of Leap seconds which have been applied to this point. For more information about leap seconds please see http://en.wikipedia.org/wiki/Leap_second. Using this method you can now implement code which converts from Terrestial Time to Coordinated Universal time as follows:
double TerrestialTime = some calculation using AA+ algorithms(JD);
double DeltaT = CAADynamicalTime::DeltaT(JD);
double UniversalTime1 = TerrestialTime – DeltaT/86400.0; //The time of the event using the UT1 time scale
double TerrestialAtomicTime = TerrestialTime – (32.184/86400.0); //The time of the event using the TAI time scale
double CumulativeLeapSeconds = CAADynamicalTime::CumulativeLeapSeconds(JD);
double CoordinatedUniversalTime = (DeltaT – CumulativeLeapSeconds – 32.184)/86400.0 + UniversalTime1; //The time of the event using the UTC time scale
AA+ v1.49
Just to let everyone know that v1.49 of AA+ has been released. Updates for this version include:
- Update CAADynamicalTime::DeltaT to use new polynomical expressions from Espenak & Meeus 2006. References used: http://eclipse.gsfc.nasa.gov/SEcat5/deltatpoly.html and http://www.staff.science.uu.nl/~gent0113/deltat/deltat_old.htm (Espenak & Meeus 2006 section). Thanks to Murphy Chesney for prompting this update.
CTreeOptionsCtrl v1.72
Just to let everyone know that v1.72 of CTreeOptionsCtrl has been released. Updates for this version include:
- Updated copyright details.
- Updated sample project settings to more modern defaults
- Code now compiles cleanly using Code Analysis (/analyze)
- When the parent node of a group of checkboxes is also a checkbox (e.g. the Node "Security" in the test app) the parent is checked / unchecked depending on the status of its children whenever a child is modified in the GUI. This previously worked ok when you changed the checkmark of a child in the GUI by mouse or keyboard, but it doesn’t work if the change is made programmatically (via SetCheckBox or by means of the referenced boolean variable). The code has now been updated to handle this anomaly. Thanks to Michael Oerder for providing this nice update.
DtWinVer v1.86
Just to let everyone know that v1.86 of DtWinVer has been released. Updates for this version include:
- Updated copyright details.
- My guess from last year was correct! Windows codename Server "8" will become Windows Server 2012. The code has been updated to reflect this announcement from http://www.microsoft.com/en-us/news/Press/2012/Apr12/04-17MMSDay1PR.aspx.
- Updated code to refer to Windows codename "8" as Windows 8 based on information from http://windowsteamblog.com/windows/b/bloggingwindows/archive/2012/04/16/announcing-the-windows-8-editions.aspx.
- Removed tests for Windows 8 (Home Basic), Windows 8 (Home Premium), Windows 8 (Ultimate) from code.
- Added support for the following Product types: PRODUCT_PRERELEASE, PRODUCT_PRERELEASE_N, PRODUCT_PRERELEASE_ARM, PRODUCT_PROFESSIONAL_PLUS, PRODUCT_ENTERPRISE_EVALUATION, PRODUCT_STANDARD_EVALUATION_SERVER, PRODUCT_DATACENTER_EVALUATION_SERVER, PRODUCT_ENTERPRISE_N_EVALUATION, PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER, PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER, PRODUCT_MULTIPOINT_STANDARD_SERVER, PRODUCT_MULTIPOINT_PREMIUM_SERVER & PRODUCT_THINPC, PRODUCT_EMBEDDEDINDUSTRY, PRODUCT_EMBEDDEDA, PRODUCT_EMBEDDEDINDUSTRYA, PRODUCT_EMBEDDEDAUTOMOTIVE, PRODUCT_EMBEDDEDE, PRODUCT_EMBEDDEDINDUSTRYAE & PRODUCT_EMBEDDEDINDUSTRYE
- Added support for Windows RT based on information from http://windowsteamblog.com/windows/b/bloggingwindows/archive/2012/04/16/announcing-the-windows-8-editions.aspx.
CSortedArray / CSortedArrayEx v1.45
Just to let everyone know that v1.45 of CSortedArray / CSortedArrayEx has been released. Updates for this version include:
- Addition of a FindOrderedInsertIndex method. This new method returns the index which an item would be inserted at if OrderedInsert was called with the same element without actually inserting the item. Thanks to Michael Stephenson for providing this nice addition.
AA+ v1.48
Just to let everyone know that v1.48 of AA+ has been released. Updates for this version include:
- Updated copyright details.
- All global "g_*" tables are now const. Thanks to Roger Dahl for reporting this issue when compiling AA+ on ARM.
CSortedArray / CSortedArrayEx v1.44
Just to let everyone know that v1.44 of CSortedArray / CSortedArrayEx has been released. Updates for this version include:
- Updated copyright details.
- Addition of a InsertionBehaviour parameter to the OrderedInsert method. This new enum allows you to specify what should happen if a duplicate item is found at the tentative insertion point. This new enum can have the values: AllowDuplicate (which is the normal behavior), OverwriteIfDuplicate, LeaveIfDuplicate & FailIfDuplicate. Thanks to Michael Stephenson for providing this nice addition.
CMemMapFile v1.57
Just to let everyone know that v1.57 of CMemMapFile has been released. Updates for this version include:
- Thread protected the GetFileHandle and GetFileMappingHandle methods.
CMemMapFile v1.56
Just to let everyone know that v1.56 of CMemMapFile has been released. Updates for this version include:
- Updated copyright details
- Made the class completely thread-safe meaning that you can share instances of CMemMapFile across threads without worrying about corruption of its member variables. Thanks to HaeRim Lee for prompting this update. To achieve this I used a nested class called CMemMapCriticalSection which is derived from the ATL::CCriticalSection class. This CMemMapCriticalSection class provides for critical sections with spin locks and normal critical sections as well as stack based release semantics for critical sections through the use of the ATL::CComCritSecLock class. It would be nice if the built in ATL CriticalSection class supported this but this is still not present as of VC 2010 SP1.