Browse Source

Conversion to the cmake building system based on S.Amelian's work.

The embedded sqlite3 has been upgraded to 3.4.2 .
Added few man pages taken from the Debian packaging system.
Rework of the README and INSTALL files.

Signed-off-by: gregory guy <gregory-tde@laposte.net>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/10/head
Gregory Guy 7 months ago
committed by Slávek Banko
parent
commit
16ec57d25f
Signed by: SlavekB GPG Key ID: 608F5293A04BE668
36 changed files with 1454 additions and 977 deletions
  1. +35
    -22
      CMakeLists.txt
  2. +172
    -49
      ConfigureChecks.cmake
  3. +130
    -1
      INSTALL
  4. +13
    -189
      README
  5. +6
    -1
      amarok/src/CMakeLists.txt
  6. +0
    -1
      amarok/src/amarokcore/crashhandler.cpp
  7. +1
    -0
      amarok/src/analyzers/CMakeLists.txt
  8. +85
    -46
      amarok/src/mediadevice/daap/ConfigureChecks.cmake
  9. +2
    -1
      amarok/src/mediadevice/daap/mongrel/http11/CMakeLists.txt
  10. +2
    -0
      amarok/src/mediadevice/ifp/CMakeLists.txt
  11. +2
    -0
      amarok/src/mediadevice/ifp/ConfigureChecks.cmake
  12. +1
    -1
      amarok/src/mediadevice/ipod/CMakeLists.txt
  13. +1
    -0
      amarok/src/mediadevice/mtp/CMakeLists.txt
  14. +1
    -0
      amarok/src/mediadevice/njb/CMakeLists.txt
  15. +1
    -1
      amarok/src/metadata/CMakeLists.txt
  16. +1
    -1
      amarok/src/metadata/m4a/CMakeLists.txt
  17. +7
    -8
      amarok/src/metadata/mp4/CMakeLists.txt
  18. +1
    -0
      amarok/src/metadata/tplugins.cpp
  19. +4
    -1
      amarok/src/scripts/common/CMakeLists.txt
  20. +9
    -3
      amarok/src/scripts/lyrics_astraweb/CMakeLists.txt
  21. +9
    -2
      amarok/src/scripts/lyrics_lyrc/CMakeLists.txt
  22. +8
    -6
      amarok/src/scripts/playlist2html/CMakeLists.txt
  23. +4
    -1
      amarok/src/scripts/ruby_debug/CMakeLists.txt
  24. +8
    -6
      amarok/src/scripts/score_default/CMakeLists.txt
  25. +8
    -6
      amarok/src/scripts/score_impulsive/CMakeLists.txt
  26. +12
    -10
      amarok/src/scripts/webcontrol/CMakeLists.txt
  27. +18
    -0
      amarok/src/sqlite/CMakeLists.txt
  28. +596
    -613
      amarok/src/sqlite/sqlite3.c
  29. +12
    -5
      amarok/src/sqlite/sqlite3.h
  30. +15
    -1
      config.h.cmake
  31. +6
    -0
      doc/man/CMakeLists.txt
  32. +181
    -0
      doc/man/amarok.1
  33. +14
    -0
      doc/man/amarok_libvisual.1
  34. +23
    -0
      doc/man/amarokapp.1
  35. +63
    -0
      doc/man/amarokcollectionscanner.1
  36. +3
    -2
      po/CMakeLists.txt

+ 35
- 22
CMakeLists.txt View File

@@ -15,7 +15,7 @@ cmake_minimum_required( VERSION 2.8 )
##### general package setup #####################

project( amarok )
set( VERSION R14.1.0 )

##### include essential cmake modules ###########

@@ -43,25 +43,40 @@ tde_setup_paths( )

##### optional stuff ############################

option( WITH_LIBVISUAL "Enable libvisual support" OFF )
option( WITH_KONQSIDEBAR "Enable konqsidebar plugin" OFF )
option( WITH_XINE "Enable xine-engine support" OFF )
option( WITH_YAUAP "Enable yauap-engine support" OFF )
option( WITH_AKODE "Enable akode-engine support" OFF )
option( WITH_IPOD "Enable iPod support from libgpod" OFF )
option( WITH_IFP "Enable ifp support" OFF )
option( WITH_NJB "Enable njb support" OFF )
option( WITH_MTP "Enable mtp support" OFF )
option( WITH_RIOKARMA "Enable riokarma support" OFF )
option( WITH_DAAP "Enable daap support" OFF )
option( WITH_MP4V2 "Enable mp4v2 support" OFF )
option( WITH_INOTIFY "Enable inotify support" OFF )
option( WITH_ALL_OPTIONS "Enable all optional support" ON )

option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
option( WITH_XINE "Enable xine-engine backend" ${WITH_ALL_OPTIONS} )
option( WITH_YAUAP "Enable yauap-engine backend" ${WITH_ALL_OPTIONS} )
option( WITH_OPENGL "Enable OpenGL support" ${WITH_ALL_OPTIONS} )
option( WITH_LIBVISUAL "Enable libvisual support" ${WITH_ALL_OPTIONS} )
option( WITH_NJB "Enable Nomad Jukebox support" ${WITH_ALL_OPTIONS} )
option( WITH_MTP "Enable MTP devices support" ${WITH_ALL_OPTIONS} )
option( WITH_IFP "Enable iRiver iFP Support" ${WITH_ALL_OPTIONS} )
option( WITH_IPOD "Enable iPod support from libgpod" ${WITH_ALL_OPTIONS} )
option( WITH_MP4V2 "Enable MP4/AAC Tag Write Support from mp4v2" ${WITH_ALL_OPTIONS} )
option( WITH_DAAP "Enable DAAP Music Sharing Support" ${WITH_ALL_OPTIONS} )
option( WITH_EMBEDDED_SQLITE "Build with embedded Sqlite" OFF )
option( WITH_SYSTEM_SQLITE "Build with system Sqlite" ${WITH_ALL_OPTIONS} )
option( WITH_MYSQL "Enable MySql Support" ${WITH_ALL_OPTIONS} )
option( WITH_POSTGRESQL "Enable Postgresql Support" ${WITH_ALL_OPTIONS} )
option( WITH_KONQSIDEBAR "Build with Konqueror Sidebar" ${WITH_ALL_OPTIONS} )
option( WITH_AKODE "Enable akode-engine backend" ${WITH_ALL_OPTIONS} )
option( WITH_INOTIFY "Enable inotify support" ${WITH_ALL_OPTIONS} )
option( WITH_AMAZON "Enable Amazon cover download support" ${WITH_ALL_OPTIONS} )


##### upstream does not support these anymore
# option( WITH_NMM "NMM-engine backend" ${WITH_ALL_OPTIONS} )
# option( WITH_HELIX "Helix-engine backend" ${WITH_ALL_OPTIONS} )
# option( WITH_MUSICBRAINZ "MusicBrainz support" ${WITH_ALL_OPTIONS} ) - need libtunepimp
# option( WITH_RIOKARMA "Rio Karma suppor" ${WITH_ALL_OPTIONS} )


