Commit Graph

9496 Commits

Author SHA1 Message Date
Mark Liversedge
169bd9c4e0 Datafilter String Support - 1 of 4
.. Strings and vectors of strings are useful for plotting bar charts
   or wherever category variables are needed, they are also useful
   when working with xdata names and metadata within ride files.

.. Full support for strings will be introduced over the next 4
   commits, including this one (1 of 4):

   1 - Basics - Create, Assign, Coerce, isString
   2 - Operators - Logical, Math etc
   3 - Functions - sort, uniq, aggregate etc
   4 - String Functions - cat, split, toupper/lower etc

.. Will wait until all 4 commits are completed and string support
   is feature complete before updating the wiki.
2020-07-12 09:13:19 +01:00
Ale Martinez
5bd48dd4f6 Change Fix Speed DP name to Fix Speed from Distance
To match the english menu option, and set kph present
when it is not, even if values have not changed.
Both were misleading to users.
2020-07-11 15:29:03 -03:00
Ale Martinez
9b2226d3ba Install Python 3.7.8 for macOS Travis-ci builds
[skip appveyor]
Homebrew has upgraded python3 to 3.8.3 and, due to how dependences
are handled, it is difficult to continue to use Homebrew Python 3.7
2020-07-10 15:06:21 -03:00
Mark Liversedge
b91c8395c0 Revert "Fit : Decode Dev Fields"
This reverts commit 2e4fa9f406.
2020-07-10 08:51:31 +01:00
Mark Liversedge
cc27d6be84 Cosmetic nits and themes
.. tidying up after some recent changes, menu colors got mucked up and
   tested on low dpi monitors etc.
2020-07-10 08:51:03 +01:00
Ale Martinez
a1d2fd8f41 Fix Travis-ci macOS builds - restore python 3.7 simlinks
[skip appveyor]
Likely removed by python 3.8 forced upgrade.
2020-07-09 16:03:53 -03:00
grauser
a33a74923b AllPlot : Show/hide interval markers
fixes #2215
2020-07-09 17:18:10 +02:00
grauser
c701c8a510 RideWithGPS : Use API version 2 2020-07-09 17:13:11 +02:00
grauser
2e4fa9f406 Fit : Decode Dev Fields 2020-07-09 17:13:11 +02:00
Ale Martinez
9a72ab4269 Fix Travis-ci macOS builds - use python3.7
[skip appveyor]
Homebrew upgraded to python to 3.8, switched back to the 3.7.5
included with the Travis image until we decided to upgrade.
Changing to 3.8 requires to upgrade SIP to 5.x and testing.
2020-07-09 11:29:27 -03:00
Mark Liversedge
98ff3aaf11 Editor heading alignment fix
.. taken 10 years to fix this glitch.
2020-07-08 08:25:18 +01:00
Mark Liversedge
83b551deaf Fix SEGV on drop activity into compare pane
.. needed to check context was set before adding to deletelist.
2020-07-07 22:13:49 +01:00
Ale Martinez
af94c6f8c5 Change Python version to 3.7.8 for Travis-ci Linux builds
[skip appveyor]
Build are failing since the AppImage for 3.7.7 is no longer available.
[publish binaries]
2020-07-07 11:26:46 -03:00
Mark Liversedge
6349e53232 Fix MetricOverviewItem aggregation
.. bad bug, aggregation was lost and replaced with whatever the
   value of the last item is when aggregating metrics for a
   season.

[publish binaries]
2020-07-07 13:08:59 +01:00
Mark Liversedge
eba028475a Simplify and Finalise Dark/Light Theme
.. and also a border around overview cards, which makes the light theme
   easier on the eye.
2020-07-07 11:24:35 +01:00
Ale Martinez
e3d11c27a8 Train - Enable devices reordering via drag and drop
Fixes #3421
2020-07-06 20:00:07 -03:00
Mark Liversedge
0f73c15c0e Overview TopN select activity
.. click on item in list to select it and click thru to analysis view.

.. also implemented a hotspot() method in chartspaceitem to tell the
   chartspace to stop stealing events when in our hotspot-- in this
   case it was the area where we paint the list.
2020-07-06 10:16:17 +01:00
Mark Liversedge
20e0b4aeca Fix SEGV navigation with forward button
.. stackpointer increment before redo and indexing into the stack
   when stackpoint is -1 in NavigationModel::forward().

.. introduced in the last commit.
2020-07-06 08:06:12 +01:00
Mark Liversedge
b313cb4f37 Overview Bubble Select Activity
.. clicking on an activity in the trend overview bubble chart will
   switch to analysis view to look at it.

.. to support this all the underlying changes to navigation model
   and related have been updated to force view change and allow
   going back and forth in the navigation model.

