Changes
* Builsystem helpers are now installed to CMAKE_INSTALL_DATAROOTDIR
* CMake 2.8.9 is required to use GNUInstallDirs and for the Qt5 code
branches
* automoc4 support was removed. Building always use the cmake built-in
solution now.
* Qt5 and Qt4 builds use different CMake configurations now
* Qt4 is as it always has been
* Qt5 moved away from crudely ported Qt4 configurations to using
extra-cmake-modules' KDE compiler and cmake flags.
* Installation paths and so forth are still jointly configured as to
retain backwards compatibility (i.e. Qt5 build does not follow ECM's
KDEInstallationPaths)
Bug Fixes
* VolumeSlider has seen async behavior improvements making the slider
not hop around when changing the volume rapidly and the backend is
lagging a bit behind. The volume change now occurs upon slider release
rather than instantly.
* Fixed a duble encoding issue with local paths that contain percent
encoded characters being double-encoded
New API
* New AudioOutputInterface49 for backends to implement. This interface
implements long-existing frontend interfaces for muting, giving the
backend easier access and control.
* setMuted(bool) mutes an AudioOuput (without the 4.9 interface this
is done via setVolume(0.0) on the backend)
* mutedChanged(bool) signal emitted by the backend to asyncronuously
notify of the mute application
* The interface is only used if PulseSupport is not intercepting calls
* New methods to differntiate states of PulseSupport
* request(bool) is used by backends to request PulseAudio usage but no
interception, this essentially enables device listing but lets
everything else fall through to the backend (the existing isActive()
method will not return true after request(true), which makes it
different from enable(true))
* isRequested() is a getter for request()'s state
* isUsable() is part of the previouys isActive() behavior, it is true
iff pulseaudio can be used (daemon running, connected etc)
* isUsed() is a combination of isRequested() and isUsable() (i.e. active
but not intercepting)
* The existing isActive() communicates the same state as before (active
and intercepting) but now also takes requested into consideration
* Enabling always implies requsting automatically, so request(false)
and enable(true) will ultimately still restul in isRequested==true
* New opt-in compatibility feature to install PhononQt4 headers. The new
cmake option PHONON_INSTALL_QT_COMPAT_HEADERS enables the installation
of additional compatibility headers to prevent breaking the source
compatibility for PhononQt applications when built with Phonon.
* Add proper include directory exporting in CMake. When using an imported
CMake target target_link_libraries(Phonon::phonon) this will now
automatically add the correct include directory for the target.
* Prevent a crash on device changes when using
ALSA+PhononServer(KDE)+Phonon(WithDBus)+NoPhononBackend
4.8.2
* Revised the logic used by PulseSupport to come up with an icon name
for PulseAudio. If the application has QApplication::windowIcon set
with an QIcon constructed through QIcon::fromTheme(string) the actual
icon name will be used. Otherwise the lower-case version of
QCoreApplication::applicationName is used.
* Fixed building with the compiler clang by reverting a previously
introduced workaround.
4.8.1
* Prevent a crash when failing to create the preferred backend
4.8.0
* Prevent problems with the CMakeConfig's relative installation path
resolution when trying to build on a system which has symlinks as part
of the installation path (e.g. Fedora systems).
* Prevent warnings on PulseSupport shutdown when AudioOutputs are held by
a global static that is only destroyed after PulseSupport was shut down.
* Sync clang detection code with kdelibs.
* Documented the fact that paused can result in StoppedState if playback
can not be started.
* Fix CMake 3 compatibility by synchronizing the FindQt4.cmake module from
kdelibs git.
* Prevent possible internal infinite loop call chains when trying to handle
backend construction in simulation mode (i.e. without actual backend
being installed on the system).
* When not building with PHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT, make
sure that the relative Qt paths are set according to whether the build is
meant for Qt4 or 5. Previously this would always install to a path for
qt5.
Improved rpath handling.
Build fixed for Mac OS X.
PulseSupport::setupStreamEnvironment creates more verbose output now.
Ensure older backends retain volume control over PulseAudio streams.
* MediaSource(QString) is now deprecated, MediaSource(QUrl) should be
used instead.
* New build option PHONON_ASSERT_STATES to debug incoherent or incorrect
state changes from the backend.
* Documentation cleanup.
* Normalized internal QObject connections.
* Experimental support for building libphonon using QMake; limited control
over feature set and installation path.
* By default both official Phonon backends try to find a matching subtitle
file for videos.
* Phonon's CMake build now uses CMake's own GNUInstallDirs which on most
systems should correctly figure out where to put library files (in
particular with regards to multi-architecture support on Linux). Should
you wish to manually set the library installation path, please use
CMAKE_INSTALL_LIBDIR rather than LIB_INSTALL_DIR from now on.
API Additions
* Additional subtitle API (only partially backed by Phonon VLC - see
FeatureMatrix)
* BluRay support in libphonon (only backed by Phonon VLC)
Backend Exclusive API Additions
* New AudioOutputInterface47 allowing backends to get the Phonon
Pulseaudio stream mapping ID which can be used together with
PulseSupport::streamProperties to prevent [#321288]. Requires
PHONON_BACKEND_VERSION_4_7 to be defined as with all new interface
versions.
Bug Fixes
* AudioOutput::setVolume can now be called before entering Phonon::Playing
state regardless of whether PulseAudio is in use or not.
* Consecutive streams no longer override each other's PulseAudio stream
mapping.
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
Add pulseaudio option
This release contains numerous improvements across the board since 4.5.1:
QZeitgeist 0.8 is supported
Various buildsystem fixes, allowing other packages to find phonon easier
Fewer KDE dependencies
Many improvements to PulseAudio integration
Remove runtime backend switching
Copious quantities of vanilla frosting
Stability improvements
LGPL relicensing
Misc fixes to Zeitgeist integration
Extra cinamon spice