##### user requested modules ####################

option( BUILD_ALL "Build all" OFF )
option( BUILD_DOC "Build doc" ${BUILD_ALL} )
option( BUILD_ALL "Build all" ON )
option( BUILD_DOC "Build doc" ${BUILD_ALL} )
option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )


@@ -72,9 +87,7 @@ include( ConfigureChecks.cmake )

###### global compiler settings #################

add_definitions(
-DHAVE_CONFIG_H
)
add_definitions( -DHAVE_CONFIG_H )

set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
@@ -83,9 +96,9 @@ set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined"

##### source directories ########################

add_subdirectory( amarok )
tde_conditional_add_subdirectory( BUILD_DOC doc )
tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po )
add_subdirectory( ${PROJECT_NAME} )
tde_conditional_add_subdirectory( BUILD_DOC doc )
tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po )


##### write configure files #####################


+ 172
- 49
ConfigureChecks.cmake View File

@@ -9,26 +9,27 @@
#
#################################################

##### check for gcc visibility support #########
# FIXME
# This should check for [T]Qt3 visibility support
# required stuff
find_package( TQt )
find_package( TDE )

tde_setup_architecture_flags( )

include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)

tde_setup_largefiles( )


##### check for gcc visibility support

if( WITH_GCC_VISIBILITY )
if( NOT UNIX )
tde_message_fatal(FATAL_ERROR "\ngcc visibility support was requested, but your system is not *NIX" )
endif( NOT UNIX )
set( __KDE_HAVE_GCC_VISIBILITY 1 )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
endif( )
tde_setup_gcc_visibility( )
endif( WITH_GCC_VISIBILITY )


if( BUILD_TRANSLATIONS AND NOT DEFINED MSGFMT_EXECUTABLE )
find_program( MSGFMT_EXECUTABLE msgfmt )
if( NOT MSGFMT_EXECUTABLE )
tde_message_fatal( "msgfmt program is required, but was not found on your system" )
endif( )
endif( )
find_package( Threads )
find_package( X11 )

check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY )
check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY )
@@ -102,16 +103,10 @@ if( TAGLIB_FOUND )
tde_message_fatal( "taglib version must be at least 1.5" )
else( )
set( TAGLIB_15 1 )
message( STATUS "Found TAGLIB: ${TAGLIB_INCLUDE_DIRS}" )
endif( )
else( )
tde_message_fatal( "taglib are required, but not found on your system" )
endif( )


# sqlite3
pkg_search_module( SQLITE sqlite3 )
if( NOT SQLITE_FOUND )
tde_message_fatal( "sqlite3 are required, but not found on your system" )
tde_message_fatal( "taglib is required, but not found on your system" )
endif( )


@@ -122,7 +117,7 @@ if( WITH_LIBVISUAL )
if( NOT SDL_FOUND )
check_include_file( SDL/SDL.h HAVE_SDL_H )
if( NOT HAVE_SDL_H )
tde_message_fatal( "SDL are required, but not found on your system" )
tde_message_fatal( "SDL is required, but not found on your system" )
endif ( )
set ( SDL_INCLUDE_DIRS /usr/include/SDL )
set ( SDL_LIBRARIES SDL pthread )
@@ -134,7 +129,7 @@ if( WITH_LIBVISUAL )
tde_message_fatal( "libvisual version must be at least 0.4.0" )
endif( )
else( )
tde_message_fatal( "libvisual are requested, but not found on your system" )
tde_message_fatal( "libvisual is requested, but not found on your system" )
endif( )
set( HAVE_LIBVISUAL 1 )

@@ -166,9 +161,12 @@ if( WITH_AKODE )
endif( )


# iPod
##### check for libgpod - iPod

if( WITH_IPOD )

pkg_search_module( GLIB2 glib-2.0 )

pkg_search_module( GPOD libgpod-1.0 )
if( GPOD_FOUND )
if( ${GPOD_VERSION} VERSION_LESS "0.4.2" )
@@ -190,20 +188,29 @@ if( WITH_IPOD )
endif( )


# common required stuff
find_package( TQt )
find_package( TDE )
if( WITH_OPENGL )
set( OpenGL_GL_PREFERENCE LEGACY )
find_package( GLUT )
find_package( OpenGL )

##### check for OpenGL support within tqt

