Warning, /libraries/phonon/doc/Phonon4Qt5.dox is written in an unsupported language. File is not indexed.
0001 /**
0002
0003 \page phonon4qt5 Phonon4Qt5
0004
0005 <p><b>
0006 \ref index "Overview" |
0007 Phonon4Qt5
0008 </b></p>
0009
0010 Phonon4Qt5, as the name suggests, is a version of the Phonon 4 library built
0011 against Qt5 rather than Qt4.
0012
0013 It has the same API as a Phonon built against Qt4, but differs in ABI and file
0014 names.
0015 This allows development and/or delpoyment of your application to happen against
0016 either version of Qt.
0017
0018 \section phonon4qt5_building Building
0019
0020 If you are building against a qt-project provided binary build of Qt5
0021 you may have to define the CMAKE_PREFIX_PATH to make CMake find Qt5. If you are
0022 using QMake for your application you will additionally have to instruct cmake to
0023 install Qt extensions into the actual Qt directory using
0024 KDE_INSTALL_USE_QT_SYS_PATHS.
0025
0026 For example:
0027 \verbatim
0028 mkdir build5
0029 cd build5
0030 cmake .. -DPHONON_BUILD_PHONON4QT5=ON -DCMAKE_PREFIX_PATH=/opt/Qt5.0.0/5.0.0/gcc_64 -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
0031 \endverbatim
0032
0033 Phonon4Qt5 installation does not conflict with regular Phonon installations in
0034 any way; It uses different file and folder names for everything installed.
0035
0036 \section phonon4qt5_using Usage
0037
0038 Except for a couple of lines in CMake, using Phonon4Qt5 is identical to using
0039 the (old) Qt4 Phonon.
0040
0041 \subsection phonon4qt5_using_cmake CMake
0042 To check for Phonon4Qt5 in your CMake project simply use find_package. Variables
0043 other than *_FOUND variable will have a generic PHONON prefix making it easier
0044 to support both versions without excessive if/else blocks.
0045
0046 \code{.cmake}
0047 if(BUILDING_AGAINST_QT5)
0048 find_package(Phonon4Qt5 REQUIRED)
0049 else()
0050 find_package(Phonon REQUIRED)
0051 endif()
0052
0053 # These are present regardless of which path was chosen
0054 message("${PHONON_LIBRARY} contains the path to libphonon4qt5 or libphonon")
0055 message("${PHONON_INCLUDE_DIR} contains the phonon4qt5 or phonon include directory")
0056 \endcode
0057
0058 \note While you were able to get away with not adding PHONON_INCLUDE_DIR to
0059 CMake's include_directories on various Unix systems, this will not work with
0060 Phonon4Qt5; It is using nested directories to achieve 100 % source compatibility
0061 with Phonon, so your compiler will not be able to find phonon/* includes by
0062 simply looking in standard paths.
0063
0064 \subsection phonon4qt5_using_qmake QMake
0065
0066 To use Phonon4Qt5 in your QMake project you can simply use:
0067 \code{.pro}
0068 QT += phonon4qt5
0069 \endcode
0070
0071 QMake will take care of everything else. Except in certain situations QMake will
0072 not be able to find the files necessary to enable a phonon4qt5 build, building
0073 phono4qt5 with KDE_INSTALL_USE_QT_SYS_PATHS, as explained above,
0074 should prevent this from happening.
0075
0076 \subsection phonon4qt5_using_cpp C++
0077
0078 For the actual code there is absolutely no difference between Phonon and
0079 Phonon4Qt5.
0080
0081 Consequently the following code example will work with either version:
0082 \code{.cpp}
0083 #include <QUrl>
0084 #include <phonon/MediaSource>
0085
0086 int main()
0087 {
0088 QUrl url("file:///home/user/firefly.webm");
0089 Phonon::MediaSource source(url);
0090 if (!source.isValid())
0091 return 1;
0092 return 0;
0093 }
0094 \endcode
0095
0096 */