[Pkg-cli-apps-commits] r3797 - in /packages/banshee/trunk/debian: changelog patches/02_stable-branch-r3416.patch patches/02_stable-branch-r3417.patch

slomo at users.alioth.debian.org slomo at users.alioth.debian.org
Tue Mar 11 11:00:00 UTC 2008


Author: slomo
Date: Tue Mar 11 10:59:59 2008
New Revision: 3797

URL: http://svn.debian.org/wsvn/pkg-cli-apps/?sc=1&rev=3797
Log:
* fix patch

Added:
    packages/banshee/trunk/debian/patches/02_stable-branch-r3417.patch
Removed:
    packages/banshee/trunk/debian/patches/02_stable-branch-r3416.patch
Modified:
    packages/banshee/trunk/debian/changelog

Modified: packages/banshee/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-cli-apps/packages/banshee/trunk/debian/changelog?rev=3797&op=diff
==============================================================================
--- packages/banshee/trunk/debian/changelog (original)
+++ packages/banshee/trunk/debian/changelog Tue Mar 11 10:59:59 2008
@@ -1,7 +1,7 @@
 banshee (0.13.2+dfsg-4) unstable; urgency=low
 
   * debian/patches/02_stable-branch-r3201.patch,
-    debian/patches/02_stable-branch-r3416.patch:
+    debian/patches/02_stable-branch-r3417.patch:
     + Another update from the stable branch, fixing the audioscrobbler plugin
       even more (Closes: #469510).
 

Added: packages/banshee/trunk/debian/patches/02_stable-branch-r3417.patch
URL: http://svn.debian.org/wsvn/pkg-cli-apps/packages/banshee/trunk/debian/patches/02_stable-branch-r3417.patch?rev=3797&op=file
==============================================================================
--- packages/banshee/trunk/debian/patches/02_stable-branch-r3417.patch (added)
+++ packages/banshee/trunk/debian/patches/02_stable-branch-r3417.patch Tue Mar 11 10:59:59 2008
@@ -1,0 +1,11948 @@
+Index: ChangeLog
+===================================================================
+--- ChangeLog	(Revision 2958)
++++ ChangeLog	(Revision 3417)
+@@ -1,3 +1,245 @@
++2008-03-11  Sebastian Dröge  <slomo at circular-chaos.org>
++
++	* src/Plugins/Banshee.Plugins.Audioscrobbler/Engine.cs: ...and don't
++	  warnings/errors to the user unless really necessary.
++
++2008-03-11  Sebastian Dröge  <slomo at circular-chaos.org>
++
++	* src/Plugins/Banshee.Plugins.Audioscrobbler/Engine.cs: Convert some
++	  errors to warnings as they're not fatal and will be corrected next
++	  time it is possible (BGO #501405).
++
++2008-03-09  Aaron Bockover  <abock at gnome.org>
++
++	* src/Core/Banshee.Base/ActionManager.cs:
++	* src/Core/Banshee.Widgets/ActionButton.cs:
++	* src/Core/Banshee/PlayerInterface.cs:
++	* src/Plugins/Banshee.Plugins.Radio/RadioSource.cs: Force 'Action' to
++	mean 'Gtk.Action' since now there is an API in .NET called 'System.Action'
++	and the compiler could not resolve which 'Action' to use
++
++	* src/Core/Banshee.Base/Gui/SourceView.cs:
++	* src/Core/Banshee.Base/Gui/LogCoreDialog.cs: Fix some syntax bugs 
++	exposed by newer C# 2.0 compilers in Mono
++
++2008-02-10  Ruben Vermeersch  <ruben at savanne.be>
++
++	* src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:
++	* src/Plugins/Banshee.Plugins.Audioscrobbler/Engine.cs:
++	* src/Plugins/Banshee.Plugins.Audioscrobbler/Queue.cs: Updated to the 
++	new audioscrobbler protocol (1.2) and connection failure guidelines. 
++	(BGO: #404965, #501405). Add connection time-out. (BGO: #469490).
++	Patch by Pepijn van de Geer (pvandegeer at gmail.com).
++
++2008-02-01  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Core/Banshee.Base/Dap/Dap.cs:
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs:
++	* src/Dap/Banshee.Dap.Mtp/MtpDapTrackInfo.cs: Revert accidental commit.
++
++2008-02-01  Aaron Bockover  <abock at gnome.org>
++
++	* src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:
++	Use Visible instead of IsActive when hiding the main window; fixes the
++	Alt+F4 problem, BNC #257350
++
++2008-02-01  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs: Make
++	"Advanced" string translatable.  Fixes BNC #265687.
++
++2008-01-31  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/AlbumSet.cs:
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Add GGonf keys to allow suppressing
++	album art transfer even if a device supports it, and to set the max width
++	for cover art.
++
++2008-01-31  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/AlbumSet.cs: Return a progress float between
++	each cover art delete/save.
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Use bilinear scaling, allow
++	cancelling, and display cover art sync progress.
++
++2008-01-31  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Core/Banshee/PlayerInterface.cs: Make the 'Write CD' action
++	insensitive if there are no tracks selected or if the source is a
++	BurnerSource and it has no tracks.  Fixes BNC #293774.
++
++2008-01-31  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Log exceptions thrown during MTP
++	sync.
++
++2008-01-31  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Core/Banshee.Base/Dap/Dap.cs: Actually fix it (hopefully..)
++
++2008-01-31  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Core/Banshee.Base/Dap/Dap.cs: Fix IsPortableAudioPlayerType method.
++
++2008-01-31  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	This commits fixes more MTP support bugs, and happily, adds support for
++	cover art where supported.
++
++	* src/Core/Banshee.Base/Dap/DapMisc.cs: Add support for passing file
++	extension when trying to determine mimetype.
++
++	* src/Dap/Banshee.Dap.Mtp/Makefile.am:
++	* src/Dap/Banshee.Dap.Mtp/AlbumSet.cs: New file for keeping track of what
++	album/artwork should be deleted/added when synching.
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Detect what formats the DAP actually
++	supports instead of assuming mp3/wma.  If the device supports JPEGS, send
++	cover art on sync if we have it.  Properly convert between the different
++	rating sytems (0-100 vs 0-5) and UseCount/PlayCount, and consolidate
++	conversion logic.  Translate some untranslated strings.  Avoid spewing
++	horribly long exception message when libmtpsharp catches an error.
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDapTrackInfo.cs:  Properly round trip rating
++	and play count.
++	* ext/libmtp-sharp/Base/Enums.cs: Remove leading LIBMTP_FILETYPE_ on a
++	million enum values.
++
++	* ext/libmtp-sharp/MtpDevice.cs: Rename handle to Handle.  Add GetAlbums
++	and GetFileTypes methods.
++
++	* ext/libmtp-sharp/Folder.cs:
++	Use device.Handle instead of handle.
++
++	* ext/libmtp-sharp/Base/Album.cs: Rename struct to AlbumStruct.
++
++	* ext/libmtp-sharp/Makefile.am:
++	* ext/libmtp-sharp/Album.cs: New class for supporting cover art.
++
++	* ext/libmtp-sharp/Base/FileSampleData.cs: Make usable.
++
++	* ext/libmtp-sharp/Functions/AlbumManagement.cs:
++	* ext/libmtp-sharp/Functions/FileManagement.cs: Make some libmtp methods
++	public.
++
++	* ext/libmtp-sharp/Functions/FunctionCalls.cs: Add GetFileTypes method.
++
++	* ext/libmtp-sharp/Track.cs: Enum updates and Handle update.
++
++2008-01-29  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Core/Banshee.Base/Dap/Dap.cs: Add new IsPortableAudioPlayerType
++	method that checks a Hal.Device for old and new indications it is a
++	certain type.
++
++	* src/Dap/Banshee.Dap.Ipod/IpodDap.cs:
++	* src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: 
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Use new method for type detection.
++
++2008-01-29  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Support the new
++	portable_audio_player.access_method.protocols way of specifying a player
++	is MTP.
++
++2008-01-29  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Update copyright.
++
++2008-01-29  Alan McGovern  <alan.mcgovern at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Using .Contains() to match the
++	serial numbers. Some devices truncate the start, others truncate the end
++	
++2008-01-29  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Fix typo.
++
++2008-01-29  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Fix bug; forgot to set the MtpDap
++	singleton.
++
++2008-01-29  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* ext/libmtp-sharp/Functions/TrackManagement.cs: Remove debug WriteLine,
++	and more importantly, Console.ReadLine from SendTrack.
++
++	* ext/libmtp-sharp/Functions/FunctionCalls.cs: Add DeviceVersion and
++	Serialnumber getters, and FriendlyName setter.
++
++	* ext/libmtp-sharp/MtpDevice.cs: Add Name setter (Set_FriendlyName) and
++	Version (Deviceversion) and SerialNumber properties.  Don't throw an error
++	just because the track list is empty.  Remove debug WriteLine.
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Rely much more heavily on HAL.  Only
++	allow one instance of MtpDap, since at the moment libmtp only lets us be
++	connected to one at a time.  When MtpDap.Initialize is called, only
++	actually initialize the/a MTP device iff its libmtp serialize number
++	matches the HAL device we're checking.  Add support for renaming the
++	device.  Add Version property information.  Update the remove/add progress
++	after actually removing an item (so if you transfer one item, it doesn't
++	go to 100% until after it's done).  Clean up Reload methods.  Get rid of
++	'camera' terminology.
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDapTrackInfo.cs: Use properties instead of
++	protected variables.
++
++2008-01-23  Alan McGovern <alan.mcgovern at gmail.com> 
++
++	* ChangeLog: To decide if a device is an MTP device, check for either
++	  portable_audio_player.type == 'mtp' or usb.interface.description == 'Mtp
++	  Interface'.
++
++2008-01-23 Alan McGovern <alan.mcgovern at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Slightly smarter usage of HAL
++	properties to check if a device is an MTP device or not.
++	
++2008-01-22  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Plugins/Banshee.Plugins.LastFM/Editor.cs: Fix bug where songs
++	wouldn't be visible on new stations until you switched away from them and
++	back, or restarted Banshee.
++
++	* src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs:
++	* src/Plugins/Banshee.Plugins.LastFM/Plugin.cs: Update copyright year.
++
++2008-01-22  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs:
++	* src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:
++	* src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in:
++	Only auto expand the Last.fm radio source if it was expanded the last time
++	Banshee was closed.
++
++2008-01-22  Ruben Vermeersch  <ruben at savanne.be>
++
++	* src/Core/Banshee.Base/ActionManager.cs: Add icon to Select All item.
++	Fixes BGO #393039, thanks Gabriel Cornejo.
++
++2008-01-22  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/*:
++	* configure.ac:
++	* ext/libmtp-sharp/*: Rename libmtpsharp namespace and dll to Mtp.
++
++2008-01-22  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* src/Dap/Banshee.Dap.Mtp/MtpDap.cs: Improve translatability, fix style
++	issues.
++
++	* src/Dap/Banshee.Dap.Mtp/ChangeLog: Remove old ChangeLog to avoid
++	confusion.
++
++2008-01-18  Gabriel Burt  <gabriel.burt at gmail.com>
++
++	* data/banshee.desktop.in.in: Add x-content/* support, patch from Matthias
++	Clasen, fixes BGO #510324.
++
++	* NEWS: Add comma.
++
+ 2008-01-08  Aaron Bockover  <abock at gnome.org>
+ 
+ 	0.13.2 Released
+Index: src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs	(Revision 3417)
+@@ -85,7 +85,7 @@
+             message.Justify = Justification.Left;
+             message.SetAlignment (0.0f, 0.0f);
+ 
+-            Expander advanced_expander = new Expander ("Advanced");
++            Expander advanced_expander = new Expander (Catalog.GetString ("Advanced"));
+ 
+             VBox expander_children = new VBox();
+             expander_children.BorderWidth = 6;
+Index: src/Plugins/Banshee.Plugins.Radio/RadioSource.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Radio/RadioSource.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.Radio/RadioSource.cs	(Revision 3417)
+@@ -32,6 +32,8 @@
+ using Mono.Unix;
+ using Gtk;
+ 
++using Action = Gtk.Action;
++
+ using Banshee.Base;
+ using Banshee.Widgets;
+ using Banshee.Sources;
+Index: src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs	(Revision 3417)
+@@ -75,7 +75,8 @@
+             get {
+                 return new string [] { 
+                     "Chris Toshok",
+-                    "Aaron Bockover"
++                    "Aaron Bockover",
++                    "Pepijn van de Geer"
+                 };
+             }
+         }
+Index: src/Plugins/Banshee.Plugins.Audioscrobbler/Queue.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Audioscrobbler/Queue.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.Audioscrobbler/Queue.cs	(Revision 3417)
+@@ -50,21 +50,23 @@
+                 this.artist = track.Artist;
+                 this.album = track.Album;
+                 this.title = track.Title;
+-                this.duration = (int)track.Duration.TotalSeconds;
+-                this.start_time = start_time.ToUniversalTime ();
++                this.track_number = (int) track.TrackNumber;
++                this.duration = (int) track.Duration.TotalSeconds;
++                this.start_time = DateTimeUtil.ToTimeT(start_time.ToUniversalTime ());
+             }
+ 
+             public QueuedTrack (string artist, string album,
+-                                string title, int duration, DateTime start_time)
++                                string title, int track_number, int duration, long start_time)
+             {
+                 this.artist = artist;
+                 this.album = album;
+                 this.title = title;
++                this.track_number = track_number;
+                 this.duration = duration;
+                 this.start_time = start_time;
+             }
+ 
+-            public DateTime StartTime {
++            public long StartTime {
+                 get { return start_time; }
+             }
+             public string Artist {
+@@ -73,6 +75,9 @@
+             public string Album {
+                 get { return album; }
+             }
++            public int TrackNumber {
++                get { return track_number; }
++            }
+             public string Title {
+                 get { return title; }
+             }
+@@ -83,8 +88,9 @@
+             string artist;
+             string album;
+             string title;
++            int track_number;
+             int duration;
+-            DateTime start_time;
++            long start_time;
+         }
+ 
+         ArrayList queue;
+@@ -120,8 +126,9 @@
+                 writer.WriteElementString ("Artist", track.Artist);
+                 writer.WriteElementString ("Album", track.Album);
+                 writer.WriteElementString ("Title", track.Title);
++                writer.WriteElementString ("TrackNumber", track.TrackNumber.ToString());
+                 writer.WriteElementString ("Duration", track.Duration.ToString());
+-                writer.WriteElementString ("StartTime", DateTimeUtil.ToTimeT(track.StartTime).ToString());
++                writer.WriteElementString ("StartTime", track.StartTime.ToString());
+                 writer.WriteEndElement (); // Track
+             }
+             writer.WriteEndElement (); // AudioscrobblerQueue
+@@ -144,8 +151,9 @@
+                     string artist = "";    
+                     string album = "";
+                     string title = "";
++                    int track_number = 0;
+                     int duration = 0;
+-                    DateTime start_time = new DateTime (0);
++                    long start_time = 0;
+ 
+                     foreach (XmlNode child in node.ChildNodes) {
+                         if (child.Name == "Artist" && child.ChildNodes.Count != 0) {
+@@ -154,15 +162,16 @@
+                             album = child.ChildNodes [0].Value;
+                         } else if (child.Name == "Title" && child.ChildNodes.Count != 0) {
+                             title = child.ChildNodes [0].Value;
++                        } else if (child.Name == "TrackNumber" && child.ChildNodes.Count != 0) {
++                            track_number = Convert.ToInt32 (child.ChildNodes [0].Value);
+                         } else if (child.Name == "Duration" && child.ChildNodes.Count != 0) {
+                             duration = Convert.ToInt32 (child.ChildNodes [0].Value);
+                         } else if (child.Name == "StartTime" && child.ChildNodes.Count != 0) {
+-                            long time = Convert.ToInt64 (child.ChildNodes [0].Value);
+-                            start_time = DateTimeUtil.FromTimeT (time);
++                            start_time = Convert.ToInt64 (child.ChildNodes [0].Value);
+                         }
+                     }
+ 
+-                    queue.Add (new QueuedTrack (artist, album, title, duration, start_time));
++                    queue.Add (new QueuedTrack (artist, album, title, track_number, duration, start_time));
+                 }
+             } catch { 
+             }
+@@ -170,24 +179,31 @@
+ 
+         public string GetTransmitInfo (out int num_tracks)
+         {
++            string str_track_number = "";
+             StringBuilder sb = new StringBuilder ();
+-
++            
+             int i;
+             for (i = 0; i < queue.Count; i ++) {
+-                /* we queue a maximum of 10 tracks per request */
+-                if (i == 9) break;
++                /* Last.FM 1.2 can handle up to 50 songs in one request */
++                if (i == 49) break;
+ 
+                 QueuedTrack track = (QueuedTrack)queue[i];
+ 
++                if (track.TrackNumber != 0)
++                    str_track_number = track.TrackNumber.ToString();
++                    
+                 sb.AppendFormat (
+-                         "&a[{6}]={0}&t[{6}]={1}&b[{6}]={2}&m[{6}]={3}&l[{6}]={4}&i[{6}]={5}",
+-                         HttpUtility.UrlEncode (track.Artist),
+-                         HttpUtility.UrlEncode (track.Title),
+-                         HttpUtility.UrlEncode (track.Album),
+-                         "" /* musicbrainz id */,
+-                         track.Duration.ToString (),
+-                         HttpUtility.UrlEncode (track.StartTime.ToString ("yyyy-MM-dd HH:mm:ss")),
+-                         i);
++                    "&a[{9}]={0}&t[{9}]={1}&i[{9}]={2}&o[{9}]={3}&r[{9}]={4}&l[{9}]={5}&b[{9}]={6}&n[{9}]={7}&m[{9}]={8}",
++                    HttpUtility.UrlEncode (track.Artist),
++                    HttpUtility.UrlEncode (track.Title),
++                    track.StartTime.ToString (),
++                    "P" /* source: chosen by user */, 
++                    ""  /* rating: L/B/S */, 
++                    track.Duration.ToString (),
++                    HttpUtility.UrlEncode (track.Album),
++                    str_track_number,
++                    "" /* musicbrainz id */,
++                     i);
+             }
+ 
+             num_tracks = i;
+Index: src/Plugins/Banshee.Plugins.Audioscrobbler/Engine.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Audioscrobbler/Engine.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.Audioscrobbler/Engine.cs	(Revision 3417)
+@@ -56,15 +56,18 @@
+         const int TICK_INTERVAL = 2000; /* 2 seconds */
+         const int FAILURE_LOG_MINUTES = 5; /* 5 minute delay on logging failure to upload information */
+         const int RETRY_SECONDS = 60; /* 60 second delay for transmission retries */
++        const int MAX_RETRY_SECONDS = 7200; /* 2 hours, as defined in the last.fm protocol */
++        const int TIME_OUT = 5000; /* 5 seconds timeout for webrequests */
+         const string CLIENT_ID = "bsh";
+         const string CLIENT_VERSION = "0.1";
+         const string SCROBBLER_URL = "http://post.audioscrobbler.com/";
+-        const string SCROBBLER_VERSION = "1.1";
++        const string SCROBBLER_VERSION = "1.2";
+ 
+         string username;
+         string md5_pass;
++		string session_id = null;
+         string post_url;
+-        string security_token;
++		string now_playing_url;
+ 
+         uint timeout_id;
+         DateTime next_interval;
+@@ -72,10 +75,17 @@
+ 
+         Queue queue;
+ 
++        int hard_failures = 0;
++        int hard_failure_retry_sec = 60;
++ 
++        bool now_playing_submitted;
+         bool song_started; /* if we were watching the current song from the beginning */
+         bool queued; /* if current_track has been queued */
+-        bool sought; /* if the user has sought in the current playing song */
+ 
++        DateTime song_start_time;
++        TrackInfo last_track;
++        
++        WebRequest now_playing_post;
+         WebRequest current_web_req;
+         IAsyncResult current_async_result;
+         State state;
+@@ -91,6 +101,7 @@
+         {
+             song_started = false;
+             PlayerEngineCore.EventChanged += OnPlayerEngineEventChanged;
++            PlayerEngineCore.StateChanged += OnPlayerEngineStateChanged;
+             queue.TrackAdded += delegate(object o, EventArgs args) {
+                 StartTransitionHandler ();
+             };
+@@ -106,8 +117,12 @@
+ 
+         public void Stop ()
+         {
++            // Queue the current track for later submission
++            Queue(PlayerEngineCore.CurrentTrack);
++            
+             PlayerEngineCore.EventChanged -= OnPlayerEngineEventChanged;
+-
++            PlayerEngineCore.StateChanged -= OnPlayerEngineStateChanged;
++            
+             StopTransitionHandler ();
+ 
+             if (current_web_req != null) {
+@@ -133,8 +148,8 @@
+             this.username = username;
+             this.md5_pass = MD5Encode (pass);
+ 
+-            if (security_token != null) {
+-                security_token = null;
++            if (session_id != null) {
++                session_id = null;
+                 state = State.NEED_HANDSHAKE;
+             }
+         }
+@@ -151,39 +166,60 @@
+             return CryptoConvert.ToHex (hash).ToLower ();
+         }
+ 
++        void OnPlayerEngineStateChanged(object o, PlayerEngineStateArgs args)
++        {
++            if (PlayerEngineCore.CurrentState == PlayerEngineState.Paused && 
++                    PlayerEngineCore.LastState == PlayerEngineState.Playing) {
++                st.Stop();
++            } 
++            else if (PlayerEngineCore.CurrentState == PlayerEngineState.Playing &&
++                PlayerEngineCore.LastState == PlayerEngineState.Paused) {
++                st.Start();
++            }
++        }
++        
++        // We need to time how long the song has played
++        class SongTimer
++        {
++            private DateTime start_time;
++            public int PlayTime = 0;
++            public void Start() { start_time = DateTime.Now; }
++            public void Stop() { PlayTime += (int) (DateTime.Now - start_time).TotalSeconds;}
++            public void Reset() { PlayTime = 0; }
++        }
++        
++        SongTimer st = new SongTimer();
++        
++        void Queue (TrackInfo track) {
++            if (song_started && !queued && track.Duration.TotalSeconds > 30 && 
++                track.Artist != "" && track.Title != "" &&
++               (st.PlayTime >  track.Duration.TotalSeconds / 2 || st.PlayTime > 240)) {
++                  queue.Add (track, song_start_time);
++                  queued = true;
++            }
++        }
++        
+         void OnPlayerEngineEventChanged(object o, PlayerEngineEventArgs args)
+         {
+             switch (args.Event) {
+-                /* Queue if we're watching this song from the beginning,
+-                 * it isn't queued yet and the user didn't seek until now,
+-                 * we're actually playing, song position and length are greater than 0
+-                 * and we already played half of the song or 240 seconds */
+-                case PlayerEngineEvent.Iterate:
+-                    if (song_started && !queued && !sought && PlayerEngineCore.CurrentState == PlayerEngineState.Playing &&
+-                        PlayerEngineCore.Length > 0 && PlayerEngineCore.Position > 0 &&
+-                        (PlayerEngineCore.Position > PlayerEngineCore.Length / 2 || PlayerEngineCore.Position > 240)) {
+-                            TrackInfo track = PlayerEngineCore.CurrentTrack;
+-                            if (track == null) {
+-                                queued = sought = false;
+-                            } else {
+-                                queue.Add (track, DateTime.Now - TimeSpan.FromSeconds (PlayerEngineCore.Position));
+-                                queued = true;
+-                            }
+-                    }
+-                    break;
+-                /* Start of Stream: new song started */
+                 case PlayerEngineEvent.StartOfStream:
+-                    queued = sought = false;
++                    // Queue the previous track in case of a skip
++                    st.Stop();
++                    Queue(last_track);
++                
++                    st.Reset(); st.Start();
++                    song_start_time = DateTime.Now;
++                    last_track = PlayerEngineCore.CurrentTrack;
++                    now_playing_submitted = queued = false;
+                     song_started = true;
++
++                    StartTransitionHandler();
+                     break;
+-                /* End of Stream: song finished */
+                 case PlayerEngineEvent.EndOfStream:
+-                    song_started = queued = sought = false;
++                    st.Stop();               
++                    Queue(PlayerEngineCore.CurrentTrack);
++                    queued = true;
+                     break;
+-                /* Did the user seek? */
+-                case PlayerEngineEvent.Seek:
+-                    sought = true;
+-                    break;
+             }
+         }
+ 
+@@ -193,17 +229,22 @@
+              * involving the network. */
+             if (!Globals.Network.Connected)
+                 return true;
+-
++            
++            if ((state == State.IDLE || state == State.NEED_TRANSMIT) && hard_failures > 2) {
++                state = State.NEED_HANDSHAKE;
++                hard_failures = 0;
++            }
++            
+             /* and address changes in our engine state */
+             switch (state) {
+             case State.IDLE:
+-                if (queue.Count > 0) {
+-                    if (username != null && md5_pass != null && security_token == null)
+-                        state = State.NEED_HANDSHAKE;
+-                    else 
++                if (username != null && md5_pass != null && session_id == null) {
++                    state = State.NEED_HANDSHAKE;
++                } else {
++                    if (queue.Count > 0)
+                         state = State.NEED_TRANSMIT;
+-                } else {
+-                    StopTransitionHandler ();
++                    else if (now_playing_submitted)
++                        StopTransitionHandler ();
+                 }
+                 break;
+             case State.NEED_HANDSHAKE:
+@@ -222,6 +263,12 @@
+                 /* nothing here */
+                 break;
+             }
++            
++            // Only submit if queue is empty, otherwise the submission
++            // gets overruled by the queue submission by Last.fm
++            if (queue.Count == 0 && !now_playing_submitted && state == State.IDLE 
++                    && PlayerEngineCore.CurrentState == PlayerEngineState.Playing)
++                NowPlaying(PlayerEngineCore.CurrentTrack);
+ 
+             return true;
+         }
+@@ -251,7 +298,7 @@
+ 
+             StringBuilder sb = new StringBuilder ();
+ 
+-            sb.AppendFormat ("u={0}&s={1}", HttpUtility.UrlEncode (username), security_token);
++            sb.AppendFormat ("s={0}", session_id);
+ 
+             sb.Append (queue.GetTransmitInfo (out num_tracks_transmitted));
+ 
+@@ -259,29 +306,33 @@
+             current_web_req.Method = "POST";
+             current_web_req.ContentType = "application/x-www-form-urlencoded";
+             current_web_req.ContentLength = sb.Length;
+-
++            
+             TransmitState ts = new TransmitState ();
+             ts.Count = num_tracks_transmitted;
+             ts.StringBuilder = sb;
+ 
+             state = State.WAITING_FOR_REQ_STREAM;
+             current_async_result = current_web_req.BeginGetRequestStream (TransmitGetRequestStream, ts);
+-            if (current_async_result == null) {
++            if (!(current_async_result.AsyncWaitHandle.WaitOne (TIME_OUT, false))) {
++		        LogCore.Instance.PushWarning("Audioscrobbler upload failed", 
++                                             "The request timed out and was aborted", false);
+                 next_interval = DateTime.Now + new TimeSpan (0, 0, RETRY_SECONDS);
++                hard_failures++;
+                 state = State.IDLE;
+-            }
++                current_web_req.Abort();
++
++			}
+         }
+ 
+         void TransmitGetRequestStream (IAsyncResult ar)
+         {
+             Stream stream;
+-
+             try {
+                 stream = current_web_req.EndGetRequestStream (ar);
+             }
+             catch (Exception e) {
+-                Console.WriteLine ("Failed to get the request stream: {0}", e);
+-
++                LogCore.Instance.PushWarning ("Audioscrobbler upload failed", 
++                              String.Format("Failed to get the request stream: {0}", e, false));
+                 state = State.IDLE;
+                 next_interval = DateTime.Now + new TimeSpan (0, 0, RETRY_SECONDS);
+                 return;
+@@ -298,6 +349,7 @@
+             current_async_result = current_web_req.BeginGetResponse (TransmitGetResponse, ts);
+             if (current_async_result == null) {
+                 next_interval = DateTime.Now + new TimeSpan (0, 0, RETRY_SECONDS);
++                hard_failures++;
+                 state = State.IDLE;
+             }
+         }
+@@ -310,17 +362,15 @@
+                 resp = current_web_req.EndGetResponse (ar);
+             }
+             catch (Exception e) {
+-                Console.WriteLine ("Failed to get the response: {0}", e);
+-
++                LogCore.Instance.PushWarning ("Audioscrobbler upload failed", 
++                              String.Format("Failed to get the response: {0}", e, false));
+                 state = State.IDLE;
+                 next_interval = DateTime.Now + new TimeSpan (0, 0, RETRY_SECONDS);
+                 return;
+             }
+ 
+             TransmitState ts = (TransmitState) ar.AsyncState;
+-
+             Stream s = resp.GetResponseStream ();
+-
+             StreamReader sr = new StreamReader (s, Encoding.UTF8);
+ 
+             string line;
+@@ -333,18 +383,18 @@
+                     last_upload_failed_logged = now;
+                 }
+                 /* retransmit the queue on the next interval */
++                hard_failures++;
+                 state = State.NEED_TRANSMIT;
+             }
+-            else if (line.StartsWith ("BADUSER")
+-                     || line.StartsWith ("BADAUTH")) {
++            else if (line.StartsWith ("BADSESSION")) {
+                 if (now - last_upload_failed_logged > TimeSpan.FromMinutes(FAILURE_LOG_MINUTES)) {
+-                    LogCore.Instance.PushWarning ("Audioscrobbler upload failed", "invalid authentication", false);
++                    LogCore.Instance.PushWarning ("Audioscrobbler upload failed", "Session ID sent was invalid", false);
+                     last_upload_failed_logged = now;
+                 }
+                 /* attempt to re-handshake (and retransmit) on the next interval */
+-                security_token = null;
++                session_id = null;
+                 next_interval = DateTime.Now + new TimeSpan (0, 0, RETRY_SECONDS);
+-                state = State.IDLE;
++                state = State.NEED_HANDSHAKE;
+                 return;
+             }
+             else if (line.StartsWith ("OK")) {
+@@ -356,58 +406,64 @@
+                 /* we succeeded, pop the elements off our queue */
+                 queue.RemoveRange (0, ts.Count);
+                 queue.Save ();
++                hard_failures = 0;
+                 state = State.IDLE;
+             }
+             else {
+                 if (now - last_upload_failed_logged > TimeSpan.FromMinutes(FAILURE_LOG_MINUTES)) {
+-                    LogCore.Instance.PushDebug ("Audioscrobbler upload failed", String.Format ("Unrecognized response: {0}", line), false);
++                    LogCore.Instance.PushWarning("Audioscrobbler upload failed", String.Format ("Unrecognized response: {0}", line), false);
+                     last_upload_failed_logged = now;
+                 }
++                hard_failures++;
+                 state = State.IDLE;
+             }
+-
+-            /* now get the next interval */
+-            line = sr.ReadLine ();
+-            if (line.StartsWith ("INTERVAL")) {
+-                int interval_seconds = Int32.Parse (line.Substring ("INTERVAL".Length));
+-                next_interval = DateTime.Now + new TimeSpan (0, 0, interval_seconds);
+-            }
+-            else {
+-                Console.WriteLine ("expected INTERVAL..");
+-            }
+         }
+ 
+         //
+         // Async code for handshaking
+         //
+-        void Handshake ()
++		private string UnixTime ()
+         {
+-            string uri = String.Format ("{0}?hs=true&p={1}&c={2}&v={3}&u={4}",
++            return ((int) (DateTime.UtcNow - new DateTime (1970, 1, 1)).TotalSeconds).ToString ();
++        }
++		
++		void Handshake ()
++        {
++            string timestamp = UnixTime();
++            string security_token = MD5Encode (md5_pass + timestamp);
++
++            string uri = String.Format ("{0}?hs=true&p={1}&c={2}&v={3}&u={4}&t={5}&a={6}",
+                                         SCROBBLER_URL,
+                                         SCROBBLER_VERSION,
+                                         CLIENT_ID, CLIENT_VERSION,
+-                                        HttpUtility.UrlEncode (username));
+-
++                                        HttpUtility.UrlEncode (username),
++                                        timestamp,
++                                        security_token);
+             current_web_req = WebRequest.Create (uri);
+ 
+             state = State.WAITING_FOR_HANDSHAKE_RESP;
+             current_async_result = current_web_req.BeginGetResponse (HandshakeGetResponse, null);
+             if (current_async_result == null) {
+-                next_interval = DateTime.Now + new TimeSpan (0, 0, RETRY_SECONDS);
+-                state = State.IDLE;
++                next_interval = DateTime.Now + new TimeSpan (0, 0, hard_failure_retry_sec);
++                hard_failures++;
++                if (hard_failure_retry_sec < MAX_RETRY_SECONDS)
++                    hard_failure_retry_sec *= 2;
++                state = State.NEED_HANDSHAKE;
+             }
+         }
+ 
+         void HandshakeGetResponse (IAsyncResult ar)
+         {
+             bool success = false;
++            bool hard_failure = false;
+             WebResponse resp;
+ 
+             try {
+                 resp = current_web_req.EndGetResponse (ar);
+             }
+             catch (Exception e) {
+-                Console.WriteLine ("failed to handshake: {0}", e);
++                LogCore.Instance.PushWarning ("Audioscrobbler init failed", 
++                              String.Format("Failed to handshake: {0}", e, false));
+ 
+                 /* back off for a time before trying again */
+                 state = State.IDLE;
+@@ -422,45 +478,113 @@
+             string line;
+ 
+             line = sr.ReadLine ();
+-            if (line.StartsWith ("FAILED")) {
+-                LogCore.Instance.PushWarning ("Audioscrobbler sign-on failed", line.Substring ("FAILED".Length).Trim(), false);
++            if (line.StartsWith ("BANNED")) {
++                LogCore.Instance.PushWarning ("Audioscrobbler sign-on failed", "Player is banned", false);
+                                    
+             }
+-            else if (line.StartsWith ("BADUSER")) {
++            else if (line.StartsWith ("BADAUTH")) {
+                 LogCore.Instance.PushWarning ("Audioscrobbler sign-on failed", "unrecognized user/password", false);
+             }
+-            else if (line.StartsWith ("UPDATE")) {
+-                LogCore.Instance.PushInformation ("Audioscrobbler plugin needs updating",
+-                                            String.Format ("Fetch a newer version at {0}\nor update to a newer version of Banshee",
+-                                                           line.Substring ("UPDATE".Length).Trim()), false);
+-                success = true;
++            else if (line.StartsWith ("BADTIME")) {
++                LogCore.Instance.PushWarning ("Audioscrobbler sign-on failed", 
++                                                  "timestamp provided was not close enough to the current time", false);
+             }
+-            else if (line.StartsWith ("UPTODATE")) {
++            else if (line.StartsWith ("FAILED")) {
++                LogCore.Instance.PushWarning ("Audioscrobbler sign-on failed",
++                                                  String.Format ("Temporary server failure: {0}",
++                                                                  line.Substring ("FAILED".Length).Trim()), false);
++                hard_failure = true;
++            }
++            else if (line.StartsWith ("OK")) {
+                 success = true;
+             }
++            else {
++                LogCore.Instance.PushError ("Audioscrobbler sign-on failed", 
++                                                  String.Format ("Unknown error: {0}",
++                                                                  line.Trim()), false);
++                hard_failure = true;
++           }
+             
+-            /* read the challenge string and post url, if
+-             * this was a successful handshake */
+             if (success == true) {
+-                string challenge = sr.ReadLine ().Trim ();
++                LogCore.Instance.PushInformation ("Audioscrobbler sign-on succeeded", "Session ID received", false); 
++                session_id = sr.ReadLine ().Trim ();
++                now_playing_url = sr.ReadLine ().Trim ();
+                 post_url = sr.ReadLine ().Trim ();
+-
+-                security_token = MD5Encode (md5_pass + challenge);
+-                //Console.WriteLine ("security token = {0}", security_token);
++                hard_failures = 0;
++                hard_failure_retry_sec = 60;
++            
+             }
+-
+-            /* read the trailing interval */
+-            line = sr.ReadLine ();
+-            if (line.StartsWith ("INTERVAL")) {
+-                int interval_seconds = Int32.Parse (line.Substring ("INTERVAL".Length));
+-                next_interval = DateTime.Now + new TimeSpan (0, 0, interval_seconds);
++            if (hard_failure == true) {
++                next_interval = DateTime.Now + new TimeSpan (0, 0, hard_failure_retry_sec);
++                hard_failures++;
++                if (hard_failure_retry_sec < MAX_RETRY_SECONDS)
++                    hard_failure_retry_sec *= 2;
++ 
+             }
+-            else {
+-                Console.WriteLine ("expected INTERVAL..");
+-            }
+ 
+             /* XXX we shouldn't just try to handshake again for BADUSER */
+             state = success ? State.IDLE : State.NEED_HANDSHAKE;
+         }
++        
++        //
++        // Async code for now playing
++        
++        void NowPlaying (TrackInfo track)
++        {
++            if (session_id != null && track.Artist != "" && track.Title != "") {
++                
++                string str_track_number = "";
++                if (track.TrackNumber != 0)
++                    str_track_number = track.TrackNumber.ToString();
++                
++                string uri = String.Format ("{0}?s={1}&a={2}&t={3}&b={4}&l={5}&n={6}&m={7}",
++                                            now_playing_url,
++                                            session_id,
++                                            HttpUtility.UrlEncode(track.Artist),
++                                            HttpUtility.UrlEncode(track.Title),
++    			                            HttpUtility.UrlEncode(track.Album),
++                                            track.Duration.TotalSeconds.ToString(),
++                                            str_track_number,
++    			                            "" /* musicbrainz id */);
++
++                now_playing_post = WebRequest.Create (uri);
++                now_playing_post.Method = "POST";
++                now_playing_post.ContentType = "application/x-www-form-urlencoded";
++                now_playing_post.ContentLength = uri.Length;
++                now_playing_post.BeginGetResponse (NowPlayingGetResponse, null);
++                now_playing_submitted = true;
++            }
++        }
++
++        void NowPlayingGetResponse (IAsyncResult ar)
++        {
++            try {
++
++                WebResponse my_resp = now_playing_post.EndGetResponse (ar);
++
++                Stream s = my_resp.GetResponseStream ();
++                StreamReader sr = new StreamReader (s, Encoding.UTF8);
++
++                string line = sr.ReadLine ();
++                if (line.StartsWith ("BADSESSION")) {
++                    LogCore.Instance.PushWarning ("Audioscrobbler NowPlaying failed", "Session ID sent was invalid", false);
++                    /* attempt to re-handshake on the next interval */
++                    session_id = null;
++                    next_interval = DateTime.Now + new TimeSpan (0, 0, RETRY_SECONDS);
++                    state = State.NEED_HANDSHAKE;
++                    return;
++                }
++                else if (line.StartsWith ("OK")) {
++                    // NowPlaying submitted  
++                }
++                else {
++                    LogCore.Instance.PushWarning ("Audioscrobbler NowPlaying failed", "Unexpected or no response", false);       
++                }
++            }
++            catch (Exception e) {
++                LogCore.Instance.PushWarning ("Audioscrobbler NowPlaying failed", 
++                              String.Format("Failed to post NowPlaying: {0}", e, false));
++            }
++        }
+     }
+ }
+Index: src/Plugins/Banshee.Plugins.LastFM/Plugin.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.LastFM/Plugin.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.LastFM/Plugin.cs	(Revision 3417)
+@@ -1,7 +1,7 @@
+ /***************************************************************************
+  *  Plugin.cs
+  *
+- *  Copyright (C) 2007 Novell, Inc.
++ *  Copyright (C) 2007-2008 Novell, Inc.
+  *  Written by Gabriel Burt <gabriel.burt at gmail.com>
+  ****************************************************************************/
+ 
+@@ -262,5 +262,9 @@
+         public static readonly SchemaEntry<string> LastUserSchema = new SchemaEntry<string> (
+             "plugins.lastfm", "username", "", "Last.fm user", "Last.fm username"
+         );
++
++        public static readonly SchemaEntry<bool> ExpandedSchema = new SchemaEntry<bool> (
++            "plugins.lastfm", "expanded", false, "Last.fm expanded", "Last.fm expanded"
++        );
+     }
+ }
+Index: src/Plugins/Banshee.Plugins.LastFM/Editor.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.LastFM/Editor.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.LastFM/Editor.cs	(Revision 3417)
+@@ -1,7 +1,7 @@
+ /***************************************************************************
+  *  Editor.cs
+  *
+- *  Copyright (C) 2007 Novell, Inc.
++ *  Copyright (C) 2007-2008 Novell, Inc.
+  *  Written by Gabriel Burt <gabriel.burt at gmail.com>
+  ****************************************************************************/
+ 
+@@ -123,6 +123,7 @@
+                     if (source == null) {
+                         source = new StationSource (name, type.Name, arg);
+                         LastFMPlugin.Instance.Source.AddChildSource (source);
++                        SourceManager.AddSource (source);
+                     } else {
+                         source.Rename (name);
+                         source.Type = type;
+Index: src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs	(Revision 3417)
+@@ -1,7 +1,7 @@
+ /***************************************************************************
+  *  LastFMSource.cs
+  *
+- *  Copyright (C) 2007 Novell, Inc.
++ *  Copyright (C) 2007-2008 Novell, Inc.
+  *  Written by Gabriel Burt <gabriel.burt at gmail.com>
+  ****************************************************************************/
+ 
+@@ -193,9 +193,14 @@
+         }
+ 
+         public override bool? AutoExpand {
+-            get { return true; }
++            get { return LastFMPlugin.ExpandedSchema.Get (); }
+         }
+ 
++        public override bool Expanded {
++            get { return LastFMPlugin.ExpandedSchema.Get (); }
++            set { LastFMPlugin.ExpandedSchema.Set (value); }
++        }
++
+         public override bool CanActivate {
+             get { return false; }
+         }
+Index: src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in
+===================================================================
+--- src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in	(Revision 3417)
+@@ -13,6 +13,17 @@
+       </locale>
+     </schema>
+     <schema>
++      <key>/schemas/apps/banshee/plugins/lastfm/expanded</key>
++      <applyto>/apps/banshee/plugins/lastfm/expanded</applyto>
++      <owner>banshee</owner>
++      <type>bool</type>
++      <default>false</default>
++      <locale name="C">
++        <short>Last.fm expanded</short>
++        <long>Last.fm expanded</long>
++      </locale>
++    </schema>
++    <schema>
+       <key>/schemas/apps/banshee/plugins/lastfm/station_sort</key>
+       <applyto>/apps/banshee/plugins/lastfm/station_sort</applyto>
+       <owner>banshee</owner>
+Index: src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs	(Revision 2958)
++++ src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs	(Revision 3417)
+@@ -241,7 +241,7 @@
+ 
+         private void ShowHideMainWindow()
+         {
+-            if (InterfaceElements.MainWindow.IsActive) {
++            if (InterfaceElements.MainWindow.Visible) {
+                 SaveWindowSizePosition();
+                 InterfaceElements.MainWindow.Visible = false;
+             } else {
+Index: src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs
+===================================================================
+--- src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs	(Revision 2958)
++++ src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs	(Revision 3417)
+@@ -69,6 +69,7 @@
+         protected Hal.Device volume_device = null;
+         protected Gnome.Vfs.Volume volume = null;
+ 
++
+         public override InitializeResult Initialize(Hal.Device halDevice)
+         {
+             volume_device = halDevice;
+@@ -89,7 +90,7 @@
+                 return WaitForVolumeMount(volume_device);
+             }
+             
+-            if(player_device["portable_audio_player.type"] == "ipod") {
++            if(IsPortableAudioPlayerType (player_device, "ipod")) {
+                 if(File.Exists(IsAudioPlayerPath)) {
+                     LogCore.Instance.PushInformation(
+                         "Mass Storage Support Loading iPod",
+@@ -108,8 +109,7 @@
+             }
+ 
+             // Detect player via HAL property or presence of .is_audo_player file in root
+-            if(player_device["portable_audio_player.access_method"] != "storage" &&
+-                !File.Exists(IsAudioPlayerPath)) {                
++            if(!IsMassStorage (player_device) && !File.Exists(IsAudioPlayerPath)) {
+                 return InitializeResult.Invalid;
+             }
+ 
+@@ -804,5 +804,13 @@
+             get { return Path.Combine(MountPoint, ".is_audio_player"); }
+         }
+ 
++        protected static bool IsMassStorage (Hal.Device device)
++        {
++            if (device.PropertyExists ("portable_audio_player.access_method")) {
++                return device["portable_audio_player.access_method"] == "storage";
++            }
++
++            return IsPortableAudioPlayerType (device, "storage");
++        }
+     }
+ }
+Index: src/Dap/Banshee.Dap.Ipod/IpodDap.cs
+===================================================================
+--- src/Dap/Banshee.Dap.Ipod/IpodDap.cs	(Revision 2958)
++++ src/Dap/Banshee.Dap.Ipod/IpodDap.cs	(Revision 3417)
+@@ -83,7 +83,7 @@
+             if(!hal_device.PropertyExists("block.device") || 
+                 !hal_device.PropertyExists("block.is_volume") ||
+                 !hal_device.GetPropertyBoolean("block.is_volume") ||
+-                hal_device.Parent["portable_audio_player.type"] != "ipod") {
++                !IsPortableAudioPlayerType (hal_device.Parent, "ipod")) {
+                 return InitializeResult.Invalid;
+             } else if(!hal_device.GetPropertyBoolean("volume.is_mounted")) {
+                 return WaitForVolumeMount(hal_device);
+Index: src/Dap/Banshee.Dap.Mtp/ChangeLog
+===================================================================
+--- src/Dap/Banshee.Dap.Mtp/ChangeLog	(Revision 2958)
++++ src/Dap/Banshee.Dap.Mtp/ChangeLog	(Revision 3417)
+@@ -1,160 +0,0 @@
+-2008-01-06  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Removed checks for hal properties which i don't use - increases
+-	  compatibility with systems which don't have those properties.
+-
+-2008-01-05  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Added some better error handling so that i can deal with common
+-	  issues on the wiki.
+-
+-2008-01-05  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Fixed stupid typo...
+-
+-2008-01-05  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Added a little extra debug spew
+-
+-2008-01-05  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Removed checks for libgphoto support - we no longer use
+-	  libgphoto so these shouldn't be there.
+-
+-2007-12-03  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* Banshee.Dap.Mtp.mdp: Pushing MTP code into banshee. Huzzah!
+-
+-2007-11-14  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Cosmetic changes to the debug output
+-
+-2007-10-21  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: If the camera hasn't initialised, return sane values rather
+-	  than blowing up (fixed it this time)
+-
+-2007-10-20  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Updated the warning message a bit
+-
+-2007-10-20  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: When the import is complete, dispose the user event
+-
+-2007-10-14  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: if there's no space on the device, give a warning when trying
+-	  to upload. Removed unneeded logic from AddTrack. Added some debug
+-	  output.
+-
+-2007-10-14  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Updated to latest libgphoto-sharp API
+-
+-2007-10-14  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Removed debug speedup which i accidently commited 
+-
+-2007-10-13  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Implemented IImportable. Added speedups for library refreshing.
+-	  Enabled metadata updating. 
+-	* MtpDapTrackInfo.cs: Adding a URI (even though it's useless). Overrode
+-	  WriteUpdate so changing metadata can be detected.
+-
+-2007-10-13  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Added logic to resolve folder/filename collisions and also
+-	  intelligently create directories for files 
+-
+-2007-10-07  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Reverted the change to AddTrack. Added in time information to
+-	  show user how long it took to load the filesystem.
+-
+-2007-10-07  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Removed excess debugging messages, bugfixed 'AddTrack'
+-
+-2007-10-07  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Spaces/tabs fix
+-
+-2007-10-06  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* Makefile.am: Updated  makefiles to fix compilation
+-
+-2007-10-06  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Added internal property to expose the camera. updated logic in
+-	  AddTrack to be more like what i think it should be.
+-	* MtpDapTrackInfo.cs: Cosmetic
+-	* MtpDapPlaylistSource.cs: Initial version of MtpDapPlaylistSource
+-
+-2007-10-06  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* Banshee.Dap.Mtp.mdp, GPhotoDevicePlaylist.cs: Removed old unneeded file
+-
+-2007-10-06  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* GPhotoDevicePlaylist.cs: Began refactor of the 'Playlist' class.
+-	* MtpDap.cs: Removed useless debug message
+-
+-2007-10-02  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Now identifying devices using the usb bus and device numbers.
+-	  Multiple instances of the same mp3 player can be correctly used now.
+-	  Removed debug speedup which shouldn't have hit SVN.
+-
+-2007-10-01  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Implemented track adding/removing so synching works.
+-	* MtpDapTrackInfo.cs: Added method to make it easy to check if the file is
+-	  on a camera. overrode equals.
+-
+-2007-10-01  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Cosmetic
+-
+-2007-10-01  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: base.Initialize(HalDevice) was being called twice. Fixed some
+-	  debug spew
+-
+-2007-10-01  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Added useful debug-spew when trying to connect to devices.
+-
+-2007-09-30  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Giving some stats about how many tracks were loaded
+-
+-2007-09-30  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Removed excess dead code
+-
+-2007-09-30  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Remvoed other half of speedup-hack
+-
+-2007-09-30  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* MtpDap.cs: Removed my debugging speedup-hack
+-
+-2007-09-30  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* GPhotoDeviceFile.cs, Banshee.Dap.Mtp.mdp, GPhotoUtilities.cs, Makefile.am:
+-	  Deleted useless files
+-	* MtpDap.cs, MtpDapTrackInfo.cs: Began initial work on updating the MTP code
+-	  to work with the new API
+-	* MtpDapPlaylistSource.cs, GPhotoDevicePlaylist.cs: Commented it all out, it
+-	  needs to be redone
+-
+-2007-09-07  Alan McGovern <alan.mcgovern at gmail.com> 
+-
+-	* GPhotoDevice.cs, GPhotoDeviceFile.cs: Updated the parsing of the metadata
+-	  so it only reads through the string once rather than doing lengthy full
+-	  linear searches for each attribute. Replaced the DisposeCameraFile
+-	  method with a standard Dispose
+-
+Index: src/Dap/Banshee.Dap.Mtp/AlbumSet.cs
+===================================================================
+--- src/Dap/Banshee.Dap.Mtp/AlbumSet.cs	(Revision 0)
++++ src/Dap/Banshee.Dap.Mtp/AlbumSet.cs	(Revision 3417)
+@@ -0,0 +1,115 @@
++/***************************************************************************
++ *  AlbumSet.cs
++ *
++ *  Copyright (C) 2008 Novell, Inc.
++ *  Authors:
++ *  Gabriel Burt (gburt at novell.com)
++ ****************************************************************************/
++
++/*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
++ *
++ *  Permission is hereby granted, free of charge, to any person obtaining a
++ *  copy of this software and associated documentation files (the "Software"),  
++ *  to deal in the Software without restriction, including without limitation  
++ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,  
++ *  and/or sell copies of the Software, and to permit persons to whom the  
++ *  Software is furnished to do so, subject to the following conditions:
++ *
++ *  The above copyright notice and this permission notice shall be included in 
++ *  all copies or substantial portions of the Software.
++ *
++ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
++ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
++ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
++ *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
++ *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
++ *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
++ *  DEALINGS IN THE SOFTWARE.
++ */
++
++using System;
++using System.Collections.Generic;
++
++using Mono.Unix;
++using Gdk;
++
++using Banshee.Dap;
++using Banshee.Base;
++
++using Mtp;
++
++namespace Banshee.Dap.Mtp
++{
++    public class AlbumSet
++    {
++        private MtpDevice device;
++        private List<Album> old_list;
++        private List<Album> new_list = new List<Album> ();
++        private Dictionary<string, Album> hash = new Dictionary<string, Album> ();
++        private Dictionary<Album, TrackInfo> tracks = new Dictionary<Album, TrackInfo> ();
++
++        public AlbumSet (MtpDevice device)
++        {
++            this.device = device;
++            old_list = device.GetAlbums ();
++            hash.Clear ();
++        }
++
++        public void Ref (MtpDapTrackInfo track)
++        {
++            string key = track.Album + track.Artist;
++            if (!hash.ContainsKey (key)) {
++                Album album = new Album (device, track.Album, track.Artist, track.Genre);
++                new_list.Add (album);
++                hash[key] = album;
++            }
++
++            hash [key].AddTrack (track.OriginalFile);
++            tracks [hash[key]] = track;
++        }
++
++        /*public void Unref (MtpDapTrackInfo track)
++        {
++            Unref (track.OriginalFile);
++        }
++
++        public void Unref (Track track)
++        {
++            string key = track.Album + track.Artist;
++            if (hash.ContainsKey (key)) {
++                hash [key].RemoveTrack (track);
++            }
++        }*/
++
++        public IEnumerable<double> Save ()
++        {
++            int MAX_THUMB_WIDTH = MtpDap.AlbumArtWidthSchema.Get ();
++            double total = old_list.Count + new_list.Count;
++            double current = 0;
++            foreach (Album album in old_list) {
++                album.Remove ();
++                yield return (current++ / total);
++            }
++
++            foreach (Album album in new_list) {
++                if (tracks.ContainsKey (album)) {
++                    string cover_art_file = tracks[album].CoverArtFileName;
++                    if (cover_art_file != null) {
++                        Gdk.Pixbuf pic = new Gdk.Pixbuf (cover_art_file);
++
++                        int new_h = pic.Height * MAX_THUMB_WIDTH / pic.Width;
++                        Gdk.Pixbuf scaled = pic.ScaleSimple (MAX_THUMB_WIDTH, new_h, InterpType.Bilinear);
++
++                        byte [] bytes = scaled.SaveToBuffer ("jpeg");
++                        album.Save (bytes, (uint)scaled.Width, (uint)scaled.Height);
++                        scaled.Dispose ();
++                        pic.Dispose ();
++                    }
++                }
++                yield return (current++ / total);
++            }
++
++            tracks.Clear ();
++        }
++    }
++}
+Index: src/Dap/Banshee.Dap.Mtp/Makefile.am
+===================================================================
+--- src/Dap/Banshee.Dap.Mtp/Makefile.am	(Revision 2958)
++++ src/Dap/Banshee.Dap.Mtp/Makefile.am	(Revision 3417)
+@@ -5,6 +5,7 @@
+ 
+ ASSEMBLY_SOURCES = \
+ 	$(top_srcdir)/src/AssemblyInfo.cs \
++	$(srcdir)/AlbumSet.cs \
+ 	$(srcdir)/MtpDap.cs \
+ 	$(srcdir)/MtpDapTrackInfo.cs \
+ 	$(srcdir)/MtpDapPlaylistSource.cs
+@@ -15,7 +16,7 @@
+ endif
+ 
+ $(ASSEMBLY): $(ASSEMBLY_SOURCES)
+-	$(BUILD_LIB_BANSHEE_CORE) -out:$@ $(LINK_HAL) $(LINK_GTK) $(LINK_MONO_UNIX) -r:$(top_builddir)/ext/libmtp-sharp/libmtp-sharp.dll $(ASSEMBLY_SOURCES)
++	$(BUILD_LIB_BANSHEE_CORE) -out:$@ $(LINK_HAL) $(LINK_GTK) $(LINK_MONO_UNIX) -r:$(top_builddir)/ext/libmtp-sharp/Mtp.dll $(ASSEMBLY_SOURCES)
+ 
+ EXTRA_DIST = $(ASSEMBLY_SOURCES)
+ CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb
+Index: src/Dap/Banshee.Dap.Mtp/MtpDap.cs
+===================================================================
+--- src/Dap/Banshee.Dap.Mtp/MtpDap.cs	(Revision 2958)
++++ src/Dap/Banshee.Dap.Mtp/MtpDap.cs	(Revision 3417)
+@@ -1,10 +1,11 @@
+ /***************************************************************************
+  *  MtpDap.cs
+  *
+- *  Copyright (C) 2006-2007 Novell and Patrick van Staveren
++ *  Copyright (C) 2006-2008 Novell and Patrick van Staveren
+  *  Authors:
+  *  Patrick van Staveren (trick at vanstaveren.us)
+  *  Alan McGovern (alan.mcgovern at gmail.com)
++ *  Gabriel Burt (gburt at novell.com)
+  ****************************************************************************/
+ 
+ /*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
+@@ -34,613 +35,641 @@
+ using System.Collections.Generic;
+ using System.Text;
+ using System.Threading;
++
+ using Hal;
++using Mono;
++using Mono.Unix;
++using Gtk;
++using Gdk;
++
+ using Banshee.Dap;
+ using Banshee.Base;
+ using Banshee.Widgets;
+ using Banshee.Sources;
+-using Mono;
+-using Mono.Unix;
+-using Gtk;
+-using libmtpsharp;
++using Banshee.Configuration;
+ 
++using Mtp;
++
+ public static class PluginModuleEntry
+ {
+-	public static Type [] GetTypes()
++	public static Type [] GetTypes ()
+ 	{
+-		return new Type [] { typeof(Banshee.Dap.Mtp.MtpDap) };
++		return new Type [] { typeof (Banshee.Dap.Mtp.MtpDap) };
+ 	}
+ }
+ 
+ namespace Banshee.Dap.Mtp
+ {
+-	[DapProperties(DapType = DapType.NonGeneric)]
+-	[SupportedCodec(CodecType.Mp3)]
+-	[SupportedCodec(CodecType.Wma)]
+-//	[SupportedCodec(CodecType.Wav)] // for some reason, files get sent to the device as Wav's when this is enabled.  wtf?
+-	
++	[DapProperties (DapType = DapType.NonGeneric)]
+ 	public sealed class MtpDap : DapDevice, IImportable//, IPlaylistCapable
+ 	{
+-		private MtpDevice camera;
++        private static MtpDap mtp_dap;
++
++		private MtpDevice device;
++        private Hal.Device hal_device;
+ 		private List<MtpDapTrackInfo> metadataChangedQueue;
+ 		private Queue<MtpDapTrackInfo> removeQueue;
+-		private List<MtpDapTrackInfo> allTracks;
++		private List<MtpDapTrackInfo> all_tracks;
+ 
+-		
+-		internal MtpDevice Camera
+-		{
+-			get { return camera; }
+-		}
++        private bool supports_jpegs = false;
++        
++        private string hal_name = String.Empty;
+ 
+-		public override bool CanSynchronize
++		public MtpDap ()
+ 		{
+-			get { return true; }
++			all_tracks = new List<MtpDapTrackInfo> ();
++			metadataChangedQueue = new List<MtpDapTrackInfo> ();
++			removeQueue = new Queue<MtpDapTrackInfo> ();			
+ 		}
+ 		
+-		public MtpDap()
++		public override InitializeResult Initialize (Hal.Device halDevice)
+ 		{
+-			allTracks = new List<MtpDapTrackInfo>();
+-			metadataChangedQueue = new List<MtpDapTrackInfo>();
+-			removeQueue = new Queue<MtpDapTrackInfo>();			
+-		}
+-		
+-		
+-		public override void Eject ()
+-		{
+-			camera.Dispose();
+-			base.Eject();
+-		}
+-		
+-		public override InitializeResult Initialize(Hal.Device halDevice)
+-		{
+-			HalDevice = halDevice;
+-			if (!halDevice.PropertyExists("usb.vendor_id"))
+-			{
+-				LogCore.Instance.PushDebug("Missing Properties", "Cannot find usb.vendor_id");
+-			}
+-			if (!halDevice.PropertyExists("usb.product_id"))
+-			{
+-				LogCore.Instance.PushDebug("Missing Properties", "Cannot find usb.product_id");
+-			}
+-			if (!halDevice.PropertyExists("portable_audio_player.type"))
+-			{
+-				LogCore.Instance.PushDebug("Missing Properties", "Cannot find portable_audio_player.type. Attempting to continue...");
+-			}
+-			
+-			short product_id = 0;//(short) halDevice.GetPropertyInteger("usb.product_id");
+-			short vendor_id  = 0;//(short) halDevice.GetPropertyInteger("usb.vendor_id");
+-			string type = halDevice.PropertyExists("portable_audio_player.type") ? halDevice.GetPropertyString("portable_audio_player.type") : "mtp";
+-			string name = halDevice.PropertyExists("usb_device.product") ? halDevice.GetPropertyString("usb_device.product") : "Mtp Device";
+-			int deviceNumber = 0;//halDevice.GetPropertyInteger("usb.linux.device_number");
+-			int busNumber = 0;//halDevice.GetPropertyInteger("usb.bus_number");
++            hal_device = halDevice;
+ 
+-			if (type != "mtp")
+-			{			
+-				LogCore.Instance.PushDebug("MTP: Unsupported Device", "The device's portable_audio_player.type IS NOT mtp");
++            // Make sure it's an MTP device.
++            if (!IsPortableAudioPlayerType (hal_device, "mtp")) {
+ 				return InitializeResult.Invalid;
+-			}
++            }
++
++            // libmtp only allows us to have one MTP device active
++            if (mtp_dap != null) {
++                LogCore.Instance.PushInformation(
++                    Catalog.GetString ("MTP Support Ignoring Device"),
++                    Catalog.GetString ("Banshee's MTP audio player support can only handle one device at a time."),
++                    true
++                );
++				return InitializeResult.Invalid;
++            }
++
++            try {
++                hal_name = hal_device.Parent ["info.product"];
++            } catch {}
++
++            int product_id = hal_device.GetPropertyInteger ("usb.product_id");
++            int vendor_id = hal_device.GetPropertyInteger ("usb.vendor_id");
++            string serial = hal_device ["usb.serial"];
+ 			
+-			LogCore.Instance.PushDebug("MTP: Starting initialization",
+-			                           string.Format("Name: {0}, Device: {1}, Bus:{2}",
+-			                                         name, deviceNumber, busNumber));
+-			
+-			List<MtpDevice> cameras = null;
+-			try
+-			{
+-				cameras = MtpDevice.Detect();
+-			}
+-			catch(TypeInitializationException ex)
+-			{
+-				string message = "Required libraries could not be found. Read http://www.banshee-project.org/Guide/DAPs/MTP for more information. ";
+-				message += (Environment.NewLine + Environment.NewLine);
+-				message += ex.InnerException.Message;
+-				message += " could not be found";
+-				LogCore.Instance.PushError("Initialisation error", message);
++			List<MtpDevice> devices = null;
++			try {
++				devices = MtpDevice.Detect ();
++			} catch (TypeInitializationException ex) {
++				LogCore.Instance.PushError (
++                    Catalog.GetString ("Error Initializing MTP Device Support"),
++                    Catalog.GetString ("There was an error intializing MTP device support.  See http://www.banshee-project.org/Guide/DAPs/MTP for more information.")
++                );
+ 				return InitializeResult.Invalid;
+-			}
+-			catch (Exception ex)
+-			{
+-				ShowGeneralExceptionDialog(ex);
++			} catch (Exception ex) {
++				ShowGeneralExceptionDialog (ex);
+ 				return InitializeResult.Invalid;
+ 			}
+-			//camera = cameras.Find(delegate (Camera c) { return c.UsbBusNumber == busNumber && c.UsbDeviceNumber == deviceNumber; });
+-				
+-			if(cameras == null || cameras.Count != 1)
+-			{
+-				//LogCore.Instance.PushDebug("Connection failed", string.Format("MTP: found {0} devices, but not the one we're looking for.", cameras.Count));
+-				//foreach (MtpDap cam in cameras)
+-				//	LogCore.Instance.PushDebug("Found", string.Format("name={2}, vendor={0}, prod={1}", cam.Vendor, cam.Product, cam.Name));
+-				
+-				LogCore.Instance.PushDebug("Connection failed", "We can only handle 1 connected mtp device at a time.");
+-				return Banshee.Dap.InitializeResult.Invalid;
+-			}
+-			camera = cameras[0];
+-			LogCore.Instance.PushDebug("MTP: device found", String.Format("vendor={0}, prod={1}", vendor_id, product_id));
+ 
+-			base.Initialize(halDevice);
++            bool device_found = false;
++
++            if (devices == null || devices.Count == 0) {
++				LogCore.Instance.PushError (
++                    Catalog.GetString ("Error Finding MTP Device Support"),
++                    Catalog.GetString ("An MTP device was detected, but Banshee was unable to load support for it.")
++                );
++            } else {
++                string mtp_serial = devices[0].SerialNumber;
++                if (!String.IsNullOrEmpty (mtp_serial) && !String.IsNullOrEmpty (serial)) {
++                    if (mtp_serial.Contains (serial)) {
++                        device_found = true;
++                        device = devices[0];
++                        mtp_dap = this;
++                    }
++                }
++
++                if (!device_found) {
++                    LogCore.Instance.PushInformation(
++                        Catalog.GetString ("MTP Support Ignoring Device"),
++                        Catalog.GetString ("Banshee's MTP audio player support can only handle one device at a time."),
++                        true
++                    );
++                }
++            }
++
++            if (!device_found) {
++                return InitializeResult.Invalid;
++            }
++
++			LogCore.Instance.PushDebug ("Loading MTP Device",
++                String.Format ("Name: {0}, ProductID: {1}, VendorID: {2}, Serial: {3}",
++                    hal_name, product_id, vendor_id, serial
++                )
++            );
++
++			base.Initialize (hal_device);
++
++            List<string> extensions = new List<string>();
++            List<string> mimetypes = new List<string>();
++
++            FileType [] file_types = device.GetFileTypes ();
++            StringBuilder format_sb = new StringBuilder ();
++            bool first_format = true;
++            foreach (FileType format in file_types) {
++                if (format == FileType.JPEG) {
++                    supports_jpegs = true;
++                    continue;
++                }
++
++                string codec = Banshee.Dap.CodecType.GetCodec (format.ToString ().ToLower ());
++                
++                if(codec != null) {
++                    extensions.AddRange (CodecType.GetExtensions(codec));
++                    mimetypes.AddRange (CodecType.GetMimeTypes(codec));
++                    if (first_format) {
++                        first_format = false;
++                    } else {
++                        format_sb.Append (", ");
++                    }
++                    format_sb.Append (codec);
++                }
++            }
++
++            SupportedExtensions = extensions.ToArray();
++            SupportedPlaybackMimeTypes = mimetypes.ToArray();
+ 			
+-			InstallProperty("Model", camera.Name);
+-			InstallProperty("Vendor", halDevice["usb.vendor"]);
+-			InstallProperty("Serial Number", halDevice["usb.serial"]);
+-			ThreadAssist.Spawn(InitializeBackgroundThread);
++			InstallProperty (Catalog.GetString ("Vendor"), hal_device["usb.vendor"]);
++			InstallProperty (Catalog.GetString ("Model"), hal_name);
++            InstallProperty (Catalog.GetString ("Audio Format(s)"), format_sb.ToString ());
++            InstallProperty (Catalog.GetString ("Album Art"), supports_jpegs ? Catalog.GetString ("Yes") : Catalog.GetString ("No"));
++			InstallProperty (Catalog.GetString ("Version"), device.Version);
++			InstallProperty (Catalog.GetString ("Serial Number"), serial);
+ 
+-			CanCancelSave = false;
++            // Don't continue until the UI is initialized
++            if(!Globals.UIManager.IsInitialized) {
++                Globals.UIManager.Initialized += OnUIManagerInitialized;
++            } else {
++                Reload ();
++            }
++
++			CanCancelSave = true;
+ 			return InitializeResult.Valid;
+ 		}
+ 
+-		public void InitializeBackgroundThread()
++        private void OnUIManagerInitialized (object o, EventArgs args)
++        {
++            Globals.UIManager.Initialized -= OnUIManagerInitialized;
++            Reload ();
++        }
++
++        private bool ejecting;
++		public override void Eject ()
+ 		{
+-			ActiveUserEvent userEvent = new ActiveUserEvent("MTP Initialization");
+-			try
+-			{
+-				userEvent.CanCancel = true;
+-				userEvent.Header = Catalog.GetString(string.Format("{0}: Found", camera.Name));
+-				userEvent.Message = Catalog.GetString("Connecting...");
+-				try
+-				{
+-					ReloadDatabase(userEvent);
+-				}
+-				catch (Exception e)
+-				{
+-					ShowGeneralExceptionDialog(e);
+-					Dispose();
+-					return;
+-				}
+-			}
+-			finally
+-			{
+-				GLib.Timeout.Add(4000, delegate {
+-					userEvent.Dispose();
+-					return false;
+-				});
+-			}
++            if (ejecting)
++                return;
++            ejecting = true;
++            // TODO this isn't needed atm since we don't support playback directly off MTP devices
++            UnmapPlayback(typeof(MtpDapTrackInfo));
++            Dispose ();
++			base.Eject ();
++            ejecting = false;
+ 		}
+ 
+-		public override void Dispose() {
+-			camera.Dispose();
+-			base.Dispose();
++		public override void Dispose ()
++        {
++			device.Dispose ();
++			base.Dispose ();
++            mtp_dap = null;
+ 		}
+ 		
+-		private void OnMetadataChanged(object sender, EventArgs e)
++		private void OnMetadataChanged (object sender, EventArgs e)
+ 		{
+ 			MtpDapTrackInfo info = (MtpDapTrackInfo)sender;
+-			if (!metadataChangedQueue.Contains(info))
+-				metadataChangedQueue.Add(info);
++			if (!metadataChangedQueue.Contains (info))
++				metadataChangedQueue.Add (info);
+ 		}
+-		
+-		private void ReloadDatabase(bool reconnect)
++
++
++
++		protected override void Reload ()
+ 		{
+-			ActiveUserEvent userEvent = new ActiveUserEvent("MTP Initialization");
+-			try
+-			{
+-				ReloadDatabase(userEvent);
+-			}
+-			finally
+-			{
+-				GLib.Timeout.Add(4000, delegate {
+-					userEvent.Dispose();
+-					return false;
+-				});
+-			}
+-		}
+-		
+-		// FIXME: Try/catch this entire block?
+-		private void ReloadDatabase(ActiveUserEvent userEvent)
+-		{
+-			double startTime = Environment.TickCount;
+-			
+ 			// Clear the list of tracks that banshee keeps
+-			ClearTracks(false);
+-				
+-			
+-			userEvent.Message = string.Format(Catalog.GetString("Loading database..."));
+-			
+-			List<Track> files = camera.GetAllTracks(delegate (ulong current, ulong total, IntPtr data) {
+-				userEvent.Progress = (double)current / total;
+-				return userEvent.IsCancelRequested ? 1 : 0;
+-			});
+-			
+-			if(userEvent.IsCancelRequested)
+-			{
+-				userEvent.Message = Catalog.GetString("Cancelled...");
+-				return;
++            lock (Source.TracksMutex) {
++                ClearTracks (false);
++            }
++
++			ActiveUserEvent user_event = new ActiveUserEvent (
++                String.Format (Catalog.GetString ("Loading {0}"), Name)
++            );
++
++			try {
++                List<Track> files = device.GetAllTracks (delegate (ulong current, ulong total, IntPtr data) {
++                    user_event.Progress = (double)current / total;
++                    return user_event.IsCancelRequested ? 1 : 0;
++                });
++                
++                if (user_event.IsCancelRequested) {
++                    return;
++                }
++                
++                all_tracks = new List<MtpDapTrackInfo> (files.Count + 50);
++                foreach (Track f in files) {
++                    MtpDapTrackInfo track = new MtpDapTrackInfo (device, f);
++                    track.Changed += OnMetadataChanged;
++                    AddTrack (track);
++                    all_tracks.Add (track);
++                }
++			} finally {
++                user_event.Dispose ();
+ 			}
+-			
+-			allTracks = new List<MtpDapTrackInfo>(files.Count + 50);
+-			foreach (Track f in files)
+-			{
+-				MtpDapTrackInfo track = new MtpDapTrackInfo(camera, f);
+-				track.Changed += new EventHandler(OnMetadataChanged);
+-				AddTrack(track);
+-				allTracks.Add(track);
+-			}
+-			
+-			startTime = (Environment.TickCount - startTime) / 1000.0;
+-			userEvent.Message = string.Format(Catalog.GetString("Loaded {0} files in {1:0.00}sec"), this.tracks.Count, startTime);
+-			userEvent.Header = Catalog.GetString(string.Format("{0}: Ready", camera.Name));
+ 		}
+ 		
+-		protected override void OnTrackRemoved(TrackInfo track)
++		protected override void OnTrackRemoved (TrackInfo track)
+ 		{
+-			base.OnTrackRemoved(track);
++			base.OnTrackRemoved (track);
+ 			
+ 			MtpDapTrackInfo t = track as MtpDapTrackInfo;
+-			if (IsReadOnly || t == null || !t.OnCamera(camera))
++			if (IsReadOnly || t == null || !t.OnCamera (device)) {
+ 				return;
++            }
+ 
+-			// This means we have write access and the file is on the camera.
+-			removeQueue.Enqueue((MtpDapTrackInfo)track);
++			// This means we have write access and the file is on the device.
++			removeQueue.Enqueue ((MtpDapTrackInfo) track);
+ 		}
+ 		
+-		public override void AddTrack(TrackInfo track)
++		public override void AddTrack (TrackInfo track)
+ 		{
+ 			//FIXME: DO i need to check if i already have the track in the list?
+-			//if ((mtpTrack != null && mtpTrack.OnCamera(camera)))
++			//if ((mtpTrack != null && mtpTrack.OnCamera (device)))
+ 			//	return;
+ 			
+-			base.AddTrack(track);
++			base.AddTrack (track);
+ 		}
+ 		
+ 		/*PL*
+-		private void AddDevicePlaylist(MtpDapPlaylistSource playlist) {
+-			this.Source.AddChildSource(playlist);
+-			playlists.Add(playlist);
++		private void AddDevicePlaylist (MtpDapPlaylistSource playlist) {
++			this.Source.AddChildSource (playlist);
++			playlists.Add (playlist);
+ 		}
+ 
+-		public DapPlaylistSource AddPlaylist(Source source) {
+-			ArrayList playlist_tracks = new ArrayList();
++		public DapPlaylistSource AddPlaylist (Source source) {
++			ArrayList playlist_tracks = new ArrayList ();
+ 
+ 			foreach (TrackInfo track in source.Tracks) {
+-				if (!TrackExistsInList(track, Tracks)) {
+-					AddTrack(track);
+-					playlist_tracks.Add(track);
++				if (!TrackExistsInList (track, Tracks)) {
++					AddTrack (track);
++					playlist_tracks.Add (track);
+ 				} else {
+-					playlist_tracks.Add(find_existing_track(track) as TrackInfo);
++					playlist_tracks.Add (find_existing_track (track) as TrackInfo);
+ 				}
+ 			}
+ 
+-			MtpDapPlaylistSource playlist = new MtpDapPlaylistSource(this, source.Name, playlist_tracks);
+-			playlists.Add(playlist);
+-			dev.Playlists.Add(playlist.GetDevicePlaylist());
++			MtpDapPlaylistSource playlist = new MtpDapPlaylistSource (this, source.Name, playlist_tracks);
++			playlists.Add (playlist);
++			dev.Playlists.Add (playlist.GetDevicePlaylist ());
+ 			
+-			this.Source.AddChildSource(playlist); // fixme: this should happen automatically in DapDevice or DapSource or something.
++			this.Source.AddChildSource (playlist); // fixme: this should happen automatically in DapDevice or DapSource or something.
+ 			return playlist;
+ 		}
+ 		*/
+ 
+-		private Track ToMusicFile(TrackInfo track, string name, ulong length)
++		private Track ToMusicFile (TrackInfo track, string name, ulong length)
+ 		{
+ 			// FIXME: Set the length properly
+ 			// Fixme: update the reference i'm holding to the original music file?
+ 			// Why am i holding it anyway?
+-			Track f =  new Track(name, length);
++			Track f = new Track (name, length);
++            TrackInfoToMtpTrack (track, f);
++            return f;
++        }
++
++        public void TrackInfoToMtpTrack (TrackInfo track, Track f)
++        {
+ 			f.Album = track.Album;
+ 			f.Artist = track.Artist;
+ 			f.Duration = (uint)track.Duration.TotalMilliseconds;
+ 			f.Genre = track.Genre;
+-			f.Rating = (ushort)track.Rating;
++			f.Rating = (ushort)(track.Rating * 20);
+ 			f.Title = track.Title;
+ 			f.TrackNumber = (ushort)track.TrackNumber;
+-			f.UseCount = track.TrackCount;
+-#warning FIX THIS
+-			//f.Year = track.Year > 0 ? track.Year : 0;
+-			return f;
++			f.UseCount = (uint)track.PlayCount;
++            f.Date = track.Year + "0101T0000.0";
+ 		}
+ 		
+-		private void RemoveTracks()
++		private void RemoveTracks ()
+ 		{
+ 			int count = removeQueue.Count;
+-			while(removeQueue.Count > 0)
+-			{
+-				MtpDapTrackInfo track = removeQueue.Dequeue();
+-				string message = string.Format("Removing {0}/{1}: {2} - {3}", count - removeQueue.Count,
+-				                               count, track.Artist, track.Title);
+-				UpdateSaveProgress("Synchronising...", message, ((double)count - removeQueue.Count) / count);
++			while (removeQueue.Count > 0) {
++				MtpDapTrackInfo track = removeQueue.Dequeue ();
++				string message = string.Format ("Removing: {0} - {1}", track.DisplayArtist, track.DisplayTitle);
+ 				
+-				// Quick check to see if the track is on this camera - possibly needed in
++				// Quick check to see if the track is on this device - possibly needed in
+ 				// case we have multiple MTP devices connected simultaenously
+-				if(!track.OnCamera(camera))
++				if (!track.OnCamera (device)) {
+ 					continue;
++                }
++
++				device.Remove (track.OriginalFile);
++				all_tracks.Remove (track);
+ 				
+-				camera.Remove (track.OriginalFile);
+-				allTracks.Remove(track);
++				if (metadataChangedQueue.Contains (track)) {
++					metadataChangedQueue.Remove (track);
++                }
+ 				
+-				if (metadataChangedQueue.Contains(track))
+-					metadataChangedQueue.Remove(track);
++				track.Changed -= OnMetadataChanged;
++
++				UpdateSaveProgress (sync_title, message, ((double) count - removeQueue.Count) / count);
+ 				
+-				track.Changed -= new EventHandler(OnMetadataChanged);
+-				
+ 				// Optimisation - Delete the folder if it's empty
+ 			}
+ 		}
+ 		
+-		private void UploadTracks()
++		private void UploadTracks ()
+ 		{
+ 			// For all the tracks that are listed to upload, find only the ones
+ 			// which exist and can be read.
+ 			// FIXME: I can upload 'MtpDapTrackInfo' types. Just make sure they dont
+ 			// exist on *this* device already
+-			List<TrackInfo> tracks = new List<TrackInfo>(Tracks);
+-			tracks = tracks.FindAll(delegate (TrackInfo t) {
+-				if (t == null || t is MtpDapTrackInfo || t.Uri == null)
++			List<TrackInfo> tracks = new List<TrackInfo> (Tracks);
++			tracks = tracks.FindAll (delegate (TrackInfo t) {
++				if (t == null || t is MtpDapTrackInfo || t.Uri == null) {
+ 					return false;
+-				return System.IO.File.Exists(t.Uri.LocalPath);
++                }
++				return System.IO.File.Exists (t.Uri.LocalPath);
+ 			});
+ 			
+-			for (int i = 0; i < tracks.Count; i++)
+-			{
+-				FileInfo info = new FileInfo(tracks[i].Uri.AbsolutePath);
+-				Track f = ToMusicFile(tracks[i], info.Name, (ulong)info.Length);
++			for (int i = 0; i < tracks.Count; i++) {
++				FileInfo info = new FileInfo (tracks[i].Uri.AbsolutePath);
++				Track f = ToMusicFile (tracks[i], info.Name, (ulong)info.Length);
+ 				
+-				string message = string.Format("Adding {0}/{1}: {2} - {3}",
+-				                               i + 1, tracks.Count, f.Artist, f.Title);
+-				UpdateSaveProgress("Synchronising...", message, (double)(i + 1) / tracks.Count);
+-				camera.UploadTrack(tracks[i].Uri.AbsolutePath, f);
++				device.UploadTrack (tracks[i].Uri.AbsolutePath, f);
+ 				
+ 				// Create an MtpDapTrackInfo for the new file and add it to our lists
+-				MtpDapTrackInfo newTrackInfo = new MtpDapTrackInfo(camera, f);
+-				newTrackInfo.Changed += new EventHandler(OnMetadataChanged);
++				MtpDapTrackInfo newTrackInfo = new MtpDapTrackInfo (device, f);
++				newTrackInfo.Changed += OnMetadataChanged;
+ 				
+-				allTracks.Add(newTrackInfo);
+-				AddTrack(newTrackInfo);
++				UpdateSaveProgress (sync_title,
++                    String.Format ("Adding: {0} - {1}", f.Artist, f.Title),
++                    (double) (i + 1) / tracks.Count
++                );
++				all_tracks.Add (newTrackInfo);
++				AddTrack (newTrackInfo);
+ 			}
+ 		}
+ 		
+-		private void UpdateMetadata()
++		private void UpdateMetadata ()
+ 		{
+-			try
+-			{
+-				for (int i = 0; i < metadataChangedQueue.Count; i++)
+-				{
++			try {
++				for (int i = 0; i < metadataChangedQueue.Count; i++) {
+ 					MtpDapTrackInfo info = metadataChangedQueue[i];
+ 					Track file = info.OriginalFile;
+-					file.Album = info.Album;
+-					file.Artist = info.Artist;
+-					//file.DateAdded = info.DateAdded;
+-					file.Duration = (uint) info.Duration.TotalMilliseconds;
+-					file.Genre = info.Genre;
+-					//file.LastPlayed = info.LastPlayed;
+-					file.Rating = (ushort) info.Rating;
+-					file.Title = info.Title;
+-					file.TrackNumber = (ushort) info.TrackNumber;
+-					file.UseCount = info.PlayCount;
+-					file.Date = info.Year + "0101T0000.0";
+-					file.UpdateMetadata();
++                    TrackInfoToMtpTrack (info, file);
++					file.UpdateMetadata ();
+ 				}
++			} finally {
++				metadataChangedQueue.Clear ();
+ 			}
+-			finally
+-			{
+-				metadataChangedQueue.Clear();
+-			}
+ 		}
+-		
+-		public override void Synchronize()
++
++        private string sync_title;
++		public override void Synchronize ()
+ 		{
+ 			// 1. remove everything in the remove queue if it's on the device
+ 			// 2. Add everything in the tracklist that isn't on the device
+ 			// 3. Sync playlists?
+-			try
+-			{
+-				RemoveTracks();
+-				UpdateMetadata();
+-				UploadTracks();
+-			}
+-			catch (Exception e)
+-			{
+-				LogCore.Instance.PushWarning("There was an error while synchronizing the current track.  Please file a bug report.", e.ToString());
+-			}
+-			finally
+-			{
+-				ClearTracks(false);
++		    sync_title = String.Format (Catalog.GetString ("Synchronizing {0}"), Name);
++			try {
++				RemoveTracks ();
++				UpdateMetadata ();
++				UploadTracks ();
+ 
+-				for (int i = 0; i < allTracks.Count; i++)
+-					AddTrack(allTracks[i]);
++                if (supports_jpegs && NeverSyncAlbumArtSchema.Get () == false) {
++                    UpdateSaveProgress (sync_title, Catalog.GetString ("Syncing album art"), 0);
++                    AlbumSet album_set = new AlbumSet (device);
++                    foreach (MtpDapTrackInfo track in all_tracks) {
++                        album_set.Ref (track);
++                    }
+ 
+-				FinishSave();
++                    foreach (double percent in album_set.Save ()) {
++                        UpdateSaveProgress (sync_title, Catalog.GetString ("Syncing album art"), percent);
++                    }
++                }
++			} catch (Exception e) {
++				LogCore.Instance.PushWarning (String.Format (
++                    Catalog.GetString ("There was an unknown error while synchronizing {0}."), Name
++                ), String.Empty);
++				LogCore.Instance.PushDebug ("MTP Sync Error", e.ToString ());
++			} finally {
++				ClearTracks (false);
++
++				for (int i = 0; i < all_tracks.Count; i++) {
++					AddTrack (all_tracks[i]);
++                }
++
++				FinishSave ();
+ 			}
+ 		}
+ 				
+-		private void ShowGeneralExceptionDialog(Exception ex)
++		private void ShowGeneralExceptionDialog (Exception ex)
+ 		{
+-			string message = "There was an error using the device. Read http://www.banshee-project.org/Guide/DAPs/MTP for more information. ";
+-			message += (Environment.NewLine + Environment.NewLine);
+-			message += ex.ToString();
+-			LogCore.Instance.PushError ("Device error", message);
++			LogCore.Instance.PushError (Catalog.GetString ("MTP Device Error"), ex.ToString ());
+ 		}
+ 
+-		public void Import(IEnumerable<TrackInfo> tracks, PlaylistSource playlist) 
++		public void Import (IEnumerable<TrackInfo> tracks, PlaylistSource playlist) 
+ 		{
+-			LogCore.Instance.PushDebug("MTP: importing tracks", "");
+-			if (playlist != null)
+-				LogCore.Instance.PushDebug("Playlist importing not supported",
++			LogCore.Instance.PushDebug ("MTP: importing tracks", String.Empty);
++			if (playlist != null) {
++				LogCore.Instance.PushDebug ("Playlist importing not supported",
+ 				                           "Banshee does not support importing playlists from MTP devices yet...");
++            }
+ 			
+ 			QueuedOperationManager importer = new QueuedOperationManager ();
+ 			
+-			importer = new QueuedOperationManager();
++			importer = new QueuedOperationManager ();
+ 			importer.HandleActveUserEvent = false;
+-			importer.UserEvent.Icon = GetIcon(22);
+-			importer.UserEvent.Header = String.Format(Catalog.GetString("Importing from {0}"), Name);
+-			importer.UserEvent.Message = Catalog.GetString("Scanning...");
++			importer.UserEvent.Icon = GetIcon (22);
++			importer.UserEvent.Header = String.Format (Catalog.GetString ("Importing from {0}"), Name);
++			importer.UserEvent.Message = Catalog.GetString ("Scanning...");
+ 			importer.OperationRequested += OnImportOperationRequested;
+ 			importer.Finished += delegate {
+-				importer.UserEvent.Message = "Import complete...";
+-				importer.UserEvent.Dispose();
++				importer.UserEvent.Dispose ();
+ 			};
+ 			
+ 			// For each track in the list, check to make sure it is on this MTP
+ 			// device and then add it to the import queue.
+-			foreach (TrackInfo track in tracks)
+-			{
+-				if (!(track is MtpDapTrackInfo))
+-					LogCore.Instance.PushDebug("Not MTP track", "Tried to import a non-mtp track");
++			foreach (TrackInfo track in tracks) {
++				if (! (track is MtpDapTrackInfo)) {
++					LogCore.Instance.PushDebug ("Not MTP track", "Tried to import a non-mtp track");
++                }
+ 				
+-				if(!((MtpDapTrackInfo)track).OnCamera(this.camera))
+-					LogCore.Instance.PushDebug("Track not on this device", "The track to import did not come from this camera");
++				if (! ((MtpDapTrackInfo) track).OnCamera (this.device)) {
++					LogCore.Instance.PushDebug ("Track not on this device", "The track to import did not come from this device");
++                }
+ 				
+-				importer.Enqueue(track);
++				importer.Enqueue (track);
+ 			}
+ 		}
+ 		
+-		private void OnImportOperationRequested(object o, QueuedOperationArgs args) 
++		private void OnImportOperationRequested (object o, QueuedOperationArgs args) 
+ 		{
+-			if (!(args.Object is MtpDapTrackInfo))
+-			{
+-				LogCore.Instance.PushDebug("Import failure", string.Format("An attempt to import a '{0}' was detected. Can only import MtpDapTrackInfo objects", args.Object.GetType().Name));
++			if (!(args.Object is MtpDapTrackInfo)) {
++				LogCore.Instance.PushDebug ("Import failure",
++                    String.Format ("An attempt to import a '{0}' was detected. Can only import MtpDapTrackInfo objects",
++                        args.Object.GetType ().Name
++                    )
++                );
+ 				return;
+ 			}
+ 			
+ 			QueuedOperationManager importer = (QueuedOperationManager)o;
+-			MtpDapTrackInfo track = (MtpDapTrackInfo)args.Object;
+ 
+-			if (importer.UserEvent.IsCancelRequested)
+-			{
+-				importer.UserEvent.Message = "Cancelled";
++			if (importer.UserEvent.IsCancelRequested) {
+ 				return;
+ 			}
++
++			MtpDapTrackInfo track = (MtpDapTrackInfo)args.Object;
+ 			
+ 			importer.UserEvent.Progress = importer.ProcessedCount / (double)importer.TotalCount;
+-			importer.UserEvent.Message = string.Format("{0}/{1}: {2} - {3}", importer.ProcessedCount, importer.TotalCount, track.Artist, track.Title);
++			importer.UserEvent.Message = string.Format ("{0}/{1}: {2} - {3}", importer.ProcessedCount, importer.TotalCount, track.DisplayArtist, track.DisplayTitle);
+ 			
+ 			// This is the path where the file will be saved on-disk
+-			string destination = FileNamePattern.BuildFull(track, Path.GetExtension(track.OriginalFile.Filename));
++			string destination = FileNamePattern.BuildFull (track, Path.GetExtension (track.OriginalFile.Filename));
+ 			
+-			try
+-			{
+-				if (System.IO.File.Exists(destination))
+-				{
+-					FileInfo to_info = new FileInfo(destination);
++			try {
++				if (System.IO.File.Exists (destination)) {
++					FileInfo to_info = new FileInfo (destination);
+ 					
+ 					// FIXME: Probably already the same file. Is this ok?
+-					if (track.OriginalFile.Filesize == (ulong)to_info.Length)
+-					{
+-						try
+-						{
+-							new LibraryTrackInfo(new SafeUri(destination, false), track);
+-						}
+-						catch
+-						{
++					if (track.OriginalFile.Filesize == (ulong)to_info.Length) {
++						try {
++							new LibraryTrackInfo (new SafeUri (destination, false), track);
++						} catch {
+ 							// was already in the library
+ 						}
+-						LogCore.Instance.PushDebug("Import warning",
+-						                           string.Format("Track {0} - {1} - {2} already exists in the library",
+-						                                         track.Artist, track.Album, track.Title));
++						LogCore.Instance.PushDebug ("Import warning", String.Format (
++                            "Track {0} - {1} - {2} already exists in the library",
++						    track.DisplayArtist, track.DisplayAlbum, track.DisplayTitle
++                        ));
+ 						return;
+ 					}
+ 				}
+-			}
+-			catch (Exception ex)
+-			{
+-				LogCore.Instance.PushDebug("Import Warning", "Could not check if the file already exists, skipping");
+-				LogCore.Instance.PushDebug("Exception", ex.ToString());
++			} catch (Exception ex) {
++				LogCore.Instance.PushDebug ("Import Warning", "Could not check if the file already exists, skipping");
++				LogCore.Instance.PushDebug ("Exception", ex.ToString ());
+ 				return;
+ 			}
+ 			
+-			try
+-			{
+-				LogCore.Instance.PushDebug("Import Operation", string.Format("Importing song to {0}", destination));
++			try {
++				LogCore.Instance.PushDebug ("Import Operation", String.Format ("Importing song to {0}", destination));
+ 				// Copy the track from the device to the destination file
+-				track.OriginalFile.Download(destination);
++				track.OriginalFile.Download (destination);
+ 				
+ 				// Add the track to the library
+-				new LibraryTrackInfo(new SafeUri(destination, false), track);
+-			}
+-			
+-			catch(Exception e)
+-			{
+-				try
+-				{
+-					LogCore.Instance.PushDebug("Critical error", "Could not import tracks");
+-					LogCore.Instance.PushDebug("Exception", e.ToString());
++				new LibraryTrackInfo (new SafeUri (destination, false), track);
++			} catch (Exception e) {
++				try {
++					LogCore.Instance.PushDebug ("Critical error", "Could not import tracks");
++					LogCore.Instance.PushDebug ("Exception", e.ToString ());
+ 					// FIXME: Is this ok?
+-					System.IO.File.Delete(destination);
+-				}
+-				catch
+-				{
++					System.IO.File.Delete (destination);
++				} catch {
+ 					// Do nothing
+ 				}
+ 			}
+ 		}
+ 		
+-		public void Import(IEnumerable<TrackInfo> tracks) {
+-			Import(tracks, null);
++		public void Import (IEnumerable<TrackInfo> tracks)
++        {
++			Import (tracks, null);
+ 		}
+ 
+-		public override Gdk.Pixbuf GetIcon(int size) {
+-			string prefix = "multimedia-player-";
+-			string id = "dell-pocket-dj";
+-			Gdk.Pixbuf icon = IconThemeUtils.LoadIcon(prefix + id, size);
+-			return icon == null? base.GetIcon(size) : icon;
++        string icon_name = "multimedia-player-dell-pocket-dj";
++		public override Gdk.Pixbuf GetIcon (int size)
++        {
++            return IconThemeUtils.HasIcon (icon_name) ? IconThemeUtils.LoadIcon (icon_name, size) : base.GetIcon (size);
+ 		}
+ /*
+ 		public DapPlaylistSource AddPlaylist (Source playlist)
+ 		{
+-			IPodPlaylistSource ips = new IPodPlaylistSource(this, playlist.Name);       		
++			IPodPlaylistSource ips = new IPodPlaylistSource (this, playlist.Name);       		
+ 			
+-			LogCore.Instance.PushDebug("In IPodDap.AddPlaylist" , "");
++			LogCore.Instance.PushDebug ("In IPodDap.AddPlaylist" , "");
+ 			
+-			foreach(TrackInfo ti in playlist.Tracks) {
+-				LogCore.Instance.PushDebug("Adding track " + ti.ToString() , " to new playlist " + ips.Name);
+-				IpodDapTrackInfo idti = new IpodDapTrackInfo(ti, device.TrackDatabase);
+-				ips.AddTrack(idti);
+-				AddTrack(idti);                
++			foreach (TrackInfo ti in playlist.Tracks) {
++				LogCore.Instance.PushDebug ("Adding track " + ti.ToString () , " to new playlist " + ips.Name);
++				IpodDapTrackInfo idti = new IpodDapTrackInfo (ti, device.TrackDatabase);
++				ips.AddTrack (idti);
++				AddTrack (idti);                
+ 			}
+ 			
+ 			return (DapPlaylistSource) ips;
+ 		}
+ */
+-		public override string Name
+-		{
+-			get
+-			{
+-				if (camera == null)
+-					return "";
+-				
+-				return camera.Name;
+-			}			
++
++        public override void SetName(string name)
++        {
++            if (device != null) {
++                device.Name = name;
++            }
++        }
++
++		public override bool CanSynchronize {
++			get { return true; }
+ 		}
+ 
+-		public override string GenericName
+-		{
+-			get { return Name; }
++		public override string Name {
++			get {
++				if (device == null) {
++                    return hal_name;
++                }
++				
++				return device.Name;
++			}
+ 		}
+ 
+-		public override ulong StorageCapacity
+-		{
+-			get
+-			{
+-				if (camera == null)
++		public override ulong StorageCapacity {
++			get {
++				if (device == null)
+ 					return 0;
+ 				
+ 				ulong count = 0;
+-				foreach (DeviceStorage s in camera.GetStorage())
++				foreach (DeviceStorage s in device.GetStorage ()) {
+ 					count += s.MaxCapacity;
++                }
+ 				return count;
+ 			}
+ 		}
+ 
+-		public override ulong StorageUsed
+-		{
+-			get
+-			{
+-				if (camera == null)
++		public override ulong StorageUsed {
++			get {
++				if (device == null)
+ 					return 0;
+ 				ulong count = 0;
+-				foreach (DeviceStorage s in this.camera.GetStorage())
++				foreach (DeviceStorage s in device.GetStorage ()) {
+ 					count += s.MaxCapacity - s.FreeSpace;
++                }
+ 				return count;
+ 			}
+ 		}
+ 		
+-		public override bool IsReadOnly
+-		{
++		public override bool IsReadOnly {
+ 			get { return false; }
+ 		}
+ 
+ 		public override bool IsPlaybackSupported {
+-			get {
+-				return false;
+-			}
++			get { return false; }
+ 		}
++
++        public static readonly SchemaEntry<bool> NeverSyncAlbumArtSchema = new SchemaEntry<bool>(
++            "plugins.mtp", "never_sync_albumart",
++            false,
++            "Album art disabled",
++            "Regardless of device's capabilities, do not sync album art"
++        );
++
++        public static readonly SchemaEntry<int> AlbumArtWidthSchema = new SchemaEntry<int>(
++            "plugins.mtp", "albumart_max_width",
++            170,
++            "Album art max width",
++            "The maximum width to allow for album art."
++        );
++
++        static MtpDap () {
++            // Make sure these get created
++            NeverSyncAlbumArtSchema.Set (NeverSyncAlbumArtSchema.Get ());
++            AlbumArtWidthSchema.Set (AlbumArtWidthSchema.Get ());
++        }
+ 	}
+ }
+Index: src/Dap/Banshee.Dap.Mtp/MtpDapTrackInfo.cs
+===================================================================
+--- src/Dap/Banshee.Dap.Mtp/MtpDapTrackInfo.cs	(Revision 2958)
++++ src/Dap/Banshee.Dap.Mtp/MtpDapTrackInfo.cs	(Revision 3417)
+@@ -28,10 +28,12 @@
+ 
+ using System; 
+ using System.IO;
++
+ using Banshee.Base;
+ using Banshee.Dap;
+-using libmtpsharp;
+ 
++using Mtp;
++
+ namespace Banshee.Dap.Mtp
+ {
+     public sealed class MtpDapTrackInfo : DapTrackInfo
+@@ -49,20 +51,24 @@
+             this.camera = camera;
+             this.file = file;
+ 			
+-			album = file.Album;
+-            artist = file.Artist;
+-            duration = TimeSpan.FromMilliseconds(file.Duration);
+-            genre = file.Genre;
+-            play_count = file.UseCount < 0 ? (uint)0 : (uint)file.UseCount;
+-            rating = file.Rating < 0 ? (uint)0 : (uint)file.Rating;
+-            title = file.Title;
+-            track_number = file.TrackNumber < 0 ? (uint)0 : file.TrackNumber;
+-            year = (file.Date != null && file.Date.Length >= 4) ? int.Parse(file.Date.Substring(0, 4)) : 0;
+-            can_play = false;             // This can be implemented if there's enough people requesting it
+-            can_save_to_database = true;
++			Album = file.Album;
++            Artist = file.Artist;
++            Duration = TimeSpan.FromMilliseconds(file.Duration);
++            Genre = file.Genre;
++            PlayCount = file.UseCount < 0 ? (uint)0 : (uint)file.UseCount;
++            Rating = file.Rating < 0 ? (uint) 0 : (uint) (file.Rating / 20);
++            Title = file.Title;
++            TrackNumber = file.TrackNumber < 0 ? (uint)0 : file.TrackNumber;
++            Year = (file.Date != null && file.Date.Length >= 4) ? int.Parse(file.Date.Substring(0, 4)) : 0;
++            //Filesize = file.Filesize; // Unfortunately this info is currently stat'd when needed
++
++            // This can be implemented if there's enough people requesting it
++            CanPlay = false;             
++            CanSaveToDatabase = true;
+             NeedSync = false;
++
+ 			// Set a URI even though it's not actually accessible through normal API's.
+-			uri = new SafeUri("mtp://invalid");
++			uri = new SafeUri(String.Format ("mtp://{0}", file.Filename));
+         }
+         
+         public override bool Equals (object o)
+Index: src/Core/Banshee/PlayerInterface.cs
+===================================================================
+--- src/Core/Banshee/PlayerInterface.cs	(Revision 2958)
++++ src/Core/Banshee/PlayerInterface.cs	(Revision 3417)
+@@ -40,6 +40,8 @@
+ using Gdk;
+ using Glade;
+ 
++using Action = Gtk.Action;
++
+ using Banshee.Widgets;
+ using Banshee.Base;
+ using Banshee.MediaEngine;
+@@ -1027,16 +1029,16 @@
+             bool have_selection = count > 0;
+             Source source = SourceManager.ActiveSource;
+ 
+-            if(!have_selection) {
++            if(!have_selection && source != null) {
+                 Globals.ActionManager.SongActions.Sensitive = false;
+-                Globals.ActionManager["WriteCDAction"].Sensitive = source is Banshee.Burner.BurnerSource;
++                Globals.ActionManager["WriteCDAction"].Sensitive = (source is Banshee.Burner.BurnerSource && source.Count > 0);
+                 return;
+             } else if(source == null) {
+                 return;
+             }
+             
+             Globals.ActionManager.SongActions.Sensitive = true;
+-            Globals.ActionManager["WriteCDAction"].Sensitive = !(source is AudioCdSource);
++            Globals.ActionManager["WriteCDAction"].Sensitive = have_selection && !(source is AudioCdSource);
+             Globals.ActionManager["RemoveSongsAction"].Sensitive = !(source is AudioCdSource || source is Banshee.SmartPlaylist.SmartPlaylistSource);
+             Globals.ActionManager["DeleteSongsFromDriveAction"].Sensitive = 
+                 !(source is AudioCdSource || source is DapSource);
+Index: src/Core/Banshee.Widgets/ActionButton.cs
+===================================================================
+--- src/Core/Banshee.Widgets/ActionButton.cs	(Revision 2958)
++++ src/Core/Banshee.Widgets/ActionButton.cs	(Revision 3417)
+@@ -31,6 +31,8 @@
+ using System.Collections;
+ using Gtk;
+ 
++using Action = Gtk.Action;
++
+ namespace Banshee.Widgets
+ {
+     public class ActionButton : Button
+Index: src/Core/Banshee.Base/Gui/SourceView.cs
+===================================================================
+--- src/Core/Banshee.Base/Gui/SourceView.cs	(Revision 2958)
++++ src/Core/Banshee.Base/Gui/SourceView.cs	(Revision 3417)
+@@ -214,7 +214,7 @@
+             
+             if(source is ChildSource) {
+                 ChildSource child = source as ChildSource;
+-                if(child.Parent.AutoExpand) {
++                if(child.Parent.AutoExpand != null && child.Parent.AutoExpand.Value) {
+                     Expand(FindSource(child.Parent));
+                 }
+             }
+Index: src/Core/Banshee.Base/Gui/LogCoreDialog.cs
+===================================================================
+--- src/Core/Banshee.Base/Gui/LogCoreDialog.cs	(Revision 2958)
++++ src/Core/Banshee.Base/Gui/LogCoreDialog.cs	(Revision 3417)
+@@ -99,7 +99,7 @@
+                 } catch(Exception) {
+                     (cell as CellRendererText).Text = "";
+                 }
+-            } as TreeCellDataFunc);
++            });
+             date_column.SortColumnId = 1;
+             
+             log_tree.AppendColumn(date_column);
+Index: src/Core/Banshee.Base/Dap/DapMisc.cs
+===================================================================
+--- src/Core/Banshee.Base/Dap/DapMisc.cs	(Revision 2958)
++++ src/Core/Banshee.Base/Dap/DapMisc.cs	(Revision 3417)
+@@ -108,14 +108,14 @@
+         public static string GetCodec(string mimeType) 
+         {
+             foreach (string codec in MimeTypeMap.Keys) {
+-                if (System.Array.IndexOf(MimeTypeMap[codec], mimeType) != -1) {
++                if (codec == mimeType || System.Array.IndexOf(MimeTypeMap[codec], mimeType) != -1) {
+                     return codec;
+                 }
+-             }
++            }
+ 
+             LogCore.Instance.PushWarning("Unknown DAP mimetype " + mimeType, "", false);
+             return null;
+-        } 
++        }
+ 
+         public static string [] GetExtensions(string codec)
+         {
+Index: src/Core/Banshee.Base/Dap/Dap.cs
+===================================================================
+--- src/Core/Banshee.Base/Dap/Dap.cs	(Revision 2958)
++++ src/Core/Banshee.Base/Dap/Dap.cs	(Revision 3417)
+@@ -712,5 +712,23 @@
+         public abstract ulong StorageUsed { get; }
+         public abstract bool IsReadOnly { get; }
+         public abstract bool IsPlaybackSupported { get; }
++
++        // The second check (against 'type') is from an old HAL spec.
++        protected static bool IsPortableAudioPlayerType (Hal.Device device, string type)
++        {
++            if (device.PropertyExists ("portable_audio_player.type")) {
++                if (device ["portable_audio_player.type"] == type) {
++                    return true;
++                }
++            }
++
++            if (device.PropertyExists ("portable_audio_player.access_method.protocols")) {
++                if (Array.IndexOf (device.GetPropertyStringList ("portable_audio_player.access_method.protocols"), type) != -1) {
++                    return true;
++                }
++            }
++
++            return false;
++        }
+     }
+ }
+Index: src/Core/Banshee.Base/ActionManager.cs
+===================================================================
+--- src/Core/Banshee.Base/ActionManager.cs	(Revision 2958)
++++ src/Core/Banshee.Base/ActionManager.cs	(Revision 3417)
+@@ -31,6 +31,8 @@
+ using Gtk;
+ using Mono.Unix;
+ 
++using Action = Gtk.Action;
++
+ namespace Banshee.Base
+ {
+     public class ActionManager : IEnumerable
+@@ -115,7 +117,7 @@
+                     "Unmap", "<shift>Delete",
+                     null, null),
+                     
+-                new ActionEntry("SelectAllAction", null,
++                new ActionEntry("SelectAllAction", Stock.SelectAll,
+                     Catalog.GetString("Select _All"), "<control>A",
+                     Catalog.GetString("Select all songs in song list"), null),
+                     
+Index: ext/libmtp-sharp/libmtp-sharp.dll.config.in
+===================================================================
+--- ext/libmtp-sharp/libmtp-sharp.dll.config.in	(Revision 2958)
++++ ext/libmtp-sharp/libmtp-sharp.dll.config.in	(Revision 3417)
+@@ -1,4 +0,0 @@
+-<configuration>
+-  <dllmap dll="libmtp.dll" target="@LIBMTP_SO_MAP@"/>
+-</configuration>
+-
+Index: ext/libmtp-sharp/AssemblyInfo.cs
+===================================================================
+--- ext/libmtp-sharp/AssemblyInfo.cs	(Revision 2958)
++++ ext/libmtp-sharp/AssemblyInfo.cs	(Revision 3417)
+@@ -36,7 +36,7 @@
+ // change them to the information which is associated with the assembly
+ // you compile.
+ 
+-[assembly: AssemblyTitle("libmtp-sharp")]
++[assembly: AssemblyTitle("Mtp")]
+ [assembly: AssemblyDescription("A .NET binding for libmtp")]
+ [assembly: AssemblyConfiguration("")]
+ [assembly: AssemblyCompany("")]
+Index: ext/libmtp-sharp/Folder.cs
+===================================================================
+--- ext/libmtp-sharp/Folder.cs	(Revision 2958)
++++ ext/libmtp-sharp/Folder.cs	(Revision 3417)
+@@ -31,7 +31,7 @@
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	public class Folder
+ 	{
+@@ -75,7 +75,7 @@
+ 			    throw new ArgumentNullException("name");
+ 			    
+ 			// First create the folder on the device and check for error
+-			uint id = FolderManagement.CreateFolder (device.handle, name, FolderId);
++			uint id = FolderManagement.CreateFolder (device.Handle, name, FolderId);
+ 			
+ 			FolderStruct f = new FolderStruct();
+ 			f.folder_id = id;
+@@ -87,7 +87,7 @@
+ 		
+ 		public List<Folder> GetChildren ()
+ 		{
+-			using (FolderHandle handle = FolderManagement.GetFolderList(device.handle))
++			using (FolderHandle handle = FolderManagement.GetFolderList(device.Handle))
+ 			{
+ 				// Find the pointer to the folderstruct representing this folder
+ 				IntPtr ptr = handle.DangerousGetHandle();
+@@ -110,13 +110,13 @@
+ 		
+ 		public void Remove()
+ 		{
+-			LibMtp.DeleteObject(device.handle, FolderId);
++			LibMtp.DeleteObject(device.Handle, FolderId);
+ 		}
+ 		
+ 		internal static List<Folder> GetRootFolders (MtpDevice device)
+ 		{
+ 			List<Folder> folders = new List<Folder>();
+-			using (FolderHandle handle = FolderManagement.GetFolderList (device.handle))
++			using (FolderHandle handle = FolderManagement.GetFolderList (device.Handle))
+ 			{
+ 				for (IntPtr ptr = handle.DangerousGetHandle(); ptr != IntPtr.Zero;)
+ 				{
+Index: ext/libmtp-sharp/Mtp.dll.config.in
+===================================================================
+--- ext/libmtp-sharp/Mtp.dll.config.in	(Revision 0)
++++ ext/libmtp-sharp/Mtp.dll.config.in	(Revision 3417)
+@@ -0,0 +1,4 @@
++<configuration>
++  <dllmap dll="libmtp.dll" target="@LIBMTP_SO_MAP@"/>
++</configuration>
++
+Index: ext/libmtp-sharp/Album.cs
+===================================================================
+--- ext/libmtp-sharp/Album.cs	(Revision 0)
++++ ext/libmtp-sharp/Album.cs	(Revision 3417)
+@@ -0,0 +1,188 @@
++/***************************************************************************
++ *  Album.cs
++ *
++ *  Copyright (C) 2008 Novell
++ *  Authors:
++ *  Gabriel Burt (gburt at novell.com)
++ ****************************************************************************/
++
++/*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
++ *
++ *  Permission is hereby granted, free of charge, to any person obtaining a
++ *  copy of this software and associated documentation files (the "Software"),  
++ *  to deal in the Software without restriction, including without limitation  
++ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,  
++ *  and/or sell copies of the Software, and to permit persons to whom the  
++ *  Software is furnished to do so, subject to the following conditions:
++ *
++ *  The above copyright notice and this permission notice shall be included in 
++ *  all copies or substantial portions of the Software.
++ *
++ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
++ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
++ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
++ *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
++ *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
++ *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
++ *  DEALINGS IN THE SOFTWARE.
++ */
++
++using System;
++using System.Collections.Generic;
++using System.Runtime.InteropServices;
++
++namespace Mtp
++{
++	public class Album
++	{
++		private AlbumStruct album;
++		private MtpDevice device;
++        private bool saved;
++        private List<int> track_ids;
++
++        public uint AlbumId {
++            get { return saved ? album.album_id : 0; }
++        }
++
++        public List<int> TrackIds {
++            get { return track_ids; }
++        }
++
++        public bool Saved {
++            get { return saved; }
++        }
++
++        public string Name {
++            get { return album.name; }
++            set {
++                album.name = value;
++            }
++        }
++
++        public string Artist {
++            get { return album.artist; }
++            set {
++                album.artist = value;
++            }
++        }
++
++        public string Genre {
++            get { return album.genre; }
++            set {
++                album.genre = value;
++            }
++        }
++
++        public uint TrackCount {
++            get { return album.no_tracks; }
++            set {
++                album.no_tracks = value;
++            }
++        }
++
++        public Album (MtpDevice device, string name, string artist, string genre)
++        {
++            this.device = device;
++            this.album = new AlbumStruct ();
++            Name = name;
++            Artist = artist;
++            Genre = genre;
++            TrackCount = 0;
++            track_ids = new List<int> ();
++        }
++
++        internal Album (MtpDevice device, AlbumStruct album)
++        {
++            this.device = device;
++            this.album = album;
++            this.saved = true;
++
++            if (album.tracks != IntPtr.Zero) {
++                int [] vals = new int [TrackCount];
++                Marshal.Copy ((IntPtr)album.tracks, (int[])vals, 0, (int)TrackCount);
++                track_ids = new List<int> (vals);
++            } else {
++                track_ids = new List<int> ();
++            }
++        }
++        
++        public void Save ()
++        {
++            Save (null, 0, 0);
++        }
++
++        public void Save (byte [] cover_art, uint width, uint height)
++        {
++            TrackCount = (uint) track_ids.Count;
++
++            if (album.tracks != IntPtr.Zero) {
++                Marshal.FreeHGlobal (album.tracks);
++            }
++
++            if (TrackCount == 0) {
++                album.tracks = IntPtr.Zero;
++            } else {
++                album.tracks = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (int)) * (int)TrackCount);
++                Marshal.Copy (track_ids.ToArray (), 0, album.tracks, (int)TrackCount);
++            }
++
++            if (saved) {
++                saved = AlbumManagement.LIBMTP_Update_Album (device.Handle, album) == 0;
++            } else {
++                saved = AlbumManagement.LIBMTP_Create_New_Album (device.Handle, ref album, 0) == 0;
++            }
++
++            if (album.tracks != IntPtr.Zero) {
++                Marshal.FreeHGlobal (album.tracks);
++            }
++
++            if (!saved)
++                return;
++
++            if (cover_art == null) {
++                return;
++            }
++            
++            FileSampleData cover = new FileSampleData ();
++            cover.data = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (byte)) * cover_art.Length);
++            Marshal.Copy (cover_art, 0, cover.data, cover_art.Length);
++            cover.size = (ulong)cover_art.Length;
++            cover.width = width;
++            cover.height = height;
++            cover.filetype = FileType.JPEG;
++
++            if (FileManagement.LIBMTP_Send_Representative_Sample (device.Handle, AlbumId, ref cover) != 0) {
++                //Console.WriteLine ("failed to send representative sample file");
++            }
++            Marshal.FreeHGlobal (cover.data);
++        }
++
++        public void AddTrack (Track track)
++        {
++            track_ids.Add ((int)track.FileId);
++            TrackCount++;
++        }
++
++        public void RemoveTrack (Track track)
++        {
++            track_ids.Remove ((int)track.FileId);
++            TrackCount--;
++        }
++
++        public void ClearTracks ()
++        {
++            track_ids.Clear ();
++            TrackCount = 0;
++        }
++
++        public void Remove ()
++        {
++			LibMtp.LIBMTP_Delete_Object(device.Handle, AlbumId);
++        }
++
++        public override string ToString ()
++        {
++            return String.Format ("Album < Id: {4}, '{0}' by '{1}', genre '{2}', tracks {3} >", Name, Artist, Genre, TrackCount, AlbumId);
++        }
++	}
++}
+Index: ext/libmtp-sharp/MtpDevice.cs
+===================================================================
+--- ext/libmtp-sharp/MtpDevice.cs	(Revision 2958)
++++ ext/libmtp-sharp/MtpDevice.cs	(Revision 3417)
+@@ -31,11 +31,11 @@
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	public class MtpDevice : IDisposable
+ 	{
+-		internal MtpDeviceHandle handle;
++		internal MtpDeviceHandle Handle;
+ 		private MtpDeviceStruct device;
+ 		private string name;
+ 		private Folder albumFolder;
+@@ -46,72 +46,73 @@
+ 		private Folder podcastFolder;
+ 		private Folder textFolder;
+ 		private Folder videoFolder;
+-		
+-		public Folder AlbumFolder
+-		{
+-			get { return albumFolder; }
++
++		static MtpDevice() {
++			LibMtp.Init();
+ 		}
+ 		
+-		public int BatteryLevel
+-		{
+-			get
+-			{
++		public int BatteryLevel {
++			get {
+ 				ushort level, maxLevel;
+-				LibMtp.GetBatteryLevel (handle, out maxLevel, out level);
++				LibMtp.GetBatteryLevel (Handle, out maxLevel, out level);
+ 				return (int)((level * 100.0) / maxLevel);
+ 			}
+ 		}
+ 
+-		public Folder MusicFolder
+-		{
+-			get { return musicFolder;}
+-		}
+-		
+-		public string Name
+-		{
++        public string SerialNumber {
++            get { return LibMtp.GetSerialnumber (Handle); }
++        }
++
++        public string Version {
++            get { return LibMtp.GetDeviceversion (Handle); }
++        }
++
++		public string Name {
+ 			get { return name; }
++            set {
++                if (LibMtp.SetFriendlyName (Handle, value)) {
++                    name = value;
++                }
++            }
+ 		}
+ 
+-		public Folder OrganizerFolder
+-		{
++		public Folder AlbumFolder {
++			get { return albumFolder; }
++		}
++
++		public Folder MusicFolder {
++			get { return musicFolder; }
++		}
++
++		public Folder OrganizerFolder {
+ 			get { return organizerFolder; }
+ 		}
+ 
+-		public Folder PictureFolder
+-		{
++		public Folder PictureFolder {
+ 			get { return pictureFolder; }
+ 		}
+ 
+-		public Folder PlaylistFolder
+-		{
++		public Folder PlaylistFolder {
+ 			get { return playlistFolder; }
+ 		}
+ 
+-		public Folder PodcastFolder
+-		{
++		public Folder PodcastFolder {
+ 			get { return podcastFolder; }
+ 		}
+ 
+-		public Folder TextFolder
+-		{
++		public Folder TextFolder {
+ 			get { return textFolder; }
+ 		}
+ 		
+-		public Folder VideoFolder
+-		{
++		public Folder VideoFolder {
+ 			get { return videoFolder; }
+ 		}
+ 		
+-		static MtpDevice()
+-		{
+-			LibMtp.Init();
+-		}
+-		
+ 		internal MtpDevice (MtpDeviceHandle handle, MtpDeviceStruct device)
+ 		{
+ 			this.device = device;
+-			this.handle = handle;
+-			this.name = LibMtp.GetFriendlyName(handle);
++			this.Handle = handle;
++			this.name = LibMtp.GetFriendlyName(Handle);
+ 			SetDefaultFolders ();
+ 		}
+ 		
+@@ -127,7 +128,7 @@
+ 		/// </summary>
+ 		private void SetDefaultFolders ()
+ 		{
+-			List<Folder> folders = new List<Folder>();
++			List<Folder> folders = GetRootFolders();
+ 			
+ 			foreach (Folder f in folders)
+ 			{
+@@ -152,8 +153,8 @@
+ 		
+ 		public void Dispose ()
+ 		{
+-			if (!handle.IsClosed)
+-				handle.Close();
++			if (!Handle.IsClosed)
++				Handle.Close();
+ 		}
+ 		
+ 		public List<Folder> GetRootFolders()
+@@ -168,12 +169,10 @@
+ 		
+ 		public List<Track> GetAllTracks(ProgressFunction callback)
+ 		{
+-			IntPtr ptr = TrackManagement.GetTrackListing(handle, callback, IntPtr.Zero);
++			IntPtr ptr = TrackManagement.GetTrackListing(Handle, callback, IntPtr.Zero);
+ 
+-			if (ptr == IntPtr.Zero)
+-				throw new LibMtpException(ErrorCode.LIBMTP_ERROR_PTP_LAYER);
++			List<Track> tracks = new List<Track>();
+ 			
+-			List<Track> tracks = new List<Track>();
+ 			while (ptr != IntPtr.Zero)
+ 			{
+ 				TrackStruct track = (TrackStruct)Marshal.PtrToStructure(ptr, typeof(TrackStruct));
+@@ -184,6 +183,21 @@
+ 			
+ 			return tracks;
+ 		}
++
++        public List<Album> GetAlbums ()
++        {
++            List<Album> albums = new List<Album> ();
++
++			IntPtr ptr = AlbumManagement.LIBMTP_Get_Album_List (Handle);
++			while (ptr != IntPtr.Zero)
++			{
++				AlbumStruct d = (AlbumStruct)Marshal.PtrToStructure(ptr, typeof(AlbumStruct));
++				albums.Add (new Album(this, d));
++				ptr = d.next;
++			}
++			
++            return albums;
++        }
+ 		
+ 		
+ 		public List<DeviceStorage> GetStorage ()
+@@ -201,8 +215,7 @@
+ 		
+ 		public void Remove (Track track)
+ 		{
+-			Console.WriteLine("Removing: {0}", track.FileId);
+-			LibMtp.DeleteObject(handle, track.FileId);
++			LibMtp.DeleteObject(Handle, track.FileId);
+ 		}
+ 		
+ 		public void UploadTrack (string path, Track track, Folder folder)
+@@ -228,9 +241,20 @@
+ 				throw new ArgumentNullException("track");
+ 			
+ 			// We send the trackstruct by ref so that when the file_id gets filled in, our copy is updated
+-			TrackManagement.SendTrack (handle, path, ref track.trackStruct, callback, IntPtr.Zero, folder.FolderId);
+-			// LibMtp.GetStorage (handle, 0);
++			TrackManagement.SendTrack (Handle, path, ref track.trackStruct, callback, IntPtr.Zero, folder.FolderId);
++			// LibMtp.GetStorage (Handle, 0);
+ 		}
++
++        public FileType [] GetFileTypes ()
++        {
++            Int16 [] ints = LibMtp.GetFileTypes (Handle);
++            FileType [] file_types = new FileType [ints.Length];
++            for (int i = 0; i < ints.Length; i++) {
++                file_types[i] = (FileType) ints[i];
++            }
++
++            return file_types;
++        }
+ 		
+ 		public static List<MtpDevice> Detect ()
+ 		{
+Index: ext/libmtp-sharp/Functions/FileManagement.cs
+===================================================================
+--- ext/libmtp-sharp/Functions/FileManagement.cs	(Revision 2958)
++++ ext/libmtp-sharp/Functions/FileManagement.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	public delegate int ProgressFunction(ulong sent, ulong total, IntPtr data);
+ 	
+@@ -50,13 +50,22 @@
+ 		private static extern IntPtr LIBMTP_Get_Filemetadata (MtpDeviceHandle handle, uint fileid); // LIBMTP_file_t *
+ 		[DllImport("libmtp.dll")]
+ 		private static extern int LIBMTP_Get_File_To_File (MtpDeviceHandle handle, uint fileId, string path, ProgressFunction function, IntPtr data);
++
+ 		[DllImport("libmtp.dll")]
+ 		private static extern int LIBMTP_Send_File_From_File (MtpDeviceHandle handle, string path, ref File fileData, ProgressFunction function, IntPtr data, uint parentHandle);
+ 		//int LIBMTP_Get_File_To_File_Descriptor (MtpDeviceHandle handle, uint32_t const, int const, ProgressFunction function, void const *const)
+ 		//int 	LIBMTP_Send_File_From_File_Descriptor (MtpDeviceHandle handle, int const, LIBMTP_file_t *const, ProgressFunction function, void const *const, uint32_t const)
+-		//IntPtr LIBMTP_new_filesampledata_t (); // LIBMTP_filesampledata_t *
+-		//void LIBMTP_destroy_filesampledata_t (ref FileSampleData data); // LIBMTP_filesampledata_t *
+-		//int LIBMTP_Get_Representative_Sample_Format (MtpDeviceHandle handle, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
+-		//int LIBMTP_Send_Representative_Sample (MtpDeviceHandle handle, uint32_t const, LIBMTP_filesampledata_t *)
+-		}
++
++		//[DllImport("libmtp.dll")]
++		//public static extern IntPtr LIBMTP_new_filesampledata_t (); // LIBMTP_filesampledata_t *
++
++		[DllImport("libmtp.dll")]
++		public static extern void LIBMTP_destroy_filesampledata_t (ref FileSampleData data); // LIBMTP_filesampledata_t *
++
++		[DllImport("libmtp.dll")]
++		public static extern int LIBMTP_Get_Representative_Sample_Format (MtpDeviceHandle handle, FileType type, IntPtr data_array);
++
++		[DllImport("libmtp.dll")]
++		public static extern int LIBMTP_Send_Representative_Sample (MtpDeviceHandle handle, uint id, ref FileSampleData sample);
++    }
+ }
+Index: ext/libmtp-sharp/Functions/AlbumManagement.cs
+===================================================================
+--- ext/libmtp-sharp/Functions/AlbumManagement.cs	(Revision 2958)
++++ ext/libmtp-sharp/Functions/AlbumManagement.cs	(Revision 3417)
+@@ -30,21 +30,21 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	internal class AlbumManagement
+ 	{
+ 		[DllImport("libmtp.dll")]
+-		private static extern IntPtr LIBMTP_new_album_t (); // LIBMTP_album_t*
++		internal static extern IntPtr LIBMTP_new_album_t (); // LIBMTP_album_t*
+ 		[DllImport("libmtp.dll")]
+-		private static extern void LIBMTP_destroy_album_t (ref Album album);
++		internal static extern void LIBMTP_destroy_album_t (ref AlbumStruct album);
+ 		[DllImport("libmtp.dll")]
+-		private static extern IntPtr LIBMTP_Get_Album_List (MtpDeviceHandle handle); // LIBMTP_album_t*
++		internal static extern IntPtr LIBMTP_Get_Album_List (MtpDeviceHandle handle); // LIBMTP_album_t*
+ 		[DllImport("libmtp.dll")]
+-		private static extern IntPtr LIBMTP_Get_Album (MtpDeviceHandle handle, uint albumId); // LIBMTP_album_t*
++		internal static extern IntPtr LIBMTP_Get_Album (MtpDeviceHandle handle, uint albumId); // LIBMTP_album_t*
+ 		[DllImport("libmtp.dll")]
+-		private static extern int LIBMTP_Create_New_Album (MtpDeviceHandle handle, ref Album album, uint parentId);
++		internal static extern int LIBMTP_Create_New_Album (MtpDeviceHandle handle, ref AlbumStruct album, uint parentId);
+ 		[DllImport("libmtp.dll")]
+-		private static extern int LIBMTP_Update_Album (MtpDeviceHandle handle, Album album);
++		internal static extern int LIBMTP_Update_Album (MtpDeviceHandle handle, AlbumStruct album);
+ 	}
+ }
+Index: ext/libmtp-sharp/Functions/PlaylistManagement.cs
+===================================================================
+--- ext/libmtp-sharp/Functions/PlaylistManagement.cs	(Revision 2958)
++++ ext/libmtp-sharp/Functions/PlaylistManagement.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	internal class PlaylistManagement
+ 	{
+Index: ext/libmtp-sharp/Functions/TrackManagement.cs
+===================================================================
+--- ext/libmtp-sharp/Functions/TrackManagement.cs	(Revision 2958)
++++ ext/libmtp-sharp/Functions/TrackManagement.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	internal class TrackManagement
+ 	{
+@@ -52,14 +52,11 @@
+ 		}
+ 		internal static void SendTrack (MtpDeviceHandle handle, string path, ref TrackStruct metadata, ProgressFunction callback, IntPtr data, uint parent)
+ 		{
+-			Console.WriteLine("Sending: {0}", metadata.item_id);
+ 			if (LIBMTP_Send_Track_From_File (handle, path, ref metadata, callback, data, parent) != 0)
+ 			{
+ 				LibMtpException.CheckErrorStack(handle);
+ 				throw new LibMtpException (ErrorCode.LIBMTP_ERROR_GENERAL, "Could not upload the track");
+ 			}
+-			Console.WriteLine("Got: {0}", metadata.item_id);
+-			Console.ReadLine();
+ 		}
+ 		internal static void UpdateTrackMetadata(MtpDeviceHandle handle, ref TrackStruct metadata)
+ 		{
+Index: ext/libmtp-sharp/Functions/FunctionCalls.cs
+===================================================================
+--- ext/libmtp-sharp/Functions/FunctionCalls.cs	(Revision 2958)
++++ ext/libmtp-sharp/Functions/FunctionCalls.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	internal class LibMtp
+ 	{
+@@ -54,35 +54,69 @@
+ 			if (result != 0)
+ 				throw new LibMtpException (ErrorCode.LIBMTP_ERROR_GENERAL, "Could not retrieve battery stats");
+ 		}
+-		
++
+ 		public static void GetConnectedDevices (out IntPtr list)
+ 		{
+ 			Error.CheckError (LIBMTP_Get_Connected_Devices (out list));
+ 		}
++
+ 		public static IntPtr GetErrorStack (MtpDeviceHandle handle)
+ 		{
+ 			return LIBMTP_Get_Errorstack(handle);
+ 		}
++
++		public static string GetDeviceversion(MtpDeviceHandle handle)
++		{
++			IntPtr ptr = LibMtp.LIBMTP_Get_Deviceversion(handle);
++			if (ptr == IntPtr.Zero)
++				return null;
++			
++            return StringFromIntPtr (ptr);
++		}
++
+ 		
+ 		public static string GetFriendlyName(MtpDeviceHandle handle)
+ 		{
+ 			IntPtr ptr = LibMtp.LIBMTP_Get_Friendlyname(handle);
+ 			if (ptr == IntPtr.Zero)
+-				return "Mtp Device";
++				return null;
+ 			
+-			int i = 0;
+-			while (Marshal.ReadByte (ptr, i) != (byte) 0) ++i;
+-			byte[] s_buf = new byte [i];
+-			Marshal.Copy (ptr, s_buf, 0, s_buf.Length);
+-			string s = System.Text.Encoding.UTF8.GetString (s_buf);
+-			Marshal.FreeCoTaskMem(ptr);
+-			return s;
++            return StringFromIntPtr (ptr);
+ 		}
++
++		public static bool SetFriendlyName(MtpDeviceHandle handle, string name)
++        {
++            bool success = LIBMTP_Set_Friendlyname (handle, name) == 0;
++            return success;
++        }
++
++		public static string GetSerialnumber(MtpDeviceHandle handle)
++		{
++			IntPtr ptr = LibMtp.LIBMTP_Get_Serialnumber(handle);
++			if (ptr == IntPtr.Zero)
++				return null;
++
++            return StringFromIntPtr (ptr);
++        }
+ 		
+ 		public static void GetStorage (MtpDeviceHandle handle, int sortMode)
+ 		{
+ 			LIBMTP_Get_Storage (handle, sortMode);
+ 		}
++
++        public static Int16 [] GetFileTypes (MtpDeviceHandle handle)
++        {
++            IntPtr types = IntPtr.Zero;
++            ushort count = 0;
++            if (LIBMTP_Get_Supported_Filetypes (handle, ref types, ref count) == 0) {
++                Int16 [] type_ary = new Int16 [count];
++                Marshal.Copy (types, type_ary, 0, (int)count);
++                Marshal.FreeHGlobal (types);
++                return type_ary;
++            }
++
++            return new Int16[0];
++        }
+ 		
+ 		public static void Init ()
+ 		{
+@@ -92,6 +126,17 @@
+ 		{
+ 			LIBMTP_Release_Device(handle);
+ 		}
++
++        private static string StringFromIntPtr (IntPtr ptr)
++        {
++			int i = 0;
++			while (Marshal.ReadByte (ptr, i) != (byte) 0) ++i;
++			byte[] s_buf = new byte [i];
++			Marshal.Copy (ptr, s_buf, 0, s_buf.Length);
++			string s = System.Text.Encoding.UTF8.GetString (s_buf);
++			Marshal.FreeCoTaskMem(ptr);
++			return s;
++        }
+ 		
+ 		[DllImport("libmtp.dll")]
+ 		private static extern void LIBMTP_Init ();
+@@ -101,7 +146,7 @@
+ 		private static extern void LIBMTP_Clear_Errorstack (MtpDeviceHandle handle);
+ 		
+ 		[DllImport("libmtp.dll")]
+-		private static extern int LIBMTP_Delete_Object (MtpDeviceHandle handle, uint object_id); 	
++		public static extern int LIBMTP_Delete_Object (MtpDeviceHandle handle, uint object_id); 	
+ 			
+ 		// Gets the first connected device:
+ 		[DllImport("libmtp.dll")]
+@@ -144,8 +189,8 @@
+ 		[DllImportAttribute("libmtp.dll")]
+ 		private static extern IntPtr LIBMTP_Get_Friendlyname (MtpDeviceHandle handle); // char *
+ 		
+-		//[DllImport("libmtp.dll")]
+-		//private static extern int LIBMTP_Set_Friendlyname (MtpDeviceHandle handle, char const *const)
++		[DllImport("libmtp.dll")]
++		private static extern int LIBMTP_Set_Friendlyname (MtpDeviceHandle handle, string name);
+ 		
+ 		[DllImportAttribute("libmtp.dll")]
+ 		private static extern IntPtr LIBMTP_Get_Errorstack (MtpDeviceHandle handle); // LIBMTP_error_t *
+Index: ext/libmtp-sharp/Functions/FolderManagement.cs
+===================================================================
+--- ext/libmtp-sharp/Functions/FolderManagement.cs	(Revision 2958)
++++ ext/libmtp-sharp/Functions/FolderManagement.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	internal class FolderManagement
+ 	{
+Index: ext/libmtp-sharp/Track.cs
+===================================================================
+--- ext/libmtp-sharp/Track.cs	(Revision 2958)
++++ ext/libmtp-sharp/Track.cs	(Revision 3417)
+@@ -29,7 +29,7 @@
+ 
+ using System;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	public class Track
+ 	{
+@@ -154,50 +154,50 @@
+ 			if (string.IsNullOrEmpty(path))
+ 				throw new ArgumentException ("Cannot be null or empty", "path");
+ 			
+-			TrackManagement.GetTrack (device.handle, trackStruct.item_id, path, callback, IntPtr.Zero);
++			TrackManagement.GetTrack (device.Handle, trackStruct.item_id, path, callback, IntPtr.Zero);
+ 		}
+ 		
+ 		public void UpdateMetadata()
+ 		{
+-			TrackManagement.UpdateTrackMetadata(device.handle, ref trackStruct);
++			TrackManagement.UpdateTrackMetadata(device.Handle, ref trackStruct);
+ 		}
+ 		
+ 		private static FileType DetectFiletype(Track track)
+ 		{
+ 			if(track.Filename.EndsWith(".asf", System.StringComparison.OrdinalIgnoreCase))
+-				return FileType.LIBMTP_FILETYPE_ASF;
++				return FileType.ASF;
+ 			
+ 			if(track.Filename.EndsWith(".avi", System.StringComparison.OrdinalIgnoreCase))
+-				return  FileType.LIBMTP_FILETYPE_AVI;
++				return  FileType.AVI;
+ 			
+ 			if(track.Filename.EndsWith(".BMP", System.StringComparison.OrdinalIgnoreCase))
+-				return  FileType.LIBMTP_FILETYPE_BMP;
++				return  FileType.BMP;
+ 			
+ 			if(track.Filename.EndsWith(".JPEG", System.StringComparison.OrdinalIgnoreCase)
+ 			   || track.Filename.EndsWith(".JPG", System.StringComparison.OrdinalIgnoreCase))
+-				return FileType.LIBMTP_FILETYPE_JPEG;
++				return FileType.JPEG;
+ 			
+ 			if(track.Filename.EndsWith(".MP3", System.StringComparison.OrdinalIgnoreCase))
+-				return FileType.LIBMTP_FILETYPE_MP3;
++				return FileType.MP3;
+ 			
+ 			if(track.Filename.EndsWith(".MPG", System.StringComparison.OrdinalIgnoreCase)
+ 			   || track.Filename.EndsWith(".MPEG", System.StringComparison.OrdinalIgnoreCase))
+-				return FileType.LIBMTP_FILETYPE_MPEG;
++				return FileType.MPEG;
+ 			
+ 			if(track.Filename.EndsWith(".OGG", System.StringComparison.OrdinalIgnoreCase)
+ 			   || track.Filename.EndsWith(".OGM", System.StringComparison.OrdinalIgnoreCase))
+-				return  FileType.LIBMTP_FILETYPE_OGG;
++				return  FileType.OGG;
+ 						
+ 			if(track.Filename.EndsWith(".PNG", System.StringComparison.OrdinalIgnoreCase))
+-				return  FileType.LIBMTP_FILETYPE_PNG;
++				return  FileType.PNG;
+ 			
+ 			if(track.Filename.EndsWith(".WAV", System.StringComparison.OrdinalIgnoreCase))
+-				return FileType.LIBMTP_FILETYPE_WAV;
++				return FileType.WAV;
+ 									
+ 			if(track.Filename.EndsWith(".WMA", System.StringComparison.OrdinalIgnoreCase))
+-				return FileType.LIBMTP_FILETYPE_WMA;
++				return FileType.WMA;
+ 
+-			return  FileType.LIBMTP_FILETYPE_UNKNOWN;
++			return  FileType.UNKNOWN;
+ 		}
+ 	}
+ }
+Index: ext/libmtp-sharp/Makefile.am
+===================================================================
+--- ext/libmtp-sharp/Makefile.am	(Revision 2958)
++++ ext/libmtp-sharp/Makefile.am	(Revision 3417)
+@@ -1,6 +1,6 @@
+ include $(top_srcdir)/build/Common.Makefile 
+ 
+-ASSEMBLY_NAME = libmtp-sharp
++ASSEMBLY_NAME = Mtp
+ ASSEMBLY = $(ASSEMBLY_NAME).dll
+ 
+ asmdir = $(pkglibdir)/Banshee.Dap
+@@ -18,10 +18,11 @@
+ 	$(srcdir)/Base/Error.cs \
+ 	$(srcdir)/Base/FileSampleData.cs \
+ 	$(srcdir)/Base/MtpDeviceStruct.cs \
++	$(srcdir)/Album.cs \
++	$(srcdir)/AssemblyInfo.cs \
++	$(srcdir)/Folder.cs \
+ 	$(srcdir)/MtpDevice.cs \
+-	$(srcdir)/AssemblyInfo.cs \
+ 	$(srcdir)/Track.cs \
+-	$(srcdir)/Folder.cs \
+ 	$(srcdir)/Functions/AlbumManagement.cs \
+ 	$(srcdir)/Functions/FunctionCalls.cs \
+ 	$(srcdir)/Functions/FolderManagement.cs \
+Index: ext/libmtp-sharp/Base/FileSampleData.cs
+===================================================================
+--- ext/libmtp-sharp/Base/FileSampleData.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/FileSampleData.cs	(Revision 3417)
+@@ -30,17 +30,16 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	[StructLayout(LayoutKind.Sequential)]
+ 	internal struct FileSampleData
+ 	{
+-		int width;
+-		int height;
+-		int duration;
+-		FileType filetype;
+-		long size;
+-		[MarshalAs(UnmanagedType.LPStr)] string data;  // Make it byte maybe?
+-		//FIXME THIS IS BUGGY!
++		public uint width;
++		public uint height;
++		public uint duration;
++		public FileType filetype;
++		public ulong size;
++		public IntPtr data;
+ 	}
+ }
+Index: ext/libmtp-sharp/Base/File.cs
+===================================================================
+--- ext/libmtp-sharp/Base/File.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/File.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	[StructLayout(LayoutKind.Sequential)]
+ 	internal struct File
+Index: ext/libmtp-sharp/Base/Album.cs
+===================================================================
+--- ext/libmtp-sharp/Base/Album.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/Album.cs	(Revision 3417)
+@@ -30,17 +30,25 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	[StructLayout(LayoutKind.Sequential)]
+-	internal struct Album
++	internal struct AlbumStruct
+ 	{
+ 		public uint album_id;
+-		[MarshalAs(UnmanagedType.LPStr)] public string name;
+-		[MarshalAs(UnmanagedType.LPStr)] public string artist;
+-		[MarshalAs(UnmanagedType.LPStr)] public string genre;
+-		public IntPtr tracks;  // int*
++
++		[MarshalAs(UnmanagedType.LPStr)]
++        public string name;
++
++		[MarshalAs(UnmanagedType.LPStr)]
++        public string artist;
++
++		[MarshalAs(UnmanagedType.LPStr)]
++        public string genre;
++
++		public IntPtr tracks;
+ 		public uint no_tracks;
++
+ 		public IntPtr next; // LIBMTP_album_t*
+ 
+ /*
+Index: ext/libmtp-sharp/Base/FolderStruct.cs
+===================================================================
+--- ext/libmtp-sharp/Base/FolderStruct.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/FolderStruct.cs	(Revision 3417)
+@@ -31,7 +31,7 @@
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	internal class FolderHandle : SafeHandle
+ 	{
+Index: ext/libmtp-sharp/Base/DeviceEntry.cs
+===================================================================
+--- ext/libmtp-sharp/Base/DeviceEntry.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/DeviceEntry.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	[StructLayout(LayoutKind.Sequential)]
+ 	internal struct DeviceEntry
+Index: ext/libmtp-sharp/Base/Playlist.cs
+===================================================================
+--- ext/libmtp-sharp/Base/Playlist.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/Playlist.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	[StructLayout(LayoutKind.Sequential)]
+ 	internal struct Playlist
+Index: ext/libmtp-sharp/Base/DeviceStorage.cs
+===================================================================
+--- ext/libmtp-sharp/Base/DeviceStorage.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/DeviceStorage.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	[StructLayout(LayoutKind.Sequential)]
+ 	public struct DeviceStorage
+Index: ext/libmtp-sharp/Base/MtpDeviceStruct.cs
+===================================================================
+--- ext/libmtp-sharp/Base/MtpDeviceStruct.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/MtpDeviceStruct.cs	(Revision 3417)
+@@ -31,7 +31,7 @@
+ using System.Runtime.InteropServices;
+ using System.Collections.Generic;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	internal class MtpDeviceHandle : SafeHandle
+ 	{
+Index: ext/libmtp-sharp/Base/Enums.cs
+===================================================================
+--- ext/libmtp-sharp/Base/Enums.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/Enums.cs	(Revision 3417)
+@@ -29,52 +29,52 @@
+ 
+ using System;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	public enum FileType
+ 	{
+-		LIBMTP_FILETYPE_WAV,
+-		LIBMTP_FILETYPE_MP3,
+-		LIBMTP_FILETYPE_WMA,
+-		LIBMTP_FILETYPE_OGG,
+-		LIBMTP_FILETYPE_AUDIBLE,
+-		LIBMTP_FILETYPE_MP4,
+-		LIBMTP_FILETYPE_UNDEF_AUDIO,
+-		LIBMTP_FILETYPE_WMV,
+-		LIBMTP_FILETYPE_AVI,
+-		LIBMTP_FILETYPE_MPEG,
+-		LIBMTP_FILETYPE_ASF,
+-		LIBMTP_FILETYPE_QT,
+-		LIBMTP_FILETYPE_UNDEF_VIDEO,
+-		LIBMTP_FILETYPE_JPEG,
+-		LIBMTP_FILETYPE_JFIF,
+-		LIBMTP_FILETYPE_TIFF,
+-		LIBMTP_FILETYPE_BMP,
+-		LIBMTP_FILETYPE_GIF,
+-		LIBMTP_FILETYPE_PICT,
+-		LIBMTP_FILETYPE_PNG,
+-		LIBMTP_FILETYPE_VCALENDAR1,
+-		LIBMTP_FILETYPE_VCALENDAR2,
+-		LIBMTP_FILETYPE_VCARD2,
+-		LIBMTP_FILETYPE_VCARD3,
+-		LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT,
+-		LIBMTP_FILETYPE_WINEXEC,
+-		LIBMTP_FILETYPE_TEXT,
+-		LIBMTP_FILETYPE_HTML,
+-		LIBMTP_FILETYPE_FIRMWARE,
+-		LIBMTP_FILETYPE_AAC,
+-		LIBMTP_FILETYPE_MEDIACARD,
+-		LIBMTP_FILETYPE_FLAC,
+-		LIBMTP_FILETYPE_MP2,
+-		LIBMTP_FILETYPE_M4A,
+-		LIBMTP_FILETYPE_DOC,
+-		LIBMTP_FILETYPE_XML,
+-		LIBMTP_FILETYPE_XLS,
+-		LIBMTP_FILETYPE_PPT,
+-		LIBMTP_FILETYPE_MHT,
+-		LIBMTP_FILETYPE_JP2,
+-		LIBMTP_FILETYPE_JPX,
+-		LIBMTP_FILETYPE_UNKNOWN
++		WAV,
++		MP3,
++		WMA,
++		OGG,
++		AUDIBLE,
++		MP4,
++		UNDEF_AUDIO,
++		WMV,
++		AVI,
++		MPEG,
++		ASF,
++		QT,
++		UNDEF_VIDEO,
++		JPEG,
++		JFIF,
++		TIFF,
++		BMP,
++		GIF,
++		PICT,
++		PNG,
++		VCALENDAR1,
++		VCALENDAR2,
++		VCARD2,
++		VCARD3,
++		WINDOWSIMAGEFORMAT,
++		WINEXEC,
++		TEXT,
++		HTML,
++		FIRMWARE,
++		AAC,
++		MEDIACARD,
++		FLAC,
++		MP2,
++		M4A,
++		DOC,
++		XML,
++		XLS,
++		PPT,
++		MHT,
++		JP2,
++		JPX,
++		UNKNOWN
+ 	}
+ 	
+ 	public enum ErrorCode
+Index: ext/libmtp-sharp/Base/Error.cs
+===================================================================
+--- ext/libmtp-sharp/Base/Error.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/Error.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	public class LibMtpException : Exception
+ 	{
+Index: ext/libmtp-sharp/Base/TrackStruct.cs
+===================================================================
+--- ext/libmtp-sharp/Base/TrackStruct.cs	(Revision 2958)
++++ ext/libmtp-sharp/Base/TrackStruct.cs	(Revision 3417)
+@@ -30,7 +30,7 @@
+ using System;
+ using System.Runtime.InteropServices;
+ 
+-namespace libmtpsharp
++namespace Mtp
+ {
+ 	[StructLayout(LayoutKind.Sequential)]
+ 	internal struct TrackStruct
+Index: configure.ac
+===================================================================
+--- configure.ac	(Revision 2958)
++++ configure.ac	(Revision 3417)
+@@ -116,7 +116,7 @@
+ ext/dbus-sharp/Makefile
+ ext/dbus-sharp/NDesk.DBus.GLib.dll.config
+ ext/libmtp-sharp/Makefile
+-ext/libmtp-sharp/libmtp-sharp.dll.config
++ext/libmtp-sharp/Mtp.dll.config
+ 
+ src/Makefile
+ src/AssemblyInfo.cs
+Index: data/banshee.desktop.in.in
+===================================================================
+--- data/banshee.desktop.in.in	(Revision 2958)
++++ data/banshee.desktop.in.in	(Revision 3417)
+@@ -14,4 +14,5 @@
+ X-GNOME-Bugzilla-Product=banshee
+ X-GNOME-Bugzilla-Component=General
+ X-GNOME-Bugzilla-Version=@VERSION@
+-MimeType=application/musepack;application/x-musepack;audio/musepack;audio/x-musepack;audio/mp;audio/x-mp;audio/mpc;audio/x-mpc;audio/x-mod;audio/x-it;audio/x-s3m;audio/x-xm;application/ogg;application/x-ogg;audio/ogg;audio/x-ogg;application/x-flac;audio/flac;audio/x-flac;audio/vorbis;audio/x-vorbis;application/x-ape;audio/ape;audio/x-ape;application/x-id3;audio/mp3;audio/mpeg;audio/mpeg3;audio/x-mp3;audio/x-mpeg;audio/x-mpeg-3;audio/x-m4a;
++MimeType=application/musepack;application/x-musepack;audio/musepack;audio/x-musepack;audio/mp;audio/x-mp;audio/mpc;audio/x-mpc;audio/x-mod;audio/x-it;audio/x-s3m;audio/x-xm;application/ogg;application/x-ogg;audio/ogg;audio/x-ogg;application/x-flac;audio/flac;audio/x-flac;audio/vorbis;audio/x-vorbis;application/x-ape;audio/ape;audio/x-ape;application/x-id3;audio/mp3;audio/mpeg;audio/mpeg3;audio/x-mp3;audio/x-mpeg;audio/x-mpeg-3;audio/x-m4a;x-content/audio-cdda;x-content/audio-dvd;x-content/audio-player;
++
+Index: NEWS
+===================================================================
+--- NEWS	(Revision 2958)
++++ NEWS	(Revision 3417)
+@@ -166,7 +166,7 @@
+    Community makes Open Source work!
+ 
+    Aaron Bockover, Alan McGovern, Gabriel Burt, Jackson Harper, James Willcox,
+-   Michael Monreal, Mike Urbanski Sebastian Dröge, Stephane Loeuillet,
++   Michael Monreal, Mike Urbanski, Sebastian Dröge, Stephane Loeuillet,
+    Wade Menard
+ 
+ Contributors for past releases [1]
+Index: po/POTFILES.in
+===================================================================
+--- po/POTFILES.in	(Revision 2958)
++++ po/POTFILES.in	(Revision 3417)
+@@ -135,6 +135,14 @@
+ src/Plugins/Banshee.Plugins.Daap/DaapLoginDialog.cs
+ src/Plugins/Banshee.Plugins.Daap/DaapPlugin.cs
+ src/Plugins/Banshee.Plugins.Daap/DaapSource.cs
++src/Plugins/Banshee.Plugins.LastFM/Connection.cs
++src/Plugins/Banshee.Plugins.LastFM/Editor.cs
++src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs
++src/Plugins/Banshee.Plugins.LastFM/Plugin.cs
++src/Plugins/Banshee.Plugins.LastFM/StationSource.cs
++src/Plugins/Banshee.Plugins.LastFM/StationType.cs
++src/Plugins/Banshee.Plugins.LastFM/Resources/lastfm.glade
++src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in
+ src/Plugins/Banshee.Plugins.MetadataSearch/banshee-plugin-metadatasearcher.schemas.in
+ src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs
+ src/Plugins/Banshee.Plugins.MiniMode/banshee-plugin-minimode.schemas.in
+@@ -176,9 +184,4 @@
+ src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in
+ src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs
+ src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs
+-src/Plugins/Banshee.Plugins.LastFM/Connection.cs
+-src/Plugins/Banshee.Plugins.LastFM/Editor.cs
+-src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs
+-src/Plugins/Banshee.Plugins.LastFM/Plugin.cs
+-src/Plugins/Banshee.Plugins.LastFM/StationSource.cs
+-src/Plugins/Banshee.Plugins.LastFM/StationType.cs
++
+Index: po/POTFILES.skip
+===================================================================
+--- po/POTFILES.skip	(Revision 0)
++++ po/POTFILES.skip	(Revision 3417)
+@@ -0,0 +1,4 @@
++# List of source files that should NOT be translated.
++# Please keep this file sorted alphabetically.
++data/audio-profiles/aac.xml.in
++data/audio-profiles/wav.xml.in
+Index: po/ChangeLog
+===================================================================
+--- po/ChangeLog	(Revision 2958)
++++ po/ChangeLog	(Revision 3417)
+@@ -1,3 +1,23 @@
++2008-02-08  Luca Ferretti  <elle.uca at libero.it>
++
++	* it.po: Updated Italian translation by Gianvito Cavasoli.
++
++2008-02-01  Luca Ferretti  <elle.uca at libero.it>
++
++	* it.po: Updated Italian translation by Gianvito Cavasoli.
++	* POTFILES.in: added missing sources for LastFM plugin and
++	sort them alphabetically.
++	* POTFILE.skip: new file, with aac.xml.in and waw.xml.in to
++	make `intltool-update -m` happy.
++
++2008-01-20  Lasse Bang Mikkelsen  <lbm at lbm.dk>
++
++	* da.po: Updated Danish translation.
++
++2008-01-13  Lasse Bang Mikkelsen  <lbm at lbm.dk>
++
++	* da.po: Updated Danish translation.
++
+ 2007-11-04  Gabriel Burt  <gabriel.burt at gmail.com>
+ 
+ 	* POTFILES.in: Updated files
+Index: po/it.po
+===================================================================
+--- po/it.po	(Revision 2958)
++++ po/it.po	(Revision 3417)
+@@ -1,241 +1,179 @@
+ # Italian translation of Banshee.
+-# Copyright (C) 2006 Alessandro Gervaso
++# Copyright (C) 2007 Gianvito Cavasoli
+ # This file is distributed under the same license as the Banshee package.
+ # Alessandro Gervaso <alessandro at truelite.it>, 2006.
++# Alessandro Gervaso <alessandro at truelite.it>, 2007.
++# Gianvito Cavasoli <gianvito at nectarine.it>, 2007-2008.
+ # 
+ # 
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: Banshee 0.10.4\n"
++"Project-Id-Version: Banshee 0.13.2\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2006-10-19 09:14+0200\n"
+-"PO-Revision-Date: 2006-10-19 11:45+0200\n"
+-"Last-Translator: Alessandro Gervaso <alessandro at truelite.it>\n"
++"POT-Creation-Date: 2008-02-08 22:21+0100\n"
++"PO-Revision-Date: 2008-02-08 22:25+0100\n"
++"Last-Translator: Gianvito Cavasoli <gianvito at nectarine.it>\n"
+ "Language-Team: Italian <tp at lists.linux.it>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ 
+-#: ../data/banshee.desktop.in.in.h:1 ../data/banshee.glade.h:2
+-#: ../src/Banshee.Base/BansheeBranding.cs:76
+-msgid "Banshee Music Player"
+-msgstr "Banshee - Riproduttore musicale"
++#: ../data/audio-profiles/base.xml.in.h:1
++msgid "Channels"
++msgstr "Canali"
+ 
+-#: ../data/banshee.desktop.in.in.h:2
+-msgid "Music Player"
+-msgstr "Riproduttore musicale"
++#: ../data/audio-profiles/flac.xml.in.h:1
++msgid "Free Lossless Audio Codec"
++msgstr "Free Lossless Audio Codec"
+ 
+-#: ../data/banshee.glade.h:1
+-msgid "<b>Loading...</b>"
+-msgstr "<b>Caricamento...</b>"
+-
+-#: ../data/banshee.glade.h:3
+-msgid "Disk Usage:"
+-msgstr "Utilizzo del disco:"
+-
+-#: ../data/banshee.glade.h:4
+-msgid "_Search:"
+-msgstr "C_erca:"
+-
+-#: ../data/banshee.schemas.in.h:1
++#: ../data/audio-profiles/flac.xml.in.h:2
+ msgid ""
+-"Can be either \"systemio\" (.NET System.IO), \"unix\" (Native Unix), or "
+-"\"gnomevfs\" (GNOME VFS); takes effect on Banshee start (restart necessary)"
++"Free Lossless Audio Codec (FLAC) is an open source codec that compresses but "
++"does not degrade audio quality."
+ msgstr ""
++"Free Lossless Audio Codec (FLAC) è un formato a sorgente aperto che comprime "
++"ma non degrada l'audio."
+ 
+-#: ../data/banshee.schemas.in.h:2
+-msgid "Copy and rename music to banshee music library directory when importing"
++#: ../data/audio-profiles/mp3-lame.xml.in.h:1
++#: ../data/audio-profiles/mp3-xing.xml.in.h:1
++msgid ""
++"A proprietary and older, but also popular, lossy audio format that produces "
++"larger files at lower bitrates."
+ msgstr ""
++"Un proprietario e vecchio, ma anche popolare, formato audio con perdita che "
++"produce grossi file a bassi bitrate."
+ 
+-#: ../data/banshee.schemas.in.h:3
+-msgid "Copy music on import"
+-msgstr "Copia la musica importata"
++#: ../data/audio-profiles/mp3-lame.xml.in.h:2
++msgid "Average Bitrate"
++msgstr "Bitrate medio"
+ 
+-#: ../data/banshee.schemas.in.h:4
+-msgid "Enable Special Keys"
+-msgstr "Abilita i tasti speciali"
++#: ../data/audio-profiles/mp3-lame.xml.in.h:3
++#: ../data/audio-profiles/wavpack.xml.in.h:2
++#: ../data/audio-profiles/wma.xml.in.h:3
++#: ../data/audio-profiles/vorbis.xml.in.h:2
++msgid "Best"
++msgstr "Migliore"
+ 
+-#: ../data/banshee.schemas.in.h:5
+-msgid ""
+-"Enabled Special Keys (Multimedia Keys) support for Play/Pause/Next/Previous; "
+-"works with mappings set through Gnome Shortcuts capplet"
+-msgstr ""
++#: ../data/audio-profiles/mp3-lame.xml.in.h:4
++#: ../data/audio-profiles/mp3-xing.xml.in.h:2
++#: ../data/audio-profiles/wavpack.xml.in.h:3
++#: ../data/audio-profiles/wma.xml.in.h:4
++msgid "Bitrate"
++msgstr "Bitrate"
+ 
+-#: ../data/banshee.schemas.in.h:6
+-msgid "File Name Pattern"
+-msgstr "Modello nome di file"
++#: ../data/audio-profiles/mp3-lame.xml.in.h:5
++msgid "Constant Bitrate"
++msgstr "Bitrate costante"
+ 
+-#: ../data/banshee.schemas.in.h:8
+-#, no-c-format
+-msgid ""
+-"Format for creating filenames/directories for ripped tracks, imported music, "
+-"etc. Format is relative to the Banshee music directory... do not form an "
+-"absolute path! Tokens: %artist%, %album%, %title%, %track_number%, %"
+-"track_count%, %track_number_nz% (No prefixed zero), %track_count_nz% (No "
+-"prefixed zero)."
+-msgstr ""
++#: ../data/audio-profiles/mp3-lame.xml.in.h:6
++msgid "MP3 (LAME Encoder)"
++msgstr "MP3 (codificatore LAME)"
+ 
+-#: ../data/banshee.schemas.in.h:9
+-msgid "Height of the main interface window."
+-msgstr "Altezza della finestra principale."
++#: ../data/audio-profiles/mp3-lame.xml.in.h:7
++msgid "VBR Mode"
++msgstr "Modo VBR"
+ 
+-#: ../data/banshee.schemas.in.h:10
+-msgid "Move music on info save"
+-msgstr "Sposta la musica al salvataggio delle informazioni"
++#: ../data/audio-profiles/mp3-lame.xml.in.h:8
++msgid "VBR Quality"
++msgstr "Qualità VBR"
+ 
+-#: ../data/banshee.schemas.in.h:11
+-msgid ""
+-"Move music within banshee music library directory when saving track info"
+-msgstr ""
+-"Sposta la musica nella collezione musicale di Banshee al salvataggio delle "
+-"informazioni su una traccia"
++#: ../data/audio-profiles/mp3-lame.xml.in.h:9
++msgid "Variable Bitrate"
++msgstr "Bitrate variabile"
+ 
+-#: ../data/banshee.schemas.in.h:12
+-msgid "Name of media playback engine."
+-msgstr "Nome del motore utilizzato per la riproduzione."
++#: ../data/audio-profiles/mp3-lame.xml.in.h:10
++#: ../data/audio-profiles/wavpack.xml.in.h:11
++#: ../data/audio-profiles/wma.xml.in.h:7
++#: ../data/audio-profiles/vorbis.xml.in.h:5
++msgid "Worst"
++msgstr "Peggiore"
+ 
+-#: ../data/banshee.schemas.in.h:13
+-msgid "Pixel position of Main Player Window on the X Axis"
+-msgstr ""
++#: ../data/audio-profiles/mp3-xing.xml.in.h:3
++msgid "MP3 (Xing Encoder)"
++msgstr "MP3 (codificatore Xing)"
+ 
+-#: ../data/banshee.schemas.in.h:14
+-msgid "Pixel position of Main Player Window on the Y Axis"
++#: ../data/audio-profiles/wavpack.xml.in.h:1
++msgid ""
++"A fast and efficient open source audio format offering lossless and high-"
++"quality lossy encoding with great dynamic range."
+ msgstr ""
++"Un veloce ed efficiente formato di compressione audio a sorgente aperto che "
++"offre alta qualità e ottima gamma dinamica."
+ 
+-#: ../data/banshee.schemas.in.h:15
+-msgid "Player Engine Name"
+-msgstr "Nome del motore di riproduzione"
++#: ../data/audio-profiles/wavpack.xml.in.h:4
++msgid "Default"
++msgstr "Predefinito"
+ 
+-#: ../data/banshee.schemas.in.h:16
+-msgid "Set the IO backend in Banshee"
+-msgstr ""
++#: ../data/audio-profiles/wavpack.xml.in.h:5
++msgid "Extra processing"
++msgstr "Elaborazione extra"
+ 
+-#: ../data/banshee.schemas.in.h:17
+-msgid "Show advanced track properties"
+-msgstr "Mostra le proprietà avanzate delle tracce"
++#: ../data/audio-profiles/wavpack.xml.in.h:6
++msgid "Highest"
++msgstr "Molto alta"
+ 
+-#: ../data/banshee.schemas.in.h:18
+-msgid "Show the Initial Import Dialog"
+-msgstr ""
++#: ../data/audio-profiles/wavpack.xml.in.h:7
++msgid "Lossy mode"
++msgstr "Modo con perdita"
+ 
+-#: ../data/banshee.schemas.in.h:19
+-msgid "Show the Initial Import Dialog when the Banshee library is empty"
+-msgstr ""
++#: ../data/audio-profiles/wavpack.xml.in.h:8
++msgid "Mode"
++msgstr "Modo"
+ 
+-#: ../data/banshee.schemas.in.h:20
+-msgid "Source View Width"
+-msgstr "Larghezza della visualizzazione sorgente"
++#: ../data/audio-profiles/wavpack.xml.in.h:9
++msgid "Store MD5 sum in the file"
++msgstr "Salva somma MD5 nel file"
+ 
+-#: ../data/banshee.schemas.in.h:21
+-msgid "True if main window is to be maximized, false if it is not."
+-msgstr ""
+-"True se la finestra principale deve essere massimizzata, false in caso "
+-"contrario"
++#: ../data/audio-profiles/wavpack.xml.in.h:10
++msgid "Wavpack"
++msgstr "Wavpack"
+ 
+-#: ../data/banshee.schemas.in.h:22
++#: ../data/audio-profiles/wma.xml.in.h:1
+ msgid ""
+-"True if the advanced expander should be expanded in the track properties "
+-"dialog, false if it should be closed"
++"A proprietary lossy audio format with high quality output at a lower file "
++"size than MP3. A 96 kbps WMA is equivalent to a 128 kbps MP3."
+ msgstr ""
++"Formato audio proprietario con perdita che crea file audio di alta qualità "
++"con dimensioni minori dell'MP3. Un WMA a 96 kbps equivale ad un MP3 di 128 "
++"kbps."
+ 
+-#: ../data/banshee.schemas.in.h:23
+-msgid "Visibility of Album Column."
+-msgstr "Visibilità della colonna Album."
++#: ../data/audio-profiles/wma.xml.in.h:2
++msgid "Audio Quality"
++msgstr "Qualità audio"
+ 
+-#: ../data/banshee.schemas.in.h:24
+-msgid "Visibility of Artist Column."
+-msgstr "Visibilità della colonna Artista."
++#: ../data/audio-profiles/wma.xml.in.h:5
++msgid "Use a variable bitrate"
++msgstr "Usa un bitrate variabile"
+ 
+-#: ../data/banshee.schemas.in.h:25
+-msgid "Visibility of Time Column."
+-msgstr "Visibilità della colonna Durata."
++#: ../data/audio-profiles/wma.xml.in.h:6
++msgid "Windows Media Audio"
++msgstr "Windows Media Audio"
+ 
+-#: ../data/banshee.schemas.in.h:26
+-msgid "Visibility of Title Column."
+-msgstr "Visibilità della colonna Titolo."
++#: ../data/audio-profiles/vorbis.xml.in.h:1
++msgid "Audio quality"
++msgstr "Qualità audio"
+ 
+-#: ../data/banshee.schemas.in.h:27
+-msgid "Visibility of Track Column."
+-msgstr "Visibilità della colonna Traccia."
++#: ../data/audio-profiles/vorbis.xml.in.h:3
++msgid "Ogg Vorbis"
++msgstr "Ogg Vorbis"
+ 
+-#: ../data/banshee.schemas.in.h:28
+-msgid "Visibility of Year Column."
+-msgstr "Visibilità della colonna Anno."
+-
+-#: ../data/banshee.schemas.in.h:29
+-msgid "Volume Output Level"
+-msgstr "Livello del volume in uscita"
+-
+-#: ../data/banshee.schemas.in.h:30
++#: ../data/audio-profiles/vorbis.xml.in.h:4
+ msgid ""
+-"Volume of playback relative to mixer output (except on Helix, which sets "
+-"volume directly on PCM"
+-msgstr "Volume della riproduzione relativo al mixer di uscita (eccetto con Helix che imposta il volume direttamente su PCM)"
+-
+-#: ../data/banshee.schemas.in.h:31
+-msgid "Width of Album Column."
+-msgstr "Larghezza della colonna Album."
+-
+-#: ../data/banshee.schemas.in.h:32
+-msgid "Width of Artist Column."
+-msgstr "Larghezza della colonna Artista."
+-
+-#: ../data/banshee.schemas.in.h:33
+-msgid "Width of Last Played Column."
+-msgstr "Larghezza della colonna Ultimo passaggio."
+-
+-#: ../data/banshee.schemas.in.h:34
+-msgid "Width of Plays Column."
+-msgstr "Larghezza della colonna Numero di passaggi."
+-
+-#: ../data/banshee.schemas.in.h:35
+-msgid "Width of Rating Column."
+-msgstr "Larghezza della colonna Giudizio."
+-
+-#: ../data/banshee.schemas.in.h:36
+-msgid "Width of Source View Column."
+-msgstr "Larghezza della colonna della visualizzazione sorgente."
+-
+-#: ../data/banshee.schemas.in.h:37
+-msgid "Width of Time Column."
+-msgstr "Larghezza della colonna Durata."
+-
+-#: ../data/banshee.schemas.in.h:38
+-msgid "Width of Title Column."
+-msgstr "Larghezza della colonna Titolo."
+-
+-#: ../data/banshee.schemas.in.h:39
+-msgid "Width of Track Column."
+-msgstr "Larghezza della colonna Traccia."
+-
+-#: ../data/banshee.schemas.in.h:40
+-msgid "Width of Year Column."
+-msgstr "Larghezza della colonna Anno."
+-
+-#: ../data/banshee.schemas.in.h:41
+-msgid "Width of the main interface window."
+-msgstr "Larghezza della finestra principale"
+-
+-#: ../data/banshee.schemas.in.h:42
+-msgid "Window Height"
+-msgstr "Altezza della finestra"
+-
+-#: ../data/banshee.schemas.in.h:43
+-msgid "Window Maximized"
+-msgstr "Finestra massimizzata"
+-
+-#: ../data/banshee.schemas.in.h:44
+-msgid "Window Position X"
++"Vorbis is an open source, lossy audio codec with high quality output at a "
++"lower file size than MP3."
+ msgstr ""
++"Vorbis è un formato audio con perdita a sorgente aperto, che crea file audio "
++"di grande qualità ma con dimensioni minori dell'MP3."
+ 
+-#: ../data/banshee.schemas.in.h:45
+-msgid "Window Position Y"
+-msgstr ""
++#: ../data/banshee.desktop.in.in.h:1 ../data/banshee.glade.h:2
++#: ../src/Core/Banshee.Base/BansheeBranding.cs:79
++msgid "Banshee Music Player"
++msgstr "Banshee - Riproduttore musicale"
+ 
+-#: ../data/banshee.schemas.in.h:46
+-msgid "Window Width"
+-msgstr "Larghezza della finestra"
++#: ../data/banshee.desktop.in.in.h:2
++msgid "Music Player"
++msgstr "Riproduttore musicale"
+ 
+ #: ../data/banshee-dialogs.glade.h:1
+ msgid "0"
+@@ -278,242 +216,261 @@
+ msgstr "<b>Durata:</b>"
+ 
+ #: ../data/banshee-dialogs.glade.h:11
++msgid "<b>File System Organization</b>"
++msgstr "<b>Organizzazione della gerarchia</b>"
++
++#: ../data/banshee-dialogs.glade.h:12
+ msgid "<b>File name:</b>"
+ msgstr "<b>Nome del file:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:12
++#: ../data/banshee-dialogs.glade.h:13
+ msgid "<b>File size:</b>"
+ msgstr "<b>Dimensione del file:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:13
++#: ../data/banshee-dialogs.glade.h:14
+ msgid "<b>Imported on:</b>"
+ msgstr "<b>Data importazione:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:14
++#: ../data/banshee-dialogs.glade.h:15
+ msgid "<b>Last played:</b>"
+-msgstr "<b>Ultimo ascolto:</b>"
++msgstr "<b>Ultima riproduzione:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:15
++#: ../data/banshee-dialogs.glade.h:16
+ msgid "<b>Location:</b>"
+ msgstr "<b>Posizione:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:16
+-msgid "<b>Music Library</b>"
+-msgstr "<b>Libreria musicale</b>"
++#: ../data/banshee-dialogs.glade.h:17
++msgid "<b>Music _Library</b>"
++msgstr "<b>_Libreria musicale</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:17
++#: ../data/banshee-dialogs.glade.h:18
+ msgid "<b>Play count:</b>"
+-msgstr "<b>Contatore ascolti:</b>"
++msgstr "<b>Contatore riproduzioni:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:18
++#: ../data/banshee-dialogs.glade.h:19
+ msgid "<b>Sample rate:</b>"
+-msgstr "<b>Sample rate:</b>"
++msgstr "<b>Campionatura:</b>"
+ 
+ # relativo alla scrittura di audio CD
+-#: ../data/banshee-dialogs.glade.h:19
++#: ../data/banshee-dialogs.glade.h:20
+ msgid "<b>Session Information</b>"
+ msgstr "<b>Informazioni di sessione</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:20
++#: ../data/banshee-dialogs.glade.h:21
+ msgid "<b>Track _count:</b>"
+ msgstr "<b>_Totale tracce:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:21
++#: ../data/banshee-dialogs.glade.h:22
+ msgid "<b>Track _number:</b>"
+ msgstr "<b>_Numero traccia</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:22
++#: ../data/banshee-dialogs.glade.h:23
+ msgid "<b>Write Options</b>"
+ msgstr "<b>Operazioni di scrittura</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:23
++#: ../data/banshee-dialogs.glade.h:24
+ msgid "<b>_Artist:</b>"
+ msgstr "<b>_Artista:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:24
++#: ../data/banshee-dialogs.glade.h:25
+ msgid "<b>_Genre:</b>"
+ msgstr "<b>_Genere:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:25
++#: ../data/banshee-dialogs.glade.h:26
+ msgid "<b>_Rating:</b>"
+-msgstr "<b>Gi_udizio:</b>"
++msgstr "<b>_Giudizio:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:26
++#: ../data/banshee-dialogs.glade.h:27
+ msgid "<b>_Title:</b>"
+ msgstr "<b>_Titolo:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:27
++#: ../data/banshee-dialogs.glade.h:28
+ msgid "<b>_Year:</b>"
+-msgstr "<b>A_nno:</b>"
++msgstr "<b>_Anno:</b>"
+ 
+-#: ../data/banshee-dialogs.glade.h:28
++#: ../data/banshee-dialogs.glade.h:29
+ msgid "<big><b>Import Music to Library</b></big>"
+ msgstr "<big><b>Importa musica nella libreria</b></big>"
+ 
+-#: ../data/banshee-dialogs.glade.h:29
++#: ../data/banshee-dialogs.glade.h:30
++msgid "Apply common field values to all tracks"
++msgstr "Applica i valori di campo comuni a tutte le tracce"
++
++#: ../data/banshee-dialogs.glade.h:31
+ msgid "Artwork"
+ msgstr "Copertina"
+ 
+-#: ../data/banshee-dialogs.glade.h:30
++#: ../data/banshee-dialogs.glade.h:32
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:79
+ msgid "Back"
+ msgstr "Indietro"
+ 
+-#: ../data/banshee-dialogs.glade.h:31
++#: ../data/banshee-dialogs.glade.h:33
+ msgid "Choose an import source:"
+ msgstr "Scegliere una sorgente di importazione:"
+ 
+-#: ../data/banshee-dialogs.glade.h:32
+-msgid "Copy all common fields"
+-msgstr "Copia tutti i campi comuni"
++#: ../data/banshee-dialogs.glade.h:34
++msgid "Co_py files to music folder when importing"
++msgstr "Co_piare i file nella cartella della musica quando importati"
+ 
+-#: ../data/banshee-dialogs.glade.h:33
+-msgid "Copy files to music folder when importing"
+-msgstr "Copiare i file nella cartella della musica quando importati"
+-
+ # riferito immagine della cover, pulsante per copiare l'immagine
+ # su tutte le canzoni selezionate (credo sia attivo quando si sceglie embed)
+ #
+-#: ../data/banshee-dialogs.glade.h:34
++#: ../data/banshee-dialogs.glade.h:35
+ msgid "Copy to all"
+-msgstr "Copia su tutte"
++msgstr "Copia a tutti"
+ 
+-#: ../data/banshee-dialogs.glade.h:35
++#: ../data/banshee-dialogs.glade.h:36
+ msgid "Create a new preset"
+ msgstr "Crea una nuova preselezione"
+ 
+-#: ../data/banshee-dialogs.glade.h:36
++#: ../data/banshee-dialogs.glade.h:37
+ msgid "Delete the active preset"
+ msgstr "Elimina la preselezione attiva"
+ 
+-#: ../data/banshee-dialogs.glade.h:37
++#: ../data/banshee-dialogs.glade.h:38
+ msgid "Details"
+ msgstr "Dettagli"
+ 
+-#: ../data/banshee-dialogs.glade.h:38
++#: ../data/banshee-dialogs.glade.h:39
+ msgid "Disc Options"
+ msgstr "Opzioni del disco"
+ 
+-#: ../data/banshee-dialogs.glade.h:39
++#: ../data/banshee-dialogs.glade.h:40
+ msgid "Disc format:"
+ msgstr "Formato del disco:"
+ 
+-#: ../data/banshee-dialogs.glade.h:40
++#: ../data/banshee-dialogs.glade.h:41
+ msgid "Disc name:"
+ msgstr "Nome del disco:"
+ 
+-#: ../data/banshee-dialogs.glade.h:41
++#: ../data/banshee-dialogs.glade.h:42
+ msgid "Do not show this dialog again"
+ msgstr "Non mostrare più questo dialogo"
+ 
+-#: ../data/banshee-dialogs.glade.h:42
++#: ../data/banshee-dialogs.glade.h:43
+ msgid "Eject disc after writing"
+ msgstr "Espelli il disco dopo la scrittura"
+ 
+ # riferito all'immagine della cover, checkbox
+-#: ../data/banshee-dialogs.glade.h:43
++#: ../data/banshee-dialogs.glade.h:44
+ msgid "Embed directly in song"
+-msgstr "Incorpora direttamente nella canzone"
++msgstr "Incorpora direttamente nella traccia"
+ 
+-#: ../data/banshee-dialogs.glade.h:44
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:70
++#: ../data/banshee-dialogs.glade.h:45
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:70
+ msgid "Enabled"
+ msgstr "Abilitato"
+ 
+-#: ../data/banshee-dialogs.glade.h:45
++#: ../data/banshee-dialogs.glade.h:46
+ msgid "Enter Next"
+ msgstr "Inserisci successiva"
+ 
+-#: ../data/banshee-dialogs.glade.h:46
++#: ../data/banshee-dialogs.glade.h:47
+ msgid "Enter the address of the file you would like to open:"
+ msgstr "Inserire l'indirizzo del file da aprire:"
+ 
+-#: ../data/banshee-dialogs.glade.h:47 ../src/Banshee.Base/ActionManager.cs:140
++#: ../data/banshee-dialogs.glade.h:48
++#: ../src/Core/Banshee.Base/ActionManager.cs:154
+ msgid "Equalizer"
+ msgstr "Equalizzatore"
+ 
+-#: ../data/banshee-dialogs.glade.h:48
++#: ../data/banshee-dialogs.glade.h:49
+ msgid "Error"
+ msgstr "Errore"
+ 
+-#: ../data/banshee-dialogs.glade.h:49
++#: ../data/banshee-dialogs.glade.h:50
++msgid "File _name:"
++msgstr "_Nome del file"
++
++#: ../data/banshee-dialogs.glade.h:51
++msgid "Folder hie_rarchy:"
++msgstr "Ge_rarchia cartella:"
++
++#: ../data/banshee-dialogs.glade.h:52
+ msgid "Forward"
+ msgstr "Avanti"
+ 
+-#: ../data/banshee-dialogs.glade.h:50
++#: ../data/banshee-dialogs.glade.h:53
+ msgid "Import Music Source"
+ msgstr "Importa sorgente musicale"
+ 
+-#: ../data/banshee-dialogs.glade.h:51
++#: ../data/banshee-dialogs.glade.h:54
+ msgid "Import Music to Library"
+ msgstr "Importa musica nella libreria"
+ 
+-#: ../data/banshee-dialogs.glade.h:52
++#: ../data/banshee-dialogs.glade.h:55
+ msgid "Metadata"
+ msgstr "Metadati"
+ 
+-#: ../data/banshee-dialogs.glade.h:53
+-#: ../src/Banshee.Base/Gui/OpenLocationDialog.cs:97
++#: ../data/banshee-dialogs.glade.h:56
++msgid "O_utput format:"
++msgstr "Formato di u_scita:"
++
++#: ../data/banshee-dialogs.glade.h:57
++#: ../src/Core/Banshee.Base/Gui/OpenLocationDialog.cs:98
+ msgid "Open Location"
+ msgstr "Apri posizione"
+ 
+-#: ../data/banshee-dialogs.glade.h:54
++#: ../data/banshee-dialogs.glade.h:58
+ msgid "Open in editor"
+ msgstr "Apri nell'editor"
+ 
+-#: ../data/banshee-dialogs.glade.h:55
+-msgid "Output Format:"
+-msgstr "Formato di uscita:"
+-
+-#: ../data/banshee-dialogs.glade.h:56
++#: ../data/banshee-dialogs.glade.h:59
+ msgid "Playlist _Name: "
+ msgstr "_Nome della scaletta: "
+ 
+-#: ../data/banshee-dialogs.glade.h:57
++#: ../data/banshee-dialogs.glade.h:60
+ msgid "Predefined Smart Playlists"
+ msgstr "Scalette intelligenti predefinite"
+ 
+-#: ../data/banshee-dialogs.glade.h:58
++#: ../data/banshee-dialogs.glade.h:61
+ msgid "Preferences"
+ msgstr "Preferenze"
+ 
+-#: ../data/banshee-dialogs.glade.h:59
++#: ../data/banshee-dialogs.glade.h:62
+ msgid "Reset"
+ msgstr "Azzera"
+ 
+ # riferito alla copertina, checkbox
+-#: ../data/banshee-dialogs.glade.h:60
++#: ../data/banshee-dialogs.glade.h:63
+ msgid "Save to song directory"
+-msgstr "Salva nella directory delle canzoni"
++msgstr "Salva nella cartella delle canzoni"
+ 
+-#: ../data/banshee-dialogs.glade.h:61
++#: ../data/banshee-dialogs.glade.h:64
+ msgid "Seek to Position"
+ msgstr "Scorri alla posizione"
+ 
+-#: ../data/banshee-dialogs.glade.h:62
++#: ../data/banshee-dialogs.glade.h:65
+ msgid "Select for use"
+ msgstr "Seleziona per l'uso"
+ 
+-#: ../data/banshee-dialogs.glade.h:63
+-#: ../src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:64
+-#: ../src/Banshee.Base/Dap/Dap.cs:647
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:273
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:296
++#: ../data/banshee-dialogs.glade.h:66
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:64
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:661
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:302
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:325
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:99
+ msgid "Unknown"
+ msgstr "Sconosciuto"
+ 
+-#: ../data/banshee-dialogs.glade.h:64
++#: ../data/banshee-dialogs.glade.h:67
++msgid "Use error correction when importing"
++msgstr "Usa correzione errori nell'importazione"
++
++#: ../data/banshee-dialogs.glade.h:68
++msgid "Write _metadata to files"
++msgstr "Scrivere i _metadati nei file"
++
++#: ../data/banshee-dialogs.glade.h:69
+ msgid "Write disc to:"
+ msgstr "Scrivi disco su:"
+ 
+-#: ../data/banshee-dialogs.glade.h:65
+-msgid "Write metadata to files"
+-msgstr "Scrivere i metadati nei file"
+-
+-#: ../data/banshee-dialogs.glade.h:66
++#: ../data/banshee-dialogs.glade.h:70
+ msgid "Write speed:"
+ msgstr "Velocità di scrittura:"
+ 
+-#: ../data/banshee-dialogs.glade.h:67
++#: ../data/banshee-dialogs.glade.h:71
+ msgid ""
+ "Your music library is empty. You may import new music into your library now, "
+ "or choose to do so later."
+@@ -521,2402 +478,4529 @@
+ "La libreria musicale è vuota. È possibile importare adesso della nuova "
+ "musica nella libreria, oppure decidere di farlo in un secondo momento."
+ 
+-#: ../data/banshee-dialogs.glade.h:68
++#: ../data/banshee-dialogs.glade.h:72
+ msgid "_Write"
+ msgstr "_Scrivi"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:248
++#: ../data/banshee.glade.h:1
++msgid "<b>Loading...</b>"
++msgstr "<b>Caricamento...</b>"
++
++#: ../data/banshee.glade.h:3
++msgid "Disk Usage:"
++msgstr "Uso del disco:"
++
++#: ../data/banshee.glade.h:4
++msgid "_Search:"
++msgstr "_Cerca:"
++
++#: ../libbanshee/gst-cd-rip-0.10.c:222
+ msgid "Could not create pipeline"
+ msgstr "Non è stato possibile creare la pipeline"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:254
+-msgid "Could not initialize cdparanoia"
+-msgstr "Non è stato possibile inizializzare cdparanoia"
++#: ../libbanshee/gst-cd-rip-0.10.c:228
++msgid "Could not initialize element from cdda URI"
++msgstr "Impossibile inizializzare il componente da cdda URI"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:265
++#: ../libbanshee/gst-cd-rip-0.10.c:242
+ msgid "Could not create mbtrm plugin"
+ msgstr "Non è stato possibile creare il plugin mbtrm"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:277
++#: ../libbanshee/gst-cd-rip-0.10.c:254
+ msgid "Could not create encoder pipeline"
+-msgstr "Non è stato possibile creare la pipeline di codifica"
++msgstr "Non è stato possibile creare la pipeline del codificatore"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:283
++#: ../libbanshee/gst-cd-rip-0.10.c:260
+ msgid "Could not create queue plugin"
+ msgstr "Non è stato possibile creare il plugin queue"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:291
++#: ../libbanshee/gst-cd-rip-0.10.c:268
+ msgid "Could not create GNOME VFS output plugin"
+ msgstr "Non è stato possibile creare un plugin per l'output su GNOME VFS"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:307
+-msgid "Could not link pipeline elements"
+-msgstr "Non è stato possibile collegare gli elementi di una pipeline"
++#: ../libbanshee/gst-cd-rip-0.10.c:284
++msgid "Could not link cddasrcsrc to mbtrm"
++msgstr "Impossibile collegare cddasrcsrc a mbtrm"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:398
+-#: ../src/Banshee.Base/BansheeBranding.cs:80
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:121
++#: ../libbanshee/gst-cd-rip-0.10.c:289
++msgid "Could not link mbtrm to queue"
++msgstr "Impossibile collegare mbtrm a queue"
++
++#: ../libbanshee/gst-cd-rip-0.10.c:294
++msgid "Could not link queue to encoder"
++msgstr "Impossibile collegare queue a encoder"
++
++#: ../libbanshee/gst-cd-rip-0.10.c:299
++msgid "Could not link encoder to gnomevfssink"
++msgstr "Impossibile collegare encoder a gnomevfssink"
++
++#: ../libbanshee/gst-cd-rip-0.10.c:409
++#: ../src/Core/Banshee.Base/BansheeBranding.cs:83
++#: ../src/Plugins/Banshee.Plugins.MiniMode/minimode.glade.h:3
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:171
+ msgid "Banshee"
+ msgstr "Banshee"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:424
++#: ../libbanshee/gst-cd-rip-0.10.c:446
+ msgid "Encoding element does not support tagging!"
+-msgstr ""
++msgstr "L'elemento codificato non supporta l'applicazione di tag!"
+ 
+ #: ../libbanshee/gst-transcode-0.10.c:160
+ msgid "No decoder could be found for source format."
+ msgstr ""
+-"Non è stato possibile trovare alcun decodificatore per il formato sorgente"
++"Non è stato possibile trovare alcun decodificatore per la sorgente del "
++"formato"
+ 
+ #: ../libbanshee/gst-transcode-0.10.c:165
+ msgid "Could not stat encoded file"
+-msgstr ""
++msgstr "Impossibile accedere al file codificato"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:258
++#: ../libbanshee/gst-transcode-0.10.c:249
+ msgid "Could not create 'gnomevfssrc' plugin"
+-msgstr ""
++msgstr "Impossibile creare il plugin 'gnomevfssrc'"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:264
++#: ../libbanshee/gst-transcode-0.10.c:255
+ msgid "Could not create 'decodebin' plugin"
+-msgstr ""
++msgstr "Impossibile creare il plugin 'decodebin'"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:270
++#: ../libbanshee/gst-transcode-0.10.c:261
+ msgid "Could not create 'gnomevfssink' plugin"
+-msgstr ""
++msgstr "Impossibile creare il plugin 'gnomevfssink'"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:276
++#: ../libbanshee/gst-transcode-0.10.c:267
+ msgid "Could not create 'sinkben' plugin"
+-msgstr ""
++msgstr "Impossibile creare il plugin 'sinkben'"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:282
++#: ../libbanshee/gst-transcode-0.10.c:273
+ msgid "Could not create 'audioconvert' plugin"
+-msgstr ""
++msgstr "Impossibile creare il plugin 'audioconvert'"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:288
++#: ../libbanshee/gst-transcode-0.10.c:279
+ msgid "Could not create encoding pipeline"
+-msgstr ""
++msgstr "Impossibile creare il canale di codifica"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:294
++#: ../libbanshee/gst-transcode-0.10.c:285
+ msgid "Could not get sink pad from encoder"
+-msgstr ""
++msgstr "Impossibile connettersi alla fonte pad del codificatore"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:377
++#: ../libbanshee/gst-transcode-0.10.c:368
+ msgid "Could not construct pipeline"
+-msgstr ""
++msgstr "Impossibile creare la pipeline"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:65
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:1
++msgid "Order"
++msgstr "Disponi"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:2
++msgid "Order of Album column"
++msgstr "Disposizione della colonna Album"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:3
++msgid "Order of Artist column"
++msgstr "Disposizione della colonna Artista"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:4
++msgid "Order of Date Added column"
++msgstr "Disposizione colonna Data di aggiunta"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:5
++msgid "Order of Genre column"
++msgstr "Disposizione della colonna Genere"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:6
++msgid "Order of Last Played column"
++msgstr "Disposizione della colonna Ultima riproduzione"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:7
++msgid "Order of Play Count column"
++msgstr "Disposizione della colonna Numero di passaggi"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:8
++msgid "Order of Rating column"
++msgstr "Disposizione della colonna Giudizio"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:9
++msgid "Order of Time column"
++msgstr "Disposizione della colonna Durata"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:10
++msgid "Order of Title column"
++msgstr "Disposizione della colonna Titolo"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:11
++msgid "Order of Track column"
++msgstr "Disposizione della colonna Traccia"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:12
++msgid "Order of Uri column"
++msgstr "Disposizione della colonna Uri"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:13
++msgid "Order of Year column"
++msgstr "Disposizione della colonna Anno"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:14
++msgid "Visibility of Album column"
++msgstr "Visibilità della colonna Album"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:15
++msgid "Visibility of Artist column"
++msgstr "Visibilità della colonna Artista"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:16
++msgid "Visibility of Date Added column"
++msgstr "Visibilità della colonna Data importazione"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:17
++msgid "Visibility of Genre column"
++msgstr "Visibilità della colonna Genere"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:18
++msgid "Visibility of Last Played column"
++msgstr "Visibilità della colonna Ultima riproduzione"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:19
++msgid "Visibility of Play Count column"
++msgstr "Visibilità della colonna Numero di passaggi"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:20
++msgid "Visibility of Rating column"
++msgstr "Visibilità della colonna Giudizio"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:21
++msgid "Visibility of Time column"
++msgstr "Visibilità della colonna Durata"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:22
++msgid "Visibility of Title column"
++msgstr "Visibilità della colonna Titolo"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:23
++msgid "Visibility of Track column"
++msgstr "Visibilità della colonna Traccia"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:24
++msgid "Visibility of Uri column"
++msgstr "Visibilità della colonna Uri"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:25
++msgid "Visibility of Year column"
++msgstr "Visibilità della colonna Anno"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:26
++msgid "Visiblity"
++msgstr "Visibilità"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:27
++msgid "Width"
++msgstr "Larghezza"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:28
++msgid "Width of Album column"
++msgstr "Larghezza della colonna Album"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:29
++msgid "Width of Artist column"
++msgstr "Larghezza della colonna Artista"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:30
++msgid "Width of Date Added column"
++msgstr "Larghezza della colonna Data importazione"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:31
++msgid "Width of Genre column"
++msgstr "Larghezza della colonna Genere"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:32
++msgid "Width of Last Played column"
++msgstr "Larghezza della colonna Ultima riproduzione"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:33
++msgid "Width of Play Count column"
++msgstr "Larghezza della colonna Numero di passaggi"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:34
++msgid "Width of Time column"
++msgstr "Larghezza della colonna Durata"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:35
++msgid "Width of Title column"
++msgstr "Larghezza della colonna Titolo"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:36
++msgid "Width of Uri column"
++msgstr "Larghezza della colonna Uri"
++
++#: ../src/Core/Banshee/banshee-interface.schemas.in.h:37
++msgid "Width of Year column"
++msgstr "Larghezza della colonna Anno"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/AlbumColumn.cs:42
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:46
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:788
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:91
++msgid "Album"
++msgstr "Album"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/ArtistColumn.cs:42
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:47
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:786
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:86
++msgid "Artist"
++msgstr "Artista"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/DateAddedColumn.cs:42
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:790
++msgid "Date Added"
++msgstr "Data di aggiunta"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/DurationColumn.cs:42
++msgid "Time"
++msgstr "Durata"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/DurationColumn.cs:56
++msgid "N/A"
++msgstr "N/D"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/GenreColumn.cs:42
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:48
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:789
++#: ../src/Core/Banshee/PlayerInterface.cs:475
++msgid "Genre"
++msgstr "Genere"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/LastPlayedColumn.cs:42
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:791
++msgid "Last Played"
++msgstr "Ultima riproduzione"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/PlayCountColumn.cs:42
++msgid "Plays"
++msgstr "Passaggi"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/RatingColumn.cs:43
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:814
++msgid "Rating"
++msgstr "Giudizio"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:42
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:49
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:787
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:96
++msgid "Title"
++msgstr "Titolo"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:59
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:126
++msgid "Missing"
++msgstr "Mancante"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:65
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:129
++msgid "No Codec"
++msgstr "Nessun codec"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:68
++#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:229
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:132
++msgid "Unknown Error"
++msgstr "Errore sconosciuto"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/TrackNumberColumn.cs:42
++msgid "Track"
++msgstr "Traccia"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/TrackViewColumn.cs:141
++msgid "Columns..."
++msgstr "Colonne..."
++
++#. Translators: {0} is the title of the column, e.g. 'Hide Artist'
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/TrackViewColumn.cs:144
++#, csharp-format
++msgid "Hide {0}"
++msgstr "Nascondi {0}"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/UriColumn.cs:42
++msgid "Location"
++msgstr "Posizione"
++
++#: ../src/Core/Banshee/Banshee.TrackView.Columns/YearColumn.cs:42
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:816
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:121
++#: ../src/Core/Banshee/PlayerInterface.cs:476
++msgid "Year"
++msgstr "Anno"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:65
+ msgid "_Music"
+ msgstr "_Musica"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:68
+-#: ../src/Banshee.Base/Sources/PlaylistSource.cs:76
+-#: ../src/Banshee.Base/Sources/PlaylistSource.cs:438
+-#: ../src/Banshee.Base/Sources/PlaylistSource.cs:444
+-#: ../src/PlayerInterface.cs:1572
+-msgid "New Playlist"
+-msgstr "Nuova scaletta"
++#: ../src/Core/Banshee.Base/ActionManager.cs:68
++msgid "_New Playlist"
++msgstr "_Nuova scaletta"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:69
++#: ../src/Core/Banshee.Base/ActionManager.cs:69
+ msgid "Create a new empty playlist"
+ msgstr "Crea una nuova scaletta vuota"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:72
++#: ../src/Core/Banshee.Base/ActionManager.cs:72
+ msgid "Import _Folder..."
+ msgstr "Importa _cartella..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:73
++#: ../src/Core/Banshee.Base/ActionManager.cs:73
+ msgid "Import the contents of an entire folder"
+ msgstr "Importa il contenuto di una intera cartella"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:76
++#: ../src/Core/Banshee.Base/ActionManager.cs:76
+ msgid "Import Files..."
+ msgstr "Importa file..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:77
++#: ../src/Core/Banshee.Base/ActionManager.cs:77
+ msgid "Import files inside a folder"
+ msgstr "Importa i file all'interno di una cartella"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:80
+-msgid "Import Music..."
+-msgstr "Importa musica..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:80
++msgid "Import _Music..."
++msgstr "Importa _musica..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:81
++#: ../src/Core/Banshee.Base/ActionManager.cs:81
+ msgid "Import music from a variety of sources"
+-msgstr "Importa della musica da sorgenti diverse"
++msgstr "Importa musica da sorgenti diverse"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:84
+-msgid "Open Location..."
+-msgstr "Apri posizione..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:84
++msgid "Open _Location..."
++msgstr "Apri _posizione..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:85
++#: ../src/Core/Banshee.Base/ActionManager.cs:85
+ msgid "Open a remote location for playback"
+ msgstr "Apre una posizione remota per la riproduzione"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:88
++#: ../src/Core/Banshee.Base/ActionManager.cs:88
+ msgid "Write CD"
+ msgstr "Scrivi CD"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:89
++#: ../src/Core/Banshee.Base/ActionManager.cs:89
+ msgid "Write selection to audio CD"
+ msgstr "Scrive la selezione su un CD audio"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:92
++#: ../src/Core/Banshee.Base/ActionManager.cs:92
+ msgid "Import Source"
+ msgstr "Importa sorgente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:93
++#: ../src/Core/Banshee.Base/ActionManager.cs:93
+ msgid "Import source to library"
+ msgstr "Importa una sorgente nella libreria"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:96
+-msgid "Source Properties..."
+-msgstr "Proprietà sorgente..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:100
++msgid "User Scripts"
++msgstr "Script utente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:97
+-msgid "View source properties"
+-msgstr "Visualizza le proprietà della sorgente"
++#: ../src/Core/Banshee.Base/ActionManager.cs:101
++msgid "Run available user scripts"
++msgstr "Avvia script utente disponibili"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:100
++#: ../src/Core/Banshee.Base/ActionManager.cs:104
+ msgid "_Quit"
+ msgstr "_Esci"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:101
++#: ../src/Core/Banshee.Base/ActionManager.cs:105
+ msgid "Quit Banshee"
+ msgstr "Esce da Banshee"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:104
++#: ../src/Core/Banshee.Base/ActionManager.cs:108
+ msgid "_Edit"
+ msgstr "_Modifica"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:115
+-msgid "Select All"
+-msgstr "Seleziona tutto"
++#: ../src/Core/Banshee.Base/ActionManager.cs:119
++msgid "Select _All"
++msgstr "Seleziona _tutto"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:116
++#: ../src/Core/Banshee.Base/ActionManager.cs:120
+ msgid "Select all songs in song list"
+-msgstr "Seleziona tutte le canzoni nell'elenco delle canzoni"
++msgstr "Seleziona tutte le tracce nell'elenco delle canzoni"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:119
+-msgid "Select None"
+-msgstr "Deseleziona tutto"
++#: ../src/Core/Banshee.Base/ActionManager.cs:123
++msgid "Select _None"
++msgstr "Deseleziona _tutto"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:120
++#: ../src/Core/Banshee.Base/ActionManager.cs:124
+ msgid "Unselect all songs in song list"
+-msgstr "Deseleziona tutte le canzoni nell'elenco di canzoni"
++msgstr "Deseleziona tutte le tracce nell'elenco di canzoni"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:123
+-msgid "Jump to playing song"
+-msgstr "Salta alla canzone in riproduzione"
++#: ../src/Core/Banshee.Base/ActionManager.cs:127
++msgid "_Jump to playing song"
++msgstr "_Salta alla traccia in riproduzione"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:127
+-msgid "Plugins..."
+-msgstr "Plugins..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:131
++msgid "Plu_gins..."
++msgstr "Plu_gin..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:128
++#: ../src/Core/Banshee.Base/ActionManager.cs:132
+ msgid "Configure Banshee plugins"
+ msgstr "Configura i plugin di Banshee"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:133
++#: ../src/Core/Banshee.Base/ActionManager.cs:137
++msgid "_Tools"
++msgstr "_Strumenti"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:140
+ msgid "_View"
+ msgstr "_Visualizza"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:136
+-msgid "Columns..."
+-msgstr "Colonne..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:143
++msgid "_Columns..."
++msgstr "_Colonne..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:137
++#: ../src/Core/Banshee.Base/ActionManager.cs:144
+ msgid "Select which columns to display in the song list"
+-msgstr "Seleziona quali colonne visualizzare nell'elenco delle canzoni"
++msgstr "Seleziona quali colonne visualizzare nell'elenco delle tracce"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:141
++#: ../src/Core/Banshee.Base/ActionManager.cs:147
++msgid "_Boo Buddy..."
++msgstr "_Boo Buddy..."
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:148
++msgid "Open Boo Buddy"
++msgstr "Apri Boo buddy"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:155
+ msgid "Display the equalizer."
+ msgstr "Mostra l'equalizzatore."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:144
+-msgid "Logged Events Viewer..."
+-msgstr "Visualizzatore eventi registrati..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:158
++msgid "_Logged Events Viewer..."
++msgstr "Visualizzatore _eventi registrati..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:145
++#: ../src/Core/Banshee.Base/ActionManager.cs:159
+ msgid "View a detailed log of events"
+ msgstr "Visualizza un registro dettagliato degli eventi"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:148
++#: ../src/Core/Banshee.Base/ActionManager.cs:162
+ msgid "_Help"
+-msgstr "A_iuto"
++msgstr "_Aiuto"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:151
+-msgid "Version Information..."
+-msgstr "Informazioni versione..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:165
++msgid "_Version Information..."
++msgstr "Informazioni _versione..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:152
++#: ../src/Core/Banshee.Base/ActionManager.cs:166
+ msgid "View detailed version and configuration information"
+ msgstr ""
+ "Visualizza informazioni dettagliate sulla versione e sulla configurazione"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:155
+-msgid "Web Resources"
+-msgstr "Risorse web"
++#: ../src/Core/Banshee.Base/ActionManager.cs:169
++msgid "_Web Resources"
++msgstr "Risorse in _rete"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:158
+-msgid "Banshee User Guide (Wiki)"
+-msgstr "Guida utente di Banshee (wiki)"
++#: ../src/Core/Banshee.Base/ActionManager.cs:172
++msgid "Banshee _User Guide (Wiki)"
++msgstr "Guida _utente di Banshee (wiki)"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:159
++#: ../src/Core/Banshee.Base/ActionManager.cs:173
+ msgid "Learn about how to use Banshee"
+ msgstr "Per imparare a usare Banshee"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:164
+-msgid "Banshee Home Page"
+-msgstr "Homepage di Banshee"
++#: ../src/Core/Banshee.Base/ActionManager.cs:178
++msgid "Banshee _Home Page"
++msgstr "Pagina web di Banshee"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:165
++#: ../src/Core/Banshee.Base/ActionManager.cs:179
+ msgid "Visit the Banshee Home Page"
+ msgstr "Per visitare la homepage di Banshee"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:170
+-msgid "Get Involved"
+-msgstr "Partecipare"
++#: ../src/Core/Banshee.Base/ActionManager.cs:184
++msgid "_Get Involved"
++msgstr "_Contribuire"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:171
++#: ../src/Core/Banshee.Base/ActionManager.cs:185
+ msgid "Become a contributor to Banshee"
+ msgstr "Per diventare un contributore di Banshee"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:178
++#: ../src/Core/Banshee.Base/ActionManager.cs:192
+ msgid "_Playback"
+-msgstr "_Controlli"
++msgstr "_Riproduci"
+ 
+ #. Translators: Source being the generic word for playlist, device, library, etc
+-#: ../src/Banshee.Base/ActionManager.cs:181
+-#: ../src/Banshee.Base/Gui/SourceView.cs:102 ../src/Banshee.Base/Source.cs:289
++#: ../src/Core/Banshee.Base/ActionManager.cs:195
++#: ../src/Core/Banshee.Base/Gui/SourceView.cs:105
++#: ../src/Core/Banshee.Base/Source.cs:323
+ msgid "Source"
+ msgstr "Sorgente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:184
++#: ../src/Core/Banshee.Base/ActionManager.cs:198
+ msgid "Song Menu"
+-msgstr "Menù canzone"
++msgstr "Menù traccia"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:187
+-msgid "Debug"
+-msgstr "Debug"
++#: ../src/Core/Banshee.Base/ActionManager.cs:201
++msgid "_Debug"
++msgstr "_Debug"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:192
+-msgid "Fullscreen"
+-msgstr "Schermo intero"
++#: ../src/Core/Banshee.Base/ActionManager.cs:204
++msgid "Import Playlist..."
++msgstr "Importa scaletta..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:193
++#: ../src/Core/Banshee.Base/ActionManager.cs:205
++msgid "Import a playlist"
++msgstr "Importa una scaletta"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:208
++msgid "Export Playlist..."
++msgstr "Esporta scaletta..."
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:209
++msgid "Export a playlist"
++msgstr "Esporta la scaletta"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:214
++msgid "_Fullscreen"
++msgstr "_Schermo intero"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:215
+ msgid "Toggle Fullscreen Mode"
+ msgstr "Commuta modalità a tutto schermo"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:196
+-msgid "Show Cover Art"
+-msgstr "Mostra la copertina"
++#: ../src/Core/Banshee.Base/ActionManager.cs:218
++msgid "Show Cover _Art"
++msgstr "Mostra la _copertina"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:197
++#: ../src/Core/Banshee.Base/ActionManager.cs:219
+ msgid "Toggle display of album cover art"
+ msgstr "Commuta la visualizzazione delle copertine degli album"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:208
+-msgid "Remove Song(s)"
+-msgstr "Rimuovi canzoni"
++#: ../src/Core/Banshee.Base/ActionManager.cs:230
++msgid "_Copy"
++msgstr "_Copia"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:209
++#: ../src/Core/Banshee.Base/ActionManager.cs:231
++msgid "Copy selected song(s) to clipboard"
++msgstr "Elimina la o le tracce selezionate nella clipboard"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:234
++msgid "_Remove"
++msgstr "_Rimuovi"
++
++#: ../src/Core/Banshee.Base/ActionManager.cs:235
+ msgid "Remove selected song(s) from library"
+-msgstr "Elimina la o le canzoni selezionate dalla libreria"
++msgstr "Elimina la o le tracce selezionate dalla libreria"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:212
+-msgid "Delete Song(s) From Drive"
+-msgstr "Elimina canzoni dall'unità"
++#: ../src/Core/Banshee.Base/ActionManager.cs:238
++msgid "_Delete From Drive"
++msgstr "_Elimina dall'unità"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:213
++#: ../src/Core/Banshee.Base/ActionManager.cs:239
+ msgid "Permanently delete selected song(s) from storage medium"
+ msgstr ""
+-"Elimina permanentemente la o le canzoni selezionate dal supporto di "
++"Elimina permanentemente la o le tracce selezionate dal supporto di "
+ "memorizzazione"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:216
+-msgid "Edit Song Metadata"
+-msgstr "Modifica metadati canzone"
++#: ../src/Core/Banshee.Base/ActionManager.cs:242
++msgid "_Edit Song Metadata"
++msgstr "_Modifica metadati traccia"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:217
++#: ../src/Core/Banshee.Base/ActionManager.cs:243
+ msgid "Edit metadata on selected songs"
+-msgstr "Modifica i metadati delle canzoni selezionate"
++msgstr "Modifica i metadati delle tracce selezionate"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:220
+-msgid "Search for songs"
+-msgstr "Ricerca canzoni"
++#: ../src/Core/Banshee.Base/ActionManager.cs:246
++msgid "_Search for Songs"
++msgstr "_Ricerca per tracce"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:221
++#: ../src/Core/Banshee.Base/ActionManager.cs:247
+ msgid "Search for songs matching certain criteria"
+-msgstr "Ricerca le canzoni che corrispondono a certi criteri"
++msgstr "Ricerca le tracce che corrispondono a certi criteri"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:224
+-msgid "By matching album"
+-msgstr "Per album"
++#: ../src/Core/Banshee.Base/ActionManager.cs:250
++msgid "By Matching _Album"
++msgstr "Ordina per _album"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:225
++#: ../src/Core/Banshee.Base/ActionManager.cs:251
+ msgid "Search all songs of this album"
+-msgstr "Cerca tutte le canzoni di questo album"
++msgstr "Cerca tutte le tracce di questo album"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:228
+-msgid "By matching artist"
+-msgstr "Per artista"
++#: ../src/Core/Banshee.Base/ActionManager.cs:254
++msgid "By Matching A_rtist"
++msgstr "Ordina per a_rtista"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:229
++#: ../src/Core/Banshee.Base/ActionManager.cs:255
+ msgid "Search all songs of this artist"
+ msgstr "Cerca tutte le canzoni di questo artista"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:232
+-msgid "By matching genre"
+-msgstr "Per genere"
++#: ../src/Core/Banshee.Base/ActionManager.cs:258
++msgid "By Matching _Genre"
++msgstr "Ordina per _genere"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:233
++#: ../src/Core/Banshee.Base/ActionManager.cs:259
+ msgid "Search all songs of this genre"
+ msgstr "Cerca tutte le canzoni di questo genere"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:236
+-msgid "Add to Playlist"
+-msgstr "Aggiungi alla scaletta"
++#: ../src/Core/Banshee.Base/ActionManager.cs:262
++msgid "Add _to Playlist"
++msgstr "Aggiungi _alla scaletta"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:237
++#: ../src/Core/Banshee.Base/ActionManager.cs:263
+ msgid "Append selected songs to playlist or create new playlist from selection"
+ msgstr ""
+-"Accoda le canzoni selezionate alla scaletta oppure crea una nuova scaletta "
++"Accoda le tracce selezionate alla scaletta oppure crea una nuova scaletta "
+ "dalla selezione"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:240
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:716
+-#: ../src/PlaylistView.cs:124
+-msgid "Rating"
+-msgstr "Giudizio"
+-
+-#: ../src/Banshee.Base/ActionManager.cs:241
+-msgid "Set rating for selected songs"
+-msgstr "Imposta il giudizio delle canzoni selezionate"
+-
+-#: ../src/Banshee.Base/ActionManager.cs:250
++#: ../src/Core/Banshee.Base/ActionManager.cs:272
+ msgid "Import CD"
+ msgstr "Importa CD"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:251
++#: ../src/Core/Banshee.Base/ActionManager.cs:273
+ msgid "Import audio CD to library"
+ msgstr "Importa un audio CD nella libreria"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:260 ../src/PlayerInterface.cs:805
+-#: ../src/PlayerInterface.cs:813
+-msgid "Play"
+-msgstr "Riproduci"
++#: ../src/Core/Banshee.Base/ActionManager.cs:282
++msgid "_Play"
++msgstr "_Riproduci"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:261
++#: ../src/Core/Banshee.Base/ActionManager.cs:283
+ msgid "Play or pause the current song"
+-msgstr "Riproduce o mette in pausa la canzone corrente"
++msgstr "Riproduci o mette in pausa la traccia corrente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:264
+-msgid "Next"
+-msgstr "Successiva"
++#: ../src/Core/Banshee.Base/ActionManager.cs:286
++msgid "_Next"
++msgstr "_Successiva"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:265
++#: ../src/Core/Banshee.Base/ActionManager.cs:287
+ msgid "Play the next song"
+-msgstr "Riproduce la canzone successiva"
++msgstr "Riproduci la traccia successiva"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:268
+-msgid "Previous"
+-msgstr "Precedente"
++#: ../src/Core/Banshee.Base/ActionManager.cs:290
++msgid "Pre_vious"
++msgstr "Pre_cedente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:269
++#: ../src/Core/Banshee.Base/ActionManager.cs:291
+ msgid "Play the previous song"
+-msgstr "Riproduce la canzone precedente"
++msgstr "Riproduci la traccia precedente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:274
+-#: ../src/Banshee.Base/Gui/ToggleStates.cs:40
+-msgid "Repeat None"
+-msgstr "Non ripetere"
++#: ../src/Core/Banshee.Base/ActionManager.cs:296
++msgid "Repeat N_one"
++msgstr "N_on ripetere"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:275
++#: ../src/Core/Banshee.Base/ActionManager.cs:297
+ msgid "Do not repeat playlist"
+ msgstr "Non ripetere la scaletta"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:278
+-#: ../src/Banshee.Base/Gui/ToggleStates.cs:58
+-msgid "Repeat All"
+-msgstr "Ripeti tutte"
++#: ../src/Core/Banshee.Base/ActionManager.cs:300
++msgid "Repeat _All"
++msgstr "Ripeti _tutte"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:279
++#: ../src/Core/Banshee.Base/ActionManager.cs:301
+ msgid "Play all songs before repeating playlist"
+-msgstr "Riproduce tutte le canzoni prima di ripetere la scaletta"
++msgstr "Riproduci tutte le tracce prima di ripetere la scaletta"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:282
+-#: ../src/Banshee.Base/Gui/ToggleStates.cs:49
+-msgid "Repeat Single"
+-msgstr "Ripeti singolo"
++#: ../src/Core/Banshee.Base/ActionManager.cs:304
++msgid "Repeat Si_ngle"
++msgstr "Ripeti si_ngolo"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:283
++#: ../src/Core/Banshee.Base/ActionManager.cs:305
+ msgid "Repeat the current playing song"
+-msgstr "Ripete la canzone attualmente in riproduzione"
++msgstr "Ripete la traccia attualmente in riproduzione"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:288
+-#: ../src/Banshee.Base/Gui/ToggleStates.cs:67
+-msgid "Shuffle"
+-msgstr "Casuale"
++#: ../src/Core/Banshee.Base/ActionManager.cs:310
++msgid "Shu_ffle"
++msgstr "Ca_suale"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:289
++#: ../src/Core/Banshee.Base/ActionManager.cs:311
+ msgid "Toggle between shuffle or continuous playback modes"
+ msgstr "Commuta tra la modalità di riproduzione casuale oppure continua"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:292
+-msgid "Stop when finished"
+-msgstr "Ferma al termine"
++#: ../src/Core/Banshee.Base/ActionManager.cs:314
++msgid "_Stop When Finished"
++msgstr "_Ferma al termine della traccia"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:293
++#: ../src/Core/Banshee.Base/ActionManager.cs:315
+ msgid "Stop playback after the current song finishes playing"
+-msgstr "Ferma la riproduzione dopo che la canzone corrente è terminata"
++msgstr "Ferma la riproduzione dopo che la traccia corrente è terminata"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:302
+-msgid "Seek Backward"
+-msgstr "Scorri avanti"
++#: ../src/Core/Banshee.Base/ActionManager.cs:324
++msgid "Seek _Backward"
++msgstr "Scorri _indietro"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:303
++#: ../src/Core/Banshee.Base/ActionManager.cs:325
+ msgid "Seek backward in current song"
+-msgstr "Scorre avanti nella canzone corrente"
++msgstr "Scorre avanti nella traccia corrente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:306
+-msgid "Seek Forward"
+-msgstr "Scorri indietro"
++#: ../src/Core/Banshee.Base/ActionManager.cs:328
++msgid "Seek _Forward"
++msgstr "Scorri _avanti"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:307
++#: ../src/Core/Banshee.Base/ActionManager.cs:329
+ msgid "Seek forward in current song"
+-msgstr "Scorre indientro nella canzone corrente"
++msgstr "Scorre indientro nella traccia corrente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:310
+-msgid "Seek To..."
+-msgstr "Scorri a..."
++#: ../src/Core/Banshee.Base/ActionManager.cs:332
++msgid "Seek _to..."
++msgstr "Scorri _a..."
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:311
++#: ../src/Core/Banshee.Base/ActionManager.cs:333
+ msgid "Seek to a specific location in current song"
+-msgstr "Scorre a una specifica posizione nella canzone corrente"
++msgstr "Scorre a una specifica posizione nella traccia corrente"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:314
+-msgid "Restart Song"
+-msgstr "Riavvia canzone"
++#: ../src/Core/Banshee.Base/ActionManager.cs:336
++msgid "_Restart Song"
++msgstr "_Riavvia traccia"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:315
++#: ../src/Core/Banshee.Base/ActionManager.cs:337
+ msgid "Restart the current song"
+-msgstr "Riavvia la canzone in riproduzione"
++msgstr "Riavvia la traccia in riproduzione"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:324 ../src/PlayerInterface.cs:1065
++#: ../src/Core/Banshee.Base/ActionManager.cs:346
++#: ../src/Core/Banshee.Base/SourceManager.cs:276
+ msgid "Synchronize"
+ msgstr "Sincronizza"
+ 
+-#: ../src/Banshee.Base/ActionManager.cs:325
++#: ../src/Core/Banshee.Base/ActionManager.cs:347
+ msgid "Save changes to device or synchronize music library"
+ msgstr ""
+ "Salva i cambiamenti sul dispositivo oppure sincronizza libreria musicale"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdCore.cs:80
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdCore.cs:80
+ msgid "HAL is not initialized"
+ msgstr "HAL non è stato inizializzato"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdCore.cs:86
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdCore.cs:86
+ msgid "Audio CD Core Initialized"
+-msgstr "Core CD audio inizializzato"
++msgstr "Nucleo CD audio inizializzato"
+ 
+ #. work around mcs #76642
+-#: ../src/Banshee.Base/AudioCd/AudioCdCore.cs:103
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdCore.cs:103
+ msgid "Could not Read Audio CD"
+ msgstr "Impossibile leggere il CD audio"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdDisk.cs:86
+-#: ../src/Banshee.Base/TrackInfo.cs:383
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs:86
++#: ../src/Core/Banshee.Base/TrackInfo.cs:291
+ msgid "Unknown Artist"
+ msgstr "Artista sconosciuto"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdDisk.cs:87
+-#: ../src/Banshee.Base/TrackInfo.cs:391
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs:87
++#: ../src/Core/Banshee.Base/TrackInfo.cs:299
+ msgid "Unknown Album"
+ msgstr "Album sconosciuto"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdDisk.cs:88
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs:88
+ #, csharp-format
+ msgid "Track {0}"
+ msgstr "Traccia {0}"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdDisk.cs:93
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:59
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs:93
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:60
+ msgid "Audio CD"
+ msgstr "CD audio"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdDisk.cs:241
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs:244
+ msgid "Cannot Eject CD"
+ msgstr "Impossibile espellere il CD"
+ 
+-#: ../src/Banshee.Base/AudioCd/AudioCdDisk.cs:242
++#: ../src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs:245
+ msgid "The CD cannot be ejected while it is importing. Stop the import first."
+ msgstr ""
+ "Non è possibile espellere il CD mentre lo si sta importando. Fermare prima "
+ "l'importazione."
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:84
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:85
+ msgid "Could not create CD Ripper"
+ msgstr "Impossibile creare l'estrattore di CD"
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:274
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:275
+ msgid "Importing CD"
+-msgstr ""
++msgstr "Importazione CD"
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:283
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:284
+ #, csharp-format
+ msgid ""
+ "<i>{0}</i> is still being imported into the music library. Would you like to "
+ "stop it?"
+ msgstr ""
++"<i>{0}</i> sta importando nella libreria musicale. Si desidera fermare?"
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:291
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:292
+ #, csharp-format
+ msgid ""
+ "The device node '{0}' differs from the device node already set for "
+ "previously queued tracks ({1})"
+ msgstr ""
++"Il nodo del dispositivo '{0}' differisce da quello già selezionato per le "
++"precedenti tracce in coda ({1})"
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:304
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:305
+ msgid "Importing Audio CD"
+ msgstr "Importazione CD audio"
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:305
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:306
+ msgid "Initializing Drive"
+ msgstr "Inizializzazione unità"
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:312
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:313
+ msgid "No encoder was found on your system."
+-msgstr "Non è stato trovato alcun encoder nel sistema in uso."
++msgstr "Non è stato trovato alcun codificatore nel sistema in uso."
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:332
+-#: ../src/Banshee.Base/AudioCdRipper.cs:404
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:343
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:415
+ msgid "Cannot Import CD"
+ msgstr "Impossibile importare il CD"
+ 
+-#: ../src/Banshee.Base/AudioCdRipper.cs:352
+-#: ../src/Banshee.Base/ImportManager.cs:120
++#: ../src/Core/Banshee.Base/AudioCdRipper.cs:363
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImport.cs:55
++#: ../src/Core/Banshee.Base/ImportManager.cs:291
+ #, csharp-format
+ msgid "Importing {0} of {1}"
+ msgstr "Importazione di {0} su {1}"
+ 
+-#: ../src/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs:83
++#: ../src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs:84
+ msgid "No available profiles"
+ msgstr "Nessun profilo disponibile"
+ 
+-#: ../src/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:47
++#: ../src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:71
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs:88
+ msgid "Advanced"
+ msgstr "Avanzate"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:69
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:69
+ msgid "Audio Disc:"
+ msgstr "Disco audio:"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:73
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:73
+ msgid "Data Disc:"
+ msgstr "Disco di dati:"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:130
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:130
+ #, csharp-format
+ msgid "{0}:{1:00} of {2}"
+ msgstr "{0}:{1:00} di {2}"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:132
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:132
+ msgid "Unknown Minutes"
+-msgstr ""
++msgstr "Minuti sconosciuti"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:133
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:133
+ #, csharp-format
+ msgid "{0} Minutes"
+ msgstr "{0} minuti"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:136
+-#: ../src/Banshee.Base/Sources/DapSource.cs:312
+-#: ../src/Banshee.Widgets/StreamPositionLabel.cs:87
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:136
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:336
++#: ../src/Core/Banshee.Widgets/StreamPositionLabel.cs:90
+ #, csharp-format
+ msgid "{0} of {1}"
+ msgstr "{0} di {1}"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:137
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:137
+ msgid "Unknown MB"
+-msgstr ""
++msgstr "MB sconociuti"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:138
+-#: ../src/Banshee.Base/Utilities.cs:77
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:138
++#: ../src/Core/Banshee.Base/Utilities.cs:77
+ #, csharp-format
+ msgid "{0} MB"
+ msgstr "{0} MB"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerCore.cs:122
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSource.cs:63
+-msgid "New Audio CD"
+-msgstr "Nuovo CD audio"
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:118
++msgid "New Audio C_D"
++msgstr "Nuovo C_D audio"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerCore.cs:123
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:119
+ msgid "Create a new audio CD"
+ msgstr "Crea un nuovo CD audio"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerCore.cs:165
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:108
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:192
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:161
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:108
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:192
+ msgid "Problem creating CD"
+ msgstr "Problema nel creare il CD"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerCore.cs:166
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:162
+ msgid "No CD recording hardware was found."
+ msgstr "Non è stato trovato alcun hardware per la masterizzazione di CD."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerFormatList.cs:62
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerFormatList.cs:62
+ msgid "Audio"
+ msgstr "Audio"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:101
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:101
+ msgid "Some songs could not be found."
+-msgstr ""
++msgstr "Non è possibile trovare alcune tracce."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:109
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:109
+ msgid "No CD writers were found on your system."
+-msgstr "Nel sistema in uso non sono stati rilevati dispositivi di scrittura CD."
++msgstr ""
++"Nel sistema in uso non sono stati rilevati dispositivi di scrittura CD."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:115
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:115
+ msgid "Insert Blank CD"
+ msgstr "Inserire un CD vuoto"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:116
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:116
+ msgid "Please insert a blank CD disk for the write process."
+ msgstr "Inserire un disco CD vuoto per il processo di scrittura."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:136
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:156
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:136
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:156
+ #, csharp-format
+ msgid "The inserted media is not large enough to hold your selected music."
+ msgstr ""
++"Il dispositivo inserito non è abbastanza capiente da includere la musica "
++"selezionata."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:138
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:138
+ #, csharp-format
+ msgid "{0} more minute is needed on the media."
+ msgid_plural "{0} more minutes are needed on the media."
+-msgstr[0] ""
+-msgstr[1] ""
++msgstr[0] "{0} minuti liberi servono sul supporto."
++msgstr[1] "{0} minuti servono sul supporto."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:142
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:162
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:142
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:162
+ msgid "Not Enough Space on Disc"
+ msgstr "Spazio non sufficiente su disco"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:158
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:158
+ #, csharp-format
+ msgid "{0} more megabyte is needed on the media."
+ msgid_plural "{0} more megabytes are needed on the media."
+-msgstr[0] ""
+-msgstr[1] ""
++msgstr[0] "{0} megabyte liberi servono sul supporto."
++msgstr[1] "{0} megabyte servono sul supporto."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:175
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:175
+ msgid "Insufficient Disk Space"
+-msgstr ""
++msgstr "Spazio sul disco insufficiente"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:176
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:176
+ #, csharp-format
+ msgid "Creating this CD requires at least {0} MiB of free disk space."
+-msgstr ""
++msgstr "Creare questo CD richiede almeno {0} MiB di spazio libero sul disco."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:195
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:195
+ msgid "Continue Anyway"
+-msgstr ""
++msgstr "Continua comunque"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:239
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:239
+ msgid "Could Not Write CD"
+ msgstr "Impossibile scrivere il CD"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:240
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:240
+ msgid "No suitable encoder could be found to convert selected songs."
+ msgstr ""
++"Non è stato trovato nessun codificatore adatto a convertire le tracce "
++"selezionate."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:48
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:48
+ msgid "Writing a disc"
+ msgstr "Scrittura di un disco"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:55
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:56
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:55
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:56
+ msgid "Writing Disc"
+ msgstr "Scrittura disco"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:57
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:57
+ msgid ""
+ "Stopping the disc writing process will render it useless. Would you like to "
+ "stop writing the disc?"
+ msgstr ""
++"Fermare la scrittura del disco potrebbe renderlo inutilizzabile.Fermare la "
++"scrittura?"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:95
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:110
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:95
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:110
+ msgid "Error writing disc"
+ msgstr "Errore nello scrivere il disco"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:99
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:99
+ msgid "An unknown error occurred when attempting to write the disc."
+-msgstr "Si è verificato un errore sconosciuto nel tentativo di scrittura del disco."
++msgstr ""
++"Si è verificato un errore sconosciuto nel tentativo di scrittura del disco."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:105
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:105
+ msgid "Disc writing complete"
+ msgstr "Scrittura del disco completata"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:106
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:106
+ msgid "The selected audio was successfully written to the disc."
+ msgstr "L'audio selezionato è stata scritto con successo sul disco."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:142
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:142
+ msgid "Preparing to record"
+ msgstr "Preparazione della registrazione"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:146
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:146
+ msgid "Recording contents"
+ msgstr "Registrazione contenuti"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:150
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:150
+ msgid "Fixating disc"
+ msgstr "Chiusura del disco"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:168
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:168
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:319
+ msgid "Waiting for Media"
+ msgstr "In attesa di un supporto"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:172
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:175
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:172
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:175
+ msgid "Insert blank disc"
+ msgstr "Inserire un disco vuoto"
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:173
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:173
+ msgid "Please insert a blank disc for the write process."
+ msgstr "Inserire un disco vuoto per il processo di scrittura."
+ 
+-#: ../src/Banshee.Base/Banshee.Burner/BurnerSource.cs:233
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSource.cs:63
++msgid "New Audio CD"
++msgstr "Nuovo CD audio"
++
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSource.cs:233
+ msgid "CD Session"
+-msgstr ""
++msgstr "Sessione CD"
+ 
+-#: ../src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:69
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:69
+ msgid "Maximum"
+-msgstr ""
++msgstr "Massima"
+ 
+-#: ../src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:70
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:70
+ msgid "High"
+-msgstr ""
++msgstr "Alta"
+ 
+-#: ../src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:71
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:71
+ msgid "Medium"
+-msgstr ""
++msgstr "Media"
+ 
+-#: ../src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:72
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:72
+ msgid "Low"
+-msgstr ""
++msgstr "Bassa"
+ 
+-#: ../src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:77
+-#: ../src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:90
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:77
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:90
+ #, csharp-format
+ msgid "{0}x"
+ msgstr "{0}x"
+ 
+-#: ../src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDiscDuplicator.cs:46
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDiscDuplicator.cs:46
+ msgid "Copy CD failed"
+-msgstr ""
++msgstr "Copia CD fallita"
+ 
+-#: ../src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDiscDuplicator.cs:47
++#: ../src/Core/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDiscDuplicator.cs:47
+ msgid "Could not run nautilus-cd-burner"
+ msgstr "Impossibile eseguire nautilus-cd-burner"
+ 
+-#. Console.WriteLine(Catalog.GetString("Cannot Import: {0} ({1}, {2})"),
+-#. args.FileName, e.GetType(), e.Message);
+-#: ../src/Banshee.Base/Banshee.Library/Import.cs:69
+-#: ../src/Banshee.Dap/MassStorage/MassStorageDap.cs:177
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:1
++msgid "Backend"
++msgstr "Backend"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:2
++msgid "Base location for library music"
++msgstr "Posizione della libreria musicale"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:3
++msgid ""
++"Can be either \"systemio\" (.NET System.IO), \"unix\" (Native Unix), or "
++"\"gnomevfs\" (GNOME VFS); takes effect on Banshee start (restart necessary)"
++msgstr ""
++"Può essere sia \"systemio\" (.NET System.IO), \"unix\" (Unix nativo), oppure "
++"\"gnomevfs\" (GNOME VFS); il cambiamento sarà effettivo al riavvio di "
++"Banshee (necessario)"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:4
++msgid "Column index"
++msgstr "Colonna indice"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:5
++msgid "Column index for sorting the library source. -1 for unset."
++msgstr ""
++"Indice colonna di ordinamento della libreria sorgente. -1 per non impostarlo."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:6
++msgid "Column sort type"
++msgstr "Disponi tipo colonna"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:7
++msgid ""
++"Column sort type for the library source. Ascending (0) or Descending (1)"
++msgstr ""
++"Disponi colonna tipo per la sorgente della libreria. Ascendente (0) oppure "
++"discendente (1)"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:8
++msgid "Copy and rename music to banshee music library directory when importing"
++msgstr ""
++"Copia e rinomina la musica importata nella libreria musicale di Banshee"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:9
++msgid "Copy music on import"
++msgstr "Copia musica nell'importazione"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:10
++msgid "Enable error correction"
++msgstr "Abilita correzione errore"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:11
++msgid "Enable shuffle mode"
++msgstr "Abilita modo casuale"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:12
++msgid "Export Format"
++msgstr "Esporta formato"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:14
++#, no-c-format
++msgid ""
++"Format for creating a track filename inside the library. Do not use path "
++"tokens/characters here. See LibraryFolderPattern. Legal tokens: %artist%, %"
++"album%, %title%, %track_number%, %track_count%, %track_number_nz% (No "
++"prefixed zero), %track_count_nz% (No prefixed zero)."
++msgstr ""
++"Formato per creare il nome al file traccia all'interno della libreria. Non "
++"usare caratteri e simboli speciali. Fare riferimento a Modello file di "
++"Libreria. Variabili permesse: %artist%, %album%, %title%, %track_number%, %"
++"track_count%, %track_number_nz% (No 0 come prefisso), %track_count_nz% (No 0 "
++"come prefisso)."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:16
++#, no-c-format
++msgid ""
++"Format for creating a track folder inside the library. Do not create an "
++"absolute path. Path here is relative to the Banshee music directory. See "
++"LibraryLocation. Legal tokens: %artist%, %album%, %title%, %track_number%, %"
++"track_count%, %track_number_nz% (No prefixed zero), %track_count_nz% (No "
++"prefixed zero), %path_sep% (portable directory separator (/))."
++msgstr ""
++"Formato per creare cartella delle tracce all'interno della libreria. Non "
++"creare un percorso assoluto. Il percorso è relativo alla cartella musicale "
++"di Banshee. Maggiori informazioni in Posizione Libreria. Variabili permesse %"
++"artist%, %album%, %title%, %track_number%,%track_count%, %track_number_nz% "
++"(No 0 come prefisso), %track_count_nz% (No 0 come prefisso), %path_sep% "
++"(Separatore percorso directory (/))"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:17
++msgid "Height of the main interface window."
++msgstr "Altezza finestra dell'interfaccia principale."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:18
++msgid ""
++"If enabled, metadata (tags) will be written back to audio files when using "
++"the track metadata editor."
++msgstr ""
++"Se abilitato, verranno scritti i metadata (etichette) nei file audio quando "
++"si userà l'editore di metadata delle tracce."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:19
++msgid "Library File Pattern"
++msgstr "Modello file di libreria"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:20
++msgid "Library Folder Pattern"
++msgstr "Modello file di libreria"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:21
++msgid "Library location"
++msgstr "Posizione libreria"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:22
++msgid "Library source expansion"
++msgstr "Espansione sorgente della libreria"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:23
++msgid "List of URIs in the history drop-down for the open location dialog"
++msgstr ""
++"Lista degli URI della cronologia a cascata nel dialogo di apertura posizione"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:24
++msgid "Move music on info save"
++msgstr "Sposta la musica al salvataggio delle informazioni"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:25
++msgid ""
++"Move music within banshee music library directory when saving track info"
++msgstr ""
++"Sposta la musica all'interno della cartella della libreria musicale di "
++"Banshee quando vengono salvate le informazioni nella traccia."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:26
++msgid "Name of media playback engine backend"
++msgstr "Nome del motore utilizzato per la riproduzione"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:27
++msgid "Pixel position of Main Player Window on the X Axis"
++msgstr "Posizione pixel della finestra principale sull'asse X"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:28
++msgid "Pixel position of Main Player Window on the Y Axis"
++msgstr "Posizione pixel della finestra principale sull'asse Y"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:29
++msgid "Repeat mode (0 = None, 1 = All, 2 = Single)"
++msgstr "Modo ripetizione (0 = Nessuno, 1 = Tutto, 2 = Singolo)"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:30
++msgid "Repeat playback"
++msgstr "Riproduzione ripetizione"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:31
++msgid "Set the IO backend in Banshee"
++msgstr "Scegli il backend IO di Banshee"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:32
++msgid "Show cover art"
++msgstr "Mostra la copertina"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:33
++msgid "Show cover art below source view if available"
++msgstr "Se disponibile mostra la copertina sotto la visualizzazione sorgente"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:34
++msgid "Show the Initial Import Dialog"
++msgstr "Mostra il dialogo iniziale di importazione"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:35
++msgid "Show the Initial Import Dialog when the Banshee library is empty"
++msgstr ""
++"Mostra il dialogo iniziale di importazione quando la libreria di Banshee è "
++"vuota"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:36
++msgid "Shuffle playback"
++msgstr "Riproduzione casuale"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:37
++msgid ""
++"Sort criteria of library playlists in the source view (0 = Name, 1 = Size)"
++msgstr ""
++"Disponi criterio della libreria delle scalette nella visualizzazione "
++"sorgente (0 = nome, 1 = dimensione)"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:38
++msgid "Sort criteria of playlists"
++msgstr "Disponi criterio delle scalette"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:39
++msgid ""
++"Sort order of library playlists in the source view (0 = Ascending, 1 = "
++"Descending)"
++msgstr ""
++"Disponi ordine della libreria delle scalette nella visualizzazione sorgente "
++"(0 = ascendente, 1 = discendente)"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:40
++msgid "Sort order of playlists"
++msgstr "Disponi ordine delle scalette"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:41
++msgid "Source View Width"
++msgstr "Lunghezza sorgente di visualizzazione"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:42
++msgid "The default playlist export format"
++msgstr "Formato predefinito di esportazione scaletta"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:43
++msgid "True if main window is to be maximized, false if it is not."
++msgstr "Vero se la finestra principale è massimizzata, falso se non lo è."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:44
++msgid "URI"
++msgstr "URI"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:45
++msgid "URI List"
++msgstr "Lista URI"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:46
++msgid "URI of last file folder"
++msgstr "URI dell'ultima cartella"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:47
++msgid "Volume"
++msgstr "Volume"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:48
++msgid "Volume of playback relative to mixer output"
++msgstr "Volume della riproduzione relativo al mixer di uscita"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:49
++msgid "When importing an audio CD, enable error correction (paranoia mode)"
++msgstr ""
++"Quando importi un CD audio, abilita la correzione errore (modo paranoia)"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:50
++msgid "Whether to expand the library node in the source view"
++msgstr "Espande il nodo libreria nella visualizzazione sorgente"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:51
++msgid "Width of Source View Column."
++msgstr "Larghezza colonna visualizzazione sorgente."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:52
++msgid "Width of the main interface window."
++msgstr "Larghezza finestra principale dell'interfaccia."
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:53
++msgid "Window Height"
++msgstr "Altezza finestra"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:54
++msgid "Window Maximized"
++msgstr "Finestra massimizzata"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:55
++msgid "Window Position X"
++msgstr "Posizione finestra X"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:56
++msgid "Window Position Y"
++msgstr "Posizione finestra Y"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:57
++msgid "Window Width"
++msgstr "Larghezza finestra"
++
++#: ../src/Core/Banshee.Base/banshee-core.schemas.in.h:58
++msgid "Write metadata back to audio files"
++msgstr "Scrivere i metadati nei file"
++
++#: ../src/Core/Banshee.Base/Banshee.Library/Import.cs:74
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:290
+ msgid "Scanning"
+ msgstr "Scansione"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:32
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/AmarokPlayerImport.cs:49
++msgid "Amarok"
++msgstr "Amarok"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/AmarokPlayerImport.cs:59
++msgid "Unable to open Amarok database"
++msgstr "Impossibile aprire il database di Amarok"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/AmarokPlayerImport.cs:198
++msgid "Importing from Amarok database failed"
++msgstr "Importazione dalla libreria di Amarok fallita"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImport.cs:41
++#: ../src/Core/Banshee.Base/ImportManager.cs:279
++msgid "Importing Songs"
++msgstr "Importazione delle canzoni"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImport.cs:42
++#: ../src/Core/Banshee.Base/ImportManager.cs:285
++msgid "The import process is currently running. Would you like to stop it?"
++msgstr "L'importazione è attualmente in esecuzione. Si desidera fermare?"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImport.cs:43
++#: ../src/Core/Banshee.Base/ImportManager.cs:97
++msgid "Scanning for songs"
++msgstr "Scansiona per canzoni"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:56
++msgid "Migrate From Other Media Players"
++msgstr "Migrazione da un altro riproduttore musicale"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:59
++msgid ""
++"Select any supported alternate media players that you wish to migrate into "
++"Banshee."
++msgstr ""
++"Selezionare un riproduttore multimediale alternativo da migrare in Banshee."
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:81
++#: ../src/Core/Banshee.Base/SourceManager.cs:265
++#: ../src/Core/Banshee/PlayerInterface.cs:2095
++msgid "Import"
++msgstr "Importa"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:82
++msgid "Player"
++msgstr "Riproduttore"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:91
++msgid "Unable to Locate Supported Media Player"
++msgstr "Impossibile individuare riproduttori multimediali supportati"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:92
++msgid ""
++"Banshee was unable to locate any libraries from alternate supported media "
++"players from which to import."
++msgstr ""
++"Banshee non ha individuato librerie da importare dai riproduttori "
++"multimediali alternativi scelti."
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:112
++msgid "Migrate"
++msgstr "Migrazione"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportSource.cs:58
++msgid "Alternate Media Players"
++msgstr "Riproduttori multimediali alternativi"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/RhythmboxPlayerImport.cs:46
++msgid "Rhythmbox Music Player"
++msgstr "Rhythmbox riproduttore musicale"
++
++#: ../src/Core/Banshee.Base/Banshee.PlayerMigration/RhythmboxPlayerImport.cs:57
++msgid "Invalid Rhythmbox database file"
++msgstr "File di database di Rhythmbox non valido"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/AsxPlaylistFormat.cs:46
++msgid "Windows Media ASX (*.asx)"
++msgstr "Windows Media ASX (*.asx)"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/M3uPlaylistFormat.cs:43
++msgid "MPEG Version 3.0 Extended (*.m3u)"
++msgstr "MPEG Version 3.0 Extended (*.m3u)"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/PlsPlaylistFormat.cs:50
++msgid "Shoutcast Playlist version 2 (*.pls)"
++msgstr "Shoutcast Playlist version 2 (*.pls)"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:177
++msgid "Verifying"
++msgstr "Verifica"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:178
++msgid ""
++"The playlist import process is currently running. Would you like to stop it?"
++msgstr ""
++"Il processo di importazione scaletta è in esecuzione. Si desidera fermare?"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:181
++msgid "Verifying playlist tracks exist in library"
++msgstr "Verifica della scaletta delle tracce se esistente nella libreria"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:206
++#, csharp-format
++msgid "Verifying {0} of {1}"
++msgstr "Verifica {0} di {1}"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:209
++msgid "Verifying "
++msgstr "Verifica "
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:283
++msgid "Export Playlist"
++msgstr "Esporta scaletta"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:292
++msgid "Export"
++msgstr "Esporta"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:317
++msgid "Select Format: "
++msgstr "Seleziona formato:"
++
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:35
+ msgid "Edit Smart Playlist"
+ msgstr "Modifica scaletta intelligente"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:43
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:51
+ msgid "New Smart Playlist"
+ msgstr "Nuova scaletta intelligente"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:60
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:68
+ msgid "Neglected Favorites"
+ msgstr "Preferite dimenticate"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:71
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:79
+ msgid "700 MB of Favorites"
+ msgstr "700 MB di preferite"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:78
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:86
+ msgid "80 Minutes of Favorites"
+ msgstr "80 minuti di preferite"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:85
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:93
+ msgid "Unheard"
+-msgstr "Mai ascoltate"
++msgstr "Non riprodotte"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:139
+-#: ../src/PlayerInterface.cs:444 ../src/PlayerInterface.cs:1310
+-#: ../src/PlayerInterface.cs:2316
+-msgid "Artist Name"
+-msgstr "Nome dell'artista"
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:100
++msgid "Unheard Podcasts"
++msgstr "Podcast non riprodotti"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:141
+-#: ../src/PlayerInterface.cs:443 ../src/PlayerInterface.cs:1312
+-msgid "Song Name"
+-msgstr "Titolo della canzone"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:143
+-#: ../src/PlayerInterface.cs:445 ../src/PlayerInterface.cs:1314
+-#: ../src/PlayerInterface.cs:2312
+-msgid "Album Title"
+-msgstr "Titolo dell'album"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:145
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:48
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:710
+-#: ../src/PlayerInterface.cs:446 ../src/PlayerInterface.cs:1316
+-#: ../src/PlayerInterface.cs:2320 ../src/PlaylistView.cs:111
+-msgid "Genre"
+-msgstr "Genere"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:147
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:718
+-#: ../src/PlayerInterface.cs:447 ../src/PlayerInterface.cs:1318
+-#: ../src/PlaylistView.cs:114
+-msgid "Year"
+-msgstr "Anno"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:164
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:181
+ msgid "Create Smart Playlist from Search"
+ msgstr "Crea scaletta intelligente da ricerca"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:151
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:164
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:174
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:154
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:164
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:177
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:187
+ msgid "is"
+ msgstr "è"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:156
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:169
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:179
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:159
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:169
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:182
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:192
+ msgid "is not"
+ msgstr "non è"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:184
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:197
+ msgid "is less than"
+ msgstr "è minore di"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:189
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:202
+ msgid "is greater than"
+ msgstr "è maggiore di"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:194
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:207
+ msgid "more than"
+ msgstr "più di"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:199
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:212
+ msgid "less than"
+ msgstr "meno di"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:204
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:217
+ msgid "is at least"
+-msgstr ""
++msgstr "è almeno"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:209
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:222
+ msgid "contains"
+ msgstr "contiene"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:214
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:227
+ msgid "does not contain"
+ msgstr "non contiene"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:219
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:232
+ msgid "starts with"
+ msgstr "comincia per"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:224
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:237
+ msgid "ends with"
+ msgstr "finisce per"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:229
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:242
+ msgid "is before"
+ msgstr "è prima"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:234
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:247
+ msgid "is after"
+ msgstr "è dopo"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:239
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:252
+ msgid "is between"
+ msgstr "è tra"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:244
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:257
+ msgid "between"
+ msgstr "tra"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:322
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:338
+ msgid "to"
+-msgstr ""
++msgstr "a"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:691
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:712
+ msgid "_Match"
+-msgstr "C_orrisponde a"
++msgstr "_Corrisponde a"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:698
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:719
+ msgid "all"
+ msgstr "tutte"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:699
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:720
+ msgid "any"
+ msgstr "qualcuna"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:704
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:725
+ msgid "of the following:"
+ msgstr "delle seguenti:"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:723
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:744
+ msgid "_Limit to"
+ msgstr "_Limita a "
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:740
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:761
+ msgid "selected by"
+ msgstr "selezionate per"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:45
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:45
+ msgid "Random"
+ msgstr "Casuale"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:46
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:709
+-#: ../src/PlaylistView.cs:108
+-msgid "Album"
+-msgstr "Album"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:47
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:707
+-#: ../src/PlaylistView.cs:102
+-msgid "Artist"
+-msgstr "Artista"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:49
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:708
+-#: ../src/PlaylistView.cs:105
+-msgid "Title"
+-msgstr "Titolo"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:50
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:50
+ msgid "Highest Rating"
+-msgstr ""
++msgstr "Giudizio molto alto"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:51
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:51
+ msgid "Lowest Rating"
+-msgstr ""
++msgstr "Giudizio molto basso"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:52
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:52
+ msgid "Least Often Played"
+-msgstr ""
++msgstr "Meno riprodotto"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:53
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:53
+ msgid "Most Often Played"
+-msgstr ""
++msgstr "Più riprodotto"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:54
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:54
+ msgid "Most Recently Added"
+-msgstr ""
++msgstr "Aggiunte più recentemente"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:55
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:55
+ msgid "Least Recently Added"
+-msgstr ""
++msgstr "Aggiunte meno recentemente"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:56
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:56
+ msgid "Most Recently Played"
+-msgstr ""
++msgstr "Riprodotte più recentemente"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:57
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:57
+ msgid "Least Recently Played"
+-msgstr ""
++msgstr "Riprodotte meno recentemente"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:62
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:62
+ msgid "songs"
+-msgstr "canzoni"
++msgstr "tracce"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:63
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:63
+ msgid "minutes"
+ msgstr "minuti"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:64
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:64
+ msgid "hours"
+ msgstr "ore"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:65
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:65
+ msgid "MB"
+ msgstr "MB"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:325
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:325
+ msgid "Seconds"
+ msgstr "Secondi"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:326
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:460
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:326
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:460
+ msgid "Minutes"
+ msgstr "Minuti"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:327
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:461
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:327
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:461
+ msgid "Hours"
+ msgstr "Ore"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:462
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:462
+ msgid "Days"
+ msgstr "Giorni"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:463
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:463
+ msgid "Weeks"
+ msgstr "Settimane"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:464
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:464
+ msgid "Months"
+ msgstr "Mesi"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:465
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:465
+ msgid "Years"
+ msgstr "Anni"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:576
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:601
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:576
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:601
+ msgid "ago"
+ msgstr "fa"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:711
+-msgid "Date Added"
+-msgstr "Data di aggiunta"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:712
+-#: ../src/PlaylistView.cs:137
+-msgid "Last Played"
+-msgstr "Ultimo passaggio"
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:713
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:792
+ msgid "Duration"
+ msgstr "Durata"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:714
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:793
+ msgid "Play Count"
+-msgstr ""
++msgstr "Contatore riproduzione"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:715
+-#: ../src/Banshee.Base/Sources/PlaylistSource.cs:65
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:794
++msgid "Track Number"
++msgstr "Numero traccia"
++
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:797
++#: ../src/Core/Banshee.Base/Sources/AbstractPlaylistSource.cs:58
+ msgid "Playlist"
+ msgstr "Scaletta"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:717
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:811
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:127
++msgid "Smart Playlist"
++msgstr "Scaletta intelligente"
++
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:815
+ msgid "Path"
+ msgstr "Percorso"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:36
+-msgid "Smart Playlists"
+-msgstr "Scaletta intelligente"
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:156
++msgid "New _Smart Playlist..."
++msgstr "Nuova scaletta _intelligente..."
+ 
+-# cambiato un po' (criteri è meglio di interrogazioni in italiano IMHO)
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:42
+-msgid ""
+-"Create playlists that automatically add and remove songs based on "
+-"customizable queries."
+-msgstr "Crea scalette che aggiungono e rimuovono automaticamente canzoni in base a criteri personalizzabili."
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:162
++msgid "New Smart Playlist _from Search..."
++msgstr "Nuova scaletta intelligente _da ricerca..."
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:138
+-msgid "New Smart Playlist..."
+-msgstr "Nuova scaletta intelligente..."
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:144
+-msgid "New Smart Playlist from Search..."
+-msgstr "Nuova scaletta intelligente da ricerca..."
+-
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:74
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:117
+ msgid "Delete Smart Playlist"
+ msgstr "Elimina scaletta intelligente"
+ 
+-#: ../src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:78
+-msgid "Smart Playlist"
+-msgstr "Scaletta intelligente"
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:122
++msgid "Edit Smart Playlist..."
++msgstr "Modifica scaletta intelligente..."
+ 
+-#: ../src/Banshee.Base/Banshee.Web/Browser.cs:43
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:443
++msgid "Smart Playlist has Dependencies"
++msgstr "Scaletta intelligente ha dipendenze"
++
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:445
++#, csharp-format
++msgid ""
++"{0} is depended on by other smart playlists. Are you sure you want to delete "
++"this and all dependent smart playlists?"
++msgstr ""
++"{0} è dipendente da un'altra scaletta intelligente. Eliminare questa e tutte "
++"le scaletta intelligenti dipendenti?"
++
++#: ../src/Core/Banshee.Base/Banshee.Web/Browser.cs:43
+ msgid "Could not launch URL"
+ msgstr "Impossibile avviare l'URL"
+ 
+-#: ../src/Banshee.Base/Banshee.Web/Browser.cs:44
++#: ../src/Core/Banshee.Base/Banshee.Web/Browser.cs:44
+ #, csharp-format
+ msgid ""
+ "{0} could not be opened: {1}\n"
+ "\n"
+ " Check your 'Preferred Applications' settings."
+ msgstr ""
++"{0} impossibile aprire: {1}\n"
++"\n"
++" Controllare la configurazione 'applicazioni preferite'."
+ 
+-#: ../src/Banshee.Base/BatchTranscoder.cs:117
+-#: ../src/Banshee.Base/BatchTranscoder.cs:118
++#: ../src/Core/Banshee.Base/BatchTranscoder.cs:136
++#: ../src/Core/Banshee.Base/BatchTranscoder.cs:137
+ msgid "Converting Files"
+ msgstr "Conversione dei file"
+ 
+-#: ../src/Banshee.Base/BatchTranscoder.cs:120
++#: ../src/Core/Banshee.Base/BatchTranscoder.cs:139
+ msgid ""
+ "Files are currently being converted to another audio format. Would you like "
+ "to stop this?"
+ msgstr ""
++"Si sta convertendo il file in un altro formato audio. Si vuole fermare?"
+ 
+-#: ../src/Banshee.Base/BatchTranscoder.cs:123
++#: ../src/Core/Banshee.Base/BatchTranscoder.cs:142
+ msgid "Initializing Transcoder..."
+-msgstr "Inizializzazione Transcoder..."
++msgstr "Inizializzazione transcoder..."
+ 
+-#: ../src/Banshee.Base/ComponentInitializer.cs:94
++#: ../src/Core/Banshee.Base/ComponentInitializer.cs:94
+ msgid "Could not initialize component"
+-msgstr "Impossibile inizialzzare il componente"
++msgstr "Impossibile inizializzare il componente"
+ 
+-#: ../src/Banshee.Base/FileImportSource.cs:55
+-msgid "Import Files to Library"
+-msgstr "Importa file nella libreria"
+-
+-#: ../src/Banshee.Base/FileImportSource.cs:82
+-msgid "Local Files"
+-msgstr "File locali"
+-
+-#: ../src/Banshee.Base/FolderImportSource.cs:55
+-msgid "Import Folder to Library"
+-msgstr "Importa cartella nella libreria"
+-
+-#: ../src/Banshee.Base/FolderImportSource.cs:80
+-msgid "Local Folder"
+-msgstr "Cartella locale"
+-
+-#: ../src/Banshee.Base/Dap/DapCore.cs:101
++#: ../src/Core/Banshee.Base/Dap/DapCore.cs:107
+ msgid "Cannot initialize DapCore because HalCore is not initialized"
+ msgstr "Impossibile inizializzare DapCore perché HalCore non è inizializzato"
+ 
+-#: ../src/Banshee.Base/Dap/Dap.cs:328
+-#: ../src/Banshee.Base/Sources/DapSource.cs:375
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:356
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:399
+ msgid "Device"
+ msgstr "Dispositivo"
+ 
+-#: ../src/Banshee.Base/Dap/Dap.cs:329
++#. 1. remove everything in the remove queue if it's on the device
++#. 2. Add everything in the tracklist that isn't on the device
++#. 3. Sync playlists?
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:357
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:432
+ #, csharp-format
+ msgid "Synchronizing {0}"
+ msgstr "Sincronizzazione di {0}"
+ 
+-#: ../src/Banshee.Base/Dap/Dap.cs:333
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:361
+ msgid "Waiting for transcoder..."
+-msgstr ""
++msgstr "Attendere per il transcoder..."
+ 
+-#: ../src/Banshee.Base/Dap/Dap.cs:420 ../src/Banshee.Base/Dap/Dap.cs:441
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:447
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:476
+ msgid "Processing..."
+ msgstr "Elaborazione..."
+ 
+-#: ../src/Banshee.Base/Dap/Dap.cs:460
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:495
+ msgid "Could not encode some files"
+ msgstr "Impossibile codificare alcuni file"
+ 
+-#: ../src/Banshee.Base/Dap/Dap.cs:462
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:497
+ msgid ""
+ "Some files could not be encoded to the proper format. They will not be saved "
+ "to the device if you continue."
+ msgstr ""
++"Non è stato possibile codificare alcuni file nel formato adeguato. Se si "
++"continua non verranno salvati sul dispositivo."
+ 
+-#: ../src/Banshee.Base/Dap/Dap.cs:467
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:502
+ msgid "Continue synchronizing"
+ msgstr "Continua sincronizzazione"
+ 
+ #. Translators: {0} is the name assigned to a Digital Audio Player by its owner
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:54
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:54
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:403
+ #, csharp-format
+ msgid "{0} Properties"
+ msgstr "Proprietà di {0}"
+ 
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:78
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:81
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:78
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:81
+ msgid "Device name"
+ msgstr "Nome del dispositivo"
+ 
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:85
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:88
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:86
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:89
+ msgid "Owner name"
+ msgstr "Nome del proprietario"
+ 
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:93
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:99
+ msgid "Encode to"
+-msgstr ""
++msgstr "Codifica a"
+ 
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:97
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:109
+ msgid "Volume usage"
+-msgstr ""
++msgstr "Uso del volume"
+ 
+-#: ../src/Banshee.Base/Dap/DapPropertiesDialog.cs:109
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:121
+ msgid "Advanced details"
+ msgstr "Dettagli avanzati"
+ 
+-#: ../src/Banshee.Base/Globals.cs:78 ../src/Banshee.Base/Globals.cs:87
+-#: ../src/Banshee.Base/Globals.cs:91
++#: ../src/Core/Banshee.Base/FileImportSource.cs:55
++msgid "Import Files to Library"
++msgstr "Importa file nella libreria"
++
++#: ../src/Core/Banshee.Base/FileImportSource.cs:73
++msgid "Local Files"
++msgstr "File locali"
++
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:101
++msgid "Count"
++msgstr "Contatore"
++
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:106
++msgid "Number"
++msgstr "Numero"
++
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:111
++msgid "Count (unsorted)"
++msgstr "Contatore (non ordinato)"
++
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:116
++msgid "Number (unsorted)"
++msgstr "Numero (non ordinato)"
++
++#: ../src/Core/Banshee.Base/FolderImportSource.cs:55
++msgid "Import Folder to Library"
++msgstr "Importa cartella nella libreria"
++
++#: ../src/Core/Banshee.Base/FolderImportSource.cs:71
++msgid "Local Folder"
++msgstr "Cartella locale"
++
++#: ../src/Core/Banshee.Base/Globals.cs:111
++#: ../src/Core/Banshee.Base/Globals.cs:120
++#: ../src/Core/Banshee.Base/Globals.cs:178
++#: ../src/Core/Banshee.Base/Globals.cs:179
+ msgid "Starting background tasks"
+-msgstr ""
++msgstr "Avviare i compiti in sottofondo"
+ 
+-#: ../src/Banshee.Base/Globals.cs:88
++#: ../src/Core/Banshee.Base/Globals.cs:121
+ msgid "Device support will be disabled for this instance (no HAL)"
+ msgstr ""
++"Il supporto al dispositivo verrà disabilitato per questa istanza (nessun HAL)"
+ 
+-#: ../src/Banshee.Base/Globals.cs:92
++#: ../src/Core/Banshee.Base/Globals.cs:124
++#: ../src/Core/Banshee.Base/Globals.cs:167
++msgid "Initializing audio engine"
++msgstr "Inizializzazione motore audio"
++
++#: ../src/Core/Banshee.Base/Globals.cs:125
+ msgid "Detecting network settings"
+-msgstr ""
++msgstr "Riconoscimento preferenze di rete"
+ 
+-#: ../src/Banshee.Base/Globals.cs:93
++#: ../src/Core/Banshee.Base/Globals.cs:126
+ msgid "Creating action manager"
+-msgstr ""
++msgstr "Creazione azioni di gestione"
+ 
+-#: ../src/Banshee.Base/Globals.cs:94
++#: ../src/Core/Banshee.Base/Globals.cs:127
+ msgid "Loading music library"
+ msgstr "Caricamento libreria musicale"
+ 
+-#: ../src/Banshee.Base/Globals.cs:99 ../src/Banshee.Base/Globals.cs:101
+-#: ../src/Banshee.Base/Globals.cs:115
+-msgid "Initializing audio"
+-msgstr "Inizializzazione audio"
++#: ../src/Core/Banshee.Base/Globals.cs:132
++msgid "Initializing audio profiles"
++msgstr "Inizializzazione profili audio"
+ 
+-#: ../src/Banshee.Base/Globals.cs:117
++#: ../src/Core/Banshee.Base/Globals.cs:169
+ msgid "Initializing audio CD support"
+ msgstr "Inizializzazione del supporto per audio CD"
+ 
+-#: ../src/Banshee.Base/Globals.cs:118
++#: ../src/Core/Banshee.Base/Globals.cs:170
+ msgid "Audio CD support will be disabled for this instance"
+ msgstr "Il supporto ai CD audio sarà disabilitato per questa istanza"
+ 
+-#: ../src/Banshee.Base/Globals.cs:120
++#: ../src/Core/Banshee.Base/Globals.cs:172
+ msgid "Initializing digital audio player support"
+ msgstr "Inizializzazione del supporto per lettori audio digitali"
+ 
+-#: ../src/Banshee.Base/Globals.cs:121
++#: ../src/Core/Banshee.Base/Globals.cs:173
+ msgid "DAP support will be disabled for this instance"
+ msgstr "Il supporto per i DAP sarà disabilitato per questa istanza"
+ 
+-#: ../src/Banshee.Base/Globals.cs:123
++#: ../src/Core/Banshee.Base/Globals.cs:175
+ msgid "Initializing CD writing support"
+-msgstr "Inizilizzazione del supporto per scrittura CD"
++msgstr "Inizializzazione del supporto per scrittura CD"
+ 
+-#: ../src/Banshee.Base/Globals.cs:124
++#: ../src/Core/Banshee.Base/Globals.cs:176
+ msgid "CD burning support will be disabled for this instance"
+-msgstr "Il supporto per la masterizzazione di CD sarà disabilitato per questa istanza"
++msgstr ""
++"Il supporto per la masterizzazione di CD sarà disabilitato per questa istanza"
+ 
+-#: ../src/Banshee.Base/Globals.cs:126
++#: ../src/Core/Banshee.Base/Globals.cs:181
++#: ../src/Core/Banshee.Base/Globals.cs:182
+ msgid "Initializing plugins"
+ msgstr "Inizializzazione dei plugin"
+ 
+-#: ../src/Banshee.Base/Globals.cs:127
+-msgid "Initializing background tasks"
+-msgstr "Inizializzazione delle attività in background"
++#: ../src/Core/Banshee.Base/Globals.cs:183
++msgid "Initializing scripts"
++msgstr "Inizializzazione script"
+ 
+-#: ../src/Banshee.Base/Gui/AboutDialog.cs:46
++#: ../src/Core/Banshee.Base/Globals.cs:186
++msgid "Loading user interface"
++msgstr "Caricamento interfaccia utente"
++
++#: ../src/Core/Banshee.Base/GstTranscoder.cs:83
++msgid "Could not create transcoder"
++msgstr "Impossibile creare il transcoder"
++
++#: ../src/Core/Banshee.Base/Gui/AboutDialog.cs:46
+ msgid "Primary Development"
+-msgstr ""
++msgstr "Sviluppatore principale"
+ 
+-#: ../src/Banshee.Base/Gui/AboutDialog.cs:53
++#: ../src/Core/Banshee.Base/Gui/AboutDialog.cs:53
+ msgid "Contributors"
+-msgstr ""
++msgstr "Contributori"
+ 
+-#: ../src/Banshee.Base/Gui/AboutDialog.cs:79
++#: ../src/Core/Banshee.Base/Gui/AboutDialog.cs:78
+ msgid "Music Management and Playback for GNOME."
+ msgstr "Gestione e riproduzione di musica per GNOME"
+ 
+-#: ../src/Banshee.Base/Gui/AboutDialog.cs:81
++#: ../src/Core/Banshee.Base/Gui/AboutDialog.cs:80
+ msgid ""
+-"Copyright © 2005-2006 Novell, Inc.\n"
++"Copyright © 2005-2007 Novell, Inc.\n"
+ "Copyright © 2005 Aaron Bockover"
+ msgstr ""
+ "Copyright © 2005-2006 Novell, Inc.\n"
+ "Copyright © 2005 Aaron Bockover"
+ 
+-#: ../src/Banshee.Base/Gui/AboutDialog.cs:86
++#: ../src/Core/Banshee.Base/Gui/AboutDialog.cs:85
+ msgid "Banshee Wiki"
+ msgstr "Il Wiki di Banshee"
+ 
+-#: ../src/Banshee.Base/Gui/ConfirmShutdownDialog.cs:45
++#: ../src/Core/Banshee.Base/Gui/ConfirmShutdownDialog.cs:45
+ msgid "Important tasks are running"
+ msgstr "Sono in esecuzione alcuni compiti importanti"
+ 
+-#: ../src/Banshee.Base/Gui/ConfirmShutdownDialog.cs:47
++#: ../src/Core/Banshee.Base/Gui/ConfirmShutdownDialog.cs:47
+ msgid ""
+ "Closing Banshee now will cancel any currently running tasks. They cannot be "
+ "resumed automatically the next time Banshee is run."
+ msgstr ""
++"La chiusura di Banshee cancellerà tutti i compiti in esecuzione. Non "
++"verranno ripresi automaticamente al prossimo avvio di Banshee."
+ 
+-#: ../src/Banshee.Base/Gui/ConfirmShutdownDialog.cs:54
++#: ../src/Core/Banshee.Base/Gui/ConfirmShutdownDialog.cs:54
+ msgid "Quit anyway"
+ msgstr "Esci comunque"
+ 
+-#: ../src/Banshee.Base/Gui/ConfirmShutdownDialog.cs:55
++#: ../src/Core/Banshee.Base/Gui/ConfirmShutdownDialog.cs:55
+ msgid "Continue running"
+ msgstr "Continua esecuzione"
+ 
+-#: ../src/Banshee.Base/Gui/ExceptionDialog.cs:52
++#: ../src/Core/Banshee.Base/Gui/ExceptionDialog.cs:52
+ msgid "Banshee Encountered a Fatal Error"
+-msgstr ""
++msgstr "Banshee ha riscontrato un errore fatale"
+ 
+-#: ../src/Banshee.Base/Gui/ExceptionDialog.cs:88
++#: ../src/Core/Banshee.Base/Gui/ExceptionDialog.cs:89
+ msgid "Error Details"
+ msgstr "Dettagli dell'errore"
+ 
+-#: ../src/Banshee.Base/Gui/ExceptionDialog.cs:134
++#: ../src/Core/Banshee.Base/Gui/ExceptionDialog.cs:135
+ msgid "An unhandled exception was thrown: "
+-msgstr ""
++msgstr "E' stata lanciata un'eccezione non gestita: "
+ 
+-#: ../src/Banshee.Base/Gui/ImageFileChooserDialog.cs:42
++#: ../src/Core/Banshee.Base/Gui/ImageFileChooserDialog.cs:41
+ msgid "Select album cover image"
+-msgstr ""
++msgstr "Seleziona immagine copertina album"
+ 
+-#: ../src/Banshee.Base/Gui/ImageFileChooserDialog.cs:57
++#: ../src/Core/Banshee.Base/Gui/ImageFileChooserDialog.cs:49
+ msgid "All image files"
+ msgstr "Tutti i file immagine"
+ 
+-#: ../src/Banshee.Base/Gui/ImageFileChooserDialog.cs:64
++#: ../src/Core/Banshee.Base/Gui/ImageFileChooserDialog.cs:56
+ msgid "JPEG image files"
+ msgstr "File immagine JPEG"
+ 
+-#: ../src/Banshee.Base/Gui/ImageFileChooserDialog.cs:69
++#: ../src/Core/Banshee.Base/Gui/ImageFileChooserDialog.cs:61
+ msgid "PNG image files"
+ msgstr "File immagine PNG"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:51
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:51
+ msgid "Log Viewer"
+ msgstr "Visualizzatore registro"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:87
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:87
+ msgid "Time Stamp"
+ msgstr "Timestamp"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:106
+-#: ../src/Banshee.Base/Sources/ImportErrorsSource.cs:70
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:106
++#: ../src/Core/Banshee.Base/Sources/ImportErrorsSource.cs:70
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/ErrorsSource.cs:62
+ msgid "Message"
+ msgstr "Messaggio"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:118
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:118
+ msgid "Show:"
+ msgstr "Mostra:"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:135
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:135
+ msgid "All Log Entries"
+ msgstr "Tutte le voci di registro"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:136
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:136
+ msgid "Only Error Messages"
+ msgstr "Solo i messaggi d'errore"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:137
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:137
+ msgid "Only Warning Messages"
+ msgstr "Solo i messaggi di avvertimento"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:138
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:138
+ msgid "Only Information Messages"
+ msgstr "Solo i messaggi informativi"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:139
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:139
+ msgid "Only Debug Messages"
+ msgstr "Solo i messaggi di debug"
+ 
+-#: ../src/Banshee.Base/Gui/LogCoreDialog.cs:154
++#: ../src/Core/Banshee.Base/Gui/LogCoreDialog.cs:154
+ msgid "Entry Details:"
+ msgstr "Dettagli della voce:"
+ 
+-#: ../src/Banshee.Base/Gui/OpenLocationDialog.cs:53
++#: ../src/Core/Banshee.Base/Gui/OpenLocationDialog.cs:54
+ msgid "Browse..."
+ msgstr "Esplora..."
+ 
+-#: ../src/Banshee.Base/Gui/PreferencesDialog.cs:61
++#: ../src/Core/Banshee.Base/Gui/PreferencesDialog.cs:67
+ msgid "Select library location"
+-msgstr ""
++msgstr "Seleziona la posizione della libreria"
+ 
+-#: ../src/Banshee.Base/Gui/PreferencesDialog.cs:71
++#: ../src/Core/Banshee.Base/Gui/PreferencesDialog.cs:120
+ msgid ""
+ "Enable this option to save tags and other metadata inside supported audio "
+ "files"
+-msgstr "Abilitare questa opzione per salvare i tag e altri metadati all'interno dei file audio che lo supportano"
++msgstr ""
++"Abilitare questa opzione per salvare i tag e altri metadati all'interno dei "
++"file audio supportati"
+ 
+-#: ../src/Banshee.Base/Gui/SourceView.cs:432
++#: ../src/Core/Banshee.Base/Gui/PreferencesDialog.cs:124
++msgid ""
++"Error correction tries to work around problem areas on a disc, such as "
++"surface scratches, but will slow down importing substantially."
++msgstr ""
++"La correzione di errori prova a risolvere problemi di aree su un disco, "
++"quali i graffi, ma renderà più lenta l'importazione sostanzialmente."
++
++#: ../src/Core/Banshee.Base/Gui/SourceView.cs:540
+ msgid "Could not import tracks"
+ msgstr "Impossibile importare le tracce"
+ 
+-#: ../src/Banshee.Base/Gui/ToggleStates.cs:78
++#: ../src/Core/Banshee.Base/Gui/ToggleStates.cs:40
++msgid "Repeat None"
++msgstr "Non ripetere"
++
++#: ../src/Core/Banshee.Base/Gui/ToggleStates.cs:49
++msgid "Repeat Single"
++msgstr "Ripeti singolarmente"
++
++#: ../src/Core/Banshee.Base/Gui/ToggleStates.cs:58
++msgid "Repeat All"
++msgstr "Ripeti tutte"
++
++#: ../src/Core/Banshee.Base/Gui/ToggleStates.cs:67
++msgid "Shuffle"
++msgstr "Casuale"
++
++#: ../src/Core/Banshee.Base/Gui/ToggleStates.cs:78
+ msgid "Continuous"
+-msgstr ""
++msgstr "Contigui"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:212
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:232
+ msgid "Automatically set all track numbers in increasing order"
+ msgstr "Imposta automaticamente tutti i numeri di traccia in ordine crescente"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:213
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:233
+ msgid "Set all track counts to this value"
+ msgstr "Imposta tutti i campi totale tracce a questo valore"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:214
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:234
+ msgid "Set all artists to this value"
+ msgstr "Imposta tutti i campi artista a questo valore"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:215
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:235
+ msgid "Set all albums to this value"
+ msgstr "Imposta tutti i campi album al questo valore"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:216
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:236
+ msgid "Set all genres to this value"
+ msgstr "Imposta tutti i campi genere a questo valore"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:217
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:237
+ msgid "Set all years to this value"
+ msgstr "Imposta tutti i campi anno a questo valore"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:218
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:238
+ msgid ""
+-"Set all common fields in all selected tracks to the values currently set"
+-msgstr "mposta tutti i campi comuni a tutte le tracce selezionate al valore attualmente impostato"
++"Apply the values of this track set for the Artist, Album Title, Genre, Track "
++"count, Year, and Rating fields to the rest of the selected tracks in this "
++"editor."
++msgstr ""
++"Applica i valori artista, album, titolo, genere, contatore traccia, anno e "
++"giudizio di questa traccia nei campi del resto delle tracce selezionate "
++"nell'editore."
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:219
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:239
+ msgid "Set all ratings to this value"
+ msgstr "Imposta tutti i campi giudizio a questo valore"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:271
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:300
+ msgid "Never played"
+ msgstr "Mai riprodotta"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:285
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:314
+ #, csharp-format
+ msgid "Editing song {0} of {1}"
+-msgstr "Modifica della canzone {0} di {1}"
++msgstr "Modifica della traccia {0} di {1}"
+ 
+-#: ../src/Banshee.Base/Gui/TrackEditor.cs:286
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:315
+ #, csharp-format
+ msgid "Editing {0}"
+ msgstr "Modifica di {0}"
+ 
+-#: ../src/Banshee.Base/Gui/VersionInformationDialog.cs:61
++#: ../src/Core/Banshee.Base/Gui/VersionInformationDialog.cs:61
+ msgid "Assembly Version Information"
+-msgstr ""
++msgstr "Informazioni versione assemblaggio"
+ 
+-#: ../src/Banshee.Base/Gui/VersionInformationDialog.cs:67
++#: ../src/Core/Banshee.Base/Gui/VersionInformationDialog.cs:67
+ msgid "Assembly Name"
+-msgstr ""
++msgstr "Nome assemblaggio"
+ 
+-#: ../src/Banshee.Base/Gui/VersionInformationDialog.cs:69
++#: ../src/Core/Banshee.Base/Gui/VersionInformationDialog.cs:69
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:197
+ msgid "Version"
+ msgstr "Versione"
+ 
+-#: ../src/Banshee.Base/GstTranscoder.cs:82
+-msgid "Could not create transcoder"
+-msgstr ""
+-
+-#: ../src/Banshee.Base/HomeDirectoryImportSource.cs:58
++#: ../src/Core/Banshee.Base/HomeDirectoryImportSource.cs:58
+ msgid "Home Directory"
+ msgstr "Directory home"
+ 
+-#: ../src/Banshee.Base/ImportManager.cs:88
+-msgid "Importing Songs"
+-msgstr "Importazione delle canzoni"
+-
+-#: ../src/Banshee.Base/ImportManager.cs:89
+-msgid "The import process is currently running. Would you like to stop it?"
+-msgstr ""
+-
+-#: ../src/Banshee.Base/ImportManager.cs:91
+-msgid "Scanning for songs"
+-msgstr "Ricerca di canzoni"
+-
+-#: ../src/Banshee.Base/Library.cs:126
++#: ../src/Core/Banshee.Base/Library.cs:122
+ msgid "Could not load track from library"
+ msgstr "Impossibile caricare la traccia dalla libreria"
+ 
+-#: ../src/Banshee.Base/NetworkDetect.cs:68
++#: ../src/Core/Banshee.Base/NetworkDetect.cs:45
++msgid "There is no available network connection"
++msgstr "Nessuna connessione di rete trovata"
++
++#: ../src/Core/Banshee.Base/NetworkDetect.cs:79
+ msgid "Cannot connect to NetworkManager"
+ msgstr "Impossibile connettersi a NetworkManager"
+ 
+-#: ../src/Banshee.Base/NetworkDetect.cs:69
++#: ../src/Core/Banshee.Base/NetworkDetect.cs:80
+ msgid "An available, working network connection will be assumed"
+-msgstr ""
++msgstr "Una disponibile, funzionante connessione di rete sarà presupposta."
+ 
+-#: ../src/Banshee.Base/PlayerEngineCore.cs:78
++#: ../src/Core/Banshee.Base/PlayerEngineCore.cs:77
+ msgid "Default player engine"
+-msgstr ""
++msgstr "Motore di riproduzione predefinito"
+ 
+-#: ../src/Banshee.Base/PlayerEngineCore.cs:100
++#: ../src/Core/Banshee.Base/PlayerEngineCore.cs:99
+ msgid ""
+ "No player engines were found. Please ensure Banshee has been cleanly "
+ "installed."
+ msgstr ""
++"Nessuno motore di riproduzione trovato. Assicurarsi che Banshee sia stato "
++"correttamente installato."
+ 
+-#: ../src/Banshee.Base/PlayerEngineCore.cs:161
++#: ../src/Core/Banshee.Base/PlayerEngineCore.cs:189
+ msgid "Problem with Player Engine"
+-msgstr ""
++msgstr "Problema con il motore di riproduzione"
+ 
+-#: ../src/Banshee.Base/PowerManagement.cs:83
+-msgid "Playing Music"
+-msgstr ""
+-
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:52
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:52
+ msgid "Banshee Plugins"
+ msgstr "Plugin di Banshee"
+ 
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:64
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:93
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:64
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:93
+ msgid "Plugin Name"
+-msgstr "Nome del Plugin"
++msgstr "Nome del plugin"
+ 
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:90
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:90
+ msgid "Overview"
+ msgstr "Panoramica"
+ 
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:97
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:97
+ msgid "Description"
+ msgstr "Descrizione"
+ 
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:100
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:100
+ msgid "Author(s)"
+ msgstr "Autori"
+ 
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:105
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:105
+ msgid "This plugin could not be initialized."
+ msgstr "Non è stato possibile inizializzare questo plugin."
+ 
+-#: ../src/Banshee.Base/Plugins/PluginDialog.cs:193
++#: ../src/Core/Banshee.Base/Plugins/PluginDialog.cs:193
+ msgid "Configuration"
+ msgstr "Configurazione"
+ 
+-#: ../src/Banshee.Base/Source.cs:337
++#: ../src/Core/Banshee.Base/PowerManagement.cs:121
++msgid "Playing Music"
++msgstr "Riproduzione musica"
++
++#: ../src/Core/Banshee.Base/Source.cs:390
++msgid "Source Properties..."
++msgstr "Proprietà della sorgente..."
++
++#: ../src/Core/Banshee.Base/Source.cs:398
+ #, csharp-format
+ msgid "Delete {0}"
+ msgstr "Elimina {0}"
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:51
++#: ../src/Core/Banshee.Base/SourceManager.cs:283
++#, csharp-format
++msgid "Rename {0}"
++msgstr "Rinomina {0}"
++
++#: ../src/Core/Banshee.Base/Sources/AbstractPlaylistSource.cs:53
++msgid "Delete Playlist"
++msgstr "Elimina scaletta"
++
++#: ../src/Core/Banshee.Base/Sources/AbstractPlaylistSource.cs:155
++#, csharp-format
++msgid "Are you sure you want to delete this {0}?"
++msgstr "Eliminare questa {0}?"
++
++#: ../src/Core/Banshee.Base/Sources/AbstractPlaylistSource.cs:164
++#, csharp-format
++msgid "Do not ask me this again"
++msgstr "Non chiedere nuovamente"
++
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:52
+ msgid "Eject CD"
+ msgstr "Espelli CD"
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:92
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:98
+ msgid "Reading table of contents from CD..."
+ msgstr "Lettura della tabella dei contenuti dal CD..."
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:97
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:103
+ msgid "Searching for CD metadata..."
+ msgstr "Ricerca di metadati del CD..."
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:102
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:108
+ msgid "Searching for CD cover art..."
+ msgstr "Ricerca della copertina del CD..."
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:107
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:113
+ msgid ""
+ "Cannot search for CD metadata: there is no available Internet connection"
+-msgstr "Impossibile cercare i metadati del CD: non è disponibile alcuna connessione ad Internet"
++msgstr ""
++"Impossibile cercare i metadati del CD: non è disponibile alcuna connessione "
++"ad Internet"
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:113
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:119
+ msgid "Could not fetch metadata for CD."
+ msgstr "Impossibile recuperare i metadati del CD."
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:194
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:147
++msgid "Copy CD"
++msgstr "Copia CD"
++
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:236
+ msgid "Invalid Selection"
+ msgstr "Selezione non valida"
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:195
++#: ../src/Core/Banshee.Base/Sources/AudioCdSource.cs:237
+ msgid "You must select at least one track to import."
+ msgstr "È necessario selezionare almeno una traccia da importare."
+ 
+-#: ../src/Banshee.Base/Sources/AudioCdSource.cs:241
+-msgid "Copy CD"
+-msgstr "Copia CD"
+-
+-#: ../src/Banshee.Base/Sources/DapSource.cs:107
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:106
+ msgid "Synchronizing your Device, Please Wait..."
+ msgstr "Sincronizzazione del dispositivo, attendere..."
+ 
+-#: ../src/Banshee.Base/Sources/DapSource.cs:168
+-#: ../src/Banshee.Plugins/Daap/DaapSource.cs:228
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:188
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:316
+ msgid "Importing"
+ msgstr "Importazione"
+ 
+-#: ../src/Banshee.Base/Sources/DapSource.cs:170
+-#: ../src/Banshee.Plugins/Daap/DaapSource.cs:230
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:190
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:318
+ #, csharp-format
+ msgid "You are currently importing from {0}. Would you like to stop it?"
+-msgstr ""
++msgstr "Importazione in corso da {0}. Si desidera fermare?"
+ 
+-#. import_manager.UserEvent.Icon = GetIcon;
+-#: ../src/Banshee.Base/Sources/DapSource.cs:172
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:292
+-#: ../src/Banshee.Plugins/Daap/DaapSource.cs:232
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:192
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:320
+ #, csharp-format
+ msgid "Copying from {0}"
+-msgstr ""
++msgstr "Copiare da {0}"
+ 
+-#: ../src/Banshee.Base/Sources/DapSource.cs:173
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:293
+-#: ../src/Banshee.Plugins/Daap/DaapSource.cs:233
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:193
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:484
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:321
+ msgid "Scanning..."
+ msgstr "Scansione..."
+ 
+-#: ../src/Banshee.Base/Sources/DapSource.cs:286
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:411
+-#: ../src/Banshee.Plugins/Daap/DaapSource.cs:349
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:310
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:437
+ #, csharp-format
+ msgid "Cannot import track from {0}"
+-msgstr ""
++msgstr "Impossibile importare traccia da {0}"
+ 
+-#: ../src/Banshee.Base/Sources/DapSource.cs:322
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:346
+ #, csharp-format
+ msgid "({0} Remaining)"
+ msgstr "({0} rimanenti)"
+ 
+-#: ../src/Banshee.Base/Sources/DapSource.cs:359
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:383
+ #, csharp-format
+ msgid "Eject {0}"
+ msgstr "Espelli {0}"
+ 
+-#: ../src/Banshee.Base/Sources/ImportErrorsSource.cs:56
++#: ../src/Core/Banshee.Base/Sources/ImportErrorsSource.cs:56
+ msgid "Import Errors"
+ msgstr "Errore di importazione"
+ 
+-#: ../src/Banshee.Base/Sources/ImportErrorsSource.cs:72
++#: ../src/Core/Banshee.Base/Sources/ImportErrorsSource.cs:72
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/ErrorsSource.cs:64
+ msgid "File Name"
+ msgstr "Nome del file"
+ 
+-#: ../src/Banshee.Base/Sources/ImportErrorsSource.cs:102
++#: ../src/Core/Banshee.Base/Sources/ImportErrorsSource.cs:102
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/ErrorsSource.cs:97
+ msgid "Close Error Report"
+-msgstr ""
++msgstr "Chiudi segnalazione errore"
+ 
+-#: ../src/Banshee.Base/Sources/LibrarySource.cs:51
++#: ../src/Core/Banshee.Base/Sources/LibrarySource.cs:52
+ msgid "Music Library"
+ msgstr "Libreria musicale"
+ 
+-#: ../src/Banshee.Base/Sources/LibrarySource.cs:115
++#: ../src/Core/Banshee.Base/Sources/LibrarySource.cs:140
+ msgid "Sort Playlists"
+ msgstr "Ordina scalette"
+ 
+-#: ../src/Banshee.Base/Sources/LibrarySource.cs:118
++#: ../src/Core/Banshee.Base/Sources/LibrarySource.cs:143
+ msgid "Name Ascending"
+ msgstr "Per nome ascendente"
+ 
+-#: ../src/Banshee.Base/Sources/LibrarySource.cs:122
++#: ../src/Core/Banshee.Base/Sources/LibrarySource.cs:147
+ msgid "Name Descending"
+ msgstr "Per nome discendente"
+ 
+-#: ../src/Banshee.Base/Sources/LibrarySource.cs:126
++#: ../src/Core/Banshee.Base/Sources/LibrarySource.cs:151
+ msgid "Size Ascending"
+ msgstr "Per dimensione ascendente"
+ 
+-#: ../src/Banshee.Base/Sources/LibrarySource.cs:130
++#: ../src/Core/Banshee.Base/Sources/LibrarySource.cs:155
+ msgid "Size Descending"
+ msgstr "Per dimensione discendente"
+ 
+-#: ../src/Banshee.Base/Sources/LocalQueueSource.cs:53
++#: ../src/Core/Banshee.Base/Sources/LocalQueueSource.cs:53
+ msgid "Local Queue"
+ msgstr "Coda locale"
+ 
+-#: ../src/Banshee.Base/Sources/PlaylistSource.cs:61
+-msgid "Delete Playlist"
+-msgstr "Elimina scaletta"
++#: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:73
++#: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:461
++#: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:467
++#: ../src/Core/Banshee/PlayerInterface.cs:1692
++msgid "New Playlist"
++msgstr "Nuova scaletta"
+ 
+-#: ../src/Banshee.Base/Sources/PlaylistSource.cs:168
++#: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:162
+ msgid "Cannot Rename Playlist"
+ msgstr "Impossibile rinominare la scaletta"
+ 
+-#: ../src/Banshee.Base/Sources/PlaylistSource.cs:169
++#: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:163
+ msgid "A playlist with this name already exists. Please choose another name."
+ msgstr "Esiste già una scaletta con questo nome. Scegliere un nome diverso."
+ 
+-#: ../src/Banshee.Base/StreamTagger.cs:153
++#: ../src/Core/Banshee.Base/StreamTagger.cs:171
+ #, csharp-format
+ msgid "Saving tags for {0}"
+-msgstr ""
++msgstr "Salvare i tag per {0}"
+ 
+-#: ../src/Banshee.Base/TrackInfo.cs:399
++#: ../src/Core/Banshee.Base/TrackInfo.cs:307
+ msgid "Unknown Title"
+ msgstr "Titolo Sconosciuto"
+ 
+-#: ../src/Banshee.Base/TrackInfoHeader.cs:98
++#: ../src/Core/Banshee.Base/TrackInfoHeader.cs:106
++#: ../src/Core/Banshee.Base/TrackInfoHeader.cs:112
+ msgid "by"
+ msgstr "di"
+ 
+-#: ../src/Banshee.Base/TrackInfoHeader.cs:99
++#: ../src/Core/Banshee.Base/TrackInfoHeader.cs:113
+ msgid "from"
+ msgstr "da"
+ 
+-#: ../src/Banshee.Base/Utilities.cs:76
++#: ../src/Core/Banshee.Base/Utilities.cs:76
+ #, csharp-format
+ msgid "{0:0.00} GB"
+ msgstr "{0:0.00} GB"
+ 
+-#: ../src/Banshee.Dap/Ipod/DatabaseRebuilder.cs:53
+-#: ../src/Banshee.Dap/Ipod/DatabaseRebuilder.cs:54
+-msgid "Rebuilding Database"
++#: ../src/Core/Banshee/PlayerInterface.cs:470
++msgid "All Columns"
++msgstr "Tutte le colonne"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:472
++msgid "Song Name"
++msgstr "Titolo della traccia"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:473
++msgid "Artist Name"
++msgstr "Nome dell'artista"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:474
++msgid "Album Title"
++msgstr "Titolo dell'album"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:497
++msgid "Write selection to CD"
++msgstr "Scrive la selezione su CD"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:498
++msgid "Import CD into library"
++msgstr "Importa il CD nella libreria"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:499
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:151
++msgid "Play previous song"
++msgstr "Riproduci la traccia precedente"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:500
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:152
++msgid "Play/pause current song"
++msgstr "Riproduci/metti in pausa la traccia corrente"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:501
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:153
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:293
++msgid "Play next song"
++msgstr "Riproduci la traccia successiva"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:502
++msgid "Device disk usage"
++msgstr "Spazio utilizzato sul dispositivo"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:503
++msgid "Synchronize music library to device"
++msgstr "Sincronizza libreria musicale sul dispositivo"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:504
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:155
++msgid "Adjust volume"
++msgstr "Regola il volume"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:505
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:156
++msgid "Change repeat playback mode"
++msgstr "Cambia la modalità di ripetizione"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:506
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:157
++msgid "Toggle shuffle playback mode"
++msgstr "Attiva o disattiva la modalità di riproduzione casuale"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:507
++msgid "Edit and view metadata of selected songs"
++msgstr "Visualizza e modifica i metadati delle tracce selezionate"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:883
++msgid "Pause"
++msgstr "Pausa"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:885
++msgid "Stop"
++msgstr "Ferma"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:906
++msgid "Cannot Play Song"
++msgstr "Impossibile riprodurre la traccia"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:907
++#, csharp-format
++msgid ""
++"{0} cannot be played by Banshee. The most common reasons for this are:\n"
++"\n"
++"  <big>•</big> Song is protected (DRM)\n"
++"  <big>•</big> Song is on a DAP that does not support playback\n"
+ msgstr ""
++"Banshee non ha potuto riprodurre {0}. È possibile che:\n"
++"\n"
++"  <big>•</big> La traccia è protetta(DRM)\n"
++"  <big>•</big> La traccia è su un dispositivo che non supporta la "
++"riproduzione\n"
+ 
+-#: ../src/Banshee.Dap/Ipod/DatabaseRebuilder.cs:55
++#: ../src/Core/Banshee/PlayerInterface.cs:916
++#: ../src/Core/Banshee/PlayerInterface.cs:925
++msgid "Play"
++msgstr "Riproduci"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1337
++#, csharp-format
++msgid "{0} Item"
++msgid_plural "{0} Items"
++msgstr[0] "{0} oggetto"
++msgstr[1] "{0} oggetti"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1341
++#, csharp-format
++msgid "{0} day"
++msgid_plural "{0} days"
++msgstr[0] "{0} giorno"
++msgstr[1] "{0} giorni"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1346
++#, csharp-format
++msgid "{0} hour"
++msgid_plural "{0} hours"
++msgstr[0] "{0} ora"
++msgstr[1] "{0} ore"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1350
++#, csharp-format
++msgid "{0} minute"
++msgid_plural "{0} minutes"
++msgstr[0] "{0} minuto"
++msgstr[1] "{0} minuti"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1352
++#, csharp-format
++msgid "{0} second"
++msgid_plural "{0} seconds"
++msgstr[0] "{0} secondo"
++msgstr[1] "{0} secondi"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1482
++#, csharp-format
++msgid "Filter on {0}"
++msgstr "Filtro su {0}"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1965
++#, csharp-format
++msgid "Are you sure you want to permanently delete this song?"
++msgid_plural ""
++"Are you sure you want to permanently delete the selected {0} songs?"
++msgstr[0] "Eliminare veramente in modo permanente questa traccia?"
++msgstr[1] "Eliminare veramente in modo permanente le {0} tracce selezionate?"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1969
++msgid "If you delete the selection, it will be permanently lost."
++msgstr "Se si elimina la selezione, questa è persa definitivamente."
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1972
++msgid "Remove selection from library"
++msgstr "Rimuovi selezione dalla libreria"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:1974
++#, csharp-format
++msgid "Are you sure you want to remove the selected song from your library?"
++msgid_plural ""
++"Are you sure you want to remove the selected {0} songs from your library?"
++msgstr[0] "Rimuovere veramente la traccia selezionata dalla libreria?"
++msgstr[1] "Rimuovere veramente le {0} tracce selezionate dalla libreria?"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2019
++msgid "Delete songs from drive"
++msgstr "Elimina tracce dall'unità"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2020
++#, csharp-format
++msgid "You do not have the required permissions to delete '{0}'"
++msgstr "Permessi non sufficienti per eliminare «{0}»"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2086
++msgid "Import Playlist"
++msgstr "Importa scaletta"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2118
++#: ../src/Core/Banshee/PlayerInterface.cs:2136
++msgid "Unable to Import Playlist"
++msgstr "Impossibile importare scaletta"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2137
++msgid ""
++"Banshee was unable to find any valid tracks to import.  Please check the "
++"playlist and try again."
++msgstr ""
++"Banshee non ha trovato tracce valide da importare. Controllare la scaletta e "
++"riprovare."
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2180
++msgid "Could not export playlist"
++msgstr "Impossibile esportare la scaletta"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2199
++#: ../src/Core/Banshee/PlayerInterface.cs:2205
++msgid "Error opening stream"
++msgstr "Errore nell'apertura del flusso"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2199
++msgid "Could not open stream or playlist"
++msgstr "Impossibile aprire la scaletta o il flusso"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2205
++msgid "Problem parsing playlist"
++msgstr "Problemi nell'analizzare la scaletta"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2243
++msgid "New CD"
++msgstr "Nuovo CD"
++
++#. Translators: {0} is the name of the DAP device (i.e. 'iPod')
++#: ../src/Core/Banshee/PlayerInterface.cs:2264
++#, csharp-format
++msgid "Synchronize {0}"
++msgstr "Sincronizza {0}"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2265
++#, csharp-format
++msgid ""
++"You have made changes to your {0}. Please choose a method for updating the "
++"contents of your {0}.\n"
++"\n"
++"<big>•</big> <i>Synchronize Library</i>: synchronize Banshee library to {0}\n"
++"<big>•</big> <i>Save Manual Changes</i>: save only the manual changes you "
++"made"
++msgstr ""
++"Sono stati apportati dei cambiamenti al proprio {0}. Scegliere un metodo per "
++"aggiornare il contenuto del proprio {0}.\n"
++"\n"
++"<big>•</big> <i>Sincronizza libreria</i>: sincronizza la libreria di Banshee "
++"su {0}\n"
++"<big>•</big> <i>Salva modifiche manuali</i>: salva solo i cambiamenti "
++"apportati manualmente"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2271
++msgid ""
++"<b>Warning:</b> Actions will alter or erase existing iPod contents and may "
++"cause incompatibility with iTunes!"
++msgstr ""
++"<b>Attenzione:</b> le azioni modificheranno o cancelleranno il contenuto "
++"dell'iPod e potrebbero causare una incompatiblità con iTunes!"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2273
++msgid "Synchronize Library"
++msgstr "Sincronizza la librerira"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2275
++msgid "Save Manual Changes"
++msgstr "Salva modifiche manuali"
++
++#: ../src/Core/Banshee/TrackViewColumnWindow.cs:59
++msgid "Choose Columns"
++msgstr "Selezione colonne"
++
++#: ../src/Core/Banshee/TrackViewColumnWindow.cs:74
++msgid "Visible Playlist Columns"
++msgstr "Colonne visibili della scaletta"
++
++#: ../src/Core/Banshee.Widgets/ActiveUserEvent.cs:86
++#, csharp-format
++msgid "Stop {0}"
++msgstr "Ferma {0}"
++
++#: ../src/Core/Banshee.Widgets/ActiveUserEvent.cs:89
++#, csharp-format
++msgid ""
++"The '{0}' operation is still performing work. Would you like to stop it?"
++msgstr ""
++"'{0}' sta portando a termine l'operazione richiesta. Si desidera fermare?"
++
++#: ../src/Core/Banshee.Widgets/ActiveUserEvent.cs:92
++#, csharp-format
++msgid "Continue {0}"
++msgstr "Continua {0}"
++
++#: ../src/Core/Banshee.Widgets/DiscUsageDisplay.cs:187
++msgid ""
++"Insert\n"
++"Disc"
++msgstr ""
++"Inserito\n"
++"Disco"
++
++#: ../src/Core/Banshee.Widgets/RatingMenuItem.cs:48
++msgid "Rating:"
++msgstr "Giudizio:"
++
++#: ../src/Core/Banshee.Widgets/StreamPositionLabel.cs:82
++#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:291
++msgid "Buffering"
++msgstr "Riempimento buffer"
++
++#: ../src/Core/Banshee.Widgets/StreamPositionLabel.cs:84
++msgid "Contacting..."
++msgstr "In contatto..."
++
++#: ../src/Core/Banshee.Widgets/StreamPositionLabel.cs:86
++msgid "Idle"
++msgstr "Inattivo"
++
++#: ../src/Core/Banshee.Widgets/VolumeButton.cs:517
++msgid "Muted"
++msgstr "Muto"
++
++#: ../src/Core/Banshee.Widgets/VolumeButton.cs:519
++msgid "Full Volume"
++msgstr "Volume pieno"
++
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:87
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:88
++msgid "Rebuilding Database"
++msgstr "Ricostruzione database"
++
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:89
+ msgid "Scanning iPod..."
+ msgstr "Scansione dell'iPod..."
+ 
+-#: ../src/Banshee.Dap/Ipod/DatabaseRebuilder.cs:89
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:123
+ msgid "Processing Tracks..."
+ msgstr "Analisi delle tracce..."
+ 
+-#: ../src/Banshee.Dap/Ipod/DatabaseRebuilder.cs:136
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:140
++msgid "Ordering Tracks..."
++msgstr "Ordina tracce..."
++
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:220
+ msgid "Saving new database..."
+-msgstr ""
++msgstr "Salvataggio nuovo database..."
+ 
+-#: ../src/Banshee.Dap/Ipod/DatabaseRebuilder.cs:143
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:232
+ msgid "Error rebuilding iPod database"
+-msgstr ""
++msgstr "Errore nella ricostruzione del database dell'iPod"
+ 
+-#. Translators "Week 25 of 2006"
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:83
+-msgid "Manufactured During"
+-msgstr ""
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:99
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:102
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:194
++msgid "Model"
++msgstr "Modello"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:84
+-#, csharp-format
+-msgid "Week {0} of {1}"
+-msgstr "Settimana {0} di {1}"
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:106
++msgid "Advertised Capacity"
++msgstr "Capacità annunciata"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:118
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:109
++msgid "Manufactured In"
++msgstr "Fabbricato in"
++
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:177
+ msgid "Your iPod could not be identified"
+ msgstr "Non è stato possibile identificare l'iPod"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:119
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:178
+ msgid ""
+ "Please consider submitting information about your iPod to the Banshee "
+ "Project so your iPod may be more fully identified in the future.\n"
+ msgstr ""
++"Considerare l'invio di informazioni sul vostro iPod al progetto Banshee per "
++"rendere più facile l'identificazione degli iPod in futuro.\n"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:122
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:181
+ msgid "Do not ask me again"
+-msgstr ""
++msgstr "Non chiedere di nuovo"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:127
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:186
+ msgid "Go to Web Site"
+-msgstr ""
++msgstr "Vai alla pagina di rete"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:208
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:278
+ msgid "Could not eject iPod"
+ msgstr "Non è stato possibile espellere l'iPod"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:216
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:235
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:303
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:322
+ msgid "Synchronizing iPod"
+ msgstr "Sincronizzazione dell'iPod"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:217
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:304
+ msgid "Pre-processing tracks"
+ msgstr "Pre eleborazione delle tracce"
+ 
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:232
+-msgid "Flushing to Disk (may take time)"
+-msgstr "Riversamento su disco (può richiedere del tempo)"
+-
+-#: ../src/Banshee.Dap/Ipod/IpodDap.cs:242
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:333
+ msgid "Failed to synchronize iPod"
+ msgstr "Sincronizzazione dell'iPod fallita"
+ 
+-#: ../src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:59
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:57
+ msgid "Unable to read your iPod"
++msgstr "Impossibile leggere il tuo iPod"
++
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:80
++msgid ""
++"You have used this iPod with a version of iTunes that saves a version of the "
++"song database for your iPod that is too new for Banshee to recognize.\n"
++"\n"
++"Banshee can either rebuild the database or you will have to wait for the new "
++"iTunes version to be supported by Banshee."
+ msgstr ""
++"Si è usato questo iPod con una versione di iTunes che ha salva una versione "
++"del database delle tracce troppo nuova per Banshee affinché possa "
++"riconoscerlo.\n"
++"\n"
++"Banshee può ricostruire il database oppure attendere che venga supportata la "
++"nuova versione del database iTunes."
+ 
+-#: ../src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:82
+-msgid "What is the reason for this?"
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:89
++msgid ""
++"An iPod database could not be found on this device.\n"
++"\n"
++"Banshee can build a new database for you."
+ msgstr ""
++"Impossibile trovare un database iPod su questo dispositivo.\n"
++"\n"
++"Banshee può creare un nuovo database."
+ 
+-#: ../src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:97
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:97
++msgid "What is the reason for this?"
++msgstr "Quale il motivo per questo?"
++
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:110
++msgid "Your iPod is mounted read only. Banshee can not restore your iPod."
++msgstr "L'iPod è montato in sola lettura. Banshee non può ripristinare l'iPod."
++
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:118
+ msgid "Rebuild iPod Database..."
+-msgstr ""
++msgstr "Ricostruzione database iPod"
+ 
+-#: ../src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:105
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:126
+ msgid "Confirm Rebuild iPod Database"
+-msgstr ""
++msgstr "Conferma ricostruzione database iPod"
+ 
+-#: ../src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:111
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:132
+ msgid ""
+ "Rebuilding your iPod database may take some time. Also note that any "
+ "playlists you have on your iPod will be lost.\n"
+ "\n"
+ "Are you sure you want to rebuild your iPod database?"
+ msgstr ""
++"La ricostruzione del database iPod potrebbe richiedere tempo. Notare che "
++"tutte le scalette presenti sull'iPod verranno perdute.\n"
++"\n"
++"Ricostruire il database iPod?"
+ 
+-#: ../src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:116
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:137
+ msgid "Rebuild Database"
+-msgstr ""
++msgstr "Ricostruzione database"
+ 
+-#: ../src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:128
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:151
+ msgid "Rebuilding iPod Database..."
+-msgstr ""
++msgstr "Ricostruzione database iPod..."
+ 
+-#: ../src/Banshee.Dap/MassStorage/MassStorageDap.cs:103
+-#: ../src/Banshee.Dap/MassStorage/MassStorageDap.cs:105
++#: ../src/Dap/Banshee.Dap.Karma/Karma.cs:144
++#: ../src/Dap/Banshee.Dap.Karma/Karma.cs:172
++#: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:248
++#: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:260
++msgid "Synchronizing Device"
++msgstr "Sincronizzazione del dispositivo"
++
++#: ../src/Dap/Banshee.Dap.Karma/Karma.cs:145
++#: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:260
++msgid "Removing Songs"
++msgstr "Rimozione delle tracce"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:189
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:191
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:193
+ msgid "Vendor"
++msgstr "Marca"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:196
++#, csharp-format
++msgid "Audio Folder"
++msgid_plural "Audio Folders"
++msgstr[0] "Cartella audio"
++msgstr[1] "Audioscrobbler"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:202
++msgid "Required Folder Depth"
++msgstr "Richiesta profondità della cartella"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:207
++#, csharp-format
++msgid "Audio Format"
++msgid_plural "Audio Formats"
++msgstr[0] "Formato audio"
++msgstr[1] "Formato di uscita:"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:271
++msgid "Loading Songs"
++msgstr "Caricamento tracce"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:272
++msgid ""
++"The audio device song loading process is currently running.  Would you like "
++"to stop it?"
+ msgstr ""
++"Caricamento della traccia dal dispositivo audio in esecuzione. Si desidera "
++"fermare?"
+ 
+-#: ../src/Banshee.Dap/MassStorage/MassStorageDap.cs:346
+-msgid "Copying Songs"
+-msgstr "Copia delle canzoni"
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:273
++#, csharp-format
++msgid "Loading {0} of {1}"
++msgstr "Caricamento {0} di {1}"
+ 
+-#: ../src/Banshee.Dap/MassStorage/MassStorageDap.cs:347
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:322
+ #, csharp-format
+ msgid "Copying {0} of {1}"
+ msgstr "Copia di {0} su {1}"
+ 
+-#: ../src/Banshee.Dap/MassStorage/MassStorageDap.cs:378
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:364
++#, csharp-format
++msgid "Failed to Unmount {0}"
++msgstr "Smontaggio fallito {0}"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:365
++msgid "Make sure no other programs are using it."
++msgstr "Assicurarsi che nessun altro lo usi."
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:377
++#, csharp-format
++msgid "Failed to Eject {0}"
++msgstr "Espulsione fallita {0}"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:549
++#, csharp-format
++msgid "Removing songs from {0}"
++msgstr "Rimozione delle tracce da {0}"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:550
++#, csharp-format
++msgid "Removing {0} of {1}"
++msgstr "Rimozione {0} di {1}"
++
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:667
+ msgid "Audio Device"
+ msgstr "Dispositivo audio"
+ 
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:143
+-msgid ": Found"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:97
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:145
++msgid "MTP Support Ignoring Device"
++msgstr "Il supporto MTP ignora il dispositivo"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:98
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:146
++msgid ""
++"Banshee's MTP audio player support can only handle one device at a time."
+ msgstr ""
++"Il supporto di Banshee ai riproduttori audio MTP permette di gestirne solo "
++"uno alla volta."
+ 
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:144
+-msgid "Reading library information"
+-msgstr "Lettura delle informazioni della libreria"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:117
++msgid "Error Initializing MTP Device Support"
++msgstr "Errore inizializzazione nel supporto del dispositivo MTP"
+ 
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:155
+-msgid "Loading device"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:118
++msgid ""
++"There was an error intializing MTP device support.  See http://www.banshee-"
++"project.org/Guide/DAPs/MTP for more information."
+ msgstr ""
++"Errore inizializzando il supporto al dispositivo MTP. Maggiori informazioni "
++"su http://www.banshee-project.org/Guide/DAPs/MTP/"
+ 
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:159
+-msgid "Done"
+-msgstr ""
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:130
++msgid "Error Finding MTP Device Support"
++msgstr "Errore cercando il supporto al dispositivo MTP"
+ 
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:160
+-msgid ": Ready for use"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:131
++msgid ""
++"An MTP device was detected, but Banshee was unable to load support for it."
+ msgstr ""
++"Rilevato un dispositivo MTP, ma non è possibile ottenere supporto da Banshee."
+ 
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:207 ../src/Banshee.Dap/Mtp/MtpDap.cs:211
+-#: ../src/Banshee.Dap/Mtp/MtpDap.cs:244 ../src/Banshee.Dap/Njb/NjbDap.cs:238
+-#: ../src/Banshee.Dap/Njb/NjbDap.cs:250
+-msgid "Synchronizing Device"
+-msgstr "Sincronizzazione del dispositivo"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:195
++msgid "Audio Format(s)"
++msgstr "Formato(i) audio"
+ 
+-#: ../src/Banshee.Dap/Njb/NjbDap.cs:145
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:196
++msgid "Album Art"
++msgstr "Copertina album"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:196
++msgid "Yes"
++msgstr "Si"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:196
++msgid "No"
++msgstr "No"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:198
++msgid "Serial Number"
++msgstr "Numero seriale"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:254
++#, csharp-format
++msgid "Loading {0}"
++msgstr "Caricamento {0}"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:439
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:446
++msgid "Syncing album art"
++msgstr "Sincronizzazione copertine album"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:451
++#, csharp-format
++msgid "There was an unknown error while synchronizing {0}."
++msgstr "Errore sconosciuto durante la sincronizzazione {0}."
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:467
++msgid "MTP Device Error"
++msgstr "Errore del dispositivo MTP"
++
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:483
++#, csharp-format
++msgid "Importing from {0}"
++msgstr "Importa da {0}"
++
++#: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:155
+ msgid "Cannot read device"
+-msgstr ""
++msgstr "Impossibile leggere il dispositivo"
+ 
+-#: ../src/Banshee.Dap/Njb/NjbDap.cs:250
+-msgid "Removing Songs"
+-msgstr "Rimozione delle canzoni"
+-
+-#: ../src/Banshee.Dap/Njb/NjbDap.cs:348
++#: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:358
+ msgid "Device Error"
+ msgstr "Errore del dispositivo"
+ 
+-#: ../src/Banshee.Dap/Njb/NjbDap.cs:349
++#: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:359
+ msgid "Could not set the owner of the device."
+-msgstr ""
++msgstr "Impossibile stabilire il proprietario del dispositivo"
+ 
+-#: ../src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs:64
++#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:140
+ msgid "Could not initialize GStreamer library"
+ msgstr "Impossibile inizializzare la libreria GStreamer"
+ 
+-#: ../src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs:142
+-msgid "Unknown Error"
+-msgstr "Errore sconosciuto"
++#: ../src/Extras/Last.FM/Last.FM.Gui/AccountLoginDialog.cs:48
++#: ../src/Extras/Last.FM/Last.FM.Gui/AccountLoginDialog.cs:75
++msgid "Last.fm Account Login"
++msgstr "Credenziali di autenticazione di Last.fm"
+ 
+-#: ../src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs:164
+-#: ../src/Banshee.Widgets/StreamPositionLabel.cs:81
+-msgid "Buffering"
+-msgstr ""
++#: ../src/Extras/Last.FM/Last.FM.Gui/AccountLoginDialog.cs:78
++msgid "Please enter your Last.fm account credentials."
++msgstr "Inserire le credenziali per Last.fm."
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:61
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:142
++#: ../src/Extras/Last.FM/Last.FM.Gui/AccountLoginForm.cs:50
++msgid "Account Name:"
++msgstr "Nome utente:"
++
++#: ../src/Extras/Last.FM/Last.FM.Gui/AccountLoginForm.cs:57
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapLoginDialog.cs:112
++msgid "Password:"
++msgstr "Parola d'ordine:"
++
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerConfigDialog.cs:60
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:142
+ msgid "Audioscrobbler Reporting"
+-msgstr ""
++msgstr "Segnalazioni Audioscrobbler"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:73
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerConfigDialog.cs:72
+ msgid "Create an account"
+-msgstr "Crea un account"
++msgstr "Crea un utente"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:77
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerConfigDialog.cs:76
+ msgid "Join the Banshee group"
+ msgstr "Adesione al gruppo Banshee"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:91
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:113
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:114
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerConfigDialog.cs:90
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:115
+ msgid "Enable song reporting"
+-msgstr "Abilitare la segnalazione delle canzoni"
++msgstr "Abilitare la segnalazione delle tracce"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:101
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerConfigDialog.cs:100
+ msgid "Last.fm Username"
+ msgstr "Nome utente per Last.fm"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:102
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerConfigDialog.cs:101
+ msgid "Last.fm Password"
+-msgstr "Password per Last.fm"
++msgstr "Parola d'ordine per Last.fm"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:58
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:66
+ msgid ""
+ "Your profile page on Last.fm is automatically updated whenever you listen to "
+ "music. It lets others see what you're listening to right now, and shows "
+ "charts of your listening history."
+-msgstr "La propria pagina del profilo su Last.fm è aggiornata automaticament quando si ascota della musica. Consente agli altri di vedere cosa si è ascoltato finora e mostrare grafici della propria cronologia di ascolto."
++msgstr ""
++"La propria pagina del profilo su Last.fm è aggiornata automaticamente quando "
++"si ascota della musica. Consente agli altri di vedere cosa si è ascoltato "
++"finora e mostrare grafici della propria cronologia di riproduzione."
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:95
+-msgid "Audioscrobbler"
+-msgstr "Audioscrobbler"
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:96
++msgid "_Audioscrobbler"
++msgstr "_Audioscrobbler"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:96
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:108
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:97
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:109
+ msgid "Configure the Audioscrobbler plugin"
+ msgstr "Configura il plugin per Audioscrobbler"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:99
+-msgid "Visit user profile page"
+-msgstr "Visita la pagina con il profilo utente"
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:100
++msgid "Visit _user profile page"
++msgstr "Visita pagina del proprio profilo _utente"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:100
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:101
+ msgid "Visit your Audioscrobbler profile page"
+ msgstr "Visita la pagina con il tuo profilo su Audioscrobbler"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:103
+-msgid "Visit group page"
+-msgstr "Visita la pagina del gruppo"
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:104
++msgid "Visit _group page"
++msgstr "Visita la pagina del _gruppo Banshee"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:104
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:105
+ msgid "Visit the Banshee last.fm group page"
+ msgstr "Visita la pagina del gruppo Banshee su last.fm"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:107
+-msgid "Configure..."
+-msgstr "Configurazione..."
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:108
++msgid "_Configure..."
++msgstr "_Configura..."
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/audioscrobbler.schemas.in.h:1
+-msgid ""
+-"Allow engine to submit song data to last.fm in the Audioscrobbler plugin"
+-msgstr ""
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerPlugin.cs:114
++msgid "_Enable song reporting"
++msgstr "_Abilita segnalazione delle tracce"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/audioscrobbler.schemas.in.h:2
+-msgid "Enable the Audioscrobbler plugin"
+-msgstr "Abilita il plugin per Audioscrobbler"
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:1
++msgid "Audioscrobbler reporting engine enabled"
++msgstr "Motore segnalazioni Audioscrobbler abilitato"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/audioscrobbler.schemas.in.h:3
+-msgid "Your last.fm password"
+-msgstr "La propria password per last.fm"
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:2
++msgid "Audioscrobbler reporting plugin enabled"
++msgstr "Plugin segnalazioni Audioscrobbler abilitato"
+ 
+-#: ../src/Banshee.Plugins/Audioscrobbler/audioscrobbler.schemas.in.h:4
+-msgid "Your last.fm username"
+-msgstr "Il proprio nome utente per last.fm"
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:3
++msgid "Engine enabled"
++msgstr "Motore abilitato"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapConfigPage.cs:50
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:4
++msgid "Password"
++msgstr "Parola d'ordine"
++
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:5
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/banshee-plugin-bookmarks.schemas.in.h:2
++#: ../src/Plugins/Banshee.Plugins.Daap/banshee-plugin-daap.schemas.in.h:3
++#: ../src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in.h:6
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/banshee-plugin-metadatasearcher.schemas.in.h:2
++#: ../src/Plugins/Banshee.Plugins.MiniMode/banshee-plugin-minimode.schemas.in.h:2
++#: ../src/Plugins/Banshee.Plugins.MMKeys/banshee-plugin-mmkeys.schemas.in.h:2
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:2
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:2
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:4
++#: ../src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in.h:2
++msgid "Plugin enabled"
++msgstr "Plugin abilitato"
++
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:6
++msgid "Username"
++msgstr "Nome utente"
++
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:7
++msgid "last.fm Password"
++msgstr "Parola d'ordine Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.Audioscrobbler/banshee-plugin-audioscrobbler.schemas.in.h:8
++msgid "last.fm Username"
++msgstr "Nome utente Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/banshee-plugin-bookmarks.schemas.in.h:1
++msgid "Bookmarks plugin enabled"
++msgstr "Plugin segnalibri abilitato"
++
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:34
++msgid "Bookmarks"
++msgstr "Segnalibri"
++
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:38
++msgid "Bookmark your position in tracks."
++msgstr "Segnalibro della posizione nella traccia."
++
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:103
++msgid "_Bookmarks"
++msgstr "_Segnalibri"
++
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:106
++msgid "_Add Bookmark"
++msgstr "_Aggiungi segnalibro"
++
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:107
++msgid "Bookmark the Position in the Current Track"
++msgstr "Segnalibro della posizione dell'attuale traccia"
++
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:119
++msgid "_Remove Bookmark"
++msgstr "_Rimuovi segnalibro"
++
++#. Translators: This is used to generate bookmark names. {0} is track title, {1} is minutes
++#. (possibly more than two digits) and {2} is seconds (between 00 and 60).
++#: ../src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:235
++#, csharp-format
++msgid "{0} ({1}:{2:00})"
++msgstr "{0} ({1}:{2:00})"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/banshee-plugin-daap.schemas.in.h:1
++msgid "DAAP plugin enabled"
++msgstr "Plugin DAAP abilitato"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/banshee-plugin-daap.schemas.in.h:2
++msgid "Music share name"
++msgstr "Nome condivisione musica"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/banshee-plugin-daap.schemas.in.h:4
++msgid "Share local music with others"
++msgstr "Condividere musica locale con altri"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/banshee-plugin-daap.schemas.in.h:5
++msgid "Share name"
++msgstr "Nome della condivisione"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/banshee-plugin-daap.schemas.in.h:6
++msgid "Share server enabled"
++msgstr "Server condivisione abilitato"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapConfigPage.cs:49
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapPlugin.cs:50
+ msgid "Music Sharing"
+-msgstr "Condivisione musica"
++msgstr "Condivisione musicale"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapConfigPage.cs:53
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapConfigPage.cs:52
+ msgid "Share my music library with others"
+ msgstr "Condividere la propria libreria con altri"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapConfigPage.cs:76
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapConfigPage.cs:75
+ msgid "Share name:"
+ msgstr "Nome della condivisione:"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapCore.cs:74
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapContainerSource.cs:43
++msgid "Shared Music"
++msgstr "Musica condivisa"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapCore.cs:72
+ msgid "Banshee Music Share"
+-msgstr "Condivisione musica di Banshee"
++msgstr "Condivisione musicale di Banshee"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapLoginDialog.cs:48
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:64
++msgid "Disconnected from music share"
++msgstr "Disconnesso dalla condivisione musicale"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:65
++msgid "Unable to connect to music share"
++msgstr "Impossibile connettersi alla condivisione musicale"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:92
++msgid ""
++"iTunes® 7 introduced new compatibility issues and currently only works with "
++"other iTunes® 7 clients.\n"
++"\n"
++"No third-party clients can connect to iTunes® music shares anymore. This is "
++"an intentional limitation by Apple in iTunes® 7 and we apologize for the "
++"unfortunate inconvenience."
++msgstr ""
++"iTunes® 7 ha introdotto nuove compatibilità ed attualmente funziona solo con "
++"altri clienti iTunes® 7.\n"
++"\n"
++"Nessun cliente di terze parti può collegarsi alla condivisione musicale "
++"iTunes®. Questa è una limitazione internazionale di Apple in iTunes® 7 e ci "
++"scusiamo per lo sfortunato inconveniente."
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:102
++msgid "Common reasons for connection failures:"
++msgstr "Motivi comuni per collegamenti falliti:"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:108
++msgid "The provided login credentials are invalid"
++msgstr "Le credenziali immesse non sono valide"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:109
++msgid "The login process was canceled"
++msgstr "Il processo di autenticazione è stato annullato"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:110
++msgid "Too many users are connected to this share"
++msgstr "Troppi utenti sono connessi a questa condivisione"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:112
++msgid "You are no longer connected to this music share"
++msgstr "Non si è più collegati a questa condivisione musicale"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:116
++msgid "Try connecting again"
++msgstr "Riprova ancora il collegamento"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapErrorView.cs:130
++msgid "The music share is hosted by iTunes® 7"
++msgstr "La condivisione musicale è ospitata da iTunes® 7"
++
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapLoginDialog.cs:47
+ msgid "Login to Music Share"
+-msgstr "Effettua il login alla condivisione musicale"
++msgstr "Effettua l'autenticazione alla condivisione musicale"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapLoginDialog.cs:81
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapLoginDialog.cs:80
+ msgid "Authentication Required"
+ msgstr "È richiesta l'autenticazione"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapLoginDialog.cs:105
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapLoginDialog.cs:104
+ msgid "Username:"
+ msgstr "Nome utente:"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapLoginDialog.cs:113
+-#: ../src/Last.FM/Last.FM.Gui/AccountLoginForm.cs:57
+-msgid "Password:"
+-msgstr "Password"
+-
+-#: ../src/Banshee.Plugins/Daap/DaapLoginDialog.cs:124
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapLoginDialog.cs:123
+ msgid "Login"
+-msgstr "Login"
++msgstr "Autentica"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapPlugin.cs:45
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapPlugin.cs:55
+ msgid ""
+ "Allow browsing and listening to songs from music shares and share your "
+ "Banshee library with others. Works with other instances of Banshee, iTunes, "
+ "and Rhythmbox."
+ msgstr ""
++"Consente di passare in rassegna ed ascoltare le condivisioni musicali e di "
++"condividere la libreria di Banshee con altri. E' compatibile con altre "
++"istanze di Banshee, iTunes e Rhythmbox."
+ 
+-#: ../src/Banshee.Plugins/Daap/daap.schemas.in.h:1
+-msgid "Allow others to browse and listen to your music from other DAAP clients"
+-msgstr "Permettere agli altri di esplorare e ascoltare la propria musica da altri client DAAP"
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:87
++#, csharp-format
++msgid "Connecting to {0}"
++msgstr "Connettere a {0}"
+ 
+-#: ../src/Banshee.Plugins/Daap/daap.schemas.in.h:2
+-msgid "Enable DAAP Server support"
+-msgstr "Abilita supporto per server DAAP"
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:153
++#, csharp-format
++msgid "Logging in to {0}"
++msgstr "Entrando in {0}"
+ 
+-#: ../src/Banshee.Plugins/Daap/daap.schemas.in.h:3
+-msgid "Enable the DAAP Music Sharing plugin"
+-msgstr "Abilita plugin per condivisione musica con DAAP"
++#: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:216
++msgid "Disconnect"
++msgstr "Sconnessione"
+ 
+-#: ../src/Banshee.Plugins/Daap/daap.schemas.in.h:4
+-msgid "Name of DAAP server share"
+-msgstr "Nome del server DAAP"
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:333
++msgid "Failed to Login to Last.fm"
++msgstr "Fallito l'autenticazione a Last.fm"
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapSource.cs:71
+-msgid "Cannot login to DAAP share"
+-msgstr ""
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:334
++msgid "Either your username or password is invalid."
++msgstr "Il nome utente o la parola d'ordine sono invalidi."
+ 
+-#: ../src/Banshee.Plugins/Daap/DaapSource.cs:157
+-msgid "Disconnect"
+-msgstr ""
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:457
++msgid "There is not enough content to play this station."
++msgstr "Non ci sono abbastanza contenuti per riprodurre questa radio."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:61
+-msgid "Metadata and Cover Art Searching"
+-msgstr "Ricerca di metadati e copertine"
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:458
++msgid "This group does not have enough members for radio."
++msgstr "Questo gruppo non ha abbastanza membri per la radio."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:70
+-msgid "Only download album cover artwork"
+-msgstr "Scaricare solamente la copertina dell'album"
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:459
++msgid "This artist does not have enough fans for radio."
++msgstr "Questo artista non ha abbastanza ammiratori per la radio."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:72
+-msgid "Download album cover artwork and fill in missing track data"
+-msgstr "Scaricare la copertina dell'album e riempire i dati mancanti nelle tracce"
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:460
++msgid "This station is not available."
++msgstr "Questa stazione non è disponibile."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:74
+-msgid "Download album cover artwork and overwrite any existing track data"
+-msgstr "Scaricare la copertina dell'album e sovrascrivere tutti i dati esistenti delle tracce"
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:461
++msgid "This station is only available to subscribers."
++msgstr "Questa stazione è disponibile solo per gli abbonati."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:76
+-msgid "Rescan Library"
+-msgstr "Scansiona nuovamente libreria"
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:462
++msgid "There are not enough neighbours for this station."
++msgstr "Non ci sono abbastanza vicini per questa stazione."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:96
+-msgid "Warning"
+-msgstr "Attenzione"
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:463
++msgid ""
++"The streaming system is offline for maintenance, please try again later."
++msgstr "Il sistema di flusso è fuori rete per manutenzione, riprova più tardi."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:98
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:464
++msgid "There was an unknown error."
++msgstr "Errore sconosciuto"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:472
++msgid "Not connected to Last.fm."
++msgstr "Non connesso a Last.fm."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:473
++msgid "Need account details before can connect to Last.fm"
++msgstr "Richieste le credenziali prima di potersi connettere a Last.fm."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:474
++msgid "No network connection detected."
++msgstr "Nessuna connessione di rete individuata."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:475
++msgid "Last.fm username or password is invalid."
++msgstr "Il nome utente o la parola d'ordine di Last.fm sono invalidi."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:476
++msgid "Connecting to Last.fm."
++msgstr "Connessione a Last.fm."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:477
++msgid "Connected to Last.fm."
++msgstr "Connesso a Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Editor.cs:62
++msgid "Edit Station"
++msgstr "Modifica stazione"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Editor.cs:69
++msgid "New Station"
++msgstr "Nuova stazione"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs:178
++msgid "Edit Last.fm Settings"
++msgstr "Modifica preferenze Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs:257
++msgid "Last.fm (Disconnected)"
++msgstr "Last.fm (Disconnesso)"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:76
++msgid "Last.fm Radio"
++msgstr "Radio Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:80
+ msgid ""
+-"This option can usually correct minor mistakes in metadata, however on rare "
+-"occasions metadata may be incorrectly updated from MusicBrainz."
+-msgstr "Questa opzione in genere può correggere dei piccoli errori nei metadati, ma in rare occasioni è possibile che i metadati vengano aggiornati erroneamente da MusicBrainz."
++"Play music from Last.fm, the world's largest social music platform. Show off "
++"your taste, see what your friends are listening to, hear new music, get "
++"personal radio, recommendations, and downloads, all for free."
++msgstr ""
++"Riproduci musica da Last.fm, la più grande piattaforma mondiale di "
++"condivisione sociale di musica. Mostra i tuoi gusti, osserva cosa ascoltano "
++"i tuoi amici, ascolta nuova musica, ottieni una radio personale, consigli e "
++"scaricamenti, tutto in libertà."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs:54
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:108
++msgid "_Add Station"
++msgstr "_Aggiungi stazione"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:113
++msgid "Connect"
++msgstr "Connetti"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:118
++msgid "Sort Stations by"
++msgstr "Disponi stazioni per"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:123
++msgid "Love Track"
++msgstr "Accetta traccia"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:124
++msgid "Mark current track as loved"
++msgstr "Marca la corrente traccia come accettata"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:128
++msgid "Ban Track"
++msgstr "Rifiuta traccia"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:129
++msgid "Mark current track as banned"
++msgstr "Marca la corrente traccia come rifiutata"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:137
++msgid "Station Name"
++msgstr "Nome stazione"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:142
++msgid "Total Play Count"
++msgstr "Contatore totale di riproduzione"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:147
++msgid "Station Type"
++msgstr "Tipo stazione"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:216
++#, csharp-format
++msgid "Tuning Last.fm to {0}."
++msgstr "Sintonizza Last.fm a {0}."
++
++#. Translators: {0} is an error message sentence from Connection.cs.
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:226
++#, csharp-format
++msgid "Failed to tune in station. {0}"
++msgstr "Impossibile sintonizzare la stazione. {0}"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:306
++#, csharp-format
++msgid "Getting new songs for {0}."
++msgstr "Prendi nuove canzoni per {0}"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:313
++#, csharp-format
++msgid "No new songs available for {0}."
++msgstr "Nessuna nuova canzone disponibile per {0}."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:336
++#, csharp-format
++msgid "Failed to get new songs for {0}."
++msgstr "Fallimento nel prendere nuove canzoni per {0}."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:432
++msgid "Delete Last.fm Station"
++msgstr "Elimina stazione Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:437
++msgid "Last.fm Station"
++msgstr "Stazione Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:442
++msgid "Edit Last.fm Station"
++msgstr "Modifica stazione Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:484
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:85
++msgid "Recommended"
++msgstr "Raccomandati"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:485
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:94
++msgid "Personal"
++msgstr "Personale"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:486
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:103
++msgid "Loved"
++msgstr "Accettate"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:487
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:112
++msgid "Neighbors"
++msgstr "Vicini"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:86
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:95
++msgid "For User:"
++msgstr "Per utente:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:104
++msgid "By User:"
++msgstr "Per utente:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:113
++msgid "Of User:"
++msgstr "Dell'utente:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:121
++msgid "Group"
++msgstr "Gruppo"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:122
++msgid "Group Name:"
++msgstr "Nome gruppo:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:130
++msgid "Tag"
++msgstr "Etichetta"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:131
++msgid "Tag Name:"
++msgstr "Nome etichetta"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:139
++msgid "Fan"
++msgstr "Ammiratore"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:140
++msgid "Fans of:"
++msgstr "Ammiratore di:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:148
++msgid "Similar"
++msgstr "Similare"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:149
++msgid "Similar to:"
++msgstr "Similare a:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Resources/lastfm.glade.h:1
++msgid "Station _Type:"
++msgstr "_Tipo stazione:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Resources/lastfm.glade.h:2
++msgid "_Name:"
++msgstr "_Nome:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in.h:1
++msgid "Last.fm expanded"
++msgstr "Espandi Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in.h:2
++msgid "Last.fm plugin enabled"
++msgstr "Plugin Last.fm abilitato"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in.h:3
++msgid "Last.fm station sort criteria. 0 = name, 1 = play count, 2 = type"
++msgstr ""
++"Disponi criterio stazione di Last.fm. 0 = nome, 1 = numero riproduzioni, 2 = "
++"tipo"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in.h:4
++msgid "Last.fm user"
++msgstr "Utente Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in.h:5
++msgid "Last.fm username"
++msgstr "Nome utente Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/banshee-plugin-lastfm.schemas.in.h:7
++msgid "Station sort criteria"
++msgstr "Disponi criterio stazione"
++
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/banshee-plugin-metadatasearcher.schemas.in.h:1
++msgid "Metadata searcher plugin enabled"
++msgstr "Plugin ricerca metadati abilitato"
++
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:57
+ msgid "Metadata Searcher"
+ msgstr "Ricerca metadati"
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs:59
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:62
+ msgid ""
+ "Automatically search for missing and supplementary metadata and cover art "
+ "for songs in your library."
+-msgstr "Cerca automaticamente copertine degli album e metadati mancanti ed aggiuntivi per le canzoni nella propria libreria."
++msgstr ""
++"Cerca automaticamente copertine degli album e metadati mancanti ed "
++"aggiuntivi per le canzoni nella propria libreria."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/metadatasearch.schemas.in.h:1
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:130
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:131
++msgid "Download Cover Art"
++msgstr "Scarica la copertina"
++
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:209
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:495
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:746
++msgid "Download"
++msgstr "Scarica"
++
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:210
++msgid "Downloading Cover Art"
++msgstr "Copertina in scaricamento"
++
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:211
++msgid "Searching"
++msgstr "In ricerca"
++
++#: ../src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs:213
+ msgid ""
+-"0 - Download only cover art 1 - Download cover art, fill in missing metadata "
+-"2 - Download cover art, overwrite metadata"
++"Are you sure you want to stop downloading cover art for the albums in your "
++"library? The operation can be resumed at any time from the <i>Tools</i> menu."
+ msgstr ""
+-"0 - Scarica solo la copertina 1 - Scarica la copertina, riempi i metadati "
+-"mancanti 2 - Scarica la copertina, sovrascrivi i metadati"
++"Fermare lo scaricamento delle copertine album della vostra libreria? "
++"L'operazione potrà essere ripresa in seguito dal menù <i>Strumenti</i>."
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/metadatasearch.schemas.in.h:2
+-msgid "Enable the MetadataSearch plugin"
+-msgstr "Abilita il plugin MetadataSearch"
++#: ../src/Plugins/Banshee.Plugins.MiniMode/banshee-plugin-minimode.schemas.in.h:1
++msgid "MiniMode plugin enabled"
++msgstr "Plugin modo mini abilitato"
+ 
+-#: ../src/Banshee.Plugins/MetadataSearch/metadatasearch.schemas.in.h:3
+-msgid "Method of fetching cover art and supplementary metadata"
+-msgstr "Metodo per il recupero di copertine e metadati aggiuntivi"
++#: ../src/Plugins/Banshee.Plugins.MiniMode/minimode.glade.h:1
++msgid "<b><big>This is the title</big></b>"
++msgstr "<b><big>Questo è il titolo</big></b>"
+ 
+-#: ../src/Banshee.Plugins/MMKeys/MMKeysConfigPage.cs:48
++#: ../src/Plugins/Banshee.Plugins.MiniMode/minimode.glade.h:2
++msgid "<i>This is the album</i>"
++msgstr "<i>Questo è l'album</i>"
++
++#: ../src/Plugins/Banshee.Plugins.MiniMode/minimode.glade.h:4
++msgid "Current source:"
++msgstr "Sorgente corrente:"
++
++#: ../src/Plugins/Banshee.Plugins.MiniMode/minimode.glade.h:5
++msgid "Full Mode"
++msgstr "Modo pieno"
++
++#: ../src/Plugins/Banshee.Plugins.MiniMode/minimode.glade.h:6
++msgid "This is the artist"
++msgstr "Questo è l'artista"
++
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModePlugin.cs:39
++msgid ""
++"Mini Mode allows controlling Banshee through a small window with only "
++"playback controls and track information."
++msgstr ""
++"Il modo mini renderà Banshee controllabile mediante una piccola finestra con "
++"solo i controlli di riproduzione e le informazioni sulla traccia."
++
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModePlugin.cs:63
++msgid "_Mini Mode"
++msgstr "Modo _mini"
++
++#: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:154
++msgid "Switch back to full mode"
++msgstr "Torna al modo pieno"
++
++#: ../src/Plugins/Banshee.Plugins.MMKeys/banshee-plugin-mmkeys.schemas.in.h:1
++msgid "Multimedia Keys plugin enabled"
++msgstr "Plugin scorciatoie multimediali abilitato"
++
++#: ../src/Plugins/Banshee.Plugins.MMKeys/MMKeysConfigPage.cs:47
+ msgid "Multimedia Keyboard Shortcuts"
+ msgstr "Scorciatoie tasti multimediali"
+ 
+-#: ../src/Banshee.Plugins/MMKeys/MMKeysConfigPage.cs:52
++#: ../src/Plugins/Banshee.Plugins.MMKeys/MMKeysConfigPage.cs:51
+ msgid ""
+ "Configuration of multimedia keyboard shortcuts is done through the Gnome "
+ "Keyboard Shortcuts configuration applet."
+ msgstr ""
++"La configurazione delle scorciatoie delle tastiere multimediali è fatta "
++"mediante la applet di configurazione delle scorciatoie della tastiera di "
++"Gnome."
+ 
+-#: ../src/Banshee.Plugins/MMKeys/MMKeysPlugin.cs:47
+-msgid "Adds support for multimedia keys configured through Gnome."
++#: ../src/Plugins/Banshee.Plugins.MMKeys/MMKeysConfigPage.cs:56
++msgid "Configure Keyboard Shortcuts"
++msgstr "Configurare scorciatoie tastiera"
++
++#: ../src/Plugins/Banshee.Plugins.MMKeys/MMKeysPlugin.cs:52
++msgid "Multimedia Keys"
++msgstr "Scorciatoie tasti multimediali"
++
++#: ../src/Plugins/Banshee.Plugins.MMKeys/MMKeysPlugin.cs:57
++msgid "Adds support for multimedia keys configured through GNOME."
+ msgstr ""
++"Aggiunge il supporto alla configurazione dei tasti multimediali mediante "
++"GNOME."
+ 
+-#: ../src/Banshee.Plugins/MMKeys/mmkeys.schemas.in.h:1
+-msgid "Enable the MultimediaKeys plugin"
+-msgstr "Abilita il plugin MultimediaKeys"
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:1
++msgid "Notification area plugin enabled"
++msgstr "Estensione area di notifica abilitata"
+ 
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:48
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconConfigPage.cs:57
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:3
++msgid "Quit instead of hide to notification area on close"
++msgstr "Chiudi invece di nascondere nell'area di notifica"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:4
++msgid "Quit on close"
++msgstr "Esce alla chiusura"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:5
++msgid "Show a notification when closing main window"
++msgstr "Mostrare una notifica quando chiudi la finestra principale"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:6
++msgid "Show notifications"
++msgstr "Mostrare le notifiche"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:7
++msgid "Show track information notifications when track starts playing"
++msgstr ""
++"Mostra la notifica di informazioni della traccia quando viene riprodotta"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/banshee-plugin-notificationarea.schemas.in.h:8
++msgid ""
++"When the main window is closed, show a notification stating this has "
++"happened."
++msgstr ""
++"Quando la finestra principale viene chiusa, mostra una notifica di quello "
++"che è accaduto."
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconConfigPage.cs:56
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:61
+ msgid "Notification Area Icon"
+ msgstr "Icona in area di notifica"
+ 
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:51
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconConfigPage.cs:64
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:116
++msgid "Show notifications when song changes"
++msgstr "Mostrare le notifiche quando cambia la traccia"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconConfigPage.cs:71
++msgid "Quit Banshee when title bar close button is clicked"
++msgstr ""
++"Esce da Banshee quando si clicca sul pulsante di chiusura nella barra del "
++"titolo."
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:64
+ msgid "Shows the Notification Area Icon"
+-msgstr "Mostra l'icona nell'area di notifica"
++msgstr "Mostra l'icona in area di notifica"
+ 
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:169
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:109
++msgid "_Close"
++msgstr "_Chiudi"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:110
++msgid "Close"
++msgstr "Chiudi"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:115
++msgid "_Show Notifications"
++msgstr "_Mostra le notifiche"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:221
++msgid "Still Running"
++msgstr "Ancora in esecuzione"
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:222
++msgid ""
++"Banshee was closed to the notification area. Use the <i>Quit</i> option to "
++"end your session."
++msgstr ""
++"Banshee verrà chiuso nell'area di notifica. Usa l'opzione <i>Esci</i> per "
++"chiuderlo definitivamente."
++
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:288
+ msgid "Now Playing"
+ msgstr "In riproduzione"
+ 
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:174
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:297
+ msgid "Cannot show notification"
+-msgstr ""
++msgstr "Impossibile mostrare le notifiche"
+ 
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconConfigPage.cs:65
+-msgid "Show notifications when song changes"
+-msgstr "Mostrare le notifiche quando cambia la canzone"
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:1
++msgid "Playlist separator position"
++msgstr "Posizione separatore scaletta"
+ 
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/banshee-notificationareaicon.schemas.in.h:1
+-msgid "Enable the Notification Area Icon plugin"
+-msgstr "Abilita il plugin «Icona per area di notifica»"
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:3
++msgid "Podcast date column"
++msgstr "Colonna data podcast"
+ 
+-#: ../src/Banshee.Plugins/NotificationAreaIcon/banshee-notificationareaicon.schemas.in.h:2
+-msgid "Show notification bubbles when the song changes"
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:4
++msgid "Podcast feed column"
++msgstr "Colonna notiziario podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:5
++msgid "Podcast library location"
++msgstr "Posizione libreria dei podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:6
++msgid "Podcast plugin enabled"
++msgstr "Estensione podcast abilitata"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:7
++msgid "Podcast title column"
++msgstr "Titolo colonna podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:8
++msgid "Position of the podcast date playlist column"
++msgstr "Posizione della colonna della data scaletta podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:9
++msgid "Position of the podcast feed playlist column"
++msgstr "Posizione della colonna del notiziario scaletta podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:10
++msgid "Position of the podcast title playlist column"
++msgstr "Posizione della colonna del titolo scaletta podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:11
++msgid "Position of the separator located between the feed and podcast views"
+ msgstr ""
++"Posizione del separatore situato fra le viste dei notiziari e dei podcast"
+ 
+-#: ../src/Banshee.Widgets/ActiveUserEvent.cs:86
++#: ../src/Plugins/Banshee.Plugins.Podcast/banshee-plugin-podcast.schemas.in.h:12
++msgid "Root directory for the podcast plugin to store downloaded files"
++msgstr "Cartella principale dove l'estensione podcast salva i file scaricati"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:176
++msgid "DownloadCore is shutting down."
++msgstr "Nucleo scaricamenti in chiusura."
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:180
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadQueue.cs:78
++msgid "dif not in 'New' state."
++msgstr "dif non è nello stato 'new'"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:193
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:110
++msgid "Uri scheme not supported."
++msgstr "Schema dell'uri non supportato"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:202
++msgid "Download already queued."
++msgstr "Lo scaricamento è già in coda."
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:287
++msgid "uri is empty"
++msgstr "l'uri è vuoto"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:291
++msgid "path is empty"
++msgstr "il percorso è vuoto"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:497
++msgid "Downloading Files"
++msgstr "Scaricamento file"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:498
++msgid "Initializing downloads"
++msgstr "Inizializzazione scaricamenti"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:536
++msgid "Canceling Downloads"
++msgstr "Cancellazione scaricamenti"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:537
++msgid "Waiting for downloads to terminate"
++msgstr "Attendere che gli scaricamenti terminino"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:630
+ #, csharp-format
+-msgid "Stop {0}"
+-msgstr ""
++msgid "Downloading File"
++msgid_plural "Downloading Files ({0} of {1} completed)"
++msgstr[0] "Scaricamento file"
++msgstr[1] " Scaricamento file ({0} di {1} completati)"
+ 
+-#: ../src/Banshee.Widgets/ActiveUserEvent.cs:89
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:639
+ #, csharp-format
+ msgid ""
+-"The '{0}' operation is still performing work. Would you like to stop it?"
++"Downloading Files ({0} of {1} completed)\n"
++"{2} failed"
+ msgstr ""
++"Scaricamento file ({0} di {1} completati)\n"
++"{2} fallito"
+ 
+-#: ../src/Banshee.Widgets/ActiveUserEvent.cs:92
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadCore.cs:645
+ #, csharp-format
+-msgid "Continue {0}"
+-msgstr ""
++msgid "Currently transfering 1 file at {0} kB/s"
++msgid_plural "Currently transfering {1} files at {0} kB/s"
++msgstr[0] "Trasferimento attuale del file a {0} kB/s"
++msgstr[1] "Trasferimento attuale di {1} file a {0} kB/s"
+ 
+-#: ../src/Banshee.Widgets/DiscUsageDisplay.cs:201
+-msgid ""
+-"Insert\n"
+-"Disc"
+-msgstr ""
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadQueue.cs:82
++msgid "Already queued, must be unique."
++msgstr "Già accodato, deve essere unico."
+ 
+-#: ../src/Banshee.Widgets/SearchEntry.cs:204
+-#: ../src/Banshee.Widgets/SearchEntry.cs:315
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadQueue.cs:103
++msgid "Item not in queue."
++msgstr "Oggetto non in coda"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadTask.cs:239
++msgid "Uri scheme not supported"
++msgstr "Schema·dell'uri·non·supportato"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadTask.cs:280
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadTask.cs:327
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/HttpDownloadTask.cs:120
++msgid "File complete"
++msgstr "File completato"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadTask.cs:345
+ #, csharp-format
+-msgid "Searching: {0}"
+-msgstr "Ricerca: {0}"
++msgid "Unable to create directory:  {0}"
++msgstr "Impossibile creare la cartella:  {0}"
+ 
+-#: ../src/Banshee.Widgets/StreamPositionLabel.cs:83
+-msgid "Idle"
+-msgstr "Inattivo"
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/DownloadTask.cs:450
++msgid "Dif is not in 'running' state"
++msgstr "Dif non è nello stato 'running'"
+ 
+-#: ../src/Last.FM/Last.FM.Gui/AccountLoginDialog.cs:48
+-#: ../src/Last.FM/Last.FM.Gui/AccountLoginDialog.cs:75
+-msgid "Last.fm Account Login"
+-msgstr ""
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/HttpDownloadTask.cs:224
++#, csharp-format
++msgid "Contacting {0}..."
++msgstr "Contattando {0}..."
+ 
+-#: ../src/Last.FM/Last.FM.Gui/AccountLoginDialog.cs:78
+-msgid "Please enter your Last.fm account credentials."
+-msgstr ""
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/HttpDownloadTask.cs:232
++#: ../src/Plugins/Banshee.Plugins.Podcast/DownloadCore/HttpDownloadTask.cs:240
++msgid "HTTP error"
++msgstr "Errore HTTP"
+ 
+-#: ../src/Last.FM/Last.FM.Gui/AccountLoginForm.cs:50
+-msgid "Account Name:"
+-msgstr "Nome account:"
++#: ../src/Plugins/Banshee.Plugins.Podcast/FeedParsers/RssPodcastFeedParser.cs:58
++msgid "Feed has no title"
++msgstr "Il notiziario non ha titolo"
+ 
+-#: ../src/PlayerInterface.cs:385
+-msgid "Loading..."
+-msgstr "Caricamento..."
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs:432
++msgid "Uri Scheme Not Supported"
++msgstr "Schema uri non supportato"
+ 
+-#: ../src/PlayerInterface.cs:441
+-msgid "All"
+-msgstr "Tutto"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs:433
++msgid "Podcast feed URI scheme is not supported."
++msgstr "Schema URI del notiziario podcast non supportato."
+ 
+-#: ../src/PlayerInterface.cs:468
+-msgid "Write selection to CD"
+-msgstr "Scrive la selezione su CD"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs:445
++msgid "Invalid URL"
++msgstr "URL invalido"
+ 
+-#: ../src/PlayerInterface.cs:469
+-msgid "Import CD into library"
+-msgstr "Importa il CD nella libreria"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs:446
++msgid "Podcast feed URL is invalid."
++msgstr "L'URL del notiziario podcast è invalido."
+ 
+-#: ../src/PlayerInterface.cs:470
+-msgid "Play previous song"
+-msgstr "Riproduce la canzone precedente"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs:514
++msgid "Unable to load Podcast DB"
++msgstr "Impossibile caricare il podcast DB"
+ 
+-#: ../src/PlayerInterface.cs:471
+-msgid "Play/pause current song"
+-msgstr "Riproduce/mette in pausa la canzone corrente"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs:666
++msgid "Download Failed"
++msgstr "Scaricamento fallito"
+ 
+-#: ../src/PlayerInterface.cs:472
+-msgid "Play next song"
+-msgstr "Riproduce la canzone successiva"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs:746
++msgid "Unable to add file to library"
++msgstr "Impossibile aggiungere il file alla libreria"
+ 
+-#: ../src/PlayerInterface.cs:473
+-msgid "Device disk usage"
+-msgstr "Spazio utilizzato sul dispositivo"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:226
++#, csharp-format
++msgid "Updating \"{0}\""
++msgstr "Aggiornamento \"{0}\""
+ 
+-#: ../src/PlayerInterface.cs:474
+-msgid "Synchronize music library to device"
+-msgstr "Sincronizza libreria musicale sul dispositivo"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:263
++msgid "Podcast Feed Update"
++msgstr "Aggiorna notiziario podcast"
+ 
+-#: ../src/PlayerInterface.cs:475
+-msgid "Adjust volume"
+-msgstr "Regola il volume"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:267
++msgid "Updating"
++msgstr "Aggiornamento"
+ 
+-#: ../src/PlayerInterface.cs:476
+-msgid "Change repeat playback mode"
+-msgstr "Cambia la modalità di ripetizione"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:268
++msgid "Preparing to update feeds"
++msgstr "Preparazione aggiornamento dei notiziari"
+ 
+-#: ../src/PlayerInterface.cs:477
+-msgid "Toggle shuffle playback mode"
+-msgstr "Attiva o disattiva la modalità di riproduzione casuale"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:318
++#, csharp-format
++msgid "Updating podcast feed {0} of {1}"
++msgstr "Aggiornamento notiziario podcast {0} di {1}"
+ 
+-#: ../src/PlayerInterface.cs:478
+-msgid "Edit and view metadata of selected songs"
+-msgstr "Visualizza e modifica i metadati delle canzoni selezionate"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:339
++msgid "Canceling updates"
++msgstr "Cancellazione aggiornamti"
+ 
+-#: ../src/PlayerInterface.cs:795
+-msgid "Cannot Play Song"
+-msgstr "Impossibile riprodurre la canzone"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedFetcher.cs:340
++msgid "Waiting for update to terminate"
++msgstr "Attendere che l'aggiornamento termini"
+ 
+-#: ../src/PlayerInterface.cs:796
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastFeedInfo.cs:709
++msgid "Title Property Changed"
++msgstr "Titolo proprietà cambiato"
++
++#. Should users be notified of this?
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastLibrary.cs:762
++msgid "Already Subscribed"
++msgstr "Già sottoscritto"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:56
++msgid "Podcasting"
++msgstr "Podcasting"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:62
+ #, csharp-format
+ msgid ""
+-"{0} cannot be played by Banshee. The most common reasons for this are:\n"
++"Podcasting is a form of audio blogging where users subscribe to a feed of "
++"shows and its episodes are downloaded and managed for offline listening.\n"
+ "\n"
+-"  <big>•</big> Song is protected (DRM)\n"
+-"  <big>•</big> Song is on a DAP that does not support playback\n"
++"Its name comes from the targeting of audio posts to Apple's iPod® audio "
++"player, although podcasts can be listened to directly in {0}."
+ msgstr ""
+-"Banshee non ha potuto riprodurre {0}. È possibile che:\n"
++"Il podcasting è un forma di giornale audio dove gli utenti sottoscrivono un "
++"notiziario di episodi che sono scaricati e gestiti per un ascolto fuori "
++"linea. \n"
+ "\n"
+-"  <big>•</big> La canzone è protetta(DRM)\n"
+-"  <big>•</big> La canzone è su un dispositivo che non supporta la riproduzione\n"
++"Il nome proviene dagli annunci audio del riproduttore audio Apple iPod® "
++"sebbene i podcast possono essere ascoltati direttamente dentro {0}"
+ 
+-#: ../src/PlayerInterface.cs:816
+-msgid "Pause"
+-msgstr "Pausa"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:113
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPlaylistView.cs:101
++msgid "Podcast"
++msgstr "Podcast"
+ 
+-#: ../src/PlayerInterface.cs:859
+-msgid "Playback Error"
+-msgstr "Errore di riproduzione"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:114
++msgid "Manage the Podcast plugin"
++msgstr "Gestire l'estensione podcast"
+ 
+-#: ../src/PlayerInterface.cs:1054
+-msgid "Import"
+-msgstr "Importa"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:117
++msgid "Update Podcasts"
++msgstr "Aggiorna i podcast"
+ 
+-#: ../src/PlayerInterface.cs:1072
+-#, csharp-format
+-msgid "Rename {0}"
+-msgstr "Rinomina {0}"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:118
++msgid "Update Subscribed Podcasts"
++msgstr "Aggiorna sottoscrizione dei podcast"
+ 
+-#: ../src/PlayerInterface.cs:1196
+-#, csharp-format
+-msgid "{0} day"
+-msgid_plural "{0} days"
+-msgstr[0] "{0} giorno"
+-msgstr[1] "{0} giorni"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:122
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:619
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:675
++msgid "Subscribe to Podcast"
++msgstr "Sottoscrivi podcast"
+ 
+-#: ../src/PlayerInterface.cs:1213
+-#, csharp-format
+-msgid "{0} Item"
+-msgid_plural "{0} Items"
+-msgstr[0] "{0} oggetto"
+-msgstr[1] "{0} oggetti"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:123
++msgid "Subscribe to a new Podcast"
++msgstr "Sottoscrivi un nuovo podcast"
+ 
+-#: ../src/PlayerInterface.cs:1215
+-#, csharp-format
+-msgid "{0} Total Play Time"
+-msgstr "{0} di tempo totale"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:127
++msgid "Find New Podcasts"
++msgstr "Trova un nuovo podcast"
+ 
+-#: ../src/PlayerInterface.cs:1591
+-msgid "Clear"
+-msgstr "Pulisci"
++#: ../src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs:128
++msgid "Find New Podcasts at PodcastAlley.com"
++msgstr "Cerca nuovi podcast su PodcastAlley.com"
+ 
+-#: ../src/PlayerInterface.cs:1854
+-#, csharp-format
+-msgid "Are you sure you want to permanently delete this song?"
+-msgid_plural ""
+-"Are you sure you want to permanently delete the selected {0} songs?"
+-msgstr[0] "Eliminare veramente questa canzone?"
+-msgstr[1] "Eliminare veramente le {0} canzoni selezionate?"
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastErrorsSource.cs:51
++msgid "Errors"
++msgstr "Errori"
+ 
+-#: ../src/PlayerInterface.cs:1858
+-msgid "If you delete the selection, it will be permanently lost."
+-msgstr "Se si elimina la selezione, questa è persa definitivamente."
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedPropertiesDialog.cs:75
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPropertiesDialog.cs:87
++#: ../src/Plugins/Banshee.Plugins.Radio/StationEditor.cs:127
++msgid "Description:"
++msgstr "Descrizione:"
+ 
+-#: ../src/PlayerInterface.cs:1861
+-msgid "Remove selection from library"
+-msgstr "Rimuovi selezione dalla libreria"
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedPropertiesDialog.cs:80
++msgid "Last Updated:"
++msgstr "Ultimo aggiornamento:"
+ 
+-#: ../src/PlayerInterface.cs:1863
+-#, csharp-format
+-msgid "Are you sure you want to remove the selected song from your library?"
+-msgid_plural ""
+-"Are you sure you want to remove the selected {0} songs from your library?"
+-msgstr[0] "Rimuovere veramente la canzone selezionata dalla libreria?"
+-msgstr[1] "Rimuovere veramente le {0} canzoni selezionate dalla libreria?"
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedPropertiesDialog.cs:85
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPropertiesDialog.cs:83
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs:113
++msgid "URL:"
++msgstr "URL:"
+ 
+-#: ../src/PlayerInterface.cs:1903
+-msgid "Delete songs from drive"
+-msgstr "Elimina canzioni dall'unità"
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedPropertiesDialog.cs:91
++msgid "When feed is updated:"
++msgstr "Quando il notiziario è aggiornato:"
+ 
+-#: ../src/PlayerInterface.cs:1904
+-#, csharp-format
+-msgid "You do not have the required permissions to delete '{0}'"
+-msgstr "Permessi non sufficienti per eliminare «{0}»"
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedPropertiesDialog.cs:108
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPropertiesDialog.cs:104
++msgid "No description available"
++msgstr "Nessuna descrizione disponibile"
+ 
+-#: ../src/PlayerInterface.cs:2018
+-msgid "New CD"
+-msgstr "Nuovo CD"
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedView.cs:78
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:106
++msgid "Podcasts"
++msgstr "Podcast"
+ 
+-#. Translators: {0} is the name of the DAP device (i.e. 'iPod')
+-#: ../src/PlayerInterface.cs:2039
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedView.cs:144
++msgid "All"
++msgstr "Tutto"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedView.cs:179
+ #, csharp-format
+-msgid "Synchronize {0}"
+-msgstr "Sincronizza {0}"
++msgid "{0} Podcast"
++msgid_plural "{0} Podcasts"
++msgstr[0] "{0} podcast"
++msgstr[1] "{0} podcast"
+ 
+-#: ../src/PlayerInterface.cs:2040
+-#, csharp-format
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedView.cs:196
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPlaylistView.cs:95
++msgid "Episode"
++msgid_plural "Episodes"
++msgstr[0] "Episodio"
++msgstr[1] "Episodio"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedView.cs:201
++msgid "New"
++msgstr "Nuovo"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPlaylistView.cs:107
++msgid "Date"
++msgstr "Data"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPropertiesDialog.cs:75
++msgid "Podcast:"
++msgstr "Podcast:"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastPropertiesDialog.cs:79
++msgid "Date:"
++msgstr "Data:"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:624
++msgid "Update All Podcasts"
++msgstr "Aggiorna tutti i podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:629
++msgid "Visit Podcast Alley"
++msgstr "Visita Podcast Alley"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:664
++msgid "Subscribed"
++msgstr "Sottoscrizione"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:667
++msgid "Update Podcast"
++msgstr "Aggiorna podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:671
++msgid "Delete Podcast"
++msgstr "Elimina podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:679
++msgid "Homepage"
++msgstr "Pagina di rete"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:683
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:766
++msgid "Properties"
++msgstr "Proprietà"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:742
++msgid "Cancel"
++msgstr "Cancella"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:752
++msgid "Remove Episodes(s)"
++msgstr "Rimuovi episodi(o)"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:756
++msgid "Select All"
++msgstr "Seleziona tutto"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:759
++msgid "Select None"
++msgstr "Deseleziona tutto"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSource.cs:762
++msgid "Link"
++msgstr "Indirizzo"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs:46
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs:132
++msgid "Subscribe"
++msgstr "Sottoscrivi"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs:78
++msgid "Subscribe to New Podcast"
++msgstr "Sottoscrivi nuovo podcast"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs:83
++msgid "Please enter the URL of the podcast to which you are subscribing."
++msgstr "Inserire l'URL del podcast da sottoscrivere."
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/PodcastSubscribeDialog.cs:95
++msgid "When new episodes are available:  "
++msgstr "Quando nuovi episodi sono disponibili:"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/SyncPreferenceComboBox.cs:40
++msgid "Download all episodes"
++msgstr "Scarica tutti gli episodi"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/SyncPreferenceComboBox.cs:41
++msgid "Download the most recent episode"
++msgstr "Scarica episodio più recente"
++
++#: ../src/Plugins/Banshee.Plugins.Podcast/UI/SyncPreferenceComboBox.cs:42
++msgid "Let me decide which episodes to download"
++msgstr "Lascia decidere quale episodio scaricare"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:1
+ msgid ""
+-"You have made changes to your {0}. Please choose a method for updating the "
+-"contents of your {0}.\n"
+-"\n"
+-"<big>•</big> <i>Synchronize Library</i>: synchronize Banshee library to {0}\n"
+-"<big>•</big> <i>Save Manual Changes</i>: save only the manual changes you "
+-"made"
++"Always show stations that require the Helix/RealPlayer engine, even if the "
++"engine is not loaded."
+ msgstr ""
+-"Sono stati apportati dei cabiamenti al proprio {0}. Scegliere un metodo per aggiornare il contenuto del proprio {0}.\n"
+-"\n"
+-"<big>•</big> <i>Sincronizza libreria</i>: sincronizza la libreria di Banshee su {0}\n"
+-"<big>•</big> <i>Salva modifiche manuali</i>: salva solo i cambiamenti apportati manualmente"
++"Mostra sempre le stazioni che richiedono il motore Helix/RealPlayer, anche "
++"se il motore non è caricato."
+ 
+-#: ../src/PlayerInterface.cs:2046
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:2
++msgid "Last time XSPF stations were updated from radio.banshee-project.org"
++msgstr ""
++"Ultima volta che le stazioni XSPF sono state aggiornate da radio.banshee-"
++"project.org"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:3
++msgid "Last time the master station list was checked for updates"
++msgstr ""
++"Ultima volta che la lista principale delle stazioni è stata controllata per "
++"aggiornamenti"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:5
++msgid "Radio plugin enabled"
++msgstr "Estensione radio abilitata"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:6
++msgid "Show remote stations"
++msgstr "Mostra stazioni remote"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:7
++msgid "Show stations requiring Helix/RealPlayer"
++msgstr "Mostra le stazioni che richiedono Helix/RealPlayer"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:8
++msgid "Time of the last radio update"
++msgstr "Data ultimo aggiornamento della radio"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:9
++msgid "Time of the last radio update check"
++msgstr "Data ultimo controllo aggiornamento della radio"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:10
++msgid "URI for remote stations update"
++msgstr "URI per aggiornare stazioni remote"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:11
++msgid "URI to update remote stations from"
++msgstr "URI dove aggiornare le stazioni remote"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:12
++msgid "Update remote stations from radio.banshee-project.org"
++msgstr "Aggiorna stazioni remote da radio.banshee-project.org"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:117
++msgid "Loading"
++msgstr "Caricamento"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:52
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioSource.cs:63
++msgid "Radio"
++msgstr "Radio"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:57
++msgid "Provides Internet radio/streaming audio station support"
++msgstr "Fornisce supporto a stazioni radio su internet e flussi audio."
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:116
++msgid "Show Remote Stations"
++msgstr "Mostra stazioni remote"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:117
++msgid "Update and show radio station content from radio.banshee-project.org"
++msgstr ""
++"Aggiorna e mostra i contenuti delle stazioni radio di radio.banshee-project."
++"org"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:123
++msgid "Refresh Stations"
++msgstr "Aggiorna stazioni"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:124
++msgid "Refresh stations from the Banshee Radio Web Service"
++msgstr "Riaggiorna stazioni dal servizio radio di rete di Banshee"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:129
++msgid "Copy URI"
++msgstr "Copia URI"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:130
++msgid "Copy stream URI to clipboard"
++msgstr "Copia l'URI del flusso nella clipboard"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:133
++msgid "Edit"
++msgstr "Modifica"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:134
++msgid "Edit Radio Station"
++msgstr "Modifica stazione radio"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:137
++msgid "Add Station"
++msgstr "Aggiungi stazione"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:138
++msgid "Add new Radio Station"
++msgstr "Aggiungi nuova stazione radio"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:141
++msgid "Remove"
++msgstr "Rimuovi"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioPlugin.cs:142
++msgid "Remove selected Radio Station"
++msgstr "Rimuovi la stazione radio selezionata"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioSource.cs:81
++msgid "Refreshing radio stations from the Banshee Radio Web Service"
++msgstr ""
++"Aggiorna di nuovo le stazioni radio dal servizio radio di rete di Banshee"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioSource.cs:91
++msgid "Failed to load radio stations: "
++msgstr "Caricamento della stazione radio fallito: "
++
++#: ../src/Plugins/Banshee.Plugins.Radio/RadioSource.cs:337
++msgid "Invalid URI format."
++msgstr "Formato URI non valido."
++
++#: ../src/Plugins/Banshee.Plugins.Radio/StationEditor.cs:57
++msgid "Add new radio station"
++msgstr "Aggiungi nuova stazione radio"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/StationEditor.cs:58
++msgid "Edit radio station"
++msgstr "Modifica stazione radio"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/StationEditor.cs:86
+ msgid ""
+-"<b>Warning:</b> Actions will alter or erase existing iPod contents and may "
+-"cause incompatability with iTunes!"
+-msgstr "<b>Attenzione:</b> le azioni modificheranno o cancelleranno l'attuale contenuto dell'iPod e potrebbero causare una incompatiblità con iTunes!"
++"Enter the Group, Title and URL of the radio station you wish to add. A "
++"description is optional."
++msgstr ""
++"Inserisci il gruppo, il titolo e l'URL della radio che vuoi aggiungere. La "
++"descrizione è opzionale."
+ 
+-#: ../src/PlayerInterface.cs:2048
+-msgid "Synchronize Library"
+-msgstr "Sincronizza la librerira"
++#: ../src/Plugins/Banshee.Plugins.Radio/StationEditor.cs:95
++msgid "Station Group:"
++msgstr "Gruppo stazione:"
+ 
+-#: ../src/PlayerInterface.cs:2050
+-msgid "Save Manual Changes"
+-msgstr "Salva modifiche manuali"
++#: ../src/Plugins/Banshee.Plugins.Radio/StationEditor.cs:111
++msgid "Station Title:"
++msgstr "Titolo stazione:"
+ 
+-#: ../src/PlaylistColumns.cs:80
+-msgid "Invalid column width"
++#: ../src/Plugins/Banshee.Plugins.Radio/StationEditor.cs:119
++msgid "Stream URL:"
++msgstr "URL flusso:"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/StationView.cs:73
++msgid "Station"
++msgstr "Stazione"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/StationView.cs:77
++msgid "Comment"
++msgstr "Commento"
++
++#: ../src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in.h:1
++msgid "Cache version"
++msgstr "Versione cache"
++
++#: ../src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in.h:3
++msgid "Recommendation plugin enabled"
++msgstr "Estensione raccomandati abilitata"
++
++#: ../src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in.h:4
++msgid ""
++"Version of the cache layout on disk, located at ~/.config/banshee/plugins/"
++"recommendation"
+ msgstr ""
++"La versione dello schema della cache sul disco, è situato in ~/.config/"
++"banshee/plugins/recommendation"
+ 
+-#: ../src/PlaylistColumns.cs:139
+-msgid "Choose Columns"
+-msgstr "Selezione colonne"
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:142
++msgid "Recommended Artists"
++msgstr "Artisti raccomandati"
+ 
+-#: ../src/PlaylistColumns.cs:155
+-msgid "Visible Playlist Columns"
+-msgstr "Colonne visibili della scaletta"
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:169
++msgid "No similar artists found"
++msgstr "Artisti simili non trovati"
+ 
+-#: ../src/PlaylistView.cs:99
+-msgid "Track"
+-msgstr "Traccia"
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:246
++#, csharp-format
++msgid "Top Tracks by {0}"
++msgstr "Tracce preferite di {0}"
+ 
+-#: ../src/PlaylistView.cs:117
+-msgid "Time"
+-msgstr "Durata"
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:248
++#, csharp-format
++msgid "Top Albums by {0}"
++msgstr "Album preferiti di {0}"
+ 
+-#: ../src/PlaylistView.cs:130
+-msgid "Plays"
+-msgstr "Passaggi"
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:367
++#, csharp-format
++msgid "{0}% Similarity"
++msgstr "Somiglianza {0}%"
+ 
+-#: ../src/PlaylistView.cs:528
+-msgid "N/A"
+-msgstr "N/D"
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:369
++msgid "Unknown Similarity"
++msgstr "Somiglianza sconosciuta"
++
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs:56
++msgid "Music Recommendations"
++msgstr "Musica raccomandata"
++
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs:61
++msgid ""
++"Automatically recommends music that you might like, based on the currently "
++"playing song. It finds artists and popular songs that others with similar "
++"musical tastes enjoy."
++msgstr ""
++"Suggerisce automaticamente la musica che si potrebbe gradire, basandosi "
++"sull'attuale traccia in riproduzione. Ricerca popolari artisti e canzoni "
++"simili per gusto musicale."
++
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs:134
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs:135
++msgid "Show Recommendations"
++msgstr "Mostra raccomandati"
++
++#~ msgid ""
++#~ "Are you sure you want to permanently delete this song?Are you sure you "
++#~ "want to permanently delete the selected {0} songs?"
++#~ msgstr ""
++#~ "Eliminare permanentemente questa traccia?Eliminare permanentemente le {0} "
++#~ "tracce selezionate?"
+Index: po/da.po
+===================================================================
+--- po/da.po	(Revision 2958)
++++ po/da.po	(Revision 3417)
+@@ -1,7 +1,7 @@
+ # Danish translation of Banshee.
+-# Copyright (C) 2005-2007
++# Copyright (C) 2005-2008
+ # This file is distributed under the same license as the Banshee package.
+-# Lasse Bang Mikkelsen <lbm at lbm.dk>, 2005, 06, 07.
++# Lasse Bang Mikkelsen <lbm at lbm.dk>, 2005, 06, 07, 08.
+ #
+ #      Konventioner:
+ #
+@@ -18,8 +18,8 @@
+ msgstr ""
+ "Project-Id-Version: banshee\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2007-07-15 20:55+0200\n"
+-"PO-Revision-Date: 2007-07-15 20:48+0100\n"
++"POT-Creation-Date: 2008-01-20 22:17+0100\n"
++"PO-Revision-Date: 2008-01-20 22:17+0100\n"
+ "Last-Translator: Lasse Bang Mikkelsen <lbm at lbm.dk>\n"
+ "Language-Team: Danish <dansk at dansk-gruppen.dk>\n"
+ "MIME-Version: 1.0\n"
+@@ -27,26 +27,6 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
+ 
+-#: ../data/audio-profiles/aac.xml.in.h:1
+-msgid "Advanced Audio Coding (AAC)"
+-msgstr "Advanced Audio Coding (AAC)"
+-
+-#: ../data/audio-profiles/aac.xml.in.h:2
+-#: ../data/audio-profiles/mp3-lame.xml.in.h:4
+-#: ../data/audio-profiles/mp3-xing.xml.in.h:2
+-#: ../data/audio-profiles/wavpack.xml.in.h:3
+-#: ../data/audio-profiles/wma.xml.in.h:4
+-msgid "Bitrate"
+-msgstr "Bitrate"
+-
+-#: ../data/audio-profiles/aac.xml.in.h:3
+-msgid ""
+-"Proprietary and standardized format that is superior to MP3, but not as "
+-"popular."
+-msgstr ""
+-"Proprietær og standardiseret format som er MP3 overlegen, men ikke nær så "
+-"populær."
+-
+ #: ../data/audio-profiles/base.xml.in.h:1
+ msgid "Channels"
+ msgstr "Kanaler"
+@@ -83,6 +63,13 @@
+ msgid "Best"
+ msgstr "Bedste"
+ 
++#: ../data/audio-profiles/mp3-lame.xml.in.h:4
++#: ../data/audio-profiles/mp3-xing.xml.in.h:2
++#: ../data/audio-profiles/wavpack.xml.in.h:3
++#: ../data/audio-profiles/wma.xml.in.h:4
++msgid "Bitrate"
++msgstr "Bitrate"
++
+ #: ../data/audio-profiles/mp3-lame.xml.in.h:5
+ msgid "Constant Bitrate"
+ msgstr "Konstant bitrate"
+@@ -150,18 +137,6 @@
+ msgid "Wavpack"
+ msgstr "Wavpack"
+ 
+-#: ../data/audio-profiles/wav.xml.in.h:1
+-msgid ""
+-"WAV+PCM is a lossless format that holds uncompressed, raw pulse-code "
+-"modulated (PCM) audio."
+-msgstr ""
+-"WAV+PCM er et ikke-forringende format som indeholder ukomprimeret, rå "
+-"pulskodemoduleret (PCM) lyd."
+-
+-#: ../data/audio-profiles/wav.xml.in.h:2
+-msgid "Waveform PCM"
+-msgstr "Bølgeform PCM"
+-
+ #: ../data/audio-profiles/wma.xml.in.h:1
+ msgid ""
+ "A proprietary lossy audio format with high quality output at a lower file "
+@@ -473,9 +448,10 @@
+ 
+ #: ../data/banshee-dialogs.glade.h:66
+ #: ../src/Core/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:64
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:658
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:274
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:297
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:661
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:302
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:325
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:99
+ msgid "Unknown"
+ msgstr "Ukendt"
+ 
+@@ -524,49 +500,49 @@
+ msgstr "Kunne ikke oprette kanal"
+ 
+ #: ../libbanshee/gst-cd-rip-0.10.c:228
+-msgid "Could not initialize cdparanoia"
+-msgstr "Kunne ikke initialisere cdparanoia"
++msgid "Could not initialize element from cdda URI"
++msgstr "Kunne ikke initialisere element fra cdda-URI"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:239
++#: ../libbanshee/gst-cd-rip-0.10.c:242
+ msgid "Could not create mbtrm plugin"
+ msgstr "Kunne ikke oprette \"mbtrm\"-plugin"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:251
++#: ../libbanshee/gst-cd-rip-0.10.c:254
+ msgid "Could not create encoder pipeline"
+ msgstr "Kunne ikke oprette kodningskanal"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:257
++#: ../libbanshee/gst-cd-rip-0.10.c:260
+ msgid "Could not create queue plugin"
+ msgstr "Kunne ikke oprette kø-plugin"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:265
++#: ../libbanshee/gst-cd-rip-0.10.c:268
+ msgid "Could not create GNOME VFS output plugin"
+ msgstr "Kunne ikke oprette Gnome VFS uddata-plugin"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:281
+-msgid "Could not link cdparanoiasrc to mbtrm"
+-msgstr "Kunne ikke lænke cdparanoiasrc til mbtrm"
++#: ../libbanshee/gst-cd-rip-0.10.c:284
++msgid "Could not link cddasrcsrc to mbtrm"
++msgstr "Kunne ikke lænke cddasrcsrc til mbtrm"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:286
++#: ../libbanshee/gst-cd-rip-0.10.c:289
+ msgid "Could not link mbtrm to queue"
+ msgstr "Kunne ikke lænke mbtrm til queue"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:291
++#: ../libbanshee/gst-cd-rip-0.10.c:294
+ msgid "Could not link queue to encoder"
+ msgstr "Kunne ikke lænke queue til encoder"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:296
++#: ../libbanshee/gst-cd-rip-0.10.c:299
+ msgid "Could not link encoder to gnomevfssink"
+ msgstr "Kunne ikke lænke encoder til gnomevfssink"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:403
++#: ../libbanshee/gst-cd-rip-0.10.c:409
+ #: ../src/Core/Banshee.Base/BansheeBranding.cs:83
+ #: ../src/Plugins/Banshee.Plugins.MiniMode/minimode.glade.h:3
+ #: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:171
+ msgid "Banshee"
+ msgstr "Banshee"
+ 
+-#: ../libbanshee/gst-cd-rip-0.10.c:429
++#: ../libbanshee/gst-cd-rip-0.10.c:446
+ msgid "Encoding element does not support tagging!"
+ msgstr "Kodningselementet understøtter ikke mærkning!"
+ 
+@@ -578,35 +554,35 @@
+ msgid "Could not stat encoded file"
+ msgstr "Kunne ikke udføre stat() på kodet fil"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:258
++#: ../libbanshee/gst-transcode-0.10.c:249
+ msgid "Could not create 'gnomevfssrc' plugin"
+ msgstr "Kunne ikke oprette \"gnomevfssrc\"-plugin"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:264
++#: ../libbanshee/gst-transcode-0.10.c:255
+ msgid "Could not create 'decodebin' plugin"
+ msgstr "Kunne ikke oprette \"decodebin\"-plugin"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:270
++#: ../libbanshee/gst-transcode-0.10.c:261
+ msgid "Could not create 'gnomevfssink' plugin"
+ msgstr "Kunne ikke oprette \"gnomevfssink\"-plugin"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:276
++#: ../libbanshee/gst-transcode-0.10.c:267
+ msgid "Could not create 'sinkben' plugin"
+ msgstr "Kunne ikke oprette \"sinkben\"-plugin"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:282
++#: ../libbanshee/gst-transcode-0.10.c:273
+ msgid "Could not create 'audioconvert' plugin"
+ msgstr "Kunne ikke oprette \"audioconvert\"-plugin"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:288
++#: ../libbanshee/gst-transcode-0.10.c:279
+ msgid "Could not create encoding pipeline"
+ msgstr "Kunne ikke oprette kodningskanal"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:294
++#: ../libbanshee/gst-transcode-0.10.c:285
+ msgid "Could not get sink pad from encoder"
+ msgstr "Kunne ikke hente elementfyld fra koder"
+ 
+-#: ../libbanshee/gst-transcode-0.10.c:377
++#: ../libbanshee/gst-transcode-0.10.c:368
+ msgid "Could not construct pipeline"
+ msgstr "Kunne ikke oprette kanal"
+ 
+@@ -788,7 +764,7 @@
+ #: ../src/Core/Banshee/Banshee.TrackView.Columns/GenreColumn.cs:42
+ #: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:48
+ #: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:789
+-#: ../src/Core/Banshee/PlayerInterface.cs:458
++#: ../src/Core/Banshee/PlayerInterface.cs:475
+ msgid "Genre"
+ msgstr "Genre"
+ 
+@@ -814,18 +790,18 @@
+ msgstr "Titel"
+ 
+ #: ../src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:59
+-#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:125
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:126
+ msgid "Missing"
+ msgstr "Mangler"
+ 
+ #: ../src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:65
+-#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:128
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:129
+ msgid "No Codec"
+ msgstr "Intet format"
+ 
+ #: ../src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:68
+-#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:219
+-#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:131
++#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:229
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:132
+ msgid "Unknown Error"
+ msgstr "Ukendt fejl"
+ 
+@@ -849,7 +825,8 @@
+ 
+ #: ../src/Core/Banshee/Banshee.TrackView.Columns/YearColumn.cs:42
+ #: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:816
+-#: ../src/Core/Banshee/PlayerInterface.cs:459
++#: ../src/Core/Banshee.Base/FileNamePattern.cs:121
++#: ../src/Core/Banshee/PlayerInterface.cs:476
+ msgid "Year"
+ msgstr "Ã
r"
+ 
+@@ -1044,7 +1021,7 @@
+ #. Translators: Source being the generic word for playlist, device, library, etc
+ #: ../src/Core/Banshee.Base/ActionManager.cs:195
+ #: ../src/Core/Banshee.Base/Gui/SourceView.cs:105
+-#: ../src/Core/Banshee.Base/Source.cs:321
++#: ../src/Core/Banshee.Base/Source.cs:323
+ msgid "Source"
+ msgstr "Kilde"
+ 
+@@ -1361,7 +1338,7 @@
+ 
+ #: ../src/Core/Banshee.Base/AudioCdRipper.cs:363
+ #: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImport.cs:55
+-#: ../src/Core/Banshee.Base/ImportManager.cs:297
++#: ../src/Core/Banshee.Base/ImportManager.cs:291
+ #, csharp-format
+ msgid "Importing {0} of {1}"
+ msgstr "Importerer {0} af {1}"
+@@ -1397,7 +1374,7 @@
+ msgstr "{0} minutter"
+ 
+ #: ../src/Core/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:136
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:339
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:336
+ #: ../src/Core/Banshee.Widgets/StreamPositionLabel.cs:90
+ #, csharp-format
+ msgid "{0} of {1}"
+@@ -1413,21 +1390,21 @@
+ msgid "{0} MB"
+ msgstr "{0} MB"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:122
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:118
+ msgid "New Audio C_D"
+ msgstr "Ny lyd-c_d"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:123
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:119
+ msgid "Create a new audio CD"
+ msgstr "Opret en ny lyd-cd"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:165
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:161
+ #: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:108
+ #: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:192
+ msgid "Problem creating CD"
+ msgstr "Problemer ved skrivning af cd"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:166
++#: ../src/Core/Banshee.Base/Banshee.Burner/BurnerCore.cs:162
+ msgid "No CD recording hardware was found."
+ msgstr "Ingen cd-brændingshardware blev fundet."
+ 
+@@ -1544,6 +1521,7 @@
+ msgstr "Fikserer disk"
+ 
+ #: ../src/Core/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:168
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:319
+ msgid "Waiting for Media"
+ msgstr "Venter på medie"
+ 
+@@ -1859,7 +1837,7 @@
+ msgstr "Skriv metadata tilbage til lydfiler"
+ 
+ #: ../src/Core/Banshee.Base/Banshee.Library/Import.cs:74
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:283
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:290
+ msgid "Scanning"
+ msgstr "Leder"
+ 
+@@ -1876,12 +1854,12 @@
+ msgstr "Kunne ikke importere fra Amarok database"
+ 
+ #: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImport.cs:41
+-#: ../src/Core/Banshee.Base/ImportManager.cs:285
++#: ../src/Core/Banshee.Base/ImportManager.cs:279
+ msgid "Importing Songs"
+ msgstr "Importerer sange"
+ 
+ #: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImport.cs:42
+-#: ../src/Core/Banshee.Base/ImportManager.cs:291
++#: ../src/Core/Banshee.Base/ImportManager.cs:285
+ msgid "The import process is currently running. Would you like to stop it?"
+ msgstr "Importeringsprocessen kører i øjeblikket. Vil du afbryde denne?"
+ 
+@@ -1904,7 +1882,7 @@
+ 
+ #: ../src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:81
+ #: ../src/Core/Banshee.Base/SourceManager.cs:265
+-#: ../src/Core/Banshee/PlayerInterface.cs:2021
++#: ../src/Core/Banshee/PlayerInterface.cs:2095
+ msgid "Import"
+ msgstr "Importér"
+ 
+@@ -1940,59 +1918,50 @@
+ msgid "Invalid Rhythmbox database file"
+ msgstr "Ugyldig Rhythmbox databasefil"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/M3u.cs:29
++#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/AsxPlaylistFormat.cs:46
++msgid "Windows Media ASX (*.asx)"
++msgstr "Windows Media ASX (*.asx)"
++
++#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/M3uPlaylistFormat.cs:43
+ msgid "MPEG Version 3.0 Extended (*.m3u)"
+ msgstr "MPEG Version 3.0 udvidet (*.m3u)"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/M3u.cs:62
+-#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/Pls.cs:78
+-msgid "Exception: "
+-msgstr "Undtagelse: "
+-
+-#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/M3u.cs:90
+-msgid "Not a valid M3U file."
+-msgstr "Ikke en gyldig M3U-fil."
+-
+-#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/Pls.cs:29
++#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/PlsPlaylistFormat.cs:50
+ msgid "Shoutcast Playlist version 2 (*.pls)"
+ msgstr "Shoutcast-spilleliste version 2 (*.pls)"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists.Formats/Pls.cs:113
+-msgid "Not a valid PLS file."
+-msgstr "Ikke en gyldig PLS-fil."
+-
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:183
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:177
+ msgid "Verifying"
+ msgstr "Kontrollerer"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:184
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:178
+ msgid ""
+ "The playlist import process is currently running. Would you like to stop it?"
+ msgstr ""
+ "Spilleliste importeringsprocessen kører i øjeblikket. Vil du afbryde denne?"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:187
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:181
+ msgid "Verifying playlist tracks exist in library"
+ msgstr "Kontrollerer at spilleliste numre eksisterer i bibliotek"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:212
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:206
+ #, csharp-format
+ msgid "Verifying {0} of {1}"
+ msgstr "Kontrollerer {0} af {1}"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:215
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:209
+ msgid "Verifying "
+ msgstr "Kontrollerer "
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:289
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:283
+ msgid "Export Playlist"
+ msgstr "Eksportér spilleliste"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:298
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:292
+ msgid "Export"
+ msgstr "Eksportér"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:323
++#: ../src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:317
+ msgid "Select Format: "
+ msgstr "Vælg format: "
+ 
+@@ -2094,31 +2063,31 @@
+ msgid "between"
+ msgstr "mellem"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:335
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:338
+ msgid "to"
+ msgstr "til"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:709
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:712
+ msgid "_Match"
+ msgstr "_Match"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:716
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:719
+ msgid "all"
+ msgstr "alle"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:717
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:720
+ msgid "any"
+ msgstr "enhver"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:722
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:725
+ msgid "of the following:"
+ msgstr "af de følgende:"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:741
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:744
+ msgid "_Limit to"
+ msgstr "_Begræns til"
+ 
+-#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:758
++#: ../src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:761
+ msgid "selected by"
+ msgstr "valgt af"
+ 
+@@ -2279,19 +2248,19 @@
+ "\n"
+ " Undersøg dine indstillinger for \"Foretrukne programmer\"."
+ 
+-#: ../src/Core/Banshee.Base/BatchTranscoder.cs:135
+ #: ../src/Core/Banshee.Base/BatchTranscoder.cs:136
++#: ../src/Core/Banshee.Base/BatchTranscoder.cs:137
+ msgid "Converting Files"
+ msgstr "Konverterer filer"
+ 
+-#: ../src/Core/Banshee.Base/BatchTranscoder.cs:138
++#: ../src/Core/Banshee.Base/BatchTranscoder.cs:139
+ msgid ""
+ "Files are currently being converted to another audio format. Would you like "
+ "to stop this?"
+ msgstr ""
+ "Filer konverteres i øjeblikket til et andet lydformat. Vil du afbryde dette?"
+ 
+-#: ../src/Core/Banshee.Base/BatchTranscoder.cs:141
++#: ../src/Core/Banshee.Base/BatchTranscoder.cs:142
+ msgid "Initializing Transcoder..."
+ msgstr "Initialiserer omkoder..."
+ 
+@@ -2303,30 +2272,30 @@
+ msgid "Cannot initialize DapCore because HalCore is not initialized"
+ msgstr "Kan ikke initialisere DapCore fordi HalCore ikke er initialiseret"
+ 
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:335
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:402
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:356
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:399
+ msgid "Device"
+ msgstr "Enhed"
+ 
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:336
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:357
+ #, csharp-format
+ msgid "Synchronizing {0}"
+ msgstr "Synkroniserer {0}"
+ 
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:340
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:361
+ msgid "Waiting for transcoder..."
+ msgstr "Venter på omkoder..."
+ 
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:427
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:448
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:447
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:476
+ msgid "Processing..."
+ msgstr "Behandler..."
+ 
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:467
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:495
+ msgid "Could not encode some files"
+ msgstr "Nogle filer kunne ikke kodes"
+ 
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:469
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:497
+ msgid ""
+ "Some files could not be encoded to the proper format. They will not be saved "
+ "to the device if you continue."
+@@ -2334,13 +2303,13 @@
+ "Nogle filer kunne ikke kodes til et passende format. De vil ikke blive gemt "
+ "til enheden, hvis du fortsætter."
+ 
+-#: ../src/Core/Banshee.Base/Dap/Dap.cs:474
++#: ../src/Core/Banshee.Base/Dap/Dap.cs:502
+ msgid "Continue synchronizing"
+ msgstr "Fortsæt synkronisering"
+ 
+ #. Translators: {0} is the name assigned to a Digital Audio Player by its owner
+ #: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:54
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:406
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:403
+ #, csharp-format
+ msgid "{0} Properties"
+ msgstr "{0} egenskaber"
+@@ -2350,20 +2319,20 @@
+ msgid "Device name"
+ msgstr "Enhedsnavn"
+ 
+-#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:85
+-#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:88
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:86
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:89
+ msgid "Owner name"
+ msgstr "Ejernavn"
+ 
+-#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:97
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:99
+ msgid "Encode to"
+ msgstr "Kod til"
+ 
+-#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:107
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:109
+ msgid "Volume usage"
+ msgstr "Pladsforbrug"
+ 
+-#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:119
++#: ../src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs:121
+ msgid "Advanced details"
+ msgstr "Avancerede detaljer"
+ 
+@@ -2468,7 +2437,7 @@
+ msgid "Loading user interface"
+ msgstr "Indlæser brugergrænseflade"
+ 
+-#: ../src/Core/Banshee.Base/GstTranscoder.cs:82
++#: ../src/Core/Banshee.Base/GstTranscoder.cs:83
+ msgid "Could not create transcoder"
+ msgstr "Kunne ikke oprette omkoder"
+ 
+@@ -2610,7 +2579,7 @@
+ "Fejlkorrektion forsøger at læse ridsede områder på en disk, men vil nedsætte "
+ "hastigheden mærkbart."
+ 
+-#: ../src/Core/Banshee.Base/Gui/SourceView.cs:533
++#: ../src/Core/Banshee.Base/Gui/SourceView.cs:540
+ msgid "Could not import tracks"
+ msgstr "Kunne ikke importere spor"
+ 
+@@ -2634,31 +2603,31 @@
+ msgid "Continuous"
+ msgstr "Løbende"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:213
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:232
+ msgid "Automatically set all track numbers in increasing order"
+ msgstr "Sæt automatisk alle spornumre i stigende rækkefølge"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:214
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:233
+ msgid "Set all track counts to this value"
+ msgstr "Sæt alle \"antal spor\" til denne værdi"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:215
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:234
+ msgid "Set all artists to this value"
+ msgstr "Sæt alle kunstnere til denne værdi"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:216
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:235
+ msgid "Set all albums to this value"
+ msgstr "Sæt alle album til denne værdi"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:217
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:236
+ msgid "Set all genres to this value"
+ msgstr "Sæt alle genre til denne værdi"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:218
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:237
+ msgid "Set all years to this value"
+ msgstr "Sæt alle år til denne værdi"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:219
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:238
+ msgid ""
+ "Apply the values of this track set for the Artist, Album Title, Genre, Track "
+ "count, Year, and Rating fields to the rest of the selected tracks in this "
+@@ -2667,20 +2636,20 @@
+ "Anvend værdierne fra dette spor. Sæt kunstner-, albumtitel-, genre-, antal "
+ "spor-, årstal- og bedømmelsesfelter på resten af sporene i denne redigering."
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:220
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:239
+ msgid "Set all ratings to this value"
+ msgstr "Sæt alle bedømmelser til denne værdi"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:272
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:300
+ msgid "Never played"
+ msgstr "Aldrig afspillet"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:286
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:314
+ #, csharp-format
+ msgid "Editing song {0} of {1}"
+ msgstr "Redigerer sang {0} af {1}"
+ 
+-#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:287
++#: ../src/Core/Banshee.Base/Gui/TrackEditor.cs:315
+ #, csharp-format
+ msgid "Editing {0}"
+ msgstr "Redigerer {0}"
+@@ -2762,15 +2731,15 @@
+ msgid "Configuration"
+ msgstr "Konfiguration"
+ 
+-#: ../src/Core/Banshee.Base/PowerManagement.cs:83
++#: ../src/Core/Banshee.Base/PowerManagement.cs:121
+ msgid "Playing Music"
+ msgstr "Afspiller musik"
+ 
+-#: ../src/Core/Banshee.Base/Source.cs:388
++#: ../src/Core/Banshee.Base/Source.cs:390
+ msgid "Source Properties..."
+ msgstr "Kildeegenskaber..."
+ 
+-#: ../src/Core/Banshee.Base/Source.cs:396
++#: ../src/Core/Banshee.Base/Source.cs:398
+ #, csharp-format
+ msgid "Delete {0}"
+ msgstr "Slet {0}"
+@@ -2833,48 +2802,45 @@
+ msgid "You must select at least one track to import."
+ msgstr "Du skal vælge mindst ét spor at importere."
+ 
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:107
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:106
+ msgid "Synchronizing your Device, Please Wait..."
+ msgstr "Synkroniserer din enhed, vent venligst..."
+ 
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:191
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:188
+ #: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:316
+ msgid "Importing"
+ msgstr "Importerer"
+ 
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:193
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:190
+ #: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:318
+ #, csharp-format
+ msgid "You are currently importing from {0}. Would you like to stop it?"
+ msgstr "Du importerer i øjeblikket fra {0}. Vil du afbryde importeringen?"
+ 
+-#. import_manager.UserEvent.Icon = GetIcon;
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:195
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:314
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:192
+ #: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:320
+ #, csharp-format
+ msgid "Copying from {0}"
+ msgstr "Kopierer fra {0}"
+ 
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:196
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:315
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:193
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:464
+ #: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:321
+ msgid "Scanning..."
+ msgstr "Leder..."
+ 
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:313
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:435
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:310
+ #: ../src/Plugins/Banshee.Plugins.Daap/DaapSource.cs:437
+ #, csharp-format
+ msgid "Cannot import track from {0}"
+ msgstr "Kan ikke importere spor fra {0}"
+ 
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:349
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:346
+ #, csharp-format
+ msgid "({0} Remaining)"
+ msgstr "({0} tilbage)"
+ 
+-#: ../src/Core/Banshee.Base/Sources/DapSource.cs:386
++#: ../src/Core/Banshee.Base/Sources/DapSource.cs:383
+ #, csharp-format
+ msgid "Eject {0}"
+ msgstr "Skub {0} ud"
+@@ -2924,7 +2890,7 @@
+ #: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:73
+ #: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:461
+ #: ../src/Core/Banshee.Base/Sources/PlaylistSource.cs:467
+-#: ../src/Core/Banshee/PlayerInterface.cs:1622
++#: ../src/Core/Banshee/PlayerInterface.cs:1692
+ msgid "New Playlist"
+ msgstr "Ny spilleliste"
+ 
+@@ -2938,7 +2904,7 @@
+ "En spilleliste med dette navn eksisterer allerede. Vælg venligst et andet "
+ "navn."
+ 
+-#: ../src/Core/Banshee.Base/StreamTagger.cs:169
++#: ../src/Core/Banshee.Base/StreamTagger.cs:171
+ #, csharp-format
+ msgid "Saving tags for {0}"
+ msgstr "Gemmer mærker for {0}"
+@@ -2961,85 +2927,86 @@
+ msgid "{0:0.00} GB"
+ msgstr "{0:0.00} GB"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:453
++#: ../src/Core/Banshee/PlayerInterface.cs:470
+ msgid "All Columns"
+ msgstr "Alle kolonner"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:455
++#: ../src/Core/Banshee/PlayerInterface.cs:472
+ msgid "Song Name"
+ msgstr "Sang"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:456
++#: ../src/Core/Banshee/PlayerInterface.cs:473
+ msgid "Artist Name"
+ msgstr "Kunstner"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:457
++#: ../src/Core/Banshee/PlayerInterface.cs:474
+ msgid "Album Title"
+ msgstr "Albumtitel"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:480
++#: ../src/Core/Banshee/PlayerInterface.cs:497
+ msgid "Write selection to CD"
+ msgstr "Skriv valg til cd"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:481
++#: ../src/Core/Banshee/PlayerInterface.cs:498
+ msgid "Import CD into library"
+ msgstr "Importér cd til bibliotek"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:482
++#: ../src/Core/Banshee/PlayerInterface.cs:499
+ #: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:151
+ msgid "Play previous song"
+ msgstr "Afspil forrige sang"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:483
++#: ../src/Core/Banshee/PlayerInterface.cs:500
+ #: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:152
+ msgid "Play/pause current song"
+ msgstr "Afspil/pause nuværende sang"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:484
++#: ../src/Core/Banshee/PlayerInterface.cs:501
+ #: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:153
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:293
+ msgid "Play next song"
+ msgstr "Afspil næste sang"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:485
++#: ../src/Core/Banshee/PlayerInterface.cs:502
+ msgid "Device disk usage"
+ msgstr "Diskforbrug på enhed"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:486
++#: ../src/Core/Banshee/PlayerInterface.cs:503
+ msgid "Synchronize music library to device"
+ msgstr "Synkronisér musikbibliotek til enhed"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:487
++#: ../src/Core/Banshee/PlayerInterface.cs:504
+ #: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:155
+ msgid "Adjust volume"
+ msgstr "Justér lydstyrke"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:488
++#: ../src/Core/Banshee/PlayerInterface.cs:505
+ #: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:156
+ msgid "Change repeat playback mode"
+ msgstr "Gentag afspilning (til/fra)"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:489
++#: ../src/Core/Banshee/PlayerInterface.cs:506
+ #: ../src/Plugins/Banshee.Plugins.MiniMode/MiniModeWindow.cs:157
+ msgid "Toggle shuffle playback mode"
+ msgstr "Tilfældig afspilning (til/fra)"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:490
++#: ../src/Core/Banshee/PlayerInterface.cs:507
+ msgid "Edit and view metadata of selected songs"
+ msgstr "Redigér og vis metadata på valgte sange"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:814
++#: ../src/Core/Banshee/PlayerInterface.cs:883
+ msgid "Pause"
+ msgstr "Pause"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:816
++#: ../src/Core/Banshee/PlayerInterface.cs:885
+ msgid "Stop"
+ msgstr "Stop"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:837
++#: ../src/Core/Banshee/PlayerInterface.cs:906
+ msgid "Cannot Play Song"
+ msgstr "Kan ikke afspille sang"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:838
++#: ../src/Core/Banshee/PlayerInterface.cs:907
+ #, csharp-format
+ msgid ""
+ "{0} cannot be played by Banshee. The most common reasons for this are:\n"
+@@ -3052,52 +3019,52 @@
+ "  <big>•</big> Sangen er beskyttet (DRM)\n"
+ "  <big>•</big> Sangen er på en DAP som ikke understøtter afspilning\n"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:847
+-#: ../src/Core/Banshee/PlayerInterface.cs:856
++#: ../src/Core/Banshee/PlayerInterface.cs:916
++#: ../src/Core/Banshee/PlayerInterface.cs:925
+ msgid "Play"
+ msgstr "Afspil"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1268
++#: ../src/Core/Banshee/PlayerInterface.cs:1337
+ #, csharp-format
+ msgid "{0} Item"
+ msgid_plural "{0} Items"
+ msgstr[0] "{0} element"
+ msgstr[1] "{0} elementer"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1272
++#: ../src/Core/Banshee/PlayerInterface.cs:1341
+ #, csharp-format
+ msgid "{0} day"
+ msgid_plural "{0} days"
+ msgstr[0] "{0} dag"
+ msgstr[1] "{0} dage"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1277
++#: ../src/Core/Banshee/PlayerInterface.cs:1346
+ #, csharp-format
+ msgid "{0} hour"
+ msgid_plural "{0} hours"
+ msgstr[0] "{0} time"
+ msgstr[1] "{0} timer"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1281
++#: ../src/Core/Banshee/PlayerInterface.cs:1350
+ #, csharp-format
+ msgid "{0} minute"
+ msgid_plural "{0} minutes"
+ msgstr[0] "{0} minut"
+ msgstr[1] "{0} minutter"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1283
++#: ../src/Core/Banshee/PlayerInterface.cs:1352
+ #, csharp-format
+ msgid "{0} second"
+ msgid_plural "{0} seconds"
+ msgstr[0] "{0} sekund"
+ msgstr[1] "{0} sekunder"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1412
++#: ../src/Core/Banshee/PlayerInterface.cs:1482
+ #, csharp-format
+ msgid "Filter on {0}"
+ msgstr "Filtrér på {0}"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1891
++#: ../src/Core/Banshee/PlayerInterface.cs:1965
+ #, csharp-format
+ msgid "Are you sure you want to permanently delete this song?"
+ msgid_plural ""
+@@ -3105,15 +3072,15 @@
+ msgstr[0] "Er du sikker på du vil slette denne sang permanent?"
+ msgstr[1] "Er du sikker på du vil slette de {0} valgte sange permanent?"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1895
++#: ../src/Core/Banshee/PlayerInterface.cs:1969
+ msgid "If you delete the selection, it will be permanently lost."
+ msgstr "Hvis du sletter det valgte vil det permament være tabt."
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1898
++#: ../src/Core/Banshee/PlayerInterface.cs:1972
+ msgid "Remove selection from library"
+ msgstr "Fjern valg fra bibliotek"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1900
++#: ../src/Core/Banshee/PlayerInterface.cs:1974
+ #, csharp-format
+ msgid "Are you sure you want to remove the selected song from your library?"
+ msgid_plural ""
+@@ -3122,25 +3089,25 @@
+ msgstr[1] ""
+ "Er du sikker på du vil fjerne de valgte <b>({0})</b> sange fra dit bibliotek?"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1945
++#: ../src/Core/Banshee/PlayerInterface.cs:2019
+ msgid "Delete songs from drive"
+ msgstr "Slet sange fra drev"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:1946
++#: ../src/Core/Banshee/PlayerInterface.cs:2020
+ #, csharp-format
+ msgid "You do not have the required permissions to delete '{0}'"
+ msgstr "Du har ikke rettigheder til at slette \"{0}\""
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2012
++#: ../src/Core/Banshee/PlayerInterface.cs:2086
+ msgid "Import Playlist"
+ msgstr "Importér spilleliste"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2044
+-#: ../src/Core/Banshee/PlayerInterface.cs:2062
++#: ../src/Core/Banshee/PlayerInterface.cs:2118
++#: ../src/Core/Banshee/PlayerInterface.cs:2136
+ msgid "Unable to Import Playlist"
+ msgstr "Kunne ikke importere spilleliste"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2063
++#: ../src/Core/Banshee/PlayerInterface.cs:2137
+ msgid ""
+ "Banshee was unable to find any valid tracks to import.  Please check the "
+ "playlist and try again."
+@@ -3148,17 +3115,34 @@
+ "Banshee kunne ikke finde gyldige numre at importere. Undersøg venligst "
+ "spillelisten og prøv igen."
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2152
++#: ../src/Core/Banshee/PlayerInterface.cs:2180
++msgid "Could not export playlist"
++msgstr "Kunne ikke eksportere spilleliste"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2199
++#: ../src/Core/Banshee/PlayerInterface.cs:2205
++msgid "Error opening stream"
++msgstr "Fejl ved åbning af stream"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2199
++msgid "Could not open stream or playlist"
++msgstr "Kunne ikke åbne stream eller spilleliste"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2205
++msgid "Problem parsing playlist"
++msgstr "Problemer ved fortolkning af spilleliste"
++
++#: ../src/Core/Banshee/PlayerInterface.cs:2243
+ msgid "New CD"
+ msgstr "Ny cd"
+ 
+ #. Translators: {0} is the name of the DAP device (i.e. 'iPod')
+-#: ../src/Core/Banshee/PlayerInterface.cs:2173
++#: ../src/Core/Banshee/PlayerInterface.cs:2264
+ #, csharp-format
+ msgid "Synchronize {0}"
+ msgstr "Synkronisér {0}"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2174
++#: ../src/Core/Banshee/PlayerInterface.cs:2265
+ #, csharp-format
+ msgid ""
+ "You have made changes to your {0}. Please choose a method for updating the "
+@@ -3176,7 +3160,7 @@
+ "<big>•</big> <i>Gem manuelle ændringer</i>: gem kun manuelle ændringer lavet "
+ "af dig"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2180
++#: ../src/Core/Banshee/PlayerInterface.cs:2271
+ msgid ""
+ "<b>Warning:</b> Actions will alter or erase existing iPod contents and may "
+ "cause incompatibility with iTunes!"
+@@ -3184,11 +3168,11 @@
+ "<b>Advarsel:</b> Handlinger vil ændre eller slette eksisterende indhold på "
+ "iPod'en og kan resultere i inkompatibilitet med iTunes!"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2182
++#: ../src/Core/Banshee/PlayerInterface.cs:2273
+ msgid "Synchronize Library"
+ msgstr "Synkronisér bibliotek"
+ 
+-#: ../src/Core/Banshee/PlayerInterface.cs:2184
++#: ../src/Core/Banshee/PlayerInterface.cs:2275
+ msgid "Save Manual Changes"
+ msgstr "Gem manuelle ændringer"
+ 
+@@ -3229,7 +3213,7 @@
+ msgstr "Bedømmelse:"
+ 
+ #: ../src/Core/Banshee.Widgets/StreamPositionLabel.cs:82
+-#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:279
++#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:291
+ msgid "Buffering"
+ msgstr "Mellemlagrer"
+ 
+@@ -3249,42 +3233,49 @@
+ msgid "Full Volume"
+ msgstr "Fuld lydstyrke"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:53
+-#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:54
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:87
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:88
+ msgid "Rebuilding Database"
+ msgstr "Gendanner database"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:55
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:89
+ msgid "Scanning iPod..."
+ msgstr "Gennemsøger iPod..."
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:89
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:123
+ msgid "Processing Tracks..."
+ msgstr "Behandler spor..."
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:136
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:140
++msgid "Ordering Tracks..."
++msgstr "Sorterer spor..."
++
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:220
+ msgid "Saving new database..."
+ msgstr "Gemmer ny database..."
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:143
++#: ../src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:232
+ msgid "Error rebuilding iPod database"
+ msgstr "Fejl ved gendannelse af iPod database"
+ 
+-#. Translators "Week 25 of 2006"
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:100
+-msgid "Manufactured During"
+-msgstr "Fremstillet i løbet af"
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:99
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:102
++msgid "Model"
++msgstr "Model"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:101
+-#, csharp-format
+-msgid "Week {0} of {1}"
+-msgstr "Uge {0} af {1}"
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:106
++msgid "Advertised Capacity"
++msgstr "Averteret kapacitet"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:139
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:109
++msgid "Manufactured In"
++msgstr "Fremstillet i"
++
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:177
+ msgid "Your iPod could not be identified"
+ msgstr "Din iPod kunne ikke identificeres"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:140
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:178
+ msgid ""
+ "Please consider submitting information about your iPod to the Banshee "
+ "Project so your iPod may be more fully identified in the future.\n"
+@@ -3292,32 +3283,28 @@
+ "Overvej venligst at indsende information omkring din iPod til Banshee-"
+ "projektet, så din iPod identificeres bedre i fremtiden.\n"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:143
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:181
+ msgid "Do not ask me again"
+ msgstr "Spørg mig ikke igen"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:148
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:186
+ msgid "Go to Web Site"
+ msgstr "GÃ¥ til hjemmeside"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:234
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:278
+ msgid "Could not eject iPod"
+ msgstr "Kunne ikke skubbe iPod ud"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:242
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:261
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:303
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:322
+ msgid "Synchronizing iPod"
+ msgstr "Synkroniserer iPod"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:243
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:304
+ msgid "Pre-processing tracks"
+ msgstr "Forbehandler sange"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:258
+-msgid "Flushing to Disk (may take time)"
+-msgstr "Opdaterer til disk (kan tage noget tid)"
+-
+-#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:268
++#: ../src/Dap/Banshee.Dap.Ipod/IpodDap.cs:333
+ msgid "Failed to synchronize iPod"
+ msgstr "Kunne ikke synkronisere iPod"
+ 
+@@ -3350,15 +3337,20 @@
+ msgid "What is the reason for this?"
+ msgstr "Hvad er årsagen til dette?"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:116
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:110
++msgid "Your iPod is mounted read only. Banshee can not restore your iPod."
++msgstr ""
++"Din iPod er monteret skrivebeskyttet. Banshee kan ikke genskabe din iPod."
++
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:118
+ msgid "Rebuild iPod Database..."
+ msgstr "Gendan iPod database..."
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:124
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:126
+ msgid "Confirm Rebuild iPod Database"
+ msgstr "Bekræft gendannelse af iPod database"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:130
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:132
+ msgid ""
+ "Rebuilding your iPod database may take some time. Also note that any "
+ "playlists you have on your iPod will be lost.\n"
+@@ -3370,19 +3362,16 @@
+ "\n"
+ "Er du sikker på du vil gendanne din iPod database?"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:135
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:137
+ msgid "Rebuild Database"
+ msgstr "Geopbyg database"
+ 
+-#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:147
++#: ../src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:151
+ msgid "Rebuilding iPod Database..."
+ msgstr "Gendanner iPod database..."
+ 
+ #: ../src/Dap/Banshee.Dap.Karma/Karma.cs:144
+ #: ../src/Dap/Banshee.Dap.Karma/Karma.cs:172
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:232
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:236
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:269
+ #: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:248
+ #: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:260
+ msgid "Synchronizing Device"
+@@ -3416,85 +3405,75 @@
+ msgstr[0] "Lydformat"
+ msgstr[1] "Lydformater"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:264
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:271
+ msgid "Loading Songs"
+ msgstr "Indlæser sange"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:265
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:272
+ msgid ""
+ "The audio device song loading process is currently running.  Would you like "
+ "to stop it?"
+ msgstr "Sange indlæses i øjeblikket fra lydenheden. Vil du afbryde processen?"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:266
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:273
+ #, csharp-format
+ msgid "Loading {0} of {1}"
+ msgstr "Indlæser {0} af {1}"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:315
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:322
+ #, csharp-format
+ msgid "Copying {0} of {1}"
+ msgstr "Kopierer {0} af {1}"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:331
+-msgid "Song Playing on Device"
+-msgstr "Sang afspilles på enhed"
+-
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:332
+-msgid ""
+-"Before you can eject your device, you need to start playing a song that is "
+-"not on it.  This is a known bug."
+-msgstr ""
+-"Før du kan skubbe din enhed ud, er du nødt til at afspille en sang der ikke "
+-"ligger på den. Dette er en kendt fejl."
+-
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:368
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:364
+ #, csharp-format
+ msgid "Failed to Unmount {0}"
+ msgstr "Kunne ikke afmontere {0}"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:369
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:365
+ msgid "Make sure no other programs are using it."
+ msgstr "Vær sikker på at ingen andre programmer bruger den."
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:381
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:377
+ #, csharp-format
+ msgid "Failed to Eject {0}"
+ msgstr "Kunne ikke skubbe {0} ud"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:535
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:549
+ #, csharp-format
+ msgid "Removing songs from {0}"
+ msgstr "Fjerner sange fra {0}"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:536
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:550
+ #, csharp-format
+ msgid "Removing {0} of {1}"
+ msgstr "Fjerner {0} af {1}"
+ 
+-#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:573
++#: ../src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:667
+ msgid "Audio Device"
+ msgstr "Lydenhed"
+ 
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:168
+-msgid ": Found"
+-msgstr ": Fundet"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:178
++msgid "Connecting..."
++msgstr "Tilslutter..."
+ 
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:169
+-msgid "Reading library information"
+-msgstr "Læser biblioteksinformationer"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:236
++msgid "Loading database..."
++msgstr "Indlæser database..."
+ 
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:180
+-msgid "Loading device"
+-msgstr "Indlæser enhed"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:245
++msgid "Cancelled..."
++msgstr "Annulleret..."
+ 
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:184
+-msgid "Done"
+-msgstr "Færdig"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:259
++#, csharp-format
++msgid "Loaded {0} files in {1:0.00}sec"
++msgstr "Indlæste {0} filer på {1:0.00} sek."
+ 
+-#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:185
+-msgid ": Ready for use"
+-msgstr ": Klar til brug"
++#: ../src/Dap/Banshee.Dap.Mtp/MtpDap.cs:463
++#, csharp-format
++msgid "Importing from {0}"
++msgstr "Importerer fra {0}"
+ 
+ #: ../src/Dap/Banshee.Dap.Njb/NjbDap.cs:155
+ msgid "Cannot read device"
+@@ -3508,7 +3487,7 @@
+ msgid "Could not set the owner of the device."
+ msgstr "Kunne ikke sætte ejeren på enheden."
+ 
+-#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:138
++#: ../src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs:140
+ msgid "Could not initialize GStreamer library"
+ msgstr "Kunne ikke initialisere GStreamer-bibliotek"
+ 
+@@ -3994,7 +3973,7 @@
+ msgid "Now Playing"
+ msgstr "Afspiller nu"
+ 
+-#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:293
++#: ../src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:297
+ msgid "Cannot show notification"
+ msgstr "Kan ikke vise påmindelse"
+ 
+@@ -4453,10 +4432,18 @@
+ msgstr "Tidspunkt for sidste undersøgelse for radio opdateringer"
+ 
+ #: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:10
++msgid "URI for remote stations update"
++msgstr "URI til opdatering af fjernstationer"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:11
++msgid "URI to update remote stations from"
++msgstr "URI til opdatering af fjernstationer"
++
++#: ../src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in.h:12
+ msgid "Update remote stations from radio.banshee-project.org"
+ msgstr "Opdatér fjernstationer fra radio.banshee-project.org"
+ 
+-#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:116
++#: ../src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs:117
+ msgid "Loading"
+ msgstr "Indlæser"
+ 
+@@ -4599,12 +4586,12 @@
+ msgid "Top Albums by {0}"
+ msgstr "Topalbum af {0}"
+ 
+-#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:366
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:367
+ #, csharp-format
+ msgid "{0}% Similarity"
+ msgstr "{0}% lighed"
+ 
+-#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:368
++#: ../src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:369
+ msgid "Unknown Similarity"
+ msgstr "Ukendt lighed"
+ 
+@@ -4627,6 +4614,308 @@
+ msgid "Show Recommendations"
+ msgstr "Vis anbefalinger"
+ 
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:333
++msgid "Failed to Login to Last.fm"
++msgstr "Kunne ikke logge ind på Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:334
++msgid "Either your username or password is invalid."
++msgstr "Brugernavn eller adgangskode er ugyldig."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:457
++msgid "There is not enough content to play this station."
++msgstr "Der er ikke nok indhold til at afspille denne station."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:458
++msgid "This group does not have enough members for radio."
++msgstr "Denne gruppe har ikke nok medlemmer til radio."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:459
++msgid "This artist does not have enough fans for radio."
++msgstr "Denne kunstner har ikke nok fans til radio."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:460
++msgid "This station is not available."
++msgstr "Denne station er ikke tilgængelig."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:461
++msgid "This station is only available to subscribers."
++msgstr "Denne station er kun tilgængelig for abonnenter."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:462
++msgid "There are not enough neighbours for this station."
++msgstr "Der er ikke nok naboer til denne station."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:463
++msgid ""
++"The streaming system is offline for maintenance, please try again later."
++msgstr ""
++"Streamingsystemet er offline for vedligeholdelse, prøv venligst igen senere."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:464
++msgid "There was an unknown error."
++msgstr "Der opstod en ukendt fejl."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:472
++msgid "Not connected to Last.fm."
++msgstr "Ikke tilsluttet til Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:473
++msgid "Need account details before can connect to Last.fm"
++msgstr "Behøver kontodetaljer før der kan tilsluttes til Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:474
++msgid "No network connection detected."
++msgstr "Ingen netværksforbindelse fundet."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:475
++msgid "Last.fm username or password is invalid."
++msgstr "Last.fm brugernavn eller adgangskode er ugyldig."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:476
++msgid "Connecting to Last.fm."
++msgstr "Tilslutter til Last.fm"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Connection.cs:477
++msgid "Connected to Last.fm."
++msgstr "Tilsluttet til Last.fm."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Editor.cs:62
++msgid "Edit Station"
++msgstr "Redigér station"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Editor.cs:69
++msgid "New Station"
++msgstr "Ny station"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs:178
++msgid "Edit Last.fm Settings"
++msgstr "Redigér Last.fm-opsætning"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/LastFMSource.cs:252
++msgid "Last.fm (Disconnected)"
++msgstr "Last.fm (Ikke tilsluttet)"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:76
++msgid "Last.fm Radio"
++msgstr "Last.fm-radio"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:80
++msgid ""
++"Play music from Last.fm, the world's largest social music platform. Show off "
++"your taste, see what your friends are listening to, hear new music, get "
++"personal radio, recommendations, and downloads, all for free."
++msgstr ""
++"Afspil musik fra Last.fm, verdens største sociale musikplatform. Vis din "
++"smag, se hvad dine venner lytter til, lyt til nyt musik, få en personlig "
++"radio, anbefalinger og downloads, alt er gratis."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:108
++msgid "_Add Station"
++msgstr "Tilføj st_ation"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:113
++msgid "Connect"
++msgstr "Tilslut"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:118
++msgid "Sort Stations by"
++msgstr "Sortér stationer efter"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:123
++msgid "Love Track"
++msgstr "Elsker nummer"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:124
++msgid "Mark current track as loved"
++msgstr "Markér nuværende nummer som elsket"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:128
++msgid "Ban Track"
++msgstr "Forbyd nummer"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:129
++msgid "Mark current track as banned"
++msgstr "Markér nuværende nummer som forbudt"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:137
++msgid "Station Name"
++msgstr "Stationsnavn"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:142
++msgid "Total Play Count"
++msgstr "Afspilninger"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/Plugin.cs:147
++msgid "Station Type"
++msgstr "Stationstype"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:216
++#, csharp-format
++msgid "Tuning Last.fm to {0}."
++msgstr "Tuner Last.fm ind på {0}."
++
++#. Translators: {0} is an error message sentence from Connection.cs.
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:226
++#, csharp-format
++msgid "Failed to tune in station. {0}"
++msgstr "Kunne ikke tune ind på station. {0}"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:306
++#, csharp-format
++msgid "Getting new songs for {0}."
++msgstr "Henter nye sange for {0}."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:313
++#, csharp-format
++msgid "No new songs available for {0}."
++msgstr "Ingen nye sange tilgængelige for {0}."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:336
++#, csharp-format
++msgid "Failed to get new songs for {0}."
++msgstr "Kunne ikke hente nye sange for {0}."
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:432
++msgid "Delete Last.fm Station"
++msgstr "Slet Last.fm-station"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:437
++msgid "Last.fm Station"
++msgstr "Last.fm-station"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:442
++msgid "Edit Last.fm Station"
++msgstr "Redigér Last.fm-station"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:484
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:85
++msgid "Recommended"
++msgstr "Anbefalet"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:485
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:94
++msgid "Personal"
++msgstr "Personlig"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:486
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:103
++msgid "Loved"
++msgstr "Elsket"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationSource.cs:487
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:112
++msgid "Neighbors"
++msgstr "Naboer"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:86
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:95
++msgid "For User:"
++msgstr "For bruger:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:104
++msgid "By User:"
++msgstr "Af bruger:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:113
++msgid "Of User:"
++msgstr "Af bruger:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:121
++msgid "Group"
++msgstr "Gruppe"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:122
++msgid "Group Name:"
++msgstr "Gruppenavn:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:130
++msgid "Tag"
++msgstr "Mærke"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:131
++msgid "Tag Name:"
++msgstr "Mærke:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:139
++msgid "Fan"
++msgstr "Fan"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:140
++msgid "Fans of:"
++msgstr "Fans af:"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:148
++msgid "Similar"
++msgstr "Lighed"
++
++#: ../src/Plugins/Banshee.Plugins.LastFM/StationType.cs:149
++msgid "Similar to:"
++msgstr "Lighed med:"
++
++#~ msgid "Advanced Audio Coding (AAC)"
++#~ msgstr "Advanced Audio Coding (AAC)"
++
++#~ msgid ""
++#~ "Proprietary and standardized format that is superior to MP3, but not as "
++#~ "popular."
++#~ msgstr ""
++#~ "Proprietær og standardiseret format som er MP3 overlegen, men ikke nær så "
++#~ "populær."
++
++#~ msgid ""
++#~ "WAV+PCM is a lossless format that holds uncompressed, raw pulse-code "
++#~ "modulated (PCM) audio."
++#~ msgstr ""
++#~ "WAV+PCM er et ikke-forringende format som indeholder ukomprimeret, rå "
++#~ "pulskodemoduleret (PCM) lyd."
++
++#~ msgid "Waveform PCM"
++#~ msgstr "Bølgeform PCM"
++
++#~ msgid "Could not initialize cdparanoia"
++#~ msgstr "Kunne ikke initialisere cdparanoia"
++
++#~ msgid "Exception: "
++#~ msgstr "Undtagelse: "
++
++#~ msgid "Not a valid M3U file."
++#~ msgstr "Ikke en gyldig M3U-fil."
++
++#~ msgid "Not a valid PLS file."
++#~ msgstr "Ikke en gyldig PLS-fil."
++
++#~ msgid "Week {0} of {1}"
++#~ msgstr "Uge {0} af {1}"
++
++#~ msgid "Flushing to Disk (may take time)"
++#~ msgstr "Opdaterer til disk (kan tage noget tid)"
++
++#~ msgid "Song Playing on Device"
++#~ msgstr "Sang afspilles på enhed"
++
++#~ msgid ""
++#~ "Before you can eject your device, you need to start playing a song that "
++#~ "is not on it.  This is a known bug."
++#~ msgstr ""
++#~ "Før du kan skubbe din enhed ud, er du nødt til at afspille en sang der "
++#~ "ikke ligger på den. Dette er en kendt fejl."
++
++#~ msgid ": Found"
++#~ msgstr ": Fundet"
++
++#~ msgid "Reading library information"
++#~ msgstr "Læser biblioteksinformationer"
++
++#~ msgid "Loading device"
++#~ msgstr "Indlæser enhed"
++
++#~ msgid "Done"
++#~ msgstr "Færdig"
++
++#~ msgid ": Ready for use"
++#~ msgstr ": Klar til brug"
++
+ #~ msgid "Ratin_g"
+ #~ msgstr "Bedømmel_se"
+ 




More information about the Pkg-cli-apps-commits mailing list