# check for Qt with OpenGL support
tde_save( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
set( CMAKE_REQUIRED_INCLUDES ${TQT_INCLUDE_DIRS} )
set( CMAKE_REQUIRED_LIBRARIES -L${TQT_LIBRARY_DIRS} ${TQT_LIBRARIES} )

check_cxx_source_compiles("
#include <qgl.h>
int main(int, char**) { (void)new QGLWidget((QWidget*)0, \"qgl\"); return 0; } "
HAVE_QGLWIDGET )
#include <cstdlib>
#include <tqgl.h>
int main( int, char** )
{
(void) new TQGLWidget( (TQWidget*)0, \"qgl\" ) ;
return EXIT_SUCCESS ;
}"
HAVE_TQGLWIDGET )

tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
endif( WITH_OPENGL )


# konqsidebarplugin.h
@@ -219,26 +226,142 @@ if( WITH_KONQSIDEBAR )
HAVE_KONQSIDEBARPLUGIN_H )
tde_restore( CMAKE_REQUIRED_DEFINITIONS CMAKE_REQUIRED_FLAGS CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
if( NOT HAVE_KONQSIDEBARPLUGIN_H )
tde_message_fatal( "konqsidebarplugin.h are requested, but not found on your system" )
tde_message_fatal( "Konqueror sidebar is requested, but konqsidebarplugin.h was not found on your system" )
endif( )
endif( )

##### check for mp4v2 ###########################

if( WITH_MP4V2 )
check_include_file( "mp4v2/mp4v2.h" MP4V2_H_FOUND )
if( MP4V2_H_FOUND )
##### check for mp4v2

check_include_file( "mp4v2/mp4v2.h" MP4V2_H_FOUND )
if( MP4V2_H_FOUND )
set( HAVE_MP4V2_H 1)
else( MP4V2_H_FOUND )
check_include_file( "mp4.h" MP4_H_FOUND )
if( MP4_H_FOUND )
set( HAVE_MP4_H 1)
endif( MP4_H_FOUND )
endif( MP4V2_H_FOUND )

if( HAVE_MP4V2_H OR HAVE_MP4_H )

find_path( MP4V2_INCLUDE_DIR "mp4v2/mp4v2.h" )
set( MP4V2_INCLUDE_DIRS "${MP4V2_INCLUDE_DIR}" )

find_library( MP4V2_LIBRARY mp4v2 )
set( MP4V2_LIBRARIES "${MP4V2_LIBRARY}" )
endif()

check_include_file( "mp4.h" MP4_H_FOUND )
if( MP4_H_FOUND )
set( HAVE_MP4_H 1)

find_path( MP4_INCLUDE_DIR "mp4.h" )
set( MP4V2_INCLUDE_DIRS "${MP4_INCLUDE_DIR}" )

find_library( MP4_LIBRARY mp4 )
set( MP4V2_LIBRARIES "${MP4_LIBRARY}" )
endif()

if( HAVE_MP4V2_H OR HAVE_MP4_H )
set( HAVE_MP4V2 1 )
else( )
tde_message_fatal( "MP4V2 support was requested, but not found on your system" )
endif( )
else()
tde_message_fatal( "MP4V2 support was requested but was not found on your system" )
endif()
endif( WITH_MP4V2 )


if( WITH_MYSQL )
#### check for MySql or Mariadb

find_program( MYSQL_CONFIG NAMES mariadb_config mysql_config )
if( NOT MYSQL_CONFIG )
tde_message_fatal( "MySql support is requested but neither MySql or Mariadb have been found on your system" )
else()

macro( _mysql_config __type __var )
execute_process(
COMMAND ${MYSQL_CONFIG} --${__type}
OUTPUT_VARIABLE ${__var}
RESULT_VARIABLE __result
OUTPUT_STRIP_TRAILING_WHITESPACE )
if( _result )
tde_message_fatal( "Unable to run ${MYSQL_CONFIG}!" )
endif()
endmacro()

_mysql_config( include MYSQL_INCLUDE_DIRS )
_mysql_config( libs MYSQL_LIBRARIES )

if( MYSQL_INCLUDE_DIRS )
string( REGEX REPLACE "(^| +)-I" ";" MYSQL_INCLUDE_DIRS "${MYSQL_INCLUDE_DIRS}" )
endif()

if( MYSQL_LIBRARIES )
string( REGEX REPLACE "(^| +)-l" ";" MYSQL_LIBRARIES "${MYSQL_LIBRARIES}" )
endif( )

set( MYSQL_INCLUDE_DIRS "${MYSQL_INCLUDE_DIRS}" CACHE INTERNAL "" FORCE )
set( MYSQL_LIBRARIES "${MYSQL_LIBRARIES}" CACHE INTERNAL "" FORCE )
set( USE_MYSQL 1 )

tde_save_and_set( CMAKE_REQUIRED_INCLUDES ${MYSQL_INCLUDE_DIRS} )

check_cxx_source_compiles("
#include <mysql.h>
typedef struct st_mysql MYSQL;

int main(int, char**)
{
return 1;
}"
HAVE_STRUCT_ST_MYSQL )

if( HAVE_STRUCT_ST_MYSQL )
set( MYSQL_STRUCT "st_mysql" )
else()

check_cxx_source_compiles("
#include <mysql.h>
typedef struct MYSQL MYSQL;

int main()
{
return 1;
}"
HAVE_STRUCT_MYSQL )

if( HAVE_STRUCT_MYSQL )
set( MYSQL_STRUCT "MYSQL" )
else()
tde_message_fatal( "MySQL is requested, but it is not possible to determine the type of MySQL structure" )
endif()
endif()

tde_restore( CMAKE_REQUIRED_INCLUDES )

endif( NOT MYSQL_CONFIG )
endif( WITH_MYSQL )


if( WITH_POSTGRESQL )
##### check for PostgreSQL

find_package( PostgreSQL )
if( PostgreSQL_VERSION_STRING )
set( USE_POSTGRESQL 1 )
else()
tde_message_fatal( "Postgresql support is requested but Postgresql was not found on your system." )
endif()
endif( WITH_POSTGRESQL )


if( WITH_EMBEDDED_SQLITE )
set( SQLITE_LIBRARIES sqlite-static )
message( STATUS "sqlite3 linking: ${SQLITE_LIBRARIES}" )
endif()


if( WITH_SYSTEM_SQLITE )
##### check for sqlite3

pkg_search_module( SQLITE sqlite3 )
if( NOT SQLITE_FOUND )
tde_message_fatal( "sqlite3 is required, but not found on your system" )
else()
message( STATUS "sqlite3 linking: ${SQLITE_LIBRARIES}" )
endif( )
endif( WITH_SYSTEM_SQLITE )

+ 130
- 1
INSTALL View File

@@ -13,7 +13,136 @@ base directory of the Amarok distribution:
Note: --enable-final is not supported.


The GNU installation instructions follow.
DEPENDENCIES
==============

Required
* tdelibs
http://trinitydesktop.org

* TagLib 1.4 (or newer)
(metadata tagging library)
http://freshmeat.net/projects/taglib

* Ruby 1.8
(programming language, used for scoring, lyrics, last.fm streams)
http://www.ruby-lang.org

* xine-lib 1.0.2 (or newer)
Note: xine-lib 1.1.1 is required for gapless playback.
(multimedia framework)
https://www.xine-project.org/home

Optional

* tdebase
(needed for Konqueror Sidebar)
http://trinitydesktop.org

* MySQL 4 or 5
(faster database support)
http://www.mysql.com

* PostgreSQL 7.4
(faster database support)
http://www.postgresql.org

* OpenGL accelerated X-Server
(visualization rendering)

* Libvisual 0.4.0 + SDL 1.2
(visualization framework)
http://localhost.nl/~synap/libvisual/
http://www.libsdl.org

* ProjectM 0.96 (or newer)
(visualization plugins for Libvisual or XMMS)
http://xmms-projectm.sourceforge.net/

* libtunepimp 0.3 (or newer)
(automatic tagging support)
http://www.musicbrainz.org/

* K3B 0.11 (or newer)
(CD burning support)
http://www.k3b.org

* libgpod 0.4.2 (or newer)
(iPod support)
Note: libgpod 0.6.0 is required for the newest Apple iPods.
http://www.gtkpod.org/libgpod.html

* libifp 1.0.0.2
(iRiver iFP support)
http://ifp-driver.sourceforge.net/libifp/

* libmp4v2 (mpeg4ip 1.5 is recommended, faad2 is less reliable)
(MP4/AAC tag reading & writing)
http://www.sf.net/projects/mpeg4ip
http://www.audiocoding.com

* libnjb 2.2.4 (older versions may work)
(NJB mediadevice (Creative Nomad/Zen family, Dell DJ devices)
http://www.sf.net/projects/libnjb

* libmtp 0.1.1 (or newer)
(MTP media device support AKA PlaysForSure)
http://libmtp.sourceforge.net/

* libkarma 0.0.5 && OMFS 0.6.1
(Rio Karma support via USB)
http://freakysoft.de/html/libkarma/ && http://linux-karma.sf.net/



INSTALLATION-FAQ
==================

Q: Can I improve Amarok's startup time?
A: Prelinking Amarok has spectacular results; however if you have binary openGL
drivers (eg Nvidia drivers), you will need to compile Amarok --without-opengl
in order to get the amarokapp binary to prelink (the amarok binary is not
important here).


INFORMATION FOR PACKAGERS
===========================

For Amarok packages we suggest you build:

% ./configure --disable-debug

It is possible to build Amarok to use MySQL as the database backend. Using
MySQL makes the Amarok collection faster.

We suggest compiling Os, there is no particular part of Amarok that would
benefit from optimisation, so the smallest binary is probably the best route.

In order to limit the dependencies the Amarok package demands we suggest
splitting Amarok into the following packages:

1. Amarok + one backend
2. xine-engine
3. Helix-engine
4. amarok_libvisual
5. ipod media device
6. ifp media device
7. njb media device
8. mtp media device
9. rio karma media device

Amarok is modular and will be fully functional as long as one of 2 or 3 is
also installed. Hence we suggest Amarok + one backend. Feel free to include the
helix, MAS and NMM engines if you can satisfy their dependencies.

Amarok ships with two binaries: amarok and amarokapp. The amarok binary is a
wrapper designed to speed up command line argument passing. amarokapp is the
real Amarok.

If you make packages for Amarok please let us know and we'll link to you on the
homepage (as long as you don't object).
--------------------------------------------------------------------------------



Basic Installation


+ 13
- 189
README View File

@@ -1,20 +1,19 @@

Amarok - the audio player for KDE
Amarok - an audio player for TDE
===================================

There are many media players around these days, true. What's missing from most
players is a user interface that doesn't get in the way of the user. How many
buttons do you have to press for simply adding some new tracks to the playlist?
Amarok tries to be a little different, providing a simple drag and drop
interface that really makes playlist handling easy.
There are many media players around these days, that is true.
What's missing from most players is a user interface that doesn't get in
the way of the user. Amarok tries to be a little different, providing a
simple drag and drop interface that really makes playlist handling easy.


FEATURES
==========

* Quick and simple drag and drop playlist creation
* Music library (built-in SQLite, MySQL, or PostgreSQL)
* Multiple backends supported (xine, Helix, and NMM)
* Multiple database backends (SQLite, MySQL or PostgreSQL)
* Xine engine backend to play the music library
* Plays all audio formats known to man
* 10 band equalizer
* Automatic cover art download using Amazon services
@@ -31,193 +30,18 @@ interface that really makes playlist handling easy.
* Access to iPod, iRiver IFP, USB Mass Storage and many other devices
* Powerful scripting interface
* Complete DCOP Access
* KDE integration
* TDE integration
* Preview and buy albums from the Magnatune.com music store
--------------------------------------------------------------------------------


DEPENDENCIES
==============

Required
* KDE-Libs 3.3 (or newer)
http://www.kde.org

* TagLib 1.4 (or newer)
(metadata tagging library)
http://freshmeat.net/projects/taglib

* Ruby 1.8
(programming language, used for scoring, lyrics, last.fm streams)
http://www.ruby-lang.org

* One of the multimedia frameworks listed below:

Recommended
* xine-lib 1.0.2 (or newer)
Note: xine-lib 1.1.1 is required for gapless playback.
(multimedia framework)
http://xinehq.de/

Optional
* RealPlayer 10 or HelixPlayer 1.0
(multimedia framework)
http://www.real.com
(Note: only HelixPlayer is exactly RealPlayer without MP3 support)

* KDE-Base 3.3 (or newer)
(needed for Konqueror Sidebar)
http://www.kde.org

* MySQL 4 or 5
(faster database support)
http://www.mysql.com

* PostgreSQL 7.4
(faster database support)
http://www.postgresql.org

* OpenGL accelerated X-Server
(visualization rendering)

* Libvisual 0.4.0 + SDL 1.2
(visualization framework)
http://localhost.nl/~synap/libvisual/
http://www.libsdl.org

* ProjectM 0.96 (or newer)
(visualization plugins for Libvisual or XMMS)
http://xmms-projectm.sourceforge.net/

* libtunepimp 0.3 (or newer)
(automatic tagging support)
http://www.musicbrainz.org/

* K3B 0.11 (or newer)
(CD burning support)
http://www.k3b.org

* libgpod 0.4.2 (or newer)
(iPod support)
Note: libgpod 0.6.0 is required for the newest Apple iPods.
http://www.gtkpod.org/libgpod.html

* libifp 1.0.0.2
(iRiver iFP support)
http://ifp-driver.sourceforge.net/libifp/

* libmp4v2 (mpeg4ip 1.5 is recommended, faad2 is less reliable)
(MP4/AAC tag reading & writing)
http://www.sf.net/projects/mpeg4ip
http://www.audiocoding.com

* libnjb 2.2.4 (older versions may work)
(NJB mediadevice (Creative Nomad/Zen family, Dell DJ devices)
http://www.sf.net/projects/libnjb

* libmtp 0.1.1 (or newer)
(MTP media device support AKA PlaysForSure)
http://libmtp.sourceforge.net/

* libkarma 0.0.5 && OMFS 0.6.1
(Rio Karma support via USB)
http://freakysoft.de/html/libkarma/ && http://linux-karma.sf.net/
Please note, if compiling from source you must also install the devel versions
of these packages.
--------------------------------------------------------------------------------


IMPORTANT INSTALL INSTRUCTIONS
================================

In order to compile and install Amarok on your system, type the following in the
base directory of the Amarok distribution:


% ./configure --prefix=`tde-config --prefix`
% make
% make install


Note: --enable-final is not guaranteed to work


Packages for popular distributions are available at http://amarok.kde.org
--------------------------------------------------------------------------------


INSTALLATION-FAQ
==================

Q: Can I improve Amarok's startup time?
A: Prelinking Amarok has spectacular results; however if you have binary openGL
drivers (eg Nvidia drivers), you will need to compile Amarok --without-opengl
in order to get the amarokapp binary to prelink (the amarok binary is not
important here).
--------------------------------------------------------------------------------


OTHER-FAQS
============

For answers to problems like "Amarok won't play any MP3s!" and "My MP3s skip
and stutter!" please visit:

http://amarok.kde.org/
--------------------------------------------------------------------------------


INFORMATION FOR PACKAGERS
===========================

For Amarok packages we suggest you build:

% ./configure --disable-debug

It is possible to build Amarok to use MySQL as the database backend. Using
MySQL makes the Amarok collection faster.

We suggest compiling Os, there is no particular part of Amarok that would
benefit from optimisation, so the smallest binary is probably the best route.

In order to limit the dependencies the Amarok package demands we suggest
splitting Amarok into the following packages:

1. Amarok + one backend
2. xine-engine
3. Helix-engine
4. amarok_libvisual
5. ipod media device
6. ifp media device
7. njb media device
8. mtp media device
9. rio karma media device

Amarok is modular and will be fully functional as long as one of 2 or 3 is
also installed. Hence we suggest Amarok + one backend. Feel free to include the
helix, MAS and NMM engines if you can satisfy their dependencies.

Amarok ships with two binaries: amarok and amarokapp. The amarok binary is a
wrapper designed to speed up command line argument passing. amarokapp is the
real Amarok.

If you make packages for Amarok please let us know and we'll link to you on the
homepage (as long as you don't object).
--------------------------------------------------------------------------------


CONTRIBUTING
==============

If you wish to contribute to Amarok, you should build it from SVN and subscribe
to the amarok-devel mailing list. The IRC channel is also a place where
it's nice to be, since you can talk to other developers much easier, and
get instant notification of commits to the SVN. For instant email notification
of commits, visit http://commitfilter.kde.org/.
--------------------------------------------------------------------------------
If you wish to contribute to Amarok (TDE), you might do so:

- TDE Gitea Workspace (TGW) collaboration tool.
https://mirror.git.trinitydesktop.org/gitea

WWW : http://amarok.kde.org
MAIL: amarok@kde.org
IRC : irc.freenode.net - #amarok, #amarok.de, #amarok.es
- TDE Weblate Translation Workspace (TWTW) collaboration tool.
https://mirror.git.trinitydesktop.org/weblate

+ 6
- 1
amarok/src/CMakeLists.txt View File

@@ -26,6 +26,7 @@ add_subdirectory( engine )
add_subdirectory( mediadevice )
add_subdirectory( device )
add_subdirectory( collectionscanner )
tde_conditional_add_subdirectory( WITH_EMBEDDED_SQLITE sqlite )

include_directories(
${CMAKE_CURRENT_BINARY_DIR}
@@ -37,10 +38,13 @@ include_directories(
${CMAKE_SOURCE_DIR}/amarok/src/analyzers
${CMAKE_SOURCE_DIR}/amarok/src/statusbar
${CMAKE_SOURCE_DIR}/amarok/src/plugin
${CMAKE_SOURCE_DIR}/amarok/src/sqlite
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${TAGLIB_INCLUDE_DIRS}
${SQLITE_INCLUDE_DIRS}
${MYSQL_INCLUDE_DIRS}
${PostgreSQL_INCLUDE_DIR}
)

link_directories(
@@ -105,6 +109,7 @@ tde_add_library( amarok SHARED AUTOMOC
metadata-static statusbar-static
LINK
tdehtml-shared tdenewstuff-shared
GL ${TAGLIB_LIBRARIES} ${SQLITE_LIBRARIES} pthread
${OPENGL_LIBRARIES} ${TAGLIB_LIBRARIES} ${MYSQL_LIBRARIES}
${PostgreSQL_LIBRARY} ${SQLITE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
DESTINATION ${LIB_INSTALL_DIR}
)

+ 0
- 1
amarok/src/amarokcore/crashhandler.cpp View File

@@ -31,7 +31,6 @@
#include <unistd.h> //write, getpid



#ifndef TAGLIB_PATCH_VERSION
// seems to be wheel's style
#define TAGLIB_PATCH_VERSION 0


+ 1
- 0
amarok/src/analyzers/CMakeLists.txt View File

@@ -17,6 +17,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/amarok/src
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${OPENGL_INCLUDE_DIR}
)




+ 85
- 46
amarok/src/mediadevice/daap/ConfigureChecks.cmake View File

@@ -9,74 +9,113 @@
#
#################################################

find_program( RUBY_EXECUTABLE "ruby" )
if( NOT RUBY_EXECUTABLE )
tde_message_fatal( "ruby is required, but was not found on your system" )
endif( )

find_package( Ruby )

if( NOT RUBY_FOUND )
tde_message_fatal( "The Ruby interpreter and Its headers are required but were not found on your system" )
endif()

# In ruby 1.9.x, ruby.h is located in a different location than previous releases.
execute_process(
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['MAJOR'] )"
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MAJOR))"
OUTPUT_VARIABLE RUBY_VERSION_MAJOR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
if( _result )
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
endif( )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['MINOR'] )"
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MINOR))"
OUTPUT_VARIABLE RUBY_VERSION_MINOR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
if( _result )
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
endif( )
set( RUBY_VERSION ${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR} )
if ( "${RUBY_VERSION}" GREATER "18" )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(archdir))"
OUTPUT_VARIABLE RUBY_ARCH_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitearchdir))"
OUTPUT_VARIABLE RUBY_SITEARCH_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitelibdir))"
OUTPUT_VARIABLE RUBY_SITE_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(libdir))"
OUTPUT_VARIABLE RUBY_LIB_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubylibdir))"
OUTPUT_VARIABLE RUBY_RUBYLIB_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(LIBRUBYARG_SHARED))"
OUTPUT_VARIABLE RUBY_LDFLAGS
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyhdrdir))"
OUTPUT_VARIABLE HAVE_RUBYHDR_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )

