soundscaperenderer / ssr Goto Github PK
View Code? Open in Web Editor NEWMain source code repository for the SoundScape Renderer
Home Page: http://spatialaudio.net/ssr/
License: GNU General Public License v3.0
Main source code repository for the SoundScape Renderer
Home Page: http://spatialaudio.net/ssr/
License: GNU General Public License v3.0
I'm running SSR 0.4.2 on archlinux and when i execute ssr-binaural it gives me this error:
terminate called after throwing an instance of 'std::logic_error'
what(): Error loading HRIR file: apf::load_sndfile(): "/usr/share/ssr/default_hrirs.wav" has sample rate 44100 instead of 48000!
Aborted (core dumped)
cleanse.sh: # Shell-Script for removing all files that don't belong into the Git repo.
This can be easily done using git clean -f -d
.
This command really removes everything that is not part of the GIT.
Hi. While trying 0.4.0pre4 i ran into following:
/usr/local/Soundscape/bin/ssr-binaural ~/Musik/FreeMusicArchive.org/Frame_-_02_-_Eyes_Like_A_Wolf.wav
***********************************************************************
* Message from libecasoundc:
*
* 'ECASOUND' environment variable not set. Using the default value
* value 'ECASOUND=ecasound'.
***********************************************************************
___
/ ___
___/ / ___
___/ / SoundScape Renderer (SSR)
/
Copyright (c) 2012 Institut für Nachrichtentechnik, Universität Rostock
Copyright (c) 2006-2012 Quality & Usability Lab
Deutsche Telekom Laboratories, TU Berlin
Website: http://SoundScapeRenderer.github.com/
Contact: [email protected]
This program comes with ABSOLUTELY NO WARRANTY; this is free software,
and you are welcome to redistribute it under certain conditions;
for details, see the enclosed file COPYING.
Warning: Trying to open specified file as audio file. (controller.h:1050)
Warning: Creating spontaneous scene from the audio file "/home/hcw/Musik/FreeMusicArchive.org/Frame_-_02_-_Eyes_Like_A_Wolf.wav". (controller.h:1084)
Adding source 1 to source map!
Creating point source at x = -1.25 mtrs, y = 2.16506 mtrs.
Adding source 2 to source map!
Creating point source at x = 1.25 mtrs, y = 2.16506 mtrs.
Starting IP Server with port 4711
Opening serial port for Polhemus Fastrak ...
Trying to open port /dev/ttyUSB0 ... failure!
Trying to open port /dev/ttyUSB1 ... failure!
Trying to open port /dev/ttyS0 ... success!
Error: Could not get serial port attributes! Error # -1 (trackerpolhemus.cpp:153)
Warning: Cannot find tracker. Make sure that you have the appropriate access rights to read from the port. I continue without tracker. (controller.h:1257)
Warning: Renderer is already processing. (controller.h:1331)
Floating control panel is used, scene menu will not be shown.
JackPosixSemaphore::TimedWait err = Unterbrechung während des Betriebssystemaufrufs
Cannot read socket fd = 8 err = Unterbrechung während des Betriebssystemaufrufs
CheckRes error
JackSocketClientChannel read fail
terminate called after throwing an instance of 'apf::JackClient::jack_error'
what(): JackClient: JACK shutdown! Reason: JACK server has been closed
Abgebrochen (Speicherabzug geschrieben)
However, when i ran it using gdb it works:
gdb /usr/local/Soundscape/bin/ssr-binaural
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/Soundscape-0.4pre/bin/ssr-binaural...done.
(gdb) set args ~/Musik/FreeMusicArchive.org/Frame_-_02_-_Eyes_Like_A_Wolf.wav
(gdb) r
Starting program: /usr/local/Soundscape-0.4pre/bin/ssr-binaural ~/Musik/FreeMusicArchive.org/Frame_-_02_-_Eyes_Like_A_Wolf.wav
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
***********************************************************************
* Message from libecasoundc:
*
* 'ECASOUND' environment variable not set. Using the default value
* value 'ECASOUND=ecasound'.
***********************************************************************
[New Thread 0x7ffff7f6f700 (LWP 29001)]
[New Thread 0x7ffff7eee700 (LWP 29002)]
___
/ ___
___/ / ___
___/ / SoundScape Renderer (SSR)
/
Copyright (c) 2012 Institut für Nachrichtentechnik, Universität Rostock
Copyright (c) 2006-2012 Quality & Usability Lab
Deutsche Telekom Laboratories, TU Berlin
Website: http://SoundScapeRenderer.github.com/
Contact: [email protected]
This program comes with ABSOLUTELY NO WARRANTY; this is free software,
and you are welcome to redistribute it under certain conditions;
for details, see the enclosed file COPYING.
Warning: Trying to open specified file as audio file. (controller.h:1050)
Warning: Creating spontaneous scene from the audio file "/home/hcw/Musik/FreeMusicArchive.org/Frame_-_02_-_Eyes_Like_A_Wolf.wav". (controller.h:1084)
Adding source 1 to source map!
Creating point source at x = -1.25 mtrs, y = 2.16506 mtrs.
Adding source 2 to source map!
Creating point source at x = 1.25 mtrs, y = 2.16506 mtrs.
Starting IP Server with port 4711
[New Thread 0x7fffed9d8700 (LWP 29014)]
[New Thread 0x7fffed1d7700 (LWP 29015)]
Opening serial port for Polhemus Fastrak ...
Trying to open port /dev/ttyUSB0 ... failure!
Trying to open port /dev/ttyUSB1 ... failure!
Trying to open port /dev/ttyS0 ... success!
Error: Could not get serial port attributes! Error # -1 (trackerpolhemus.cpp:153)
Warning: Cannot find tracker. Make sure that you have the appropriate access rights to read from the port. I continue without tracker. (controller.h:1257)
[New Thread 0x7fffec9d6700 (LWP 29016)]
Warning: Renderer is already processing. (controller.h:1331)
[New Thread 0x7fffcf5b5700 (LWP 29018)]
[New Thread 0x7fffcedb4700 (LWP 29019)]
Floating control panel is used, scene menu will not be shown.
[Thread 0x7fffcf5b5700 (LWP 29018) exited]
[Thread 0x7fffec9d6700 (LWP 29016) exited]
[Thread 0x7fffed1d7700 (LWP 29015) exited]
Deletion of unsubscribed Subscriber requested
Connection destroyed
[Thread 0x7fffed9d8700 (LWP 29014) exited]
[Thread 0x7ffff7eee700 (LWP 29002) exited]
[Thread 0x7ffff7f6f700 (LWP 29001) exited]
[Thread 0x7fffcedb4700 (LWP 29019) exited]
[Inferior 1 (process 28988) exited normally]
(gdb)
Kind regards
Hauke
When a client connects via TCP/IP interface and a scene is already loaded in SSR, everything is transmitted as expected. However if the scene is loaded after a connection was made, the name is somehow missing
Source properties set in .asd file:
<source name="rev_1" model="point" mute="false" volume="0">
<position x="0.00000" y="2.00000"/>
<orientation azimuth="0"/>
</source>
Transmitted after loading .asd file:
<update><source id='1'/></update>
<update><source id='1' mute='true'/></update>
<update><source id='1' volume='0'/></update>
<update><source id='1'><position x='0' y='2'/></source></update>
<update><source id='1'><position fixed='false'/></source></update>
<update><source id='1'><orientation azimuth='0'/></source></update>
<update><source id='1' model='point'/></update>
<update><source id='1' file_length='0'/></update>
<update><source id='1' mute='false'/></update>
This line is problematic. When git is not available it will fail. Furthermore, when installing from an archive (e.g. a release) and git is available it will fail because the directory is not a repository. I now circumvent this by creating an empty repo with git init
which results in the git warning fatal: No names found, cannot describe anything.
.
While building on Nix, I encountered the following issue
Making all in man
make[1]: Entering directory '/tmp/ssr/ssr-0dd0136/man'
help2man --no-info --name="manual page for the `test binaural = binaural -o binaural = generic && echo binaural || echo binaural | tr 'a-z' 'A-Z'` renderer" --output=ssr-binaural.1 --locale=en_US \
../src/ssr-binaural
help2man: can't get `--help' info from ../src/ssr-binaural
Try `--no-discard-stderr' if option outputs to stderr
make[1]: *** [Makefile:568: ssr-binaural.1] Error 127
make[1]: Leaving directory '/tmp/ssr/ssr-0dd0136/man'
make: *** [Makefile:549: all-recursive] Error 1
Note that I've patched the locale to en_US
since en
isn't available/valid.
cc @umlaeute @mgeier
This requires a lot of conversions as we're using the linear scale internally.
This issue should help collect the information regarding building a working dmg
image for OSX.
Replacing Boost with asio (as per #59) seems to create a working stable executable again. Furthermore, some .dylibs
currently need manual fixing, like so: JensAhrens@aad0438
Using both, I can successfully build a working, self-containend dmg
with all dependencies installed directly from homebrew. There still seems to be an issue withecasound
on some systems.
Would be great to get some feedback - Simply download the beta version linked below and try loading & playing an audio file. Locally, you should only need to have a working installation of jack.
Related things that could help:
when calling ssr-foo -V
to display the version, there will be a little pseudo-animation using sleep(3)
to build up suspense.
while this is nice in an interactive shell, it's rather annoying when being called in a batch job where the output is redirected to some file. esp. when the batch job calls all ssr-binaries in a row.
It seems that soundscaperenderer-0.4.2 can no longer be built (at least on Debian/testing, amd64)
the build fails when trying to build ssr-binaural (though i guess this is just the first occurence of the problem):
depbase=`echo ssr_binaural.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./../apf -DSSR_DATA_DIR=\"/usr/local/share/ssr\" -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I./boostnetwork -I/usr/include/libecasoundc -Wall -Wextra -pedantic -Wno-long-long -Winit-self -Wcast-align -Wmissing-declarations -Wredundant-decls -Woverloaded-virtual -Wnon-virtual-dtor -Wwrite-strings -Wstrict-overflow=0 -I/usr/include/libxml2 -DNDEBUG -g -std=c++11 -MT ssr_binaural.o -MD -MP -MF $depbase.Tpo -c -o ssr_binaural.o ssr_binaural.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from ./../apf/apf/posix_thread_policy.h:61:0,
from controller.h:39,
from ssr_binaural.cpp:30:
./../apf/apf/misc.h: In constructor ‘apf::BlockParameter<T>::BlockParameter(Args&& ...) [with Args = {float}; T = float]’:
./../apf/apf/misc.h:102:41: internal compiler error: in convert_move, at expr.c:331
, _old{std::forward<Args>(args)...}
^
the compiler in question is:
$ g++ --version
g++ (Debian 4.9.1-14) 4.9.1
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
it seems that clang++
is able to compile the code:
$ clang++-3.5 --version
Debian clang version 3.5.0-1 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
Target: x86_64-pc-linux-gnu
Thread model: posix
so i guess the problem is really in g++
.
However, I am not very literate in C++-0x, and i might miss something (or you might have a workaround at hand)
the original bug-report for Debian can be found at:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761529
The function signature is less than optimal.
And probably the functionality can be moved to the renderer base class?
When trying to launch ssr-aap on MacOSX 10.8.5 and JACK, using the packaged version of ssr (4.2) I get a "Segmentation fault: 11" that is kind of hard to trace.
At first I thought it might be related to the configuration file I try to use, but that seems not the case (as afterwards it also happens without).
In between I tried several things, like switching JACK off and on again, not using a configuration file at all, etc.
Once the segmentation fault occurs, it will happen each time, when trying to start ssr-aap.
When not using a configuration file after an initial segfault, I might be able to start ssr after a couple of retries.
Sometimes reinstalling the application helps, but not always.
This is amongst the weirdest bugs I have seen so far, maybe you can make something out of it?
I tried debugging this with a custom bash script, that starts ssr as if using the "renderer selector", nonetheless I can't quite make any sense of this segfault.
Any help would be much appreciated.
I can't build this with latest Qt...
g++ -DHAVE_CONFIG_H -I. -I./../apf -DSSR_DATA_DIR=\"/usr/local/share/ssr\" -D_POSIX_PTHREAD_SEMANTICS -I./gui -I/usr/include/libecasoundc -Wall -Wextra -pedantic -Wno-long-long -Winit-self -Wcast-align -Wmissing-declarations -Wredundant-decls -Woverloaded-virtual -Wnon-virtual-dtor -Wwrite-strings -Wstrict-overflow=0 -I/usr/include/libxml2 -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/qt4/QtCore -fomit-frame-pointer -ffast-math -funroll-loops -march=k8 -mmmx -msse -mfpmath=sse -msse2 -mfpmath=sse -DNDEBUG -g -std=c++11 -pthread -O3 -MT gui/qclicktextlabel_moc.o -MD -MP -MF $depbase.Tpo -c -o gui/qclicktextlabel_moc.o gui/qclicktextlabel_moc.cpp &&\
mv -f $depbase.Tpo $depbase.Po
gui/qclicktextlabel_moc.cpp:15:2: error: #error "This file was generated using the moc from 5.8.0. It"
#error "This file was generated using the moc from 5.8.0. It"
^~~~~
gui/qclicktextlabel_moc.cpp:16:2: error: #error "cannot be used with the include files from this version of Qt."
#error "cannot be used with the include files from this version of Qt."
^~~~~
gui/qclicktextlabel_moc.cpp:17:2: error: #error "(The moc has changed too much.)"
#error "(The moc has changed too much.)"
^~~~~
gui/qclicktextlabel_moc.cpp:21:1: error: ‘QT_WARNING_PUSH’ does not name a type
QT_WARNING_PUSH
^~~~~~~~~~~~~~~
gui/qclicktextlabel_moc.cpp:26:2: warning: extra ‘;’ [-Wpedantic]
};
^
gui/qclicktextlabel_moc.cpp:32:14: error: ‘qt_meta_stringdata_QClickTextLabel_t’ does not name a type
static const qt_meta_stringdata_QClickTextLabel_t qt_meta_stringdata_QClickTextLabel = {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gui/qclicktextlabel_moc.cpp:44:2: warning: extra ‘;’ [-Wpedantic]
};
^
gui/qclicktextlabel_moc.cpp: In static member function ‘static void QClickTextLabel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’:
gui/qclicktextlabel_moc.cpp:87:22: error: ‘IndexOfMethod’ is not a member of ‘QMetaObject’
} else if (_c == QMetaObject::IndexOfMethod) {
^~~~~~~~~~~
gui/qclicktextlabel_moc.cpp: At global scope:
gui/qclicktextlabel_moc.cpp:122:34: error: ‘qt_meta_stringdata_QClickTextLabel’ was not declared in this scope
{ &QLabel::staticMetaObject, qt_meta_stringdata_QClickTextLabel.data,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gui/qclicktextlabel_moc.cpp:123:58: error: ‘Q_NULLPTR’ was not declared in this scope
qt_meta_data_QClickTextLabel, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
^~~~~~~~~
gui/qclicktextlabel_moc.cpp:123:69: error: ‘Q_NULLPTR’ was not declared in this scope
qt_meta_data_QClickTextLabel, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
^~~~~~~~~
gui/qclicktextlabel_moc.cpp: In member function ‘virtual const QMetaObject* QClickTextLabel::metaObject() const’:
gui/qclicktextlabel_moc.cpp:129:57: error: ‘class QObjectData’ has no member named ‘dynamicMetaObject’; did you mean ‘metaObject’?
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
^~~~~~~~~~~~~~~~~
gui/qclicktextlabel_moc.cpp: In member function ‘virtual void* QClickTextLabel::qt_metacast(const char*)’:
gui/qclicktextlabel_moc.cpp:134:26: error: ‘Q_NULLPTR’ was not declared in this scope
if (!_clname) return Q_NULLPTR;
^~~~~~~~~
gui/qclicktextlabel_moc.cpp:135:26: error: ‘qt_meta_stringdata_QClickTextLabel’ was not declared in this scope
if (!strcmp(_clname, qt_meta_stringdata_QClickTextLabel.stringdata0))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gui/qclicktextlabel_moc.cpp: In member function ‘virtual int QClickTextLabel::qt_metacall(QMetaObject::Call, int, void**)’:
gui/qclicktextlabel_moc.cpp:149:22: error: ‘RegisterMethodArgumentMetaType’ is not a member of ‘QMetaObject’
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
^~~~~~~~~~~
gui/qclicktextlabel_moc.cpp: In member function ‘void QClickTextLabel::clicked()’:
gui/qclicktextlabel_moc.cpp:160:55: error: ‘Q_NULLPTR’ was not declared in this scope
QMetaObject::activate(this, &staticMetaObject, 0, Q_NULLPTR);
^~~~~~~~~
gui/qclicktextlabel_moc.cpp: In member function ‘void QClickTextLabel::clicked(int)’:
gui/qclicktextlabel_moc.cpp:166:20: error: ‘Q_NULLPTR’ was not declared in this scope
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
^~~~~~~~~
gui/qclicktextlabel_moc.cpp: In member function ‘void QClickTextLabel::signal_double_clicked()’:
gui/qclicktextlabel_moc.cpp:173:55: error: ‘Q_NULLPTR’ was not declared in this scope
QMetaObject::activate(this, &staticMetaObject, 2, Q_NULLPTR);
^~~~~~~~~
gui/qclicktextlabel_moc.cpp: In member function ‘void QClickTextLabel::signal_right_clicked(QMouseEvent*)’:
gui/qclicktextlabel_moc.cpp:179:20: error: ‘Q_NULLPTR’ was not declared in this scope
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
^~~~~~~~~
gui/qclicktextlabel_moc.cpp: At global scope:
gui/qclicktextlabel_moc.cpp:182:1: error: ‘QT_WARNING_POP’ does not name a type
QT_WARNING_POP
^~~~~~~~~~~~~~
make[2]: *** [Makefile:1130: gui/qclicktextlabel_moc.o] Chyba 1
make[2]: Opouští se adresář „/home/harvie/Temp/ssr/src“
make[1]: *** [Makefile:847: all] Chyba 2
make[1]: Opouští se adresář „/home/harvie/Temp/ssr/src“
make: *** [Makefile:549: all-recursive] Chyba 1
(ecasoundc_sa) Error='read() error', cmd='cs-connect' last_error='' cmd_cnt=6 last_cnt=5.
libecasoundc1 2.9.1-4
libjack-jackd2-0 1.9.10+20140610git97e0e80b~dfsg-1ubuntu1
Ubuntu Utopic, Linux 3.16.0-28-generic i686
Seems more pervasive than what is mentioned in Conflicting-JACK-and-Ecasound-versions..
I just discovered that there is an old code repository on bitbucket: https://bitbucket.org/spatialaudio/ssr
Is this still in use for something else than downloading release versions?
If not it would be great to remove it and change the links on http://spatialaudio.net/ssr/download/ to Github releases, or?
Hi,
the SoundScape Renderer does not compile on my machine, where uname -a
results in Linux myhostname 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
and all necessary libs should be installed.
./configure --disable-ip-interface
runs fine providing to output (stdout):
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for pkg-config... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether ln -s works... yes
checking for SNDFILE... yes
checking for FFTW... yes
checking for JACK... yes
checking for LIBXML... yes
checking whether we can compile MMX code... yes
checking whether we can compile SSE code... yes
checking for __SSE__... yes
checking whether we can compile SSE2 code... yes
checking for __SSE2__... yes
checking for QT... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking for library containing gluNewQuadric... -lGLU
checking for library containing glSelectBuffer... none required
checking for QtGui_4_7_or_higher... yes
checking Searching for non-default libecasoundc include directory... /usr/include/libecasoundc
checking ecasoundc.h usability... yes
checking ecasoundc.h presence... yes
checking for ecasoundc.h... yes
checking eca-control-interface.h usability... yes
checking eca-control-interface.h presence... yes
checking for eca-control-interface.h... yes
checking for library containing eci_init... -lecasoundc
checking Ecasound library support (see above)... yes
checking for ecasound... yes
checking various header files for Polhemus Fastrak tracker support... see below
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking Polhemus Fastrak support... yes
checking various header files for Razor AHRS tracker support... see below
checking for termios.h... (cached) yes
checking for unistd.h... (cached) yes
checking for fcntl.h... (cached) yes
checking for poll.h... (cached) yes
checking Razor AHRS support... yes
checking various header files for VRPN tracker support... see below
checking vrpn_Tracker.h usability... no
checking vrpn_Tracker.h presence... no
checking for vrpn_Tracker.h... no
checking for library containing vrpn_MAGIC... no
checking VRPN tracker support... no
checking various header files for InterSense tracker support... see below
checking isense.h usability... no
checking isense.h presence... no
checking for isense.h... no
checking types.h usability... no
checking types.h presence... no
checking for types.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating data/Makefile
config.status: creating data/MacOSX/Makefile
config.status: creating data/MacOSX/Info.plist
config.status: creating data/MacOSX/DMG-Layout.applescript
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
CXX: g++
CFLAGS: -g -O2
CXXFLAGS: -g -std=c++11 -O3
CPPFLAGS: -I/usr/include/libecasoundc
PKG_FLAGS: -I/usr/include/libxml2 -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL
OPT_FLAGS: -fomit-frame-pointer -ffast-math -funroll-loops -march=k8 -mmmx -msse -mfpmath=sse -msse2 -mfpmath=sse
WARNING_FLAGS: -Wall -Wextra -pedantic -Wno-long-long -Winit-self -Wcast-align -Wmissing-declarations -Wredundant-decls -Woverloaded-virtual -Wnon-virtual-dtor -Wwrite-strings -Wstrict-overflow=0
DEBUGGING_FLAGS: -DNDEBUG
LIBS: -lecasoundc -lGLU -lsndfile -lfftw3f -lm -ljack -lxml2 -lQtOpenGL -lQtGui -lQtCore
LDFLAGS:
___
/ ___
___/ / ___
___/ / SoundScape Renderer (SSR) snm201312021008:
/
|
| Build with tracker support:
| InterSense .......................... : no
| Polhemus Fastrak .................... : yes
| Razor AHRS .......................... : yes
| VRPN ................................ : no
|
| Build with Ecasound support ............ : yes
| Build with IP interface ................ : no
| Build with GUI ......................... : yes (floating)
|
| Enable debugging/optimization .......... : no/yes
| Install prefix ......................... : /usr/local
|
If everything looks OK, continue with "make" and "make install".
Toghether with some warnings on stderr:
configure: WARNING: Found Qt >= 4.7, forcing --enable-floating-control-panel!
configure: WARNING: --enable-vrpn (VRPN tracker support) requested but not available!
configure: WARNING: --enable-intersense (InterSense tracker support) requested but not available!
However, make crashes after outputing
Making all in src
make[1]: Entering directory `/home/snm/src/ssr-master/src'
make all-am
make[2]: Entering directory `/home/snm/src/ssr-master/src'
depbase=`echo ssr_binaural.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I./../apf -DSSR_DATA_DIR=\"/usr/local/share/ssr\" -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I./gui -I/usr/include/libecasoundc -Wall -Wextra -pedantic -Wno-long-long -Winit-self -Wcast-align -Wmissing-declarations -Wredundant-decls -Woverloaded-virtual -Wnon-virtual-dtor -Wwrite-strings -Wstrict-overflow=0 -I/usr/include/libxml2 -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -fomit-frame-pointer -ffast-math -funroll-loops -march=k8 -mmmx -msse -mfpmath=sse -msse2 -mfpmath=sse -DNDEBUG -g -std=c++11 -O3 -MT ssr_binaural.o -MD -MP -MF $depbase.Tpo -c -o ssr_binaural.o ssr_binaural.cpp &&\
mv -f $depbase.Tpo $depbase.Po
make[2]: Leaving directory `/home/snm/src/ssr-master/src'
make[1]: Leaving directory `/home/snm/src/ssr-master/src'
on stdout and the following lone on stderr
In file included from rendererbase.h:35:0,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/mimoprocessor.h: In instantiation of ‘class apf::MimoProcessor<ssr::BinauralRenderer, apf::jack_policy, apf::posix_thread_policy, apf::enable_queries>::Output’:
rendererbase.h:444:30: required from ‘class ssr::RendererBase<ssr::BinauralRenderer>::Output’
rendererbase.h:521:10: required from ‘struct ssr::SourceToOutput<ssr::BinauralRenderer, ssr::RendererBase>::Output’
binauralrenderer.h:192:48: required from here
./../apf/apf/mimoprocessor.h:559:31: error: looser throw specifier for ‘virtual apf::MimoProcessor<ssr::BinauralRenderer, apf::jack_policy, apf::posix_thread_policy, apf::enable_queries>::Output::~Output()’
./../apf/apf/mimoprocessor.h:486:31: error: overriding ‘virtual apf::MimoProcessor<ssr::BinauralRenderer, apf::jack_policy, apf::posix_thread_policy, apf::enable_queries>::Xput::~Xput() noexcept (true)’
./../apf/apf/mimoprocessor.h: In instantiation of ‘class apf::MimoProcessor<ssr::BinauralRenderer, apf::jack_policy, apf::posix_thread_policy, apf::enable_queries>::Input’:
./../apf/apf/mimoprocessor.h:545:31: required from ‘class apf::MimoProcessor<ssr::BinauralRenderer, apf::jack_policy, apf::posix_thread_policy, apf::enable_queries>::DefaultInput’
rendererbase.h:342:30: required from ‘class ssr::RendererBase<ssr::BinauralRenderer>::Source’
rendererbase.h:486:10: required from ‘struct ssr::SourceToOutput<ssr::BinauralRenderer, ssr::RendererBase>::Source’
binauralrenderer.h:235:73: required from here
./../apf/apf/mimoprocessor.h:517:31: error: looser throw specifier for ‘virtual apf::MimoProcessor<ssr::BinauralRenderer, apf::jack_policy, apf::posix_thread_policy, apf::enable_queries>::Input::~Input()’
./../apf/apf/mimoprocessor.h:486:31: error: overriding ‘virtual apf::MimoProcessor<ssr::BinauralRenderer, apf::jack_policy, apf::posix_thread_policy, apf::enable_queries>::Xput::~Xput() noexcept (true)’
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h: In instantiation of ‘apf::fixed_vector<T, Allocator>::fixed_vector(Size, const Allocator&) [with Size = long unsigned int; <template-parameter-2-2> = void; T = float; Allocator = apf::fftw_allocator<float>]’:
./../apf/apf/convolver.h:69:16: required from here
./../apf/apf/container.h:103:19: error: no matching function for call to ‘std::vector<float, apf::fftw_allocator<float> >::vector(long unsigned int&, const apf::fftw_allocator<float>&)’
./../apf/apf/container.h:103:19: note: candidates are:
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template<class _InputIterator> std::vector::vector(_InputIterator, _InputIterator, const allocator_type&)
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template argument deduction/substitution failed:
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h:103:19: note: deduced conflicting types for parameter ‘_InputIterator’ (‘long unsigned int’ and ‘apf::fftw_allocator<float>’)
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc>::allocator_type = apf::fftw_allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::initializer_list<float>’
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float, apf::fftw_allocator<float> >; std::vector<_Tp, _Alloc>::allocator_type = apf::fftw_allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::vector<float, apf::fftw_allocator<float> >&&’
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float, apf::fftw_allocator<float> >; std::vector<_Tp, _Alloc>::allocator_type = apf::fftw_allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘const std::vector<float, apf::fftw_allocator<float> >&’
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float, apf::fftw_allocator<float> >]
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float, apf::fftw_allocator<float> >]
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = float; std::vector<_Tp, _Alloc>::allocator_type = apf::fftw_allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: no known conversion for argument 2 from ‘const apf::fftw_allocator<float>’ to ‘const value_type& {aka const float&}’
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = float; _Alloc = apf::fftw_allocator<float>; std::vector<_Tp, _Alloc>::allocator_type = apf::fftw_allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: std::vector<_Tp, _Alloc>::vector() [with _Tp = float; _Alloc = apf::fftw_allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: candidate expects 0 arguments, 2 provided
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h: In instantiation of ‘apf::fixed_vector<T, Allocator>::fixed_vector(Size, const Allocator&) [with Size = long unsigned int; <template-parameter-2-2> = void; T = float; Allocator = std::allocator<float>]’:
./../apf/apf/convolver.h:239:52: required from here
./../apf/apf/container.h:103:19: error: no matching function for call to ‘std::vector<float>::vector(long unsigned int&, const std::allocator<float>&)’
./../apf/apf/container.h:103:19: note: candidates are:
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template<class _InputIterator> std::vector::vector(_InputIterator, _InputIterator, const allocator_type&)
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template argument deduction/substitution failed:
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h:103:19: note: deduced conflicting types for parameter ‘_InputIterator’ (‘long unsigned int’ and ‘std::allocator<float>’)
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::initializer_list<float>’
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::vector<float>&&’
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘const std::vector<float>&’
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>]
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>]
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = float; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: no known conversion for argument 2 from ‘const std::allocator<float>’ to ‘const value_type& {aka const float&}’
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: std::vector<_Tp, _Alloc>::vector() [with _Tp = float; _Alloc = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: candidate expects 0 arguments, 2 provided
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h: In instantiation of ‘apf::fixed_vector<T, Allocator>::fixed_vector(Size, const Allocator&) [with Size = int; <template-parameter-2-2> = void; T = float; Allocator = std::allocator<float>]’:
binauralrenderer.h:163:58: required from here
./../apf/apf/container.h:103:19: error: no matching function for call to ‘std::vector<float>::vector(int&, const std::allocator<float>&)’
./../apf/apf/container.h:103:19: note: candidates are:
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template<class _InputIterator> std::vector::vector(_InputIterator, _InputIterator, const allocator_type&)
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template argument deduction/substitution failed:
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h:103:19: note: deduced conflicting types for parameter ‘_InputIterator’ (‘int’ and ‘std::allocator<float>’)
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: no known conversion for argument 1 from ‘int’ to ‘std::initializer_list<float>’
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: no known conversion for argument 1 from ‘int’ to ‘std::vector<float>&&’
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: no known conversion for argument 1 from ‘int’ to ‘const std::vector<float>&’
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>]
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc> = std::vector<float>]
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = float; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: no known conversion for argument 2 from ‘const std::allocator<float>’ to ‘const value_type& {aka const float&}’
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: std::vector<_Tp, _Alloc>::vector() [with _Tp = float; _Alloc = std::allocator<float>]
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: candidate expects 0 arguments, 2 provided
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h: In instantiation of ‘apf::fixed_vector<T, Allocator>::fixed_vector(Size, const Allocator&) [with Size = long unsigned int; <template-parameter-2-2> = void; T = apf::CommandQueue::Command*; Allocator = std::allocator<apf::CommandQueue::Command*>]’:
./../apf/apf/lockfreefifo.h:74:16: required from ‘apf::LockFreeFifo<T*>::LockFreeFifo(size_t) [with T = apf::CommandQueue::Command; size_t = long unsigned int]’
./../apf/apf/commandqueue.h:87:21: required from here
./../apf/apf/container.h:103:19: error: no matching function for call to ‘std::vector<apf::CommandQueue::Command*, std::allocator<apf::CommandQueue::Command*> >::vector(long unsigned int&, const std::allocator<apf::CommandQueue::Command*>&)’
./../apf/apf/container.h:103:19: note: candidates are:
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template<class _InputIterator> std::vector::vector(_InputIterator, _InputIterator, const allocator_type&)
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template argument deduction/substitution failed:
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h:103:19: note: deduced conflicting types for parameter ‘_InputIterator’ (‘long unsigned int’ and ‘std::allocator<apf::CommandQueue::Command*>’)
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<apf::CommandQueue::Command*>]
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::initializer_list<apf::CommandQueue::Command*>’
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc> = std::vector<apf::CommandQueue::Command*, std::allocator<apf::CommandQueue::Command*> >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<apf::CommandQueue::Command*>]
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::vector<apf::CommandQueue::Command*, std::allocator<apf::CommandQueue::Command*> >&&’
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc> = std::vector<apf::CommandQueue::Command*, std::allocator<apf::CommandQueue::Command*> >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<apf::CommandQueue::Command*>]
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘const std::vector<apf::CommandQueue::Command*, std::allocator<apf::CommandQueue::Command*> >&’
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc> = std::vector<apf::CommandQueue::Command*, std::allocator<apf::CommandQueue::Command*> >]
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc> = std::vector<apf::CommandQueue::Command*, std::allocator<apf::CommandQueue::Command*> >]
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = apf::CommandQueue::Command*; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<apf::CommandQueue::Command*>]
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: no known conversion for argument 2 from ‘const std::allocator<apf::CommandQueue::Command*>’ to ‘apf::CommandQueue::Command* const&’
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<apf::CommandQueue::Command*>]
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: std::vector<_Tp, _Alloc>::vector() [with _Tp = apf::CommandQueue::Command*; _Alloc = std::allocator<apf::CommandQueue::Command*>]
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: candidate expects 0 arguments, 2 provided
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h: In instantiation of ‘apf::fixed_vector<T, Allocator>::fixed_vector(Size, const Allocator&) [with Size = long unsigned int; <template-parameter-2-2> = void; T = const apf::conv::fft_node*; Allocator = std::allocator<const apf::conv::fft_node*>]’:
/usr/include/c++/4.7/bits/stl_construct.h:77:7: required from ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 = apf::fixed_vector<const apf::conv::fft_node*>; _Args = {long unsigned int}]’
/usr/include/c++/4.7/bits/stl_uninitialized.h:77:3: required from ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = apf::index_iterator<long unsigned int>; _ForwardIterator = apf::fixed_vector<const apf::conv::fft_node*>*; bool _TrivialValueTypes = false]’
/usr/include/c++/4.7/bits/stl_uninitialized.h:119:41: required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = apf::index_iterator<long unsigned int>; _ForwardIterator = apf::fixed_vector<const apf::conv::fft_node*>*]’
/usr/include/c++/4.7/bits/stl_uninitialized.h:260:63: required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = apf::index_iterator<long unsigned int>; _ForwardIterator = apf::fixed_vector<const apf::conv::fft_node*>*; _Tp = apf::fixed_vector<const apf::conv::fft_node*>]’
/usr/include/c++/4.7/bits/stl_vector.h:1170:4: required from ‘void std::vector<_Tp, _Alloc>::_M_range_initialize(_ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = apf::index_iterator<long unsigned int>; _Tp = apf::fixed_vector<const apf::conv::fft_node*>; _Alloc = std::allocator<apf::fixed_vector<const apf::conv::fft_node*> >]’
/usr/include/c++/4.7/bits/stl_vector.h:1148:4: required from ‘void std::vector<_Tp, _Alloc>::_M_initialize_dispatch(_InputIterator, _InputIterator, std::__false_type) [with _InputIterator = apf::index_iterator<long unsigned int>; _Tp = apf::fixed_vector<const apf::conv::fft_node*>; _Alloc = std::allocator<apf::fixed_vector<const apf::conv::fft_node*> >]’
/usr/include/c++/4.7/bits/stl_vector.h:393:4: required from ‘std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = apf::index_iterator<long unsigned int>; _Tp = apf::fixed_vector<const apf::conv::fft_node*>; _Alloc = std::allocator<apf::fixed_vector<const apf::conv::fft_node*> >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<apf::fixed_vector<const apf::conv::fft_node*> >]’
./../apf/apf/container.h:98:42: required from ‘apf::fixed_vector<T, Allocator>::fixed_vector(Args&& ...) [with Args = {apf::index_iterator<long unsigned int>, apf::index_iterator<long unsigned int>}; <template-parameter-2-2> = void; T = apf::fixed_vector<const apf::conv::fft_node*>; Allocator = std::allocator<apf::fixed_vector<const apf::conv::fft_node*> >]’
./../apf/apf/convolver.h:624:61: required from here
./../apf/apf/container.h:103:19: error: no matching function for call to ‘std::vector<const apf::conv::fft_node*, std::allocator<const apf::conv::fft_node*> >::vector(long unsigned int&, const std::allocator<const apf::conv::fft_node*>&)’
./../apf/apf/container.h:103:19: note: candidates are:
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template<class _InputIterator> std::vector::vector(_InputIterator, _InputIterator, const allocator_type&)
/usr/include/c++/4.7/bits/stl_vector.h:387:9: note: template argument deduction/substitution failed:
In file included from ./../apf/apf/lockfreefifo.h:32:0,
from ./../apf/apf/commandqueue.h:33,
from ./../apf/apf/rtlist.h:33,
from ./../apf/apf/mimoprocessor.h:33,
from rendererbase.h:35,
from binauralrenderer.h:33,
from ssr_binaural.cpp:31:
./../apf/apf/container.h:103:19: note: deduced conflicting types for parameter ‘_InputIterator’ (‘long unsigned int’ and ‘std::allocator<const apf::conv::fft_node*>’)
In file included from /usr/include/c++/4.7/vector:65:0,
from ./../apf/apf/jackclient.h:34,
from ./../apf/apf/jack_policy.h:36,
from controller.h:38,
from ssr_binaural.cpp:30:
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<const apf::conv::fft_node*>]
/usr/include/c++/4.7/bits/stl_vector.h:361:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::initializer_list<const apf::conv::fft_node*>’
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc> = std::vector<const apf::conv::fft_node*, std::allocator<const apf::conv::fft_node*> >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<const apf::conv::fft_node*>]
/usr/include/c++/4.7/bits/stl_vector.h:337:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::vector<const apf::conv::fft_node*, std::allocator<const apf::conv::fft_node*> >&&’
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc> = std::vector<const apf::conv::fft_node*, std::allocator<const apf::conv::fft_node*> >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<const apf::conv::fft_node*>]
/usr/include/c++/4.7/bits/stl_vector.h:328:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘const std::vector<const apf::conv::fft_node*, std::allocator<const apf::conv::fft_node*> >&’
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc> = std::vector<const apf::conv::fft_node*, std::allocator<const apf::conv::fft_node*> >]
/usr/include/c++/4.7/bits/stl_vector.h:324:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc> = std::vector<const apf::conv::fft_node*, std::allocator<const apf::conv::fft_node*> >]
/usr/include/c++/4.7/bits/stl_vector.h:307:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = const apf::conv::fft_node*; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<const apf::conv::fft_node*>]
/usr/include/c++/4.7/bits/stl_vector.h:278:7: note: no known conversion for argument 2 from ‘const std::allocator<const apf::conv::fft_node*>’ to ‘const apf::conv::fft_node* const&’
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
/usr/include/c++/4.7/bits/stl_vector.h:266:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<const apf::conv::fft_node*>]
/usr/include/c++/4.7/bits/stl_vector.h:254:7: note: candidate expects 1 argument, 2 provided
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: std::vector<_Tp, _Alloc>::vector() [with _Tp = const apf::conv::fft_node*; _Alloc = std::allocator<const apf::conv::fft_node*>]
/usr/include/c++/4.7/bits/stl_vector.h:246:7: note: candidate expects 0 arguments, 2 provided
make[2]: *** [ssr_binaural.o] Fehler 1
make[1]: *** [all] Fehler 2
make: *** [all-recursive] Fehler 1
Trial version available from http://cycling74.com/products/max/
Probably flext::buffer::Lock()
and flext::buffer::Unlock()
have to be used (according to http://grrrr.org/2011/11/22/flext-max6/):
Do always lock sample buffers when reading from or writing to them. The respective methods Lock and Unlock in flext::buffer have been present for quite a while, but i think i haven’t really advertized the necessity of using them.
No arrow up/arrow down to change the level or ESC to shutdown etc. when the dialog is open. The dialog needs to forward the keyboard input.
It would be good to have a list of packages needed to build the SSR on the individual distributions. If it helps, I had to install the following packages in addition to the things already installed at the machine (I'm sorry, I can't be more detailled).
libsndfile1-dev
libfftw3-dev
libxml2-dev
libboost-dev
libsndfile1-dev
libjack-jackd2-dev
libqt4-dev
qt4-dev-tools
libecasoundc-dev
What else is needed and which package would provide the IP interface?
ssr-brs 0.4.2 (archlinux) crashes when i try to load audio file
Warning: This system does not provide sample buffer support.
I can not enable anti-aliasing for OpenGl stuff. (controller.h:1104)
Warning: Trying to open specified file as audio file. (controller.h:952)
***********************************************************************
* Message from libecasoundc:
*
* 'ECASOUND' environment variable not set. Using the default value
* value 'ECASOUND=ecasound'.
***********************************************************************
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.
the configure script of SSR has the following options:
--program-prefix=
--prorgram-suffix=
--program-transform-name=
(they should allow to modify the name of PROGRAMs, e.g. when spefiying --program-suffix=.qt
, the ssr-binaural
binary should be renamed to ssr-binaural.qt
.
normally, autotools handles the renaming automatically, but I think your bin_PROGRAMS = $(SSR_executables)
magic defeats this.
It is therefore not possible to transmit a value that is equivalent to linear 0.
For my thesis I'll work on the networking abilities of ssr-wfs.
To give a little info on the context: this means defining a way to connect several ssr instances over tcp/ip to make them work in a large scale setup (a hardware setup with many channels, that can not be used by a single computer, e.g. n
machines with HDSPe MADI FX cards working in a cluster to define one large reproduction setup).
The large-scale setup aimed at is defined by x
inputs being bridged to machine 1 to n
(every machine has the same audio inputs), while each machine takes care of y
separate channels.
Depending on a source's location in the audio scene, each machine needs to know, if to render the given source (partially).
My current thoughts regarding this are as follows:
1 to n
y
output channels they are responsibleThe following task list will be updated, as I go along. Feel free to comment and leave suggestions!
Some of the features described below might extend into apf.
I don't know if the following is a bug or a feature, but I would prefer a different behavior.
Try the following:
ssr-binaural -I -n SSR1 one_channel.wav & # start first SSR
ssr-binaural -I -n SSR2 one_channel.wav & # start second SSR
If you now press the play button on one of the SSR controls both SSRs will start the playback. I would prefer that only the one for which the play button was pressed starts with playback. This would give us the possibility to switch between different SSR instances for playback of different complex scenes consisting of several wav files (as the loading of a new complex scene could take a while).
Connecting to SSR in WFS mode reliably crashes with the following error:
libc++abi.dylib: terminating with uncaught exception of type boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_weak_ptr> >: tr1::bad_weak_ptr
Same setup is working fine with the binaural renderer. This usually happens 0-2 seconds after initializing a request. Until the crash, I can see the source moving in the GUI and the scene response over TCP is also sent.
If a port number (e.g. <port>5</port>
) is specified in a scene file, this information is lost when saving the scene.
Thanks to Benedikt Bitzenhofer for reporting this bug!
Every source file has
// vim:fdm=expr:foldexpr=getline(v\:lnum)=~'/\\*\\*'&&getline(v\:lnum)!~'\\*\\*/'?'a1'\:getline(v\:lnum)=~'\\*\\*/'&&getline(v\:lnum)!~'/\\*\\*'?'s1'\:'='
set, which prevents foldmethod settings (e.g. foldmethod=syntax) of anyone who wants to work with the code, as it sets it to "expr" per default (which - at least for my setup and a plain setup - never folds code at all).
This is too restrictive and should be removed, as it prevents personal workflows and oversight (one has to overwrite foldmethod for every file opened!).
While I agree, that
// vim:softtabstop=2:shiftwidth=2:expandtab:textwidth=80:cindent
greatly helps in keeping the code clean (at least when a vim user is writing on it), the above does not (and should be set in the users .vimrc, if needed).
I am currently writing a Max for live remote control for SSR which uses the TCP/IP client of SSR. I am trying to simultaneously update up to 34 sources at once and I am experiences some difficulties.
I can currently automate source movement using binaural synthesis without glitches but only for a low number of sources. Using the WFS renderer, automating only one source already spikes the CPU and gives audible glitches. Interestingly, this only happens when automating, not when updating per mouse (from Ableton Live).
The support of subwoofers in the VBAP seems not to have been implemented yet.
Currently, the gain indicator is displayed, e.g., far off the source if a very low value is chosen remotely.
This is most probably a threading/locking issue.
On some systems it can be reproduced by moving sources rapidly in the GUI or by connecting a client (e.g. the Android Remote) via network interface or by connecting a head tracker.
The bug was most probably introduced in 47dbc15.
The problem occurs on different versions of Linux and OSX.
The current README contains only limited information especially considering new people interested in the SSR.
I believe it would be great to add:
In addition, I would remove the (c) as it is not really something important for users/developers and either remove it or move it to a different place.
Also, I would prefer to use Markdown instead of plain/reStructuredText.
What do you think?
Arch Linux recently switched to gcc > 7.
The ip-interface is not able to build with it anymore, as shown in the attached make.txt.
Issuing a prior ./configure --disable-ip-interface
builds fine (apart from the deprecation warnings in other parts of the code base).
Using term "gain" everywhere would be most precise (and consistent).
Placing a source at exactly [0,0] inside a circular array results in that source not playing at all in WFS mode. Speaker indicators also won't show up.
I suspect no decision as to from where the focused source should be produced can be made?
The same might happen in VBAP but I haven't tested that.
Change
<source ... properties_file="bla.wav">...</source>
to
<source ...>...<properties ir_file="bla.wav" />...</source>
This way, it will be consistent with the BRS renderer again.
For a comparision and evaulation of different rendering algorithms I wanted to implement OPSI renderer (Wittek 2002) to SSR.
The idea is to base it on the WFS renderer (for a start I copied the complete wfsrenderer.h) and to filter the resulting loudspeaker signals with a lowpass biquad (using the apf::Biquad
-class). The two speakers which are located on the connecting line between virtual source and reference point do net get filtered but panned/weighted with an algorithm similar to VBAP (I just took some usefull parts from the vbaprenderer.h)
Because the filtering is applied after the rendering process I tried to implement it in the OpsiRenderer::RenderFunction
-class in sample_type operator()(sample_type in)
. I am not completely sure if it makes sence. However it works and I get the lowpass filtered signal for all of the speakers except the ones which I described before. But there are some very ugly and annoying artefacts like dropouts (up to a few seconds) and crackling.
To me it seems there is a offset of n-times buffersize (1024 samples) between the appearance of artefacts but I do not really understand where the buffer is applied.
I could supply the code. Is there a straightforward method to do this or should I just upload it here?
If reasonable, these warnings should be enabled at some point:
-Wconversion
(or at least -Wsign-conversion
)
-Wshadow
-Wold-style-cast
See configure.ac
.
Hi *! After updating my git clone, I ran into this error after rerunning ./configure:
configure: error: ip-interface (network (TCP/IP) interface) not available! Use --disable-ip-interface to deactivate.
Following that advice leads to a successful build process, but I hate to miss out on a feature :) So I tried to figure out what was missing, since I couldn't find anything documented. Looking at the configure script, I fould this, which looks bogus to me:
if test x$enable_ip_interface != xno; then :
# set have_bla to "yes"
have_ip_interface=yes
# run the actual test (if a test was specified)
CPPFLAGS="$CPPFLAGS -DASIO_STANDALONE"
ac_fn_cxx_check_header_mongrel "$LINENO" "asio.hpp" "ac_cv_header_asio_hpp" "$ac_includes_default"
if test "x$ac_cv_header_asio_hpp" = xyes; then :
else
have_ip_interface=no
fi
So apparently something about ASIO is tested here, which I shouldn't have to care about, since I'm on Linux. Can anyone clarify?
The distance and angular relation between a virtual source and secondary source is constantly checked to calculate the weighting_factor = cos(angle(ls, src)) / r_src_ls
for that virtual source. When the distance reaches a certain lower threshold distance safety_radius
, r_src_ls
is set to sqrt(safety_radius)
but the cos term is still evaluated.
This means that any source that is moved between the inside and outside of the array potentially drops in volume because at some point only one speaker is active and cos(angle(ls, src))
might even reach 0.
One hack could be setting the safety_radius
to half the loudspeaker distance and then avoid small weighting_factors to guarantee a smooth transition.
the current release (0.4.1) contains two PDFs:
data/impulse_responses/hrirs/hrirs_fabian_documentation.pdf
doc/SoundScapeRenderer-0.4.1-manual.pdf
the source code for both PDFs is missing (which means that they cannot be included in Debian).
please provide the source code for all binary data!
That's the output:
...
Connection destroyed
pure virtual method called
terminate called without an active exception
If not, we should try to get support for the other trackers (especially Razor) into VRPN and then exclusively use VRPN in the SSR.
If it does add latency, we should keep the support for the other trackers, but probably we could make the whole tracker support more flexible.
See also https://groups.google.com/forum/#!topic/SoundScapeRenderer/To-R9_Jpuj4
A call to Controller::orient_source_toward_reference with a non-existent id makes SSR crash.
This will happen, when calling Controller::set_source_position (also with non-existent id) and --auto-rotation being enabled (by default).
A prior call to ssr::Scene::get_source_orientation() in Controller::orient_source_toward_reference with the same (non-existent) id and a subsequent check for null_ptr could probably prevent this.
48000Hz is pretty common, and matlab doesn't work on linux (perhaps octave would run prepare_hrirs_kemar.m, untested).
I'm not even sure if ssr resamples everything to 44.1Khz internally anyway. TBH I think I've hit every possible bug, so haven't been able to generate any output.
i have received a bug-report for the debian package, which i would like to hand over to you:
SSR fails to start with the error:
terminate called after throwing an instance of 'std::logic_error'
what(): apf::load_sndfile(): "/usr/share/ssr/default_hrirs.wav" has sample
rate 44100 instead of 48000!
/usr/bin/ssr: line 48: 8444 Aborted$SSR_EXECUTABLE "$ {OPTIONS[@]}"
i think that ssr could be a bit more descriptive when refusing to use a file.
also, it should be documented somewhere, that ssr does not do any resampling, and that it is the user's task to make sure all files are in the correct format (or alternatively do resampling of the HRIRs)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.