parent
4ef4f179eb
commit
054ced71d3
@ -0,0 +1,3 @@
|
||||
[submodule "cmake"]
|
||||
path = cmake
|
||||
url = http://system@scm.trinitydesktop.org/scm/git/tde-common-cmake
|
@ -0,0 +1,73 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
cmake_minimum_required( VERSION 2.6 )
|
||||
|
||||
|
||||
##### general package setup #####################
|
||||
|
||||
project( akode )
|
||||
set( PACKAGE akode )
|
||||
set( VERSION 2.0.2 )
|
||||
|
||||
|
||||
##### include essential cmake modules ###########
|
||||
|
||||
include( FindPkgConfig )
|
||||
include( CheckCXXSourceCompiles )
|
||||
include( CheckFunctionExists )
|
||||
include( CheckIncludeFile )
|
||||
include( CheckLibraryExists )
|
||||
|
||||
|
||||
##### include our cmake modules #################
|
||||
|
||||
set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
|
||||
include( TDEMacros )
|
||||
tde_setup_architecture_flags( )
|
||||
|
||||
|
||||
##### setup install paths #######################
|
||||
|
||||
include( TDESetupPaths )
|
||||
tde_setup_paths( )
|
||||
|
||||
|
||||
##### optional stuff ############################
|
||||
|
||||
option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
|
||||
|
||||
OPTION( WITH_LIBLTDL "Build with libltdl" ${WITH_ALL_OPTIONS} )
|
||||
|
||||
OPTION( WITH_ALSA_SINK "Build with alsa sink" ${WITH_ALL_OPTIONS} )
|
||||
OPTION( WITH_JACK_SINK "Build with jack sink" ${WITH_ALL_OPTIONS} )
|
||||
OPTION( WITH_POLYP_SINK "Build with polyp sink" OFF )
|
||||
OPTION( WITH_OSS_SINK "Build with oss sink" ${WITH_ALL_OPTIONS} )
|
||||
OPTION( WITH_SUN_SINK "Build with sun sink" OFF )
|
||||
|
||||
OPTION( WITH_FFMPEG_DECODER "Build with ffmeeg decoder" OFF )
|
||||
option( WITH_MPC_DECODER "Build with mpc decoder" ON )
|
||||
option( WITH_MPEG_DECODER "Build with mpeg decoder" ${WITH_ALL_OPTIONS} )
|
||||
OPTION( WITH_SRC_RESAMPLER "Build with src resampler" ${WITH_ALL_OPTIONS} )
|
||||
option( WITH_XIPH_DECODER "Build with xiph decoder" ${WITH_ALL_OPTIONS} )
|
||||
|
||||
|
||||
##### configure checks ##########################
|
||||
|
||||
include( ConfigureChecks.cmake )
|
||||
add_definitions( -DHAVE_CONFIG_H )
|
||||
configure_file( config.h.cmake config.h @ONLY )
|
||||
|
||||
|
||||
##### build #####################################
|
||||
|
||||
tde_auto_add_subdirectories()
|
||||
|
@ -0,0 +1,300 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
|
||||
##### check for system libraries ################
|
||||
|
||||
if( WITH_LIBLTDL )
|
||||
# check libltdl
|
||||
check_include_file( "ltdl.h" HAVE_LTDL_H )
|
||||
if( HAVE_LTDL_H )
|
||||
set( AKODE_LIBDL ltdl )
|
||||
check_library_exists( ${AKODE_LIBDL} lt_dlopen "" HAVE_LIBLTDL )
|
||||
endif( HAVE_LTDL_H)
|
||||
if( NOT HAVE_LIBLTDL )
|
||||
tde_message_fatal( "libltdl are required, but not found on your system" )
|
||||
endif( NOT HAVE_LIBLTDL )
|
||||
|
||||
else( WITH_LIBLTDL )
|
||||
# check libdl
|
||||
set( AKODE_LIBDL dl )
|
||||
check_library_exists( ${AKODE_LIBDL} dlopen /lib HAVE_LIBDL )
|
||||
if( NOT HAVE_LIBDL )
|
||||
unset( AKODE_LIBDL )
|
||||
check_function_exists( dlopen HAVE_DLOPEN )
|
||||
if( NOT HAVE_DLOPEN )
|
||||
tde_message_fatal( "libdl are required, but not found on your system" )
|
||||
endif( NOT HAVE_DLOPEN )
|
||||
endif( NOT HAVE_LIBDL )
|
||||
endif( WITH_LIBLTDL )
|
||||
|
||||
|
||||
find_package( Threads )
|
||||
|
||||
|
||||
check_include_file( "semaphore.h" HAVE_SEM )
|
||||
check_library_exists( rt sem_init "" HAVE_LIBRT )
|
||||
if( HAVE_LIBRT )
|
||||
set( SEM_LIBRARIES rt )
|
||||
endif( HAVE_LIBRT )
|
||||
|
||||
|
||||
check_library_exists( c posix_madvise "" HAVE_POSIX_MADVISE )
|
||||
check_library_exists( c posix_fadvise "" HAVE_POSIX_FADVISE )
|
||||
check_library_exists( c madvise "" HAVE_MADVISE )
|
||||
check_library_exists( c fadvise "" HAVE_FADVISE )
|
||||
check_cxx_source_compiles( "
|
||||
#include <sys/types.h>
|
||||
#include <sys/mman.h>
|
||||
int main() { ::madvise((char*)0,0, MADV_SEQUENTIAL); return 0; }"
|
||||
HAVE_MADVISE_PROTOTYPE )
|
||||
if( NOT HAVE_MADVISE_PROTOTYPE )
|
||||
set( NEED_MADVISE_PROTOTYPE 1 )
|
||||
endif( NOT HAVE_MADVISE_PROTOTYPE )
|
||||
|
||||
|
||||
check_include_file( "getopt.h" HAVE_GETOPT_H )
|
||||
check_library_exists( c getopt_long "" HAVE_GNU_GETOPT )
|
||||
check_include_file( "stdint.h" HAVE_STDINT_H )
|
||||
if( NOT HAVE_STDINT_H )
|
||||
check_include_file( "inttypes.h" HAVE_INTTYPES_H )
|
||||
endif( NOT HAVE_STDINT_H )
|
||||
check_include_file( "sys/types.h" HAVE_SYS_TYPES_H )
|
||||
|
||||
|
||||
##### check alsa support ########################
|
||||
|
||||
if( WITH_ALSA_SINK )
|
||||
|
||||
pkg_search_module( ALSA alsa>=0.90 )
|
||||
|
||||
if( NOT ALSA_FOUND )
|
||||
tde_message_fatal( "alsa >= 0.90 are required, but not found on your system" )
|
||||
endif( NOT ALSA_FOUND )
|
||||
|
||||
endif( WITH_ALSA_SINK )
|
||||
|
||||
|
||||
##### check jack support ########################
|
||||
|
||||
if( WITH_JACK_SINK )
|
||||
|
||||
pkg_search_module( JACK jack>=0.90 )
|
||||
|
||||
if( NOT JACK_FOUND )
|
||||
tde_message_fatal( "jack >= 0.90 are required, but not found on your system" )
|
||||
endif( NOT JACK_FOUND )
|
||||
|
||||
endif( WITH_JACK_SINK )
|
||||
|
||||
|
||||
##### check oss support #########################
|
||||
|
||||
if( WITH_OSS_SINK )
|
||||
|
||||
check_include_file( "soundcard.h" HAVE_SOUNDCARD_H )
|
||||
if( NOT HAVE_SOUNDCARD_H )
|
||||
check_include_file( "sys/soundcard.h" HAVE_SYS_SOUNDCARD_H )
|
||||
if( NOT HAVE_SYS_SOUNDCARD_H )
|
||||
tde_message_fatal( "soundcard.h are required, but not found on your system" )
|
||||
endif( NOT HAVE_SYS_SOUNDCARD_H )
|
||||
endif( NOT HAVE_SOUNDCARD_H )
|
||||
|
||||
check_library_exists( ossaudio _oss_ioctl "" HAVE_OSSAUDIO )
|
||||
if( HAVE_OSSAUDIO )
|
||||
set( OSSAUDIO_LIBRARIES "-lossaudio" )
|
||||
endif( HAVE_OSSAUDIO )
|
||||
|
||||
endif( WITH_OSS_SINK )
|
||||
|
||||
|
||||
##### check polyp support #######################
|
||||
|
||||
if( WITH_POLYP_SINK )
|
||||
|
||||
pkg_search_module( POLYP polyplib-simple>=0.70 )
|
||||
|
||||
if( NOT POLYP_FOUND )
|
||||
tde_message_fatal( "polyplib-simple >= 0.70 are required, but not found on your system" )
|
||||
endif( NOT POLYP_FOUND )
|
||||
|
||||
endif( WITH_POLYP_SINK )
|
||||
|
||||
|
||||
##### check sun support #########################
|
||||
|
||||
if( WITH_SUN_SINK )
|
||||
|
||||
check_include_file( "sys/audioio.h" HAVE_AUDIOIO_H )
|
||||
if( NOT HAVE_AUDIOIO_H )
|
||||
tde_message_fatal( "sun audioio are required, but not found on your system" )
|
||||
endif( NOT HAVE_AUDIOIO_H )
|
||||
|
||||
endif( WITH_SUN_SINK )
|
||||
|
||||
|
||||
##### check ffmpeg support ######################
|
||||
|
||||
if( WITH_FFMPEG_DECODER )
|
||||
|
||||
pkg_search_module( AVFORMAT libavformat>=50 )
|
||||
if( NOT AVFORMAT_FOUND )
|
||||
tde_message_fatal( "libavformat >= 50 are required, but not found on your system" )
|
||||
endif( NOT AVFORMAT_FOUND )
|
||||
|
||||
pkg_search_module( AVCODEC libavcodec>=50 )
|
||||
if( NOT AVCODEC_FOUND )
|
||||
tde_message_fatal( "libavcodec >= 50 are required, but not found on your system" )
|
||||
endif( NOT AVCODEC_FOUND )
|
||||
|
||||
set( HAVE_FFMPEG 1 )
|
||||
|
||||
endif( WITH_FFMPEG_DECODER )
|
||||
|
||||
|
||||
##### check mad support #########################
|
||||
|
||||
if( WITH_MPEG_DECODER )
|
||||
|
||||
pkg_search_module( MAD mad )
|
||||
|
||||
if( NOT MAD_FOUND )
|
||||
find_library( MAD_LIBRARIES NAMES mad )
|
||||
find_path( MAD_INCLUDE_DIRS mad.h )
|
||||
if( NOT MAD_LIBRARIES )
|
||||
tde_message_fatal( "mad are required, but not found on your system" )
|
||||
endif( NOT MAD_LIBRARIES )
|
||||
endif( NOT MAD_FOUND )
|
||||
|
||||
endif( WITH_MPEG_DECODER )
|
||||
|
||||
|
||||
##### check FLAC support ########################
|
||||
|
||||
if( WITH_XIPH_DECODER )
|
||||
|
||||
# check for FLAC module
|
||||
pkg_search_module( FLAC flac>=1.1.3 )
|
||||
if( FLAC_FOUND )
|
||||
set( HAVE_LIBFLAC113 1 )
|
||||
else( FLAC_FOUND )
|
||||
# check for FLAC 1.1.3
|
||||
check_include_file( "FLAC/metadata.h" HAVE_FLAC113_H )
|
||||
if( HAVE_FLAC113_H )
|
||||
tde_save_and_set( CMAKE_REQUIRED_LIBRARIES ogg )
|
||||
check_library_exists( FLAC FLAC__stream_decoder_seek_absolute "" HAVE_LIBFLAC113 )
|
||||
tde_restore( CMAKE_REQUIRED_LIBRARIES )
|
||||
if( HAVE_LIBFLAC113 )
|
||||
set( FLAC_LIBRARIES "-lFLAC -logg" )
|
||||
endif( HAVE_LIBFLAC113 )
|
||||
endif( HAVE_FLAC113_H )
|
||||
|
||||
# check for FLAC 1.1.1 or 1.1.2
|
||||
if( NOT HAVE_LIBFLAC113 )
|
||||
check_include_file( "FLAC/seekable_stream_decoder.h" HAVE_FLAC_H )
|
||||
if( HAVE_FLAC_H )
|
||||
check_library_exists( FLAC FLAC__seekable_stream_decoder_process_single "" HAVE_LIBFLAC )
|
||||
if( HAVE_LIBFLAC )
|
||||
set( FLAC_LIBRARIES "-lFLAC" )
|
||||
endif( HAVE_LIBFLAC )
|
||||
endif( HAVE_FLAC_H )
|
||||
|
||||
check_include_file( "OggFLAC/seekable_stream_decoder.h" HAVE_OGGFLAC_H )
|
||||
if( HAVE_OGGFLAC_H )
|
||||
tde_save_and_set( CMAKE_REQUIRED_LIBRARIES m OggFLAC FLAC )
|
||||
check_library_exits( OggFLAC OggFLAC__seekable_stream_decoder_process_single "" HAVE_LIBOGGFLAC )
|
||||
tde_restore( CMAKE_REQUIRED_LIBRARIES )
|
||||
if( HAVE_LIBOGGFLAC )
|
||||
set( OGGFLAC_LIBRARIES "-lOggFLAC" )
|
||||
endif( HAVE_LIBFLAC )
|
||||
endif( HAVE_OGGFLAC_H )
|
||||
endif( NOT HAVE_LIBFLAC113 )
|
||||
endif( FLAC_FOUND )
|
||||
|
||||
if( NOT FLAC_LIBRARIES )
|
||||
tde_message_fatal( "FLAC >= 1.1.1 are required, but not found on your system" )
|
||||
endif( NOT FLAC_LIBRARIES )
|
||||
|
||||
endif( WITH_XIPH_DECODER )
|
||||
|
||||
|
||||
##### check speex support #######################
|
||||
|
||||
if( WITH_XIPH_DECODER )
|
||||
|
||||
# check for speex module
|
||||
pkg_search_module( SPEEX speex>=1.2 )
|
||||
if( NOT SPEEX_FOUND )
|
||||
# check for speex >= 1.1
|
||||
pkg_search_module( SPEEX speex>=1.1 )
|
||||
if( SPEEX_FOUND )
|
||||
set( HAVE_SPEEX11 1 )
|
||||
check_library_exits( speex speex_decode_int "" HAVE_SPEEX_DECODE_INT )
|
||||
if( NOT HAVE_SPEEX_DECODE_INT )
|
||||
set( BROKEN_SPEEX11 1 )
|
||||
endif( )
|
||||
else( )
|
||||
pkg_search_module( SPEEX speex )
|
||||
endif( )
|
||||
|
||||
endif( )
|
||||
|
||||
if( SPEEX_FOUND )
|
||||
set( HAVE_SPEEX 1 )
|
||||
if( NOT EXISTS ${SPEEX_INCLUDEDIR}/speex.h )
|
||||
find_path( SPEEX_EXTRA_INCLUDEDIR "speex.h" ${SPEEX_INCLUDEDIR}/speex )
|
||||
if( NOT SPEEX_EXTRA_INCLUDEDIR )
|
||||
tde_message_fatal( "speex are required, but header not found on your system" )
|
||||
endif( NOT SPEEX_EXTRA_INCLUDEDIR )
|
||||
list( APPEND SPEEX_INCLUDE_DIRS "${SPEEX_EXTRA_INCLUDEDIR}" )
|
||||
endif( NOT EXISTS ${SPEEX_INCLUDEDIR}/speex.h )
|
||||
else( SPEEX_FOUND )
|
||||
tde_message_fatal( "speex are required, but not found on your system" )
|
||||
endif( SPEEX_FOUND )
|
||||
|
||||
endif( WITH_XIPH_DECODER )
|
||||
|
||||
|
||||
##### check ogg/vorbis support ##################
|
||||
|
||||
if( WITH_XIPH_DECODER )
|
||||
|
||||
pkg_search_module( VORBIS vorbis )
|
||||
if( NOT VORBIS_FOUND )
|
||||
tde_message_fatal( "ogg/vorbis are required, but not found on your system" )
|
||||
endif( NOT VORBIS_FOUND )
|
||||
|
||||
pkg_search_module( VORBISFILE vorbisfile )
|
||||
if( NOT VORBISFILE_FOUND )
|
||||
tde_message_fatal( "ogg/vorbisfile are required, but not found on your system" )
|
||||
endif( NOT VORBISFILE_FOUND )
|
||||
|
||||
set( HAVE_OGG_VORBIS 1 )
|
||||
|
||||
endif( WITH_XIPH_DECODER )
|
||||
|
||||
|
||||
##### check samplerate support ##################
|
||||
|
||||
if( WITH_SRC_RESAMPLER )
|
||||
|
||||
pkg_search_module( SAMPLERATE samplerate )
|
||||
|
||||
if( NOT SAMPLERATE_FOUND )
|
||||
find_library( SAMPLERATE_LIBRARIES NAMES samplerate )
|
||||
find_path( SAMPLERATE_INCLUDE_DIRS samplerate.h )
|
||||
if( NOT SAMPLERATE_LIBRARIES )
|
||||
tde_message_fatal( "samplerate are required, but not found on your system" )
|
||||
endif( NOT SAMPLERATE_LIBRARIES )
|
||||
endif( NOT SAMPLERATE_FOUND )
|
||||
|
||||
endif( WITH_SRC_RESAMPLER )
|
||||
|
@ -0,0 +1,31 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
|
||||
#### pkg-config #################################
|
||||
|
||||
set( prefix ${CMAKE_INSTALL_PREFIX} )
|
||||
string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}"
|
||||
exec_prefix ${EXEC_INSTALL_PREFIX} )
|
||||
string( REGEX REPLACE "^${EXEC_INSTALL_PREFIX}" "\${exec_prefix}"
|
||||
libdir ${LIB_INSTALL_DIR} )
|
||||
string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}"
|
||||
includedir ${INCLUDE_INSTALL_DIR} )
|
||||
|
||||
configure_file( akode-config.in akode-config @ONLY )
|
||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/akode-config
|
||||
DESTINATION ${BIN_INSTALL_DIR} )
|
||||
|
||||
|
||||
##### build #####################################
|
||||
|
||||
tde_auto_add_subdirectories()
|
||||
|
@ -0,0 +1,30 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
)
|
||||
|
||||
|
||||
##### akodeplay #################################
|
||||
|
||||
set( target akodeplay )
|
||||
|
||||
tde_add_executable(
|
||||
${target}
|
||||
SOURCES ${target}.cpp
|
||||
LINK akode-shared
|
||||
DESTINATION ${BIN_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,100 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
if( UNIX )
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden" )
|
||||
set( __KDE_HAVE_GCC_VISIBILITY 1 )
|
||||
endif( UNIX )
|
||||
configure_file( akode_export.h.cmake akode_export.h @ONLY )
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target akode )
|
||||
|
||||
set( ${target}_SRCS
|
||||
bytebuffer.cpp
|
||||
audiobuffer.cpp
|
||||
pluginhandler.cpp
|
||||
decoderpluginhandler.cpp
|
||||
resamplerpluginhandler.cpp
|
||||
sinkpluginhandler.cpp
|
||||
encoderpluginhandler.cpp
|
||||
fast_resampler.cpp
|
||||
crossfader.cpp
|
||||
volumefilter.cpp
|
||||
localfile.cpp
|
||||
mmapfile.cpp
|
||||
wav_decoder.cpp
|
||||
auto_sink.cpp
|
||||
void_sink.cpp
|
||||
converter.cpp
|
||||
buffered_decoder.cpp
|
||||
player.cpp
|
||||
magic.cpp
|
||||
)
|
||||
|
||||
tde_add_library(
|
||||
${target} SHARED
|
||||
VERSION 2.0.0
|
||||
SOURCES ${${target}_SRCS}
|
||||
LINK ${CMAKE_THREAD_LIBS_INIT} ${AKODE_LIBDL} ${SEM_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
set_property(
|
||||
TARGET ${target}-shared
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
AKODE_SEARCHDIR="${LIB_INSTALL_DIR}"
|
||||
)
|
||||
|
||||
|
||||
##### headers ###################################
|
||||
|
||||
set( ${target}_INCLUDES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/akode_export.h
|
||||
akodelib.h
|
||||
decoder.h
|
||||
sink.h
|
||||
encoder.h
|
||||
audioconfiguration.h
|
||||
audioframe.h
|
||||
audiobuffer.h
|
||||
bytebuffer.h
|
||||
file.h
|
||||
localfile.h
|
||||
mmapfile.h
|
||||
pluginhandler.h
|
||||
crossfader.h
|
||||
volumefilter.h
|
||||
resampler.h
|
||||
fast_resampler.h
|
||||
buffered_decoder.h
|
||||
wav_decoder.h
|
||||
auto_sink.h
|
||||
void_sink.h
|
||||
player.h
|
||||
magic.h
|
||||
converter.h
|
||||
framedecoder.h
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${${target}_INCLUDES}
|
||||
DESTINATION ${INCLUDE_INSTALL_DIR}/akode
|
||||
)
|
||||
|
@ -0,0 +1,53 @@
|
||||
/* This file is part of the KDE libraries
|
||||
Copyright (c) 2002-2003 KDE Team
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef AKODE_EXPORT_H
|
||||
#define AKODE_EXPORT_H
|
||||
|
||||
#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1
|
||||
|
||||
/**
|
||||
* The ARTS_NO_EXPORT macro marks the symbol of the given variable
|
||||
* to be hidden. A hidden symbol is stripped during the linking step,
|
||||
* so it can't be used from outside the resulting library, which is similar
|
||||
* to static. However, static limits the visibility to the current
|
||||
* compilation unit. hidden symbols can still be used in multiple compilation
|
||||
* units.
|
||||
*
|
||||
* \code
|
||||
* int AKODE_NO_EXPORT foo;
|
||||
* int AKODE_EXPORT bar;
|
||||
* \end
|
||||
*/
|
||||
|
||||
#if defined(__KDE_HAVE_GCC_VISIBILITY)
|
||||
/* Visibility is available for GCC newer than 3.4.
|
||||
* See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9283
|
||||
*/
|
||||
#define AKODE_NO_EXPORT __attribute__ ((visibility("hidden")))
|
||||
#define AKODE_EXPORT __attribute__ ((visibility("default")))
|
||||
#elif defined(_WIN32)
|
||||
#define AKODE_NO_EXPORT
|
||||
#define AKODE_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define AKODE_NO_EXPORT
|
||||
#define AKODE_EXPORT
|
||||
#endif
|
||||
|
||||
#endif /* AKODE_EXPORTS */
|
@ -0,0 +1,26 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
|
||||
##### build #####################################
|
||||
|
||||
tde_conditional_add_subdirectory( WITH_ALSA_SINK alsa_sink )
|
||||
tde_conditional_add_subdirectory( WITH_JACK_SINK jack_sink )
|
||||
tde_conditional_add_subdirectory( WITH_OSS_SINK oss_sink )
|
||||
tde_conditional_add_subdirectory( WITH_POLYP_SINK polyp_sink )
|
||||
tde_conditional_add_subdirectory( WITH_SUN_SINK sun_sink )
|
||||
|
||||
tde_conditional_add_subdirectory( WITH_FFMPEG_DECODER ffmpeg_decoder )
|
||||
tde_conditional_add_subdirectory( WITH_MPC_DECODER mpc_decoder )
|
||||
tde_conditional_add_subdirectory( WITH_MPEG_DECODER mpeg_decoder )
|
||||
tde_conditional_add_subdirectory( WITH_SRC_RESAMPLER src_resampler )
|
||||
tde_conditional_add_subdirectory( WITH_XIPH_DECODER xiph_decoder )
|
||||
|
@ -0,0 +1,31 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_alsa_sink )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES alsa_sink.cpp
|
||||
LINK akode-shared ${ALSA_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,33 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${AVFORMAT_INCLUDE_DIRS}
|
||||
${AVCODEC_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_ffmpeg_decoder )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES ffmpeg_decoder.cpp
|
||||
LINK akode-shared ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,32 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${JACK_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_jack_sink )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES jack_sink.cpp
|
||||
LINK akode-shared ${JACK_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,36 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/mppdec
|
||||
)
|
||||
|
||||
|
||||
##### mppdec ####################################
|
||||
add_subdirectory( mppdec )
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_mpc_decoder )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES mpc_decoder.cpp
|
||||
LINK akode-shared akode_mppdec-static
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,40 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target akode_mppdec )
|
||||
|
||||
set( ${target}_SRCS
|
||||
bitstream.cpp
|
||||
huffsv46.cpp
|
||||
huffsv7.cpp
|
||||
idtag.cpp
|
||||
mpc_dec.cpp
|
||||
requant.cpp
|
||||
streaminfo.cpp
|
||||
synth_filter.cpp
|
||||
)
|
||||
|
||||
tde_add_library(
|
||||
${target} STATIC_PIC
|
||||
SOURCES ${${target}_SRCS}
|
||||
)
|
||||
|
@ -0,0 +1,31 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_mpeg_decoder )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES mpeg_decoder.cpp
|
||||
LINK akode-shared ${MAD_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,31 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_oss_sink )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES oss_sink.cpp
|
||||
LINK akode-shared ${OSSAUDIO_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,32 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${POLYP_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_polyp_sink )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES polyp_sink.cpp
|
||||
LINK akode-shared ${POLYP_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,31 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_src_resampler )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES src_resampler.cpp
|
||||
LINK akode-shared ${SAMPLERATE_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,31 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_sun_sink )
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES sun_sink.cpp
|
||||
LINK akode-shared
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1,44 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2015 Slávek Banko
|
||||
# slavek (DOT) banko (AT) axis.cz
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/akode/lib
|
||||
${CMAKE_SOURCE_DIR}/akode/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${SPEEX_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
|
||||
##### library ###################################
|
||||
|
||||
set( target libakode_xiph_decoder )
|
||||
|
||||
set( ${target}_SRCS
|
||||
flac_decoder.cpp
|
||||
flac113_decoder.cpp
|
||||
speex_decoder.cpp
|
||||
vorbis_decoder.cpp
|
||||
xiph_decoder.cpp
|
||||
)
|
||||
|
||||
tde_add_library(
|
||||
${target} MODULE
|
||||
SOURCES ${${target}_SRCS}
|
||||
LINK
|
||||
akode-shared
|
||||
${FLAC_LIBRARIES} ${OGGFLAC_LIBRARIES}
|
||||
${VORBIS_LIBRARIES} ${VORBISFILE_LIBRARIES}
|
||||
${SPEEX_LIBRARIES}
|
||||
DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
@ -0,0 +1 @@
|
||||
Subproject commit 1994b808819fd74446cb8f1a0491b3e10244f463
|
@ -0,0 +1,62 @@
|
||||
|
||||
/* defined if you have libltdl library and header */
|
||||
#cmakedefine HAVE_LIBLTDL
|
||||
|
||||
/* Define if your platform has posix_madvise */
|
||||
#cmakedefine HAVE_POSIX_MADVISE
|
||||
|
||||
/* Define if your platform has posix_fadvise */
|
||||
#cmakedefine HAVE_POSIX_FADVISE
|
||||
|
||||
/* Define if your platform has fadvise */
|
||||
#cmakedefine HAVE_FADVISE
|
||||
|
||||
/* Define if your platform has madvise */
|
||||
#cmakedefine HAVE_MADVISE
|
||||
|
||||
/* Define if madvise has no usefull prototype */
|
||||
#cmakedefine NEED_MADVISE_PROTOTYPE
|
||||
|
||||
/* Define if your platform has getopt_long from glibc */
|
||||
#cmakedefine HAVE_GNU_GETOPT
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#cmakedefine HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#cmakedefine HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#cmakedefine HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <soundcard.h> header file. */
|
||||
#cmakedefine HAVE_SOUNDCARD_H
|
||||
|
||||
/* Define to 1 if you have the <sys/soundcard.h> header file. */
|
||||
#cmakedefine HAVE_SYS_SOUNDCARD_H
|
||||
|
||||
/* Define if you have libavcodec and libavformat from FFMPEG (required for WMA
|
||||
and RealAudio decoding) */
|
||||
#cmakedefine HAVE_FFMPEG
|
||||
|
||||
/* Define if you have libFLAC 1.1.3 or newer */
|
||||
#cmakedefine HAVE_LIBFLAC113
|
||||
|
||||
/* Define if you have libFLAC 1.1.1 or 1.1.2 */
|
||||
#cmakedefine HAVE_LIBFLAC
|
||||
|
||||
/* Define if you have libOggFLAC (required for loading OggFLAC files) */
|
||||
#cmakedefine HAVE_LIBOGGFLAC
|
||||
|
||||
/* Define if you have speex installed */
|
||||
#cmakedefine HAVE_SPEEX
|
||||
|
||||
/* Define if you have libspeex 1.1.x installed */
|
||||
#cmakedefine HAVE_SPEEX11
|
||||
|
||||
/* Define if you have one of the broken libspeex 1.1.x < 1.1.5 */
|
||||
#cmakedefine BROKEN_SPEEX11
|
||||
|
||||
/* Define if you have ogg/vorbis installed */
|
||||
#cmakedefine HAVE_OGG_VORBIS
|
||||
|
Loading…
Reference in new issue