.. along the way a couple of bugs were also squased. The worst was
   a SEGV related to Tab::rideSelected() calling MainWindow::sidebar.

.. now the main foundational code is in place we can add more click
   through opportunities; e.g. top N on overview, user chart.
2020-07-06 07:42:22 +01:00
Mark Liversedge
64da909243 Basic Navigation Model
.. back and forward buttons to navigate between views and selections.

.. currently limited to just rides, date ranges and views.

.. next step is to enable click to select from trends overviews to allow
   users to drill down from the season overview into activities and
   back again.

.. part of the shift from searching through lists to analyse data to
   exploring data visually with drill down and click through.

.. the buttons are very basic and there is no way to explore the
   history / recently viewed items etc. these will come later.

Fixes #3529
2020-07-05 16:38:30 +01:00
Ale Martinez
94c723f4a0 Fix Hr and Power Zone metrics
Sanity check was reversed so decimal part always computed to max
and becomes undervalued.
Fixes #3531
2020-07-05 11:27:40 -03:00
Ale Martinez
c16d4c4667 Fix crash when adding video without overlay widgets support
Disabled meters layout selector initialization when we don't
have overlay widgets support enabled.
Fixes #3530
2020-07-04 15:31:21 -03:00
Ale Martinez
3b2aa33c6a Run and Bike power estimators - add preconditions to description
Fixes #3528
2020-07-03 15:33:36 -03:00
Ale Martinez
e6938a38f8 Video Player - Add Reset Meters layout to default button
To allow users update video-layout.xml config file to the one
provided with the binary.
2020-07-03 15:08:49 -03:00
Mark Liversedge
5518ac98a8 Light/Dark theme settings again
.. just to ensure same aesthetic effect with tabs and overview in dark
   or light theme. last of these for a while, I promise.
2020-07-03 10:41:11 +01:00
Mark Liversedge
88e6c4cbd2 Apply theme set chrome to match
.. if a dark theme set chrome dark, if light set it light.
2020-07-03 07:03:30 +01:00
Mark Liversedge
b02a640d6e Selection Sidebar honor CCHROME config
.. the user can configure the colour of toolbars and sidebars, so this
   is honored in the sidebar painting,

.. we should look at separating out the way theme colors are edited;
   the core colors are more important than the pallete colors like
   CPOWER etc (and as an aside the palette colors should be usable
   from user chart config too).
