Loading scripts/binauralRenderer_interface/CMakeLists.txt +12 −7 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ option(USE_PYTHON "Use SOFA python reader" OFF) option(USE_MATLAB "Use SOFA matlab reader" ON) if(USE_MATLAB) option(USE_MATLAB_ENG "Use matlab engine" OFF) # allows to use sofa file as input to the exe, but on windows requires to register matlab as a com server type in matlab "comserver('register')"" find_package(Matlab REQUIRED) message("Matlab_VERSION = ${Matlab_VERSION}") message("Matlab_ROOT_DIR = ${Matlab_ROOT_DIR}") Loading @@ -32,6 +33,10 @@ if(USE_MATLAB) message("Matlab_DATAARRAY_LIBRARY = ${Matlab_DATAARRAY_LIBRARY}") add_definitions(-DUSE_MATLAB) include_directories(${Matlab_INCLUDE_DIRS} ${IVAS_TRUNK_UTIL_PATH} ${IVAS_TRUNK_ENC_PATH} ${IVAS_TRUNK_DEC_PATH} ${IVAS_TRUNK_REND_PATH} ${IVAS_TRUNK_COM_PATH} ${IVAS_TRUNK_DEBUG_PATH}) if(USE_MATLAB_ENG) string(REPLACE "mex" "eng" Matlab_ENG_LIBRARY ${Matlab_MEX_LIBRARY}) add_definitions(-DUSE_MATLAB_ENG) endif() endif() if(USE_PYTHON) Loading Loading @@ -103,19 +108,19 @@ add_library(${PROJECT_NAME}_lib STATIC ${SOURCE_FILES_C} ${SOURCE_FILES_H}) add_executable(${PROJECT_NAME} generate_crend_ivas_tables_from_sofa.c) if(USE_MATLAB) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Matlab_MAT_LIBRARY} ${Matlab_MX_LIBRARY} libstdc++.so.6 -lm -ldl) else() message("Matlab_MX_LIBRARY = ${Matlab_MX_LIBRARY}") target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Matlab_MAT_LIBRARY} ${Matlab_MX_LIBRARY}) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} libstdc++.so.6 -lm -ldl) endif() if(USE_MATLAB_ENG) target_link_libraries(${PROJECT_NAME} ${Matlab_ENG_LIBRARY}) endif() endif() if(USE_PYTHON) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Python_LIBRARIES} -lm -ldl) else() target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Python_LIBRARIES}) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} -lm -ldl) endif() endif() Loading scripts/binauralRenderer_interface/generate_crend_ivas_tables_from_sofa.c +38 −1 Original line number Diff line number Diff line Loading @@ -61,6 +61,9 @@ #ifdef USE_MATLAB #include "mat.h" #ifdef USE_MATLAB_ENG #include "engine.h" #endif #else #include <Python.h> #include "numpy/utils.h" // Include any other Numpy headers, UFuncs for example. Loading Loading @@ -788,6 +791,41 @@ int main( int argc, char *argv[] ) } } } #ifdef USE_MATLAB_ENG Engine *ep = NULL; char *tmpChar = strstr( argv[i], ".sofa" ); if ( tmpChar != NULL ) { if ( !( ep = engOpen( NULL ) ) ) { printf( "Error starting matlab engine\n" ); return -1; } const char addPathCmdStr[] = "addpath(['.' filesep() 'matlab_hrir_generation_scripts']);"; const char startCmdStr[] = "SOFA_save_to_mat('"; const char endCmdStr[] = "');"; char *cdCmd; char *cmdStr; int ret; cdCmd = (char *) malloc( strlen( current_path ) + 4 ); sprintf( cdCmd, "cd %s", current_path ); cmdStr = (char *) malloc( strlen( startCmdStr ) + strlen( argv[i] ) + strlen( endCmdStr ) + 1 ); sprintf( cmdStr, "%s%s%s", startCmdStr, argv[i], endCmdStr ); ret = engEvalString( ep, cdCmd ); ret = engEvalString( ep, addPathCmdStr ); ret = engEvalString( ep, cmdStr ); strcpy( tmpChar, ".mat" ); tmpChar[4] = '\0'; free( cdCmd ); free( cmdStr ); engClose( ep ); } #endif convert_backslash( argv[i] ); err = generate_crend_ivas_tables_from_sofa( argv[i], &cfgBrirOptim ); Loading Loading @@ -1272,7 +1310,6 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, ConfigReader *c for ( indSR = 0; indSR < sizeof( sample_rates ) / sizeof( float ); indSR++ ) { uint16_t frame_len = L_FRAME48k; int32_t maxDel = maxDel48kHz * DEFAULT_SAMPLERATE / sample_rates[indSR]; switch ( sample_rates[indSR] ) Loading Loading
scripts/binauralRenderer_interface/CMakeLists.txt +12 −7 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ option(USE_PYTHON "Use SOFA python reader" OFF) option(USE_MATLAB "Use SOFA matlab reader" ON) if(USE_MATLAB) option(USE_MATLAB_ENG "Use matlab engine" OFF) # allows to use sofa file as input to the exe, but on windows requires to register matlab as a com server type in matlab "comserver('register')"" find_package(Matlab REQUIRED) message("Matlab_VERSION = ${Matlab_VERSION}") message("Matlab_ROOT_DIR = ${Matlab_ROOT_DIR}") Loading @@ -32,6 +33,10 @@ if(USE_MATLAB) message("Matlab_DATAARRAY_LIBRARY = ${Matlab_DATAARRAY_LIBRARY}") add_definitions(-DUSE_MATLAB) include_directories(${Matlab_INCLUDE_DIRS} ${IVAS_TRUNK_UTIL_PATH} ${IVAS_TRUNK_ENC_PATH} ${IVAS_TRUNK_DEC_PATH} ${IVAS_TRUNK_REND_PATH} ${IVAS_TRUNK_COM_PATH} ${IVAS_TRUNK_DEBUG_PATH}) if(USE_MATLAB_ENG) string(REPLACE "mex" "eng" Matlab_ENG_LIBRARY ${Matlab_MEX_LIBRARY}) add_definitions(-DUSE_MATLAB_ENG) endif() endif() if(USE_PYTHON) Loading Loading @@ -103,19 +108,19 @@ add_library(${PROJECT_NAME}_lib STATIC ${SOURCE_FILES_C} ${SOURCE_FILES_H}) add_executable(${PROJECT_NAME} generate_crend_ivas_tables_from_sofa.c) if(USE_MATLAB) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Matlab_MAT_LIBRARY} ${Matlab_MX_LIBRARY} libstdc++.so.6 -lm -ldl) else() message("Matlab_MX_LIBRARY = ${Matlab_MX_LIBRARY}") target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Matlab_MAT_LIBRARY} ${Matlab_MX_LIBRARY}) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} libstdc++.so.6 -lm -ldl) endif() if(USE_MATLAB_ENG) target_link_libraries(${PROJECT_NAME} ${Matlab_ENG_LIBRARY}) endif() endif() if(USE_PYTHON) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Python_LIBRARIES} -lm -ldl) else() target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib ${Python_LIBRARIES}) if(UNIX AND NOT APPLE) target_link_libraries(${PROJECT_NAME} -lm -ldl) endif() endif() Loading
scripts/binauralRenderer_interface/generate_crend_ivas_tables_from_sofa.c +38 −1 Original line number Diff line number Diff line Loading @@ -61,6 +61,9 @@ #ifdef USE_MATLAB #include "mat.h" #ifdef USE_MATLAB_ENG #include "engine.h" #endif #else #include <Python.h> #include "numpy/utils.h" // Include any other Numpy headers, UFuncs for example. Loading Loading @@ -788,6 +791,41 @@ int main( int argc, char *argv[] ) } } } #ifdef USE_MATLAB_ENG Engine *ep = NULL; char *tmpChar = strstr( argv[i], ".sofa" ); if ( tmpChar != NULL ) { if ( !( ep = engOpen( NULL ) ) ) { printf( "Error starting matlab engine\n" ); return -1; } const char addPathCmdStr[] = "addpath(['.' filesep() 'matlab_hrir_generation_scripts']);"; const char startCmdStr[] = "SOFA_save_to_mat('"; const char endCmdStr[] = "');"; char *cdCmd; char *cmdStr; int ret; cdCmd = (char *) malloc( strlen( current_path ) + 4 ); sprintf( cdCmd, "cd %s", current_path ); cmdStr = (char *) malloc( strlen( startCmdStr ) + strlen( argv[i] ) + strlen( endCmdStr ) + 1 ); sprintf( cmdStr, "%s%s%s", startCmdStr, argv[i], endCmdStr ); ret = engEvalString( ep, cdCmd ); ret = engEvalString( ep, addPathCmdStr ); ret = engEvalString( ep, cmdStr ); strcpy( tmpChar, ".mat" ); tmpChar[4] = '\0'; free( cdCmd ); free( cmdStr ); engClose( ep ); } #endif convert_backslash( argv[i] ); err = generate_crend_ivas_tables_from_sofa( argv[i], &cfgBrirOptim ); Loading Loading @@ -1272,7 +1310,6 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, ConfigReader *c for ( indSR = 0; indSR < sizeof( sample_rates ) / sizeof( float ); indSR++ ) { uint16_t frame_len = L_FRAME48k; int32_t maxDel = maxDel48kHz * DEFAULT_SAMPLERATE / sample_rates[indSR]; switch ( sample_rates[indSR] ) Loading