=== modified file 'bindings/vala/Makefile.am'
--- bindings/vala/Makefile.am	2010-04-17 12:45:21 +0000
+++ bindings/vala/Makefile.am	2010-06-09 12:43:08 +0000
@@ -1,3 +1,12 @@
+we_need_sodir = $(libdir)/remove-me
+we_need_so_LTLIBRARIES = introspectable.la
+
+introspectable_la_SOURCES = introspectable.c
+introspectable_la_LDFLAGS = -export-dynamic -module -avoid-version
+introspectable_la_CFLAGS = $(RHYTHMBOX_CFLAGS) $(TOTEM_PLPARSER_CFLAGS) -Wl,--no-undefined
+introspectable_la_LIBADD = -lm $(RHYTHMBOX_LIBS) $(TOTEM_PLPARSER_LIBS) ../../lib/librb.la ../../widgets/librbwidgets.la ../../metadata/librbmetadata.la ../../sources/libsources.la ../../shell/librhythmbox-core.la ../../rhythmdb/librhythmdb.la
+
+
 vapidir = $(VAPIDIR)
 
 vapi_VAPI = 			\

=== added file 'bindings/vala/generate-vapi.sh'
--- bindings/vala/generate-vapi.sh	1970-01-01 00:00:00 +0000
+++ bindings/vala/generate-vapi.sh	2010-06-10 20:34:10 +0000
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+# ===================================
+# ============ RhythmDB =============
+# ===================================
+RHYTHMDB_HEADER_FILES="\
+	../../rhythmdb/rhythmdb.h \
+	../../rhythmdb/rb-refstring.h \
+	../../rhythmdb/rhythmdb-private.h \
+	../../rhythmdb/rhythmdb-property-model.h \
+	../../rhythmdb/rhythmdb-query-model.h \
+	../../rhythmdb/rhythmdb-query-results.h \
+	../../rhythmdb/rhythmdb-tree.h \
+	../../metadata/rb-metadata.h \
+	../../lib/rb-string-value-map.h \
+	../../lib/rb-tree-dnd.h \
+	"
+
+echo "Generating rhythmdb.vapi..."
+/usr/local/lib/vala/gen-introspect --namespace=RhythmDB $RHYTHMDB_HEADER_FILES `pkg-config --cflags gtk+-2.0 libxml-2.0` -I../../ .libs/introspectable.so -o rhythmdb.gi
+# wonder why this is necessary
+sed -i 's/xmlChar/char/' rhythmdb.gi
+vapigen --pkg gtk+-2.0 --pkg gobject-2.0 --pkg libxml-2.0 --metadata rhythmdb.metadata --library rhythmdb rhythmdb.gi
+
+# ===================================
+# ==============  RB  ===============
+# ===================================
+RB_HEADER_FILES="\
+	../../lib/rb-tree-dnd.h \
+	../../shell/rb-shell.h \
+	../../shell/rb-shell-clipboard.h \
+	../../shell/rb-shell-player.h \
+	../../shell/rb-shell-preferences.h \
+	../../shell/rb-source-header.h \
+	../../shell/rb-statusbar.h \
+	../../shell/rb-play-order.h \
+	../../shell/rb-playlist-manager.h \
+	../../shell/rb-plugin.h \
+	../../shell/rb-removable-media-manager.h \
+	../../shell/rb-track-transfer-batch.h \
+	../../shell/rb-track-transfer-queue.h \
+	../../sources/rb-browser-source.h \
+	../../sources/rb-library-source.h \
+	../../sources/rb-play-queue-source.h \
+	../../sources/rb-playlist-source.h \
+	../../sources/rb-static-playlist-source.h \
+	../../sources/rb-source.h \
+	../../sources/rb-source-group.h \
+	../../sources/rb-source-search.h \
+	../../sources/rb-sourcelist.h \
+	../../sources/rb-sourcelist-model.h \
+	../../widgets/rb-song-info.h \
+	../../widgets/rb-entry-view.h \
+	"
+echo "Generating rb.vapi..."
+/usr/local/lib/vala/gen-introspect --namespace=RB $RB_HEADER_FILES `pkg-config --cflags gtk+-2.0 libxml-2.0` -I../../ .libs/introspectable.so -o rb.gi
+sed -i 's/xmlNodePtr/xmlNode\*/' rb.gi
+# hackity hack
+sed -i 's/RhythmDB\*/RhythmDBDB\*/' rb.gi
+vapigen --pkg gtk+-2.0 --pkg gobject-2.0 --pkg libxml-2.0 --vapidir ./ --metadata rb.metadata --library rb rb.gi
+

=== added file 'bindings/vala/introspectable.c'
--- bindings/vala/introspectable.c	1970-01-01 00:00:00 +0000
+++ bindings/vala/introspectable.c	2010-06-09 12:42:05 +0000
@@ -0,0 +1,1 @@
+#include <shell/rb-shell.h>

=== added file 'bindings/vala/rb.metadata'
--- bindings/vala/rb.metadata	1970-01-01 00:00:00 +0000
+++ bindings/vala/rb.metadata	2010-06-09 17:26:32 +0000
@@ -0,0 +1,17 @@
+RB cheader_filename="shell/rb-shell.h"
+RBPlugin abstract="1" cheader_filename="shell/rb-plugin.h"
+RBShell cheader_filename="shell/rb-shell.h"
+RBShellPlayer cheader_filename="shell/rb-shell-player.h"
+RBPlayer cheader_filename="shell/rb-player.h"
+RBSourceGroup cheader_filename="sources/rb-source-group.h"
+RBStaticPlaylistSource cheader_filename="sources/rb-static-playlist-source.h"
+
+rb_plugin_activate abstract="1"
+rb_plugin_deactivate abstract="1"
+rb_plugin_is_configurable virtual="1"
+rb_plugin_create_configure_dialog virtual="1"
+
+rb_shell_append_source.parent nullable="1"
+rb_shell_notify_custom hidden="1"
+
+RBRemovableMediaManager::create_source_mount hidden="1"

=== added file 'bindings/vala/rhythmdb.metadata'
--- bindings/vala/rhythmdb.metadata	1970-01-01 00:00:00 +0000
+++ bindings/vala/rhythmdb.metadata	2010-06-09 17:33:34 +0000
@@ -0,0 +1,5 @@
+RhythmDB cname="RhythmDB" name="DB" cheader_filename="rhythmdb/rhythmdb.h"
+rhythmdb_query_deserialize hidden="1"
+rhythmdb_query_serialize hidden="1"
+nice_elt_name_from_propid hidden="1"
+propid_from_nice_elt_name hidden="1"

=== modified file 'rhythmdb/rhythmdb.h'
--- rhythmdb/rhythmdb.h	2010-05-30 10:21:39 +0000
+++ rhythmdb/rhythmdb.h	2010-06-09 12:32:49 +0000
@@ -118,7 +118,7 @@
 #define RHYTHMDB_ENTRY_TYPE_PODCAST_FEED (rhythmdb_entry_podcast_feed_get_type ())
 #define RHYTHMDB_ENTRY_TYPE_IMPORT_ERROR (rhythmdb_entry_import_error_get_type ())
 #define RHYTHMDB_ENTRY_TYPE_IGNORE (rhythmdb_entry_ignore_get_type ())
-#define RHYTHMDB_ENTRY_TYPE_INVALID (GINT_TO_POINTER (-1))
+#define RHYTHMDB_ENTRY_TYPE_INVALID (GINT_TO_POINTER (0))
 
 typedef enum
 {

