Difference between revisions of "En/TDE tdemultimedia"

From Studiosg
Jump to navigationJump to search
(Added page about Tdemulrimedia, TDE and Slackware 14.0)
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Welcome to Simone Giustetti's wiki pages.
+
{{header_en|title=Building a Multimedia package for TDE| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring a working Multimedia package for TDE and Slackware Linux | link_page=TDE_tdemultimedia}}
 
 
 
 
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdemultimedia Italiano]
 
 
 
----
 
  
 
== TDEMULTIMEDIA ==
 
== TDEMULTIMEDIA ==
[[En/trinity_desktop_environment#Base_Packages]]
+
[[En/trinity_desktop_environment#Base_Packages | TDE - Base Packages]]
  
'''TDE Multimedia''' provides developers with a set of common interfaces, libraries, tools and applications aiming to abstract the machine installed multi-media hardware and consent to write portable code. In TDE the goal is achieved recurring to [http://www.giustetti.net/wiki/index.php?title=TDE_arts aRts]: the '''Analog Real-Time Synthesizer'''. The aRts back-end daemon provides a portable sound server able to record and reproduce sound streams, several encoding and decoding libraries and a real time sound processing framework.
+
'''TDE Multimedia''' provides developers with a set of common interfaces, libraries, tools and applications aiming to abstract the machine installed multi-media hardware and consent to write portable code. In TDE the goal is achieved recurring to [[En/TDE_arts |aRts]]: the '''Analog Real-Time Synthesizer'''. The aRts back-end daemon provides a portable sound server able to record and reproduce sound streams, several encoding and decoding libraries and a real time sound processing framework.
  
 
To the final user the tdemultimedia package provides a set of tools and applications able to read and reproduce many sound or video file formats through easy to use graphical interfaces. Some common use included programs are:
 
To the final user the tdemultimedia package provides a set of tools and applications able to read and reproduce many sound or video file formats through easy to use graphical interfaces. Some common use included programs are:
Line 22: Line 17:
 
* '''noatun''': A small, feature rich multimedia player.
 
* '''noatun''': A small, feature rich multimedia player.
 
Many of the listed programs functionalities can be enhanced recurring to plug-ins and optional expansion modules.
 
Many of the listed programs functionalities can be enhanced recurring to plug-ins and optional expansion modules.
 +
  
 
== Tdemultimedia and Slackware ==
 
== Tdemultimedia and Slackware ==
  
 
The tdemultimendia package replaces kdemultimendia for KDE 3.5. The build system relies on '''autotools''' and has not been ported to [http://www.cmake.org cmake] yet. The kdemultimendia build script can be used for tdemultimendia, but some updates and tweaks are due. To guarantee a smooth build the following guidelines were followed:
 
The tdemultimendia package replaces kdemultimendia for KDE 3.5. The build system relies on '''autotools''' and has not been ported to [http://www.cmake.org cmake] yet. The kdemultimendia build script can be used for tdemultimendia, but some updates and tweaks are due. To guarantee a smooth build the following guidelines were followed:
* Directory '''/opt/trinity''' was set as package root directory.
+
* Directory ''/opt/trinity'' was set as package root directory.
 
* Some missing makefiles were created running the '''make''' command from inside the main directory of the code extracted from the source archive.
 
* Some missing makefiles were created running the '''make''' command from inside the main directory of the code extracted from the source archive.
 
* The source code '''was patched''' in order to '''solve a version mismatch issue with libtool''': the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.
 
* The source code '''was patched''' in order to '''solve a version mismatch issue with libtool''': the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.
Line 33: Line 29:
  
 
Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:
 
Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:
 +
<syntaxhighlight lang="bash">
 
   # Prepare the package for building (Create the configure script).
 
   # Prepare the package for building (Create the configure script).
 
   echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
 
   echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
 
   make -f admin/Makefile.common \
 
   make -f admin/Makefile.common \
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 +
</syntaxhighlight>
 
A patch is needed to solve a '''libtool''' package version mismatch conflict:  
 
A patch is needed to solve a '''libtool''' package version mismatch conflict:  
 +
<syntaxhighlight lang="bash">
 
   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
 
   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
 
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
 +
</syntaxhighlight>
 
'''The script specifically sets Qt libraries paths''' in order for other scripts to find them at build time:  
 
'''The script specifically sets Qt libraries paths''' in order for other scripts to find them at build time:  
 +
<syntaxhighlight lang="bash">
 
   # Add temporary paths to handle new libraries during build
 
   # Add temporary paths to handle new libraries during build
 
   export QTDIR=/opt/trinity
 
   export QTDIR=/opt/trinity
Line 47: Line 48:
 
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
 
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
 
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH
 
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH
 +
</syntaxhighlight>
 
Finally the script runs the '''./configure''' command with the proper option list. Package tdemultimedia requires '''--enable-closure''', '''--with-musicbrainz=no''' and '''--with-akode=no'''.
 
Finally the script runs the '''./configure''' command with the proper option list. Package tdemultimedia requires '''--enable-closure''', '''--with-musicbrainz=no''' and '''--with-akode=no'''.
 +
<syntaxhighlight lang="bash">
 
   # Configure the package
 
   # Configure the package
 
   LDFLAGS="${SLKLDFLAGS}" \
 
   LDFLAGS="${SLKLDFLAGS}" \
Line 61: Line 64:
 
       --with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \
 
       --with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \
 
       --disable-rpath \
 
       --disable-rpath \
       '''--with-musicbrainz=no''' \
+
       --with-musicbrainz=no \
       '''--with-akode=no''' \
+
       --with-akode=no \
       '''--enable-closure''' \
+
       --enable-closure \
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 
       2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
 +
</syntaxhighlight>
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
 
Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.
  
Line 74: Line 78:
  
 
External Links
 
External Links
 +
 
----
 
----
 +
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide]
 
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild TDE build guide]
 
* [http://multimedia.kde.org/ KDE Multimedia page]
 
* [http://multimedia.kde.org/ KDE Multimedia page]
Line 81: Line 87:
 
----
 
----
  
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_tdemultimedia Italiano]
+
{{footer_en | link_page=TDE_tdemultimedia}}

Latest revision as of 14:27, 21 March 2022

Welcome to Simone Giustetti's wiki pages.


Languages: English - Italiano


TDEMULTIMEDIA

TDE - Base Packages

TDE Multimedia provides developers with a set of common interfaces, libraries, tools and applications aiming to abstract the machine installed multi-media hardware and consent to write portable code. In TDE the goal is achieved recurring to aRts: the Analog Real-Time Synthesizer. The aRts back-end daemon provides a portable sound server able to record and reproduce sound streams, several encoding and decoding libraries and a real time sound processing framework.

To the final user the tdemultimedia package provides a set of tools and applications able to read and reproduce many sound or video file formats through easy to use graphical interfaces. Some common use included programs are:

  • artscontrol: A graphical interface for easy sound server configuring and monitoring.
  • juk: A virtual jukebox able to build and manage music collections.
  • kaboodle: A small and easy to use media player.
  • kaudiocreator: A CD ripper.
  • kmid: A midi file player.
  • kmix: The TDE integrated mixer.
  • krec: A sound recorder.
  • kscd: A music CD player.
  • noatun: A small, feature rich multimedia player.

Many of the listed programs functionalities can be enhanced recurring to plug-ins and optional expansion modules.


Tdemultimedia and Slackware

The tdemultimendia package replaces kdemultimendia for KDE 3.5. The build system relies on autotools and has not been ported to cmake yet. The kdemultimendia build script can be used for tdemultimendia, but some updates and tweaks are due. To guarantee a smooth build the following guidelines were followed:

  • Directory /opt/trinity was set as package root directory.
  • Some missing makefiles were created running the make command from inside the main directory of the code extracted from the source archive.
  • The source code was patched in order to solve a version mismatch issue with libtool: the source code was configured for release 2.2.6, but 2.4.2 is installed along Slackware 14.0.
  • Some configure options specific to tdemultimedia were used: --with-musicbrainz=no and --with-akode=no.

Some script lines of code and related comments follow.

Some configuration scripts required by the build procedure are missing from the source tarball. We create the makefiles using the make command:

   # Prepare the package for building (Create the configure script).
   echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
   make -f admin/Makefile.common \
      2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log

A patch is needed to solve a libtool package version mismatch conflict:

   # Patch the admin/ltmain.sh script in order to solve a version mismatch.
   patch -p0 -i ${SRCDIR}/ltmain_version_update.patch

The script specifically sets Qt libraries paths in order for other scripts to find them at build time:

   # Add temporary paths to handle new libraries during build
   export QTDIR=/opt/trinity
   export PATH=/opt/trinity/bin:/usr/bin:$PATH
   export LIBDIR=/usr/lib${LIBDIRSUFFIX}
   export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
   export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH

Finally the script runs the ./configure command with the proper option list. Package tdemultimedia requires --enable-closure, --with-musicbrainz=no and --with-akode=no.

   # Configure the package
   LDFLAGS="${SLKLDFLAGS}" \
   CFLAGS="${SLKCFLAGS}" \
   CXXFLAGS="${SLKCFLAGS}" \
   ../${PRGNAM}-${VERSION}/configure \
      --prefix=${PREFIX} \
      --sysconfdir="/etc/trinity" \
      --libdir=${LIBDIR} \
      --mandir=${PREFIX}/man \
      --with-qt-dir=${QTDIR} \
      --with-qt-includes=${PREFIX}/include \
      --with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \
      --disable-rpath \
      --with-musicbrainz=no \
      --with-akode=no \
      --enable-closure \
      2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log

Once the configuration successfully concludes, the script runs the make command then goes on with packaging the software.

A full script can be downloaded from the following link. The output package can be installed using command installpkg as usual in Slackware Linux.


For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net


External Links





Languages: English - Italiano