Commit Graph

16 Commits

Author SHA1 Message Date
Mark Liversedge
fde98093a7 GC_VIDEO_XXX Configuration
.. you can now select what kind of video widget you
   want to build.

   GC_VIDEO_NONE       - No media support compiled in
   GC_VIDEO_VLC        - Use VLC (only on Win/Linux)
   GC_VIDEO_QUICKTIME  - Use Apple QuickTime (only on OS X)
   GC_VIDEO_QT5        - QT5 video and associated backends (O/S dependent)

NOTE: This needs testing on non-Linux platforms.
2014-06-28 14:49:33 +01:00
Mark Liversedge
c6ed3f0a3b Use QT 5 Video Playback
.. If you build with QT 5 then we now use the QT video widgets
   instead of VLC for Windows and Linux

.. We still use QuickTime for Mac OS X

NOTE: On linux Gstreamer is used and therefore all the right
      codecs and backends need to be setup for this to work.
      On windows its more complicated as it depends how Qt
      was compiled, see:

         http://qt-project.org/wiki/Qt_Multimedia_Backends
2014-06-23 16:23:45 +01:00
Mark Liversedge
05f1d577db Refactor MainWindow Part 2 of 5
Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).

We no longer pass around a MainWindow pointer to children
but pass a context instead.

There are still a few pieces left in MainWindow that need
to move to a better place;
    * Setting/clearing filter selection
    * Working with Intervals
    * Adding/Deleting Rides
    * Save on Exit

As mentioned previously there are lots of other parts to
this refactor left to do;
    * break MainWindow Gui elements into Toolbar and Views

    * migrate from RideItem and Ridelist to ActivityCollection
      and Activity classes that are not tied into gui elements.

    * introduce Application Context and AthleteCollection
2013-07-11 14:02:02 +01:00
Mark Liversedge
e407237ac0 MainWindow Refactor Part 1 of 5
Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.

Further updates will need to;
- break MainWindow Gui elements into Toolbar and Views

- migrate from RideItem and Ridelist to ActivityCollection
  and Activity classes that are not tied into gui elements.

- introduce Application Context and AthleteCollection

Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
2013-07-07 15:50:28 +01:00
Mark Liversedge
ff0fb0bef1 Add support for deleting videos
.. but only deletes references and db entry
.. we do not delete from the filesystem -- need to add a dialog
   to ask the user to confirm deleting the file from disk.
2013-03-07 15:23:43 +00:00
Mark Liversedge
ea174a758e VLC is Optional - don't SEGV
Ugh. Fixed a couple of SEGV when library importing
is used with video but no video support is compiled in.
2012-12-24 16:45:44 +00:00
Mark Liversedge
a9a6f9ffb8 Further Workout Library Fixups
- 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.
2012-12-24 15:23:16 +00:00
Mark Liversedge
ba15e1d9f8 Further Workout Library 3 fixups
Now need to write the workout import dialog.
2012-12-24 09:20:56 +00:00
Mark Liversedge
2a149bd454 Workout Library Part 3 fixups
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.
2012-12-23 17:56:41 +00:00
Mark Liversedge
a603dd5b5b Workout Library Part 3 of 3
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.
2012-12-22 19:05:36 +00:00
Mark Liversedge
2756a678c7 Workout Library Part 2 of 3
Add trainDB sqlite database of workouts and videos
found during a library search. A bit ghetto but
works well enough.

Part 3 will need to;
- update traintool to list contents from db
- allow drag-n-drop of files into db (and worry
  about copy to library vs add path).
2012-12-21 16:27:49 +00:00
Mark Liversedge
2d73924f25 ErgFile lookup CP
Instead of passing the CP value for the rider
when opening an ErgFile it now looks up the CP
value itself. Simplifies the API.
2012-12-21 11:09:52 +00:00
Mark Liversedge
72ae863b30 More Library Part 1 fixups
- honour the checkboxes
- fix screen flicker
2012-12-20 16:54:49 +00:00
Mark Liversedge
9d1e088088 Library Part 1 fixups
- vlc is optional on Linux/Windows
- summary of found items was out by 1
2012-12-20 15:05:25 +00:00
Mark Liversedge
5eb100f923 Oops: left in a qdebug 2012-12-20 13:50:01 +00:00
Mark Liversedge
d2ebedac20 Workout Library Part 1 of 3
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
2012-12-20 13:30:49 +00:00