Compare commits

..

772 Commits

Author SHA1 Message Date
Mark Liversedge
0ca339ced6 Version 3.4 RC2
.. update versioning
2016-11-05 11:19:40 +00:00
grauser
c1a644b5a3 LTM: Correction for table without highlight
Thank you Ale
2016-11-04 22:18:30 +01:00
grauser
d1dd455e52 LTM : Highlight higher or lower values in table view
fix #2168
2016-11-04 00:09:24 +01:00
Alejandro Martinez
f65bf25cb9 Merge pull request #2171 from amtriathlon/master
Fixed RideSummary refresh when selected ride changes while not visible
2016-11-01 22:20:08 +02:00
Alejandro Martinez
887c060aa3 Fixed RideSummary refresh when selected ride changes while not visible
Fixes #2170
2016-11-01 15:38:47 -03:00
grauser
21fd8a6964 FIT : Changes in CIQ reading 2016-10-31 23:13:33 +01:00
grauser
454b928b3f Small correction 2016-10-31 23:08:37 +01:00
grauser
f2388fef06 Translation 2016-10-31 23:08:37 +01:00
Alejandro Martinez
0de0f5dbbb Merge pull request #2157 from amtriathlon/master
Set Sport to Bike and process defaults on Download
2016-10-31 19:32:50 +02:00
Mark Liversedge
3f5037faf7 Merge pull request #2162 from lumanz/master
Chinese Translation Update
2016-10-30 22:52:24 +00:00
lumanz
6866abd836 Chinese Translation Update 2016-10-30 23:17:45 +08:00
Mark Liversedge
2a4d96b1d9 Fix infinite loop hang in DanielsPoints
.. the attenuation loop would run forever if values computed were
   infinite or not a number.
2016-10-30 11:03:45 +00:00
Mark Liversedge
4d82937f90 Merge pull request #2159 from bstegmaier/bugfix/2158_wheel_perimeter
Fix bug in wheel perimeter calculation
2016-10-28 10:43:34 +01:00
Benedikt Stegmaier
d2b70c8b17 Fix bug in wheel perimeter calculation
fixes #2158

Issue:
The contents of the combo box, the array holding the raw mm values and
the index range checks were out of sync.
This led to wrong or no values at all during the wheel perimeter
calculation.

Changes:
* Add missing rim diameter 584mm
* Adjust rouding error in tire casing diameter
* Make index range checks more robust by using the actual array size
  instead of just assuming a length
* Display ISO5775/ETRTO mm values in combo box
2016-10-28 11:06:46 +02:00
Alejandro Martinez
99674fe8df Set Sport to Bike and process defaults on Download
When the device is isBikeOnly, default to true for all currently
supported devices, except Moxy.
Fixes #2156
2016-10-27 13:43:59 -03:00
Alejandro Martinez
ae0f18448c Merge pull request #2155 from amtriathlon/master
Process linked defaults on Manual Entry
2016-10-27 17:42:25 +02:00
Alejandro Martinez
41993161d4 Process linked defaults on Manual Entry
Fixes #2154
2016-10-27 10:18:29 -03:00
Mark Liversedge
8d2212b8b3 Merge pull request #2153 from amtriathlon/master
Added Simple Average trend type to Metrics Trends charts
2016-10-26 14:54:59 +01:00
Mark Liversedge
e162e1c5bb Merge pull request #2151 from antoniusriha/fix_seg_fault_after_close
Fix seg fault that occurs after closing app
2016-10-26 14:52:30 +01:00
Mark Liversedge
0854892900 Merge pull request #2150 from antoniusriha/fix_leak_in_refreshCustomTable
Fix a leak in refreshCustomTable
2016-10-26 14:51:52 +01:00
Alejandro Martinez
1928b5b511 Added Simple Average trend type to Metrics Trends charts
Combined with the Group By feature, it allows a simple way
to see weekly, monthly and yearly averages for cumulative
metrics s.t. Duration, Distance, TSS, etc.
2016-10-26 10:01:07 -03:00
Antonius Riha
fb069346f1 Free application object before returning from main 2016-10-25 18:48:43 +02:00
Antonius Riha
64d3ed3b3d Fix a leak in refreshCustomTable 2016-10-25 16:50:05 +02:00
Mark Liversedge
869c00bc67 Reduce compiler warnings from gcc5
.. lots of warnings about unused global variables that
   are being used to call functions before main

.. a few other smaller nits that could be fixed easily

.. now get fewer warnings and more meaningful to then
   review and resolve them
2016-10-23 11:19:56 +01:00
Alejandro Martinez
bb99bc6d1e Merge pull request #2142 from amtriathlon/BestTime
Changed BestTime metrics units to minutes for better charting
2016-10-20 10:03:22 -03:00
grauser
3ece3e070a Fit : Small correction for native fields 2016-10-19 23:20:00 +02:00
Alejandro Martinez
0b77d468c4 Changed BestTime metrics units to minutes for better charting
It is a more natural unit is most cases and allows enhanced
plotting in LTM charts since seconds are converted to hours.
Labels and ToolTip are shown in sexagesimal format.
2016-10-19 15:28:08 -03:00
grauser
9048db61e0 XData : Add copy/paste 2016-10-19 17:46:21 +02:00
Mark Liversedge
eee3a0bb13 Merge pull request #2117 from Joern-R/Sorting
Improve sorting in ride navigator
2016-10-19 14:29:25 +01:00
Mark Liversedge
76145eb2c0 Fix SEGV on delete season phase
.. the code was never written, so the season code just
   crashes using an index of -1 into the season array

.. updated LTMSidebar.cpp to catch delete phase and handle
   it appropriately, but the real fix should be to abstract
   the code added into the Season/Phase classes.

Fixes #2139.
2016-10-17 12:12:40 +01:00
Alejandro Martinez
aaa73664dd Merge pull request #2138 from amtriathlon/CalendarPopup
Added Calendar Popup to QDateEdit fields with default format
2016-10-16 13:17:52 -03:00
Mark Liversedge
a39c50a20f Revert "Fix ComparePane Memory Leak"
This reverts commit f6c218873c.

Since it has a major regression.

Fixes #2112
2016-10-16 12:23:17 +01:00
Alejandro Martinez
d596b3d5c3 Added Calendar Popup to QDateEdit fields with default format
To enhance usability, specially when the locale uses 2 digits years.
Fixes #2123
In some places s.t. TPDowloadDialog and FileStore it was already set.
Not added to RideMetadata and RideImportWizard where 4 digits year is fixed.
2016-10-15 09:08:41 -03:00
Alejandro Martinez
5f31c94702 Merge pull request #2131 from amtriathlon/multisport
Skip non relevant metrics for RideSummary in Trends view
2016-10-14 10:18:51 -03:00
Alejandro Martinez
3ac0ec7e94 Recognized Ugo Borello
Contributed an updated Italian translation for v3.4
2016-10-14 10:09:06 -03:00
Ugo Borello
a6450d9c7f Updated Italian Translation 2016-10-14 10:07:16 -03:00
Alejandro Martinez
585fa93124 Merge pull request #2136 from amtriathlon/master
Changed PMCDate start date to first activity minus 1 day
2016-10-14 09:51:52 -03:00
Alejandro Martinez
10de0029e7 Changed PMCDate start date to first activity minus 1 day
When it predates the first season so that first activity is included
Fixes #2135
2016-10-11 19:52:00 -03:00
grauser
f300ccc40c FIT : don't overide existing standard native field 2016-10-11 23:45:53 +02:00
grauser
911a0533bb FIT: debug trace 2016-10-11 21:24:47 +02:00
Alejandro Martinez
a23bd488dc Trends RideSummary Shows only Relevant Metrics on activities lists
Avoiding non relevant metrics for each sport allows to
show more relevant metrics on the available columns.
2016-10-10 10:59:53 -03:00
Alejandro Martinez
1a7b258af6 Skip non relevant metrics on ComparePane
and RideSummary in CompareMode.
Metrics have to be relevant for at least one activity
on some of the compared date ranges to be shown.
2016-10-08 22:36:06 -03:00
Alejandro Martinez
2c027d8c6f Speedup isMetricRelevantForRides method
Shortcut or is enough
2016-10-08 09:50:26 -03:00
Alejandro Martinez
694e7688ae Skip non relevant metrics for RideSummary in Trends view
Adds isMetricRelevantForRides(specification, metric) to RideCache
to check if a metric isRelevant for some of the activities passing
the specification
Also reduces from 3 to 1 the calls to getRideTypeCounts
2016-10-07 21:17:43 -03:00
Mark Liversedge
30a11abeed Merge pull request #2125 from Joern-R/compare-drag
UI Nit - Compare Pane Action not marked in View menu
2016-10-07 19:29:03 +01:00
Mark Liversedge
dfb7483398 Merge pull request #2128 from Joern-R/NPE
Fix SIGSEGV in RideNavigator List in Sidebar on Activities View
2016-10-07 19:28:09 +01:00
Mark Liversedge
d51cd480b4 Merge pull request #2129 from Joern-R/saveAll
Add "Save all modified activities" feature
2016-10-07 19:26:16 +01:00
Joern
e7ab127b51 Add "Save all modified activities" feature
... re-using the existing functions recognizing modified activities
... allowing to save all, without remembering to save one-by-one or
    leaving GC to make sure that all was saved
2016-10-06 16:24:22 +02:00
Joern
15b52b0732 Fix SIGSEGV in RideNavigator List in Sidebar on Activities View
... when changing the ride by clicking in the list - while change e.g. Detail data in the activities view GC aborted
    because the proxyIndex.internalPointer() was not initialized
    checking the initialization like in the other cases in the code fixed the problem
2016-10-06 14:56:03 +02:00
Joern
b018ded8f8 UI Nit - Compare Pane Action not marked in View menu
... when ComparePane is opened by drag&drop event menu item "Show Compare Pane" was not marked active
2016-10-04 15:18:07 +02:00
Alejandro Martinez
248a4b70c4 Merge pull request #2124 from amtriathlon/multisport
Show only metrics relevant for some compared intervals
2016-10-03 19:34:16 -03:00
Alejandro Martinez
b1cff2bb48 Show only metrics relevant for some compared intervals
In ComparePane and RideSummary, to have a cleaner interval
comparison for multisport users having interval metrics
configured for different sports or cyclists using
metrics based on data not always present.
Fixes #2110
2016-10-03 14:51:53 -03:00
Joern
a1bc53fe61 Merge pull request #2119 from Joern-R/filestore
Fix Dump in Dropbox sync without network access ...
2016-10-03 18:14:18 +02:00
Alejandro Martinez
566b0ee527 Merge pull request #2121 from amtriathlon/master
Format Pace metrics labels as mm:ss in Metric Trends Charts
2016-10-03 10:21:18 -03:00
Alejandro Martinez
b580e27c8e Format Pace metrics labels as mm:ss in Metric Trends Charts
Modification of previous commit: fc5f899a19
to consider pace based formulas, it is sligthly simpler BTW.
2016-10-02 17:52:31 -03:00
Joern
142b1889e4 Fix QT4 build errors ...
... for sorting improvement
2016-10-02 19:50:39 +02:00
Joern
559feba1fb Fix Dump in Dropbox sync without network access ...
... improve error messages for upload/sync in case of no network access
... fix "authorized" icon position for Dropbox in Options
2016-10-02 19:30:57 +02:00
Joern
2f6bb8a38b Improve sorting in
... compare pane for time/duration fields
... ride navigator for numeric fields e.g. average speed (which were sorted as string before)
2016-10-02 17:57:45 +02:00
grauser
e0336f2eac Fit : Use developer id and field num for XData too. 2016-10-02 11:12:06 +02:00
grauser
fad08d699d French translation (slow) progress 2016-10-02 10:40:23 +02:00
grauser
e586193d25 Fit : Two developer field can have the same field number
fix #2115
2016-10-02 10:40:15 +02:00
Alejandro Martinez
7cfb9709e7 Merge pull request #2105 from amtriathlon/translation
Completed Dutch translation for v3.4
2016-09-28 16:25:10 -03:00
Alejandro Martinez
236e45e4ab Completed Dutch translation
Contributed by Marcel Breij
2016-09-28 15:15:29 -03:00
grauser
85ac88aedb Pwx : Add Garmin Cycling Dynamics in Pwx writer (export) 2016-09-28 17:10:59 +02:00
Mark Liversedge
ca6c4ea8d9 Merge branch 'master' of github.com:GoldenCheetah/GoldenCheetah 2016-09-28 07:35:26 +01:00
Alejandro Martinez
a9af33c6d1 Updated Dutch translation
Contributed by Marcel Breij
2016-09-28 07:11:37 +01:00
Alejandro Martinez
39abbaf7f4 Updated Spanish translation 2016-09-28 07:11:37 +01:00
Alejandro Martinez
1da5f04c03 Enabled common metadata fields for translation
and minor fixes to enable translation in RideEditor PasteEspecial dialog
2016-09-28 07:11:37 +01:00
grauser
611fd30b8b Pwx : Add test file with Garmin Cycling Dynamics
fix #2100
2016-09-28 07:11:37 +01:00
grauser
fb009b3b57 Pwx: Add Garmin Cycling Dynamics 2016-09-28 07:11:37 +01:00
grauser
4cd1b4f0ae Update french translation 1/2 2016-09-28 07:11:36 +01:00
Alejandro Martinez
54ef5cef26 Updated Dutch Translation
Contributed by Marcel Breij
2016-09-28 07:11:36 +01:00
Alejandro Martinez
07e2dec702 Updated Spanish Translation 2016-09-28 07:11:36 +01:00
Alejandro Martinez
dff45023cf Fixed non-translatable column headers
On RideEditor Search and Named Searchs
2016-09-28 07:11:36 +01:00
Alejandro Martinez
a23b9e00c1 Added Dutch to CloudDB Charts languages 2016-09-28 07:11:36 +01:00
Mark Liversedge
c18fd05d79 Disable R if it fails to embed
.. so we don't keep grumbling to the user.
2016-09-28 07:11:36 +01:00
Alejandro Martinez
3a5f52de46 Merge pull request #2104 from amtriathlon/translation
Minor Translation Fixes and Update
2016-09-27 21:53:23 -03:00
Alejandro Martinez
61beaf789c Updated Dutch translation
Contributed by Marcel Breij
2016-09-27 21:12:34 -03:00
Alejandro Martinez
986d3d8ba9 Updated Spanish translation 2016-09-27 21:11:08 -03:00
Alejandro Martinez
cd3e9a1465 Enabled common metadata fields for translation
and minor fixes to enable translation in RideEditor PasteEspecial dialog
2016-09-27 21:09:00 -03:00
grauser
1ad76d5d81 Pwx : Add test file with Garmin Cycling Dynamics
fix #2100
2016-09-27 23:15:06 +02:00
grauser
39c66c7cf8 Pwx: Add Garmin Cycling Dynamics 2016-09-27 23:08:07 +02:00
grauser
a2c9bd2cf8 Update french translation 1/2 2016-09-27 22:28:31 +02:00
Alejandro Martinez
5b01dda94a Merge pull request #2102 from amtriathlon/translation
Some minor translation related fixes
2016-09-27 13:55:22 -03:00
Alejandro Martinez
5f34b1f4f0 Updated Dutch Translation
Contributed by Marcel Breij
2016-09-27 11:38:58 -03:00
Alejandro Martinez
198ca1ba25 Updated Spanish Translation 2016-09-27 11:22:29 -03:00
Alejandro Martinez
0c743fcb40 Fixed non-translatable column headers
On RideEditor Search and Named Searchs
2016-09-27 11:16:51 -03:00
Alejandro Martinez
ee2c924bfe Added Dutch to CloudDB Charts languages 2016-09-27 11:03:31 -03:00
Mark Liversedge
d69b163b55 REST API disabled by default
.. if the setting has not been made in options/prefs we
   set the API web services to be disabled.

.. this is to stop warning messages about windows firewall
   that will appear, and also to reflect the fact that
   the majority of users will likely not require the
   web services anyway.
2016-09-27 08:18:49 +01:00
Mark Liversedge
22084d4fc6 Disable R if it fails to embed
.. so we don't keep grumbling to the user.
2016-09-26 15:40:25 +01:00
Mark Liversedge
edbc9b91e2 3.4 RC1
.. versioning
2016-09-25 09:49:04 +01:00
Mark Liversedge
edf91dc7ad Fix integer constant is too large for 'long' type
.. use long double constant
2016-09-24 16:19:52 +01:00
Alejandro Martinez
385418ed4d Merge pull request #2097 from amtriathlon/master
Format pace as mm:ss in labels and tooltips for Metrics Trends charts
2016-09-24 08:40:51 -03:00
Mark Liversedge
ea7aa2ccf4 Options to Preferences regardless of language
.. when translating "Options" they are no longer put into
   the main menu on OSX.

.. we now explicitly set the menu type to ensure this
   happens regardless of the text.
2016-09-24 11:01:27 +01:00
Joern
c9c5c9af25 Merge pull request #2099 from Joern-R/DE1
Fix Translation DE (Summary)
2016-09-24 11:38:53 +02:00
Joern
e7679a6b70 Fix Translation DE (Summary) 2016-09-24 11:07:41 +02:00
Alejandro Martinez
fc5f899a19 Format Pace metrics labels as mm:ss in Metric Trends Charts
Fixes #2063
2016-09-23 19:29:13 -03:00
Alejandro Martinez
bdd7da9618 Show pace as mm:ss in Metrics Trends chart tooltip
Reported in #2063
2016-09-23 18:38:19 -03:00
Alejandro Martinez
780467ba8d Merge pull request #2094 from amtriathlon/master
Changed toLatin1 for toStdString on gchart import
2016-09-23 08:41:18 -03:00
Alejandro Martinez
c401256df8 Changed toLatin1 for toStdString on gchart import
To allow the use of non-ascii characteres on chart title
Tested with accented spanish vowels
Fixes #2092
2016-09-22 18:57:53 -03:00
Alejandro Martinez
5e1722b167 Updated Dutch Translation
Contributed by Marcel Breij <marcel.breij@xs4all.nl>
2016-09-22 11:12:07 -03:00
Alejandro Martinez
a7676f6db6 Merge pull request #2093 from amtriathlon/translations
Added Dutch translation
2016-09-21 19:35:17 -03:00
Alejandro Martinez
dd31b7d354 Fixed typo 2016-09-21 16:50:57 -03:00
Alejandro Martinez
0f1fd2c11c Added Dutch translation
Initial translation contributed by Marcel Breij <marcel.breij@xs4all.nl>,
Added recognition to contributors list
Fixes #1898
2016-09-21 16:26:30 -03:00
Joern
4347b4d62a Merge pull request #2091 from Joern-R/DE
Update Translation DE for 3.4
2016-09-20 20:15:44 +02:00
Joern
2901f8841d Update Translation DE for 3.4 2016-09-20 19:08:04 +02:00
Mark Liversedge
bffad3ed7b Merge pull request #2090 from MaksVasilev/ru-translation
Russian translation update and fix
2016-09-20 11:37:40 +01:00
maksvasilev
830e1116d9 Russian translation update and fix 2016-09-20 12:37:39 +03:00
Alejandro Martinez
e5b2393f73 Merge pull request #2088 from amtriathlon/master
Completed Spanish Translation for V3.4
2016-09-19 15:27:03 -03:00
Mark Liversedge
07b15656ef Fix Workout Editor Scaling Issue
.. caused by storing points as ints not doubles.
2016-09-19 18:54:28 +01:00
grauser
f2d8db24c3 FIT : Don't create interval for partial segment
fix #2089
2016-09-19 18:47:23 +02:00
Alejandro Martinez
221ed41b86 Completed Spanish Translation for V3.4 2016-09-19 12:55:39 -03:00
grauser
48f32e3c8e FIT : Add FR630 and FR230 devices 2016-09-18 11:55:51 +02:00
grauser
8e72d06139 FIT : Small correction in DeviceInfo 2016-09-18 00:26:21 +02:00
grauser
bbab282c8c FIT : ignore record field 87 (even in EXTRA) 2016-09-18 00:15:57 +02:00
grauser
9e88ab57e1 FIT : Keep track of field name for native deve field 2016-09-18 00:13:40 +02:00
grauser
e86b28102b FIT : Use offset and scale from DEVE fields 2016-09-17 23:55:06 +02:00
Alejandro Martinez
322e452cbf Updated Spanish Translation
Finished CloudDB UI
2016-09-17 17:54:07 -03:00
grauser
00e3e13e59 FIT : Update cadence valeu with fractionnal value 2016-09-17 21:45:10 +02:00
grauser
3921a295d4 FIT: Add an EXTRA XData serie for unsupported native fields. 2016-09-17 16:06:58 +02:00
Mark Liversedge
1c18ddfb40 Merge pull request #2052 from gernot-hochmuth/master
Fix calculation of minimum values of SmO2 and tHb and average of tHB
2016-09-16 22:10:48 +01:00
Alejandro Martinez
dcbaa08a5a Merge pull request #2085 from amtriathlon/FixLapSwim
Added Fix Lap Swim tool
2016-09-15 10:36:58 -03:00
Alejandro Martinez
7de54f0adb Added Fix Lap Swim tool
To regenerate second-by-second data based on updated length-by-length info
and to recompute accumulated time and distance.
Laps are regenerated using pause lengths as markers.
2016-09-14 21:19:46 -03:00
grauser
fba90c504b FIT : Correct Field name for not supported native field 2016-09-14 20:08:27 +02:00
grauser
1a19fa46fe FIT : Remove unused method 2016-09-13 22:18:52 +02:00
grauser
adc7b7a40e FIT : Use series symbol name for XData name (native fields) 2016-09-13 22:15:46 +02:00
Mark Liversedge
4418ff9b3f Compile nits
.. maybe cause issues on Win build.
2016-09-13 13:32:00 +01:00
Jeffrey Friedl
e52b7c121b Export GPX file format 2016-09-12 20:12:06 +01:00
Joern
43925093a3 Merge pull request #2081 from Joern-R/master
Update Translation DE
2016-09-10 20:15:23 +02:00
Joern
04e293b659 Update Translation DE 2016-09-10 19:26:48 +02:00
Mark Liversedge
f6c218873c Fix ComparePane Memory Leak
.. delete data created on drop into compare pane.
2016-09-10 15:26:56 +01:00
Mark Liversedge
94e184dfc4 Fix XDATA in Compare Mode
.. the xdata wasn't being copied when dropping into the
   compare pane. This has been resolved, but might be worth
   looking closely at likely memory leak.
