Hi,
We work in a broadcast channel and we would like to use your ultratimelineview but seems that interval is fixed to 5 minutes minimum...
Do we have to do something to have less than that? like milliseconds or frame (1 frame = 40 milliseconds)
Or simply, no way to do that because of control limitation?
Thank you,
Kind Regards.
Actually the limit is one minute, which is the granularity for all WinSchedule controls.
That control was not designed for video timelines, it was designed to present the WinSchedule objects like Appointments and Holidays. The object that governs the generation of timeslots was designed fir extensibility so that you can derive from the base class (DateTimeInterval) and override properties and methods so as to define customized divisions of time, but the primary use case driving that effort was working hour shifts, like 3 8-hour slots per day, not anything involving seconds or milliseconds.
I wanted to see if this limitation could be overcome but the scrolling logic makes the assumption that the minimum unit of time is one minute, so whilke I was able to get the thing to recognize millisecond-duration time slots, the scrolling logic rounds everything, thus preventing horizontal scrolling pretty much altogether.
If you like you can submit a feature request for this functionality.
One alternative approach, although it amounts to a flamboyant hack, would be to use a PrimaryInterval of one minute, then use the ColumnHeaderInitializing event to for the column header display so as to make it look like the unit of time is milliseconds rather than minutes. You would of course have to adjust the actual time by a factor of 60000 to get your millisecond value. I'm not sure exactly what you plan on using this to do, but I think it would be possible to at least make it look like the unit of time is millisecond.
Hmm seems to be very hard to trick the timeline to adapt in milliseconds :(
In fact, we would like to use to work on video
fyi, a frame in video is equal to 40 ms and we use timecode format "00:00:00:00"
"HH:MM:SS:Frame"
with timecode, we can convert to ms etc... that's we would like to adapt that timeline to millisecond to track the video or follow the video frame by frame or whatever other operations we can do on this...
you can imagine that with the time line that follow the video every 40ms (for each image) we can init an action "IN" retrieve the timecode of the timeline (duration in millisecond for instance" than continue playing and then init another action "OUT" to cut a part of video...
Regards
I assume you are using the PAL video format, so I put together a demo that basically tricks the control into thinking that one minute is 40 milliseconds (see attached). I was curious about whether the control's extensibility supported this and even though it is a hack, it seems to be fairly robust.
Note that I didn't have the time to make it support frame rates other than PAL (25 fps), so in its current state it cannot be used for (for example) NTSC. As it happens PAL was the easiest since the frame rate works out to an even number of frames per second.
I also didn't have time to comment it heavily so let me know if you have any questions about the way this works.
Dnx said:and last thing is can we add "tracks" in this timeline?
Oh my god!
This is huge what u have done here...
Unfortunately i'm a vb.net coders but, u would like to send a position and/or frame to the timeline
we currently have a player that read special video format for TV and send timecode whenever we want
so, i will get the timecode, get the frame or ms and send it to the timeline, then the timeline will "follow" the video frame by frame
and last thing is can we add "tracks" in this timeline?
i guess yes, just like appointment? tracks will be for example : element of display (to overlay the video) that will be read by the timeline and raise some events...
sorry for my english and so many thanks for your help...!