if( HAVE_RUBYHDR_DIR )
execute_process(
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['rubyhdrdir'] )"
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyhdrdir))"
OUTPUT_VARIABLE RUBY_INCLUDE_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
if( _result )
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
endif( )
else( )

execute_process(
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['archdir'] )"
OUTPUT_VARIABLE RUBY_INCLUDE_DIR
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyarchhdrdir))"
OUTPUT_VARIABLE HAVE_RUBYARCHHDR_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
if( _result )
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )

if( HAVE_RUBYARCHHDR_DIR )
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyarchhdrdir))"
OUTPUT_VARIABLE RUBY_ARCHINCLUDE_DIR
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
else( )
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(arch))"
OUTPUT_VARIABLE RUBY_ARCH
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
set( RUBY_ARCHINCLUDE_DIR "${RUBY_INCLUDE_DIR}/${RUBY_ARCH}" CACHE INTERNAL "" )
endif( )
endif( )
execute_process(
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['arch'] )"
OUTPUT_VARIABLE RUBY_ARCH
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
if( _result )
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
endif( )
execute_process(
COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['LIBRUBYARG_SHARED'] )"
OUTPUT_VARIABLE RUBY_LDFLAGS
RESULT_VARIABLE _result
OUTPUT_STRIP_TRAILING_WHITESPACE )
if( _result )
tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" )
set( RUBY_CFLAGS "-I${RUBY_INCLUDE_DIR} -I${RUBY_ARCHINCLUDE_DIR}" CACHE INTERNAL "" )
else( )
set( RUBY_INCLUDE_DIR ${RUBY_ARCH_DIR} CACHE INTERNAL "" )
set( RUBY_CFLAGS "-I${RUBY_INCLUDE_DIR}" CACHE INTERNAL "" )
endif( )

