From a5cf57cd60a5576fa3d729aca1b757424176b0dd Mon Sep 17 00:00:00 2001
From: Lewin Probst <info@emirror.de>
Date: Fri, 3 Jul 2020 13:29:16 +0200
Subject: [PATCH] The reference start position is only added when it is the
 first row of the combination table.

---
 VERSION                                              |  2 +-
 .../+track/+parameter/addSoundsourceCombination.m    |  6 +++++-
 .../+parameter/addSoundsourceCombinationAbove.m      |  6 +++++-
 .../+track/+parameter/getDefaultCombinationCell.m    | 12 ++++++++++--
 4 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/VERSION b/VERSION
index 9e6181a..53c7311 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-285
\ No newline at end of file
+286
\ No newline at end of file
diff --git a/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombination.m b/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombination.m
index af87383..cebf4f1 100644
--- a/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombination.m
+++ b/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombination.m
@@ -9,7 +9,11 @@ global artoaWorkspace;
 artoaWorkspace.trajectoryOutput.updateTrackParameterWindow = false;
 
 %% Insert default content
-artoaWorkspace.trackParameter.soundsourceCombinations(end + 1, :) = artoa.controller.track.parameter.getDefaultCombinationCell();
+if size(artoaWorkspace.trackParameter.soundsourceCombinations, 1) == 1
+    artoaWorkspace.trackParameter.soundsourceCombinations(end + 1, :) = artoa.controller.track.parameter.getDefaultCombinationCell();
+else
+    artoaWorkspace.trackParameter.soundsourceCombinations(end + 1, :) = artoa.controller.track.parameter.getDefaultCombinationCell(false);
+end
 try
     artoaWorkspace.trackParameter.soundsourceCombinations{end, 'combinationBegin'} = artoaWorkspace.trackParameter.soundsourceCombinations{end - 1, 'combinationEnd'} + 1;
 catch
diff --git a/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombinationAbove.m b/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombinationAbove.m
index f2b2cd1..cf79e54 100644
--- a/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombinationAbove.m
+++ b/lib/+artoa/+controller/+track/+parameter/addSoundsourceCombinationAbove.m
@@ -15,7 +15,11 @@ combinations = artoaWorkspace.trackParameter.soundsourceCombinations;
 
 %% Add above the selected
 combinations(selectedRow + 1:end + 1, :) = combinations(selectedRow:end, :);
-combinations(selectedRow, :) = artoa.controller.track.parameter.getDefaultCombinationCell();
+if selectedRow - 1 == 0
+    combinations(selectedRow, :) = artoa.controller.track.parameter.getDefaultCombinationCell();
+else
+    combinations(selectedRow, :) = artoa.controller.track.parameter.getDefaultCombinationCell(false);
+end
 
 if selectedRow == 1
     artoaWorkspace.trackParameter.soundsourceCombinations = combinations;
diff --git a/lib/+artoa/+controller/+track/+parameter/getDefaultCombinationCell.m b/lib/+artoa/+controller/+track/+parameter/getDefaultCombinationCell.m
index 77e2784..19cf0b1 100644
--- a/lib/+artoa/+controller/+track/+parameter/getDefaultCombinationCell.m
+++ b/lib/+artoa/+controller/+track/+parameter/getDefaultCombinationCell.m
@@ -1,9 +1,13 @@
-function [emptyCell] = getDefaultCombinationCell()
+function [emptyCell] = getDefaultCombinationCell(pAddReferencePosition)
 %GETDEFAULTCOMBINATIONVALUES Summary of this function goes here
 %   Detailed explanation goes here
 
 global artoaWorkspace;
 
+if ~exist('pAddReferencePosition', 'var')
+    pAddReferencePosition = true;
+end
+
 %% Initialize variables
 startDate = floor(min(artoaWorkspace.toaData.toaDate(artoaWorkspace.toaData.status ~= 2)));
 endDate = floor(max(artoaWorkspace.toaData.toaDate(artoaWorkspace.toaData.status ~= 2)));
@@ -11,7 +15,11 @@ endDate = floor(max(artoaWorkspace.toaData.toaDate(artoaWorkspace.toaData.status
 %% Get last known position
 isNotNan = ~isnan(artoaWorkspace.satData.lat_sat) & ~isnan(artoaWorkspace.satData.lon_sat);
 knownPositions = [artoaWorkspace.satData.lat_sat(isNotNan), artoaWorkspace.satData.lon_sat(isNotNan)];
-referencePosition = [num2str(knownPositions(1, 1)) ' ' num2str(knownPositions(1, 2))];
+if pAddReferencePosition
+    referencePosition = [num2str(knownPositions(1, 1)) ' ' num2str(knownPositions(1, 2))];
+else
+    referencePosition = '';
+end
 
 %% Create default cell
 emptyCell = { ...
-- 
GitLab