diff --git a/architecture/faust/gui/SoundUI.h b/architecture/faust/gui/SoundUI.h index bbd6895385..d055d3f3cb 100644 --- a/architecture/faust/gui/SoundUI.h +++ b/architecture/faust/gui/SoundUI.h @@ -68,7 +68,7 @@ class SoundUI : public SoundUIInterface protected: // The soundfile directories - std::vector fSoundfileDir; + Soundfile::Directories fSoundfileDir; // Map to share loaded soundfiles std::map> fSoundfileMap; // The soundfile reader @@ -109,7 +109,7 @@ class SoundUI : public SoundUIInterface * * @return the soundfile loader. */ - SoundUI(const std::vector& sound_directories, int sample_rate = -1, SoundfileReader* reader = nullptr, bool is_double = false) + SoundUI(const Soundfile::Directories& sound_directories, int sample_rate = -1, SoundfileReader* reader = nullptr, bool is_double = false) :fSoundfileDir(sound_directories) { fSoundReader = (reader) diff --git a/architecture/faust/gui/Soundfile.h b/architecture/faust/gui/Soundfile.h index cbaf9b605c..e95860f44c 100644 --- a/architecture/faust/gui/Soundfile.h +++ b/architecture/faust/gui/Soundfile.h @@ -167,6 +167,8 @@ struct Soundfile { delete[] fOffset; } + typedef std::vector Directories; + } POST_PACKED_STRUCTURE; /* @@ -180,7 +182,7 @@ class SoundfileReader { int fDriverSR; // Check if a soundfile exists and return its real path_name - std::string checkFile(const std::vector& sound_directories, const std::string& file_name) + std::string checkFile(const Soundfile::Directories& sound_directories, const std::string& file_name) { if (checkFile(file_name)) { return file_name; @@ -322,7 +324,7 @@ class SoundfileReader { } // Check if all soundfiles exist and return their real path_name - std::vector checkFiles(const std::vector& sound_directories, + std::vector checkFiles(const Soundfile::Directories& sound_directories, const std::vector& file_name_list) { std::vector path_name_list; diff --git a/architecture/supercollider.cpp b/architecture/supercollider.cpp index 8bfe95fcc0..0b5f8f7015 100644 --- a/architecture/supercollider.cpp +++ b/architecture/supercollider.cpp @@ -61,11 +61,19 @@ std::string defaultUserAppSupportDirectory() { return std::string(getenv("HOME")) + "/Library/Application Support/SuperCollider/Extensions"; } +std::string defaultSoundfilesDirectory1() +{ + return std::string(getenv("HOME")) + "/Library/Application Support/SuperCollider/Extensions/FaustSounds"; +} #else std::string defaultUserAppSupportDirectory() { return getenv("HOME"); } +std::string defaultSoundfilesDirectory1() +{ + return std::string(getenv("HOME")) + "/FaustSounds"; +} #endif using namespace std; @@ -533,7 +541,12 @@ FAUST_EXPORT void load(InterfaceTable* inTable) name = normalizeClassName(name); #ifdef SOUNDFILE - std::vector soundfile_dirs = { defaultUserAppSupportDirectory(), defaultSoundfilesDirectory(), SoundUI::getBinaryPath() }; + Soundfile::Directories soundfile_dirs + = { defaultUserAppSupportDirectory(), + defaultSoundfilesDirectory(), + defaultSoundfilesDirectory1(), + SoundUI::getBinaryPath() + }; g_SoundInterface = new SoundUI(soundfile_dirs); // Force soundfile loading at UGen load time tmp_dsp->buildUserInterface(g_SoundInterface); diff --git a/tools/faust2appls/faust2supercollider b/tools/faust2appls/faust2supercollider index 124e173c64..ad1200c830 100755 --- a/tools/faust2appls/faust2supercollider +++ b/tools/faust2appls/faust2supercollider @@ -153,8 +153,7 @@ fi # if [[ $(uname) == Darwin || $CROSSTARGET == Darwin ]]; then EXT="scx" - #SCFLAGS="-DNO_LIBSNDFILE -DSC_DARWIN $DNDEBUG -bundle" - SCFLAGS="-DSC_DARWIN $DNDEBUG -bundle" + SCFLAGS="-DNO_LIBSNDFILE -DSC_DARWIN $DNDEBUG -bundle" elif [[ $(uname) == Linux ]]; then EXT="so" SCFLAGS="-DNO_LIBSNDFILE -DSC_LINUX $DNDEBUG -shared -fPIC"