X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_library.h;h=63978217209333022e3c34728d2b54168ceb2bf3;hb=bce617375eeb0429e8f98f19839faf7be8a84a5d;hp=3aab3993b96d20981d7d88cb0a6a3d625312e9df;hpb=8af0757b61990767f2a85e68f535a5af9976fd79;p=ardour.git diff --git a/libs/ardour/ardour/audio_library.h b/libs/ardour/ardour/audio_library.h index 3aab3993b9..6397821720 100644 --- a/libs/ardour/ardour/audio_library.h +++ b/libs/ardour/ardour/audio_library.h @@ -1,6 +1,5 @@ /* - Copyright (C) 2003 Paul Davis - Author: Taybin Rutkin + Copyright (C) 2003-2006 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,74 +15,37 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #ifndef __ardour_audio_library_h__ #define __ardour_audio_library_h__ -#include #include #include +#include -#include - -using std::list; -using std::string; -using std::map; +#include "ardour/libardour_visibility.h" namespace ARDOUR { -class AudioLibrary +class LIBARDOUR_API AudioLibrary { public: AudioLibrary (); ~AudioLibrary (); - - // add_group returns the URI of the created group - string add_group (string group, string parent_uri = ""); - void remove_group (string uri); - void get_groups (list& groups, string parent_uri = ""); - - // add_member returns the URI of the created group - string add_member (string member, string parent_uri = ""); - void remove_member (string uri); - void get_members (list& members, string parent_uri = ""); - string get_member_filename (string uri); - - void search_members_and (list& results, - const map& fields); - void search_members_or (list& results, - const map& fields); - - void add_field (string field); - void get_fields (list& fields); - void remove_field (string field); - string get_field (string uri, string field); - void set_field (string uri, string field, string literal); - - string get_label (string uri); - void set_label (string uri, string label); - - sigc::signal added_group; // group, parent - sigc::signal added_member;// member, parent - sigc::signal removed_group; - sigc::signal removed_member; - sigc::signal fields_changed; - - private: - void save_changes (); - string field_uri (string name); - bool is_rdf_type (string uri, string type); - void remove_uri (string uri); + void set_tags (std::string member, std::vector tags); + std::vector get_tags (std::string member); + + void search_members_and (std::vector& results, const std::vector& tags); - string src; - - void initialize_db(); + void save_changes(); + + private: + std::string src; }; -extern AudioLibrary* Library; +LIBARDOUR_API extern AudioLibrary* Library; } // ARDOUR namespace