Any other activity file format GC supports can be imported,
conditioned using Fix Elevation, Fix GPS, etc. and exported
to GoldenCheetah .json format to be used for simulated rides
with synchronized video and position tracking.
Complements #3469, Fixes#3376
.. shows a little medal on the metric tile if it is a best for the
period. Shows if top 3, in order:
- all time, including the future
- all time till today
- last year
- last 90 days
- last 30 days
.. helps to highlight positives from most activities.
Initial implementation of #3482
LiveMap is hidden when GPS data is not available
New layout including Live Map and graphical widgets
added to video-layout.xml, zoom can be configured there.
The video layout file is extended to contain possibly several named
layouts. The file is read to list the layouts and offer a selection in
the Video Player chart settings menu. The file is then read again to
instantiate the selected layout.
* Base work for dynamic speed power curves.
* Add test for spindown - proof templates.
* Dialog for adding virtual power curve
* Finished.
* Potential typename fix.
* Fix another typename problem.
* const typename reorder
* Missing header in clang build.
* Fix error with static init order.
* Forgot to set id for known devices.
.. plot metric by category as a donut (pie) chart.
.. particularly useful as an overview of sport or workout codes for
multisport athletes.
.. also fixed up metadata selection which was broken (!)
.. layouts mucked up a bit, needed stretches
.. the filterset wasn't updated correctly, causing filtering to not
work in the way anticipated.
.. Activities metric should be a MetricType::Total, which will become
more popular on Metric tiles with filters (e.g. how many activities
> 0.85 IF etc).
But to check for errors.isEmpty() is overkill, when the returned value
is not NULL, they can be warnings according to RideFileImport interpretation.
Fixes#3479
.. updated the overview chart to support trend view and summarise
a season or date range.
.. scope now meaningful in the item registry.
.. added a new TopNOverviewItem to view a ranked list of activities
by metric.
.. updated sparkline to plot variable range (>30days)
.. sort and multisort datafilter functions adjusted as caused a
SEGV during testing (sorry not in separate commit).
Some accuracy was lost in an integer divison for speed and cadence in
getCadence and getWheelRPM, the expression was correct but non obvious
in setWheelRPM, and the speed was not reset upon disconnection for
CyclingPower while this service is used for power and speed when present.
All the commands to set the different parameters (weight, wheel size,
gradient or load, wind speed...) are added to BT40Device and
BT40Controller. A separate pull request will add support to actually
take advantage of these parameters, like the cyclist weight, now
available in this and other devices like the Fortius.
Currently, size is computed from the QWidget geometry height in pixels and then used to set the font size in points. In many cases the result is not that bad because, depending on the screen size and resolution, the pizel size is not that far from one point. We now convert from pixels to inch (DPI) and then from inches to points (72 points/inch). This solves the problem of the text being clipped sometimes or the margin being too large.
Since they reset the brackets, defeating their use by wattsAt and
forcing all searches start from the beggining, and generating
problems with ErgTimeRemaining, which depends on rightPoint.
This problems was introduced by 1402f6ad6aFixes#3491
Some nits from recent Overview updates:
* compiler error using 'and' instead of '&&', gcc happy, msvc not.
* kpi overview item default set to CP estimate
* add chart wizard formatting of final page.
.. uses a datafilter program to calculate a kpi and displayed alongside
a progressbar that shows how the value is progressing to a goal.
.. its really useful to compute across estimates, mmp etc without having
to write a custom metric
.. one simple example is to show CP estimates and progress towards
a target CP or 5 minute best, or perhaps weight.
A program to display the internally generated CP estimate using
the Morton 3 parameter model would be:
{ round(estimate(cp3,cp)); }
.. allow edit and remove of existing items on the overview.
.. due to the way widgets are managed by layouts we create the
configuration widgets on demand and they will be deleted
once the dialogs close.
.. this is fine for overview, but will require a significant
level of refactoring once we start adding charts such as
allplot, trends etc to be added to a chartspace.
[publish binaries]
.. 'Add Tile' added to the overview menu - to enable users to
choose and configure tiles to add to the dashboard.
.. ChartSpaceItems should now be registered to a new chart
space item registry, which will eventually replace the
current window registry
.. ChartSpaceItems need to register a method to create new
items with default settings and provide a widget for
configuring themselves.
.. A new config widget has been created to cover the
overview tiles and some gui components for selecting
metrics, metadata fields and ride series have also
been added.
.. In part 2 we need to add the ability to configure
existing tiles and also remove them.