Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > f967f5f6a1d8dc0ff357a43370aaad92 > files > 14

armstrong-0.2.6-11.fc13.src.rpm

From 0625ca6e4a4ebf9b6182334f027ed9d79734e28b Mon Sep 17 00:00:00 2001
From: Timur Batyrshin <erthad@altlinux.org>
Date: Sat, 15 Aug 2009 12:08:02 +0400
Subject: [PATCH] repaired lunar support

---
 src/libzzub/libzzub.cpp |    2 +-
 src/libzzub/player.cpp  |   11 +++++++++++
 src/libzzub/player.h    |    1 +
 3 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/src/libzzub/libzzub.cpp b/src/libzzub/libzzub.cpp
index 643b02c..9b1d3ea 100644
--- a/src/libzzub/libzzub.cpp
+++ b/src/libzzub/libzzub.cpp
@@ -251,7 +251,7 @@ int zzub_player_get_pluginloader_count(zzub_player_t *player) {
 }
 
 zzub_plugincollection_t *zzub_plugincollection_get_by_uri(zzub_player_t *player, const char *uri) {
-	return 0;//player->getPluginlibByUri(uri);
+	return player->getPluginlibByUri(uri);
 }
 
 void zzub_plugincollection_configure(zzub_plugincollection_t *collection, const char *key, const char *value) {
diff --git a/src/libzzub/player.cpp b/src/libzzub/player.cpp
index fcc3302..dc6f848 100644
--- a/src/libzzub/player.cpp
+++ b/src/libzzub/player.cpp
@@ -550,6 +550,17 @@ void player::initialize_plugin_libraries() {
 		initialize_plugin_directory(plugin_folders[i]);
 	}
 }
+/*! \brief Returns a plugin library by URI. */
+pluginlib* player::getPluginlibByUri(const std::string &uri) {
+    for (size_t i=0; i<plugin_libraries.size(); i++) {
+                pluginlib *lib = plugin_libraries[i];
+                if (lib->collection && lib->collection->get_uri() && (uri == lib->collection->get_uri())) {
+                        return lib;
+                }
+    }
+        return 0;
+}
+
 
 void player::set_state(player_state newstate) {
 	op_state_change* o = new op_state_change(newstate);
diff --git a/src/libzzub/player.h b/src/libzzub/player.h
index 748a5a0..4c51fc0 100644
--- a/src/libzzub/player.h
+++ b/src/libzzub/player.h
@@ -46,6 +46,7 @@ struct player : undo_manager, audioworker, midiworker {
 	void initialize_plugin_libraries();
 	void initialize_plugin_directory(string folder);
 	void load_plugin_library(const string &fullpath);
+	pluginlib* getPluginlibByUri(const std::string &uri);
 
 	// audioworker
 	virtual void work_stereo(int sample_count);
-- 
1.6.3.3