Clock Generator History


15/8/2001-30/9/2001 v1.0
1. Altered minute hand smooth movement to increment on 0, 15, 30, 45 seconds,
2. Minute hand approaching hour with smooth movement fixed,
3. Extensive code review (1/9/2001). Main code in control form now contained in appropriate smaller modules. Use of public declarations is of concern. UML analysis would help.
4. Square end lines are now possible via GDIDRAW.DLL, no need to modify vector mode for this.
5. Reflection and main hand square ends can be set independently for ornate clocks.
6. "Unexpected Error" message box if picture is invalid, missing, or empty. This has been changed to display a meaningful message. err.description is never used in isolation now, a summary or function name is now supplied in all cases.
7. Comgdiavi.dll version 0.4 introduced to correct colours in uncompressed AVIs in some AVI Editors,
8. Second hand sweep movement.

Some real clocks seem to show inertia, this is linear. Minimum rate is 6 FPS.
- Step rate for sweep movement can be specified (1, 2, 3 or 6 degrees).
- Jitter severity can be controlled by number of degrees to move, number of frames to hold for
each movement, and fall back mode which causes the hand to move ahead and behind of the normal position.
- All combinations are validated against the number of FPS because each movement will take at least
that many frames per second.
- Defaults: step 3 degrees, hold 1 frame, jitter checked, fallback unchecked. At least 15fps is recommended.
- This mode cannot exactly duplicate normal jitter motion but it is far more flexible.

On some PCs this effect may not be visible in preview mode, and Windows Media Player may not be able to keep up with high size, high frame rate AVIs. Looks perfect when converted to Real Video Format.
9. Vector Reflection. Reflection size is on the main control form. A new tick box on the advanced form allows vector reflection to be set independently of main hand part vectoring. Vector reflection works independently of inner radius being switched on or off, looks better when inner radius is used though.
10. Vector reflection improved to triangulate points. Can be set independently for hours, minutes and seconds. Only looks correct if HIGH CENTRE is a NEGATIVE value.
11. Save Bitmap. Useful to reload the main picture into an graphics package.
12. Plot centre updates:
displays the option to cancel after drawing 6 degree increments so that the picture can be saved,
the colour is now the second hand colour, it was always white before.
13. New user control added for RGB, more standardisation and makes main form layout and tab order easier to change. Completed (23/9/2001).
14. RGB user control can be used to set temporary point using "copy colour to point" button. This makes it easy to copy a colour to any other RGB control in 2 button presses using the "copy colour to point" then "set colour from point" buttons.
15. Hex display format of selected point corrected.
16. RGB display point set on load.
17. Tab order updated, .ini updated.

26/7/2001-15/8/2001 v0.9
1. Circle positioner for centre and radius added,
2. All colours from point added,
3. Centre piece circle drawing and outline added (optional, any colour),
4. Toolbars, better use of menus and bitmap buttons introduced in aim to make app usable on 800*600,
5. Status bar added to show mouse position and test information,
6. Last directory for loading .ini saved to registry (no document history yet),
7. Rectangle positioner for bitmap mode,
8. Advanced form introduced,
9. For the first time ever saving animations can be interrupted by pressing the stop button,
10. Extra validation to prevent saved animations being corrupted by pressing play or setting erase mode,
11. Validation added on save to indicate if file is read only,
12. 4 point hands added,
13. Minute and hour hand reflection added,
14. Hand display order (hms, hsm, mhs, msh, shm, smh),
15. Strightening feature added for huge clocks,
16. Digital clock support on the advanced form featuring:
24\12 hour mode, ascending or descending time, am\pm string configurable, HMS colour setting from main control form, any position, selectable Windows font, configurable separator strings, optional head and tail strings, optionally flash separator with frame count timing (can be on or off initially) and seconds only display format. And the rectangle positioner works with it!
17. On exit bug fixed where forms would not unload properly. The program now waits for a stop acknowledgment from the main drawing loops. The message box "Cannot exit at this time, stop in progress. Try again in a second." has been added to inform the user to wait for the stop acknowledge flag to be set.
18. Tab order updated, .ini updated.

17-22/4/2001 v0.8
1. MDI interface introduced,
2. Log window introduced,
3. Debug button renamed Plot centre,
4. Bitmaps must be relative to .ini now,
5. Upgrade tool introduced for previous versions, prompts to move bitmaps relative to .ini,
6. Generic bitmap form control added,
7. Bitmap hand controls introduced,
8. Bitmap transparency colour added,
9. Auto centre bitmap hands relative to top layer added,
10. Second hand smooth movement added,
11. Colour of any pixel can be selected in a generic bitmap form,
12. Dynamic sizing of clock renderer added,
13. Tab order updated, .ini updated.

17-22/2/2001 v0.7
1. Hour and minute hand smooth movement added,
2. Erase transparency and render window added.
This is provided by a prototype version of COMGDIEXT.DLL,
3. Rearranged buttons,
4. Manual input of centre position added,
5. Colour value display added by pressing the right mouse button,
6. Centre coordinates can be set by pressing the left mouse button.
Any mouse button would work before but the right mouse button obtains the colour now,
7. Running check added on exit,
8. Save AVI checks to see if a picture is loaded (could crash if not initialised),
9. Component registration check added,
10. Notes and numbers added to this document,
11. Tab order updated, .ini updated.

5/1/2001 v0.6
1. Second hand "reflection" added,
2. Jitter prototype added,
3. Version history written,
4. Auto centre button added (and centre point shown on debug),
5. Cosmetic changes: icon added, vbInformation added to about box,
6. VB Deployment wizard used to package up into a setup.exe (1.4Mb),
7. Wrap around calculation fixed,
8. Tab order updated, .ini updated.

24/11/2000 v0.5
1. Erase function added for "schools clock",
2. Colour input much improved,
3. Inner radius added instead of hands eminating from a single point,
4. Button layout improvement.

8/10/2000 v0.4
1. Copy FPS added,
2. .ini reading and writing supported,
3. Hand width and radius control added,
4. Set all, and replace colour buttons added.

27/8/2000 v0.3
1. Test mode added,
2. Debug function added,
3. Different colours for each hand allowed,
4. Sync test code added,
5. Time validation added.

14/8/2000 v0.2
1. Picture loading for background added,
2. Centre point selection added,
3. Hours, minutes and seconds hands added - all at same radius, colour and width.

14/8/2000 v0.1
1. Basic test program for COMGDIAVI.DLL writing,
2. Animation frames to a .avi for a simple clock frame,
3. COMGDIAVI.DLL version 0.1 written to save bitmap frames to an AVI through the selected codec.

Back to index.