Remember the selected video or workout when refreshing list
on data change. This is particularly relevant when dragging
and dropping in videos and workouts.
- Added drag and drop dialog and functionality
- if only 1 video/workout imported it is imported and selected
- if multiple they are imported with a dialog
- now shows any references in the scan function
The use of references to avoid making copies of videos is
a touch complicated -- the workflow could be friendlier.
Some fixups to recent update for the workout
library support;
- ergDB download now updates the DB
- mainwindow menu options names more consistent
- sort order in the video and workout list
- hooks for import/drag and drop
Will now write the importer for drag-n-drop and
import workouts menu option.
Linked up the training db to the train tool to
allow users to select from the db.
Further enhancements to the list could be made,
but leaving this till we move to OpenTrainer.
Still need to add drag and drop to copy into
the library or add reference to the file.
Fixes#301.
Implementing a workout library that keeps
track of media and workouts that can be used
in train view.
This first part implements;
- library.xml to record search paths
- search dialog to find media/workouts
Part 2 and 3 will bring:
- Sqllite libraryDB to store found details
- Update traintool to use libraryDB and display
icons, duration/distance, IF and TSS in list
- import and drag-n-drop of new media/workouts
Right click to add/delete a new device on the device list
in the train view sidebar.
It is temporary to bring the train view in line with the rest
of GC, but will then be updated as we remove functionality that
is hidden behind a right click.
The left sidebar is now a stacked widget and the toolbox
has been consigned to history. We are now ready to add a
left sidebar for the metric "home" view.
Part of a series of commits to adjust the UI on a Mac to
look more native and conform better to the Mac UI design
guidelines.
This patch introduces a unified title and toolbar which hosts
a search field and buttons for commonly used functions like
import, split ride, delete etc.
Since it is not possible (or more importantly good practice) to
hide and show toolbar items the Train View controls have now been
moved to the sidebar on a Mac. This is a temporary measure and
will be resolved in future updates.
Further updates planned are;
Part 2 - fixup the preferences pane to be more Mac-like
Part 3 - Spit and Polish around the charts; drop shadows, controls etc
The sidebar elements all get a blue focus rectangle on
Mac OSX. This is a platform specific setting. This patch
removes the focus rectangle for sidebar components only.
Introduce a wizard for adding realtime devices since it
is prone to user error, is relatively complicated and is
something most users will only ever do once or twice.
There are several logical updates within this patch:
First; Fix intermittent ANT+ not working
* LibUsb - check bufRemaining is > 0 not non-zero
* LibUsb - Always reset the USB stick on open
* ANT.cpp - Support > 4 channels on USB2
* ANTChannel - Do not use pairing, but always
* unassign, assign and set channel id.
Second; Fix device discovery
* Find and discover support in realtime controllers
* Extend Serial.cpp to cover more Serial devices
* Support for 4 or 8 ANT channels for USB1/USB2
Third; Introduce Add Device Wizard with
* General and Specific wizard pages for each device type
* Device pairing with telemetry display
* fixed compile time warnings
Fourth; Update Device Config Page
* use wizard to add new device
* remove edit fields, replaced by wizard
* remove pair, firmware buttons replaced by wizard
Fifth; Deprecate/Remove Device Types
* Null Device - used by developers only
* Quarqd client - replaced by Native ANT+
* GC Server - not implemented yet
I have also introduced a device specific wheel size
and flags for controlling the default selection and
sources for sensor data when in multi-device mode. These
are not yet supported in the code.
Fixes#611.
Fixes#497.
When using the fast forward and rewind buttons for
a workout we now also fast forward and rewind the
video playback on Linux/Windows.
The same feature needs to be incorporated under
Mac where we use QTKit for video playback.
Fixes#594.
Added a usb_init() call prior to starting a workout, this
appears to clear state inside libusb.
Also added some commented code for displaying diagnostics
when sending/receiving ANT messages.
This should make the ANT+ connection more robust on first
use, since subsequent uses are now fine.
This may be related to the state the USB host controller (stick)
is left in after we first connect, more investigation is required.
The recent commit for multi device support cleared
the spinscan data, breaking the plot updates. This update
retrieves the spinscan data if a computrainer has been
selected for the workout.
It is now possible to select multiple devices to
workout with.
To enable multi-device support a new setting in
tools->options (preferences on Mac) allows the
user to enable multi-device selections (this just
enables the user to select more than one device
in the side bar).
When a workout is started the user can select which
devices will supply which data.
This enables ANT+ devices to override information
provided by Computrainers or Fortius devices.
Fixes#578.
Tom Compton of AnalyticCycling.com has provided
a formula to calculate virtual speed based upon
slope, weight, power, cdA, crr and air density.
This is now implemented as 'Virtual Speed'.
It is expected that this new virtual speed will
be used to control streetview, video rendering
and future implementations of group riding over
a predefined course.
Fixes#527.
Initial support for Tacx Fortius devices.
Note this requires libusb support to be present and will
work on Linux, Mac and Windows.
The handlebar buttons up/down will increase/decrease the
load/intensity in a similar fashion to the +/- keys on
the Computrainer controller.
The cancel button will stop a workout and the enter key
is used to mark a lap.
Slope and Ergo modes are supported, but we do not set the
brake at all if the speed is below 10kph, this is to
ensure it does not get burnt out when users 'grind'.
SPECIAL NOTE:
The Fortius handlebar controller is a Ez-Usb device
and requires firmware to be loaded when it is connected.
Since this is copyrighted by Tacx BV we do not distribute
it, instead, when the user sets up a Fortius device they
must also provide the file. Full instructions on how this
should be done are given when configuring the device.
Additionally, for Linux users udev rules should be added to
ensure that the USB devices are accessible to non-root users.
Fixes#538.
When working with ANT+ devices the load dial always
showed zero, because the ANT device was not updating
the realtime data with the desired load.
In addition, the target load telemetry always showed
watts even when working in slope mode (where it should
show the gradient).
Fixes#532.
I finally got round to decoding the spinscan data
from computrainers. This is now implented in train
view.
A new chart is available 'Pedal Stroke' to show the
spinscan data returned by the computrainer.
I am unsure if the decoding is 100% on the money but
have been testing for a week and it seems ok.
Fixes#530.
A new menu option added to download workout
files from the ErgDB. Will also need to look
at upload so we can share amongst the GC
community.
Fixes#521.
Pressing F3 on the handlebar controller now starts calibration
mode and pauses all video and recording. Pressing F3 again will
resume the workout and restart.
Fixes#392.
Mostly caused by the Nazi style police in Cocoa wanting
huge margins etc. Steve knows best. Now uses the Windows
style for toolbar buttons so we get control back from
you know who.
The Tacx ergometer has a workout file format
(.pgmf) that is similar in concept to the
Racermate .CRS/.ERG/.MRC file format.
This patch adds support for this kind of
workout file.
Further work is required to support the .rlv
file format in order to support video playback
to match the user's speed (keeping the video
in sync as you ride).
In addition, for Turbos that do not support
variable load using gradient/slope we will need
to add an algorithm to approximate speed from
power/weight/slope.
Fixes#382
Updated the realtime view (Train) to put the
realtime controls in the toolbar and removed
the old realtime controls chart. They only
appear in Train view.
Additionally, the workout list and media list
are now in the sidebar under 'Workout Library'.
Finally, the first device configured is always
selected at startup, but this is a temporary
change until the realtime device wizard is coded
to set a default device.
A few minor fixups for Mac OS X;
* LionFullScreen.mm compile issues resolved by introducing
a new define in gcconfig.pri. This will hopefully go when
issues with Qt and AvailabilityMacros are resolved. See
DEFINES += GC_HAVE_LION in gcconfig.pri.in
* The buttons on the realtime controls are now set to GTK to
avoid Qt constraints regarding spacing and format of
QPushButtons. This will hopefully go when we move the controls
to a task bar at the bottom of the screen.
A number of new features / enhancements;
* Display IF/TSS or Elevation/Grade in the controller
when a workout is selected.
* Added buttons for forward/back which emulate the
forward/back from a computrainer controller
* Added a slider to increase and decrease intensity/grade
on-the-fly (during a workout), tied in with the
computrainer controller's + and - keys.
* Unpicked the manualOverride code previously implemented
Mostly, or at least for this release, fixes#494.
When a workout file is opened, the contents are used
to calculate the NP,xPower thru TSS/Bikescore values
for the workout.
This is in preparation for on-the-fly adjustment of the
intensity of a workout and displaying the target stress
load (TSS/BikeScore) the workout will produce.
No user functional change.
The refactoring of the realtime display last year
removed the display of metrics such as BikeScore and
kJoules.
This patch adds more metrics that can be displayed;
* Averages for; power, hr, cadence, speed
* KJoules of work
* Coggan Metrics; NP, TSS, IF, VI
* Skiba Metrics; xPower, BikeScore, RI, Skiba VI
Also included is an updated default layout to
include some of these metrics.
Fixes#231
Ghetto code with video selection and all the basic
building blocks in place. Playback is only via the
quicktime controls, paint issues abound and there
is a problem with deallocation of the movie object.
But the basic stuff is there, time to refine and iron
out all the little bugs.
Written whilst on hols in Gran Canaria :)
Make the buttons expand to fit space, so as you resize
the controls the buttons increase in size.
This is a temporary measure as the controls are going
to move to the toolbar later anyway.