if( RUBY_INCLUDE_DIR AND RUBY_LDFLAGS )
message( STATUS "Found RUBY: ${RUBY_EXECUTABLE}" )
message( STATUS " RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}" )
message( STATUS " RUBY_LDFLAGS: ${RUBY_LDFLAGS}" )
message( STATUS " RUBY_VERSION_MAJOR: ${RUBY_VERSION_MAJOR}")
message( STATUS " RUBY_VERSION_MINOR: ${RUBY_VERSION_MINOR}")
message( STATUS " RUBY_ARCH: ${RUBY_ARCH}")
message( STATUS " archdir ${RUBY_ARCH_DIR}" )
message( STATUS " sitearchdir ${RUBY_SITEARCH_DIR}" )
message( STATUS " sitedir ${RUBY_SITE_DIR}" )
message( STATUS " rubylibdir ${RUBY_RUBYLIB_DIR}" )
message( STATUS " libdir ${RUBY_LIB_DIR}" )
message( STATUS " includedir ${RUBY_INCLUDE_DIR}" )
message( STATUS " librubyarg ${RUBY_LDFLAGS}" )
message( STATUS " cflags ${RUBY_CFLAGS}" )
endif( )

if ( "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}" VERSION_LESS "19" )
message( STATUS " You have an older version of Ruby! (<1.9)")
message( STATUS " ruby version << 1.9" )
set ( HAVE_OLD_RUBY 1 CACHE INTERNAL "" )
endif( )

