diff --git a/INSTALL b/INSTALL
index 20998407..e82fd21d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
+   Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
+Software Foundation, Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -12,97 +12,96 @@ without warranty of any kind.
 Basic Installation
 ==================
 
-   Briefly, the shell command `./configure && make && make install'
+   Briefly, the shell command './configure && make && make install'
 should configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
+more-detailed instructions are generic; see the 'README' file for
 instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
+'INSTALL' file but do not implement all of the features documented
 below.  The lack of an optional feature in a given package is not
 necessarily a bug.  More recommendations for GNU packages can be found
 in *note Makefile Conventions: (standards)Makefile Conventions.
 
-   The `configure' shell script attempts to guess correct values for
+   The 'configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
+those values to create a 'Makefile' in each directory of the package.
+It may also create one or more '.h' files containing system-dependent
+definitions.  Finally, it creates a shell script 'config.status' that
 you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
+file 'config.log' containing compiler output (useful mainly for
+debugging 'configure').
 
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
+   It can also use an optional file (typically called 'config.cache' and
+enabled with '--cache-file=config.cache' or simply '-C') that saves the
+results of its tests to speed up reconfiguring.  Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
 
    If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
+to figure out how 'configure' could check whether to do them, and mail
+diffs or instructions to the address given in the 'README' so they can
 be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
+some point 'config.cache' contains results you don't want to keep, you
 may remove or edit it.
 
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
+   The file 'configure.ac' (or 'configure.in') is used to create
+'configure' by a program called 'autoconf'.  You need 'configure.ac' if
+you want to change it or regenerate 'configure' using a newer version of
+'autoconf'.
 
    The simplest way to compile this package is:
 
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
+  1. 'cd' to the directory containing the package's source code and type
+     './configure' to configure the package for your system.
 
-     Running `configure' might take a while.  While running, it prints
+     Running 'configure' might take a while.  While running, it prints
      some messages telling which features it is checking for.
 
-  2. Type `make' to compile the package.
+  2. Type 'make' to compile the package.
 
-  3. Optionally, type `make check' to run any self-tests that come with
+  3. Optionally, type 'make check' to run any self-tests that come with
      the package, generally using the just-built uninstalled binaries.
 
-  4. Type `make install' to install the programs and any data files and
+  4. Type 'make install' to install the programs and any data files and
      documentation.  When installing into a prefix owned by root, it is
      recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
+     user, and only the 'make install' phase executed with root
      privileges.
 
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
+  5. Optionally, type 'make installcheck' to repeat any self-tests, but
      this time using the binaries in their final installed location.
      This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
+     regular user, particularly if the prior 'make install' required
      root privileges, verifies that the installation completed
      correctly.
 
   6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
+     source code directory by typing 'make clean'.  To also remove the
+     files that 'configure' created (so you can compile the package for
+     a different kind of computer), type 'make distclean'.  There is
+     also a 'make maintainer-clean' target, but that is intended mainly
      for the package's developers.  If you use it, you may have to get
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
-  7. Often, you can also type `make uninstall' to remove the installed
+  7. Often, you can also type 'make uninstall' to remove the installed
      files again.  In practice, not all packages have tested that
      uninstallation works correctly, even though it is required by the
      GNU Coding Standards.
 
-  8. Some packages, particularly those that use Automake, provide `make
+  8. Some packages, particularly those that use Automake, provide 'make
      distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
+     targets like 'make install' and 'make uninstall' work correctly.
      This target is generally not run by end users.
 
 Compilers and Options
 =====================
 
    Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
+the 'configure' script does not know about.  Run './configure --help'
 for details on some of the pertinent environment variables.
 
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
+   You can give 'configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here is
+an example:
 
      ./configure CC=c99 CFLAGS=-g LIBS=-lposix
 
@@ -113,21 +112,21 @@ Compiling For Multiple Architectures
 
    You can compile the package for more than one kind of computer at the
 same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
+own directory.  To do this, you can use GNU 'make'.  'cd' to the
 directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
+the 'configure' script.  'configure' automatically checks for the source
+code in the directory that 'configure' is in and in '..'.  This is known
+as a "VPATH" build.
 
-   With a non-GNU `make', it is safer to compile the package for one
+   With a non-GNU 'make', it is safer to compile the package for one
 architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
+installed the package for one architecture, use 'make distclean' before
 reconfiguring for another architecture.
 
    On MacOS X 10.5 and later systems, you can create libraries and
 executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
+"universal" binaries--by specifying multiple '-arch' options to the
+compiler but only a single '-arch' option to the preprocessor.  Like
 this:
 
      ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
@@ -136,105 +135,104 @@ this:
 
    This is not guaranteed to produce working output in all cases, you
 may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
+using the 'lipo' tool if you have problems.
 
 Installation Names
 ==================
 
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
+   By default, 'make install' installs the package's commands under
+'/usr/local/bin', include files under '/usr/local/include', etc.  You
+can specify an installation prefix other than '/usr/local' by giving
+'configure' the option '--prefix=PREFIX', where PREFIX must be an
 absolute file name.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
 PREFIX as the prefix for installing programs and libraries.
 Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
+options like '--bindir=DIR' to specify different values for particular
+kinds of files.  Run 'configure --help' for a list of the directories
+you can set and what kinds of files go in them.  In general, the default
+for these options is expressed in terms of '${prefix}', so that
+specifying just '--prefix' will affect all of the other directory
 specifications that were not explicitly provided.
 
    The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
+correct locations to 'configure'; however, many packages provide one or
 both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
+'make install' command line to change installation locations without
 having to reconfigure or recompile.
 
    The first method involves providing an override variable for each
-affected directory.  For example, `make install
+affected directory.  For example, 'make install
 prefix=/alternate/directory' will choose an alternate location for all
 directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
+'${prefix}'.  Any directories that were specified during 'configure',
+but not in terms of '${prefix}', must each be overridden at install time
+for the entire installation to be relocated.  The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation.  However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
+
+   The second method involves providing the 'DESTDIR' variable.  For
+example, 'make install DESTDIR=/alternate/directory' will prepend
+'/alternate/directory' before all installation names.  The approach of
+'DESTDIR' overrides is not required by the GNU Coding Standards, and
 does not work on platforms that have drive letters.  On the other hand,
 it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
+when some directory options were not specified in terms of '${prefix}'
+at 'configure' time.
 
 Optional Features
 =================
 
    If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
+with an extra prefix or suffix on their names by giving 'configure' the
+option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
+
+   Some packages pay attention to '--enable-FEATURE' options to
+'configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to '--with-PACKAGE' options, where PACKAGE
+is something like 'gnu-as' or 'x' (for the X Window System).  The
+'README' should mention any '--enable-' and '--with-' options that the
 package recognizes.
 
-   For packages that use the X Window System, `configure' can usually
+   For packages that use the X Window System, 'configure' can usually
 find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
+you can use the 'configure' options '--x-includes=DIR' and
+'--x-libraries=DIR' to specify their locations.
 
    Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
+execution of 'make' will be.  For these packages, running './configure
 --enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
+overridden with 'make V=1'; while running './configure
 --disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
+overridden with 'make V=0'.
 
 Particular systems
 ==================
 
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU CC
+is not installed, it is recommended to use the following options in
 order to use an ANSI C compiler:
 
      ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
+   HP-UX 'make' updates targets which have the same timestamps as their
+prerequisites, which makes it generally unusable when shipped generated
+files such as 'configure' are involved.  Use GNU 'make' instead.
 
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
+parse its '<wchar.h>' header file.  The option '-nodtk' can be used as a
+workaround.  If GNU CC is not installed, it is therefore recommended to
+try
 
      ./configure CC="cc"
 
@@ -242,26 +240,26 @@ and if that doesn't work, try
 
      ./configure CC="cc -nodtk"
 
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+   On Solaris, don't put '/usr/ucb' early in your 'PATH'.  This
 directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
+these programs are available in '/usr/bin'.  So, if you need '/usr/ucb'
+in your 'PATH', put it _after_ '/usr/bin'.
 
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
+   On Haiku, software installed for all users goes in '/boot/common',
+not '/usr/local'.  It is recommended to use the following options:
 
      ./configure --prefix=/boot/common
 
 Specifying the System Type
 ==========================
 
-   There may be some features `configure' cannot figure out
+   There may be some features 'configure' cannot figure out
 automatically, but needs to determine by the type of machine the package
 will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
+_same_ architectures, 'configure' can figure that out, but if it prints
 a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
+'--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as 'sun4', or a canonical name which has the form:
 
      CPU-COMPANY-SYSTEM
 
@@ -270,101 +268,101 @@ where SYSTEM can have one of these forms:
      OS
      KERNEL-OS
 
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
+   See the file 'config.sub' for the possible values of each field.  If
+'config.sub' isn't included in this package, then this package doesn't
 need to know the machine type.
 
    If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
+use the option '--target=TYPE' to select the type of system they will
 produce code for.
 
    If you want to _use_ a cross compiler, that generates code for a
 platform different from the build platform, you should specify the
 "host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
+eventually be run) with '--host=TYPE'.
 
 Sharing Defaults
 ================
 
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
+   If you want to set default values for 'configure' scripts to share,
+you can create a site shell script called 'config.site' that gives
+default values for variables like 'CC', 'cache_file', and 'prefix'.
+'configure' looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists.  Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all 'configure' scripts look for a site script.
 
 Defining Variables
 ==================
 
    Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
+environment passed to 'configure'.  However, some packages may run
 configure again during the build, and the customized values of these
 variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
+them in the 'configure' command line, using 'VAR=value'.  For example:
 
      ./configure CC=/usr/local2/bin/gcc
 
-causes the specified `gcc' to be used as the C compiler (unless it is
+causes the specified 'gcc' to be used as the C compiler (unless it is
 overridden in the site shell script).
 
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
+Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
+Autoconf limitation.  Until the limitation is lifted, you can use this
+workaround:
 
      CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-`configure' Invocation
+'configure' Invocation
 ======================
 
-   `configure' recognizes the following options to control how it
+   'configure' recognizes the following options to control how it
 operates.
 
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
+'--help'
+'-h'
+     Print a summary of all of the options to 'configure', and exit.
 
-`--help=short'
-`--help=recursive'
+'--help=short'
+'--help=recursive'
      Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
+     'configure', and exit.  The 'short' variant lists options used only
+     in the top level, while the 'recursive' variant lists options also
+     present in any nested packages.
 
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
+'--version'
+'-V'
+     Print the version of Autoconf used to generate the 'configure'
      script, and exit.
 
-`--cache-file=FILE'
+'--cache-file=FILE'
      Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     traditionally 'config.cache'.  FILE defaults to '/dev/null' to
      disable caching.
 
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
+'--config-cache'
+'-C'
+     Alias for '--cache-file=config.cache'.
 
-`--quiet'
-`--silent'
-`-q'
+'--quiet'
+'--silent'
+'-q'
      Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
+     suppress all normal output, redirect it to '/dev/null' (any error
      messages will still be shown).
 
-`--srcdir=DIR'
+'--srcdir=DIR'
      Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
+     'configure' can determine that directory automatically.
 
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
+'--prefix=DIR'
+     Use DIR as the installation prefix.  *note Installation Names:: for
+     more details, including other options available for fine-tuning the
+     installation locations.
 
-`--no-create'
-`-n'
+'--no-create'
+'-n'
      Run the configure checks, but stop before creating any output
      files.
 
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
+'configure' also accepts some other, not widely useful, options.  Run
+'configure --help' for more details.
diff --git a/autogen.sh b/autogen.sh
index 28b79a8c..4c1d6ca3 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -6,4 +6,7 @@ test -z "$srcdir" && srcdir=.
 
 PKG_NAME="xnoise"
 
