[chronojump] Code (disabled right now) to avoid calling R to process curves after capture
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Code (disabled right now) to avoid calling R to process curves after capture
- Date: Thu, 16 Mar 2017 17:18:25 +0000 (UTC)
commit 1dbf5b28e72aa923c519b47b85018478e21eab05
Author: Xavier de Blas <xaviblas gmail com>
Date: Thu Mar 16 18:16:17 2017 +0100
Code (disabled right now) to avoid calling R to process curves after capture
src/gui/encoder.cs | 91 ++++++++++++++++++++++++++++++++--------------------
src/utilEncoder.cs | 4 ++-
2 files changed, 59 insertions(+), 36 deletions(-)
---
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index da56a95..c9fd985 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -17,7 +17,6 @@
*
* Copyright (C) 2004-2017 Xavier de Blas <xaviblas gmail com>
*/
-
using System;
using System.IO;
using Gtk;
@@ -1070,16 +1069,9 @@ public partial class ChronoJumpWindow
private void encoderDoCurvesGraphR_curvesAC() {
encoderDoCurvesGraphR("curvesAC");
}
- //this is called by non gtk thread. Don't do gtk stuff here
- //I suppose reading gtk is ok, changing will be the problem
- //called on calculatecurves, recalculate and load
- private void encoderDoCurvesGraphR(string analysisSent)
- {
- LogB.Debug("encoderDoCurvesGraphR() start");
- string analysis = analysisSent;
-
- string analysisOptions = getEncoderAnalysisOptions();
+ private void setLastEncoderSQLSignal()
+ {
//without this we loose the videoURL on recalculate
string videoURL = "";
if(encoderSignalUniqueID != null && encoderSignalUniqueID != "-1") {
@@ -1111,7 +1103,19 @@ public partial class ChronoJumpWindow
Util.FindOnArray(':', 2, 1,
UtilGtk.ComboGetActive(combo_encoder_exercise_capture),
encoderExercisesTranslationAndBodyPWeight) //exerciseName
(english)
);
+ }
+
+ //this is called by non gtk thread. Don't do gtk stuff here
+ //I suppose reading gtk is ok, changing will be the problem
+ //called on calculatecurves, recalculate and load
+ private void encoderDoCurvesGraphR(string analysisSent)
+ {
+ LogB.Debug("encoderDoCurvesGraphR() start");
+
+ setLastEncoderSQLSignal();
+ string analysis = analysisSent;
+ string analysisOptions = getEncoderAnalysisOptions();
EncoderParams ep = new EncoderParams(
preferences.EncoderCaptureMinHeight(encoderConfigurationCurrent.has_inertia),
@@ -2214,9 +2218,19 @@ public partial class ChronoJumpWindow
capturingCsharp = encoderCaptureProcess.STOPPING;
//will start calcule curves thread
- if(capturedOk) {
- LogB.Debug("Going to encoderCalculeCurves");
- encoderCalculeCurves(encoderActions.CURVES_AC);
+ if(capturedOk)
+ {
+ if(radio_encoder_capture_cont.Active && ! captureContWithCurves)
+ {
+ LogB.Debug("Don't need to to encoderCalculeCurves");
+ encoderTimeStamp = UtilDate.ToFile(DateTime.Now);
+ encoderSignalUniqueID = "-1"; //mark to know that there's no ID for this
until it's saved on database
+ setLastEncoderSQLSignal();
+ } else
+ {
+ LogB.Debug("Going to encoderCalculeCurves");
+ encoderCalculeCurves(encoderActions.CURVES_AC);
+ }
} else
encoderProcessCancel = true;
}
@@ -5623,6 +5637,7 @@ public partial class ChronoJumpWindow
// -------------- end of drawingarea_encoder_analyze_instant
+ bool captureContWithCurves = true;
private void finishPulsebar(encoderActions action) {
if(
action == encoderActions.CAPTURE ||
@@ -5668,30 +5683,37 @@ public partial class ChronoJumpWindow
if(notebook_encoder_capture.CurrentPage == 0)
notebook_encoder_capture.NextPage();
- List<string> contents =
Util.ReadFileAsStringList(UtilEncoder.GetEncoderCurvesTempFileName());
-
- image_encoder_capture = UtilGtk.OpenImageSafe(
- UtilEncoder.GetEncoderGraphTempFileName(),
- image_encoder_capture);
-
- encoderUpdateTreeViewCapture(contents); //this updates encoderCaptureCurves
- image_encoder_capture.Sensitive = true;
-
- //plot curves bars graph
+ //variables for plotting curves bars graph
string mainVariable =
Constants.GetEncoderVariablesCapture(preferences.encoderCaptureMainVariable);
double mainVariableHigher =
repetitiveConditionsWin.GetMainVariableHigher(mainVariable);
double mainVariableLower =
repetitiveConditionsWin.GetMainVariableLower(mainVariable);
-
- captureCurvesBarsData = new ArrayList();
- foreach (EncoderCurve curve in encoderCaptureCurves) {
- captureCurvesBarsData.Add(new EncoderBarsData(
- Convert.ToDouble(curve.MeanSpeed),
- Convert.ToDouble(curve.MaxSpeed),
- Convert.ToDouble(curve.MeanForce),
- Convert.ToDouble(curve.MaxForce),
- Convert.ToDouble(curve.MeanPower),
- Convert.ToDouble(curve.PeakPower)
- ));
+
+ if(radio_encoder_capture_cont.Active && ! captureContWithCurves)
+ {
+ //will use captureCurvesBarsData (created on capture)
+ LogB.Information("at fff with captureCurvesBarsData =");
+ LogB.Information(captureCurvesBarsData.Count.ToString());
+ } else {
+ List<string> contents =
Util.ReadFileAsStringList(UtilEncoder.GetEncoderCurvesTempFileName());
+
+ image_encoder_capture = UtilGtk.OpenImageSafe(
+ UtilEncoder.GetEncoderGraphTempFileName(),
+ image_encoder_capture);
+
+ encoderUpdateTreeViewCapture(contents); //this updates
encoderCaptureCurves
+ image_encoder_capture.Sensitive = true;
+
+ captureCurvesBarsData = new ArrayList();
+ foreach (EncoderCurve curve in encoderCaptureCurves) {
+ captureCurvesBarsData.Add(new EncoderBarsData(
+ Convert.ToDouble(curve.MeanSpeed),
+ Convert.ToDouble(curve.MaxSpeed),
+ Convert.ToDouble(curve.MeanForce),
+ Convert.ToDouble(curve.MaxForce),
+ Convert.ToDouble(curve.MeanPower),
+ Convert.ToDouble(curve.PeakPower)
+ ));
+ }
}
@@ -5734,7 +5756,6 @@ public partial class ChronoJumpWindow
LogB.Information(" encoderSignalUniqueID:" + encoderSignalUniqueID);
if(encoderSignalUniqueID != "-1")
{
-
// TODO: we never use findEccon() return value. We might be able to
stop calling findEccon()
// since it doesn't seem to do anything else other than returning the
value.
// This needs to be checked if working on this code.
diff --git a/src/utilEncoder.cs b/src/utilEncoder.cs
index f476409..364387f 100644
--- a/src/utilEncoder.cs
+++ b/src/utilEncoder.cs
@@ -609,12 +609,14 @@ public class UtilEncoder
public static string EncoderSaveCurve(string fileNameSignal,
- int start, int duration,
+ int start, int duration,
int inertialCheckStart, int inertialCheckDuration,
bool inertialCheckPositive, //has to be positive (true) or negative (false)
int sessionID, int uniqueID, string personName, string timeStamp, int curveIDMax)
{
string contents = Util.ReadFile(fileNameSignal, false);
+
+ LogB.Information("EncoderSaveCurve start:" + start.ToString() + "; duration:" +
duration.ToString());
/*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]