The CLUNK C++ library provides support for real-time 3D sound

generation. It puts virtually no limitations on the developer;
people who is experienced on working with other solutions (such as
SDL_Mixer or Creative OpenAL) will respect this advantage.

The library supports mixing of any number of sound channels and any
number of objects that have sounds connected to them. The SDL library
is used for sound output. The project is currently at beta testing
stage, preparing to the first release.

WWW: http://media.netive.ru/clunk/
This commit is contained in:
Dmitry Marakasov 2010-04-13 00:24:21 +00:00
parent dd2ee4d0e3
commit 12d3ac5e51
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=252624
7 changed files with 145 additions and 0 deletions

View file

@ -99,6 +99,7 @@
SUBDIR += cheesetracker
SUBDIR += chordpack
SUBDIR += clementine-player
SUBDIR += clunk
SUBDIR += cmp3
SUBDIR += cmt
SUBDIR += cmus

43
audio/clunk/Makefile Normal file
View file

@ -0,0 +1,43 @@
# New ports collection makefile for: clunk
# Date created: 05 Aug 2009
# Whom: Dmitry Marakasov <amdmi3@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= clunk
DISTVERSION= r20100412
CATEGORIES= audio
MASTER_SITES= http://mirror.amdmi3.ru/distfiles/
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Real-time 3D sound generation library
USE_BZIP2= yes
USE_SDL= sdl
MAKE_JOBS_SAFE= yes
USE_LDCONFIG= yes
USE_SCONS= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
OPTIONS= SIMD "Enable SIMD support (SSE)" off
.include <bsd.port.options.mk>
.if !defined(WITH_SIMD)
post-patch:
@${REINPLACE_CMD} -e '/^have_sse/ s|True|False|' ${WRKSRC}/SConstruct
.endif
.if ${OSVERSION} < 700000
BROKEN= Requires posix_memalign()
.endif
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/libclunk.so ${PREFIX}/lib/
${MKDIR} ${PREFIX}/include/clunk
${INSTALL_DATA} ${WRKSRC}/*.h ${PREFIX}/include/clunk/
.include <bsd.port.mk>

3
audio/clunk/distinfo Normal file
View file

@ -0,0 +1,3 @@
MD5 (clunk-r20100412.tar.bz2) = 2e3b23a9cceeb2bb5385721af19a62e1
SHA256 (clunk-r20100412.tar.bz2) = 13accf3764ca4ae3018d112aa92dd55b5681b5113c8a1973cc58ab9b4cdf596b
SIZE (clunk-r20100412.tar.bz2) = 1378603

View file

@ -0,0 +1,36 @@
--- SConstruct.orig 2009-07-16 16:14:29.000000000 +0400
+++ SConstruct 2009-08-06 04:24:21.000000000 +0400
@@ -1,6 +1,6 @@
import os, sys
-env = Environment()
+env = Environment(ENV=os.environ, **dict((k, v.split()) for k, v in ARGUMENTS.iteritems()))
debug = False
sdl_cflags = env.ParseFlags('!pkg-config --cflags sdl')
@@ -29,13 +29,6 @@
if have_sse:
env.Append(CPPDEFINES=['USE_SIMD'])
-if debug:
- buildmode = 'debug'
- env.Append(CXXFLAGS=['-ggdb'])
-else:
- buildmode = 'release'
- env.Append(CXXFLAGS=['-O3', '-mtune=native', '-march=native'])
-
clunk_src = [
'context.cpp', 'sample.cpp', 'object.cpp', 'source.cpp', 'sdl_ex.cpp', 'stream.cpp',
'kemar.c', 'buffer.cpp', 'distance_model.cpp', 'logger.cpp', 'clunk_ex.cpp',
@@ -49,9 +42,7 @@
if sys.platform != 'win32':
- env.Append(CFLAGS=['-Wall', '-pedantic'])
- env.Append(CXXFLAGS=['-Wall', '-pedantic'])
- env.Append(LINKFLAGS=['-Wl,-rpath,'+ lib_dir])
- env.Append(LINKFLAGS=['-Wl,-rpath-link,.'])
+ env.Append(CFLAGS=['-Wall'])
+ env.Append(CXXFLAGS=['-Wall'])
env.Program('clunk_test', ['test.cpp'], LIBS=['clunk'])

View file

@ -0,0 +1,30 @@
--- sse_fft_context.cpp.orig 2009-08-05 01:28:34.000000000 +0400
+++ sse_fft_context.cpp 2010-04-13 04:16:03.000000000 +0400
@@ -1,5 +1,4 @@
#include <stdlib.h>
-#include <malloc.h>
#include <stdio.h>
#include <new>
#include "fft_context.h"
@@ -9,20 +8,11 @@
void * aligned_allocator::allocate(size_t size, size_t alignment) {
void * ptr;
-#ifdef _WINDOWS
- ptr = _aligned_malloc(size, alignment);
-#else
- ptr = memalign(alignment, size);
-#endif
- if (ptr == NULL)
+ if (posix_memalign(&ptr, alignment, size) != 0)
throw std::bad_alloc();
return ptr;
}
void aligned_allocator::deallocate(void *ptr) {
-#ifdef _WINDOWS
- _aligned_free(ptr);
-#else
free(ptr);
-#endif
}

11
audio/clunk/pkg-descr Normal file
View file

@ -0,0 +1,11 @@
The CLUNK C++ library provides support for real-time 3D sound
generation. It puts virtually no limitations on the developer;
people who is experienced on working with other solutions (such as
SDL_Mixer or Creative OpenAL) will respect this advantage.
The library supports mixing of any number of sound channels and any
number of objects that have sounds connected to them. The SDL library
is used for sound output. The project is currently at beta testing
stage, preparing to the first release.
WWW: http://media.netive.ru/clunk/

21
audio/clunk/pkg-plist Normal file
View file

@ -0,0 +1,21 @@
include/clunk/buffer.h
include/clunk/clunk.h
include/clunk/clunk_assert.h
include/clunk/clunk_ex.h
include/clunk/context.h
include/clunk/distance_model.h
include/clunk/export_clunk.h
include/clunk/fft_context.h
include/clunk/kemar.h
include/clunk/locker.h
include/clunk/logger.h
include/clunk/mdct_context.h
include/clunk/object.h
include/clunk/sample.h
include/clunk/sdl_ex.h
include/clunk/source.h
include/clunk/sse_fft_context.h
include/clunk/stream.h
include/clunk/v3.h
lib/libclunk.so
@dirrm include/clunk