-. gnome-autogen.sh
+if ! type ". gnome-autogen.sh" > /dev/null; then
+  # Use local gnome-autogen.sh, taken from: https://gist.githubusercontent.com/wezm/6f7300fcf23dc0ae19e025c1e14a6223/raw/aac6dd19d1d0b8ad9370e9ad0a4206a310d9eb5e/gnome-autogen.sh
+  . ./gnome-autogen.sh
+fi
diff --git a/libxnoise/DockableMedia/History/xnoise-lastplayed-treeview.vala b/libxnoise/DockableMedia/History/xnoise-lastplayed-treeview.vala
index e1d0e105..e02b2c30 100644
--- a/libxnoise/DockableMedia/History/xnoise-lastplayed-treeview.vala
+++ b/libxnoise/DockableMedia/History/xnoise-lastplayed-treeview.vala
@@ -224,10 +224,9 @@ private class Xnoise.PlaylistTreeViewLastplayed : Gtk.TreeView, Xnoise.PlaylistQ
     
     private void on_drag_begin(Gtk.Widget sender, DragContext context) {
         this.dragging = true;
-        List<unowned TreePath> treepaths;
         Gdk.drag_abort(context, Gtk.get_current_event_time());
         Gtk.TreeSelection selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         if(treepaths != null) {
             TreeIter iter;
             Pixbuf p;
@@ -246,10 +245,9 @@ private class Xnoise.PlaylistTreeViewLastplayed : Gtk.TreeView, Xnoise.PlaylistQ
     }
 
     private void on_drag_data_get(Gtk.Widget sender, Gdk.DragContext context, Gtk.SelectionData selection_data, uint info, uint etime) {
-        List<unowned TreePath> treepaths;
         unowned Gtk.TreeSelection selection;
         selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         DndData[] ids = {};
         if(treepaths.length() < 1)
             return;
diff --git a/libxnoise/DockableMedia/MostPlayed/xnoise-mostplayed-treeview.vala b/libxnoise/DockableMedia/MostPlayed/xnoise-mostplayed-treeview.vala
index d4f91b7e..7794b688 100644
--- a/libxnoise/DockableMedia/MostPlayed/xnoise-mostplayed-treeview.vala
+++ b/libxnoise/DockableMedia/MostPlayed/xnoise-mostplayed-treeview.vala
@@ -222,10 +222,9 @@ private class Xnoise.PlaylistTreeViewMostplayed : Gtk.TreeView, Xnoise.PlaylistQ
 
     private void on_drag_begin(Gtk.Widget sender, DragContext context) {
         this.dragging = true;
-        List<unowned TreePath> treepaths;
         Gdk.drag_abort(context, Gtk.get_current_event_time());
         Gtk.TreeSelection selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         if(treepaths != null) {
             TreeIter iter;
             Pixbuf p;
@@ -244,10 +243,9 @@ private class Xnoise.PlaylistTreeViewMostplayed : Gtk.TreeView, Xnoise.PlaylistQ
     }
 
     private void on_drag_data_get(Gtk.Widget sender, Gdk.DragContext context, Gtk.SelectionData selection_data, uint info, uint etime) {
-        List<unowned TreePath> treepaths;
         unowned Gtk.TreeSelection selection;
         selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         DndData[] ids = {};
         if(treepaths.length() < 1)
             return;
diff --git a/libxnoise/DockableMedia/MusicBrowser/xnoise-music-browser.vala b/libxnoise/DockableMedia/MusicBrowser/xnoise-music-browser.vala
index c77c4de6..43b05c96 100644
--- a/libxnoise/DockableMedia/MusicBrowser/xnoise-music-browser.vala
+++ b/libxnoise/DockableMedia/MusicBrowser/xnoise-music-browser.vala
@@ -401,10 +401,9 @@ private class Xnoise.MusicBrowser : TreeView, IParams, TreeQueryable {
     
     private void on_drag_begin(Gtk.Widget sender, DragContext context) {
         this.dragging = true;
-        List<unowned TreePath> treepaths;
         Gdk.drag_abort(context, Gtk.get_current_event_time());
         Gtk.TreeSelection selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         if(treepaths != null) {
             TreeIter iter;
             Pixbuf? p;
@@ -426,10 +425,9 @@ private class Xnoise.MusicBrowser : TreeView, IParams, TreeQueryable {
     }
 
     private void on_drag_data_get(Gtk.Widget sender, Gdk.DragContext context, Gtk.SelectionData selection_data, uint info, uint etime) {
-        List<unowned TreePath> treepaths;
         unowned Gtk.TreeSelection selection;
         selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         DndData[] ids = {};
         if(treepaths.length() < 1)
             return;
diff --git a/libxnoise/DockableMedia/StreamListing/xnoise-treeview-streams.vala b/libxnoise/DockableMedia/StreamListing/xnoise-treeview-streams.vala
index 013ac459..21d05387 100644
--- a/libxnoise/DockableMedia/StreamListing/xnoise-treeview-streams.vala
+++ b/libxnoise/DockableMedia/StreamListing/xnoise-treeview-streams.vala
@@ -258,10 +258,10 @@ private class Xnoise.TreeViewStreams : Gtk.TreeView, TreeQueryable {
     
     private void on_drag_begin(Gtk.Widget sender, DragContext context) {
         this.dragging = true;
-        List<unowned TreePath> treepaths;
+
         Gdk.drag_abort(context, Gtk.get_current_event_time());
         Gtk.TreeSelection selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         if(treepaths != null) {
             TreeIter iter;
             Pixbuf p;
@@ -280,10 +280,9 @@ private class Xnoise.TreeViewStreams : Gtk.TreeView, TreeQueryable {
     }
 
     private void on_drag_data_get(Gtk.Widget sender, Gdk.DragContext context, Gtk.SelectionData selection_data, uint info, uint etime) {
-        List<unowned TreePath> treepaths;
         unowned Gtk.TreeSelection selection;
         selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         DndData[] ids = {};
         if(treepaths.length() < 1)
             return;
diff --git a/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos-model.vala b/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos-model.vala
index 046c504a..4d85ba23 100644
--- a/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos-model.vala
+++ b/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos-model.vala
@@ -108,7 +108,7 @@ private class Xnoise.TreeViewVideosModel : Gtk.ListStore {
 
     public void remove_all() {
         view.set_model(null);
-        assert(this is ListStore);
+        assert(this is Gtk.ListStore);
         this.clear();
         view.set_model(this);
     }
@@ -116,7 +116,7 @@ private class Xnoise.TreeViewVideosModel : Gtk.ListStore {
     public void filter() {
         //print("filter\n");
         view.set_model(null);
-        assert(this is ListStore);
+        assert(this is Gtk.ListStore);
         this.clear();
         this.populate();
     }
diff --git a/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos.vala b/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos.vala
index b768bb8a..a779b5d1 100644
--- a/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos.vala
+++ b/libxnoise/DockableMedia/VideoListing/xnoise-treeview-videos.vala
@@ -172,10 +172,9 @@ private class Xnoise.TreeViewVideos : Gtk.TreeView, TreeQueryable {
     
     private void on_drag_begin(Gtk.Widget sender, DragContext context) {
         this.dragging = true;
-        List<unowned TreePath> treepaths;
         Gdk.drag_abort(context, Gtk.get_current_event_time());
         Gtk.TreeSelection selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         if(treepaths != null) {
             TreeIter iter;
             Pixbuf p;
@@ -197,10 +196,9 @@ private class Xnoise.TreeViewVideos : Gtk.TreeView, TreeQueryable {
     }
 
     private void on_drag_data_get(Gtk.Widget sender, Gdk.DragContext context, Gtk.SelectionData selection_data, uint info, uint etime) {
-        List<unowned TreePath> treepaths;
         unowned Gtk.TreeSelection selection;
         selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         DndData[] ids = {};
         if(treepaths.length() < 1)
             return;
diff --git a/libxnoise/ExtDev/AudioPlayer/xnoise-audio-item-handler.vala b/libxnoise/ExtDev/AudioPlayer/xnoise-audio-item-handler.vala
index f3757693..157c1bb1 100644
--- a/libxnoise/ExtDev/AudioPlayer/xnoise-audio-item-handler.vala
+++ b/libxnoise/ExtDev/AudioPlayer/xnoise-audio-item-handler.vala
@@ -42,7 +42,7 @@ private abstract class Xnoise.HandlerPlayerDevice : ItemHandler {
     protected unowned Cancellable cancellable;
     private string name;
     
-    public HandlerPlayerDevice(PlayerDevice audio_player_device,
+    protected HandlerPlayerDevice(PlayerDevice audio_player_device,
                                Cancellable cancellable) {
         this.audio_player_device = audio_player_device;
         this.cancellable = cancellable;
diff --git a/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-main-view.vala b/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-main-view.vala
index 18530865..2e8d08d1 100644
--- a/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-main-view.vala
+++ b/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-main-view.vala
@@ -41,7 +41,7 @@ public abstract class Xnoise.ExtDev.PlayerMainView : DeviceMainView { //Gtk.Over
 //    protected unowned Cancellable cancellable;
     internal PlayerTreeView tree;
     
-    public PlayerMainView(PlayerDevice audio_player_device,
+    protected PlayerMainView(PlayerDevice audio_player_device,
                           Cancellable cancellable) {
         base(audio_player_device, cancellable);
 //        this.cancellable = cancellable;
diff --git a/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-tree-view.vala b/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-tree-view.vala
index f5ea113e..1faa1717 100644
--- a/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-tree-view.vala
+++ b/libxnoise/ExtDev/AudioPlayer/xnoise-audio-player-tree-view.vala
@@ -49,7 +49,7 @@ public abstract class Xnoise.ExtDev.PlayerTreeView : Gtk.TreeView {
     internal PlayerTreeStore treemodel;
     
     
-    public PlayerTreeView(PlayerDevice audio_player_device,
+    protected PlayerTreeView(PlayerDevice audio_player_device,
                                  Cancellable cancellable) {
         this.audio_player_device = audio_player_device;
         this.cancellable = cancellable;
diff --git a/libxnoise/ExtDev/CddaDevice/xnoise-cdda-item-handler.vala b/libxnoise/ExtDev/CddaDevice/xnoise-cdda-item-handler.vala
index 8a677984..e12d60cb 100644
--- a/libxnoise/ExtDev/CddaDevice/xnoise-cdda-item-handler.vala
+++ b/libxnoise/ExtDev/CddaDevice/xnoise-cdda-item-handler.vala
@@ -43,7 +43,7 @@ private abstract class Xnoise.HandlerCddaDevice : ItemHandler {
     private string name;
     
     
-    public HandlerCddaDevice(CddaDevice device,
+    protected HandlerCddaDevice(CddaDevice device,
                              Cancellable cancellable) {
         this.device = device;
         this.cancellable = cancellable;
diff --git a/libxnoise/ExtDev/xnoise-device-main-view.vala b/libxnoise/ExtDev/xnoise-device-main-view.vala
index 102721d6..0e684eb1 100644
--- a/libxnoise/ExtDev/xnoise-device-main-view.vala
+++ b/libxnoise/ExtDev/xnoise-device-main-view.vala
@@ -37,8 +37,8 @@ using Xnoise.ExtDev;
 public abstract class DeviceMainView : Gtk.Overlay, IMainView {
     protected unowned Cancellable cancellable;
     protected Device device;
-    
-    public DeviceMainView(Device device,
+
+    protected DeviceMainView(Device device,
                           Cancellable cancellable) {
         this.cancellable = cancellable;
         this.device = device;
diff --git a/libxnoise/ExtraWidgets/AddMedia/xnoise-add-media-widget.vala b/libxnoise/ExtraWidgets/AddMedia/xnoise-add-media-widget.vala
index ce57cb41..3c75b179 100644
--- a/libxnoise/ExtraWidgets/AddMedia/xnoise-add-media-widget.vala
+++ b/libxnoise/ExtraWidgets/AddMedia/xnoise-add-media-widget.vala
@@ -47,7 +47,7 @@ private class Xnoise.AddMediaWidget : Gtk.Box {
     }
     
     private const string XNOISEICON = "xnoise";
-    private ListStore listmodel;
+    private Gtk.ListStore listmodel;
     private TreeView tv;
     
     public Gtk.Builder builder;
@@ -108,7 +108,7 @@ private class Xnoise.AddMediaWidget : Gtk.Box {
         tv.headers_visible = false;
         tv.get_selection().set_mode(SelectionMode.MULTIPLE);
         
-        listmodel = new ListStore(Column.COL_COUNT, 
+        listmodel = new Gtk.ListStore(Column.COL_COUNT,
                                   typeof(Gdk.Pixbuf), 
                                   typeof(string), 
                                   typeof(Item?), 
@@ -199,8 +199,9 @@ private class Xnoise.AddMediaWidget : Gtk.Box {
     }
     
     private void update_item_list() {
-        Gtk.Invisible w = new Gtk.Invisible();
-        Gdk.Pixbuf folder_icon = w.render_icon_pixbuf(Gtk.STOCK_DIRECTORY, IconSize.MENU);
+        var icon_theme = IconTheme.get_default();
+        var folder_icon = icon_theme.load_icon("folder", IconSize.MENU, IconLookupFlags.FORCE_REGULAR);
+
         listmodel.clear();
         GLib.List<Item?> list = media_importer.get_media_folder_list();
         foreach(Item? i in list) {
diff --git a/libxnoise/ExtraWidgets/AlbumArtView/xnoise-albumart-view.vala b/libxnoise/ExtraWidgets/AlbumArtView/xnoise-albumart-view.vala
index cded68ed..271b100a 100644
--- a/libxnoise/ExtraWidgets/AlbumArtView/xnoise-albumart-view.vala
+++ b/libxnoise/ExtraWidgets/AlbumArtView/xnoise-albumart-view.vala
@@ -187,7 +187,7 @@ private class Xnoise.AlbumArtView : Gtk.IconView, TreeQueryable {
                 if(global.position_reference == null || !global.position_reference.valid())
                     return false;
                 TreePath p = global.position_reference.get_path();
-                var store = (ListStore)tlm;
+                var store = (Gtk.ListStore)tlm;
                 TreeIter it;
                 store.get_iter(out it, p);
                 tl.set_focus_on_iter(ref it);
diff --git a/libxnoise/ExtraWidgets/xnoise-first-start-widget.vala b/libxnoise/ExtraWidgets/xnoise-first-start-widget.vala
index 93c9f7c5..551951d9 100644
--- a/libxnoise/ExtraWidgets/xnoise-first-start-widget.vala
+++ b/libxnoise/ExtraWidgets/xnoise-first-start-widget.vala
@@ -102,7 +102,7 @@ private class Xnoise.FirstStartWidget : Box {
     }
     
     private TreeView tv;
-    private ListStore listmodel;
+    private Gtk.ListStore listmodel;
     private Box infobox;
     private Box waitbox;
     private Box bigbox;
@@ -176,7 +176,7 @@ private class Xnoise.FirstStartWidget : Box {
             }
 
             imported_box.pack_start(tv, false, false, 0);
-            listmodel = new ListStore(Column.COL_COUNT, typeof(Gdk.Pixbuf), typeof(string));
+            listmodel = new Gtk.ListStore(Column.COL_COUNT, typeof(Gdk.Pixbuf), typeof(string));
             
             var column = new TreeViewColumn();
             var rendererpb = new CellRendererPixbuf();
diff --git a/libxnoise/ExtraWidgets/xnoise-serial-button.vala b/libxnoise/ExtraWidgets/xnoise-serial-button.vala
index 8d750bc4..c081b2ae 100644
--- a/libxnoise/ExtraWidgets/xnoise-serial-button.vala
+++ b/libxnoise/ExtraWidgets/xnoise-serial-button.vala
@@ -130,7 +130,7 @@ public class Xnoise.SerialButton : Gtk.Box {
     }
 
     public void select_first() {
-        GLib.List<Widget> l = this.get_children();
+        var l = this.get_children();
         if(l.length() == 0)
             return;
         
diff --git a/libxnoise/ExtraWidgets/xnoise-tree-media-selector.vala b/libxnoise/ExtraWidgets/xnoise-tree-media-selector.vala
index f68afcb7..a9c2d093 100644
--- a/libxnoise/ExtraWidgets/xnoise-tree-media-selector.vala
+++ b/libxnoise/ExtraWidgets/xnoise-tree-media-selector.vala
@@ -36,7 +36,7 @@ using Gtk;
 private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
     
     private unowned MediaSoureWidget msw;
-    private ListStore store;
+    private Gtk.ListStore store;
     private bool mouse_over = false;
     private int row_height = 24;
     
@@ -63,7 +63,7 @@ private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
         this.headers_visible = false;
         this.set_enable_search(false);
         this.get_selection().set_mode(SelectionMode.SINGLE);
-        this.store = new ListStore(Column.N_COLUMNS, 
+        this.store = new Gtk.ListStore(Column.N_COLUMNS,
                                    typeof(string),           //icon
                                    typeof(string),               //vis_text
                                    typeof(int),                  //weight
@@ -216,7 +216,7 @@ private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
         });
         if(path != null) {
             this.model.foreach( (mo,px,iy) => {
-                ListStore mx = (ListStore)mo;
+                Gtk.ListStore mx = (Gtk.ListStore)mo;
                 mx.set(iy, 
                        Column.SELECTION_STATE, false,
                        Column.SELECTION_ICON, null
@@ -225,7 +225,7 @@ private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
             });
             TreeIter it;
             this.model.get_iter(out it, path);
-            ((ListStore)this.model).set(it,
+            ((Gtk.ListStore)this.model).set(it,
                            Column.SELECTION_STATE, true,
                            Column.SELECTION_ICON, icon_repo.selected_collection_icon
             );
@@ -251,9 +251,9 @@ private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
             return true;
         
         TreeIter it;
-        ListStore m = (ListStore)this.get_model();
+        Gtk.ListStore m = (Gtk.ListStore)this.get_model();
             m.foreach( (mo,p,iy) => {
-                ListStore mx = (ListStore)mo;
+                Gtk.ListStore mx = (Gtk.ListStore)mo;
                 mx.set(iy, 
                        Column.SELECTION_STATE, false,
                        Column.SELECTION_ICON, null
@@ -289,7 +289,7 @@ private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
                     TreeIter iter;
                     this.model.get_iter(out iter, treepath);
                     m.foreach( (mo,p,iy) => {
-                        ListStore mx = (ListStore)mo;
+                        Gtk.ListStore mx = (Gtk.ListStore)mo;
                         mx.set(iy, 
                                Column.SELECTION_STATE, false,
                                Column.SELECTION_ICON, null
@@ -297,7 +297,7 @@ private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
                         return false;
                     });
                     this.set_cursor(treepath, null,false);
-                    ListStore mx = (ListStore)this.model;
+                    Gtk.ListStore mx = (Gtk.ListStore)this.model;
                     string? name;
                     mx.get(iter, Column.NAME, out name);
                     mx.set(iter, 
@@ -404,7 +404,7 @@ private class Xnoise.TreeMediaSelector : TreeView, MediaSelector {
             Value v;
             this.store.get_value(iter, Column.NAME, out v);
             if(v.get_string() == name) {
-                this.store.remove(iter);
+                this.store.remove(ref iter);
                 return true;
             }
             return false;
diff --git a/libxnoise/ItemHandlers/xnoise-item-handler-manager.vala b/libxnoise/ItemHandlers/xnoise-item-handler-manager.vala
index 6bfec711..55b9eb25 100644
--- a/libxnoise/ItemHandlers/xnoise-item-handler-manager.vala
+++ b/libxnoise/ItemHandlers/xnoise-item-handler-manager.vala
@@ -194,7 +194,7 @@ namespace Xnoise {
         }
         
         public void execute_actions_for_item(Item item, ActionContext context, GLib.Value? data, ItemSelectionType selection) {
-            Array<Action?> item_actions = this.get_actions(item.type, context, selection);
+            var item_actions = this.get_actions(item.type, context, selection);
             //print("item_actions.length: %u\n", item_actions.length);
             for(int i = 0; i < item_actions.length; i++) {
                 unowned Action current = item_actions.index(i);
diff --git a/libxnoise/MainWindow/xnoise-main-window.vala b/libxnoise/MainWindow/xnoise-main-window.vala
index a556bfb8..8fa9a012 100644
--- a/libxnoise/MainWindow/xnoise-main-window.vala
+++ b/libxnoise/MainWindow/xnoise-main-window.vala
@@ -65,7 +65,7 @@ public class Xnoise.MainWindow : Gtk.Window, IParams {
     private bool _media_browser_visible;
     private ulong active_notifier = 0;
     private ScreenSaverManager ssm = null;
-    private List<Gtk.Action> actions_list = null;
+    private List<weak Gtk.Action> actions_list = null;
     public Box media_browser_box;
     private Xnoise.AppMenuButton app_menu_button;
     private string temporary_mainview_name;
@@ -1239,7 +1239,7 @@ public class Xnoise.MainWindow : Gtk.Window, IParams {
 
     private void on_remove_all_button_clicked() {
         global.position_reference = null;
-        var store = (ListStore)trackList.get_model();
+        var store = (Gtk.ListStore)trackList.get_model();
         store.clear();
     }
 
@@ -1821,7 +1821,7 @@ public class Xnoise.MainWindow : Gtk.Window, IParams {
             tbx.pack_start(removeAllButton, false, false, 0);
             removeAllButton.clicked.connect( () => {
                 global.position_reference = null;
-                var store = (ListStore)tlm;
+                var store = (Gtk.ListStore)tlm;
                 store.clear();
             });
             var posjumper = new Gtk.Button();
@@ -1848,7 +1848,7 @@ public class Xnoise.MainWindow : Gtk.Window, IParams {
                 if(global.position_reference == null || !global.position_reference.valid())
                     return;
                 TreePath path = global.position_reference.get_path();
-                var store = (ListStore)tlm;
+                var store = (Gtk.ListStore)tlm;
                 TreeIter iter;
                 store.get_iter(out iter, path);
                 tl.set_focus_on_iter(ref iter);
@@ -2285,7 +2285,7 @@ public class Xnoise.MainWindow : Gtk.Window, IParams {
 }
 
 private class Xnoise.SideBarHeadline : Gtk.TreeView {
-    private ListStore store;
+    private Gtk.ListStore store;
     private string headline = "";
     
     public SideBarHeadline(string headline = "") {
@@ -2334,7 +2334,7 @@ private class Xnoise.SideBarHeadline : Gtk.TreeView {
     }
     
     private void setup_widgets() {
-        store = new ListStore(Column.N_COUNT, typeof(string), typeof(int));
+        store = new Gtk.ListStore(Column.N_COUNT, typeof(string), typeof(int));
         
         var renderer = new CustomCellRendererHeadline();
         var column = new TreeViewColumn();
diff --git a/libxnoise/Player/xnoise-gst-player.vala b/libxnoise/Player/xnoise-gst-player.vala
index 5eb2edc6..675e8662 100644
--- a/libxnoise/Player/xnoise-gst-player.vala
+++ b/libxnoise/Player/xnoise-gst-player.vala
@@ -533,64 +533,9 @@ public class Xnoise.GstPlayer : GLib.Object {
                 asink
         );
         
-        playbin.text_changed.connect(() => {
-            //print("text_changed\n");
-            Timeout.add_seconds(1,() => {
-                //print("playbin2 got text-changed signal. number of texts = %d\n", playbin.n_text);
-                available_subtitles = get_available_languages(PlaybinStreamType.TEXT);
-                return false;
-            });
-            Idle.add(() => {
-                int n_text = 0;
-                n_text = playbin.n_text;
-                if(n_text > 0) {
-                    this._current_has_subtitles = true;
-                    sign_subtitles_available();
-                }
-                else {
-                    this._current_has_subtitles = false;
-                }
-                return false;
-            });
-        });
-        
-        playbin.audio_changed.connect(() => {
-            //print("audio_changed\n");
-            Timeout.add_seconds(1,() => {
-                //print("playbin2 got audio-changed signal. number of audio = %d\n", playbin.n_audio);
-                available_audiotracks = get_available_languages(PlaybinStreamType.AUDIO);
-                return false;
-            });
-            Idle.add(() => {
-                int n_audio = 0;
-                n_audio = playbin.n_audio;
-                if(n_audio > 0) { // TODO maybe more than 1 ?
-                    this._current_has_audiotracks = true;
-                    sign_audiotracks_available();
-                }
-                else {
-                    this._current_has_audiotracks = false;
-                }
-                return false;
-            });
-        });
-        
-        playbin.video_changed.connect(() => {
-            Idle.add(() => {
-                int n_video = 0;
-                n_video = playbin.n_video;
-                if(n_video > 0) {
-                    this._current_has_video_track = true;
-                    sign_video_playing();
-                }
-                else {
-                    this._current_has_video_track = false;
-                    videoscreen.trigger_expose();
-                }
-                return false;
-            });
-        });
-        
+        playbin.text_changed.connect(on_text_changed);
+        playbin.audio_changed.connect(on_audio_changed);
+        playbin.video_changed.connect(on_video_changed);
         playbin.audio_tags_changed.connect(on_audio_tags_changed);
         playbin.text_tags_changed.connect(on_text_tags_changed);
         playbin.video_tags_changed.connect(on_video_tags_changed);
@@ -661,6 +606,64 @@ public class Xnoise.GstPlayer : GLib.Object {
             update_tags_in_idle(tags, PlaybinStreamType.TEXT);
     }
 
+    private void on_text_changed(Gst.Element sender, int stream_number) {
+        //print("text_changed\n");
+        Timeout.add_seconds(1,() => {
+            //print("playbin2 got text-changed signal. number of texts = %d\n", playbin.n_text);
+            available_subtitles = get_available_languages(PlaybinStreamType.TEXT);
+            return false;
+        });
+        Idle.add(() => {
+            int n_text = 0;
+            n_text = playbin.n_text;
+            if(n_text > 0) {
+                this._current_has_subtitles = true;
+                sign_subtitles_available();
+            }
+            else {
+                this._current_has_subtitles = false;
+            }
+            return false;
+        });
+    }
+
+    private void on_audio_changed(Gst.Element sender, int stream_number) {
+        //print("audio_changed\n");
+        Timeout.add_seconds(1,() => {
+            //print("playbin2 got audio-changed signal. number of audio = %d\n", playbin.n_audio);
+            available_audiotracks = get_available_languages(PlaybinStreamType.AUDIO);
+            return false;
+        });
+        Idle.add(() => {
+            int n_audio = 0;
+            n_audio = playbin.n_audio;
+            if(n_audio > 0) { // TODO maybe more than 1 ?
+                this._current_has_audiotracks = true;
+                sign_audiotracks_available();
+            }
+            else {
+                this._current_has_audiotracks = false;
+            }
+            return false;
+        });
+    }
+
+    private void on_video_changed(Gst.Element sender, int stream_number) {
+        Idle.add(() => {
+            int n_video = 0;
+            n_video = playbin.n_video;
+            if(n_video > 0) {
+                this._current_has_video_track = true;
+                sign_video_playing();
+            }
+            else {
+                this._current_has_video_track = false;
+                videoscreen.trigger_expose();
+            }
+            return false;
+        });
+    }
+
     private uint send_user_info_message(string message_string) {
             return userinfo.popup(UserInfo.RemovalType.TIMER_OR_CLOSE_BUTTON,
                                   UserInfo.ContentClass.INFO,
@@ -907,7 +910,13 @@ public class Xnoise.GstPlayer : GLib.Object {
         if(!Gst.Video.is_video_overlay_prepare_window_handle_message(msg))
             return;
         var imagesink =(Gst.Video.Overlay)(msg.src);
-        imagesink.set_property("force-aspect-ratio", true);
+
+        /* //PROP_DRAW_ON_TRANSPARENT_SURFACE = 1
+         * See: https://github.com/GStreamer/gst-plugins-good/blob/master/ext/cairo/gstcairooverlay.c#L130
+         * and https://github.com/GStreamer/gst-plugins-good/blob/master/ext/cairo/gstcairooverlay.c#L153
+         */
+        Gst.Video.Overlay.set_property(imagesink, 1, 1, true);
+        //imagesink.set_property("force-aspect-ratio", true);
         imagesink.set_window_handle((uint*)(Gdk.X11Window.get_xid(videoscreen.get_window())));
     }
 
diff --git a/libxnoise/PlaylistReader/xnoise-playlist-entry-collection.vala b/libxnoise/PlaylistReader/xnoise-playlist-entry-collection.vala
index efe77a07..30c0c5bc 100644
--- a/libxnoise/PlaylistReader/xnoise-playlist-entry-collection.vala
+++ b/libxnoise/PlaylistReader/xnoise-playlist-entry-collection.vala
@@ -55,7 +55,7 @@ namespace Xnoise.Playlist {
         
         public string[] get_general_info_keys() {
             string[] retval = {};
-            List<string> list = _general_info.get_keys();
+            var list = _general_info.get_keys();
             if(list == null)
                 return retval;
             
diff --git a/libxnoise/SimpleMarkup/xnoise-markup-node.vala b/libxnoise/SimpleMarkup/xnoise-markup-node.vala
index ff2557d3..51de13bc 100644
--- a/libxnoise/SimpleMarkup/xnoise-markup-node.vala
+++ b/libxnoise/SimpleMarkup/xnoise-markup-node.vala
@@ -90,8 +90,8 @@ namespace Xnoise.SimpleMarkup {
     
                 public class Iterator {
                     private unowned Attributes iter_attib;
-                    private List<unowned string> key_list = null;
-                    private unowned List<string> curr_key;
+                    private List<weak string> key_list = null;
+                    private unowned List<weak string> curr_key;
             
                     public Iterator(Attributes _iter_attib) {
                         this.iter_attib = _iter_attib;
diff --git a/libxnoise/TrackList/xnoise-tracklist-model.vala b/libxnoise/TrackList/xnoise-tracklist-model.vala
index eeaddc95..a1a0b464 100644
--- a/libxnoise/TrackList/xnoise-tracklist-model.vala
+++ b/libxnoise/TrackList/xnoise-tracklist-model.vala
@@ -37,7 +37,7 @@ using Xnoise.Resources;
 using Xnoise.Utilities;
 using Xnoise.TagAccess;
 
-public class Xnoise.TrackListModel : ListStore, TreeModel {
+public class Xnoise.TrackListModel : Gtk.ListStore, TreeModel {
 
     private Main xn;
     private IconTheme icon_theme;
@@ -216,6 +216,8 @@ public class Xnoise.TrackListModel : ListStore, TreeModel {
         }
         //RANDOM FUNCTION
         var rand = new Rand();
+        int64 msec = GLib.get_real_time () / 1000;
+        rand.set_seed((int32)msec);
         uint32 rand_val = rand.int_range((int32)0, (int32)n_children);
 
         treepath = new TreePath.from_indices((int)rand_val);
diff --git a/libxnoise/TrackList/xnoise-tracklist.vala b/libxnoise/TrackList/xnoise-tracklist.vala
index bb2dfc3d..b4abe7f5 100644
--- a/libxnoise/TrackList/xnoise-tracklist.vala
+++ b/libxnoise/TrackList/xnoise-tracklist.vala
@@ -501,12 +501,11 @@ public class Xnoise.TrackList : TreeView, IParams {
                                   uint target_type, uint etime) {
         rowref_list = {};
         TreeIter iter;
-        List<unowned TreePath> paths;
         unowned Gtk.TreeSelection sel;
         string[] uris;
 
         sel = this.get_selection();
-        paths = sel.get_selected_rows(null);
+        var paths = sel.get_selected_rows(null);
          int i = 0;
         uris = new string[(int)paths.length() + 1];
         foreach(unowned TreePath path in paths) {
@@ -994,9 +993,8 @@ public class Xnoise.TrackList : TreeView, IParams {
         if(rowcount>0) {
             //get path of last unselected
             bool found = false;
-            List<unowned TreePath> selected_paths;
             unowned Gtk.TreeSelection sel = this.get_selection();
-            selected_paths = sel.get_selected_rows(null);
+            var selected_paths = sel.get_selected_rows(null);
             int i=0;
             do {
                 path = new TreePath.from_string("%d".printf(rowcount - 1 - i));
@@ -1101,7 +1099,7 @@ public class Xnoise.TrackList : TreeView, IParams {
                 removed_playing_title = true;
                 global.position_reference = null;
             }
-            this.tracklistmodel.remove(it);
+            this.tracklistmodel.remove(ref it);
         }
         TreeIter iter;
         if(path_2.prev() && removed_playing_title) {
@@ -1131,7 +1129,7 @@ public class Xnoise.TrackList : TreeView, IParams {
                 global.position_reference = null;
                 //global.reset_position_reference(); // set to null without *_changed signal
             }
-            tracklistmodel.remove(iter);
+            tracklistmodel.remove(ref iter);
         }
         if(path_2.prev() && removed_playing_title) {
             tracklistmodel.get_iter(out iter, path_2);
diff --git a/libxnoise/Utils/xnoise-utilities.vala b/libxnoise/Utils/xnoise-utilities.vala
index cd8d3f07..b2945a3a 100644
--- a/libxnoise/Utils/xnoise-utilities.vala
+++ b/libxnoise/Utils/xnoise-utilities.vala
@@ -95,8 +95,7 @@ namespace Xnoise.Utilities {
             print("Failed to get xnoise directories! \n");
             var msg = new Gtk.MessageDialog(null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR,
                                             Gtk.ButtonsType.OK,
-                                            "Failed to get xnoise directories! \n",
-                                            null);
+                                            "Failed to get xnoise directories! \n");
             msg.run();
             return false;
         }
@@ -131,8 +130,7 @@ namespace Xnoise.Utilities {
             print("Failed to get xnoise directories! \n");
             var msg = new Gtk.MessageDialog(null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR,
                                             Gtk.ButtonsType.OK,
-                                            "Failed to get xnoise directories! \n",
-                                            null);
+                                            "Failed to get xnoise directories! \n");
             msg.run();
             return false;
         }
diff --git a/libxnoise/xnoise-1.0.h b/libxnoise/xnoise-1.0.h
index 84668e96..81120df5 100644
--- a/libxnoise/xnoise-1.0.h
+++ b/libxnoise/xnoise-1.0.h
@@ -1,12 +1,11 @@
 /* xnoise-1.0.h generated by valac, the Vala compiler, do not modify */
 
-
 #ifndef __XNOISE_1_0_H__
 #define __XNOISE_1_0_H__
 
-#include <glib.h>
 #include <stdlib.h>
 #include <string.h>
+#include <glib.h>
 #include <gio/gio.h>
 #include <glib-object.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
@@ -14,9 +13,49 @@
 #include <sqlite3.h>
 #include <float.h>
 #include <math.h>
+#include <glib/gi18n-lib.h>
 
 G_BEGIN_DECLS
 
+#if !defined(VALA_EXTERN)
+#if defined(_MSC_VER)
+#define VALA_EXTERN __declspec(dllexport) extern
+#elif __GNUC__ >= 4
+#define VALA_EXTERN __attribute__((visibility("default"))) extern
+#else
+#define VALA_EXTERN extern
+#endif
+#endif
+#define XNOISE_DATABASE_WRITER_STMT_REMOVE_MEDIA_FOLDER_ITEMS "DELETE FROM items WHERE path=?"
+#define XNOISE_RESOURCES_UNKNOWN_ARTIST "unknown artist"
+#define XNOISE_RESOURCES_VARIOUS_ARTISTS "Various artists"
+#define XNOISE_RESOURCES_UNKNOWN_TITLE "unknown title"
+#define XNOISE_RESOURCES_UNKNOWN_ALBUM "unknown album"
+#define XNOISE_RESOURCES_UNKNOWN_GENRE "unknown genre"
+#define XNOISE_RESOURCES_UNKNOWN_ORGANIZATION "unknown organization"
+#define XNOISE_RESOURCES_UNKNOWN_LOCATION "unknown location"
+#define XNOISE_RESOURCES_EMPTYSTRING ""
+#define XNOISE_RESOURCES_VA_ICON_SYMBOLIC "system-users-symbolic"
+#define XNOISE_RESOURCES_ARTIST_ICON_SYMBOLIC "avatar-default-symbolic"
+#define XNOISE_RESOURCES_ALBUM_ICON_SYMBOLIC "media-optical-symbolic"
+#define XNOISE_RESOURCES_TITLE_ICON_SYMBOLIC "audio-x-generic-symbolic"
+#define XNOISE_RESOURCES_GENRE_ICON_SYMBOLIC "emblem-documents-symbolic"
+#define XNOISE_RESOURCES_VIDEO_ICON_SYMBOLIC "video-x-generic-symbolic"
+#define XNOISE_RESOURCES_STREAM_ICON_SYMBOLIC "network-cellular-signal-excellent-symbolic"
+#define XNOISE_RESOURCES_MAIN_DATABASE_NAME "db.sqlite"
+#define XNOISE_RESOURCES_INIFILE "xnoise.ini"
+#define XNOISE_RESOURCES_VIDEOVIEW_NAME "VideoView"
+#define XNOISE_RESOURCES_TRACKLIST_VIEW_NAME "TrackListView"
+#define XNOISE_RESOURCES_LYRICS_VIEW_NAME "LyricsView"
+#define XNOISE_RESOURCES_VIDEOTHUMBNAILSIZE 40
+#define XNOISE_RESOURCES_UNKNOWN_ARTIST_LOCALIZED _ ("unknown artist")
+#define XNOISE_RESOURCES_UNKNOWN_TITLE_LOCALIZED _ ("unknown title")
+#define XNOISE_RESOURCES_UNKNOWN_ALBUM_LOCALIZED _ ("unknown album")
+#define XNOISE_SIMPLE_MARKUP_AMPERSAND_ESCAPED "&amp;"
+#define XNOISE_SIMPLE_MARKUP_GREATER_THAN_ESCAPED "&gt;"
+#define XNOISE_SIMPLE_MARKUP_LOWER_THAN_ESCAPED "&lt;"
+#define XNOISE_SIMPLE_MARKUP_QUOTE_ESCAPED "&quot;"
+#define XNOISE_SIMPLE_MARKUP_APOSTROPH_ESCAPED "&apos;"
 
 #define XNOISE_TYPE_ALBUM_IMAGE_LOADER (xnoise_album_image_loader_get_type ())
 #define XNOISE_ALBUM_IMAGE_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_ALBUM_IMAGE_LOADER, XnoiseAlbumImageLoader))
@@ -76,8 +115,16 @@ typedef struct _XnoiseMainClass XnoiseMainClass;
 typedef struct _XnoiseWorker XnoiseWorker;
 typedef struct _XnoiseWorkerClass XnoiseWorkerClass;
 typedef struct _XnoiseWorkerPrivate XnoiseWorkerPrivate;
+typedef enum  {
+	XNOISE_WORKER_PRIORITY_NORMAL = 0,
+	XNOISE_WORKER_PRIORITY_HIGH
+} XnoiseWorkerPriority;
 
 #define XNOISE_WORKER_TYPE_PRIORITY (xnoise_worker_priority_get_type ())
+typedef enum  {
+	XNOISE_WORKER_EXECUTION_TYPE_ONCE = 0,
+	XNOISE_WORKER_EXECUTION_TYPE_REPEATED
+} XnoiseWorkerExecutionType;
 
 #define XNOISE_WORKER_TYPE_EXECUTION_TYPE (xnoise_worker_execution_type_get_type ())
 
@@ -93,9 +140,24 @@ typedef struct _XnoiseWorkerJobClass XnoiseWorkerJobClass;
 typedef struct _XnoiseWorkerJobPrivate XnoiseWorkerJobPrivate;
 
 #define XNOISE_TYPE_ITEM (xnoise_item_get_type ())
+typedef struct _XnoiseItem XnoiseItem;
+typedef enum  {
+	XNOISE_ITEM_TYPE_UNKNOWN = 0,
+	XNOISE_ITEM_TYPE_LOCAL_AUDIO_TRACK,
+	XNOISE_ITEM_TYPE_LOCAL_VIDEO_TRACK,
+	XNOISE_ITEM_TYPE_STREAM,
+	XNOISE_ITEM_TYPE_CDROM_TRACK,
+	XNOISE_ITEM_TYPE_PLAYLIST,
+	XNOISE_ITEM_TYPE_LOCAL_FOLDER,
+	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_ALBUMARTIST,
+	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_ARTIST,
+	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_ALBUM,
+	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_GENRE,
+	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_YEAR,
+	XNOISE_ITEM_TYPE_LOADER
+} XnoiseItemType;
 
 #define XNOISE_TYPE_ITEM_TYPE (xnoise_item_type_get_type ())
-typedef struct _XnoiseItem XnoiseItem;
 
 #define XNOISE_TYPE_FILE_DATA (xnoise_file_data_get_type ())
 #define XNOISE_FILE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_FILE_DATA, XnoiseFileData))
@@ -119,6 +181,10 @@ typedef struct _XnoiseTrackDataClass XnoiseTrackDataClass;
 
 #define XNOISE_TYPE_DND_DATA (xnoise_dnd_data_get_type ())
 typedef struct _XnoiseDndData XnoiseDndData;
+typedef gboolean (*XnoiseWorkerWorkFunc) (XnoiseWorkerJob* jb, gpointer user_data);
+typedef void (*XnoiseWorkerFinishFunc) (gpointer user_data);
+
+#define XNOISE_DATABASE_TYPE_DB_ERROR (xnoise_database_db_error_get_type ())
 
 #define XNOISE_TYPE_DATA_SOURCE (xnoise_data_source_get_type ())
 #define XNOISE_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_DATA_SOURCE, XnoiseDataSource))
@@ -130,6 +196,11 @@ typedef struct _XnoiseDndData XnoiseDndData;
 typedef struct _XnoiseDataSource XnoiseDataSource;
 typedef struct _XnoiseDataSourceClass XnoiseDataSourceClass;
 typedef struct _XnoiseDataSourcePrivate XnoiseDataSourcePrivate;
+typedef enum  {
+	XNOISE_COLLECTION_SORT_MODE_ARTIST_ALBUM_TITLE = 0,
+	XNOISE_COLLECTION_SORT_MODE_GENRE_ARTIST_ALBUM,
+	XNOISE_COLLECTION_SORT_MODE_ALBUM_ARTIST_TITLE
+} XnoiseCollectionSortMode;
 
 #define XNOISE_TYPE_COLLECTION_SORT_MODE (xnoise_collection_sort_mode_get_type ())
 
@@ -143,6 +214,7 @@ typedef struct _XnoiseDataSourcePrivate XnoiseDataSourcePrivate;
 typedef struct _XnoiseDatabaseReader XnoiseDatabaseReader;
 typedef struct _XnoiseDatabaseReaderClass XnoiseDatabaseReaderClass;
 typedef struct _XnoiseDatabaseReaderPrivate XnoiseDatabaseReaderPrivate;
+typedef void (*XnoiseDatabaseReaderReaderCallback) (sqlite3* database, gpointer user_data);
 
 #define XNOISE_TYPE_ALBUM_DATA (xnoise_album_data_get_type ())
 #define XNOISE_ALBUM_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_ALBUM_DATA, XnoiseAlbumData))
@@ -164,11 +236,29 @@ typedef struct _XnoiseAlbumDataClass XnoiseAlbumDataClass;
 typedef struct _XnoiseDatabaseWriter XnoiseDatabaseWriter;
 typedef struct _XnoiseDatabaseWriterClass XnoiseDatabaseWriterClass;
 typedef struct _XnoiseDatabaseWriterPrivate XnoiseDatabaseWriterPrivate;
+typedef enum  {
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_ARTIST,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_ALBUM,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_TITLE,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_GENRE,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_VIDEO,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_STREAM,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_ARTIST,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_ALBUM,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_TITLE,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_URI,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_CLEAR_DB,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_UPDATE_PLAYCOUNT,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_UPDATE_LASTPLAYED,
+	XNOISE_DATABASE_WRITER_CHANGE_TYPE_UPDATE_RATING
+} XnoiseDatabaseWriterChangeType;
 
 #define XNOISE_DATABASE_WRITER_TYPE_CHANGE_TYPE (xnoise_database_writer_change_type_get_type ())
 
 #define XNOISE_DATABASE_WRITER_TYPE_NOTIFICATION_DATA (xnoise_database_writer_notification_data_get_type ())
 typedef struct _XnoiseDatabaseWriterNotificationData XnoiseDatabaseWriterNotificationData;
+typedef void (*XnoiseDatabaseWriterChangeNotificationCallback) (XnoiseDatabaseWriterChangeType changetype, XnoiseItem* item, gpointer user_data);
+typedef void (*XnoiseDatabaseWriterWriterCallback) (sqlite3* database, gpointer user_data);
 
 #define XNOISE_TYPE_MUSIC_BROWSER_MODEL (xnoise_music_browser_model_get_type ())
 #define XNOISE_MUSIC_BROWSER_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_MUSIC_BROWSER_MODEL, XnoiseMusicBrowserModel))
@@ -180,8 +270,20 @@ typedef struct _XnoiseDatabaseWriterNotificationData XnoiseDatabaseWriterNotific
 typedef struct _XnoiseMusicBrowserModel XnoiseMusicBrowserModel;
 typedef struct _XnoiseMusicBrowserModelClass XnoiseMusicBrowserModelClass;
 typedef struct _XnoiseMusicBrowserModelPrivate XnoiseMusicBrowserModelPrivate;
+typedef enum  {
+	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_ICON = 0,
+	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_VIS_TEXT,
+	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_ITEM,
+	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_LEVEL,
+	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_N_COLUMNS
+} XnoiseMusicBrowserModelColumn;
 
 #define XNOISE_MUSIC_BROWSER_MODEL_TYPE_COLUMN (xnoise_music_browser_model_column_get_type ())
+typedef enum  {
+	XNOISE_MUSIC_BROWSER_MODEL_COLLECTION_TYPE_UNKNOWN = 0,
+	XNOISE_MUSIC_BROWSER_MODEL_COLLECTION_TYPE_HIERARCHICAL = 1,
+	XNOISE_MUSIC_BROWSER_MODEL_COLLECTION_TYPE_LISTED = 2
+} XnoiseMusicBrowserModelCollectionType;
 
 #define XNOISE_MUSIC_BROWSER_MODEL_TYPE_COLLECTION_TYPE (xnoise_music_browser_model_collection_type_get_type ())
 
@@ -195,6 +297,13 @@ typedef struct _XnoiseMusicBrowserModelPrivate XnoiseMusicBrowserModelPrivate;
 typedef struct _XnoiseDockableMedia XnoiseDockableMedia;
 typedef struct _XnoiseDockableMediaClass XnoiseDockableMediaClass;
 typedef struct _XnoiseDockableMediaPrivate XnoiseDockableMediaPrivate;
+typedef enum  {
+	XNOISE_DOCKABLE_MEDIA_CATEGORY_UNKNOWN = 0,
+	XNOISE_DOCKABLE_MEDIA_CATEGORY_MEDIA_COLLECTION,
+	XNOISE_DOCKABLE_MEDIA_CATEGORY_PLAYLIST,
+	XNOISE_DOCKABLE_MEDIA_CATEGORY_STORES,
+	XNOISE_DOCKABLE_MEDIA_CATEGORY_DEVICES
+} XnoiseDockableMediaCategory;
 
 #define XNOISE_DOCKABLE_MEDIA_TYPE_CATEGORY (xnoise_dockable_media_category_get_type ())
 
@@ -311,10 +420,24 @@ typedef struct _XnoiseExtDevPlayerTreeViewClass XnoiseExtDevPlayerTreeViewClass;
 typedef struct _XnoiseExtDevPlayerTreeStore XnoiseExtDevPlayerTreeStore;
 typedef struct _XnoiseExtDevPlayerTreeStoreClass XnoiseExtDevPlayerTreeStoreClass;
 typedef struct _XnoiseExtDevPlayerTreeStorePrivate XnoiseExtDevPlayerTreeStorePrivate;
+typedef enum  {
+	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_ICON,
+	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_VIS_TEXT,
+	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_ITEM,
+	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_LEVEL,
+	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_N_COLUMNS
+} XnoiseExtDevPlayerTreeStoreColumn;
 
 #define XNOISE_EXT_DEV_PLAYER_TREE_STORE_TYPE_COLUMN (xnoise_ext_dev_player_tree_store_column_get_type ())
 typedef struct _XnoiseExtDevPlayerTreeViewPrivate XnoiseExtDevPlayerTreeViewPrivate;
 typedef struct _XnoiseExtDevAudioPlayerTempDbPrivate XnoiseExtDevAudioPlayerTempDbPrivate;
+typedef enum  {
+	XNOISE_EXT_DEV_DEVICE_TYPE_UNKNOWN,
+	XNOISE_EXT_DEV_DEVICE_TYPE_ANDROID,
+	XNOISE_EXT_DEV_DEVICE_TYPE_GENERIC_PLAYER,
+	XNOISE_EXT_DEV_DEVICE_TYPE_IPOD,
+	XNOISE_EXT_DEV_DEVICE_TYPE_CDROM
+} XnoiseExtDevDeviceType;
 
 #define XNOISE_EXT_DEV_TYPE_DEVICE_TYPE (xnoise_ext_dev_device_type_get_type ())
 
@@ -339,6 +462,7 @@ typedef struct _XnoiseExtDevDeviceManagerPrivate XnoiseExtDevDeviceManagerPrivat
 typedef struct _XnoiseExtDevDeviceManagerDeviceIdContainer XnoiseExtDevDeviceManagerDeviceIdContainer;
 typedef struct _XnoiseExtDevDeviceManagerDeviceIdContainerClass XnoiseExtDevDeviceManagerDeviceIdContainerClass;
 typedef struct _XnoiseExtDevDeviceManagerDeviceIdContainerPrivate XnoiseExtDevDeviceManagerDeviceIdContainerPrivate;
+typedef XnoiseExtDevDevice* (*XnoiseExtDevDeviceManagerIdentificationCallback) (GMount* mount, gpointer user_data);
 
 #define XNOISE_TYPE_VIDEO_SCREEN (xnoise_video_screen_get_type ())
 #define XNOISE_VIDEO_SCREEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_VIDEO_SCREEN, XnoiseVideoScreen))
@@ -393,6 +517,10 @@ typedef struct _XnoiseMediaSoureWidgetPrivate XnoiseMediaSoureWidgetPrivate;
 typedef struct _XnoiseSerialButton XnoiseSerialButton;
 typedef struct _XnoiseSerialButtonClass XnoiseSerialButtonClass;
 typedef struct _XnoiseSerialButtonPrivate XnoiseSerialButtonPrivate;
+typedef enum  {
+	XNOISE_SERIAL_BUTTON_PRESENTATION_TEXT,
+	XNOISE_SERIAL_BUTTON_PRESENTATION_IMAGE
+} XnoiseSerialButtonPresentation;
 
 #define XNOISE_SERIAL_BUTTON_TYPE_PRESENTATION (xnoise_serial_button_presentation_get_type ())
 
@@ -406,6 +534,11 @@ typedef struct _XnoiseSerialButtonPrivate XnoiseSerialButtonPrivate;
 typedef struct _XnoiseGlobalAccess XnoiseGlobalAccess;
 typedef struct _XnoiseGlobalAccessClass XnoiseGlobalAccessClass;
 typedef struct _XnoiseGlobalAccessPrivate XnoiseGlobalAccessPrivate;
+typedef enum  {
+	XNOISE_PLAYER_STATE_STOPPED = 0,
+	XNOISE_PLAYER_STATE_PLAYING,
+	XNOISE_PLAYER_STATE_PAUSED
+} XnoisePlayerState;
 
 #define XNOISE_TYPE_PLAYER_STATE (xnoise_player_state_get_type ())
 
@@ -438,10 +571,44 @@ typedef struct _XnoiseExternQueryableIface XnoiseExternQueryableIface;
 typedef struct _XnoiseItemConverter XnoiseItemConverter;
 typedef struct _XnoiseItemConverterClass XnoiseItemConverterClass;
 typedef struct _XnoiseItemConverterPrivate XnoiseItemConverterPrivate;
+typedef enum  {
+	XNOISE_ACTION_CONTEXT_NONE,
+	XNOISE_ACTION_CONTEXT_REQUESTED,
+	XNOISE_ACTION_CONTEXT_TRACKLIST_ITEM_ACTIVATED,
+	XNOISE_ACTION_CONTEXT_TRACKLIST_MENU_QUERY,
+	XNOISE_ACTION_CONTEXT_TRACKLIST_DROP,
+	XNOISE_ACTION_CONTEXT_QUERYABLE_TREE_ITEM_ACTIVATED,
+	XNOISE_ACTION_CONTEXT_QUERYABLE_TREE_MENU_QUERY,
+	XNOISE_ACTION_CONTEXT_QUERYABLE_TREE_LOAD,
+	XNOISE_ACTION_CONTEXT_VIDEOSCREEN_ACTIVATED,
+	XNOISE_ACTION_CONTEXT_VIDEOSCREEN_MENU_QUERY,
+	XNOISE_ACTION_CONTEXT_TRACKLIST_COLUMN_HEADER_MENU_QUERY,
+	XNOISE_ACTION_CONTEXT_QUERYABLE_PLAYLIST_ITEM_ACTIVATED,
+	XNOISE_ACTION_CONTEXT_QUERYABLE_PLAYLIST_MENU_QUERY,
+	XNOISE_ACTION_CONTEXT_QUERYABLE_EXTERNAL_ITEM_ACTIVATED,
+	XNOISE_ACTION_CONTEXT_QUERYABLE_EXTERNAL_MENU_QUERY,
+	XNOISE_ACTION_CONTEXT_EXTERNAL_DEVICE_LIST
+} XnoiseActionContext;
 
 #define XNOISE_TYPE_ACTION_CONTEXT (xnoise_action_context_get_type ())
+typedef enum  {
+	XNOISE_ITEM_SELECTION_TYPE_NOT_SET = 0,
+	XNOISE_ITEM_SELECTION_TYPE_SINGLE = 1 << 0,
+	XNOISE_ITEM_SELECTION_TYPE_MULTIPLE = 1 << 1
+} XnoiseItemSelectionType;
 
 #define XNOISE_TYPE_ITEM_SELECTION_TYPE (xnoise_item_selection_type_get_type ())
+typedef enum  {
+	XNOISE_ITEM_HANDLER_TYPE_UNKNOWN,
+	XNOISE_ITEM_HANDLER_TYPE_OTHER,
+	XNOISE_ITEM_HANDLER_TYPE_TRACKLIST_ADDER,
+	XNOISE_ITEM_HANDLER_TYPE_PLAYLIST_PARSER,
+	XNOISE_ITEM_HANDLER_TYPE_VIDEO_THUMBNAILER,
+	XNOISE_ITEM_HANDLER_TYPE_TAG_EDITOR,
+	XNOISE_ITEM_HANDLER_TYPE_MENU_PROVIDER,
+	XNOISE_ITEM_HANDLER_TYPE_PLAY_NOW,
+	XNOISE_ITEM_HANDLER_TYPE_EXTERNAL_DEVICE
+} XnoiseItemHandlerType;
 
 #define XNOISE_TYPE_ITEM_HANDLER_TYPE (xnoise_item_handler_type_get_type ())
 
@@ -455,6 +622,7 @@ typedef struct _XnoiseItemConverterPrivate XnoiseItemConverterPrivate;
 typedef struct _XnoiseAction XnoiseAction;
 typedef struct _XnoiseActionClass XnoiseActionClass;
 typedef struct _XnoiseActionPrivate XnoiseActionPrivate;
+typedef void (*XnoiseItemHandlerActionType) (XnoiseItem* item, GValue* data_1, GValue* data_2, gpointer user_data);
 typedef struct _XnoiseItemHandlerPrivate XnoiseItemHandlerPrivate;
 
 #define XNOISE_TYPE_ITEM_HANDLER_MANAGER (xnoise_item_handler_manager_get_type ())
@@ -467,6 +635,11 @@ typedef struct _XnoiseItemHandlerPrivate XnoiseItemHandlerPrivate;
 typedef struct _XnoiseItemHandlerManager XnoiseItemHandlerManager;
 typedef struct _XnoiseItemHandlerManagerClass XnoiseItemHandlerManagerClass;
 typedef struct _XnoiseItemHandlerManagerPrivate XnoiseItemHandlerManagerPrivate;
+typedef enum  {
+	XNOISE_DYN_PLAYLIST_TYPE_UNKNOWN = 0,
+	XNOISE_DYN_PLAYLIST_TYPE_MOSTPLAYED,
+	XNOISE_DYN_PLAYLIST_TYPE_LASTPLAYED
+} XnoiseDynPlaylistType;
 
 #define XNOISE_TYPE_DYN_PLAYLIST_TYPE (xnoise_dyn_playlist_type_get_type ())
 
@@ -486,6 +659,14 @@ typedef struct _XnoiseTreeQueryableIface XnoiseTreeQueryableIface;
 typedef struct _XnoiseILyrics XnoiseILyrics;
 typedef struct _XnoiseILyricsIface XnoiseILyricsIface;
 
+#define XNOISE_TYPE_ILYRICS_PROVIDER (xnoise_ilyrics_provider_get_type ())
+#define XNOISE_ILYRICS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_ILYRICS_PROVIDER, XnoiseILyricsProvider))
+#define XNOISE_IS_ILYRICS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XNOISE_TYPE_ILYRICS_PROVIDER))
+#define XNOISE_ILYRICS_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), XNOISE_TYPE_ILYRICS_PROVIDER, XnoiseILyricsProviderIface))
+
+typedef struct _XnoiseILyricsProvider XnoiseILyricsProvider;
+typedef struct _XnoiseILyricsProviderIface XnoiseILyricsProviderIface;
+
 #define XNOISE_PLUGIN_MODULE_TYPE_IPLUGIN (xnoise_plugin_module_iplugin_get_type ())
 #define XNOISE_PLUGIN_MODULE_IPLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_PLUGIN_MODULE_TYPE_IPLUGIN, XnoisePluginModuleIPlugin))
 #define XNOISE_PLUGIN_MODULE_IS_IPLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XNOISE_PLUGIN_MODULE_TYPE_IPLUGIN))
@@ -504,14 +685,6 @@ typedef struct _XnoisePluginModuleIPluginIface XnoisePluginModuleIPluginIface;
 typedef struct _XnoisePluginModuleContainer XnoisePluginModuleContainer;
 typedef struct _XnoisePluginModuleContainerClass XnoisePluginModuleContainerClass;
 
-#define XNOISE_TYPE_ILYRICS_PROVIDER (xnoise_ilyrics_provider_get_type ())
-#define XNOISE_ILYRICS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_ILYRICS_PROVIDER, XnoiseILyricsProvider))
-#define XNOISE_IS_ILYRICS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XNOISE_TYPE_ILYRICS_PROVIDER))
-#define XNOISE_ILYRICS_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), XNOISE_TYPE_ILYRICS_PROVIDER, XnoiseILyricsProviderIface))
-
-typedef struct _XnoiseILyricsProvider XnoiseILyricsProvider;
-typedef struct _XnoiseILyricsProviderIface XnoiseILyricsProviderIface;
-
 #define XNOISE_TYPE_LYRICS_LOADER (xnoise_lyrics_loader_get_type ())
 #define XNOISE_LYRICS_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XNOISE_TYPE_LYRICS_LOADER, XnoiseLyricsLoader))
 #define XNOISE_LYRICS_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XNOISE_TYPE_LYRICS_LOADER, XnoiseLyricsLoaderClass))
@@ -521,6 +694,7 @@ typedef struct _XnoiseILyricsProviderIface XnoiseILyricsProviderIface;
 
 typedef struct _XnoiseLyricsLoader XnoiseLyricsLoader;
 typedef struct _XnoiseLyricsLoaderClass XnoiseLyricsLoaderClass;
+typedef void (*XnoiseLyricsFetchedCallback) (const gchar* artist, const gchar* title, const gchar* credits, const gchar* identifier, const gchar* text, const gchar* providername, gpointer user_data);
 typedef struct _XnoiseLyricsLoaderPrivate XnoiseLyricsLoaderPrivate;
 
 #define XNOISE_TYPE_LYRICS_VIEW (xnoise_lyrics_view_get_type ())
@@ -593,8 +767,18 @@ typedef struct _XnoiseTrackInfobarClass XnoiseTrackInfobarClass;
 
 typedef struct _XnoiseMusicBrowser XnoiseMusicBrowser;
 typedef struct _XnoiseMusicBrowserClass XnoiseMusicBrowserClass;
+typedef enum  {
+	XNOISE_MAIN_WINDOW_SETTINGS_DIALOG_EDIT_SETTINGS = 0,
+	XNOISE_MAIN_WINDOW_SETTINGS_DIALOG_ADD_OR_REMOVE_MEDIA
+} XnoiseMainWindowSettingsDialog;
 
 #define XNOISE_MAIN_WINDOW_TYPE_SETTINGS_DIALOG (xnoise_main_window_settings_dialog_get_type ())
+typedef enum  {
+	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_NOT_AT_ALL = 0,
+	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_SINGLE,
+	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_ALL,
+	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_RANDOM
+} XnoiseMainWindowPlayerRepeatMode;
 
 #define XNOISE_MAIN_WINDOW_TYPE_PLAYER_REPEAT_MODE (xnoise_main_window_player_repeat_mode_get_type ())
 
@@ -631,9 +815,33 @@ typedef struct _XnoiseGstPlayerPrivate XnoiseGstPlayerPrivate;
 typedef struct _XnoiseGstEqualizer XnoiseGstEqualizer;
 typedef struct _XnoiseGstEqualizerClass XnoiseGstEqualizerClass;
 
+#define XNOISE_PLAYLIST_TYPE_READER_ERROR (xnoise_playlist_reader_error_get_type ())
+typedef enum  {
+	XNOISE_PLAYLIST_LIST_TYPE_UNKNOWN = 0,
+	XNOISE_PLAYLIST_LIST_TYPE_IGNORED,
+	XNOISE_PLAYLIST_LIST_TYPE_M3U,
+	XNOISE_PLAYLIST_LIST_TYPE_PLS,
+	XNOISE_PLAYLIST_LIST_TYPE_ASX,
+	XNOISE_PLAYLIST_LIST_TYPE_XSPF,
+	XNOISE_PLAYLIST_LIST_TYPE_WPL
+} XnoisePlaylistListType;
+
 #define XNOISE_PLAYLIST_TYPE_LIST_TYPE (xnoise_playlist_list_type_get_type ())
+typedef enum  {
+	XNOISE_PLAYLIST_RESULT_UNHANDLED = 0,
+	XNOISE_PLAYLIST_RESULT_ERROR,
+	XNOISE_PLAYLIST_RESULT_IGNORED,
+	XNOISE_PLAYLIST_RESULT_SUCCESS,
+	XNOISE_PLAYLIST_RESULT_EMPTY,
+	XNOISE_PLAYLIST_RESULT_DOUBLE_WRITE
+} XnoisePlaylistResult;
 
 #define XNOISE_PLAYLIST_TYPE_RESULT (xnoise_playlist_result_get_type ())
+typedef enum  {
+	XNOISE_PLAYLIST_TARGET_TYPE_URI,
+	XNOISE_PLAYLIST_TARGET_TYPE_REL_PATH,
+	XNOISE_PLAYLIST_TARGET_TYPE_ABS_PATH
+} XnoisePlaylistTargetType;
 
 #define XNOISE_PLAYLIST_TYPE_TARGET_TYPE (xnoise_playlist_target_type_get_type ())
 
@@ -647,6 +855,19 @@ typedef struct _XnoiseGstEqualizerClass XnoiseGstEqualizerClass;
 typedef struct _XnoisePlaylistEntry XnoisePlaylistEntry;
 typedef struct _XnoisePlaylistEntryClass XnoisePlaylistEntryClass;
 typedef struct _XnoisePlaylistEntryPrivate XnoisePlaylistEntryPrivate;
+typedef enum  {
+	XNOISE_PLAYLIST_ENTRY_FIELD_URI = 0,
+	XNOISE_PLAYLIST_ENTRY_FIELD_TITLE,
+	XNOISE_PLAYLIST_ENTRY_FIELD_AUTHOR,
+	XNOISE_PLAYLIST_ENTRY_FIELD_GENRE,
+	XNOISE_PLAYLIST_ENTRY_FIELD_ALBUM,
+	XNOISE_PLAYLIST_ENTRY_FIELD_COPYRIGHT,
+	XNOISE_PLAYLIST_ENTRY_FIELD_DURATION,
+	XNOISE_PLAYLIST_ENTRY_FIELD_PARAM_NAME,
+	XNOISE_PLAYLIST_ENTRY_FIELD_PARAM_VALUE,
+	XNOISE_PLAYLIST_ENTRY_FIELD_IS_REMOTE,
+	XNOISE_PLAYLIST_ENTRY_FIELD_IS_PLAYLIST
+} XnoisePlaylistEntryField;
 
 #define XNOISE_PLAYLIST_ENTRY_TYPE_FIELD (xnoise_playlist_entry_field_get_type ())
 
@@ -693,6 +914,14 @@ typedef struct _XnoisePluginModuleContainerPrivate XnoisePluginModuleContainerPr
 
 typedef struct _XnoisePluginModuleInformation XnoisePluginModuleInformation;
 typedef struct _XnoisePluginModuleInformationClass XnoisePluginModuleInformationClass;
+typedef enum  {
+	PLUGIN_CATEGORY_UNSPECIFIED,
+	PLUGIN_CATEGORY_ALBUM_ART_PROVIDER,
+	PLUGIN_CATEGORY_LYRICS_PROVIDER,
+	PLUGIN_CATEGORY_GUI,
+	PLUGIN_CATEGORY_WEB_SERVICE,
+	PLUGIN_CATEGORY_ADDITIONAL
+} PluginCategory;
 
 #define TYPE_PLUGIN_CATEGORY (plugin_category_get_type ())
 typedef struct _XnoisePluginModuleInformationPrivate XnoisePluginModuleInformationPrivate;
@@ -828,6 +1057,20 @@ typedef struct _XnoiseTrackListPrivate XnoiseTrackListPrivate;
 typedef struct _XnoiseTrackListModel XnoiseTrackListModel;
 typedef struct _XnoiseTrackListModelClass XnoiseTrackListModelClass;
 typedef struct _XnoiseTrackListModelPrivate XnoiseTrackListModelPrivate;
+typedef enum  {
+	XNOISE_TRACK_LIST_MODEL_COLUMN_ICON = 0,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_TRACKNUMBER,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_TITLE,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_ALBUM,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_ARTIST,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_LENGTH,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_WEIGHT,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_GENRE,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_YEAR,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_ITEM,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_SOURCE_NAME,
+	XNOISE_TRACK_LIST_MODEL_COLUMN_DISK_NUMBER
+} XnoiseTrackListModelColumn;
 
 #define XNOISE_TRACK_LIST_MODEL_TYPE_COLUMN (xnoise_track_list_model_column_get_type ())
 
@@ -862,11 +1105,25 @@ typedef struct _XnoiseInfoBarPrivate XnoiseInfoBarPrivate;
 
 typedef struct _XnoiseUserInfo XnoiseUserInfo;
 typedef struct _XnoiseUserInfoClass XnoiseUserInfoClass;
+typedef enum  {
+	XNOISE_USER_INFO_CONTENT_CLASS_INFO = 0,
+	XNOISE_USER_INFO_CONTENT_CLASS_WAIT,
+	XNOISE_USER_INFO_CONTENT_CLASS_WARNING,
+	XNOISE_USER_INFO_CONTENT_CLASS_QUESTION,
+	XNOISE_USER_INFO_CONTENT_CLASS_CRITICAL
+} XnoiseUserInfoContentClass;
 
 #define XNOISE_USER_INFO_TYPE_CONTENT_CLASS (xnoise_user_info_content_class_get_type ())
-
-#define XNOISE_USER_INFO_TYPE_REMOVAL_TYPE (xnoise_user_info_removal_type_get_type ())
+typedef enum  {
+	XNOISE_USER_INFO_REMOVAL_TYPE_CLOSE_BUTTON = 0,
+	XNOISE_USER_INFO_REMOVAL_TYPE_TIMER,
+	XNOISE_USER_INFO_REMOVAL_TYPE_TIMER_OR_CLOSE_BUTTON,
+	XNOISE_USER_INFO_REMOVAL_TYPE_EXTERNAL
+} XnoiseUserInfoRemovalType;
+
+#define XNOISE_USER_INFO_TYPE_REMOVAL_TYPE (xnoise_user_info_removal_type_get_type ())
 typedef struct _XnoiseUserInfoPrivate XnoiseUserInfoPrivate;
+typedef void (*XnoiseUserInfoAddInfoBarDelegateType) (XnoiseInfoBar* ibar, gpointer user_data);
 typedef struct _XnoiseAlbumDataPrivate XnoiseAlbumDataPrivate;
 
 #define XNOISE_TYPE_LOCAL_SCHEMES (xnoise_local_schemes_get_type ())
@@ -973,32 +1230,6 @@ struct _XnoiseWorkerClass {
 	GObjectClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_WORKER_PRIORITY_NORMAL = 0,
-	XNOISE_WORKER_PRIORITY_HIGH
-} XnoiseWorkerPriority;
-
-typedef enum  {
-	XNOISE_WORKER_EXECUTION_TYPE_ONCE = 0,
-	XNOISE_WORKER_EXECUTION_TYPE_REPEATED
-} XnoiseWorkerExecutionType;
-
-typedef enum  {
-	XNOISE_ITEM_TYPE_UNKNOWN = 0,
-	XNOISE_ITEM_TYPE_LOCAL_AUDIO_TRACK,
-	XNOISE_ITEM_TYPE_LOCAL_VIDEO_TRACK,
-	XNOISE_ITEM_TYPE_STREAM,
-	XNOISE_ITEM_TYPE_CDROM_TRACK,
-	XNOISE_ITEM_TYPE_PLAYLIST,
-	XNOISE_ITEM_TYPE_LOCAL_FOLDER,
-	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_ALBUMARTIST,
-	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_ARTIST,
-	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_ALBUM,
-	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_GENRE,
-	XNOISE_ITEM_TYPE_COLLECTION_CONTAINER_YEAR,
-	XNOISE_ITEM_TYPE_LOADER
-} XnoiseItemType;
-
 struct _XnoiseItem {
 	XnoiseItemType type;
 	guint32 stamp;
@@ -1019,8 +1250,6 @@ struct _XnoiseDndData {
 	guint32 extra_stamps[4];
 };
 
-typedef gboolean (*XnoiseWorkerWorkFunc) (XnoiseWorkerJob* jb, void* user_data);
-typedef void (*XnoiseWorkerFinishFunc) (void* user_data);
 struct _XnoiseWorkerJob {
 	GTypeInstance parent_instance;
 	volatile int ref_count;
@@ -1058,11 +1287,6 @@ typedef enum  {
 	XNOISE_DATABASE_DB_ERROR_FAILED
 } XnoiseDatabaseDbError;
 #define XNOISE_DATABASE_DB_ERROR xnoise_database_db_error_quark ()
-typedef enum  {
-	XNOISE_COLLECTION_SORT_MODE_ARTIST_ALBUM_TITLE = 0,
-	XNOISE_COLLECTION_SORT_MODE_GENRE_ARTIST_ALBUM,
-	XNOISE_COLLECTION_SORT_MODE_ALBUM_ARTIST_TITLE
-} XnoiseCollectionSortMode;
 
 struct _XnoiseDataSource {
 	GObject parent_instance;
@@ -1074,16 +1298,16 @@ struct _XnoiseDataSourceClass {
 	GObjectClass parent_class;
 	const gchar* (*get_datasource_name) (XnoiseDataSource* self);
 	gboolean (*get_trackdata_for_uri) (XnoiseDataSource* self, gchar** uri, XnoiseTrackData** val);
-	XnoiseItem* (*get_artists) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-	XnoiseTrackData** (*get_trackdata_for_albumartist) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-	XnoiseTrackData** (*get_trackdata_for_artist) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
+	XnoiseItem* (*get_artists) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, gint* result_length1);
+	XnoiseTrackData** (*get_trackdata_for_albumartist) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, gint* result_length1);
+	XnoiseTrackData** (*get_trackdata_for_artist) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, gint* result_length1);
 	XnoiseItem* (*get_album_item_from_id) (XnoiseDataSource* self, const gchar* searchtext, gint32 id, guint32 stamp);
 	XnoiseItem* (*get_albumartist_item_from_id) (XnoiseDataSource* self, const gchar* searchtext, gint32 id, guint32 stamp);
-	XnoiseTrackData** (*get_trackdata_for_album) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-	XnoiseItem* (*get_albums) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-	XnoiseTrackData** (*get_trackdata_for_item) (XnoiseDataSource* self, const gchar* searchterm, XnoiseItem* item, int* result_length1);
+	XnoiseTrackData** (*get_trackdata_for_album) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, gint* result_length1);
+	XnoiseItem* (*get_albums) (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, gint* result_length1);
+	XnoiseTrackData** (*get_trackdata_for_item) (XnoiseDataSource* self, const gchar* searchterm, XnoiseItem* item, gint* result_length1);
 	gboolean (*get_stream_trackdata_for_item) (XnoiseDataSource* self, XnoiseItem* item, XnoiseTrackData** td);
-	XnoiseTrackData** (*get_all_tracks) (XnoiseDataSource* self, const gchar* searchtext, int* result_length1);
+	XnoiseTrackData** (*get_all_tracks) (XnoiseDataSource* self, const gchar* searchtext, gint* result_length1);
 };
 
 struct _XnoiseDatabaseReader {
@@ -1095,7 +1319,6 @@ struct _XnoiseDatabaseReaderClass {
 	XnoiseDataSourceClass parent_class;
 };
 
-typedef void (*XnoiseDatabaseReaderReaderCallback) (sqlite3* database, void* user_data);
 struct _XnoiseDatabaseWriter {
 	GObject parent_instance;
 	XnoiseDatabaseWriterPrivate * priv;
@@ -1105,30 +1328,11 @@ struct _XnoiseDatabaseWriterClass {
 	GObjectClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_ARTIST,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_ALBUM,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_TITLE,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_GENRE,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_VIDEO,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_ADD_STREAM,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_ARTIST,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_ALBUM,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_TITLE,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_REMOVE_URI,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_CLEAR_DB,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_UPDATE_PLAYCOUNT,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_UPDATE_LASTPLAYED,
-	XNOISE_DATABASE_WRITER_CHANGE_TYPE_UPDATE_RATING
-} XnoiseDatabaseWriterChangeType;
-
-typedef void (*XnoiseDatabaseWriterChangeNotificationCallback) (XnoiseDatabaseWriterChangeType changetype, XnoiseItem* item, void* user_data);
 struct _XnoiseDatabaseWriterNotificationData {
 	XnoiseDatabaseWriterChangeNotificationCallback cb;
 	gpointer cb_target;
 };
 
-typedef void (*XnoiseDatabaseWriterWriterCallback) (sqlite3* database, void* user_data);
 struct _XnoiseMusicBrowserModel {
 	GtkTreeStore parent_instance;
 	XnoiseMusicBrowserModelPrivate * priv;
@@ -1138,28 +1342,6 @@ struct _XnoiseMusicBrowserModelClass {
 	GtkTreeStoreClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_ICON = 0,
-	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_VIS_TEXT,
-	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_ITEM,
-	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_LEVEL,
-	XNOISE_MUSIC_BROWSER_MODEL_COLUMN_N_COLUMNS
-} XnoiseMusicBrowserModelColumn;
-
-typedef enum  {
-	XNOISE_MUSIC_BROWSER_MODEL_COLLECTION_TYPE_UNKNOWN = 0,
-	XNOISE_MUSIC_BROWSER_MODEL_COLLECTION_TYPE_HIERARCHICAL = 1,
-	XNOISE_MUSIC_BROWSER_MODEL_COLLECTION_TYPE_LISTED = 2
-} XnoiseMusicBrowserModelCollectionType;
-
-typedef enum  {
-	XNOISE_DOCKABLE_MEDIA_CATEGORY_UNKNOWN = 0,
-	XNOISE_DOCKABLE_MEDIA_CATEGORY_MEDIA_COLLECTION,
-	XNOISE_DOCKABLE_MEDIA_CATEGORY_PLAYLIST,
-	XNOISE_DOCKABLE_MEDIA_CATEGORY_STORES,
-	XNOISE_DOCKABLE_MEDIA_CATEGORY_DEVICES
-} XnoiseDockableMediaCategory;
-
 struct _XnoiseDockableMedia {
 	GObject parent_instance;
 	XnoiseDockableMediaPrivate * priv;
@@ -1262,14 +1444,6 @@ struct _XnoiseExtDevPlayerTreeStoreClass {
 	GtkTreeStoreClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_ICON,
-	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_VIS_TEXT,
-	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_ITEM,
-	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_LEVEL,
-	XNOISE_EXT_DEV_PLAYER_TREE_STORE_COLUMN_N_COLUMNS
-} XnoiseExtDevPlayerTreeStoreColumn;
-
 struct _XnoiseExtDevPlayerTreeView {
 	GtkTreeView parent_instance;
 	XnoiseExtDevPlayerTreeViewPrivate * priv;
@@ -1293,14 +1467,6 @@ struct _XnoiseExtDevAudioPlayerTempDbClass {
 	XnoiseDataSourceClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_EXT_DEV_DEVICE_TYPE_UNKNOWN,
-	XNOISE_EXT_DEV_DEVICE_TYPE_ANDROID,
-	XNOISE_EXT_DEV_DEVICE_TYPE_GENERIC_PLAYER,
-	XNOISE_EXT_DEV_DEVICE_TYPE_IPOD,
-	XNOISE_EXT_DEV_DEVICE_TYPE_CDROM
-} XnoiseExtDevDeviceType;
-
 struct _XnoiseExtDevDeviceManager {
 	GObject parent_instance;
 	XnoiseExtDevDeviceManagerPrivate * priv;
@@ -1310,7 +1476,6 @@ struct _XnoiseExtDevDeviceManagerClass {
 	GObjectClass parent_class;
 };
 
-typedef XnoiseExtDevDevice* (*XnoiseExtDevDeviceManagerIdentificationCallback) (GMount* mount, void* user_data);
 struct _XnoiseExtDevDeviceManagerDeviceIdContainer {
 	GTypeInstance parent_instance;
 	volatile int ref_count;
@@ -1360,11 +1525,6 @@ struct _XnoiseSerialButtonClass {
 	GtkBoxClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_SERIAL_BUTTON_PRESENTATION_TEXT,
-	XNOISE_SERIAL_BUTTON_PRESENTATION_IMAGE
-} XnoiseSerialButtonPresentation;
-
 struct _XnoiseGlobalAccess {
 	GObject parent_instance;
 	XnoiseGlobalAccessPrivate * priv;
@@ -1377,12 +1537,6 @@ struct _XnoiseGlobalAccessClass {
 	GObjectClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_PLAYER_STATE_STOPPED = 0,
-	XNOISE_PLAYER_STATE_PLAYING,
-	XNOISE_PLAYER_STATE_PAUSED
-} XnoisePlayerState;
-
 struct _XnoiseIconRepo {
 	GObject parent_instance;
 	XnoiseIconRepoPrivate * priv;
@@ -1408,44 +1562,6 @@ struct _XnoiseItemConverterClass {
 	GObjectClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_ACTION_CONTEXT_NONE,
-	XNOISE_ACTION_CONTEXT_REQUESTED,
-	XNOISE_ACTION_CONTEXT_TRACKLIST_ITEM_ACTIVATED,
-	XNOISE_ACTION_CONTEXT_TRACKLIST_MENU_QUERY,
-	XNOISE_ACTION_CONTEXT_TRACKLIST_DROP,
-	XNOISE_ACTION_CONTEXT_QUERYABLE_TREE_ITEM_ACTIVATED,
-	XNOISE_ACTION_CONTEXT_QUERYABLE_TREE_MENU_QUERY,
-	XNOISE_ACTION_CONTEXT_QUERYABLE_TREE_LOAD,
-	XNOISE_ACTION_CONTEXT_VIDEOSCREEN_ACTIVATED,
-	XNOISE_ACTION_CONTEXT_VIDEOSCREEN_MENU_QUERY,
-	XNOISE_ACTION_CONTEXT_TRACKLIST_COLUMN_HEADER_MENU_QUERY,
-	XNOISE_ACTION_CONTEXT_QUERYABLE_PLAYLIST_ITEM_ACTIVATED,
-	XNOISE_ACTION_CONTEXT_QUERYABLE_PLAYLIST_MENU_QUERY,
-	XNOISE_ACTION_CONTEXT_QUERYABLE_EXTERNAL_ITEM_ACTIVATED,
-	XNOISE_ACTION_CONTEXT_QUERYABLE_EXTERNAL_MENU_QUERY,
-	XNOISE_ACTION_CONTEXT_EXTERNAL_DEVICE_LIST
-} XnoiseActionContext;
-
-typedef enum  {
-	XNOISE_ITEM_SELECTION_TYPE_NOT_SET = 0,
-	XNOISE_ITEM_SELECTION_TYPE_SINGLE = 1 << 0,
-	XNOISE_ITEM_SELECTION_TYPE_MULTIPLE = 1 << 1
-} XnoiseItemSelectionType;
-
-typedef enum  {
-	XNOISE_ITEM_HANDLER_TYPE_UNKNOWN,
-	XNOISE_ITEM_HANDLER_TYPE_OTHER,
-	XNOISE_ITEM_HANDLER_TYPE_TRACKLIST_ADDER,
-	XNOISE_ITEM_HANDLER_TYPE_PLAYLIST_PARSER,
-	XNOISE_ITEM_HANDLER_TYPE_VIDEO_THUMBNAILER,
-	XNOISE_ITEM_HANDLER_TYPE_TAG_EDITOR,
-	XNOISE_ITEM_HANDLER_TYPE_MENU_PROVIDER,
-	XNOISE_ITEM_HANDLER_TYPE_PLAY_NOW,
-	XNOISE_ITEM_HANDLER_TYPE_EXTERNAL_DEVICE
-} XnoiseItemHandlerType;
-
-typedef void (*XnoiseItemHandlerActionType) (XnoiseItem* item, GValue* data_1, GValue* data_2, void* user_data);
 struct _XnoiseAction {
 	GTypeInstance parent_instance;
 	volatile int ref_count;
@@ -1486,12 +1602,6 @@ struct _XnoiseItemHandlerManagerClass {
 	GObjectClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_DYN_PLAYLIST_TYPE_UNKNOWN = 0,
-	XNOISE_DYN_PLAYLIST_TYPE_MOSTPLAYED,
-	XNOISE_DYN_PLAYLIST_TYPE_LASTPLAYED
-} XnoiseDynPlaylistType;
-
 struct _XnoiseTreeQueryableIface {
 	GTypeInterface parent_iface;
 	gint (*get_model_item_column) (XnoiseTreeQueryable* self);
@@ -1520,10 +1630,9 @@ struct _XnoisePluginModuleIPluginIface {
 	void (*set_xn) (XnoisePluginModuleIPlugin* self, XnoiseMain* value);
 };
 
-typedef void (*XnoiseLyricsFetchedCallback) (const gchar* artist, const gchar* title, const gchar* credits, const gchar* identifier, const gchar* text, const gchar* providername, void* user_data);
 struct _XnoiseILyricsProviderIface {
 	GTypeInterface parent_iface;
-	XnoiseILyrics* (*from_tags) (XnoiseILyricsProvider* self, XnoiseLyricsLoader* loader, const gchar* artist, const gchar* title, XnoiseLyricsFetchedCallback cb, void* cb_target);
+	XnoiseILyrics* (*from_tags) (XnoiseILyricsProvider* self, XnoiseLyricsLoader* loader, const gchar* artist, const gchar* title, XnoiseLyricsFetchedCallback cb, gpointer cb_target);
 	gint (*get_priority) (XnoiseILyricsProvider* self);
 	void (*set_priority) (XnoiseILyricsProvider* self, gint value);
 	const gchar* (*get_provider_name) (XnoiseILyricsProvider* self);
@@ -1589,18 +1698,6 @@ struct _XnoiseMainWindowClass {
 	GtkWindowClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_MAIN_WINDOW_SETTINGS_DIALOG_EDIT_SETTINGS = 0,
-	XNOISE_MAIN_WINDOW_SETTINGS_DIALOG_ADD_OR_REMOVE_MEDIA
-} XnoiseMainWindowSettingsDialog;
-
-typedef enum  {
-	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_NOT_AT_ALL = 0,
-	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_SINGLE,
-	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_ALL,
-	XNOISE_MAIN_WINDOW_PLAYER_REPEAT_MODE_RANDOM
-} XnoiseMainWindowPlayerRepeatMode;
-
 struct _XnoiseMediaMonitor {
 	GObject parent_instance;
 	XnoiseMediaMonitorPrivate * priv;
@@ -1635,30 +1732,6 @@ typedef enum  {
 	XNOISE_PLAYLIST_READER_ERROR_SOMETHING_ELSE
 } XnoisePlaylistReaderError;
 #define XNOISE_PLAYLIST_READER_ERROR xnoise_playlist_reader_error_quark ()
-typedef enum  {
-	XNOISE_PLAYLIST_LIST_TYPE_UNKNOWN = 0,
-	XNOISE_PLAYLIST_LIST_TYPE_IGNORED,
-	XNOISE_PLAYLIST_LIST_TYPE_M3U,
-	XNOISE_PLAYLIST_LIST_TYPE_PLS,
-	XNOISE_PLAYLIST_LIST_TYPE_ASX,
-	XNOISE_PLAYLIST_LIST_TYPE_XSPF,
-	XNOISE_PLAYLIST_LIST_TYPE_WPL
-} XnoisePlaylistListType;
-
-typedef enum  {
-	XNOISE_PLAYLIST_RESULT_UNHANDLED = 0,
-	XNOISE_PLAYLIST_RESULT_ERROR,
-	XNOISE_PLAYLIST_RESULT_IGNORED,
-	XNOISE_PLAYLIST_RESULT_SUCCESS,
-	XNOISE_PLAYLIST_RESULT_EMPTY,
-	XNOISE_PLAYLIST_RESULT_DOUBLE_WRITE
-} XnoisePlaylistResult;
-
-typedef enum  {
-	XNOISE_PLAYLIST_TARGET_TYPE_URI,
-	XNOISE_PLAYLIST_TARGET_TYPE_REL_PATH,
-	XNOISE_PLAYLIST_TARGET_TYPE_ABS_PATH
-} XnoisePlaylistTargetType;
 
 struct _XnoisePlaylistEntry {
 	GTypeInstance parent_instance;
@@ -1671,20 +1744,6 @@ struct _XnoisePlaylistEntryClass {
 	void (*finalize) (XnoisePlaylistEntry *self);
 };
 
-typedef enum  {
-	XNOISE_PLAYLIST_ENTRY_FIELD_URI = 0,
-	XNOISE_PLAYLIST_ENTRY_FIELD_TITLE,
-	XNOISE_PLAYLIST_ENTRY_FIELD_AUTHOR,
-	XNOISE_PLAYLIST_ENTRY_FIELD_GENRE,
-	XNOISE_PLAYLIST_ENTRY_FIELD_ALBUM,
-	XNOISE_PLAYLIST_ENTRY_FIELD_COPYRIGHT,
-	XNOISE_PLAYLIST_ENTRY_FIELD_DURATION,
-	XNOISE_PLAYLIST_ENTRY_FIELD_PARAM_NAME,
-	XNOISE_PLAYLIST_ENTRY_FIELD_PARAM_VALUE,
-	XNOISE_PLAYLIST_ENTRY_FIELD_IS_REMOTE,
-	XNOISE_PLAYLIST_ENTRY_FIELD_IS_PLAYLIST
-} XnoisePlaylistEntryField;
-
 struct _XnoisePlaylistEntryCollection {
 	GTypeInstance parent_instance;
 	volatile int ref_count;
@@ -1726,15 +1785,6 @@ struct _XnoisePluginModuleContainerClass {
 	GTypeModuleClass parent_class;
 };
 
-typedef enum  {
-	PLUGIN_CATEGORY_UNSPECIFIED,
-	PLUGIN_CATEGORY_ALBUM_ART_PROVIDER,
-	PLUGIN_CATEGORY_LYRICS_PROVIDER,
-	PLUGIN_CATEGORY_GUI,
-	PLUGIN_CATEGORY_WEB_SERVICE,
-	PLUGIN_CATEGORY_ADDITIONAL
-} PluginCategory;
-
 struct _XnoisePluginModuleInformation {
 	GObject parent_instance;
 	XnoisePluginModuleInformationPrivate * priv;
@@ -1873,21 +1923,6 @@ struct _XnoiseTrackListModelClass {
 	GtkListStoreClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_TRACK_LIST_MODEL_COLUMN_ICON = 0,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_TRACKNUMBER,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_TITLE,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_ALBUM,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_ARTIST,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_LENGTH,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_WEIGHT,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_GENRE,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_YEAR,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_ITEM,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_SOURCE_NAME,
-	XNOISE_TRACK_LIST_MODEL_COLUMN_DISK_NUMBER
-} XnoiseTrackListModelColumn;
-
 struct _XnoiseTrayIcon {
 	GtkStatusIcon parent_instance;
 	XnoiseTrayIconPrivate * priv;
@@ -1906,21 +1941,6 @@ struct _XnoiseInfoBarClass {
 	GtkInfoBarClass parent_class;
 };
 
-typedef enum  {
-	XNOISE_USER_INFO_CONTENT_CLASS_INFO = 0,
-	XNOISE_USER_INFO_CONTENT_CLASS_WAIT,
-	XNOISE_USER_INFO_CONTENT_CLASS_WARNING,
-	XNOISE_USER_INFO_CONTENT_CLASS_QUESTION,
-	XNOISE_USER_INFO_CONTENT_CLASS_CRITICAL
-} XnoiseUserInfoContentClass;
-
-typedef enum  {
-	XNOISE_USER_INFO_REMOVAL_TYPE_CLOSE_BUTTON = 0,
-	XNOISE_USER_INFO_REMOVAL_TYPE_TIMER,
-	XNOISE_USER_INFO_REMOVAL_TYPE_TIMER_OR_CLOSE_BUTTON,
-	XNOISE_USER_INFO_REMOVAL_TYPE_EXTERNAL
-} XnoiseUserInfoRemovalType;
-
 struct _XnoiseUserInfo {
 	GObject parent_instance;
 	XnoiseUserInfoPrivate * priv;
@@ -1930,7 +1950,6 @@ struct _XnoiseUserInfoClass {
 	GObjectClass parent_class;
 };
 
-typedef void (*XnoiseUserInfoAddInfoBarDelegateType) (XnoiseInfoBar* ibar, void* user_data);
 struct _XnoiseAlbumData {
 	GTypeInstance parent_instance;
 	volatile int ref_count;
@@ -2058,1004 +2077,1666 @@ struct _XnoiseTrackDataClass {
 	void (*finalize) (XnoiseTrackData *self);
 };
 
-
-GFile* xnoise_get_albumimage_for_artistalbum (const gchar* artist, const gchar* album, const gchar* size);
-gboolean xnoise_thumbnail_available (const gchar* uri, GFile** _thumb);
-gchar* xnoise_escape_album_for_local_folder_search (const gchar* artist, const gchar* album_name);
-gchar* xnoise_check_album_name (const gchar* artistname, const gchar* albumname);
-GType xnoise_album_image_loader_get_type (void) G_GNUC_CONST;
-XnoiseAlbumImageLoader* xnoise_album_image_loader_new (void);
-XnoiseAlbumImageLoader* xnoise_album_image_loader_construct (GType object_type);
-void xnoise_album_image_loader_on_image_fetched (XnoiseAlbumImageLoader* self, const gchar* _artist, const gchar* _album, const gchar* _image_path);
-GdkPixbuf* xnoise_album_image_loader_get_image_small (XnoiseAlbumImageLoader* self);
-void xnoise_album_image_loader_set_image_small (XnoiseAlbumImageLoader* self, GdkPixbuf* value);
-GdkPixbuf* xnoise_album_image_loader_get_image_large (XnoiseAlbumImageLoader* self);
-void xnoise_album_image_loader_set_image_large (XnoiseAlbumImageLoader* self, GdkPixbuf* value);
-GdkPixbuf* xnoise_album_image_loader_get_image_embedded (XnoiseAlbumImageLoader* self);
-void xnoise_album_image_loader_set_image_embedded (XnoiseAlbumImageLoader* self, GdkPixbuf* value);
-const gchar* xnoise_album_image_loader_get_image_path_small (XnoiseAlbumImageLoader* self);
-void xnoise_album_image_loader_set_image_path_small (XnoiseAlbumImageLoader* self, const gchar* value);
-const gchar* xnoise_album_image_loader_get_image_path_large (XnoiseAlbumImageLoader* self);
-void xnoise_album_image_loader_set_image_path_large (XnoiseAlbumImageLoader* self, const gchar* value);
-const gchar* xnoise_album_image_loader_get_image_path_embedded (XnoiseAlbumImageLoader* self);
-void xnoise_album_image_loader_set_image_path_embedded (XnoiseAlbumImageLoader* self, const gchar* value);
-GType xnoise_ialbum_cover_image_get_type (void) G_GNUC_CONST;
-void xnoise_ialbum_cover_image_find_image (XnoiseIAlbumCoverImage* self);
-GType xnoise_ialbum_cover_image_provider_get_type (void) G_GNUC_CONST;
-XnoiseIAlbumCoverImage* xnoise_ialbum_cover_image_provider_from_tags (XnoiseIAlbumCoverImageProvider* self, XnoiseAlbumImageLoader* loader, const gchar* artist, const gchar* album);
-GType xnoise_application_get_type (void) G_GNUC_CONST;
-GType xnoise_main_get_type (void) G_GNUC_CONST;
-extern XnoiseMain* xnoise_application_xn;
-XnoiseApplication* xnoise_application_new (void);
-XnoiseApplication* xnoise_application_construct (GType object_type);
-void xnoise_application_on_activated (XnoiseApplication* self);
-void xnoise_application_on_startup (XnoiseApplication* self);
-gint xnoise_application_on_command_line (XnoiseApplication* self, GApplicationCommandLine* command_line);
-gboolean xnoise_application_get_hidden_window (void);
-GType xnoise_worker_get_type (void) G_GNUC_CONST;
-GType xnoise_worker_priority_get_type (void) G_GNUC_CONST;
-GType xnoise_worker_execution_type_get_type (void) G_GNUC_CONST;
-XnoiseWorker* xnoise_worker_new (GMainContext* mc);
-XnoiseWorker* xnoise_worker_construct (GType object_type, GMainContext* mc);
-gboolean xnoise_worker_is_same_thread (XnoiseWorker* self);
-gpointer xnoise_worker_job_ref (gpointer instance);
-void xnoise_worker_job_unref (gpointer instance);
-GParamSpec* xnoise_worker_param_spec_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_worker_value_set_job (GValue* value, gpointer v_object);
-void xnoise_worker_value_take_job (GValue* value, gpointer v_object);
-gpointer xnoise_worker_value_get_job (const GValue* value);
-GType xnoise_worker_job_get_type (void) G_GNUC_CONST;
-void xnoise_worker_push_job (XnoiseWorker* self, XnoiseWorkerJob* j);
-gint xnoise_worker_get_queue_length (XnoiseWorker* self);
-GThread* xnoise_worker_get_thread (XnoiseWorker* self);
-GType xnoise_item_get_type (void) G_GNUC_CONST;
-GType xnoise_item_type_get_type (void) G_GNUC_CONST;
-XnoiseItem* xnoise_item_dup (const XnoiseItem* self);
-void xnoise_item_free (XnoiseItem* self);
-void xnoise_item_copy (const XnoiseItem* self, XnoiseItem* dest);
-void xnoise_item_destroy (XnoiseItem* self);
-gpointer xnoise_file_data_ref (gpointer instance);
-void xnoise_file_data_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_file_data (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_file_data (GValue* value, gpointer v_object);
-void xnoise_value_take_file_data (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_file_data (const GValue* value);
-GType xnoise_file_data_get_type (void) G_GNUC_CONST;
-gpointer xnoise_track_data_ref (gpointer instance);
-void xnoise_track_data_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_track_data (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_track_data (GValue* value, gpointer v_object);
-void xnoise_value_take_track_data (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_track_data (const GValue* value);
-GType xnoise_track_data_get_type (void) G_GNUC_CONST;
-GType xnoise_dnd_data_get_type (void) G_GNUC_CONST;
-XnoiseDndData* xnoise_dnd_data_dup (const XnoiseDndData* self);
-void xnoise_dnd_data_free (XnoiseDndData* self);
-void xnoise_dnd_data_copy (const XnoiseDndData* self, XnoiseDndData* dest);
-void xnoise_dnd_data_destroy (XnoiseDndData* self);
-XnoiseWorkerJob* xnoise_worker_job_new (XnoiseWorkerExecutionType execution_type, XnoiseWorkerWorkFunc func, void* func_target, XnoiseWorkerPriority priority, XnoiseWorkerFinishFunc finish_func, void* finish_func_target);
-XnoiseWorkerJob* xnoise_worker_job_construct (GType object_type, XnoiseWorkerExecutionType execution_type, XnoiseWorkerWorkFunc func, void* func_target, XnoiseWorkerPriority priority, XnoiseWorkerFinishFunc finish_func, void* finish_func_target);
-void xnoise_worker_job_set_arg (XnoiseWorkerJob* self, const gchar* name, GValue* val);
-GValue* xnoise_worker_job_get_arg (XnoiseWorkerJob* self, const gchar* name);
-GQuark xnoise_database_db_error_quark (void);
-GType xnoise_data_source_get_type (void) G_GNUC_CONST;
-GType xnoise_collection_sort_mode_get_type (void) G_GNUC_CONST;
-GType xnoise_database_reader_get_type (void) G_GNUC_CONST;
-XnoiseDatabaseReader* xnoise_database_reader_new (GError** error);
-XnoiseDatabaseReader* xnoise_database_reader_construct (GType object_type, GError** error);
-void xnoise_database_reader_cancel (XnoiseDatabaseReader* self);
-void xnoise_database_reader_do_callback_transaction (XnoiseDatabaseReader* self, XnoiseDatabaseReaderReaderCallback cb, void* cb_target);
-XnoiseFileData* xnoise_database_reader_get_file_data (XnoiseDatabaseReader* self, const gchar* uri);
-gboolean xnoise_database_reader_get_file_in_db (XnoiseDatabaseReader* self, const gchar* uri);
-XnoiseFileData** xnoise_database_reader_get_uris (XnoiseDatabaseReader* self, gint32 offset, gint32 limit, int* result_length1);
-gint32 xnoise_database_reader_count_videos (XnoiseDatabaseReader* self, const gchar* searchtext);
-gboolean xnoise_database_reader_get_lyrics (XnoiseDatabaseReader* self, const gchar* artist, const gchar* title, gchar** txt, gchar** cred, gchar** ident);
-XnoiseItem* xnoise_database_reader_get_last_played (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseItem* xnoise_database_reader_get_most_played (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseItem* xnoise_database_reader_get_streamitem_by_id (XnoiseDatabaseReader* self, gint32 id, const gchar* searchtext);
-XnoiseItem* xnoise_database_reader_get_media_folders (XnoiseDatabaseReader* self, int* result_length1);
-XnoiseItem* xnoise_database_reader_get_stream_items (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseTrackData** xnoise_database_reader_get_some_lastused_items (XnoiseDatabaseReader* self, gint limit, gint offset, int* result_length1);
-guint xnoise_database_reader_count_lastused_items (XnoiseDatabaseReader* self);
-XnoiseTrackData** xnoise_database_reader_get_stream_data (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseItem* xnoise_database_reader_get_video_items (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseTrackData** xnoise_database_reader_get_trackdata_for_video (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseTrackData** xnoise_database_reader_get_trackdata_for_streams (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseItem* xnoise_database_reader_get_genres_with_search (XnoiseDatabaseReader* self, const gchar* searchtext, int* result_length1);
-XnoiseItem* xnoise_database_reader_get_videoitem_by_id (XnoiseDatabaseReader* self, gint32 id);
-XnoiseItem* xnoise_database_reader_get_genreitem_by_genreid (XnoiseDatabaseReader* self, const gchar* searchtext, gint32 id, guint32 stmp);
-gpointer xnoise_album_data_ref (gpointer instance);
-void xnoise_album_data_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_album_data (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_album_data (GValue* value, gpointer v_object);
-void xnoise_value_take_album_data (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_album_data (const GValue* value);
-GType xnoise_album_data_get_type (void) G_GNUC_CONST;
-XnoiseAlbumData** xnoise_database_reader_get_all_albums_with_search (XnoiseDatabaseReader* self, const gchar* searchtext, const gchar* sorting, const gchar* direction, int* result_length1);
-GType xnoise_database_writer_get_type (void) G_GNUC_CONST;
-GType xnoise_database_writer_change_type_get_type (void) G_GNUC_CONST;
-#define XNOISE_DATABASE_WRITER_STMT_REMOVE_MEDIA_FOLDER_ITEMS "DELETE FROM items WHERE path=?"
-XnoiseDatabaseWriter* xnoise_database_writer_new (GError** error);
-XnoiseDatabaseWriter* xnoise_database_writer_construct (GType object_type, GError** error);
-GType xnoise_database_writer_notification_data_get_type (void) G_GNUC_CONST;
-XnoiseDatabaseWriterNotificationData* xnoise_database_writer_notification_data_dup (const XnoiseDatabaseWriterNotificationData* self);
-void xnoise_database_writer_notification_data_free (XnoiseDatabaseWriterNotificationData* self);
-void xnoise_database_writer_register_change_callback (XnoiseDatabaseWriter* self, XnoiseDatabaseWriterNotificationData* cbd);
-gchar* xnoise_database_writer_get_uri_for_item_id (XnoiseDatabaseWriter* self, gint32 id);
-void xnoise_database_writer_inc_playcount (XnoiseDatabaseWriter* self, const gchar* uri);
-void xnoise_database_writer_update_lastplay_time (XnoiseDatabaseWriter* self, const gchar* uri, gint64 playtime);
-gchar** xnoise_database_writer_get_media_folders (XnoiseDatabaseWriter* self, int* result_length1);
-gboolean xnoise_database_writer_get_trackdata_for_stream (XnoiseDatabaseWriter* self, const gchar* uri, XnoiseTrackData** val);
-gboolean xnoise_database_writer_update_title (XnoiseDatabaseWriter* self, XnoiseItem** item, XnoiseTrackData** td);
-void xnoise_database_writer_remove_uri (XnoiseDatabaseWriter* self, const gchar* uri);
-void xnoise_database_writer_remove_folder (XnoiseDatabaseWriter* self, const gchar* uri, gboolean check_media_folders);
-gboolean xnoise_database_writer_insert_title (XnoiseDatabaseWriter* self, XnoiseTrackData** td);
-gboolean xnoise_database_writer_add_single_stream_to_collection (XnoiseDatabaseWriter* self, XnoiseItem* i);
-void xnoise_database_writer_update_stream_name (XnoiseDatabaseWriter* self, XnoiseItem* item);
-gboolean xnoise_database_writer_add_single_folder_to_collection (XnoiseDatabaseWriter* self, XnoiseItem* mfolder);
-gboolean xnoise_database_writer_remove_single_media_folder (XnoiseDatabaseWriter* self, XnoiseItem* mfolder);
-void xnoise_database_writer_cleanup_database (XnoiseDatabaseWriter* self);
-void xnoise_database_writer_do_callback_transaction (XnoiseDatabaseWriter* self, XnoiseDatabaseWriterWriterCallback cb, void* cb_target);
-void xnoise_database_writer_begin_transaction (XnoiseDatabaseWriter* self);
-void xnoise_database_writer_commit_transaction (XnoiseDatabaseWriter* self);
-gboolean xnoise_database_writer_get_in_transaction (XnoiseDatabaseWriter* self);
-gint xnoise_data_source_get_source_id (XnoiseDataSource* self);
-const gchar* xnoise_data_source_get_datasource_name (XnoiseDataSource* self);
-gboolean xnoise_data_source_get_trackdata_for_uri (XnoiseDataSource* self, gchar** uri, XnoiseTrackData** val);
-XnoiseItem* xnoise_data_source_get_artists (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-XnoiseTrackData** xnoise_data_source_get_trackdata_for_albumartist (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-XnoiseTrackData** xnoise_data_source_get_trackdata_for_artist (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-XnoiseItem* xnoise_data_source_get_album_item_from_id (XnoiseDataSource* self, const gchar* searchtext, gint32 id, guint32 stamp);
-XnoiseItem* xnoise_data_source_get_albumartist_item_from_id (XnoiseDataSource* self, const gchar* searchtext, gint32 id, guint32 stamp);
-XnoiseTrackData** xnoise_data_source_get_trackdata_for_album (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-XnoiseItem* xnoise_data_source_get_albums (XnoiseDataSource* self, const gchar* searchtext, XnoiseCollectionSortMode sort_mode, GHashTable* items, int* result_length1);
-XnoiseTrackData** xnoise_data_source_get_trackdata_for_item (XnoiseDataSource* self, const gchar* searchterm, XnoiseItem* item, int* result_length1);
-gboolean xnoise_data_source_get_stream_trackdata_for_item (XnoiseDataSource* self, XnoiseItem* item, XnoiseTrackData** td);
-XnoiseTrackData** xnoise_data_source_get_all_tracks (XnoiseDataSource* self, const gchar* searchtext, int* result_length1);
-XnoiseDataSource* xnoise_data_source_construct (GType object_type);
-GType xnoise_music_browser_model_get_type (void) G_GNUC_CONST;
-GType xnoise_music_browser_model_column_get_type (void) G_GNUC_CONST;
-GType xnoise_music_browser_model_collection_type_get_type (void) G_GNUC_CONST;
-GType xnoise_dockable_media_get_type (void) G_GNUC_CONST;
-XnoiseMusicBrowserModel* xnoise_music_browser_model_new (XnoiseDockableMedia* dock);
-XnoiseMusicBrowserModel* xnoise_music_browser_model_construct (GType object_type, XnoiseDockableMedia* dock);
-void xnoise_music_browser_model_filter (XnoiseMusicBrowserModel* self);
-void xnoise_music_browser_model_remove_all (XnoiseMusicBrowserModel* self);
-XnoiseDndData* xnoise_music_browser_model_get_dnd_data_for_path (XnoiseMusicBrowserModel* self, GtkTreePath** treepath, int* result_length1);
-gboolean xnoise_music_browser_model_get_populating_model (XnoiseMusicBrowserModel* self);
-GType xnoise_dockable_media_category_get_type (void) G_GNUC_CONST;
-GType xnoise_main_window_get_type (void) G_GNUC_CONST;
-gchar* xnoise_dockable_media_category_to_string (XnoiseDockableMediaCategory self);
-gchar* xnoise_dockable_media_name (XnoiseDockableMedia* self);
-gchar* xnoise_dockable_media_headline (XnoiseDockableMedia* self);
-XnoiseDockableMediaCategory xnoise_dockable_media_category (XnoiseDockableMedia* self);
-gchar* xnoise_dockable_media_get_icon_name (XnoiseDockableMedia* self);
-GtkWidget* xnoise_dockable_media_create_widget (XnoiseDockableMedia* self, XnoiseMainWindow* window);
-void xnoise_dockable_media_remove_main_view (XnoiseDockableMedia* self);
-XnoiseDockableMedia* xnoise_dockable_media_construct (GType object_type);
-gpointer xnoise_dockable_media_manager_ref (gpointer instance);
-void xnoise_dockable_media_manager_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_dockable_media_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_dockable_media_manager (GValue* value, gpointer v_object);
-void xnoise_value_take_dockable_media_manager (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_dockable_media_manager (const GValue* value);
-GType xnoise_dockable_media_manager_get_type (void) G_GNUC_CONST;
-XnoiseDockableMediaManager* xnoise_dockable_media_manager_new (void);
-XnoiseDockableMediaManager* xnoise_dockable_media_manager_construct (GType object_type);
-gboolean xnoise_dockable_media_manager_remove (XnoiseDockableMediaManager* self, const gchar* key);
-XnoiseDockableMedia* xnoise_dockable_media_manager_lookup (XnoiseDockableMediaManager* self, const gchar* key);
-GList* xnoise_dockable_media_manager_get_keys (XnoiseDockableMediaManager* self);
-void xnoise_dockable_media_manager_insert (XnoiseDockableMediaManager* self, XnoiseDockableMedia* val);
-gint xnoise_dockable_media_manager_size_of_category (XnoiseDockableMediaManager* self, XnoiseDockableMediaCategory category);
-GList* xnoise_dockable_media_manager_get_existing_categories (XnoiseDockableMediaManager* self);
-GList* xnoise_dockable_media_manager_get_media_for_category (XnoiseDockableMediaManager* self, XnoiseDockableMediaCategory category);
-GType xnoise_ext_dev_device_get_type (void) G_GNUC_CONST;
-GType device_main_view_get_type (void) G_GNUC_CONST;
-GType xnoise_item_handler_get_type (void) G_GNUC_CONST;
-GType xnoise_ext_dev_player_device_get_type (void) G_GNUC_CONST;
-GType xnoise_ext_dev_player_main_view_get_type (void) G_GNUC_CONST;
-GType xnoise_ext_dev_audio_player_temp_db_get_type (void) G_GNUC_CONST;
-XnoiseExtDevPlayerDevice* xnoise_ext_dev_player_device_new (GMount* _mount);
-XnoiseExtDevPlayerDevice* xnoise_ext_dev_player_device_construct (GType object_type, GMount* _mount);
-guint64 xnoise_ext_dev_player_device_get_filesystem_size (XnoiseExtDevPlayerDevice* self);
-guint64 xnoise_ext_dev_player_device_get_free_space_size (XnoiseExtDevPlayerDevice* self);
-gchar* xnoise_ext_dev_player_device_get_filesystem_size_formatted (XnoiseExtDevPlayerDevice* self);
-gchar* xnoise_ext_dev_player_device_get_free_space_size_formatted (XnoiseExtDevPlayerDevice* self);
-GCancellable* xnoise_ext_dev_player_device_get_cancellable (XnoiseExtDevPlayerDevice* self);
-void xnoise_ext_dev_player_device_set_cancellable (XnoiseExtDevPlayerDevice* self, GCancellable* value);
-GType xnoise_imain_view_get_type (void) G_GNUC_CONST;
-GType xnoise_ext_dev_player_tree_view_get_type (void) G_GNUC_CONST;
-XnoiseExtDevPlayerMainView* xnoise_ext_dev_player_main_view_construct (GType object_type, XnoiseExtDevPlayerDevice* audio_player_device, GCancellable* cancellable);
-XnoiseExtDevPlayerTreeView* xnoise_ext_dev_player_main_view_get_tree_view (XnoiseExtDevPlayerMainView* self);
-GType xnoise_ext_dev_player_tree_store_get_type (void) G_GNUC_CONST;
-GType xnoise_ext_dev_player_tree_store_column_get_type (void) G_GNUC_CONST;
-XnoiseExtDevPlayerTreeStore* xnoise_ext_dev_player_tree_store_new (XnoiseExtDevPlayerTreeView* view, XnoiseExtDevPlayerDevice* audio_player_device, GFile** base_folders, int base_folders_length1, GCancellable* cancellable);
-XnoiseExtDevPlayerTreeStore* xnoise_ext_dev_player_tree_store_construct (GType object_type, XnoiseExtDevPlayerTreeView* view, XnoiseExtDevPlayerDevice* audio_player_device, GFile** base_folders, int base_folders_length1, GCancellable* cancellable);
-void xnoise_ext_dev_player_tree_store_filter (XnoiseExtDevPlayerTreeStore* self);
-void xnoise_ext_dev_player_tree_store_unload_children (XnoiseExtDevPlayerTreeStore* self, GtkTreeIter* iter);
-void xnoise_ext_dev_player_tree_store_load_children (XnoiseExtDevPlayerTreeStore* self, GtkTreeIter* iter);
-XnoiseExtDevPlayerTreeView* xnoise_ext_dev_player_tree_view_construct (GType object_type, XnoiseExtDevPlayerDevice* audio_player_device, GCancellable* cancellable);
-XnoiseExtDevPlayerTreeStore* xnoise_ext_dev_player_tree_view_get_tree_store (XnoiseExtDevPlayerTreeView* self);
-GFile* xnoise_ext_dev_player_tree_view_get_dest_dir (XnoiseExtDevPlayerTreeView* self);
-XnoiseExtDevAudioPlayerTempDb* xnoise_ext_dev_audio_player_temp_db_new (GCancellable* cancel);
-XnoiseExtDevAudioPlayerTempDb* xnoise_ext_dev_audio_player_temp_db_construct (GType object_type, GCancellable* cancel);
-void xnoise_ext_dev_audio_player_temp_db_begin_transaction (XnoiseExtDevAudioPlayerTempDb* self);
-void xnoise_ext_dev_audio_player_temp_db_commit_transaction (XnoiseExtDevAudioPlayerTempDb* self);
-void xnoise_ext_dev_audio_player_temp_db_insert_tracks (XnoiseExtDevAudioPlayerTempDb* self, XnoiseTrackData*** tda, int* tda_length1);
-void xnoise_ext_dev_audio_player_temp_db_remove_uri (XnoiseExtDevAudioPlayerTempDb* self, const gchar* uri);
-GType xnoise_ext_dev_device_type_get_type (void) G_GNUC_CONST;
-gboolean xnoise_ext_dev_device_initialize (XnoiseExtDevDevice* self);
-gchar* xnoise_ext_dev_device_get_uri (XnoiseExtDevDevice* self);
-DeviceMainView* xnoise_ext_dev_device_get_main_view_widget (XnoiseExtDevDevice* self);
-void xnoise_ext_dev_device_cancel (XnoiseExtDevDevice* self);
-XnoiseItemHandler* xnoise_ext_dev_device_get_item_handler (XnoiseExtDevDevice* self);
-gchar* xnoise_ext_dev_device_get_presentable_name (XnoiseExtDevDevice* self);
-gchar* xnoise_ext_dev_device_get_identifier (XnoiseExtDevDevice* self);
-GtkImage* xnoise_ext_dev_device_get_icon (XnoiseExtDevDevice* self);
-XnoiseExtDevDevice* xnoise_ext_dev_device_construct (GType object_type);
-XnoiseExtDevDeviceType xnoise_ext_dev_device_get_device_type (XnoiseExtDevDevice* self);
-void xnoise_ext_dev_device_set_device_type (XnoiseExtDevDevice* self, XnoiseExtDevDeviceType value);
-gboolean xnoise_ext_dev_device_get_in_data_transfer (XnoiseExtDevDevice* self);
-void xnoise_ext_dev_device_set_in_data_transfer (XnoiseExtDevDevice* self, gboolean value);
-gboolean xnoise_ext_dev_device_get_in_loading (XnoiseExtDevDevice* self);
-void xnoise_ext_dev_device_set_in_loading (XnoiseExtDevDevice* self, gboolean value);
-DeviceMainView* device_main_view_construct (GType object_type, XnoiseExtDevDevice* device, GCancellable* cancellable);
-gchar* device_main_view_get_view_name (DeviceMainView* self);
-gchar* device_main_view_get_localized_name (DeviceMainView* self);
-GType xnoise_ext_dev_device_manager_get_type (void) G_GNUC_CONST;
-XnoiseExtDevDeviceManager* xnoise_ext_dev_device_manager_new (void);
-XnoiseExtDevDeviceManager* xnoise_ext_dev_device_manager_construct (GType object_type);
-gpointer xnoise_ext_dev_device_manager_device_id_container_ref (gpointer instance);
-void xnoise_ext_dev_device_manager_device_id_container_unref (gpointer instance);
-GParamSpec* xnoise_ext_dev_device_manager_param_spec_device_id_container (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_ext_dev_device_manager_value_set_device_id_container (GValue* value, gpointer v_object);
-void xnoise_ext_dev_device_manager_value_take_device_id_container (GValue* value, gpointer v_object);
-gpointer xnoise_ext_dev_device_manager_value_get_device_id_container (const GValue* value);
-GType xnoise_ext_dev_device_manager_device_id_container_get_type (void) G_GNUC_CONST;
-void xnoise_ext_dev_device_manager_register_device (XnoiseExtDevDeviceManager* self, XnoiseExtDevDeviceManagerDeviceIdContainer* c);
-XnoiseExtDevDeviceManagerDeviceIdContainer* xnoise_ext_dev_device_manager_device_id_container_new (XnoiseExtDevDeviceManagerIdentificationCallback cb, void* cb_target);
-XnoiseExtDevDeviceManagerDeviceIdContainer* xnoise_ext_dev_device_manager_device_id_container_construct (GType object_type, XnoiseExtDevDeviceManagerIdentificationCallback cb, void* cb_target);
-GType xnoise_video_screen_get_type (void) G_GNUC_CONST;
-GType xnoise_gst_player_get_type (void) G_GNUC_CONST;
-XnoiseVideoScreen* xnoise_video_screen_new (XnoiseGstPlayer* player);
-XnoiseVideoScreen* xnoise_video_screen_construct (GType object_type, XnoiseGstPlayer* player);
-void xnoise_video_screen_trigger_expose (XnoiseVideoScreen* self);
-const gchar* xnoise_video_screen_get_font_family (XnoiseVideoScreen* self);
-void xnoise_video_screen_set_font_family (XnoiseVideoScreen* self, const gchar* value);
-gdouble xnoise_video_screen_get_font_size (XnoiseVideoScreen* self);
-void xnoise_video_screen_set_font_size (XnoiseVideoScreen* self, gdouble value);
-const gchar* xnoise_video_screen_get_text (XnoiseVideoScreen* self);
-void xnoise_video_screen_set_text (XnoiseVideoScreen* self, const gchar* value);
-GType xnoise_main_view_notebook_get_type (void) G_GNUC_CONST;
-XnoiseMainViewNotebook* xnoise_main_view_notebook_new (void);
-XnoiseMainViewNotebook* xnoise_main_view_notebook_construct (GType object_type);
-void xnoise_main_view_notebook_add_main_view (XnoiseMainViewNotebook* self, XnoiseIMainView* view);
-void xnoise_main_view_notebook_remove_main_view (XnoiseMainViewNotebook* self, XnoiseIMainView* view);
-gboolean xnoise_main_view_notebook_select_main_view (XnoiseMainViewNotebook* self, const gchar* name);
-gchar* xnoise_main_view_notebook_get_current_main_view_name (XnoiseMainViewNotebook* self);
-const gchar* xnoise_main_view_notebook_get_current_name (XnoiseMainViewNotebook* self);
-void xnoise_main_view_notebook_set_current_name (XnoiseMainViewNotebook* self, const gchar* value);
-GType xnoise_media_soure_widget_get_type (void) G_GNUC_CONST;
-XnoiseMediaSoureWidget* xnoise_media_soure_widget_new (XnoiseMainWindow* mwindow);
-XnoiseMediaSoureWidget* xnoise_media_soure_widget_construct (GType object_type, XnoiseMainWindow* mwindow);
-void xnoise_media_soure_widget_set_focus_on_selector (XnoiseMediaSoureWidget* self);
-void xnoise_media_soure_widget_select_dockable_by_name (XnoiseMediaSoureWidget* self, const gchar* name, gboolean emmit_signal);
-GtkEntry* xnoise_media_soure_widget_get_search_entry (XnoiseMediaSoureWidget* self);
-GType xnoise_serial_button_get_type (void) G_GNUC_CONST;
-GType xnoise_serial_button_presentation_get_type (void) G_GNUC_CONST;
-XnoiseSerialButton* xnoise_serial_button_new (XnoiseSerialButtonPresentation presentation);
-XnoiseSerialButton* xnoise_serial_button_construct (GType object_type, XnoiseSerialButtonPresentation presentation);
-gchar* xnoise_serial_button_get_active_name (XnoiseSerialButton* self);
-gboolean xnoise_serial_button_insert (XnoiseSerialButton* self, const gchar* name, const gchar* txt, GtkImage* image);
-gboolean xnoise_serial_button_has_item (XnoiseSerialButton* self, const gchar* name);
-void xnoise_serial_button_select_first (XnoiseSerialButton* self);
-void xnoise_serial_button_select (XnoiseSerialButton* self, const gchar* name, gboolean emit_signal);
-void xnoise_serial_button_set_sensitive (XnoiseSerialButton* self, const gchar* name, gboolean sensitive_status);
-void xnoise_serial_button_del (XnoiseSerialButton* self, const gchar* name);
-gint xnoise_serial_button_get_item_count (XnoiseSerialButton* self);
-GType xnoise_global_access_get_type (void) G_GNUC_CONST;
-extern GCancellable* xnoise_global_access_main_cancellable;
-void xnoise_global_access_reset_position_reference (XnoiseGlobalAccess* self);
-void xnoise_global_access_do_restart_of_current_track (XnoiseGlobalAccess* self);
-void xnoise_global_access_handle_eos (XnoiseGlobalAccess* self);
-void xnoise_global_access_preview_uri (XnoiseGlobalAccess* self, const gchar* uri);
-void xnoise_global_access_prev (XnoiseGlobalAccess* self);
-void xnoise_global_access_play (XnoiseGlobalAccess* self, gboolean pause_if_playing);
-void xnoise_global_access_pause (XnoiseGlobalAccess* self);
-void xnoise_global_access_next (XnoiseGlobalAccess* self);
-void xnoise_global_access_stop (XnoiseGlobalAccess* self);
-XnoiseGlobalAccess* xnoise_global_access_new (void);
-XnoiseGlobalAccess* xnoise_global_access_construct (GType object_type);
-const gchar* xnoise_global_access_get_searchtext (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_searchtext (XnoiseGlobalAccess* self, const gchar* value);
-const gchar* xnoise_global_access_get_active_dockable_media_name (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_active_dockable_media_name (XnoiseGlobalAccess* self, const gchar* value);
-XnoiseCollectionSortMode xnoise_global_access_get_collection_sort_mode (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_collection_sort_mode (XnoiseGlobalAccess* self, XnoiseCollectionSortMode value);
-GType xnoise_player_state_get_type (void) G_GNUC_CONST;
-XnoisePlayerState xnoise_global_access_get_player_state (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_player_state (XnoiseGlobalAccess* self, XnoisePlayerState value);
-const gchar* xnoise_global_access_get_current_uri (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_uri (XnoiseGlobalAccess* self, const gchar* value);
-const GtkTreeRowReference* xnoise_global_access_get_position_reference (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_position_reference (XnoiseGlobalAccess* self, const GtkTreeRowReference* value);
-const GtkTreeRowReference* xnoise_global_access_get_position_reference_next (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_position_reference_next (XnoiseGlobalAccess* self, const GtkTreeRowReference* value);
-gboolean xnoise_global_access_get_media_import_in_progress (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_media_import_in_progress (XnoiseGlobalAccess* self, gboolean value);
-const gchar* xnoise_global_access_get_current_artist (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_artist (XnoiseGlobalAccess* self, const gchar* value);
-const gchar* xnoise_global_access_get_current_albumartist (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_albumartist (XnoiseGlobalAccess* self, const gchar* value);
-const gchar* xnoise_global_access_get_current_album (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_album (XnoiseGlobalAccess* self, const gchar* value);
-const gchar* xnoise_global_access_get_current_title (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_title (XnoiseGlobalAccess* self, const gchar* value);
-const gchar* xnoise_global_access_get_current_location (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_location (XnoiseGlobalAccess* self, const gchar* value);
-const gchar* xnoise_global_access_get_current_genre (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_genre (XnoiseGlobalAccess* self, const gchar* value);
-const gchar* xnoise_global_access_get_current_organization (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_current_organization (XnoiseGlobalAccess* self, const gchar* value);
-gboolean xnoise_global_access_get_in_preview (XnoiseGlobalAccess* self);
-void xnoise_global_access_set_in_preview (XnoiseGlobalAccess* self, gboolean value);
-GType xnoise_icon_repo_get_type (void) G_GNUC_CONST;
-GtkImage* xnoise_icon_repo_get_themed_image_icon (const gchar* name, GtkIconSize size, gint pixelsize);
-GdkPixbuf* xnoise_icon_repo_get_themed_pixbuf_icon (const gchar* name, gint pixel_size, GtkStyleContext* style_context);
-XnoiseIconRepo* xnoise_icon_repo_new (void);
-XnoiseIconRepo* xnoise_icon_repo_construct (GType object_type);
-GType xnoise_extern_queryable_get_type (void) G_GNUC_CONST;
-gint xnoise_extern_queryable_get_model_item_column (XnoiseExternQueryable* self);
-XnoiseDataSource* xnoise_extern_queryable_get_data_source (XnoiseExternQueryable* self);
-void xnoise_item_init (XnoiseItem *self, XnoiseItemType _type, const gchar* _uri, gint32 _db_id);
-GType xnoise_item_converter_get_type (void) G_GNUC_CONST;
-XnoiseTrackData** xnoise_item_converter_to_trackdata (XnoiseItemConverter* self, XnoiseItem* item, const gchar* searchtext, GHashTable* extra_items, int* result_length1);
-XnoiseItemConverter* xnoise_item_converter_new (void);
-XnoiseItemConverter* xnoise_item_converter_construct (GType object_type);
-GType xnoise_action_context_get_type (void) G_GNUC_CONST;
-GType xnoise_item_selection_type_get_type (void) G_GNUC_CONST;
-GType xnoise_item_handler_type_get_type (void) G_GNUC_CONST;
-gpointer xnoise_action_ref (gpointer instance);
-void xnoise_action_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_action (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_action (GValue* value, gpointer v_object);
-void xnoise_value_take_action (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_action (const GValue* value);
-GType xnoise_action_get_type (void) G_GNUC_CONST;
-XnoiseAction* xnoise_action_new (void);
-XnoiseAction* xnoise_action_construct (GType object_type);
-GType xnoise_item_handler_manager_get_type (void) G_GNUC_CONST;
-gboolean xnoise_item_handler_set_manager (XnoiseItemHandler* self, XnoiseItemHandlerManager* _uhm);
-XnoiseItemHandlerType xnoise_item_handler_handler_type (XnoiseItemHandler* self);
-const gchar* xnoise_item_handler_handler_name (XnoiseItemHandler* self);
-XnoiseAction* xnoise_item_handler_get_action (XnoiseItemHandler* self, XnoiseItemType type, XnoiseActionContext context, XnoiseItemSelectionType selection);
-XnoiseItemHandler* xnoise_item_handler_construct (GType object_type);
-GArray* xnoise_item_handler_manager_get_actions (XnoiseItemHandlerManager* self, XnoiseItemType type, XnoiseActionContext context, XnoiseItemSelectionType selection);
-void xnoise_item_handler_manager_add_handler (XnoiseItemHandlerManager* self, XnoiseItemHandler* handler);
-void xnoise_item_handler_manager_remove_handler (XnoiseItemHandlerManager* self, XnoiseItemHandler* handler);
-XnoiseItemHandler* xnoise_item_handler_manager_get_handler_by_type (XnoiseItemHandlerManager* self, XnoiseItemHandlerType type);
-XnoiseItemHandler* xnoise_item_handler_manager_get_handler_by_name (XnoiseItemHandlerManager* self, const gchar* name);
-XnoiseItem* xnoise_item_handler_manager_create_item (const gchar* uri);
-void xnoise_item_handler_manager_execute_actions_for_item (XnoiseItemHandlerManager* self, XnoiseItem* item, XnoiseActionContext context, GValue* data, XnoiseItemSelectionType selection);
-XnoiseItemHandlerManager* xnoise_item_handler_manager_new (void);
-XnoiseItemHandlerManager* xnoise_item_handler_manager_construct (GType object_type);
-GType xnoise_dyn_playlist_type_get_type (void) G_GNUC_CONST;
-GType xnoise_tree_queryable_get_type (void) G_GNUC_CONST;
-gint xnoise_tree_queryable_get_model_item_column (XnoiseTreeQueryable* self);
-GtkTreeModel* xnoise_tree_queryable_get_queryable_model (XnoiseTreeQueryable* self);
-GList* xnoise_tree_queryable_query_selection (XnoiseTreeQueryable* self);
-GType xnoise_ilyrics_get_type (void) G_GNUC_CONST;
-void xnoise_ilyrics_find_lyrics (XnoiseILyrics* self);
-gchar* xnoise_ilyrics_get_identifier (XnoiseILyrics* self);
-gchar* xnoise_ilyrics_get_credits (XnoiseILyrics* self);
-guint xnoise_ilyrics_get_timeout (XnoiseILyrics* self);
-gboolean xnoise_ilyrics_timeout_elapsed (XnoiseILyrics* self);
-void xnoise_ilyrics_destruct (XnoiseILyrics* self);
-GType xnoise_plugin_module_container_get_type (void) G_GNUC_CONST;
-GType xnoise_plugin_module_iplugin_get_type (void) G_GNUC_CONST;
-GType xnoise_lyrics_loader_get_type (void) G_GNUC_CONST;
-GType xnoise_ilyrics_provider_get_type (void) G_GNUC_CONST;
-XnoiseILyrics* xnoise_ilyrics_provider_from_tags (XnoiseILyricsProvider* self, XnoiseLyricsLoader* loader, const gchar* artist, const gchar* title, XnoiseLyricsFetchedCallback cb, void* cb_target);
-gboolean xnoise_ilyrics_provider_equals (XnoiseILyricsProvider* self, XnoiseILyricsProvider* other);
-gint xnoise_ilyrics_provider_get_priority (XnoiseILyricsProvider* self);
-void xnoise_ilyrics_provider_set_priority (XnoiseILyricsProvider* self, gint value);
-const gchar* xnoise_ilyrics_provider_get_provider_name (XnoiseILyricsProvider* self);
-XnoiseLyricsLoader* xnoise_lyrics_loader_new (void);
-XnoiseLyricsLoader* xnoise_lyrics_loader_construct (GType object_type);
-GType xnoise_lyrics_view_get_type (void) G_GNUC_CONST;
-XnoiseLyricsView* xnoise_lyrics_view_new (void);
-XnoiseLyricsView* xnoise_lyrics_view_construct (GType object_type);
-void xnoise_lyrics_view_lyrics_provider_unregister (XnoiseLyricsView* self, XnoiseILyricsProvider* lp);
-XnoiseLyricsLoader* xnoise_lyrics_view_get_loader (XnoiseLyricsView* self);
-XnoiseMain* xnoise_main_new (void);
-XnoiseMain* xnoise_main_construct (GType object_type);
-void xnoise_main_immediate_play (XnoiseMain* self, const gchar* uri);
-gboolean xnoise_main_is_same_thread (XnoiseMain* self);
-void xnoise_main_quit (XnoiseMain* self);
-XnoiseMain* xnoise_main_get_instance (void);
-GType xnoise_iparams_get_type (void) G_GNUC_CONST;
-GType xnoise_album_art_view_get_type (void) G_GNUC_CONST;
-gpointer xnoise_fullscreen_toolbar_ref (gpointer instance);
-void xnoise_fullscreen_toolbar_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_fullscreen_toolbar (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_fullscreen_toolbar (GValue* value, gpointer v_object);
-void xnoise_value_take_fullscreen_toolbar (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_fullscreen_toolbar (const GValue* value);
-GType xnoise_fullscreen_toolbar_get_type (void) G_GNUC_CONST;
-GType xnoise_thin_paned_get_type (void) G_GNUC_CONST;
-GType xnoise_track_infobar_get_type (void) G_GNUC_CONST;
-GType xnoise_music_browser_get_type (void) G_GNUC_CONST;
-GType xnoise_main_window_settings_dialog_get_type (void) G_GNUC_CONST;
-GType xnoise_main_window_player_repeat_mode_get_type (void) G_GNUC_CONST;
-XnoiseMainWindow* xnoise_main_window_new (void);
-XnoiseMainWindow* xnoise_main_window_construct (GType object_type);
-void xnoise_main_window_toggle_fullscreen (XnoiseMainWindow* self);
-void xnoise_main_window_toggle_window_visbility (XnoiseMainWindow* self);
-void xnoise_main_window_show_window (XnoiseMainWindow* self);
-void xnoise_main_window_reset_mainview_to_tracklist (XnoiseMainWindow* self);
-XnoiseLyricsView* xnoise_main_window_get_lyricsView (XnoiseMainWindow* self);
-XnoiseMainViewNotebook* xnoise_main_window_get_mainview_box (XnoiseMainWindow* self);
-GtkUIManager* xnoise_main_window_get_ui_manager (XnoiseMainWindow* self);
-void xnoise_main_window_set_ui_manager (XnoiseMainWindow* self, GtkUIManager* value);
-gboolean xnoise_main_window_get_not_show_art_on_hover_image (XnoiseMainWindow* self);
-void xnoise_main_window_set_not_show_art_on_hover_image (XnoiseMainWindow* self, gboolean value);
-gboolean xnoise_main_window_get_active_lyrics (XnoiseMainWindow* self);
-void xnoise_main_window_set_active_lyrics (XnoiseMainWindow* self, gboolean value);
-gboolean xnoise_main_window_get_media_browser_visible (XnoiseMainWindow* self);
-void xnoise_main_window_set_media_browser_visible (XnoiseMainWindow* self, gboolean value);
-XnoiseMainWindowPlayerRepeatMode xnoise_main_window_get_repeatState (XnoiseMainWindow* self);
-void xnoise_main_window_set_repeatState (XnoiseMainWindow* self, XnoiseMainWindowPlayerRepeatMode value);
-gboolean xnoise_main_window_get_fullscreenwindowvisible (XnoiseMainWindow* self);
-void xnoise_main_window_set_fullscreenwindowvisible (XnoiseMainWindow* self, gboolean value);
-gboolean xnoise_main_window_get_window_in_foreground (XnoiseMainWindow* self);
-void xnoise_main_window_set_window_in_foreground (XnoiseMainWindow* self, gboolean value);
-gboolean xnoise_main_window_get_album_art_view_visible (XnoiseMainWindow* self);
-void xnoise_main_window_set_album_art_view_visible (XnoiseMainWindow* self, gboolean value);
-GType xnoise_media_monitor_get_type (void) G_GNUC_CONST;
-XnoiseMediaMonitor* xnoise_media_monitor_new (void);
-XnoiseMediaMonitor* xnoise_media_monitor_construct (GType object_type);
-void xnoise_iparams_read_params_data (XnoiseIParams* self);
-void xnoise_iparams_write_params_data (XnoiseIParams* self);
-GType xnoise_params_get_type (void) G_GNUC_CONST;
-gboolean xnoise_params_is_inited (void);
-void xnoise_params_init (void);
-void xnoise_params_iparams_register (XnoiseIParams* iparam);
-void xnoise_params_set_start_parameters_in_implementors (void);
-void xnoise_params_write_all_parameters_to_file (void);
-gboolean xnoise_params_get_bool_value (const gchar* key);
-gint xnoise_params_get_int_value (const gchar* key);
-gdouble xnoise_params_get_double_value (const gchar* key);
-gchar** xnoise_params_get_string_list_value (const gchar* key, int* result_length1);
-gchar* xnoise_params_get_string_value (const gchar* key);
-void xnoise_params_set_bool_value (const gchar* key, gboolean val);
-void xnoise_params_set_int_value (const gchar* key, gint val);
-void xnoise_params_set_double_value (const gchar* key, gdouble val);
-void xnoise_params_set_string_list_value (const gchar* key, gchar** val, int val_length1);
-void xnoise_params_set_string_value (const gchar* key, const gchar* val);
-XnoiseParams* xnoise_params_new (void);
-XnoiseParams* xnoise_params_construct (GType object_type);
-GType xnoise_gst_equalizer_get_type (void) G_GNUC_CONST;
-XnoiseGstPlayer* xnoise_gst_player_new (void);
-XnoiseGstPlayer* xnoise_gst_player_construct (GType object_type);
-void xnoise_gst_player_set_subtitle_uri (XnoiseGstPlayer* self, const gchar* s_uri);
-void xnoise_gst_player_play (XnoiseGstPlayer* self);
-void xnoise_gst_player_pause (XnoiseGstPlayer* self);
-void xnoise_gst_player_stop (XnoiseGstPlayer* self);
-void xnoise_gst_player_playSong (XnoiseGstPlayer* self, gboolean force_play);
-void xnoise_gst_player_request_micro_time_offset (XnoiseGstPlayer* self, gint64 micro_seconds);
-void xnoise_gst_player_request_time_offset (XnoiseGstPlayer* self, gint seconds);
-gchar** xnoise_gst_player_get_available_subtitles (XnoiseGstPlayer* self, int* result_length1);
-gchar** xnoise_gst_player_get_available_audiotracks (XnoiseGstPlayer* self, int* result_length1);
-gboolean xnoise_gst_player_get_current_has_video_track (XnoiseGstPlayer* self);
-gboolean xnoise_gst_player_get_current_has_subtitles (XnoiseGstPlayer* self);
-gdouble xnoise_gst_player_get_volume (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_volume (XnoiseGstPlayer* self, gdouble value);
-gdouble xnoise_gst_player_get_preamplification (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_preamplification (XnoiseGstPlayer* self, gdouble value);
-gboolean xnoise_gst_player_get_playing (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_playing (XnoiseGstPlayer* self, gboolean value);
-gboolean xnoise_gst_player_get_paused (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_paused (XnoiseGstPlayer* self, gboolean value);
-gboolean xnoise_gst_player_get_seeking (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_seeking (XnoiseGstPlayer* self, gboolean value);
-gboolean xnoise_gst_player_get_is_stream (XnoiseGstPlayer* self);
-gboolean xnoise_gst_player_get_buffering (XnoiseGstPlayer* self);
-gint64 xnoise_gst_player_get_length_nsecs (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_length_nsecs (XnoiseGstPlayer* self, gint64 value);
-const gchar* xnoise_gst_player_get_uri (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_uri (XnoiseGstPlayer* self, const gchar* value);
-const gchar* xnoise_gst_player_get_suburi (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_suburi (XnoiseGstPlayer* self, const gchar* value);
-gint xnoise_gst_player_get_current_text (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_current_text (XnoiseGstPlayer* self, gint value);
-gint xnoise_gst_player_get_current_audio (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_current_audio (XnoiseGstPlayer* self, gint value);
-gint xnoise_gst_player_get_current_video (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_current_video (XnoiseGstPlayer* self, gint value);
-gint xnoise_gst_player_get_n_text (XnoiseGstPlayer* self);
-gint xnoise_gst_player_get_n_audio (XnoiseGstPlayer* self);
-gint xnoise_gst_player_get_n_video (XnoiseGstPlayer* self);
-gint64 xnoise_gst_player_get_abs_position_microseconds (XnoiseGstPlayer* self);
-gdouble xnoise_gst_player_get_position (XnoiseGstPlayer* self);
-void xnoise_gst_player_set_position (XnoiseGstPlayer* self, gdouble value);
-GQuark xnoise_playlist_reader_error_quark (void);
-GType xnoise_playlist_list_type_get_type (void) G_GNUC_CONST;
-GType xnoise_playlist_result_get_type (void) G_GNUC_CONST;
-GType xnoise_playlist_target_type_get_type (void) G_GNUC_CONST;
-gboolean xnoise_playlist_is_playlist_extension (const gchar* ext);
-extern gboolean xnoise_playlist_debug;
-gboolean xnoise_playlist_is_known_playlist_extension (gchar** ext);
-gchar* xnoise_playlist_get_extension (GFile* f);
-gpointer xnoise_playlist_entry_ref (gpointer instance);
-void xnoise_playlist_entry_unref (gpointer instance);
-GParamSpec* xnoise_playlist_param_spec_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_playlist_value_set_entry (GValue* value, gpointer v_object);
-void xnoise_playlist_value_take_entry (GValue* value, gpointer v_object);
-gpointer xnoise_playlist_value_get_entry (const GValue* value);
-GType xnoise_playlist_entry_get_type (void) G_GNUC_CONST;
-GType xnoise_playlist_entry_field_get_type (void) G_GNUC_CONST;
-XnoisePlaylistEntry* xnoise_playlist_entry_new (void);
-XnoisePlaylistEntry* xnoise_playlist_entry_construct (GType object_type);
-void xnoise_playlist_entry_add_field (XnoisePlaylistEntry* self, XnoisePlaylistEntryField field, const gchar* val);
-XnoisePlaylistEntryField* xnoise_playlist_entry_get_contained_fields (XnoisePlaylistEntry* self, int* result_length1);
-gchar* xnoise_playlist_entry_get_field (XnoisePlaylistEntry* self, XnoisePlaylistEntryField field);
-gchar* xnoise_playlist_entry_get_uri (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_rel_path (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_abs_path (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_title (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_author (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_genre (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_album (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_copyright (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_duration_string (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_param_name (XnoisePlaylistEntry* self);
-gchar* xnoise_playlist_entry_get_param_value (XnoisePlaylistEntry* self);
-glong xnoise_playlist_entry_get_duration (XnoisePlaylistEntry* self);
-gboolean xnoise_playlist_entry_is_remote (XnoisePlaylistEntry* self);
-gboolean xnoise_playlist_entry_is_playlist (XnoisePlaylistEntry* self);
-XnoisePlaylistTargetType xnoise_playlist_entry_get_target_type (XnoisePlaylistEntry* self);
-void xnoise_playlist_entry_set_target_type (XnoisePlaylistEntry* self, XnoisePlaylistTargetType value);
-const gchar* xnoise_playlist_entry_get_base_path (XnoisePlaylistEntry* self);
-void xnoise_playlist_entry_set_base_path (XnoisePlaylistEntry* self, const gchar* value);
-gpointer xnoise_playlist_entry_collection_ref (gpointer instance);
-void xnoise_playlist_entry_collection_unref (gpointer instance);
-GParamSpec* xnoise_playlist_param_spec_entry_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_playlist_value_set_entry_collection (GValue* value, gpointer v_object);
-void xnoise_playlist_value_take_entry_collection (GValue* value, gpointer v_object);
-gpointer xnoise_playlist_value_get_entry_collection (const GValue* value);
-GType xnoise_playlist_entry_collection_get_type (void) G_GNUC_CONST;
-XnoisePlaylistEntryCollection* xnoise_playlist_entry_collection_new (void);
-XnoisePlaylistEntryCollection* xnoise_playlist_entry_collection_construct (GType object_type);
-gint xnoise_playlist_entry_collection_get_size (XnoisePlaylistEntryCollection* self);
-void xnoise_playlist_entry_collection_add_general_info (XnoisePlaylistEntryCollection* self, const gchar* key, const gchar* val);
-gchar** xnoise_playlist_entry_collection_get_general_info_keys (XnoisePlaylistEntryCollection* self, int* result_length1);
-gchar* xnoise_playlist_entry_collection_get_general_info (XnoisePlaylistEntryCollection* self, const gchar* key);
-gboolean xnoise_playlist_entry_collection_data_available (XnoisePlaylistEntryCollection* self);
-gchar** xnoise_playlist_entry_collection_get_found_uris (XnoisePlaylistEntryCollection* self, int* result_length1);
-gchar* xnoise_playlist_entry_collection_get_title_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gchar* xnoise_playlist_entry_collection_get_author_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gchar* xnoise_playlist_entry_collection_get_genre_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gchar* xnoise_playlist_entry_collection_get_album_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gchar* xnoise_playlist_entry_collection_get_copyright_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gchar* xnoise_playlist_entry_collection_get_duration_string_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-glong xnoise_playlist_entry_collection_get_duration_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gchar* xnoise_playlist_entry_collection_get_param_name_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gchar* xnoise_playlist_entry_collection_get_param_value_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gboolean xnoise_playlist_entry_collection_get_is_remote_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gboolean xnoise_playlist_entry_collection_get_is_playlist_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri_needle);
-gint xnoise_playlist_entry_collection_get_number_of_entries (XnoisePlaylistEntryCollection* self);
-gboolean xnoise_playlist_entry_collection_contains (XnoisePlaylistEntryCollection* self, XnoisePlaylistEntry* d);
-gboolean xnoise_playlist_entry_collection_contains_field (XnoisePlaylistEntryCollection* self, XnoisePlaylistEntryField field, const gchar* value);
-XnoisePlaylistEntryField* xnoise_playlist_entry_collection_get_contained_fields_for_idx (XnoisePlaylistEntryCollection* self, gint idx, int* result_length1);
-XnoisePlaylistEntryField* xnoise_playlist_entry_collection_get_contained_fields_for_uri (XnoisePlaylistEntryCollection* self, gchar** uri, int* result_length1);
-gpointer xnoise_playlist_entry_collection_iterator_ref (gpointer instance);
-void xnoise_playlist_entry_collection_iterator_unref (gpointer instance);
-GParamSpec* xnoise_playlist_entry_collection_param_spec_iterator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_playlist_entry_collection_value_set_iterator (GValue* value, gpointer v_object);
-void xnoise_playlist_entry_collection_value_take_iterator (GValue* value, gpointer v_object);
-gpointer xnoise_playlist_entry_collection_value_get_iterator (const GValue* value);
-GType xnoise_playlist_entry_collection_iterator_get_type (void) G_GNUC_CONST;
-XnoisePlaylistEntryCollectionIterator* xnoise_playlist_entry_collection_iterator (XnoisePlaylistEntryCollection* self);
-gint xnoise_playlist_entry_collection_index_of (XnoisePlaylistEntryCollection* self, XnoisePlaylistEntry* d);
-XnoisePlaylistEntry* xnoise_playlist_entry_collection_get (XnoisePlaylistEntryCollection* self, gint index);
-void xnoise_playlist_entry_collection_set (XnoisePlaylistEntryCollection* self, gint index, XnoisePlaylistEntry* item);
-gboolean xnoise_playlist_entry_collection_append (XnoisePlaylistEntryCollection* self, XnoisePlaylistEntry* item);
-void xnoise_playlist_entry_collection_insert (XnoisePlaylistEntryCollection* self, gint index, XnoisePlaylistEntry* item);
-gboolean xnoise_playlist_entry_collection_remove (XnoisePlaylistEntryCollection* self, XnoisePlaylistEntry* item);
-XnoisePlaylistEntry* xnoise_playlist_entry_collection_remove_at (XnoisePlaylistEntryCollection* self, gint index);
-void xnoise_playlist_entry_collection_clear (XnoisePlaylistEntryCollection* self);
-void xnoise_playlist_entry_collection_merge (XnoisePlaylistEntryCollection* self, XnoisePlaylistEntryCollection* data_collection);
-XnoisePlaylistEntryCollectionIterator* xnoise_playlist_entry_collection_iterator_new (XnoisePlaylistEntryCollection* dc);
-XnoisePlaylistEntryCollectionIterator* xnoise_playlist_entry_collection_iterator_construct (GType object_type, XnoisePlaylistEntryCollection* dc);
-gboolean xnoise_playlist_entry_collection_iterator_next (XnoisePlaylistEntryCollectionIterator* self);
-gboolean xnoise_playlist_entry_collection_iterator_first (XnoisePlaylistEntryCollectionIterator* self);
-XnoisePlaylistEntry* xnoise_playlist_entry_collection_iterator_get (XnoisePlaylistEntryCollectionIterator* self);
-void xnoise_playlist_entry_collection_iterator_remove (XnoisePlaylistEntryCollectionIterator* self);
-gboolean xnoise_playlist_entry_collection_iterator_previous (XnoisePlaylistEntryCollectionIterator* self);
-gboolean xnoise_playlist_entry_collection_iterator_has_previous (XnoisePlaylistEntryCollectionIterator* self);
-void xnoise_playlist_entry_collection_iterator_set (XnoisePlaylistEntryCollectionIterator* self, XnoisePlaylistEntry* item);
-void xnoise_playlist_entry_collection_iterator_insert (XnoisePlaylistEntryCollectionIterator* self, XnoisePlaylistEntry* item);
-void xnoise_playlist_entry_collection_iterator_append (XnoisePlaylistEntryCollectionIterator* self, XnoisePlaylistEntry* item);
-gint xnoise_playlist_entry_collection_iterator_index (XnoisePlaylistEntryCollectionIterator* self);
-GType xnoise_playlist_reader_get_type (void) G_GNUC_CONST;
-XnoisePlaylistReader* xnoise_playlist_reader_new (void);
-XnoisePlaylistReader* xnoise_playlist_reader_construct (GType object_type);
-XnoisePlaylistResult xnoise_playlist_reader_read (XnoisePlaylistReader* self, const gchar* list_uri, GCancellable* cancellable, GError** error);
-void xnoise_playlist_reader_read_asyn (XnoisePlaylistReader* self, const gchar* list_uri, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
-XnoisePlaylistResult xnoise_playlist_reader_read_asyn_finish (XnoisePlaylistReader* self, GAsyncResult* _res_, GError** error);
-gboolean xnoise_playlist_reader_is_playlist (gchar** uri_);
-gboolean xnoise_playlist_reader_data_available (XnoisePlaylistReader* self);
-gint xnoise_playlist_reader_get_number_of_entries (XnoisePlaylistReader* self);
-gchar** xnoise_playlist_reader_get_found_uris (XnoisePlaylistReader* self, int* result_length1);
-gchar* xnoise_playlist_reader_get_title_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-gchar* xnoise_playlist_reader_get_author_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-gchar* xnoise_playlist_reader_get_genre_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-gchar* xnoise_playlist_reader_get_album_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-gchar* xnoise_playlist_reader_get_copyright_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-gchar* xnoise_playlist_reader_get_duration_string_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-glong xnoise_playlist_reader_get_duration_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-gboolean xnoise_playlist_reader_get_is_remote_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-gboolean xnoise_playlist_reader_get_is_playlist_for_uri (XnoisePlaylistReader* self, gchar** uri_needle);
-XnoisePlaylistListType xnoise_playlist_reader_get_ptype (XnoisePlaylistReader* self);
-const gchar* xnoise_playlist_reader_get_playlist_uri (XnoisePlaylistReader* self);
-XnoisePlaylistEntryCollection* xnoise_playlist_reader_get_data_collection (XnoisePlaylistReader* self);
-XnoisePlaylistListType xnoise_playlist_get_playlist_type_for_uri (gchar** uri_);
-XnoisePlaylistListType xnoise_playlist_get_type_by_extension (gchar** uri_);
-XnoisePlaylistListType xnoise_playlist_get_type_by_data (gchar** uri_);
-glong xnoise_playlist_get_duration_from_string (gchar** duration_string);
-GFile* xnoise_playlist_get_file_for_location (const gchar* adr, gchar** base_path, XnoisePlaylistTargetType* tt);
-GType xnoise_plugin_module_information_get_type (void) G_GNUC_CONST;
-XnoisePluginModuleContainer* xnoise_plugin_module_container_new (XnoisePluginModuleInformation* info);
-XnoisePluginModuleContainer* xnoise_plugin_module_container_construct (GType object_type, XnoisePluginModuleInformation* info);
-void xnoise_plugin_module_container_activate (XnoisePluginModuleContainer* self);
-void xnoise_plugin_module_container_deactivate (XnoisePluginModuleContainer* self);
-GtkWidget* xnoise_plugin_module_container_settingwidget (XnoisePluginModuleContainer* self);
-XnoisePluginModuleInformation* xnoise_plugin_module_container_get_info (XnoisePluginModuleContainer* self);
-gboolean xnoise_plugin_module_container_get_loaded (XnoisePluginModuleContainer* self);
-gboolean xnoise_plugin_module_container_get_activated (XnoisePluginModuleContainer* self);
-gboolean xnoise_plugin_module_container_get_configurable (XnoisePluginModuleContainer* self);
-gboolean xnoise_plugin_module_container_get_is_lyrics_plugin (XnoisePluginModuleContainer* self);
-gboolean xnoise_plugin_module_container_get_is_album_image_plugin (XnoisePluginModuleContainer* self);
-GType plugin_category_get_type (void) G_GNUC_CONST;
-XnoisePluginModuleInformation* xnoise_plugin_module_information_new (const gchar* xplug_file);
-XnoisePluginModuleInformation* xnoise_plugin_module_information_construct (GType object_type, const gchar* xplug_file);
-gboolean xnoise_plugin_module_information_load_info (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_xplug_file (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_name (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_pretty_name (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_icon (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_module (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_description (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_website (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_license (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_copyright (XnoisePluginModuleInformation* self);
-const gchar* xnoise_plugin_module_information_get_author (XnoisePluginModuleInformation* self);
-gboolean xnoise_plugin_module_information_get_user_activatable (XnoisePluginModuleInformation* self);
-PluginCategory xnoise_plugin_module_information_get_category (XnoisePluginModuleInformation* self);
-gboolean xnoise_plugin_module_iplugin_init (XnoisePluginModuleIPlugin* self);
-void xnoise_plugin_module_iplugin_uninit (XnoisePluginModuleIPlugin* self);
-gboolean xnoise_plugin_module_iplugin_has_settings_widget (XnoisePluginModuleIPlugin* self);
-GtkWidget* xnoise_plugin_module_iplugin_get_settings_widget (XnoisePluginModuleIPlugin* self);
-XnoisePluginModuleContainer* xnoise_plugin_module_iplugin_get_owner (XnoisePluginModuleIPlugin* self);
-void xnoise_plugin_module_iplugin_set_owner (XnoisePluginModuleIPlugin* self, XnoisePluginModuleContainer* value);
-const gchar* xnoise_plugin_module_iplugin_get_name (XnoisePluginModuleIPlugin* self);
-XnoiseMain* xnoise_plugin_module_iplugin_get_xn (XnoisePluginModuleIPlugin* self);
-void xnoise_plugin_module_iplugin_set_xn (XnoisePluginModuleIPlugin* self, XnoiseMain* value);
-GType xnoise_plugin_module_loader_get_type (void) G_GNUC_CONST;
-XnoisePluginModuleLoader* xnoise_plugin_module_loader_new (void);
-XnoisePluginModuleLoader* xnoise_plugin_module_loader_construct (GType object_type);
-gboolean xnoise_plugin_module_loader_activate_single_plugin (XnoisePluginModuleLoader* self, const gchar* module);
-void xnoise_plugin_module_loader_deactivate_single_plugin (XnoisePluginModuleLoader* self, const gchar* module);
-gboolean xnoise_plugin_module_loader_get_loaded (XnoisePluginModuleLoader* self);
-#define XNOISE_RESOURCES_UNKNOWN_ARTIST "unknown artist"
-#define XNOISE_RESOURCES_VARIOUS_ARTISTS "Various artists"
-#define XNOISE_RESOURCES_UNKNOWN_TITLE "unknown title"
-#define XNOISE_RESOURCES_UNKNOWN_ALBUM "unknown album"
-#define XNOISE_RESOURCES_UNKNOWN_GENRE "unknown genre"
-#define XNOISE_RESOURCES_UNKNOWN_ORGANIZATION "unknown organization"
-#define XNOISE_RESOURCES_UNKNOWN_LOCATION "unknown location"
-#define XNOISE_RESOURCES_EMPTYSTRING ""
-#define XNOISE_RESOURCES_VA_ICON_SYMBOLIC "system-users-symbolic"
-#define XNOISE_RESOURCES_ARTIST_ICON_SYMBOLIC "avatar-default-symbolic"
-#define XNOISE_RESOURCES_ALBUM_ICON_SYMBOLIC "media-optical-symbolic"
-#define XNOISE_RESOURCES_TITLE_ICON_SYMBOLIC "audio-x-generic-symbolic"
-#define XNOISE_RESOURCES_GENRE_ICON_SYMBOLIC "emblem-documents-symbolic"
-#define XNOISE_RESOURCES_VIDEO_ICON_SYMBOLIC "video-x-generic-symbolic"
-#define XNOISE_RESOURCES_STREAM_ICON_SYMBOLIC "network-cellular-signal-excellent-symbolic"
-#define XNOISE_RESOURCES_MAIN_DATABASE_NAME "db.sqlite"
-#define XNOISE_RESOURCES_INIFILE "xnoise.ini"
-#define XNOISE_RESOURCES_VIDEOVIEW_NAME "VideoView"
-#define XNOISE_RESOURCES_TRACKLIST_VIEW_NAME "TrackListView"
-#define XNOISE_RESOURCES_LYRICS_VIEW_NAME "LyricsView"
-#define XNOISE_RESOURCES_VIDEOTHUMBNAILSIZE 40
-#define XNOISE_RESOURCES_UNKNOWN_ARTIST_LOCALIZED _ ("unknown artist")
-#define XNOISE_RESOURCES_UNKNOWN_TITLE_LOCALIZED _ ("unknown title")
-#define XNOISE_RESOURCES_UNKNOWN_ALBUM_LOCALIZED _ ("unknown album")
-gpointer xnoise_simple_markup_node_ref (gpointer instance);
-void xnoise_simple_markup_node_unref (gpointer instance);
-GParamSpec* xnoise_simple_markup_param_spec_node (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_simple_markup_value_set_node (GValue* value, gpointer v_object);
-void xnoise_simple_markup_value_take_node (GValue* value, gpointer v_object);
-gpointer xnoise_simple_markup_value_get_node (const GValue* value);
-GType xnoise_simple_markup_node_get_type (void) G_GNUC_CONST;
-gpointer xnoise_simple_markup_node_attributes_ref (gpointer instance);
-void xnoise_simple_markup_node_attributes_unref (gpointer instance);
-GParamSpec* xnoise_simple_markup_node_param_spec_attributes (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_simple_markup_node_value_set_attributes (GValue* value, gpointer v_object);
-void xnoise_simple_markup_node_value_take_attributes (GValue* value, gpointer v_object);
-gpointer xnoise_simple_markup_node_value_get_attributes (const GValue* value);
-GType xnoise_simple_markup_node_attributes_get_type (void) G_GNUC_CONST;
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_new (const gchar* name);
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_construct (GType object_type, const gchar* name);
-gboolean xnoise_simple_markup_node_has_text (XnoiseSimpleMarkupNode* self);
-gboolean xnoise_simple_markup_node_has_children (XnoiseSimpleMarkupNode* self);
-gboolean xnoise_simple_markup_node_has_attributes (XnoiseSimpleMarkupNode* self);
-void xnoise_simple_markup_node_prepend_child (XnoiseSimpleMarkupNode* self, XnoiseSimpleMarkupNode* node);
-void xnoise_simple_markup_node_append_child (XnoiseSimpleMarkupNode* self, XnoiseSimpleMarkupNode* node);
-void xnoise_simple_markup_node_insert_child (XnoiseSimpleMarkupNode* self, gint pos, XnoiseSimpleMarkupNode* node);
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_child_by_name (XnoiseSimpleMarkupNode* self, const gchar* childname);
-XnoiseSimpleMarkupNode** xnoise_simple_markup_node_get_children_by_name (XnoiseSimpleMarkupNode* self, const gchar* childname, int* result_length1);
-gint xnoise_simple_markup_node_get_idx_of_child (XnoiseSimpleMarkupNode* self, XnoiseSimpleMarkupNode* node);
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get (XnoiseSimpleMarkupNode* self, gint idx);
-void xnoise_simple_markup_node_set (XnoiseSimpleMarkupNode* self, gint idx, XnoiseSimpleMarkupNode* node);
-gboolean xnoise_simple_markup_node_remove_child (XnoiseSimpleMarkupNode* self, XnoiseSimpleMarkupNode* node);
-gboolean xnoise_simple_markup_node_remove_child_at_idx (XnoiseSimpleMarkupNode* self, gint idx);
-void xnoise_simple_markup_node_clear (XnoiseSimpleMarkupNode* self);
-gpointer xnoise_simple_markup_node_iterator_ref (gpointer instance);
-void xnoise_simple_markup_node_iterator_unref (gpointer instance);
-GParamSpec* xnoise_simple_markup_node_param_spec_iterator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_simple_markup_node_value_set_iterator (GValue* value, gpointer v_object);
-void xnoise_simple_markup_node_value_take_iterator (GValue* value, gpointer v_object);
-gpointer xnoise_simple_markup_node_value_get_iterator (const GValue* value);
-GType xnoise_simple_markup_node_iterator_get_type (void) G_GNUC_CONST;
-XnoiseSimpleMarkupNodeIterator* xnoise_simple_markup_node_iterator (XnoiseSimpleMarkupNode* self);
-const gchar* xnoise_simple_markup_node_get_text (XnoiseSimpleMarkupNode* self);
-void xnoise_simple_markup_node_set_text (XnoiseSimpleMarkupNode* self, const gchar* value);
-const gchar* xnoise_simple_markup_node_get_name (XnoiseSimpleMarkupNode* self);
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_parent (XnoiseSimpleMarkupNode* self);
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_previous (XnoiseSimpleMarkupNode* self);
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_next (XnoiseSimpleMarkupNode* self);
-gint xnoise_simple_markup_node_get_children_count (XnoiseSimpleMarkupNode* self);
-gpointer xnoise_simple_markup_node_attributes_keys_ref (gpointer instance);
-void xnoise_simple_markup_node_attributes_keys_unref (gpointer instance);
-GParamSpec* xnoise_simple_markup_node_attributes_param_spec_keys (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_simple_markup_node_attributes_value_set_keys (GValue* value, gpointer v_object);
-void xnoise_simple_markup_node_attributes_value_take_keys (GValue* value, gpointer v_object);
-gpointer xnoise_simple_markup_node_attributes_value_get_keys (const GValue* value);
-GType xnoise_simple_markup_node_attributes_keys_get_type (void) G_GNUC_CONST;
-XnoiseSimpleMarkupNodeAttributes* xnoise_simple_markup_node_attributes_new (void);
-XnoiseSimpleMarkupNodeAttributes* xnoise_simple_markup_node_attributes_construct (GType object_type);
-void xnoise_simple_markup_node_attributes_add (XnoiseSimpleMarkupNodeAttributes* self, const gchar* key, const gchar* val);
-void xnoise_simple_markup_node_attributes_replace (XnoiseSimpleMarkupNodeAttributes* self, const gchar* key, const gchar* val);
-void xnoise_simple_markup_node_attributes_remove (XnoiseSimpleMarkupNodeAttributes* self, const gchar* key);
-void xnoise_simple_markup_node_attributes_clear (XnoiseSimpleMarkupNodeAttributes* self);
-gchar* xnoise_simple_markup_node_attributes_get (XnoiseSimpleMarkupNodeAttributes* self, const gchar* key);
-void xnoise_simple_markup_node_attributes_set (XnoiseSimpleMarkupNodeAttributes* self, const gchar* key, const gchar* val);
-gint xnoise_simple_markup_node_attributes_get_item_count (XnoiseSimpleMarkupNodeAttributes* self);
-GList* xnoise_simple_markup_node_attributes_get_key_list (XnoiseSimpleMarkupNodeAttributes* self);
-GList* xnoise_simple_markup_node_attributes_get_value_list (XnoiseSimpleMarkupNodeAttributes* self);
-XnoiseSimpleMarkupNodeAttributesKeys* xnoise_simple_markup_node_attributes_keys_new (XnoiseSimpleMarkupNodeAttributes* _attrib);
-XnoiseSimpleMarkupNodeAttributesKeys* xnoise_simple_markup_node_attributes_keys_construct (GType object_type, XnoiseSimpleMarkupNodeAttributes* _attrib);
-gboolean xnoise_simple_markup_node_attributes_keys_contains (XnoiseSimpleMarkupNodeAttributesKeys* self, const gchar* needle_key);
-gpointer xnoise_simple_markup_node_attributes_keys_iterator_ref (gpointer instance);
-void xnoise_simple_markup_node_attributes_keys_iterator_unref (gpointer instance);
-GParamSpec* xnoise_simple_markup_node_attributes_keys_param_spec_iterator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_simple_markup_node_attributes_keys_value_set_iterator (GValue* value, gpointer v_object);
-void xnoise_simple_markup_node_attributes_keys_value_take_iterator (GValue* value, gpointer v_object);
-gpointer xnoise_simple_markup_node_attributes_keys_value_get_iterator (const GValue* value);
-GType xnoise_simple_markup_node_attributes_keys_iterator_get_type (void) G_GNUC_CONST;
-XnoiseSimpleMarkupNodeAttributesKeysIterator* xnoise_simple_markup_node_attributes_keys_iterator (XnoiseSimpleMarkupNodeAttributesKeys* self);
-XnoiseSimpleMarkupNodeAttributesKeysIterator* xnoise_simple_markup_node_attributes_keys_iterator_new (XnoiseSimpleMarkupNodeAttributes* _iter_attib);
-XnoiseSimpleMarkupNodeAttributesKeysIterator* xnoise_simple_markup_node_attributes_keys_iterator_construct (GType object_type, XnoiseSimpleMarkupNodeAttributes* _iter_attib);
-gboolean xnoise_simple_markup_node_attributes_keys_iterator_next (XnoiseSimpleMarkupNodeAttributesKeysIterator* self);
-gchar* xnoise_simple_markup_node_attributes_keys_iterator_get (XnoiseSimpleMarkupNodeAttributesKeysIterator* self);
-XnoiseSimpleMarkupNodeIterator* xnoise_simple_markup_node_iterator_new (XnoiseSimpleMarkupNode* parent_node);
-XnoiseSimpleMarkupNodeIterator* xnoise_simple_markup_node_iterator_construct (GType object_type, XnoiseSimpleMarkupNode* parent_node);
-gboolean xnoise_simple_markup_node_iterator_next (XnoiseSimpleMarkupNodeIterator* self);
-XnoiseSimpleMarkupNode* xnoise_simple_markup_node_iterator_get (XnoiseSimpleMarkupNodeIterator* self);
-void xnoise_simple_markup_node_iterator_set (XnoiseSimpleMarkupNodeIterator* self, XnoiseSimpleMarkupNode* node);
-GType xnoise_simple_markup_reader_get_type (void) G_GNUC_CONST;
-XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_new (GFile* file);
-XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_construct (GType object_type, GFile* file);
-XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_new_from_string (const gchar* xml_string);
-XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_construct_from_string (GType object_type, const gchar* xml_string);
-void xnoise_simple_markup_reader_read (XnoiseSimpleMarkupReader* self);
-void xnoise_simple_markup_reader_read_asyn (XnoiseSimpleMarkupReader* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
-void xnoise_simple_markup_reader_read_asyn_finish (XnoiseSimpleMarkupReader* self, GAsyncResult* _res_);
-#define XNOISE_SIMPLE_MARKUP_AMPERSAND_ESCAPED "&amp;"
-#define XNOISE_SIMPLE_MARKUP_GREATER_THAN_ESCAPED "&gt;"
-#define XNOISE_SIMPLE_MARKUP_LOWER_THAN_ESCAPED "&lt;"
-#define XNOISE_SIMPLE_MARKUP_QUOTE_ESCAPED "&quot;"
-#define XNOISE_SIMPLE_MARKUP_APOSTROPH_ESCAPED "&apos;"
-GType xnoise_simple_markup_writer_get_type (void) G_GNUC_CONST;
-XnoiseSimpleMarkupWriter* xnoise_simple_markup_writer_new (XnoiseSimpleMarkupNode* root, const gchar* header_string);
-XnoiseSimpleMarkupWriter* xnoise_simple_markup_writer_construct (GType object_type, XnoiseSimpleMarkupNode* root, const gchar* header_string);
-void xnoise_simple_markup_writer_write (XnoiseSimpleMarkupWriter* self, const gchar* filename);
-gpointer xnoise_tag_access_tag_reader_ref (gpointer instance);
-void xnoise_tag_access_tag_reader_unref (gpointer instance);
-GParamSpec* xnoise_tag_access_param_spec_tag_reader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_tag_access_value_set_tag_reader (GValue* value, gpointer v_object);
-void xnoise_tag_access_value_take_tag_reader (GValue* value, gpointer v_object);
-gpointer xnoise_tag_access_value_get_tag_reader (const GValue* value);
-GType xnoise_tag_access_tag_reader_get_type (void) G_GNUC_CONST;
-XnoiseTrackData* xnoise_tag_access_tag_reader_read_tag (const gchar* filename, gboolean try_read_image_data);
-XnoiseTagAccessTagReader* xnoise_tag_access_tag_reader_new (void);
-XnoiseTagAccessTagReader* xnoise_tag_access_tag_reader_construct (GType object_type);
-gpointer xnoise_tag_access_tag_writer_ref (gpointer instance);
-void xnoise_tag_access_tag_writer_unref (gpointer instance);
-GParamSpec* xnoise_tag_access_param_spec_tag_writer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_tag_access_value_set_tag_writer (GValue* value, gpointer v_object);
-void xnoise_tag_access_value_take_tag_writer (GValue* value, gpointer v_object);
-gpointer xnoise_tag_access_value_get_tag_writer (const GValue* value);
-GType xnoise_tag_access_tag_writer_get_type (void) G_GNUC_CONST;
-gboolean xnoise_tag_access_tag_writer_write_tag (GFile* file, XnoiseTrackData* td, gboolean read_before_write);
-gboolean xnoise_tag_access_tag_writer_remove_compilation_flag (GFile* file);
-XnoiseTagAccessTagWriter* xnoise_tag_access_tag_writer_new (void);
-XnoiseTagAccessTagWriter* xnoise_tag_access_tag_writer_construct (GType object_type);
-GType xnoise_track_list_get_type (void) G_GNUC_CONST;
-XnoiseTrackList* xnoise_track_list_new (void);
-XnoiseTrackList* xnoise_track_list_construct (GType object_type);
-void xnoise_track_list_remove_uri_rows (XnoiseTrackList* self, const gchar* uri);
-void xnoise_track_list_remove_selected_rows (XnoiseTrackList* self);
-GType xnoise_track_list_model_get_type (void) G_GNUC_CONST;
-GType xnoise_track_list_model_column_get_type (void) G_GNUC_CONST;
-XnoiseTrackListModel* xnoise_track_list_model_new (void);
-XnoiseTrackListModel* xnoise_track_list_model_construct (GType object_type);
-gboolean xnoise_track_list_model_get_first_row (XnoiseTrackListModel* self, GtkTreePath** treepath);
-gboolean xnoise_track_list_model_get_random_row (XnoiseTrackListModel* self, GtkTreePath** treepath);
-gboolean xnoise_track_list_model_path_is_last_row (XnoiseTrackListModel* self, GtkTreePath** path, gboolean* trackList_is_empty);
-gboolean xnoise_track_list_model_get_current_path (XnoiseTrackListModel* self, GtkTreePath** treepath);
-gboolean xnoise_track_list_model_get_active_path (XnoiseTrackListModel* self, GtkTreePath** treepath, gboolean* used_next_pos);
-void xnoise_track_list_model_insert_title (XnoiseTrackListModel* self, XnoisePlayerState icon, XnoiseTrackData** td, gboolean bold, GtkTreeIter* result);
-gboolean xnoise_track_list_model_not_empty (XnoiseTrackListModel* self);
-XnoiseTrackData** xnoise_track_list_model_get_all_tracks (XnoiseTrackListModel* self, int* result_length1);
-gchar* xnoise_track_list_model_get_uri_for_current_position (XnoiseTrackListModel* self);
-GType xnoise_tray_icon_get_type (void) G_GNUC_CONST;
-XnoiseTrayIcon* xnoise_tray_icon_new (void);
-XnoiseTrayIcon* xnoise_tray_icon_construct (GType object_type);
-GType xnoise_info_bar_get_type (void) G_GNUC_CONST;
-GType xnoise_user_info_get_type (void) G_GNUC_CONST;
-GType xnoise_user_info_content_class_get_type (void) G_GNUC_CONST;
-GType xnoise_user_info_removal_type_get_type (void) G_GNUC_CONST;
-XnoiseInfoBar* xnoise_info_bar_new (XnoiseUserInfo* _uinf, XnoiseUserInfoContentClass _content_class, XnoiseUserInfoRemovalType _removal_type, guint _current_id, gint _appearance_time_seconds, const gchar* _info_text, gboolean bold, GtkWidget* _extra_widget);
-XnoiseInfoBar* xnoise_info_bar_construct (GType object_type, XnoiseUserInfo* _uinf, XnoiseUserInfoContentClass _content_class, XnoiseUserInfoRemovalType _removal_type, guint _current_id, gint _appearance_time_seconds, const gchar* _info_text, gboolean bold, GtkWidget* _extra_widget);
-void xnoise_info_bar_enable_close_button (XnoiseInfoBar* self, gboolean enable);
-void xnoise_info_bar_update_symbol_widget (XnoiseInfoBar* self, XnoiseUserInfoContentClass cc);
-void xnoise_info_bar_update_text (XnoiseInfoBar* self, const gchar* txt, gboolean bold);
-void xnoise_info_bar_update_extra_widget (XnoiseInfoBar* self, GtkWidget* widget);
-GtkWidget* xnoise_info_bar_get_extra_widget (XnoiseInfoBar* self);
-XnoiseUserInfo* xnoise_user_info_new (XnoiseUserInfoAddInfoBarDelegateType func, void* func_target);
-XnoiseUserInfo* xnoise_user_info_construct (GType object_type, XnoiseUserInfoAddInfoBarDelegateType func, void* func_target);
-void xnoise_user_info_enable_close_button_by_id (XnoiseUserInfo* self, guint id, gboolean enable);
-void xnoise_user_info_update_symbol_widget_by_id (XnoiseUserInfo* self, guint id, XnoiseUserInfoContentClass cc);
-void xnoise_user_info_update_text_by_id (XnoiseUserInfo* self, guint id, const gchar* txt, gboolean bold);
-void xnoise_user_info_update_extra_widget_by_id (XnoiseUserInfo* self, guint id, GtkWidget* widget);
-GtkWidget* xnoise_user_info_get_extra_widget_by_id (XnoiseUserInfo* self, guint id);
-void xnoise_user_info_popdown (XnoiseUserInfo* self, guint id);
-guint xnoise_user_info_popup (XnoiseUserInfo* self, XnoiseUserInfoRemovalType removal_type, XnoiseUserInfoContentClass content_class, const gchar* info_text, gboolean bold, gint appearance_time_seconds, GtkWidget* extra_widget);
-XnoiseAlbumData* xnoise_album_data_new (void);
-XnoiseAlbumData* xnoise_album_data_construct (GType object_type);
-XnoiseAlbumData* xnoise_copy_albumdata (XnoiseAlbumData* ad);
-gpointer xnoise_local_schemes_ref (gpointer instance);
-void xnoise_local_schemes_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_local_schemes (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_local_schemes (GValue* value, gpointer v_object);
-void xnoise_value_take_local_schemes (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_local_schemes (const GValue* value);
-GType xnoise_local_schemes_get_type (void) G_GNUC_CONST;
-gboolean xnoise_local_schemes_contains (XnoiseLocalSchemes* self, const gchar* location);
-XnoiseLocalSchemes* xnoise_local_schemes_new (void);
-XnoiseLocalSchemes* xnoise_local_schemes_construct (GType object_type);
-gchar** xnoise_local_schemes_get_list (XnoiseLocalSchemes* self, int* result_length1);
-gpointer xnoise_media_extensions_ref (gpointer instance);
-void xnoise_media_extensions_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_media_extensions (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_media_extensions (GValue* value, gpointer v_object);
-void xnoise_value_take_media_extensions (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_media_extensions (const GValue* value);
-GType xnoise_media_extensions_get_type (void) G_GNUC_CONST;
-gboolean xnoise_media_extensions_contains (XnoiseMediaExtensions* self, const gchar* extension);
-XnoiseMediaExtensions* xnoise_media_extensions_new (void);
-XnoiseMediaExtensions* xnoise_media_extensions_construct (GType object_type);
-gchar** xnoise_media_extensions_get_list (XnoiseMediaExtensions* self, int* result_length1);
-gpointer xnoise_media_importer_ref (gpointer instance);
-void xnoise_media_importer_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_media_importer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_media_importer (GValue* value, gpointer v_object);
-void xnoise_value_take_media_importer (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_media_importer (const GValue* value);
-GType xnoise_media_importer_get_type (void) G_GNUC_CONST;
-XnoiseMediaImporter* xnoise_media_importer_new (void);
-XnoiseMediaImporter* xnoise_media_importer_construct (GType object_type);
-void xnoise_media_importer_remove_uris (XnoiseMediaImporter* self, gchar** file_uris, int file_uris_length1);
-void xnoise_media_importer_import_uris (XnoiseMediaImporter* self, gchar** uris, int uris_length1);
-GList* xnoise_media_importer_get_media_folder_list (XnoiseMediaImporter* self);
-void xnoise_media_importer_add_import_target_folder (XnoiseMediaImporter* self, XnoiseItem* target, gboolean add_folder_to_media_folders);
-gpointer xnoise_media_stream_schemes_ref (gpointer instance);
-void xnoise_media_stream_schemes_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_media_stream_schemes (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_media_stream_schemes (GValue* value, gpointer v_object);
-void xnoise_value_take_media_stream_schemes (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_media_stream_schemes (const GValue* value);
-GType xnoise_media_stream_schemes_get_type (void) G_GNUC_CONST;
-gboolean xnoise_media_stream_schemes_contains (XnoiseMediaStreamSchemes* self, const gchar* location);
-XnoiseMediaStreamSchemes* xnoise_media_stream_schemes_new (void);
-XnoiseMediaStreamSchemes* xnoise_media_stream_schemes_construct (GType object_type);
-gchar** xnoise_media_stream_schemes_get_list (XnoiseMediaStreamSchemes* self, int* result_length1);
-extern XnoiseParams* xnoise_par;
-extern XnoiseGlobalAccess* xnoise_global;
-extern XnoiseUserInfo* xnoise_userinfo;
-extern XnoiseWorker* xnoise_db_worker;
-extern XnoiseWorker* xnoise_io_worker;
-extern XnoiseWorker* xnoise_cache_worker;
-extern XnoiseWorker* xnoise_device_worker;
-extern XnoiseWorker* xnoise_plugin_worker;
-extern XnoiseMediaImporter* xnoise_media_importer;
-extern XnoiseMediaMonitor* xnoise_media_monitor;
-extern XnoiseItemHandlerManager* xnoise_itemhandler_manager;
-extern XnoiseItemConverter* xnoise_item_converter;
-extern XnoiseDockableMediaManager* xnoise_dockable_media_sources;
-extern GHashTable* xnoise_data_source_registry;
-extern GPatternSpec* xnoise_pattern_audio;
-extern GPatternSpec* xnoise_pattern_video;
-extern XnoiseDatabaseReader* xnoise_db_reader;
-extern XnoiseDatabaseWriter* xnoise_db_writer;
-extern XnoiseGstPlayer* xnoise_gst_player;
-extern XnoisePluginModuleLoader* xnoise_plugin_loader;
-extern XnoiseMainWindow* xnoise_main_window;
-extern XnoiseTrackList* xnoise_tl;
-extern XnoiseTrackListModel* xnoise_tlm;
-extern XnoiseTrayIcon* xnoise_tray_icon;
-XnoiseDataSource* xnoise_get_data_source (gint source_number);
-XnoiseDataSource* xnoise_get_data_source_by_name (const gchar* name);
-gint xnoise_get_data_source_id_by_name (const gchar* name);
-gchar* xnoise_get_data_source_name (gint source_number);
-gint xnoise_register_data_source (XnoiseDataSource* source);
-void xnoise_remove_data_source (XnoiseDataSource* source);
-void xnoise_remove_data_source_by_id (gint id);
-guint32 xnoise_get_current_stamp (gint source);
-void xnoise_renew_stamp (const gchar* source_name);
-XnoiseFileData* xnoise_file_data_new (const gchar* uri, gint32 change_time);
-XnoiseFileData* xnoise_file_data_construct (GType object_type, const gchar* uri, gint32 change_time);
-gchar* xnoise_imain_view_get_view_name (XnoiseIMainView* self);
-GType xnoise_gnome_media_keys_proxy_get_type (void) G_GNUC_CONST;
-guint xnoise_gnome_media_keys_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
-GType xnoise_gnome_media_keys_get_type (void) G_GNUC_CONST;
-void xnoise_gnome_media_keys_GrabMediaPlayerKeys (XnoiseGnomeMediaKeys* self, const gchar* application, guint32 time, GError** error);
-void xnoise_gnome_media_keys_ReleaseMediaPlayerKeys (XnoiseGnomeMediaKeys* self, const gchar* application, GError** error);
-gpointer xnoise_remote_schemes_ref (gpointer instance);
-void xnoise_remote_schemes_unref (gpointer instance);
-GParamSpec* xnoise_param_spec_remote_schemes (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
-void xnoise_value_set_remote_schemes (GValue* value, gpointer v_object);
-void xnoise_value_take_remote_schemes (GValue* value, gpointer v_object);
-gpointer xnoise_value_get_remote_schemes (const GValue* value);
-GType xnoise_remote_schemes_get_type (void) G_GNUC_CONST;
-gboolean xnoise_remote_schemes_contains (XnoiseRemoteSchemes* self, const gchar* location);
-XnoiseRemoteSchemes* xnoise_remote_schemes_new (void);
-XnoiseRemoteSchemes* xnoise_remote_schemes_construct (GType object_type);
-gchar** xnoise_remote_schemes_get_list (XnoiseRemoteSchemes* self, int* result_length1);
-XnoiseTrackData* xnoise_track_data_new (void);
-XnoiseTrackData* xnoise_track_data_construct (GType object_type);
-XnoiseTrackData* xnoise_copy_trackdata (XnoiseTrackData* td);
-XnoiseRemoteSchemes* xnoise_utilities_get_remote_schemes (void);
-XnoiseLocalSchemes* xnoise_utilities_get_local_schemes (void);
-XnoiseMediaExtensions* xnoise_utilities_get_media_extensions (void);
-XnoiseMediaStreamSchemes* xnoise_utilities_get_media_stream_schemes (void);
-gchar* xnoise_utilities_settings_folder (void);
-gchar* xnoise_utilities_data_folder (void);
-gchar* xnoise_utilities_temp_folder (void);
-gboolean xnoise_utilities_verify_xnoise_directories (void);
-gchar* xnoise_utilities_prepare_for_comparison (const gchar* value);
-gchar* xnoise_utilities_prepare_for_search (const gchar* val);
-gchar* xnoise_utilities_remove_linebreaks (const gchar* val);
-gchar* xnoise_utilities_remove_suffix_from_filename (const gchar* val);
-gchar* xnoise_utilities_get_suffix_from_filename (const gchar* val);
-gchar* xnoise_utilities_prepare_name_from_filename (const gchar* val);
-gchar* xnoise_utilities_replace_underline_with_blank_encoded (const gchar* value);
-gchar* xnoise_utilities_make_time_display_from_seconds (gint length);
-gint32 xnoise_utilities_length_string_to_int (const gchar* s);
-
-extern const gchar* XNOISE_PLAYLIST_remote_schemes[3];
+VALA_EXTERN GFile* xnoise_get_albumimage_for_artistalbum (const gchar* artist,
+                                              const gchar* album,
+                                              const gchar* size);
+VALA_EXTERN gboolean xnoise_thumbnail_available (const gchar* uri,
+                                     GFile** _thumb);
+VALA_EXTERN gchar* xnoise_escape_album_for_local_folder_search (const gchar* artist,
+                                                    const gchar* album_name);
+VALA_EXTERN gchar* xnoise_check_album_name (const gchar* artistname,
+                                const gchar* albumname);
+VALA_EXTERN GType xnoise_album_image_loader_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseAlbumImageLoader, g_object_unref)
+VALA_EXTERN XnoiseAlbumImageLoader* xnoise_album_image_loader_new (void);
+VALA_EXTERN XnoiseAlbumImageLoader* xnoise_album_image_loader_construct (GType object_type);
+VALA_EXTERN void xnoise_album_image_loader_on_image_fetched (XnoiseAlbumImageLoader* self,
+                                                 const gchar* _artist,
+                                                 const gchar* _album,
+                                                 const gchar* _image_path);
+VALA_EXTERN GdkPixbuf* xnoise_album_image_loader_get_image_small (XnoiseAlbumImageLoader* self);
+VALA_EXTERN void xnoise_album_image_loader_set_image_small (XnoiseAlbumImageLoader* self,
+                                                GdkPixbuf* value);
+VALA_EXTERN GdkPixbuf* xnoise_album_image_loader_get_image_large (XnoiseAlbumImageLoader* self);
+VALA_EXTERN void xnoise_album_image_loader_set_image_large (XnoiseAlbumImageLoader* self,
+                                                GdkPixbuf* value);
+VALA_EXTERN GdkPixbuf* xnoise_album_image_loader_get_image_embedded (XnoiseAlbumImageLoader* self);
+VALA_EXTERN void xnoise_album_image_loader_set_image_embedded (XnoiseAlbumImageLoader* self,
+                                                   GdkPixbuf* value);
+VALA_EXTERN const gchar* xnoise_album_image_loader_get_image_path_small (XnoiseAlbumImageLoader* self);
+VALA_EXTERN void xnoise_album_image_loader_set_image_path_small (XnoiseAlbumImageLoader* self,
+                                                     const gchar* value);
+VALA_EXTERN const gchar* xnoise_album_image_loader_get_image_path_large (XnoiseAlbumImageLoader* self);
+VALA_EXTERN void xnoise_album_image_loader_set_image_path_large (XnoiseAlbumImageLoader* self,
+                                                     const gchar* value);
+VALA_EXTERN const gchar* xnoise_album_image_loader_get_image_path_embedded (XnoiseAlbumImageLoader* self);
+VALA_EXTERN void xnoise_album_image_loader_set_image_path_embedded (XnoiseAlbumImageLoader* self,
+                                                        const gchar* value);
+VALA_EXTERN GType xnoise_ialbum_cover_image_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseIAlbumCoverImage, g_object_unref)
+VALA_EXTERN void xnoise_ialbum_cover_image_find_image (XnoiseIAlbumCoverImage* self);
+VALA_EXTERN GType xnoise_ialbum_cover_image_provider_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseIAlbumCoverImageProvider, g_object_unref)
+VALA_EXTERN XnoiseIAlbumCoverImage* xnoise_ialbum_cover_image_provider_from_tags (XnoiseIAlbumCoverImageProvider* self,
+                                                                      XnoiseAlbumImageLoader* loader,
+                                                                      const gchar* artist,
+                                                                      const gchar* album);
+VALA_EXTERN GType xnoise_application_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseApplication, g_object_unref)
+VALA_EXTERN GType xnoise_main_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMain, g_object_unref)
+VALA_EXTERN XnoiseMain* xnoise_application_xn;
+VALA_EXTERN XnoiseApplication* xnoise_application_new (void);
+VALA_EXTERN XnoiseApplication* xnoise_application_construct (GType object_type);
+VALA_EXTERN void xnoise_application_on_activated (XnoiseApplication* self);
+VALA_EXTERN void xnoise_application_on_startup (XnoiseApplication* self);
+VALA_EXTERN gint xnoise_application_on_command_line (XnoiseApplication* self,
+                                         GApplicationCommandLine* command_line);
+VALA_EXTERN gboolean xnoise_application_get_hidden_window (void);
+VALA_EXTERN GType xnoise_worker_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseWorker, g_object_unref)
+VALA_EXTERN GType xnoise_worker_priority_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_worker_execution_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseWorker* xnoise_worker_new (GMainContext* mc);
+VALA_EXTERN XnoiseWorker* xnoise_worker_construct (GType object_type,
+                                       GMainContext* mc);
+VALA_EXTERN gboolean xnoise_worker_is_same_thread (XnoiseWorker* self);
+VALA_EXTERN gpointer xnoise_worker_job_ref (gpointer instance);
+VALA_EXTERN void xnoise_worker_job_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_worker_param_spec_job (const gchar* name,
+                                          const gchar* nick,
+                                          const gchar* blurb,
+                                          GType object_type,
+                                          GParamFlags flags);
+VALA_EXTERN void xnoise_worker_value_set_job (GValue* value,
+                                  gpointer v_object);
+VALA_EXTERN void xnoise_worker_value_take_job (GValue* value,
+                                   gpointer v_object);
+VALA_EXTERN gpointer xnoise_worker_value_get_job (const GValue* value);
+VALA_EXTERN GType xnoise_worker_job_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseWorkerJob, xnoise_worker_job_unref)
+VALA_EXTERN void xnoise_worker_push_job (XnoiseWorker* self,
+                             XnoiseWorkerJob* j);
+VALA_EXTERN gint xnoise_worker_get_queue_length (XnoiseWorker* self);
+VALA_EXTERN GThread* xnoise_worker_get_thread (XnoiseWorker* self);
+VALA_EXTERN GType xnoise_item_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_item_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseItem* xnoise_item_dup (const XnoiseItem* self);
+VALA_EXTERN void xnoise_item_free (XnoiseItem* self);
+VALA_EXTERN void xnoise_item_copy (const XnoiseItem* self,
+                       XnoiseItem* dest);
+VALA_EXTERN void xnoise_item_destroy (XnoiseItem* self);
+G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (XnoiseItem, xnoise_item_destroy)
+VALA_EXTERN gpointer xnoise_file_data_ref (gpointer instance);
+VALA_EXTERN void xnoise_file_data_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_file_data (const gchar* name,
+                                         const gchar* nick,
+                                         const gchar* blurb,
+                                         GType object_type,
+                                         GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_file_data (GValue* value,
+                                 gpointer v_object);
+VALA_EXTERN void xnoise_value_take_file_data (GValue* value,
+                                  gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_file_data (const GValue* value);
+VALA_EXTERN GType xnoise_file_data_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseFileData, xnoise_file_data_unref)
+VALA_EXTERN gpointer xnoise_track_data_ref (gpointer instance);
+VALA_EXTERN void xnoise_track_data_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_track_data (const gchar* name,
+                                          const gchar* nick,
+                                          const gchar* blurb,
+                                          GType object_type,
+                                          GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_track_data (GValue* value,
+                                  gpointer v_object);
+VALA_EXTERN void xnoise_value_take_track_data (GValue* value,
+                                   gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_track_data (const GValue* value);
+VALA_EXTERN GType xnoise_track_data_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTrackData, xnoise_track_data_unref)
+VALA_EXTERN GType xnoise_dnd_data_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseDndData* xnoise_dnd_data_dup (const XnoiseDndData* self);
+VALA_EXTERN void xnoise_dnd_data_free (XnoiseDndData* self);
+VALA_EXTERN void xnoise_dnd_data_copy (const XnoiseDndData* self,
+                           XnoiseDndData* dest);
+VALA_EXTERN void xnoise_dnd_data_destroy (XnoiseDndData* self);
+G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (XnoiseDndData, xnoise_dnd_data_destroy)
+VALA_EXTERN XnoiseWorkerJob* xnoise_worker_job_new (XnoiseWorkerExecutionType execution_type,
+                                        XnoiseWorkerWorkFunc func,
+                                        gpointer func_target,
+                                        XnoiseWorkerPriority priority,
+                                        XnoiseWorkerFinishFunc finish_func,
+                                        gpointer finish_func_target);
+VALA_EXTERN XnoiseWorkerJob* xnoise_worker_job_construct (GType object_type,
+                                              XnoiseWorkerExecutionType execution_type,
+                                              XnoiseWorkerWorkFunc func,
+                                              gpointer func_target,
+                                              XnoiseWorkerPriority priority,
+                                              XnoiseWorkerFinishFunc finish_func,
+                                              gpointer finish_func_target);
+VALA_EXTERN void xnoise_worker_job_set_arg (XnoiseWorkerJob* self,
+                                const gchar* name,
+                                GValue* val);
+VALA_EXTERN GValue* xnoise_worker_job_get_arg (XnoiseWorkerJob* self,
+                                   const gchar* name);
+VALA_EXTERN GQuark xnoise_database_db_error_quark (void);
+VALA_EXTERN GType xnoise_database_db_error_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_data_source_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseDataSource, g_object_unref)
+VALA_EXTERN GType xnoise_collection_sort_mode_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_database_reader_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseDatabaseReader, g_object_unref)
+VALA_EXTERN XnoiseDatabaseReader* xnoise_database_reader_new (GError** error);
+VALA_EXTERN XnoiseDatabaseReader* xnoise_database_reader_construct (GType object_type,
+                                                        GError** error);
+VALA_EXTERN void xnoise_database_reader_cancel (XnoiseDatabaseReader* self);
+VALA_EXTERN void xnoise_database_reader_do_callback_transaction (XnoiseDatabaseReader* self,
+                                                     XnoiseDatabaseReaderReaderCallback cb,
+                                                     gpointer cb_target);
+VALA_EXTERN XnoiseFileData* xnoise_database_reader_get_file_data (XnoiseDatabaseReader* self,
+                                                      const gchar* uri);
+VALA_EXTERN gboolean xnoise_database_reader_get_file_in_db (XnoiseDatabaseReader* self,
+                                                const gchar* uri);
+VALA_EXTERN XnoiseFileData** xnoise_database_reader_get_uris (XnoiseDatabaseReader* self,
+                                                  gint32 offset,
+                                                  gint32 limit,
+                                                  gint* result_length1);
+VALA_EXTERN gint32 xnoise_database_reader_count_videos (XnoiseDatabaseReader* self,
+                                            const gchar* searchtext);
+VALA_EXTERN gboolean xnoise_database_reader_get_lyrics (XnoiseDatabaseReader* self,
+                                            const gchar* artist,
+                                            const gchar* title,
+                                            gchar** txt,
+                                            gchar** cred,
+                                            gchar** ident);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_last_played (XnoiseDatabaseReader* self,
+                                                    const gchar* searchtext,
+                                                    gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_most_played (XnoiseDatabaseReader* self,
+                                                    const gchar* searchtext,
+                                                    gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_streamitem_by_id (XnoiseDatabaseReader* self,
+                                                         gint32 id,
+                                                         const gchar* searchtext);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_media_folders (XnoiseDatabaseReader* self,
+                                                      gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_stream_items (XnoiseDatabaseReader* self,
+                                                     const gchar* searchtext,
+                                                     gint* result_length1);
+VALA_EXTERN XnoiseTrackData** xnoise_database_reader_get_some_lastused_items (XnoiseDatabaseReader* self,
+                                                                  gint limit,
+                                                                  gint offset,
+                                                                  gint* result_length1);
+VALA_EXTERN guint xnoise_database_reader_count_lastused_items (XnoiseDatabaseReader* self);
+VALA_EXTERN XnoiseTrackData** xnoise_database_reader_get_stream_data (XnoiseDatabaseReader* self,
+                                                          const gchar* searchtext,
+                                                          gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_video_items (XnoiseDatabaseReader* self,
+                                                    const gchar* searchtext,
+                                                    gint* result_length1);
+VALA_EXTERN XnoiseTrackData** xnoise_database_reader_get_trackdata_for_video (XnoiseDatabaseReader* self,
+                                                                  const gchar* searchtext,
+                                                                  gint* result_length1);
+VALA_EXTERN XnoiseTrackData** xnoise_database_reader_get_trackdata_for_streams (XnoiseDatabaseReader* self,
+                                                                    const gchar* searchtext,
+                                                                    gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_genres_with_search (XnoiseDatabaseReader* self,
+                                                           const gchar* searchtext,
+                                                           gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_videoitem_by_id (XnoiseDatabaseReader* self,
+                                                        gint32 id);
+VALA_EXTERN XnoiseItem* xnoise_database_reader_get_genreitem_by_genreid (XnoiseDatabaseReader* self,
+                                                             const gchar* searchtext,
+                                                             gint32 id,
+                                                             guint32 stmp);
+VALA_EXTERN gpointer xnoise_album_data_ref (gpointer instance);
+VALA_EXTERN void xnoise_album_data_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_album_data (const gchar* name,
+                                          const gchar* nick,
+                                          const gchar* blurb,
+                                          GType object_type,
+                                          GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_album_data (GValue* value,
+                                  gpointer v_object);
+VALA_EXTERN void xnoise_value_take_album_data (GValue* value,
+                                   gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_album_data (const GValue* value);
+VALA_EXTERN GType xnoise_album_data_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseAlbumData, xnoise_album_data_unref)
+VALA_EXTERN XnoiseAlbumData** xnoise_database_reader_get_all_albums_with_search (XnoiseDatabaseReader* self,
+                                                                     const gchar* searchtext,
+                                                                     const gchar* sorting,
+                                                                     const gchar* direction,
+                                                                     gint* result_length1);
+VALA_EXTERN GType xnoise_database_writer_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseDatabaseWriter, g_object_unref)
+VALA_EXTERN GType xnoise_database_writer_change_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseDatabaseWriter* xnoise_database_writer_new (GError** error);
+VALA_EXTERN XnoiseDatabaseWriter* xnoise_database_writer_construct (GType object_type,
+                                                        GError** error);
+VALA_EXTERN GType xnoise_database_writer_notification_data_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseDatabaseWriterNotificationData* xnoise_database_writer_notification_data_dup (const XnoiseDatabaseWriterNotificationData* self);
+VALA_EXTERN void xnoise_database_writer_notification_data_free (XnoiseDatabaseWriterNotificationData* self);
+VALA_EXTERN void xnoise_database_writer_register_change_callback (XnoiseDatabaseWriter* self,
+                                                      XnoiseDatabaseWriterNotificationData* cbd);
+VALA_EXTERN gchar* xnoise_database_writer_get_uri_for_item_id (XnoiseDatabaseWriter* self,
+                                                   gint32 id);
+VALA_EXTERN void xnoise_database_writer_inc_playcount (XnoiseDatabaseWriter* self,
+                                           const gchar* uri);
+VALA_EXTERN void xnoise_database_writer_update_lastplay_time (XnoiseDatabaseWriter* self,
+                                                  const gchar* uri,
+                                                  gint64 playtime);
+VALA_EXTERN gchar** xnoise_database_writer_get_media_folders (XnoiseDatabaseWriter* self,
+                                                  gint* result_length1);
+VALA_EXTERN gboolean xnoise_database_writer_get_trackdata_for_stream (XnoiseDatabaseWriter* self,
+                                                          const gchar* uri,
+                                                          XnoiseTrackData** val);
+VALA_EXTERN gboolean xnoise_database_writer_update_title (XnoiseDatabaseWriter* self,
+                                              XnoiseItem** item,
+                                              XnoiseTrackData** td);
+VALA_EXTERN void xnoise_database_writer_remove_uri (XnoiseDatabaseWriter* self,
+                                        const gchar* uri);
+VALA_EXTERN void xnoise_database_writer_remove_folder (XnoiseDatabaseWriter* self,
+                                           const gchar* uri,
+                                           gboolean check_media_folders);
+VALA_EXTERN gboolean xnoise_database_writer_insert_title (XnoiseDatabaseWriter* self,
+                                              XnoiseTrackData** td);
+VALA_EXTERN gboolean xnoise_database_writer_add_single_stream_to_collection (XnoiseDatabaseWriter* self,
+                                                                 XnoiseItem* i);
+VALA_EXTERN void xnoise_database_writer_update_stream_name (XnoiseDatabaseWriter* self,
+                                                XnoiseItem* item);
+VALA_EXTERN gboolean xnoise_database_writer_add_single_folder_to_collection (XnoiseDatabaseWriter* self,
+                                                                 XnoiseItem* mfolder);
+VALA_EXTERN gboolean xnoise_database_writer_remove_single_media_folder (XnoiseDatabaseWriter* self,
+                                                            XnoiseItem* mfolder);
+VALA_EXTERN void xnoise_database_writer_cleanup_database (XnoiseDatabaseWriter* self);
+VALA_EXTERN void xnoise_database_writer_do_callback_transaction (XnoiseDatabaseWriter* self,
+                                                     XnoiseDatabaseWriterWriterCallback cb,
+                                                     gpointer cb_target);
+VALA_EXTERN void xnoise_database_writer_begin_transaction (XnoiseDatabaseWriter* self);
+VALA_EXTERN void xnoise_database_writer_commit_transaction (XnoiseDatabaseWriter* self);
+VALA_EXTERN gboolean xnoise_database_writer_get_in_transaction (XnoiseDatabaseWriter* self);
+VALA_EXTERN gint xnoise_data_source_get_source_id (XnoiseDataSource* self);
+VALA_EXTERN const gchar* xnoise_data_source_get_datasource_name (XnoiseDataSource* self);
+VALA_EXTERN gboolean xnoise_data_source_get_trackdata_for_uri (XnoiseDataSource* self,
+                                                   gchar** uri,
+                                                   XnoiseTrackData** val);
+VALA_EXTERN XnoiseItem* xnoise_data_source_get_artists (XnoiseDataSource* self,
+                                            const gchar* searchtext,
+                                            XnoiseCollectionSortMode sort_mode,
+                                            GHashTable* items,
+                                            gint* result_length1);
+VALA_EXTERN XnoiseTrackData** xnoise_data_source_get_trackdata_for_albumartist (XnoiseDataSource* self,
+                                                                    const gchar* searchtext,
+                                                                    XnoiseCollectionSortMode sort_mode,
+                                                                    GHashTable* items,
+                                                                    gint* result_length1);
+VALA_EXTERN XnoiseTrackData** xnoise_data_source_get_trackdata_for_artist (XnoiseDataSource* self,
+                                                               const gchar* searchtext,
+                                                               XnoiseCollectionSortMode sort_mode,
+                                                               GHashTable* items,
+                                                               gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_data_source_get_album_item_from_id (XnoiseDataSource* self,
+                                                       const gchar* searchtext,
+                                                       gint32 id,
+                                                       guint32 stamp);
+VALA_EXTERN XnoiseItem* xnoise_data_source_get_albumartist_item_from_id (XnoiseDataSource* self,
+                                                             const gchar* searchtext,
+                                                             gint32 id,
+                                                             guint32 stamp);
+VALA_EXTERN XnoiseTrackData** xnoise_data_source_get_trackdata_for_album (XnoiseDataSource* self,
+                                                              const gchar* searchtext,
+                                                              XnoiseCollectionSortMode sort_mode,
+                                                              GHashTable* items,
+                                                              gint* result_length1);
+VALA_EXTERN XnoiseItem* xnoise_data_source_get_albums (XnoiseDataSource* self,
+                                           const gchar* searchtext,
+                                           XnoiseCollectionSortMode sort_mode,
+                                           GHashTable* items,
+                                           gint* result_length1);
+VALA_EXTERN XnoiseTrackData** xnoise_data_source_get_trackdata_for_item (XnoiseDataSource* self,
+                                                             const gchar* searchterm,
+                                                             XnoiseItem* item,
+                                                             gint* result_length1);
+VALA_EXTERN gboolean xnoise_data_source_get_stream_trackdata_for_item (XnoiseDataSource* self,
+                                                           XnoiseItem* item,
+                                                           XnoiseTrackData** td);
+VALA_EXTERN XnoiseTrackData** xnoise_data_source_get_all_tracks (XnoiseDataSource* self,
+                                                     const gchar* searchtext,
+                                                     gint* result_length1);
+VALA_EXTERN XnoiseDataSource* xnoise_data_source_construct (GType object_type);
+VALA_EXTERN GType xnoise_music_browser_model_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMusicBrowserModel, g_object_unref)
+VALA_EXTERN GType xnoise_music_browser_model_column_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_music_browser_model_collection_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_dockable_media_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseDockableMedia, g_object_unref)
+VALA_EXTERN XnoiseMusicBrowserModel* xnoise_music_browser_model_new (XnoiseDockableMedia* dock);
+VALA_EXTERN XnoiseMusicBrowserModel* xnoise_music_browser_model_construct (GType object_type,
+                                                               XnoiseDockableMedia* dock);
+VALA_EXTERN void xnoise_music_browser_model_filter (XnoiseMusicBrowserModel* self);
+VALA_EXTERN void xnoise_music_browser_model_remove_all (XnoiseMusicBrowserModel* self);
+VALA_EXTERN XnoiseDndData* xnoise_music_browser_model_get_dnd_data_for_path (XnoiseMusicBrowserModel* self,
+                                                                 GtkTreePath** treepath,
+                                                                 gint* result_length1);
+VALA_EXTERN gboolean xnoise_music_browser_model_get_populating_model (XnoiseMusicBrowserModel* self);
+VALA_EXTERN GType xnoise_dockable_media_category_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_main_window_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMainWindow, g_object_unref)
+VALA_EXTERN gchar* xnoise_dockable_media_category_to_string (XnoiseDockableMediaCategory self);
+VALA_EXTERN gchar* xnoise_dockable_media_name (XnoiseDockableMedia* self);
+VALA_EXTERN gchar* xnoise_dockable_media_headline (XnoiseDockableMedia* self);
+VALA_EXTERN XnoiseDockableMediaCategory xnoise_dockable_media_category (XnoiseDockableMedia* self);
+VALA_EXTERN gchar* xnoise_dockable_media_get_icon_name (XnoiseDockableMedia* self);
+VALA_EXTERN GtkWidget* xnoise_dockable_media_create_widget (XnoiseDockableMedia* self,
+                                                XnoiseMainWindow* window);
+VALA_EXTERN void xnoise_dockable_media_remove_main_view (XnoiseDockableMedia* self);
+VALA_EXTERN XnoiseDockableMedia* xnoise_dockable_media_construct (GType object_type);
+VALA_EXTERN gpointer xnoise_dockable_media_manager_ref (gpointer instance);
+VALA_EXTERN void xnoise_dockable_media_manager_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_dockable_media_manager (const gchar* name,
+                                                      const gchar* nick,
+                                                      const gchar* blurb,
+                                                      GType object_type,
+                                                      GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_dockable_media_manager (GValue* value,
+                                              gpointer v_object);
+VALA_EXTERN void xnoise_value_take_dockable_media_manager (GValue* value,
+                                               gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_dockable_media_manager (const GValue* value);
+VALA_EXTERN GType xnoise_dockable_media_manager_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseDockableMediaManager, xnoise_dockable_media_manager_unref)
+VALA_EXTERN XnoiseDockableMediaManager* xnoise_dockable_media_manager_new (void);
+VALA_EXTERN XnoiseDockableMediaManager* xnoise_dockable_media_manager_construct (GType object_type);
+VALA_EXTERN gboolean xnoise_dockable_media_manager_remove (XnoiseDockableMediaManager* self,
+                                               const gchar* key);
+VALA_EXTERN XnoiseDockableMedia* xnoise_dockable_media_manager_lookup (XnoiseDockableMediaManager* self,
+                                                           const gchar* key);
+VALA_EXTERN GList* xnoise_dockable_media_manager_get_keys (XnoiseDockableMediaManager* self);
+VALA_EXTERN void xnoise_dockable_media_manager_insert (XnoiseDockableMediaManager* self,
+                                           XnoiseDockableMedia* val);
+VALA_EXTERN gint xnoise_dockable_media_manager_size_of_category (XnoiseDockableMediaManager* self,
+                                                     XnoiseDockableMediaCategory category);
+VALA_EXTERN GList* xnoise_dockable_media_manager_get_existing_categories (XnoiseDockableMediaManager* self);
+VALA_EXTERN GList* xnoise_dockable_media_manager_get_media_for_category (XnoiseDockableMediaManager* self,
+                                                             XnoiseDockableMediaCategory category);
+VALA_EXTERN GType xnoise_ext_dev_device_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevDevice, g_object_unref)
+VALA_EXTERN GType device_main_view_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (DeviceMainView, g_object_unref)
+VALA_EXTERN GType xnoise_item_handler_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseItemHandler, g_object_unref)
+VALA_EXTERN GType xnoise_ext_dev_player_device_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevPlayerDevice, g_object_unref)
+VALA_EXTERN GType xnoise_ext_dev_player_main_view_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevPlayerMainView, g_object_unref)
+VALA_EXTERN GType xnoise_ext_dev_audio_player_temp_db_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevAudioPlayerTempDb, g_object_unref)
+VALA_EXTERN XnoiseExtDevPlayerDevice* xnoise_ext_dev_player_device_new (GMount* _mount);
+VALA_EXTERN XnoiseExtDevPlayerDevice* xnoise_ext_dev_player_device_construct (GType object_type,
+                                                                  GMount* _mount);
+VALA_EXTERN guint64 xnoise_ext_dev_player_device_get_filesystem_size (XnoiseExtDevPlayerDevice* self);
+VALA_EXTERN guint64 xnoise_ext_dev_player_device_get_free_space_size (XnoiseExtDevPlayerDevice* self);
+VALA_EXTERN gchar* xnoise_ext_dev_player_device_get_filesystem_size_formatted (XnoiseExtDevPlayerDevice* self);
+VALA_EXTERN gchar* xnoise_ext_dev_player_device_get_free_space_size_formatted (XnoiseExtDevPlayerDevice* self);
+VALA_EXTERN GCancellable* xnoise_ext_dev_player_device_get_cancellable (XnoiseExtDevPlayerDevice* self);
+VALA_EXTERN void xnoise_ext_dev_player_device_set_cancellable (XnoiseExtDevPlayerDevice* self,
+                                                   GCancellable* value);
+VALA_EXTERN GType xnoise_imain_view_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseIMainView, g_object_unref)
+VALA_EXTERN GType xnoise_ext_dev_player_tree_view_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevPlayerTreeView, g_object_unref)
+VALA_EXTERN XnoiseExtDevPlayerMainView* xnoise_ext_dev_player_main_view_construct (GType object_type,
+                                                                       XnoiseExtDevPlayerDevice* audio_player_device,
+                                                                       GCancellable* cancellable);
+VALA_EXTERN XnoiseExtDevPlayerTreeView* xnoise_ext_dev_player_main_view_get_tree_view (XnoiseExtDevPlayerMainView* self);
+VALA_EXTERN GType xnoise_ext_dev_player_tree_store_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevPlayerTreeStore, g_object_unref)
+VALA_EXTERN GType xnoise_ext_dev_player_tree_store_column_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseExtDevPlayerTreeStore* xnoise_ext_dev_player_tree_store_new (XnoiseExtDevPlayerTreeView* view,
+                                                                   XnoiseExtDevPlayerDevice* audio_player_device,
+                                                                   GFile** base_folders,
+                                                                   gint base_folders_length1,
+                                                                   GCancellable* cancellable);
+VALA_EXTERN XnoiseExtDevPlayerTreeStore* xnoise_ext_dev_player_tree_store_construct (GType object_type,
+                                                                         XnoiseExtDevPlayerTreeView* view,
+                                                                         XnoiseExtDevPlayerDevice* audio_player_device,
+                                                                         GFile** base_folders,
+                                                                         gint base_folders_length1,
+                                                                         GCancellable* cancellable);
+VALA_EXTERN void xnoise_ext_dev_player_tree_store_filter (XnoiseExtDevPlayerTreeStore* self);
+VALA_EXTERN void xnoise_ext_dev_player_tree_store_unload_children (XnoiseExtDevPlayerTreeStore* self,
+                                                       GtkTreeIter* iter);
+VALA_EXTERN void xnoise_ext_dev_player_tree_store_load_children (XnoiseExtDevPlayerTreeStore* self,
+                                                     GtkTreeIter* iter);
+VALA_EXTERN XnoiseExtDevPlayerTreeView* xnoise_ext_dev_player_tree_view_construct (GType object_type,
+                                                                       XnoiseExtDevPlayerDevice* audio_player_device,
+                                                                       GCancellable* cancellable);
+VALA_EXTERN XnoiseExtDevPlayerTreeStore* xnoise_ext_dev_player_tree_view_get_tree_store (XnoiseExtDevPlayerTreeView* self);
+VALA_EXTERN GFile* xnoise_ext_dev_player_tree_view_get_dest_dir (XnoiseExtDevPlayerTreeView* self);
+VALA_EXTERN XnoiseExtDevAudioPlayerTempDb* xnoise_ext_dev_audio_player_temp_db_new (GCancellable* cancel);
+VALA_EXTERN XnoiseExtDevAudioPlayerTempDb* xnoise_ext_dev_audio_player_temp_db_construct (GType object_type,
+                                                                              GCancellable* cancel);
+VALA_EXTERN void xnoise_ext_dev_audio_player_temp_db_begin_transaction (XnoiseExtDevAudioPlayerTempDb* self);
+VALA_EXTERN void xnoise_ext_dev_audio_player_temp_db_commit_transaction (XnoiseExtDevAudioPlayerTempDb* self);
+VALA_EXTERN void xnoise_ext_dev_audio_player_temp_db_insert_tracks (XnoiseExtDevAudioPlayerTempDb* self,
+                                                        XnoiseTrackData*** tda,
+                                                        gint* tda_length1);
+VALA_EXTERN void xnoise_ext_dev_audio_player_temp_db_remove_uri (XnoiseExtDevAudioPlayerTempDb* self,
+                                                     const gchar* uri);
+VALA_EXTERN GType xnoise_ext_dev_device_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN gboolean xnoise_ext_dev_device_initialize (XnoiseExtDevDevice* self);
+VALA_EXTERN gchar* xnoise_ext_dev_device_get_uri (XnoiseExtDevDevice* self);
+VALA_EXTERN DeviceMainView* xnoise_ext_dev_device_get_main_view_widget (XnoiseExtDevDevice* self);
+VALA_EXTERN void xnoise_ext_dev_device_cancel (XnoiseExtDevDevice* self);
+VALA_EXTERN XnoiseItemHandler* xnoise_ext_dev_device_get_item_handler (XnoiseExtDevDevice* self);
+VALA_EXTERN gchar* xnoise_ext_dev_device_get_presentable_name (XnoiseExtDevDevice* self);
+VALA_EXTERN gchar* xnoise_ext_dev_device_get_identifier (XnoiseExtDevDevice* self);
+VALA_EXTERN GtkImage* xnoise_ext_dev_device_get_icon (XnoiseExtDevDevice* self);
+VALA_EXTERN XnoiseExtDevDevice* xnoise_ext_dev_device_construct (GType object_type);
+VALA_EXTERN XnoiseExtDevDeviceType xnoise_ext_dev_device_get_device_type (XnoiseExtDevDevice* self);
+VALA_EXTERN void xnoise_ext_dev_device_set_device_type (XnoiseExtDevDevice* self,
+                                            XnoiseExtDevDeviceType value);
+VALA_EXTERN gboolean xnoise_ext_dev_device_get_in_data_transfer (XnoiseExtDevDevice* self);
+VALA_EXTERN void xnoise_ext_dev_device_set_in_data_transfer (XnoiseExtDevDevice* self,
+                                                 gboolean value);
+VALA_EXTERN gboolean xnoise_ext_dev_device_get_in_loading (XnoiseExtDevDevice* self);
+VALA_EXTERN void xnoise_ext_dev_device_set_in_loading (XnoiseExtDevDevice* self,
+                                           gboolean value);
+VALA_EXTERN DeviceMainView* device_main_view_construct (GType object_type,
+                                            XnoiseExtDevDevice* device,
+                                            GCancellable* cancellable);
+VALA_EXTERN gchar* device_main_view_get_view_name (DeviceMainView* self);
+VALA_EXTERN gchar* device_main_view_get_localized_name (DeviceMainView* self);
+VALA_EXTERN GType xnoise_ext_dev_device_manager_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevDeviceManager, g_object_unref)
+VALA_EXTERN XnoiseExtDevDeviceManager* xnoise_ext_dev_device_manager_new (void);
+VALA_EXTERN XnoiseExtDevDeviceManager* xnoise_ext_dev_device_manager_construct (GType object_type);
+VALA_EXTERN gpointer xnoise_ext_dev_device_manager_device_id_container_ref (gpointer instance);
+VALA_EXTERN void xnoise_ext_dev_device_manager_device_id_container_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_ext_dev_device_manager_param_spec_device_id_container (const gchar* name,
+                                                                          const gchar* nick,
+                                                                          const gchar* blurb,
+                                                                          GType object_type,
+                                                                          GParamFlags flags);
+VALA_EXTERN void xnoise_ext_dev_device_manager_value_set_device_id_container (GValue* value,
+                                                                  gpointer v_object);
+VALA_EXTERN void xnoise_ext_dev_device_manager_value_take_device_id_container (GValue* value,
+                                                                   gpointer v_object);
+VALA_EXTERN gpointer xnoise_ext_dev_device_manager_value_get_device_id_container (const GValue* value);
+VALA_EXTERN GType xnoise_ext_dev_device_manager_device_id_container_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExtDevDeviceManagerDeviceIdContainer, xnoise_ext_dev_device_manager_device_id_container_unref)
+VALA_EXTERN void xnoise_ext_dev_device_manager_register_device (XnoiseExtDevDeviceManager* self,
+                                                    XnoiseExtDevDeviceManagerDeviceIdContainer* c);
+VALA_EXTERN XnoiseExtDevDeviceManagerDeviceIdContainer* xnoise_ext_dev_device_manager_device_id_container_new (XnoiseExtDevDeviceManagerIdentificationCallback cb,
+                                                                                                   gpointer cb_target);
+VALA_EXTERN XnoiseExtDevDeviceManagerDeviceIdContainer* xnoise_ext_dev_device_manager_device_id_container_construct (GType object_type,
+                                                                                                         XnoiseExtDevDeviceManagerIdentificationCallback cb,
+                                                                                                         gpointer cb_target);
+VALA_EXTERN GType xnoise_video_screen_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseVideoScreen, g_object_unref)
+VALA_EXTERN GType xnoise_gst_player_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseGstPlayer, g_object_unref)
+VALA_EXTERN XnoiseVideoScreen* xnoise_video_screen_new (XnoiseGstPlayer* player);
+VALA_EXTERN XnoiseVideoScreen* xnoise_video_screen_construct (GType object_type,
+                                                  XnoiseGstPlayer* player);
+VALA_EXTERN void xnoise_video_screen_trigger_expose (XnoiseVideoScreen* self);
+VALA_EXTERN const gchar* xnoise_video_screen_get_font_family (XnoiseVideoScreen* self);
+VALA_EXTERN void xnoise_video_screen_set_font_family (XnoiseVideoScreen* self,
+                                          const gchar* value);
+VALA_EXTERN gdouble xnoise_video_screen_get_font_size (XnoiseVideoScreen* self);
+VALA_EXTERN void xnoise_video_screen_set_font_size (XnoiseVideoScreen* self,
+                                        gdouble value);
+VALA_EXTERN const gchar* xnoise_video_screen_get_text (XnoiseVideoScreen* self);
+VALA_EXTERN void xnoise_video_screen_set_text (XnoiseVideoScreen* self,
+                                   const gchar* value);
+VALA_EXTERN GType xnoise_main_view_notebook_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMainViewNotebook, g_object_unref)
+VALA_EXTERN XnoiseMainViewNotebook* xnoise_main_view_notebook_new (void);
+VALA_EXTERN XnoiseMainViewNotebook* xnoise_main_view_notebook_construct (GType object_type);
+VALA_EXTERN void xnoise_main_view_notebook_add_main_view (XnoiseMainViewNotebook* self,
+                                              XnoiseIMainView* view);
+VALA_EXTERN void xnoise_main_view_notebook_remove_main_view (XnoiseMainViewNotebook* self,
+                                                 XnoiseIMainView* view);
+VALA_EXTERN gboolean xnoise_main_view_notebook_select_main_view (XnoiseMainViewNotebook* self,
+                                                     const gchar* name);
+VALA_EXTERN gchar* xnoise_main_view_notebook_get_current_main_view_name (XnoiseMainViewNotebook* self);
+VALA_EXTERN const gchar* xnoise_main_view_notebook_get_current_name (XnoiseMainViewNotebook* self);
+VALA_EXTERN void xnoise_main_view_notebook_set_current_name (XnoiseMainViewNotebook* self,
+                                                 const gchar* value);
+VALA_EXTERN GType xnoise_media_soure_widget_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMediaSoureWidget, g_object_unref)
+VALA_EXTERN XnoiseMediaSoureWidget* xnoise_media_soure_widget_new (XnoiseMainWindow* mwindow);
+VALA_EXTERN XnoiseMediaSoureWidget* xnoise_media_soure_widget_construct (GType object_type,
+                                                             XnoiseMainWindow* mwindow);
+VALA_EXTERN void xnoise_media_soure_widget_set_focus_on_selector (XnoiseMediaSoureWidget* self);
+VALA_EXTERN void xnoise_media_soure_widget_select_dockable_by_name (XnoiseMediaSoureWidget* self,
+                                                        const gchar* name,
+                                                        gboolean emmit_signal);
+VALA_EXTERN GtkEntry* xnoise_media_soure_widget_get_search_entry (XnoiseMediaSoureWidget* self);
+VALA_EXTERN GType xnoise_serial_button_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSerialButton, g_object_unref)
+VALA_EXTERN GType xnoise_serial_button_presentation_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseSerialButton* xnoise_serial_button_new (XnoiseSerialButtonPresentation presentation);
+VALA_EXTERN XnoiseSerialButton* xnoise_serial_button_construct (GType object_type,
+                                                    XnoiseSerialButtonPresentation presentation);
+VALA_EXTERN gchar* xnoise_serial_button_get_active_name (XnoiseSerialButton* self);
+VALA_EXTERN gboolean xnoise_serial_button_insert (XnoiseSerialButton* self,
+                                      const gchar* name,
+                                      const gchar* txt,
+                                      GtkImage* image);
+VALA_EXTERN gboolean xnoise_serial_button_has_item (XnoiseSerialButton* self,
+                                        const gchar* name);
+VALA_EXTERN void xnoise_serial_button_select_first (XnoiseSerialButton* self);
+VALA_EXTERN void xnoise_serial_button_select (XnoiseSerialButton* self,
+                                  const gchar* name,
+                                  gboolean emit_signal);
+VALA_EXTERN void xnoise_serial_button_set_sensitive (XnoiseSerialButton* self,
+                                         const gchar* name,
+                                         gboolean sensitive_status);
+VALA_EXTERN void xnoise_serial_button_del (XnoiseSerialButton* self,
+                               const gchar* name);
+VALA_EXTERN gint xnoise_serial_button_get_item_count (XnoiseSerialButton* self);
+VALA_EXTERN GType xnoise_global_access_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseGlobalAccess, g_object_unref)
+VALA_EXTERN GCancellable* xnoise_global_access_main_cancellable;
+VALA_EXTERN void xnoise_global_access_reset_position_reference (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_do_restart_of_current_track (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_handle_eos (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_preview_uri (XnoiseGlobalAccess* self,
+                                       const gchar* uri);
+VALA_EXTERN void xnoise_global_access_prev (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_play (XnoiseGlobalAccess* self,
+                                gboolean pause_if_playing);
+VALA_EXTERN void xnoise_global_access_pause (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_next (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_stop (XnoiseGlobalAccess* self);
+VALA_EXTERN XnoiseGlobalAccess* xnoise_global_access_new (void);
+VALA_EXTERN XnoiseGlobalAccess* xnoise_global_access_construct (GType object_type);
+VALA_EXTERN const gchar* xnoise_global_access_get_searchtext (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_searchtext (XnoiseGlobalAccess* self,
+                                          const gchar* value);
+VALA_EXTERN const gchar* xnoise_global_access_get_active_dockable_media_name (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_active_dockable_media_name (XnoiseGlobalAccess* self,
+                                                          const gchar* value);
+VALA_EXTERN XnoiseCollectionSortMode xnoise_global_access_get_collection_sort_mode (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_collection_sort_mode (XnoiseGlobalAccess* self,
+                                                    XnoiseCollectionSortMode value);
+VALA_EXTERN GType xnoise_player_state_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoisePlayerState xnoise_global_access_get_player_state (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_player_state (XnoiseGlobalAccess* self,
+                                            XnoisePlayerState value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_uri (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_uri (XnoiseGlobalAccess* self,
+                                           const gchar* value);
+VALA_EXTERN GtkTreeRowReference* xnoise_global_access_get_position_reference (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_position_reference (XnoiseGlobalAccess* self,
+                                                  GtkTreeRowReference* value);
+VALA_EXTERN GtkTreeRowReference* xnoise_global_access_get_position_reference_next (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_position_reference_next (XnoiseGlobalAccess* self,
+                                                       GtkTreeRowReference* value);
+VALA_EXTERN gboolean xnoise_global_access_get_media_import_in_progress (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_media_import_in_progress (XnoiseGlobalAccess* self,
+                                                        gboolean value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_artist (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_artist (XnoiseGlobalAccess* self,
+                                              const gchar* value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_albumartist (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_albumartist (XnoiseGlobalAccess* self,
+                                                   const gchar* value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_album (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_album (XnoiseGlobalAccess* self,
+                                             const gchar* value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_title (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_title (XnoiseGlobalAccess* self,
+                                             const gchar* value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_location (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_location (XnoiseGlobalAccess* self,
+                                                const gchar* value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_genre (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_genre (XnoiseGlobalAccess* self,
+                                             const gchar* value);
+VALA_EXTERN const gchar* xnoise_global_access_get_current_organization (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_current_organization (XnoiseGlobalAccess* self,
+                                                    const gchar* value);
+VALA_EXTERN gboolean xnoise_global_access_get_in_preview (XnoiseGlobalAccess* self);
+VALA_EXTERN void xnoise_global_access_set_in_preview (XnoiseGlobalAccess* self,
+                                          gboolean value);
+VALA_EXTERN GType xnoise_icon_repo_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseIconRepo, g_object_unref)
+VALA_EXTERN GtkImage* xnoise_icon_repo_get_themed_image_icon (const gchar* name,
+                                                  GtkIconSize size,
+                                                  gint pixelsize);
+VALA_EXTERN GdkPixbuf* xnoise_icon_repo_get_themed_pixbuf_icon (const gchar* name,
+                                                    gint pixel_size,
+                                                    GtkStyleContext* style_context);
+VALA_EXTERN XnoiseIconRepo* xnoise_icon_repo_new (void);
+VALA_EXTERN XnoiseIconRepo* xnoise_icon_repo_construct (GType object_type);
+VALA_EXTERN GType xnoise_extern_queryable_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseExternQueryable, g_object_unref)
+VALA_EXTERN gint xnoise_extern_queryable_get_model_item_column (XnoiseExternQueryable* self);
+VALA_EXTERN XnoiseDataSource* xnoise_extern_queryable_get_data_source (XnoiseExternQueryable* self);
+VALA_EXTERN void xnoise_item_init (XnoiseItem *self,
+                       XnoiseItemType _type,
+                       const gchar* _uri,
+                       gint32 _db_id);
+VALA_EXTERN GType xnoise_item_converter_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseItemConverter, g_object_unref)
+VALA_EXTERN XnoiseTrackData** xnoise_item_converter_to_trackdata (XnoiseItemConverter* self,
+                                                      XnoiseItem* item,
+                                                      const gchar* searchtext,
+                                                      GHashTable* extra_items,
+                                                      gint* result_length1);
+VALA_EXTERN XnoiseItemConverter* xnoise_item_converter_new (void);
+VALA_EXTERN XnoiseItemConverter* xnoise_item_converter_construct (GType object_type);
+VALA_EXTERN GType xnoise_action_context_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_item_selection_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_item_handler_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN gpointer xnoise_action_ref (gpointer instance);
+VALA_EXTERN void xnoise_action_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_action (const gchar* name,
+                                      const gchar* nick,
+                                      const gchar* blurb,
+                                      GType object_type,
+                                      GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_action (GValue* value,
+                              gpointer v_object);
+VALA_EXTERN void xnoise_value_take_action (GValue* value,
+                               gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_action (const GValue* value);
+VALA_EXTERN GType xnoise_action_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseAction, xnoise_action_unref)
+VALA_EXTERN XnoiseAction* xnoise_action_new (void);
+VALA_EXTERN XnoiseAction* xnoise_action_construct (GType object_type);
+VALA_EXTERN GType xnoise_item_handler_manager_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseItemHandlerManager, g_object_unref)
+VALA_EXTERN gboolean xnoise_item_handler_set_manager (XnoiseItemHandler* self,
+                                          XnoiseItemHandlerManager* _uhm);
+VALA_EXTERN XnoiseItemHandlerType xnoise_item_handler_handler_type (XnoiseItemHandler* self);
+VALA_EXTERN const gchar* xnoise_item_handler_handler_name (XnoiseItemHandler* self);
+VALA_EXTERN XnoiseAction* xnoise_item_handler_get_action (XnoiseItemHandler* self,
+                                              XnoiseItemType type,
+                                              XnoiseActionContext context,
+                                              XnoiseItemSelectionType selection);
+VALA_EXTERN XnoiseItemHandler* xnoise_item_handler_construct (GType object_type);
+VALA_EXTERN GArray* xnoise_item_handler_manager_get_actions (XnoiseItemHandlerManager* self,
+                                                 XnoiseItemType type,
+                                                 XnoiseActionContext context,
+                                                 XnoiseItemSelectionType selection);
+VALA_EXTERN void xnoise_item_handler_manager_add_handler (XnoiseItemHandlerManager* self,
+                                              XnoiseItemHandler* handler);
+VALA_EXTERN void xnoise_item_handler_manager_remove_handler (XnoiseItemHandlerManager* self,
+                                                 XnoiseItemHandler* handler);
+VALA_EXTERN XnoiseItemHandler* xnoise_item_handler_manager_get_handler_by_type (XnoiseItemHandlerManager* self,
+                                                                    XnoiseItemHandlerType type);
+VALA_EXTERN XnoiseItemHandler* xnoise_item_handler_manager_get_handler_by_name (XnoiseItemHandlerManager* self,
+                                                                    const gchar* name);
+VALA_EXTERN XnoiseItem* xnoise_item_handler_manager_create_item (const gchar* uri);
+VALA_EXTERN void xnoise_item_handler_manager_execute_actions_for_item (XnoiseItemHandlerManager* self,
+                                                           XnoiseItem* item,
+                                                           XnoiseActionContext context,
+                                                           GValue* data,
+                                                           XnoiseItemSelectionType selection);
+VALA_EXTERN XnoiseItemHandlerManager* xnoise_item_handler_manager_new (void);
+VALA_EXTERN XnoiseItemHandlerManager* xnoise_item_handler_manager_construct (GType object_type);
+VALA_EXTERN GType xnoise_dyn_playlist_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_tree_queryable_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTreeQueryable, g_object_unref)
+VALA_EXTERN gint xnoise_tree_queryable_get_model_item_column (XnoiseTreeQueryable* self);
+VALA_EXTERN GtkTreeModel* xnoise_tree_queryable_get_queryable_model (XnoiseTreeQueryable* self);
+VALA_EXTERN GList* xnoise_tree_queryable_query_selection (XnoiseTreeQueryable* self);
+VALA_EXTERN GType xnoise_ilyrics_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseILyrics, g_object_unref)
+VALA_EXTERN void xnoise_ilyrics_find_lyrics (XnoiseILyrics* self);
+VALA_EXTERN gchar* xnoise_ilyrics_get_identifier (XnoiseILyrics* self);
+VALA_EXTERN gchar* xnoise_ilyrics_get_credits (XnoiseILyrics* self);
+VALA_EXTERN guint xnoise_ilyrics_get_timeout (XnoiseILyrics* self);
+VALA_EXTERN gboolean xnoise_ilyrics_timeout_elapsed (XnoiseILyrics* self);
+VALA_EXTERN void xnoise_ilyrics_destruct (XnoiseILyrics* self);
+VALA_EXTERN GType xnoise_plugin_module_container_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePluginModuleContainer, g_object_unref)
+VALA_EXTERN GType xnoise_plugin_module_iplugin_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePluginModuleIPlugin, g_object_unref)
+VALA_EXTERN GType xnoise_lyrics_loader_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseLyricsLoader, g_object_unref)
+VALA_EXTERN GType xnoise_ilyrics_provider_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseILyrics* xnoise_ilyrics_provider_from_tags (XnoiseILyricsProvider* self,
+                                                  XnoiseLyricsLoader* loader,
+                                                  const gchar* artist,
+                                                  const gchar* title,
+                                                  XnoiseLyricsFetchedCallback cb,
+                                                  gpointer cb_target);
+VALA_EXTERN gboolean xnoise_ilyrics_provider_equals (XnoiseILyricsProvider* self,
+                                         XnoiseILyricsProvider* other);
+VALA_EXTERN gint xnoise_ilyrics_provider_get_priority (XnoiseILyricsProvider* self);
+VALA_EXTERN void xnoise_ilyrics_provider_set_priority (XnoiseILyricsProvider* self,
+                                           gint value);
+VALA_EXTERN const gchar* xnoise_ilyrics_provider_get_provider_name (XnoiseILyricsProvider* self);
+VALA_EXTERN XnoiseLyricsLoader* xnoise_lyrics_loader_new (void);
+VALA_EXTERN XnoiseLyricsLoader* xnoise_lyrics_loader_construct (GType object_type);
+VALA_EXTERN GType xnoise_lyrics_view_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseLyricsView, g_object_unref)
+VALA_EXTERN XnoiseLyricsView* xnoise_lyrics_view_new (void);
+VALA_EXTERN XnoiseLyricsView* xnoise_lyrics_view_construct (GType object_type);
+VALA_EXTERN void xnoise_lyrics_view_lyrics_provider_unregister (XnoiseLyricsView* self,
+                                                    XnoiseILyricsProvider* lp);
+VALA_EXTERN XnoiseLyricsLoader* xnoise_lyrics_view_get_loader (XnoiseLyricsView* self);
+VALA_EXTERN XnoiseMain* xnoise_main_new (void);
+VALA_EXTERN XnoiseMain* xnoise_main_construct (GType object_type);
+VALA_EXTERN void xnoise_main_immediate_play (XnoiseMain* self,
+                                 const gchar* uri);
+VALA_EXTERN gboolean xnoise_main_is_same_thread (XnoiseMain* self);
+VALA_EXTERN void xnoise_main_quit (XnoiseMain* self);
+VALA_EXTERN XnoiseMain* xnoise_main_get_instance (void);
+VALA_EXTERN GType xnoise_iparams_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseIParams, g_object_unref)
+VALA_EXTERN GType xnoise_album_art_view_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseAlbumArtView, g_object_unref)
+VALA_EXTERN gpointer xnoise_fullscreen_toolbar_ref (gpointer instance);
+VALA_EXTERN void xnoise_fullscreen_toolbar_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_fullscreen_toolbar (const gchar* name,
+                                                  const gchar* nick,
+                                                  const gchar* blurb,
+                                                  GType object_type,
+                                                  GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_fullscreen_toolbar (GValue* value,
+                                          gpointer v_object);
+VALA_EXTERN void xnoise_value_take_fullscreen_toolbar (GValue* value,
+                                           gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_fullscreen_toolbar (const GValue* value);
+VALA_EXTERN GType xnoise_fullscreen_toolbar_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseFullscreenToolbar, xnoise_fullscreen_toolbar_unref)
+VALA_EXTERN GType xnoise_thin_paned_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseThinPaned, g_object_unref)
+VALA_EXTERN GType xnoise_track_infobar_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTrackInfobar, g_object_unref)
+VALA_EXTERN GType xnoise_music_browser_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMusicBrowser, g_object_unref)
+VALA_EXTERN GType xnoise_main_window_settings_dialog_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_main_window_player_repeat_mode_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseMainWindow* xnoise_main_window_new (void);
+VALA_EXTERN XnoiseMainWindow* xnoise_main_window_construct (GType object_type);
+VALA_EXTERN void xnoise_main_window_toggle_fullscreen (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_toggle_window_visbility (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_show_window (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_reset_mainview_to_tracklist (XnoiseMainWindow* self);
+VALA_EXTERN XnoiseLyricsView* xnoise_main_window_get_lyricsView (XnoiseMainWindow* self);
+VALA_EXTERN XnoiseMainViewNotebook* xnoise_main_window_get_mainview_box (XnoiseMainWindow* self);
+VALA_EXTERN GtkUIManager* xnoise_main_window_get_ui_manager (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_ui_manager (XnoiseMainWindow* self,
+                                        GtkUIManager* value);
+VALA_EXTERN gboolean xnoise_main_window_get_not_show_art_on_hover_image (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_not_show_art_on_hover_image (XnoiseMainWindow* self,
+                                                         gboolean value);
+VALA_EXTERN gboolean xnoise_main_window_get_active_lyrics (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_active_lyrics (XnoiseMainWindow* self,
+                                           gboolean value);
+VALA_EXTERN gboolean xnoise_main_window_get_media_browser_visible (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_media_browser_visible (XnoiseMainWindow* self,
+                                                   gboolean value);
+VALA_EXTERN XnoiseMainWindowPlayerRepeatMode xnoise_main_window_get_repeatState (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_repeatState (XnoiseMainWindow* self,
+                                         XnoiseMainWindowPlayerRepeatMode value);
+VALA_EXTERN gboolean xnoise_main_window_get_fullscreenwindowvisible (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_fullscreenwindowvisible (XnoiseMainWindow* self,
+                                                     gboolean value);
+VALA_EXTERN gboolean xnoise_main_window_get_window_in_foreground (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_window_in_foreground (XnoiseMainWindow* self,
+                                                  gboolean value);
+VALA_EXTERN gboolean xnoise_main_window_get_album_art_view_visible (XnoiseMainWindow* self);
+VALA_EXTERN void xnoise_main_window_set_album_art_view_visible (XnoiseMainWindow* self,
+                                                    gboolean value);
+VALA_EXTERN GType xnoise_media_monitor_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMediaMonitor, g_object_unref)
+VALA_EXTERN XnoiseMediaMonitor* xnoise_media_monitor_new (void);
+VALA_EXTERN XnoiseMediaMonitor* xnoise_media_monitor_construct (GType object_type);
+VALA_EXTERN void xnoise_iparams_read_params_data (XnoiseIParams* self);
+VALA_EXTERN void xnoise_iparams_write_params_data (XnoiseIParams* self);
+VALA_EXTERN GType xnoise_params_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseParams, g_object_unref)
+VALA_EXTERN gboolean xnoise_params_is_inited (void);
+VALA_EXTERN void xnoise_params_init (void);
+VALA_EXTERN void xnoise_params_iparams_register (XnoiseIParams* iparam);
+VALA_EXTERN void xnoise_params_set_start_parameters_in_implementors (void);
+VALA_EXTERN void xnoise_params_write_all_parameters_to_file (void);
+VALA_EXTERN gboolean xnoise_params_get_bool_value (const gchar* key);
+VALA_EXTERN gint xnoise_params_get_int_value (const gchar* key);
+VALA_EXTERN gdouble xnoise_params_get_double_value (const gchar* key);
+VALA_EXTERN gchar** xnoise_params_get_string_list_value (const gchar* key,
+                                             gint* result_length1);
+VALA_EXTERN gchar* xnoise_params_get_string_value (const gchar* key);
+VALA_EXTERN void xnoise_params_set_bool_value (const gchar* key,
+                                   gboolean val);
+VALA_EXTERN void xnoise_params_set_int_value (const gchar* key,
+                                  gint val);
+VALA_EXTERN void xnoise_params_set_double_value (const gchar* key,
+                                     gdouble val);
+VALA_EXTERN void xnoise_params_set_string_list_value (const gchar* key,
+                                          gchar** val,
+                                          gint val_length1);
+VALA_EXTERN void xnoise_params_set_string_value (const gchar* key,
+                                     const gchar* val);
+VALA_EXTERN XnoiseParams* xnoise_params_new (void);
+VALA_EXTERN XnoiseParams* xnoise_params_construct (GType object_type);
+VALA_EXTERN GType xnoise_gst_equalizer_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseGstEqualizer, g_object_unref)
+VALA_EXTERN XnoiseGstPlayer* xnoise_gst_player_new (void);
+VALA_EXTERN XnoiseGstPlayer* xnoise_gst_player_construct (GType object_type);
+VALA_EXTERN void xnoise_gst_player_set_subtitle_uri (XnoiseGstPlayer* self,
+                                         const gchar* s_uri);
+VALA_EXTERN void xnoise_gst_player_play (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_pause (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_stop (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_playSong (XnoiseGstPlayer* self,
+                                 gboolean force_play);
+VALA_EXTERN void xnoise_gst_player_request_micro_time_offset (XnoiseGstPlayer* self,
+                                                  gint64 micro_seconds);
+VALA_EXTERN void xnoise_gst_player_request_time_offset (XnoiseGstPlayer* self,
+                                            gint seconds);
+VALA_EXTERN gchar** xnoise_gst_player_get_available_subtitles (XnoiseGstPlayer* self,
+                                                   gint* result_length1);
+VALA_EXTERN gchar** xnoise_gst_player_get_available_audiotracks (XnoiseGstPlayer* self,
+                                                     gint* result_length1);
+VALA_EXTERN gboolean xnoise_gst_player_get_current_has_video_track (XnoiseGstPlayer* self);
+VALA_EXTERN gboolean xnoise_gst_player_get_current_has_subtitles (XnoiseGstPlayer* self);
+VALA_EXTERN gdouble xnoise_gst_player_get_volume (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_volume (XnoiseGstPlayer* self,
+                                   gdouble value);
+VALA_EXTERN gdouble xnoise_gst_player_get_preamplification (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_preamplification (XnoiseGstPlayer* self,
+                                             gdouble value);
+VALA_EXTERN gboolean xnoise_gst_player_get_playing (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_playing (XnoiseGstPlayer* self,
+                                    gboolean value);
+VALA_EXTERN gboolean xnoise_gst_player_get_paused (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_paused (XnoiseGstPlayer* self,
+                                   gboolean value);
+VALA_EXTERN gboolean xnoise_gst_player_get_seeking (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_seeking (XnoiseGstPlayer* self,
+                                    gboolean value);
+VALA_EXTERN gboolean xnoise_gst_player_get_is_stream (XnoiseGstPlayer* self);
+VALA_EXTERN gboolean xnoise_gst_player_get_buffering (XnoiseGstPlayer* self);
+VALA_EXTERN gint64 xnoise_gst_player_get_length_nsecs (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_length_nsecs (XnoiseGstPlayer* self,
+                                         gint64 value);
+VALA_EXTERN const gchar* xnoise_gst_player_get_uri (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_uri (XnoiseGstPlayer* self,
+                                const gchar* value);
+VALA_EXTERN const gchar* xnoise_gst_player_get_suburi (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_suburi (XnoiseGstPlayer* self,
+                                   const gchar* value);
+VALA_EXTERN gint xnoise_gst_player_get_current_text (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_current_text (XnoiseGstPlayer* self,
+                                         gint value);
+VALA_EXTERN gint xnoise_gst_player_get_current_audio (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_current_audio (XnoiseGstPlayer* self,
+                                          gint value);
+VALA_EXTERN gint xnoise_gst_player_get_current_video (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_current_video (XnoiseGstPlayer* self,
+                                          gint value);
+VALA_EXTERN gint xnoise_gst_player_get_n_text (XnoiseGstPlayer* self);
+VALA_EXTERN gint xnoise_gst_player_get_n_audio (XnoiseGstPlayer* self);
+VALA_EXTERN gint xnoise_gst_player_get_n_video (XnoiseGstPlayer* self);
+VALA_EXTERN gint64 xnoise_gst_player_get_abs_position_microseconds (XnoiseGstPlayer* self);
+VALA_EXTERN gdouble xnoise_gst_player_get_position (XnoiseGstPlayer* self);
+VALA_EXTERN void xnoise_gst_player_set_position (XnoiseGstPlayer* self,
+                                     gdouble value);
+VALA_EXTERN GQuark xnoise_playlist_reader_error_quark (void);
+VALA_EXTERN GType xnoise_playlist_reader_error_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_playlist_list_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_playlist_result_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_playlist_target_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN gboolean xnoise_playlist_is_playlist_extension (const gchar* ext);
+VALA_EXTERN gboolean xnoise_playlist_debug;
+VALA_EXTERN gboolean xnoise_playlist_is_known_playlist_extension (gchar** ext);
+VALA_EXTERN gchar* xnoise_playlist_get_extension (GFile* f);
+VALA_EXTERN gpointer xnoise_playlist_entry_ref (gpointer instance);
+VALA_EXTERN void xnoise_playlist_entry_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_playlist_param_spec_entry (const gchar* name,
+                                              const gchar* nick,
+                                              const gchar* blurb,
+                                              GType object_type,
+                                              GParamFlags flags);
+VALA_EXTERN void xnoise_playlist_value_set_entry (GValue* value,
+                                      gpointer v_object);
+VALA_EXTERN void xnoise_playlist_value_take_entry (GValue* value,
+                                       gpointer v_object);
+VALA_EXTERN gpointer xnoise_playlist_value_get_entry (const GValue* value);
+VALA_EXTERN GType xnoise_playlist_entry_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePlaylistEntry, xnoise_playlist_entry_unref)
+VALA_EXTERN GType xnoise_playlist_entry_field_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoisePlaylistEntry* xnoise_playlist_entry_new (void);
+VALA_EXTERN XnoisePlaylistEntry* xnoise_playlist_entry_construct (GType object_type);
+VALA_EXTERN void xnoise_playlist_entry_add_field (XnoisePlaylistEntry* self,
+                                      XnoisePlaylistEntryField field,
+                                      const gchar* val);
+VALA_EXTERN XnoisePlaylistEntryField* xnoise_playlist_entry_get_contained_fields (XnoisePlaylistEntry* self,
+                                                                      gint* result_length1);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_field (XnoisePlaylistEntry* self,
+                                        XnoisePlaylistEntryField field);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_uri (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_rel_path (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_abs_path (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_title (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_author (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_genre (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_album (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_copyright (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_duration_string (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_param_name (XnoisePlaylistEntry* self);
+VALA_EXTERN gchar* xnoise_playlist_entry_get_param_value (XnoisePlaylistEntry* self);
+VALA_EXTERN glong xnoise_playlist_entry_get_duration (XnoisePlaylistEntry* self);
+VALA_EXTERN gboolean xnoise_playlist_entry_is_remote (XnoisePlaylistEntry* self);
+VALA_EXTERN gboolean xnoise_playlist_entry_is_playlist (XnoisePlaylistEntry* self);
+VALA_EXTERN XnoisePlaylistTargetType xnoise_playlist_entry_get_target_type (XnoisePlaylistEntry* self);
+VALA_EXTERN void xnoise_playlist_entry_set_target_type (XnoisePlaylistEntry* self,
+                                            XnoisePlaylistTargetType value);
+VALA_EXTERN const gchar* xnoise_playlist_entry_get_base_path (XnoisePlaylistEntry* self);
+VALA_EXTERN void xnoise_playlist_entry_set_base_path (XnoisePlaylistEntry* self,
+                                          const gchar* value);
+VALA_EXTERN gpointer xnoise_playlist_entry_collection_ref (gpointer instance);
+VALA_EXTERN void xnoise_playlist_entry_collection_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_playlist_param_spec_entry_collection (const gchar* name,
+                                                         const gchar* nick,
+                                                         const gchar* blurb,
+                                                         GType object_type,
+                                                         GParamFlags flags);
+VALA_EXTERN void xnoise_playlist_value_set_entry_collection (GValue* value,
+                                                 gpointer v_object);
+VALA_EXTERN void xnoise_playlist_value_take_entry_collection (GValue* value,
+                                                  gpointer v_object);
+VALA_EXTERN gpointer xnoise_playlist_value_get_entry_collection (const GValue* value);
+VALA_EXTERN GType xnoise_playlist_entry_collection_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePlaylistEntryCollection, xnoise_playlist_entry_collection_unref)
+VALA_EXTERN XnoisePlaylistEntryCollection* xnoise_playlist_entry_collection_new (void);
+VALA_EXTERN XnoisePlaylistEntryCollection* xnoise_playlist_entry_collection_construct (GType object_type);
+VALA_EXTERN gint xnoise_playlist_entry_collection_get_size (XnoisePlaylistEntryCollection* self);
+VALA_EXTERN void xnoise_playlist_entry_collection_add_general_info (XnoisePlaylistEntryCollection* self,
+                                                        const gchar* key,
+                                                        const gchar* val);
+VALA_EXTERN gchar** xnoise_playlist_entry_collection_get_general_info_keys (XnoisePlaylistEntryCollection* self,
+                                                                gint* result_length1);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_general_info (XnoisePlaylistEntryCollection* self,
+                                                          const gchar* key);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_data_available (XnoisePlaylistEntryCollection* self);
+VALA_EXTERN gchar** xnoise_playlist_entry_collection_get_found_uris (XnoisePlaylistEntryCollection* self,
+                                                         gint* result_length1);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_title_for_uri (XnoisePlaylistEntryCollection* self,
+                                                           gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_author_for_uri (XnoisePlaylistEntryCollection* self,
+                                                            gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_genre_for_uri (XnoisePlaylistEntryCollection* self,
+                                                           gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_album_for_uri (XnoisePlaylistEntryCollection* self,
+                                                           gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_copyright_for_uri (XnoisePlaylistEntryCollection* self,
+                                                               gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_duration_string_for_uri (XnoisePlaylistEntryCollection* self,
+                                                                     gchar** uri_needle);
+VALA_EXTERN glong xnoise_playlist_entry_collection_get_duration_for_uri (XnoisePlaylistEntryCollection* self,
+                                                             gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_param_name_for_uri (XnoisePlaylistEntryCollection* self,
+                                                                gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_entry_collection_get_param_value_for_uri (XnoisePlaylistEntryCollection* self,
+                                                                 gchar** uri_needle);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_get_is_remote_for_uri (XnoisePlaylistEntryCollection* self,
+                                                                 gchar** uri_needle);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_get_is_playlist_for_uri (XnoisePlaylistEntryCollection* self,
+                                                                   gchar** uri_needle);
+VALA_EXTERN gint xnoise_playlist_entry_collection_get_number_of_entries (XnoisePlaylistEntryCollection* self);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_contains (XnoisePlaylistEntryCollection* self,
+                                                    XnoisePlaylistEntry* d);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_contains_field (XnoisePlaylistEntryCollection* self,
+                                                          XnoisePlaylistEntryField field,
+                                                          const gchar* value);
+VALA_EXTERN XnoisePlaylistEntryField* xnoise_playlist_entry_collection_get_contained_fields_for_idx (XnoisePlaylistEntryCollection* self,
+                                                                                         gint idx,
+                                                                                         gint* result_length1);
+VALA_EXTERN XnoisePlaylistEntryField* xnoise_playlist_entry_collection_get_contained_fields_for_uri (XnoisePlaylistEntryCollection* self,
+                                                                                         gchar** uri,
+                                                                                         gint* result_length1);
+VALA_EXTERN gpointer xnoise_playlist_entry_collection_iterator_ref (gpointer instance);
+VALA_EXTERN void xnoise_playlist_entry_collection_iterator_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_playlist_entry_collection_param_spec_iterator (const gchar* name,
+                                                                  const gchar* nick,
+                                                                  const gchar* blurb,
+                                                                  GType object_type,
+                                                                  GParamFlags flags);
+VALA_EXTERN void xnoise_playlist_entry_collection_value_set_iterator (GValue* value,
+                                                          gpointer v_object);
+VALA_EXTERN void xnoise_playlist_entry_collection_value_take_iterator (GValue* value,
+                                                           gpointer v_object);
+VALA_EXTERN gpointer xnoise_playlist_entry_collection_value_get_iterator (const GValue* value);
+VALA_EXTERN GType xnoise_playlist_entry_collection_iterator_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePlaylistEntryCollectionIterator, xnoise_playlist_entry_collection_iterator_unref)
+VALA_EXTERN XnoisePlaylistEntryCollectionIterator* xnoise_playlist_entry_collection_iterator (XnoisePlaylistEntryCollection* self);
+VALA_EXTERN gint xnoise_playlist_entry_collection_index_of (XnoisePlaylistEntryCollection* self,
+                                                XnoisePlaylistEntry* d);
+VALA_EXTERN XnoisePlaylistEntry* xnoise_playlist_entry_collection_get (XnoisePlaylistEntryCollection* self,
+                                                           gint index);
+VALA_EXTERN void xnoise_playlist_entry_collection_set (XnoisePlaylistEntryCollection* self,
+                                           gint index,
+                                           XnoisePlaylistEntry* item);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_append (XnoisePlaylistEntryCollection* self,
+                                                  XnoisePlaylistEntry* item);
+VALA_EXTERN void xnoise_playlist_entry_collection_insert (XnoisePlaylistEntryCollection* self,
+                                              gint index,
+                                              XnoisePlaylistEntry* item);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_remove (XnoisePlaylistEntryCollection* self,
+                                                  XnoisePlaylistEntry* item);
+VALA_EXTERN XnoisePlaylistEntry* xnoise_playlist_entry_collection_remove_at (XnoisePlaylistEntryCollection* self,
+                                                                 gint index);
+VALA_EXTERN void xnoise_playlist_entry_collection_clear (XnoisePlaylistEntryCollection* self);
+VALA_EXTERN void xnoise_playlist_entry_collection_merge (XnoisePlaylistEntryCollection* self,
+                                             XnoisePlaylistEntryCollection* data_collection);
+VALA_EXTERN XnoisePlaylistEntryCollectionIterator* xnoise_playlist_entry_collection_iterator_new (XnoisePlaylistEntryCollection* dc);
+VALA_EXTERN XnoisePlaylistEntryCollectionIterator* xnoise_playlist_entry_collection_iterator_construct (GType object_type,
+                                                                                            XnoisePlaylistEntryCollection* dc);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_iterator_next (XnoisePlaylistEntryCollectionIterator* self);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_iterator_first (XnoisePlaylistEntryCollectionIterator* self);
+VALA_EXTERN XnoisePlaylistEntry* xnoise_playlist_entry_collection_iterator_get (XnoisePlaylistEntryCollectionIterator* self);
+VALA_EXTERN void xnoise_playlist_entry_collection_iterator_remove (XnoisePlaylistEntryCollectionIterator* self);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_iterator_previous (XnoisePlaylistEntryCollectionIterator* self);
+VALA_EXTERN gboolean xnoise_playlist_entry_collection_iterator_has_previous (XnoisePlaylistEntryCollectionIterator* self);
+VALA_EXTERN void xnoise_playlist_entry_collection_iterator_set (XnoisePlaylistEntryCollectionIterator* self,
+                                                    XnoisePlaylistEntry* item);
+VALA_EXTERN void xnoise_playlist_entry_collection_iterator_insert (XnoisePlaylistEntryCollectionIterator* self,
+                                                       XnoisePlaylistEntry* item);
+VALA_EXTERN void xnoise_playlist_entry_collection_iterator_append (XnoisePlaylistEntryCollectionIterator* self,
+                                                       XnoisePlaylistEntry* item);
+VALA_EXTERN gint xnoise_playlist_entry_collection_iterator_index (XnoisePlaylistEntryCollectionIterator* self);
+VALA_EXTERN GType xnoise_playlist_reader_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePlaylistReader, g_object_unref)
+VALA_EXTERN XnoisePlaylistReader* xnoise_playlist_reader_new (void);
+VALA_EXTERN XnoisePlaylistReader* xnoise_playlist_reader_construct (GType object_type);
+VALA_EXTERN XnoisePlaylistResult xnoise_playlist_reader_read (XnoisePlaylistReader* self,
+                                                  const gchar* list_uri,
+                                                  GCancellable* cancellable,
+                                                  GError** error);
+VALA_EXTERN void xnoise_playlist_reader_read_asyn (XnoisePlaylistReader* self,
+                                       const gchar* list_uri,
+                                       GCancellable* cancellable,
+                                       GAsyncReadyCallback _callback_,
+                                       gpointer _user_data_);
+VALA_EXTERN XnoisePlaylistResult xnoise_playlist_reader_read_asyn_finish (XnoisePlaylistReader* self,
+                                                              GAsyncResult* _res_,
+                                                              GError** error);
+VALA_EXTERN gboolean xnoise_playlist_reader_is_playlist (gchar** uri_);
+VALA_EXTERN gboolean xnoise_playlist_reader_data_available (XnoisePlaylistReader* self);
+VALA_EXTERN gint xnoise_playlist_reader_get_number_of_entries (XnoisePlaylistReader* self);
+VALA_EXTERN gchar** xnoise_playlist_reader_get_found_uris (XnoisePlaylistReader* self,
+                                               gint* result_length1);
+VALA_EXTERN gchar* xnoise_playlist_reader_get_title_for_uri (XnoisePlaylistReader* self,
+                                                 gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_reader_get_author_for_uri (XnoisePlaylistReader* self,
+                                                  gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_reader_get_genre_for_uri (XnoisePlaylistReader* self,
+                                                 gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_reader_get_album_for_uri (XnoisePlaylistReader* self,
+                                                 gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_reader_get_copyright_for_uri (XnoisePlaylistReader* self,
+                                                     gchar** uri_needle);
+VALA_EXTERN gchar* xnoise_playlist_reader_get_duration_string_for_uri (XnoisePlaylistReader* self,
+                                                           gchar** uri_needle);
+VALA_EXTERN glong xnoise_playlist_reader_get_duration_for_uri (XnoisePlaylistReader* self,
+                                                   gchar** uri_needle);
+VALA_EXTERN gboolean xnoise_playlist_reader_get_is_remote_for_uri (XnoisePlaylistReader* self,
+                                                       gchar** uri_needle);
+VALA_EXTERN gboolean xnoise_playlist_reader_get_is_playlist_for_uri (XnoisePlaylistReader* self,
+                                                         gchar** uri_needle);
+VALA_EXTERN XnoisePlaylistListType xnoise_playlist_reader_get_ptype (XnoisePlaylistReader* self);
+VALA_EXTERN const gchar* xnoise_playlist_reader_get_playlist_uri (XnoisePlaylistReader* self);
+VALA_EXTERN XnoisePlaylistEntryCollection* xnoise_playlist_reader_get_data_collection (XnoisePlaylistReader* self);
+VALA_EXTERN XnoisePlaylistListType xnoise_playlist_get_playlist_type_for_uri (gchar** uri_);
+VALA_EXTERN XnoisePlaylistListType xnoise_playlist_get_type_by_extension (gchar** uri_);
+VALA_EXTERN XnoisePlaylistListType xnoise_playlist_get_type_by_data (gchar** uri_);
+VALA_EXTERN glong xnoise_playlist_get_duration_from_string (gchar** duration_string);
+VALA_EXTERN GFile* xnoise_playlist_get_file_for_location (const gchar* adr,
+                                              gchar** base_path,
+                                              XnoisePlaylistTargetType* tt);
+VALA_EXTERN GType xnoise_plugin_module_information_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePluginModuleInformation, g_object_unref)
+VALA_EXTERN XnoisePluginModuleContainer* xnoise_plugin_module_container_new (XnoisePluginModuleInformation* info);
+VALA_EXTERN XnoisePluginModuleContainer* xnoise_plugin_module_container_construct (GType object_type,
+                                                                       XnoisePluginModuleInformation* info);
+VALA_EXTERN void xnoise_plugin_module_container_activate (XnoisePluginModuleContainer* self);
+VALA_EXTERN void xnoise_plugin_module_container_deactivate (XnoisePluginModuleContainer* self);
+VALA_EXTERN GtkWidget* xnoise_plugin_module_container_settingwidget (XnoisePluginModuleContainer* self);
+VALA_EXTERN XnoisePluginModuleInformation* xnoise_plugin_module_container_get_info (XnoisePluginModuleContainer* self);
+VALA_EXTERN gboolean xnoise_plugin_module_container_get_loaded (XnoisePluginModuleContainer* self);
+VALA_EXTERN gboolean xnoise_plugin_module_container_get_activated (XnoisePluginModuleContainer* self);
+VALA_EXTERN gboolean xnoise_plugin_module_container_get_configurable (XnoisePluginModuleContainer* self);
+VALA_EXTERN gboolean xnoise_plugin_module_container_get_is_lyrics_plugin (XnoisePluginModuleContainer* self);
+VALA_EXTERN gboolean xnoise_plugin_module_container_get_is_album_image_plugin (XnoisePluginModuleContainer* self);
+VALA_EXTERN GType plugin_category_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoisePluginModuleInformation* xnoise_plugin_module_information_new (const gchar* xplug_file);
+VALA_EXTERN XnoisePluginModuleInformation* xnoise_plugin_module_information_construct (GType object_type,
+                                                                           const gchar* xplug_file);
+VALA_EXTERN gboolean xnoise_plugin_module_information_load_info (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_xplug_file (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_name (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_pretty_name (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_icon (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_module (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_description (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_website (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_license (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_copyright (XnoisePluginModuleInformation* self);
+VALA_EXTERN const gchar* xnoise_plugin_module_information_get_author (XnoisePluginModuleInformation* self);
+VALA_EXTERN gboolean xnoise_plugin_module_information_get_user_activatable (XnoisePluginModuleInformation* self);
+VALA_EXTERN PluginCategory xnoise_plugin_module_information_get_category (XnoisePluginModuleInformation* self);
+VALA_EXTERN gboolean xnoise_plugin_module_iplugin_init (XnoisePluginModuleIPlugin* self);
+VALA_EXTERN void xnoise_plugin_module_iplugin_uninit (XnoisePluginModuleIPlugin* self);
+VALA_EXTERN gboolean xnoise_plugin_module_iplugin_has_settings_widget (XnoisePluginModuleIPlugin* self);
+VALA_EXTERN GtkWidget* xnoise_plugin_module_iplugin_get_settings_widget (XnoisePluginModuleIPlugin* self);
+VALA_EXTERN XnoisePluginModuleContainer* xnoise_plugin_module_iplugin_get_owner (XnoisePluginModuleIPlugin* self);
+VALA_EXTERN void xnoise_plugin_module_iplugin_set_owner (XnoisePluginModuleIPlugin* self,
+                                             XnoisePluginModuleContainer* value);
+VALA_EXTERN const gchar* xnoise_plugin_module_iplugin_get_name (XnoisePluginModuleIPlugin* self);
+VALA_EXTERN XnoiseMain* xnoise_plugin_module_iplugin_get_xn (XnoisePluginModuleIPlugin* self);
+VALA_EXTERN void xnoise_plugin_module_iplugin_set_xn (XnoisePluginModuleIPlugin* self,
+                                          XnoiseMain* value);
+VALA_EXTERN GType xnoise_plugin_module_loader_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoisePluginModuleLoader, g_object_unref)
+VALA_EXTERN XnoisePluginModuleLoader* xnoise_plugin_module_loader_new (void);
+VALA_EXTERN XnoisePluginModuleLoader* xnoise_plugin_module_loader_construct (GType object_type);
+VALA_EXTERN gboolean xnoise_plugin_module_loader_activate_single_plugin (XnoisePluginModuleLoader* self,
+                                                             const gchar* module);
+VALA_EXTERN void xnoise_plugin_module_loader_deactivate_single_plugin (XnoisePluginModuleLoader* self,
+                                                           const gchar* module);
+VALA_EXTERN gboolean xnoise_plugin_module_loader_get_loaded (XnoisePluginModuleLoader* self);
+VALA_EXTERN gpointer xnoise_simple_markup_node_ref (gpointer instance);
+VALA_EXTERN void xnoise_simple_markup_node_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_simple_markup_param_spec_node (const gchar* name,
+                                                  const gchar* nick,
+                                                  const gchar* blurb,
+                                                  GType object_type,
+                                                  GParamFlags flags);
+VALA_EXTERN void xnoise_simple_markup_value_set_node (GValue* value,
+                                          gpointer v_object);
+VALA_EXTERN void xnoise_simple_markup_value_take_node (GValue* value,
+                                           gpointer v_object);
+VALA_EXTERN gpointer xnoise_simple_markup_value_get_node (const GValue* value);
+VALA_EXTERN GType xnoise_simple_markup_node_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSimpleMarkupNode, xnoise_simple_markup_node_unref)
+VALA_EXTERN gpointer xnoise_simple_markup_node_attributes_ref (gpointer instance);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_simple_markup_node_param_spec_attributes (const gchar* name,
+                                                             const gchar* nick,
+                                                             const gchar* blurb,
+                                                             GType object_type,
+                                                             GParamFlags flags);
+VALA_EXTERN void xnoise_simple_markup_node_value_set_attributes (GValue* value,
+                                                     gpointer v_object);
+VALA_EXTERN void xnoise_simple_markup_node_value_take_attributes (GValue* value,
+                                                      gpointer v_object);
+VALA_EXTERN gpointer xnoise_simple_markup_node_value_get_attributes (const GValue* value);
+VALA_EXTERN GType xnoise_simple_markup_node_attributes_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSimpleMarkupNodeAttributes, xnoise_simple_markup_node_attributes_unref)
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_new (const gchar* name);
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_construct (GType object_type,
+                                                             const gchar* name);
+VALA_EXTERN gboolean xnoise_simple_markup_node_has_text (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN gboolean xnoise_simple_markup_node_has_children (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN gboolean xnoise_simple_markup_node_has_attributes (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN void xnoise_simple_markup_node_prepend_child (XnoiseSimpleMarkupNode* self,
+                                              XnoiseSimpleMarkupNode* node);
+VALA_EXTERN void xnoise_simple_markup_node_append_child (XnoiseSimpleMarkupNode* self,
+                                             XnoiseSimpleMarkupNode* node);
+VALA_EXTERN void xnoise_simple_markup_node_insert_child (XnoiseSimpleMarkupNode* self,
+                                             gint pos,
+                                             XnoiseSimpleMarkupNode* node);
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_child_by_name (XnoiseSimpleMarkupNode* self,
+                                                                     const gchar* childname);
+VALA_EXTERN XnoiseSimpleMarkupNode** xnoise_simple_markup_node_get_children_by_name (XnoiseSimpleMarkupNode* self,
+                                                                         const gchar* childname,
+                                                                         gint* result_length1);
+VALA_EXTERN gint xnoise_simple_markup_node_get_idx_of_child (XnoiseSimpleMarkupNode* self,
+                                                 XnoiseSimpleMarkupNode* node);
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get (XnoiseSimpleMarkupNode* self,
+                                                       gint idx);
+VALA_EXTERN void xnoise_simple_markup_node_set (XnoiseSimpleMarkupNode* self,
+                                    gint idx,
+                                    XnoiseSimpleMarkupNode* node);
+VALA_EXTERN gboolean xnoise_simple_markup_node_remove_child (XnoiseSimpleMarkupNode* self,
+                                                 XnoiseSimpleMarkupNode* node);
+VALA_EXTERN gboolean xnoise_simple_markup_node_remove_child_at_idx (XnoiseSimpleMarkupNode* self,
+                                                        gint idx);
+VALA_EXTERN void xnoise_simple_markup_node_clear (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN gpointer xnoise_simple_markup_node_iterator_ref (gpointer instance);
+VALA_EXTERN void xnoise_simple_markup_node_iterator_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_simple_markup_node_param_spec_iterator (const gchar* name,
+                                                           const gchar* nick,
+                                                           const gchar* blurb,
+                                                           GType object_type,
+                                                           GParamFlags flags);
+VALA_EXTERN void xnoise_simple_markup_node_value_set_iterator (GValue* value,
+                                                   gpointer v_object);
+VALA_EXTERN void xnoise_simple_markup_node_value_take_iterator (GValue* value,
+                                                    gpointer v_object);
+VALA_EXTERN gpointer xnoise_simple_markup_node_value_get_iterator (const GValue* value);
+VALA_EXTERN GType xnoise_simple_markup_node_iterator_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSimpleMarkupNodeIterator, xnoise_simple_markup_node_iterator_unref)
+VALA_EXTERN XnoiseSimpleMarkupNodeIterator* xnoise_simple_markup_node_iterator (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN const gchar* xnoise_simple_markup_node_get_text (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN void xnoise_simple_markup_node_set_text (XnoiseSimpleMarkupNode* self,
+                                         const gchar* value);
+VALA_EXTERN const gchar* xnoise_simple_markup_node_get_name (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_parent (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_previous (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_get_next (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN gint xnoise_simple_markup_node_get_children_count (XnoiseSimpleMarkupNode* self);
+VALA_EXTERN gpointer xnoise_simple_markup_node_attributes_keys_ref (gpointer instance);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_keys_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_simple_markup_node_attributes_param_spec_keys (const gchar* name,
+                                                                  const gchar* nick,
+                                                                  const gchar* blurb,
+                                                                  GType object_type,
+                                                                  GParamFlags flags);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_value_set_keys (GValue* value,
+                                                          gpointer v_object);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_value_take_keys (GValue* value,
+                                                           gpointer v_object);
+VALA_EXTERN gpointer xnoise_simple_markup_node_attributes_value_get_keys (const GValue* value);
+VALA_EXTERN GType xnoise_simple_markup_node_attributes_keys_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSimpleMarkupNodeAttributesKeys, xnoise_simple_markup_node_attributes_keys_unref)
+VALA_EXTERN XnoiseSimpleMarkupNodeAttributes* xnoise_simple_markup_node_attributes_new (void);
+VALA_EXTERN XnoiseSimpleMarkupNodeAttributes* xnoise_simple_markup_node_attributes_construct (GType object_type);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_add (XnoiseSimpleMarkupNodeAttributes* self,
+                                               const gchar* key,
+                                               const gchar* val);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_replace (XnoiseSimpleMarkupNodeAttributes* self,
+                                                   const gchar* key,
+                                                   const gchar* val);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_remove (XnoiseSimpleMarkupNodeAttributes* self,
+                                                  const gchar* key);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_clear (XnoiseSimpleMarkupNodeAttributes* self);
+VALA_EXTERN gchar* xnoise_simple_markup_node_attributes_get (XnoiseSimpleMarkupNodeAttributes* self,
+                                                 const gchar* key);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_set (XnoiseSimpleMarkupNodeAttributes* self,
+                                               const gchar* key,
+                                               const gchar* val);
+VALA_EXTERN gint xnoise_simple_markup_node_attributes_get_item_count (XnoiseSimpleMarkupNodeAttributes* self);
+VALA_EXTERN GList* xnoise_simple_markup_node_attributes_get_key_list (XnoiseSimpleMarkupNodeAttributes* self);
+VALA_EXTERN GList* xnoise_simple_markup_node_attributes_get_value_list (XnoiseSimpleMarkupNodeAttributes* self);
+VALA_EXTERN XnoiseSimpleMarkupNodeAttributesKeys* xnoise_simple_markup_node_attributes_keys_new (XnoiseSimpleMarkupNodeAttributes* _attrib);
+VALA_EXTERN XnoiseSimpleMarkupNodeAttributesKeys* xnoise_simple_markup_node_attributes_keys_construct (GType object_type,
+                                                                                           XnoiseSimpleMarkupNodeAttributes* _attrib);
+VALA_EXTERN gboolean xnoise_simple_markup_node_attributes_keys_contains (XnoiseSimpleMarkupNodeAttributesKeys* self,
+                                                             const gchar* needle_key);
+VALA_EXTERN gpointer xnoise_simple_markup_node_attributes_keys_iterator_ref (gpointer instance);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_keys_iterator_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_simple_markup_node_attributes_keys_param_spec_iterator (const gchar* name,
+                                                                           const gchar* nick,
+                                                                           const gchar* blurb,
+                                                                           GType object_type,
+                                                                           GParamFlags flags);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_keys_value_set_iterator (GValue* value,
+                                                                   gpointer v_object);
+VALA_EXTERN void xnoise_simple_markup_node_attributes_keys_value_take_iterator (GValue* value,
+                                                                    gpointer v_object);
+VALA_EXTERN gpointer xnoise_simple_markup_node_attributes_keys_value_get_iterator (const GValue* value);
+VALA_EXTERN GType xnoise_simple_markup_node_attributes_keys_iterator_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSimpleMarkupNodeAttributesKeysIterator, xnoise_simple_markup_node_attributes_keys_iterator_unref)
+VALA_EXTERN XnoiseSimpleMarkupNodeAttributesKeysIterator* xnoise_simple_markup_node_attributes_keys_iterator (XnoiseSimpleMarkupNodeAttributesKeys* self);
+VALA_EXTERN XnoiseSimpleMarkupNodeAttributesKeysIterator* xnoise_simple_markup_node_attributes_keys_iterator_new (XnoiseSimpleMarkupNodeAttributes* _iter_attib);
+VALA_EXTERN XnoiseSimpleMarkupNodeAttributesKeysIterator* xnoise_simple_markup_node_attributes_keys_iterator_construct (GType object_type,
+                                                                                                            XnoiseSimpleMarkupNodeAttributes* _iter_attib);
+VALA_EXTERN gboolean xnoise_simple_markup_node_attributes_keys_iterator_next (XnoiseSimpleMarkupNodeAttributesKeysIterator* self);
+VALA_EXTERN gchar* xnoise_simple_markup_node_attributes_keys_iterator_get (XnoiseSimpleMarkupNodeAttributesKeysIterator* self);
+VALA_EXTERN XnoiseSimpleMarkupNodeIterator* xnoise_simple_markup_node_iterator_new (XnoiseSimpleMarkupNode* parent_node);
+VALA_EXTERN XnoiseSimpleMarkupNodeIterator* xnoise_simple_markup_node_iterator_construct (GType object_type,
+                                                                              XnoiseSimpleMarkupNode* parent_node);
+VALA_EXTERN gboolean xnoise_simple_markup_node_iterator_next (XnoiseSimpleMarkupNodeIterator* self);
+VALA_EXTERN XnoiseSimpleMarkupNode* xnoise_simple_markup_node_iterator_get (XnoiseSimpleMarkupNodeIterator* self);
+VALA_EXTERN void xnoise_simple_markup_node_iterator_set (XnoiseSimpleMarkupNodeIterator* self,
+                                             XnoiseSimpleMarkupNode* node);
+VALA_EXTERN GType xnoise_simple_markup_reader_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSimpleMarkupReader, g_object_unref)
+VALA_EXTERN XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_new (GFile* file);
+VALA_EXTERN XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_construct (GType object_type,
+                                                                 GFile* file);
+VALA_EXTERN XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_new_from_string (const gchar* xml_string);
+VALA_EXTERN XnoiseSimpleMarkupReader* xnoise_simple_markup_reader_construct_from_string (GType object_type,
+                                                                             const gchar* xml_string);
+VALA_EXTERN void xnoise_simple_markup_reader_read (XnoiseSimpleMarkupReader* self);
+VALA_EXTERN void xnoise_simple_markup_reader_read_asyn (XnoiseSimpleMarkupReader* self,
+                                            GCancellable* cancellable,
+                                            GAsyncReadyCallback _callback_,
+                                            gpointer _user_data_);
+VALA_EXTERN void xnoise_simple_markup_reader_read_asyn_finish (XnoiseSimpleMarkupReader* self,
+                                                   GAsyncResult* _res_);
+VALA_EXTERN GType xnoise_simple_markup_writer_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseSimpleMarkupWriter, g_object_unref)
+VALA_EXTERN XnoiseSimpleMarkupWriter* xnoise_simple_markup_writer_new (XnoiseSimpleMarkupNode* root,
+                                                           const gchar* header_string);
+VALA_EXTERN XnoiseSimpleMarkupWriter* xnoise_simple_markup_writer_construct (GType object_type,
+                                                                 XnoiseSimpleMarkupNode* root,
+                                                                 const gchar* header_string);
+VALA_EXTERN void xnoise_simple_markup_writer_write (XnoiseSimpleMarkupWriter* self,
+                                        const gchar* filename);
+VALA_EXTERN gpointer xnoise_tag_access_tag_reader_ref (gpointer instance);
+VALA_EXTERN void xnoise_tag_access_tag_reader_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_tag_access_param_spec_tag_reader (const gchar* name,
+                                                     const gchar* nick,
+                                                     const gchar* blurb,
+                                                     GType object_type,
+                                                     GParamFlags flags);
+VALA_EXTERN void xnoise_tag_access_value_set_tag_reader (GValue* value,
+                                             gpointer v_object);
+VALA_EXTERN void xnoise_tag_access_value_take_tag_reader (GValue* value,
+                                              gpointer v_object);
+VALA_EXTERN gpointer xnoise_tag_access_value_get_tag_reader (const GValue* value);
+VALA_EXTERN GType xnoise_tag_access_tag_reader_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTagAccessTagReader, xnoise_tag_access_tag_reader_unref)
+VALA_EXTERN XnoiseTrackData* xnoise_tag_access_tag_reader_read_tag (const gchar* filename,
+                                                        gboolean try_read_image_data);
+VALA_EXTERN XnoiseTagAccessTagReader* xnoise_tag_access_tag_reader_new (void);
+VALA_EXTERN XnoiseTagAccessTagReader* xnoise_tag_access_tag_reader_construct (GType object_type);
+VALA_EXTERN gpointer xnoise_tag_access_tag_writer_ref (gpointer instance);
+VALA_EXTERN void xnoise_tag_access_tag_writer_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_tag_access_param_spec_tag_writer (const gchar* name,
+                                                     const gchar* nick,
+                                                     const gchar* blurb,
+                                                     GType object_type,
+                                                     GParamFlags flags);
+VALA_EXTERN void xnoise_tag_access_value_set_tag_writer (GValue* value,
+                                             gpointer v_object);
+VALA_EXTERN void xnoise_tag_access_value_take_tag_writer (GValue* value,
+                                              gpointer v_object);
+VALA_EXTERN gpointer xnoise_tag_access_value_get_tag_writer (const GValue* value);
+VALA_EXTERN GType xnoise_tag_access_tag_writer_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTagAccessTagWriter, xnoise_tag_access_tag_writer_unref)
+VALA_EXTERN gboolean xnoise_tag_access_tag_writer_write_tag (GFile* file,
+                                                 XnoiseTrackData* td,
+                                                 gboolean read_before_write);
+VALA_EXTERN gboolean xnoise_tag_access_tag_writer_remove_compilation_flag (GFile* file);
+VALA_EXTERN XnoiseTagAccessTagWriter* xnoise_tag_access_tag_writer_new (void);
+VALA_EXTERN XnoiseTagAccessTagWriter* xnoise_tag_access_tag_writer_construct (GType object_type);
+VALA_EXTERN GType xnoise_track_list_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTrackList, g_object_unref)
+VALA_EXTERN XnoiseTrackList* xnoise_track_list_new (void);
+VALA_EXTERN XnoiseTrackList* xnoise_track_list_construct (GType object_type);
+VALA_EXTERN void xnoise_track_list_remove_uri_rows (XnoiseTrackList* self,
+                                        const gchar* uri);
+VALA_EXTERN void xnoise_track_list_remove_selected_rows (XnoiseTrackList* self);
+VALA_EXTERN GType xnoise_track_list_model_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTrackListModel, g_object_unref)
+VALA_EXTERN GType xnoise_track_list_model_column_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseTrackListModel* xnoise_track_list_model_new (void);
+VALA_EXTERN XnoiseTrackListModel* xnoise_track_list_model_construct (GType object_type);
+VALA_EXTERN gboolean xnoise_track_list_model_get_first_row (XnoiseTrackListModel* self,
+                                                GtkTreePath** treepath);
+VALA_EXTERN gboolean xnoise_track_list_model_get_random_row (XnoiseTrackListModel* self,
+                                                 GtkTreePath** treepath);
+VALA_EXTERN gboolean xnoise_track_list_model_path_is_last_row (XnoiseTrackListModel* self,
+                                                   GtkTreePath** path,
+                                                   gboolean* trackList_is_empty);
+VALA_EXTERN gboolean xnoise_track_list_model_get_current_path (XnoiseTrackListModel* self,
+                                                   GtkTreePath** treepath);
+VALA_EXTERN gboolean xnoise_track_list_model_get_active_path (XnoiseTrackListModel* self,
+                                                  GtkTreePath** treepath,
+                                                  gboolean* used_next_pos);
+VALA_EXTERN void xnoise_track_list_model_insert_title (XnoiseTrackListModel* self,
+                                           XnoisePlayerState icon,
+                                           XnoiseTrackData** td,
+                                           gboolean bold,
+                                           GtkTreeIter* result);
+VALA_EXTERN gboolean xnoise_track_list_model_not_empty (XnoiseTrackListModel* self);
+VALA_EXTERN XnoiseTrackData** xnoise_track_list_model_get_all_tracks (XnoiseTrackListModel* self,
+                                                          gint* result_length1);
+VALA_EXTERN gchar* xnoise_track_list_model_get_uri_for_current_position (XnoiseTrackListModel* self);
+VALA_EXTERN GType xnoise_tray_icon_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseTrayIcon, g_object_unref)
+VALA_EXTERN XnoiseTrayIcon* xnoise_tray_icon_new (void);
+VALA_EXTERN XnoiseTrayIcon* xnoise_tray_icon_construct (GType object_type);
+VALA_EXTERN GType xnoise_info_bar_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseInfoBar, g_object_unref)
+VALA_EXTERN GType xnoise_user_info_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseUserInfo, g_object_unref)
+VALA_EXTERN GType xnoise_user_info_content_class_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN GType xnoise_user_info_removal_type_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN XnoiseInfoBar* xnoise_info_bar_new (XnoiseUserInfo* _uinf,
+                                    XnoiseUserInfoContentClass _content_class,
+                                    XnoiseUserInfoRemovalType _removal_type,
+                                    guint _current_id,
+                                    gint _appearance_time_seconds,
+                                    const gchar* _info_text,
+                                    gboolean bold,
+                                    GtkWidget* _extra_widget);
+VALA_EXTERN XnoiseInfoBar* xnoise_info_bar_construct (GType object_type,
+                                          XnoiseUserInfo* _uinf,
+                                          XnoiseUserInfoContentClass _content_class,
+                                          XnoiseUserInfoRemovalType _removal_type,
+                                          guint _current_id,
+                                          gint _appearance_time_seconds,
+                                          const gchar* _info_text,
+                                          gboolean bold,
+                                          GtkWidget* _extra_widget);
+VALA_EXTERN void xnoise_info_bar_enable_close_button (XnoiseInfoBar* self,
+                                          gboolean enable);
+VALA_EXTERN void xnoise_info_bar_update_symbol_widget (XnoiseInfoBar* self,
+                                           XnoiseUserInfoContentClass cc);
+VALA_EXTERN void xnoise_info_bar_update_text (XnoiseInfoBar* self,
+                                  const gchar* txt,
+                                  gboolean bold);
+VALA_EXTERN void xnoise_info_bar_update_extra_widget (XnoiseInfoBar* self,
+                                          GtkWidget* widget);
+VALA_EXTERN GtkWidget* xnoise_info_bar_get_extra_widget (XnoiseInfoBar* self);
+VALA_EXTERN XnoiseUserInfo* xnoise_user_info_new (XnoiseUserInfoAddInfoBarDelegateType func,
+                                      gpointer func_target);
+VALA_EXTERN XnoiseUserInfo* xnoise_user_info_construct (GType object_type,
+                                            XnoiseUserInfoAddInfoBarDelegateType func,
+                                            gpointer func_target);
+VALA_EXTERN void xnoise_user_info_enable_close_button_by_id (XnoiseUserInfo* self,
+                                                 guint id,
+                                                 gboolean enable);
+VALA_EXTERN void xnoise_user_info_update_symbol_widget_by_id (XnoiseUserInfo* self,
+                                                  guint id,
+                                                  XnoiseUserInfoContentClass cc);
+VALA_EXTERN void xnoise_user_info_update_text_by_id (XnoiseUserInfo* self,
+                                         guint id,
+                                         const gchar* txt,
+                                         gboolean bold);
+VALA_EXTERN void xnoise_user_info_update_extra_widget_by_id (XnoiseUserInfo* self,
+                                                 guint id,
+                                                 GtkWidget* widget);
+VALA_EXTERN GtkWidget* xnoise_user_info_get_extra_widget_by_id (XnoiseUserInfo* self,
+                                                    guint id);
+VALA_EXTERN void xnoise_user_info_popdown (XnoiseUserInfo* self,
+                               guint id);
+VALA_EXTERN guint xnoise_user_info_popup (XnoiseUserInfo* self,
+                              XnoiseUserInfoRemovalType removal_type,
+                              XnoiseUserInfoContentClass content_class,
+                              const gchar* info_text,
+                              gboolean bold,
+                              gint appearance_time_seconds,
+                              GtkWidget* extra_widget);
+VALA_EXTERN XnoiseAlbumData* xnoise_album_data_new (void);
+VALA_EXTERN XnoiseAlbumData* xnoise_album_data_construct (GType object_type);
+VALA_EXTERN XnoiseAlbumData* xnoise_copy_albumdata (XnoiseAlbumData* ad);
+VALA_EXTERN gpointer xnoise_local_schemes_ref (gpointer instance);
+VALA_EXTERN void xnoise_local_schemes_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_local_schemes (const gchar* name,
+                                             const gchar* nick,
+                                             const gchar* blurb,
+                                             GType object_type,
+                                             GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_local_schemes (GValue* value,
+                                     gpointer v_object);
+VALA_EXTERN void xnoise_value_take_local_schemes (GValue* value,
+                                      gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_local_schemes (const GValue* value);
+VALA_EXTERN GType xnoise_local_schemes_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseLocalSchemes, xnoise_local_schemes_unref)
+VALA_EXTERN gboolean xnoise_local_schemes_contains (XnoiseLocalSchemes* self,
+                                        const gchar* location);
+VALA_EXTERN XnoiseLocalSchemes* xnoise_local_schemes_new (void);
+VALA_EXTERN XnoiseLocalSchemes* xnoise_local_schemes_construct (GType object_type);
+VALA_EXTERN gchar** xnoise_local_schemes_get_list (XnoiseLocalSchemes* self,
+                                       gint* result_length1);
+VALA_EXTERN gpointer xnoise_media_extensions_ref (gpointer instance);
+VALA_EXTERN void xnoise_media_extensions_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_media_extensions (const gchar* name,
+                                                const gchar* nick,
+                                                const gchar* blurb,
+                                                GType object_type,
+                                                GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_media_extensions (GValue* value,
+                                        gpointer v_object);
+VALA_EXTERN void xnoise_value_take_media_extensions (GValue* value,
+                                         gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_media_extensions (const GValue* value);
+VALA_EXTERN GType xnoise_media_extensions_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMediaExtensions, xnoise_media_extensions_unref)
+VALA_EXTERN gboolean xnoise_media_extensions_contains (XnoiseMediaExtensions* self,
+                                           const gchar* extension);
+VALA_EXTERN XnoiseMediaExtensions* xnoise_media_extensions_new (void);
+VALA_EXTERN XnoiseMediaExtensions* xnoise_media_extensions_construct (GType object_type);
+VALA_EXTERN gchar** xnoise_media_extensions_get_list (XnoiseMediaExtensions* self,
+                                          gint* result_length1);
+VALA_EXTERN gpointer xnoise_media_importer_ref (gpointer instance);
+VALA_EXTERN void xnoise_media_importer_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_media_importer (const gchar* name,
+                                              const gchar* nick,
+                                              const gchar* blurb,
+                                              GType object_type,
+                                              GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_media_importer (GValue* value,
+                                      gpointer v_object);
+VALA_EXTERN void xnoise_value_take_media_importer (GValue* value,
+                                       gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_media_importer (const GValue* value);
+VALA_EXTERN GType xnoise_media_importer_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMediaImporter, xnoise_media_importer_unref)
+VALA_EXTERN XnoiseMediaImporter* xnoise_media_importer_new (void);
+VALA_EXTERN XnoiseMediaImporter* xnoise_media_importer_construct (GType object_type);
+VALA_EXTERN void xnoise_media_importer_remove_uris (XnoiseMediaImporter* self,
+                                        gchar** file_uris,
+                                        gint file_uris_length1);
+VALA_EXTERN void xnoise_media_importer_import_uris (XnoiseMediaImporter* self,
+                                        gchar** uris,
+                                        gint uris_length1);
+VALA_EXTERN GList* xnoise_media_importer_get_media_folder_list (XnoiseMediaImporter* self);
+VALA_EXTERN void xnoise_media_importer_add_import_target_folder (XnoiseMediaImporter* self,
+                                                     XnoiseItem* target,
+                                                     gboolean add_folder_to_media_folders);
+VALA_EXTERN gpointer xnoise_media_stream_schemes_ref (gpointer instance);
+VALA_EXTERN void xnoise_media_stream_schemes_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_media_stream_schemes (const gchar* name,
+                                                    const gchar* nick,
+                                                    const gchar* blurb,
+                                                    GType object_type,
+                                                    GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_media_stream_schemes (GValue* value,
+                                            gpointer v_object);
+VALA_EXTERN void xnoise_value_take_media_stream_schemes (GValue* value,
+                                             gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_media_stream_schemes (const GValue* value);
+VALA_EXTERN GType xnoise_media_stream_schemes_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseMediaStreamSchemes, xnoise_media_stream_schemes_unref)
+VALA_EXTERN gboolean xnoise_media_stream_schemes_contains (XnoiseMediaStreamSchemes* self,
+                                               const gchar* location);
+VALA_EXTERN XnoiseMediaStreamSchemes* xnoise_media_stream_schemes_new (void);
+VALA_EXTERN XnoiseMediaStreamSchemes* xnoise_media_stream_schemes_construct (GType object_type);
+VALA_EXTERN gchar** xnoise_media_stream_schemes_get_list (XnoiseMediaStreamSchemes* self,
+                                              gint* result_length1);
+VALA_EXTERN XnoiseParams* xnoise_par;
+VALA_EXTERN XnoiseGlobalAccess* xnoise_global;
+VALA_EXTERN XnoiseUserInfo* xnoise_userinfo;
+VALA_EXTERN XnoiseWorker* xnoise_db_worker;
+VALA_EXTERN XnoiseWorker* xnoise_io_worker;
+VALA_EXTERN XnoiseWorker* xnoise_cache_worker;
+VALA_EXTERN XnoiseWorker* xnoise_device_worker;
+VALA_EXTERN XnoiseWorker* xnoise_plugin_worker;
+VALA_EXTERN XnoiseMediaImporter* xnoise_media_importer;
+VALA_EXTERN XnoiseMediaMonitor* xnoise_media_monitor;
+VALA_EXTERN XnoiseItemHandlerManager* xnoise_itemhandler_manager;
+VALA_EXTERN XnoiseItemConverter* xnoise_item_converter;
+VALA_EXTERN XnoiseDockableMediaManager* xnoise_dockable_media_sources;
+VALA_EXTERN GHashTable* xnoise_data_source_registry;
+VALA_EXTERN GPatternSpec* xnoise_pattern_audio;
+VALA_EXTERN GPatternSpec* xnoise_pattern_video;
+VALA_EXTERN XnoiseDatabaseReader* xnoise_db_reader;
+VALA_EXTERN XnoiseDatabaseWriter* xnoise_db_writer;
+VALA_EXTERN XnoiseGstPlayer* xnoise_gst_player;
+VALA_EXTERN XnoisePluginModuleLoader* xnoise_plugin_loader;
+VALA_EXTERN XnoiseMainWindow* xnoise_main_window;
+VALA_EXTERN XnoiseTrackList* xnoise_tl;
+VALA_EXTERN XnoiseTrackListModel* xnoise_tlm;
+VALA_EXTERN XnoiseTrayIcon* xnoise_tray_icon;
+VALA_EXTERN XnoiseDataSource* xnoise_get_data_source (gint source_number);
+VALA_EXTERN XnoiseDataSource* xnoise_get_data_source_by_name (const gchar* name);
+VALA_EXTERN gint xnoise_get_data_source_id_by_name (const gchar* name);
+VALA_EXTERN gchar* xnoise_get_data_source_name (gint source_number);
+VALA_EXTERN gint xnoise_register_data_source (XnoiseDataSource* source);
+VALA_EXTERN void xnoise_remove_data_source (XnoiseDataSource* source);
+VALA_EXTERN void xnoise_remove_data_source_by_id (gint id);
+VALA_EXTERN guint32 xnoise_get_current_stamp (gint source);
+VALA_EXTERN void xnoise_renew_stamp (const gchar* source_name);
+VALA_EXTERN XnoiseFileData* xnoise_file_data_new (const gchar* uri,
+                                      gint32 change_time);
+VALA_EXTERN XnoiseFileData* xnoise_file_data_construct (GType object_type,
+                                            const gchar* uri,
+                                            gint32 change_time);
+VALA_EXTERN gchar* xnoise_imain_view_get_view_name (XnoiseIMainView* self);
+VALA_EXTERN GType xnoise_gnome_media_keys_proxy_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN guint xnoise_gnome_media_keys_register_object (void* object,
+                                               GDBusConnection* connection,
+                                               const gchar* path,
+                                               GError** error);
+VALA_EXTERN GType xnoise_gnome_media_keys_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseGnomeMediaKeys, g_object_unref)
+VALA_EXTERN void xnoise_gnome_media_keys_GrabMediaPlayerKeys (XnoiseGnomeMediaKeys* self,
+                                                  const gchar* application,
+                                                  guint32 time,
+                                                  GError** error);
+VALA_EXTERN void xnoise_gnome_media_keys_ReleaseMediaPlayerKeys (XnoiseGnomeMediaKeys* self,
+                                                     const gchar* application,
+                                                     GError** error);
+VALA_EXTERN gpointer xnoise_remote_schemes_ref (gpointer instance);
+VALA_EXTERN void xnoise_remote_schemes_unref (gpointer instance);
+VALA_EXTERN GParamSpec* xnoise_param_spec_remote_schemes (const gchar* name,
+                                              const gchar* nick,
+                                              const gchar* blurb,
+                                              GType object_type,
+                                              GParamFlags flags);
+VALA_EXTERN void xnoise_value_set_remote_schemes (GValue* value,
+                                      gpointer v_object);
+VALA_EXTERN void xnoise_value_take_remote_schemes (GValue* value,
+                                       gpointer v_object);
+VALA_EXTERN gpointer xnoise_value_get_remote_schemes (const GValue* value);
+VALA_EXTERN GType xnoise_remote_schemes_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (XnoiseRemoteSchemes, xnoise_remote_schemes_unref)
+VALA_EXTERN gboolean xnoise_remote_schemes_contains (XnoiseRemoteSchemes* self,
+                                         const gchar* location);
+VALA_EXTERN XnoiseRemoteSchemes* xnoise_remote_schemes_new (void);
+VALA_EXTERN XnoiseRemoteSchemes* xnoise_remote_schemes_construct (GType object_type);
+VALA_EXTERN gchar** xnoise_remote_schemes_get_list (XnoiseRemoteSchemes* self,
+                                        gint* result_length1);
+VALA_EXTERN XnoiseTrackData* xnoise_track_data_new (void);
+VALA_EXTERN XnoiseTrackData* xnoise_track_data_construct (GType object_type);
+VALA_EXTERN XnoiseTrackData* xnoise_copy_trackdata (XnoiseTrackData* td);
+VALA_EXTERN XnoiseRemoteSchemes* xnoise_utilities_get_remote_schemes (void);
+VALA_EXTERN XnoiseLocalSchemes* xnoise_utilities_get_local_schemes (void);
+VALA_EXTERN XnoiseMediaExtensions* xnoise_utilities_get_media_extensions (void);
+VALA_EXTERN XnoiseMediaStreamSchemes* xnoise_utilities_get_media_stream_schemes (void);
+VALA_EXTERN gchar* xnoise_utilities_settings_folder (void);
+VALA_EXTERN gchar* xnoise_utilities_data_folder (void);
+VALA_EXTERN gchar* xnoise_utilities_temp_folder (void);
+VALA_EXTERN gboolean xnoise_utilities_verify_xnoise_directories (void);
+VALA_EXTERN gchar* xnoise_utilities_prepare_for_comparison (const gchar* value);
+VALA_EXTERN gchar* xnoise_utilities_prepare_for_search (const gchar* val);
+VALA_EXTERN gchar* xnoise_utilities_remove_linebreaks (const gchar* val);
+VALA_EXTERN gchar* xnoise_utilities_remove_suffix_from_filename (const gchar* val);
+VALA_EXTERN gchar* xnoise_utilities_get_suffix_from_filename (const gchar* val);
+VALA_EXTERN gchar* xnoise_utilities_prepare_name_from_filename (const gchar* val);
+VALA_EXTERN gchar* xnoise_utilities_replace_underline_with_blank_encoded (const gchar* value);
+VALA_EXTERN gchar* xnoise_utilities_make_time_display_from_seconds (gint length);
+VALA_EXTERN gint32 xnoise_utilities_length_string_to_int (const gchar* s);
+
+VALA_EXTERN const gchar* XNOISE_PLAYLIST_remote_schemes[3];
 
 G_END_DECLS
 
diff --git a/libxnoise/xnoise-1.0.vapi b/libxnoise/xnoise-1.0.vapi
index 519d75e9..1af9f598 100644
--- a/libxnoise/xnoise-1.0.vapi
+++ b/libxnoise/xnoise-1.0.vapi
@@ -1,7 +1,6 @@
 /* xnoise-1.0.vapi generated by valac, do not modify. */
 
 [CCode (cprefix = "Gst", gir_namespace = "Gst", gir_version = "1.0", lower_case_cprefix = "gst_")]
-[Experimental]
 namespace Gst {
 }
 namespace Xnoise {
@@ -121,7 +120,7 @@ namespace Xnoise {
 		public abstract class Device : GLib.Object {
 			protected Xnoise.ItemHandler? handler;
 			public weak GLib.Mount mount;
-			public Device ();
+			protected Device ();
 			public abstract void cancel ();
 			public virtual Gtk.Image? get_icon ();
 			public virtual string get_identifier ();
@@ -166,7 +165,7 @@ namespace Xnoise {
 		[CCode (cheader_filename = "xnoise-1.0.h")]
 		public abstract class PlayerMainView : DeviceMainView {
 			protected weak Xnoise.ExtDev.PlayerDevice audio_player_device;
-			public PlayerMainView (Xnoise.ExtDev.PlayerDevice audio_player_device, GLib.Cancellable cancellable);
+			protected PlayerMainView (Xnoise.ExtDev.PlayerDevice audio_player_device, GLib.Cancellable cancellable);
 			protected abstract Xnoise.ExtDev.PlayerTreeView? get_tree_view ();
 			public override string get_view_name ();
 		}
@@ -188,7 +187,7 @@ namespace Xnoise {
 		public abstract class PlayerTreeView : Gtk.TreeView {
 			protected weak Xnoise.ExtDev.PlayerDevice audio_player_device;
 			protected weak GLib.Cancellable cancellable;
-			public PlayerTreeView (Xnoise.ExtDev.PlayerDevice audio_player_device, GLib.Cancellable cancellable);
+			protected PlayerTreeView (Xnoise.ExtDev.PlayerDevice audio_player_device, GLib.Cancellable cancellable);
 			public override void drag_data_received (Gdk.DragContext context, int x, int y, Gtk.SelectionData selection, uint target_type, uint time);
 			protected abstract GLib.File? get_dest_dir ();
 			protected abstract Xnoise.ExtDev.PlayerTreeStore? get_tree_store ();
@@ -664,7 +663,7 @@ namespace Xnoise {
 	[CCode (cheader_filename = "xnoise-1.0.h")]
 	public abstract class DataSource : GLib.Object {
 		protected int source_id;
-		public DataSource ();
+		protected DataSource ();
 		public abstract Xnoise.Item? get_album_item_from_id (string searchtext, int32 id, uint32 stamp);
 		public abstract Xnoise.Item? get_albumartist_item_from_id (string searchtext, int32 id, uint32 stamp);
 		public abstract Xnoise.Item[] get_albums (string searchtext, Xnoise.CollectionSortMode sort_mode, GLib.HashTable<Xnoise.ItemType,Xnoise.Item?>? items);
@@ -691,7 +690,7 @@ namespace Xnoise {
 			public string? to_string ();
 		}
 		public weak Gtk.Widget? widget;
-		public DockableMedia ();
+		protected DockableMedia ();
 		public abstract Xnoise.DockableMedia.Category category ();
 		public abstract Gtk.Widget? create_widget (Xnoise.MainWindow window);
 		public abstract string get_icon_name ();
@@ -838,7 +837,7 @@ namespace Xnoise {
 	public abstract class ItemHandler : GLib.Object {
 		public delegate void ActionType (Xnoise.Item item, GLib.Value? data_1, GLib.Value? data_2);
 		protected weak Xnoise.ItemHandlerManager uhm;
-		public ItemHandler ();
+		protected ItemHandler ();
 		public abstract unowned Xnoise.Action? get_action (Xnoise.ItemType type, Xnoise.ActionContext context, Xnoise.ItemSelectionType selection);
 		public abstract unowned string handler_name ();
 		public abstract Xnoise.ItemHandlerType handler_type ();
@@ -913,7 +912,7 @@ namespace Xnoise {
 		public bool active_lyrics { get; set; }
 		public bool album_art_view_visible { get; set; }
 		public bool fullscreenwindowvisible { get; set; }
-		public Xnoise.LyricsView lyricsView { get; private set; }
+		public weak Xnoise.LyricsView lyricsView { get; private set; }
 		public Xnoise.MainViewNotebook mainview_box { get; private set; }
 		public bool media_browser_visible { get; set; }
 		public bool not_show_art_on_hover_image { get; set; }
@@ -1150,7 +1149,7 @@ namespace Xnoise {
 		public int get_queue_length ();
 		public bool is_same_thread ();
 		public void push_job (Xnoise.Worker.Job j);
-		public GLib.Thread<int> thread { get; }
+		public weak GLib.Thread<int> thread { get; }
 	}
 	[CCode (cheader_filename = "xnoise-1.0.h")]
 	public interface ExternQueryable : Gtk.TreeView {
@@ -1390,7 +1389,7 @@ public enum PluginCategory {
 public abstract class DeviceMainView : Gtk.Overlay, Xnoise.IMainView {
 	protected weak GLib.Cancellable cancellable;
 	protected Xnoise.ExtDev.Device device;
-	public DeviceMainView (Xnoise.ExtDev.Device device, GLib.Cancellable cancellable);
+	protected DeviceMainView (Xnoise.ExtDev.Device device, GLib.Cancellable cancellable);
 	protected abstract string get_localized_name ();
 	public virtual string get_view_name ();
 }
diff --git a/plugins/magnatune/magnatune-treeview.vala b/plugins/magnatune/magnatune-treeview.vala
index 48cdd0b8..6c87800b 100644
--- a/plugins/magnatune/magnatune-treeview.vala
+++ b/plugins/magnatune/magnatune-treeview.vala
@@ -478,10 +478,9 @@ private class MagnatuneTreeView : Gtk.TreeView, ExternQueryable {
 
     private void on_drag_begin(Gtk.Widget sender, DragContext context) {
         this.dragging = true;
-        List<unowned TreePath> treepaths;
         Gdk.drag_abort(context, Gtk.get_current_event_time());
         Gtk.TreeSelection selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         if(treepaths != null) {
             TreeIter iter;
             Pixbuf p;
@@ -514,10 +513,9 @@ private class MagnatuneTreeView : Gtk.TreeView, ExternQueryable {
                                   Gtk.SelectionData selection_data, 
                                   uint info, 
                                   uint etime) {
-        List<unowned TreePath> treepaths;
         unowned Gtk.TreeSelection selection;
         selection = this.get_selection();
-        treepaths = selection.get_selected_rows(null);
+        var treepaths = selection.get_selected_rows(null);
         DndData[] dat = {};
         if(treepaths.length() < 1)
             return;
