I need help with creating a Delphi Timeline visual component. The idea is to display and edit keyframes for several objects at once. Compare with for example Adobe After Effects or Adobe Flash timelines, but much simpler in design.
- The visual design should be simple, and stay in line with standard delphi components, such as TTreeView.
- It should work without problems in CodeGear Delphi 2007 for Win32. It should not require any 3rd part libraries.
- All source code should be included, and unlimited rights to use and modify it for our use. It is not required to have exclusive rights, but there must not be any limits in how we can use it (the only exception being that we dont require the rights to sell it as a separate component with or without source code).
- The time axis should be frame based, but it should also display time as mm:ss:ff. It should be possible to specify nr of frames per second (normally 25 or 30, but it should be open for any frame rate).
- Time axis is horisontal, going from left to right. There should not be any design limit in the length.
- Each object on the timeline should have it's own line. There should not be any design limit in nr of objects. The component should also be able to display without any objects at all (empty).
- Each objects should have a unlimited nr of keyframes. There is always at least one keyframe at time 0. The key frames should be clearly marked on the timeline at the correct position. Again, positions are set in frames.
- Each object should have a total length property (in frames), which are independent from the keyframes itself. The length should in some way be displayed in the timeline so you can compare length on the different objects.
- It should be possible to zoom in the timeline, from viewing the complete timeline at once down to seeing each frame in detail. The zoom control can either be part of the component, or it can be set only using properties (however, it is preferred that it is integrated into the component). It should in any case be possible to read and set the zoom level from properties.
- The objects should have a storage property for a pointer, just like the data property of the TTreeNode.
- The component should have a navigator arrow to move along the timeline using the mouse. The position of this should be visible in the actual timelines as well (for example with a vertical line). It should be possible through properties to both read and set the position (in frames).
- Keyframes should be possible to move by dragging them with the mouse, firing an event with info about the selected object, the source frame and the target frame.
- It should be possible to right-click an keyframe, firing an event with info about the selected object and the selected frame.
- The component should be sizeable, and adopt to any size.
- It should be possible to select a object by clicking on the timeline or name, and this selection should be visible in the timeline. It should be possible to both read and set the selection trough properties. It should be possible to have no object selected, but only if no objects exists.
- Any colors, fonts etc. used should be possible to change trough properties.
We would be happy to get the following info with your bid:
- Approx. time to complete
- A simple drawing with the suggested visual design
- A simple technical description on the suggested model