Can you try :clear_range (t1 , t2) to see if it clears up to 513?
With a point/value table:
>>> rprint(renoise.song().patterns[1].tracks[1].automation[1].points)
[1] => table
[time] => 509
[value] => 0.7062401175499
[2] => table
[time] => 512.99609375
[value] => 0.75
[3] => table
[time] => 513
[value] => 0.7045311331749
If I execute:
>>> renoise.song().patterns[1].tracks[1].automation[1]:clear_range(1,512.999999999)
I get (here with Linux):
>>> rprint(renoise.song().patterns[1].tracks[1].automation[1].points)
[1] => table
[time] => 512.99609375
[value] => 0.75
[2] => table
[time] => 513
[value] => 0.7045311331749
If I execute:
>>> renoise.song().patterns[1].tracks[1].automation[1]:clear()
I get:
>>> rprint(renoise.song().patterns[1].tracks[1].automation[1].points)
[1] => table
[time] => 513
[value] => 0.7045311331749
That 513 entry remains.
If I try:
>>> renoise.song().patterns[1].tracks[1].automation[1]:remove_point_at(513)
I get:
*** std::logic_error: 'invalid point time. time must be >= 1 and <= Pattern.MAX_NUMBER_OF_LINES'
If I copy an automation say from track 2 into track 1 with say:
renoise.song().patterns[1].tracks[1].automation[1]:copy_from(renoise.song().patterns[1].tracks[2].automation[1])
I get the points from track 2 into track 1. (There were no points > 512 in track 2):
>>> rprint(renoise.song().patterns[1].tracks[1].automation[1].points)
[1] => table
[time] => 25
[value] => 0.5
I execute a clear:
>>> renoise.song().patterns[1].tracks[1].automation[1]:clear()
And therefore:
>>> rprint(renoise.song().patterns[1].tracks[1].automation[1].points)
***No output***
To try to answer the difference between Linux and Windows, probably it just comes down to the difference with how embedded lua handles float point numbers between the two systems Raul. Similar to → Small Bug in “Background Blend” values. Is value 51 omitted?