# Indices DAT Value Parameter instead of Level

Indices DAT
[url]https://www.derivative.ca/wiki099/index.php?title=Indices_DAT[/url]
gives us only 3 options “Coarse = 0, Medium = 1, Fine = 2.” to make indices
but if user can just pick a value it’d be pretty handy

## Start 0 End 100 Level 1 Origin 0

will return [0,5,10,…,95,100]

## Start 0 End 100 Value 18 Origin 0

would make [ 0, 18, 36, 54, 72, 90,100]
as you see it will not always return evenly divided indices but user will still get a list of numbers within the Start/End range

The Indices DAT dynamically spaces things in an intuitive manner.
In your case, you may just be better off with a single python expression:

```>>> sorted(list(set(range(0,100,18)+[100]))) [0, 18, 36, 54, 72, 90, 100] ```
Cheers.

Thank you Rob, I was talking with Ivan yesterday and he gave me a similar python advise

When I was investigating how TouchDesigner is building the timeline I found the way Indices DAT is creating table dynamically and then it’s being used as ‘hash’ for Table COMP very interesting.
It really works well for showing frame numbers but if we want to display timecode and split the table say every 00:00:02.00 or 00:00:05.00 depends on the time-range we are in, we need to sort numbers out. I somehow managed to write python script for that but it was big struggle and still not completely happy and that made me wish this post. just so you know,

anyways, Thanks again for the python tips!

Does it work better if you simply multiply the result by a fixed value (example 18), then convert each of those frame-indices into its corresponding timecode?

hmm I needed to do little more than that. I guess I should have been more specific but it’s a bit hard to explain… I attached a sample toe for what I was trying to archive.
This ones still not perfectly accurate but I hope you get the idea.

While writing the script I thought it could be much more simple if I had Value Parameter on Indices DAT.
timecode_timeline.toe (45.6 KB)