LMS has got a new release.
[platform/upstream/lightmediascanner.git] / README
diff --git a/README b/README
index 524425d..84fa356 100644 (file)
--- a/README
+++ b/README
@@ -6,12 +6,52 @@ like embedded systems or old machines.
 
 Provides an optimized way to recursively scan directories, handling
 the parser in a child process, avoiding breaks of the main process
-when parsers break (quite common with such bad libs and tags).
+when parsers break (quite common with such bad libs and tags). One can
+opt to use the single process version, but be aware that if something
+bad happens during parsing, your application will suffer.
 
 Parsers are plugins in the form of shared objects, so it's easy to add
-new without having to recompiling the scanner.
+new without having to recompile the scanner.
 
 The scanner will use SQLite3 to store file-mtime association, avoiding
 parsing files that are already up-to-date. This SQLite connection and
 the file id within the master table 'files' are handled to plugins for
 relationship with other tables.
+
+
+DAEMON
+~~~~~~
+
+LMS provides `lightmediascannerd', a D-Bus daemon that uses the library
+and provides a common use case in a centralized way. It will scan
+directories based on some categories (defaults to FreeDesktop.Org/XDG
+directories specification, but can be manually specified in the
+command line), manages a DataBase WriteLock (remember SQLite3 will
+produce annoying 'database is locked' errors if writes are done by one
+process while another is using it) and information of database changes
+through properties.
+
+Service Information:
+ * Well Known Name: org.lightmediascanner
+ * Path: /org/lightmediascanner/Scanner1
+ * Interfaces: org.lightmediascanner.Scanner1, org.freedesktop.DBus.Properties,
+   org.freedesktop.DBus.Introspectable
+
+There is a tool `lightmediascannerctl' to print server status, monitor
+properties (useful to see WriteLocked, IsScanning and UpdateID),
+request write lock or request scan.
+
+Both tools are written using glib and it's gio/gdbus, so they depend
+on these libraries during both compile and runtime.
+
+NOTE:
+
+   If you're installing to custom directories (~/usr, /opt, etc) make
+   sure the service file is installed in a directory known to
+   dbus-daemon, usually /usr/share/dbus-1/services or
+   ~/.local/share/dbus-1/services. Example:
+
+      ./configure \
+          --prefix=$HOME/lms \
+          --enable-daemon \
+          --with-dbus-services=$HOME/.local/share/dbus-1/services