sfdb append optimization.
authorTaybin Rutkin <taybin@taybin.com>
Mon, 10 Oct 2005 16:56:15 +0000 (16:56 +0000)
committerTaybin Rutkin <taybin@taybin.com>
Mon, 10 Oct 2005 16:56:15 +0000 (16:56 +0000)
git-svn-id: svn://localhost/trunk/ardour2@55 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/library_ui.cc
libs/.cvsignore
libs/ardour/ardour/audio_library.h
libs/ardour/audio_library.cc

index 7873765594d3a9eff88bf66e09a63361c74f514c..99dcd9e546c9ce59f7d7631eaec9d555661935ca 100644 (file)
@@ -725,7 +725,7 @@ LibraryTree::file_ok_clicked ()
        progress_win->show_all();
        
        clone_ftw((void*)file);
-       
+
        delete progress_win;
 }
 
@@ -748,6 +748,8 @@ clone_ftw(void* ptr)
                warning << string_compose(_("%1 not added to database"), *file) << endmsg;
        }
 
+       Library->save_changes();
+       
        delete old_parent;
        delete old_parent_uri;
 
@@ -778,6 +780,7 @@ LibraryTree::folder_btn_clicked ()
 
                if (name.length()) {
                        Library->add_group(name, current_group);
+                       Library->save_changes();
                }
        }
 }
@@ -838,6 +841,8 @@ LibraryTree::remove_btn_clicked ()
                error << _("Should not be reached") << endmsg;
        }
 
+       Library->save_changes();
+
        current_member = "";
        current_group = "";
        
@@ -1233,6 +1238,7 @@ SoundFileBox::add_field_clicked ()
                
                if (name.length()) {
                        Library->add_field(name);
+                       Library->save_changes();
                }
        }
 }
@@ -1241,6 +1247,7 @@ void
 SoundFileBox::remove_field_clicked ()
 {
        Library->remove_field(selected_field);
+       Library->save_changes();
        selected_field = "";
        remove_field_btn.set_sensitive(false);
 }
@@ -1285,6 +1292,7 @@ SoundFileBox::field_selected (Gtkmm2ext::Selector *selector, Gtkmm2ext::Selectio
 
                prompter.get_result(data);
                Library->set_field(uri, field_name, data);
+               Library->save_changes();
        }
 
        fields.rescan();
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e43b0f988953ae3a84b00331d0ccf5f7d51cb3cf 100644 (file)
@@ -0,0 +1 @@
+.DS_Store
index 3aab3993b96d20981d7d88cb0a6a3d625312e9df..00c833a6c82697b378223121793c52d486cbcc82 100644 (file)
@@ -65,6 +65,8 @@ class AudioLibrary
        string get_label (string uri);
        void set_label (string uri, string label);
 
+       void save_changes();
+
        sigc::signal<void, string, string> added_group; // group, parent
        sigc::signal<void, string, string> added_member;// member, parent
        sigc::signal<void, string> removed_group;
@@ -72,7 +74,6 @@ class AudioLibrary
        sigc::signal<void> fields_changed;
        
   private:
-       void save_changes ();
        string field_uri (string name);
 
        bool is_rdf_type (string uri, string type);
index f49fb4e280bc073f8160e8ad2afbf003f9869244..03bde674598f20d0d9458989698df57fd70de9eb 100644 (file)
@@ -147,7 +147,6 @@ AudioLibrary::remove_group (string uri)
        }
 
        lrdf_remove_uri_matches(uri.c_str());
-       save_changes ();
 
         removed_group(uri); /* EMIT SIGNAL */
 }
@@ -206,9 +205,7 @@ AudioLibrary::add_member (string member, string parent_uri)
                        parent_uri.c_str(), lrdf_uri);
        }
 
-       save_changes ();
-
-        added_member (local_member, parent_uri); /* EMIT SIGNAL */
+       added_member (local_member, parent_uri); /* EMIT SIGNAL */
 
        return local_member;
 }
@@ -218,8 +215,6 @@ AudioLibrary::remove_member (string uri)
 {
        lrdf_remove_uri_matches (uri.c_str());
 
-       save_changes ();
-
         removed_member(uri); /* EMIT SIGNAL */
 }
 
@@ -376,8 +371,6 @@ AudioLibrary::add_field (string name)
 
        set_label (local_field, name);
        
-       save_changes();
-
         fields_changed(); /* EMIT SIGNAL */
 }
 
@@ -410,7 +403,6 @@ void
 AudioLibrary::remove_field (string name)
 {
        lrdf_remove_uri_matches(field_uri(name).c_str());
-       save_changes();
         fields_changed (); /* EMIT SIGNAL */
 }
 
@@ -459,8 +451,6 @@ AudioLibrary::set_field (string uri, string field, string literal)
        lrdf_add_triple(src.c_str(), uri.c_str(), local_field.c_str(), 
                        literal.c_str(), lrdf_literal);
 
-       save_changes();
-
         fields_changed(); /* EMIT SIGNAL */
 }