2016-09-09 16:04:25 +01:00
Mark Liversedge
4c9445e7af Fix RowPerfect 3 CSV Import
.. handle intervals properly
.. fix offsetting of intervals in RideFile.cpp (ancient bug!)
2016-09-08 22:59:19 +01:00
Mark Liversedge
56170241f3 XDATA_UNITS accepts wildcards too 2016-09-08 21:22:20 +01:00
Mark Liversedge
0a4b97cec6 XDATA(name, series, ...) accepts wildcards
.. you can now use the XDATA function to return XDATA field
   values using a wildcard.

.. this is likely to be most useful for ignoring the xdata
   name when searching for a specific data series.

.. e.g. XDATA("*", "YAW", repeat) will get the YAW data series
   regardless of the name of the xdata name that the user
   chooses.
2016-09-08 20:25:19 +01:00
grauser
b84eb4f660 Fit : Add a short label methode for native field 2016-09-08 00:33:49 +02:00
grauser
000d1c7e49 FIT Developer Fields : Use only one deve fields as native 2016-09-07 23:52:17 +02:00
grauser
12107d1519 FIT Developer Fields : Ignored native deve fields in XDATA 2016-09-07 23:34:02 +02:00
grauser
474f5b5287 FIT Developer Fields : Use native fields 2016-09-07 22:28:35 +02:00
Mark Liversedge
6e14c1eaf7 FIT Developer Fields native_field_num
.. extracting with a view to identifying special cases in
   the FIT developer fields.

.. in this instance the Moxy series have special values of
   54 and 57, but its not clear how we can handle this in a
   generic fashion (the whole thing is stinky).
2016-09-07 17:32:26 +01:00
Alejandro Martinez
7337a79e14 Merge pull request #2075 from amtriathlon/master
Added Reset to default to Analysis Sidebar Navigator
2016-09-07 10:57:19 -03:00
Alejandro Martinez
736e97a5ac Merge pull request #2080 from amtriathlon/ManualWorkouts
Don't override Duration and Distance for Manual Workouts with laps
2016-09-06 19:39:06 -03:00
grauser
061d1f5e63 FitRideFile: Some corrections for developer fields 2016-09-06 22:20:05 +02:00
Alejandro Martinez
f78d37a525 Don't override Duration and Distance for Manual Workouts with laps
To avoid problems with interval Duration and Distance
due to issue #2078
2016-09-06 15:44:43 -03:00
Alejandro Martinez
5e72770d9f Added Reset to default to Analysis Sidebar Navigator
To fix issues when column widths go crazy or column
name colisions after language change (ex. italian Data)
Fixes #1960
2016-09-02 13:52:52 -03:00
Alejandro Martinez
43720febd9 Merge pull request #2074 from lumanz/master
Simplified Chinese translation minor update and fix
2016-09-01 11:02:04 -03:00
lumanz
404303068a Simplified Chinese translation update and fix for V3.4. 2016-09-01 19:50:51 +08:00
Alejandro Martinez
5416e80c95 lupdate on all translation files
plus some new spanish translations
2016-08-30 20:45:08 -03:00
Alejandro Martinez
6674dca5e9 Merge pull request #2066 from MaksVasilev/ru-translation
Russian translation update and fix
2016-08-30 20:29:49 -03:00
grauser
d65e7fdc14 FitRideFile: Developer fields can be float, string or int
- Honnor valueType
   - More than one fields can have the same name
2016-08-26 23:40:25 +02:00
Mark Liversedge
32628f0291 Fix Temperature Metric/Imperial conversion
Fixes #2065
2016-08-26 17:31:16 +01:00
Mark Liversedge
b1190a9db6 Add XData UNITS support Part 2 of 2
.. added to DataFilter XDATA_UNITS("..", "...") returns the units as
   a string.

.. added to the various dialogs in RideEditor, to enable units and
   series name to be set and edited by the user.
2016-08-26 11:37:34 +01:00
Mark Liversedge
8e42b48bd8 Add XData UNITS support Part 1 of 2
.. added to JSON file format, set when importing from RP3 and FIT files

.. primarily used by FIT developer fields that contain unit data

.. but we add units for file formats where we know them (as an english
   language string)

.. in part 2 we will add units to the datafilter expressions and the
   dialogs in the ride editor to let users edit unit names along with
   value names.
2016-08-26 09:27:08 +01:00
maksvasilev
ce8883b178 Russian translation update and fix 2016-08-24 19:49:19 +03:00
grauser
711be63fc3 FitRideFile: Add XData serie for Developer fields 2016-08-24 17:46:58 +02:00
Mark Liversedge
08433306b8 Version 3.4 Development Build
.. interim version prior to v4 to get FIT file support
   into a release build.
2016-08-23 16:37:09 +01:00
Mark Liversedge
7ae9f32e04 Less Debug 2016-08-23 16:30:43 +01:00
grauser
303b820139 FitRideFile: Parse files with developer fields (FIT 2.0)
but don't use filed values yet
2016-08-21 22:41:22 +02:00
grauser
19e8cfeb85 Remove debug logs 2016-08-19 23:20:01 +02:00
grauser
957ae47099 FitRideFile : Read asynchronous Heart Rate data
fix #2001
2016-08-19 22:53:13 +02:00
Mark Liversedge
1a4ce01bbb Merge pull request #2055 from erikboto/qwkcode-fixes
Qwkcode fixes
2016-08-19 15:04:43 +01:00
Erik Botö
fb29b8c821 Train: Don't check how intervals relate to CP when compressing qwkcode into Nx blocks 2016-08-17 21:31:34 +02:00
Erik Botö
454653d6e2 Train: fix inconsistent lap numbers before and after save/load 2016-08-17 21:31:20 +02:00
Mark Liversedge
6ef99dcb5c Fix Compare AllPlot UserData SEGV
.. array indexing issue when using userdata and comparing rides.
2016-08-16 20:05:53 +01:00
Mark Liversedge
1a07c011a9 Merge pull request #2046 from MaksVasilev/translation
Russian translation fix
2016-08-13 20:01:36 +01:00
gernot-hochmuth
417c586073 Identification of Garmin Vivoactive and BSX Insight 2 in FIT-file import
A Garmin Vivoactive Sportswatch may be identified by its product code 1907.
A BSX Insight 2 Sensor may be identified by the manufacturer code 98 and the product code 2.

References #2040
please review
2016-08-13 15:24:02 +02:00
maksvasilev
607ba902e1 Russian translation fix 2016-08-13 16:11:10 +03:00
gernot-hochmuth
76b8ef4a57 Added metric running speed in CSV-file import recorded by BSX-Insight2
In CSV-files recorded by a BSX-Insight 2 sensor the running speed measured using a footpod is denoted as *speed*. Running speed is recorded in m/s. Conversion to km/h is implemented. The metric is converted to mph if GC is configured to use non metric units.

please review
2016-08-13 13:20:49 +02:00
gernot-hochmuth
4bac858c05 Fixed errors in Calculation of Avg(SmO2) and Avg(tHb).
The calculation of the mean included zeroes but zero is not
a valid value for these metrics.
2016-08-13 12:41:31 +02:00
gernot-hochmuth
e891976f01 Fix calculation of minimum values of SmO2 and tHb and average of tHb
In file src/Metrics/BasicRideMetrics.cpp the minimum values of SmO2 and tHb and the average of tHb are calculated incorrectly. In functions compute of class MinSmO2 resp. class MintHb actually the maximum values get computed.
For MinSmO2 the comparison in function compute should read:

```c++
    if (point->smo2 >= 0.0f && (notset || point->smo2 < min)) {
        min = point->smo2;
        if (point->smo2 > 0.0f && notset)
            notset = false;
    }
```

with min being a double initialized to 0.0f and notset a boolean initialized to true.
For MinSmO2 we've got to handle that the first recorded values might be zero, e.g. when the athlete did not attach the Moxy sensor to the muscle prior to starting recording. If the comparison given above holds true we have to verify that we get a valid value > 0 first before allowing SmO2 to fall down to zero again.

For MintHb the comparison in function compute should read:

```c++
    if (point->thb > 0.0f && (notset || point->thb < min)) {
        min = point->thb;
        notset = false;
     }
```

with min being a double initialized to 0.0f and notset a boolean initialized to true.
Please note that for physiological reasons the minimum value of tHb must not be zero as this would imply that the muscle under observation were totally drained from blood.

At the end of functions compute in classes MinSmO2 and MintHb we have to set the correct value:

```c++
    setValue(min); // was max before
```

In class AvgtHb we have to take into account that tHb must not be zero as well for the same reason as stated above. In function compute the comparison should read:

```c++
    if (point->thb > 0.0f) {
        total += point->thb;
        ++count;
    }
```

References #2050
please review
2016-08-13 12:25:48 +02:00
Mark Liversedge
2c228cf148 Merge pull request #2049 from amtriathlon/SwimMetrics
Added Average Swim Pace for the 4 strokes
2016-08-10 20:48:45 +01:00
Alejandro Martinez
aa324b40f0 Added Average Swim Pace for the 4 strokes
Using length by length XData, if available
2016-08-10 15:38:14 -03:00
Mark Liversedge
d2e64d2657 Merge pull request #2045 from erikboto/qwkcode_laps
Train: Add lap handling to qwkcode
2016-08-10 09:25:13 +01:00
Mark Liversedge
e0c366e1b9 Merge pull request #2048 from chocoby/add_pioneer_cycle_computer
Add Pioneer SGX-CA500 FIT support
2016-08-10 09:22:11 +01:00
Kenta Okamoto
a6fbc107c9 Remove unnecessary spaces 2016-08-10 14:31:43 +09:00
Kenta Okamoto
ab6e8398c3 Add Pioneer SGX-CA500 FIT support 2016-08-10 14:25:12 +09:00
maksvasilev
912fbef2b5 Russian translation fix 2016-08-09 02:29:23 +03:00
maksvasilev
0ff932728e Russian translation fix 2016-08-08 19:21:22 +03:00
Erik Botö
78f449fc92 Train: Add lap handling to qwkcode 2016-08-08 17:35:33 +02:00
Mark Liversedge
d6d74bdb15 Merge pull request #2043 from amtriathlon/PostProcess
Added postprocess(processor, filter) function to formulas
2016-08-08 08:26:14 +01:00
Alejandro Martinez
5cf9802a17 Added postprocess(processor, filter) function to formulas
to run an specific Data Processor, even if not configured to run
automatically on import, over existing activities which pass the
filter expression using configured parameters.
Fixes #2037
2016-08-07 17:33:30 -03:00
Mark Liversedge
54162f4b38 Merge pull request #2038 from amtriathlon/AutoProcess
Added autoprocess(filter) function to formulas
2016-08-06 08:17:38 +01:00
Alejandro Martinez
98cdfdc74e Added autoprocess(filter) function to formulas
to run Data Processors configured to run automatically on import
over existing activities which pass the filter expression
Fixes #2037
2016-08-05 20:39:52 -03:00
Mark Liversedge
74fdc4e2db Merge pull request #2036 from amtriathlon/master
BatchExportDialog now honors context filter
2016-08-05 08:55:34 +01:00
Alejandro Martinez
c987ffacaa BatchExportDialog now honors context filter
To allow export of selected activities
Fixes #2035
2016-08-04 20:28:05 -03:00
Mark Liversedge
107bbb9e62 Merge pull request #2030 from amtriathlon/master
Prevent a crash when selecting an interval after PowerTap download
2016-07-31 14:57:02 +01:00
Alejandro Martinez
9134796381 Prevent a crash when selecting an interval after PowerTap download
Reproducible downloading/importing a PowerTap .raw file and
selecting an interval for the first time, _model->series is NULL
in this case, no model case added for safety
2016-07-31 09:50:31 -03:00
Mark Liversedge
838bde4c8d Sketch of Planning UX
Need to think through how each of the pieces interact with each other, but this is a basic view of a planning widget.
2016-07-30 12:09:51 +01:00
Mark Liversedge
1010d53c95 Merge pull request #2027 from lumanz/master
zh-cn translation update
2016-07-30 09:01:23 +01:00
lumanz
ec1770ffe1 zh-cn translation update 2016-07-30 13:12:04 +08:00
grauser
6304853dce Route : Remove debug line 2016-07-28 23:52:43 +02:00
grauser
e0aa980d30 Metrics : Efficiency Factor for run : use power if available 2016-07-28 23:50:22 +02:00
grauser
1d34f0eb8d Joule: Mark end of interval in interval mode. 2016-07-28 23:50:22 +02:00
grauser
cf3055cfbc RunMetrics : Add stride length 2016-07-28 23:50:22 +02:00
grauser
8f106c09de Route : Minimum precision of 50m seems insufficient. Return to 100m 2016-07-28 23:50:22 +02:00
Mark Liversedge
b85cd76842 Merge pull request #2024 from amtriathlon/Defaults
Set linked defaults on import
2016-07-27 18:13:03 +01:00
Alejandro Martinez
cc02714983 Set linked defaults on import
For defaults which depend, directly or indirectly, on fields automatically
set on import
Fixes #2023
2016-07-27 13:28:45 -03:00
Mark Liversedge
db2be38399 RideFile::NA -> NA_REAL for R chart
.. translate from RideFile::NA values to R NA values
   when putting xdata into an activity data.frame.
2016-07-26 09:38:25 +01:00
Mark Liversedge
63d3e61a99 Add XDATA to R:GC.activity()
.. get access to XDATA to work with it in R
2016-07-23 12:17:05 +01:00
Mark Liversedge
e89f5abeeb Hack in main.cpp for metric documentation
.. disabled by default, but can run to get a list
   of metrics and their descriptions to update the wiki
2016-07-23 10:37:07 +01:00
Mark Liversedge
32bcbcd544 Refactor xdataValue() into RideFile
.. so it can be used across the code

.. but especially to enable RTool to use it when creating
   a data.frame for ride data to include xdata series.
2016-07-23 10:04:38 +01:00
grauser
9862bd02a2 RunMetrics: Add a first EI metric and move Pace in RunMetrics 2016-07-23 09:42:43 +02:00
Mark Liversedge
88ce4667a5 Merge pull request #2020 from amtriathlon/XData
RideEditor - Propagate interval selection to XData series
2016-07-22 21:11:51 +01:00
Alejandro Martinez
f2ca12a4c0 RideEditor - Propagate interval selection to XData series 2016-07-22 16:15:30 -03:00
Mark Liversedge
4d96c93588 Merge pull request #2019 from amtriathlon/SwimMetrics
Added some common swimming metrics
2016-07-22 08:31:33 +01:00
Alejandro Martinez
bed8953744 Added some common swimming metrics
Stroke Rate: counting both arms for crawl/back corrected by 3m push-off when Pool Length is defined
Swim Pace: average swim pace in min/100m or min/100yd when Cadence>0, to avoid kick/drill sets
Strokes Per Length: counting only the arm with the watch, pool length defaults to 50m
SWolf: Strokes Per Length plus time in seconds, pool length defaults to 50m
Also moved Distance Swim and Pace Swim from BasicRideMetrics.cpp
2016-07-21 20:12:52 -03:00
grauser
2af323ce05 RunMetrics : Add Average Running Vertical Oscillation and Ground Contact Time 2016-07-21 23:48:33 +02:00
grauser
4b4c0059c7 Fit: debug 2016-07-20 22:05:53 +02:00
Mark Liversedge
8d463fd64d XDATA in DataFilter 2 of 3
.. implement sparse, interpolate and resample is a shorthand
   for interpolate (for now).
2016-07-20 20:03:10 +01:00
Mark Liversedge
6f4a349c7f Add Row Perfect 3 sample file
.. to the tests/rides directory
2016-07-19 15:43:23 +01:00
Mark Liversedge
532d5144da Row Perfect 3 CSV File Support
.. all data added as XDATA.
.. time, distance, power and hr available in standard data too.
2016-07-19 15:41:07 +01:00
Mark Liversedge
053daf830d DataFilter Arrays and INDEX
.. when working with user data and user metrics its often
   useful to work with arrays or index into the ride data.

.. a new variable INDEX is available that is the sample
   number in the array of samples that make up the ride.

.. you can dereference samples in a ride using the []
   operator so POWER[55] is the 55th sample for power.

.. when iterating you should consider the recording interval
   so NN <- 1200 / RECINTSECS would set NN to the number of
   samples in 20 minutes.

.. you can also use your own arrays: MYARRAY[44] <- 100 will
   set the 44th item in MYARRAY to 100.

.. the old vector syntax [ date : date ] has been deprecated
   since it is too complex !
2016-07-18 19:55:58 +01:00
Mark Liversedge
7d7a288e23 RideEditor force setTabBar on RideSelected
.. even if the data series are the same, as the data will
   be different !
2016-07-17 22:39:22 +01:00
Mark Liversedge
fcee30697e DataFilter XDATA code improvement
.. a much simpler approach to aligning the xdata series
   with the standard series, using a single index.

.. its faster and makes implementing the four different
   merge algorithms much more straight forward.

.. committing alone to separate from the implementation
   of separate algorithms.
2016-07-17 21:01:35 +01:00
Mark Liversedge
535b143f01 XDATA in DataFilter fixups
.. for thread safety the Leaf tree must NOT be used for state
   data when parsing / evaluating data filters -- the
   DataFilterRuntime object should be used.

.. updated to use this for xcurrent/xnext during XDATA
   processing which fixes UserMetric calculation using XDATA
   for intervals

.. also added a 'print' function in the datafilter syntax to
   help with debugging calculations.
2016-07-17 14:00:34 +01:00
Mark Liversedge
e74dffc23f AllPlot hide empty user data series
.. when using xdata we don't plot a blank curve
   when there isn't any xdata in the activity
2016-07-16 15:55:53 +01:00
Mark Liversedge
0f416e1ab8 XDATA in DataFilter 2 of 3
.. now we return values when working with metrics and user data

.. you can now create user metrics and user data to plot on the
   allplot or metrics charts

.. the XDATA function currently always returns a 'repeat' of the
   last value used until a new value is available, will fix this
   in commit 3 of 3
2016-07-16 13:42:40 +01:00
Mark Liversedge
8d27627c9d XDATA in DataFilter 1 of 3
.. Filter rides for presence of XDATA by name using the syntax:
   XDATA("XDATANAME", "SERIESNAME", sparse|repeat|interpolate|resample)

.. this is the first of 2 commits, in this one we have added XDATA to
   the rideitem and rideDB.json so we can check if XDATA is present
   without opening the ridefile

.. this allows us to return true or false for an XDATA(..) call when
   working across rideitems (not data points) in DataFilter evaluate,
   note that the join control (sparse,repeat etc) is ignored when you
   are filtering ride items

.. in the next commit we will add the ability to get at the xdata
   values when iterating in user data or user metrics

.. there are likely to be further refinements for the outer join
   required to support interpolation and resampling in a third commit.
2016-07-16 11:46:35 +01:00
Mark Liversedge
657d989c69 RideEditor XDATA setTabBar() fixup
.. rather than using setTabBar() to keep resetting the view
   for the XDATA tabs in RideEditor the model updates the
   views correctly.

.. makes the editing of XDATA more responsive and doesn't
   keep resizing columns on every change.