+ 2
- 1
amarok/src/mediadevice/daap/mongrel/http11/CMakeLists.txt View File

@@ -16,7 +16,7 @@ add_definitions(

include_directories(
${CMAKE_BINARY_DIR}
${RUBY_INCLUDE_DIR}/${RUBY_ARCH}
${RUBY_ARCHINCLUDE_DIR}
${RUBY_INCLUDE_DIR}
)

@@ -33,6 +33,7 @@ tde_add_library( http11 SHARED
SOURCES
http11.c http11_parser.c tst_cleanup.c tst_delete.c
tst_grow_node_free_list.c tst_init.c tst_insert.c tst_search.c
VERSION 0.0.0
LINK ${RUBY_LDFLAGS}
DESTINATION ${LIB_INSTALL_DIR}/ruby_lib
)

+ 2
- 0
amarok/src/mediadevice/ifp/CMakeLists.txt View File

@@ -17,6 +17,8 @@ include_directories(
${CMAKE_SOURCE_DIR}/amarok/src
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${IFP_INCLUDE_DIR}
${USB_INCLUDE_DIRS}
)

link_directories(


+ 2
- 0
amarok/src/mediadevice/ifp/ConfigureChecks.cmake View File

@@ -16,6 +16,8 @@ if( HAVE_IFP_H )
endif( )
if( HAVE_IFP_H AND HAVE_IFP )
set( IFP_LIBRARY ifp )
find_path( IFP_INCLUDE_DIR "ifp.h" )
set( IFP_INCLUDE_DIR "${IFP_INCLUDE_DIR}" )
else( )
tde_message_fatal( "libifp is required, but was not found on your system" )
endif( )


+ 1
- 1
amarok/src/mediadevice/ipod/CMakeLists.txt View File

@@ -37,6 +37,6 @@ install( FILES

tde_add_kpart( libamarok_ipod-mediadevice AUTOMOC
SOURCES ipodmediadevice.cpp
LINK amarok-shared glib-2.0 ${GPOD_LIBRARY}
LINK amarok-shared ${GPOD_LIBRARY} ${GLIB2_LIBRARIES}
DESTINATION ${PLUGIN_INSTALL_DIR}
)

+ 1
- 0
amarok/src/mediadevice/mtp/CMakeLists.txt View File

@@ -17,6 +17,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/amarok/src
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${MTP_INCLUDE_DIRS}
)

link_directories(


+ 1
- 0
amarok/src/mediadevice/njb/CMakeLists.txt View File

@@ -17,6 +17,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/amarok/src
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${NJB_INCLUDE_DIRS}
)

link_directories(


+ 1
- 1
amarok/src/metadata/CMakeLists.txt View File

@@ -36,5 +36,5 @@ tde_add_library( metadata STATIC_PIC
SOURCES tplugins.cpp
LINK
tagasf-static tagaudible-static tagrealmedia-static
tagaac-static tagwav-static tagmp4-static
tagaac-static tagwav-static common-tagmp4-static
)

+ 1
- 1
amarok/src/metadata/m4a/CMakeLists.txt View File

@@ -19,7 +19,7 @@ include_directories(

##### tagm4a (static) ###########################

tde_add_library( tagm4a STATIC_PIC
tde_add_library( common-tagmp4 STATIC_PIC
SOURCES
taglib_mp4filetyperesolver.cpp mp4file.cpp mp4itunestag.cpp mp4isobox.cpp
mp4isofullbox.cpp mp4skipbox.cpp mp4moovbox.cpp mp4mvhdbox.cpp


+ 7
- 8
amarok/src/metadata/mp4/CMakeLists.txt View File

@@ -17,17 +17,16 @@ include_directories(
${MP4V2_INCLUDE_DIRS}
)

link_directories(
${MP4V2_LIBRARY_DIRS}
)

##### tagmp4 (static)

##### tagmp4 (static) ###########################
tde_add_library( common-tagmp4 STATIC_PIC

tde_add_library( tagmp4 STATIC_PIC
SOURCES
mp4file.cpp mp4file.h mp4properties.cpp mp4properties.h mp4tag.cpp mp4tag.h
taglib_mp4filetyperesolver.cpp taglib_mp4filetyperesolver.h
mp4file.cpp
mp4properties.cpp
mp4tag.cpp
taglib_mp4filetyperesolver.cpp
LINK
mp4v2
${MP4V2_LIBRARIES}
)

+ 1
- 0
amarok/src/metadata/tplugins.cpp View File

@@ -54,6 +54,7 @@
#include "wav/wavfiletyperesolver.h"
#include "wav/wavfile.h"
#include "aac/aacfiletyperesolver.h"
#include "tplugins.h"

#include <taglib/mpegfile.h>
#include <taglib/oggfile.h>


+ 4
- 1
amarok/src/scripts/common/CMakeLists.txt View File

@@ -9,4 +9,7 @@
#
#################################################

install( FILES Zeroconf.py Publisher.py DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/common )
install(
PROGRAMS Zeroconf.py Publisher.py
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/common
)

+ 9
- 3
amarok/src/scripts/lyrics_astraweb/CMakeLists.txt View File

@@ -9,6 +9,12 @@
#
#################################################

install( FILES
COPYING README lyrics_astraweb.rb lyrics_astraweb.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/lyrics_astraweb )
install(
FILES COPYING README lyrics_astraweb.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/lyrics_astraweb
)

install(
PROGRAMS lyrics_astraweb.rb
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/lyrics_astraweb
)

+ 9
- 2
amarok/src/scripts/lyrics_lyrc/CMakeLists.txt View File

@@ -9,5 +9,12 @@
#
#################################################

install( PROGRAMS lyrics_lyrc.rb DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/lyrics_lyrc )
install( FILES COPYING README lyrics_lyrc.spec DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/lyrics_lyrc )
install(
PROGRAMS lyrics_lyrc.rb
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/lyrics_lyrc
)

install(
FILES COPYING README lyrics_lyrc.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/lyrics_lyrc
)

+ 8
- 6
amarok/src/scripts/playlist2html/CMakeLists.txt View File

@@ -9,10 +9,12 @@
#
#################################################

install( PROGRAMS
playlist2html.py PlaylistServer.py
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/playlist2html )
install(
PROGRAMS playlist2html.py PlaylistServer.py Playlist.py
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/playlist2html
)

install( FILES
Playlist.py README playlist2html.spec PlaylistServer.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/playlist2html )
install(
FILES README playlist2html.spec PlaylistServer.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/playlist2html
)

+ 4
- 1
amarok/src/scripts/ruby_debug/CMakeLists.txt View File

@@ -9,4 +9,7 @@
#
#################################################

install( FILES debug.rb DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/ruby_debug )
install(
PROGRAMS debug.rb
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/ruby_debug
)

+ 8
- 6
amarok/src/scripts/score_default/CMakeLists.txt View File

@@ -9,10 +9,12 @@
#
#################################################

install( PROGRAMS
score_default.rb
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_default )
install(
PROGRAMS score_default.rb
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_default
)

install( FILES
COPYING README score_default.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_default )
install(
FILES COPYING README score_default.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_default
)

+ 8
- 6
amarok/src/scripts/score_impulsive/CMakeLists.txt View File

@@ -9,10 +9,12 @@
#
#################################################

install( PROGRAMS
score_impulsive.rb
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_impulsive )
install(
PROGRAMS score_impulsive.rb
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_impulsive
)

install( FILES
COPYING README score_impulsive.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_impulsive )
install(
FILES COPYING README score_impulsive.spec
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/score_impulsive
)

+ 12
- 10
amarok/src/scripts/webcontrol/CMakeLists.txt View File

@@ -9,14 +9,16 @@
#
#################################################

install( PROGRAMS
WebControl.py
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/webcontrol )
install(
PROGRAMS WebControl.py Globals.py Playlist.py RequestHandler.py
WebPublisher.py
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/webcontrol
)

install( FILES
Globals.py Playlist.py README RequestHandler.py WebControl.spec
WebPublisher.py amarok_cut.png controlbackground.png main.css
main.js player_end.png player_pause.png player_play.png
player_start.png player_stop.png template.thtml vol_speaker.png
star.png smallstar.png
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/webcontrol )
install(
FILES README WebControl.spec amarok_cut.png controlbackground.png
main.css main.js player_end.png player_pause.png
player_play.png player_start.png player_stop.png
template.thtml vol_speaker.png star.png smallstar.png
DESTINATION ${DATA_INSTALL_DIR}/amarok/scripts/webcontrol
)

+ 18
- 0
amarok/src/sqlite/CMakeLists.txt View File

@@ -0,0 +1,18 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)

add_definitions( -DTHREADSAFE=1 -DHAVE_USLEEP=1 )


##### sqlite (static)

tde_add_library( sqlite STATIC_PIC

SOURCES
sqlite3.c
LINK
dl
)

+ 596
- 613
amarok/src/sqlite/sqlite3.c
File diff suppressed because it is too large
View File


+ 12
- 5
amarok/src/sqlite/sqlite3.h View File

@@ -30,7 +30,7 @@
** the version number) and changes its name to "sqlite3.h" as
** part of the build process.
**
** @(#) $Id: sqlite.h.in,v 1.218 2007/07/19 12:41:40 drh Exp $
** @(#) $Id: sqlite.h.in,v 1.219 2007/08/08 12:11:21 drh Exp $
*/
#ifndef _SQLITE3_H_
#define _SQLITE3_H_
@@ -43,6 +43,13 @@
extern "C" {
#endif

/*
** Add the ability to override 'extern'
*/
#ifndef SQLITE_EXTERN
# define SQLITE_EXTERN extern
#endif

/*
** Make sure these symbols where not defined by some previous header
** file.
@@ -81,8 +88,8 @@ extern "C" {
**
** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()].
*/
#define SQLITE_VERSION "3.4.1"
#define SQLITE_VERSION_NUMBER 3004001
#define SQLITE_VERSION "3.4.2"
#define SQLITE_VERSION_NUMBER 3004002

/*
** CAPI3REF: Run-Time Library Version Numbers
@@ -100,7 +107,7 @@ extern "C" {
** is provided for DLL users who can only access functions and not
** constants within the DLL.
*/
extern const char sqlite3_version[];
SQLITE_EXTERN const char sqlite3_version[];
const char *sqlite3_libversion(void);
int sqlite3_libversion_number(void);

@@ -2020,7 +2027,7 @@ int sqlite3_sleep(int);
** it is not safe to invoke this routine after [sqlite3_open()] has
** been called.
*/
extern char *sqlite3_temp_directory;
SQLITE_EXTERN char *sqlite3_temp_directory;

/*
** CAPI3REF: Test To See If The Databse Is In Auto-Commit Mode


+ 15
- 1
config.h.cmake View File

@@ -1,3 +1,12 @@
#define VERSION "@VERSION@"

// Defined if you have fvisibility and fvisibility-inlines-hidden support.
#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1

/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@

#cmakedefine SIZEOF_INT @SIZEOF_INT@
#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
#cmakedefine HAVE_STDINT_H 1
@@ -17,5 +26,10 @@
#cmakedefine HAVE_TUNEPIMP 1

#cmakedefine TAGLIB_15 1
#cmakedefine HAVE_QGLWIDGET 1
#cmakedefine HAVE_TQGLWIDGET 1
#cmakedefine HAVE_OLD_RUBY @HAVE_OLD_RUBY@

#cmakedefine USE_MYSQL 1
#cmakedefine USE_POSTGRESQL 1

#cmakedefine MYSQL_STRUCT @MYSQL_STRUCT@

+ 6
- 0
doc/man/CMakeLists.txt View File

@@ -0,0 +1,6 @@
INSTALL(
FILES ${PROJECT_NAME}.1 amarokapp.1 amarok_libvisual.1
amarokcollectionscanner.1
DESTINATION ${MAN_INSTALL_DIR}/man1
COMPONENT doc
)

+ 181
- 0
doc/man/amarok.1 View File

@@ -0,0 +1,181 @@
.\" Generated by kdemangen.pl and edited by hand
.TH AMAROK 1 "Mar 2004" "Trinity Desktop Environment" "An audio player for TDE"
.SH NAME
amarok
\- An audio player for TDE
.SH SYNOPSIS
amarok [Qt-options] [TDE-options] [URL(s)]
.SH DESCRIPTION
amaroK is a multimedia player based on the soundserver-independent framework.
There are many media players around these days, true. What's missing from most
players is a user interface, that doesn't get in the way of the user.
.SH OPTIONS
.SS Generic options:
.TP
.B \-\-help
Show help about options
.TP
.B \-\-help\-qt
Show Qt specific options
.TP
.B \-\-help\-tde
Show TDE specific options
.TP
.B \-\-help\-all
Show all options
.TP
.B \-\-author
Show author information
.TP
.B \-v, \-\-version
Show version information
.TP
.B \-\-license
Show license information
.TP
.B \-\-
End of options
.SS
.SS Qt options:
.TP
.B \-\-display <displayname>
Use the X-server display 'displayname'.
.TP
.B \-\-session <sessionId>
Restore the application for the given 'sessionId'.
.TP
.B \-\-cmap
Causes the application to install a private color
map on an 8-bit display.
.TP
.B \-\-ncols <count>
Limits the number of colors allocated in the color
cube on an 8-bit display, if the application is
using the QApplication::ManyColor color
specification.
.TP
.B \-\-nograb
tells Qt to never grab the mouse or the keyboard.
.TP
.B \-\-dograb
running under a debugger can cause an implicit
\-\-nograb, use \-\-dograb to override.
.TP
.B \-\-sync
switches to synchronous mode for debugging.
.TP
.B \-\-fn, \-\-font <fontname>
defines the application font.
.TP
.B \-\-bg, \-\-background <color>
sets the default background color and an
application palette (light and dark shades are
calculated).
.TP
.B \-\-fg, \-\-foreground <color>
sets the default foreground color.
.TP
.B \-\-btn, \-\-button <color>
sets the default button color.
.TP
.B \-\-name <name>
sets the application name.
.TP
.B \-\-title <title>
sets the application title (caption).
.TP
.B \-\-visual TrueColor
forces the application to use a TrueColor visual on
an 8-bit display.
.TP
.B \-\-inputstyle <inputstyle>
sets XIM (X Input Method) input style. Possible
values are onthespot, overthespot, offthespot and
root.
.TP
.B \-\-im <XIM server>
set XIM server.
.TP
.B \-\-noxim
disable XIM.
.TP
.B \-\-reverse
mirrors the whole layout of widgets.
.SS
.SS TDE options:
.TP
.B \-\-caption <caption>
Use 'caption' as name in the titlebar.
.TP
.B \-\-icon <icon>
Use 'icon' as the application icon.
.TP
.B \-\-miniicon <icon>
Use 'icon' as the icon in the titlebar.
.TP
.B \-\-config <filename>
Use alternative configuration file.
.TP
.B \-\-dcopserver <server>
Use the DCOP Server specified by 'server'.
.TP
.B \-\-nocrashhandler
Disable crash handler, to get core dumps.
.TP
.B \-\-waitforwm
Waits for a WM_NET compatible windowmanager.
.TP
.B \-\-style <style>
sets the application GUI style.
.TP
.B \-\-geometry <geometry>
sets the client geometry of the main widget.
.SS
.SS Arguments:
URL(s) Files/URLs to Open
.SS
.SS Options:
.TP
.B \-r, \-\-previous
Skip backwards in playlist
.TP
.B \-p, \-\-play
Start playing current playlist
.TP
.B \-s, \-\-stop
Stop playback
.TP
.B \-\-pause
Pause playback
.TP
.B \-f, \-\-next
Skip forwards in playlist
.SS
.SS Additional options:
.TP
.B \-e, \-\-enqueue
Enqueue Files/URLs

.SH SEE ALSO
Full user documentation is available through the TDE Help Center. You can also enter the URL
.BR help:/amarok/
directly into konqueror or you can run
.BR "`khelpcenter help:/amarok/'"
from the command-line.
.BR
.SH AUTHORS
.nf
Christian Muehlhaeuser <chris@chris.de>
.BR
Mark Kretschmann <markey@web.de>
.BR
Max Howell <max.howell@methylblue.com>
.BR
Stanislav Karchebny <berk@upnet.ru>
.BR
Please use http://bugs.trinitydesktop.org to report bugs, do not mail the authors directly.
.BR
.SH OTHER
This manual page was written by Alejandro Exojo <suy@badopi.org> for the Debian
system (but may be used by others).
.BR

+ 14
- 0
doc/man/amarok_libvisual.1 View File

@@ -0,0 +1,14 @@
.\" This file was generated by kdemangen.pl and edited manually by Modestas Vainius
.TH AMAROK_LIBVISUAL 1 "Feb 2008" "Amarok" "LibVisual support utility for Amarok"
.SH NAME
amarok_libvisual \- LibVisual support utility for Amarok
.SH SYNOPSIS
amarok_libvisual
.SH DESCRIPTION
This is LibVisual support helper utility for Amarok. It's used internally by Amarok
itself when needed and is not supposed to be invoked manually by user.
.SS
.SH AUTHORS
Amarok Developers
.SH OTHER
This manual page was written by Modestas Vainius <modestas@vainius.eu> for Debian.

+ 23
- 0
doc/man/amarokapp.1 View File

@@ -0,0 +1,23 @@
.\" Generated by kdemangen.pl and edited by hand
.TH AMAROK 1 "Feb 2008" "Amarok" "An audio player for TDE"
.SH NAME
amarokapp
\- A direct executable for Amarok.
.SH SYNOPSIS
amarokapp [Qt-options] [TDE-options] [URL(s)]
.SH DESCRIPTION
Amarok is a multimedia player based on the soundserver-independent framework.
There are many media players around these days, true. What's missing from most
players is a user interface, that doesn't get in the way of the user.
.P
This is direct Amarok executable. The recommend way to run Amarok is using
\fBamarok(1)\fP, which is a wrapper script around \fBamarokapp\fP. However, if you're
debugging Amarok with gdb, valgrind or similar program, you will probably want to
run it against this binary directly.
.P
\fBamarokapp(1)\fP takes the same command line options and arguments as
\fBamarok(1)\fP. See its manual page for more information how to run \fBamarokapp\fP.
.SH SEE ALSO
amarok(1)
.SH OTHER
This manual page was written by Modestas Vainius <modestas@vainius.eu> for Debian.

+ 63
- 0
doc/man/amarokcollectionscanner.1 View File

@@ -0,0 +1,63 @@
.\" This file was generated by kdemangen.pl and edited manually by Modestas Vainius
.TH AMAROKCOLLECTIONSCANNER 1 "Feb 2008" "Amarok" "Collection Scanner for Amarok"
.SH NAME
amarokcollectionscanner \- Collection Scanner for Amarok
.SH SYNOPSIS
amarokcollectionscanner [Qt\-options] [TDE\-options] Folder(s)
.SH DESCRIPTION
This Amarok helper utility scans folder(s) given on the command line or
restarts previous scan if \fB\-\-restart\fP option was given and writes a
specially structured XML file to standard output with extensive information
(including tags) about audio files it was able to find. XML file schema used
by this utility is Amarok specific.
.P
You may find his utility useful if you need to retreive and/or display extended
information about collection of audio files.
.SH OPTIONS
.SS
.SS Arguments:
Folder(s) Folders to scan
.SS
.SS Options:
.TP
.B \-r, \-\-recursive
Scan folders recursively
.TP
.B \-i, \-\-incremental
Incremental Scan (modified folders only)
.TP
.B \-p, \-\-importplaylists
Import playlist
.TP
.B \-s, \-\-restart
Restart the scanner at last position, after a crash []
.SS Generic options:
.TP
.B \-\-help
Show help about options
.TP
.B \-\-help\-qt
Show Qt specific options
.TP
.B \-\-help\-tde
Show TDE specific options
.TP
.B \-\-help\-all
Show all options
.TP
.B \-\-author
Show author information
.TP
.B \-v, \-\-version
Show version information
.TP
.B \-\-license
Show license information
.TP
.B \-\-
End of options
.SS
.SH AUTHORS
Amarok Developers
.SH OTHER
This manual page was written by Modestas Vainius <modestas@vainius.eu> for Debian.

+ 3
- 2
po/CMakeLists.txt View File

@@ -9,9 +9,10 @@
#
#################################################

file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} amarok.po )
file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_NAME}.po )

foreach( _po ${po_files} )
get_filename_component( _lang ${_po} PATH )
string( REPLACE "/" ";" _path "${_po}" )
list( GET _path 0 _lang )
tde_create_translation( FILES ${_po} LANG ${_lang} )
endforeach( )

Loading…
Cancel
Save