[chronojump] DB: 2.33 RunEncoderExercise segmentMeters but now is in cm (var name has not changed but value is no



commit 96e76ac7e80dd7fefabf7d7173cd24e275610227
Author: Xavier de Blas <xaviblas gmail com>
Date:   Mon Feb 14 12:47:49 2022 +0100

    DB: 2.33 RunEncoderExercise segmentMeters but now is in cm (var name has not changed but value is now 
*100)

 diagrams/sqlite/chronojump_sqlite.dia | Bin 22498 -> 22517 bytes
 glade/app1.glade                      | 122 ++++++++--------
 src/gui/app1/chronojump.cs            |   6 +
 src/gui/app1/runEncoder.cs            | 256 +++++++++++++++++-----------------
 src/gui/app1/runEncoderAnalyze.cs     |   2 +-
 src/runEncoder.cs                     |  39 +++---
 src/sqlite/main.cs                    |  28 +++-
 src/sqlite/runEncoder.cs              |  10 +-
 8 files changed, 248 insertions(+), 215 deletions(-)
---
diff --git a/diagrams/sqlite/chronojump_sqlite.dia b/diagrams/sqlite/chronojump_sqlite.dia
index bd5f3c398..bd233ade6 100644
Binary files a/diagrams/sqlite/chronojump_sqlite.dia and b/diagrams/sqlite/chronojump_sqlite.dia differ
diff --git a/glade/app1.glade b/glade/app1.glade
index 02645637a..baa2b26f6 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -15502,16 +15502,16 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_m">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_f_segment_size_cm">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
-                                                            <property name="width_chars">2</property>
+                                                            <property name="width_chars">4</property>
                                                             <property 
name="primary_icon_activatable">False</property>
                                                             <property 
name="secondary_icon_activatable">False</property>
                                                             <property 
name="primary_icon_sensitive">True</property>
                                                             <property 
name="secondary_icon_sensitive">True</property>
-                                                            <property name="adjustment">5 1 30 1 10 
0</property>
+                                                            <property name="adjustment">30 1 3000 1 10 
0</property>
                                                             <property name="climb_rate">1</property>
                                                             </widget>
                                                             <packing>
@@ -15524,7 +15524,7 @@ Resisted race analyzer</property>
                                                             <widget class="GtkLabel" id="label289">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label">m</property>
+                                                            <property name="label">cm</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -15556,7 +15556,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segments_num">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segments_num">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15567,7 +15567,7 @@ Resisted race analyzer</property>
                                                             <property 
name="secondary_icon_sensitive">True</property>
                                                             <property name="adjustment">2 1 40 1 10 
0</property>
                                                             <property name="climb_rate">1</property>
-                                                            <signal name="value_changed" 
handler="on_spin_race_encoder_exercise_segments_num_value_changed" swapped="no"/>
+                                                            <signal name="value_changed" 
handler="on_spin_race_encoder_exercise_v_segments_num_value_changed" swapped="no"/>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -15668,7 +15668,7 @@ Resisted race analyzer</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_0">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_0">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15686,7 +15686,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_1">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_1">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15704,7 +15704,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_2">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_2">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15722,7 +15722,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_3">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_3">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15740,7 +15740,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_4">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_4">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15758,7 +15758,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_5">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_5">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15776,7 +15776,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_6">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_6">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15794,7 +15794,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_7">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_7">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15812,7 +15812,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_8">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_8">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15830,7 +15830,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_9">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_9">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15860,7 +15860,7 @@ Resisted race analyzer</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_10">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_10">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15878,7 +15878,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_11">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_11">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15896,7 +15896,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_12">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_12">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15914,7 +15914,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_13">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_13">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15932,7 +15932,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_14">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_14">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15950,7 +15950,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_15">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_15">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15968,7 +15968,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_16">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_16">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -15986,7 +15986,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_17">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_17">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16004,7 +16004,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_18">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_18">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16022,7 +16022,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_19">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_19">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16052,7 +16052,7 @@ Resisted race analyzer</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_20">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_20">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16070,7 +16070,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_21">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_21">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16088,7 +16088,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_22">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_22">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16106,7 +16106,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_23">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_23">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16124,7 +16124,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_24">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_24">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16142,7 +16142,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_25">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_25">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16160,7 +16160,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_26">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_26">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16178,7 +16178,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_27">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_27">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16196,7 +16196,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_28">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_28">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16214,7 +16214,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_29">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_29">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16244,7 +16244,7 @@ Resisted race analyzer</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_30">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_30">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16262,7 +16262,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_31">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_31">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16280,7 +16280,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_32">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_32">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16298,7 +16298,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_33">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_33">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16316,7 +16316,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_34">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_34">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16334,7 +16334,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_35">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_35">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16352,7 +16352,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_36">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_36">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16370,7 +16370,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_37">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_37">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16388,7 +16388,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_38">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_38">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -16406,7 +16406,7 @@ Resisted race analyzer</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_segment_size_cm_39">
+                                                            <widget class="GtkSpinButton" 
id="spin_race_encoder_exercise_v_segment_size_cm_39">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="invisible_char">•</property>
@@ -26218,6 +26218,9 @@ Concentric</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -32575,6 +32578,18 @@ Concentric</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">6</property>
                                                             <child>
+                                                            <widget class="GtkLabel" 
id="label_video_encoder_tests_will_be_filmed">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" translatable="yes">Tests 
will be filmed</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
                                                             <widget class="GtkHBox" 
id="hbox_video_encoder_capturing">
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">4</property>
@@ -32611,18 +32626,6 @@ Concentric</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="label_video_encoder_tests_will_be_filmed">
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" translatable="yes">Tests 
will be filmed</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
                                                             <widget class="GtkHBox" 
id="hbox_video_encoder_no_capturing">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
@@ -42088,6 +42091,9 @@ then click this button.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
diff --git a/src/gui/app1/chronojump.cs b/src/gui/app1/chronojump.cs
index 17ddfb890..87eed3b03 100644
--- a/src/gui/app1/chronojump.cs
+++ b/src/gui/app1/chronojump.cs
@@ -1,3 +1,9 @@
+
+
+//canviar segmentM també a R, que pilli cm. en el update sql si segmentM és < 10, passar-ho a cm 
(multiplicar per 100) o mirar si hi ha una millor manera de resoldre-ho
+//provar també el exportFiles
+
+
 /*
 //La camera 1 va mes rapid que la 0, provar de canviar i activatr primer la 1 a veure que tal
 
diff --git a/src/gui/app1/runEncoder.cs b/src/gui/app1/runEncoder.cs
index dfd1c7471..8bc993744 100644
--- a/src/gui/app1/runEncoder.cs
+++ b/src/gui/app1/runEncoder.cs
@@ -70,49 +70,49 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.CheckButton check_run_encoder_exercise_fixed_size;
        [Widget] Gtk.HBox hbox_run_encoder_exercise_fixed_segments_size;
        [Widget] Gtk.HBox hbox_run_encoder_exercise_notfixed_segment_num;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_m;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segments_num;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_f_segment_size_cm; //f: fixed
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segments_num; //v: variable
        [Widget] Gtk.Frame frame_run_encoder_exercise_notfixed_segments;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_0;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_1;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_2;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_3;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_4;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_5;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_6;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_7;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_8;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_9;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_10;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_11;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_12;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_13;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_14;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_15;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_16;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_17;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_18;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_19;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_20;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_21;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_22;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_23;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_24;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_25;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_26;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_27;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_28;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_29;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_30;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_31;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_32;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_33;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_34;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_35;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_36;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_37;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_38;
-       [Widget] Gtk.SpinButton spin_race_encoder_exercise_segment_size_cm_39;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_0; //v: variable
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_1;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_2;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_3;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_4;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_5;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_6;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_7;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_8;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_9;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_10;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_11;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_12;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_13;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_14;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_15;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_16;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_17;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_18;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_19;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_20;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_21;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_22;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_23;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_24;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_25;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_26;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_27;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_28;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_29;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_30;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_31;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_32;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_33;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_34;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_35;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_36;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_37;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_38;
+       [Widget] Gtk.SpinButton spin_race_encoder_exercise_v_segment_size_cm_39;
 
        int race_analyzer_distance;
        int race_analyzer_temperature;
@@ -381,7 +381,7 @@ public partial class ChronoJumpWindow
                //to not show old vertical segments info on a capture that maybe cannot be done by lack of 
device
                if(currentRunEncoderExercise != null)
                        reCGSD = new RunEncoderCaptureGetSpeedAndDisplacement(
-                                       currentRunEncoderExercise.SegmentMeters, 
currentRunEncoderExercise.SegmentVariableCm);
+                                       currentRunEncoderExercise.SegmentCm, 
currentRunEncoderExercise.SegmentVariableCm);
 
                updateRaceAnalyzerCapturePositionTime(true);
                updateRaceAnalyzerCaptureSpeedTime(true);
@@ -578,7 +578,7 @@ public partial class ChronoJumpWindow
 
                //RunEncoderCaptureGetSpeedAndDisplacement reCGSD = new 
RunEncoderCaptureGetSpeedAndDisplacement();
                reCGSD = new RunEncoderCaptureGetSpeedAndDisplacement(
-                               currentRunEncoderExercise.SegmentMeters, 
currentRunEncoderExercise.SegmentVariableCm);
+                               currentRunEncoderExercise.SegmentCm, 
currentRunEncoderExercise.SegmentVariableCm);
                runEncoderShouldShowCaptureGraphsWithData = true;
 
                runEncoderCaptureThread = new Thread(new ThreadStart(runEncoderCaptureDo));
@@ -1055,7 +1055,7 @@ public partial class ChronoJumpWindow
 
                int count = 0;
                reCGSD = new RunEncoderCaptureGetSpeedAndDisplacement(
-                               currentRunEncoderExercise.SegmentMeters, 
currentRunEncoderExercise.SegmentVariableCm);
+                               currentRunEncoderExercise.SegmentCm, 
currentRunEncoderExercise.SegmentVariableCm);
                runEncoderShouldShowCaptureGraphsWithData = true;
 
                cairoGraphRaceAnalyzer_dt = null;
@@ -1288,7 +1288,7 @@ public partial class ChronoJumpWindow
 
                raceEncoderReadWidgets();
 
-               //recalculte should not analyze (calling to R) specially if segmentMeters is variable.
+               //recalculate should not analyze (calling to R) specially if segmentCm is variable.
                //also recalculate what? current set? all sets on analyze current session
                /*
                if(lastRunEncoderFullPath != null && lastRunEncoderFullPath != "")
@@ -1870,10 +1870,10 @@ public partial class ChronoJumpWindow
                        return;
                }
 
-               runEncoderComboExercisesString = new String [runEncoderExercises.Count];
-               string [] exerciseNamesToCombo = new String [runEncoderExercises.Count];
+               runEncoderComboExercisesString = new String [runEncoderExercises_l.Count];
+               string [] exerciseNamesToCombo = new String [runEncoderExercises_l.Count];
                int i =0;
-               foreach(RunEncoderExercise ex in runEncoderExercises)
+               foreach(RunEncoderExercise ex in runEncoderExercises_l)
                {
                        exerciseNamesToCombo[i] = ex.Name;
                        runEncoderComboExercisesString[i] = ex.UniqueID + ":" + ex.Name;
@@ -1915,23 +1915,23 @@ public partial class ChronoJumpWindow
                entry_run_encoder_exercise_description.Text = ex.Description;
                check_run_encoder_exercise_is_sprint.Active = ex.IsSprint;
 
-               if(list_segments_size_cm == null)
-                       spin_race_encoder_exercise_segment_size_cm_create_list ();
+               if(v_segments_size_cm_l == null)
+                       spin_race_encoder_exercise_v_segment_size_cm_create_list ();
 
-               if(ex.SegmentMeters < 0)
+               if(ex.SegmentCm < 0)
                {
                        check_run_encoder_exercise_fixed_size.Active = false;
-                       spin_race_encoder_exercise_segments_num.Value = ex.SegmentVariableCm.Count;
+                       spin_race_encoder_exercise_v_segments_num.Value = ex.SegmentVariableCm.Count;
 
                        int i = 0;
                        foreach(int cm in ex.SegmentVariableCm)
                        {
-                               ( (Gtk.SpinButton) list_segments_size_cm[i]).Value = ex.SegmentVariableCm[i];
+                               ( (Gtk.SpinButton) v_segments_size_cm_l[i]).Value = ex.SegmentVariableCm[i];
                                i ++;
                        }
                } else {
                        check_run_encoder_exercise_fixed_size.Active = true;
-                       spin_race_encoder_exercise_segment_size_m.Value = ex.SegmentMeters;
+                       spin_race_encoder_exercise_f_segment_size_cm.Value = ex.SegmentCm;
                }
                //force managing:
                on_check_run_encoder_exercise_fixed_size_toggled (new object (), new EventArgs ());
@@ -1944,13 +1944,13 @@ public partial class ChronoJumpWindow
                entry_run_encoder_exercise_name.Text = "";
                entry_run_encoder_exercise_description.Text = "";
                check_run_encoder_exercise_is_sprint.Active = true;
-               spin_race_encoder_exercise_segment_size_m.Value = RunEncoderExercise.SegmentMetersDefault;
-               spin_race_encoder_exercise_segments_num.Value = 2;
+               spin_race_encoder_exercise_f_segment_size_cm.Value = RunEncoderExercise.SegmentCmDefault;
+               spin_race_encoder_exercise_v_segments_num.Value = 2;
 
-               if(list_segments_size_cm == null)
-                       spin_race_encoder_exercise_segment_size_cm_create_list ();
+               if(v_segments_size_cm_l == null)
+                       spin_race_encoder_exercise_v_segment_size_cm_create_list ();
 
-               spin_race_encoder_exercise_segment_size_cm_reset_list (); //put default values;
+               spin_race_encoder_exercise_v_segment_size_cm_reset_list (); //put default values;
 
                check_run_encoder_exercise_fixed_size.Active = true;
                //force managing:
@@ -1976,74 +1976,74 @@ public partial class ChronoJumpWindow
                        hbox_run_encoder_exercise_notfixed_segment_num.Visible = true;
                        frame_run_encoder_exercise_notfixed_segments.Visible = true;
 
-                       spin_race_encoder_exercise_segment_size_cm_show_needed ();
+                       spin_race_encoder_exercise_v_segment_size_cm_show_needed ();
                }
        }
 
-       private void on_spin_race_encoder_exercise_segments_num_value_changed (object o, EventArgs args)
-       {
-               spin_race_encoder_exercise_segment_size_cm_show_needed ();
-       }
-
-       List<Gtk.SpinButton> list_segments_size_cm;
-       private void spin_race_encoder_exercise_segment_size_cm_create_list ()
-       {
-               list_segments_size_cm = new List<Gtk.SpinButton>();
-
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_0);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_1);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_2);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_3);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_4);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_5);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_6);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_7);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_8);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_9);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_10);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_11);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_12);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_13);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_14);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_15);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_16);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_17);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_18);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_19);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_20);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_21);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_22);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_23);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_24);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_25);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_26);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_27);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_28);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_29);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_30);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_31);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_32);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_33);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_34);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_35);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_36);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_37);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_38);
-               list_segments_size_cm.Add(spin_race_encoder_exercise_segment_size_cm_39);
-       }
-
-       private void spin_race_encoder_exercise_segment_size_cm_reset_list ()
-       {
-               foreach(Gtk.SpinButton sb in list_segments_size_cm)
+       private void on_spin_race_encoder_exercise_v_segments_num_value_changed (object o, EventArgs args)
+       {
+               spin_race_encoder_exercise_v_segment_size_cm_show_needed ();
+       }
+
+       List<Gtk.SpinButton> v_segments_size_cm_l;
+       private void spin_race_encoder_exercise_v_segment_size_cm_create_list ()
+       {
+               v_segments_size_cm_l = new List<Gtk.SpinButton>();
+
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_0);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_1);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_2);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_3);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_4);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_5);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_6);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_7);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_8);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_9);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_10);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_11);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_12);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_13);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_14);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_15);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_16);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_17);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_18);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_19);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_20);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_21);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_22);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_23);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_24);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_25);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_26);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_27);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_28);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_29);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_30);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_31);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_32);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_33);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_34);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_35);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_36);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_37);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_38);
+               v_segments_size_cm_l.Add(spin_race_encoder_exercise_v_segment_size_cm_39);
+       }
+
+       private void spin_race_encoder_exercise_v_segment_size_cm_reset_list ()
+       {
+               foreach(Gtk.SpinButton sb in v_segments_size_cm_l)
                        sb.Value = 100;
        }
 
-       private void spin_race_encoder_exercise_segment_size_cm_show_needed ()
+       private void spin_race_encoder_exercise_v_segment_size_cm_show_needed ()
        {
-               int toShow = Convert.ToInt32(spin_race_encoder_exercise_segments_num.Value);
+               int toShow = Convert.ToInt32(spin_race_encoder_exercise_v_segments_num.Value);
 
                int count = 0;
-               foreach(Gtk.SpinButton sb in list_segments_size_cm)
+               foreach(Gtk.SpinButton sb in v_segments_size_cm_l)
                {
                        sb.Visible = (count < toShow);
                        count ++;
@@ -2085,16 +2085,16 @@ public partial class ChronoJumpWindow
                        }
                }
 
-               int segmentMeters = Convert.ToInt32(spin_race_encoder_exercise_segment_size_m.Value);
+               int segmentCm = Convert.ToInt32(spin_race_encoder_exercise_f_segment_size_cm.Value);
                List<int> segmentVariableCm = new List<int>();
                if(! check_run_encoder_exercise_fixed_size.Active)
                {
-                       segmentMeters = -1;
+                       segmentCm = -1;
 
                        int i = 0;
-                       foreach(Gtk.SpinButton sb in list_segments_size_cm)
+                       foreach(Gtk.SpinButton sb in v_segments_size_cm_l)
                        {
-                               if(i < spin_race_encoder_exercise_segments_num.Value)
+                               if(i < spin_race_encoder_exercise_v_segments_num.Value)
                                        segmentVariableCm.Add(Convert.ToInt32(sb.Value));
                                i ++;
                        }
@@ -2104,14 +2104,14 @@ public partial class ChronoJumpWindow
                {
                        RunEncoderExercise ex = new RunEncoderExercise (
                                        -1, name, entry_run_encoder_exercise_description.Text,
-                                       segmentMeters, segmentVariableCm, 
check_run_encoder_exercise_is_sprint.Active);
+                                       segmentCm, segmentVariableCm, 
check_run_encoder_exercise_is_sprint.Active);
                        ex.InsertSQL (false);
                        currentRunEncoderExercise = ex;
                } else {
                        RunEncoderExercise ex = new RunEncoderExercise(
                                        getExerciseIDFromAnyCombo(combo_run_encoder_exercise, 
runEncoderComboExercisesString, false),
                                        name, entry_run_encoder_exercise_description.Text,
-                                       segmentMeters, segmentVariableCm, 
check_run_encoder_exercise_is_sprint.Active);
+                                       segmentCm, segmentVariableCm, 
check_run_encoder_exercise_is_sprint.Active);
 
                        SqliteRunEncoderExercise.Update(false, ex);
                        currentRunEncoderExercise = ex;
@@ -2244,7 +2244,7 @@ public partial class ChronoJumpWindow
                        isSprint = true;
 
                TwoListsOfDoubles verticalLinesUs_2l = new TwoListsOfDoubles();
-               if(currentRunEncoderExercise != null && //currentRunEncoderExercise.SegmentMeters > 0 &&
+               if(currentRunEncoderExercise != null && //currentRunEncoderExercise.SegmentCm > 0 &&
                                reCGSD != null && reCGSD.SegmentDistTime_2l != null)
                        verticalLinesUs_2l = reCGSD.SegmentDistTime_2l;
 
@@ -2265,7 +2265,7 @@ public partial class ChronoJumpWindow
                        isSprint = true;
 
                TwoListsOfDoubles verticalLinesUs_2l = new TwoListsOfDoubles();
-               if(currentRunEncoderExercise != null && //currentRunEncoderExercise.SegmentMeters > 0 &&
+               if(currentRunEncoderExercise != null && //currentRunEncoderExercise.SegmentCm > 0 &&
                                reCGSD != null && reCGSD.SegmentDistTime_2l != null)
                        verticalLinesUs_2l = reCGSD.SegmentDistTime_2l;
 
@@ -2289,7 +2289,7 @@ public partial class ChronoJumpWindow
                        isSprint = true;
 
                TwoListsOfDoubles verticalLinesUs_2l = new TwoListsOfDoubles();
-               if(currentRunEncoderExercise != null && //currentRunEncoderExercise.SegmentMeters > 0 &&
+               if(currentRunEncoderExercise != null && //currentRunEncoderExercise.SegmentCm > 0 &&
                                reCGSD != null && reCGSD.SegmentDistTime_2l != null)
                        verticalLinesUs_2l = reCGSD.SegmentDistTime_2l;
 
diff --git a/src/gui/app1/runEncoderAnalyze.cs b/src/gui/app1/runEncoderAnalyze.cs
index 979f8c9d2..5a89ff64b 100644
--- a/src/gui/app1/runEncoderAnalyze.cs
+++ b/src/gui/app1/runEncoderAnalyze.cs
@@ -192,7 +192,7 @@ public partial class ChronoJumpWindow
                        return;
                }
 
-               if(! currentRunEncoderExercise.IsSprint || currentRunEncoderExercise.SegmentMeters < 0)
+               if(! currentRunEncoderExercise.IsSprint || currentRunEncoderExercise.SegmentCm < 0)
                {
                        new DialogMessage(Constants.MessageTypes.WARNING, "Currently cannot analyze exercises 
that are not an sprint or have variable segments.");
                        return;
diff --git a/src/runEncoder.cs b/src/runEncoder.cs
index aeb2ac0ad..ab45a8fa2 100644
--- a/src/runEncoder.cs
+++ b/src/runEncoder.cs
@@ -271,8 +271,8 @@ public class RunEncoderCaptureGetSpeedAndDisplacement
 {
        //to calcule the vertical lines on pos/time, speed/time, accel/time
        //it is calculated once and used on all
-       private int segmentMeters;      //note (m)
-       private List<int> segmentVariableCm; //if segmentMeters == -1 then this is used //note (cm)
+       private int segmentCm;
+       private List<int> segmentVariableCm; //if segmentCm == -1 then this is used
        private int segmentVariableCmDistAccumulated;
        private TwoListsOfDoubles segmentDistTime_2l;
 
@@ -287,9 +287,9 @@ public class RunEncoderCaptureGetSpeedAndDisplacement
        private double runEncoderCaptureSpeedMax;
        private double runEncoderCaptureDistance; //m
 
-       public RunEncoderCaptureGetSpeedAndDisplacement(int segmentMeters, List<int> segmentVariableCm)
+       public RunEncoderCaptureGetSpeedAndDisplacement(int segmentCm, List<int> segmentVariableCm)
        {
-               this.segmentMeters = segmentMeters;
+               this.segmentCm = segmentCm;
                this.segmentVariableCm = segmentVariableCm;
                segmentVariableCmDistAccumulated = 0;
 
@@ -333,7 +333,7 @@ public class RunEncoderCaptureGetSpeedAndDisplacement
 
                                runEncoderCaptureDistance += runEncoderCaptureDistanceAtThisSample;
 
-                               if(segmentMeters > 0)
+                               if(segmentCm > 0)
                                        updateSegmentDistTimeFixed ();
                                else if(segmentVariableCm.Count > 0)
                                        updateSegmentDistTimeVariable ();
@@ -346,8 +346,8 @@ public class RunEncoderCaptureGetSpeedAndDisplacement
        }
        private void updateSegmentDistTimeFixed () //m
        {
-               if(runEncoderCaptureDistance >= segmentMeters * (segmentDistTime_2l.Count() +1))
-                       segmentDistTime_2l.Add(segmentMeters * (segmentDistTime_2l.Count() +1), time);
+               if(runEncoderCaptureDistance >= (segmentCm/100.0) * (segmentDistTime_2l.Count() +1))
+                       segmentDistTime_2l.Add((segmentCm/100.0) * (segmentDistTime_2l.Count() +1), time);
                //note this is not very precise because time can be a bit later than the selected dist
        }
        private void updateSegmentDistTimeVariable () //cm
@@ -397,9 +397,9 @@ public class RunEncoderExercise
        private int uniqueID;
        private string name;
        private string description;
-       private int segmentMeters;
-       public static int SegmentMetersDefault = 5;
-       private List<int> segmentVariableCm; //if segmentMeters == -1 then this is used
+       private int segmentCm;
+       public static int SegmentCmDefault = 500;
+       private List<int> segmentVariableCm; //if segmentCm == -1 then this is used
        private bool isSprint;
 
        public RunEncoderExercise()
@@ -411,12 +411,12 @@ public class RunEncoderExercise
                this.name = name;
        }
 
-       public RunEncoderExercise(int uniqueID, string name, string description, int segmentMeters, List<int> 
segmentVariableCm, bool isSprint)
+       public RunEncoderExercise(int uniqueID, string name, string description, int segmentCm, List<int> 
segmentVariableCm, bool isSprint)
        {
                this.uniqueID = uniqueID;
                this.name = name;
                this.description = description;
-               this.segmentMeters = segmentMeters;
+               this.segmentCm = segmentCm;
                this.segmentVariableCm = segmentVariableCm;
                this.isSprint = isSprint;
        }
@@ -424,7 +424,7 @@ public class RunEncoderExercise
        public override string ToString()
        {
                return string.Format("{0}:{1}:{2}:{3}:{4}:{5}",
-                               uniqueID, name, description, segmentMeters,
+                               uniqueID, name, description, segmentCm,
                                Util.ListIntToSQLString (segmentVariableCm, ";"), isSprint);
        }
 
@@ -441,7 +441,7 @@ public class RunEncoderExercise
 
                return
                        "(" + uniqueIDStr + ", \"" + name + "\", \"" + description + "\", " +
-                       segmentMeters + ", \"" + SegmentVariableCmToSQL + "\", " + Util.BoolToInt(isSprint) + 
")";
+                       segmentCm + ", \"" + SegmentVariableCmToSQL + "\", " + Util.BoolToInt(isSprint) + ")";
        }
 
        public int UniqueID
@@ -456,9 +456,10 @@ public class RunEncoderExercise
        {
                get { return description; }
        }
-       public int SegmentMeters
+       public int SegmentCm
        {
-               get { return segmentMeters; }
+               get { return segmentCm; }
+               set { segmentCm = value; }
        }
        public List<int> SegmentVariableCm
        {
@@ -630,7 +631,7 @@ public class RunEncoderGraphExport
                        device.ToString() + ";" +
                        Util.ConvertToPoint(tempC) + ";" +
                        testLength.ToString() + ";" +
-                       rex.SegmentMeters.ToString() + ";" +
+                       rex.SegmentCm.ToString() + ";" +
                        title + ";" +
                        datetime + ";" +
                        printTriggers(TriggerList.Type3.ON) + ";" +
@@ -646,7 +647,7 @@ public class RunEncoderGraphExport
        public static string PrintCSVHeaderOnExport()
        {
                return "fullURL;mass;personHeight;device;tempC;testLength;" +
-                       "splitLength;" + //segmentMeters on C#, splitLength on R
+                       "splitLength;" + //segmentCm on C#, splitLength on R
                        "title;datetime;triggersOn;triggersOff;comments";
        }
 }
@@ -780,7 +781,7 @@ public class RunEncoderGraph
                        "#graphWidth\n" +               graphWidth.ToString() + "\n" +
                        "#graphHeight\n" +              graphHeight.ToString() + "\n" +
                        "#device\n" +                   device.ToString() + "\n" + //unused on multiple
-                       "#segmentMeters\n" +            rex.SegmentMeters + "\n" + //unused on multiple
+                       "#segmentCm\n" +                rex.SegmentCm + "\n" + //unused on multiple
                        "#title\n" +                    title + "\n" +          //unused on multiple
                        "#datetime\n" +                 datetime + "\n" +       //unused on multiple
                        "#startAccel\n" +               Util.ConvertToPoint(startAccel) + "\n" +
diff --git a/src/sqlite/main.cs b/src/sqlite/main.cs
index e4126369e..f27c125e1 100644
--- a/src/sqlite/main.cs
+++ b/src/sqlite/main.cs
@@ -22,6 +22,7 @@ using System;
 using System.Data;
 using System.IO; //"File" things. TextWriter
 using System.Collections; //ArrayList
+using System.Collections.Generic; //List
 using Mono.Data.Sqlite;
 using System.Diagnostics;      //for launching other process
 
@@ -129,7 +130,7 @@ class Sqlite
        /*
         * Important, change this if there's any update to database
         */
-       static string lastChronojumpDatabaseVersion = "2.32";
+       static string lastChronojumpDatabaseVersion = "2.33";
 
        public Sqlite()
        {
@@ -3116,11 +3117,29 @@ class Sqlite
                                        LogB.SQL("Catched at Doing ALTER TABLE added isSprint.");
                                }
 
-                               ArrayList exercises = SqliteRunEncoderExercise.Select(true, -1, true);
-                               if(exercises == null || exercises.Count == 0)
+                               currentVersion = updateVersion("2.32");
+                       }
+                       if(currentVersion == "2.32")
+                       {
+                               LogB.SQL("RunEncoderExercise segmentMeters but now is in cm");
+
+                               List<RunEncoderExercise> ex_l = SqliteRunEncoderExercise.Select (true, -1);
+                               foreach(RunEncoderExercise ex in ex_l)
+                               {
+                                       if(ex.SegmentCm > 0) //do not update them if is -1 (unused)
+                                       {
+                                               RunEncoderExercise exChanged = ex;
+                                               exChanged.SegmentCm *= 100;
+                                               SqliteRunEncoderExercise.Update(true, exChanged);
+                                       }
+                               }
+
+                               //adding the insertDefault here because now it will be in cm
+                               ex_l = SqliteRunEncoderExercise.Select(true, -1);
+                               if(ex_l == null || ex_l.Count == 0)
                                        SqliteRunEncoderExercise.insertDefault();
 
-                               currentVersion = updateVersion("2.32");
+                               currentVersion = updateVersion("2.33");
                        }
 
                        /*
@@ -3343,6 +3362,7 @@ class Sqlite
                //changes [from - to - desc]
 //just testing: 1.79 - 1.80 Converted DB to 1.80 Created table ForceSensorElasticBandGlue and moved 
stiffnessString records there
 
+               //2.32 - 2.33 Converted DB to 2.33 RunEncoderExercise segmentMeters but now is in cm
                //2.31 - 2.32 Converted DB to 2.32 RunEncoderExercise ALTER TABLE added isSprint
                //2.30 - 2.31 Converted DB to 2.31 RunEncoderExercise ALTER TABLE added segmentVariableCm
                //2.29 - 2.30 Converted DB to 2.30 Inserted default exercises of forceSensor and raceAnalyzer 
if empty
diff --git a/src/sqlite/runEncoder.cs b/src/sqlite/runEncoder.cs
index 9ae659e8a..164a8e590 100644
--- a/src/sqlite/runEncoder.cs
+++ b/src/sqlite/runEncoder.cs
@@ -330,7 +330,7 @@ class SqliteRunEncoder : Sqlite
                //need to create an exercise to assign to the imported files
                if(importedSomething)
                {
-                       RunEncoderExercise ex = new RunEncoderExercise(0, "Sprint", "", 
RunEncoderExercise.SegmentMetersDefault, new List<int>(), true);
+                       RunEncoderExercise ex = new RunEncoderExercise(0, "Sprint", "", 
RunEncoderExercise.SegmentCmDefault, new List<int>(), true);
                        ex.InsertSQL(true);
                }
 
@@ -360,8 +360,8 @@ class SqliteRunEncoderExercise : Sqlite
                        "uniqueID INTEGER PRIMARY KEY, " +
                        "name TEXT, " +
                        "description TEXT, " +
-                       "segmentMeters INT, " +
-                       "segmentVariableCm TEXT, " + //separator is ;
+                       "segmentMeters INT, " +         //changed to cm in DB 2.33
+                       "segmentVariableCm TEXT, " +    //separator is ;
                        "isSprint INT NOT NULL DEFAULT 1)"; //bool
                LogB.SQL(dbcmd.CommandText.ToString());
                dbcmd.ExecuteNonQuery();
@@ -393,7 +393,7 @@ class SqliteRunEncoderExercise : Sqlite
        //Default exercise for users without exercises (empty database creation or never used raceAnalyzer)
        protected internal static void insertDefault ()
        {
-               RunEncoderExercise re = new RunEncoderExercise (-1, "Sprint", "", 
RunEncoderExercise.SegmentMetersDefault, new List<int>(), true);
+               RunEncoderExercise re = new RunEncoderExercise (-1, "Sprint", "", 
RunEncoderExercise.SegmentCmDefault, new List<int>(), true);
                re.InsertSQL(true);
        }
 
@@ -411,7 +411,7 @@ class SqliteRunEncoderExercise : Sqlite
                dbcmd.CommandText = "UPDATE " + table + " SET " +
                        " name = \"" + ex.Name +
                        "\", description = \"" + ex.Description +
-                       "\", segmentMeters = " + ex.SegmentMeters +
+                       "\", segmentMeters = " + ex.SegmentCm +         //cm since DB 2.33
                        ", segmentVariableCm = \"" + ex.SegmentVariableCmToSQL +
                        "\", isSprint = " + ex.IsSprint +
                        " WHERE uniqueID = " + ex.UniqueID;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]