2016-07-15 16:34:32 +01:00
Mark Liversedge
57fdcc2616 Merge pull request #2016 from amtriathlon/BestTime
Added bestime(km) to formulas
2016-07-14 20:56:08 +01:00
Alejandro Martinez
80e173abf9 Added bestime(km) to formulas
To have a general way to track best times for non stardard
distances in Metrics Trends charts and User Defined Metrics.
2016-07-14 15:13:33 -03:00
Mark Liversedge
8198bdf3b1 RideEditor tabs "+" to add new XDATA series
.. akin to the + tab in excel worksheets.
2016-07-14 10:11:01 +01:00
Mark Liversedge
06856edd38 Merge pull request #2015 from Joern-R/Windows-CI
Appveyor - CI for Windows
2016-07-13 19:15:19 +01:00
Joern
2e30b42637 Appveyor - CI for Windows
... substitute unstable Chocolatery Installation of Flex and Bison by own versions
2016-07-13 17:54:12 +02:00
grauser
d30b38f315 Headwind : small correction : wind allready in km/h 2016-07-13 16:45:28 +02:00
grauser
db6c73799a Tools : Add a tool to derive headwind from weather data
Just moved the original code from Vianney (in FitRideFile) to create a new tool
2016-07-13 15:51:06 +02:00
grauser
ec8c613e04 FitRideFile: Changes in decodeDevice (not used) 2016-07-13 15:51:06 +02:00
Alejandro Martinez
5fde12f28e Moved sample swims and runs to separate folders
parallel to rides folder
2016-07-13 10:42:46 -03:00
Mark Liversedge
8806810302 Merge pull request #2013 from amtriathlon/SwimXData
Added SWIM XData for pool swims
2016-07-13 09:16:35 +01:00
Alejandro Martinez
45d5ba8bf4 Added SWIM XData for pool swims
One record per length with 3 fields:
TYPE: 0-pause, 1-free, 2-back, 3-breast, 4-fly, 5-drill, 6-mixed, 7-IM
DURATION: seconds per length
STROKES: total strokes per length
Related to #2010
2016-07-12 20:44:06 -03:00
Mark Liversedge
974edf1395 Merge pull request #2009 from amtriathlon/BestTime
Best time for standard distances
2016-07-12 19:30:26 +01:00
Alejandro Martinez
52319d159b Removed dangling references to BestIntervalDialog.h 2016-07-12 11:24:34 -03:00
Alejandro Martinez
0bbc571ccc Added Best time metric for common distances
For swims, runs, TTs and rows
2016-07-12 11:24:34 -03:00
Alejandro Martinez
ef0b2e4acc Deprecated BestIntervalDialog
Added Specification parameter to AddIntervalDialog::findPeaks
So it can be used as a more general replacement for
BestIntervalDialog::findBests and findBestsKPH
2016-07-12 11:23:47 -03:00
Mark Liversedge
cee69b61d4 Increase Metric Schema Version
.. for the new running metrics.
2016-07-12 15:00:37 +01:00
grauser
e367d5bf86 CSVRideFile : import wahoo MA (Motion Analysis ?) csv files 2016-07-11 23:41:48 +02:00
grauser
0c1a62830c Tools : Convert running cadence from spm to rpm 2016-07-11 01:00:46 +02:00
grauser
3cf0a3e298 Metrics : Add average and max running cadence 2016-07-11 00:59:53 +02:00
Mark Liversedge
29bbd44469 V4.0 1607 Development Build 2016-07-10 20:19:06 +01:00
Mark Liversedge
07c4adf83d Ride Editor XDATA row/col add/delete
.. context menu on xdata editor row/column headings now
   adds functions to add/remove rows and columns

.. users can now manually create and maintain XDATA in the
   ride editor

.. the UX is a bit naff and needs to be cleaned up; the
   visual cues are missing on redo/undo and the performance
   is poor since setTabBar is called too frequently. Will
   look to fix these nits over the next few days.

Conflicts:
	src/FileIO/XDataTableModel.cpp
2016-07-10 18:58:53 +01:00
Mark Liversedge
7516999ed6 Merge pull request #2008 from Joern-R/XData
Fix XDATA Model Compile errors on Windows
2016-07-10 14:30:52 +01:00
Mark Liversedge
3170e438a9 Ride Editor Remove XDATA by closing tab
.. get ride of the xdata by closing its tab at the bottom
   of the chart. This is similar to how worksheets are
   removed in Excel and should be intuitive to most people.

.. a warning is issued before removing the data, but it can
   be undone as all data commands are performed on the
   command stack
2016-07-10 11:03:17 +01:00
Joern
9578193b40 Fix XDATA Model Compile errors on Windows 2016-07-10 11:43:51 +02:00
Mark Liversedge
544af862ee Fix XDataEditor compile error on Windows
.. refactoring to base class of QTableView but forgot to
   update code compiled in Windows only.
2016-07-10 10:08:50 +01:00
Mark Liversedge
1c96edc7c9 Ride Editor Cosmetic Nits
.. clean up before adding editor functions to add/remove
   rows and columns etc.
2016-07-09 17:46:57 +01:00
Mark Liversedge
142da526d2 Fix Ride Editor Header Background Style
.. been meaning to do this for ages!
2016-07-09 17:07:59 +01:00
Mark Liversedge
f0b93900eb Ride Editor XDATA cell delegate
.. mostly just handles the time column.
2016-07-09 14:28:57 +01:00
Mark Liversedge
b9bcce225e Add XDATA to Ride Editor Part 2 of 2
.. added the ability to edit point values with XDATA
   series displayed as 'worksheets' within the ride editor,
   in keeping with the 'Spreadsheet' UX

.. need to refine the cosmetics and work on more useful
   functions like add/remove row/column etc but the basic
   view and edit functions are in place.
2016-07-09 12:08:34 +01:00
Mark Liversedge
aaec9ce43c Add XDATA to Ride Editor Part 1 of 2
.. add XDataDialog and tabs to the ride editor, so you can
   add and remove xdata and the individual data series.

.. next commit will add editing of the xdata values.
2016-07-04 16:33:37 +01:00
grauser
dfff9e2ba6 Fit : Convert cad to rcad if run is detected after records 2016-06-28 23:48:48 +02:00
grauser
2828e42cdb Fit: Add Device types (Stryd and Wahoo) 2016-06-28 22:59:43 +02:00
Mark Liversedge
5eeb3a443b Retain Distance Precision on TCX Export
.. was exported rounded to the nearest meter.
2016-06-28 06:30:08 +01:00
Mark Liversedge
50de7d6ee1 Merge pull request #2005 from CaptainOnly/master
Modify bluetooth device to get cadence from crank based power meters …
2016-06-27 07:11:53 +01:00
Erik Hons
bf802f9439 Fix rollover code to use correct constant (how embarassing!) 2016-06-26 21:31:59 -05:00
Erik Hons
c0505a4d26 Modify bluetooth device to get cadence from crank based power meters and to handle roll over in cadence data 2016-06-26 16:14:50 -05:00
Mark Liversedge
08afaacb02 Merge pull request #2004 from amtriathlon/master
Changed x-axis scale for CV from log to linear
2016-06-25 07:23:51 +01:00
Alejandro Martinez
3c4aa1776f Changed x-axis scale for CV from log to linear
Short distances were over-represented with log scale
and Speed-Distance devices are not precise enough for
very short durations.
2016-06-24 20:47:58 -03:00
Mark Liversedge
5c32aa8a76 Merge pull request #2003 from amtriathlon/master
Updated HrZones fingerprint to include trimp factors
2016-06-24 09:16:29 +01:00
Alejandro Martinez
38a5822b60 Updated HrZones fingerprint to include trimp factors
Also fixed PaceZones fingerprint to consider 2 decimals
Fixes #2002
2016-06-23 19:13:21 -03:00
Mark Liversedge
6c73ce6692 XDATA Fix Memory Leak and Example Weather File
.. there was a memory leak in RideFile and FitRideFile

.. added a test file with weather data that can be used to
   test XDATA processing (it has 10 weather points with
   wind, humidity etc).
2016-06-20 09:59:31 +01:00
grauser
f31868909f FitRideFile : Weather data small correction 2016-06-19 23:24:32 +02:00
grauser
d81f1468fa FitRideFile : Add weather xdata 2016-06-19 23:15:23 +02:00
grauser
efd17ddcb4 Map : Add a fullPlot 2016-06-19 15:40:00 +02:00
Joern
305e199a97 Update Readme.md
... correct link to dev-builds to point to GitHub
2016-06-19 14:03:18 +02:00
Mark Liversedge
2fccbd0504 JsonRideFile XDATA support
.. added a new 'XDATA' element for the JsonRideFile and
   RideFile classes.

.. this allows ride file readers to extract and load any
   time series data that doesn't neccessarily fit into
   the usual data points.

.. this was added to support weather data from FIT files
   and also to support 3rd party merging data with the
   GC supported data.

.. ** IMPORTANT ** the XDATA segment is added at the END
   of the JSON format. So older parsers will fail to read
   but will have loaded all data already (i.e. they will
   fail gracefully enough)

   This means files with XDATA can be read by earlier
   versions of GC, but the XDATA will be discarded.
2016-06-19 10:25:03 +01:00
Mark Liversedge
544d22f93b Increase Default Stride Length from 78 to 115cm
.. 78cm is a typical walking stride length.

.. we need to think about the best way to set this.
2016-06-18 08:54:59 +01:00
Mark Liversedge
d5c155b752 Fix Footpod Running Cadence
.. should be 'cycles' per minute (i.e. a pair of steps, one left
   and one right)

.. previously it was number of 'steps' per minute (i.e. how many
   footsteps did you take in one minute)
2016-06-17 15:21:19 +01:00
Mark Liversedge
a8903ea93d ANT+ icon colors
.. make them visible in the add device wizard (not white on white)
2016-06-17 10:09:00 +01:00
Mark Liversedge
cb6f061624 Merge pull request #2000 from amtriathlon/UserMetrics
Compute User Metrics after Builtins are completed
2016-06-16 19:14:20 +01:00
Mark Liversedge
f93e055e44 Add ANT+ Stride Length Config
.. when adding ANT+ devices
2016-06-16 18:16:52 +01:00
Mark Liversedge
35753ab4e4 ANT+ Footpod Support
.. will pair and count strides to derive speed and cadence

.. this commit covers the ANT+ side of things, will now
   update the config to enable the user to set stride length
2016-06-16 16:50:50 +01:00
Alejandro Martinez
28a7292504 Compute User Metrics after Builtins are completed
To allow for User Metrics depending on Buitins
without the need to scan for dependencies
2016-06-15 21:02:27 -03:00
Mark Liversedge
e0a00ef04f Merge pull request #1998 from amtriathlon/RunningPower
Running power
2016-06-14 22:46:50 +01:00
Alejandro Martinez
2f34970de4 TSS doesn't apply to runs or swims
When runs have power PMC metrics are inconsistent otherwise, better
to have separated rTSS/sTSS which could be added as builtin or user
defined metric.
2016-06-14 18:12:43 -03:00
Alejandro Martinez
d72417266e FixDerivePower doesn't apply to runs and swims
For Running we have an specific data processor
this enables to configure them to run automatically
according to sport
2016-06-14 18:12:43 -03:00
Mark Liversedge
7021fb7a86 R version number fix
.. wasn't being captured properly in About > Version
2016-06-14 17:55:07 +01:00
Mark Liversedge
aeb2e259ff Merge pull request #1997 from lumanz/master
Simplified Chinese Update
2016-06-14 14:42:32 +01:00
lumanz
bcfa81a38f Simplified Chinese Update 2016-06-14 21:01:07 +08:00
grauser
0ca2575bc4 RideMap : no currentData() in QT 4 2016-06-12 15:50:56 +02:00
grauser
ea82b2c533 Route : Increase precision 2016-06-12 15:47:53 +02:00
grauser
119a1cad46 Route : Increase search precision
(Changes in last commit)
  Increase precision from 10m to 1m to use with smaller segment
2016-06-12 14:49:58 +02:00
grauser
0f545d622c RideMap : Add tile server combo 2016-06-12 14:41:09 +02:00
Joern
f4267647a7 Merge pull request #1991 from Joern-R/View1
CloudDB - Charts
2016-06-09 07:18:49 +02:00
Mark Liversedge
e2c6bdc4f6 Merge pull request #1994 from Joern-R/OSM
Maps - OSM map enhancement
2016-06-08 20:05:15 +01:00
Joern
caffabc4c6 Maps - OSM map enhancement
... enable to use a custom tile server for OSM maps

Examples are here: http://thunderforest.com/maps/
2016-06-07 20:09:22 +02:00
Mark Liversedge
4bd0b003e6 Remove headwind from FIT file processing
.. it should be calculated in a data processor rather
   than in the file processor.

.. Damien is looking to add one, so commenting it out
   for now (so the code can be reused if needed).
2016-06-06 16:58:29 +01:00
Mark Liversedge
f961976c45 Merge pull request #1992 from amtriathlon/master
Pool Length in metadata and detection for PWX/TCX files
2016-06-06 07:30:04 +01:00
Alejandro Martinez
4c7faf5991 Added Pool Length detection for PWX and TCX files
The first length is assumed to be Pool Length
2016-06-05 20:45:04 -03:00
Alejandro Martinez
15b16497f9 Added Pool Length to metadata.xml 2016-06-05 20:44:36 -03:00
Mark Liversedge
9616d53fb1 Merge pull request #1990 from Joern-R/Nickname
CloudDB - only one Nickname in GC
2016-06-05 13:48:20 +01:00
Joern
33eb173d90 CloudDB - Charts
... show description of view (Trends,...) in the counter string
    so that a user understand the different between the available
    and total upload counter
2016-06-05 14:24:31 +02:00
Joern
51e132c45b CloudDB - only one Nickname in GC
... re-use existing Nickname from Athlete preferences
2016-06-05 13:56:36 +02:00
Mark Liversedge
f44f70a4a4 Development Build 1606
.. pushing out build for June 2016
2016-06-04 12:21:03 +01:00
grauser
f5a37a107c Correct wrong commit 2016-06-02 18:11:47 +02:00
grauser
ac6394c2d6 TrainView : Record displayed SMO2/THB/O2HB/HHB (Muscle oxygen data) 2016-06-02 18:06:26 +02:00
Alejandro Martinez
01180e7bc5 Fill only pause laps on FIT Lap Swims 2016-06-01 20:14:02 -03:00
Mark Liversedge
9ff682d94a Merge pull request #1987 from amtriathlon/FitSwim
Changed Interval generation for Lap swimming FIT files
2016-06-01 06:57:20 +01:00
Alejandro Martinez
1864c27dca Changed Interval generation for Lap swimming FIT files
Simpler and more robust lap alignment
Fixed for empty lengths due to false starts and
pauses in some devices s.t. Garmin 910xt
Added 2 contributed test files
2016-05-31 21:23:03 -03:00
grauser
90a18e8d67 Bin2RideFile: Add some device type 2 2016-05-31 23:25:37 +02:00
grauser
f743430e5c Bin2RideFile: Add some device type 2016-05-31 23:11:09 +02:00
grauser
7c23c5b37a RideMapWindow : comments in GcWindowRegistry 2016-05-31 23:01:08 +02:00
grauser
57a837f3c2 RideMapWindow : An unified Map Chart (1/2)
Use New Map instead of old Google or Bing Map
2016-05-31 22:51:54 +02:00
grauser
d6cf7ad4ed Route: Create route segment from interval : use first and last points 2016-05-31 22:32:06 +02:00
grauser
e661ea0b62 Charts : We can change chart name even with no controls 2016-05-31 22:32:06 +02:00
Mark Liversedge
f6f2c4f151 Merge pull request #1986 from antoniusriha/allow_min_binWidth_of_1_in_3D
Allow min value of 1 for binWidth in 3D plot
2016-05-31 20:23:17 +01:00
Antonius Riha
cebaf2a846 Allow min val of 1 for binWidth in 3D plot 2016-05-31 15:23:29 +02:00
Mark Liversedge
335977bd02 Merge pull request #1984 from antoniusriha/reverse_color_range
Reverse color range in 3D plot to run from blue (low) to red (high)
2016-05-31 12:26:15 +01:00
Antonius Riha
f6cb9f01bf Reverse color range in 3D plot to run from blue (low) to red (high) 2016-05-31 12:38:54 +02:00
Mark Liversedge
80340f9918 Merge pull request #1983 from Joern-R/CloudDB1
CloudDB - Popups - Cosmetics
2016-05-30 19:51:12 +01:00
Joern
80f5f96590 CloudDB - Popups - Cosmetics
... align terminology (upload/download vs. import/publish)
... make pushbuttons right-aligned (in sync with most GC dialogs)
... ask for confirmation before finally deleting a chart from CloudDB
2016-05-30 19:46:26 +02:00
Mark Liversedge
45c6eee4d2 Add Upload/Download chart to View Menu
.. in MainWindow
2016-05-30 18:31:46 +01:00
Mark Liversedge
7ee4406c6e Fix GcChartWindow for OSX
.. QtMacVideoWindow was missed during the refactor
2016-05-30 16:33:04 +01:00
Mark Liversedge
c09a974418 GcChartWindow Refactor
.. use GcChartWindow as the base class for all charts -- so
   we can truly upload *any* chart to the cloudDB

.. miscellaneous charts that were still defined as GcWindow
   have been converted to GcChartWindow

.. GcChartWindow layout issues (using QGridLayout insted of
   a QStackedLayout) are fixed which will also resolve a few
   rendering issues related to NOWEBKIT.

.. Aerolab needed lots of cosmetic fixups once it became
   a GcChartWindow

.. Added 'Upload Chart...' to mirror the 'Download Chart..'
   option on the hamburger menu as users will instinctively
   look for the option there instead of under the chart menu.
2016-05-30 16:07:39 +01:00
Mark Liversedge
696101b40d Fix QAction for Download Chart...
.. a snafu using the same action twice for add chart and then
   for download chart in chartbar/mainwindow
2016-05-29 21:41:20 +01:00
Mark Liversedge
57bbb0938c Chart Setting Menu re-order
.. make it a bit cleaner
2016-05-29 19:08:59 +01:00
Mark Liversedge
2d2ba7f4b1 CloudDB terminology
.. simplify some of the wording related to working with the
   GAE instance.
2016-05-29 18:36:26 +01:00
Mark Liversedge
f75ac16acd Merge pull request #1982 from Joern-R/CloudDB-GChart-2
CloudDB - gChart support - improvements
2016-05-29 18:03:19 +01:00
Joern
ac385a29da Fix CI compile errors - CloudDB - gchart
... and remove unused test variables
2016-05-29 18:37:45 +02:00
Joern
5c01f4f398 CloudDB - gChart support
... add "Sport" metadata as filter option
... move "Import" from main menue to "add chart"
... make chart lists context sensitive on home, activities and diary
... import directly - without extra dialog
2016-05-29 18:12:21 +02:00
Alejandro Martinez
98c6301d35 Fixed CV override for GOVSS and SwimScore
Copy paste error, cv is a double not an int as cp
2016-05-29 12:28:20 -03:00
Mark Liversedge
3b3f51111e Merge pull request #1980 from Joern-R/CloudDB-GChart
CloudDB - add .gchart Support
2016-05-28 18:41:16 +01:00
Joern
a0db5efdcf CloudDB - add .gchart Support
... add export support for the new .gchart format (allowing to post all chart types to CloudDB)
... add import in main menu for the new .gchart format
... allow to import multiple charts at once

... remove specific LTM Chart support (menu, db,... -since this is covered by general .gchart format)
2016-05-28 12:03:05 +02:00
Mark Liversedge
93619967cf Recognise Antonius Riha 2016-05-28 09:48:33 +01:00
Mark Liversedge
51f7bb00c8 Merge pull request #1978 from antoniusriha/fix_binWidth
Fix loading of binWidth setting in 3d plots
2016-05-28 09:38:07 +01:00
Antonius Riha
c2a839fd30 Fix loading of binWidth setting in 3d plots 2016-05-28 00:20:04 +02:00
Mark Liversedge
52ece5e98c R Fix SEGV on GC.activity if empty
.. if the workout has no data to return, then don't
   return null in dfForActvity, return an empty list.
2016-05-27 22:52:26 +01:00
Mark Liversedge
24ad194793 R Fix GC.activity(split=)
.. you can now fetch activities as a list and split them
   based upon gaps in recording (recording anomalies).

.. this is to support trackeR; data should already be cleaned
   by the user, but thats not always the case (!)
2016-05-27 19:23:54 +01:00
Mark Liversedge
5f8dddf723 R is optional !
.. broken in HomeWindow cancelling scripts when ESC hit.
2016-05-27 18:56:01 +01:00
Mark Liversedge
8f3043a07b R GC.activity(split=)
.. but disabled due to a strange malloc error, which is likely
   to be related to the R garbage collector.
