.. similarly to embedding python when computing metrics
.. exactly the same semantics, although R isn't fussy
about whitespace.
.. and example metric might be:
{
value { %%R GC.result(19) %%; }
}
.. the interpreter is protected with a mutex which means
R programs will never run in multiple threads. This has
a performance penalty, but then using R for metrics is
likely to be rather specialised anyway.
.. allow the user to embed a python script into a datafilter.
.. this is primarily to enable the use of python when writing
user metrics.
.. the syntax is basically "%%python script %%" and it is
evaluated as an expresssion so the results can be assigned
to a variable or returned as a value.
.. additionally GC.result(double) has been added to the python
API to enable a return value to be set by the script.
.. since Python is really sensitive about white space its going
to be best practice to embed python scripts without honoring
any of the data filter spacing, for example:
{
value {
t <-
%%python
GC.result(100)
%%;
}
}
.. is likely to be a sensible way to use this.
.. also notice how the ; is needed after the expression. This
is because %%python ... %% is a numeric expression with the
same semantics as "1 + 2"
Similar to series but used to retrieve an XData series, like the R
activity.xdata counterpart, for example: GC.xdataseries("SWIM", "STROKES")
NB: I reserved xdata(name) to retrive a whole group of series by name
with its own sampling, not implemented in this commit.
.. since we will use it to share data via CloudDB and users must have
a mechanism for requesting their data is deleted.
.. since the GUID is used to anonymise the data the user must use it
to request the deletion, so we show on the about box.
When adding measures to an LTMPlot with other metrics, those measures
are not cleaned up properly on replot, because they don't have a symbol.
LTMPlot uses the symbol to store them in a 'curves' dictionary. All
metrics without a symbol are then identified by the default metric
symbol value, which is: "".
libvlccore is for plugins, but GoldenCheetah does not build a plugin. It
requires only functions available from libvlc.
Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
.. mad conflict .. where scipy.stats.linregress conflicts
with a sndfile and crashes when calling sf_check_fpe
.. see fix stolen from here: https://github.com/scipy/scipy/issues/8130