2020-07-03 06:42:15 +01:00
Mark Liversedge
ec195656f7 GC Learning Curve PPT
.. upload into user doc
2020-07-02 15:33:58 +01:00
Ale Martinez
d0dba1d8a1 Reimplement isLowerBetter for User Metrics
User Metrics redefine type() so we need to use it instead of _type
Fixes #3527
2020-07-01 22:04:57 -03:00
Mark Liversedge
1599546b68 Honour RideMetric::isLowerBetter() when ranking
.. also tweaked the overview colors (sorry no separate commit).
2020-07-01 14:18:36 +01:00
Ale Martinez
709994c3e7 Add muscle mass and bone mass to Withings download
Fixes #3497
2020-06-30 19:01:50 -03:00
Ale Martinez
c2abdc2a5b Xert cloud download - spd and alt fields can have decimal part
Interpreting them as integers produces lot of zeros in those cases.
Fixes #3526
2020-06-30 14:17:45 -03:00
Stranger
cd2de5dc3d Russian translation update (#3522)
Correcting existing translations and adding new. This is the last part for the moment. The next one after the RC is released.
2020-06-28 10:26:42 -03:00
Mark Liversedge
d9df2bb76b Cosmetic nits
.. gap between ride list and sidebar color didn't get reset when change
   color theme in preferences. (was a nightmare to find the fix).

.. overview default backgrounds when changing themes were also really
   bad choices and toned down. quite why we have to change in pages.cpp
   and colors.cpp is a bit tedious.
2020-06-28 09:37:36 +01:00
Mark Liversedge
8ec6d513b8 Cosmetic nits
.. toolbar searchbox match chrome colors
.. trends add chart menu had 2 entries for the user chart.
2020-06-27 16:36:20 +01:00
Mark Liversedge
0b5153a6a5 Overview better date handling
.. new metric 'Activity Date' which is days since 1900/01/01 as a metric
   so can use wherever metrics are used.

.. added RideMetric::isDate() so we can mark as a date and honor setting
   in RideMetric::toString()

.. updated BubbleViz to support Dates by using xoff and yoff to truncate
   the values used when days since values.

.. changed the default config for a trends view bubble viz in overview
   to use activity date as the x-axis.

.. thanks to Ale for the original idea behind this.
2020-06-27 10:40:40 +01:00
Mark Liversedge
93259ce7e0 Overview improve displaying of time based metrics
.. we added isTime() and toString() for a reason, lets exploit some of
   that when converting metrics to strings.
2020-06-27 08:52:55 +01:00
Mark Liversedge
00b498c8b7 Datafilter uniq / multiuniq name change
.. the uniq function renamed to multiuniq to align with the way
   sort / multisort work

.. makes uniq behave in the way most people would expect.
2020-06-27 07:55:55 +01:00
Mark Liversedge
2162cb1374 Fix DataFilter uniq() SEGV
.. both validate and eval code reference fparms instead of leaf->fparms
   causing a SEGV when evaluating malformed expressions.
2020-06-26 23:14:05 +01:00
Mark Liversedge
13c91cf67d Overview Bubble on Trends View
.. repurpose the interval bubble to show activities instead of
   intervals.

.. changed the animation/transition to work better when looking at
   seasons by resizing the axes before updating the points.
2020-06-26 22:39:33 +01:00
Ale Martinez
ac5ae5027b LiveMap overlay video widget - show/hide according to Location data presence
Fixes the LiveMap dissapering on pauses, we could refactor to move
this and similar ElevationMeter operations to Start event.
2020-06-26 16:05:03 -03:00
Ale Martinez
e90eaf281f Travis-ci cache Python packages to reduce build time on macOS
[skip appveyor]
Not a great difference, but we are too close to 50' limit
Also reduce curl max time to avoid timouts.
For Linux buils remove --silent build to avoid the job being cancelled
2020-06-26 15:57:15 -03:00
Ale Martinez
5dd950c77b Revoke the blocking to upload Overview charts to CloudDB
The block was introduced in bb6d2552c0 to
avoid the upload of charts without configuration, now configuration is
possible and it will be interesting to see what layouts users share.
2020-06-25 11:34:59 -03:00
Mark Liversedge
9bdbf22f7c Datafilter samples() honor interval specification
.. the data filter is passed a spec to use for iterating over
   ride samples, but it was being ignored.

[publish binaries]
2020-06-24 20:36:18 +01:00
Michel Dagenais
a27065673c Allow Text meter widgets to be of same size and well aligned (#3506)
The y scale is computed from the font instead of only from the current content, to avoid having different scales between different Text widgets of the same size. For example, "kph" has a high k and low p, resulting in a text widget with bigger bounding box, and thus smaller scale than a text widget with "watts". Options are added for alignment and for text width, to help align the different entries. The formatting of metrics with the integer part as Text and fraction as AltText is more systematic and it is possible to add an AltTextSuffix, to specify the units when they are not provided in VideoWindow. The visibility of the BoundingRect and Background car be controlled.
2020-06-24 11:58:08 -03:00
Mark Liversedge
028e822aa4 Edit User metric warning if use sample() function
.. its much faster to vectorize and use the samples() function in init
   or value function when working with user metrics.

   for example this code:

   sample {
      work <- work + (POWER * recIntSecs);
   }
   value { work; }
   count { Duration; }

   should be refactored to:

   value {
      work <- sum(samples(power) * recIntSecs);
   }
   count { Duration; }
2020-06-24 08:17:58 +01:00
Ale Martinez
fdf6d4e862 Python XDataSeries - Don't use RideFileCommand when readOnly
It is unnecessary and too slow
Fixes #3445
2020-06-23 21:16:28 -03:00
Alejandro Martinez
0e3766a504 Add EPM - Ergo Planet Movie format import (#3520)
To be used as workouts and videosync with free Ergo Planet Videos
EPM files contain video sync plus geolocation information in XML format
Library of free rides: http://wiki.ergoplanet.de/myor/roadmovie-galerie

The problem is altitude set to zero in those examples, likely because it is
redundant when you resort to the EPP (Ergo Planet Program) for slope data,
but the EPP is an unpublished binary format we don't support directly.

So the workflow to use the those synchronized videos is:
1) Import the .epm file to GoldenCheetah as an activity
2) Use Fix Elevation and Fix GPS to add and smooth elevation and route data
3) Export the conditioned activity to GoldenCheetah JSON format
4) Import the .json file as Workout and VideoSync files,
   plus the .avi as media in GC Train mode using Scan Workouts and Media
5) Train using a Video Window with overlay widgets and simulated speed for
   better experience.
2020-06-23 17:11:02 -03:00
Ale Martinez
3bfcfa57aa Implement RideMetric value and toString with 2 parameters for Pace metrics
Fix base class toString 2 parameters bug
Use toString(metric, value) in getStringForSymbol to avoid setting the value
Use toString(metric, value) in MetricOverviewItem::setDateRange for testing
2020-06-23 15:51:57 -03:00
Stranger
4d205bd742 Update Russian translation (#3519) 2020-06-22 16:47:02 -03:00