2016-05-27 18:42:00 +01:00
Mark Liversedge
7382b13cca Fix RChart update flicker
.. turn off/on updates enabled.
2016-05-27 12:09:30 +01:00
Mark Liversedge
a09c15fdc5 V4.0 Crash Dialog deprecated
.. we no longer show the crash dialog, it didn't really provide
   data that was that useful and is a bit quirky and cumbersome
2016-05-27 11:56:32 +01:00
Mark Liversedge
749fb30035 R Fixup User Interrupting for Windows
.. errant use of OSX/Linux only stuff.
2016-05-27 11:37:35 +01:00
Mark Liversedge
da41e0ec70 R Interrupt Long Running Script with ESC
.. as users would expect in RStudio etc
2016-05-27 11:15:23 +01:00
Mark Liversedge
b3607eedad R Use List not Pairlist (Part 2 of 2)
.. completes the updates to RTool.cpp

.. as predicted by forming the pmc data.frame via an S3
   list instead of a pair list the merge() function works
   properly and column names are retained.
2016-05-26 21:19:52 +01:00
Mark Liversedge
236d34be82 R Use List not Pairlist (Part 1 of 2)
.. we should use a list not an old pair list when constructing
   lists and data.frames.

.. to ensure better compatibility with coercion functions in R
   and also possibly to resolve known issues with merge()

.. this is part 1 of 2, breaking up the mass changes to the many
   data wrangling functions in RTool.cpp

.. it also contains an update to RLibrary to resolve the functions
   used when working with lists (SET_VECTOR_ELT).
2016-05-26 19:53:53 +01:00
Mark Liversedge
3bec73087a R don't create a data.frame of data.frames !
.. R doesn't like this, but we only did it when returning
   multiple activitieis in GC.activity() when passing activity=
   with a list / vector.
2016-05-26 14:39:44 +01:00
Mark Liversedge
4b872d2049 Add Stress TSS v cTSS .gchart example
.. to the test directory.
2016-05-24 12:07:08 +01:00
Mark Liversedge
06197cf899 Import .gchart workflow improvements
.. allow user to select target view for trends/diary charts
   since they can be used on either

.. don't just add when only 1 chart imported, always let the
   user confirm and adjust

.. use translated names for the views so they are more meaningful
   to the end user
2016-05-24 08:51:39 +01:00
Mark Liversedge
659d25a32f Merge pull request #1975 from amtriathlon/master
Use Cycling zones when there is no ranges for Running
2016-05-23 23:27:20 +01:00
Mark Liversedge
8a261521ab R Chart stop ignoring drag/drop events
.. the default methods in QGraphicsView handle these
   events; we don't want this since we handle them in
   mainwindow

.. fixes drag-n-drop onto mainwindow as well as working
   with the compare pane 'auto-open'.
2016-05-23 23:03:14 +01:00
grauser
929e62f35a Translation : correct translation for 'Remove Column' 2016-05-23 23:29:25 +02:00
grauser
6f8d5b72af Update French ts 2016-05-23 23:26:36 +02:00
grauser
2be23ad917 SyncRideFile: grade/Slope is a signed value 2016-05-23 23:06:07 +02:00
Mark Liversedge
fd6b7722cb QT4.8 compatibility fixup 2016-05-23 20:51:50 +01:00
Mark Liversedge
626f012cd3 CP/W' estimste chart added
.. to tests/charts

[skip ci]
2016-05-23 20:49:31 +01:00
Mark Liversedge
fb4f70ecad Merge pull request #1964 from mtbkeith/FixSomeDoc-2016-0511
Minor document updates for MAC
2016-05-23 20:27:03 +01:00
Alejandro Martinez
83b24f54f9 Use Cycling zones when there is no ranges for Running
Both for HR and Power, fixes #1974
2016-05-23 16:16:25 -03:00
Mark Liversedge
4632af3af7 QT4.8 compatability. 2016-05-23 20:03:05 +01:00
Mark Liversedge
6890986543 QTableWidget header needed 2016-05-23 19:59:49 +01:00
Mark Liversedge
fb04e1ee17 Import Multiple .gchart Dialog
.. to enable user to select which ones to import
.. only kicks in if >1 charts are imported.
2016-05-23 18:53:01 +01:00
Mark Liversedge
a58dd8458a Some .gcharts to test
.. added to test/charts

[skip ci]
2016-05-23 15:34:31 +01:00
Mark Liversedge
c635b1ec4b Fix Enum MVJSON_TYPE_OBJECT reference 2016-05-23 15:24:02 +01:00
Mark Liversedge
1b3eeeec06 Drag/Drop .gchart to import and select it
.. A single .gchart file being dropped into MainWindow will
   add and select it on the view.

.. still need  to add a dialog when dropping multiple charts
   to let user control if they want them all.
2016-05-23 15:22:31 +01:00
Mark Liversedge
8ec4c625cd Parse .gchart JSON format
.. using mvjson not Qt Json classes, to avoid a dependency on
   Qt5. The format was kept simple specifically to avoid that.

.. the chart ultimately is defined a list of properties with
   a key and value.
2016-05-23 13:00:50 +01:00
Mark Liversedge
fa541e3673 Export Charts using ".gchart" JSON format
.. export any chart to a file for sharing with others

.. the import functionality will come next (and will need to
   determine property formats by querying the newly created
   chart metatypes).
2016-05-23 10:50:13 +01:00
Mark Liversedge
2c80c78f8b R athlete.zones(date=..., sport=...)
.. so you can get the config for a specific date
2016-05-22 13:04:00 +01:00
Mark Liversedge
cc9f918dee R GC.athlete.zones()
.. returns a dataframe of all zone config
2016-05-22 12:07:21 +01:00
Mark Liversedge
d8862a50a7 R Add filter="..." to metrics, meanmax and peaks
.. the ability to apply a datafilter to the data retrieved
   is extended to the season.metrics, season.meanmax and
   season.peaks methods

.. this helps to let GC filter out e.g. power data is present
   before we do anything in R since GC is faster and it also
   reduces the data being passed back etc.
2016-05-21 20:18:09 +01:00
Mark Liversedge
963051a041 Fix QCheckBox compile error 2016-05-21 16:44:53 +01:00
Mark Liversedge
efcb9deadf R Canvas no OpenGL on OSX
.. sigh.
2016-05-21 12:13:35 +01:00
Mark Liversedge
9cfd84b6d1 Fix MeanMax Computation trailing Zero
.. clean it up, rather than resolve source (there is still a
   problem in there somewhere).

.. at least now interval plots and model fits aren't skewed
   by a trailing zero value
2016-05-21 10:38:49 +01:00
Mark Liversedge
81984ed091 R OpenGL rendering fixup
.. was temporarily removed as it caused rendering issues
   with reveal controls.
2016-05-21 10:11:38 +01:00
Mark Liversedge
de69d170e9 R save/restore all graphical parameters
.. par.default has all default values
.. par.gc is default updated to include theme

.. par(par.gc) is called before every plot
2016-05-21 09:40:06 +01:00
Mark Liversedge
d26eeaf255 R Console history reduced
.. we really don't need 10k history on errors in the rchart

.. this is a hangover from the early development that should
   have been reduced before being published
2016-05-21 08:58:42 +01:00
Mark Liversedge
f4f01041e1 R Chart Reveal Controls
.. to show/hide the console
2016-05-21 08:33:20 +01:00
Mark Liversedge
f8e431e0d4 R Hourglass when busy
.. in case of long-running scripts
2016-05-20 15:16:42 +01:00
Mark Liversedge
93cc7069e4 Merge pull request #1969 from antoniusriha/align_allplot_allplotinterval
Align interval bars plot with main plot
2016-05-19 20:44:35 +01:00
Mark Liversedge
2431795ca8 Merge pull request #1971 from amtriathlon/RunningPower
Running power
2016-05-19 15:51:13 +01:00
Alejandro Martinez
5401e7b4fc Fixed refresh when series are added in DataProcessors
Update "Data" tag in RideFile::setDataPresent
2016-05-19 10:45:53 -03:00
Mark Liversedge
7c9e2cb5ea R Fix rownames in GC.activity(activity=...)
.. make a well formed data.frame.
2016-05-18 17:36:38 +01:00
Mark Liversedge
f2512eb276 R GC.activity(activity=...)
.. You can now specify which activity to retrieve by passing
   a POSIXct date time representing the start time of the ride

.. this is mostly useful when used in conjunction with
   GC.activities(filter=...) to select ride dates.
2016-05-18 17:01:15 +01:00
Mark Liversedge
eb1013208a R GC.activities(filter="")
.. allow user to pass a data filter to evaluate when getting
   a list of activities.

