summaryrefslogtreecommitdiffstats
path: root/akode
diff options
context:
space:
mode:
Diffstat (limited to 'akode')
-rw-r--r--akode/CMakeLists.txt31
-rw-r--r--akode/akodeplay/CMakeLists.txt30
-rw-r--r--akode/lib/CMakeLists.txt100
-rw-r--r--akode/lib/akode_export.h.cmake53
-rw-r--r--akode/plugins/CMakeLists.txt26
-rw-r--r--akode/plugins/alsa_sink/CMakeLists.txt31
-rw-r--r--akode/plugins/ffmpeg_decoder/CMakeLists.txt33
-rw-r--r--akode/plugins/jack_sink/CMakeLists.txt32
-rw-r--r--akode/plugins/mpc_decoder/CMakeLists.txt36
-rw-r--r--akode/plugins/mpc_decoder/mppdec/CMakeLists.txt40
-rw-r--r--akode/plugins/mpeg_decoder/CMakeLists.txt31
-rw-r--r--akode/plugins/oss_sink/CMakeLists.txt31
-rw-r--r--akode/plugins/polyp_sink/CMakeLists.txt32
-rw-r--r--akode/plugins/src_resampler/CMakeLists.txt31
-rw-r--r--akode/plugins/sun_sink/CMakeLists.txt31
-rw-r--r--akode/plugins/xiph_decoder/CMakeLists.txt44
16 files changed, 612 insertions, 0 deletions
diff --git a/akode/CMakeLists.txt b/akode/CMakeLists.txt
new file mode 100644
index 0000000..01009c0
--- /dev/null
+++ b/akode/CMakeLists.txt
@@ -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()
+
diff --git a/akode/akodeplay/CMakeLists.txt b/akode/akodeplay/CMakeLists.txt
new file mode 100644
index 0000000..40983fd
--- /dev/null
+++ b/akode/akodeplay/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/lib/CMakeLists.txt b/akode/lib/CMakeLists.txt
new file mode 100644
index 0000000..9ecb472
--- /dev/null
+++ b/akode/lib/CMakeLists.txt
@@ -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
+)
+
diff --git a/akode/lib/akode_export.h.cmake b/akode/lib/akode_export.h.cmake
new file mode 100644
index 0000000..7fc7fe8
--- /dev/null
+++ b/akode/lib/akode_export.h.cmake
@@ -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 */
diff --git a/akode/plugins/CMakeLists.txt b/akode/plugins/CMakeLists.txt
new file mode 100644
index 0000000..ce0f3a4
--- /dev/null
+++ b/akode/plugins/CMakeLists.txt
@@ -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 )
+
diff --git a/akode/plugins/alsa_sink/CMakeLists.txt b/akode/plugins/alsa_sink/CMakeLists.txt
new file mode 100644
index 0000000..7e9b907
--- /dev/null
+++ b/akode/plugins/alsa_sink/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/ffmpeg_decoder/CMakeLists.txt b/akode/plugins/ffmpeg_decoder/CMakeLists.txt
new file mode 100644
index 0000000..f1d4c73
--- /dev/null
+++ b/akode/plugins/ffmpeg_decoder/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/jack_sink/CMakeLists.txt b/akode/plugins/jack_sink/CMakeLists.txt
new file mode 100644
index 0000000..eb6152e
--- /dev/null
+++ b/akode/plugins/jack_sink/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/mpc_decoder/CMakeLists.txt b/akode/plugins/mpc_decoder/CMakeLists.txt
new file mode 100644
index 0000000..b2faab2
--- /dev/null
+++ b/akode/plugins/mpc_decoder/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/mpc_decoder/mppdec/CMakeLists.txt b/akode/plugins/mpc_decoder/mppdec/CMakeLists.txt
new file mode 100644
index 0000000..9cd3a4c
--- /dev/null
+++ b/akode/plugins/mpc_decoder/mppdec/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/mpeg_decoder/CMakeLists.txt b/akode/plugins/mpeg_decoder/CMakeLists.txt
new file mode 100644
index 0000000..86bb896
--- /dev/null
+++ b/akode/plugins/mpeg_decoder/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/oss_sink/CMakeLists.txt b/akode/plugins/oss_sink/CMakeLists.txt
new file mode 100644
index 0000000..7af52b8
--- /dev/null
+++ b/akode/plugins/oss_sink/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/polyp_sink/CMakeLists.txt b/akode/plugins/polyp_sink/CMakeLists.txt
new file mode 100644
index 0000000..90c4f3c
--- /dev/null
+++ b/akode/plugins/polyp_sink/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/src_resampler/CMakeLists.txt b/akode/plugins/src_resampler/CMakeLists.txt
new file mode 100644
index 0000000..6489dc3
--- /dev/null
+++ b/akode/plugins/src_resampler/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/sun_sink/CMakeLists.txt b/akode/plugins/sun_sink/CMakeLists.txt
new file mode 100644
index 0000000..cf450bf
--- /dev/null
+++ b/akode/plugins/sun_sink/CMakeLists.txt
@@ -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}
+)
+
diff --git a/akode/plugins/xiph_decoder/CMakeLists.txt b/akode/plugins/xiph_decoder/CMakeLists.txt
new file mode 100644
index 0000000..a0d1f28
--- /dev/null
+++ b/akode/plugins/xiph_decoder/CMakeLists.txt
@@ -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}
+)
+