diff options
author | Taybin Rutkin <taybin@taybin.com> | 2007-01-05 04:24:23 +0000 |
---|---|---|
committer | Taybin Rutkin <taybin@taybin.com> | 2007-01-05 04:24:23 +0000 |
commit | d631a8d89fd0a4b72a84c415ca2bdb4c2ca99bbc (patch) | |
tree | 85bedee3c8a30a2aecb452cbf55be1b23ab09a52 /libs/ardour/audio_library.cc | |
parent | 143e8eba1dce4d8c68e01c786e2d51075d4a58e2 (diff) |
First pass of sfdb tag searching. Not functional, but very very close.
git-svn-id: svn://localhost/ardour2/trunk@1272 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_library.cc')
-rw-r--r-- | libs/ardour/audio_library.cc | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/libs/ardour/audio_library.cc b/libs/ardour/audio_library.cc index 92069d929f..2ed4739a96 100644 --- a/libs/ardour/audio_library.cc +++ b/libs/ardour/audio_library.cc @@ -77,6 +77,13 @@ AudioLibrary::path2uri (string path) return uri.str(); } +string +AudioLibrary::uri2path (string uri) +{ + string path = xmlURIUnescapeString(uri.c_str(), 0, 0); + return path.substr(5); +} + void AudioLibrary::set_tags (string member, vector<string> tags) { @@ -142,8 +149,8 @@ AudioLibrary::search_members_and (vector<string>& members, const vector<string> if (*head != 0) { lrdf_uris* ulist = lrdf_match_multi(*head); for (uint32_t j = 0; ulist && j < ulist->count; ++j) { -// printf("AND: %s\n", ulist->items[j]); - members.push_back(ulist->items[j]); +// cerr << "AND: " << uri2path(ulist->items[j]) << endl; + members.push_back(uri2path(ulist->items[j])); } lrdf_free_uris(ulist); @@ -154,33 +161,9 @@ AudioLibrary::search_members_and (vector<string>& members, const vector<string> // memory clean up pattern = *head; while(pattern){ - free(pattern->predicate); free(pattern->object); old = pattern; pattern = pattern->next; delete old; } } - -bool -AudioLibrary::safe_file_extension(string file) -{ - return !(file.rfind(".wav") == string::npos && - file.rfind(".aiff")== string::npos && - file.rfind(".aif") == string::npos && - file.rfind(".snd") == string::npos && - file.rfind(".au") == string::npos && - file.rfind(".raw") == string::npos && - file.rfind(".sf") == string::npos && - file.rfind(".cdr") == string::npos && - file.rfind(".smp") == string::npos && - file.rfind(".maud")== string::npos && - file.rfind(".vwe") == string::npos && - file.rfind(".paf") == string::npos && -#ifdef HAVE_COREAUDIO - file.rfind(".mp3") == string::npos && - file.rfind(".aac") == string::npos && - file.rfind(".mp4") == string::npos && -#endif // HAVE_COREAUDIO - file.rfind(".voc") == string::npos); -} |