.. e.g. GC.activities('Workout_Code = "1L2")
   will get a list of activity start times where the workout
   code is 1L2.
2016-05-18 14:41:22 +01:00
Mark Liversedge
e8228f6beb R API honour search/filter in use
.. when returning values we honour whatever filter is active
   at the time from home sidebar or the search box

.. it is applied regardless of which view the chart is on.
2016-05-18 13:13:41 +01:00
Antonius Riha
134dd9f662 Align interval bars plot with main plot
This commit fixes the issue that the interval bars (in AllPlotInterval) are not correctly aligned
with the interval sections in the main plot (AllPlot). This is done by calculating the margins from
the main plotting area to the border and setting left and right margin of the interval plot
accordingly.
2016-05-18 12:34:33 +02:00
Mark Liversedge
98cec80c4e R reset par(mfrow=c(1,1)) before runScript
.. so we don't inherit parameters across charts (!)
2016-05-18 11:25:27 +01:00
Alejandro Martinez
e2b66b7bd9 Add Running Power Data Processor
Based on a spreadsheet provided by Kraig Willet <kraig.willet@gmail.com>
2016-05-17 18:08:44 -03:00
Mark Liversedge
087426b545 Merge pull request #1968 from Joern-R/No-R
No-R-Build Error
2016-05-16 18:46:12 +01:00
Joern
2fd4f35287 No-R-Build Error
... fix build failing if GC_WANT_R is not set
2016-05-16 19:28:25 +02:00
Mark Liversedge
3fb565ff2d Dev Build 1605 Version Strings
.. update for 1605 dev release.
2016-05-16 15:26:39 +01:00
Mark Liversedge
7f76cd9cfe R Windows query Registry for InstallPath
.. so user doesn't have to set it.

.. also fixed a SEGV crash dereferencing libR->errors when its not
   been set (!).
2016-05-16 12:22:33 +01:00
Mark Liversedge
67b60e5623 R R_HOME configuration improvements
.. Add option to disable embedded R in preferences

.. Better diagnostics if load fails

.. If we find it in the usual place we load and set R_HOME
   automatically without requiring R_HOME or config

.. The config option overrides R_HOME not the other way around
2016-05-16 11:32:11 +01:00
Mark Liversedge
465718b10b Merge pull request #1967 from amtriathlon/GarminSwim
Adjust Laps for Garmin Swim FIT files
2016-05-15 20:47:10 +01:00
Alejandro Martinez
616cad5575 Add Pool Length Tag to SML file parser 2016-05-15 15:34:21 -03:00
Alejandro Martinez
1bcf2a2f20 Adjust Laps for Garmin Swim FIT files
Use total duration for both length and lap messages to synch them,
even when using drill mode. Tested with Garmin Swim and 920xt files.
Garmin 310xt is special cased since it doesn't generate rest length messages
Add Pool Length in meters as metadata
2016-05-15 15:00:28 -03:00
Mark Liversedge
2decc8624b R GC.athlete() extends
.. to include more details and render the athlete.home()
   function unneccessary.
2016-05-15 17:25:21 +01:00
Alejandro Martinez
aefbdca45f Merge pull request #1959 from amtriathlon/master
Fallback to Start with Cycling zones for Running
2016-05-15 12:52:40 -03:00
Mark Liversedge
62200b4725 Activity Checksum Metric
.. added a checksum metric for an activity that can be used as a key
   in R scripts to invalidate / reuse caches.

.. when R scripts are computationally expensive we can store the
   results in a cache with a key for the activity involved -- then
   the cache is tied to a particular activity (and state).

.. since caching in R has many options we may develop a 'basic'
   cache function that can be guaranteed to be available to any
   script so they can be shared.
2016-05-15 14:36:47 +01:00
Mark Liversedge
a7f5813e86 R REmbed.h ref QString too early
.. the definition of setenv on Windows was prior to the
   include for QString leading to a compiler error.
2016-05-14 13:59:52 +01:00
Mark Liversedge
fd8caf3230 R Update LD_LIBRARY_PATH/PATH on load
.. since dependancies are in the same directory. e.g.
   blas, mlpack and fortran libs.
2016-05-14 13:54:30 +01:00
Mark Liversedge
d2089e9ae6 R Dynamic Load Diags
.. quick debug message if load() fails for any reason.
2016-05-14 12:48:31 +01:00
Mark Liversedge
8b9a19af93 R QT4.8 QLibrary::resolve() returns void *
.. not void(*)()
2016-05-14 09:37:36 +01:00
Mark Liversedge
b53ed44cc9 Fix QFunctionPointer on QT4.8 builds
.. the typedef was introduced in QT5
2016-05-14 09:22:28 +01:00
Mark Liversedge
e5b1c93e4d R Version Fixup
.. get runtime version loaded and show on crash dialog and console
   since the runtime may be different from compile time as it is
   now dynamically loaded.
2016-05-14 09:10:46 +01:00
Mark Liversedge
ddbeab86e0 R Always use dynamic loading
.. no need to define GC_WANT_R_DYNAMIC any more since it is now
   working across all 3 supported platforms.

.. we need to improve the way R_HOME is configured and validated
   for non-technical users.
2016-05-14 08:54:49 +01:00
Mark Liversedge
dba02cc49f R Dynamic Library (Windows)
.. fixed up to work on Windows too.

.. needed to add a couple of functions used by Windows;
   getRUser(), get_R_HOME() and getDLLVersion().

.. also needed to add a path to the DLL that included the
   address space (x64 or i386).
2016-05-14 08:04:11 +01:00
Mark Liversedge
6782f5a393 R CMD config --cppflags
.. needed to be reinstated
2016-05-14 00:32:10 +01:00
Mark Liversedge
e2a93c82e6 R Dynamic Library OSX
.. don't link in the libs since macdeployqt will add
   them to the dmg.
2016-05-14 00:22:49 +01:00
Mark Liversedge
1b0d9b1bbb R Load Dynamic Library (OSX and Linux)
.. we can now load the installed dynamic library rather than
   distributing with the version we built with.

.. the lib is loaded and symbols resolved at runtime.

.. need to fixup for Windows and remove GC_WANT_R_DYNAMIC option
   and make it the way we integrate R for GC_WANT_R
2016-05-13 23:26:51 +01:00
Keith Reynolds
c39a52a3a1 Minor document updates.
URL and version updates; Nokia has transferred ownership of Qt to Digia back in 2012.
2016-05-11 23:03:17 -04:00
Alejandro Martinez
939af6c0ef Fallback to Start with Cycling Power zones for Running
When there is no Running Power zones defined to easy
transition from current config.
2016-05-11 11:43:03 -03:00
Alejandro Martinez
e9dd189864 Fallback to Start with Cycling HR zones for Running
When there is no Running HR zones defined to easy
transition from current config.
Fixes #1958
2016-05-11 11:26:45 -03:00
Mark Liversedge
90c94b5499 R Load Library at Runtime (wip)
.. add Graphics device entry points and almost done with defining
   proxy functions to call at runtime

.. will need to create a QLibrary object to load and resolve
   symbols for the proxies to call next.

.. if you add GC_WANT_R_DYNAMIC to gcconfig.pri it enables
   this, but it will crash, this is a wip.
2016-05-11 07:54:31 +01:00
Mark Liversedge
d65aac3035 Merge pull request #1956 from amtriathlon/RunHr
Add support for running HR zones
2016-05-09 21:51:34 +01:00
Alejandro Martinez
735756fcdf Add support for running HR zones part 3
Changed ride cache and charts to use zones according to sport(s)
2016-05-09 15:21:47 -03:00
Alejandro Martinez
88adfa1e78 Add support for running HR zones part 2
Chanted HrZonePage, LTPage and HrSchemePage to allow
separate editing for running and cycling
2016-05-09 15:21:47 -03:00
Alejandro Martinez
adb3692738 Add support for running HR zones part 1
Zones: parameterize for running
Athlete: create zones for cycling and running
2016-05-09 15:21:47 -03:00
Mark Liversedge
8d16fe26b0 R Load Library at Runtime (wip)
.. just starting out by redefining endpoints into the R shared
   library. Its incomplete but committed as a checkpoint.
2016-05-09 14:39:43 +01:00
Mark Liversedge
b3ca71bfd6 R Optimise refresh
.. don't when not visible as it slows everyone down !
2016-05-09 10:13:15 +01:00
Mark Liversedge
57f2eb10d4 R add compare=FALSE to GC.season.peaks
.. can now compare peaks in R
2016-05-08 20:57:39 +01:00
Mark Liversedge
a59f917dd3 R GC.season.peaks(all=FALSE, series, duration)
.. get peak values across rides in a season.

.. series="power", or series=c("power", "heart.rate") and
   duration=1 or duration=c(1,10,100)

.. where series is a mean maximal series in the ride file cache
   and duration is in seconds

.. will make this compare aware shortly.
2016-05-08 18:47:59 +01:00
Mark Liversedge
0fcda1f291 R GC.activity.metrics(compare=FALSE)
.. to get the metric and metadata for the current activity.
2016-05-08 13:10:39 +01:00
Mark Liversedge
29aad55f2f Merge pull request #1953 from Joern-R/R-1
R - use fixed Series names
2016-05-07 19:34:28 +01:00
Mark Liversedge
a023617031 R GC.season.meanmax(all=FALSE, compare=FALSE)
.. return meanmax data for a date range.
2016-05-07 19:10:21 +01:00
Mark Liversedge
136186e0a6 R GC.season(all=FALSE, compare=FALSE)
.. get a dataframe with season details

.. all lists all seasons, compare lists those being compared and
   if neither true returns the currently selected season

.. also renamed functions so we now have

   GC.season.metrics -> GC.metrics
   GC.season.pmc -> GC.pmc

   but he old GC.metrics/pmc are retained for backward compatibility
2016-05-07 12:20:35 +01:00
gcoco
3eada25d28 hLine USB2 ANT+ dongle
Thanks to Diego Heredia Sanchez
2016-05-07 00:39:17 -04:00
Joern
b7c53fd767 R - defined / use fixed series names / only in english
... use fix series names (which cannot be translated) - to have R-code which works independent of the GC language
2016-05-06 19:37:09 +02:00
Joern
d18f4f9c97 Update Translation DE 2016-05-06 19:04:25 +02:00
Mark Liversedge
82917666ea GC.page(width=500, height=500)
.. change the page dimensions to plot on.

.. the default is 500x500, but any ratio can be set

.. if none is specified it will always plot to 500x500
2016-05-06 16:38:16 +01:00
Mark Liversedge
e686ebde3e Honor GC_WANT_R in options/preferences
.. don't need to configure R_HOME if R support isn't baked in.
2016-05-06 12:31:53 +01:00
Mark Liversedge
a611b93f7b Update comment re canvas co-ordinates
.. it was incorrect and didn't explain how the world
   co-ordinates are mapped.

.. no code changes, just comments.

[skip ci]
2016-05-06 09:48:47 +01:00
Mark Liversedge
8e39d3e1f3 Fix saveState SEGV
.. introduced in previous commit.
2016-05-06 09:17:10 +01:00
Mark Liversedge
7c9814a52d R Chart Initial Splitter Sizes
.. some users get confused, so make the splitter sit
   in the middle (ish) to help them

.. need to still fixup save/restore splitter position
   to chart config.
2016-05-06 08:22:16 +01:00
Mark Liversedge
9505a23a6a R Fix text scaling via world transform
.. instead of hacking the text to avoid a global world
   transform we now transform y ourselves

.. it looks like text needs to be centered will test and
   fix shortly.
2016-05-05 19:15:54 +01:00
Mark Liversedge
9eacadadef RGraphicsDevice honor font size
.. since labels go awry. But it highlights issues with the
   text transformations that we should fix.
2016-05-05 18:58:40 +01:00
Mark Liversedge
6804f596e0 R Chart Screenshot for Wiki 2016-05-05 18:06:15 +01:00
Mark Liversedge
e358cff9b4 R Graphics Device Circle x,y bug
.. QT drawing uses x,y as top left of ellipse rect, whilst
   R was expressing it as a centre point.
2016-05-05 17:24:09 +01:00
Mark Liversedge
8d92859efc R default ride color
.. was using invertColor and resulted in white on dark for the
   default setup and was very jarring. The color is toned down
   to a gray if it results in white.
2016-05-05 17:24:09 +01:00
Mark Liversedge
ac844aa651 R Video gif for wiki
So we can add a link to vimeo on the wiki
2016-05-05 16:00:17 +01:00
Mark Liversedge
306ae970c7 Wiki R Chart
.. a bubble chart for the wiki
2016-05-05 11:33:31 +01:00
grauser
5e73bae75a Interval : don't need to overide name for Peak Power standard durations 2016-05-05 10:12:02 +02:00
grauser
e9ebc20af4 Interval : Add Search for Peak Speed, Peak Pace 2016-05-05 09:43:46 +02:00
grauser
7fa49cf802 Interval: Use "Peak" for intervals by time for Power or Hr 2016-05-05 09:43:46 +02:00
Mark Liversedge
44a91b1b91 R compile warnings
.. in RGraphicsDevice.cpp due to loads of unused method parameters
2016-05-04 19:25:18 +01:00
Mark Liversedge
c03871bda9 Merge pull request #1951 from Joern-R/R-Win
R - Windows Build
2016-05-04 19:19:07 +01:00
Joern
9f6c9d8e94 R - Windows Build
... differentiate 32bit and 64bit .lib for R.DLL for build
2016-05-04 19:08:24 +02:00
Mark Liversedge
0a209fd7b8 R GC.activity.wbal(compare=FALSE)
.. now compare enabled.
2016-05-04 15:51:56 +01:00
Mark Liversedge
241f5aaf6c R GC.activity.wbal()
.. returns a vector of w'bal for ride in 1s samples.

.. will update for compare in next commit.
2016-05-04 15:18:43 +01:00
Mark Liversedge
ee37e17d96 Peak HR not Best HR
.. in interval names
2016-05-04 12:04:33 +01:00
Mark Liversedge
344da00a9d R GC.activity.meanmax()
.. returns a data.frame with meanmax arrays for the
   series that are present
2016-05-04 11:39:14 +01:00
Mark Liversedge
d9b9a1f303 Bluetooth need QT5.5 not QT5.4
.. it was just a tech preview in 5.4 and not shipped
   with the pre-build libs
2016-05-04 07:52:42 +01:00
Alejandro Martinez
b7415b8962 Merge pull request #1950 from amtriathlon/master
Fixed HRV to HR in SML files
2016-05-03 21:35:28 -03:00
Alejandro Martinez
42b8f043d8 Fixed HRV to HR in SML files
To avoid HR gaps when < 60 bpm
Added test file with HRV and no HR
2016-05-03 19:19:42 -03:00
grauser
d1e22ee4a2 Interval : Search by Heart rate 2016-05-03 23:10:31 +02:00
Mark Liversedge
4a5cf58557 R paste code, don't take formatting
.. its ugly !!
2016-05-03 21:17:15 +01:00
Mark Liversedge
f58d9b7cbf R add ride color to metrics()
.. so you can pass to plot functions e.g. scatter plot
   with the color of each dot controlled by the GC config
2016-05-03 19:49:45 +01:00
Mark Liversedge
4dd042be22 R Metrics include Metadata
.. so you can use Workout_Code and friends to classify
   or color etc
2016-05-03 19:16:31 +01:00
Mark Liversedge
b26d84a325 R data.frames must have a row name
.. we just make it numeric
2016-05-03 13:26:40 +01:00
Mark Liversedge
b2efdf321d R GC.pmc(all=FALSE, metric="TSS")
.. add a new method to fetch a data.frame of PMC data
   for the passed metric, by default it returns for the
   selected date range, all=TRUE will fetch all dates.
2016-05-03 10:13:57 +01:00
Mark Liversedge
633ff519f1 Merge pull request #1946 from amtriathlon/SML
Import HR from R-R data for SML files
2016-05-02 20:08:22 +01:00
Alejandro Martinez
28ec053cd5 Import HR from R-R data for SML files
Fixes #1841
2016-05-02 15:11:49 -03:00
Mark Liversedge
6aeb8eedef R OSX bundle dylib fixing tool
.. see util/osx_bundle_fix.sh

.. couldn't quite get it fully automated, for some reason
   you may need to run it multiple times.
2016-05-02 19:00:19 +01:00
Mark Liversedge
8b9eab0a44 R compare date range signals
.. refresh when compare state changes
2016-05-02 11:23:23 +01:00
Mark Liversedge
3e09970f09 R Compare DateRange
.. GC.metrics(compare=TRUE) added

.. you can now plot metrics for different date ranges in the
   same way you can plot different intervals/activities.
2016-05-02 10:01:55 +01:00
Mark Liversedge
29c80f3e76 R nits
.. use opengl on Linux/Mac, its worth it for speed

.. new chart comment mentions activity(compare=TRUE)
2016-05-01 22:08:59 +01:00
Mark Liversedge
ac0c3cab6d R Support Compare Mode
.. GC.activity(compare=TRUE) will return a list of compares

.. If you are not in compare mode it will be 1 element long
   and represent the currently selected ride

.. otherwise it will have one entry for each activity dropped
   into the compare pane

.. each element has a $activity and a $color

Example:

df <- GC.activity()
.. do plot ..

Now:

compares <- GC.activity(compare=TRUE)
for (compare in compares) {
   df <- compare$activity
   col <- compare$color

   .. do plot ...
}
2016-05-01 21:08:41 +01:00
Mark Liversedge
b30fec7676 OSX Release Build R libs into Bundle
.. a script to copy the R dylibs to the app bundle and
   update the paths to the libs
2016-04-30 21:44:37 +01:00
Mark Liversedge
3f86522287 Development Build DEV-1604
.. update version macros
2016-04-30 18:25:17 +01:00
Mark Liversedge
ef27426442 Merge pull request #1942 from Joern-R/R-Win1
R-Windows - Includes
2016-04-30 16:24:34 +01:00
Mark Liversedge
f7bc0d33a5 Merge pull request #1939 from erikboto/monark_fix_for_restarts
Monark: Fix out of sync issue when restarting bike when connected
2016-04-30 14:30:04 +01:00
Joern
e6b5caa09a R-Windows - Includes
.. don't use R command function to find the includes. but R_HOME
2016-04-30 12:29:18 +02:00
Mark Liversedge
2b31d62ef6 R GC.metrics(all=TRUE) and Trend Chart
.. you can pass all=TRUE|FALSE to GC.metrics if you want to
   override the date range selection

.. also added connect to daterange select so a trend chart
   will refresh when you select a date range
2016-04-30 09:17:15 +01:00
Mark Liversedge
0856dd088c R Command Line Option --no-r
.. to disable embedded R - useful if startup is causing
   issues or crashes.
2016-04-29 20:44:19 +01:00
Mark Liversedge
8a4d261343 R nits / tidy ups
.. highlighter and default script
2016-04-29 19:52:25 +01:00
Mark Liversedge
32657246b4 R Script syntax highlighter
.. basic stuff, no completer.
2016-04-29 19:12:25 +01:00
Mark Liversedge
647067c82b R Script on Ride Selected
.. set a script to run when an activity is selected

.. this allows a plot to be generated and displayed when
   you select a ride in analysis view

.. the script is stored with the chart settings
2016-04-29 14:06:25 +01:00
Mark Liversedge
410aa95a99 R Multi-line commands
.. >> prompt for a continuation line

.. ^C to kill wherever we are and start again
2016-04-29 10:25:38 +01:00
Mark Liversedge
08c4142279 R pull in OpenGL for hardware acceleration
.. although its disabled in RCanvas for now, it will
   be re-enabled when settings are allowed.
2016-04-29 09:58:08 +01:00
Mark Liversedge
02455a2e6a Windows Fix Scrollbar Style
.. add-page/sub-page were not styled correctly (!!)
2016-04-29 09:52:43 +01:00
Mark Liversedge
b05f9db500 R remove out of date docs/utils
.. since we don't need RInside/Rcpp now.

[skip ci]
2016-04-29 09:14:59 +01:00
Mark Liversedge
57e76f04b0 R set default repo at startup
.. so install.packages() works without user having to
   set or select a mirror.
2016-04-29 09:03:49 +01:00
Mark Liversedge
458f4b9e71 R Plot Acceleration via OpenGL
.. plot canvas now uses OpenGL to accelerate painting
2016-04-28 23:05:22 +01:00
Mark Liversedge
26fdbd47fa R argv/verbose clean up
.. didn't use argc/argv in R initialisation
.. accidentally enabled verbosity
2016-04-28 19:20:43 +01:00
Mark Liversedge
4af3e929f7 R Windows Fixup
.. Embedded R now supports on Windows
2016-04-28 17:49:28 +01:00
Mark Liversedge
6cdd81198f R Windows Build Support
.. it now builds and runs on Windows

.. there is a runtime crash when embedded  R is initialised
   that needs to be reolved

                    ** NOTE **

R is not distributed with a .lib that can be linked to
with the MS VC linker. Instead, we need to generate a
lib and exp file from the dll:

1. dumpbin /exports R.dll > R.def
2. edit the .def output to have EXPORTS at the top and
   a list of functions only (last column, delete the rest)
3. lib /machine:x64 /def:R.def

After linking remember to copy the DLLs to the GoldenCheetah
build directory from the $R_HOME/bin/x64/*.dll
2016-04-28 17:04:40 +01:00
Mark Liversedge
acd09f91aa R boolean. 2016-04-28 08:58:41 +01:00
Mark Liversedge
50bfca2a3a R Another workaround for QT4 TRUE/FALSE conflict
.. resolving compile time issues with CI that don't
   occur on your own builds is horrible.
2016-04-28 08:28:13 +01:00
Mark Liversedge
c3eb308dc4 R More Rboolean enums nonsense
.. sigh.
2016-04-28 08:11:17 +01:00
Mark Liversedge
e56a65e659 Rboolean::FALSE not FALSE
.. and a few more tidy ups.

.. never cease to be amazed at how some developers
   will feel its OK to define generic symbols like
   TRUE and FALSE in their code (!!)

.. R is a mess.
2016-04-28 07:53:14 +01:00
Mark Liversedge
63107eb2fb Rboolean::TRUE not TRUE
.. since TRUE is #defined in QT4. sigh.
2016-04-28 07:47:56 +01:00
Mark Liversedge
9ed2850bbd Use Rinternals.h not Rdefines.h
.. Rdefines is ancient.
2016-04-27 22:36:23 +01:00
Mark Liversedge
255665da91 <stdexcept> for std::runtime_error
.. missing header.
2016-04-27 22:08:26 +01:00
Mark Liversedge
ddf0fa80de CI GC_WANT_R retry without RInside/Rcpp
.. reactrivate building with R support now we do not
   have RInside and Rcpp
2016-04-27 21:52:43 +01:00
Mark Liversedge
831e50b4ff R OSX fixups for no RInside/Rcpp
.. mostly startup issues when R_HOME is not known

.. need to think carefully about how we get the user to
   register the R home. We could let them select the R
   binary so we can run `R RHOME` and apply that (?)
2016-04-27 20:55:02 +01:00
Mark Liversedge
97c0d50eaf R Fix Version
.. in version dialog etc
2016-04-27 19:59:11 +01:00
Mark Liversedge
760a5f610a R Trap Console i/o
.. and redirect to rtool
2016-04-27 19:34:38 +01:00
Mark Liversedge
cfaa741473 R Replace RInside
.. we no longer need RInside or Rcpp as we use
   100% R API calls to embed

.. the following need to be resolved:

   1. R_HOME / Options *must* be set to startup
      embedded R but we don't check / restart or
      default via system("R HOME")

   2. Output is not trapped - all output is sent
      directly to the console you started GC on

.. will fixup the 2 above before finally:

   3. Build for Windows using MSVC !
2016-04-27 18:39:08 +01:00
Mark Liversedge
561430a7ff R Preferences set R_HOME
.. allow the user to browse and set the home directory for
   the R install -- in preparation for replacing Rinside with
   our own code to embed R
2016-04-27 12:31:23 +01:00
Mark Liversedge
4bfad2ebd2 R DLL/SO not required (!)
.. we can register routines when embedding via the
   R_getEmbeddingDLLInfo()

.. so we just register our functions directly now
   in RTool rather than needing a dynamic library.

.. its cleaner and there are no nasty casts and build
   settings required
2016-04-27 08:11:01 +01:00
Mark Liversedge
90e61b6aad R GC.metrics()
.. no longer needs Rcpp, we now have no code that
   is directly dependant upon Rcpp being installed.

.. we can now look at replacing RInside.
2016-04-26 21:33:49 +01:00
Mark Liversedge
d709c43486 R GC.activity()
.. uses native R API to create the dataframe, removing Rcpp.
2016-04-26 19:27:13 +01:00
Mark Liversedge
da0d9dd848 R GC.activities()
.. remove need for Rinside/Rcpp
2016-04-26 17:29:09 +01:00
Mark Liversedge
8eb1d321ea R GC.athlete and athlete.home
.. reimplemented with native R API

.. switched to .Call in R function since .C means all functions
   return void and must return by a pass by reference parameter.
2016-04-26 15:58:03 +01:00
Mark Liversedge
ea2a6179ef R Restructure src
.. and fix Linux build of R shared library
2016-04-26 12:23:13 +01:00
Mark Liversedge
0e74453c84 Remove RTool.cpp -fpermissive from src.pro
.. its not needed as the workaround of using an extern "C" function
   to perform the function pointer cast conforms to standard.

.. this just simplifies src.pro that was getting heavy
2016-04-26 08:03:54 +01:00
gcoco
ba5d897b1a windows.h not Windows.h 2016-04-25 19:39:18 -04:00
Mark Liversedge
6faca37f60 R Use Rf_PrintValue not Rcpp::print
.. slowly removing all the Rcpp dependencies.
2016-04-25 23:07:42 +01:00
Mark Liversedge
eb3daa3a9a R OSX qmake cp RGoldenCheetah.so post link
.. to address warnign in previous commit.
2016-04-25 23:01:20 +01:00
Mark Liversedge
66bc83f881 R SHLIB OSX Fixups (SEE WARNING IN COMMIT MSG)
.. fixup R SHLIB build and integration to work on OSX

                  **** WARNING ****

If you build for OSX with GC_WANT_R You will need to
manually copy RGoldenCheetah.so into the app bundle.

$ cp RGoldenCheetah.so ./GoldenCheetah.app/Contents/MacOS

                  *****************
2016-04-25 22:48:22 +01:00
Mark Liversedge
a5de4ed1c3 R GC.version() build() not using Rcpp
.. just declare them as normal R functions.

.. only 3 more functions to convert; activity/ies and metrics.
2016-04-25 20:36:43 +01:00
Mark Liversedge
2735803d55 R SHLIB GC.display()
.. phew. that was hard.

.. To register routines with R you need to place them in a shared
   library.

.. The routines we want to register are part of  the GC codebase so
   cannot be linked into that shared library (it would be the whole
   of GC).

.. So; we have a shared library (RGoldenCheetah.cpp) which has stubs
   for all the registered functions and an array of pointers to the
   actual functions.

.. We load the library (once R is embedded it is loaded in main.cpp)

.. After the library is loaded we then call one of its public
   functions (GCInitialiseFunctions) to tell it where all the GC
   functions are (we only have GCdisplay at present for this proof
   of the concept).

.. Along the way we need to deref/cast DL_FUNC in RTool.cpp which
   is not permitted in ISO C, so we also update qmake to add a
   special rule to compile `dodgy' sources with -fpermissive. And
   the only dodgy source is RTool.cpp.

.. This commmit will break GC_WANT_R builds on OSX, and will be
   fixed up shortly.

.. The motivation behind this is to avoid RInside/Rcpp for Windows
   builds -- enabling R support (which is not currently possible).
2016-04-25 20:11:03 +01:00
Mark Liversedge
d6a3d3eb57 Fixup BT40 into right section of src.pro
.. with QT5 dependencies.
2016-04-25 16:48:49 +01:00
Mark Liversedge
1877b6a2a1 Merge pull request #1936 from viiru-/bt40_conversion
Bt40 conversion
2016-04-25 16:34:12 +01:00
Mark Liversedge
24dd1124fc R SHLIB RGoldenCheetah
.. to use the R C API for to avoid use of Rcpp and RInside

.. the shlib doesn't do anything and isn't loaded in RTool
   at this point. Need to get this working cross-platform
   and iron out the build time nits.
2016-04-25 15:55:18 +01:00
Arto Jantunen
f0527a5a58 Add support for BTLE speed and cadence sensors 2016-04-25 15:55:15 +03:00
Arto Jantunen
aa2b45fc08 Add support for BTLE power sensors 2016-04-25 09:57:04 +03:00
Arto Jantunen
7fdd378d17 Add support for BTLE HR sensors 2016-04-25 09:57:04 +03:00
Arto Jantunen
3129b82ecd Add support for subscribing to BTLE services 2016-04-25 09:57:04 +03:00
Arto Jantunen
22ded4eb48 Add support for connecting to BTLE devices and scanning for services 2016-04-25 09:57:04 +03:00
Arto Jantunen
b05c1eca98 Rewrite BT40Controller using Qt BTLE support 2016-04-25 09:56:58 +03:00
Arto Jantunen
4024d84a67 Remove WFAPI support 2016-04-25 09:55:57 +03:00
Mark Liversedge
6b12547e27 R Add GC.metrics()
.. to return a data.frame of all metrics
2016-04-23 23:54:25 +01:00
Mark Liversedge
148317022a R apply themes to par() options
.. the GC theme is used to set the graphical parameters
   used by standard plotting commands.
2016-04-23 20:32:51 +01:00
Mark Liversedge
e576e6b6c9 R Parser don't crash on parse more
.. if the R parser is waiting for more input don't crash
.. just keep going waiting for more input.
2016-04-23 18:02:14 +01:00
Mark Liversedge
e6bf65779c R Not Supported on Windows
.. so don't even try to build and warn via qmake

.. RInside/Rcpp do not suport MSVC
.. Microsoft Open R may help, but doesn't at this point
.. we can revisit at a later date.
2016-04-23 11:27:20 +01:00
Mark Liversedge
48c3783dac Fix Compare Pane Buttons on Mac
.. just use QT buttons instead of Mac.
2016-04-22 22:21:18 +01:00
Mark Liversedge
06b56e7eb8 R avoid hang on console messaging
.. RInside is single threaded and hangs the event
   loop on the main thread (grrrr).
2016-04-21 21:48:10 +01:00
Mark Liversedge
47c10ed0c1 R Antialias and Text Color
.. enable antialising and honour text colors (instead
   of always black!)
2016-04-21 12:26:46 +01:00
Mark Liversedge
d945228080 R Honour Drawing Colors/Lines etc
.. apply the GEContext settings when drawing on the
   canvas to get proper output (e.g. ggplot2 works)
2016-04-20 20:38:11 +01:00
Mark Liversedge
804f4499e0 R Plot Zoom Mousewheel
.. and scrollbar styling
2016-04-20 15:30:12 +01:00
Mark Liversedge
39b63223cd R Canvas with Basic Primitives
.. not complete, but we now have a canvas (QGraphicsView)
   to plot the R output without needing to use x11() or
   quartz(), window() etc.

.. the primitives do not honour the graphic engine context so
   all lines etc are white on black.

.. will fix and improve in followup commits, need to test
   with QT4.8 and cross-platform.
2016-04-20 14:04:32 +01:00
Mark Liversedge
cba05ce7a1 R $$variable substitution
.. since the R runtime is shared by charts we offer the ability
   to prefix variables with $$ to ensure they don't conflict
   across multiple RCharts.

.. $$d <- GC.activity() would actually be parsed within R as
   gc0d <- GC.activity(). The next chart would get gc1 and so
   on.

.. it is optional, so charts could share data structures (but
   wonder why you might do that)

.. we still need to encapsulate the code to plot within a
   script to ensure it is refreshed when the chart is selected
   or underlying data changes.
2016-04-19 20:19:29 +01:00
Mark Liversedge
ac044d4606 R GraphicsDevice Circles now work
.. believe it or not the R base code for plot (plot.c)
   skipped plotting circles if they were white on white.

.. took me 4 hours to fix this by setting startcol and
   startfill in DevDesc for the device.

.. But at least the R driver now works properly -- we can
   now integrate with a qt widget.
2016-04-19 19:02:42 +01:00
Joern
c303e03057 CI - Windows - Back to nmake
... free CI does only offer one core, so no need to install Jom - back to nmake
2016-04-19 08:40:03 +02:00
Mark Liversedge
352db67b6e R GraphicsDevice Primitives WIP
.. the R graphics device now gets called for hist() so we can
   work on the interaction with a QT widget now.

.. still have other problems to deal with (!)
2016-04-18 23:26:32 +01:00
grauser
a4afef5fbd AllPlot : Point Hover for time of day 2016-04-18 22:13:29 +02:00
Joern
878d92408f CI - Windows - JOM - Shimgen 3
... wrong path for jom
2016-04-18 21:42:10 +02:00
Joern
f767d738a8 CI - Windows - JOM - Shimgen 2 2016-04-18 21:33:17 +02:00
Joern
f2db0c4638 CI - Windows - JOM - Shimgen
... jom not working via shimgen, use direct path instead
2016-04-18 21:30:25 +02:00
Joern
811a88c90a CI-Windows - use JOM
... use jom not nmake for parallel building
2016-04-18 20:34:53 +02:00
Mark Liversedge
760269f858 R GraphicsDevice WIP
.. GoldenCheetahGD is instantiated

.. GC.display() to create new GD
   GC.activate() to activate the GD

NOTE: a fair amount of qDebug() in at present as
      the graphics functions are being created.
2016-04-18 14:04:02 +01:00
Mark Liversedge
bef48b93f5 R Console Backspace/Left Arrow
.. fix for wrapped lines.
2016-04-17 22:06:14 +01:00
Mark Liversedge
7525be38fc R Incorrect Header "RGraphics.h" 2016-04-17 21:36:27 +01:00
Mark Liversedge
857292e47d R Add Skeleton for Graphics Device
.. basic code framework for a graphics device
.. committed to check cross-platform build
2016-04-17 21:12:12 +01:00
Mark Liversedge
1b6350a2a6 R Fix GC.activity()
.. return a valid data.frame
.. use POSIXct UTC

[is now compatible with the trackeR package]
2016-04-17 16:13:03 +01:00
grauser
5801757445 AllPlot : 'msecsSinceStartOfDay' only in recent Qt 2016-04-16 23:10:29 +02:00
grauser
5edec0c931 AllPlot : Clean last commented code 2016-04-16 22:39:50 +02:00
grauser
c3fa83b21a AllPlot: Plot by time of day (simplier version) 2016-04-16 22:35:59 +02:00
grauser
a80023e25d AllPlot: Plot by time of day 2016-04-16 22:25:25 +02:00
grauser
000ac63b01 RideMapWindow: Show/hide markers 2016-04-15 17:29:40 +02:00
Mark Liversedge
b398008e92 R Don't output results of "print()"
.. to avoid duplication
2016-04-14 22:51:03 +01:00
Mark Liversedge
8052439022 R Console exceptions
.. don't crash when cannot initialise (e.g. when RInside not
   available or R is not installed)

.. handle messaging via signals to trap 'late' messages from
   the R Runtime
2016-04-14 21:16:13 +01:00
Mark Liversedge
002169d53b RConsole Fix Hit Enter Mid-Line
.. no longer splits, but submits the line to process.
2016-04-13 21:01:40 +01:00
Mark Liversedge
4338574c76 R GC.activities()
.. returns a list of all activities. Represented via their
   starttime as a vector of datetimes
2016-04-13 20:18:38 +01:00
Mark Liversedge
894e694556 R GC.activity() improvements
.. don't fill with lots of missing series when they're obscure
.. distinguish between time and seconds
2016-04-13 20:05:19 +01:00
Mark Liversedge
f418a8658e R GC.activity() compatibility with trackeR
.. use names in the data.frame that don't contain spaces and
   are compatible with other R packages (e.g. trackeR)
2016-04-13 17:44:47 +01:00
Mark Liversedge
b39a24cb57 CI Travis Disable GC_WANT_R for now
.. c++11, 5.5.1, stdlib conflicts across dependencies
2016-04-13 09:47:32 +01:00
Mark Liversedge
aa20c747bf CI Travis OSX clang++ stdlib
.. need to select which one to use with clang++ on QT5
2016-04-13 09:10:49 +01:00
Mark Liversedge
ea85368797 CI Travis Build with GC_WANT_R
.. build with R support baked in.
2016-04-13 08:38:54 +01:00
Mark Liversedge
5257d01d35 CI Travis Should Fix Shell Escape Hell
.. shaking my head, escaped YAML for escaped Shell, for sed.
2016-04-12 21:49:53 +01:00
Mark Liversedge
ae674018ff CI Travis Sed syntax and escaped commands
.. losing the will to live.
2016-04-12 21:45:28 +01:00
Mark Liversedge
d4755b7d7a CI Travis Shell Escape Again 2016-04-12 21:41:17 +01:00
Mark Liversedge
a3050b7648 CI Travis Shell Escape Hell
.. something is broken in .yml markup (!?)
2016-04-12 21:37:28 +01:00
Mark Liversedge
b617b3ac04 CI Travis sed and shell escapes 2016-04-12 21:31:31 +01:00
Mark Liversedge
e4cc32c83d CI Travis Shell Escape Error (?)
.. not sure why their was a mismatched " at runtime
   it looks ok to me. So changed to ' in an attempt to fix
2016-04-12 21:13:32 +01:00
Mark Liversedge
b9ce4b1dcb CI Travis RInside Fix
.. sed command line error
2016-04-12 20:52:03 +01:00
Mark Liversedge
f86b7eb49a CI Travis install RInside
.. with CALLBACKS enabled
2016-04-12 20:35:36 +01:00
Mark Liversedge
a0dc8354d9 CI Travis Rcpp install (again)
.. halfwittery in last commit
2016-04-12 20:17:59 +01:00
Mark Liversedge
38b9e2cbbb CI Travis Install Rccp
.. in readiness for RInside build and install
   with GC_WANT_R
2016-04-12 20:02:39 +01:00
Mark Liversedge
e1c9caef5b CI update install-packages.R
.. to reflect we need to build with RInside with
   callbacks enabled.

[skip ci]
2016-04-12 19:48:06 +01:00
Mark Liversedge
ff2e70972c CI Install R update
.. brew tap homebrew/science
   to see if that finds it
2016-04-12 19:31:53 +01:00
Mark Liversedge
b08a87fd39 CI Travis Install R
.. getting ready to build with GC_WANT_R
2016-04-12 19:24:13 +01:00
Mark Liversedge
a0df01317e R Console History
.. using up/down arrows
2016-04-12 19:01:00 +01:00
Mark Liversedge
85052d9e6d R GC.activity() function
.. to get a dataframe containing all the
   data in a ride.
2016-04-12 17:45:48 +01:00
Mark Liversedge
aee825ddc0 Merge pull request #1925 from amtriathlon/master
Fixed AvgSpeed to fallback to Distance/Duration when there are no sam…
2016-04-12 17:44:44 +01:00
Alejandro Martinez
ed73cd57d2 Fixed AvgSpeed to fallback to Distance/Duration when there are no samples
This behavior was changed after compute() refactor.
2016-04-12 13:02:10 -03:00
Mark Liversedge
02d84726ff R Chart refactor with RTool
.. refactoring code to introduce an RTool for working
   with RInside and Rcpp and move code away from main.cpp

.. get ready to write all the data accessors in a way
   that supports multiple athlete windows.
2016-04-12 15:55:03 +01:00
Mark Liversedge
fe5a397ee4 RChart Athlete/Home
.. add GC.athlete and GC.athlete.home to the variables
   list - setting context every time we parse any kind
   of expression.
2016-04-12 00:52:01 +01:00
Mark Liversedge
39fe77a385 R Chart Console and "GC" object
.. now have a console in the RChart to issue R commands.
   Its very basic and doesn't handle multi-line commands
   well nor support up/down to cursor through history.

.. added a "GC" object with 3 variables
   GC.version - a version string
   GC.build - build id, later always higher
   GC.home - root of all athlete directories

.. No access yet to athlete, metrics, models and rides.
   This will come very shortly; need to decide on best
   way to handle accessing different athletes within
   a single global context.
2016-04-12 00:33:57 +01:00
Mark Liversedge
8660278eda Add new RConsole Chart
.. to trend and analysis view

.. its a blank chart for now, building begins now we are
   ready to support this across all platforms.
2016-04-11 16:37:40 +01:00
Mark Liversedge
ff6c55d8c7 Add RInside Developer Instructions
... see doc/user/RInside.txt
2016-04-11 15:44:31 +01:00
Mark Liversedge
ecee694abf Fix compile error for last commit 2016-04-09 21:24:40 +01:00
Mark Liversedge
0827de9ce0 R integration and Version in About
.. integration fixups for cross platform
.. RInside will need to be built with callbacks enabled
.. R Version is shown in about version
2016-04-09 20:47:44 +01:00
Mark Liversedge
22b3399de7 Fix R src.pro to make cross-platform
.. working on Linux and now OS X
2016-04-09 13:01:13 +01:00
Mark Liversedge
5c8e1850df Fix SEGV on Cancel at Startup
.. of you cancel before opening an athlete you get a SEGV
   on some platforms under some conditions (threads)

.. we now tidy up a little better and avoid deleting static
   objects when application->exec() has not been called.
2016-04-09 10:47:32 +01:00
Mark Liversedge
819bee6749 Add -lR and -lRInside for 'R' Chart
.. still working on the build/configuration to get things
   started. main.cpp now creates an instance of RInside
   that is shared by all athletes/charts.

.. not clear if this is going to work (!)

.. pushing to repo to test cross-platform support during
   development. It /should/ not impact any code since it
   will be an optional dependency.
2016-04-08 12:22:44 +01:00
Mark Liversedge
a3802d5102 Add an 'R' Chart
.. first part just to get the configuration ready to
   build out a chart for the trend and activity view

.. src.pro and gcconfig.pri are updated to link in with
   the RInside/Rcpp package install (new dependency)

.. there is a script in util called install-packages.R
   which can be run to install the packages so long as
   R is available:

   $ R CMD BATCH util/install-packages.R
2016-04-08 11:45:34 +01:00
Erik Botö
3f56981f1c Monark: Fix out of sync issue when restarting bike when connected 2016-04-08 12:44:40 +02:00
Mark Liversedge
2c26e88b57 Ride Editor Find and Replace
.. extend the find dialog to enable the user to replace
   and replace all values found in one hit.
2016-04-07 17:18:17 +01:00
Mark Liversedge
c4034c344c Merge pull request #1923 from dresco/timestamp
Fix corrupt timestamps on Windows builds
2016-04-07 14:17:23 +01:00
Jon Escombe
21bd66e616 Fix corrupt timestamps on Windows builds
The logic for building the timeval struct wasn't quite right.
2016-04-07 13:26:08 +01:00
Mark Liversedge
39479b328b Merge pull request #1922 from erikboto/add_tw_garmin_edge_520
FitRideFile: Add Garmin Edge 520 Taiwan version
2016-04-06 20:27:50 +01:00
Mark Liversedge
41d47ba8cd Merge pull request #1921 from amtriathlon/master
Fixed LTMPlot so By Week grouping starts on monday
2016-04-06 20:27:40 +01:00
Erik Botö
60ded8f955 FitRideFile: Add Garmin Edge 520 Taiwan version
Fixes Issue #1919
2016-04-06 20:46:20 +02:00
Alejandro Martinez
2fbb04c46a Fixed LTMPlot so By Week grouping starts on monday
instead of Wednesday due to missing parentheses
2016-04-06 15:23:01 -03:00
Mark Liversedge
fea3490571 DataFilter Update Syntax
.. allow single character variable name

.. dereference via $name not just name perhaps to
   consider user prompts to set values at runtime
2016-04-06 18:43:27 +01:00
Mark Liversedge
ae5de68b03 Merge pull request #1920 from lumanz/master
Update gc_zh-cn.ts
2016-04-06 15:54:47 +01:00
Sping Zhao
5c02277f76 Update gc_zh-cn.ts 2016-04-06 20:49:19 +08:00
Mark Liversedge
3027ccd546 Merge pull request #1899 from erikboto/filetype_by_suffix_export
Use filename suffix to determine filetype if possible during export
2016-04-03 18:36:29 +01:00
Mark Liversedge
88dd8e1660 Merge pull request #1912 from leukzx/master
Added virtual power support for the Tacx Sirius trainer.
2016-04-03 18:34:04 +01:00
Mark Liversedge
6e8c3c5b38 Handle NOWEBKIT for QT < 5 Gracefully
.. if NOWEBKIT is set in gcconfig.pri when QT < 5 we unset it, since
   it is only supported for QT versions > 5.0 where QWebEngine is
   available

.. gcconfig.pri.in has also been updated to have a line to set
   NOWEBKIT as a signpost to the user

.. we /could/ use the sed s/#DEFINES/DEFINES technique in .travis.yml
   now to set NOWEBKIT always and it will only take effect if building
   with QT5
2016-04-03 08:16:35 +01:00
gcoco
740bee0faf Fix QT install.
Allows sub-version so we can do QT5.5.1 (Webkit) and QT5.6 (Webengine) at a later date.
2016-04-02 17:36:41 -04:00
gcoco
e55ff4bd08 Allow QT version choice for MAC
[ci skip]
2016-04-02 17:35:28 -04:00
Mark Liversedge
8e53a386f0 Cleaner version of previous commit
.. just clear the tree, no need to traverse it.
2016-04-02 20:40:20 +01:00
Mark Liversedge
85f93627c2 Fix LTMSidebar::resetSeasons SEGV
.. takeChild(0) called repeatedly caused a crash for every
   season that had no children.
2016-04-02 20:33:25 +01:00
Mark Liversedge
c9178dbc53 CI Travis QT5 issues
.. added -Wno-c++11-narrowing to fix build of qwtplot3d libs
.. travis/install-qt.sh has some diags
2016-04-02 19:48:02 +01:00
Joern
63497f898e Update README.md
... link to correct CI project
2016-04-02 19:31:10 +02:00
Maxim A
7c74a0b175 Added virtual power support for the Tacx Sirius trainer. 2016-04-02 13:57:06 +05:00
Joern
40469a2cba Add Windows CI Status 2016-04-02 10:08:12 +02:00
Joern
bb4e733938 Update appveyor.yml 2016-04-02 09:34:07 +02:00
Mark Liversedge
210fbdf2f1 Fix const(e)
.. was broken since "e" is a one character symbol
   and we want 2 character symbols.
2016-04-01 20:16:49 +01:00
Mark Liversedge
6eea862be9 Merge pull request #1911 from Joern-R/CI
GitHub Integrated CI for Windows Build
2016-04-01 19:30:19 +01:00
Joern
ebcaa4d657 GitHub Integrated CI for Windows PRs
... using AppVeyor.com
... only 64Bit builds with QT 5.6.0 / MSVC2015
... all libraries included (pre-compiled)
... using QtWebEngine configuration, not QtWebKit
2016-04-01 19:54:59 +02:00
Mark Liversedge
e518c15005 Merge pull request #1908 from erikboto/monark_updates
Monark updates
2016-03-29 19:56:16 +01:00
Erik Botö
27f4761f96 Monark: Refactor to remove one class 2016-03-29 12:51:42 +02:00
Erik Botö
3c9520331a Monark: Rework to use an enum for model 2016-03-29 12:51:42 +02:00
Erik Botö
a765d99534 Monark: Use gradient for controlling kp 2016-03-29 12:51:42 +02:00
Mark Liversedge
60f4c58c31 Merge pull request #1907 from amtriathlon/master
Changed select latest activity to skip future activities
2016-03-28 19:29:26 +01:00
Alejandro Martinez
4a0629204e Changed select latest activity to skip future activities
When there are (planned) activities with future days it is
annoying to start at the latest planned activity, this change
try to select the latest which is not in the future.
2016-03-28 12:35:12 -03:00
Mark Liversedge
413b10cd0b Invalidate PMC Cache when any rideitem changes
.. to be on the safe side we just invalidate all PMC caches
   when a rideitem changes.
2016-03-28 11:31:11 +01:00
Mark Liversedge
10d3002c10 Merge pull request #1904 from amtriathlon/master
Fixed removal of planned workouts
2016-03-26 15:42:09 +00:00
Alejandro Martinez
821ce49753 Fixed removal of planned workouts
Rename failed due to wrong directory
2016-03-26 11:32:31 -03:00
Mark Liversedge
355c94e931 .gitignore .user files
[skip ci]
2016-03-26 11:02:41 +00:00
Mark Liversedge
03cc15e489 Fix JS warning with null div
.. in RideSummaryWindow we update to show
   progress of the model estimates, but it
   errors if the html is not set or is blank
   and does not contain the div 'modhead'.
2016-03-26 10:33:22 +00:00
Mark Liversedge
6c8322deb2 Shadow Build Support
The following will always be located in the
source directories so we can find them across
the different trees:

* ../lib/libqwt.a
* ../kqoauth/libkqoauth.a (linux only)
* ./Resources

The references are made via $${PWD} which is
the directory for the currently processed
.pro file.
2016-03-26 09:55:38 +00:00
grauser
0a3f1fe2ed RideMapWindow: Add OSM Map 2016-03-26 00:08:00 +01:00
Mark Liversedge
2434dc55e4 Merge pull request #1903 from amtriathlon/master
Add today marker when LTM chart goes to the future
2016-03-25 18:17:36 +00:00
Mark Liversedge
e9671ada84 Best Exhaustion R metric
.. mostly fails to solve (!)
2016-03-25 17:41:56 +00:00
Alejandro Martinez
50be159496 Add today marker when LTM chart goes to the future
Useful for planning
2016-03-25 13:06:04 -03:00
Mark Liversedge
beb663fa44 CP/W' Solver Allow Overlay
.. don't clear results, let the user clear them
   when ready -- so you can run multiple solver
   runs and look at the results visually.
2016-03-25 13:00:37 +00:00
Mark Liversedge
3a6a4cbbf2 Fix compile time warning
.. reorder initialisation warning (its harmless) but is a tad
   annoying as it commands attention !
2016-03-25 09:42:33 +00:00
grauser
cc486762f0 Add RideMapWindow : An unified Map Chart (1/2) 2016-03-25 09:28:25 +01:00
Mark Liversedge
b1e5bfb081 CP/W' Solver Colors
.. R is in range 0.2 - 1.0 realistically
2016-03-24 20:30:00 +00:00
Mark Liversedge
d9493e3d62 Thread Safety for PD Estimates (SEGV)
.. we refresh in a thread so need to protect
   access to them via a QMutex.
2016-03-24 20:03:45 +00:00
grauser
61b4ad3274 BingMap: Correct interval highlighting 2016-03-24 14:45:24 +01:00
Erik Botö
4b31535399 Use filename suffix to determine filetype if possible during export 2016-03-24 12:37:05 +01:00
Mark Liversedge
c02bacc57b Revert "Fix "out-of-source" build"
This reverts commit 95548d9258.

It causes a rebuild every time make is called.
2016-03-24 08:23:36 +00:00
Mark Liversedge
f3fbad5848 Import Wizard Error messages
.. better handling
.. manual apply of Magnus Gille PR.
2016-03-24 07:48:05 +00:00
Mark Liversedge
94a00a9c16 Merge pull request #1894 from Joern-R/Build
Fix "out-of-source" build
2016-03-24 07:31:24 +00:00
Mark Liversedge
0ed92912bd Merge pull request #1889 from erikboto/fix_plot_resize_trainview
WorkoutWidget: increase x-axis length during workouts if needed
2016-03-24 07:30:49 +00:00
grauser
35c8585b07 BingMap: compatible QtWebEngine + small corrections 2016-03-24 00:51:39 +01:00
Mark Liversedge
c0530778a8 Ridefile Interval types fix
.. added EXHAUSTION but didn't follow it through, but it
   was left defined in RideFile.h.
2016-03-23 20:43:13 +00:00
grauser
b41b3a9c10 GoogleMapControl: Small changes
Google Maps API warning: SensorNotRequired
     https://developers.google.com/maps/documentation/javascript/error-messages#sensor-not-required
2016-03-23 21:16:18 +01:00
grauser
9e52e7b534 GoogleMapControl: compatible QtWebEngine 2016-03-23 20:36:22 +01:00
grauser
6765c0599c ModelLab: Add version 7.3 2016-03-23 20:36:22 +01:00
Mark Liversedge
c7311a5595 Fix Strava Build
.. error introduced in commit 08dca02f13
2016-03-23 18:43:12 +00:00
Mark Liversedge
d2a5da6b23 Static analyzer serious bugs fixed
.. all are memory leaks
2016-03-23 18:43:12 +00:00
Mark Liversedge
ff398616b5 Merge pull request #1897 from lumanz/master
Update language setting in CloudDBCommon.cpp
2016-03-23 16:42:24 +00:00
Mark Liversedge
474eb562c1 typos in comments 2016-03-23 13:25:25 +00:00
Sping Zhao
454790a5ca Update CloudDBCommon.cpp 2016-03-23 20:55:05 +08:00
Mark Liversedge
339deeca16 Hack fix for CERVO 2016 date bug
.. LYC set the date to 2000 from 2016 !

.. we check the date when downloading from a CERVO and if the year
   is set to 2000 we set it to the current year.

.. if the date resulting is in the future (e.g download a ride in Jan
   2017 from a ride in Dec 2016) then we subtract a year.

.. it will be interesting to see what happens in 2017 !
2016-03-23 11:18:03 +00:00
Mark Liversedge
63be824773 Power Color in ERG and MRC mode
.. courtesy of Claus Assmann
2016-03-22 13:21:55 +00:00
Mark Liversedge
933d5cce86 Merge pull request #1896 from erikboto/nowebkit_buildfix
LTMWindow: Fix missing include when building NOWEBKIT without GC_HAS_…
2016-03-22 12:12:47 +00:00
Erik Botö
e7a99edf61 LTMWindow: Fix missing include when building NOWEBKIT without GC_HAS_CLOUD_DB 2016-03-22 12:40:33 +01:00
Mark Liversedge
307a8c785d RideSummaryWindow wait till set before runJavaScript()
.. not clever to run JS on the summary before any content is loaded
2016-03-21 15:19:26 +00:00
Mark Liversedge
697e513ad0 Fix LTM Tracker SEGV
.. fix uninitialised data
2016-03-21 14:02:03 +00:00
Mark Liversedge
4f7e7759b3 RideSummaryWindow refresh optimisation
.. for every time the ride item changed signal caused a refresh the
   intervals changed signal would cause a second refresh straight away.
2016-03-21 12:19:32 +00:00
Mark Liversedge
9df6d2188d Merge pull request #1895 from AartGoossens/feature/refactor_hrpw_plot
Refactor of HrPw code FR > EN
2016-03-20 19:08:35 +00:00
Aart Goossens
eed3cd7073 Added .swp to .gitignore
.swp files are swap files for VIM
2016-03-20 19:41:29 +01:00
Aart Goossens
76abbd4bf4 Refactor of HrPw code FR > EN 2016-03-20 19:41:25 +01:00
Mark Liversedge
8c38695419 Qt 5.6 NOWEBKIT fixups for OSX
.. OAuthDialog changes had a logic error in the
   conditionals for WebKit v WebEngine
2016-03-20 15:10:28 +00:00
Mark Liversedge
e90ba5dbd1 Fixup missed in prior commit. 2016-03-20 14:21:39 +00:00
Mark Liversedge
888a41098f Fixups NOWEBKIT when not set
.. builds without NOWEBKIT broke with last commit
2016-03-20 13:52:30 +00:00
Mark Liversedge
8b73af182e Qt 5.6 Support - NOWEBKIT
.. remove Webkit dependency if the user adds the following
   to their gcconfig.pri: DEFINES += NOWEBKIT

.. at present the build disables:
   * Bing map
   * Google map
   * Ride Window
   * Street View

.. since QT 5.6 enables c++11 dependent libs may no longer
   compile with c++11 enabled (e.g. qwtplot3d)

.. this is experimental and in place to enable further work
   on deprecating the webkit dependency in GoldenCheetah v4.0
2016-03-20 13:25:00 +00:00
gcoco
6817a519a7 Add -lusb-1.0
Make it easier to understand that this is using libusb-compat and libusb-1.0.
[ci skip]
2016-03-19 10:34:14 -04:00
Joern
95548d9258 Fix "out-of-source" build
... translation files are searched for in the "src" dir, but where created in the build dir
2016-03-19 12:54:53 +01:00
Mark Liversedge
c4fb16dcd9 Add Device Wizard Size Hint
.. lots of devices to choose from now, dialog needs to be larger.
2016-03-19 10:58:04 +00:00
gcoco
5930a43f3a Reenable Qt 5 builds
Use a script to install Qt. We force Qt5 to pick Qt 5.5.1
[ci skip]
2016-03-18 21:44:52 -04:00
gcoco
8905afd22e Install Qt 5.5.1 from brew
Because QT 5.6 breaks stuff
[ci skip]
2016-03-18 21:42:50 -04:00
Mark Liversedge
831964715c CI Disable QT5 test builds as 5.6 breaks things
.. notably c++11 needed which breaks a few dependencies

.. WebKit is not available and breaks our builds

.. we will likely need to fixup WebEngine and c++11 in some
   fashion. This may mean we deprecate qwtplot3d and we
   pre-build WebKit for builds
2016-03-18 21:42:08 +00:00
Mark Liversedge
a8ce6cf05e Merge pull request #1893 from erikboto/add_kettler_support
Add support for Kettler Ergo Bikes
2016-03-18 21:39:51 +00:00
Mark Liversedge
d2b98d26bd UserData Dialog SizeHint
.. coding through a letterbox is never fun, so made it a bit bigger
2016-03-18 17:27:28 +00:00
Erik Botö
fc8fd45070 WorkoutWidget: increase x-axis length during workouts if needed 2016-03-18 12:55:03 +01:00
Mark Liversedge
bdcbb84b12 DataFilter fix unary '-'
.. was evaluating to zero always.
2016-03-18 11:39:30 +00:00
Mark Liversedge
af69e86e8b Solver Display CP config box fix
.. x,y co-ord of box was too low as used W' from not W' to
   as the maximum value.
2016-03-17 22:30:44 +00:00
Mark Liversedge
48720e7ae1 CP/W' label on SolverDisplay nit 2016-03-17 20:12:52 +00:00
Mark Liversedge
3aab4f4f8b Hack for Uncompressed MouseMove Events on X11 QT5 < 5.6
.. there is a fixup for this in Qt 5.6 but not prior and
   it causes horrible performance problems on the QXT
   span slider on Linux, which is irritating when trying
   to zoom into an area of a ride.
2016-03-17 18:37:23 +00:00
Mark Liversedge
f4e16bf5c3 Fix initialisation bug
.. count=0 in SolverDisplay
2016-03-17 13:59:23 +00:00
Mark Liversedge
4913560f90 Recognise Johan Martensson 2016-03-17 11:53:46 +00:00
Johan Martensson
ea969c18e2 Fix for Withings Readings without Weight
.. when searching for weight in withings readings there will
   be measurements that do not include weight -- these are
   now skipped to avoid returing a 0kg weight.
2016-03-17 11:50:40 +00:00
Mark Liversedge
83f026d9d4 Solver Display Cursor labels for CP/W'
.. so you can explore the solutions found

NOTE: there is a hack in this to avoid mouse event compression
      issues on QT5 < 5.6 on X11 (Linux).
2016-03-17 11:03:32 +00:00
Mark Liversedge
a135bdb1d3 CP/W' Solver code tidy
.. destructor to prevent memory leak
.. reset when solver completes
.. sizeHint for better layout if screen big enough
2016-03-17 08:06:51 +00:00
Mark Liversedge
d71fba12f8 Solver Display Cosmetic Nits
.. frame for plot and spacing of dialog.
2016-03-16 20:24:33 +00:00
Mark Liversedge
9e5a348539 Solver Display limit painting
.. don't paint dots for cost > 100kJ. It was good for debugging
   and checking the solver, but now its just distracting and a
   very large performance overhead.
2016-03-16 19:53:37 +00:00
Mark Liversedge
ee3bcb4224 Solver Display Color Code Tau
.. red low, green mid, blue high
2016-03-16 18:44:09 +00:00
Mark Liversedge
a314f28847 SolverDisplay show config box
.. show area covered by current configuration for CP and W'
   as context for the solver and enlarged by 10% for good
   measure.
2016-03-16 16:45:38 +00:00
Mark Liversedge
29b0815341 Merge pull request #1887 from lumanz/master
Language setting update for Simplified Chinese
2016-03-16 12:39:59 +00:00
Sping Zhao
bd88c1a81f Update src.pro 2016-03-16 20:00:47 +08:00
Sping Zhao
6621c4c1f3 Update application.qrc 2016-03-16 19:59:45 +08:00
Sping Zhao
3d6b6d6f78 Update Pages.cpp 2016-03-16 19:58:01 +08:00
Mark Liversedge
6bad8a6a2e Solver Solve for W'bal=500
.. athletes fail at around 500J not 0 !

.. see http://www.ncbi.nlm.nih.gov/pubmed/24509723
2016-03-16 10:53:35 +00:00
Mark Liversedge
e0daa72b3c CP Solver Colors
.. color the solutions found by cost

.. it looks like there is some kind of continuous solution
2016-03-16 08:59:56 +00:00
Mark Liversedge
931ce07e99 CP/W' Solver Part 3 of 3
.. added a visualisation of the search progress.
.. can be refined later to color lowest cost etc.
2016-03-15 22:29:11 +00:00
Erik Botö
5300f5179d Add support for Kettler Ergo Bikes 2016-03-15 20:41:39 +01:00
Mark Liversedge
2173688939 Solver Part 2c of 3
.. threading didn't improve performance, it made things worse!

.. but now added R for differential formula; this is the recharge
   factor for recovery.
2016-03-15 14:50:18 +00:00
Mark Liversedge
140b700beb Allow Tau in Metadata to override
.. since we solve for it, should let the user set it in the ridefile.
2016-03-15 11:39:41 +00:00
Mark Liversedge
3e3d9a6b7f Merge pull request #1886 from lumanz/master
Added new translation for simplified Chinese
2016-03-15 07:17:49 +00:00
Sping Zhao
5004851b01 Merge pull request #1 from lumanz/lumanz-patch-1
Added new translation file for simplified Chinese
2016-03-15 07:31:15 +08:00
Sping Zhao
b32a63e1c1 Update src.pro 2016-03-15 07:29:33 +08:00
Sping Zhao
3876f593f1 Added files via upload 2016-03-15 07:27:24 +08:00
Mark Liversedge
88aaa73504 comment nit
.. cut and paste comment in the cp solver was a tad misleading!
2016-03-14 21:39:08 +00:00
Mark Liversedge
88e964d3b2 CP/W' Solver Part 2b of 3
.. let the user stop the iterations

.. part c (last part of 2) needs to support threads
2016-03-14 20:56:13 +00:00
Mark Liversedge
9ec933b30f Solver User Constraints
.. user can constrain the search space to plausible ranges for their
   training status and history
2016-03-14 19:48:58 +00:00
Mark Liversedge
131e55738e CPSolver Simulated Annealing Fixups
.. probability(), temperature() and neighbour() functions were
   not implemented for a correct SA implementation.

.. results still need to be constrained to avoid solutions that
   are implausible for the athlete status or history
2016-03-14 18:20:39 +00:00
Mark Liversedge
a4f07b1457 Solver Integral and Differential
.. support either model

.. the simulated annealling algorithm isn't quite right, need
   to look at the probability function and improve it.
2016-03-13 09:37:01 +00:00
Mark Liversedge
2c1e715b51 Don't need a static counter
.. bit of a brain fart. fixed.
2016-03-12 19:04:34 +00:00
Mark Liversedge
b60690e66a Performance Nit OSX
.. too many updates slowed it down *badly*
2016-03-12 15:29:28 +00:00
Alejandro Martinez
f518cf6f74 Merge pull request #1880 from amtriathlon/master
Finished Metrics Descriptions
2016-03-12 11:31:48 -03:00
Alejandro Martinez
24071a9736 Added tooltip for metadata fields and PMC metrics on LTM charts 2016-03-12 10:51:25 -03:00
Alejandro Martinez
cbe24160a7 Added initialize method and descriptions to MMP Percentage, Fatigue Index and Pacing Index
initialize enables tr() to work since it is ran after translator tables are loaded
2016-03-12 10:51:23 -03:00
Alejandro Martinez
18860210d6 Added remaining metric descriptions
For plain power and pace peak metrics the name is descriptive enough
2016-03-12 10:51:22 -03:00
Alejandro Martinez
df19d4ec72 Added Descriptions for WPrime metrics 2016-03-12 10:51:20 -03:00
Alejandro Martinez
4694fc3091 Added Descriptions for Time and Percent of Time in Zone metrics 2016-03-12 10:48:46 -03:00
Alejandro Martinez
88137a7a24 More Metrics Descriptions
Aerobic Decoupling, Daniels Points, Left Right Balance and TRIMPs
2016-03-12 10:48:43 -03:00
Mark Liversedge
d493d881a5 CP/W' Solver Part 2a of 3
.. added a solver using a simulated annealing algorithm.

.. the solver is constrained to physiologically plausible
   values, but these may not be valid for the athlete. So
   a second update is required to allow the user to constrain
   the solver.

.. secondly, the algorithm cannot be halted and doesn't use
   multiple CPUs/threads should they be available this should
   be in a second update to part 2

.. finally, a visualisation is needed to show the solver progress
   across the search space to give the user an indication of
   where the best solutions were found (especially if they don't
   constrain it themselves).
2016-03-12 11:35:36 +00:00
Mark Liversedge
de0a1e93f1 CP/W' Solver Part 1 of 3
.. add the dialog to mainwindow, but not functioning.

.. Part 2 will add the Solver and Part 3 will add the
   progress visualisation.

[this is a recommit after reverting the previous one
 that borked line endings to MSDOS crlf]
2016-03-11 16:10:26 +00:00
Mark Liversedge
9fb184c748 Revert "CP/W' Solver Part 1 of 3"
.. line endings inadvertently set to MSDOS, causes all change history
   in the file to be lost, so reverting and will push again.
2016-03-11 15:53:12 +00:00
Mark Liversedge
3d741aea3f ChartBar margins too think on Mac
.. looked weird.
2016-03-11 15:42:55 +00:00
Mark Liversedge
7e559a7bf6 CP/W' Solver Part 1 of 3
.. add the dialog to mainwindow, but not functioning.

.. Part 2 will add the Solver and Part 3 will add the
   progress visualisation.
2016-03-11 15:04:38 +00:00
Mark Liversedge
a0536ed2ec Merge pull request #1882 from erikboto/fix_own_dropbox_id_bug
Settings.h:  Don't redefine GC_DROPBOX_CLIENT_ID if it's defined in g…
2016-03-11 12:11:26 +00:00
Mark Liversedge
a2dba1edfc Merge pull request #1881 from erikboto/basic_fe-c_stationary_support
Add basic support for ANT-FE-C Stationary Bikes
2016-03-10 14:41:42 +00:00
Erik Botö
d8212649a8 Settings.h: Don't redefine GC_DROPBOX_CLIENT_ID if it's defined in gcconfig.pri 2016-03-10 13:34:40 +01:00
Erik Botö
b9b8aec852 Add basic support for ANT-FE-C Stationary Bikes 2016-03-10 12:10:53 +01:00
Mark Liversedge
8f1bceaa61 Merge pull request #1879 from amtriathlon/master
Added Descriptions for Skiba cycling metrics
2016-03-09 18:35:26 +00:00
Alejandro Martinez
c0dbad1d05 Added Descriptions for Skiba cycling metrics 2016-03-09 13:56:12 -03:00
Mark Liversedge
98d93a7184 Remove errant qDebug 2016-03-09 14:08:19 +00:00
Mark Liversedge
47f7dee3bf LTM None means None
.. when plotting dots with symbol none we don't
   plot anything. This is useful for just plotting
   top or bottom N.
2016-03-09 14:06:15 +00:00
Mark Liversedge
bf7f570fc8 Fix LTMOutliers crash
.. out of bounds memory access
2016-03-09 12:45:51 +00:00
Mark Liversedge
8974cd8ab2 src.pro nit
.. QT Creator refactoring of ToolsDialog -> EstimateCPDialog
   updated src.pro, but not in the places we like.
2016-03-09 08:40:46 +00:00
Mark Liversedge
9c3f9523fd Tidy Up Tools Menu
.. options should be the last menu item
.. rename ToolsDialog -> EstimateCPDialog
.. move findIntervals to Activity menu
2016-03-09 08:27:16 +00:00
Mark Liversedge
43f4416a26 Merge pull request #1878 from amtriathlon/master
Added Descriptions for Coggan Metrics
2016-03-09 07:46:55 +00:00
Alejandro Martinez
fc690eeeda Added Descriptions for Coggan Metrics 2016-03-08 21:07:45 -03:00
Mark Liversedge
cc13edd833 Fix QT4 build on QVector::removeAt
.. it wasn't available till QT 5.
2016-03-08 21:34:08 +00:00
Mark Liversedge
99e3a50985 To Exhaustion Metric
.. count of marks in activity for points of exhaustion, mostly useful
   for filtering on rides that contain them
2016-03-08 21:29:48 +00:00
Mark Liversedge
fbfa02e73e Fixup Mark Exhaustion
.. allow delete
.. refresh properly
.. double click on axis to edit list of exhaustions in the ride
2016-03-08 21:07:56 +00:00
Mark Liversedge
5b26bb7bdc Exhaustion Lines Initial
.. marking exhaustion, a WIP
2016-03-08 08:28:07 +00:00
Mark Liversedge
6c120ec4aa Merge pull request #1876 from amtriathlon/master
Completed BasicRideMetrics descriptions
2016-03-08 07:27:27 +00:00
Alejandro Martinez
3d93e34785 Completed BasicRideMetrics descriptions 2016-03-07 20:56:05 -03:00
Mark Liversedge
bd83dc782a Merge pull request #1873 from viiru-/fix-1829
Fix build failure reported as #1829
2016-03-06 10:14:50 +00:00
Arto Jantunen
e6700f569c QWT: Remove qwt_scale_map_table.h from SOURCES 2016-03-06 11:52:55 +02:00
Mark Liversedge
7622d47770 Compile time nits
.. cleaning out warnings.
2016-03-06 08:57:24 +00:00
Mark Liversedge
f7e8625f7f Merge pull request #1872 from gcoco/udev-rule
Add USB1 stick
2016-03-06 08:36:14 +00:00
gcoco
19ab30289f Add USB1 stick
So that those using USB will have write capabilities
2016-03-05 21:59:54 -05:00
Alejandro Martinez
f7a1a0fbd1 Added metric description tooltip in curve settings for LTM charts 2016-03-05 14:49:09 -03:00
Alejandro Martinez
583100df89 Merge pull request #1871 from amtriathlon/translations
Update Translations to the new src directory structure
2016-03-05 13:52:22 -03:00
Alejandro Martinez
814cb5b990 Merge pull request #1870 from amtriathlon/master
Show metric description as tooltip in config metric lists
2016-03-05 13:24:23 -03:00
Alejandro Martinez
4686bc497f Fixed Italian Translation in Diary Sidebar
Date format was incorrectly translated to plain text
Days of the week were not abreviated
2016-03-05 13:22:01 -03:00
Alejandro Martinez
7ba1ea8437 Update translations to the new src directory structure 2016-03-05 13:08:26 -03:00
Alejandro Martinez
5b91fbbb4d Show metric description as tooltip in config metric lists
For builtin metrics it shows the newly added description if available
and refers to the Glossary otherwise
For user defined metrics it is the text provided by the user
Complete descriptions for Running and Swimming metrics and partial
update for BasicMetrics, it defaults to a message referring to the wiki.
Fixes #1850
2016-03-05 10:59:55 -03:00
Mark Liversedge
1f88091178 Don't need QtScript in src.pro
.. we don't use it and its deprecated in QT 5.6 anyway
2016-03-03 20:56:42 +00:00
Mark Liversedge
6025681f92 Fixup for GoogleDrive on QT < 5.4
.. rather than only build with Google Drive support if
   using QT5.4 just adapt the code to avoid issues with
   QJsonObject -> operator present in QT5.x < 5.4.

.. see https://bugreports.qt.io/browse/QTBUG-29573
2016-03-03 19:21:23 +00:00
Mark Liversedge
4fa88281d4 Fix Preferences Save useMetricUnits bug
.. when saving weight/height the saveClicked() function was using the
   value in context->athlete->useMetricUnits to decide if to perform
   conversion of the values stored in the widgets -- BUT -- it will
   reflect the value BEFORE our update since it has not been updated
   yet (via the configChanged() signal.

.. instead we look at the pending value when deciding if the values
   need conversion.

Fixes #1868
2016-03-02 21:12:30 +00:00
Mark Liversedge
82fe34affc GoogleDrive needs QT 5.4 or higher
.. so update in src.pro and MainWindow.
2016-03-02 07:58:46 +00:00
Mark Liversedge
e4f815e075 Merge pull request #1867 from gille/google
Fixes for v3 API.
2016-02-29 08:01:22 +00:00
Magnus Gille
eed0c1e368 Fixes for v3 API.
DownloadURL no longer exists so we have to create it ourselves.
Page size no longer limited to 100.
2016-02-28 19:50:46 -05:00
Mark Liversedge
0fe65b4ce2 MSVC .gitignore
*.opt
2016-02-27 11:04:00 +00:00
Mark Liversedge
181d304d41 Fix src.pro always linking
.. infuriating issue of always running the linker step when
   running make, even if not needed.
2016-02-27 10:12:05 +00:00
Mark Liversedge
2233f53757 UML Future Chart Update
.. using Visual Paradigm 13.0
2016-02-27 10:12:05 +00:00
Mark Liversedge
be3d263922 Merge pull request #1864 from Joern-R/WinBuild
WinBuild Problem
2016-02-27 10:11:50 +00:00
Joern
f19024e717 WinBuild
... icon not found on Windows/MSVC compile
2016-02-27 10:46:09 +01:00
Mark Liversedge
2529acab31 Revert "Fix src.pro always linking"
This reverts commit 836def1f20.

It breaks Travis-CI and the .qm files are not rebuilt when deleted.
2016-02-26 21:54:09 +00:00
Mark Liversedge
836def1f20 Fix src.pro always linking
.. thanks to Ivor Hewitt for the fix
2016-02-26 21:00:52 +00:00
Mark Liversedge
adbe8443fd Future Chart Design Update
.. simplified a little.
2016-02-26 17:52:45 +00:00
Mark Liversedge
37de998ccf Windows Disable ScreenSaver Train View
.. previously it was disabled via VLC, but if you're not running
   with video then the screensaver will kick in on Windows.

.. we now disable it via the Windows API too

Fixes #1859
2016-02-26 12:49:49 +00:00
Mark Liversedge
74b21037d1 Reorg Mac plist location fixed 2016-02-26 11:05:44 +00:00
Mark Liversedge
cc6bd2c077 Clean qtsoap common.pri
.. just to get rid of tedious warning in QT Creator
2016-02-26 10:21:14 +00:00
Mark Liversedge
052b82c611 .gitignore QT creator autosave files
[ci skip]
2016-02-26 10:04:11 +00:00
Mark Liversedge
804f30502e Reorg tidy src directory
.. move the fluff that has collected into the src directory
   to somewhere more appropriate.
2016-02-26 09:28:28 +00:00
Mark Liversedge
18cf59bd37 Reorg LTMSidebar belongs in "Gui"
.. not in Charts
2016-02-26 08:37:45 +00:00
Mark Liversedge
dab964b9af Reorg Wizards belong in "Gui"
.. not FileIO
2016-02-26 08:33:32 +00:00
Mark Liversedge
e9fce8da1a Fix "SOURCE" Typo in src.pro
.. for local developments
2016-02-26 07:46:55 +00:00
Mark Liversedge
67b3185e5d Reorg Dialogs belong in "Gui"
.. so new developers can find them !
2016-02-26 07:41:28 +00:00
Mark Liversedge
f4774b675e Recognise Lucas Garoto
.. for contributions to the wiki
2016-02-26 07:28:28 +00:00
Mark Liversedge
6e55f1803a Ignore QT Creator src.pro.user file
.. its a local file and not relevant to anyone else.
2016-02-25 18:20:00 +00:00
Mark Liversedge
e7fe61f367 Move RideCache to Core
.. it was in FileIO
2016-02-25 16:37:12 +00:00
Mark Liversedge
5564348be9 Fixup Directory reorg for Windows
.. windowsico.rc points to wrong image
2016-02-25 15:40:05 +00:00
Mark Liversedge
6f55ca62e9 Fixup Directory Reorg for Travis-CI and OSX builds
.. wrong path for D2XX
.. Secrets.h has moved
.. QtMacVideoWindow.h should be in Gui
2016-02-25 15:28:20 +00:00
Mark Liversedge
0a20387c34 Mv antlog python script to util 2016-02-25 15:03:22 +00:00
Mark Liversedge
7b582a9168 Restructure source directory
Introducing a directory structure to make it a bit less
daunting for new developers and perhaps even old hands.

The main folders all start with an upper character, so src
files are now located in;

* Core - Core data structures
* Gui - Main GUI elements
* Metrics - Models and Metrics
* FileIO - Device and File I/O
* Charts - All the chart types
* Cloud - Working with Web Resources
* Train - Anything Train View specific
* ANT - Our ANT+ Stack
* Resources - Images, Translations, Web etc

Apologies to anyone who needs to merge across this update.
2016-02-25 14:51:53 +00:00
Mark Liversedge
dc59b4763b UML Design Future Chart
.. using scatter plot of metrics as a basis to develop a class
   hierarchy to replace all chart 'types' by a single suite of
   classes

.. this is to enable easier additions of features like interval
   analysis and UX as well as greater consistency (data that is
   available, functions etc)

.. but for v4.0 we will just use this to introduce a scatter plot
   for the trends view and develop it further in v4.1

.. this is the initial class design.
2016-02-25 10:38:37 +00:00
Mark Liversedge
154d0c6c92 OSX Don't Embolden Fonts
.. for the scopebar and sidebar items, the bold font looks
   rather garish on OS X. But less so for Windows/Linux.
2016-02-24 15:12:34 +00:00
Mark Liversedge
3db170ec4c MainWindow LHS Action Buttons gone
.. for OSX
2016-02-24 13:18:20 +00:00
Mark Liversedge
aae03a3f1d Fix User Metrics XML parsing
.. \\n -> \n processing was missed.
2016-02-22 10:43:55 +00:00
1032 changed files with 890256 additions and 93615 deletions

2
.gitignore vendored
View File

@@ -11,6 +11,8 @@ Makefile
.svn
*.pri
*.prl
*.swp
*.user
# osx noise
.DS_Store

View File

@@ -7,9 +7,8 @@ compiler:
- gcc
env:
matrix:
## Test 4.8 or 5.4.2
- BRANCH=master QT=qt4 QT_PATH=qt
- BRANCH=master QT=qt5 QT_PATH=qt5
- BRANCH=master QT=qt5 QT_PATH=qt5 QT_VER=5.5.1
global:
- secure: iqYW7f3//ZkMVzeCEarYn0S0DqKjFU9juBh0KF6WTlUsKX902Jtsk7dFoJlNDYBf63HLgV+wW2Hc6MxI9sGiUkom0gY9/To/aeGIJFGEX2sLm/e0Ok3qN521FA0Q/OiCFsD0RC6J+yrHxzI+rf8Z1rujceUsz2KgsrfAjYYv+BY=
- secure: C6f58PXwvvHeVOjCLbyDRjgyF0tk+bXjCNUDur8VJLhJEGNdnrt+rH+d3azYaX0n348ZnQZ14as4M4rHjN1A/3DRbdUdOS7PQZrkj/n363ck1tvYOG/tzYqkEcVoQyjIJ7ZoTuBXDQry/VJmLxQjM0glTa2upNFHMOMwqZNkF+I=
@@ -18,26 +17,29 @@ env:
- secure: rb/MKPHEK8yOK5uYpXq2o+MQ7h65ft+c/xE9XmLFk1jLnK0oxe6+KeoSFlQ0n5UwLSsHrytMXVaUHex6EEt0TheXFlohi7BcNFWRWXr+wLucuaPjMnU49VErrSigjJ5VW/rcR7fORmnDwn5y06r3Rer9SC1hImCxf/pqF8hFZps=
- secure: FXJzm98lwbc1R2eh9/CvVReVRHEPLDm+sCRjiV9HJgeCveIUauLasp9Skamz0c6OKLmkjLY8JERPT491ZgCG8YcQ9x1bM8HGbmRqnn9xSUxINIRzVmyTiLMBoT/ibHHeFjFpyiGfukOAkHwMNNsrSrbaekhiJuekaXo7iTwYQB0=
before_install:
## try early just to check, can delete later
- date
- brew update
##- sh travis/install-qt.sh
- brew install $QT
- sh travis/install-qt.sh
##- brew install $QT
- brew install libical
- brew install libusb libusb-compat
- brew install srmio
- brew install libsamplerate
- brew tap homebrew/science
- brew install r
## Disable KML for now
##- brew install --HEAD travis/libkml.rb
- sudo chmod -R +w /usr/local
- curl -O http://www.ftdichip.com/Drivers/D2XX/MacOSX/D2XX1.2.2.dmg
- git clone --depth 1 https://github.com/sintegrial/qwtplot3d.git qwtplot3d
- cd qwtplot3d
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+=-Wno-unused-private-field
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing"
- CC=clang CXX=clang++ make -j2
- cd ..
- git clone --branch 0.98 https://github.com/kypeli/kQOAuth.git kQOAuth-0.98
- cd kQOAuth-0.98
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+=-Wno-unused-private-field
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing"
- CC=clang CXX=clang++ make -j2 qmake_all
- CC=clang CXX=clang++ sudo make install
- cd ..
@@ -48,7 +50,7 @@ before_script:
- sudo cp /Volumes/release/D2XX/Object/10.5-10.7/x86_64/libftd2xx.1.2.2.dylib /usr/local/lib
- cp /Volumes/release/D2XX/bin/*.h D2XX
- sed -i "" "s|libftd2xx.dylib|@executable_path/../Frameworks/libftd2xx.1.2.2.dylib|"
src/D2XX.cpp
src/FileIO/D2XX.cpp
- cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
- cp src/gcconfig.pri.in src/gcconfig.pri
- /usr/local/opt/$QT_PATH/bin/lupdate src/src.pro
@@ -75,7 +77,7 @@ before_script:
- sed -i "" "s|#\(ICAL_INSTALL =.*\)|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(ICAL_LIBS =.*\)|\1 -L/usr/local/lib -lical|" src/gcconfig.pri
- sed -i "" "s|#\(LIBUSB_INSTALL =\).*|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(LIBUSB_LIBS =.*\)|\1 -L/usr/local/lib -lusb|" src/gcconfig.pri
- sed -i "" "s|#\(LIBUSB_LIBS =.*\)|\1 -L/usr/local/lib -lusb -lusb-1.0|" src/gcconfig.pri
- sed -i "" "s|#\(SAMPLERATE_INSTALL =\).*|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(SAMPLERATE_LIBS =\).*|\1 -L/usr/local/lib -lsamplerate|" src/gcconfig.pri
- sed -i "" "s|#\(DEFINES += GC_HAVE_LION*\)|\1|" src/gcconfig.pri
@@ -83,15 +85,17 @@ before_script:
- sed -i "" "s|#\(DEFINES += GC_WANT_ROBOT.*\)|\1 |" src/gcconfig.pri
- sed -i "" "s|\(DEFINES += GC_VIDEO_NONE.*\)|#\1 |" src/gcconfig.pri
- sed -i "" "s|#\(DEFINES += GC_VIDEO_QUICKTIME.*\)|\1 |" src/gcconfig.pri
##Issues with c++11 and stdlib on travis and dependencies (e.g. plot3d)
- sed -i "" "s|#\(DEFINES += GC_WANT_R.*\)|\1 |" src/gcconfig.pri
- echo "QMAKE_CFLAGS_RELEASE += -mmacosx-version-min=10.7 -arch x86_64" >> src/gcconfig.pri
- sed -i "" "s/__GC_GOOGLE_CALENDAR_CLIENT_SECRET__/"$GC_GOOGLE_CALENDAR_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_STRAVA_CLIENT_SECRET__/"$GC_STRAVA_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_DROPBOX_CLIENT_SECRET__/"$GC_DROPBOX_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_CYCLINGANALYTICS_CLIENT_SECRET__/"$GC_CYCLINGANALYTICS_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_TWITTER_CONSUMER_SECRET__/"$GC_TWITTER_CONSUMER_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_GOOGLE_CALENDAR_CLIENT_SECRET__/"$GC_GOOGLE_CALENDAR_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_STRAVA_CLIENT_SECRET__/"$GC_STRAVA_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_DROPBOX_CLIENT_SECRET__/"$GC_DROPBOX_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_CYCLINGANALYTICS_CLIENT_SECRET__/"$GC_CYCLINGANALYTICS_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_TWITTER_CONSUMER_SECRET__/"$GC_TWITTER_CONSUMER_SECRET"/" src/Core/Secrets.h
- cat src/gcconfig.pri
script:
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+=-Wno-unused-private-field
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing"
- CC=clang CXX=clang++ make qmake_all
- CC=clang CXX=clang++ make -j4 sub-qwt --silent
- CC=clang CXX=clang++ make -j4 sub-src

View File

@@ -114,13 +114,13 @@ need to be downloaded and installed from their website. Alternatively, you
can intall qt via macports (http://www.macports.org) as described in section
1.5.1.
As of today, the latest stable release is 4.7.4, we need 4.7 or higher so
As of today, the latest stable release is 5.6.0, we need 4.7 or higher so
go ahead and download the offline installer - it has everything you need
but is about 1.3GB. Please make sure you download the installer for Mac
OS X 10.6 or later, 64-bit.
The url for QT downloads is: http://qt.nokia.com/downloads and whilst the
offline installer is only 12mb it will still call back and download the
The url for QT downloads is: https://www.qt.io/download-open-source/#section-2 and
whilst the offline installer is only 12mb it will still call back and download the
required objects as you install, I think it is better to get it all in
one hit (and you can save it to reinstall on another computer or if you
want to rebuild/reinstall for any other reason).
@@ -141,9 +141,9 @@ Read and accept the license agreement and then continue and install.
We need to make sure that a program called qmake is installed in a directory where
it can be found. So, we need to create a link from what we just installed in the
user programs folder. For QT SDK1.1 (4.7.4) we need to:
user programs folder. For QT SDK (5.6) we need to:
$ sudo ln -s ~/QtSDK/Desktop/Qt/474/gcc/bin/qmake /usr/bin/qmake
$ sudo ln -s ~/Qt5.6.0/5.6/clang_64/bin/qmake /usr/local/bin/qmake
1.5.1 Install via Mac Ports
---------------------------

View File

@@ -8,10 +8,12 @@ INSTALL-LINUX For building on Ubuntu Linux
INSTALL-MAC For building on Apple OS X
[![Build Status](https://travis-ci.org/GoldenCheetah/GoldenCheetah.svg?branch=master)](https://travis-ci.org/GoldenCheetah/GoldenCheetah)
OSX: [![Build Status](https://travis-ci.org/GoldenCheetah/GoldenCheetah.svg?branch=master)](https://travis-ci.org/GoldenCheetah/GoldenCheetah)
Windows: [![Build status](https://ci.appveyor.com/api/projects/status/i6dwn4m8oyu52ihi?svg=true)](https://ci.appveyor.com/project/Joern-R/goldencheetah-knhd8)
[![Coverity Status](https://scan.coverity.com/projects/7503/badge.svg)](https://scan.coverity.com/projects/goldencheetah-goldencheetah)
Alternatively official builds are available from http://www.goldencheetah.org
whilst latest developer builds are available from http://goldencheetah.stand2surf.net
whilst latest developer builds are available from https://github.com/GoldenCheetah/GoldenCheetah/releases

32
appveyor.yml Normal file
View File

@@ -0,0 +1,32 @@
version: ci.{build}
image: Visual Studio 2015
clone_depth: 1
init:
# Setup QT 5.6.0 - 64Bit
- set QTDIR=C:\Qt\5.6\msvc2015_64
- set PATH=%QTDIR%\bin;%PATH%
# Setup MSVC - VS 2015
- CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
# Get the libraries
- ps: Start-FileDownload 'https://github.com/Joern-R/gc-ci-libs/releases/download/0.0.2/gc-ci-libs.zip' -Filename 'c:/gc-ci-libs.zip'
- 7z x c:/gc-ci-libs.zip -oC:\libs
install:
# choco install winflexbison
- copy qwt\qwtconfig.pri.in qwt\qwtconfig.pri
- copy c:\libs\gcconfig64-Release.appveyor.pri src\gcconfig.pri
build_script:
- qmake.exe build.pro -r -spec win32-msvc2015
- nmake
#notifications:
#- provider: GitHubPullRequest
# on_build_success: true
# on_build_failure: true
# on_build_status_changed: true

View File

@@ -0,0 +1,80 @@
// R API is C
#include <R.h>
#include <Rinternals.h>
#include <R_ext/Rdynload.h>
// an array of pointers to the actual functions
// in the native GC code -- these are initialised
// once the shared library has been loaded via
// a call to initialiseFunctions()
//
// for this test we only have one function
// GC.display() to make sure the concept works
static SEXP (*fn[6])();
// if we haven't been initialised don't even try
// to dereference the function pointers !!
static int initialised = 0;
// stub methods, call the GC routines if they've been initialised
SEXP GCdisplay() { if (initialised) return fn[0](); else return NULL; }
SEXP GCathlete() { if (initialised) return fn[1](); else return NULL; }
SEXP GCathleteHome() { if (initialised) return fn[2](); else return NULL; }
SEXP GCactivities() { if (initialised) return fn[3](); else return NULL; }
SEXP GCactivity() { if (initialised) return fn[4](); else return NULL; }
SEXP GCmetrics() { if (initialised) return fn[5](); else return NULL; }
SEXP GCinitialiseFunctions(SEXP (*functions[1])())
{
//fprintf(stderr, "RGoldenCheetah initialise functions\n");
// initialise all the function pointers
for(int i=0; i<6; i++) fn[i] = functions[i];
initialised = 1;
return 0;
}
// this function is called by R when the dynamic library
// is loaded via the R command > dyn.load("RGoldenCheetah.so")
// and is expected to register all the C functions to make
// available via the C interface
//
// By return, a number of functions will be created that provide
// wrappers in R (i.e. they call with the .C(xxx) notation and
//
// We so this to avoid using Rcpp / RInside which are not
// compatible with MSVC
void
R_init_RGoldenCheetah(DllInfo *info)
{
//fprintf(stderr, "RGoldenCheetah init is called!\n");
// initialise the parameter table
R_CMethodDef cMethods[] = {
{ "GCinitialiseFunctions", (DL_FUNC) &GCinitialiseFunctions, 0 },
{ "GC.display", (DL_FUNC) &GCdisplay, 0 },
{ "GC.athlete", (DL_FUNC) &GCathlete, 0 },
{ "GC.athlete.home", (DL_FUNC) &GCathleteHome, 0 },
{ "GC.activities", (DL_FUNC) &GCactivities, 0 },
{ "GC.activity", (DL_FUNC) &GCactivity, 0 },
{ "GC.metrics", (DL_FUNC) &GCmetrics, 0 },
{ NULL, NULL, 0 }
};
R_CallMethodDef callMethods[] = {
{ "GCinitialiseFunctions", (DL_FUNC) &GCinitialiseFunctions, 0 },
{ "GC.display", (DL_FUNC) &GCdisplay, 0 },
{ "GC.athlete", (DL_FUNC) &GCathlete, 0 },
{ "GC.athlete.home", (DL_FUNC) &GCathleteHome, 0 },
{ "GC.activities", (DL_FUNC) &GCactivities, 0 },
{ "GC.activity", (DL_FUNC) &GCactivity, 0 },
{ "GC.metrics", (DL_FUNC) &GCmetrics, 0 },
{ NULL, NULL, 0 }
};
// set them up
R_registerRoutines(info, cMethods, callMethods, NULL, NULL);
// make the initialiseFunctions callable from C
R_RegisterCCallable("RGoldenCheetah", "GCinitialiseFunctions", (DL_FUNC)&GCinitialiseFunctions);
}

BIN
doc/design/planning-UX.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

View File

@@ -37,6 +37,7 @@ vdottime(VDOT, distance)
MEAN MAX and ZONE FUNCTIONS
best(...)
tiz(...)
besttime(km)
PMC FUNCTIONS
lts(p1)
@@ -72,6 +73,10 @@ DATE RANGE SELECTION
daterange(start)
daterange(stop)
DATA PROCESSOR FUNCTIONS
autoprocess(filter)
postprocess(processor, filter)
RIDE SAMPLE DATA
SECS

BIN
doc/wiki/RChart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

BIN
doc/wiki/Rvideo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -1,6 +1,4 @@
exists(config.pri):infile(config.pri, SOLUTIONS_LIBRARY, yes): CONFIG += qtsoap-uselib
TEMPLATE += fakelib
QTSOAP_LIBNAME = $$qtLibraryTarget(QtSolutions_SOAP-2.7)
TEMPLATE -= fakelib
QTSOAP_LIBDIR = $$PWD/lib
unix:qtsoap-uselib:!qtsoap-buildlib:QMAKE_RPATHDIR += $$QTSOAP_LIBDIR

View File

@@ -3,21 +3,21 @@
////////////////////////////////////////////////////////////////////////////////
QwtPlotGappedCurve::QwtPlotGappedCurve(double gapValue)
: QwtPlotCurve(),
gapValue_(gapValue)
gapValue_(gapValue), naValue_(0)
{
}
////////////////////////////////////////////////////////////////////////////////
QwtPlotGappedCurve::QwtPlotGappedCurve(const QwtText &title, double gapValue)
: QwtPlotCurve(title),
gapValue_(gapValue)
gapValue_(gapValue), naValue_(0)
{
}
////////////////////////////////////////////////////////////////////////////////
QwtPlotGappedCurve::QwtPlotGappedCurve(const QString &title, double gapValue)
: QwtPlotCurve(title),
gapValue_(gapValue)
gapValue_(gapValue) , naValue_(0)
{
}
@@ -38,7 +38,7 @@ void QwtPlotGappedCurve::drawSeries(QPainter *painter, const QwtScaleMap &xMap,
// First non-missed point will be the start of curve section.
double x = sample(i).x();
double y = sample(i).y();
if ((y < -0.001 || y > 0.001) && x - last <= gapValue_) {
if ((y < (naValue_ + -0.001) || y > (naValue_ + 0.001)) && x - last <= gapValue_) {
int start = i-1;
int end = i;

Some files were not shown because too many files have changed in this diff Show More