[mythtv-commits] mythtv/master commit: 8fe7f45f8 by Mark Kendall (mark-kendall)

MythTV noreply at mythtv.org
Tue Mar 22 15:20:44 UTC 2011


      Author:  Mark Kendall <mkendall at mythtv.org>
 Change Date:  2011-03-22T08:20:29-07:00
   Push Date:  2011/03/22 08:20:41 -0700
  Repository:  mythtv
      Branch:  master
New Revision:  8fe7f45f89767c0b7e40671eaa8a166adaae57d4
   Changeset:  https://github.com/MythTV/mythtv/commit/8fe7f45f8

Log:

libmythtv: Enable visualisations.

- libfftw3 support is required at compile time and MUST be forced with
--enable-libfftw3 (existing libfftw3 support in configure appears to be
a hangover from previous code, it isn't actually used for anything else)

- much of the code is taken from mythmusic.

- visualisations will only work with 2 track audio streams.

- the visualisation is rendered over any video (and Pip) but beneath the
OSD.

- 2 visualisations are currently available. The 'default' is a simple
implementation of Spectrum which uses libmythui rendering routines and
is available when using the VDPAU, OpenGL and Direct3D9 renderers(i.e.
those with accelerated, overlaid OSDs). Circles is available when using
OpenGL 2.0 (not currently enabled) and, while a little easier on the
eye, is more a proof of concept to ensure correct inheritance,
dependency checking etc is working. It doesn't actually rely on the
features available with the OpenGL 2.0 renderer - though drawing of
circles is accelerated with that renderer.

- there is no technical reason why either visualisation will not work
with software rendered OSDs (e.g. XVideo). The limitation is purely a
performance consideration.

- adds a new keybinding "TOGGLEVISUALISATION" which is unbound by
default, otherwise the visualisation can be toggled via the new entry in
the OSD menu or the http interface.

- it should be easy enough to port any other mythmusic visualisations,
though libvisual integration is more difficult (and may not be
possible). If additional visualisations are made available, I'll add a
mechanism to chose which to use.

Modified:

   mythtv/libs/libmythtv/libmythtv.pro
   mythtv/libs/libmythtv/mythplayer.cpp
   mythtv/libs/libmythtv/mythplayer.h
   mythtv/libs/libmythtv/tv_actions.h
   mythtv/libs/libmythtv/tv_play.cpp
   mythtv/libs/libmythtv/tv_play.h
   mythtv/libs/libmythtv/videoout_d3d.cpp
   mythtv/libs/libmythtv/videoout_d3d.h
   mythtv/libs/libmythtv/videoout_opengl.cpp
   mythtv/libs/libmythtv/videoout_opengl.h
   mythtv/libs/libmythtv/videoout_vdpau.cpp
   mythtv/libs/libmythtv/videoout_vdpau.h
   mythtv/libs/libmythtv/videooutbase.cpp
   mythtv/libs/libmythtv/videooutbase.h



More information about the mythtv-commits mailing list