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
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.
Passing a filename with spaces in it causes some issues
on WinXP/2003, this patch converts all filenames to valid
URLs (which is the preferred way to reference media in VLC).
Specifically;
* The file path is prepended with file://
* backslashes in filenames are converted to forward slashes in URLs
* Spaces are converted to %20
VLC will disable the screensaver during playback. This patch
exploits this functionality bringing it in line with the Mac
builds.
One small nit remains; under Windows/Linux the screensaver
is only disabled if video playback is being used, whilst on
the Mac the screensaver is disabled whenever you are active
(e.g. on a basic workout or streetview).
The train view video/media list is constructed by attempting
to parse any file found in the workout directory. This was
a strategy to avoid missing files with odd extensions that
could be processed by VLC and also to avoid needing to
maintain a list of common extensions.
In practice, this was very slow to process and quite annoying.
VLC would load large volumes of DLLs and Codecs when trying
to parse.
In addition, the most common file types /by far/ are from
a relatively short list i.e; .mov, .avi, .mkv, .mp4 etc.
The strategy is now adjusted to search for a common list of
file types, namely;
3GP ASF AVI DIVX FLAC FLV M4V MKV MOV MP4 MPEG MPG
MXF Nut OGG OGM RM VOB WAV WMA WMV
The filename is checked without case sensitivity, i.e. files
will match regardless of whether they are in upper or lower
case (or combination of upper/lower).
The libvlc options setup used --extraintf=logger, which
causes a debug console window to be opened on Windows.
This patch removes this since debug output is only of
value to developers and should not be in released code.
The code to select media and then start/stop/pause
playback during a workout has been implemented.
This requires libvlc to be installed at compile time
and will also require Videolan (and desired codecs)
installed at runtime.
Since the main headaches are likely to be related to
deployment rather than coding this update has been
pushed for deployment support to be enhanced and
tested before closing the feature request on the
bug tracker.
Updated the realtime plots and dials to use the colour
settings from the ride plot. So if you prefer plots of
light colours on dark backgrounds you can do this now.
The use of colour on the telemetry values makes it easier
to distinguish which value related to power et al .. especially
when you're pushing out that last max power interval.
The training view (aka realtime) is now configurable
allowing users to drag and drop appropriate charts
and dials onto the main view.
The controls for this view are static and comprise the
old controls with start/stop buttons, device selections etc.
I have removed deprecated code too, the following are removed
from the repository;
* ViewSelection
* RealtimeWindow
* TrainWindow
* TrainTabs
Fixes#290.
Fixups to compile video on WIN32 and added more configurability
in the realtime screens, but still not the chart and video use-case
needs to be decided.
Update to training mode to improve the UI and overall
user experience. This initial patch introduces:
* Video Window - but ghetto and not fully functional
* Congigurable - drag and drop 'dials' onto homewindow
In future updates we need to:
* Support Video fully - Only Linux in this patch
* HomeWindow - Make Training mode the same as HomeWindow
* More Dials - Support metrics (e.g. BikeScore)
* RT Charts - Make RT plot drag/drop and support other
types of charts (e.g. Time In Zone)
* Controls - Add more controls for FFWD/REW, Skip etc
This patch has been tested on Linux ONLY. It is being committed
to support further build/deployment work for Win32 and Mac OSX.