[Pkg-gtkpod-devel] r94 - in gtkpod/trunk: . debian pixmaps po scripts src

Frank Lichtenheld djpig at costa.debian.org
Fri Dec 30 07:32:58 UTC 2005


Author: djpig
Date: 2005-12-30 07:31:41 +0000 (Fri, 30 Dec 2005)
New Revision: 94

Added:
   gtkpod/trunk/scripts/ldif2vcf.sh
   gtkpod/trunk/scripts/sync-knotes.sh
   gtkpod/trunk/scripts/sync-ldif.sh
   gtkpod/trunk/scripts/sync-palm-jppy.py
   gtkpod/trunk/src/details.c
   gtkpod/trunk/src/details.h
   gtkpod/trunk/src/podcast.c
   gtkpod/trunk/src/podcast.h
Removed:
   gtkpod/trunk/src/itdb_itunesdb.c
   gtkpod/trunk/src/itdb_playlist.c
   gtkpod/trunk/src/itdb_private.h
   gtkpod/trunk/src/itdb_track.c
Modified:
   gtkpod/trunk/COPYING
   gtkpod/trunk/ChangeLog
   gtkpod/trunk/INSTALL
   gtkpod/trunk/Makefile.am
   gtkpod/trunk/Makefile.in
   gtkpod/trunk/README
   gtkpod/trunk/TODOandBUGS.txt
   gtkpod/trunk/TROUBLESHOOTING
   gtkpod/trunk/config.h.in
   gtkpod/trunk/configure
   gtkpod/trunk/configure.in
   gtkpod/trunk/debian/changelog
   gtkpod/trunk/gtkpod.glade
   gtkpod/trunk/pixmaps/gtkpod-add-dirs.png
   gtkpod/trunk/pixmaps/gtkpod-add-files.png
   gtkpod/trunk/pixmaps/gtkpod-add-playlists.png
   gtkpod/trunk/pixmaps/gtkpod-icon-32.png
   gtkpod/trunk/pixmaps/gtkpod-icon-32x32-2.png
   gtkpod/trunk/pixmaps/gtkpod-icon-32x32.png
   gtkpod/trunk/pixmaps/gtkpod-icon-48.png
   gtkpod/trunk/pixmaps/gtkpod-icon-48x48.png
   gtkpod/trunk/pixmaps/gtkpod-icon-64x64.png
   gtkpod/trunk/pixmaps/gtkpod-logo.png
   gtkpod/trunk/pixmaps/gtkpod-new-playlist.png
   gtkpod/trunk/pixmaps/gtkpod-read.png
   gtkpod/trunk/pixmaps/gtkpod-sync.png
   gtkpod/trunk/po/POTFILES.in
   gtkpod/trunk/po/de.gmo
   gtkpod/trunk/po/de.po
   gtkpod/trunk/po/fr.gmo
   gtkpod/trunk/po/fr.po
   gtkpod/trunk/po/gtkpod.pot
   gtkpod/trunk/po/he.gmo
   gtkpod/trunk/po/he.po
   gtkpod/trunk/po/it.gmo
   gtkpod/trunk/po/it.po
   gtkpod/trunk/po/ja.gmo
   gtkpod/trunk/po/ja.po
   gtkpod/trunk/po/sv.gmo
   gtkpod/trunk/po/sv.po
   gtkpod/trunk/scripts/Makefile.am
   gtkpod/trunk/scripts/Makefile.in
   gtkpod/trunk/scripts/sync-thunderbird.sh
   gtkpod/trunk/src/Makefile.am
   gtkpod/trunk/src/Makefile.in
   gtkpod/trunk/src/confirmation.c
   gtkpod/trunk/src/context_menus.c
   gtkpod/trunk/src/display.c
   gtkpod/trunk/src/display.h
   gtkpod/trunk/src/display_itdb.c
   gtkpod/trunk/src/display_itdb.h
   gtkpod/trunk/src/display_playlists.c
   gtkpod/trunk/src/display_private.h
   gtkpod/trunk/src/display_songs.c
   gtkpod/trunk/src/display_sorttabs.c
   gtkpod/trunk/src/display_spl.c
   gtkpod/trunk/src/file.c
   gtkpod/trunk/src/file.h
   gtkpod/trunk/src/file_export.c
   gtkpod/trunk/src/file_itunesdb.c
   gtkpod/trunk/src/fileselection.c
   gtkpod/trunk/src/fileselection.h
   gtkpod/trunk/src/info.c
   gtkpod/trunk/src/info.h
   gtkpod/trunk/src/itdb.h
   gtkpod/trunk/src/main.c
   gtkpod/trunk/src/misc.c
   gtkpod/trunk/src/misc.h
   gtkpod/trunk/src/misc_confirm.c
   gtkpod/trunk/src/misc_conversion.c
   gtkpod/trunk/src/misc_input.c
   gtkpod/trunk/src/misc_playlist.c
   gtkpod/trunk/src/misc_track.c
   gtkpod/trunk/src/misc_track.h
   gtkpod/trunk/src/mp3file.c
   gtkpod/trunk/src/mp4file.c
   gtkpod/trunk/src/prefs.c
   gtkpod/trunk/src/prefs.h
   gtkpod/trunk/src/prefs_window.c
   gtkpod/trunk/src/prefs_window.h
   gtkpod/trunk/src/tools.c
   gtkpod/trunk/src/wavfile.c
Log:
Merge 0.99.2 to trunk


Modified: gtkpod/trunk/COPYING
===================================================================
--- gtkpod/trunk/COPYING	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/COPYING	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,11 +1,3 @@
-Note: The GNU GENERAL PUBLIC LICENSE applies to all files except
-      itunesdb.c and itunesdb.h
-
-      The GNU LESSER GENERAL PUBLIC LICENSE applies to the files
-      itunesdb.c and itunesdb.h
-
--------------------------------------------------------------------------------
-
 		    GNU GENERAL PUBLIC LICENSE
 		       Version 2, June 1991
 
@@ -346,508 +338,3 @@
 consider it more useful to permit linking proprietary applications with the
 library.  If this is what you want to do, use the GNU Library General
 Public License instead of this License.
-
-
--------------------------------------------------------------------------------
-		  GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!

Modified: gtkpod/trunk/ChangeLog
===================================================================
--- gtkpod/trunk/ChangeLog	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/ChangeLog	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,3 +1,110 @@
+gtkpod V0.99.2
+       BUGFIX: Fix segfault when applying preferences.
+
+       BUGFIX: Don't require libcurl (not actively used).
+
+       UPDATE: Swedish translation catalog
+
+       IMPROVEMENT: Allow export of multiple thunderbird address
+       books (by naming the output filename).
+
+gtkpod V0.99.0
+       NEW: type-ahead search functionality. Thanks to Nick Piper,
+       http://www.nickpiper.co.uk/ -- please note that the list view
+       you want to search in needs to have keyboard focus. Selection
+       of the search column is done by clicking anywhere inside the
+       column.
+
+       NEW: Handle Compilations decently. The compilation mp3 tag is
+       read and written, and compilation artists can be grouped into
+       "Compilations" in the Artist filter tab. Thanks to Iain Benson!
+
+       NEW: Window for edit of track details, including functionality
+       to set thumbnails. The thumbnails are not stored as tags in the
+       file as iTunes does it. Instead, the original filename is
+       stored.
+
+       NEW: Display and setting/removing of thumbnail images. Choose
+       "Show Details" from the context menu (right mouse-button). New
+       thumbnails are displayed by the iPod but get wiped by iTunes,
+       however.
+
+       NEW: Automatic adding of thumbnail images when adding new
+       tracks or updating existing ones. See the option on the 'Track
+       Info' page of the preferences dialog for settings about which
+       filename will be used. Any filename is possible, even filenames
+       constructed from the album or artist name.
+
+       NEW: very basic iPod video support (you can add Videos but no
+       metadata is filled in). Thanks to Uwe Herman for the input.
+
+       NEW: script to sync contacts from a Palm (via jppy
+       http://wiki.zanu.org.uk/jppy). Thanks to Nick Piper,
+       http://www.nickpiper.co.uk/)
+
+       NEW: basic podcast support (use e.g. bashpodder or gpodder to
+       download podcasts, then add them directly into the podcast
+       playlist on the iPod).
+
+       NEW: transition to libgpod to read/write iTunesDB. See
+       www.gtkpod.org/libgpod.html for details.
+
+       IMPROVEMENT: added comment, category, description, podcast url,
+       podcast rss, subtitle fields and release date to displayable
+       fields.
+
+       IMPROVEMENT: Support playcounts on iPod Shuffle as well
+
+       IMPROVEMENT: Remember size of 'Edit Smart Playlist' dialog and
+       use scrolled window for the rules display.
+
+       IMPROVEMENT: Update smart playlists automatically (on
+       load/display/save) if 'live updating' is set.
+
+       IMPROVEMENT: Support for more mp3 file tags: Compilation
+       (TCMP), Podcast URL/Title (TID), Podcast Description (TDS),
+       Podcast Subtitle (TT3), Podcast RSS (WFD), Podcast Release Date
+       (TDR). Mostly reading only because of limited support on
+       id3tag's side.
+
+       UPDATED: Italian translation (thanks to Edward Matteucci)
+
+       BUGFIX: 'Check iPod's files' could crash under certain
+       circumstances (thanks to David Mansfield for the patch).
+
+       BUGFIX: Lame's Replay Gain was read incorrectly for certain
+       values. Thanks to Chris Brotherton for tracking this down.
+
+       BUGFIX: Prevent that all rules in a smart playlist get deleted,
+       which would mess up the iTunesDB.
+
+       BUGFIX: Choosing 'Delete' from the menu (not context menu) now
+       works again.
+
+gtkpod V0.95.CVS
+       NEW: script to sync addressbooks in ldif format provided by
+       Sebastien BERIDOT.
+
+       NEW: script to sync kNotes (KDE note program) provided by
+       Sebastian Scherer.
+
+       CHANGE: MP3 tags: use 'Band/Orchestra/Accompaniment' (TPE2) as
+       artist if it exists. Otherwise use 'Lead artist/Lead
+       performer/Soloist/Performing group' (TPE1) as before. Let me
+       know if this causes problems for you.
+
+       UPDATED Hebrew translation (thanks to Assaf Gillat)
+
+       SAFETY: call sync() and flush all buffers to the iPod after
+       writing the iTunesDB -- should minimise filesystem errors
+       caused by people disconnecting the iPod without unmounting.
+
+       BUGFIX: Copying playlists by drag and drop could confuse smart
+       playlists referencing these playlists. Fixed.
+
+       After copying playlists by drag and drop, smart playlists
+       refering to these playlists could become confused.
+
 gtkpod V0.94.0
        NEW FEATURE: stable sorting of track view. This allows you, for
        example, to first sort by title, then by artist. The list will

Modified: gtkpod/trunk/INSTALL
===================================================================
--- gtkpod/trunk/INSTALL	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/INSTALL	2005-12-30 07:31:41 UTC (rev 94)
@@ -10,6 +10,12 @@
    library -- they are not related. libid3tag is part of the MAD
    project (http://sourceforge.net/projects/mad/).
 
+   Starting with version 0.96 gtkpod is using the gpod library. The
+   gpod library should soon be available as a standard package for
+   major linux distributions. You can also install the library from
+   source. Download instructions for the tarball or CVS snapshot can
+   be found at http://www.gtkpod.org/libgpod.html
+
    The libmp4v2 package is ONLY NEEDED if you need AAC support.  You
    don't need libmp4v2 if you don't use AAC files.
 
@@ -21,6 +27,15 @@
 
    ./bootstrap --disable-server ; make ; make install
 
+   If you install to /usr/local/lib please don't forget to add the
+   path to LD_LIBRARY_PATH:
+
+     LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
+     export LD_LIBRARY_PATH
+
+   You can add those lines to your ~/.bashrc or add it globally to
+   /etc/profile.
+
    If you install packages from your linux distribution, keep in mind
    that you will need to install the "-dev" packages as well to be
    able to compile.

Modified: gtkpod/trunk/Makefile.am
===================================================================
--- gtkpod/trunk/Makefile.am	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/Makefile.am	2005-12-30 07:31:41 UTC (rev 94)
@@ -37,6 +37,12 @@
 	for gladefile in gtkpod.glade gtkpod.gladep; do \
 	    rm -f $(DESTDIR)$(pkgdatadir)/$$gladefile; \
 	done
+	if test -d $(DESTDIR)$(pkgdatadir)/scripts ; then \
+	    rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/scripts; \
+	fi
+	if test -d $(DESTDIR)$(pkgdatadir) ; then \
+	    rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir); \
+	fi
 
 dist-hook:
 	for gladefile in gtkpod.glade gtkpod.gladep; do \

Modified: gtkpod/trunk/Makefile.in
===================================================================
--- gtkpod/trunk/Makefile.in	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/Makefile.in	2005-12-30 07:31:41 UTC (rev 94)
@@ -587,6 +587,12 @@
 	for gladefile in gtkpod.glade gtkpod.gladep; do \
 	    rm -f $(DESTDIR)$(pkgdatadir)/$$gladefile; \
 	done
+	if test -d $(DESTDIR)$(pkgdatadir)/scripts ; then \
+	    rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/scripts; \
+	fi
+	if test -d $(DESTDIR)$(pkgdatadir) ; then \
+	    rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir); \
+	fi
 
 dist-hook:
 	for gladefile in gtkpod.glade gtkpod.gladep; do \

Modified: gtkpod/trunk/README
===================================================================
--- gtkpod/trunk/README	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/README	2005-12-30 07:31:41 UTC (rev 94)
@@ -18,7 +18,7 @@
   - Using gtkpod
   - Features
      - Tracks
-     - Sort Tabs
+     - Filter Tabs
      - Playlists
      - Drag and Drop
      - Duplicate Detection
@@ -28,8 +28,9 @@
      - Refresh (Update) Track Info From File
      - Synchronize Directories
      - Volume Normalization
+     - Podcasts
      - Offline Mode
-     - Export of Tracks
+     - Export of Tracks (Copy from iPod)
      - Encoding of ID3 tags (charsets)
      - Extracting tag information from the filename
      - Checking iPod's files
@@ -103,12 +104,12 @@
   corresponding mp3 file(s) should also be updated
 
 
-Sort Tabs
----------
+Filter Tabs
+-----------
 
-- The two notebooks above the track display are called "Sort Tabs"
+- The two notebooks above the track display are called "Filter Tabs"
 - They allow you to filter which tracks to display
-- If you edit an entry in the sort tab, the corresponding entry in all
+- If you edit an entry in the filter tab, the corresponding entry in all
   associated tracks will be updated as well. When writing the tags to
   disk as well, updating of a large number of tracks may take a while
 
@@ -134,7 +135,7 @@
 
 1) gtkpod internal
 
-- Playlists, entries of a sort tab, and tracks can be dragged.
+- Playlists, entries of a filter tab, and tracks can be dragged.
 
 - A drop _onto_ an existing playlist will add the tracks to that
   playlist
@@ -237,7 +238,7 @@
 available, and set the soundcheck field. If no replay-gain tag is
 available, the soundcheck field will be erased.
 
-You can also select entries in the sort tab or entire playlists for
+You can also select entries in the filter tab or entire playlists for
 refresh.
 
 
@@ -305,6 +306,29 @@
 field. Use 'Update Track' to re-read the tag from the file.
 
 
+Podcasts
+--------
+
+You have to download podcasts using a third party tool like bashpooder
+(http://linc.homeunix.org:8080/scripts/bashpodder/) or gpodder
+(http://perli.net/projekte/gpodder/)
+
+Podcasts should be added directly into the 'Podcasts' playlist of the
+iPod repository, for example by selecting the Podcasts playlist before
+manually adding files/directories. Podcasts will then appear only in
+the Podcasts section on the iPod.
+
+If you add podcasts to the main playlist 'gtkpod/iPod' or any other
+iPod playlist first and then drag them over to the Podcasts playlist,
+the podcasts will appear in the Podcasts section on the iPod, as well
+as in the normal music section.
+
+The podcast 'repository' is a local repository (like 'Local') where
+you can keep all local podcasts. No mechanism exists to automatically
+synchronize the iPod repository with the Podcast repository at this
+time. You have to drag the podcasts over manually.
+
+
 Offline Mode
 ------------
 
@@ -333,11 +357,11 @@
 date.
 
 
-Export of Tracks
-----------------
+Export of Tracks (Copy from iPod)
+---------------------------------
 
-- mark the tracks you want to export and select "Export Files to Disk"
-  from the menu
+- mark the tracks you want to export and select "Export Tracks from
+  Database" from the file menu (or use the context sensitive menu)
 - A file selection dialog window appears and you can choose the directory
   you'd like the selected files to be written to.
 - You can specify the output filename in the prefs dialog by
@@ -615,7 +639,12 @@
     * Filesystems    -> DOS/FAT/NT Filesystems - y
     *                -> DOS/FAT/NT Filesystems -> VFAT fs support - y
     *                -> Kernel automounter version 4 support - y
+    *                -> Native Language Support
+    *                            -> Codepage 437 (CONFIG_NLS_CODEPAGE_437)
+    *                            -> NLS ISO 8859-1 (CONFIG_NLS_ISO8859_1) 
 
+
+
 (for iPods formatted with the HFS filesystem choose
     * Filesystems -> Miscellaneous filesystems
 			   -> Apple Extended HFS filesystem support)
@@ -713,6 +742,9 @@
 (CONFIG_EFI_PARTITION, see Troubleshooting for more information):
     * File Systems -> Partition Types -> Advanced Partition Selection
 		   -> EFI GUID Partition support
+    *              -> Native Language Support
+    *                            -> Codepage 437 (CONFIG_NLS_CODEPAGE_437)
+    *                            -> NLS ISO 8859-1 (CONFIG_NLS_ISO8859_1) 
 
 
 3) Create /media/ipod:
@@ -834,7 +866,10 @@
 At least for the new 4Gs and iPod minis you should _disable_
 (CONFIG_EFI_PARTITION, see Troubleshooting for more information):
     * File Systems -> Partition Types -> Advanced Partition Selection
-		   -> EFI GUID Partition support
+    *	   	   -> EFI GUID Partition support
+    *              -> Native Language Support
+    *                          -> Codepage 437 (CONFIG_NLS_CODEPAGE_437)
+    *                          -> NLS ISO 8859-1 (CONFIG_NLS_ISO8859_1) 
 
 3) Create /media/ipod:
 
@@ -1062,7 +1097,7 @@
 
 - Display of large number of tracks is awfully slow (mainly because of
   the use of the standard GTK2 tree views) -> deactivate "Automatically
-  select "All" in first sort tab" and/or deactivate "Automatically
+  select "All" in first filter tab" and/or deactivate "Automatically
   select master playlist". You could also "block the display" to speed
   up the display update. Further, decreasing the window size
   considerably speeds up the display.
@@ -1071,8 +1106,8 @@
   considerable amount of time. Update may become more intelligent in
   the future -- until then close the info window for more speed.
 
-- When changing selections in the sort tabs while importing the
+- When changing selections in the filter tabs while importing the
   iTunesDB, sometimes the interface freezes. I tried to track this
   problem down but only found out that gtk+ does not return control
-  back to gtkpod. Selecting the "All" sort tabs seems to unfreeze the
+  back to gtkpod. Selecting the "All" filter tabs seems to unfreeze the
   interace again.

Modified: gtkpod/trunk/TODOandBUGS.txt
===================================================================
--- gtkpod/trunk/TODOandBUGS.txt	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/TODOandBUGS.txt	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,14 +1,14 @@
 TODO:
 
+- photo support
+
+- lyrics support (http://www.jcbsoft.net/podlyrics/)
+
 - itdb/misc_confirm.c: number of F?? directories should be determined
   before starting copying files to the iPod. At the moment only 20
   dirs are used no matter how many are present.
   Creation of directories should be moved to itdb_*
 
-- be able to select multiple genres, albums, etc. at the same
-  time. (should be possible -- difficulty is selecting several
-  playlists)
-
 - more features for mserv
 
 - icons should be themable
@@ -18,18 +18,7 @@
 - Give status when adjusting offline_playcount after import of
   database (can take quite a while even for only 90 tracks).
 
-- Ignore common words when sorting
-
-  > I'm somewhat frustrated with the inconsistency between GTKPod and
-  > the iPod itself, however. items in the iPod are sorted with "the"
-  > as if it weren't there...
-  (Alex Perez)
-
 - Dangling/orphaned tracks
-    - Delete dangling tracks right away -- they can cause an error
-      message when exporting the iTunesDB. Instead display them in an
-      info window.
-
     - Open a progress window to display information instead of the
       statusbar messages.
 
@@ -56,14 +45,13 @@
 
    HTH.
 
+- be able to select multiple genres, albums, etc. at the same
+  time. (should be possible -- difficulty is selecting several
+  playlists)
 
+
 Anton de Wet
 Feature Suggestion:
-  It would be very useful to be able to set the rating for all the
-  selected tracks. (i.e. change all tracks with rating 0 to rating 1 for
-  eg.) to then set specific tracks (like the Griffin iTrip frequency
-  changing tracks) to 0
-
   Also usefull would be able to set the "default" rating for all newly
   added tracks.
 
@@ -81,8 +69,6 @@
 > * I miss the easy click-on-burn-audio-cd button
 >   (any way passing this over to the nautilus cdwriter?)
   - doesn't DND work?
-> * The filter windows should also be key sensitive
->   (typing "C" should make me jump to "C")
 > * the rating should be stars not a numbers. ...at least
 >   a control that is easier than entering a number
 > 
@@ -90,7 +76,7 @@
 kulenfuster at ...
 > Not sure from the documentation but it looks like there's no way to
 > sync tunes in the iPod into the desktop database.
-> 
+ > 
 > For instance situation:
 > 
 > Bob has two desktop machines - one at work, one at home.  He has
@@ -233,13 +219,6 @@
 
 BUGLIST:
 
-On Mon, Jul 11, 2005 at 06:54:46PM -0500, dj faké wrote:
-> After erasing my iPod with the new 6/26/05 iPod Updater, I had to add
-> one (1) song to it from iTunes in order to create the iPod Control
-> directory, after that, gtkpod function fine. . . before that, could not
-> add anything with gtkpod
-
-
 drag playlist to track view: (JCS)
 (gtkpod:19911): Gtk-CRITICAL **: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed
 
@@ -248,14 +227,7 @@
 (gtkpod:19911): Gtk-CRITICAL **: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed
 
 
-- Alexander C Gross
-> I am a happy user of gtkpod and really like the intuitive editing of
-> mp3-tags. I have noticed though, that the tags are not updated in
-> the original files if you close and open gtkpod before editing the
-> tags even though the location of the original folder is saved. I
-> wonder if that is meant to be that way.
 
-
 - Eelco van Veldhuizen 
 > First all apoligise for my bad english, i'm from the neatherlands. I
 > have the following problem with my iPod when I select a playlist for
@@ -267,46 +239,14 @@
 > you know a solution for this problem :)
 
 
-- special sorttab does not do date sorting correctly.
-
 - during a long operation (menues are blocked) the user can still edit
   the track data. This could potentially crash gtkpod -> need a way to
   block editing as well without blocking navigation.
 
-- when copying tracks to the iPod (export iTunesDB) and the iPod is
-  overfilled, libgtk sometimes segfaults (TreeModel changed but did
-  not notify TreeView?)
-
 - when deleting an entry in the last sort tab (of 2) sometimes gtkpod
   crashes
 
 
-> '** (gtkpod:3839): WARNING **: Programming error: Could not create hash
-> value from itunesdb' -> not an error -- reading of file failed!
-
-
-----------
-tamagucci at fastwebnet.it, gerald.miller at morris.com
-> Second, here's my story: 
-> I copied some mp3 files to a directory on ipod while at my windows PC at 
-> home because I like gtkpod better than the bundled windows software. I 
-> took my ipod to work and plugged it and ran gtkpod. 
-> 
-> I grabbed my files off the ipod and tried to import them into the iTunes 
-> database. When I was done, I unhooked my iPod and tried to listen to the 
-> songs... but it would just skip each one. 
-> 
-> I thought that maybe it didn't _really_ copy the mp3 into the iTunes 
-> database because it thought the songs were already on the iPod. To test, 
-> I copied the mp3s to my local hard drive and tried to sync again. 
-> Success! This time everything worked as it should. 
-> 
-> I do think I'm a couple of revisions behind on gtkpod, but I wanted to 
-> see if you were aware of this issue. 
-> 
-> Thanks for writing this software, 
-> and thanks for letting it be free, =) 
-
 stefano.brozzi
 > 1. on creating a smart playlist with a rule on title name,
 >   only exact case matching is considered

Modified: gtkpod/trunk/TROUBLESHOOTING
===================================================================
--- gtkpod/trunk/TROUBLESHOOTING	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/TROUBLESHOOTING	2005-12-30 07:31:41 UTC (rev 94)
@@ -3,7 +3,8 @@
 
 Contents:
 
-- mpeg4ip-1.1 "PACKAGE undefined"
+- Installed libmp4v2 from source to /usr/local/lib, but gtkpod is
+  unable to locate libmp4.so.0
 
 - Files copied to gtkpod but they don't appear in the database (0.80,
   Tony Williams)
@@ -12,7 +13,7 @@
   is not working as expected.
 
 - The following error message is displayed when accessing the device
-  (Markus Gaugusch):
+  (Markus Gaugusch, Justin Thiessen):
      ieee1394: sbp2: aborting sbp2 command
      Test Unit Ready 00 00 00 00 00
 
@@ -27,30 +28,23 @@
 
 - m4a files created by faac cannot be added by gtkpod (gentoo)
 
+- gtkpod crashes when reading the iTunesDB (Fedora)
+
 ----------------------------------------------------------------------
 
+Installed libmp4v2 from source to /usr/local/lib, but gtkpod is unable
+to locate libmp4.so.0
 
-mpeg4ip-1.1 "PACKAGE undefined"
 
+If you install to /usr/local/lib please don't forget to add the path
+to LD_LIBRARY_PATH:
 
-Solution:
+     LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
+     export LD_LIBRARY_PATH
 
-Add
+You can add those lines to your ~/.bashrc or add it globally to
+/etc/profile.
 
-#include <config.h>
-
-after
-
-#include <mp4.h>
-
-in
-
-mp4file.c
-
-This is a workaround to a problem in the mp4.h header files. It's
-included in V0.87 and above.
-
-
 ----------------------------------------------------------------------
 Files copied to gtkpod but they don't appear in the database (0.80,
 Tony Williams)
@@ -80,18 +74,34 @@
 details.
 
 ----------------------------------------------------------------------
-The following error message is displayed when accessing the device
-(Markus Gaugusch):
+The following error message is displayed when accessing the device:
 
 ieee1394: sbp2: aborting sbp2 command
 Test Unit Ready 00 00 00 00 00
 
 Solution:
 
+(Markus Gaugusch):
 It is possible that hotplug and the "sg" support are not working well
 together. Try disabling "sg" support in the kernel configuration or
 unload the "sg" module if you are using modules.
 
+(Justin Thiessen):
+Forcing the sbp2 module to serialized I/O seems (so far) to have
+solved the problem.
+
+Ref.:
+------
+http://www.netzwerk-aktiv.com/pub/doc/newsletters/linux1394-user/html/1676.html
+http://www.ubuntuforums.org/printthread.php?t=6678
+http://66.102.7.104/search?q=cache:Xh_gu43y6w8J:themikecam.com/newmikecam/blog/index.php/geek/2005/+ipod+serialize_io&hl=en
+
+Looks like the driver is going to be set to default to serialized I/O
+in kernel 2.6.14, anyways.
+
+http://linuxtoday.com/developer/2005093001026NWKNDV
+
+
 ----------------------------------------------------------------------
 When connecting an iPod via USB to a 2.6 kernel machine the iPod will
 be recognized but not work correctly. In /var/log/messages you'll see
@@ -163,3 +173,11 @@
 In order to make error tracking easier, more detailled error messages
 are displayed when tracks could not be added for any reason starting
 with version 0.91-CVS of gtkpod.
+
+
+----------------------------------------------------------------------
+gtkpod crashes when reading the iTunesDB (Fedora)
+
+It appears that crashes were observed with kernel version
+2.6.11-1.35_FC3. An upgrade to 2.6.12-1.1376_FC3 got rid of the
+problem. This was with gtkpod-0.94.0 and Athlon64 3000+. 

Modified: gtkpod/trunk/config.h.in
===================================================================
--- gtkpod/trunk/config.h.in	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/config.h.in	2005-12-30 07:31:41 UTC (rev 94)
@@ -75,9 +75,6 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* Define this to have itdb provide abbreviations to its types */
-#undef ITDB_USE_ABBREV
-
 /* Name of package */
 #undef PACKAGE
 

Modified: gtkpod/trunk/configure
===================================================================
--- gtkpod/trunk/configure	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/configure	2005-12-30 07:31:41 UTC (rev 94)
@@ -1593,7 +1593,7 @@
 
 # Define the identity of the package.
  PACKAGE=gtkpod
- VERSION=0.94.0
+ VERSION=0.99.2
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4070,12 +4070,12 @@
   if test "x$ac_cv_env_PACKAGE_CFLAGS_set" = "xset"; then
 	pkg_cv_PACKAGE_CFLAGS=$ac_cv_env_PACKAGE_CFLAGS_value
 elif test -n "$PKG_CONFIG"; then
-	if { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists \"gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0\" >/dev/null 2>&1") >&5
-  ($PKG_CONFIG --exists "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0" >/dev/null 2>&1) 2>&5
+	if { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists \"gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0\" >/dev/null 2>&1") >&5
+  ($PKG_CONFIG --exists "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0" >/dev/null 2>&1) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-		pkg_cv_PACKAGE_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0" 2>/dev/null`
+		pkg_cv_PACKAGE_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0" 2>/dev/null`
 	else
 		pkg_failed=yes
 	fi
@@ -4093,12 +4093,12 @@
   if test "x$ac_cv_env_PACKAGE_LIBS_set" = "xset"; then
 	pkg_cv_PACKAGE_LIBS=$ac_cv_env_PACKAGE_LIBS_value
 elif test -n "$PKG_CONFIG"; then
-	if { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists \"gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0\" >/dev/null 2>&1") >&5
-  ($PKG_CONFIG --exists "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0" >/dev/null 2>&1) 2>&5
+	if { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists \"gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0\" >/dev/null 2>&1") >&5
+  ($PKG_CONFIG --exists "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0" >/dev/null 2>&1) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-		pkg_cv_PACKAGE_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0" 2>/dev/null`
+		pkg_cv_PACKAGE_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0" 2>/dev/null`
 	else
 		pkg_failed=yes
 	fi
@@ -4110,7 +4110,7 @@
 echo "${ECHO_T}$pkg_cv_PACKAGE_LIBS" >&6
 
 if test $pkg_failed = yes; then
-	PACKAGE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0"`
+	PACKAGE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0"`
 	# Put the nasty error message in config.log where it belongs
 	echo "$PACKAGE_PKG_ERRORS" 1>&5
 
@@ -4133,12 +4133,6 @@
 
 
 
-
-cat >>confdefs.h <<_ACEOF
-#define ITDB_USE_ABBREV 1
-_ACEOF
-
-
 for ac_prog in flex lex
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -4413,6 +4407,15 @@
 if test "$LEX" = :; then
   LEX=${am_missing_run}flex
 fi
+if ! test "y$LEX" = "yflex"; then
+  if ! test "y$LEX" = "ylex"; then
+    { { echo "$as_me:$LINENO: error: **** flex or lex required
+See \`config.log' for more details." >&5
+echo "$as_me: error: **** flex or lex required
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
 
 # Extract the first word of "mount", so it can be a program name with args.
 set dummy mount; ac_word=$2
@@ -7039,6 +7042,10 @@
 fi
 
 
+# was needed for podcast fetch -- disabled.
+# AC_CHECK_LIB([curl],  [curl_easy_init], ,
+#	     AC_MSG_ERROR([*** curl lib not found!]))
+
 echo "$as_me:$LINENO: checking for library containing MP4FileInfo" >&5
 echo $ECHO_N "checking for library containing MP4FileInfo... $ECHO_C" >&6
 if test "${ac_cv_search_MP4FileInfo+set}" = set; then

Modified: gtkpod/trunk/configure.in
===================================================================
--- gtkpod/trunk/configure.in	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/configure.in	2005-12-30 07:31:41 UTC (rev 94)
@@ -4,7 +4,7 @@
 AC_PREREQ(2.55)
 
 AC_INIT(configure.in)
-AM_INIT_AUTOMAKE(gtkpod, 0.94.0)
+AM_INIT_AUTOMAKE(gtkpod, 0.99.2)
 AM_CONFIG_HEADER(config.h)
 AM_MAINTAINER_MODE
 AC_CANONICAL_HOST
@@ -31,15 +31,17 @@
 fi
 
 dnl check for libs that are managed with pkg-config
-PKG_CHECK_MODULES(PACKAGE, [gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.0.0 libglade-2.0  >=  2.0.0 gmodule-2.0],,[AC_MSG_FAILURE([*** $PACKAGE_PKG_ERRORS])])
+PKG_CHECK_MODULES(PACKAGE, [gtk+-2.0 >= 2.4.0 gthread-2.0 >= 0.14.0 glib-2.0 > 2.4.0 libglade-2.0  >=  2.4.0 gmodule-2.0 libgpod-1.0 >= 0.3.0],,[AC_MSG_FAILURE([*** $PACKAGE_PKG_ERRORS])])
 AC_SUBST(PACKAGE_CFLAGS)
 AC_SUBST(PACKAGE_LIBS)
 
-dnl used in itunesdb.c to figure out whether we run gtkpod
-AC_DEFINE_UNQUOTED([ITDB_USE_ABBREV], 1, [Define this to have itdb provide abbreviations to its types])
-
 dnl we need 'flex'
 AM_PROG_LEX
+if ! test "y$LEX" = "yflex"; then
+  if ! test "y$LEX" = "ylex"; then
+    AC_MSG_FAILURE([**** flex or lex required])
+  fi
+fi
 
 dnl Retrieve the path of mount and umount binaries
 AC_PATH_PROG(MOUNT, mount)
@@ -69,6 +71,10 @@
 AC_CHECK_LIB([id3tag], [id3_frame_field], ,
              AC_MSG_ERROR([*** id3tag >= 0.15 lib not found (0.14 will not work!)]))
 
+# was needed for podcast fetch -- disabled.
+# AC_CHECK_LIB([curl],  [curl_easy_init], ,
+#	     AC_MSG_ERROR([*** curl lib not found!]))
+
 dnl Check for libmp4v2 (and mp4.h)
 AC_SEARCH_LIBS(MP4FileInfo,
 	["mp4v2" "mp4v2 -lstdc++" "mp4v2 -lz" "mp4v2 -lz -lstdc++"],

Modified: gtkpod/trunk/debian/changelog
===================================================================
--- gtkpod/trunk/debian/changelog	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/debian/changelog	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,3 +1,9 @@
+gtkpod (0.99.2-1) UNRELEASED; urgency=low
+
+  * (NOT RELEASED YET) New upstream release
+
+ -- Frank Lichtenheld <djpig at debian.org>  Thu, 29 Dec 2005 17:38:38 +0100
+
 gtkpod (0.94.0-1) unstable; urgency=low
 
   * New upstream release (Closes: #319408)

Modified: gtkpod/trunk/gtkpod.glade
===================================================================
--- gtkpod/trunk/gtkpod.glade	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/gtkpod.glade	2005-12-30 07:31:41 UTC (rev 94)
@@ -47,7 +47,7 @@
 		      <signal name="activate" handler="on_import_itunes_mi_activate" last_modification_time="Tue, 07 Jan 2003 20:31:20 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3002">
+			<widget class="GtkImage" id="image3449">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-goto-top</property>
 			  <property name="icon_size">1</property>
@@ -68,7 +68,7 @@
 		      <signal name="activate" handler="create_add_files_dialog" last_modification_time="Sun, 05 Jun 2005 13:03:47 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3003">
+			<widget class="GtkImage" id="image3450">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-add</property>
 			  <property name="icon_size">1</property>
@@ -89,7 +89,7 @@
 		      <signal name="activate" handler="dirbrowser_create" last_modification_time="Sun, 05 Jun 2005 13:09:31 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3004">
+			<widget class="GtkImage" id="image3451">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-add</property>
 			  <property name="icon_size">1</property>
@@ -110,7 +110,7 @@
 		      <signal name="activate" handler="create_add_playlists_dialog" last_modification_time="Sun, 05 Jun 2005 13:14:57 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3005">
+			<widget class="GtkImage" id="image3452">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-add</property>
 			  <property name="icon_size">1</property>
@@ -131,7 +131,7 @@
 		      <signal name="activate" handler="handle_export" last_modification_time="Sun, 05 Jun 2005 13:09:31 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3006">
+			<widget class="GtkImage" id="image3453">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-goto-bottom</property>
 			  <property name="icon_size">1</property>
@@ -151,13 +151,40 @@
 		  </child>
 
 		  <child>
+		    <widget class="GtkImageMenuItem" id="update_podcasts">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Update Podcasts</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_update_podcasts_activate" last_modification_time="Sat, 12 Nov 2005 08:41:04 GMT"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image3454">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-refresh</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkSeparatorMenuItem" id="update_podcasts_sep">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
 		    <widget class="GtkImageMenuItem" id="update_menu">
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">_Update Tracks from File</property>
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3007">
+			<widget class="GtkImage" id="image3455">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -209,7 +236,7 @@
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3008">
+			<widget class="GtkImage" id="image3456">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -261,7 +288,7 @@
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3009">
+			<widget class="GtkImage" id="image3457">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -319,7 +346,7 @@
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3010">
+			<widget class="GtkImage" id="image3458">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-floppy</property>
 			  <property name="icon_size">1</property>
@@ -371,7 +398,7 @@
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3011">
+			<widget class="GtkImage" id="image3459">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-floppy</property>
 			  <property name="icon_size">1</property>
@@ -446,7 +473,7 @@
 		      <signal name="activate" handler="on_ipod_directories_menu" last_modification_time="Sat, 18 Jan 2003 02:10:39 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3012">
+			<widget class="GtkImage" id="image3460">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-execute</property>
 			  <property name="icon_size">1</property>
@@ -489,22 +516,234 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkMenuItem" id="menuitem11">
+	    <widget class="GtkMenuItem" id="edit_menu">
 	      <property name="visible">True</property>
 	      <property name="label" translatable="yes">_Edit</property>
 	      <property name="use_underline">True</property>
 
 	      <child>
-		<widget class="GtkMenu" id="menuitem11_menu">
+		<widget class="GtkMenu" id="edit_menu_menu">
 
 		  <child>
+		    <widget class="GtkImageMenuItem" id="edit_menu">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Edit</property>
+		      <property name="use_underline">True</property>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image3461">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-edit</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+
+		      <child>
+			<widget class="GtkMenu" id="edit_menu_menu">
+
+			  <child>
+			    <widget class="GtkMenuItem" id="edit_details_selected_playlist">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Tracks in Selected _Playlist</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_edit_details_selected_playlist" last_modification_time="Fri, 09 Dec 2005 15:42:30 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="edit_details_selected_tab_entry">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Tracks in Selected Tab _Entry</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_edit_details_selected_tab_entry" last_modification_time="Fri, 09 Dec 2005 15:42:30 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="edit_details_selected_tracks">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected _Tracks</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_edit_details_selected_tracks" last_modification_time="Fri, 09 Dec 2005 15:42:30 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="edit_smart_playlist">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Smart Playlist</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_edit_smart_playlist" last_modification_time="Sat, 10 Dec 2005 07:48:01 GMT"/>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="delete_menu">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_Delete</property>
+		      <property name="use_underline">True</property>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image3462">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-delete</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+
+		      <child>
+			<widget class="GtkMenu" id="delete_menu_menu">
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_playlist">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected playlist</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_playlist" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_ipod">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected playlist including tracks from iPod</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_ipod" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_database">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected playlist including tracks from database</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_database" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_harddisk">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected playlist including tracks from harddisk</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_harddisk" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="delete_separator1">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_entry_from_playlist">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected filter tab entry from playlist</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_entry_from_playlist" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_entry_from_ipod">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected filter tab entry from iPod</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_entry_from_ipod" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_entry_from_database">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected filter tab entry from database</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_entry_from_database" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_entry_from_harddisk">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected filter tab entry from harddisk</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_entry_from_harddisk" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="delete_separator2">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_playlist">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected tracks from playlist</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_tracks_from_playlist" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_ipod">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected tracks from iPod</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_tracks_from_ipod" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_database">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected tracks from database</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_tracks_from_database" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_harddisk">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Selected tracks from harddisk</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_delete_selected_tracks_from_harddisk" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkSeparatorMenuItem" id="separator7">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
 		    <widget class="GtkImageMenuItem" id="item2">
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">_Create Playlists</property>
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3013">
+			<widget class="GtkImage" id="image3463">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-copy</property>
 			  <property name="icon_size">1</property>
@@ -699,7 +938,7 @@
 		      <accelerator key="s" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3014">
+			<widget class="GtkImage" id="image3464">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-sort-ascending</property>
 			  <property name="icon_size">1</property>
@@ -721,7 +960,7 @@
 		      <accelerator key="s" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3015">
+			<widget class="GtkImage" id="image3465">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-justify-fill</property>
 			  <property name="icon_size">1</property>
@@ -735,116 +974,6 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="separator4">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="delete_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Delete But Keep Tracks</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3016">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-delete</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="delete_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_playlist_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_playlist_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_tab_entry_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_tab_entry_activate" last_modification_time="Fri, 14 Mar 2003 15:19:30 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_tracks_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_tracks_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="delete_full_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Delete Completely From iPod</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3017">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-delete</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="delete_full_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_full_playlist_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_full_playlist_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_full_tab_entry_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_full_tab_entry_activate" last_modification_time="Fri, 14 Mar 2003 15:19:30 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_full_tracks_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_full_tracks_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
 		    <widget class="GtkSeparatorMenuItem" id="separator2">
 		      <property name="visible">True</property>
 		    </widget>
@@ -859,7 +988,7 @@
 		      <accelerator key="p" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3018">
+			<widget class="GtkImage" id="image3466">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-preferences</property>
 			  <property name="icon_size">1</property>
@@ -924,7 +1053,7 @@
 		      <signal name="activate" handler="on_more_sort_tabs_activate" last_modification_time="Fri, 14 Mar 2003 11:57:43 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3019">
+			<widget class="GtkImage" id="image3467">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-add</property>
 			  <property name="icon_size">1</property>
@@ -945,7 +1074,7 @@
 		      <signal name="activate" handler="on_less_sort_tabs_activate" last_modification_time="Fri, 14 Mar 2003 11:57:43 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3020">
+			<widget class="GtkImage" id="image3468">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -987,7 +1116,7 @@
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3021">
+			<widget class="GtkImage" id="image3469">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-cdrom</property>
 			  <property name="icon_size">1</property>
@@ -1039,7 +1168,7 @@
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3022">
+			<widget class="GtkImage" id="image3470">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-cdrom</property>
 			  <property name="icon_size">1</property>
@@ -1221,7 +1350,7 @@
 		      <signal name="activate" handler="open_about_window" last_modification_time="Sun, 05 Jun 2005 13:09:31 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3023">
+			<widget class="GtkImage" id="image3471">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-dialog-info</property>
 			  <property name="icon_size">1</property>
@@ -1765,3953 +1894,6 @@
   </child>
 </widget>
 
-<widget class="GtkWindow" id="prefs_window_old">
-  <property name="height_request">480</property>
-  <property name="title" translatable="yes">Preferences</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="icon">gtkpod-icon-48.png</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <signal name="delete_event" handler="on_prefs_window_delete_event" last_modification_time="Fri, 14 Mar 2003 12:37:31 GMT"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox13">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-	<widget class="GtkNotebook" id="notebook">
-	  <property name="border_width">2</property>
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="show_tabs">True</property>
-	  <property name="show_border">True</property>
-	  <property name="tab_pos">GTK_POS_TOP</property>
-	  <property name="scrollable">False</property>
-	  <property name="enable_popup">False</property>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow5">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkViewport" id="viewport2">
-		  <property name="visible">True</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox14">
-		      <property name="border_width">5</property>
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">4</property>
-
-		      <child>
-			<widget class="GtkFrame" id="frame6">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox15">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox8">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">4</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label27">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes"> iPod Mount _Point:</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="mnemonic_widget">cfg_mount_point</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkEntry" id="cfg_mount_point">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Where you mounted your iPod's filesystem. Usually '/media/ipod/' or similar.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_cfg_mount_point_changed" last_modification_time="Sat, 21 Dec 2002 23:29:43 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_automount_ipod">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">On startup gtkpod will call 'mount &lt;ipod mountpoint&gt;', on exit a 'umount &lt;ipod mountpoint&gt;' call is carried out. For more complicated arrangements please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Handle mounting/unmounting of iPod drive</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_automount_ipod_toggled" last_modification_time="Tue, 18 Mar 2003 05:27:40 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_autoimport">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Automatically import iTunesDB on startup</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_autoimport_toggled" last_modification_time="Fri, 03 Jan 2003 21:38:36 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label26">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Import</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame7">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox16">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox9">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label29">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes"> _Charset (ID3, files): </property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="mnemonic_widget">charset_combo_entry</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkCombo" id="charset_combo">
-				      <property name="visible">True</property>
-				      <property name="value_in_list">False</property>
-				      <property name="allow_empty">True</property>
-				      <property name="case_sensitive">False</property>
-				      <property name="enable_arrow_keys">True</property>
-				      <property name="enable_arrows_always">False</property>
-
-				      <child internal-child="entry">
-					<widget class="GtkEntry" id="charset_combo_entry">
-					  <property name="visible">True</property>
-					  <property name="tooltip" translatable="yes">gtkpod expects the ID3 tags and the filenames to be in the encoding specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' operation. 'System Charset' is the charset used by your current locale.</property>
-					  <property name="can_focus">True</property>
-					  <property name="editable">False</property>
-					  <property name="visibility">True</property>
-					  <property name="max_length">0</property>
-					  <property name="text" translatable="yes"></property>
-					  <property name="has_frame">True</property>
-					  <property name="invisible_char">*</property>
-					  <property name="activates_default">False</property>
-					  <signal name="changed" handler="on_charset_combo_entry_changed" last_modification_time="Tue, 14 Jan 2003 13:53:44 GMT"/>
-					</widget>
-				      </child>
-
-				      <child internal-child="list">
-					<widget class="GtkList" id="charset_combo_list">
-					  <property name="visible">True</property>
-					  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-					</widget>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_update_charset">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Normally the charset specified when first importing the track will be used to update the track information. If you have chosen a wrong charset when first importing a track and want to correct it using the 'Update Track' function, you must check this option. Note: the charset info is stored in the extended information file (see 'Writing of iTunesDB' below) and tracks imported before V0.51 will have no charset stored. Instead the charset specified above will be used then.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use selected charset also when updating
- or syncing tracks</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_update_charset_toggled" last_modification_time="Fri, 04 Apr 2003 14:52:13 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_add_recursively">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">If you check this, gtkpod will descend into subdirectories recursively.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Add directories recursively</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_add_recursively_toggled" last_modification_time="Sat, 12 Apr 2003 13:34:15 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_md5tracks">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Duplicate Recognition is based on a md5 hash over the file.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Don't allow file duplication</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_md5tracks_toggled" last_modification_time="Sat, 21 Dec 2002 23:29:25 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table2">
-				  <property name="visible">True</property>
-				  <property name="n_rows">1</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_show_duplicates">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Display the list of duplicates that have been detected after adding files.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Display info about detected duplicates</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_show_duplicates_toggled" last_modification_time="Sat, 08 Mar 2003 13:40:12 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<widget class="GtkHSeparator" id="hseparator43">
-				  <property name="visible">True</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_update_existing">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">If the filename (full path) of an existing track matches that of a track to be added, this option allows you to update the information about the existing track rather than just skipping the track altogether. No update will take place if the file hasn't changed and you have selected the 'Don't allow file duplication' option above.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">When adding dirs/files, update information of
- existing tracks with identical filenames</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_update_existing_toggled" last_modification_time="Sat, 22 Feb 2003 14:31:49 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table1">
-				  <property name="visible">True</property>
-				  <property name="n_rows">2</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_show_updated">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Display a list of tracks that could actually be updated.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Display info about updated tracks</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_show_updated_toggled" last_modification_time="Sat, 08 Mar 2003 13:40:19 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_show_non_updated">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Display a list of tracks that could not be updated.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Display info about non-updated tracks</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_show_non_updated_toggled" last_modification_time="Sat, 08 Mar 2003 13:40:24 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHSeparator" id="hseparator44">
-				  <property name="visible">True</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label46">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">When syncing directories</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table5">
-				  <property name="visible">True</property>
-				  <property name="n_rows">3</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_show_sync_dirs">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Confirm list of directories</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_show_sync_dirs_toggled" last_modification_time="Sun, 13 Apr 2003 05:22:48 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_sync_remove">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Delete tracks that have been removed</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_sync_remove_toggled" last_modification_time="Tue, 15 Apr 2003 12:41:18 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_sync_remove_confirm">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">This is the same option as in 'Edit/Delete Confirmation'</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Confirm before removing tracks</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_sync_remove_confirm_toggled" last_modification_time="Tue, 15 Apr 2003 12:34:26 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">2</property>
-				      <property name="bottom_attach">3</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label28">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Adding/Updating/Syncing</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame30">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox55">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="readtags">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Read tags from file contents (e.g. ID3 tags in MP3 files)</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_readtags_toggled" last_modification_time="Sat, 17 Jan 2004 07:41:48 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="parsetags">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate several templates by a ';'. The first one matching the filename will be used. Example: '%a - %A/%T %t.mp3;%t.wav'.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use this template to parse filename for tag information</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_parsetags_toggled" last_modification_time="Sat, 17 Jan 2004 07:42:55 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table23">
-				  <property name="visible">True</property>
-				  <property name="n_rows">2</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="parsetags_template">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_parsetags_template_changed" last_modification_time="Sat, 17 Jan 2004 08:00:25 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_padding">20</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="parsetags_overwrite">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Overwrite tags that are already set.</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_parsetags_overwrite_toggled" last_modification_time="Sat, 17 Jan 2004 07:41:32 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label152">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">As a last resort set the following tags to the filename if they are (still) empty:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">4</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox10">
-				  <property name="border_width">5</property>
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkVBox" id="vbox17">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="tag_autoset1">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Artist</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="tag_autoset3">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Genre</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkVBox" id="vbox18">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="tag_autoset2">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Album</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="tag_autoset4">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Composer</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkVBox" id="vbox19">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="tag_autoset0">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Title</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<placeholder/>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label151">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Tag Reading</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame32">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox62">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_mserv_use">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Currently only rating is supported.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use mserv database to fill in additional information</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_mserv_use_toggled" last_modification_time="Sat, 02 Oct 2004 13:37:14 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table31">
-				  <property name="visible">True</property>
-				  <property name="n_rows">3</property>
-				  <property name="n_columns">3</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label171">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Music Root: </property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkEntry" id="mserv_music_root_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">mserv database lookup will be done for music in this directory.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="mserv_music_root_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">2</property>
-				      <property name="right_attach">3</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label172">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">mserv Root: </property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkEntry" id="mserv_trackinfo_root_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Root directory of mserv database (trackinfo root).</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="mserv_trackinfo_root_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">2</property>
-				      <property name="right_attach">3</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label173">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Username: </property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">2</property>
-				      <property name="bottom_attach">3</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkEntry" id="mserv_username_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Username to be used for mserv database lookup.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_mserv_username_changed" last_modification_time="Sun, 03 Oct 2004 02:45:04 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">2</property>
-				      <property name="bottom_attach">3</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table30">
-				  <property name="visible">True</property>
-				  <property name="n_rows">2</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_mserv_report_probs">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Currently only rating is supported.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Show information about problems when accessing mserv</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_mserv_report_probs_toggled" last_modification_time="Sat, 02 Oct 2004 13:37:32 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label170">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">mserv</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame9">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox21">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_write_extended">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Highly recommended for faster import when taking advantage of the duplication recognition. Also, having the PC filenames allows writing changed ID3 tags to disk, and even to reconstruct your ipod's contents in case of file system corruption (change the &quot;transferred=&quot; entries in your backuped database).</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Write extended information (PC filenames,
- MD5 hashes, charset). Recommended.</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_write_extended_info_toggled" last_modification_time="Sat, 04 Jan 2003 16:44:20 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label31">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Sync (Writing of iTunesDB)</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label23">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Input/Output</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow6">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkViewport" id="viewport3">
-		  <property name="visible">True</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox23">
-		      <property name="border_width">5</property>
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">4</property>
-
-		      <child>
-			<placeholder/>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame14">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox36">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox12">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkVBox" id="vbox27">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible1">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible4">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible9">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible19">
-					  <property name="visible">True</property>
-					  <property name="tooltip" translatable="yes">Relative volume adjustment between -100 and +100</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible12">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible11">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible18">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkVBox" id="vbox28">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible2">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible24">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible10">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible15">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible13">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible22">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible5">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkVBox" id="vbox29">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible0">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible25">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible16">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible14">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible7">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible6">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible26">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkVBox" id="vbox35">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible3">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible17">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible21">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible8">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible20">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="col_visible23">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes"></property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<placeholder/>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label37">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Displayed Track Attributes </property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame12">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox25">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox11">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label35">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes"> _Number of sort tabs: </property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="mnemonic_widget">cfg_sort_tab_num_sb</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkSpinButton" id="cfg_sort_tab_num_sb">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="climb_rate">1</property>
-				      <property name="digits">0</property>
-				      <property name="numeric">True</property>
-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-				      <property name="snap_to_ticks">False</property>
-				      <property name="wrap">False</property>
-				      <property name="adjustment">0 0 100 1 10 10</property>
-				      <signal name="value_changed" handler="on_cfg_sort_tab_num_sb_value_changed" last_modification_time="Fri, 13 Jun 2003 11:59:32 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">True</property>
-				      <property name="pack_type">GTK_PACK_END</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label34">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Sort Tabs</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame13">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="autoselect_vbox">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_mpl_autoselect">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">If you don't select the master playlist automatically, the initial database import is much faster because the display dosn't have to be updated.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">...master playlist</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_mpl_autoselect_toggled" last_modification_time="Sun, 09 Feb 2003 07:01:19 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label40">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">...entry 'All' in sort tab...</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">20</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="autoselect_hbox">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <placeholder/>
-				  </child>
-
-				  <child>
-				    <placeholder/>
-				  </child>
-
-				  <child>
-				    <placeholder/>
-				  </child>
-
-				  <child>
-				    <placeholder/>
-				  </child>
-
-				  <child>
-				    <placeholder/>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label36">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Automatically select...</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame16">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox31">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_display_toolbar">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Display toolbar...</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_display_toolbar_toggled" last_modification_time="Fri, 14 Mar 2003 11:50:10 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table4">
-				  <property name="visible">True</property>
-				  <property name="n_rows">3</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkRadioButton" id="cfg_toolbar_style_both">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...both as icons and text</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_toolbar_style_both_toggled" last_modification_time="Fri, 14 Mar 2003 13:29:49 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">2</property>
-				      <property name="bottom_attach">3</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkRadioButton" id="cfg_toolbar_style_text">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...as text</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <property name="group">cfg_toolbar_style_both</property>
-				      <signal name="toggled" handler="on_cfg_toolbar_style_text_toggled" last_modification_time="Fri, 14 Mar 2003 13:29:43 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkRadioButton" id="cfg_toolbar_style_icons">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...as icons</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <property name="group">cfg_toolbar_style_both</property>
-				      <signal name="toggled" handler="on_cfg_toolbar_style_icons_toggled" last_modification_time="Fri, 14 Mar 2003 13:46:08 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label39">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Toolbar</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame19">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox38">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_display_tooltips_main">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Display tooltips in main window</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_display_tooltips_main_toggled" last_modification_time="Sat, 14 Jun 2003 16:46:29 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_display_tooltips_prefs">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Display tooltips in prefs window</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_display_tooltips_prefs_toggled" last_modification_time="Sat, 14 Jun 2003 16:46:49 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label55">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Tooltips</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame15">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox30">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkButton" id="button4">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="on_sorting_clicked" last_modification_time="Mon, 22 Sep 2003 07:58:27 GMT"/>
-
-				  <child>
-				    <widget class="GtkAlignment" id="alignment2">
-				      <property name="visible">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xscale">0</property>
-				      <property name="yscale">0</property>
-				      <property name="top_padding">0</property>
-				      <property name="bottom_padding">0</property>
-				      <property name="left_padding">0</property>
-				      <property name="right_padding">0</property>
-
-				      <child>
-					<widget class="GtkHBox" id="hbox38">
-					  <property name="visible">True</property>
-					  <property name="homogeneous">False</property>
-					  <property name="spacing">2</property>
-
-					  <child>
-					    <widget class="GtkImage" id="image1935">
-					      <property name="visible">True</property>
-					      <property name="stock">gtk-sort-ascending</property>
-					      <property name="icon_size">4</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-
-					  <child>
-					    <widget class="GtkLabel" id="label93">
-					      <property name="visible">True</property>
-					      <property name="can_focus">True</property>
-					      <property name="label" translatable="yes">Sorting</property>
-					      <property name="use_underline">True</property>
-					      <property name="use_markup">False</property>
-					      <property name="justify">GTK_JUSTIFY_LEFT</property>
-					      <property name="wrap">False</property>
-					      <property name="selectable">True</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_tmp_disable_sort">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">It is much faster to sort the display after all tracks have been added. Some people might feel irritated by this behaviour and should uncheck this option.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Temporarily disable sorting when changing playlist
-or tab entry (faster!)</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_temporarily_disable_sorting" last_modification_time="Mon, 20 Sep 2004 10:59:24 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_block_display">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">The display can be blocked after changing a selection. The display update is faster, but you have to wait until it's finished. When using this option, sorting is also temporarily disabled (see option above).</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Block display when changing playlist or tab
- entry (faster!)</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_block_display_toggled" last_modification_time="Sun, 09 Feb 2003 11:14:32 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_startup_messages">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">This option will be re-activated when you upgrade gtkpod.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Display messages and warnings at startup</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_startup_messages" last_modification_time="Thu, 16 Dec 2004 12:49:12 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label38">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Misc</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label25">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Display</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow7">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkViewport" id="viewport4">
-		  <property name="visible">True</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox32">
-		      <property name="border_width">5</property>
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">4</property>
-
-		      <child>
-			<widget class="GtkFrame" id="frame10">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox22">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_id3_write">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">The tags are written to the files on your harddrive and on the ipod (if available).</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Write ID3 tags to disk when modified in gtkpod</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_id3_write_toggled" last_modification_time="Wed, 29 Jan 2003 13:30:48 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table3">
-				  <property name="visible">True</property>
-				  <property name="n_rows">3</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_write_charset">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Normally the charset specified when first importing the track will be used to write the tags. If you have chosen a wrong charset when first importing a track, you should select this option along with the correct charset.  Note: uses the extended information file to store the charset information (see 'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported before V0.51 will have no charset stored -- the charset specified on the 'Input/Output' page will be used.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Use selected charset (on the 'Import' page)
- when writing tags</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_write_charset_toggled" last_modification_time="Sat, 05 Apr 2003 06:42:41 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_id3_write_id3v24">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">This is the way to go, but maybe not all programs support it yet. ID3v2.4 uses unicode to store the tags, so you won't have to worry about charsets any more. gtkpod will use UTF8 encoding as this will not increase the size of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already present in the file to write to.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Always write ID3v2.4 tags (only applies to MP3)</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_write_id3v24_toggled" last_modification_time="Mon, 12 Jan 2004 08:03:15 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">2</property>
-				      <property name="bottom_attach">3</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_multi_edit">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">If you select several tracks in the track list and edit a tag of the first track, the tags in the other tracks are updated as well.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use 'Multi-Edit' for track selections</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_multi_edit_toggled" last_modification_time="Sun, 15 Jun 2003 14:24:50 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table7">
-				  <property name="visible">True</property>
-				  <property name="n_rows">1</property>
-				  <property name="n_columns">1</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="cfg_multi_edit_title">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Usually you don't want to set the title of several tracks to the same text. This option might avoid unwanted results (especially since there is no 'undo' yet).</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Use 'Multi-Edit' also for title field</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_cfg_multi_edit_title_toggled" last_modification_time="Sun, 15 Jun 2003 14:25:15 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_padding">20</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label32">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Track Editing</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame21">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox48">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkTable" id="table8">
-				  <property name="visible">True</property>
-				  <property name="n_rows">1</property>
-				  <property name="n_columns">2</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkSpinButton" id="cfg_misc_track_nr">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'.</property>
-				      <property name="can_focus">True</property>
-				      <property name="climb_rate">1</property>
-				      <property name="digits">0</property>
-				      <property name="numeric">False</property>
-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-				      <property name="snap_to_ticks">False</property>
-				      <property name="wrap">False</property>
-				      <property name="adjustment">25 0 100 1 10 10</property>
-				      <signal name="value_changed" handler="on_cfg_misc_track_nr_value_changed" last_modification_time="Tue, 12 Aug 2003 12:16:10 GMT"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label68">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes"> Number of tracks in generated playlists: </property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">True</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_options">fill</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_not_played_track">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Also include tracks never played in &quot;Best Rated&quot; playlist</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_not_played_track_toggled" last_modification_time="Tue, 12 Aug 2003 12:18:02 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label67">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Auto-Generated Playlists</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<placeholder/>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame11">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox24">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_delete_track_from_playlist">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Before removing playlists or tracks from a playlist</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_delete_track_from_playlist_toggled" last_modification_time="Thu, 26 Dec 2002 20:50:08 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_delete_track_from_ipod">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Before removing tracks completely from the iPod</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_delete_track_from_ipod_toggled" last_modification_time="Thu, 26 Dec 2002 20:50:26 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="cfg_sync_remove_confirm2">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">This option only has a meaning if you activate the 'Delete Tracks that have been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/Output' tab.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Before removing tracks completely when
- synchronizing directories</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_cfg_sync_remove_confirm_toggled" last_modification_time="Tue, 15 Apr 2003 12:34:40 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label33">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Delete Confirmation </property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<placeholder/>
-		      </child>
-
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Edit</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow8">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkViewport" id="viewport5">
-		  <property name="visible">True</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox20">
-		      <property name="border_width">5</property>
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">4</property>
-
-		      <child>
-			<widget class="GtkFrame" id="frame18">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox34">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label44">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Command Line for 'Play Now':</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0.00999999977648</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">2</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox52">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="play_now_path_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="play_now_path_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">2</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label45">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Command Line for 'Enqueue':</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0.00999999977648</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">4</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox53">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="play_enqueue_path_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="play_enqueue_path_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label43">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Track Playing</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame22">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox49">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label148">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Exact path for the 'mp3gain' executable:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0.00999999977648</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox54">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="mp3gain_path_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">You only need to specify this if your 'mp3gain' executable is not in your default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the calculated gain value back to the file -- if you don't want this, set this entry to /bin/true or similar. mp3gain is only called if appropriate tags are not already set by your encoder. E.g. lame version 0.95 already writes the gain values into tags. The exact conversion factor between mp3gain's gain value and iPod's volume tag is not known yet -- your input is appreciated.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="mp3gain_path_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label69">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Volume Normalization</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkFrame" id="frame31">
-			  <property name="visible">True</property>
-			  <property name="label_xalign">0</property>
-			  <property name="label_yalign">0.5</property>
-			  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox59">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="concal_label">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes"></property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_FILL</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0.00999999977648</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">4</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label156">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Command to synchronize contacts:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0.00999999977648</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox55">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="sync_contacts_path_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="sync_contacts_path_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">2</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label158">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Command to be called to synchronize calendar:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0.00999999977648</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">2</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox56">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="sync_calendar_path_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="sync_calendar_path_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label175">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Command to be called to synchronize notes:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">True</property>
-				  <property name="xalign">0.00999999977648</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">2</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox66">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="sync_notes_path_entry">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="sync_notes_path_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">...</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="concal_autosync">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Call automatically when synchronizing iTunesDB</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_concal_autosync_toggled" last_modification_time="Sun, 01 Feb 2004 10:52:52 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">2</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label157">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Contacts / Calendar / Notes</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="type">label_item</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<placeholder/>
-		      </child>
-
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label24">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Tools</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox5">
-	  <property name="border_width">5</property>
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkButton" id="prefs_cancel">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_prefs_cancel_clicked" last_modification_time="Thu, 13 Mar 2003 13:45:49 GMT"/>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="prefs_apply">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-apply</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_prefs_apply_clicked" last_modification_time="Thu, 13 Mar 2003 13:45:42 GMT"/>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="prefs_ok">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_prefs_ok_clicked" last_modification_time="Thu, 13 Mar 2003 13:45:55 GMT"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
 <widget class="GtkWindow" id="special_sorttab">
   <property name="title" translatable="yes">special_sorttab -- Don't translate!</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
@@ -8854,1331 +5036,6 @@
   </child>
 </widget>
 
-<widget class="GtkWindow" id="sort_window_old">
-  <property name="title" translatable="yes">Sorting Options</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="icon">gtkpod-icon-48.png</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <signal name="delete_event" handler="on_sort_window_delete_event" last_modification_time="Mon, 22 Sep 2003 11:54:32 GMT"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox52">
-      <property name="border_width">6</property>
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">4</property>
-
-      <child>
-	<widget class="GtkFrame" id="frame26">
-	  <property name="visible">True</property>
-	  <property name="label_xalign">0</property>
-	  <property name="label_yalign">0.5</property>
-	  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox53">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox30">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkTable" id="table11">
-		      <property name="border_width">4</property>
-		      <property name="visible">True</property>
-		      <property name="n_rows">9</property>
-		      <property name="n_columns">11</property>
-		      <property name="homogeneous">False</property>
-		      <property name="row_spacing">0</property>
-		      <property name="column_spacing">0</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox34">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="st_ascend">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_st_ascend_toggled" last_modification_time="Mon, 22 Sep 2003 11:25:58 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image1931">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-sort-ascending</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">3</property>
-			  <property name="right_attach">4</property>
-			  <property name="top_attach">5</property>
-			  <property name="bottom_attach">6</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox35">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="st_descend">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <property name="group">st_ascend</property>
-			      <signal name="toggled" handler="on_st_descend_toggled" last_modification_time="Mon, 22 Sep 2003 11:25:53 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image1932">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-sort-descending</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">5</property>
-			  <property name="right_attach">6</property>
-			  <property name="top_attach">5</property>
-			  <property name="bottom_attach">6</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox36">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="st_none">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <property name="group">st_ascend</property>
-			      <signal name="toggled" handler="on_st_none_toggled" last_modification_time="Mon, 22 Sep 2003 11:25:46 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image1933">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-undo</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">7</property>
-			  <property name="right_attach">8</property>
-			  <property name="top_attach">5</property>
-			  <property name="bottom_attach">6</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox33">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="pm_none">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_pm_none_toggled" last_modification_time="Mon, 22 Sep 2003 11:26:52 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image1930">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-undo</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">7</property>
-			  <property name="right_attach">8</property>
-			  <property name="top_attach">3</property>
-			  <property name="bottom_attach">4</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox32">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="pm_descend">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <property name="group">pm_none</property>
-			      <signal name="toggled" handler="on_pm_descend_toggled" last_modification_time="Mon, 22 Sep 2003 11:26:59 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image1929">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-sort-descending</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">5</property>
-			  <property name="right_attach">6</property>
-			  <property name="top_attach">3</property>
-			  <property name="bottom_attach">4</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox37">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="pm_ascend">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <property name="group">pm_none</property>
-			      <signal name="toggled" handler="on_pm_ascend_toggled" last_modification_time="Mon, 22 Sep 2003 11:27:07 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image1928">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-sort-ascending</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">3</property>
-			  <property name="right_attach">4</property>
-			  <property name="top_attach">3</property>
-			  <property name="bottom_attach">4</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator2">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">0</property>
-			  <property name="right_attach">1</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options"></property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator3">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">8</property>
-			  <property name="right_attach">9</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options"></property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator6">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">2</property>
-			  <property name="right_attach">3</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options"></property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator8">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">6</property>
-			  <property name="right_attach">7</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options"></property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table12">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label82">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Ascending</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">3</property>
-			  <property name="right_attach">4</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table13">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label85">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Descending</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">5</property>
-			  <property name="right_attach">6</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table14">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label86">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">None</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">7</property>
-			  <property name="right_attach">8</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table15">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label87">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Playlists</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">2</property>
-			  <property name="top_attach">3</property>
-			  <property name="bottom_attach">4</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table16">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label88">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Sorttabs</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">2</property>
-			  <property name="top_attach">5</property>
-			  <property name="bottom_attach">6</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table17">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label89">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Tracks</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">2</property>
-			  <property name="top_attach">7</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label91">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes"></property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">2</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHSeparator" id="hseparator9">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">0</property>
-			  <property name="right_attach">11</property>
-			  <property name="top_attach">0</property>
-			  <property name="bottom_attach">1</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHSeparator" id="hseparator10">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">0</property>
-			  <property name="right_attach">11</property>
-			  <property name="top_attach">8</property>
-			  <property name="bottom_attach">9</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHSeparator" id="hseparator13">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">10</property>
-			  <property name="top_attach">6</property>
-			  <property name="bottom_attach">7</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHSeparator" id="hseparator12">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">10</property>
-			  <property name="top_attach">4</property>
-			  <property name="bottom_attach">5</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHSeparator" id="hseparator11">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">10</property>
-			  <property name="top_attach">2</property>
-			  <property name="bottom_attach">3</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator9">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">10</property>
-			  <property name="right_attach">11</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options"></property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkTable" id="table19">
-			  <property name="border_width">3</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">1</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">0</property>
-			  <property name="column_spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label95">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Auto Store</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">9</property>
-			  <property name="right_attach">10</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox40">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox42">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">True</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="pm_autostore">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Please refer to the notice below.</property>
-				  <property name="can_focus">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_pm_autostore_toggled" last_modification_time="Mon, 22 Sep 2003 11:26:46 GMT"/>
-
-				  <child>
-				    <placeholder/>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">9</property>
-			  <property name="right_attach">10</property>
-			  <property name="top_attach">3</property>
-			  <property name="bottom_attach">4</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox41">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="tm_autostore">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Please refer to the notice below.</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_tm_autostore_toggled" last_modification_time="Mon, 22 Sep 2003 13:30:09 GMT"/>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">9</property>
-			  <property name="right_attach">10</property>
-			  <property name="top_attach">7</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label96">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">n/a</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_CENTER</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">9</property>
-			  <property name="right_attach">10</property>
-			  <property name="top_attach">5</property>
-			  <property name="bottom_attach">6</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox43">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="tm_ascend">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_tm_ascend_toggled" last_modification_time="Tue, 23 Sep 2003 03:07:09 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image2013">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-sort-ascending</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">3</property>
-			  <property name="right_attach">4</property>
-			  <property name="top_attach">7</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator7">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="left_attach">4</property>
-			  <property name="right_attach">5</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options"></property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox44">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="tm_descend">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <property name="group">tm_ascend</property>
-			      <signal name="toggled" handler="on_tm_descend_toggled" last_modification_time="Tue, 23 Sep 2003 03:07:03 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image2014">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-sort-descending</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">5</property>
-			  <property name="right_attach">6</property>
-			  <property name="top_attach">7</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox45">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkRadioButton" id="tm_none">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <property name="group">tm_ascend</property>
-			      <signal name="toggled" handler="on_tm_none_toggled" last_modification_time="Tue, 23 Sep 2003 03:06:56 GMT"/>
-
-			      <child>
-				<widget class="GtkImage" id="image2015">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-undo</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">7</property>
-			  <property name="right_attach">8</property>
-			  <property name="top_attach">7</property>
-			  <property name="bottom_attach">8</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox46">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label97">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Sort tracks according to: </property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">4</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkCombo" id="sort_combo">
-		      <property name="visible">True</property>
-		      <property name="value_in_list">False</property>
-		      <property name="allow_empty">True</property>
-		      <property name="case_sensitive">False</property>
-		      <property name="enable_arrow_keys">True</property>
-		      <property name="enable_arrows_always">False</property>
-
-		      <child internal-child="entry">
-			<widget class="GtkEntry" id="sort_combo-entry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">You can also use the table headers, but this allows you to sort according to a column that is not displayed.</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-
-		      <child internal-child="list">
-			<widget class="GtkList" id="sort_combo-list">
-			  <property name="visible">True</property>
-			  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHSeparator" id="hseparator15">
-		  <property name="visible">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">4</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="cfg_case_sensitive">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets.</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Sorting case sensitive</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_sort_case_sensitive_toggled" last_modification_time="Sun, 21 Sep 2003 14:47:47 GMT"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHSeparator" id="hseparator16">
-		  <property name="visible">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox39">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label94">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Notice: the track order is always stored to the iPod when you use drag and drop to re-arrange the tracks.
-In order to store an alphabetized track order to the iPod you must choose the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' above.</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">True</property>
-		      <property name="selectable">True</property>
-		      <property name="xalign">0.0399999991059</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">4</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">4</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label92">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Sorting</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">True</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">label_item</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox8">
-	  <property name="border_width">5</property>
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkButton" id="sort_cancel">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_sort_cancel_clicked" last_modification_time="Mon, 22 Sep 2003 11:30:46 GMT"/>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="sort_apply">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-apply</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_sort_apply_clicked" last_modification_time="Mon, 22 Sep 2003 11:30:39 GMT"/>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="sort_ok">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_sort_ok_clicked" last_modification_time="Mon, 22 Sep 2003 11:31:10 GMT"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
 <widget class="GtkWindow" id="gtkpod_info">
   <property name="title" translatable="yes">gtkpod Info</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
@@ -12444,19 +7301,37 @@
 		  <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
 
 		  <child>
-		    <widget class="GtkAlignment" id="spl_rules_table_align">
+		    <widget class="GtkScrolledWindow" id="scrolledwindow16">
 		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">5</property>
-		      <property name="bottom_padding">5</property>
-		      <property name="left_padding">5</property>
-		      <property name="right_padding">5</property>
+		      <property name="can_focus">True</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="shadow_type">GTK_SHADOW_NONE</property>
+		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		      <child>
-			<placeholder/>
+			<widget class="GtkViewport" id="viewport10">
+			  <property name="visible">True</property>
+			  <property name="shadow_type">GTK_SHADOW_IN</property>
+
+			  <child>
+			    <widget class="GtkAlignment" id="spl_rules_table_align">
+			      <property name="visible">True</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xscale">1</property>
+			      <property name="yscale">1</property>
+			      <property name="top_padding">5</property>
+			      <property name="bottom_padding">5</property>
+			      <property name="left_padding">5</property>
+			      <property name="right_padding">5</property>
+
+			      <child>
+				<placeholder/>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
 		      </child>
 		    </widget>
 		  </child>
@@ -12826,7 +7701,7 @@
 				<widget class="GtkVBox" id="vbox113">
 				  <property name="visible">True</property>
 				  <property name="homogeneous">False</property>
-				  <property name="spacing">8</property>
+				  <property name="spacing">6</property>
 
 				  <child>
 				    <widget class="GtkHBox" id="hbox108">
@@ -12859,6 +7734,7 @@
 				      <child>
 					<widget class="GtkEntry" id="cfg_mount_point">
 					  <property name="visible">True</property>
+					  <property name="tooltip" translatable="yes">Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar.</property>
 					  <property name="can_focus">True</property>
 					  <property name="editable">True</property>
 					  <property name="visibility">True</property>
@@ -12886,6 +7762,7 @@
 				  <child>
 				    <widget class="GtkCheckButton" id="cfg_automount_ipod">
 				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">On startup gtkpod will call 'mount &lt;ipod mountpoint&gt;', on exit a 'umount &lt;ipod mountpoint&gt;' call is carried out. For more complicated arrangements please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts.</property>
 				      <property name="can_focus">True</property>
 				      <property name="label" translatable="yes">Handle mounting/unmounting of iPod drive</property>
 				      <property name="use_underline">True</property>
@@ -13002,7 +7879,7 @@
 				<widget class="GtkVBox" id="vbox115">
 				  <property name="visible">True</property>
 				  <property name="homogeneous">False</property>
-				  <property name="spacing">8</property>
+				  <property name="spacing">6</property>
 
 				  <child>
 				    <widget class="GtkHBox" id="hbox110">
@@ -13013,7 +7890,7 @@
 				      <child>
 					<widget class="GtkLabel" id="label258">
 					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">_Charset (ID3, files):</property>
+					  <property name="label" translatable="yes">_Encoding (ID3, files):</property>
 					  <property name="use_underline">True</property>
 					  <property name="use_markup">False</property>
 					  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -13081,8 +7958,9 @@
 				  <child>
 				    <widget class="GtkCheckButton" id="cfg_update_charset">
 				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">Normally the charset specified when first importing the track will be used to update the track information. If you have chosen a wrong charset when first importing a track and want to correct it using the 'Update Track' function, you must check this option. Note: the charset info is stored in the extended information file (see 'Writing of iTunesDB' below) and tracks imported before V0.51 will have no charset stored. Instead the charset specified above will be used then.</property>
 				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Use selected charset also when updating 
+				      <property name="label" translatable="yes">Use selected encoding also when updating 
 or syncing tracks</property>
 				      <property name="use_underline">True</property>
 				      <property name="relief">GTK_RELIEF_NORMAL</property>
@@ -13102,6 +7980,7 @@
 				  <child>
 				    <widget class="GtkCheckButton" id="cfg_add_recursively">
 				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">If you check this, gtkpod will descend into subdirectories recursively.</property>
 				      <property name="can_focus">True</property>
 				      <property name="label" translatable="yes">Add directories recursively</property>
 				      <property name="use_underline">True</property>
@@ -13122,6 +8001,7 @@
 				  <child>
 				    <widget class="GtkCheckButton" id="cfg_md5tracks">
 				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">Duplicate Recognition is based on a (modified) md5 hash over the file.</property>
 				      <property name="can_focus">True</property>
 				      <property name="label" translatable="yes">Don't allow file duplication</property>
 				      <property name="use_underline">True</property>
@@ -13169,6 +8049,7 @@
 				      <child>
 					<widget class="GtkCheckButton" id="cfg_show_duplicates">
 					  <property name="visible">True</property>
+					  <property name="tooltip" translatable="yes">Display the list of duplicates that have been detected after adding files.</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes">Display info about detected duplicates</property>
 					  <property name="use_underline">True</property>
@@ -13196,6 +8077,7 @@
 				  <child>
 				    <widget class="GtkCheckButton" id="cfg_update_existing">
 				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">If the filename (full path) of an existing track matches that of a track to be added, this option allows you to update the information about the existing track rather than just skipping the track altogether. No update will take place if the file hasn't changed and you have selected the 'Don't allow file duplication' option above.</property>
 				      <property name="can_focus">True</property>
 				      <property name="label" translatable="yes">When adding dirs/files, update information of
 existing tracks with identical filenames</property>
@@ -13244,6 +8126,7 @@
 				      <child>
 					<widget class="GtkCheckButton" id="cfg_show_updated">
 					  <property name="visible">True</property>
+					  <property name="tooltip" translatable="yes">Display a list of tracks that could actually be updated.</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes">Display info about updated tracks</property>
 					  <property name="use_underline">True</property>
@@ -13298,6 +8181,7 @@
 				      <child>
 					<widget class="GtkCheckButton" id="cfg_show_non_updated">
 					  <property name="visible">True</property>
+					  <property name="tooltip" translatable="yes">Display a list of tracks that could not be updated.</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes">Display info about non-updated tracks</property>
 					  <property name="use_underline">True</property>
@@ -13399,6 +8283,7 @@
 					  <child>
 					    <widget class="GtkCheckButton" id="cfg_sync_remove">
 					      <property name="visible">True</property>
+					      <property name="tooltip" translatable="yes">If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well.</property>
 					      <property name="can_focus">True</property>
 					      <property name="label" translatable="yes">Delete tracks that have been removed</property>
 					      <property name="use_underline">True</property>
@@ -13419,6 +8304,7 @@
 					  <child>
 					    <widget class="GtkCheckButton" id="cfg_sync_remove_confirm">
 					      <property name="visible">True</property>
+					      <property name="tooltip" translatable="yes">This is the same option as in 'Edit/Delete Confirmation'</property>
 					      <property name="can_focus">True</property>
 					      <property name="label" translatable="yes">Confirm before removing tracks</property>
 					      <property name="use_underline">True</property>
@@ -13531,7 +8417,7 @@
 				  <property name="tooltip" translatable="yes">Highly recommended for faster import when taking advantage of the duplication recognition. Also, having the PC filenames allows writing changed ID3 tags to disk, and even to reconstruct your ipod's contents in case of file system corruption (change the &quot;transferred=&quot; entries in your backuped database).</property>
 				  <property name="can_focus">True</property>
 				  <property name="label" translatable="yes">Write extended information (PC filenames,
- MD5 hashes, charset). Recommended.</property>
+ MD5 hashes, encoding). Recommended.</property>
 				  <property name="use_underline">True</property>
 				  <property name="relief">GTK_RELIEF_NORMAL</property>
 				  <property name="focus_on_click">True</property>
@@ -13574,8 +8460,8 @@
 	  <child>
 	    <widget class="GtkLabel" id="label252">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">General</property>
-	      <property name="use_underline">False</property>
+	      <property name="label" translatable="yes">_General</property>
+	      <property name="use_underline">True</property>
 	      <property name="use_markup">False</property>
 	      <property name="justify">GTK_JUSTIFY_LEFT</property>
 	      <property name="wrap">False</property>
@@ -13707,7 +8593,7 @@
 			      <child>
 				<widget class="GtkLabel" id="label193">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">    </property>
+				  <property name="label">    </property>
 				  <property name="use_underline">False</property>
 				  <property name="use_markup">False</property>
 				  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -13813,7 +8699,7 @@
 			      <property name="n_rows">2</property>
 			      <property name="n_columns">3</property>
 			      <property name="homogeneous">True</property>
-			      <property name="row_spacing">8</property>
+			      <property name="row_spacing">0</property>
 			      <property name="column_spacing">8</property>
 
 			      <child>
@@ -13955,6 +8841,465 @@
 	      </child>
 
 	      <child>
+		<widget class="GtkVBox" id="vbox155">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">6</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label394">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;Artwork&lt;/b&gt;</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox195">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label395">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">    </property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox156">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="coverart">
+			      <property name="visible">True</property>
+			      <property name="tooltip" translatable="yes">artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate several templates by a ';'. The first one matching the filename will be used. Example: '%a - %A/%T %t.mp3;%t.wav'.</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Add artwork from file using the following template</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="on_coverart_toggled" last_modification_time="Sat, 10 Dec 2005 13:46:30 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox196">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkLabel" id="label396">
+				  <property name="visible">True</property>
+				  <property name="label">    </property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkVBox" id="vbox157">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">6</property>
+
+				  <child>
+				    <widget class="GtkEntry" id="coverart_template">
+				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">Determines the name of the file with the cover art. You can separate several patterns by semicolons which will be tried in order. Artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, original filename (requires extended information file): %o, original filename without file extension: %O, current playlist: %p, the character '%': %%.</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				      <signal name="changed" handler="on_coverart_template_changed" last_modification_time="Sat, 10 Dec 2005 13:42:35 GMT"/>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label397">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">&lt;b&gt;Examples&lt;/b&gt;</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">True</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkTable" id="table42">
+				      <property name="visible">True</property>
+				      <property name="n_rows">6</property>
+				      <property name="n_columns">2</property>
+				      <property name="homogeneous">False</property>
+				      <property name="row_spacing">2</property>
+				      <property name="column_spacing">20</property>
+
+				      <child>
+					<widget class="GtkLabel" id="label398">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">folder.jpg</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label399">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">folder</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label400">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">../%A.jpg</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">2</property>
+					  <property name="bottom_attach">3</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label401">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">%A</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">3</property>
+					  <property name="bottom_attach">4</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label402">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Use &lt;i&gt;folder.jpg&lt;/i&gt; as cover art.</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">True</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label403">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Use &lt;i&gt;folder.jpg&lt;/i&gt;, &lt;i&gt;folder.png&lt;/i&gt;...</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">True</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label404">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Use &lt;i&gt;&amp;lt;Album&amp;gt;.jpg&lt;/i&gt; in the parent directory</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">True</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">2</property>
+					  <property name="bottom_attach">3</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label405">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">Use &lt;i&gt;&amp;lt;Album&amp;gt;.jpg&lt;/i&gt;, &lt;i&gt;&amp;lt;Album&amp;gt;.png&lt;/i&gt;...</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">True</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">3</property>
+					  <property name="bottom_attach">4</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label406">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">folder.jpg;%a.jpg</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">False</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">4</property>
+					  <property name="bottom_attach">5</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkLabel" id="label407">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">First try &lt;i&gt;folder.jpg&lt;/i&gt;, then &lt;i&gt;&amp;lt;artist&amp;gt;.jpg&lt;/i&gt;</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">True</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">4</property>
+					  <property name="bottom_attach">5</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">True</property>
+				      <property name="fill">True</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <placeholder/>
+				  </child>
+
+				  <child>
+				    <placeholder/>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <placeholder/>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
 		<widget class="GtkVBox" id="vbox76">
 		  <property name="visible">True</property>
 		  <property name="homogeneous">False</property>
@@ -14279,8 +9624,8 @@
 	  <child>
 	    <widget class="GtkLabel" id="label178">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Reading</property>
-	      <property name="use_underline">False</property>
+	      <property name="label" translatable="yes">_Track Info</property>
+	      <property name="use_underline">True</property>
 	      <property name="use_markup">False</property>
 	      <property name="justify">GTK_JUSTIFY_LEFT</property>
 	      <property name="wrap">False</property>
@@ -14421,6 +9766,44 @@
 				      </child>
 
 				      <child>
+					<widget class="GtkCheckButton" id="col_visible28">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes"></property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkCheckButton" id="col_visible32">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes"></property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
 					<widget class="GtkCheckButton" id="col_visible9">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
@@ -14567,6 +9950,44 @@
 				      </child>
 
 				      <child>
+					<widget class="GtkCheckButton" id="col_visible29">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes"></property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkCheckButton" id="col_visible7">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes"></property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
 					<widget class="GtkCheckButton" id="col_visible10">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
@@ -14713,7 +10134,7 @@
 				      </child>
 
 				      <child>
-					<widget class="GtkCheckButton" id="col_visible16">
+					<widget class="GtkCheckButton" id="col_visible30">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes"></property>
@@ -14732,7 +10153,7 @@
 				      </child>
 
 				      <child>
-					<widget class="GtkCheckButton" id="col_visible14">
+					<widget class="GtkCheckButton" id="col_visible20">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes"></property>
@@ -14751,7 +10172,7 @@
 				      </child>
 
 				      <child>
-					<widget class="GtkCheckButton" id="col_visible7">
+					<widget class="GtkCheckButton" id="col_visible16">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes"></property>
@@ -14770,7 +10191,7 @@
 				      </child>
 
 				      <child>
-					<widget class="GtkCheckButton" id="col_visible6">
+					<widget class="GtkCheckButton" id="col_visible14">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes"></property>
@@ -14806,6 +10227,29 @@
 					  <property name="fill">False</property>
 					</packing>
 				      </child>
+
+				      <child>
+					<widget class="GtkCheckButton" id="col_visible23">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes"></property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<placeholder/>
+				      </child>
 				    </widget>
 				    <packing>
 				      <property name="padding">0</property>
@@ -14840,6 +10284,44 @@
 				      </child>
 
 				      <child>
+					<widget class="GtkCheckButton" id="col_visible27">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes"></property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkCheckButton" id="col_visible31">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes"></property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
 					<widget class="GtkCheckButton" id="col_visible17">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
@@ -14878,7 +10360,7 @@
 				      </child>
 
 				      <child>
-					<widget class="GtkCheckButton" id="col_visible8">
+					<widget class="GtkCheckButton" id="col_visible33">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes"></property>
@@ -14897,7 +10379,7 @@
 				      </child>
 
 				      <child>
-					<widget class="GtkCheckButton" id="col_visible20">
+					<widget class="GtkCheckButton" id="col_visible6">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes"></property>
@@ -14916,7 +10398,7 @@
 				      </child>
 
 				      <child>
-					<widget class="GtkCheckButton" id="col_visible23">
+					<widget class="GtkCheckButton" id="col_visible8">
 					  <property name="visible">True</property>
 					  <property name="can_focus">True</property>
 					  <property name="label" translatable="yes"></property>
@@ -15024,9 +10506,30 @@
 				<widget class="GtkVBox" id="vbox125">
 				  <property name="visible">True</property>
 				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
+				  <property name="spacing">6</property>
 
 				  <child>
+				    <widget class="GtkCheckButton" id="cfg_group_compilations">
+				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">Keeps all compilation CDs grouped together in the artists sort tab.</property>
+				      <property name="can_focus">True</property>
+				      <property name="label" translatable="yes">Group artists on compilation CDs</property>
+				      <property name="use_underline">True</property>
+				      <property name="relief">GTK_RELIEF_NORMAL</property>
+				      <property name="focus_on_click">True</property>
+				      <property name="active">False</property>
+				      <property name="inconsistent">False</property>
+				      <property name="draw_indicator">True</property>
+				      <signal name="toggled" handler="on_cfg_group_compilations_toggled" last_modification_time="Sun, 23 Nov 2003 22:23:00 GMT"/>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
 				    <widget class="GtkHBox" id="hbox119">
 				      <property name="visible">True</property>
 				      <property name="homogeneous">False</property>
@@ -15824,8 +11327,8 @@
 	  <child>
 	    <widget class="GtkLabel" id="label266">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Display</property>
-	      <property name="use_underline">False</property>
+	      <property name="label" translatable="yes">_Display</property>
+	      <property name="use_underline">True</property>
 	      <property name="use_markup">False</property>
 	      <property name="justify">GTK_JUSTIFY_LEFT</property>
 	      <property name="wrap">False</property>
@@ -15910,6 +11413,7 @@
 			  <child>
 			    <widget class="GtkCheckButton" id="cfg_id3_write">
 			      <property name="visible">True</property>
+			      <property name="tooltip" translatable="yes">The tags are written to the files on your harddrive and on the ipod (if available).</property>
 			      <property name="can_focus">True</property>
 			      <property name="label" translatable="yes">Write ID3 tags to disk when modified in gtkpod</property>
 			      <property name="use_underline">True</property>
@@ -15963,8 +11467,9 @@
 				  <child>
 				    <widget class="GtkCheckButton" id="cfg_write_charset">
 				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">Normally the charset specified when first importing the track will be used to write the tags. If you have chosen a wrong charset when first importing a track, you should select this option along with the correct charset.  Note: uses the extended information file to store the charset information (see 'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported before V0.51 will have no charset stored -- the charset specified on the 'Input/Output' page will be used.</property>
 				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Use selected charset (on the 'General' page)
+				      <property name="label" translatable="yes">Use selected encoding (on the 'General' page)
 when writing tags</property>
 				      <property name="use_underline">True</property>
 				      <property name="relief">GTK_RELIEF_NORMAL</property>
@@ -15984,6 +11489,7 @@
 				  <child>
 				    <widget class="GtkCheckButton" id="cfg_id3_write_id3v24">
 				      <property name="visible">True</property>
+				      <property name="tooltip" translatable="yes">This is the way to go, but maybe not all programs support it yet. ID3v2.4 uses unicode to store the tags, so you won't have to worry about charsets any more. gtkpod will use UTF8 encoding as this will not increase the size of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already present in the file to write to.</property>
 				      <property name="can_focus">True</property>
 				      <property name="label" translatable="yes">Always write ID3v2.4 tags (only applies to MP3)</property>
 				      <property name="use_underline">True</property>
@@ -16018,6 +11524,7 @@
 			  <child>
 			    <widget class="GtkCheckButton" id="cfg_multi_edit">
 			      <property name="visible">True</property>
+			      <property name="tooltip" translatable="yes">If you select several tracks in the track list and edit a tag of the first track, the tags in the other tracks are updated as well.</property>
 			      <property name="can_focus">True</property>
 			      <property name="label" translatable="yes">Use 'Multi-Edit' for tracks selections</property>
 			      <property name="use_underline">True</property>
@@ -16065,6 +11572,7 @@
 			      <child>
 				<widget class="GtkCheckButton" id="cfg_multi_edit_title">
 				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Usually you don't want to set the title of several tracks to the same text. This option might avoid unwanted results (especially since there is no 'undo' yet).</property>
 				  <property name="can_focus">True</property>
 				  <property name="label" translatable="yes">Use 'Multi-Edit' also for title field</property>
 				  <property name="use_underline">True</property>
@@ -16200,6 +11708,7 @@
 			      <child>
 				<widget class="GtkSpinButton" id="cfg_misc_track_nr">
 				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'.</property>
 				  <property name="can_focus">True</property>
 				  <property name="climb_rate">1</property>
 				  <property name="digits">0</property>
@@ -16207,7 +11716,7 @@
 				  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
 				  <property name="snap_to_ticks">False</property>
 				  <property name="wrap">False</property>
-				  <property name="adjustment">1 0 100 1 10 10</property>
+				  <property name="adjustment">20 0 100 1 10 10</property>
 				  <signal name="value_changed" handler="on_cfg_misc_track_nr_value_changed" last_modification_time="Thu, 28 Apr 2005 18:09:09 GMT"/>
 				</widget>
 				<packing>
@@ -16569,6 +12078,7 @@
 			      <child>
 				<widget class="GtkEntry" id="play_now_path_entry">
 				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing.</property>
 				  <property name="can_focus">True</property>
 				  <property name="editable">True</property>
 				  <property name="visibility">True</property>
@@ -16638,6 +12148,7 @@
 			      <child>
 				<widget class="GtkEntry" id="play_enqueue_path_entry">
 				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist.</property>
 				  <property name="can_focus">True</property>
 				  <property name="editable">True</property>
 				  <property name="visibility">True</property>
@@ -16782,6 +12293,7 @@
 			  <child>
 			    <widget class="GtkEntry" id="mp3gain_path_entry">
 			      <property name="visible">True</property>
+			      <property name="tooltip" translatable="yes">You only need to specify this if your 'mp3gain' executable is not in your default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the calculated gain value back to the file -- if you don't want this, set this entry to /bin/true or similar. mp3gain is only called if appropriate tags are not already set by your encoder. E.g. lame version 0.95 already writes the gain values into tags. The exact conversion factor between mp3gain's gain value and iPod's volume tag is not known yet -- your input is appreciated.</property>
 			      <property name="can_focus">True</property>
 			      <property name="editable">True</property>
 			      <property name="visibility">True</property>
@@ -16896,6 +12408,27 @@
 			  <property name="spacing">6</property>
 
 			  <child>
+			    <widget class="GtkLabel" id="prefs_label_syncexamples">
+			      <property name="visible">True</property>
+			      <property name="label">&lt;i&gt;label&lt;/i&gt;</property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">True</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">True</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">10</property>
+			      <property name="ypad">3</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
 			    <widget class="GtkTable" id="table34">
 			      <property name="visible">True</property>
 			      <property name="n_rows">3</property>
@@ -16931,6 +12464,7 @@
 			      <child>
 				<widget class="GtkEntry" id="sync_contacts_path_entry">
 				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod.</property>
 				  <property name="can_focus">True</property>
 				  <property name="editable">True</property>
 				  <property name="visibility">True</property>
@@ -16995,6 +12529,7 @@
 			      <child>
 				<widget class="GtkEntry" id="sync_calendar_path_entry">
 				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod.</property>
 				  <property name="can_focus">True</property>
 				  <property name="editable">True</property>
 				  <property name="visibility">True</property>
@@ -17059,6 +12594,7 @@
 			      <child>
 				<widget class="GtkEntry" id="sync_notes_path_entry">
 				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod.</property>
 				  <property name="can_focus">True</property>
 				  <property name="editable">True</property>
 				  <property name="visibility">True</property>
@@ -17168,6 +12704,902 @@
 	      <property name="type">tab</property>
 	    </packing>
 	  </child>
+
+	  <child>
+	    <widget class="GtkVBox" id="vbox141">
+	      <property name="border_width">12</property>
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">18</property>
+
+	      <child>
+		<widget class="GtkVBox" id="vbox142">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label312">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;Podcast subscriptions&lt;/b&gt;</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox159">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label313">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">    </property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkScrolledWindow" id="pc_subs_window">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+			  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+			  <property name="shadow_type">GTK_SHADOW_IN</property>
+			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+			  <child>
+			    <placeholder/>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox143">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <widget class="GtkButton" id="pc_add_button">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Add</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <signal name="clicked" handler="on_pc_add_button_clicked" last_modification_time="Mon, 19 Sep 2005 11:26:32 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkButton" id="pc_update_button">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Update</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <signal name="clicked" handler="on_pc_update_button_clicked" last_modification_time="Mon, 19 Sep 2005 17:28:32 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkButton" id="pc_delete_button">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Delete</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <signal name="clicked" handler="on_pc_delete_button_clicked" last_modification_time="Mon, 19 Sep 2005 15:40:04 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox167">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label322">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">    </property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkTable" id="table35">
+			  <property name="visible">True</property>
+			  <property name="n_rows">2</property>
+			  <property name="n_columns">2</property>
+			  <property name="homogeneous">False</property>
+			  <property name="row_spacing">0</property>
+			  <property name="column_spacing">0</property>
+
+			  <child>
+			    <widget class="GtkLabel" id="label323">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Name: </property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label324">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">URL: </property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkEntry" id="pc_name">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="editable">True</property>
+			      <property name="visibility">True</property>
+			      <property name="max_length">0</property>
+			      <property name="text" translatable="yes"></property>
+			      <property name="has_frame">True</property>
+			      <property name="invisible_char">*</property>
+			      <property name="activates_default">False</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkEntry" id="pc_url">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="editable">True</property>
+			      <property name="visibility">True</property>
+			      <property name="max_length">0</property>
+			      <property name="text" translatable="yes"></property>
+			      <property name="has_frame">True</property>
+			      <property name="invisible_char">*</property>
+			      <property name="activates_default">False</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkVBox" id="vbox144">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label315">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;File options&lt;/b&gt;</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox160">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label314">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">    </property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox145">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox161">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkLabel" id="label316">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Save podcasts to: </property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkEntry" id="pc_dir">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">True</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">*</property>
+				  <property name="activates_default">False</property>
+				  <signal name="changed" handler="on_pc_dir_changed" last_modification_time="Sat, 17 Sep 2005 20:23:44 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox163">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkCheckButton" id="pc_del_age">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">Delete from computer when </property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">False</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <signal name="toggled" handler="on_pc_del_age_toggled" last_modification_time="Sat, 17 Sep 2005 21:41:16 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkSpinButton" id="pc_del_age_val">
+				  <property name="width_request">52</property>
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="climb_rate">1</property>
+				  <property name="digits">0</property>
+				  <property name="numeric">False</property>
+				  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+				  <property name="snap_to_ticks">False</property>
+				  <property name="wrap">False</property>
+				  <property name="adjustment">1 1 100 1 10 10</property>
+				  <signal name="value_changed" handler="on_pc_del_age_val_value_changed" last_modification_time="Sat, 17 Sep 2005 21:42:03 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label339">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes"> days old</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="pc_del_copied">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Delete once copied to iPod</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="on_pc_del_copied_toggled" last_modification_time="Mon, 19 Sep 2005 10:10:09 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox162">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkCheckButton" id="pc_auto_fetch">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">Automatically fetch podcasts on startup</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">False</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <signal name="toggled" handler="on_pc_auto_fetch_toggled" last_modification_time="Sat, 17 Sep 2005 22:00:55 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="pc_log">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Create podcast logfile at:</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="on_pc_log_toggled" last_modification_time="Sat, 17 Sep 2005 22:01:03 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox166">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkLabel" id="label321">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">    </property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkEntry" id="pc_log_file">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">True</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">*</property>
+				  <property name="activates_default">False</property>
+				  <signal name="changed" handler="on_pc_log_file_changed" last_modification_time="Sat, 17 Sep 2005 22:01:14 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkVBox" id="vbox146">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label318">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;iPod options&lt;/b&gt;</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox164">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label319">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">    </property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox147">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="pc_auto_sync">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Automatically sync to iPod</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="on_pc_auto_sync_toggled" last_modification_time="Sat, 17 Sep 2005 22:01:21 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox165">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkCheckButton" id="pc_ipod_del_age">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">Delete from iPod when </property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">False</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <signal name="toggled" handler="on_pc_ipod_del_age_toggled" last_modification_time="Sat, 17 Sep 2005 22:02:32 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkSpinButton" id="pc_ipod_del_age_val">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="climb_rate">1</property>
+				  <property name="digits">0</property>
+				  <property name="numeric">False</property>
+				  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+				  <property name="snap_to_ticks">False</property>
+				  <property name="wrap">False</property>
+				  <property name="adjustment">0 0 100 1 10 10</property>
+				  <signal name="value_changed" handler="on_pc_ipod_del_age_val_value_changed" last_modification_time="Sat, 17 Sep 2005 22:01:46 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label320">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes"> days old</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="pc_ipod_del_played">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Delete from iPod if podcast has been played</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="on_pc_ipod_del_played_toggled" last_modification_time="Sat, 17 Sep 2005 22:02:25 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="pc_ipod_inc_date">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Include broadcast date in track title</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="on_pc_ipod_inc_date_toggled" last_modification_time="Sat, 17 Sep 2005 22:02:18 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="pc_change_genre">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Set all podcast genres to 'Podcast'</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="on_pc_change_genre_toggled" last_modification_time="Sat, 17 Sep 2005 22:02:10 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label311">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">_Podcasts</property>
+	      <property name="use_underline">True</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
@@ -17231,4 +13663,2984 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="podcast_window">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Podcasts</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox148">
+      <property name="border_width">18</property>
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">18</property>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="podcast_list_window">
+	  <property name="height_request">236</property>
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+	  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+	  <property name="shadow_type">GTK_SHADOW_IN</property>
+	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	  <child>
+	    <placeholder/>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkVBox" id="vbox149">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkProgressBar" id="file_progressbar">
+	      <property name="visible">True</property>
+	      <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
+	      <property name="fraction">0</property>
+	      <property name="pulse_step">0.10000000149</property>
+	      <property name="text" translatable="yes"></property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkProgressBar" id="total_progressbar">
+	      <property name="visible">True</property>
+	      <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
+	      <property name="fraction">0</property>
+	      <property name="pulse_step">0.10000000149</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkLabel" id="status_label">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">
+
+</property>
+	  <property name="use_underline">False</property>
+	  <property name="use_markup">False</property>
+	  <property name="justify">GTK_JUSTIFY_LEFT</property>
+	  <property name="wrap">True</property>
+	  <property name="selectable">False</property>
+	  <property name="xalign">0.5</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xpad">0</property>
+	  <property name="ypad">0</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHBox" id="hbox168">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">18</property>
+
+	  <child>
+	    <placeholder/>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button11">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label" translatable="yes">Abort selected</property>
+	      <property name="use_underline">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button10">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label" translatable="yes">Abort current</property>
+	      <property name="use_underline">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="pc_abort_button">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label" translatable="yes">Abort all</property>
+	      <property name="use_underline">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="details_window">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Details</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox150">
+      <property name="border_width">6</property>
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">4</property>
+
+      <child>
+	<widget class="GtkLabel" id="details_label_artist_title">
+	  <property name="visible">True</property>
+	  <property name="label">label</property>
+	  <property name="use_underline">False</property>
+	  <property name="use_markup">True</property>
+	  <property name="justify">GTK_JUSTIFY_LEFT</property>
+	  <property name="wrap">False</property>
+	  <property name="selectable">False</property>
+	  <property name="xalign">0</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xpad">0</property>
+	  <property name="ypad">3</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkViewport" id="details_viewport">
+	  <property name="border_width">2</property>
+	  <property name="visible">True</property>
+	  <property name="shadow_type">GTK_SHADOW_IN</property>
+
+	  <child>
+	    <widget class="GtkHBox" id="hbox188">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">4</property>
+
+	      <child>
+		<widget class="GtkVBox" id="vbox151">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label340">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Cover</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">6</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">2</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkViewport" id="viewport18">
+		      <property name="visible">True</property>
+		      <property name="shadow_type">GTK_SHADOW_IN</property>
+
+		      <child>
+			<widget class="GtkImage" id="details_image_thumbnail">
+			  <property name="visible">True</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">3</property>
+			  <property name="ypad">3</property>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkButton" id="details_button_set_artwork">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+
+		      <child>
+			<widget class="GtkAlignment" id="alignment6">
+			  <property name="visible">True</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xscale">0</property>
+			  <property name="yscale">0</property>
+			  <property name="top_padding">0</property>
+			  <property name="bottom_padding">0</property>
+			  <property name="left_padding">0</property>
+			  <property name="right_padding">0</property>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox190">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">2</property>
+
+			      <child>
+				<widget class="GtkImage" id="image3072">
+				  <property name="visible">True</property>
+				  <property name="stock">gtk-open</property>
+				  <property name="icon_size">4</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label341">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Set Cover Art</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">6</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckButton" id="details_checkbutton_writethrough">
+		      <property name="border_width">3</property>
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">If you check this, information (cover art and meta information) changed for this track will be copied to all other selected tracks as well. Use with care.</property>
+		      <property name="can_focus">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		      <property name="active">False</property>
+		      <property name="inconsistent">False</property>
+		      <property name="draw_indicator">True</property>
+
+		      <child>
+			<widget class="GtkAlignment" id="alignment7">
+			  <property name="visible">True</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xscale">0</property>
+			  <property name="yscale">0</property>
+			  <property name="top_padding">0</property>
+			  <property name="bottom_padding">0</property>
+			  <property name="left_padding">0</property>
+			  <property name="right_padding">0</property>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox191">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">2</property>
+
+			      <child>
+				<widget class="GtkImage" id="image3074">
+				  <property name="visible">True</property>
+				  <property name="stock">gtk-dialog-warning</property>
+				  <property name="icon_size">4</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label342">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Change all tracks
+simultaneously</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">6</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		      <property name="pack_type">GTK_PACK_END</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHSeparator" id="hseparator56">
+		      <property name="visible">True</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">5</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
+		      <property name="pack_type">GTK_PACK_END</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkButton" id="details_button_remove_artwork">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+
+		      <child>
+			<widget class="GtkAlignment" id="alignment8">
+			  <property name="visible">True</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xscale">0</property>
+			  <property name="yscale">0</property>
+			  <property name="top_padding">0</property>
+			  <property name="bottom_padding">0</property>
+			  <property name="left_padding">0</property>
+			  <property name="right_padding">0</property>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox192">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">2</property>
+
+			      <child>
+				<widget class="GtkImage" id="image3075">
+				  <property name="visible">True</property>
+				  <property name="stock">gtk-delete</property>
+				  <property name="icon_size">4</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label389">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Remove Cover Art</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">2</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkNotebook" id="details_notebook">
+		  <property name="border_width">2</property>
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="show_tabs">True</property>
+		  <property name="show_border">True</property>
+		  <property name="tab_pos">GTK_POS_TOP</property>
+		  <property name="scrollable">False</property>
+		  <property name="enable_popup">False</property>
+
+		  <child>
+		    <widget class="GtkScrolledWindow" id="scrolledwindow20">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="shadow_type">GTK_SHADOW_IN</property>
+		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		      <child>
+			<widget class="GtkViewport" id="viewport14">
+			  <property name="visible">True</property>
+			  <property name="shadow_type">GTK_SHADOW_IN</property>
+
+			  <child>
+			    <widget class="GtkVBox" id="vbox153">
+			      <property name="border_width">6</property>
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">6</property>
+
+			      <child>
+				<widget class="GtkTable" id="table36">
+				  <property name="visible">True</property>
+				  <property name="n_rows">10</property>
+				  <property name="n_columns">5</property>
+				  <property name="homogeneous">False</property>
+				  <property name="row_spacing">2</property>
+				  <property name="column_spacing">10</property>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_2">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">0</property>
+				      <property name="bottom_attach">1</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_1">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">1</property>
+				      <property name="bottom_attach">2</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_3">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">2</property>
+				      <property name="bottom_attach">3</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_6">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">3</property>
+				      <property name="bottom_attach">4</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_4">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">4</property>
+				      <property name="bottom_attach">5</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_2">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">0</property>
+				      <property name="bottom_attach">1</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_1">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">1</property>
+				      <property name="bottom_attach">2</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_3">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">2</property>
+				      <property name="bottom_attach">3</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_6">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">3</property>
+				      <property name="bottom_attach">4</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_4">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">4</property>
+				      <property name="bottom_attach">5</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_25">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">5</property>
+				      <property name="bottom_attach">6</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_25">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">5</property>
+				      <property name="bottom_attach">6</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_14">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">5</property>
+				      <property name="bottom_attach">6</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label379">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">5</property>
+				      <property name="bottom_attach">6</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_14">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">5</property>
+				      <property name="bottom_attach">6</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label380">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">6</property>
+				      <property name="bottom_attach">7</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label381">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label382">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label383">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">9</property>
+				      <property name="bottom_attach">10</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_18">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">6</property>
+				      <property name="bottom_attach">7</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_26">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_28">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkCheckButton" id="details_checkbutton_28">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="label" translatable="yes"></property>
+				      <property name="use_underline">True</property>
+				      <property name="relief">GTK_RELIEF_NORMAL</property>
+				      <property name="focus_on_click">True</property>
+				      <property name="active">False</property>
+				      <property name="inconsistent">False</property>
+				      <property name="draw_indicator">True</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_19">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">6</property>
+				      <property name="bottom_attach">7</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_11">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_35">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkCheckButton" id="details_checkbutton_35">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="label" translatable="yes"></property>
+				      <property name="use_underline">True</property>
+				      <property name="relief">GTK_RELIEF_NORMAL</property>
+				      <property name="focus_on_click">True</property>
+				      <property name="active">False</property>
+				      <property name="inconsistent">False</property>
+				      <property name="draw_indicator">True</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_18">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">6</property>
+				      <property name="bottom_attach">7</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_26">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_19">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">6</property>
+				      <property name="bottom_attach">7</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_11">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<placeholder/>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="tab_expand">False</property>
+		      <property name="tab_fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label343">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_General</property>
+		      <property name="use_underline">True</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="mnemonic_widget">scrolledwindow20</property>
+		    </widget>
+		    <packing>
+		      <property name="type">tab</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkScrolledWindow" id="scrolledwindow22">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="shadow_type">GTK_SHADOW_IN</property>
+		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		      <child>
+			<widget class="GtkViewport" id="viewport16">
+			  <property name="visible">True</property>
+			  <property name="shadow_type">GTK_SHADOW_IN</property>
+
+			  <child>
+			    <widget class="GtkTable" id="table41">
+			      <property name="border_width">6</property>
+			      <property name="visible">True</property>
+			      <property name="n_rows">6</property>
+			      <property name="n_columns">5</property>
+			      <property name="homogeneous">False</property>
+			      <property name="row_spacing">2</property>
+			      <property name="column_spacing">10</property>
+
+			      <child>
+				<widget class="GtkLabel" id="details_label_5">
+				  <property name="visible">True</property>
+				  <property name="label">label</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">4</property>
+				  <property name="bottom_attach">5</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="details_label_31">
+				  <property name="visible">True</property>
+				  <property name="label">label</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="details_label_34">
+				  <property name="visible">True</property>
+				  <property name="label">label</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="details_label_33">
+				  <property name="visible">True</property>
+				  <property name="label">label</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">5</property>
+				  <property name="bottom_attach">6</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="details_label_30">
+				  <property name="visible">True</property>
+				  <property name="label">label</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">3</property>
+				  <property name="bottom_attach">4</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="details_label_32">
+				  <property name="visible">True</property>
+				  <property name="label">label</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">2</property>
+				  <property name="bottom_attach">3</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkEntry" id="details_entry_31">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">True</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">*</property>
+				  <property name="activates_default">False</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkEntry" id="details_entry_34">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">True</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">*</property>
+				  <property name="activates_default">False</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkEntry" id="details_entry_32">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">True</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">*</property>
+				  <property name="activates_default">False</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">2</property>
+				  <property name="bottom_attach">3</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkScrolledWindow" id="scrolledwindow25">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+				  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+				  <property name="shadow_type">GTK_SHADOW_IN</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+				  <child>
+				    <widget class="GtkTextView" id="details_textview_5">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="overwrite">False</property>
+				      <property name="accepts_tab">True</property>
+				      <property name="justification">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap_mode">GTK_WRAP_WORD</property>
+				      <property name="cursor_visible">True</property>
+				      <property name="pixels_above_lines">0</property>
+				      <property name="pixels_below_lines">0</property>
+				      <property name="pixels_inside_wrap">0</property>
+				      <property name="left_margin">0</property>
+				      <property name="right_margin">0</property>
+				      <property name="indent">0</property>
+				      <property name="text"></property>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">4</property>
+				  <property name="bottom_attach">5</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkScrolledWindow" id="scrolledwindow26">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+				  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+				  <property name="shadow_type">GTK_SHADOW_IN</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+				  <child>
+				    <widget class="GtkTextView" id="details_textview_33">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="overwrite">False</property>
+				      <property name="accepts_tab">True</property>
+				      <property name="justification">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap_mode">GTK_WRAP_WORD</property>
+				      <property name="cursor_visible">True</property>
+				      <property name="pixels_above_lines">0</property>
+				      <property name="pixels_below_lines">0</property>
+				      <property name="pixels_inside_wrap">0</property>
+				      <property name="left_margin">0</property>
+				      <property name="right_margin">0</property>
+				      <property name="indent">0</property>
+				      <property name="text"></property>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">5</property>
+				  <property name="bottom_attach">6</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkScrolledWindow" id="scrolledwindow24">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+				  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+				  <property name="shadow_type">GTK_SHADOW_IN</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+				  <child>
+				    <widget class="GtkTextView" id="details_textview_30">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="overwrite">False</property>
+				      <property name="accepts_tab">True</property>
+				      <property name="justification">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap_mode">GTK_WRAP_WORD</property>
+				      <property name="cursor_visible">True</property>
+				      <property name="pixels_above_lines">0</property>
+				      <property name="pixels_below_lines">0</property>
+				      <property name="pixels_inside_wrap">0</property>
+				      <property name="left_margin">0</property>
+				      <property name="right_margin">0</property>
+				      <property name="indent">0</property>
+				      <property name="text"></property>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">5</property>
+				  <property name="top_attach">3</property>
+				  <property name="bottom_attach">4</property>
+				</packing>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="tab_expand">False</property>
+		      <property name="tab_fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label345">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_Podcasts</property>
+		      <property name="use_underline">True</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="mnemonic_widget">scrolledwindow20</property>
+		    </widget>
+		    <packing>
+		      <property name="type">tab</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkScrolledWindow" id="scrolledwindow23">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="shadow_type">GTK_SHADOW_IN</property>
+		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		      <child>
+			<widget class="GtkViewport" id="viewport17">
+			  <property name="visible">True</property>
+			  <property name="shadow_type">GTK_SHADOW_IN</property>
+
+			  <child>
+			    <widget class="GtkVBox" id="vbox152">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkTable" id="table37">
+				  <property name="border_width">6</property>
+				  <property name="visible">True</property>
+				  <property name="n_rows">12</property>
+				  <property name="n_columns">5</property>
+				  <property name="homogeneous">False</property>
+				  <property name="row_spacing">2</property>
+				  <property name="column_spacing">10</property>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_20">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">2</property>
+				      <property name="bottom_attach">3</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_22">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">3</property>
+				      <property name="bottom_attach">4</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_21">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">4</property>
+				      <property name="bottom_attach">5</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_27">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">0</property>
+				      <property name="bottom_attach">1</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_29">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">1</property>
+				      <property name="bottom_attach">2</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_27">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">0</property>
+				      <property name="bottom_attach">1</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_29">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">1</property>
+				      <property name="bottom_attach">2</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_20">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">2</property>
+				      <property name="bottom_attach">3</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_22">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">3</property>
+				      <property name="bottom_attach">4</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_21">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">4</property>
+				      <property name="bottom_attach">5</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label378">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_8">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">5</property>
+				      <property name="bottom_attach">6</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_9">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">6</property>
+				      <property name="bottom_attach">7</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_23">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_23">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_24">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_24">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label386">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">8</property>
+				      <property name="bottom_attach">9</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label387">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">9</property>
+				      <property name="bottom_attach">10</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label388">
+				      <property name="visible">True</property>
+				      <property name="label"></property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">4</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">10</property>
+				      <property name="bottom_attach">11</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_7">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_10">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_7">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_15">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">9</property>
+				      <property name="bottom_attach">10</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_17">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">10</property>
+				      <property name="bottom_attach">11</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_16">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">9</property>
+				      <property name="bottom_attach">10</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_15">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">9</property>
+				      <property name="bottom_attach">10</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_16">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">9</property>
+				      <property name="bottom_attach">10</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_17">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">10</property>
+				      <property name="bottom_attach">11</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_8">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">False</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">False</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">5</property>
+				      <property name="bottom_attach">6</property>
+				      <property name="x_padding">1</property>
+				      <property name="y_padding">1</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_9">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">False</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">False</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">5</property>
+				      <property name="top_attach">6</property>
+				      <property name="bottom_attach">7</property>
+				      <property name="x_padding">1</property>
+				      <property name="y_padding">1</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_10">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">False</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">False</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">7</property>
+				      <property name="bottom_attach">8</property>
+				      <property name="x_padding">1</property>
+				      <property name="y_padding">1</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_12">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">0</property>
+				      <property name="right_attach">1</property>
+				      <property name="top_attach">11</property>
+				      <property name="bottom_attach">12</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkCheckButton" id="details_checkbutton_12">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="label" translatable="yes"></property>
+				      <property name="use_underline">True</property>
+				      <property name="relief">GTK_RELIEF_NORMAL</property>
+				      <property name="focus_on_click">True</property>
+				      <property name="active">False</property>
+				      <property name="inconsistent">False</property>
+				      <property name="draw_indicator">True</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">1</property>
+				      <property name="right_attach">2</property>
+				      <property name="top_attach">11</property>
+				      <property name="bottom_attach">12</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="details_label_13">
+				      <property name="visible">True</property>
+				      <property name="label">label</property>
+				      <property name="use_underline">False</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">2</property>
+				      <property name="right_attach">3</property>
+				      <property name="top_attach">10</property>
+				      <property name="bottom_attach">11</property>
+				      <property name="x_options">fill</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkEntry" id="details_entry_13">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="visibility">True</property>
+				      <property name="max_length">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <property name="has_frame">True</property>
+				      <property name="invisible_char">*</property>
+				      <property name="activates_default">False</property>
+				    </widget>
+				    <packing>
+				      <property name="left_attach">3</property>
+				      <property name="right_attach">4</property>
+				      <property name="top_attach">10</property>
+				      <property name="bottom_attach">11</property>
+				      <property name="y_options"></property>
+				    </packing>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<placeholder/>
+			      </child>
+
+			      <child>
+				<placeholder/>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="tab_expand">False</property>
+		      <property name="tab_fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label346">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_Other</property>
+		      <property name="use_underline">True</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="mnemonic_widget">scrolledwindow20</property>
+		    </widget>
+		    <packing>
+		      <property name="type">tab</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHSeparator" id="hseparator55">
+	  <property name="visible">True</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHBox" id="hbox187">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkHBox" id="hbox186">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">0</property>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_first">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+
+		  <child>
+		    <widget class="GtkImage" id="image3068">
+		      <property name="visible">True</property>
+		      <property name="stock">gtk-goto-first</property>
+		      <property name="icon_size">4</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_previous">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+
+		  <child>
+		    <widget class="GtkImage" id="image3069">
+		      <property name="visible">True</property>
+		      <property name="stock">gtk-go-back</property>
+		      <property name="icon_size">4</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="details_label_index">
+		  <property name="visible">True</property>
+		  <property name="label">n/n</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">5</property>
+		  <property name="ypad">4</property>
+		</widget>
+		<packing>
+		  <property name="padding">5</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_next">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+
+		  <child>
+		    <widget class="GtkImage" id="image3070">
+		      <property name="visible">True</property>
+		      <property name="stock">gtk-go-forward</property>
+		      <property name="icon_size">4</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_last">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+
+		  <child>
+		    <widget class="GtkImage" id="image3071">
+		      <property name="visible">True</property>
+		      <property name="stock">gtk-goto-last</property>
+		      <property name="icon_size">4</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkHButtonBox" id="hbuttonbox13">
+	      <property name="visible">True</property>
+	      <property name="layout_style">GTK_BUTTONBOX_END</property>
+	      <property name="spacing">7</property>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_apply">
+		  <property name="visible">True</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label">gtk-apply</property>
+		  <property name="use_stock">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		</widget>
+	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_cancel">
+		  <property name="visible">True</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label">gtk-cancel</property>
+		  <property name="use_stock">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		</widget>
+	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_ok">
+		  <property name="visible">True</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label">gtk-ok</property>
+		  <property name="use_stock">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	      <property name="pack_type">GTK_PACK_END</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkHButtonBox" id="hbuttonbox14">
+	      <property name="visible">True</property>
+	      <property name="layout_style">GTK_BUTTONBOX_END</property>
+	      <property name="spacing">7</property>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_undo_all">
+		  <property name="visible">True</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+
+		  <child>
+		    <widget class="GtkAlignment" id="alignment9">
+		      <property name="visible">True</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
+
+		      <child>
+			<widget class="GtkHBox" id="hbox193">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
+
+			  <child>
+			    <widget class="GtkImage" id="image3076">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-undo</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label390">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">_Undo All</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="details_button_undo_track">
+		  <property name="visible">True</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+
+		  <child>
+		    <widget class="GtkAlignment" id="alignment10">
+		      <property name="visible">True</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
+
+		      <child>
+			<widget class="GtkHBox" id="hbox194">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
+
+			  <child>
+			    <widget class="GtkImage" id="image3077">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-undo</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label391">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">_Undo Track</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>

Modified: gtkpod/trunk/pixmaps/gtkpod-add-dirs.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-add-dirs.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-add-files.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-add-files.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-add-playlists.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-add-playlists.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-icon-32.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-icon-32.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-icon-32x32-2.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-icon-32x32-2.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-icon-32x32.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-icon-32x32.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-icon-48.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-icon-48.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-icon-48x48.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-icon-48x48.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-icon-64x64.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-icon-64x64.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-logo.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-logo.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-new-playlist.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-new-playlist.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-read.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-read.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/pixmaps/gtkpod-sync.png
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/pixmaps/gtkpod-sync.png
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: gtkpod/trunk/po/POTFILES.in
===================================================================
--- gtkpod/trunk/po/POTFILES.in	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/POTFILES.in	2005-12-30 07:31:41 UTC (rev 94)
@@ -6,6 +6,7 @@
 src/context_menus.c
 src/date_parser.l
 src/date_parser2.l
+src/details.c
 src/display.c
 src/display_itdb.c
 src/display_playlists.c
@@ -19,10 +20,6 @@
 src/getopt1.c
 src/getopt.c
 src/info.c
-src/itdb_itunesdb.c
-src/itdb_main.c
-src/itdb_playlist.c
-src/itdb_track.c
 src/main.c
 src/md5.c
 src/misc.c

Modified: gtkpod/trunk/po/de.gmo
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/po/de.gmo
___________________________________________________________________
Name: svn:eol-style
   - native
Name: svn:mime-type
   + application/x-gmo

Modified: gtkpod/trunk/po/de.po
===================================================================
--- gtkpod/trunk/po/de.po	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/de.po	2005-12-30 07:31:41 UTC (rev 94)
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: gtkpod 0.52\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-16 16:18+0900\n"
-"PO-Revision-Date: 2005-07-16 15:42+0900\n"
+"POT-Creation-Date: 2005-12-14 23:51+0900\n"
+"PO-Revision-Date: 2005-12-14 23:22+0900\n"
 "Last-Translator: Jörg Schuler <jcsjcs at users.sourceforge.net>\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
@@ -231,175 +231,242 @@
 "Eine Instanz von gtkpod läuft bereits. Der Playcount-Server wird nicht "
 "gestartet.\n"
 
-#: src/confirmation.c:363
+#: src/confirmation.c:361
 msgid "Confirmation Dialogue"
 msgstr "Sicherheitsabfrage"
 
-#: src/context_menus.c:299
+#: src/context_menus.c:368 gtkpod.glade:530
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: src/context_menus.c:301 src/tools.c:634
+#: src/context_menus.c:370 src/tools.c:634
 msgid "Play Now"
 msgstr "Jetzt Spielen"
 
-#: src/context_menus.c:303 src/tools.c:645
+#: src/context_menus.c:372 src/tools.c:645
 msgid "Enqueue"
 msgstr "Zum Abspielen Vormerken"
 
-#: src/context_menus.c:306
+#: src/context_menus.c:375
 msgid "Export Tracks"
 msgstr "Stücke Exportieren"
 
-#: src/context_menus.c:308 src/file_export.c:1091
+#: src/context_menus.c:377 src/file_export.c:1069
 msgid "Create Playlist File"
 msgstr "Wiedergabelistendatei erstellen"
 
-#: src/context_menus.c:310
+#: src/context_menus.c:379
+msgid "Edit Details"
+msgstr "Details editieren"
+
+#: src/context_menus.c:381 gtkpod.glade:12816
 msgid "Update"
 msgstr "Aktualisieren"
 
-#: src/context_menus.c:312
+#: src/context_menus.c:383
 msgid "Sync Dirs"
 msgstr "Verzeichnisse abgleichen"
 
-#: src/context_menus.c:314
+#: src/context_menus.c:385
 msgid "Normalize"
 msgstr "Lautstärkenormalisierung"
 
-#: src/context_menus.c:316
+#: src/context_menus.c:387
 msgid "Create new Playlist"
 msgstr "Neue Wiedergabeliste erstellen"
 
-#: src/context_menus.c:319
+#: src/context_menus.c:390
 msgid "Edit Smart Playlist"
 msgstr "Intelligente Wiedergabeliste editieren"
 
-#: src/context_menus.c:325
+#: src/context_menus.c:396
 msgid "Alphabetize"
 msgstr "Sortieren"
 
-#: src/context_menus.c:347
+#: src/context_menus.c:420
 msgid "Delete From iPod"
 msgstr "Vom iPod entfernen "
 
-#: src/context_menus.c:352
+#: src/context_menus.c:426
 msgid "Delete From Harddisk"
 msgstr "Von der Festplatte löschen"
 
-#: src/context_menus.c:357
+#: src/context_menus.c:432
 msgid "Delete From Database"
 msgstr "Aus der Datenbank entfernen"
 
-#: src/context_menus.c:362
+#: src/context_menus.c:438
 msgid "Delete From Playlist"
 msgstr "Von der Wiedergabeliste entfernen"
 
-#: src/context_menus.c:371
+#: src/context_menus.c:457
 msgid "Delete Including Tracks"
 msgstr "Löschen inklusive der Stücke"
 
-#: src/context_menus.c:376
+#: src/context_menus.c:463
 msgid "Delete Including Tracks (Harddisk)"
 msgstr "Löschen inklusive der Stücke (Festplatte)"
 
-#: src/context_menus.c:381
+#: src/context_menus.c:469
 msgid "Delete Including Tracks (Database)"
 msgstr "Löschen inklusive der Stücke (Datenbank)"
 
-#: src/context_menus.c:386
+#: src/context_menus.c:475
 msgid "Delete But Keep Tracks"
 msgstr "Löschen aber Stücke behalten"
 
-#: src/context_menus.c:391
+#: src/context_menus.c:481
 msgid "Remove All Tracks from iPod"
 msgstr "Alle Stücke vom iPod entfernen"
 
-#: src/context_menus.c:396
+#: src/context_menus.c:487
 msgid "Remove All Tracks from Database"
 msgstr "Alle Stücke aus der Datenbank entfernen"
 
+#: src/context_menus.c:494
+msgid "Remove All Podcasts from iPod"
+msgstr "Alle Podcasts vom iPod entfernen"
+
+#: src/context_menus.c:505 gtkpod.glade:156
+msgid "Update Podcasts"
+msgstr "Podcasts erneuern"
+
+#: src/context_menus.c:512
+msgid "Podcasts Preferences"
+msgstr "Podcasts Einstellungen"
+
 #: src/date_parser.l:269
 #, c-format
 msgid "Date format error: unrecognized character: '%s'\n"
 msgstr "Datums Formatvorgabefehler: unbekanntes Zeichen: '%s'\n"
 
-#: src/display.c:876
+#: src/details.c:1035 gtkpod.glade:4365
+msgid "n/a"
+msgstr "---"
+
+#: src/details.c:1099
+msgid "<b>n/a</b>"
+msgstr "<b>---</b>"
+
+#: src/display.c:924 src/display.c:1022 src/display.c:1071 src/display.c:1302
+#: src/display.c:1358 src/display.c:1413 src/display.c:1464 src/display.c:1628
+#: src/misc_playlist.c:274
+msgid "No playlist selected"
+msgstr "Keine Wiedergabeliste ausgewählt"
+
+#: src/display.c:934
+msgid "Edit selected entry of which sort tab?"
+msgstr "Markierten Eintrag aus welchem Filter-Tab editieren?"
+
+#. no entry selected
+#: src/display.c:941 src/misc_confirm.c:441 src/misc_track.c:1482
+msgid "No entry selected."
+msgstr "Kein Tab-Eintrag ausgewählt."
+
+#: src/display.c:960 src/display.c:1040 src/display.c:1345 src/display.c:1401
+#: src/display.c:1452 src/display.c:1503
+msgid "No tracks selected"
+msgstr "Keine Stücke ausgewählt"
+
+#: src/display.c:1056 src/display.c:1322 src/display.c:1378 src/display.c:1430
+#: src/display.c:1481 src/display.c:1650
+#, c-format
+msgid "No entry selected in Sort Tab %d"
+msgstr "Kein Eintrag im Sort Tab %d ausgewählt"
+
+#: src/display.c:1095
+msgid "Remove entry of which sort tab from database?"
+msgstr "Markierten Eintrag aus welchem Filter-Tab entfernen?"
+
+#: src/display.c:1103
+msgid "Remove tracks in selected entry of which filter tab from the iPod?"
+msgstr ""
+"Stücke im ausgewählten Eintrag aus welchem Filter-Tab vom iPod löschen?"
+
+#: src/display.c:1125
+msgid "Remove tracks in selected entry of which filter tab from the harddisk?"
+msgstr ""
+"Stücke im ausgewählten Eintrag aus welchem Filter-Tab von der Festplatte "
+"löschen?"
+
+#: src/display.c:1155
+msgid "Remove tracks in selected entry of which filter tab from playlist?"
+msgstr ""
+"Stücke im ausgewählten Eintrag aus welchem Filter-Tab von der "
+"Wiedergabeliste löschen?"
+
+#: src/display.c:1174
 msgid "Currently no iPod database selected"
 msgstr "Keine iPod Datenbank ausgewählt"
 
-#: src/display.c:904 src/display.c:931
+#: src/display.c:1202 src/display.c:1229
 msgid "Update selected entry of which sort tab?"
 msgstr "Markierten Eintrag aus welchem Sort Tab aktualisieren?"
 
-#: src/display.c:950
+#: src/display.c:1248
 msgid "Sync dirs of selected entry in which sort tab?"
 msgstr "Verzeichnisse aus welchem Sort Tab abgleichen?"
 
-#: src/display.c:1004 src/display.c:1060 src/display.c:1115 src/display.c:1166
-#: src/display.c:1330 src/misc_playlist.c:274
-msgid "No playlist selected"
-msgstr "Keine Wiedergabeliste ausgewählt"
-
-#: src/display.c:1018
+#: src/display.c:1316
 msgid "Export selected entry of which sort tab?"
 msgstr "Markierten Eintrag aus welchem Sort Tab aktualisieren?"
 
-#: src/display.c:1024 src/display.c:1080 src/display.c:1132 src/display.c:1183
-#: src/display.c:1352
-#, c-format
-msgid "No entry selected in Sort Tab %d"
-msgstr "Kein Eintrag im Sort Tab %d ausgewählt"
-
-#: src/display.c:1047 src/display.c:1103 src/display.c:1154 src/display.c:1205
-msgid "No tracks selected"
-msgstr "Keine Stücke ausgewählt"
-
-#: src/display.c:1074
+#: src/display.c:1372
 msgid "Create playlist file from selected entry of which sort tab?"
 msgstr ""
 "Datei mit Wiedergabeliste für ausgewählten Eintrag aus welchem Sort Tab "
 "erstellen?"
 
-#: src/display.c:1126
+#: src/display.c:1424
 msgid "Play tracks in selected entry of which sort tab?"
 msgstr "Stücke aus welchem Sort Tab abspielen?"
 
-#: src/display.c:1177
+#: src/display.c:1475
 msgid "Enqueue tracks in selected entry of which sort tab?"
 msgstr "Stücke aus welchem Sort Tab zum abspielen vormerken?"
 
-#: src/display.c:1342
+#: src/display.c:1640
 msgid "Normalize tracks in selected entry of which sort tab?"
 msgstr "Stücke aus welchem Sort Tab normalisieren?"
 
-#: src/display_itdb.c:691 src/display_itdb.c:758
+#: src/display_itdb.c:319
+#, c-format
+msgid "Failed to set cover art: '%s'"
+msgstr "Konnte Artwork nicht setzen: '%s'"
+
+#. add podcast playlist
+#: src/display_itdb.c:843 src/display_itdb.c:871 src/display_itdb.c:975
+#: gtkpod.glade:13668
+msgid "Podcasts"
+msgstr "Podcasts"
+
+#: src/display_itdb.c:845 src/display_itdb.c:941
 msgid "Local"
 msgstr "Lokal"
 
-#: src/display_itdb.c:863
+#: src/display_itdb.c:1081
 #, c-format
 msgid "Increased playcount for '%s'"
 msgstr "Playcount für '%s' wurde erhöht"
 
 #. give a notice on the statusbar -- otherwise the user
 #. * will never know why the drag is not possible
-#: src/display_playlists.c:494 src/display_playlists.c:536
+#: src/display_playlists.c:498 src/display_playlists.c:540
 msgid "Error: drag from iPod not possible in offline mode."
 msgstr "Fehler: Ein Drag vom iPod ist im Offline-Modus nicht möglich."
 
-#: src/display_playlists.c:563 src/display_songs.c:283
+#: src/display_playlists.c:567 src/display_songs.c:285
 #, c-format
 msgid "Copied one track"
 msgid_plural "Copied %d tracks"
 msgstr[0] "Ein Stück kopiert"
 msgstr[1] "%d Stücke kopiert"
 
-#: src/display_playlists.c:852
+#: src/display_playlists.c:856
 msgid "Can't reorder sorted treeview."
 msgstr "Die Anzeige kann nicht umgeordnet werden."
 
-#: src/display_playlists.c:943
+#: src/display_playlists.c:947
 #, c-format
 msgid ""
 "This DND type (%d) is not (yet) supported. If you feel implementing this "
@@ -410,22 +477,18 @@
 "denken eine Unterstützung wäre sinnvoll, kontaktieren Sie bitten den Autor.\n"
 "\n"
 
-#: src/display_playlists.c:1811 gtkpod.glade:7815 gtkpod.glade:9389
+#: src/display_playlists.c:1830 gtkpod.glade:3997
 msgid "Playlists"
 msgstr "Wiedergabelisten"
 
-#: src/display_songs.c:278
+#: src/display_songs.c:280
 #, c-format
 msgid "Moved one track"
 msgid_plural "Moved %d tracks"
 msgstr[0] "Ein Stück verschoben"
 msgstr[1] "%d Stücke verschoben"
 
-#: src/display_songs.c:1119
-msgid "Local Database"
-msgstr "Lokale Datenbank"
-
-#: src/display_songs.c:1796
+#: src/display_songs.c:1669
 #, c-format
 msgid ""
 "Cannot unsort track view because of a bug in the GTK lib you are using (%d.%"
@@ -437,56 +500,64 @@
 "möglich, die Track-Ansicht in den unsortierten Zustand zurückzusetzen.\n"
 "\n"
 
-#: src/display_songs.c:1985
+#: src/display_songs.c:1922
+msgid "Rtng"
+msgstr "Bwrtng"
+
+#: src/display_songs.c:1925
 msgid "#"
 msgstr "#"
 
-#: src/display_songs.c:1988
+#: src/display_songs.c:1928
 msgid "CD"
 msgstr "CD"
 
-#: src/display_songs.c:1991
+#: src/display_songs.c:1931
 msgid "ID"
 msgstr "ID"
 
-#: src/display_songs.c:1999
+#: src/display_songs.c:1934
 msgid "Trnsfrd"
 msgstr "Ãœbertragen"
 
-#: src/display_songs.c:2004
+#: src/display_songs.c:1938
 msgid "Cmpl"
 msgstr "Smpl"
 
-#: src/display_songs.c:2012 src/display_spl.c:93
+#: src/display_songs.c:1942 src/display_spl.c:94
 msgid "Time"
 msgstr "Zeit"
 
-#: src/display_songs.c:2016
+#: src/display_songs.c:1945
 msgid "Plycnt"
 msgstr "Plycnt"
 
-#: src/display_songs.c:2019 gtkpod.glade:6251
+#: src/display_songs.c:1948 gtkpod.glade:2433
 msgid "Played"
 msgstr "Gespielt"
 
-#: src/display_songs.c:2022 gtkpod.glade:6274
+#: src/display_songs.c:1951 gtkpod.glade:2456
 msgid "Modified"
 msgstr "Modifiziert"
 
-#: src/display_songs.c:2025 src/display_sorttabs.c:3040 gtkpod.glade:6369
+#: src/display_songs.c:1954 src/display_sorttabs.c:3117 gtkpod.glade:2551
 msgid "Added"
 msgstr "Hinzugefügt"
 
-#: src/display_songs.c:2028 src/display_sorttabs.c:2785 src/display_spl.c:87
+#: src/display_songs.c:1957
+msgid "Released"
+msgstr "Veröffentlicht"
+
+#: src/display_songs.c:1960 src/display_sorttabs.c:2856 src/display_spl.c:88
 #: src/misc_conversion.c:85
 msgid "Year"
 msgstr "Jahr"
 
-#: src/display_songs.c:2031
+#: src/display_songs.c:1963
 msgid "Vol."
 msgstr "Ltst."
 
-#: src/display_songs.c:2034
+#: src/display_songs.c:1966
 msgid "Sndchk."
 msgstr "Sndchk."
 
@@ -504,295 +575,298 @@
 msgid "'Added' condition ignored because of error."
 msgstr "Die Bedingung 'Hinzugefügt' wurde aufgrund eines Fehlers ignoriert."
 
-#: src/display_sorttabs.c:1465 src/misc_conversion.c:60
+#: src/display_sorttabs.c:1492 src/misc_conversion.c:60
 msgid "All"
 msgstr "Alle"
 
-#: src/display_sorttabs.c:2770 src/display_spl.c:84 src/misc_conversion.c:62
-#: gtkpod.glade:2579 gtkpod.glade:13823
+#: src/display_sorttabs.c:1518
+msgid "Compilations"
+msgstr "Sampler"
+
+#: src/display_sorttabs.c:2841 src/display_spl.c:85 src/misc_conversion.c:62
+#: gtkpod.glade:8709
 msgid "Artist"
 msgstr "Künstler"
 
 #. 0
-#: src/display_sorttabs.c:2773 src/display_spl.c:83 src/misc_conversion.c:61
-#: gtkpod.glade:2630 gtkpod.glade:13867
+#: src/display_sorttabs.c:2844 src/display_spl.c:84 src/misc_conversion.c:61
+#: gtkpod.glade:8753
 msgid "Album"
 msgstr "Album"
 
-#: src/display_sorttabs.c:2776 src/display_spl.c:88 src/misc_conversion.c:64
-#: gtkpod.glade:2598 gtkpod.glade:13845
+#: src/display_sorttabs.c:2847 src/display_spl.c:89 src/misc_conversion.c:64
+#: gtkpod.glade:8731
 msgid "Genre"
 msgstr "Genre"
 
-#: src/display_sorttabs.c:2779
+#: src/display_sorttabs.c:2850
 msgid "Comp."
 msgstr "Komp."
 
-#: src/display_sorttabs.c:2782 src/display_spl.c:82 src/misc_conversion.c:63
-#: gtkpod.glade:2681 gtkpod.glade:13911
+#: src/display_sorttabs.c:2853 src/display_spl.c:83 src/misc_conversion.c:63
+#: gtkpod.glade:8797
 msgid "Title"
 msgstr "Titel"
 
-#: src/display_sorttabs.c:2788
+#: src/display_sorttabs.c:2859
 msgid "Special"
 msgstr "Spezial"
 
-#: src/display_sorttabs.c:3038
+#: src/display_sorttabs.c:3115
 msgid "Last Played"
 msgstr "Zuletzt Gespielt"
 
-#: src/display_sorttabs.c:3039
+#: src/display_sorttabs.c:3116
 msgid "Last Modified"
 msgstr "Zuletzt Modifiziert"
 
-#: src/display_spl.c:63
+#: src/display_spl.c:64
 msgid "days"
 msgstr "Tage"
 
-#: src/display_spl.c:64
+#: src/display_spl.c:65
 msgid "weeks"
 msgstr "Wochen"
 
-#: src/display_spl.c:65
+#: src/display_spl.c:66
 msgid "months"
 msgstr "Monate"
 
-#: src/display_spl.c:72
+#: src/display_spl.c:73
 msgid "kbps"
 msgstr "kbps"
 
-#: src/display_spl.c:73
+#: src/display_spl.c:74
 msgid "Hz"
 msgstr "Hz"
 
-#: src/display_spl.c:74 src/display_spl.c:159 src/info.c:725
+#: src/display_spl.c:75 src/display_spl.c:160 src/info.c:732
 msgid "MB"
 msgstr "MB"
 
-#: src/display_spl.c:75
+#: src/display_spl.c:76
 msgid "secs"
 msgstr "Sek."
 
-#: src/display_spl.c:85 src/misc_conversion.c:75
+#: src/display_spl.c:86 src/misc_conversion.c:75
 msgid "Bitrate"
 msgstr "Bitrate"
 
 #. 15
-#: src/display_spl.c:86 src/misc_conversion.c:76
+#: src/display_spl.c:87 src/misc_conversion.c:76
 msgid "Samplerate"
 msgstr "Samplerate"
 
-#: src/display_spl.c:89 src/misc_conversion.c:67
+#: src/display_spl.c:90
 msgid "Kind"
 msgstr "Art"
 
-#: src/display_spl.c:90 src/misc_conversion.c:82
+#: src/display_spl.c:91 src/misc_conversion.c:82
 msgid "Date modified"
 msgstr "Modifiziert"
 
-#: src/display_spl.c:91
+#: src/display_spl.c:92
 msgid "Track number"
 msgstr "Tracknummer"
 
-#: src/display_spl.c:92
+#: src/display_spl.c:93
 msgid "Size"
 msgstr "Dateigröße"
 
-#: src/display_spl.c:94 src/misc_conversion.c:65
+#: src/display_spl.c:95 src/misc_conversion.c:65
 msgid "Comment"
 msgstr "Kommentar"
 
-#: src/display_spl.c:95 src/misc_conversion.c:80
+#: src/display_spl.c:96 src/misc_conversion.c:80
 msgid "Date added"
 msgstr "Hinzugefügt"
 
 #. 5
-#: src/display_spl.c:96 src/misc_conversion.c:66 gtkpod.glade:2649
-#: gtkpod.glade:13889
+#: src/display_spl.c:97 src/misc_conversion.c:66 gtkpod.glade:8775
 msgid "Composer"
 msgstr "Komponist"
 
-#: src/display_spl.c:97 src/misc_conversion.c:78 gtkpod.glade:6205
+#: src/display_spl.c:98 src/misc_conversion.c:78 gtkpod.glade:2387
 msgid "Playcount"
 msgstr "Playcount"
 
-#: src/display_spl.c:98
+#: src/display_spl.c:99
 msgid "Last played"
 msgstr "Zuletzt Gespielt"
 
-#: src/display_spl.c:99
+#: src/display_spl.c:100
 msgid "Disc number"
 msgstr "CD-Nummer"
 
-#: src/display_spl.c:100 src/misc_conversion.c:79 gtkpod.glade:6228
+#: src/display_spl.c:101 src/misc_conversion.c:79 gtkpod.glade:2410
 msgid "Rating"
-msgstr "Bwrtng"
+msgstr "Bewertung"
 
-#: src/display_spl.c:101 src/misc_conversion.c:88
+#: src/display_spl.c:102 src/misc_conversion.c:88
 msgid "Compilation"
 msgstr "Sampler"
 
-#: src/display_spl.c:102 src/misc_conversion.c:77
+#: src/display_spl.c:103 src/misc_conversion.c:77
 msgid "BPM"
 msgstr "BPM"
 
-#: src/display_spl.c:103 src/misc_conversion.c:87
+#: src/display_spl.c:104 src/misc_conversion.c:87
 msgid "Grouping"
 msgstr "Gruppierung"
 
-#: src/display_spl.c:104 src/itdb_itunesdb.c:1146 gtkpod.glade:1314
+#: src/display_spl.c:105 gtkpod.glade:1443
 msgid "Playlist"
 msgstr "Wiedergabeliste"
 
-#: src/display_spl.c:110
+#: src/display_spl.c:111
 msgid "contains"
 msgstr "enthält"
 
-#: src/display_spl.c:111
+#: src/display_spl.c:112
 msgid "does not contain"
 msgstr "enthält nicht"
 
-#: src/display_spl.c:112 src/display_spl.c:121 src/display_spl.c:131
-#: src/display_spl.c:150
+#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
+#: src/display_spl.c:151
 msgid "is"
 msgstr "ist"
 
-#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
-#: src/display_spl.c:151
+#: src/display_spl.c:114 src/display_spl.c:123 src/display_spl.c:133
+#: src/display_spl.c:152
 msgid "is not"
 msgstr "ist nicht"
 
-#: src/display_spl.c:114
+#: src/display_spl.c:115
 msgid "starts with"
 msgstr "beginnt mit"
 
-#: src/display_spl.c:115
+#: src/display_spl.c:116
 msgid "ends with"
 msgstr "endet mit"
 
-#: src/display_spl.c:123
+#: src/display_spl.c:124
 msgid "is greater than"
 msgstr "ist größer als"
 
-#: src/display_spl.c:124
+#: src/display_spl.c:125
 msgid "is less than"
 msgstr "ist kleiner als"
 
-#: src/display_spl.c:125 src/display_spl.c:137
+#: src/display_spl.c:126 src/display_spl.c:138
 msgid "is in the range"
 msgstr "ist innerhalb"
 
-#: src/display_spl.c:133
+#: src/display_spl.c:134
 msgid "is after"
 msgstr "ist nach dem"
 
-#: src/display_spl.c:134
+#: src/display_spl.c:135
 msgid "is before"
 msgstr "ist vor dem"
 
-#: src/display_spl.c:135
+#: src/display_spl.c:136
 msgid "in the last"
 msgstr "in den letzten"
 
-#: src/display_spl.c:136
+#: src/display_spl.c:137
 msgid "not in the last"
 msgstr "nicht in den letzten"
 
-#: src/display_spl.c:143
+#: src/display_spl.c:144
 msgid "is set"
 msgstr "ist gesetzt"
 
-#: src/display_spl.c:144
+#: src/display_spl.c:145
 msgid "is not set"
 msgstr "ist nicht gesetzt"
 
-#: src/display_spl.c:158
+#: src/display_spl.c:159
 msgid "minutes"
 msgstr "Minuten"
 
-#: src/display_spl.c:160
+#: src/display_spl.c:161
 msgid "tracks"
 msgstr "Stücke"
 
-#: src/display_spl.c:161
+#: src/display_spl.c:162
 msgid "hours"
 msgstr "Stunden"
 
-#: src/display_spl.c:162 src/info.c:725
+#: src/display_spl.c:163 src/info.c:732
 msgid "GB"
 msgstr "GB"
 
-#: src/display_spl.c:169
+#: src/display_spl.c:170
 msgid "random order"
 msgstr "zufällige Reihenfolge"
 
-#: src/display_spl.c:170
+#: src/display_spl.c:171
 msgid "title"
 msgstr "Titel"
 
-#: src/display_spl.c:171
+#: src/display_spl.c:172
 msgid "album"
 msgstr "Album"
 
-#: src/display_spl.c:172
+#: src/display_spl.c:173
 msgid "artist"
 msgstr "Künstler"
 
-#: src/display_spl.c:173
+#: src/display_spl.c:174
 msgid "genre"
 msgstr "Kategorie"
 
-#: src/display_spl.c:174
+#: src/display_spl.c:175
 msgid "most recently added"
 msgstr "zuletzt hinzugefügt"
 
-#: src/display_spl.c:175
+#: src/display_spl.c:176
 msgid "least recently added"
 msgstr "zuerst hinzugefügt"
 
-#: src/display_spl.c:176
+#: src/display_spl.c:177
 msgid "most often played"
 msgstr "am häufigsten gespielt"
 
-#: src/display_spl.c:177
+#: src/display_spl.c:178
 msgid "least often played"
 msgstr "am wenigsten gespielt"
 
-#: src/display_spl.c:178
+#: src/display_spl.c:179
 msgid "most recently played"
 msgstr "zuletzt gespielt"
 
-#: src/display_spl.c:179
+#: src/display_spl.c:180
 msgid "least recently played"
 msgstr "am längsten nicht mehr gespielt"
 
-#: src/display_spl.c:180
+#: src/display_spl.c:181
 msgid "highest rating"
 msgstr "höchste Bewertung"
 
-#: src/display_spl.c:181
+#: src/display_spl.c:182
 msgid "lowest rating"
 msgstr "niedrigste Bewertung"
 
-#: src/display_spl.c:995 src/display_spl.c:1010
+#: src/display_spl.c:1049 src/display_spl.c:1064
 msgid "to"
 msgstr "bis"
 
-#: src/display_spl.c:1220
+#: src/display_spl.c:1276
 msgid "-"
 msgstr "-"
 
-#: src/display_spl.c:1227
+#: src/display_spl.c:1286
 msgid "+"
 msgstr "+"
 
-#: src/display_spl.c:1433 src/misc_playlist.c:67 src/misc_playlist.c:69
+#: src/display_spl.c:1503 src/misc_playlist.c:67 src/misc_playlist.c:69
 #: src/misc_playlist.c:94 src/misc_playlist.c:96 src/misc_playlist.c:415
 #: src/misc_playlist.c:417
 msgid "New Playlist"
 msgstr "Neue Wiedergabeliste"
 
-#: src/file.c:129
+#: src/file.c:195
 #, c-format
 msgid ""
 "'%s' is a directory, not a playlist file.\n"
@@ -801,14 +875,14 @@
 "'%s' ist ein Verzeichnis und keine Wiedergabelistendatei.\n"
 "\n"
 
-#: src/file.c:151
+#: src/file.c:222
 #, c-format
 msgid ""
 "'%s' is a not a known playlist file.\n"
 "\n"
 msgstr "'%s' ist keine bekannte Wiedergabelistendatei.\n"
 
-#: src/file.c:168
+#: src/file.c:239
 #, c-format
 msgid ""
 "Cannot open '%s' for reading.\n"
@@ -817,44 +891,44 @@
 "Datei '%s' konnte nicht zum Lesen geöffnet werden.\n"
 "\n"
 
-#: src/file.c:237
+#: src/file.c:322
 #, c-format
 msgid "Skipping '%s' because it is a directory.\n"
 msgstr "Ãœberspringe '%s' da es sich um ein Verzeichnis handelt.\n"
 
-#: src/file.c:242
+#: src/file.c:327
 #, c-format
 msgid "Skipping '%s' to avoid adding playlist file recursively\n"
 msgstr ""
 "Ãœberspringe '%s' um eine Endloseschleife zu vermeiden (Playliste kann sich "
 "nicht selbst indizieren).\n"
 
-#: src/file.c:497
+#: src/file.c:582
 #, c-format
 msgid "Unknown token '%s' in template '%s'\n"
 msgstr "Unbekanntes Token '%s' in der Schablone '%s'\n"
 
-#: src/file.c:715
+#: src/file.c:815
 #, c-format
 msgid "Local filename not valid (%s)"
 msgstr "Lokaler Dateiname ist nicht gültig (%s)"
 
-#: src/file.c:768
+#: src/file.c:868
 #, c-format
 msgid "No information found for user '%s' in '%s'"
 msgstr "Keine Informationen für den Benutzer '%s' gefunden in '%s'"
 
-#: src/file.c:775
+#: src/file.c:875
 #, c-format
 msgid "mserv data file (%s) not available for track (%s)"
 msgstr "mserv Datei (%s) nicht verfügbar für Track (%s)"
 
-#: src/file.c:783
+#: src/file.c:883
 #, c-format
 msgid "Track (%s) not in mserv music root directory (%s)"
 msgstr "Track (%s) ist nicht im mserv Root-Verzeichnis (%s)"
 
-#: src/file.c:816
+#: src/file.c:988
 #, c-format
 msgid ""
 "The following track could not be processed (file does not exist): '%s'\n"
@@ -862,14 +936,14 @@
 "Das folgende Stück konnte nicht bearbeitet werden (Datei existiert nicht): '%"
 "s'\n"
 
-#: src/file.c:842
+#: src/file.c:1037
 #, c-format
 msgid "The following track could not be processed (filetype unknown): '%s'\n"
 msgstr ""
 "Das folgende Stück konnte nicht bearbeitet werden (Dateityp unbekannt): '%"
 "s'\n"
 
-#: src/file.c:909
+#: src/file.c:1119
 #, c-format
 msgid ""
 "The following track could not be processed (filetype is known but analysis "
@@ -878,42 +952,42 @@
 "Das folgende Stück konnte nicht bearbeitet werden (Dateityp ist bekannt aber "
 "die Analyse schlug fehl): '%s'\n"
 
-#: src/file.c:935 src/file.c:978
+#: src/file.c:1148 src/file.c:1203
 msgid "Nothing to update"
 msgstr "Nichts zum Aktualisieren"
 
-#: src/file.c:944
+#: src/file.c:1168
 #, c-format
 msgid "Updating %s"
 msgstr "Aktualisiere '%s'"
 
-#: src/file.c:959
+#: src/file.c:1184
 msgid "Updated selected tracks with info from file."
 msgstr ""
 "Die ausgewählten Stücke wurden mit Informationen aus der Datei aktualisiert."
 
-#: src/file.c:991
+#: src/file.c:1216
 #, c-format
 msgid "Retrieving mserv data %s"
 msgstr "Hole mserv Daten %s"
 
 #. no path available
-#: src/file.c:997 src/file.c:1675
+#: src/file.c:1222 src/file.c:1900
 msgid "no filename available"
 msgstr "Es steht kein Dateiname zur Verfügung"
 
-#: src/file.c:1002
+#: src/file.c:1227
 msgid "Updated selected tracks with data from mserv."
 msgstr ""
 "Die ausgewählten Stücke wurden mit Informationen aus der mserv-Datenbank "
 "aktualisiert."
 
-#: src/file.c:1069
+#: src/file.c:1294
 #, c-format
 msgid "Syncing directory '%s'"
 msgstr "Verzeichnis '%s' wird abgeglichen"
 
-#: src/file.c:1094
+#: src/file.c:1319
 msgid "Syncing completed. No files deleted."
 msgstr "Abgleich beendet. Keine Dateien gelöscht."
 
@@ -922,29 +996,29 @@
 #. title
 #. label
 #. scrolled text
-#: src/file.c:1207
+#: src/file.c:1432
 msgid "Never delete any files when syncing"
 msgstr "Beim Abgleich nie Dateien löschen"
 
-#: src/file.c:1236
+#: src/file.c:1461
 msgid "Syncing completed."
 msgstr "Abgleich beendet."
 
-#: src/file.c:1256
+#: src/file.c:1481
 msgid "Syncing aborted"
 msgstr "Abgleich abgebrochen."
 
-#: src/file.c:1294
+#: src/file.c:1519
 msgid "No tracks in selection"
 msgstr "Keine Stücke ausgewählt"
 
-#: src/file.c:1344
+#: src/file.c:1569
 #, c-format
 msgid "'%s' is not a directory. Ignored.\n"
 msgstr "'%s' ist kein Verzeichnis und wird ignoriert.\n"
 
 #. no directory names available
-#: src/file.c:1374
+#: src/file.c:1599
 msgid ""
 "No directory names were stored. Make sure that you enable 'Write extended "
 "information' in the Export section of the preferences at the time of "
@@ -962,13 +1036,13 @@
 "Option 'Mehrfaches Einlesen von Stücken verhindern' in der Import-Sektion "
 "und fügen anschließend die gewünschten Verzeichnisse erneut hinzu.\n"
 
-#: src/file.c:1378
+#: src/file.c:1603
 msgid "No valid directories have been found. Sync aborted.\n"
 msgstr ""
 "Es wurden keine gültigen Verzeichnisse gefunden. Abgleich wurde "
 "abgebrochen.\n"
 
-#: src/file.c:1387
+#: src/file.c:1612
 msgid ""
 "The (former) contents of the following directories will be removed from the "
 "database:\n"
@@ -978,7 +1052,7 @@
 "entfernt:\n"
 "\n"
 
-#: src/file.c:1395
+#: src/file.c:1620
 msgid ""
 "The following directories will be synchronized:\n"
 "\n"
@@ -988,16 +1062,16 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1406
+#: src/file.c:1631
 msgid "Synchronize directories"
 msgstr "Verzeichnisse abgleichen"
 
 #. title
-#: src/file.c:1407
+#: src/file.c:1632
 msgid "OK to synchronize the following directories?"
 msgstr "Sollen die folgenden Verzeichnisse abgeglichen werden?"
 
-#: src/file.c:1445
+#: src/file.c:1670
 #, c-format
 msgid "The following track could not be updated"
 msgid_plural "The following %d tracks could not be updated"
@@ -1006,11 +1080,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1451
+#: src/file.c:1676
 msgid "Failed Track Update"
 msgstr "Aktualisierung fehlgeschlagen"
 
-#: src/file.c:1509
+#: src/file.c:1734
 #, c-format
 msgid "The following track has been updated"
 msgid_plural "The following %d tracks have been updated"
@@ -1019,11 +1093,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1515
+#: src/file.c:1740
 msgid "Successful Track Update"
 msgstr "Aktualisierung erfolgreich"
 
-#: src/file.c:1574
+#: src/file.c:1799
 #, c-format
 msgid "No mserv information could be retrieved for the following track"
 msgid_plural ""
@@ -1035,52 +1109,66 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1580
+#: src/file.c:1805
 msgid "mserv data retrieval problem"
 msgstr "Problem beim Nachschlagen der mserv Daten"
 
-#: src/file.c:1721
+#: src/file.c:1946
 msgid "file not found"
 msgstr "Datei nicht gefunden"
 
-#: src/file.c:1725
+#: src/file.c:1950
 msgid "format not supported"
 msgstr "Format wird nicht unterstützt"
 
-#: src/file.c:1799
+#: src/file.c:2031
 #, c-format
 msgid "Processing '%s'..."
 msgstr "Bearbeite '%s'..."
 
-#: src/file.c:1992 src/file.c:2006
+#: src/file.c:2135 src/misc_track.c:1169 src/misc_track.c:1225
 #, c-format
+msgid ""
+"Podcast already present: '%s'\n"
+"\n"
+msgstr "Podcast ist bereits vorhanden: '%s'\n"
+
+#: src/file.c:2196
+#, c-format
+msgid ""
+"Writing to video files not yet supported (%s).\n"
+"\n"
+msgstr "Schreiben in Videodateien wird noch nicht unterstützt (%s).\n"
+
+#: src/file.c:2250 src/file.c:2264
+#, c-format
 msgid "Couldn't change tags of file: %s\n"
 msgstr "Konnte Tags der Datei '%s' nicht ändern\n"
 
-#: src/file.c:2291
+#: src/file.c:2548
 #, c-format
 msgid "Could not open '%s' for reading and writing.\n"
 msgstr "Datei '%s' konnte nicht zum Lesen und Schreiben geöffnet werden.\n"
 
-#: src/file.c:2298
+#: src/file.c:2555
 #, c-format
 msgid "Could not obtain lock on '%s'.\n"
 msgstr "Lock auf '%s' konnte nicht erstellt werden.\n"
 
 #. error!
-#: src/file.c:2315 src/file.c:2324 src/file.c:2335 src/file.c:2345
+#: src/file.c:2572 src/file.c:2581 src/file.c:2592 src/file.c:2602
 #, c-format
 msgid "Malformed line in '%s': %s\n"
 msgstr "Ungültige Zeile in '%s': %s\n"
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:2374
+#: src/file.c:2631
 msgid "Remove offline playcounts?"
 msgstr "Sollen Offline-Playcounts gelöscht werden?"
 
 #. title
-#: src/file.c:2375
+#: src/file.c:2632
 msgid ""
 "Some tracks played offline could not be found in the iTunesDB. Press 'OK' to "
 "remove them from the offline playcount file, 'Cancel' to keep them."
@@ -1089,105 +1177,106 @@
 "werden. Wählen Sie 'OK', um diese aus der Playcount-Datei zu entfernen, "
 "'Abbrechen' um sie beizubehalten."
 
-#: src/file.c:2392
+#: src/file.c:2649
 #, c-format
 msgid "Error writing to '%s'.\n"
 msgstr "Fehler beim Schreiben in die Datei '%s'.\n"
 
-#: src/file.c:2431
-msgid "Normalization failed: file type not supported.\n"
-msgstr "Normalisierung fehlgeschlagen: Filetyp nicht unterstützt.\n"
+#: src/file.c:2698
+#, c-format
+msgid ""
+"Normalization failed: file type not supported (%s).\n"
+"\n"
+msgstr "Normalisierung fehlgeschlagen: Dateityp nicht unterstützt (%s).\n"
 
-#: src/file.c:2442
-msgid "Normalization failed: file not available.\n"
-msgstr "Normalisierung fehlgeschlagen: Datei ist nicht verfügbar.\n"
-
-#: src/file_export.c:106
+#: src/file.c:2713
 #, c-format
-msgid "Error creating %s: %s\n"
-msgstr "Fehler beim Erstellen von '%s': %s\n"
+msgid ""
+"Normalization failed: file not available (%s).\n"
+"\n"
+msgstr "Normalisierung fehlgeschlagen: Datei ist nicht verfügbar (%s).\n"
 
-#: src/file_export.c:202
+#: src/file_export.c:181
 #, c-format
 msgid "Skipping existing file with same length: '%s'\n"
 msgstr "Überspringe existierende Datei mit gleicher Dateilänge: '%s'\n"
 
-#: src/file_export.c:210
+#: src/file_export.c:189
 #, c-format
 msgid "Overwriting existing file: '%s'\n"
 msgstr "Ãœberschreibe die vorhandene Datei: '%s'\n"
 
-#: src/file_export.c:227
+#: src/file_export.c:206
 #, c-format
 msgid "Error copying '%s' to '%s': Permission Error (%s)\n"
 msgstr "Fehler beim Kopieren von '%s' nach '%s': Zugriffsfehler (%s)\n"
 
-#: src/file_export.c:229
+#: src/file_export.c:208
 #, c-format
 msgid "Error copying '%s' to '%s' (%s)\n"
 msgstr "Fehler beim Kopieren von '%s' nach '%s' (%s)\n"
 
-#: src/file_export.c:237
+#: src/file_export.c:216
 #, c-format
 msgid "Unable to open '%s' for reading\n"
 msgstr "Kann '%s' nicht zum Lesen öffnen.\n"
 
-#: src/file_export.c:344
+#: src/file_export.c:323
 #, c-format
 msgid "Could find file for '%s' on the iPod\n"
 msgstr "Konnte Datei für '%s' auf dem iPod nicht finden\n"
 
 #. create the dialog window
-#: src/file_export.c:411 src/file_itunesdb.c:990 src/tools.c:148
+#: src/file_export.c:390 src/file_itunesdb.c:1060 src/tools.c:148
 msgid "Information"
 msgstr "Information"
 
-#: src/file_export.c:422 src/tools.c:160
+#: src/file_export.c:401 src/tools.c:160
 msgid "Press button to abort."
 msgstr "Zum Abbrechen bitte anklicken."
 
-#: src/file_export.c:435
+#: src/file_export.c:414
 msgid "copying..."
 msgstr "kopiere..."
 
-#: src/file_export.c:489
+#: src/file_export.c:468
 #, c-format
 msgid "Failed to write '%s-%s'\n"
 msgstr "Konnte '%s-%s' nicht schreiben\n"
 
-#: src/file_export.c:497
+#: src/file_export.c:476
 #, c-format
 msgid "Copied %d of %d track."
 msgid_plural "Copied %d of %d tracks."
 msgstr[0] "%d von insgesamt %d Stück kopiert."
 msgstr[1] "%d von insgesamt %d Stücken kopiert."
 
-#: src/file_export.c:515 src/file_itunesdb.c:1252 src/tools.c:307
+#: src/file_export.c:494 src/file_itunesdb.c:1324 src/tools.c:307
 #, c-format
 msgid "%d%% (%d:%02d:%02d left)"
 msgstr "%d%% (noch %d:%02d:%02d)"
 
-#: src/file_export.c:524
+#: src/file_export.c:503
 msgid "Some tracks were not copied."
 msgstr "Einige Stücke wurden nicht kopiert."
 
-#: src/file_export.c:581
+#: src/file_export.c:560
 msgid "Export from iPod database not possible in offline mode."
 msgstr "Ein Export vom iPod ist im Offline-Modus nicht möglich."
 
-#: src/file_export.c:589
+#: src/file_export.c:568
 msgid "Select Export Destination Directory"
 msgstr "Wählen Sie das Zielverzeichnis für den Export aus"
 
-#: src/file_export.c:738
+#: src/file_export.c:717
 msgid "Drag from iPod database not possible in offline mode."
 msgstr "Ein Drag vom iPod ist im Offline-Modus nicht möglich."
 
-#: src/file_export.c:772
+#: src/file_export.c:751
 msgid "The following tracks have to be copied to your harddisk"
 msgstr "Die folgende Stücke müssen auf Ihre Festplatte kopiert werden"
 
-#: src/file_export.c:817
+#: src/file_export.c:796
 msgid ""
 "Some tracks were not copied to your harddisk. Only the copied tracks will be "
 "included in the current drag and drop operation.\n"
@@ -1197,7 +1286,7 @@
 "Stücke werden in der momentanen Drag-And-Drop-Aktion beachtet werden.\n"
 "\n"
 
-#: src/file_export.c:1014
+#: src/file_export.c:992
 #, c-format
 msgid ""
 "No valid filename for: %s\n"
@@ -1206,14 +1295,14 @@
 "Kein gültiger Dateiname für %s\n"
 "\n"
 
-#: src/file_export.c:1030
+#: src/file_export.c:1008
 #, c-format
 msgid "Created playlist with one track."
 msgid_plural "Created playlist with %d tracks."
 msgstr[0] "Wiedergabeliste mit einem Stück erstellt."
 msgstr[1] "Wiedergabeliste mit %d Stücken erstellt."
 
-#: src/file_export.c:1037
+#: src/file_export.c:1015
 #, c-format
 msgid ""
 "Could not open '%s' for writing (%s).\n"
@@ -1222,22 +1311,27 @@
 "Datei '%s' konnte nicht zum Schreiben geöffnet werden. (%s)\n"
 "\n"
 
-#: src/file_itunesdb.c:224
+#: src/file_itunesdb.c:114
+#, c-format
+msgid "Matching MD5 checksum for file %d/%d"
+msgstr "Suche passende MD5 Prüfsumme für Datei %d/%d"
+
+#: src/file_itunesdb.c:242
 msgid "Could not open \"iTunesDB.ext\" for reading extended info.\n"
 msgstr ""
 "Datei 'iTunesDB.ext' mit den erweiterten Infos konnte nicht zum Lesen "
 "geöffnet werden.\n"
 
-#: src/file_itunesdb.c:231
+#: src/file_itunesdb.c:249
 msgid "Could not create hash value from itunesdb\n"
 msgstr "Konnte keine Checksumme für die iTunesDB bilden\n"
 
-#: src/file_itunesdb.c:245
+#: src/file_itunesdb.c:263
 #, c-format
 msgid "Error while reading extended info: %s\n"
 msgstr "Fehler beim Lesen der erweiterten Informationen: '%s'\n"
 
-#: src/file_itunesdb.c:262
+#: src/file_itunesdb.c:280
 #, c-format
 msgid ""
 "iTunesDB '%s' does not match checksum in extended information file '%s'\n"
@@ -1251,7 +1345,7 @@
 "Zeit in Anspruch nehmen.\n"
 "\n"
 
-#: src/file_itunesdb.c:275
+#: src/file_itunesdb.c:292
 #, c-format
 msgid ""
 "%s:\n"
@@ -1260,7 +1354,7 @@
 "%s:\n"
 "'itunesdb_hash=' erwartet, aber '%s' gefunden\n"
 
-#: src/file_itunesdb.c:335
+#: src/file_itunesdb.c:352
 #, c-format
 msgid ""
 "%s:\n"
@@ -1269,7 +1363,7 @@
 "%s:\n"
 "Formatfehler: %s\n"
 
-#: src/file_itunesdb.c:386
+#: src/file_itunesdb.c:407
 msgid ""
 "No MD5 checksums on individual tracks are available.\n"
 "\n"
@@ -1285,7 +1379,7 @@
 "iPod außer mit gtkpod noch mit anderen Programmen zu verwenden.\n"
 "\n"
 
-#: src/file_itunesdb.c:439
+#: src/file_itunesdb.c:462
 msgid ""
 "Extended info will not be used. If you have non-transferred tracks,\n"
 "these will be lost.\n"
@@ -1293,15 +1387,15 @@
 "Die erweiterten Informationen werden nicht verwendet. Nicht auf den iPod "
 "übertragene Stücke gehen verloren.\n"
 
-#: src/file_itunesdb.c:447
+#: src/file_itunesdb.c:470
 msgid "Offline iPod database successfully imported"
 msgstr "Die Offline-iPod-Datenbank wurde erfolgreich eingelesen"
 
-#: src/file_itunesdb.c:450
+#: src/file_itunesdb.c:473
 msgid "Local database successfully imported"
 msgstr "Lokale Datenbank wurde erfolgreich eingelesen"
 
-#: src/file_itunesdb.c:458
+#: src/file_itunesdb.c:481
 #, c-format
 msgid ""
 "Offline iPod database import failed: '%s'\n"
@@ -1310,7 +1404,7 @@
 "Das Einlesen der Offline-iPod-Datenbank schlug fehl: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:462
+#: src/file_itunesdb.c:485
 #, c-format
 msgid ""
 "Local database import failed: '%s'\n"
@@ -1319,7 +1413,7 @@
 "Das Einlesen der lokalen Datenbank schlug fehl: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:469
+#: src/file_itunesdb.c:492
 msgid ""
 "Offline iPod database import failed: \n"
 "\n"
@@ -1327,7 +1421,7 @@
 "Das Einlesen der Offline-iPod-Datenbank schlug fehl:\n"
 "\n"
 
-#: src/file_itunesdb.c:472
+#: src/file_itunesdb.c:495
 msgid ""
 "Local database import failed: \n"
 "\n"
@@ -1335,7 +1429,7 @@
 "Das Einlesen der lokalen Datenbank schlug fehl:\n"
 "\n"
 
-#: src/file_itunesdb.c:479 src/file_itunesdb.c:527
+#: src/file_itunesdb.c:502 src/file_itunesdb.c:550
 #, c-format
 msgid ""
 "'%s' does not exist. Import aborted.\n"
@@ -1344,15 +1438,15 @@
 "'%s' existiert nicht. Einlesen abgebrochen.\n"
 "\n"
 
-#: src/file_itunesdb.c:498
+#: src/file_itunesdb.c:521
 msgid "Extended info will not be used.\n"
 msgstr "Erweiterte Informationen werden nicht verwendet.\n"
 
-#: src/file_itunesdb.c:505
+#: src/file_itunesdb.c:528
 msgid "iPod Database Successfully Imported"
 msgstr "iPod Datenbank wurde erfolgreich eingelesen"
 
-#: src/file_itunesdb.c:512
+#: src/file_itunesdb.c:535
 #, c-format
 msgid ""
 "iPod Database Import Failed: '%s'\n"
@@ -1361,7 +1455,7 @@
 "Das Einlesen der iPod Datenbank schlug fehl: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:518
+#: src/file_itunesdb.c:541
 msgid ""
 "iPod Database Import Failed.\n"
 "\n"
@@ -1369,18 +1463,18 @@
 "Das Einlesen der iPod Datenbank schlug fehl\n"
 "\n"
 
-#: src/file_itunesdb.c:822
+#: src/file_itunesdb.c:890
 #, c-format
 msgid "Could not open \"%s\" for writing extended info.\n"
 msgstr ""
 "Datei '%s' konnte nicht zum Schreiben der erweiterten Infos geöffnet "
 "werden.\n"
 
-#: src/file_itunesdb.c:837
+#: src/file_itunesdb.c:905
 msgid "Aborted writing of extended info.\n"
 msgstr "Schreiben der erweiterten Infos abgebrochen.\n"
 
-#: src/file_itunesdb.c:1001
+#: src/file_itunesdb.c:1071
 msgid ""
 "Press button to abort.\n"
 "Export can be continued at a later time."
@@ -1388,27 +1482,27 @@
 "Zum Abbrechen bitte anklicken.\n"
 "Der Export kann zu einem späteren Zeitpunkt fortgesetzt werden."
 
-#: src/file_itunesdb.c:1070
+#: src/file_itunesdb.c:1140
 msgid "deleting..."
 msgstr "Entferne gelöschte Tracks..."
 
-#: src/file_itunesdb.c:1173
+#: src/file_itunesdb.c:1244
 msgid "preparing to copy..."
 msgstr "Vorbereitung zum Kopieren..."
 
-#: src/file_itunesdb.c:1235
+#: src/file_itunesdb.c:1307
 #, c-format
 msgid "Copied %d of %d new track."
 msgid_plural "Copied %d of %d new tracks."
 msgstr[0] "%d von insgesamt %d Stück kopiert."
 msgstr[1] "%d von insgesamt %d Stücken kopiert."
 
-#: src/file_itunesdb.c:1262
+#: src/file_itunesdb.c:1334
 msgid "Some tracks were not written to iPod. Export aborted!"
 msgstr ""
 "Einige Stücke wurden nicht auf den iPod übertragen. Export abgebrochen!"
 
-#: src/file_itunesdb.c:1315
+#: src/file_itunesdb.c:1387
 #, c-format
 msgid ""
 "You did not import the existing iTunesDB ('%s'). This is most likely "
@@ -1426,7 +1520,7 @@
 "'Abbrechen', um jetzt nicht zu speichern. Wenn Sie den Vorgang abbrechen, "
 "können Sie die existierende Datenbank einlesen und dann erneut abgleichen.\n"
 
-#: src/file_itunesdb.c:1345
+#: src/file_itunesdb.c:1417
 msgid ""
 "iPod directory structure must be present before synching to the iPod can be "
 "performed.\n"
@@ -1434,25 +1528,25 @@
 "Die iPod Verzeichnisstruktur muß vorhanden sein bevor Daten auf den iPod "
 "kopiert werden können.\n"
 
-#: src/file_itunesdb.c:1354
+#: src/file_itunesdb.c:1426
 msgid "Some tracks could not be deleted from the iPod. Export aborted!"
 msgstr ""
 "Einige Dateien konnten nicht vom iPod gelöscht werden. Export abgebrochen!"
 
-#: src/file_itunesdb.c:1370
+#: src/file_itunesdb.c:1442
 msgid "Now writing iTunesDB. Please wait..."
 msgstr "Schreibe iTunesDB. Bitte warten..."
 
-#: src/file_itunesdb.c:1414
+#: src/file_itunesdb.c:1488
 #, c-format
 msgid "Extended information file not deleted: '%s'"
 msgstr "Die Datei mit den erweiterten Informationen wurde nicht gefunden: '%s'"
 
-#: src/file_itunesdb.c:1500
+#: src/file_itunesdb.c:1574
 msgid "iPod Database Saved"
 msgstr "iPod Datenbank gespeichert"
 
-#: src/file_itunesdb.c:1548
+#: src/file_itunesdb.c:1633
 msgid "Syncing contacts, calendar and notes..."
 msgstr "Gleiche Kontakte, Kalender und Notizen ab..."
 
@@ -1474,15 +1568,20 @@
 msgid "Add Playlists"
 msgstr "Wiedergabeliste hinzufügen"
 
-#: src/fileselection.c:438
+#. Create the file chooser, and handle the response
+#: src/fileselection.c:270
+msgid "Set Cover"
+msgstr "Cover auswählen"
+
+#: src/fileselection.c:491
 msgid "Select directory to add recursively"
 msgstr "Wählen Sie Verzeichnisse zum Hinzufügen"
 
-#: src/fileselection.c:696
+#: src/fileselection.c:749
 msgid "Ok"
 msgstr "OK"
 
-#: src/fileselection.c:705
+#: src/fileselection.c:758
 msgid "Cancel"
 msgstr "Abbrechen"
 
@@ -1549,7 +1648,7 @@
 msgid "n/c"
 msgstr "---"
 
-#: src/info.c:382 src/info.c:786
+#: src/info.c:382 src/info.c:793
 msgid "offline"
 msgstr "offline"
 
@@ -1558,264 +1657,32 @@
 msgid " P:%d T:%d/%d"
 msgstr " P:%d S:%d/%d"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "B"
 msgstr "B"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "kB"
 msgstr "kB"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "TB"
 msgstr "TB"
 
-#: src/info.c:771
+#: src/info.c:778
 #, c-format
 msgid " %s Free"
 msgstr " %s frei"
 
-#: src/info.c:776
+#: src/info.c:783
 #, c-format
 msgid " %s Pending"
 msgstr " %s voll"
 
-#: src/info.c:781
+#: src/info.c:788
 msgid " disconnected"
 msgstr " nicht verbunden"
 
-#: src/itdb_itunesdb.c:313
-#, c-format
-msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
-msgstr "Illegaler seek bei Offset %ld (Länge %ld) in Datei '%s'."
-
-#: src/itdb_itunesdb.c:520
-#, c-format
-msgid "Not a Play Counts file: '%s' (missing mhdp header)."
-msgstr "Keine Play Counts Datei: '%s' (mhdp-Header fehlt)."
-
-#: src/itdb_itunesdb.c:534
-#, c-format
-msgid "Play Counts file ('%s'): header length smaller than expected (%d<96)."
-msgstr "Play Counts Datei ('%s'): Headerlänge kleiner als erwarted (%d<96)."
-
-#: src/itdb_itunesdb.c:547
-#, c-format
-msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
-msgstr ""
-"Play Counts Datei ('%s'): Länge der Einträge kleiner als erwartet (%d<12)."
-
-#: src/itdb_itunesdb.c:801
-#, c-format
-msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
-msgstr "iTunesDB beschädigt: kein MHOD bei Offset %ld in Datei '%s'."
-
-#: src/itdb_itunesdb.c:921
-#, c-format
-msgid ""
-"Length of smart playlist rule field (%d) not as expected. Trying to continue "
-"anyhow.\n"
-msgstr ""
-"Die Länge einer Regel (%d) einer intelligenten Wiedergabeliste weicht von "
-"der erwarteten Länge ab. Es wird versucht fortzufahren.\n"
-
-#: src/itdb_itunesdb.c:964
-msgid "Did not find SLst hunk as expected. Trying to continue.\n"
-msgstr ""
-"Es wurde nicht wie erwarted ein 'SLst'-Hunk gefunden. Es wird trotzdem "
-"versucht, weiterzumachen.\n"
-
-#: src/itdb_itunesdb.c:970
-#, c-format
-msgid ""
-"Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
-"\n"
-msgstr ""
-"Unbekannter MHOD-Typ (%d) während des Parsens der iTunesDB gefunden. Es wird "
-"versucht fortzufahren.\n"
-"\n"
-
-#: src/itdb_itunesdb.c:1050 src/itdb_itunesdb.c:1739 src/itdb_itunesdb.c:1774
-#, c-format
-msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr ""
-"iTunesDB beschädigt: Hunklänge ist Null für den Hunk an Offset %ld in Datei "
-"'%s'."
-
-#: src/itdb_itunesdb.c:1144
-msgid "Master-PL"
-msgstr "Haupt-PL"
-
-#: src/itdb_itunesdb.c:1171
-#, c-format
-msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
-msgstr "iTunesDB beschädigt: mhyp bei Offset %ld in Datei '%s' gefunden."
-
-#: src/itdb_itunesdb.c:1219
-#, c-format
-msgid "Itdb_Track ID '%d' not found.\n"
-msgstr "Itdb_Track ID '%d' nicht gefunden.\n"
-
-#: src/itdb_itunesdb.c:1482
-msgid "OTG Playlist"
-msgstr "OTG-Wiedergabeliste"
-
-#: src/itdb_itunesdb.c:1496
-#, c-format
-msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
-msgstr "Keine OTG (On-The-Go) Wiedergabelistendatei: '%s' (mhpo-Header fehlt)."
-
-#: src/itdb_itunesdb.c:1510
-#, c-format
-msgid "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
-msgstr ""
-"OTG (On-The-Go) Wiedergabelistendatei ('%s'): Headerlänger kleiner als "
-"erwartet (%d<20)."
-
-#: src/itdb_itunesdb.c:1522
-#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
-msgstr ""
-"OTG (On-The-Go) Wiedergabelistendatei ('%s'): Länge der Einträge kleiner als "
-"erwartet (%d<4)."
-
-#: src/itdb_itunesdb.c:1557
-#, c-format
-msgid "OTG playlist file '%s': reference to non-existent track (%d)."
-msgstr ""
-"OTG (On-The-Go) Wiedergabelistendateii '%s' bezieht sich auf ein nicht "
-"existierendes Stück (%d)."
-
-#: src/itdb_itunesdb.c:1602
-#, c-format
-msgid "OTG Playlist %d"
-msgstr "OTG-Wiedergabeliste %d"
-
-#: src/itdb_itunesdb.c:1645
-#, c-format
-msgid "Not a iTunesDB: '%s' (missing mhdb header)."
-msgstr "Keine iTunesDB Datei: '%s' (kein mhdb-Header)."
-
-#: src/itdb_itunesdb.c:1661
-#, c-format
-msgid ""
-"iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). "
-"Aborting."
-msgstr ""
-"iTunesDB ('%s'): Headerlänge des mhsd-Hunks is kleiner als erwartet (%"
-"ld<32). Breche ab."
-
-#: src/itdb_itunesdb.c:1693
-#, c-format
-msgid "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
-msgstr ""
-"iTunesDB '%s' beschädigt: bereits zwei Wiedergabelisten mhsds-Hunks "
-"gefunden. Breche ab."
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1754
-msgid ""
-"iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"iTunesDB möglicherweise beschädigt: Anzahl der Stücke (mhit-Hunks) ist nicht "
-"konsistent. Versuche fortzufahren.\n"
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1835
-msgid ""
-"iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"iTunesDB möglicherweise beschädigt: Anzahl der Wiedergabelisten (mhyp-Hunks) "
-"ist nicht konsistent. Versuche fortzufahren.\n"
-
-#: src/itdb_itunesdb.c:1873
-#, c-format
-msgid "File not found: '%s'."
-msgstr "Datei nicht gefunden: '%s'."
-
-#: src/itdb_itunesdb.c:2394
-#, c-format
-msgid "Cannot write mhod of type %d\n"
-msgstr "Schreiben eines mhod-Hunks vom Typ %d ist nicht unterstützt.\n"
-
-#: src/itdb_itunesdb.c:2520 src/itdb_itunesdb.c:2633
-msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
-msgstr ""
-"Datenbank im Speicher beschädigt (Zeiger auf Stück == NULL). Der Export wird "
-"abgebrochen."
-
-#: src/itdb_itunesdb.c:2676
-msgid "Database in memory corrupt (playlist pointer == NULL). Aborting export."
-msgstr ""
-"Datenbank im Speicher beschädigt (Zeiger auf Wiedergabeliste == NULL). Der "
-"Export wird abgebrochen."
-
-#: src/itdb_itunesdb.c:2716
-#, c-format
-msgid "Opening of '%s' for writing failed."
-msgstr "Öffnen der Datei '%s' zum Schreiben ist fehlgeschlagen."
-
-#: src/itdb_itunesdb.c:2727
-#, c-format
-msgid "Writing to '%s' failed."
-msgstr "Fehler beim Schreiben in die Datei '%s'."
-
-#: src/itdb_itunesdb.c:2738
-#, c-format
-msgid "Writing to '%s' failed (%s)."
-msgstr "Schreiben in die Datei '%s' ist fehlgeschlagen (%s)."
-
-#: src/itdb_itunesdb.c:2875 src/itdb_itunesdb.c:3042 src/itdb_itunesdb.c:3224
-#: src/itdb_itunesdb.c:3358
-#, c-format
-msgid "Path not found: '%s'."
-msgstr "Pfad nicht gefunden: '%s'."
-
-#: src/itdb_itunesdb.c:3244
-#, c-format
-msgid "Error renaming '%s' to '%s' (%s)."
-msgstr "Fehler beim Umbenennen von '%s' nach '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3261
-#, c-format
-msgid "Error removing '%s' (%s)."
-msgstr "Fehler beim Entfernen von '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3487
-#, c-format
-msgid "Error opening '%s' for reading (%s)."
-msgstr "Fehler beim Öffnen von '%s' zum Lesen (%s)."
-
-#: src/itdb_itunesdb.c:3498
-#, c-format
-msgid "Error opening '%s' for writing (%s)."
-msgstr "Fehler beim Öffnen von '%s' zum Schreiben (%s)."
-
-#: src/itdb_itunesdb.c:3515
-#, c-format
-msgid "Error while reading from '%s' (%s)."
-msgstr "Fehler beim Lesen aus '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3531
-#, c-format
-msgid "Error while writing to '%s' (%s)."
-msgstr "Fehler beim Schreiben in die Datei '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3544 src/itdb_itunesdb.c:3554
-#, c-format
-msgid "Error when closing '%s' (%s)."
-msgstr "Fehler beim Schließen der Datei '%s' (%s)."
-
-#. New action!
-#: src/itdb_playlist.c:71
-#, c-format
-msgid "Unknown action (%d) in smart playlist will be ignored.\n"
-msgstr ""
-"Unbekannte Aktion (%d) in intelligenter Wiedergabeliste wird ignoriert.\n"
-
 #: src/md5.c:159
 msgid "Hashed file is 0 bytes long\n"
 msgstr "Das Files, für das eine Prüfsumme berechnet werden soll, ist leer.\n"
@@ -1836,14 +1703,14 @@
 
 #: src/misc.c:82
 msgid ""
-"(C) 2002 - 2003\n"
+"(C) 2002 - 2005\n"
 "Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
 "\n"
 msgstr ""
 "(C) 2002 - 2003\n"
-"Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
+"Jörg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
 "\n"
@@ -2038,20 +1905,45 @@
 msgstr "Clinton Gormley: Snychronisationsskripte für 'tunderbird'\n"
 
 #: src/misc.c:153
+msgid "Sebastien Beridot: sync script for ldif addressbook format\n"
+msgstr ""
+"Sebastien Beridot: Snychronisationsskripte für das ldif Adressbuchformat\n"
+
+#: src/misc.c:156
+msgid "Sebastian Scherer: sync script for kNotes\n"
+msgstr "Sebastian Scherer: Synchronisationsskripte für 'kNotes'\n"
+
+#: src/misc.c:159
+msgid "Nick Piper: sync script for Palm, type-ahead search\n"
+msgstr "Nick Piper: Synchronisationsskript für Palm, 'type-ahead' Suche\n"
+
+#: src/misc.c:162
+msgid "Uwe Hermann: help with support for iPod Video\n"
+msgstr "Uwe Hermann: Hilfe mit iPod Video Unterstützung\n"
+
+#: src/misc.c:165
 msgid ""
-"Icons of buttons were made by Nicolas Chariot.\n"
+"Iain Benson: support for compilation tag in mp3 files and separate display "
+"of compilations in the sort tab.\n"
+msgstr ""
+"Iain Benson: Unterstützung für Sampler-Tags in mp3 Dateien und Darstellung "
+"von Sampler in den Filter-Tabs.\n"
+
+#: src/misc.c:167
+msgid ""
+"Nicolas Chariot: icons of buttons\n"
 "\n"
 "\n"
 msgstr ""
-"Icons der Druckknöpfe wurden von Nicolas Chariot erstellt.\n"
+"Nicolas Chariot: Icons für Knöpfe\n"
 "\n"
 "\n"
 
-#: src/misc.c:157
+#: src/misc.c:171
 msgid "This program borrows code from the following projects:\n"
 msgstr "Dieses Programm verwendet Code der folgenden Projekte:\n"
 
-#: src/misc.c:159
+#: src/misc.c:173
 msgid ""
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
@@ -2059,7 +1951,7 @@
 "    gnutools: (mktunes.pl, nach C portiert) Schreiben und Lesen der iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
 
-#: src/misc.c:161
+#: src/misc.c:175
 msgid ""
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
@@ -2068,37 +1960,37 @@
 "einiger Code für intelligente Wiedergabelisten basiert auf seinen C++-"
 "Klassen.\n"
 
-#: src/misc.c:163
+#: src/misc.c:177
 msgid "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 msgstr "    mp3info:  MP3-Spielzeit-Ermittlung (http://ibiblio.org/mp3info/)\n"
 
-#: src/misc.c:165
+#: src/misc.c:179
 msgid ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
 msgstr ""
 "xmms:     Verzeichnisbaum-Anzeige, MP3-Spielzeit-Ermittlung (http://www.xmms."
 "org)\n"
 
-#: src/misc.c:168
+#: src/misc.c:182
 msgid ""
 "The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"
 msgstr ""
 "Die graphische Benutzeroberfläche wurde mit Hilfe von glade-2 (http://glade."
 "gnome.org/) erstellt.\n"
 
-#: src/misc.c:183
+#: src/misc.c:197
 msgid "French:   David Le Brun (david at dyn-ns dot net)\n"
 msgstr "Französisch: David Le Brun (david at dyn-ns dot net)\n"
 
-#: src/misc.c:185
+#: src/misc.c:199
 msgid "German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 msgstr "Deutsch:     Jörg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 
-#: src/misc.c:187
+#: src/misc.c:201
 msgid "Hebrew: Assaf Gillat (gillata at gmail dot com)\n"
 msgstr "Hebräisch: Assaf Gillat (gillata at gmail dot com)\n"
 
-#: src/misc.c:189
+#: src/misc.c:203
 msgid ""
 "Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
@@ -2106,43 +1998,48 @@
 "Italienisch: Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net\n"
 
-#: src/misc.c:191
+#: src/misc.c:205
 msgid "Japanese: Ayako Sano\n"
 msgstr "Japanisch:   Ayako Sano\n"
 
-#: src/misc.c:193
+#: src/misc.c:207
 msgid "Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 msgstr ""
 "Japanisch:   Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 
-#: src/misc.c:195
+#: src/misc.c:209
 msgid "Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 msgstr "Schwedisch: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 
-#: src/misc.c:318
+#: src/misc.c:332
 #, c-format
 msgid "Could not delete backup file: \"%s\"\n"
 msgstr "Konnte Sicherheitskopie nicht löschen: '%s'\n"
 
-#: src/misc.c:438
+#: src/misc.c:452
 #, c-format
 msgid "Unmounting of '%s' (%s) unsuccessful."
 msgstr "Unmount von '%s' (%s) war nicht erfolgreich."
 
-#: src/misc.c:442
+#: src/misc.c:456
 #, c-format
 msgid "Unmounting of '%s' unsuccessful."
 msgstr "Unmount von '%s' war erfolgreich."
 
-#: src/misc.c:1097
+#: src/misc.c:1219
 #, c-format
+msgid "Unknown token '%%%c' in template '%s'"
+msgstr "Unbekanntes Token '%%%c' in der Schablone '%s'"
+
+#: src/misc.c:1301
+#, c-format
 msgid "Template ('%s') does not match file type '%s'\n"
 msgstr "Schablone ('%s') paßt nicht auf den Dateinamen '%s'\n"
 
-#: src/misc.c:1190
+#: src/misc.c:1382
 #, c-format
-msgid "Unknown token '%%%c' in template '%s'"
-msgstr "Unbekanntes Token '%%%c' in der Schablone '%s'"
+msgid "Error creating %s: %s\n"
+msgstr "Fehler beim Erstellen von '%s': %s\n"
 
 #. gint id,
 #. gboolean modal,
@@ -2277,8 +2174,8 @@
 
 #. no playlist??? Cannot happen, but...
 #. no playlist selected
-#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:667
-#: src/misc_track.c:879
+#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:674
+#: src/misc_track.c:1509
 msgid "No playlist selected."
 msgstr "Keine Wiedergabeliste ausgewählt."
 
@@ -2287,11 +2184,6 @@
 msgid "No tracks selected."
 msgstr "Keine Stücke ausgewählt."
 
-#. no entry selected
-#: src/misc_confirm.c:441 src/misc_track.c:852
-msgid "No entry selected."
-msgstr "Kein Tab-Eintrag ausgewählt."
-
 #: src/misc_confirm.c:448
 msgid "Cannot remove entry 'All'"
 msgstr "Der Eintrag 'Alle' kann nicht entfernt werden"
@@ -2301,19 +2193,23 @@
 msgid "Removed all %d tracks from the iPod"
 msgstr "Alle %d Stücke wurden vom iPod entfernt"
 
-#: src/misc_confirm.c:549 src/misc_confirm.c:619
+#: src/misc_confirm.c:546
+msgid "Removed all podcasts from the iPod"
+msgstr "Alle Podcasts wurden vom iPod entfernt"
+
+#: src/misc_confirm.c:556 src/misc_confirm.c:626
 #, c-format
 msgid "Deleted playlist '%s' including %d member track"
 msgid_plural "Deleted playlist '%s' including %d member tracks"
 msgstr[0] "Wiedergabeliste '%s' einschließlich eines Stückes gelöscht"
 msgstr[1] "Wiedergabeliste '%s' einschließlich %d Stücken entfernt"
 
-#: src/misc_confirm.c:563 src/misc_confirm.c:633
+#: src/misc_confirm.c:570 src/misc_confirm.c:640
 #, c-format
 msgid "Deleted playlist '%s'"
 msgstr "Wiedergabeliste '%s' gelöscht."
 
-#: src/misc_confirm.c:596
+#: src/misc_confirm.c:603
 #, c-format
 msgid "Deleted playlist '%s' including %d member track on harddisk"
 msgid_plural "Deleted playlist '%s' including %d member tracks on harddisk"
@@ -2324,16 +2220,20 @@
 "Wiedergabeliste '%s' wurde einschließlich %d Stücken auf der Festplatte "
 "gelöscht"
 
-#: src/misc_confirm.c:611
+#: src/misc_confirm.c:618
 #, c-format
 msgid "Removed all %d tracks from the database"
 msgstr "Alle %d Stücke wurden aus der Datenbank entfernt"
 
-#: src/misc_confirm.c:686
+#: src/misc_confirm.c:693
 msgid "Are you sure you want to remove all tracks from your iPod?"
 msgstr "Sind Sie sicher, daß sie alle Stücke vom iPod entfernen wollen?"
 
-#: src/misc_confirm.c:694
+#: src/misc_confirm.c:698
+msgid "Are you sure you want to remove all podcasts from your iPod?"
+msgstr "Sind Sie sicher, daß sie alle Podcasts vom iPod entfernen wollen?"
+
+#: src/misc_confirm.c:706
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and the following track "
@@ -2353,12 +2253,12 @@
 "Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in "
 "Klammern angegeben."
 
-#: src/misc_confirm.c:705 src/misc_confirm.c:760
+#: src/misc_confirm.c:717 src/misc_confirm.c:772
 #, c-format
 msgid "Are you sure you want to delete the playlist '%s'?"
 msgstr "Sind Sie sicher, daß Sie die Wiedergabeliste \"%s\" entfernen wollen?"
 
-#: src/misc_confirm.c:731
+#: src/misc_confirm.c:743
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2378,12 +2278,12 @@
 "Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in "
 "Klammern angegeben."
 
-#: src/misc_confirm.c:739
+#: src/misc_confirm.c:751
 msgid "Are you sure you want to remove all tracks from the database?"
 msgstr ""
 "Sind Sie sicher, daß Sie alle Stücke von der Datenbank entfernen wollen?"
 
-#: src/misc_confirm.c:748
+#: src/misc_confirm.c:760
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2402,28 +2302,28 @@
 "Stücke aus der Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, "
 "in denen die Stücke jeweils geführt werden, ist in Klammern angegeben."
 
-#: src/misc_confirm.c:937
+#: src/misc_confirm.c:960
 #, c-format
 msgid "Problem creating iPod directory: '%s'."
 msgstr "Es trat ein Problem beim Erzeugen des iPod-Verzeichnisses auf: '%s'."
 
-#: src/misc_confirm.c:939
+#: src/misc_confirm.c:962
 #, c-format
 msgid "Successfully created iPod directories in '%s'."
 msgstr "Die iPod-Verzeichnisstruktur wurde erfolgreich in '%s' angelegt."
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_confirm.c:978
+#: src/misc_confirm.c:1001
 msgid "Create iPod directories"
 msgstr "iPod-Verzeichnisstruktur erstellen"
 
 #. title
-#: src/misc_confirm.c:979
+#: src/misc_confirm.c:1002
 msgid "OK to create the following directories?"
 msgstr "Sollen die folgenden Verzeichnisse erstellt werden?"
 
-#: src/misc_confirm.c:1043
+#: src/misc_confirm.c:1066
 msgid ""
 "Data has been changed and not been saved.\n"
 "OK to exit gtkpod?"
@@ -2431,6 +2331,10 @@
 "Änderungen wurden noch nicht gespeichert.\n"
 "Wollen Sie gtkpod trotzdem verlassen?"
 
+#: src/misc_conversion.c:67
+msgid "File type"
+msgstr "Dateityp"
+
 #: src/misc_conversion.c:68
 msgid "PC File"
 msgstr "PC Datei"
@@ -2478,24 +2382,53 @@
 msgid "CD Nr"
 msgstr "CD Nr"
 
-#: src/misc_conversion.c:101
+#: src/misc_conversion.c:89
+msgid "Category"
+msgstr "Kategorie"
+
+#: src/misc_conversion.c:90
+msgid "Description"
+msgstr "Beschreibung"
+
+#. 30
+#: src/misc_conversion.c:91
+msgid "Podcast URL"
+msgstr "Podcast-URL"
+
+#: src/misc_conversion.c:92
+msgid "Podcast RSS"
+msgstr "Podcast RSS"
+
+#: src/misc_conversion.c:93
+msgid "Subtitle"
+msgstr "Untertitel"
+
+#: src/misc_conversion.c:94
+msgid "Date released"
+msgstr "Veröffentlichungsdatum"
+
+#: src/misc_conversion.c:95
+msgid "Checked"
+msgstr "Ausgewählt"
+
+#: src/misc_conversion.c:108
 msgid "Name of file on PC, if available"
 msgstr "Dateiname auf dem PC, falls verfügbar"
 
-#: src/misc_conversion.c:102
+#: src/misc_conversion.c:109
 msgid "Name of file on the iPod"
 msgstr "Name der Datei auf dem iPod"
 
 #. 10
-#: src/misc_conversion.c:104
+#: src/misc_conversion.c:111
 msgid "Track Nr. and total number of tracks on CD"
 msgstr "Track-Nr. und Gesamtzahl der Tracks auf der CD"
 
-#: src/misc_conversion.c:105
+#: src/misc_conversion.c:112
 msgid "Whether the file has already been transferred to the iPod or not"
 msgstr "Ob die Datei bereits zum iPod übertragen wurde oder nicht."
 
-#: src/misc_conversion.c:111
+#: src/misc_conversion.c:118
 msgid ""
 "Supposedly something that tells the iPod to increase or decrease the "
 "playback speed"
@@ -2503,32 +2436,32 @@
 "Anscheinend ein Feld, das den iPod anweist, die Wiedergabe zu beschleunigen "
 "oder zu verlangsamen"
 
-#: src/misc_conversion.c:113
+#: src/misc_conversion.c:120
 msgid "Number of times the track has been played"
 msgstr "Wie oft dieses Stück bereits gespielt wurde"
 
-#: src/misc_conversion.c:114
+#: src/misc_conversion.c:121
 msgid "Star rating from 0 to 5"
 msgstr "Beurteilung von 0 bis 5 Sterne"
 
-#: src/misc_conversion.c:115
+#: src/misc_conversion.c:122
 msgid "Date and time track has been added"
 msgstr "Zeitpunkt zu dem das Stück hinzugefügt wurde"
 
 #. 20
-#: src/misc_conversion.c:116
+#: src/misc_conversion.c:123
 msgid "Date and time track has last been played"
 msgstr "Zeitpunkt des letzten Abspielens des Stücks"
 
-#: src/misc_conversion.c:117
+#: src/misc_conversion.c:124
 msgid "Date and time track has last been modified"
 msgstr "Zeitpunkt der letzten Modifikation des Stücks"
 
-#: src/misc_conversion.c:118
+#: src/misc_conversion.c:125
 msgid "Manual volume adjust"
 msgstr "Manuelle Lautstärkeanpassung"
 
-#: src/misc_conversion.c:119
+#: src/misc_conversion.c:126
 msgid ""
 "Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on "
 "the iPod"
@@ -2537,31 +2470,48 @@
 "aktiviert sein"
 
 #. 25
-#: src/misc_conversion.c:122
+#: src/misc_conversion.c:129
 msgid "CD Nr. and total number of CDS in set"
 msgstr "CD-Nummer und Gesamtzahl der CDs im Set"
 
-#: src/misc_conversion.c:605
+#: src/misc_conversion.c:132
+msgid ""
+"The category (e.g. 'Technology' or 'Music') where the podcast was located."
+msgstr ""
+"Die Kategorie (z.B. 'Technologie' oder 'Musik') wo das Podcast eingeordnet "
+"war."
+
+#: src/misc_conversion.c:133
+msgid "Accessible by selecting the center button on the iPod."
+msgstr "Wird angezeigt, wenn der mittlere Knopf auf dem iPod gedrückt wird."
+
+#: src/misc_conversion.c:137
+msgid "Release date (for podcasts displayed next to the title on the iPod)"
+msgstr ""
+"Veröffentlichungsdatum (wird bei Podcasts auf dem iPod neben dem Titel "
+"angezeigt)"
+
+#: src/misc_conversion.c:639
 #, c-format
 msgid "The URI '%s' is not an absolute URI using the file scheme"
 msgstr "Der URI »%s« ist kein absoluter URI, der das Dateischema verwendet"
 
-#: src/misc_conversion.c:615
+#: src/misc_conversion.c:649
 #, c-format
 msgid "The local file URI '%s' may not include a '#'"
 msgstr "Der lokale URI »%s« darf kein »#« enthalten"
 
-#: src/misc_conversion.c:632
+#: src/misc_conversion.c:666
 #, c-format
 msgid "The URI '%s' is invalid"
 msgstr "Der URI »%s« ist ungültig"
 
-#: src/misc_conversion.c:644
+#: src/misc_conversion.c:678
 #, c-format
 msgid "The hostname of the URI '%s' is invalid"
 msgstr "Der Rechnername der URI »%s« ist ungültig"
 
-#: src/misc_conversion.c:660
+#: src/misc_conversion.c:694
 #, c-format
 msgid "The URI '%s' contains invalidly escaped characters"
 msgstr "Der URI »%s« enthält ungültige Escape-Zeichen"
@@ -2570,7 +2520,7 @@
 msgid "Please enter a name for the new playlist"
 msgstr "Bitte geben Sie einen Namen für die neue Wiedergabeliste ein"
 
-#: src/misc_playlist.c:97 gtkpod.glade:533 gtkpod.glade:12271
+#: src/misc_playlist.c:97 gtkpod.glade:578 gtkpod.glade:772 gtkpod.glade:7128
 msgid "Smart Playlist"
 msgstr "Intelligente Wiedergabeliste"
 
@@ -2660,39 +2610,39 @@
 msgid "Last Time"
 msgstr "Zuletzt"
 
-#: src/misc_playlist.c:834
+#: src/misc_playlist.c:831
 msgid "Removal of dangling tracks with no files on PC was canceled."
 msgstr ""
 "Das Entfernen von verlorenen Stücken ohne entsprechende Datei auf dem "
 "Computer wurde abgebrochen."
 
-#: src/misc_playlist.c:844
+#: src/misc_playlist.c:841
 msgid "Handling of dangling tracks with files on PC was canceled."
 msgstr ""
 "Das Bearbeiten von verlorenen Stücken, deren zugehörige Datei auf dem "
 "Computer vorhanden ist, wurde abgebrochen."
 
-#: src/misc_playlist.c:872
+#: src/misc_playlist.c:869
 msgid "Dangling tracks with no files on PC were removed."
 msgstr ""
 "Verlorene Stücke ohne entsprechende Datei auf dem Computer wurden entfernt."
 
 #. printf("Handling track %d\n", track->ipod_id);
-#: src/misc_playlist.c:905
+#: src/misc_playlist.c:902
 #, c-format
 msgid "Processing '%s'"
 msgstr "Bearbeite '%s'"
 
-#: src/misc_playlist.c:930
+#: src/misc_playlist.c:927
 msgid "Dangling tracks with files on PC were handled."
 msgstr ""
 "Verlorene Stücke mit zugehöriger Datei auf dem Computer wurden korrigiert."
 
-#: src/misc_playlist.c:963
+#: src/misc_playlist.c:960
 msgid "Track"
 msgstr "Stück"
 
-#: src/misc_playlist.c:1008
+#: src/misc_playlist.c:1005
 msgid ""
 "You did not import the existing iTunesDB. This is most likely incorrect and "
 "will result in the loss of the existing database.\n"
@@ -2709,19 +2659,19 @@
 "'Abbrechen', um abzubrechen. Wenn Sie den Vorgang abbrechen, können Sie die "
 "existierende Datenbank einlesen, bevor Sie erneut abgleichen.\n"
 
-#: src/misc_playlist.c:1024
+#: src/misc_playlist.c:1021
 msgid "Creating a tree of known files"
 msgstr "Erstelle eine Liste der vorhandenen Dateien"
 
-#: src/misc_playlist.c:1052
+#: src/misc_playlist.c:1065
 msgid "Checking iPOD files against known files in DB"
 msgstr "Vergleiche Dateien auf dem iPod mit der iTunesDB"
 
-#: src/misc_playlist.c:1098
+#: src/misc_playlist.c:1110
 msgid "Orphaned"
 msgstr "Verwaist"
 
-#: src/misc_playlist.c:1119
+#: src/misc_playlist.c:1131
 #, c-format
 msgid ""
 "The following orphaned file had already been added to the iPod again. It "
@@ -2734,12 +2684,12 @@
 "%s\n"
 "\n"
 
-#: src/misc_playlist.c:1148
+#: src/misc_playlist.c:1160
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Processing..."
 msgstr "'%d' verwaiste und '%d' verlorene Dateien gefunden. Bearbeite..."
 
-#: src/misc_playlist.c:1171
+#: src/misc_playlist.c:1183
 #, c-format
 msgid ""
 "The following dangling track has a file on PC.\n"
@@ -2758,7 +2708,7 @@
 "Klicken Sie auf OK, um sie beim nächsten Abgleich zu übertragen oder auf "
 "'Abbrechen' um nichts zu tun."
 
-#: src/misc_playlist.c:1176
+#: src/misc_playlist.c:1188
 #, c-format
 msgid ""
 "The following dangling track doesn't have file on PC. \n"
@@ -2777,31 +2727,31 @@
 
 #. we want unique window for each
 #. gboolean modal,
-#: src/misc_playlist.c:1183
+#: src/misc_playlist.c:1195
 msgid "Dangling Tracks"
 msgstr "Verlorene Stücke"
 
-#: src/misc_playlist.c:1207
+#: src/misc_playlist.c:1219
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Done."
 msgstr "'%d' verwaiste und '%d' verlorene Dateien gefunden. Fertig."
 
 #. update for count == 1, 21, 41 ... and for count == n
-#: src/misc_track.c:90 src/misc_track.c:367
+#: src/misc_track.c:91 src/misc_track.c:368
 #, c-format
 msgid "Hashed %d of %d track."
 msgid_plural "Hashed %d of %d tracks."
 msgstr[0] "%d von insgesamt %d Stück indiziert."
 msgstr[1] "%d von insgesamt %d Stücken indiziert."
 
-#: src/misc_track.c:201
+#: src/misc_track.c:202
 #, c-format
 msgid "The following duplicate track has been removed."
 msgid_plural "The following %d duplicate tracks have been removed."
 msgstr[0] "Das folgende doppelt eingelesene Stück wurde entfernt."
 msgstr[1] "Die folgenden %d doppelt eingelesenen Stücke wurden entfernt."
 
-#: src/misc_track.c:208
+#: src/misc_track.c:209
 #, c-format
 msgid ""
 "The following duplicate track has not been added to the master play list."
@@ -2817,31 +2767,35 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_track.c:215
+#: src/misc_track.c:216
 msgid "Duplicate detection"
 msgstr "Duplikaterkennung"
 
-#: src/misc_track.c:793
+#: src/misc_track.c:844
+msgid "Local Database"
+msgstr "Lokale Datenbank"
+
+#: src/misc_track.c:1396
 #, c-format
 msgid "drag and drop: ignored '%s'\n"
 msgstr "Drag und Drop: '%s' ignoriert\n"
 
-#: src/mp3file.c:1091
+#: src/mp3file.c:1117
 #, c-format
 msgid "Error setting ID3 field: %s\n"
 msgstr "Fehler beim Setzen des ID3 Feldes: '%s'\n"
 
-#: src/mp3file.c:1116 src/mp3file.c:1223 src/mp3file.c:1949
+#: src/mp3file.c:1142 src/mp3file.c:1289 src/mp3file.c:2035
 #, c-format
 msgid "ERROR while opening file: '%s' (%s).\n"
 msgstr "FEHLER beim Öffnen der Datei: '%s' (%s).\n"
 
-#: src/mp3file.c:1280
+#: src/mp3file.c:1356
 #, c-format
 msgid "ERROR while writing tag to file: '%s' (%s).\n"
 msgstr "FEHLER beim Schreiben eines Tags: '%s' (%s).\n"
 
-#: src/mp3file.c:1793
+#: src/mp3file.c:1879
 #, c-format
 msgid ""
 "Could not find mp3gain. I tried to use the following executable: '%s'.\n"
@@ -2862,37 +2816,37 @@
 "Wenn Sie 'mp3gain' nicht installiert haben, können Sie es von 'http://www."
 "sourceforge.net/projects/mp3gain' herunterladen."
 
-#: src/mp3file.c:1833
+#: src/mp3file.c:1919
 #, c-format
 msgid "Execution of mp3gain ('%s') failed."
 msgstr "Der Aufruf von mp3gain ('%s') schlug fehl."
 
 #. Tracks with zero play length are ignored by iPod...
-#: src/mp3file.c:2061
+#: src/mp3file.c:2178
 #, c-format
 msgid "File \"%s\" has zero play length. Ignoring.\n"
 msgstr "Die Datei '%s' hat Null-Spielzeit und wird ignoriert.\n"
 
-#: src/mp4file.c:234 src/mp4file.c:353
+#: src/mp4file.c:243 src/mp4file.c:362
 #, c-format
 msgid "'%s' does not appear to be a mp4 audio file.\n"
 msgstr "'%s' scheint keine MP4-Audio-Datei zu sein.\n"
 
-#: src/mp4file.c:244
+#: src/mp4file.c:253
 #, c-format
 msgid "Could not open '%s' for reading, or file is not an mp4 file.\n"
 msgstr ""
 "'%s' konnte nicht gelesen werden, oder die Datei ist keine gültige mp4-"
 "Datei.\n"
 
-#: src/mp4file.c:364
+#: src/mp4file.c:373
 #, c-format
 msgid "Could not open '%s' for writing, or file is not an mp4 file.\n"
 msgstr ""
 "'%s' konnte nicht zum Schreiben geöffnet werden, oder die Datei ist keine "
 "gültige mp4-Datei.\n"
 
-#: src/mp4file.c:377
+#: src/mp4file.c:386
 #, c-format
 msgid ""
 "Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. "
@@ -2902,7 +2856,7 @@
 "mp4v2 Bibliothek nicht unterstützt. Sie müssen gtkpod zusammen mit der mp4v2 "
 "Bibliothek übersetzen.\n"
 
-#: src/mp4file.c:383
+#: src/mp4file.c:392
 #, c-format
 msgid ""
 "m4a/m4p/m4b metadata update for '%s' failed: m4a/m4p/m4b not supported "
@@ -2913,36 +2867,36 @@
 "werden ohne die mp4v2 Bibliothek nicht unterstützt. Sie müssen gtkpod "
 "zusammen mit der mp4v2 Bibliothek übersetzen.\n"
 
-#: src/prefs.c:127
+#: src/prefs.c:128
 #, c-format
 msgid "gtkpod version %s usage:\n"
 msgstr "Benutzung von gtkpod %s:\n"
 
-#: src/prefs.c:128
+#: src/prefs.c:129
 msgid "  -h, --help:   display this message\n"
 msgstr "  -h, --help:   diesen Text anzeigen\n"
 
-#: src/prefs.c:129
+#: src/prefs.c:130
 msgid "  -p <filename>:increment playcount for file by one\n"
 msgstr "  -p <Dateiname>:Playcount für 'Datainame' um eins erhöhen\n"
 
-#: src/prefs.c:130
+#: src/prefs.c:131
 msgid "  -m path:      define the mountpoint of your iPod\n"
 msgstr "  -m <Pfad>:    Mountpoint für iPod angeben\n"
 
-#: src/prefs.c:131
+#: src/prefs.c:132
 msgid "  --mountpoint: same as '-m'.\n"
 msgstr "  --mountpoint: wie '-m'.\n"
 
-#: src/prefs.c:132
+#: src/prefs.c:133
 msgid "  -a:           import database automatically after start.\n"
 msgstr "  -a:           iTunesDB automatisch importieren\n"
 
-#: src/prefs.c:133
+#: src/prefs.c:134
 msgid "  --auto:       same as '-a'.\n"
 msgstr "  --auto:       wie '-a'.\n"
 
-#: src/prefs.c:134
+#: src/prefs.c:135
 msgid ""
 "  -o:           use offline mode. No changes are exported to the iPod,\n"
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
@@ -2953,57 +2907,57 @@
 "aktualisiert,\n"
 "             wenn nicht im Offline-Modus die iTunesDB abgeglichen wird.\n"
 
-#: src/prefs.c:135
+#: src/prefs.c:136
 msgid "  --offline:    same as '-o'.\n"
 msgstr "  --offline:    wie '-o'.\n"
 
-#: src/prefs.c:382
+#: src/prefs.c:401
 #, c-format
 msgid "Error while reading prefs: %s\n"
 msgstr "Fehler beim Lesen der Vor-Einstellungen: %s\n"
 
-#: src/prefs.c:948
+#: src/prefs.c:1030
 #, c-format
 msgid "Unable to open config file '%s' for reading\n"
 msgstr "Kann Datei '%s' mit den Einstellungen nicht lesen.\n"
 
-#: src/prefs.c:1052
+#: src/prefs.c:1137
 #, c-format
 msgid "Unknown option: %s\n"
 msgstr "Unbekannte Option: %s\n"
 
-#: src/prefs.c:1100
+#: src/prefs.c:1190
 #, c-format
 msgid "# delete confirmation\n"
 msgstr "# Sicherheitsabfrage beim Löschen\n"
 
-#: src/prefs.c:1107
+#: src/prefs.c:1197
 #, c-format
 msgid "# sort tab: select 'All', last selected page (=category)\n"
 msgstr ""
 "# Sort Tab: 'Alle' automatisch wählen, letze gewählte Seite (=Kategorie)\n"
 
-#: src/prefs.c:1126
+#: src/prefs.c:1216
 #, c-format
 msgid "# autoselect master playlist?\n"
 msgstr "# Hauptplayliste automatisch auswählen?\n"
 
-#: src/prefs.c:1128
+#: src/prefs.c:1218
 #, c-format
 msgid "# title=0, artist, album, genre, composer\n"
 msgstr "# Titel=0, Künstler, Album, Musikrichtung, Komponist\n"
 
-#: src/prefs.c:1129
+#: src/prefs.c:1219
 #, c-format
 msgid "# track_nr=5, ipod_id, pc_path, transferred\n"
 msgstr "# Track_Nr=5, iPod_ID, PC_Pfad, Transferred\n"
 
-#: src/prefs.c:1130
+#: src/prefs.c:1220
 #, c-format
 msgid "# autoset: set empty tag to filename?\n"
 msgstr "# autoset: Leere ID3-Tags mit dem Filenamen initialiseren?\n"
 
-#: src/prefs.c:1143
+#: src/prefs.c:1235
 #, c-format
 msgid ""
 "# position of sliders (paned): playlists, above tracks,\n"
@@ -3012,7 +2966,7 @@
 "# Position der Schiebeelemente (paned): Wiedergabelisten,\n"
 "# über der Stückanzeige, zwischen den Sort Tabs\n"
 
-#: src/prefs.c:1178
+#: src/prefs.c:1271
 #, c-format
 msgid ""
 "# window sizes: main window, confirmation scrolled,\n"
@@ -3022,16 +2976,12 @@
 "#                Bestätigungsfenster (ungescrollt), Verzeichnisbaum\n"
 "#                Einstellungsfenster\n"
 
-#: src/prefs.c:1215
-msgid "Settings are not saved.\n"
-msgstr "Einstellungen nicht gespeichert.\n"
-
-#: src/prefs.c:1228
+#: src/prefs.c:1328
 #, c-format
 msgid "Unable to open '%s' for writing\n"
 msgstr "Kann '%s' nicht zum schreiben öffnen.\n"
 
-#: src/prefs.c:1592
+#: src/prefs.c:1682
 #, c-format
 msgid ""
 " Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.\n"
@@ -3039,78 +2989,78 @@
 " Voreinstellungen: Kategorie (%d<%d?) oder SortTab (%d<%d?) außerhalb des "
 "erlaubten Bereichs.\n"
 
-#: src/prefs.c:1641
+#: src/prefs.c:1731
 #, c-format
 msgid "Unable to 'mkdir %s'\n"
 msgstr "Kann 'mkdir %s' nicht ausführen.\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2034
+#: src/prefs.c:2157
 #, c-format
 msgid "prefs_set_toolbar_style: illegal style '%d' ignored\n"
 msgstr "prefs_set_toolbar_style: ungültiger Stil '%d' ignoriert\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2076
+#: src/prefs.c:2199
 #, c-format
 msgid "prefs_set_pm_sort: illegal type '%d' ignored\n"
 msgstr "prefs_set_toolbar_style: ungültiger Typ '%d' ignoriert\n"
 
-#: src/prefs.c:2231
+#: src/prefs.c:2354
 #, c-format
 msgid "'%s': no arguments (%%...) allowed.\n"
 msgstr "'%s': keine Argumente (%%...) erlaubt.\n"
 
-#: src/prefs.c:2236
+#: src/prefs.c:2359
 #, c-format
 msgid "'%s': only '%%[%s]' allowed.\n"
 msgstr "'%s': nur '%%[%s]' erlaubt.\n"
 
-#: src/prefs_window.c:93
+#: src/prefs_window.c:105
 msgid "Please select command for 'Play Now'"
 msgstr "Programm für 'Jetzt abspielen'"
 
-#: src/prefs_window.c:94
+#: src/prefs_window.c:106
 msgid "Please select command for 'Enqueue'"
 msgstr "Programm für 'Zum Abspielen Vormerken':"
 
-#: src/prefs_window.c:95
+#: src/prefs_window.c:107
 msgid "Please select the mp3gain executable"
 msgstr "Genauer Pfad des mp3gain-Programms"
 
-#: src/prefs_window.c:96
+#: src/prefs_window.c:108
 msgid "Please select command to sync contacts"
 msgstr "Skript zum Exportieren der Kontakte"
 
-#: src/prefs_window.c:97
+#: src/prefs_window.c:109
 msgid "Please select command to sync calendar"
 msgstr "Skript zum Exportieren des Terminkalenders"
 
-#: src/prefs_window.c:98
+#: src/prefs_window.c:110
 msgid "Select the mserv music root directory"
 msgstr "Wählen Sie das mserv Stammverzeichnis für Musik"
 
-#: src/prefs_window.c:99
+#: src/prefs_window.c:111
 msgid "Select the mserv trackinfo root directory"
 msgstr "Wählen Sie das mserv Stammverzeichnis (trackinfo)"
 
-#: src/prefs_window.c:748
+#: src/prefs_window.c:824
 #, c-format
 msgid ""
-"Have a look at the scripts provided in '%s'. If you write a new script, "
+"<i>Have a look at the scripts provided in '%s'. If you write a new script, "
 "please send it to jcsjcs at users.sourceforge.net for inclusion into the "
-"next release."
+"next release.</i>"
 msgstr ""
-"Schauen Sie sich die Skipte an, die in '%s' zur Verfügung gestellt wurden. "
-"Wenn Sie ein neues Script schreiben, schicken Sie es bitte an jcsjcs at "
-"users.sourceforge.net, damit es in die nächste Version aufgenommen werden "
-"kann."
+"<i>Schauen Sie sich die Skipte an, die in '%s' zur Verfügung gestellt "
+"wurden. Wenn Sie ein neues Script schreiben, schicken Sie es bitte an jcsjcs "
+"at users.sourceforge.net, damit es in die nächste Version aufgenommen werden "
+"kann.</i>"
 
-#: src/prefs_window.c:1006 src/prefs_window.c:1024
+#: src/prefs_window.c:1257 src/prefs_window.c:1275
 msgid "Preferences not updated"
 msgstr "Die Einstellungen wurden nicht übernommen"
 
-#: src/prefs_window.c:1033
+#: src/prefs_window.c:1284
 msgid "Preferences applied"
 msgstr "Die Einstellungen wurden übernommen"
 
@@ -3223,53 +3173,51 @@
 msgid "Synchronize _iTunesDB"
 msgstr "_iTunesDB abgleichen"
 
-#: gtkpod.glade:156
+#: gtkpod.glade:183
 msgid "_Update Tracks from File"
 msgstr "_Aktualiere Stücke aus der Datei"
 
-#: gtkpod.glade:177 gtkpod.glade:229 gtkpod.glade:281 gtkpod.glade:339
-#: gtkpod.glade:391 gtkpod.glade:767 gtkpod.glade:819 gtkpod.glade:1007
-#: gtkpod.glade:1059 gtkpod.glade:1105
+#: gtkpod.glade:204 gtkpod.glade:256 gtkpod.glade:308 gtkpod.glade:366
+#: gtkpod.glade:418 gtkpod.glade:1136 gtkpod.glade:1188 gtkpod.glade:1234
 msgid "Selected _Playlist"
 msgstr "Ausgewählte _Wiedergabeliste"
 
-#: gtkpod.glade:186 gtkpod.glade:238 gtkpod.glade:290 gtkpod.glade:348
-#: gtkpod.glade:400 gtkpod.glade:776 gtkpod.glade:828 gtkpod.glade:1016
-#: gtkpod.glade:1068 gtkpod.glade:1114
+#: gtkpod.glade:213 gtkpod.glade:265 gtkpod.glade:317 gtkpod.glade:375
+#: gtkpod.glade:427 gtkpod.glade:1145 gtkpod.glade:1197 gtkpod.glade:1243
 msgid "Selected Tab _Entry"
 msgstr "Ausgewählten _Tab Eintrag"
 
-#: gtkpod.glade:195 gtkpod.glade:247 gtkpod.glade:299 gtkpod.glade:357
-#: gtkpod.glade:409 gtkpod.glade:785 gtkpod.glade:837 gtkpod.glade:1025
-#: gtkpod.glade:1077 gtkpod.glade:1123
+#: gtkpod.glade:222 gtkpod.glade:274 gtkpod.glade:326 gtkpod.glade:384
+#: gtkpod.glade:436 gtkpod.glade:569 gtkpod.glade:1154 gtkpod.glade:1206
+#: gtkpod.glade:1252
 msgid "Selected _Tracks"
 msgstr "Ausgewählte _Stücke"
 
-#: gtkpod.glade:208
+#: gtkpod.glade:235
 msgid "Update _mserv Data from File"
 msgstr "_mserv-Daten aktualisieren"
 
-#: gtkpod.glade:260
+#: gtkpod.glade:287
 msgid "_Synchronize Directories"
 msgstr "_Verzeichnisse abgleichen"
 
-#: gtkpod.glade:318
+#: gtkpod.glade:345
 msgid "_Export Tracks from Database"
 msgstr "Stücke aus der Datenbank _exportieren"
 
-#: gtkpod.glade:370
+#: gtkpod.glade:397
 msgid "Create _Playlist File"
 msgstr "_Wiedergabelistendatei erstellen"
 
-#: gtkpod.glade:428
+#: gtkpod.glade:455
 msgid "_Offline"
 msgstr "_Offline"
 
-#: gtkpod.glade:444
+#: gtkpod.glade:471
 msgid "_Create iPod's Directories"
 msgstr "iPod-_Verzeichnisstruktur erstellen"
 
-#: gtkpod.glade:465
+#: gtkpod.glade:492
 msgid ""
 "Find orphan files (files with no track info in DB) and dangling tracks "
 "(tracks with no corresponding files on iPOD)"
@@ -3277,968 +3225,361 @@
 "Verwaiste Stücke (Stücke, für die kein Eintrag in der iTunesDB erscheint) "
 "und verlorene Stücke (Stücke ohne Datei auf dem iPod) finden"
 
-#: gtkpod.glade:466
+#: gtkpod.glade:493
 msgid "_Check iPod's Files"
 msgstr "iPod Dateien _überprüfen"
 
-#: gtkpod.glade:494 gtkpod.glade:4973 gtkpod.glade:16459
+#: gtkpod.glade:521 gtkpod.glade:11968
 msgid "_Edit"
 msgstr "_Bearbeiten"
 
-#: gtkpod.glade:503
+#: gtkpod.glade:551
+msgid "Tracks in Selected _Playlist"
+msgstr "Stücke in ausgewählter _Wiedergabeliste"
+
+#: gtkpod.glade:560
+msgid "Tracks in Selected Tab _Entry"
+msgstr "Stücke im ausgewählten _Tab Eintrag"
+
+#: gtkpod.glade:591
+msgid "_Delete"
+msgstr "_Löschen"
+
+#: gtkpod.glade:612
+msgid "Selected playlist"
+msgstr "Ausgewählte _Wiedergabeliste"
+
+#: gtkpod.glade:621
+msgid "Selected playlist including tracks from iPod"
+msgstr "Ausgewählte Wiedergabeliste einschließlich der Stücke vom iPod"
+
+#: gtkpod.glade:630
+msgid "Selected playlist including tracks from database"
+msgstr ""
+"Ausgewählte Wiedergabeliste einschließlich der Stücke von der Datenbank"
+
+#: gtkpod.glade:639
+msgid "Selected playlist including tracks from harddisk"
+msgstr ""
+"Ausgewählte Wiedergabeliste einschließlich der Stücke von der Festplatte"
+
+#: gtkpod.glade:654
+msgid "Selected filter tab entry from playlist"
+msgstr "Ausgewählten Filter-Tab von der Wiedergabeliste"
+
+#: gtkpod.glade:663
+msgid "Selected filter tab entry from iPod"
+msgstr "Ausgewählten Filter-Tab vom iPod"
+
+#: gtkpod.glade:672
+msgid "Selected filter tab entry from database"
+msgstr "Ausgewählten Filter-Tab aus der lokalen Datenbank"
+
+#: gtkpod.glade:681
+msgid "Selected filter tab entry from harddisk"
+msgstr "Ausgwählten Filter-Tab von der Festplatte"
+
+#: gtkpod.glade:696
+msgid "Selected tracks from playlist"
+msgstr "Ausgewählte Stücke von der Wiedergabeliste"
+
+#: gtkpod.glade:705
+msgid "Selected tracks from iPod"
+msgstr "Ausgewählte Stücke vom iPod"
+
+#: gtkpod.glade:714
+msgid "Selected tracks from database"
+msgstr "Ausgewählte Stücke von der Datenbank"
+
+#: gtkpod.glade:723
+msgid "Selected tracks from harddisk"
+msgstr "Ausgewählte Stücke von der Festplatte"
+
+#: gtkpod.glade:742
 msgid "_Create Playlists"
 msgstr "_Wiedergabelisten erstellen"
 
-#: gtkpod.glade:524
+#: gtkpod.glade:763
 msgid "Empty Playlist"
 msgstr "Leere Wiedergabeliste"
 
-#: gtkpod.glade:542
+#: gtkpod.glade:781
 msgid "Random Playlist from Displayed Tracks"
 msgstr "Zufällig aus den angezeigten Tracks"
 
-#: gtkpod.glade:551
+#: gtkpod.glade:790
 msgid "Containing Displayed Tracks"
 msgstr "Aus den angezeigten Stücken"
 
-#: gtkpod.glade:560
+#: gtkpod.glade:799
 msgid "Containing Selected Tracks"
 msgstr "Aus den ausgewählten Stücken"
 
-#: gtkpod.glade:569
+#: gtkpod.glade:808
 msgid "One for each Artist"
 msgstr "Eine für jeden Künstler"
 
-#: gtkpod.glade:578
+#: gtkpod.glade:817
 msgid "One for each Album"
 msgstr "Eine für jedes Album"
 
-#: gtkpod.glade:587
+#: gtkpod.glade:826
 msgid "One for each Genre"
 msgstr "Eine für jedes Genre"
 
-#: gtkpod.glade:596
+#: gtkpod.glade:835
 msgid "One for each Composer"
 msgstr "Eine für jeden Komponisten"
 
-#: gtkpod.glade:605
+#: gtkpod.glade:844
 msgid "One for each Year"
 msgstr "Eine für jedes Jahr"
 
-#: gtkpod.glade:614
+#: gtkpod.glade:853
 msgid "One for each Rating"
 msgstr "Eine für jede Bewertung"
 
-#: gtkpod.glade:623
+#: gtkpod.glade:862
 msgid "Best Rated Tracks"
 msgstr "Höchstgewertete Stücke"
 
-#: gtkpod.glade:632
+#: gtkpod.glade:871
 msgid "Tracks Most Often Listened To"
 msgstr "Am häufigsten gehörte Stücke"
 
-#: gtkpod.glade:641
+#: gtkpod.glade:880
 msgid "Most Recently Played Tracks"
 msgstr "Zuletzt gespielte Stücke"
 
-#: gtkpod.glade:650
+#: gtkpod.glade:889
 msgid "All Tracks Played Since Last Time"
 msgstr "Seit dem letzten Mal gespielte Stücke"
 
-#: gtkpod.glade:659
+#: gtkpod.glade:898
 msgid "All Tracks Never Listened To"
 msgstr "Nie gehörte Stücke"
 
-#: gtkpod.glade:668
+#: gtkpod.glade:907
 msgid "All Tracks not Listed in any Playlist"
 msgstr "In keiner Wiedergabeliste aufgeführte Stücke"
 
-#: gtkpod.glade:681
+#: gtkpod.glade:920
 msgid "Randomize Current Playlist"
 msgstr "Aktuelle Wiedergabeliste zufällig sortieren"
 
-#: gtkpod.glade:696
+#: gtkpod.glade:935
 msgid "_Sorting"
 msgstr "_Sortierung"
 
-#: gtkpod.glade:718
+#: gtkpod.glade:957
 msgid "_Save Displayed Track Order"
 msgstr "_Dargestellte Reihenfolge der Stücke speichern"
 
-#: gtkpod.glade:746
-msgid "_Delete But Keep Tracks"
-msgstr "_Löschen aber Stücke auf dem iPod behalten"
-
-#: gtkpod.glade:798
-msgid "_Delete Completely From iPod"
-msgstr "_Vollständig vom iPod löschen"
-
-#: gtkpod.glade:856
+#: gtkpod.glade:985
 msgid "_Edit Preferences"
 msgstr "_Einstellungen"
 
-#: gtkpod.glade:882
+#: gtkpod.glade:1011
 msgid "_View"
 msgstr "_Ansicht"
 
-#: gtkpod.glade:891
+#: gtkpod.glade:1020
 msgid "_Toolbar"
 msgstr "_Toolbar"
 
-#: gtkpod.glade:901
+#: gtkpod.glade:1030
 msgid "_Tooltips"
 msgstr "_Tooltips"
 
-#: gtkpod.glade:911
+#: gtkpod.glade:1040
 msgid "_Info Window"
 msgstr "_Info Fenster"
 
-#: gtkpod.glade:922
+#: gtkpod.glade:1051
 msgid "_More Sort Tabs"
 msgstr "_Mehr Sort Tabs"
 
-#: gtkpod.glade:943
+#: gtkpod.glade:1072
 msgid "_Less Sort Tabs"
 msgstr "_Weniger Sort Tabs"
 
-#: gtkpod.glade:964
+#: gtkpod.glade:1093
 msgid "_Arrange Sort Tabs"
 msgstr "Sort Tabs _Anordnen"
 
-#: gtkpod.glade:977 gtkpod.glade:5636 gtkpod.glade:17156
+#: gtkpod.glade:1106 gtkpod.glade:12692
 msgid "_Tools"
 msgstr "_Werkzeuge"
 
-#: gtkpod.glade:986
+#: gtkpod.glade:1115
 msgid "_Play Now"
 msgstr "_Jetzt Abspielen"
 
-#: gtkpod.glade:1038
+#: gtkpod.glade:1167
 msgid "_Enqueue"
 msgstr "Zum Abspielen _Vormerken"
 
-#: gtkpod.glade:1096
+#: gtkpod.glade:1225
 msgid "_Normalize Volume"
 msgstr "_Lautstärke normalisieren"
 
-#: gtkpod.glade:1132
+#: gtkpod.glade:1261
 msgid "_Displayed Tracks"
 msgstr "_Angezeigte Stücke"
 
-#: gtkpod.glade:1141
+#: gtkpod.glade:1270
 msgid "_All Tracks"
 msgstr "_Alle Stücke"
 
-#: gtkpod.glade:1150
+#: gtkpod.glade:1279
 msgid "_Newly Added Tracks"
 msgstr "_Neu hinzugefügte Stücke"
 
-#: gtkpod.glade:1169
+#: gtkpod.glade:1298
 msgid "Synchronise Contacts, Calendar and Notes"
 msgstr "Kontakte, Kalender und Notizen abgleichen"
 
-#: gtkpod.glade:1170
+#: gtkpod.glade:1299
 msgid "Synchronize All"
 msgstr "Alle abgleichen"
 
-#: gtkpod.glade:1179
+#: gtkpod.glade:1308
 msgid "Synchronize Contacts"
 msgstr "Kontakte abgleichen"
 
-#: gtkpod.glade:1188
+#: gtkpod.glade:1317
 msgid "Synchronize Calendar"
 msgstr "Kalender abgleichen"
 
-#: gtkpod.glade:1197
+#: gtkpod.glade:1326
 msgid "Synchronize Notes"
 msgstr "Notizen abgleichen"
 
-#: gtkpod.glade:1210
+#: gtkpod.glade:1339
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: gtkpod.glade:1219
+#: gtkpod.glade:1348
 msgid "_About"
 msgstr "_Ãœber"
 
-#: gtkpod.glade:1259
+#: gtkpod.glade:1388
 msgid "Read Existing Database from Disk/iPod"
 msgstr "iTunes Datenbank von der Festplatte / dem iPod einlesen"
 
-#: gtkpod.glade:1260
+#: gtkpod.glade:1389
 msgid "Read"
 msgstr "Einlesen"
 
-#: gtkpod.glade:1277
+#: gtkpod.glade:1406
 msgid "Add Files or Directories"
 msgstr "Wählen Sie hinzuzufügende Dateien oder Verzeichnisse aus."
 
-#: gtkpod.glade:1278
+#: gtkpod.glade:1407
 msgid "Files"
 msgstr "Dateien"
 
-#: gtkpod.glade:1295
+#: gtkpod.glade:1424
 msgid "Add Directories Recursively"
 msgstr "Verzeichnisse rekursiv hinzufügen"
 
-#: gtkpod.glade:1296
+#: gtkpod.glade:1425
 msgid "Dirs"
 msgstr "Verzeichnisse"
 
-#: gtkpod.glade:1313
+#: gtkpod.glade:1442
 msgid "Add playlist from file"
 msgstr "Wiedergabeliste aus Datei hinzufügen"
 
-#: gtkpod.glade:1331
+#: gtkpod.glade:1460
 msgid "Create New Playlist"
 msgstr "Neue Wiedergabeliste erstellen"
 
-#: gtkpod.glade:1332
+#: gtkpod.glade:1461
 msgid "New PL"
 msgstr "Neue PL"
 
-#: gtkpod.glade:1349
+#: gtkpod.glade:1478
 msgid "Write Changes to Disk/iPod"
 msgstr "Änderungen auf Festplatte / den iPod übertragen"
 
-#: gtkpod.glade:1350
+#: gtkpod.glade:1479
 msgid "Sync"
 msgstr "Abgleichen"
 
-#: gtkpod.glade:1366
+#: gtkpod.glade:1495
 msgid "Stop Display Update"
 msgstr "Aktualisierung der Anzeige abbrechen"
 
-#: gtkpod.glade:1367
+#: gtkpod.glade:1496
 msgid "Stop"
 msgstr "Stopp"
 
-#: gtkpod.glade:1540
+#: gtkpod.glade:1669
 msgid "About gtkpod"
 msgstr "Ãœber gtkpod"
 
-#: gtkpod.glade:1661
+#: gtkpod.glade:1790
 msgid "Credits"
 msgstr "Danksagung"
 
-#: gtkpod.glade:1715
+#: gtkpod.glade:1844
 msgid "Translators"
 msgstr "Ãœbersetzer"
 
-#: gtkpod.glade:1770 gtkpod.glade:12719
-msgid "Preferences"
-msgstr "Einstellungen"
-
-#: gtkpod.glade:1846
-msgid " iPod Mount _Point:"
-msgstr " iPod Mount _Point:"
-
-#: gtkpod.glade:1868
-msgid ""
-"Where you mounted your iPod's filesystem. Usually '/media/ipod/' or similar."
-msgstr "Wo ist Ihr iPod gemountet? Für gewöhnlich unter '/media/ipod/'."
-
-#: gtkpod.glade:1896
-msgid ""
-"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
-"<ipod mountpoint>' call is carried out. For more complicated arrangements "
-"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
-msgstr ""
-"Beim Start von gtkpod wird 'mount <ipod mountpoint>' ausgeführt, beim "
-"Beenden 'umount <ipod mountpoint>'. Für weitergehende Aktionen verwenden Sie "
-"bitte die Skripte '~/.gtkpod/gtkpod.in' und '~/.gtkpod/gtkpod.out'."
-
-#: gtkpod.glade:1898 gtkpod.glade:12890
-msgid "Handle mounting/unmounting of iPod drive"
-msgstr "Mount/Unmount des iPod-Verzeichnisses"
-
-#: gtkpod.glade:1918 gtkpod.glade:12910
-msgid "Automatically import iTunesDB on startup"
-msgstr "Beim Starten iTunes-Datenbank automatisch importieren?"
-
-#: gtkpod.glade:1944
-msgid "Import"
-msgstr "Importieren"
-
-#: gtkpod.glade:1991
-msgid " _Charset (ID3, files): "
-msgstr " _Zeichensatz (ID3, Dateinamen): "
-
-#: gtkpod.glade:2022 gtkpod.glade:13047
-msgid ""
-"gtkpod expects the ID3 tags and the filenames to be in the encoding "
-"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
-"operation. 'System Charset' is the charset used by your current locale."
-msgstr ""
-"gtkpod erwartet, daß die Filenamen und ID3 tags in der Kodierung vorliegen, "
-"die hier angegeben wird. Diese kann natürlich zwischen zwei Aufrufen von "
-"'Files hinzufügen' oder 'Verzeichnisse hinzufügen' geändert werden. "
-"'Systemzeichensatz' bezeichnet die Standardkodierung der aktuellen Locale."
-
-#: gtkpod.glade:2059
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to update the track information. If you have chosen a wrong charset when "
-"first importing a track and want to correct it using the 'Update Track' "
-"function, you must check this option. Note: the charset info is stored in "
-"the extended information file (see 'Writing of iTunesDB' below) and tracks "
-"imported before V0.51 will have no charset stored. Instead the charset "
-"specified above will be used then."
-msgstr ""
-"Normalerweise wird der Zeichensatz, der beim ersten Einlesen spezifiziert "
-"wurde, auch verwendet, um ein Stück zu aktualisieren. Wenn Sie beim ersten "
-"Einlesen einen falschen Zeichensatz angegeben haben und dies nun mittels "
-"'Stücke aktualisieren' korrigieren wollen, müssen Sie diese Option "
-"auswählen. Bitte beachten Sie: die Information über den verwendeten "
-"Zeichensatz wird mit den erweiterten Informationen gespeichert (siehe "
-"'Schreiben der iTunesDB' weiter unten). Stücke, die vor Version 0.51 "
-"eingelesen wurden, haben keine Informationen über den Zeichensatz "
-"gespeichert und der oben spezifizierte Zeichensatz wird verwendet."
-
-#: gtkpod.glade:2061
-msgid ""
-"Use selected charset also when updating\n"
-" or syncing tracks"
-msgstr ""
-"Gewählten Zeichensatz auch verwenden wenn Stücke\n"
-" aktualisiert oder Verzeichnisse abgeglichen\n"
-" werden"
-
-#: gtkpod.glade:2081
-msgid "If you check this, gtkpod will descend into subdirectories recursively."
-msgstr "Wenn Sie diese Option wählen werden Verzeichnisse rekursiv eingelesen."
-
-#: gtkpod.glade:2083 gtkpod.glade:13106
-msgid "Add directories recursively"
-msgstr "Verzeichnisse rekursiv hinzufügen"
-
-#: gtkpod.glade:2102
-msgid "Duplicate Recognition is based on a md5 hash over the file."
-msgstr ""
-"Die Duplikatenerkennung basiert auf einem md5-Hash über die mp3-Stücke."
-
-#: gtkpod.glade:2104 gtkpod.glade:13126
-msgid "Don't allow file duplication"
-msgstr "Mehrfaches Einlesen von Stücken verhindern"
-
-#: gtkpod.glade:2132
-msgid ""
-"Display the list of duplicates that have been detected after adding files."
-msgstr ""
-"Eine Liste der Duplikate anzeigen, die während des Hinzufügens von Stücken "
-"erkannt wurden."
-
-#: gtkpod.glade:2134 gtkpod.glade:13173
-msgid "Display info about detected duplicates"
-msgstr "Information über erkannte Duplikate anzeigen"
-
-#: gtkpod.glade:2187
-msgid ""
-"If the filename (full path) of an existing track matches that of a track to "
-"be added, this option allows you to update the information about the "
-"existing track rather than just skipping the track altogether. No update "
-"will take place if the file hasn't changed and you have selected the 'Don't "
-"allow file duplication' option above."
-msgstr ""
-"Wenn der Dateiname (inkl. Pfad) eines bereits eingelesenen Stückes identisch "
-"ist zum Dateinamen eines neu einzulesenden Stückes, dann erlaubt diese "
-"Option Ihnen das alte Stück zu überschreiben. Normalerweise wird das "
-"Einlesen des Stückes einfach übersprungen. Wenn sich das File nicht geändert "
-"hat, und Sie die Option 'Mehrfaches Einlesen von Stücken verhindern' "
-"aktiviert haben, wird das Einlesen ebenfalls übersprungen."
-
-#: gtkpod.glade:2189
-msgid ""
-"When adding dirs/files, update information of\n"
-" existing tracks with identical filenames"
-msgstr ""
-"Beim Hinzufügen von Stücken bereits eingelesene\n"
-"Stücke mit dem selben Dateinamen aktualisieren."
-
-#: gtkpod.glade:2218
-msgid "Display a list of tracks that could actually be updated."
-msgstr ""
-"Nach dem Aktualisieren eine Liste derer Stücke anzeigen, die tatsächlich "
-"aktualisiert wurden."
-
-#: gtkpod.glade:2220 gtkpod.glade:13248
-msgid "Display info about updated tracks"
-msgstr "Informationen über aktualisierte Stücke anzeigen"
-
-#: gtkpod.glade:2243
-msgid "Display a list of tracks that could not be updated."
-msgstr ""
-"Nach dem Aktualisieren eine Liste derer Stücke anzeigen, bei denen die "
-"Aktualisierung nicht vorgenommen werden konnte."
-
-#: gtkpod.glade:2245 gtkpod.glade:13302
-msgid "Display info about non-updated tracks"
-msgstr "Informationen über nicht aktualisierte Stücke anzeigen"
-
-#: gtkpod.glade:2287 gtkpod.glade:13328
-msgid "When syncing directories"
-msgstr "Beim Abgleich von Verzeichnissen"
-
-#: gtkpod.glade:2318
-msgid "Confirm list of directories"
-msgstr "Liste der Verzeichnisse bestätigen"
-
-#: gtkpod.glade:2341
-msgid ""
-"If you check this option, tracks that have been removed from the synced "
-"directories will be removed from the iPod as well."
-msgstr ""
-"Wenn Sie diese Option wählen, werden Stücke, die aus den abzugleichenden "
-"Verzeichnissen entfernt wurden, auch auf dem iPod gelöscht."
-
-#: gtkpod.glade:2343 gtkpod.glade:13403
-msgid "Delete tracks that have been removed"
-msgstr "Stücke, die entfernt wurden, löschen"
-
-#: gtkpod.glade:2366
-msgid "This is the same option as in 'Edit/Delete Confirmation'"
-msgstr ""
-"Diese Option ist identisch zu der in 'Bearbeiten/Sicherheitsabfrage beim "
-"Löschen'"
-
-#: gtkpod.glade:2368 gtkpod.glade:13423
-msgid "Confirm before removing tracks"
-msgstr "Vor dem Entfernen von Stücken bestätigen"
-
-#: gtkpod.glade:2401
-msgid "Adding/Updating/Syncing"
-msgstr "Hinzufügen/Aktualisieren/Abgleichen"
-
-#: gtkpod.glade:2441 gtkpod.glade:13664
-msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
-msgstr "Tags aus der Datei lesen (z.B. ID3 Tags bei MP3 Dateien)"
-
-#: gtkpod.glade:2460 gtkpod.glade:13683
-msgid ""
-"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
-"several templates by a ';'. The first one matching the filename will be "
-"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
-msgstr ""
-"Künstler: %a, Album: %A, Komponist: %c, Titel: %t, Musikrichtung: %G, Stück-"
-"Nr.: %T, CD-Nr.: %C, Jahr: %Y, Platzhalter: %*, das Zeichen '%': %%. Mehrere "
-"Schablonen können durch ein Semikolon (';') getrennt werden -- die erste, "
-"die auf den Filenamen paßt, wird verwendet. Beispiel: '%a - %A/%T %t.mp3;%t."
-"wav'."
-
-#: gtkpod.glade:2462
-msgid "Use this template to parse filename for tag information"
-msgstr "Diese Schablone verwenden, um aus dem Dateinamen die Tags zu erhalten"
-
-#: gtkpod.glade:2514
-msgid "Overwrite tags that are already set."
-msgstr "Tags, die bereits gesetzt sind, überschreiben."
-
-#: gtkpod.glade:2544
-msgid ""
-"As a last resort set the following tags to the filename if they are (still) "
-"empty:"
-msgstr ""
-"Falls Tags (immer noch) nicht gesetzt sind, die folgenden Tags mit dem "
-"Dateinamen initialisieren:"
-
-#: gtkpod.glade:2723
-msgid "Tag Reading"
-msgstr "Lesen von Tags"
-
-#: gtkpod.glade:2762 gtkpod.glade:2985 gtkpod.glade:14020 gtkpod.glade:14234
-msgid "Currently only rating is supported."
-msgstr "Gegenwärtig wird nur 'Bewertung' unterstützt."
-
-#: gtkpod.glade:2764
-msgid "Use mserv database to fill in additional information"
-msgstr "mserv Datenbank verwenden für zusätzliche Informationen"
-
-#: gtkpod.glade:2792
-msgid "Music Root: "
-msgstr "Stammverzeichnis für Musik: "
-
-#: gtkpod.glade:2816 gtkpod.glade:14074
-msgid "mserv database lookup will be done for music in this directory."
-msgstr "Die mserv Datenbank wird für Tracks in diesem Verzeichnis verwendet."
-
-#: gtkpod.glade:2839 gtkpod.glade:2904 gtkpod.glade:5076 gtkpod.glade:5147
-#: gtkpod.glade:5261 gtkpod.glade:5405 gtkpod.glade:5476 gtkpod.glade:5547
-msgid "..."
-msgstr "..."
-
-#: gtkpod.glade:2857
-msgid "mserv Root: "
-msgstr "mserv Stammverzeichnis: "
-
-#: gtkpod.glade:2881 gtkpod.glade:14120
-msgid "Root directory of mserv database (trackinfo root)."
-msgstr "Stammverzeichnis für die mserv Datenbank (trackinfo root)."
-
-#: gtkpod.glade:2922
-msgid "Username: "
-msgstr "Benutzername: "
-
-#: gtkpod.glade:2946 gtkpod.glade:14166
-msgid "Username to be used for mserv database lookup."
-msgstr ""
-"Benutzername, der zum Nachschlagen in der mserv-Datenbank verwendet wird."
-
-#: gtkpod.glade:2987 gtkpod.glade:14236
-msgid "Show information about problems when accessing mserv"
-msgstr ""
-"Informationen über Probleme während des Zugriffs auf die\n"
-"mserv-Datenbank anzeigen."
-
-#: gtkpod.glade:3030
-msgid "mserv"
-msgstr "mserv"
-
-#: gtkpod.glade:3070 gtkpod.glade:13531
-msgid ""
-"Highly recommended for faster import when taking advantage of the "
-"duplication recognition. Also, having the PC filenames allows writing "
-"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
-"case of file system corruption (change the \"transferred=\" entries in your "
-"backuped database)."
-msgstr ""
-"Diese Option wird dringend empfohlen, um einen schnelleren Import der "
-"iTunesDB bei eingeschalteter Duplikatenerkennung zu erreichen. Da außerdem "
-"die Originalfilenamen gespeichert werden, können Tag-Änderungen in das "
-"Originalfile übernommen werden, und es ist sogar möglich, den Inhalt Ihres "
-"iPods im Falle eines Filesystemschadens (Neuformatierung des iPods) zu "
-"rekonstruieren (dazu müssen die 'transferred=' Einträge in der gesicherten "
-"Datenbank auf '0' gesetzt werden und 'offline' eingelesen werden)."
-
-#: gtkpod.glade:3072 gtkpod.glade:13533
-msgid ""
-"Write extended information (PC filenames,\n"
-" MD5 hashes, charset). Recommended."
-msgstr ""
-"Erweiterte Informationen schreiben (PC Dateinamen,\n"
-"MD5-Prüfsummen, Zeichensatz). Empfohlen."
-
-#: gtkpod.glade:3103
-msgid "Sync (Writing of iTunesDB)"
-msgstr "Sync (Schreiben der iTunesDB)"
-
-#: gtkpod.glade:3143
-msgid "_Input/Output"
-msgstr "_Eingabe/Ausgabe"
-
-#: gtkpod.glade:3270
-msgid "Relative volume adjustment between -100 and +100"
-msgstr "Einstellung der relativen Lautstärke zwischen -100 und +100"
-
-#: gtkpod.glade:3795
-msgid "Displayed Track Attributes "
-msgstr "Angezeigte Informationen "
-
-#: gtkpod.glade:3842
-msgid " _Number of sort tabs: "
-msgstr " _Anzahl der Sort Tabs: "
-
-#: gtkpod.glade:3899
-msgid "Sort Tabs"
-msgstr "Sort Tabs"
-
-#: gtkpod.glade:3939 gtkpod.glade:15168
-msgid ""
-"If you don't select the master playlist automatically, the initial database "
-"import is much faster because the display dosn't have to be updated."
-msgstr ""
-"Wenn die Haupt-Wiedergabeliste nicht automatisch ausgewählt wird, verläuft "
-"der Import der iTunes-Datenbank zu Beginn deutlich schneller, da die Anzeige "
-"nicht aktualisiert werden muß."
-
-#: gtkpod.glade:3941 gtkpod.glade:15170
-msgid "...master playlist"
-msgstr "...Hauptplayliste"
-
-#: gtkpod.glade:3961 gtkpod.glade:15190
-msgid "...entry 'All' in sort tab..."
-msgstr "Eintrag 'Alle' im Sort Tab..."
-
-#: gtkpod.glade:4018
-msgid "Automatically select..."
-msgstr "Wähle automatisch "
-
-#: gtkpod.glade:4059 gtkpod.glade:15447
-msgid "Display toolbar..."
-msgstr "Toolbar anzeigen..."
-
-#: gtkpod.glade:4088 gtkpod.glade:15541
-msgid "...both as icons and text"
-msgstr "...als Text und Graphik"
-
-#: gtkpod.glade:4112 gtkpod.glade:15520
-msgid "...as text"
-msgstr "...als Text"
-
-#: gtkpod.glade:4137 gtkpod.glade:15500
-msgid "...as icons"
-msgstr "...als Graphik"
-
-#: gtkpod.glade:4175
-msgid "Toolbar"
-msgstr "Toolbar"
-
-#: gtkpod.glade:4216 gtkpod.glade:15326
-msgid "Display tooltips in main window"
-msgstr "Tooltips im Hauptfenster anzeigen"
-
-#: gtkpod.glade:4236 gtkpod.glade:15346
-msgid "Display tooltips in prefs window"
-msgstr "Tooltips im Einstellungs-Fenster anzeigen"
-
-#: gtkpod.glade:4262
-msgid "Tooltips"
-msgstr "Tooltips"
-
-#: gtkpod.glade:4346 gtkpod.glade:10103
-msgid "Sorting"
-msgstr "Sortierung"
-
-#: gtkpod.glade:4378 gtkpod.glade:15656
-msgid ""
-"It is much faster to sort the display after all tracks have been added. Some "
-"people might feel irritated by this behaviour and should uncheck this option."
-msgstr ""
-"Es ist deutlich schneller, die Sortierung vorzunehmen nachdem alle Tracks "
-"hinzugefügt wurde. Wen dieses Verhalten irritiert, sollte diese Option "
-"jedoch nicht wählen."
-
-#: gtkpod.glade:4380 gtkpod.glade:15658
-msgid ""
-"Temporarily disable sorting when changing playlist\n"
-"or tab entry (faster!)"
-msgstr ""
-"Sortieren vorübergehend deaktivieren wenn die\n"
-"Wiedergabeliste oder Tab Entry gewechselt wird (schneller!)"
-
-#: gtkpod.glade:4400 gtkpod.glade:15678
-msgid ""
-"The display can be blocked after changing a selection. The display update is "
-"faster, but you have to wait until it's finished. When using this option, "
-"sorting is also temporarily disabled (see option above)."
-msgstr ""
-"Die Anzeige kann bis zur vollständigen Aktualisierung nach einer Änderung "
-"der Auswahl blockiert werden. Die Aktualisierung ist dann schneller, aber es "
-"muß gewartet werden, bis sich gtkpod wieder meldet. Mit dieser Option wird "
-"automatisch auch das Sortieren vorübergehend deaktiviert (siehe Option "
-"weiter oben)."
-
-#: gtkpod.glade:4402 gtkpod.glade:15680
-msgid ""
-"Block display when changing playlist or tab\n"
-" entry (faster!)"
-msgstr ""
-"Anzeige nicht aktualisieren wenn eine neue Wiedergabeliste\n"
-"oder ein neuer Tab-Eintrag gewählt wird (schneller!)"
-
-#: gtkpod.glade:4422 gtkpod.glade:15700
-msgid "This option will be re-activated when you upgrade gtkpod."
-msgstr ""
-"Diese Option wird automatisch aktiviert, wenn ein Update von gtkpod "
-"durchgeführt wird."
-
-#: gtkpod.glade:4424 gtkpod.glade:15702
-msgid "Display messages and warnings at startup"
-msgstr "Nachrichten und Warnungen beim Start des Programms anzeigen"
-
-#: gtkpod.glade:4446
-msgid "Misc"
-msgstr "Verschiedenes"
-
-#: gtkpod.glade:4482 gtkpod.glade:6457
-msgid "_Display"
-msgstr "_Anzeige"
-
-#: gtkpod.glade:4536
-msgid ""
-"The tags are written to the files on your harddrive and on the ipod (if "
-"available)."
-msgstr ""
-"Die Tags werden in die Originalfiles auf der Festplatte und auch auf dem "
-"iPod (wenn angeschlossen) geschrieben."
-
-#: gtkpod.glade:4538 gtkpod.glade:15914
-msgid "Write ID3 tags to disk when modified in gtkpod"
-msgstr ""
-"ID3 Tags bei Änderungen in gtkpod ebenfalls auf\n"
-"der Festplatte und auf dem iPod ändern"
-
-#: gtkpod.glade:4566
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to write the tags. If you have chosen a wrong charset when first importing a "
-"track, you should select this option along with the correct charset.  Note: "
-"uses the extended information file to store the charset information (see "
-"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
-"before V0.51 will have no charset stored -- the charset specified on the "
-"'Input/Output' page will be used."
-msgstr ""
-"Normalerweise wird der Zeichensatz, der beim ersten Einlesen des Stückes "
-"angegeben wurde, auch beim Schreiben der ID3-Tags verwendet. Wenn Sie beim "
-"ersten Einlesen einen falschen Zeichensatz angegeben haben, müssen Sie diese "
-"Option zusammen mit dem richtigen Zeichensatz auswählen. Bitte beachten Sie: "
-"die Information über den verwendeten Zeichensatz wird mit den erweiterten "
-"Informationen gespeichert (siehe 'Schreiben der iTunesDB' auf der 'Eingabe-"
-"Ausgabe' Seite). Stücke, die vor Version 0.51 eingelesen wurden, haben keine "
-"Informationen über den Zeichensatz gespeichert und der auf der 'Eingabe/"
-"Ausgabe'-Seite eingestellte Zeichensatz wird verwendet."
-
-#: gtkpod.glade:4568
-msgid ""
-"Use selected charset (on the 'Import' page)\n"
-" when writing tags"
-msgstr ""
-"Ausgewählten Zeichensatz (auf der Import-Seite)\n"
-" beim Schreiben von ID3-Tags verwenden"
-
-#: gtkpod.glade:4592
-msgid ""
-"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
-"uses unicode to store the tags, so you won't have to worry about charsets "
-"any more. gtkpod will use UTF8 encoding as this will not increase the size "
-"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
-"present in the file to write to."
-msgstr ""
-"Es wird empfohlen, Tags als V2.4 Tags zu schreiben. Allerdings unterstützen "
-"eventuell einige Programme diesen Standard noch nicht. ID3v2.4 verwendet "
-"Unicode, um die Tags zu speichern. Dies bedeutet, daß Sie sich keine "
-"Gedanken mehr über den verwendeten Zeichensatz machen zu brauchen. gtkpod "
-"verwendet UTF8, da dies die Tag-Länge reiner ASCII-Tags nicht verlängert. "
-"ID3v2.4 wird ebenfalls beim Schreiben verwendet, falls die Tags in der Datei "
-"bereits als V2.4 vorliegen."
-
-#: gtkpod.glade:4594 gtkpod.glade:15988
-msgid "Always write ID3v2.4 tags (only applies to MP3)"
-msgstr "Immer ID3v2.4 Tags schreiben (trifft nur auf MP3 zu)"
-
-#: gtkpod.glade:4624
-msgid ""
-"If you select several tracks in the track list and edit a tag of the first "
-"track, the tags in the other tracks are updated as well."
-msgstr ""
-"Wenn mehrere Stücke im der Stücke-Anzeige ausgewählt sind und ein Tag im "
-"ersten Stück geändert wird, wird das entsprechende Tag auch in den anderen "
-"Stücken aktualisiert."
-
-#: gtkpod.glade:4626
-msgid "Use 'Multi-Edit' for track selections"
-msgstr "'Multi-Edit' bei markierten Stücken verwenden"
-
-#: gtkpod.glade:4654
-msgid ""
-"Usually you don't want to set the title of several tracks to the same text. "
-"This option might avoid unwanted results (especially since there is no "
-"'undo' yet)."
-msgstr ""
-"Es kommt selten vor, daß die Titel mehrerer Stücke auf den selben Text "
-"gesetzt werden sollen. Diese Option verhindert möglicherweise ungewünschte "
-"Resultate, insbesondere da noch keine 'Undo'-Funktion existiert."
-
-#: gtkpod.glade:4656 gtkpod.glade:16069
-msgid "Use 'Multi-Edit' also for title field"
-msgstr "'Multi-Edit' auch für das Titel-Feld verwenden"
-
-#: gtkpod.glade:4689
-msgid "Track Editing"
-msgstr "Bearbeiten von Stücken"
-
-#: gtkpod.glade:4738
-msgid ""
-"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
-"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
-msgstr ""
-"Anzahl der Stücke in den generierten Wiedergabelisten 'Am häufigsten gehörte "
-"Stücke', 'Höchstgewertete Stücke' und 'Zuletzt gespielte Stücke'. Wählen Sie "
-"'0', wenn Sie die Anzahl nicht begrenzen wollen."
-
-#: gtkpod.glade:4762
-msgid " Number of tracks in generated playlists: "
-msgstr " Anzahl der Stücke in generierten Wiedergabelisten: "
-
-#: gtkpod.glade:4794 gtkpod.glade:16231
-msgid "Also include tracks never played in \"Best Rated\" playlist"
-msgstr ""
-"Auch Stücke in die 'am besten bewertete' Wiedergabeliste aufnehmen,\n"
-"die nie gespielt wurden"
-
-#: gtkpod.glade:4816
-msgid "Auto-Generated Playlists"
-msgstr "Automatisch generierte Wiedergabelisten"
-
-#: gtkpod.glade:4865 gtkpod.glade:16332
-msgid "Before removing playlists or tracks from a playlist"
-msgstr ""
-"Vor dem Entfernen von Wiedergabelisten oder Stücken aus einer Wiedergabeliste"
-
-#: gtkpod.glade:4885
-msgid "Before removing tracks completely from the iPod"
-msgstr "Vor dem vollständigen Löschen vom iPod"
-
-#: gtkpod.glade:4904
-msgid ""
-"This option only has a meaning if you activate the 'Delete Tracks that have "
-"been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/"
-"Output' tab."
-msgstr ""
-"Diese Option hat nur eine Bedeutung, wenn Sie die Option 'Stücke, die "
-"entfernt wurden, löschen' im 'Abgleich von Verzeichnissen'-Bereich auf der "
-"'Eingabe/Ausgabe'-Seite aktiviert haben."
-
-#: gtkpod.glade:4906
-msgid ""
-"Before removing tracks completely when\n"
-" synchronizing directories"
-msgstr ""
-"Vor dem vollständigen Löschen vom iPod beim\n"
-" Abgleich von Verzeichnissen"
-
-#: gtkpod.glade:4929
-msgid "Delete Confirmation "
-msgstr "Sicherheitsabfrage beim Löschen "
-
-#: gtkpod.glade:5028
-msgid "Command Line for 'Play Now':"
-msgstr "Kommandozeile für 'Jetzt abspielen'"
-
-#: gtkpod.glade:5055
-msgid ""
-"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
-"tracks and start playing."
-msgstr ""
-"'xmms %s', z.B., löscht die aktuelle Wiedergabeliste von xmms, fügt die "
-"ausgewählten Stücke hinzu und beginnt mit der Wiedergabe."
-
-#: gtkpod.glade:5099
-msgid "Command Line for 'Enqueue':"
-msgstr "Kommandozeile für 'Zum Abspielen Vormerken':"
-
-#: gtkpod.glade:5126
-msgid ""
-"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
-"current playlist."
-msgstr ""
-"'xmms -e %s', z.B., fügt die ausgewählten Stücke zur aktuellen Playlist von "
-"xmms hinzu."
-
-#: gtkpod.glade:5172
-msgid "Track Playing"
-msgstr "Wiedergabe"
-
-#: gtkpod.glade:5213
-msgid "Exact path for the 'mp3gain' executable:"
-msgstr "Genauer Pfad des mp3gain-Programms:"
-
-#: gtkpod.glade:5240
-msgid ""
-"You only need to specify this if your 'mp3gain' executable is not in your "
-"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
-"calculated gain value back to the file -- if you don't want this, set this "
-"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
-"are not already set by your encoder. E.g. lame version 0.95 already writes "
-"the gain values into tags. The exact conversion factor between mp3gain's "
-"gain value and iPod's volume tag is not known yet -- your input is "
-"appreciated."
-msgstr ""
-"Sie müssen diese Angabe nur machen, wenn sich Ihr 'mp3gain' Programm nicht "
-"im Suchpfad befinden. Zum Beispiel: '/usr/local/foo/mp3gain'. mp3gain "
-"schreibt den berechneten Gain-Wert zurück in die mp3-Datei -- wenn Sie dies "
-"nicht wünschen, setzen Sie diesen Eintrag auf '/bin/true' oder ähnliches. "
-"mp3gain wird nur aufgerufen, wenn die benötigten Tags nicht bereits von "
-"Ihrem Encoder gesetzt wurden. Z.B. speichert lame ab Version 0.95 "
-"standardmäßig die Gain-Werte in Tags. Der genaue Umrechnungsfaktor zwischen "
-"mp3gains Gain-Wert und iPods Volume-Tag ist noch nicht bekannt -- falls Sie "
-"mehr wissen kontaktieren Sie mich bitte."
-
-#: gtkpod.glade:5294
-msgid "Volume Normalization"
-msgstr "Lautstärkenormalisierung"
-
-#: gtkpod.glade:5357
-msgid "Command to synchronize contacts:"
-msgstr "Kommandozeile um Kontakte abzugleichen:"
-
-#: gtkpod.glade:5384 gtkpod.glade:5455 gtkpod.glade:5526
-msgid ""
-"Specify exact path including command line options. '%i' will be replaced "
-"with the mount point of the iPod."
-msgstr ""
-"Geben sie den genauen Pfad einschließlich Kommandozeilenoptionen an. '%i' "
-"wird mit dem Mountpoint des iPods ersetzt."
-
-#: gtkpod.glade:5428
-msgid "Command to be called to synchronize calendar:"
-msgstr "Kommandozeile zum Abgleichen des Kalenders:"
-
-#: gtkpod.glade:5499
-msgid "Command to be called to synchronize notes:"
-msgstr "Kommandozeile zum Abgleichen der Notizen:"
-
-#: gtkpod.glade:5570 gtkpod.glade:17110
-msgid "Call automatically when synchronizing iTunesDB"
-msgstr "Automatisch aufrufen wenn die iTunesDB abgeglichen wird"
-
-#: gtkpod.glade:5592
-msgid "Contacts / Calendar / Notes"
-msgstr "Kontakte / Kalender / Notizen"
-
-#: gtkpod.glade:5716
+#: gtkpod.glade:1898
 msgid "special_sorttab -- Don't translate!"
 msgstr "special_sorttab -- Don't translate!\""
 
-#: gtkpod.glade:5750
+#: gtkpod.glade:1932
 msgid " Logic: "
 msgstr "Logik:"
 
-#: gtkpod.glade:5772
+#: gtkpod.glade:1954
 msgid "Any (OR)"
 msgstr "Eines (ODER)"
 
-#: gtkpod.glade:5791
+#: gtkpod.glade:1973
 msgid "All (AND)"
 msgstr "Alle (UND)"
 
-#: gtkpod.glade:5844
+#: gtkpod.glade:2026
 msgid "0"
 msgstr "0"
 
-#: gtkpod.glade:5863
+#: gtkpod.glade:2045
 msgid "1"
 msgstr "1"
 
-#: gtkpod.glade:5882
+#: gtkpod.glade:2064
 msgid "2"
 msgstr "2"
 
-#: gtkpod.glade:5901
+#: gtkpod.glade:2083
 msgid "3"
 msgstr "3"
 
-#: gtkpod.glade:5920
+#: gtkpod.glade:2102
 msgid "4"
 msgstr "4"
 
-#: gtkpod.glade:5939
+#: gtkpod.glade:2121
 msgid "5"
 msgstr "5"
 
-#: gtkpod.glade:5978
+#: gtkpod.glade:2160
 msgid "Select '0' for no lower limit."
 msgstr "'0' wählen für 'keine untere Schranke'."
 
-#: gtkpod.glade:5999
+#: gtkpod.glade:2181
 msgid " <= cts <= "
 msgstr " <= num <= "
 
-#: gtkpod.glade:6020
+#: gtkpod.glade:2202
 msgid "Select '-1' for no upper limit."
 msgstr "'-1' wählen für 'keine obere Schranke'."
 
-#: gtkpod.glade:6063 gtkpod.glade:6136 gtkpod.glade:6302
+#: gtkpod.glade:2245 gtkpod.glade:2318 gtkpod.glade:2484
 msgid ""
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
 "finished."
@@ -4246,19 +3587,23 @@
 "z.B. 'TT/MM/JJJJ SS:MM < d < TT/MM/JJJJ SS:MM' oder ähnliches. Nach der "
 "Eingabe bitte 'Return' drücken."
 
-#: gtkpod.glade:6105 gtkpod.glade:6178 gtkpod.glade:6344 gtkpod.glade:6519
+#: gtkpod.glade:2287 gtkpod.glade:2360 gtkpod.glade:2526 gtkpod.glade:2701
 msgid "Calendar"
 msgstr "Kalender"
 
-#: gtkpod.glade:6203
+#: gtkpod.glade:2385
 msgid "Specify interval"
 msgstr "Intervall angeben"
 
-#: gtkpod.glade:6414
+#: gtkpod.glade:2596
 msgid "Display tracks that match the criteria entered above."
 msgstr "Stücke anzeigen, welche die oben genannten Kriterien erfüllen."
 
-#: gtkpod.glade:6489
+#: gtkpod.glade:2639 gtkpod.glade:11330
+msgid "_Display"
+msgstr "_Anzeige"
+
+#: gtkpod.glade:2671
 msgid ""
 "Automatically start displaying tracks that match the criteria entered above. "
 "If not selected, you must press 'Display' to start displaying."
@@ -4267,69 +3612,70 @@
 "automatisch starten. Wenn diese Option nicht aktiviert ist, müssen Sie "
 "'Anzeigen' drücken."
 
-#: gtkpod.glade:6491
+#: gtkpod.glade:2673
 msgid "Start display automatically"
 msgstr "Anzeige automatisch starten"
 
-#: gtkpod.glade:6564
+#: gtkpod.glade:2746
 msgid "Sorttab: "
 msgstr "Sort Tab: "
 
-#: gtkpod.glade:6604
+#: gtkpod.glade:2786
 msgid "     "
 msgstr "     "
 
-#: gtkpod.glade:6626
+#: gtkpod.glade:2808
 msgid "Category: "
 msgstr "Kategorie: "
 
-#: gtkpod.glade:6703
+#: gtkpod.glade:2885
 msgid "Please specify a time interval"
 msgstr "Intervall angeben"
 
-#: gtkpod.glade:6748
+#: gtkpod.glade:2930
 msgid "Lower Margin"
 msgstr "Untere Grenze"
 
-#: gtkpod.glade:6795 gtkpod.glade:7001
+#: gtkpod.glade:2977 gtkpod.glade:3183
 msgid "Time:"
 msgstr "Zeit:"
 
-#: gtkpod.glade:6838 gtkpod.glade:7044
+#: gtkpod.glade:3020 gtkpod.glade:3226
 msgid ":"
 msgstr ":"
 
-#: gtkpod.glade:6911
+#: gtkpod.glade:3093
 msgid "No lower margin"
 msgstr "Keine untere Grenze"
 
-#: gtkpod.glade:6954
+#: gtkpod.glade:3136
 msgid "Upper margin"
 msgstr "Obere Grenze"
 
-#: gtkpod.glade:7117
+#: gtkpod.glade:3299
 msgid "No upper margin"
 msgstr "Keine obere Grenze"
 
-#: gtkpod.glade:7215 gtkpod.glade:8858
+#: gtkpod.glade:3397
 msgid "Sorting Options"
 msgstr "Sortieroptionen"
 
-#: gtkpod.glade:7245
+#: gtkpod.glade:3427
 msgid "<b>Sort Order</b>"
 msgstr "<b>Sortier-Reihenfolge</b>"
 
-#: gtkpod.glade:7272 gtkpod.glade:8522 gtkpod.glade:12807 gtkpod.glade:12983
-#: gtkpod.glade:13151 gtkpod.glade:13226 gtkpod.glade:13280 gtkpod.glade:13355
-#: gtkpod.glade:13510 gtkpod.glade:13636 gtkpod.glade:13710 gtkpod.glade:13993
-#: gtkpod.glade:14355 gtkpod.glade:15005 gtkpod.glade:15141 gtkpod.glade:15298
-#: gtkpod.glade:15419 gtkpod.glade:15472 gtkpod.glade:15629 gtkpod.glade:15886
-#: gtkpod.glade:15939 gtkpod.glade:16047 gtkpod.glade:16149 gtkpod.glade:16304
-#: gtkpod.glade:16518 gtkpod.glade:16737 gtkpod.glade:16874
+#: gtkpod.glade:3454 gtkpod.glade:4704 gtkpod.glade:7682 gtkpod.glade:7860
+#: gtkpod.glade:8031 gtkpod.glade:8108 gtkpod.glade:8163 gtkpod.glade:8239
+#: gtkpod.glade:8396 gtkpod.glade:8522 gtkpod.glade:8879 gtkpod.glade:9338
+#: gtkpod.glade:9700 gtkpod.glade:10487 gtkpod.glade:10644 gtkpod.glade:10801
+#: gtkpod.glade:10922 gtkpod.glade:10975 gtkpod.glade:11132 gtkpod.glade:11389
+#: gtkpod.glade:11443 gtkpod.glade:11554 gtkpod.glade:11657 gtkpod.glade:11813
+#: gtkpod.glade:12027 gtkpod.glade:12248 gtkpod.glade:12386 gtkpod.glade:12751
+#: gtkpod.glade:12869 gtkpod.glade:13043 gtkpod.glade:13278 gtkpod.glade:13380
 msgid "    "
 msgstr "    "
 
-#: gtkpod.glade:7300
+#: gtkpod.glade:3482
 msgid ""
 "In order to save the displayed track order to the iPod choose 'Save "
 "Displayed Track Order' from the 'Edit' menu or select 'Auto Store' below."
@@ -4338,43 +3684,39 @@
 "'Dargestellte Reihenfolge speichern' im 'Bearbeiten'-Menü oder wählen die "
 "Option \"Auto-Speichern\" unten aus."
 
-#: gtkpod.glade:7683 gtkpod.glade:9257
+#: gtkpod.glade:3865
 msgid "Ascending"
 msgstr "Aufsteigend"
 
-#: gtkpod.glade:7727 gtkpod.glade:9301
+#: gtkpod.glade:3909
 msgid "Descending"
 msgstr "Absteigend"
 
-#: gtkpod.glade:7771 gtkpod.glade:9345
+#: gtkpod.glade:3953
 msgid "None"
 msgstr "Keine"
 
-#: gtkpod.glade:7860 gtkpod.glade:9434
+#: gtkpod.glade:4042
 msgid "Sorttabs"
 msgstr "Sort Tabs"
 
-#: gtkpod.glade:7905 gtkpod.glade:9479
+#: gtkpod.glade:4087
 msgid "Tracks"
 msgstr "Stücke"
 
-#: gtkpod.glade:8058 gtkpod.glade:9632
+#: gtkpod.glade:4240
 msgid "Auto Store"
 msgstr "Auto-Speichern"
 
-#: gtkpod.glade:8103 gtkpod.glade:8149 gtkpod.glade:9677 gtkpod.glade:9723
+#: gtkpod.glade:4285 gtkpod.glade:4331
 msgid "Please refer to the notice below."
 msgstr "Bitte beachten Sie den Hinweis weiter unten."
 
-#: gtkpod.glade:8183 gtkpod.glade:9757
-msgid "n/a"
-msgstr "---"
-
-#: gtkpod.glade:8381 gtkpod.glade:9955
+#: gtkpod.glade:4563
 msgid "Sort tracks according to: "
 msgstr "Sortiere Stücke nach: "
 
-#: gtkpod.glade:8411 gtkpod.glade:9985
+#: gtkpod.glade:4593
 msgid ""
 "You can also use the table headers, but this allows you to sort according to "
 "a column that is not displayed."
@@ -4382,7 +3724,7 @@
 "Sie können auch die Spaltenköpfe anklicken, aber diese Option ermöglicht es "
 "auch nach Spalten zu sortieren, die nicht angezeigt werden."
 
-#: gtkpod.glade:8447 gtkpod.glade:10032
+#: gtkpod.glade:4629
 msgid ""
 "If checked, sorting will be case sensitive. Please note that case sensitive "
 "sorting will not work well with most charsets."
@@ -4391,78 +3733,64 @@
 "Kleinschreibung beachtet. Mit den meisten Zeichensätzen funktioniert diese "
 "Funktion jedoch nicht wie gewünscht."
 
-#: gtkpod.glade:8449 gtkpod.glade:10034
+#: gtkpod.glade:4631
 msgid "Sorting case sensitive"
 msgstr "Beim Sortieren Groß-/Kleinschreibung beachten"
 
-#: gtkpod.glade:8495
+#: gtkpod.glade:4677
 msgid "<b>Ignore Frequent Words</b>"
 msgstr "<b>Ignoriere oftverwendete Wörter</b>"
 
-#: gtkpod.glade:8587
+#: gtkpod.glade:4769
 msgid "Ignore these words when at the beginning of the following fields:"
 msgstr "Ignoriere folgende Wörter, wenn Sie am Anfang von Feldern stehen:"
 
-#: gtkpod.glade:10071
-msgid ""
-"Notice: the track order is always stored to the iPod when you use drag and "
-"drop to re-arrange the tracks.\n"
-"In order to store an alphabetized track order to the iPod you must choose "
-"the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' "
-"above."
-msgstr ""
-"Hinweis: die Reihenfolge der Stücke wird immer gespeichert, wenn sie durch "
-"eine Drag-und-Drop-Aktion verändert wurde. Um eine alphabetisch sortierte "
-"Reihenfolge zu speichern benutzen Sie den Eintrag 'Dargestellte Reihenfolge "
-"speichern' im 'Bearbeiten'-Menü oder wählen die Option \"Auto-Speichern\" "
-"oben aus."
-
-#: gtkpod.glade:10183
+#: gtkpod.glade:5040
 msgid "gtkpod Info"
 msgstr "gtkpod Info"
 
-#: gtkpod.glade:10482 gtkpod.glade:10557 gtkpod.glade:10582 gtkpod.glade:11208
-#: gtkpod.glade:11341
+#: gtkpod.glade:5339 gtkpod.glade:5414 gtkpod.glade:5439 gtkpod.glade:6065
+#: gtkpod.glade:6198
 msgid "      "
 msgstr "     "
 
-#: gtkpod.glade:10835
+#: gtkpod.glade:5692
 msgid "Number of tracks"
 msgstr "Anzahl der Stücke"
 
-#: gtkpod.glade:10861
+#: gtkpod.glade:5718
 msgid "Play time"
 msgstr "Spielzeit"
 
-#: gtkpod.glade:10888
+#: gtkpod.glade:5745
 msgid "File size"
 msgstr "Dateigröße"
 
-#: gtkpod.glade:10914
+#: gtkpod.glade:5771
 msgid "Number of playlists"
 msgstr "Anzahl der Wiedergabelisten"
 
-#: gtkpod.glade:10940
+#: gtkpod.glade:5797
 msgid "Deleted tracks"
 msgstr "Gelöschte Stücke"
 
-#: gtkpod.glade:10966
+#: gtkpod.glade:5823
 msgid "File size (deleted)"
 msgstr "Dateigröße (gelöscht)"
 
-#: gtkpod.glade:10992
+#: gtkpod.glade:5849
 msgid "Non-transferred tracks"
 msgstr "Nicht übertragene Stücke"
 
-#: gtkpod.glade:11018
+#: gtkpod.glade:5875
 msgid "File size (non-transferred)"
 msgstr "Dateigröße (nicht übertragen)"
 
-#: gtkpod.glade:11044
+#: gtkpod.glade:5901
 msgid "Effective free space"
 msgstr "Effektiv freier Platz"
 
-#: gtkpod.glade:11070
+#: gtkpod.glade:5927
 msgid ""
 "Total\n"
 "(iPod)"
@@ -4470,7 +3798,7 @@
 "Insgesamt\n"
 "(iPod)"
 
-#: gtkpod.glade:11098
+#: gtkpod.glade:5955
 msgid ""
 "Selected\n"
 "Playlist"
@@ -4478,7 +3806,7 @@
 "Ausgewählte\n"
 "Wiedergabeliste"
 
-#: gtkpod.glade:11126
+#: gtkpod.glade:5983
 msgid ""
 "Displayed\n"
 "Tracks"
@@ -4486,7 +3814,7 @@
 "Angezeigte\n"
 "Stücke"
 
-#: gtkpod.glade:11154
+#: gtkpod.glade:6011
 msgid ""
 "Selected\n"
 "Tracks"
@@ -4494,7 +3822,7 @@
 "Ausgewählte\n"
 "Stücke"
 
-#: gtkpod.glade:11182
+#: gtkpod.glade:6039
 msgid ""
 "Total\n"
 "(local)"
@@ -4502,27 +3830,27 @@
 "Insgesamt\n"
 "(lokal)"
 
-#: gtkpod.glade:11579
+#: gtkpod.glade:6436
 msgid "label21"
 msgstr "label21"
 
-#: gtkpod.glade:11670
+#: gtkpod.glade:6527
 msgid "Never show this dialogue again"
 msgstr "Diesen Dialog nie wieder zeigen"
 
-#: gtkpod.glade:11715 gtkpod.glade:12041
+#: gtkpod.glade:6572 gtkpod.glade:6898
 msgid "window1"
 msgstr "window1"
 
-#: gtkpod.glade:11772
+#: gtkpod.glade:6629
 msgid "_M3U"
 msgstr "_M3U"
 
-#: gtkpod.glade:11791
+#: gtkpod.glade:6648
 msgid "_PLS"
 msgstr "_PLS"
 
-#: gtkpod.glade:11829
+#: gtkpod.glade:6686
 msgid ""
 "If available, the local copy of the track is referenced in the playlist. "
 "Otherwise the file on the iPod is used."
@@ -4530,11 +3858,11 @@
 "Wenn verfügbar, die lokale Kopie des Tracks wird in die Wiedergabeliste "
 "eingetragen. Andernfalls die Datei auf dem iPod wird verwendet."
 
-#: gtkpod.glade:11831
+#: gtkpod.glade:6688
 msgid "_Prefer Local"
 msgstr "Lokal _bevorzugen"
 
-#: gtkpod.glade:11849
+#: gtkpod.glade:6706
 msgid ""
 "The local copy of the track is referenced in the playlist. If the track is "
 "not available locally, an error message is displayed."
@@ -4542,31 +3870,31 @@
 "Die lokale Kopie des Tracks wird in der Wiedergabeliste eingetragen. Falls "
 "der Track lokal nicht verfügbar ist, wird eine Fehlermeldung ausgegeben."
 
-#: gtkpod.glade:11851
+#: gtkpod.glade:6708
 msgid "_Local"
 msgstr "_Lokal"
 
-#: gtkpod.glade:11870
+#: gtkpod.glade:6727
 msgid "The track on the iPod is referenced in the playlist file."
 msgstr "Die Datei auf dem iPod wird in die Wiedergabeliste eingetragen."
 
-#: gtkpod.glade:11872
+#: gtkpod.glade:6729
 msgid "_iPod"
 msgstr "_iPod"
 
-#: gtkpod.glade:11905
+#: gtkpod.glade:6762
 msgid "Playlist type:"
 msgstr "Art der Wiedergabeliste:"
 
-#: gtkpod.glade:11930
+#: gtkpod.glade:6787
 msgid "Source:"
 msgstr "Quelle:"
 
-#: gtkpod.glade:11969
+#: gtkpod.glade:6826
 msgid "Template for info field: "
 msgstr "Schablone für dieses Feld: "
 
-#: gtkpod.glade:11990
+#: gtkpod.glade:6847
 msgid ""
 "Determines how the string for the info field should be constructed, e.g '%a/%"
 "A/%T - %t.mp3' or '%o'.  You can separate several templates by semicolons -- "
@@ -4582,15 +3910,15 @@
 "Musikrichtung: %G, Stück-Nr.: %T, CD-Nr.: %C, Jahr: %Y,  ursprünglicher "
 "Dateiname (benötigt 'Erweiterte Informationen'): %o, das Zeichen '%': %%."
 
-#: gtkpod.glade:12021 gtkpod.glade:12251
+#: gtkpod.glade:6878 gtkpod.glade:7108
 msgid "gtkpod options"
 msgstr "gtkpod Optionen"
 
-#: gtkpod.glade:12077
+#: gtkpod.glade:6934
 msgid "Filename Format: "
 msgstr "Format für Dateinamen: "
 
-#: gtkpod.glade:12098
+#: gtkpod.glade:6955
 msgid ""
 "Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
 "mp3' or '%o'.  You can separate several patterns by semicolons -- gtkpod "
@@ -4607,11 +3935,11 @@
 "Dateiname (benötigt 'Erweiterte Informationen'): %o, die aktuelle "
 "Wiedergabelist: %p, das Zeichen '%': %%."
 
-#: gtkpod.glade:12103
+#: gtkpod.glade:6960
 msgid " "
 msgstr " "
 
-#: gtkpod.glade:12125
+#: gtkpod.glade:6982
 msgid ""
 "Normally the charset specified when first importing the track will be used "
 "for the filename. If you set this option you can set a different charset "
@@ -4629,7 +3957,7 @@
 "eingelesen wurden, haben keine Informationen über den Zeichensatz "
 "gespeichert und der oben spezifizierte Zeichensatz wird verwendet."
 
-#: gtkpod.glade:12127
+#: gtkpod.glade:6984
 msgid ""
 "Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
 "for this filename."
@@ -4637,7 +3965,7 @@
 "Gewählten Zeichensatz (Einstellungen/'Hinzufügen/Aktualisieren/Abgleichen') "
 "für diesen Dateinamen verwenden."
 
-#: gtkpod.glade:12146
+#: gtkpod.glade:7003
 msgid ""
 "When copying from iPod no check is performed on whether the destination file "
 "exists. Enabling this option will make gtkpod check whether the length of "
@@ -4651,104 +3979,293 @@
 "einen schnellen Abgleich der Daten auf Ihrer Festplatte mit denen des iPods "
 "vorzunehmen."
 
-#: gtkpod.glade:12148
+#: gtkpod.glade:7005
 msgid "Check for existing files when copying from iPod."
 msgstr "Bei Kopieren vom iPod Überprüfen, ob Datei bereits existiert."
 
-#: gtkpod.glade:12312
+#: gtkpod.glade:7169
 msgid "Playlist name:"
 msgstr "Name der Wiedergabeliste:"
 
-#: gtkpod.glade:12377
+#: gtkpod.glade:7234
 msgid "Match al_l of the following"
 msgstr "_Alle der folgenden Regeln"
 
-#: gtkpod.glade:12396
+#: gtkpod.glade:7253
 msgid "Match an_y of the following"
 msgstr "Mindestens _eine der folgenden Regeln"
 
-#: gtkpod.glade:12416
+#: gtkpod.glade:7273
 msgid "_Ignore rules"
 msgstr "_Regeln nicht verwenden"
 
-#: gtkpod.glade:12468
+#: gtkpod.glade:7343
 msgid "Rules"
 msgstr "Regeln"
 
-#: gtkpod.glade:12501
+#: gtkpod.glade:7376
 msgid "_Limit to"
 msgstr "_Limitieren auf"
 
-#: gtkpod.glade:12550
+#: gtkpod.glade:7425
 msgid "   Sort by:"
 msgstr "   Sortieren nach:"
 
-#: gtkpod.glade:12596
+#: gtkpod.glade:7471
 msgid "Match only _checked tracks"
 msgstr "_Nur ausgewählte Stücke einbeziehen"
 
-#: gtkpod.glade:12628
+#: gtkpod.glade:7503
 msgid "Live _updating"
 msgstr "_Live-Update"
 
-#: gtkpod.glade:12780
+#: gtkpod.glade:7594
+msgid "Preferences"
+msgstr "Einstellungen"
+
+#: gtkpod.glade:7655
 msgid "<b>Import</b>"
 msgstr "<b>Importieren</b>"
 
-#: gtkpod.glade:12840
+#: gtkpod.glade:7715
 msgid "iPod Mount _Point:"
 msgstr "iPod Mount _Point:"
 
-#: gtkpod.glade:12956
+#: gtkpod.glade:7737
+msgid ""
+"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
+msgstr "Wo ist Ihr iPod gemountet? Für gewöhnlich unter '/mnt/ipod/'."
+
+#: gtkpod.glade:7765
+msgid ""
+"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
+"<ipod mountpoint>' call is carried out. For more complicated arrangements "
+"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
+msgstr ""
+"Beim Start von gtkpod wird 'mount <ipod mountpoint>' ausgeführt, beim "
+"Beenden 'umount <ipod mountpoint>'. Für weitergehende Aktionen verwenden Sie "
+"bitte die Skripte '~/.gtkpod/gtkpod.in' und '~/.gtkpod/gtkpod.out'."
+
+#: gtkpod.glade:7767
+msgid "Handle mounting/unmounting of iPod drive"
+msgstr "Mount/Unmount des iPod-Verzeichnisses"
+
+#: gtkpod.glade:7787
+msgid "Automatically import iTunesDB on startup"
+msgstr "Beim Starten iTunes-Datenbank automatisch importieren?"
+
+#: gtkpod.glade:7833
 msgid "<b>Adding/Updating/Syncing</b>"
 msgstr "<b>Hinzufügen/Aktualisieren/Abgleichen</b>"
 
-#: gtkpod.glade:13016
-msgid "_Charset (ID3, files):"
-msgstr "_Zeichensatz (ID3, Dateinamen):"
+#: gtkpod.glade:7893
+msgid "_Encoding (ID3, files):"
+msgstr "_Kodierung (ID3, Dateinamen):"
 
-#: gtkpod.glade:13085
+#: gtkpod.glade:7924
 msgid ""
-"Use selected charset also when updating \n"
+"gtkpod expects the ID3 tags and the filenames to be in the encoding "
+"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
+"operation. 'System Charset' is the charset used by your current locale."
+msgstr ""
+"gtkpod erwartet, daß die Filenamen und ID3 tags in der Kodierung vorliegen, "
+"die hier angegeben wird. Diese kann natürlich zwischen zwei Aufrufen von "
+"'Files hinzufügen' oder 'Verzeichnisse hinzufügen' geändert werden. "
+"'Systemzeichensatz' bezeichnet die Standardkodierung der aktuellen Locale."
+
+#: gtkpod.glade:7961
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to update the track information. If you have chosen a wrong charset when "
+"first importing a track and want to correct it using the 'Update Track' "
+"function, you must check this option. Note: the charset info is stored in "
+"the extended information file (see 'Writing of iTunesDB' below) and tracks "
+"imported before V0.51 will have no charset stored. Instead the charset "
+"specified above will be used then."
+msgstr ""
+"Normalerweise wird der Zeichensatz, der beim ersten Einlesen spezifiziert "
+"wurde, auch verwendet, um ein Stück zu aktualisieren. Wenn Sie beim ersten "
+"Einlesen einen falschen Zeichensatz angegeben haben und dies nun mittels "
+"'Stücke aktualisieren' korrigieren wollen, müssen Sie diese Option "
+"auswählen. Bitte beachten Sie: die Information über den verwendeten "
+"Zeichensatz wird mit den erweiterten Informationen gespeichert (siehe "
+"'Schreiben der iTunesDB' weiter unten). Stücke, die vor Version 0.51 "
+"eingelesen wurden, haben keine Informationen über den Zeichensatz "
+"gespeichert und der oben spezifizierte Zeichensatz wird verwendet."
+
+#: gtkpod.glade:7963
+msgid ""
+"Use selected encoding also when updating \n"
 "or syncing tracks"
 msgstr ""
-"Gewählten Zeichensatz auch verwenden wenn Stücke\n"
+"Gewählte Kodierung auch verwenden wenn Stücke\n"
 "aktualisiert oder Verzeichnisse abgeglichen werden"
 
-#: gtkpod.glade:13200
+#: gtkpod.glade:7983
+msgid "If you check this, gtkpod will descend into subdirectories recursively."
+msgstr "Wenn Sie diese Option wählen werden Verzeichnisse rekursiv eingelesen."
+
+#: gtkpod.glade:7985
+msgid "Add directories recursively"
+msgstr "Verzeichnisse rekursiv hinzufügen"
+
+#: gtkpod.glade:8004
+msgid "Duplicate Recognition is based on a (modified) md5 hash over the file."
+msgstr ""
+"Die Duplikatenerkennung basiert auf einem (modifizierten) md5-Hash über die "
+"Dateien."
+
+#: gtkpod.glade:8006
+msgid "Don't allow file duplication"
+msgstr "Mehrfaches Einlesen von Stücken verhindern"
+
+#: gtkpod.glade:8052
 msgid ""
+"Display the list of duplicates that have been detected after adding files."
+msgstr ""
+"Eine Liste der Duplikate anzeigen, die während des Hinzufügens von Stücken "
+"erkannt wurden."
+
+#: gtkpod.glade:8054
+msgid "Display info about detected duplicates"
+msgstr "Information über erkannte Duplikate anzeigen"
+
+#: gtkpod.glade:8080
+msgid ""
+"If the filename (full path) of an existing track matches that of a track to "
+"be added, this option allows you to update the information about the "
+"existing track rather than just skipping the track altogether. No update "
+"will take place if the file hasn't changed and you have selected the 'Don't "
+"allow file duplication' option above."
+msgstr ""
+"Wenn der Dateiname (inkl. Pfad) eines bereits eingelesenen Stückes identisch "
+"ist zum Dateinamen eines neu einzulesenden Stückes, dann erlaubt diese "
+"Option Ihnen das alte Stück zu überschreiben. Normalerweise wird das "
+"Einlesen des Stückes einfach übersprungen. Wenn sich das File nicht geändert "
+"hat, und Sie die Option 'Mehrfaches Einlesen von Stücken verhindern' "
+"aktiviert haben, wird das Einlesen ebenfalls übersprungen."
+
+#: gtkpod.glade:8082
+msgid ""
 "When adding dirs/files, update information of\n"
 "existing tracks with identical filenames"
 msgstr ""
 "Beim Hinzufügen von Stücken bereits eingelesene\n"
 "Stücke mit demselben Dateinamen aktualisieren."
 
-#: gtkpod.glade:13383
+#: gtkpod.glade:8129
+msgid "Display a list of tracks that could actually be updated."
+msgstr ""
+"Nach dem Aktualisieren eine Liste derer Stücke anzeigen, die tatsächlich "
+"aktualisiert wurden."
+
+#: gtkpod.glade:8131
+msgid "Display info about updated tracks"
+msgstr "Informationen über aktualisierte Stücke anzeigen"
+
+#: gtkpod.glade:8184
+msgid "Display a list of tracks that could not be updated."
+msgstr ""
+"Nach dem Aktualisieren eine Liste derer Stücke anzeigen, bei denen die "
+"Aktualisierung nicht vorgenommen werden konnte."
+
+#: gtkpod.glade:8186
+msgid "Display info about non-updated tracks"
+msgstr "Informationen über nicht aktualisierte Stücke anzeigen"
+
+#: gtkpod.glade:8212
+msgid "When syncing directories"
+msgstr "Beim Abgleich von Verzeichnissen"
+
+#: gtkpod.glade:8267
 msgid "Confirm lists of directories"
 msgstr "Liste der Verzeichnisse bestätigen"
 
-#: gtkpod.glade:13483
+#: gtkpod.glade:8286
+msgid ""
+"If you check this option, tracks that have been removed from the synced "
+"directories will be removed from the iPod as well."
+msgstr ""
+"Wenn Sie diese Option wählen, werden Stücke, die aus den abzugleichenden "
+"Verzeichnissen entfernt wurden, auch auf dem iPod gelöscht."
+
+#: gtkpod.glade:8288
+msgid "Delete tracks that have been removed"
+msgstr "Stücke, die entfernt wurden, löschen"
+
+#: gtkpod.glade:8307
+msgid "This is the same option as in 'Edit/Delete Confirmation'"
+msgstr ""
+"Diese Option ist identisch zu der in 'Bearbeiten/Sicherheitsabfrage beim "
+"Löschen'"
+
+#: gtkpod.glade:8309
+msgid "Confirm before removing tracks"
+msgstr "Vor dem Entfernen von Stücken bestätigen"
+
+#: gtkpod.glade:8369
 msgid "<b>Sync</b>"
 msgstr "<b>Abgleichen</b>"
 
-#: gtkpod.glade:13577
-msgid "General"
-msgstr "Allgemein"
+#: gtkpod.glade:8417
+msgid ""
+"Highly recommended for faster import when taking advantage of the "
+"duplication recognition. Also, having the PC filenames allows writing "
+"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
+"case of file system corruption (change the \"transferred=\" entries in your "
+"backuped database)."
+msgstr ""
+"Diese Option wird dringend empfohlen, um einen schnelleren Import der "
+"iTunesDB bei eingeschalteter Duplikatenerkennung zu erreichen. Da außerdem "
+"die Originalfilenamen gespeichert werden, können Tag-Änderungen in das "
+"Originalfile übernommen werden, und es ist sogar möglich, den Inhalt Ihres "
+"iPods im Falle eines Filesystemschadens (Neuformatierung des iPods) zu "
+"rekonstruieren (dazu müssen die 'transferred=' Einträge in der gesicherten "
+"Datenbank auf '0' gesetzt werden und 'offline' eingelesen werden)."
 
-#: gtkpod.glade:13609
+#: gtkpod.glade:8419
+msgid ""
+"Write extended information (PC filenames,\n"
+" MD5 hashes, encoding). Recommended."
+msgstr ""
+"Erweiterte Informationen schreiben (PC Dateinamen,\n"
+"MD5-Prüfsummen, Kodierung). Empfohlen."
+
+#: gtkpod.glade:8463 gtkpod.glade:14969
+msgid "_General"
+msgstr "_Allgemein"
+
+#: gtkpod.glade:8495
 msgid "<b>Tag Reading</b>"
 msgstr "<b>Lesen von Tags</b>"
 
-#: gtkpod.glade:13685
+#: gtkpod.glade:8550
+msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
+msgstr "Tags aus der Datei lesen (z.B. ID3 Tags bei MP3 Dateien)"
+
+#: gtkpod.glade:8569 gtkpod.glade:8906
+msgid ""
+"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
+"several templates by a ';'. The first one matching the filename will be "
+"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
+msgstr ""
+"Künstler: %a, Album: %A, Komponist: %c, Titel: %t, Musikrichtung: %G, Stück-"
+"Nr.: %T, CD-Nr.: %C, Jahr: %Y, Platzhalter: %*, das Zeichen '%': %%. Mehrere "
+"Schablonen können durch ein Semikolon (';') getrennt werden -- die erste, "
+"die auf den Filenamen paßt, wird verwendet. Beispiel: '%a - %A/%T %t.mp3;%t."
+"wav'."
+
+#: gtkpod.glade:8571
 msgid "Use this template to parse filename for tag information:"
 msgstr ""
 "Diese Schablone verwenden, um aus dem Dateinamen die Tags zu bestimmen:"
 
-#: gtkpod.glade:13758
+#: gtkpod.glade:8644
 msgid "Overwrite tags that are already set"
 msgstr "Tags, die bereits gesetzt sind, überschreiben."
 
-#: gtkpod.glade:13791
+#: gtkpod.glade:8677
 msgid ""
 "As a last resort set the following tags to the\n"
 "filename if they are (still) empty:"
@@ -4756,112 +4273,394 @@
 "Falls Tags (immer noch) nicht gesetzt sind, die \n"
 "folgenden Tags mit dem Dateinamen initialisieren:"
 
-#: gtkpod.glade:13966
+#: gtkpod.glade:8852
+msgid "<b>Artwork</b>"
+msgstr "<b>Artwork</b>"
+
+#: gtkpod.glade:8908
+msgid "Add artwork from file using the following template"
+msgstr "Artwork nach folgender Schablone aus Datei einlesen"
+
+#: gtkpod.glade:8960
+msgid ""
+"Determines the name of the file with the cover art. You can separate several "
+"patterns by semicolons which will be tried in order. Artist: %a, album: %A, "
+"composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, "
+"original filename (requires extended information file): %o, original "
+"filename without file extension: %O, current playlist: %p, the character "
+"'%': %%."
+msgstr ""
+"Bestimmt, wie der Dateiname von Stücken gewählt wird, die vom iPod kopiert "
+"werden. Bsp.: '%a/%A/%T - %t.mp3' oder '%o'. Mehrere Schablonen können durch "
+"Semikolons getrennt werden -- gtkpod ermittelt die passende Schablone anhand "
+"des Dateinamensuffix. Künstler: %a, Album: %A, Komponist: %c, Titel: %t, "
+"Musikrichtung: %G, Stück-Nr.: %T, CD-Nr.: %C, Jahr: %Y,  ursprünglicher "
+"Dateiname (benötigt 'Erweiterte Informationen'): %o, ursprügnlicher "
+"Dateiname ohne Erweiterung: %O, die aktuelle Wiedergabelist: %p, das Zeichen "
+"'%': %%."
+
+#: gtkpod.glade:8981
+msgid "<b>Examples</b>"
+msgstr "<b>Beispiele</b>"
+
+#: gtkpod.glade:9011
+msgid "folder.jpg"
+msgstr "folder.jpg"
+
+#: gtkpod.glade:9035
+msgid "folder"
+msgstr "folder"
+
+#: gtkpod.glade:9059
+msgid "../%A.jpg"
+msgstr "../%A.jpg"
+
+#: gtkpod.glade:9083
+msgid "%A"
+msgstr "%A"
+
+#: gtkpod.glade:9107
+msgid "Use <i>folder.jpg</i> as cover art."
+msgstr "Benutze <i>folder.jpg</i> als Cover-Art"
+
+#: gtkpod.glade:9131
+msgid "Use <i>folder.jpg</i>, <i>folder.png</i>..."
+msgstr "Benutze <i>folder.jpg</i>, <i>folder.png</i>..."
+
+#: gtkpod.glade:9155
+msgid "Use <i>&lt;Album&gt;.jpg</i> in the parent directory"
+msgstr "Benutze <i>&lt;Album&gt;.jpg</i> im übergeordneten Verzeichnis"
+
+#: gtkpod.glade:9179
+msgid "Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+msgstr "Benutze <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+
+#: gtkpod.glade:9203
+msgid "folder.jpg;%a.jpg"
+msgstr "folder.jpg;%a.jpg"
+
+#: gtkpod.glade:9227
+msgid "First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i>"
+msgstr "Versuche zuerst <i>folder.jpg</i>, dann <i>&lt;Künstler&gt;.jpg</i>"
+
+#: gtkpod.glade:9311
 msgid "<b>mserv</b>"
 msgstr "<b>mserv</b>"
 
-#: gtkpod.glade:14022
+#: gtkpod.glade:9365 gtkpod.glade:9579
+msgid "Currently only rating is supported."
+msgstr "Gegenwärtig wird nur 'Bewertung' unterstützt."
+
+#: gtkpod.glade:9367
 msgid "Use mserv database to fill additional information"
 msgstr "mserv Datenbank für zusätzliche Informationen verwenden"
 
-#: gtkpod.glade:14050
+#: gtkpod.glade:9395
 msgid "Music Root:"
 msgstr "Stammverzeichnis für Musik:"
 
-#: gtkpod.glade:14096
+#: gtkpod.glade:9419
+msgid "mserv database lookup will be done for music in this directory."
+msgstr "Die mserv Datenbank wird für Tracks in diesem Verzeichnis verwendet."
+
+#: gtkpod.glade:9441
 msgid "mserv Root:"
 msgstr "mserv Stammverzeichnis:"
 
-#: gtkpod.glade:14142
+#: gtkpod.glade:9465
+msgid "Root directory of mserv database (trackinfo root)."
+msgstr "Stammverzeichnis für die mserv Datenbank (trackinfo root)."
+
+#: gtkpod.glade:9487
 msgid "Username:"
 msgstr "Benutzername:"
 
-#: gtkpod.glade:14190 gtkpod.glade:14209 gtkpod.glade:16592 gtkpod.glade:16661
-#: gtkpod.glade:16805 gtkpod.glade:16956 gtkpod.glade:17020 gtkpod.glade:17084
+#: gtkpod.glade:9511
+msgid "Username to be used for mserv database lookup."
+msgstr ""
+"Benutzername, der zum Nachschlagen in der mserv-Datenbank verwendet wird."
+
+#: gtkpod.glade:9535 gtkpod.glade:9554 gtkpod.glade:12102 gtkpod.glade:12172
+#: gtkpod.glade:12317 gtkpod.glade:12490 gtkpod.glade:12555 gtkpod.glade:12620
 msgid "Browse"
 msgstr "Durchsuchen"
 
-#: gtkpod.glade:14282
-msgid "Reading"
-msgstr "Einlesen"
+#: gtkpod.glade:9581
+msgid "Show information about problems when accessing mserv"
+msgstr ""
+"Informationen über Probleme während des Zugriffs auf die\n"
+"mserv-Datenbank anzeigen."
 
-#: gtkpod.glade:14328
+#: gtkpod.glade:9627
+msgid "_Track Info"
+msgstr "_Meta-Infos"
+
+#: gtkpod.glade:9673
 msgid "<b>Displayed Track Attributes</b>"
 msgstr "<b>Angezeigte Informationen</b>"
 
-#: gtkpod.glade:14978
+#: gtkpod.glade:10460
 msgid "<b>Sort Tabs</b>"
 msgstr "<b>Filter-Tabs</b>"
 
-#: gtkpod.glade:15038
+#: gtkpod.glade:10514
+msgid "Keeps all compilation CDs grouped together in the artists sort tab."
+msgstr "Alle Sampler-CDs im Künstler-Filtertab als 'Sampler' gruppieren."
+
+#: gtkpod.glade:10516
+msgid "Group artists on compilation CDs"
+msgstr "Künstler auf Sampler-CDs gruppieren"
+
+#: gtkpod.glade:10541
 msgid "_Number of sort tabs:"
 msgstr "_Anzahl der Filter-Tabs:"
 
-#: gtkpod.glade:15114
+#: gtkpod.glade:10617
 msgid "<b>Automatically select...</b>"
 msgstr "<b>Wähle automatisch...</b>"
 
-#: gtkpod.glade:15271
+#: gtkpod.glade:10671
+msgid ""
+"If you don't select the master playlist automatically, the initial database "
+"import is much faster because the display dosn't have to be updated."
+msgstr ""
+"Wenn die Haupt-Wiedergabeliste nicht automatisch ausgewählt wird, verläuft "
+"der Import der iTunes-Datenbank zu Beginn deutlich schneller, da die Anzeige "
+"nicht aktualisiert werden muß."
+
+#: gtkpod.glade:10673
+msgid "...master playlist"
+msgstr "...Hauptplayliste"
+
+#: gtkpod.glade:10693
+msgid "...entry 'All' in sort tab..."
+msgstr "Eintrag 'Alle' im Sort Tab..."
+
+#: gtkpod.glade:10774
 msgid "<b>Tooltips</b>"
 msgstr "<b>Tooltips</b>"
 
-#: gtkpod.glade:15392
+#: gtkpod.glade:10829
+msgid "Display tooltips in main window"
+msgstr "Tooltips im Hauptfenster anzeigen"
+
+#: gtkpod.glade:10849
+msgid "Display tooltips in prefs window"
+msgstr "Tooltips im Einstellungs-Fenster anzeigen"
+
+#: gtkpod.glade:10895
 msgid "<b>Toolbar</b>"
 msgstr "<b>Toolbar</b>"
 
-#: gtkpod.glade:15602
+#: gtkpod.glade:10950
+msgid "Display toolbar..."
+msgstr "Toolbar anzeigen..."
+
+#: gtkpod.glade:11003
+msgid "...as icons"
+msgstr "...als Graphik"
+
+#: gtkpod.glade:11023
+msgid "...as text"
+msgstr "...als Text"
+
+#: gtkpod.glade:11044
+msgid "...both as icons and text"
+msgstr "...als Text und Graphik"
+
+#: gtkpod.glade:11105
 msgid "<b>Misc</b>"
 msgstr "<b>Verschiedenes</b>"
 
-#: gtkpod.glade:15764
+#: gtkpod.glade:11159
+msgid ""
+"It is much faster to sort the display after all tracks have been added. Some "
+"people might feel irritated by this behaviour and should uncheck this option."
+msgstr ""
+"Es ist deutlich schneller, die Sortierung vorzunehmen nachdem alle Tracks "
+"hinzugefügt wurde. Wen dieses Verhalten irritiert, sollte diese Option "
+"jedoch nicht wählen."
+
+#: gtkpod.glade:11161
+msgid ""
+"Temporarily disable sorting when changing playlist\n"
+"or tab entry (faster!)"
+msgstr ""
+"Sortieren vorübergehend deaktivieren wenn die\n"
+"Wiedergabeliste oder Tab Entry gewechselt wird (schneller!)"
+
+#: gtkpod.glade:11181
+msgid ""
+"The display can be blocked after changing a selection. The display update is "
+"faster, but you have to wait until it's finished. When using this option, "
+"sorting is also temporarily disabled (see option above)."
+msgstr ""
+"Die Anzeige kann bis zur vollständigen Aktualisierung nach einer Änderung "
+"der Auswahl blockiert werden. Die Aktualisierung ist dann schneller, aber es "
+"muß gewartet werden, bis sich gtkpod wieder meldet. Mit dieser Option wird "
+"automatisch auch das Sortieren vorübergehend deaktiviert (siehe Option "
+"weiter oben)."
+
+#: gtkpod.glade:11183
+msgid ""
+"Block display when changing playlist or tab\n"
+" entry (faster!)"
+msgstr ""
+"Anzeige nicht aktualisieren wenn eine neue Wiedergabeliste\n"
+"oder ein neuer Tab-Eintrag gewählt wird (schneller!)"
+
+#: gtkpod.glade:11203
+msgid "This option will be re-activated when you upgrade gtkpod."
+msgstr ""
+"Diese Option wird automatisch aktiviert, wenn ein Update von gtkpod "
+"durchgeführt wird."
+
+#: gtkpod.glade:11205
+msgid "Display messages and warnings at startup"
+msgstr "Nachrichten und Warnungen beim Start des Programms anzeigen"
+
+#: gtkpod.glade:11267
 msgid "Advanced Sorting Options"
 msgstr "Sortieroptionen"
 
-#: gtkpod.glade:15827
-msgid "Display"
-msgstr "Anzeige"
-
-#: gtkpod.glade:15859
+#: gtkpod.glade:11362
 msgid "<b>Track Editing</b>"
 msgstr "<b>Bearbeiten von Stücken</b>"
 
-#: gtkpod.glade:15967
+#: gtkpod.glade:11416
 msgid ""
-"Use selected charset (on the 'General' page)\n"
+"The tags are written to the files on your harddrive and on the ipod (if "
+"available)."
+msgstr ""
+"Die Tags werden in die Originalfiles auf der Festplatte und auch auf dem "
+"iPod (wenn angeschlossen) geschrieben."
+
+#: gtkpod.glade:11418
+msgid "Write ID3 tags to disk when modified in gtkpod"
+msgstr ""
+"ID3 Tags bei Änderungen in gtkpod ebenfalls auf\n"
+"der Festplatte und auf dem iPod ändern"
+
+#: gtkpod.glade:11470
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to write the tags. If you have chosen a wrong charset when first importing a "
+"track, you should select this option along with the correct charset.  Note: "
+"uses the extended information file to store the charset information (see "
+"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
+"before V0.51 will have no charset stored -- the charset specified on the "
+"'Input/Output' page will be used."
+msgstr ""
+"Normalerweise wird der Zeichensatz, der beim ersten Einlesen des Stückes "
+"angegeben wurde, auch beim Schreiben der ID3-Tags verwendet. Wenn Sie beim "
+"ersten Einlesen einen falschen Zeichensatz angegeben haben, müssen Sie diese "
+"Option zusammen mit dem richtigen Zeichensatz auswählen. Bitte beachten Sie: "
+"die Information über den verwendeten Zeichensatz wird mit den erweiterten "
+"Informationen gespeichert (siehe 'Schreiben der iTunesDB' auf der 'Eingabe-"
+"Ausgabe' Seite). Stücke, die vor Version 0.51 eingelesen wurden, haben keine "
+"Informationen über den Zeichensatz gespeichert und der auf der 'Eingabe/"
+"Ausgabe'-Seite eingestellte Zeichensatz wird verwendet."
+
+#: gtkpod.glade:11472
+msgid ""
+"Use selected encoding (on the 'General' page)\n"
 "when writing tags"
 msgstr ""
-"Ausgewählten Zeichensatz (auf der Allgemein-Seite)\n"
+"Ausgewählte Kodierung (auf der Allgemein-Seite)\n"
 "beim Schreiben von ID3-Tags verwenden"
 
-#: gtkpod.glade:16022
+#: gtkpod.glade:11492
+msgid ""
+"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
+"uses unicode to store the tags, so you won't have to worry about charsets "
+"any more. gtkpod will use UTF8 encoding as this will not increase the size "
+"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
+"present in the file to write to."
+msgstr ""
+"Es wird empfohlen, Tags als V2.4 Tags zu schreiben. Allerdings unterstützen "
+"eventuell einige Programme diesen Standard noch nicht. ID3v2.4 verwendet "
+"Unicode, um die Tags zu speichern. Dies bedeutet, daß Sie sich keine "
+"Gedanken mehr über den verwendeten Zeichensatz machen zu brauchen. gtkpod "
+"verwendet UTF8, da dies die Tag-Länge reiner ASCII-Tags nicht verlängert. "
+"ID3v2.4 wird ebenfalls beim Schreiben verwendet, falls die Tags in der Datei "
+"bereits als V2.4 vorliegen."
+
+#: gtkpod.glade:11494
+msgid "Always write ID3v2.4 tags (only applies to MP3)"
+msgstr "Immer ID3v2.4 Tags schreiben (trifft nur auf MP3 zu)"
+
+#: gtkpod.glade:11527
+msgid ""
+"If you select several tracks in the track list and edit a tag of the first "
+"track, the tags in the other tracks are updated as well."
+msgstr ""
+"Wenn mehrere Stücke im der Stücke-Anzeige ausgewählt sind und ein Tag im "
+"ersten Stück geändert wird, wird das entsprechende Tag auch in den anderen "
+"Stücken aktualisiert."
+
+#: gtkpod.glade:11529
 msgid "Use 'Multi-Edit' for tracks selections"
 msgstr "'Multi-Edit' bei markierten Stücken verwenden"
 
-#: gtkpod.glade:16122
+#: gtkpod.glade:11575
+msgid ""
+"Usually you don't want to set the title of several tracks to the same text. "
+"This option might avoid unwanted results (especially since there is no "
+"'undo' yet)."
+msgstr ""
+"Es kommt selten vor, daß die Titel mehrerer Stücke auf den selben Text "
+"gesetzt werden sollen. Diese Option verhindert möglicherweise ungewünschte "
+"Resultate, insbesondere da noch keine 'Undo'-Funktion existiert."
+
+#: gtkpod.glade:11577
+msgid "Use 'Multi-Edit' also for title field"
+msgstr "'Multi-Edit' auch für das Titel-Feld verwenden"
+
+#: gtkpod.glade:11630
 msgid "<b>Auto-Generated Playlists</b>"
 msgstr "<b>Automatisch generierte Wiedergabelisten</b>"
 
-#: gtkpod.glade:16182
+#: gtkpod.glade:11690
 msgid "Number of tracks in generated playlists:"
 msgstr "Anzahl der Stücke in generierten Wiedergabelisten:"
 
-#: gtkpod.glade:16277
+#: gtkpod.glade:11711
+msgid ""
+"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
+"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
+msgstr ""
+"Anzahl der Stücke in den generierten Wiedergabelisten 'Am häufigsten gehörte "
+"Stücke', 'Höchstgewertete Stücke' und 'Zuletzt gespielte Stücke'. Wählen Sie "
+"'0', wenn Sie die Anzahl nicht begrenzen wollen."
+
+#: gtkpod.glade:11740
+msgid "Also include tracks never played in \"Best Rated\" playlist"
+msgstr ""
+"Auch Stücke in die 'am besten bewertete' Wiedergabeliste aufnehmen,\n"
+"die nie gespielt wurden"
+
+#: gtkpod.glade:11786
 msgid "<b>Delete Confirmation</b>"
 msgstr "<b>Sicherheitsabfrage beim Löschen</b>"
 
-#: gtkpod.glade:16352
+#: gtkpod.glade:11841
+msgid "Before removing playlists or tracks from a playlist"
+msgstr ""
+"Vor dem Entfernen von Wiedergabelisten oder Stücken aus einer Wiedergabeliste"
+
+#: gtkpod.glade:11861
 msgid "Before removing tracks from the iPod"
 msgstr "Vor dem vollständigen Löschen vom iPod"
 
-#: gtkpod.glade:16372
+#: gtkpod.glade:11881
 msgid "Before removing tracks from the harddisk"
 msgstr "Vor dem vollständigen Löschen auf der Festplatte"
 
-#: gtkpod.glade:16392
+#: gtkpod.glade:11901
 msgid "Before removing tracks from the local database"
 msgstr "Vor dem Entfernen aus der lokalen Datenbank"
 
-#: gtkpod.glade:16412
+#: gtkpod.glade:11921
 msgid ""
 "Before removing tracks completely when\n"
 "synchronizing directories"
@@ -4869,38 +4668,227 @@
 "Vor dem vollständigen Löschen vom iPod beim\n"
 "Abgleich von Verzeichnissen"
 
-#: gtkpod.glade:16491
+#: gtkpod.glade:12000
 msgid "<b>Play</b>"
 msgstr "<b>Wiedergabe</b>"
 
-#: gtkpod.glade:16551
+#: gtkpod.glade:12060
 msgid "Command for 'Play now':"
 msgstr "Befehl für 'Jetzt abspielen':"
 
-#: gtkpod.glade:16620
+#: gtkpod.glade:12081
+msgid ""
+"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
+"tracks and start playing."
+msgstr ""
+"'xmms %s', z.B., löscht die aktuelle Wiedergabeliste von xmms, fügt die "
+"ausgewählten Stücke hinzu und beginnt mit der Wiedergabe."
+
+#: gtkpod.glade:12130
 msgid "Command for 'Enqueue':"
 msgstr "Befehl für 'Zum Abspielen Vormerken':"
 
-#: gtkpod.glade:16710
+#: gtkpod.glade:12151
+msgid ""
+"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
+"current playlist."
+msgstr ""
+"'xmms -e %s', z.B., fügt die ausgewählten Stücke zur aktuellen Playlist von "
+"xmms hinzu."
+
+#: gtkpod.glade:12221
 msgid "<b>Volume Normalization</b>"
 msgstr "<b>Lautstärkenormalisierung</b>"
 
-#: gtkpod.glade:16764
+#: gtkpod.glade:12275
 msgid "'mp3gain' executable:"
 msgstr "'mp3gain'-Programm:"
 
-#: gtkpod.glade:16847
+#: gtkpod.glade:12296
+msgid ""
+"You only need to specify this if your 'mp3gain' executable is not in your "
+"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
+"calculated gain value back to the file -- if you don't want this, set this "
+"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
+"are not already set by your encoder. E.g. lame version 0.95 already writes "
+"the gain values into tags. The exact conversion factor between mp3gain's "
+"gain value and iPod's volume tag is not known yet -- your input is "
+"appreciated."
+msgstr ""
+"Sie müssen diese Angabe nur machen, wenn sich Ihr 'mp3gain' Programm nicht "
+"im Suchpfad befinden. Zum Beispiel: '/usr/local/foo/mp3gain'. mp3gain "
+"schreibt den berechneten Gain-Wert zurück in die mp3-Datei -- wenn Sie dies "
+"nicht wünschen, setzen Sie diesen Eintrag auf '/bin/true' oder ähnliches. "
+"mp3gain wird nur aufgerufen, wenn die benötigten Tags nicht bereits von "
+"Ihrem Encoder gesetzt wurden. Z.B. speichert lame ab Version 0.95 "
+"standardmäßig die Gain-Werte in Tags. Der genaue Umrechnungsfaktor zwischen "
+"mp3gains Gain-Wert und iPods Volume-Tag ist noch nicht bekannt -- falls Sie "
+"mehr wissen kontaktieren Sie mich bitte."
+
+#: gtkpod.glade:12359
 msgid "<b>Synchronization</b>"
 msgstr "<b>Synchronisierung</b>"
 
-#: gtkpod.glade:16910
+#: gtkpod.glade:12443
 msgid "Contacts sync command:"
 msgstr "Befehl zum Abgleich der Kontakte:"
 
-#: gtkpod.glade:16974
+#: gtkpod.glade:12467 gtkpod.glade:12532 gtkpod.glade:12597
+msgid ""
+"Specify exact path including command line options. '%i' will be replaced "
+"with the mount point of the iPod."
+msgstr ""
+"Geben sie den genauen Pfad einschließlich Kommandozeilenoptionen an. '%i' "
+"wird mit dem Mountpoint des iPods ersetzt."
+
+#: gtkpod.glade:12508
 msgid "Calendar sync command:"
 msgstr "Befehl zum Abgleich des Kalenders:"
 
-#: gtkpod.glade:17038
+#: gtkpod.glade:12573
 msgid "Notes sync command:"
 msgstr "Befehl zum Abgleich der Notizen:"
+
+#: gtkpod.glade:12646
+msgid "Call automatically when synchronizing iTunesDB"
+msgstr "Automatisch aufrufen wenn die iTunesDB abgeglichen wird"
+
+#: gtkpod.glade:12724
+msgid "<b>Podcast subscriptions</b>"
+msgstr ""
+
+#: gtkpod.glade:12799
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: gtkpod.glade:12833
+msgid "Delete"
+msgstr "Löschen"
+
+#: gtkpod.glade:12899
+msgid "Name: "
+msgstr "Name: "
+
+#: gtkpod.glade:12923
+msgid "URL: "
+msgstr ""
+
+#: gtkpod.glade:13016
+msgid "<b>File options</b>"
+msgstr "<b>Datei-Optionen</b>"
+
+#: gtkpod.glade:13076
+msgid "Save podcasts to: "
+msgstr ""
+
+#: gtkpod.glade:13131
+msgid "Delete from computer when "
+msgstr ""
+
+#: gtkpod.glade:13171 gtkpod.glade:13473
+msgid " days old"
+msgstr "Tage alt"
+
+#: gtkpod.glade:13200
+msgid "Delete once copied to iPod"
+msgstr ""
+
+#: gtkpod.glade:13226
+msgid "Automatically fetch podcasts on startup"
+msgstr ""
+
+#: gtkpod.glade:13253
+msgid "Create podcast logfile at:"
+msgstr ""
+
+#: gtkpod.glade:13353
+msgid "<b>iPod options</b>"
+msgstr "<b>iPod Optionen</b>"
+
+#: gtkpod.glade:13408
+msgid "Automatically sync to iPod"
+msgstr ""
+
+#: gtkpod.glade:13434
+msgid "Delete from iPod when "
+msgstr "Vom iPod entfernen wenn "
+
+#: gtkpod.glade:13502
+msgid "Delete from iPod if podcast has been played"
+msgstr ""
+
+#: gtkpod.glade:13522
+msgid "Include broadcast date in track title"
+msgstr ""
+
+#: gtkpod.glade:13542
+msgid "Set all podcast genres to 'Podcast'"
+msgstr ""
+
+#: gtkpod.glade:13588 gtkpod.glade:15341
+msgid "_Podcasts"
+msgstr ""
+
+#: gtkpod.glade:13753
+msgid ""
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+
+#: gtkpod.glade:13787
+msgid "Abort selected"
+msgstr "Abrechen gewählt"
+
+#: gtkpod.glade:13803
+msgid "Abort current"
+msgstr ""
+
+#: gtkpod.glade:13819
+msgid "Abort all"
+msgstr ""
+
+#: gtkpod.glade:13843
+msgid "Details"
+msgstr "Details"
+
+#: gtkpod.glade:13904
+msgid "Cover"
+msgstr "Artwork"
+
+#: gtkpod.glade:13989
+msgid "Set Cover Art"
+msgstr "Artwork setzen"
+
+#: gtkpod.glade:14022
+msgid ""
+"If you check this, information (cover art and meta information) changed for "
+"this track will be copied to all other selected tracks as well. Use with "
+"care."
+msgstr ""
+"Wenn diese Option gewählt wird, werden alle Änderungen für das dargestellte "
+"Stück (Artwork und sonstige Angaben) automatisch in alle ausgweählten Stücke "
+"kopiert. Bitte mit Vorsicht verwenden."
+
+#: gtkpod.glade:14068
+msgid ""
+"Change all tracks\n"
+"simultaneously"
+msgstr "Alle Stücke simultan modifizieren"
+
+#: gtkpod.glade:14156
+msgid "Remove Cover Art"
+msgstr "Artwork entfernen"
+
+#: gtkpod.glade:16245
+msgid "_Other"
+msgstr "_Anderes"
+
+#: gtkpod.glade:16535
+msgid "_Undo All"
+msgstr "_Alles Rückgängig"
+
+#: gtkpod.glade:16605
+msgid "_Undo Track"
+msgstr "_Track Rückgängig"

Modified: gtkpod/trunk/po/fr.gmo
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/po/fr.gmo
___________________________________________________________________
Name: svn:eol-style
   - native
Name: svn:mime-type
   + application/x-gmo

Modified: gtkpod/trunk/po/fr.po
===================================================================
--- gtkpod/trunk/po/fr.po	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/fr.po	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,15 +1,18 @@
-# French language translation for gtkpod # Copyright (C) 2003 David Le Brun
+# French language translation for gtkpod 
+# Copyright (C) 2005 Éric Lassauge
+# Éric Lassauge <lassauge at users.sf.net>, 2005.
+# Copyright (C) 2003 David Le Brun
 # David Le Brun <david at dyn-ns.net>, 2003.
 #
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gtkpod 0.87-CVS\n"
+"Project-Id-Version: gtkpod 0.94\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-16 16:18+0900\n"
-"PO-Revision-Date: 2005-06-20 23:24+0900\n"
-"Last-Translator: David Le Brun <david at dyn-ns.net>\n"
-"Language-Team: none\n"
+"POT-Creation-Date: 2005-12-14 23:51+0900\n"
+"PO-Revision-Date: 2005-09-14 21:46+0900\n"
+"Last-Translator: Éric Lassauge <lassauge at users.sf.net>\n"
+"Language-Team: FR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -229,209 +232,274 @@
 msgstr ""
 "Une autre instance de gtkpod tourne déjà. Serveur de compteur non démarré.\n"
 
-#: src/confirmation.c:363
+#: src/confirmation.c:361
 msgid "Confirmation Dialogue"
 msgstr "Message de confirmation"
 
-#: src/context_menus.c:299
+#: src/context_menus.c:368 gtkpod.glade:530
 msgid "Edit"
 msgstr "Édition"
 
-#: src/context_menus.c:301 src/tools.c:634
+#: src/context_menus.c:370 src/tools.c:634
 msgid "Play Now"
 msgstr "Jouer maintenant"
 
-#: src/context_menus.c:303 src/tools.c:645
+#: src/context_menus.c:372 src/tools.c:645
 msgid "Enqueue"
 msgstr "Mettre dans la file d'attente"
 
-#: src/context_menus.c:306
-#, fuzzy
+#: src/context_menus.c:375
 msgid "Export Tracks"
-msgstr "Zones de tri"
+msgstr "Exporter les morceaux"
 
-#: src/context_menus.c:308 src/file_export.c:1091
+#: src/context_menus.c:377 src/file_export.c:1069
 msgid "Create Playlist File"
 msgstr "Créer un fichier de liste"
 
-#: src/context_menus.c:310
+#: src/context_menus.c:379
+msgid "Edit Details"
+msgstr ""
+
+#: src/context_menus.c:381 gtkpod.glade:12816
 msgid "Update"
 msgstr "Mettre à jour"
 
-#: src/context_menus.c:312
+#: src/context_menus.c:383
 msgid "Sync Dirs"
 msgstr "Synchroniser les répertoires"
 
-#: src/context_menus.c:314
+#: src/context_menus.c:385
 msgid "Normalize"
 msgstr "Normaliser"
 
-#: src/context_menus.c:316
+#: src/context_menus.c:387
 msgid "Create new Playlist"
 msgstr "Créer une nouvelle liste"
 
-#: src/context_menus.c:319
+#: src/context_menus.c:390
 msgid "Edit Smart Playlist"
 msgstr "Éditer la liste intelligente"
 
-#: src/context_menus.c:325
+#: src/context_menus.c:396
 msgid "Alphabetize"
 msgstr "Trier"
 
-#: src/context_menus.c:347
+#: src/context_menus.c:420
 msgid "Delete From iPod"
 msgstr "Supprimer de l'iPod"
 
-#: src/context_menus.c:352
-#, fuzzy
+#: src/context_menus.c:426
 msgid "Delete From Harddisk"
-msgstr "Supprimer de la liste de lecture"
+msgstr "Supprimer du disque dur"
 
-#: src/context_menus.c:357
-#, fuzzy
+#: src/context_menus.c:432
 msgid "Delete From Database"
-msgstr "Supprimer de la liste de lecture"
+msgstr "Supprimer de la base de données"
 
-#: src/context_menus.c:362
+#: src/context_menus.c:438
 msgid "Delete From Playlist"
 msgstr "Supprimer de la liste de lecture"
 
-#: src/context_menus.c:371
+#: src/context_menus.c:457
 msgid "Delete Including Tracks"
 msgstr "Supprimer avec les morceaux"
 
-#: src/context_menus.c:376
-#, fuzzy
+#: src/context_menus.c:463
 msgid "Delete Including Tracks (Harddisk)"
-msgstr "Supprimer avec les morceaux"
+msgstr "Supprimer les morceaux inclus (disque dur)"
 
-#: src/context_menus.c:381
-#, fuzzy
+#: src/context_menus.c:469
 msgid "Delete Including Tracks (Database)"
-msgstr "Supprimer avec les morceaux"
+msgstr "Supprimer les morceaux inclus (base de données)"
 
-#: src/context_menus.c:386
+#: src/context_menus.c:475
 msgid "Delete But Keep Tracks"
 msgstr "Supprimer mais garder les morceaux"
 
-#: src/context_menus.c:391
-#, fuzzy
+#: src/context_menus.c:481
 msgid "Remove All Tracks from iPod"
-msgstr "Copier les _morceaux vers votre disque dur"
+msgstr "Supprimer tout les morceaux du iPod"
 
-#: src/context_menus.c:396
+#: src/context_menus.c:487
 msgid "Remove All Tracks from Database"
+msgstr "Supprimer tout les morceaux de la base de données"
+
+#: src/context_menus.c:494
+#, fuzzy
+msgid "Remove All Podcasts from iPod"
+msgstr "Supprimer tout les morceaux du iPod"
+
+#: src/context_menus.c:505 gtkpod.glade:156
+msgid "Update Podcasts"
 msgstr ""
 
+#: src/context_menus.c:512
+#, fuzzy
+msgid "Podcasts Preferences"
+msgstr "_Préférences"
+
 #: src/date_parser.l:269
 #, c-format
 msgid "Date format error: unrecognized character: '%s'\n"
-msgstr "Erreur dans le format de date: caractère inconnu: '%s'\n"
+msgstr "Erreur dans le format de date : caractère inconnu : «%s»\n"
 
-#: src/display.c:876
-msgid "Currently no iPod database selected"
-msgstr ""
+#: src/details.c:1035 gtkpod.glade:4365
+msgid "n/a"
+msgstr "-"
 
-#: src/display.c:904 src/display.c:931
-msgid "Update selected entry of which sort tab?"
-msgstr "Mettre à jour l'entrée sélectionnée de quelle zone de tri ?"
+#: src/details.c:1099
+#, fuzzy
+msgid "<b>n/a</b>"
+msgstr "<b>Jouer</b>"
 
-#: src/display.c:950
-msgid "Sync dirs of selected entry in which sort tab?"
-msgstr ""
-"Synchroniser les répertoires de l'entrée sélectionnée de quelle zone de tri ?"
-
-#: src/display.c:1004 src/display.c:1060 src/display.c:1115 src/display.c:1166
-#: src/display.c:1330 src/misc_playlist.c:274
+#: src/display.c:924 src/display.c:1022 src/display.c:1071 src/display.c:1302
+#: src/display.c:1358 src/display.c:1413 src/display.c:1464 src/display.c:1628
+#: src/misc_playlist.c:274
 msgid "No playlist selected"
 msgstr "Aucune liste de lecture sélectionnée"
 
-#: src/display.c:1018
-msgid "Export selected entry of which sort tab?"
-msgstr "Exporter l'entrée sélectionnée de quelle zone de tri ?"
+#: src/display.c:934
+#, fuzzy
+msgid "Edit selected entry of which sort tab?"
+msgstr "Mettre à jour l'entrée sélectionnée de quelle zone de tri ?"
 
-#: src/display.c:1024 src/display.c:1080 src/display.c:1132 src/display.c:1183
-#: src/display.c:1352
+#. no entry selected
+#: src/display.c:941 src/misc_confirm.c:441 src/misc_track.c:1482
+msgid "No entry selected."
+msgstr "Aucun élément sélectionné."
+
+#: src/display.c:960 src/display.c:1040 src/display.c:1345 src/display.c:1401
+#: src/display.c:1452 src/display.c:1503
+msgid "No tracks selected"
+msgstr "Aucun morceau sélectionné"
+
+#: src/display.c:1056 src/display.c:1322 src/display.c:1378 src/display.c:1430
+#: src/display.c:1481 src/display.c:1650
 #, c-format
 msgid "No entry selected in Sort Tab %d"
 msgstr "Aucune entrée sélectionnée dans la zone de tri %d"
 
-#: src/display.c:1047 src/display.c:1103 src/display.c:1154 src/display.c:1205
-msgid "No tracks selected"
-msgstr "Aucun morceau sélectionné"
+#: src/display.c:1095
+#, fuzzy
+msgid "Remove entry of which sort tab from database?"
+msgstr "Exporter l'entrée sélectionnée de quelle zone de tri ?"
 
-#: src/display.c:1074
+#: src/display.c:1103
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the iPod?"
+msgstr ""
+"Ajouter dans la file d'attente les morceaux de l'entrée sélectionnée de "
+"quelle zone de tri ?"
+
+#: src/display.c:1125
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the harddisk?"
+msgstr ""
+"Ajouter dans la file d'attente les morceaux de l'entrée sélectionnée de "
+"quelle zone de tri ?"
+
+#: src/display.c:1155
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from playlist?"
+msgstr ""
+"Ajouter dans la file d'attente les morceaux de l'entrée sélectionnée de "
+"quelle zone de tri ?"
+
+#: src/display.c:1174
+msgid "Currently no iPod database selected"
+msgstr "Pas de base de données iPod sélectionnée"
+
+#: src/display.c:1202 src/display.c:1229
+msgid "Update selected entry of which sort tab?"
+msgstr "Mettre à jour l'entrée sélectionnée de quelle zone de tri ?"
+
+#: src/display.c:1248
+msgid "Sync dirs of selected entry in which sort tab?"
+msgstr ""
+"Synchroniser les répertoires de l'entrée sélectionnée de quelle zone de tri ?"
+
+#: src/display.c:1316
+msgid "Export selected entry of which sort tab?"
+msgstr "Exporter l'entrée sélectionnée de quelle zone de tri ?"
+
+#: src/display.c:1372
 msgid "Create playlist file from selected entry of which sort tab?"
-msgstr "Créer un fichier de liste à partir de quelle zone de tri ?"
+msgstr "Créer un fichier de liste à partir de quelle zone de tri ?"
 
-#: src/display.c:1126
+#: src/display.c:1424
 msgid "Play tracks in selected entry of which sort tab?"
-msgstr "Jouer les morceaux de l'entrée sélectionnée de quelle zone de tri ?"
+msgstr "Jouer les morceaux de l'entrée sélectionnée de quelle zone de tri ?"
 
-#: src/display.c:1177
+#: src/display.c:1475
 msgid "Enqueue tracks in selected entry of which sort tab?"
 msgstr ""
 "Ajouter dans la file d'attente les morceaux de l'entrée sélectionnée de "
-"quelle zone de tri ?"
+"quelle zone de tri ?"
 
-#: src/display.c:1342
+#: src/display.c:1640
 msgid "Normalize tracks in selected entry of which sort tab?"
 msgstr ""
-"Normaliser les morceaux de l'entrée sélectionnée de quelle zone de tri ?"
+"Normaliser les morceaux de l'entrée sélectionnée de quelle zone de tri ?"
 
-#: src/display_itdb.c:691 src/display_itdb.c:758
+#: src/display_itdb.c:319
+#, fuzzy, c-format
+msgid "Failed to set cover art: '%s'"
+msgstr "Impossible d'écrire «%s-%s»\n"
+
+#. add podcast playlist
+#: src/display_itdb.c:843 src/display_itdb.c:871 src/display_itdb.c:975
+#: gtkpod.glade:13668
+msgid "Podcasts"
+msgstr ""
+
+#: src/display_itdb.c:845 src/display_itdb.c:941
 msgid "Local"
 msgstr "Local"
 
-#: src/display_itdb.c:863
+#: src/display_itdb.c:1081
 #, c-format
 msgid "Increased playcount for '%s'"
-msgstr "Compteur de lecture incrémenté pour '%s'"
+msgstr "Compteur de lecture incrémenté pour «%s»"
 
 #. give a notice on the statusbar -- otherwise the user
 #. * will never know why the drag is not possible
-#: src/display_playlists.c:494 src/display_playlists.c:536
+#: src/display_playlists.c:498 src/display_playlists.c:540
 msgid "Error: drag from iPod not possible in offline mode."
-msgstr ""
+msgstr "Erreur : glisser-déposer depuis l'iPod impossible en mode hors-ligne."
 
-#: src/display_playlists.c:563 src/display_songs.c:283
+#: src/display_playlists.c:567 src/display_songs.c:285
 #, c-format
 msgid "Copied one track"
 msgid_plural "Copied %d tracks"
 msgstr[0] "Un morceau copié"
 msgstr[1] "%d morceaux copiés"
 
-#: src/display_playlists.c:852
+#: src/display_playlists.c:856
 msgid "Can't reorder sorted treeview."
-msgstr ""
+msgstr "Impossíble de réorganiser la vue arborescente triée."
 
-#: src/display_playlists.c:943
+#: src/display_playlists.c:947
 #, c-format
 msgid ""
 "This DND type (%d) is not (yet) supported. If you feel implementing this "
 "would be useful, please contact the author.\n"
 "\n"
 msgstr ""
-"Ce type de DND (%d) n'est pas (encore) supporté. Si vous vous sentez prêt à "
-"l'implémenter, veuillez contacter l'auteur.\n"
+"Ce type de glisser-déposer (%d) n'est pas (encore) supporté. Si vous vous "
+"sentez prêt à l'implémenter, veuillez contacter l'auteur.\n"
 
-#: src/display_playlists.c:1811 gtkpod.glade:7815 gtkpod.glade:9389
+#: src/display_playlists.c:1830 gtkpod.glade:3997
 msgid "Playlists"
 msgstr "Listes de lecture"
 
-#: src/display_songs.c:278
+#: src/display_songs.c:280
 #, c-format
 msgid "Moved one track"
 msgid_plural "Moved %d tracks"
 msgstr[0] "Un morceau déplacé"
 msgstr[1] "%d morceaux déplacés"
 
-#: src/display_songs.c:1119
-#, fuzzy
-msgid "Local Database"
-msgstr "Base de l'iPod sauvegardée"
-
-#: src/display_songs.c:1796
+#: src/display_songs.c:1669
 #, c-format
 msgid ""
 "Cannot unsort track view because of a bug in the GTK lib you are using (%d.%"
@@ -444,361 +512,374 @@
 "précédent.\n"
 "\n"
 
-#: src/display_songs.c:1985
+#: src/display_songs.c:1922
+#, fuzzy
+msgid "Rtng"
+msgstr "Note"
+
+#: src/display_songs.c:1925
 msgid "#"
 msgstr "#"
 
-#: src/display_songs.c:1988
+#: src/display_songs.c:1928
 msgid "CD"
 msgstr "CD"
 
-#: src/display_songs.c:1991
+#: src/display_songs.c:1931
 msgid "ID"
 msgstr "Id"
 
-#: src/display_songs.c:1999
+#: src/display_songs.c:1934
 msgid "Trnsfrd"
 msgstr "Transféré"
 
-#: src/display_songs.c:2004
+#: src/display_songs.c:1938
 msgid "Cmpl"
 msgstr "Cmpl"
 
-#: src/display_songs.c:2012 src/display_spl.c:93
+#: src/display_songs.c:1942 src/display_spl.c:94
 msgid "Time"
 msgstr "Durée"
 
-#: src/display_songs.c:2016
+#: src/display_songs.c:1945
 msgid "Plycnt"
 msgstr "Cpt. lect"
 
-#: src/display_songs.c:2019 gtkpod.glade:6251
+#: src/display_songs.c:1948 gtkpod.glade:2433
 msgid "Played"
 msgstr "Joué le"
 
-#: src/display_songs.c:2022 gtkpod.glade:6274
+#: src/display_songs.c:1951 gtkpod.glade:2456
 msgid "Modified"
 msgstr "Modifié le"
 
-#: src/display_songs.c:2025 src/display_sorttabs.c:3040 gtkpod.glade:6369
+#: src/display_songs.c:1954 src/display_sorttabs.c:3117 gtkpod.glade:2551
 msgid "Added"
-msgstr ""
+msgstr "Ajouté"
 
-#: src/display_songs.c:2028 src/display_sorttabs.c:2785 src/display_spl.c:87
+#: src/display_songs.c:1957
+#, fuzzy
+msgid "Released"
+msgstr "Lire"
+
+#: src/display_songs.c:1960 src/display_sorttabs.c:2856 src/display_spl.c:88
 #: src/misc_conversion.c:85
 msgid "Year"
 msgstr "Année"
 
-#: src/display_songs.c:2031
+#: src/display_songs.c:1963
 msgid "Vol."
 msgstr "Vol."
 
-#: src/display_songs.c:2034
+#: src/display_songs.c:1966
 msgid "Sndchk."
 msgstr "Ctrl. Son"
 
 #: src/display_sorttabs.c:400
 msgid "'Played' condition ignored because of error."
-msgstr "Condition 'Joué le' ignorée à cause d'une erreur."
+msgstr "Condition «Joué le» ignorée à cause d'une erreur."
 
 #: src/display_sorttabs.c:403
 msgid "'Modified' condition ignored because of error."
-msgstr "Condition 'Modifié le' ignorée à cause d'une erreur."
+msgstr "Condition «Modifié le» ignorée à cause d'une erreur."
 
 #: src/display_sorttabs.c:406
-#, fuzzy
 msgid "'Added' condition ignored because of error."
-msgstr "Condition 'Modifié le' ignorée à cause d'une erreur."
+msgstr "Condition «Ajouté le» ignorée à cause d'une erreur."
 
-#: src/display_sorttabs.c:1465 src/misc_conversion.c:60
+#: src/display_sorttabs.c:1492 src/misc_conversion.c:60
 msgid "All"
 msgstr "Tous"
 
-#: src/display_sorttabs.c:2770 src/display_spl.c:84 src/misc_conversion.c:62
-#: gtkpod.glade:2579 gtkpod.glade:13823
+#: src/display_sorttabs.c:1518
+#, fuzzy
+msgid "Compilations"
+msgstr "Compilation"
+
+#: src/display_sorttabs.c:2841 src/display_spl.c:85 src/misc_conversion.c:62
+#: gtkpod.glade:8709
 msgid "Artist"
 msgstr "Artiste"
 
 #. 0
-#: src/display_sorttabs.c:2773 src/display_spl.c:83 src/misc_conversion.c:61
-#: gtkpod.glade:2630 gtkpod.glade:13867
+#: src/display_sorttabs.c:2844 src/display_spl.c:84 src/misc_conversion.c:61
+#: gtkpod.glade:8753
 msgid "Album"
 msgstr "Album"
 
-#: src/display_sorttabs.c:2776 src/display_spl.c:88 src/misc_conversion.c:64
-#: gtkpod.glade:2598 gtkpod.glade:13845
+#: src/display_sorttabs.c:2847 src/display_spl.c:89 src/misc_conversion.c:64
+#: gtkpod.glade:8731
 msgid "Genre"
 msgstr "Genre"
 
-#: src/display_sorttabs.c:2779
+#: src/display_sorttabs.c:2850
 msgid "Comp."
 msgstr "Comp."
 
-#: src/display_sorttabs.c:2782 src/display_spl.c:82 src/misc_conversion.c:63
-#: gtkpod.glade:2681 gtkpod.glade:13911
+#: src/display_sorttabs.c:2853 src/display_spl.c:83 src/misc_conversion.c:63
+#: gtkpod.glade:8797
 msgid "Title"
 msgstr "Titre"
 
-#: src/display_sorttabs.c:2788
+#: src/display_sorttabs.c:2859
 msgid "Special"
 msgstr "Spécial"
 
-#: src/display_sorttabs.c:3038
+#: src/display_sorttabs.c:3115
 msgid "Last Played"
 msgstr "Dernière fois joué"
 
-#: src/display_sorttabs.c:3039
+#: src/display_sorttabs.c:3116
 msgid "Last Modified"
 msgstr "Dernière fois modifié"
 
-#: src/display_spl.c:63
+#: src/display_spl.c:64
 msgid "days"
 msgstr "jours"
 
-#: src/display_spl.c:64
+#: src/display_spl.c:65
 msgid "weeks"
 msgstr "semaines"
 
-#: src/display_spl.c:65
+#: src/display_spl.c:66
 msgid "months"
 msgstr "mois"
 
-#: src/display_spl.c:72
+#: src/display_spl.c:73
 msgid "kbps"
 msgstr "kbps"
 
-#: src/display_spl.c:73
+#: src/display_spl.c:74
 msgid "Hz"
 msgstr "Hz"
 
-#: src/display_spl.c:74 src/display_spl.c:159 src/info.c:725
+#: src/display_spl.c:75 src/display_spl.c:160 src/info.c:732
 msgid "MB"
 msgstr "Mo"
 
-#: src/display_spl.c:75
+#: src/display_spl.c:76
 msgid "secs"
 msgstr "secs"
 
-#: src/display_spl.c:85 src/misc_conversion.c:75
+#: src/display_spl.c:86 src/misc_conversion.c:75
 msgid "Bitrate"
 msgstr "Débit"
 
 #. 15
-#: src/display_spl.c:86 src/misc_conversion.c:76
+#: src/display_spl.c:87 src/misc_conversion.c:76
 msgid "Samplerate"
 msgstr "Tx d'échant."
 
-#: src/display_spl.c:89 src/misc_conversion.c:67
+#: src/display_spl.c:90
 msgid "Kind"
 msgstr "Sorte"
 
-#: src/display_spl.c:90 src/misc_conversion.c:82
+#: src/display_spl.c:91 src/misc_conversion.c:82
 msgid "Date modified"
 msgstr "Modifié le"
 
-#: src/display_spl.c:91
+#: src/display_spl.c:92
 msgid "Track number"
 msgstr "Numéro de piste"
 
-#: src/display_spl.c:92
+#: src/display_spl.c:93
 msgid "Size"
 msgstr "Taille"
 
-#: src/display_spl.c:94 src/misc_conversion.c:65
+#: src/display_spl.c:95 src/misc_conversion.c:65
 msgid "Comment"
 msgstr "Commentaire"
 
-#: src/display_spl.c:95 src/misc_conversion.c:80
+#: src/display_spl.c:96 src/misc_conversion.c:80
 msgid "Date added"
 msgstr "Ajouté le"
 
 #. 5
-#: src/display_spl.c:96 src/misc_conversion.c:66 gtkpod.glade:2649
-#: gtkpod.glade:13889
+#: src/display_spl.c:97 src/misc_conversion.c:66 gtkpod.glade:8775
 msgid "Composer"
 msgstr "Compositeur"
 
-#: src/display_spl.c:97 src/misc_conversion.c:78 gtkpod.glade:6205
+#: src/display_spl.c:98 src/misc_conversion.c:78 gtkpod.glade:2387
 msgid "Playcount"
 msgstr "Cpt. lecture"
 
-#: src/display_spl.c:98
+#: src/display_spl.c:99
 msgid "Last played"
 msgstr "Dernière fois joué"
 
-#: src/display_spl.c:99
+#: src/display_spl.c:100
 msgid "Disc number"
 msgstr "Numéro de disque"
 
-#: src/display_spl.c:100 src/misc_conversion.c:79 gtkpod.glade:6228
+#: src/display_spl.c:101 src/misc_conversion.c:79 gtkpod.glade:2410
 msgid "Rating"
 msgstr "Note"
 
-#: src/display_spl.c:101 src/misc_conversion.c:88
+#: src/display_spl.c:102 src/misc_conversion.c:88
 msgid "Compilation"
 msgstr "Compilation"
 
-#: src/display_spl.c:102 src/misc_conversion.c:77
+#: src/display_spl.c:103 src/misc_conversion.c:77
 msgid "BPM"
 msgstr "BPM"
 
-#: src/display_spl.c:103 src/misc_conversion.c:87
+#: src/display_spl.c:104 src/misc_conversion.c:87
 msgid "Grouping"
 msgstr "Grouping"
 
-#: src/display_spl.c:104 src/itdb_itunesdb.c:1146 gtkpod.glade:1314
+#: src/display_spl.c:105 gtkpod.glade:1443
 msgid "Playlist"
 msgstr "Liste de lecture"
 
-#: src/display_spl.c:110
+#: src/display_spl.c:111
 msgid "contains"
 msgstr "contient"
 
-#: src/display_spl.c:111
+#: src/display_spl.c:112
 msgid "does not contain"
 msgstr "ne contient pas"
 
-#: src/display_spl.c:112 src/display_spl.c:121 src/display_spl.c:131
-#: src/display_spl.c:150
+#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
+#: src/display_spl.c:151
 msgid "is"
 msgstr "est"
 
-#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
-#: src/display_spl.c:151
+#: src/display_spl.c:114 src/display_spl.c:123 src/display_spl.c:133
+#: src/display_spl.c:152
 msgid "is not"
 msgstr "n'est pas"
 
-#: src/display_spl.c:114
+#: src/display_spl.c:115
 msgid "starts with"
 msgstr "commence par"
 
-#: src/display_spl.c:115
+#: src/display_spl.c:116
 msgid "ends with"
 msgstr "finit par"
 
-#: src/display_spl.c:123
+#: src/display_spl.c:124
 msgid "is greater than"
 msgstr "est plus grand que"
 
-#: src/display_spl.c:124
+#: src/display_spl.c:125
 msgid "is less than"
 msgstr "est plus petit que"
 
-#: src/display_spl.c:125 src/display_spl.c:137
+#: src/display_spl.c:126 src/display_spl.c:138
 msgid "is in the range"
 msgstr "est dans l'intervalle"
 
-#: src/display_spl.c:133
+#: src/display_spl.c:134
 msgid "is after"
 msgstr "est après"
 
-#: src/display_spl.c:134
+#: src/display_spl.c:135
 msgid "is before"
 msgstr "est avant"
 
-#: src/display_spl.c:135
+#: src/display_spl.c:136
 msgid "in the last"
 msgstr "est le dernier"
 
-#: src/display_spl.c:136
+#: src/display_spl.c:137
 msgid "not in the last"
 msgstr "n'est pas le dernier"
 
-#: src/display_spl.c:143
+#: src/display_spl.c:144
 msgid "is set"
 msgstr "est rempli"
 
-#: src/display_spl.c:144
+#: src/display_spl.c:145
 msgid "is not set"
 msgstr "n'est pas rempli"
 
-#: src/display_spl.c:158
+#: src/display_spl.c:159
 msgid "minutes"
 msgstr "minutes"
 
-#: src/display_spl.c:160
+#: src/display_spl.c:161
 msgid "tracks"
 msgstr "morceaux"
 
-#: src/display_spl.c:161
+#: src/display_spl.c:162
 msgid "hours"
 msgstr "heures"
 
-#: src/display_spl.c:162 src/info.c:725
+#: src/display_spl.c:163 src/info.c:732
 msgid "GB"
 msgstr "Go"
 
-#: src/display_spl.c:169
+#: src/display_spl.c:170
 msgid "random order"
 msgstr "ordre aléatoire"
 
-#: src/display_spl.c:170
+#: src/display_spl.c:171
 msgid "title"
 msgstr "titre"
 
-#: src/display_spl.c:171
+#: src/display_spl.c:172
 msgid "album"
 msgstr "album"
 
-#: src/display_spl.c:172
+#: src/display_spl.c:173
 msgid "artist"
 msgstr "artiste"
 
-#: src/display_spl.c:173
+#: src/display_spl.c:174
 msgid "genre"
 msgstr "genre"
 
-#: src/display_spl.c:174
+#: src/display_spl.c:175
 msgid "most recently added"
 msgstr "dernièrement ajoutés"
 
-#: src/display_spl.c:175
+#: src/display_spl.c:176
 msgid "least recently added"
 msgstr "ajoutés en premier"
 
-#: src/display_spl.c:176
+#: src/display_spl.c:177
 msgid "most often played"
 msgstr "les plus souvent joués"
 
-#: src/display_spl.c:177
+#: src/display_spl.c:178
 msgid "least often played"
 msgstr "les moins souvent joués"
 
-#: src/display_spl.c:178
+#: src/display_spl.c:179
 msgid "most recently played"
 msgstr "dernièrement joués"
 
-#: src/display_spl.c:179
+#: src/display_spl.c:180
 msgid "least recently played"
 msgstr "joués il y a longtemps"
 
-#: src/display_spl.c:180
+#: src/display_spl.c:181
 msgid "highest rating"
 msgstr "les mieux notés"
 
-#: src/display_spl.c:181
+#: src/display_spl.c:182
 msgid "lowest rating"
 msgstr "les moins bien notés"
 
-#: src/display_spl.c:995 src/display_spl.c:1010
+#: src/display_spl.c:1049 src/display_spl.c:1064
 msgid "to"
 msgstr "à"
 
-#: src/display_spl.c:1220
+#: src/display_spl.c:1276
 msgid "-"
 msgstr "-"
 
-#: src/display_spl.c:1227
+#: src/display_spl.c:1286
 msgid "+"
 msgstr "+"
 
-#: src/display_spl.c:1433 src/misc_playlist.c:67 src/misc_playlist.c:69
+#: src/display_spl.c:1503 src/misc_playlist.c:67 src/misc_playlist.c:69
 #: src/misc_playlist.c:94 src/misc_playlist.c:96 src/misc_playlist.c:415
 #: src/misc_playlist.c:417
 msgid "New Playlist"
 msgstr "Nouvelle liste de lecture"
 
-#: src/file.c:129
+#: src/file.c:195
 #, c-format
 msgid ""
 "'%s' is a directory, not a playlist file.\n"
@@ -807,7 +888,7 @@
 "'%s' est un répertoire, pas un fichier de liste.\n"
 "\n"
 
-#: src/file.c:151
+#: src/file.c:222
 #, c-format
 msgid ""
 "'%s' is a not a known playlist file.\n"
@@ -816,7 +897,7 @@
 "'%s' n'est pas un fichier connu de liste\n"
 "\n"
 
-#: src/file.c:168
+#: src/file.c:239
 #, c-format
 msgid ""
 "Cannot open '%s' for reading.\n"
@@ -825,93 +906,99 @@
 "Ne peut ouvrir en lecture le fichier '%s'.\n"
 "\n"
 
-#: src/file.c:237
+#: src/file.c:322
 #, c-format
 msgid "Skipping '%s' because it is a directory.\n"
-msgstr ""
+msgstr "Saut de «%s» parce qu'il s'agit d'un répertoire.\n"
 
-#: src/file.c:242
+#: src/file.c:327
 #, c-format
 msgid "Skipping '%s' to avoid adding playlist file recursively\n"
 msgstr ""
+"Saut de  '%s' pour éviter d'ajouter une liste de lecture récursivement\n"
 
-#: src/file.c:497
+#: src/file.c:582
 #, c-format
 msgid "Unknown token '%s' in template '%s'\n"
-msgstr "Paramètre '%s' dans le modèle '%s' inexistant\n"
+msgstr "Paramètre «%s» dans le modèle «%s» inexistant\n"
 
-#: src/file.c:715
+#: src/file.c:815
 #, c-format
 msgid "Local filename not valid (%s)"
 msgstr "Nom de fichier local invalide (%s)"
 
-#: src/file.c:768
+#: src/file.c:868
 #, c-format
 msgid "No information found for user '%s' in '%s'"
-msgstr "Aucune info pour l'utilisateur '%s' dans '%s'"
+msgstr "Aucune info pour l'utilisateur «%s» dans «%s»"
 
-#: src/file.c:775
+#: src/file.c:875
 #, c-format
 msgid "mserv data file (%s) not available for track (%s)"
 msgstr "Fichier de données mserv (%s) non présent pour le morceau (%s)"
 
-#: src/file.c:783
+#: src/file.c:883
 #, c-format
 msgid "Track (%s) not in mserv music root directory (%s)"
 msgstr "Morceau (%s) non présent dans le répertoire de musique mserv (%s)"
 
-#: src/file.c:816
-#, fuzzy, c-format
+#: src/file.c:988
+#, c-format
 msgid ""
 "The following track could not be processed (file does not exist): '%s'\n"
-msgstr "Le morceau suivant ne peut pas être mis à jour."
+msgstr ""
+"Le morceau suivant ne peut pas être mis à jour (fichier inexistant) : '%s'\n"
 
-#: src/file.c:842
-#, fuzzy, c-format
+#: src/file.c:1037
+#, c-format
 msgid "The following track could not be processed (filetype unknown): '%s'\n"
-msgstr "Le morceau suivant ne peut pas être mis à jour."
+msgstr ""
+"Le morceau suivant ne peut pas être mis à jour (type de fichier inconnu) : '%"
+"s'\n"
 
-#: src/file.c:909
+#: src/file.c:1119
 #, c-format
 msgid ""
 "The following track could not be processed (filetype is known but analysis "
 "failed): '%s'\n"
 msgstr ""
+"Le morceau suivant ne peut pas être mis à jour (type de fichier connu mais "
+"échec de l'analyse) : '%s'\n"
 
-#: src/file.c:935 src/file.c:978
+#: src/file.c:1148 src/file.c:1203
 msgid "Nothing to update"
 msgstr "Rien à mettre à jour"
 
-#: src/file.c:944
+#: src/file.c:1168
 #, c-format
 msgid "Updating %s"
 msgstr "%s en cours de mise à jour"
 
-#: src/file.c:959
+#: src/file.c:1184
 msgid "Updated selected tracks with info from file."
 msgstr "Les morceaux sélectionnés ont été mis à jour à partir des fichiers."
 
-#: src/file.c:991
+#: src/file.c:1216
 #, c-format
 msgid "Retrieving mserv data %s"
 msgstr "Récupération des données mserv %s"
 
 #. no path available
-#: src/file.c:997 src/file.c:1675
+#: src/file.c:1222 src/file.c:1900
 msgid "no filename available"
 msgstr "pas de nom de fichier disponible"
 
-#: src/file.c:1002
+#: src/file.c:1227
 msgid "Updated selected tracks with data from mserv."
 msgstr ""
 "Les morceaux sélectionnés ont été mis à jour à partir des données mserv."
 
-#: src/file.c:1069
+#: src/file.c:1294
 #, c-format
 msgid "Syncing directory '%s'"
-msgstr "Synchronisation du répertoires '%s'"
+msgstr "Synchronisation du répertoires «%s»"
 
-#: src/file.c:1094
+#: src/file.c:1319
 msgid "Syncing completed. No files deleted."
 msgstr "Synchronisation terminée. Aucun fichier effacé."
 
@@ -920,29 +1007,29 @@
 #. title
 #. label
 #. scrolled text
-#: src/file.c:1207
+#: src/file.c:1432
 msgid "Never delete any files when syncing"
 msgstr "Ne jamais effacer les fichiers lors des synchronisations"
 
-#: src/file.c:1236
+#: src/file.c:1461
 msgid "Syncing completed."
 msgstr "Synchronisation terminée."
 
-#: src/file.c:1256
+#: src/file.c:1481
 msgid "Syncing aborted"
 msgstr "Synchronisation annulée"
 
-#: src/file.c:1294
+#: src/file.c:1519
 msgid "No tracks in selection"
 msgstr "Aucun morceau sélectionné"
 
-#: src/file.c:1344
+#: src/file.c:1569
 #, c-format
 msgid "'%s' is not a directory. Ignored.\n"
-msgstr "'%s' n'est pas un répertoire. Ignoré.\n"
+msgstr "«%s» n'est pas un répertoire. Ignoré.\n"
 
 #. no directory names available
-#: src/file.c:1374
+#: src/file.c:1599
 msgid ""
 "No directory names were stored. Make sure that you enable 'Write extended "
 "information' in the Export section of the preferences at the time of "
@@ -960,35 +1047,40 @@
 "doublons' dans l'onglet Import des préférences et ajoutez les répertoires "
 "que vous souhaitez synchroniser de nouveau.\n"
 
-#: src/file.c:1378
+#: src/file.c:1603
 msgid "No valid directories have been found. Sync aborted.\n"
 msgstr "Aucun répertoire valide n'a été trouvé. Synchro annulée.\n"
 
-#: src/file.c:1387
+#: src/file.c:1612
 msgid ""
 "The (former) contents of the following directories will be removed from the "
 "database:\n"
 "\n"
 msgstr ""
+"Le contenu (actuel) des répertoires suivants sera éliminé de la base de "
+"données :\n"
+"\n"
 
-#: src/file.c:1395
+#: src/file.c:1620
 msgid ""
 "The following directories will be synchronized:\n"
 "\n"
 msgstr ""
+"Les répertoires suivant seront synchronisés :\n"
+"\n"
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1406
+#: src/file.c:1631
 msgid "Synchronize directories"
 msgstr "Synchroniser les répertoires"
 
 #. title
-#: src/file.c:1407
+#: src/file.c:1632
 msgid "OK to synchronize the following directories?"
 msgstr "Prêt à synchroniser les répertoires suivants ?"
 
-#: src/file.c:1445
+#: src/file.c:1670
 #, c-format
 msgid "The following track could not be updated"
 msgid_plural "The following %d tracks could not be updated"
@@ -997,11 +1089,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1451
+#: src/file.c:1676
 msgid "Failed Track Update"
 msgstr "Échec de la mise à jour du morceau"
 
-#: src/file.c:1509
+#: src/file.c:1734
 #, c-format
 msgid "The following track has been updated"
 msgid_plural "The following %d tracks have been updated"
@@ -1010,11 +1102,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1515
+#: src/file.c:1740
 msgid "Successful Track Update"
 msgstr "Morceau mis à jour"
 
-#: src/file.c:1574
+#: src/file.c:1799
 #, c-format
 msgid "No mserv information could be retrieved for the following track"
 msgid_plural ""
@@ -1025,52 +1117,66 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1580
+#: src/file.c:1805
 msgid "mserv data retrieval problem"
 msgstr "problème de récupération des données mserv"
 
-#: src/file.c:1721
+#: src/file.c:1946
 msgid "file not found"
 msgstr "fichier introuvable"
 
-#: src/file.c:1725
+#: src/file.c:1950
 msgid "format not supported"
 msgstr "format non supporté"
 
-#: src/file.c:1799
+#: src/file.c:2031
 #, c-format
 msgid "Processing '%s'..."
-msgstr "Traitement de '%s'..."
+msgstr "Traitement de «%s»..."
 
-#: src/file.c:1992 src/file.c:2006
+#: src/file.c:2135 src/misc_track.c:1169 src/misc_track.c:1225
 #, c-format
+msgid ""
+"Podcast already present: '%s'\n"
+"\n"
+msgstr ""
+
+#: src/file.c:2196
+#, fuzzy, c-format
+msgid ""
+"Writing to video files not yet supported (%s).\n"
+"\n"
+msgstr "Échec de la normalisation : type de fichier non supporté.\n"
+
+#: src/file.c:2250 src/file.c:2264
+#, c-format
 msgid "Couldn't change tags of file: %s\n"
-msgstr "Ne peut changer les tags du fichier: %s\n"
+msgstr "Ne peut changer les attributs du fichier : %s\n"
 
-#: src/file.c:2291
+#: src/file.c:2548
 #, c-format
 msgid "Could not open '%s' for reading and writing.\n"
-msgstr "Ne peut ouvrir en lecture/écriture le fichier '%s'.\n"
+msgstr "Ne peut ouvrir en lecture/écriture le fichier «%s».\n"
 
-#: src/file.c:2298
+#: src/file.c:2555
 #, c-format
 msgid "Could not obtain lock on '%s'.\n"
-msgstr "Impossible de verrouiller '%s'\n"
+msgstr "Impossible de verrouiller «%s»\n"
 
 #. error!
-#: src/file.c:2315 src/file.c:2324 src/file.c:2335 src/file.c:2345
+#: src/file.c:2572 src/file.c:2581 src/file.c:2592 src/file.c:2602
 #, c-format
 msgid "Malformed line in '%s': %s\n"
-msgstr "Ligne incomplète dans '%s': %s\n"
+msgstr "Ligne incomplète dans «%s» : %s\n"
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:2374
+#: src/file.c:2631
 msgid "Remove offline playcounts?"
 msgstr "Supprimer les compteurs de lecture hors-ligne ?"
 
 #. title
-#: src/file.c:2375
+#: src/file.c:2632
 msgid ""
 "Some tracks played offline could not be found in the iTunesDB. Press 'OK' to "
 "remove them from the offline playcount file, 'Cancel' to keep them."
@@ -1078,150 +1184,159 @@
 "Certains morceaux joués hors-ligne ne peuvent être trouvés dans iTunesDB.\n"
 "OK pour les supprimer du fichier de compteur de lecture hors-ligne ?"
 
-#: src/file.c:2392
+#: src/file.c:2649
 #, c-format
 msgid "Error writing to '%s'.\n"
-msgstr "Erreur d'écriture du fichier '%s'.\n"
+msgstr "Erreur d'écriture du fichier «%s».\n"
 
-#: src/file.c:2431
-msgid "Normalization failed: file type not supported.\n"
-msgstr "Échec de la normalisation: type de fichier non supporté.\n"
+#: src/file.c:2698
+#, fuzzy, c-format
+msgid ""
+"Normalization failed: file type not supported (%s).\n"
+"\n"
+msgstr "Échec de la normalisation : type de fichier non supporté.\n"
 
-#: src/file.c:2442
-msgid "Normalization failed: file not available.\n"
-msgstr "Échec de la normalisation: fichier non disponible.\n"
+#: src/file.c:2713
+#, fuzzy, c-format
+msgid ""
+"Normalization failed: file not available (%s).\n"
+"\n"
+msgstr "Échec de la normalisation : fichier non disponible.\n"
 
-#: src/file_export.c:106
+#: src/file_export.c:181
 #, c-format
-msgid "Error creating %s: %s\n"
-msgstr "Erreur à la création de \"%s\" (%s)\n"
+msgid "Skipping existing file with same length: '%s'\n"
+msgstr "Saut du fichier existant de même taille : «%s»\n"
 
-#: src/file_export.c:202
+#: src/file_export.c:189
 #, c-format
-msgid "Skipping existing file with same length: '%s'\n"
-msgstr ""
-
-#: src/file_export.c:210
-#, fuzzy, c-format
 msgid "Overwriting existing file: '%s'\n"
-msgstr "ERREUR pour écrire le tag dans le fichier: '%s' (%s).\n"
+msgstr "Ecrasement du fichier existant : «%s»\n"
 
-#: src/file_export.c:227
+#: src/file_export.c:206
 #, c-format
 msgid "Error copying '%s' to '%s': Permission Error (%s)\n"
-msgstr "Impossible de copier '%s' vers '%s': Autorisation refusée (%s)\n"
+msgstr "Impossible de copier «%s» vers «%s» : Autorisation refusée (%s)\n"
 
-#: src/file_export.c:229
+#: src/file_export.c:208
 #, c-format
 msgid "Error copying '%s' to '%s' (%s)\n"
-msgstr "Impossible de copier '%s' vers '%s' (erreur: %s)\n"
+msgstr "Impossible de copier «%s» vers «%s» (erreur : %s)\n"
 
-#: src/file_export.c:237
+#: src/file_export.c:216
 #, c-format
 msgid "Unable to open '%s' for reading\n"
-msgstr "Impossible d'ouvrir le fichier '%s'\n"
+msgstr "Impossible d'ouvrir le fichier «%s»\n"
 
-#: src/file_export.c:344
-#, fuzzy, c-format
+#: src/file_export.c:323
+#, c-format
 msgid "Could find file for '%s' on the iPod\n"
-msgstr "Nom du fichier sur l'iPod"
+msgstr "Impossible de trouver le fichier pour «%s» sur l'iPod\n"
 
 #. create the dialog window
-#: src/file_export.c:411 src/file_itunesdb.c:990 src/tools.c:148
+#: src/file_export.c:390 src/file_itunesdb.c:1060 src/tools.c:148
 msgid "Information"
 msgstr "Information"
 
-#: src/file_export.c:422 src/tools.c:160
+#: src/file_export.c:401 src/tools.c:160
 msgid "Press button to abort."
 msgstr "Appuyer sur le bouton pour interrompre"
 
-#: src/file_export.c:435
+#: src/file_export.c:414
 msgid "copying..."
 msgstr "copie..."
 
-#: src/file_export.c:489
+#: src/file_export.c:468
 #, c-format
 msgid "Failed to write '%s-%s'\n"
-msgstr "Impossible d'écrire '%s-%s'\n"
+msgstr "Impossible d'écrire «%s-%s»\n"
 
-#: src/file_export.c:497
+#: src/file_export.c:476
 #, c-format
 msgid "Copied %d of %d track."
 msgid_plural "Copied %d of %d tracks."
 msgstr[0] "%d morceau copiés sur %d."
 msgstr[1] "%d morceaux copiés sur %d."
 
-#: src/file_export.c:515 src/file_itunesdb.c:1252 src/tools.c:307
+#: src/file_export.c:494 src/file_itunesdb.c:1324 src/tools.c:307
 #, c-format
 msgid "%d%% (%d:%02d:%02d left)"
-msgstr "%d%% (%d:%02d:%02d restant)"
+msgstr "%d%% (%d:%02d :%02d restant)"
 
-#: src/file_export.c:524
+#: src/file_export.c:503
 msgid "Some tracks were not copied."
-msgstr "Certains morceaux n'ont pas été copié."
+msgstr "Certains morceaux n'ont pas été copiés."
 
-#: src/file_export.c:581
+#: src/file_export.c:560
 msgid "Export from iPod database not possible in offline mode."
 msgstr ""
+"Exportation depuis la base de données iPod impossible en mode déconnecté."
 
-#: src/file_export.c:589
+#: src/file_export.c:568
 msgid "Select Export Destination Directory"
 msgstr "Sélectionner le répertoire de destination d'export"
 
-#: src/file_export.c:738
+#: src/file_export.c:717
 msgid "Drag from iPod database not possible in offline mode."
-msgstr ""
+msgstr "Glisser depuis la base de données iPod impossible en mode déconnecté."
 
-#: src/file_export.c:772
-#, fuzzy
+#: src/file_export.c:751
 msgid "The following tracks have to be copied to your harddisk"
-msgstr "Le morceau suivant a été mis à jour"
+msgstr "Les morceaux suivants doivent être copiés sur votre disque dur"
 
-#: src/file_export.c:817
+#: src/file_export.c:796
 msgid ""
 "Some tracks were not copied to your harddisk. Only the copied tracks will be "
 "included in the current drag and drop operation.\n"
 "\n"
 msgstr ""
+"Quelques morceaux non copiés depuis votre disque dur. Seuls les moreceaux "
+"copiés seront inclus dans l'opération de glisser-déposer en cours.\n"
+"\n"
 
-#: src/file_export.c:1014
+#: src/file_export.c:992
 #, c-format
 msgid ""
 "No valid filename for: %s\n"
 "\n"
 msgstr ""
-"Pas de nom de fichier valide pour : %s\n"
+"Pas de nom de fichier valide pour : %s\n"
 "\n"
 
-#: src/file_export.c:1030
+#: src/file_export.c:1008
 #, c-format
 msgid "Created playlist with one track."
 msgid_plural "Created playlist with %d tracks."
 msgstr[0] "Liste de lecture créée avec un morceau."
 msgstr[1] "Liste de lecture créée avec %d morceaux."
 
-#: src/file_export.c:1037
+#: src/file_export.c:1015
 #, c-format
 msgid ""
 "Could not open '%s' for writing (%s).\n"
 "\n"
-msgstr "Ne peut ouvrir en lecture le fichier '%s' (%s).\n"
+msgstr "Ne peut ouvrir en lecture le fichier «%s» (%s).\n"
 
-#: src/file_itunesdb.c:224
+#: src/file_itunesdb.c:114
+#, c-format
+msgid "Matching MD5 checksum for file %d/%d"
+msgstr ""
+
+#: src/file_itunesdb.c:242
 msgid "Could not open \"iTunesDB.ext\" for reading extended info.\n"
 msgstr ""
 "Ne peut ouvrir le fichier \"iTunesDB.ext\" pour lire les infos étendues.\n"
 
-#: src/file_itunesdb.c:231
+#: src/file_itunesdb.c:249
 msgid "Could not create hash value from itunesdb\n"
 msgstr "Ne peut pas créer de hachage à partir de itunesdb\n"
 
-#: src/file_itunesdb.c:245
+#: src/file_itunesdb.c:263
 #, c-format
 msgid "Error while reading extended info: %s\n"
-msgstr "Erreur lors de la lecture des infos étendues: %s\n"
+msgstr "Erreur lors de la lecture des infos étendues : %s\n"
 
-#: src/file_itunesdb.c:262
+#: src/file_itunesdb.c:280
 #, c-format
 msgid ""
 "iTunesDB '%s' does not match checksum in extended information file '%s'\n"
@@ -1235,25 +1350,25 @@
 "contrôle MD5. Cela peut prendre du temps.\n"
 "\n"
 
-#: src/file_itunesdb.c:275
+#: src/file_itunesdb.c:292
 #, c-format
 msgid ""
 "%s:\n"
 "Expected \"itunesdb_hash=\" but got:\"%s\"\n"
 msgstr ""
 "%s:\n"
-"\"itunesdb_hash=\" attendue mais reçue:\"%s\"\n"
+"\"itunesdb_hash=\" attendue mais reçue :\"%s\"\n"
 
-#: src/file_itunesdb.c:335
+#: src/file_itunesdb.c:352
 #, c-format
 msgid ""
 "%s:\n"
 "Format error: %s\n"
 msgstr ""
 "%s:\n"
-"Erreur de format: %s\n"
+"Erreur de format : %s\n"
 
-#: src/file_itunesdb.c:386
+#: src/file_itunesdb.c:407
 msgid ""
 "No MD5 checksums on individual tracks are available.\n"
 "\n"
@@ -1269,7 +1384,7 @@
 "iPod avec d'autres programmes que gtkpod.\n"
 "\n"
 
-#: src/file_itunesdb.c:439
+#: src/file_itunesdb.c:462
 msgid ""
 "Extended info will not be used. If you have non-transferred tracks,\n"
 "these will be lost.\n"
@@ -1277,53 +1392,51 @@
 "Les infos étendues ne seront pas utilisées. Si vous avez des morceaux non,\n"
 "transférés, elles seront perdues.\n"
 
-#: src/file_itunesdb.c:447
-#, fuzzy
+#: src/file_itunesdb.c:470
 msgid "Offline iPod database successfully imported"
-msgstr "La base de l'iPod (mode déconnecté) a été importée avec succès"
+msgstr ""
+"La base de données de l'iPod (mode déconnecté) a été importée avec succès"
 
-#: src/file_itunesdb.c:450
-#, fuzzy
+#: src/file_itunesdb.c:473
 msgid "Local database successfully imported"
-msgstr "La base de l'iPod a été importée avec succès"
+msgstr "La base de données locale a été importée avec succès"
 
 # y, c-format
-#: src/file_itunesdb.c:458
+#: src/file_itunesdb.c:481
 #, c-format
 msgid ""
 "Offline iPod database import failed: '%s'\n"
 "\n"
 msgstr ""
-"Échec de l'import de la base de l'iPod en mode déconnecté : '%s'\n"
+"Échec de l'import de la base de l'iPod en mode déconnecté : '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:462
-#, fuzzy, c-format
+#: src/file_itunesdb.c:485
+#, c-format
 msgid ""
 "Local database import failed: '%s'\n"
 "\n"
 msgstr ""
-"Échec de l'import de la base de l'iPod : '%s'\n"
+"Échec de l'import de la base de données locale : '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:469
+#: src/file_itunesdb.c:492
 msgid ""
 "Offline iPod database import failed: \n"
 "\n"
 msgstr ""
-"Échec de l'import de la base de l'iPod en mode déconnecté : \n"
+"Échec de l'import de la base de données de l'iPod en mode déconnecté : \n"
 "\n"
 
-#: src/file_itunesdb.c:472
-#, fuzzy
+#: src/file_itunesdb.c:495
 msgid ""
 "Local database import failed: \n"
 "\n"
 msgstr ""
-"Échec de l'import de la base de l'iPod en mode déconnecté : \n"
+"Échec de l'import de la base données locale : \n"
 "\n"
 
-#: src/file_itunesdb.c:479 src/file_itunesdb.c:527
+#: src/file_itunesdb.c:502 src/file_itunesdb.c:550
 #, c-format
 msgid ""
 "'%s' does not exist. Import aborted.\n"
@@ -1332,24 +1445,24 @@
 "'%s' n'existe pas. Import annulé.\n"
 "\n"
 
-#: src/file_itunesdb.c:498
+#: src/file_itunesdb.c:521
 msgid "Extended info will not be used.\n"
 msgstr "Les infos étendues ne seront pas utilisées.\n"
 
-#: src/file_itunesdb.c:505
+#: src/file_itunesdb.c:528
 msgid "iPod Database Successfully Imported"
 msgstr "La base de l'iPod a été importée avec succès"
 
-#: src/file_itunesdb.c:512
+#: src/file_itunesdb.c:535
 #, c-format
 msgid ""
 "iPod Database Import Failed: '%s'\n"
 "\n"
 msgstr ""
-"Échec de l'import de la base de l'iPod : '%s'\n"
+"Échec de l'import de la base de l'iPod : '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:518
+#: src/file_itunesdb.c:541
 msgid ""
 "iPod Database Import Failed.\n"
 "\n"
@@ -1357,16 +1470,16 @@
 "Échec de l'import de la base de l'iPod.\n"
 "\n"
 
-#: src/file_itunesdb.c:822
+#: src/file_itunesdb.c:890
 #, c-format
 msgid "Could not open \"%s\" for writing extended info.\n"
-msgstr "Ne peut ouvrir en écriture le fichier d'infos étendues \"%s\".\n"
+msgstr "Ne peut ouvrir en écriture le fichier d'infos étendues «%s».\n"
 
-#: src/file_itunesdb.c:837
+#: src/file_itunesdb.c:905
 msgid "Aborted writing of extended info.\n"
 msgstr "Écriture des infos étendues interrompue.\n"
 
-#: src/file_itunesdb.c:1001
+#: src/file_itunesdb.c:1071
 msgid ""
 "Press button to abort.\n"
 "Export can be continued at a later time."
@@ -1374,27 +1487,27 @@
 "Appuyer sur le bouton pour Interrompre.\n"
 "L'export peut être repris plus tard."
 
-#: src/file_itunesdb.c:1070
+#: src/file_itunesdb.c:1140
 msgid "deleting..."
 msgstr "suppression..."
 
-#: src/file_itunesdb.c:1173
+#: src/file_itunesdb.c:1244
 msgid "preparing to copy..."
 msgstr "préparation de la copie..."
 
-#: src/file_itunesdb.c:1235
+#: src/file_itunesdb.c:1307
 #, c-format
 msgid "Copied %d of %d new track."
 msgid_plural "Copied %d of %d new tracks."
 msgstr[0] "%d sur %d du nouveau morceau copié."
 msgstr[1] "%d sur %d des nouveaux morceaux copiés."
 
-#: src/file_itunesdb.c:1262
+#: src/file_itunesdb.c:1334
 msgid "Some tracks were not written to iPod. Export aborted!"
 msgstr "Des morceaux n'ont pas été copiés sur l'iPod. Export annulé!"
 
-#: src/file_itunesdb.c:1315
-#, fuzzy, c-format
+#: src/file_itunesdb.c:1387
+#, c-format
 msgid ""
 "You did not import the existing iTunesDB ('%s'). This is most likely "
 "incorrect and will result in the loss of the existing database.\n"
@@ -1403,14 +1516,14 @@
 "cancel, you can import the existing database before calling this function "
 "again.\n"
 msgstr ""
-"Vous n'avez pas importé la base iTunesDB existante. C'est souvent une erreur "
-"et cela résultera à la perte de la base déjà existante.\n"
+"Vous n'avez pas importé la base iTunesDB ('%s') existante. C'est souvent une "
+"erreur et cela impliquera la perte de la base existante.\n"
 "\n"
 "Appuyer sur 'OK' pour continuer ou 'Annuler' pour interrompre. Si vous "
 "annulez, vous pouvez importer la base existante avant d'appeler de nouveau "
 "cette fonction.\n"
 
-#: src/file_itunesdb.c:1345
+#: src/file_itunesdb.c:1417
 msgid ""
 "iPod directory structure must be present before synching to the iPod can be "
 "performed.\n"
@@ -1418,383 +1531,160 @@
 "Les répertoires systèmes de l'iPod doivent exister avant de pouvoir "
 "synchroniser l'ipod.\n"
 
-#: src/file_itunesdb.c:1354
+#: src/file_itunesdb.c:1426
 msgid "Some tracks could not be deleted from the iPod. Export aborted!"
 msgstr "Des morceaux ne peuvent pas être supprimés de l'iPod. Export annulé!"
 
-#: src/file_itunesdb.c:1370
+#: src/file_itunesdb.c:1442
 msgid "Now writing iTunesDB. Please wait..."
 msgstr "Écriture de la base iTunesDB. Veuillez patienter..."
 
-#: src/file_itunesdb.c:1414
+#: src/file_itunesdb.c:1488
 #, c-format
 msgid "Extended information file not deleted: '%s'"
-msgstr "Fichier d'infos étendues non supprimé: '%s'"
+msgstr "Fichier d'infos étendues non supprimé : «%s»"
 
-#: src/file_itunesdb.c:1500
+#: src/file_itunesdb.c:1574
 msgid "iPod Database Saved"
 msgstr "Base de l'iPod sauvegardée"
 
-#: src/file_itunesdb.c:1548
+#: src/file_itunesdb.c:1633
 msgid "Syncing contacts, calendar and notes..."
 msgstr "Synchronisation du calendrier, contacts et notes..."
 
 #: src/fileselection.c:123
-#, fuzzy
 msgid "Successfully added files"
 msgstr "Les fichiers ont bien été ajoutés"
 
 #: src/fileselection.c:125
 msgid "Some files were not added successfully"
-msgstr ""
+msgstr "Echec de l'ajout de quelques fichiers"
 
 #. Create the file chooser, and handle the response
 #: src/fileselection.c:148
-#, fuzzy
 msgid "Add Files"
-msgstr "Ajouter des _fichiers"
+msgstr "Ajouter des fichiers"
 
 #. Create the file chooser, and handle the response
 #: src/fileselection.c:227
-#, fuzzy
 msgid "Add Playlists"
-msgstr "Ajouter une _liste de lecture"
+msgstr "Ajouter une liste de lecture"
 
-#: src/fileselection.c:438
+#. Create the file chooser, and handle the response
+#: src/fileselection.c:270
+msgid "Set Cover"
+msgstr ""
+
+#: src/fileselection.c:491
 msgid "Select directory to add recursively"
 msgstr "Sélectionner un répertoire à ajouter récursivement"
 
-#: src/fileselection.c:696
+#: src/fileselection.c:749
 msgid "Ok"
 msgstr "Ok"
 
-#: src/fileselection.c:705
+#: src/fileselection.c:758
 msgid "Cancel"
 msgstr "Annuler"
 
 #: src/getopt.c:681
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: option `%s' est ambigue\n"
+msgstr "%s : option «%s» ambigüe\n"
 
 #: src/getopt.c:706
 #, c-format
 msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: option `--%s' ne nécessite pas d'arguement\n"
+msgstr "%s : l'option «--%s» n'autorise pas d'argument\n"
 
 #: src/getopt.c:711
 #, c-format
 msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: option `%c%s' ne nécessite pas d'argument\n"
+msgstr "%s : l'option «%c%s» n'autorise pas d'argument\n"
 
 #: src/getopt.c:729 src/getopt.c:902
 #, c-format
 msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: option `%s' nécessite un argument\n"
+msgstr "%s : l'option «%s» nécessite un argument\n"
 
 #. --option
 #: src/getopt.c:758
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: option `--%s' non reconnue\n"
+msgstr "%s : option «--%s» non reconnue\n"
 
 #. +option or -option
 #: src/getopt.c:762
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: option `%c%s' non reconnue\n"
+msgstr "%s : option «%c%s» non reconnue\n"
 
 #. 1003.2 specifies the format of this message.
 #: src/getopt.c:788
 #, c-format
 msgid "%s: illegal option -- %c\n"
-msgstr "%s: option -- %c interdite\n"
+msgstr "%s : option -- %c interdite\n"
 
 #: src/getopt.c:791
 #, c-format
 msgid "%s: invalid option -- %c\n"
-msgstr "%s: option -- %c non valide\n"
+msgstr "%s : option -- %c non valide\n"
 
 #. 1003.2 specifies the format of this message.
 #: src/getopt.c:821 src/getopt.c:951
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: option -- %c nécessite un argument\n"
+msgstr "%s : l'option -- %c nécessite un argument\n"
 
 #: src/getopt.c:868
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: option `-W %s' est ambigue\n"
+msgstr "%s : l'option «-W %s» est ambigue\n"
 
 #: src/getopt.c:886
 #, c-format
 msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: option `-W %s' n'autorise pas d'argument\n"
+msgstr "%s : l'option «-W %s» n'autorise pas d'argument\n"
 
 #: src/info.c:377
 msgid "n/c"
 msgstr "n/c"
 
-#: src/info.c:382 src/info.c:786
+#: src/info.c:382 src/info.c:793
 msgid "offline"
 msgstr "déconnecté"
 
 #: src/info.c:469
-#, fuzzy, c-format
+#, c-format
 msgid " P:%d T:%d/%d"
 msgstr "L:%d M:%d/%d"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "B"
 msgstr "o"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "kB"
 msgstr "ko"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "TB"
 msgstr "To"
 
-#: src/info.c:771
+#: src/info.c:778
 #, c-format
 msgid " %s Free"
 msgstr " %s de libre"
 
-#: src/info.c:776
+#: src/info.c:783
 #, c-format
 msgid " %s Pending"
 msgstr " %s en cours"
 
-#: src/info.c:781
+#: src/info.c:788
 msgid " disconnected"
 msgstr "déconnecté"
 
-#: src/itdb_itunesdb.c:313
-#, c-format
-msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
-msgstr "Erreur de flux à l'offset %ld (longueur %ld) dans le fichier '%s'."
-
-#: src/itdb_itunesdb.c:520
-#, c-format
-msgid "Not a Play Counts file: '%s' (missing mhdp header)."
-msgstr "'%s' n'est pas un fichier de compteurs (entête mhdp manquant)"
-
-#: src/itdb_itunesdb.c:534
-#, c-format
-msgid "Play Counts file ('%s'): header length smaller than expected (%d<96)."
-msgstr ""
-"Fichier de compteurs ('%s'): longueur de l'entête plus petite que prévue (%"
-"d<96)."
-
-#: src/itdb_itunesdb.c:547
-#, c-format
-msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
-msgstr ""
-"Fichier de compteur ('%s'): longueur des données plus petite que prévue (%"
-"d<12)."
-
-#: src/itdb_itunesdb.c:801
-#, c-format
-msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
-msgstr "Corruption d'iTunesDB : pas de MHOD à l'offset %ld du fichier '%s'."
-
-#: src/itdb_itunesdb.c:921
-#, c-format
-msgid ""
-"Length of smart playlist rule field (%d) not as expected. Trying to continue "
-"anyhow.\n"
-msgstr ""
-"Longueur du champ de la règle (%d) de la liste intelligente inattendue. "
-"Tentative pour continuer quand même.\n"
-
-#: src/itdb_itunesdb.c:964
-msgid "Did not find SLst hunk as expected. Trying to continue.\n"
-msgstr ""
-"Ne peut trouver le SLst attendu. Tentative pour continuer quand même.\n"
-
-#: src/itdb_itunesdb.c:970
-#, c-format
-msgid ""
-"Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
-"\n"
-msgstr ""
-"Type MHOD inconnu (%d) lors du parcours de iTunesDB. Ignorance de l'erreur.\n"
-
-#: src/itdb_itunesdb.c:1050 src/itdb_itunesdb.c:1739 src/itdb_itunesdb.c:1774
-#, c-format
-msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr "Corruption d'iTunesDB: longueur 0 à %ld du fichier '%s'."
-
-#: src/itdb_itunesdb.c:1144
-msgid "Master-PL"
-msgstr "Liste principale"
-
-#: src/itdb_itunesdb.c:1171
-#, c-format
-msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
-msgstr "Corruption d'iTunesDB: trouvé mhyp à %ld du fichier '%s'."
-
-#: src/itdb_itunesdb.c:1219
-#, c-format
-msgid "Itdb_Track ID '%d' not found.\n"
-msgstr "Itdb_Track ID '%d' non trouvé.\n"
-
-#: src/itdb_itunesdb.c:1482
-msgid "OTG Playlist"
-msgstr "Liste de lecture OTG"
-
-#: src/itdb_itunesdb.c:1496
-#, c-format
-msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
-msgstr ""
-"Le fichier '%s' n'est pas un fichier de liste OTG (entête mhpo manquant)."
-
-#: src/itdb_itunesdb.c:1510
-#, c-format
-msgid "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
-msgstr "Fichier de liste OTG ('%s'): entête plus petit que prévu (%d<20)."
-
-#: src/itdb_itunesdb.c:1522
-#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
-msgstr ""
-"Fichier de liste OTG ('%s'): longueur de données plus petite que prévue (%"
-"d<4)."
-
-#: src/itdb_itunesdb.c:1557
-#, c-format
-msgid "OTG playlist file '%s': reference to non-existent track (%d)."
-msgstr "Fichier de liste OTG '%s': référence à un morceau inexistant (%d)."
-
-#: src/itdb_itunesdb.c:1602
-#, c-format
-msgid "OTG Playlist %d"
-msgstr "Liste de lecture OTG %d"
-
-#: src/itdb_itunesdb.c:1645
-#, c-format
-msgid "Not a iTunesDB: '%s' (missing mhdb header)."
-msgstr "'%s' n'est pas un fichier iTunesDB (entête mhdb manquant)"
-
-#: src/itdb_itunesdb.c:1661
-#, c-format
-msgid ""
-"iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). "
-"Aborting."
-msgstr ""
-"iTunesDB ('%s'): longueur de l'entête mhsd plus petite que prévue (%ld<32). "
-"Interruption."
-
-#: src/itdb_itunesdb.c:1693
-#, c-format
-msgid "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
-msgstr ""
-"Corruption de iTunesDB ('%s'): déjà trouvés deux listes mhsds -- abandon."
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1754
-msgid ""
-"iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"Corruption possible de iTunesDB: nombre de fichiers (mhit) incohérent. "
-"Tentative pour continuer quand même.\n"
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1835
-msgid ""
-"iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"Corruption possible d'iTunesDB: nombre de listes (mhyp) incohérent. "
-"Tentative pour continuer quand même.\n"
-
-#: src/itdb_itunesdb.c:1873
-#, c-format
-msgid "File not found: '%s'."
-msgstr "Fichier introuvable: '%s'."
-
-#: src/itdb_itunesdb.c:2394
-#, c-format
-msgid "Cannot write mhod of type %d\n"
-msgstr "Impossible d'écrire mhod du type %d\n"
-
-#: src/itdb_itunesdb.c:2520 src/itdb_itunesdb.c:2633
-msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
-msgstr ""
-"Base de données en mémoire corrompue (track pointer == NULL). Abandon de "
-"l'export."
-
-#: src/itdb_itunesdb.c:2676
-msgid "Database in memory corrupt (playlist pointer == NULL). Aborting export."
-msgstr ""
-"Base de données en mémoire corrompue (playlist pointer == NULL). Abandon de "
-"l'export."
-
-#: src/itdb_itunesdb.c:2716
-#, c-format
-msgid "Opening of '%s' for writing failed."
-msgstr "Échec de l'ouverture en écriture de '%s'."
-
-#: src/itdb_itunesdb.c:2727
-#, c-format
-msgid "Writing to '%s' failed."
-msgstr "Erreur d'écriture du fichier '%s'."
-
-#: src/itdb_itunesdb.c:2738
-#, c-format
-msgid "Writing to '%s' failed (%s)."
-msgstr "Échec de l'écriture dans '%s' (%s)."
-
-#: src/itdb_itunesdb.c:2875 src/itdb_itunesdb.c:3042 src/itdb_itunesdb.c:3224
-#: src/itdb_itunesdb.c:3358
-#, c-format
-msgid "Path not found: '%s'."
-msgstr "Chemin non trouvé : '%s'."
-
-#: src/itdb_itunesdb.c:3244
-#, c-format
-msgid "Error renaming '%s' to '%s' (%s)."
-msgstr "Impossible de renommer '%s' en '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3261
-#, c-format
-msgid "Error removing '%s' (%s)."
-msgstr "Erreur de suppression du fichier '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3487
-#, c-format
-msgid "Error opening '%s' for reading (%s)."
-msgstr "Ne peut ouvrir en lecture le fichier '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3498
-#, c-format
-msgid "Error opening '%s' for writing (%s)."
-msgstr "Ne peut ouvrir en écriture le fichier '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3515
-#, c-format
-msgid "Error while reading from '%s' (%s)."
-msgstr "Erreur lors de la lecture à partir de: %s (%s)."
-
-#: src/itdb_itunesdb.c:3531
-#, c-format
-msgid "Error while writing to '%s' (%s)."
-msgstr "Erreur d'écriture dans '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3544 src/itdb_itunesdb.c:3554
-#, c-format
-msgid "Error when closing '%s' (%s)."
-msgstr "Erreur à la fermeture '%s' (%s)."
-
-#. New action!
-#: src/itdb_playlist.c:71
-#, c-format
-msgid "Unknown action (%d) in smart playlist will be ignored.\n"
-msgstr "L'action inconnue (%d) dans la liste intelligente sera ignorée.\n"
-
 #: src/md5.c:159
 msgid "Hashed file is 0 bytes long\n"
 msgstr "Le fichier est vide\n"
@@ -1802,7 +1692,7 @@
 #: src/md5.c:208
 #, c-format
 msgid "Could not open '%s' to calculate MD5 checksum: %s\n"
-msgstr "N'arrive pas à lire '%s' pour calculer le hachage MD5: %s\n"
+msgstr "N'arrive pas à lire «%s» pour calculer le hachage MD5 : %s\n"
 
 #: src/misc.c:78
 #, c-format
@@ -1810,12 +1700,13 @@
 "gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod"
 "(tm)."
 msgstr ""
-"gtkpod Version %s: Interface multilingue et multi-plateforme pour l'iPod(tm) "
-"d'Apple."
+"gtkpod Version %s : Interface multilingue et multi-plateforme pour l'iPod"
+"(tm) d'Apple."
 
 #: src/misc.c:82
+#, fuzzy
 msgid ""
-"(C) 2002 - 2003\n"
+"(C) 2002 - 2005\n"
 "Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
@@ -1874,44 +1765,44 @@
 #: src/misc.c:98
 msgid "Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)\n"
 msgstr ""
-"Ramesh Dharan: 'Édition multiple' (édition de tags de plusieurs fichiers en "
+"Ramesh Dharan : 'Édition multiple' (édition de tags de plusieurs fichiers en "
 "même temps)\n"
 
 #: src/misc.c:100
 msgid "Hiroshi Kawashima: Japanese charset autodetecion feature\n"
 msgstr ""
-"Hiroshi Kawashima: détection automatique du type de jeu de caractères "
+"Hiroshi Kawashima : détection automatique du type de jeu de caractères "
 "japonais\n"
 
 #: src/misc.c:102
 msgid "Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c\n"
 msgstr ""
-"Adrian Ulrich: portage du code de liste de lecture à partir de mktunes.pl\n"
+"Adrian Ulrich : portage du code de liste de lecture à partir de mktunes.pl\n"
 
 #: src/misc.c:104
 msgid ""
 "Walter Bell: correct handling of DND URIs with escaped characters and/or cr/"
 "newlines at the end\n"
 msgstr ""
-"Walter Bell: correction de la manipulation des URIs avec des caractères "
+"Walter Bell : correction de la manipulation des URIs avec des caractères "
 "d'échappement\n"
 
 #: src/misc.c:106
 msgid "Sam Clegg: user defined filenames when exporting tracks from the iPod\n"
 msgstr ""
-"Sam Clegg: définition par un masque des noms de fichier à l'export de "
+"Sam Clegg : définition par un masque des noms de fichier à l'export de "
 "morceaux\n"
 
 #: src/misc.c:108
 msgid "Chris Cutler: automatic creation of various playlist types\n"
-msgstr "Chris Cutler: création automatique de divers listes de lecture\n"
+msgstr "Chris Cutler : création automatique de divers listes de lecture\n"
 
 #: src/misc.c:110
 msgid ""
 "Graeme Wilford: reading and writing of the 'Composer' ID3 tags, progress "
 "dialogue during sync\n"
 msgstr ""
-"Graeme Wilford: lecture et écriture des tags 'Compositeur', barre de "
+"Graeme Wilford : lecture et écriture des tags 'Compositeur', barre de "
 "progression durant les synchro\n"
 
 #: src/misc.c:112
@@ -1919,201 +1810,230 @@
 "Edward Matteucci: debugging, special playlist creation, most of the volume "
 "normalizing code\n"
 msgstr ""
-"Edward Matteucci: debogage, création de liste de lectures, majeure partie de "
-"la normalisation du volume\n"
+"Edward Matteucci : debogage, création de liste de lectures, majeure partie "
+"de la normalisation du volume\n"
 
 #: src/misc.c:114
 msgid "Jens Lautenbach: some optical improvements\n"
-msgstr "Jens Lautenbach: améliorations esthétiques de l'interface\n"
+msgstr "Jens Lautenbach : améliorations esthétiques de l'interface\n"
 
 #: src/misc.c:116
 msgid "Alex Tribble: iPod eject patch\n"
-msgstr "Alex Tribble: éjection de l'iPod\n"
+msgstr "Alex Tribble : éjection de l'iPod\n"
 
 #: src/misc.c:118
 msgid "Yaroslav Halchenko: Orphaned and dangling tracks handling\n"
 msgstr ""
-"Yaroslav Halchenko: gestion des fichiers orphelins et morceaux fictifs\n"
+"Yaroslav Halchenko : gestion des fichiers orphelins et morceaux fictifs\n"
 
 #: src/misc.c:120
 msgid ""
 "Andrew Huntwork: Filename case sensitivity fix and various other bugfixes\n"
 msgstr ""
-"Andrew Huntwork: gestion de la casse des noms de fichier et correctifs\n"
+"Andrew Huntwork : gestion de la casse des noms de fichier et correctifs\n"
 
 #: src/misc.c:122
 msgid ""
 "Ero Carrera: Filename validation and quick sync when copying tracks from the "
 "iPod\n"
 msgstr ""
-"Ero Carrera: Validation du nom de fichier et synchro rapide lors de la copie "
-"de l'iPod\n"
+"Ero Carrera : Validation du nom de fichier et synchro rapide lors de la "
+"copie de l'iPod\n"
 
 #: src/misc.c:124
 msgid "Jens Taprogge: Support for LAME's replay gain tag to normalize volume\n"
 msgstr ""
-"Jens Taprogge: Support du tag 'replay gain' de LAME pour normaliser le "
+"Jens Taprogge : Support du tag 'replay gain' de LAME pour normaliser le "
 "volume\n"
 
 #: src/misc.c:126
 msgid "Armando Atienza: Support with external playcounts\n"
-msgstr "Armando Atienza: Suppport pour les compteurs de lecture externes\n"
+msgstr "Armando Atienza : Suppport pour les compteurs de lecture externes\n"
 
 #: src/misc.c:128
 msgid "D.L. Sharp: Support for m4b files (bookmarkable AAC files)\n"
-msgstr "D.L. Sharp: Support des fichiers m4b\n"
+msgstr "D.L. Sharp : Support des fichiers m4b\n"
 
 #: src/misc.c:130
 msgid "Jim Hall: Decent INSTALL file\n"
-msgstr "Jim Hall: Fichier INSTALL décent\n"
+msgstr "Jim Hall : Fichier INSTALL décent\n"
 
 #: src/misc.c:132
 msgid ""
 "Juergen Helmers, Markus Gaugusch: Conversion scripts to sync calendar/"
 "contacts to the iPod\n"
 msgstr ""
-"Juergen Helmers, Markus Gaugusch: Scripts de conversion pour le calendrier/"
+"Juergen Helmers, Markus Gaugusch : Scripts de conversion pour le calendrier/"
 "contacts\n"
 
 #. J"urgen!
 #: src/misc.c:134
 msgid "Flavio Stanchina: bugfixes\n"
-msgstr "Flavio Stanchina: correction de bogues\n"
+msgstr "Flavio Stanchina : correction de bogues\n"
 
 #: src/misc.c:136
 msgid ""
 "Chris Micacchi: when sorting ignore 'the' and similar at the beginning of "
 "the title\n"
-msgstr "Chris Micacchi: lors du tri, gestion de 'the' au début du titre\n"
+msgstr "Chris Micacchi : lors du tri, gestion de 'the' au début du titre\n"
 
 #: src/misc.c:138
 msgid "Steve Jay: use statvfs() instead of df (better portability, faster)\n"
-msgstr "Steve Jay: utilisation de statvfs pour une meilleure portabilité\n"
+msgstr "Steve Jay : utilisation de statvfs pour une meilleure portabilité\n"
 
 #: src/misc.c:141
 msgid ""
 "Christoph Kunz: address compatibility issues when writing id3v2.4 type mp3 "
 "tags\n"
-msgstr ""
+msgstr "Christoph Kunz : compatibilité des adresses pour attributs id3v2.4\n"
 
 #: src/misc.c:144
 msgid ""
 "James Ligget: replacement of old GTK file selection dialogs with new GTK "
 "filechooser dialogs\n"
 msgstr ""
+"James Ligget : remplacement de l'ancien dialogue GTK de sélection de "
+"fichiers par le nouveau\n"
 
 #: src/misc.c:147
 msgid "Daniel Kercher: sync scripts for abook and webcalendar\n"
-msgstr ""
+msgstr "Daniel Kercher : scripts de synchronisation abook et webcalendar\n"
 
 #: src/misc.c:150
 msgid "Clinton Gormley: sync scripts for thunderbird\n"
+msgstr "Clinton Gormley : scripts de synchronisation pour thunderbird\n"
+
+#: src/misc.c:153
+#, fuzzy
+msgid "Sebastien Beridot: sync script for ldif addressbook format\n"
+msgstr "Clinton Gormley : scripts de synchronisation pour thunderbird\n"
+
+#: src/misc.c:156
+#, fuzzy
+msgid "Sebastian Scherer: sync script for kNotes\n"
+msgstr "Clinton Gormley : scripts de synchronisation pour thunderbird\n"
+
+#: src/misc.c:159
+msgid "Nick Piper: sync script for Palm, type-ahead search\n"
 msgstr ""
 
-#: src/misc.c:153
+#: src/misc.c:162
+msgid "Uwe Hermann: help with support for iPod Video\n"
+msgstr ""
+
+#: src/misc.c:165
 msgid ""
-"Icons of buttons were made by Nicolas Chariot.\n"
+"Iain Benson: support for compilation tag in mp3 files and separate display "
+"of compilations in the sort tab.\n"
+msgstr ""
+
+#: src/misc.c:167
+msgid ""
+"Nicolas Chariot: icons of buttons\n"
 "\n"
 "\n"
 msgstr ""
-"Les icones des boutons ont été réalisés par Nicolas Chariot.\n"
-"\n"
-"\n"
 
-#: src/misc.c:157
+#: src/misc.c:171
 msgid "This program borrows code from the following projects:\n"
-msgstr "Ce programme emprunte du code des projets suivants:\n"
+msgstr "Ce programme emprunte du code des projets suivants :\n"
 
-#: src/misc.c:159
+#: src/misc.c:173
 msgid ""
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
 msgstr ""
-"    gnupod: (mktunes.pl porté en C) pour la lecture et écriture de iTunesDB "
+"    gnupod : (mktunes.pl porté en C) pour la lecture et écriture de iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
 
-#: src/misc.c:161
+#: src/misc.c:175
 msgid ""
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
 msgstr ""
-"    iPod.cpp, iPod.h par Samuel Wood (sam dot wood at gamil dot com): "
+"    iPod.cpp, iPod.h par Samuel Wood (sam dot wood at gamil dot com) : "
 "certaines parties de code des listes intelligentes sont basées sur ses "
 "classes C++.\n"
 
-#: src/misc.c:163
+#: src/misc.c:177
 msgid "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 msgstr ""
-"    mp3info: détection de la durée du mp3 (http://ibiblio.org/mp3info/)\n"
+"    mp3info : détection de la durée du mp3 (http://ibiblio.org/mp3info/)\n"
 
-#: src/misc.c:165
+#: src/misc.c:179
 msgid ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
-msgstr "    xmms: explorateur, détection de la durée (http://www.xmms.org)\n"
+msgstr "    xmms : explorateur, détection de la durée (http://www.xmms.org)\n"
 
-#: src/misc.c:168
+#: src/misc.c:182
 msgid ""
 "The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"
 msgstr ""
 "L'interface utilisateur a été créée avec l'aide de glade-2 (http://glade."
 "gnome.org).\n"
 
-#: src/misc.c:183
+#: src/misc.c:197
 msgid "French:   David Le Brun (david at dyn-ns dot net)\n"
-msgstr "Français: David Le Brun (david at dyn-ns dot net)\n"
+msgstr "Français : Éric Lassauge (lassauge at users dot sourceforge dot net)\n"
 
-#: src/misc.c:185
+#: src/misc.c:199
 msgid "German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
-msgstr "Allemand: Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
+msgstr "Allemand : Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 
-#: src/misc.c:187
+#: src/misc.c:201
 msgid "Hebrew: Assaf Gillat (gillata at gmail dot com)\n"
-msgstr ""
+msgstr "Hébreu : Assaf Gillat (gillata at gmail dot com)\n"
 
-#: src/misc.c:189
+#: src/misc.c:203
 msgid ""
 "Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
 msgstr ""
-"Italien: Edward Matteucci (edward_matteucc at users dot sourceforge dot "
+"Italien : Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
 
-#: src/misc.c:191
+#: src/misc.c:205
 msgid "Japanese: Ayako Sano\n"
-msgstr "Japonais: Ayako Sano\n"
+msgstr "Japonais : Ayako Sano\n"
 
-#: src/misc.c:193
+#: src/misc.c:207
 msgid "Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
-msgstr "Japonais: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
+msgstr ""
+"Japonais : Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 
-#: src/misc.c:195
+#: src/misc.c:209
 msgid "Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
-msgstr "Suèdois: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
+msgstr "Suèdois : Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 
-#: src/misc.c:318
+#: src/misc.c:332
 #, c-format
 msgid "Could not delete backup file: \"%s\"\n"
-msgstr "Ne peut effacer le fichier de sauvegarde: \"%s\"\n"
+msgstr "Ne peut effacer le fichier de sauvegarde : \"%s\"\n"
 
-#: src/misc.c:438
+#: src/misc.c:452
 #, c-format
 msgid "Unmounting of '%s' (%s) unsuccessful."
-msgstr ""
+msgstr "Echec du démontage de «%s» (%s)."
 
-#: src/misc.c:442
+#: src/misc.c:456
 #, c-format
 msgid "Unmounting of '%s' unsuccessful."
-msgstr ""
+msgstr "Echec du démontage de «%s»."
 
-#: src/misc.c:1097
+#: src/misc.c:1219
 #, c-format
+msgid "Unknown token '%%%c' in template '%s'"
+msgstr "Le paramêtre «%%%c» dans le modèle «%s» n'existe pas"
+
+#: src/misc.c:1301
+#, c-format
 msgid "Template ('%s') does not match file type '%s'\n"
-msgstr "Le modèle ('%s') ne correspond pas au type de fichier '%s'\n"
+msgstr "Le modèle ('%s') ne correspond pas au type de fichier «%s»\n"
 
-#: src/misc.c:1190
+#: src/misc.c:1382
 #, c-format
-msgid "Unknown token '%%%c' in template '%s'"
-msgstr "Le paramêtre '%%%c' dans le modèle '%s' n'existe pas"
+msgid "Error creating %s: %s\n"
+msgstr "Erreur à la création de \"%s\" (%s)\n"
 
 #. gint id,
 #. gboolean modal,
@@ -2124,10 +2044,9 @@
 #. title
 #: src/misc_confirm.c:72
 msgid "The following has occured:"
-msgstr "Le problème suivant est survenu:"
+msgstr "Le problème suivant est survenu :"
 
 #: src/misc_confirm.c:124
-#, fuzzy
 msgid ""
 "Are you sure you want to delete the following track completely from your "
 "iPod? The number of playlists this track is a member of is indicated in "
@@ -2137,40 +2056,37 @@
 "iPod? The number of playlists the tracks are member of is indicated in "
 "parentheses."
 msgstr[0] ""
-"Êtes-vous sûr de vouloir supprimer le morceau suivant de votre iPod? Le "
+"Êtes-vous sûr de vouloir supprimer le morceau suivant de votre iPod ? Le "
 "nombre de listes dont ce morceau fait partie est indiqué entre parenthèses."
 msgstr[1] ""
-"Êtes-vous sûr de vouloir supprimer les morceaux suivants de votre iPod? Le "
+"Êtes-vous sûr de vouloir supprimer les morceaux suivants de votre iPod ? Le "
 "nombre de listes dont ces morceaux font partie est indiqué entre parenthèses."
 
 #: src/misc_confirm.c:128
-#, fuzzy
 msgid "Delete Track Completely from iPod?"
 msgid_plural "Delete Tracks Completey from iPod?"
-msgstr[0] "Suppression d'un morceau de l'iPod"
-msgstr[1] "Suppression de %d morceaux de l'iPod"
+msgstr[0] "Suppression d'un morceau de l'iPod ?"
+msgstr[1] "Suppression de %d morceaux de l'iPod ?"
 
 #: src/misc_confirm.c:138 src/misc_confirm.c:178
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Are you sure you want to remove the following track from the playlist \"%s\"?"
 msgid_plural ""
 "Are you sure you want to remove the following tracks from the playlist \"%s"
 "\"?"
 msgstr[0] ""
-"Êtes-vous sûr de vouloir supprimer le morceau suivant de la liste \"%s\" ?"
+"Êtes-vous sûr de vouloir supprimer le morceau suivant de la liste \"%s\" ?"
 msgstr[1] ""
-"Êtes-vous sûr de vouloir supprimer les morceaux suivants de la liste \"%s\" ?"
+"Êtes-vous sûr de vouloir supprimer les morceaux suivants de la liste \"%s\" ?"
 
 #: src/misc_confirm.c:142 src/misc_confirm.c:182
-#, fuzzy
 msgid "Remove Track From Playlist?"
 msgid_plural "Remove Tracks From Playlist?"
-msgstr[0] "Supprimer le morceau de la liste de lecture ?"
-msgstr[1] "Supprimer les morceaux de la liste de lecture ?"
+msgstr[0] "Supprimer le morceau de la liste de lecture ?"
+msgstr[1] "Supprimer les morceaux de la liste de lecture ?"
 
 #: src/misc_confirm.c:164
-#, fuzzy
 msgid ""
 "Are you sure you want to delete the following track completely from your "
 "harddisk? The number of playlists this track is a member of is indicated in "
@@ -2180,21 +2096,21 @@
 "harddisk? The number of playlists the tracks are member of is indicated in "
 "parentheses."
 msgstr[0] ""
-"Êtes-vous sûr de vouloir supprimer le morceau suivant de votre iPod? Le "
-"nombre de listes dont ce morceau fait partie est indiqué entre parenthèses."
+"Êtes-vous sûr de vouloir supprimer le morceau suivant de votre disque dur ? "
+"Le nombre de listes dont ce morceau fait partie est indiqué entre "
+"parenthèses."
 msgstr[1] ""
-"Êtes-vous sûr de vouloir supprimer les morceaux suivants de votre iPod? Le "
-"nombre de listes dont ces morceaux font partie est indiqué entre parenthèses."
+"Êtes-vous sûr de vouloir supprimer les morceaux suivants de votre disque "
+"durPod ? Le nombre de listes dont ces morceaux font partie est indiqué entre "
+"parenthèses."
 
 #: src/misc_confirm.c:168
-#, fuzzy
 msgid "Delete Track from Harddisk?"
 msgid_plural "Delete Tracks from Harddisk?"
-msgstr[0] "Supprimer le morceau de la liste de lecture ?"
-msgstr[1] "Supprimer les morceaux de la liste de lecture ?"
+msgstr[0] "Supprimer le morceau du disque dur ?"
+msgstr[1] "Supprimer les morceaux du disque dur ?"
 
 #: src/misc_confirm.c:192
-#, fuzzy
 msgid ""
 "Are you sure you want to remove the following track completely from your "
 "local database? The number of playlists this track is a member of is "
@@ -2204,17 +2120,19 @@
 "local database? The number of playlists the tracks are member of is "
 "indicated in parentheses."
 msgstr[0] ""
-"Êtes-vous sûr de vouloir supprimer le morceau suivant de votre iPod? Le "
-"nombre de listes dont ce morceau fait partie est indiqué entre parenthèses."
+"Êtes-vous sûr de vouloir supprimer le morceau suivant de votre base de "
+"données locale  ? Le nombre de listes dont ce morceau fait partie est "
+"indiqué entre parenthèses."
 msgstr[1] ""
-"Êtes-vous sûr de vouloir supprimer les morceaux suivants de votre iPod? Le "
-"nombre de listes dont ces morceaux font partie est indiqué entre parenthèses."
+"Êtes-vous sûr de vouloir supprimer les morceaux suivants de votre base de "
+"données locale ? Le nombre de listes dont ces morceaux font partie est "
+"indiqué entre parenthèses."
 
 #: src/misc_confirm.c:196
 msgid "Remove Track from Local Database?"
 msgid_plural "Remove Tracks from Local Database?"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Supprimer un morceau de la base de données locale ?"
+msgstr[1] "Supprimer des morceaux de la base de données locale ?"
 
 #: src/misc_confirm.c:259
 #, c-format
@@ -2224,83 +2142,86 @@
 msgstr[1] "Suppression de %d morceaux de l'iPod"
 
 #: src/misc_confirm.c:265 src/misc_confirm.c:289
-#, fuzzy, c-format
+#, c-format
 msgid "Deleted %d track from playlist '%s'"
 msgid_plural "Deleted %d tracks from playlist '%s'"
-msgstr[0] "Morceau supprimé de la liste de lecture '%s'"
-msgstr[1] "Morceaux supprimés de la liste de lecture '%s'"
+msgstr[0] "%d morceau supprimé de la liste de lecture «%s»"
+msgstr[1] "%d morceaux supprimés de la liste de lecture «%s»"
 
 #: src/misc_confirm.c:283
-#, fuzzy, c-format
+#, c-format
 msgid "Deleted one track from harddisk"
 msgid_plural "Deleted %d tracks from harddisk"
-msgstr[0] "Morceau supprimé de la liste de lecture '%s'"
-msgstr[1] "Morceaux supprimés de la liste de lecture '%s'"
+msgstr[0] "%d morceau supprimé du disque dur"
+msgstr[1] "%d morceaux supprimés du disque dur"
 
 #: src/misc_confirm.c:295
-#, fuzzy, c-format
+#, c-format
 msgid "Deleted track from local database"
 msgid_plural "Deleted %d tracks from local database"
-msgstr[0] "Morceau supprimé de la liste de lecture '%s'"
-msgstr[1] "Morceaux supprimés de la liste de lecture '%s'"
+msgstr[0] "1 morceau supprimé de la base de données locale"
+msgstr[1] "%d morceaux supprimés de la base de données locale"
 
 #. no playlist??? Cannot happen, but...
 #. no playlist selected
-#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:667
-#: src/misc_track.c:879
+#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:674
+#: src/misc_track.c:1509
 msgid "No playlist selected."
-msgstr "Pas de liste de lecture sélectionnée"
+msgstr "Pas de liste de lecture sélectionnée."
 
 #. no tracks selected
 #: src/misc_confirm.c:345
 msgid "No tracks selected."
 msgstr "Aucun morceau sélectionné."
 
-#. no entry selected
-#: src/misc_confirm.c:441 src/misc_track.c:852
-msgid "No entry selected."
-msgstr "Aucun élément sélectionné."
-
 #: src/misc_confirm.c:448
 msgid "Cannot remove entry 'All'"
-msgstr "Ne peut enlever l'entrée 'Tous'"
+msgstr "Ne peut enlever l'entrée «Tous»"
 
 #: src/misc_confirm.c:541
-#, fuzzy, c-format
+#, c-format
 msgid "Removed all %d tracks from the iPod"
-msgstr "Avant de supprimer les listes ou morceaux d'une liste de lecture"
+msgstr "Suppression des %d morceaux de l'iPod"
 
-#: src/misc_confirm.c:549 src/misc_confirm.c:619
+#: src/misc_confirm.c:546
+#, fuzzy
+msgid "Removed all podcasts from the iPod"
+msgstr "Suppression des %d morceaux de l'iPod"
+
+#: src/misc_confirm.c:556 src/misc_confirm.c:626
 #, c-format
 msgid "Deleted playlist '%s' including %d member track"
 msgid_plural "Deleted playlist '%s' including %d member tracks"
-msgstr[0] "Liste de lecture '%s' supprimée avec %d morceau."
-msgstr[1] "Liste de lecture '%s' supprimée avec %d morceaux."
+msgstr[0] "Liste de lecture «%s» supprimée avec %d morceau"
+msgstr[1] "Liste de lecture «%s» supprimée avec %d morceaux"
 
-#: src/misc_confirm.c:563 src/misc_confirm.c:633
+#: src/misc_confirm.c:570 src/misc_confirm.c:640
 #, c-format
 msgid "Deleted playlist '%s'"
-msgstr "Liste de lecture effacée '%s'"
+msgstr "Liste de lecture effacée «%s»"
 
-#: src/misc_confirm.c:596
-#, fuzzy, c-format
+#: src/misc_confirm.c:603
+#, c-format
 msgid "Deleted playlist '%s' including %d member track on harddisk"
 msgid_plural "Deleted playlist '%s' including %d member tracks on harddisk"
-msgstr[0] "Liste de lecture '%s' supprimée avec %d morceau."
-msgstr[1] "Liste de lecture '%s' supprimée avec %d morceaux."
+msgstr[0] "Liste de lecture «%s» supprimée avec %d morceau sur le disque dur."
+msgstr[1] "Liste de lecture «%s» supprimée avec %d morceaux sur le disque dur."
 
-#: src/misc_confirm.c:611
+#: src/misc_confirm.c:618
 #, c-format
 msgid "Removed all %d tracks from the database"
-msgstr ""
+msgstr "Suppression des %d morceaux de la base de données"
 
-#: src/misc_confirm.c:686
-#, fuzzy
+#: src/misc_confirm.c:693
 msgid "Are you sure you want to remove all tracks from your iPod?"
-msgstr ""
-"Êtes-vous sûr de vouloir supprimer le morceau suivant de la liste \"%s\" ?"
+msgstr "Êtes-vous sûr de vouloir supprimer tous les morceaux de votre iPod ?"
 
-#: src/misc_confirm.c:694
+#: src/misc_confirm.c:698
+#, fuzzy
+msgid "Are you sure you want to remove all podcasts from your iPod?"
+msgstr "Êtes-vous sûr de vouloir supprimer tous les morceaux de votre iPod ?"
+
+#: src/misc_confirm.c:706
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and the following track "
@@ -2311,21 +2232,21 @@
 "completely from your ipod? The number of playlists the tracks are member of "
 "is indicated in parentheses."
 msgstr[0] ""
-"Êtes-vous sûr de vouloir supprimer la liste suivante '%s' et le morceau "
-"suivant de votre iPod? Le nombre de liste dont ce morceau fait partie est "
-"indiqué entre parenthèses."
+"Êtes-vous sûr de vouloir supprimer la liste '%s' et le morceau suivant de "
+"votre iPod ? Le nombre de liste dont ce morceau fait partie est indiqué "
+"entre parenthèses."
 msgstr[1] ""
-"Êtes-vous sûr de vouloir supprimer la liste suivante '%s' et les morceaux "
-"suivants de votre iPod? Le nombre de liste dont ces morceaux font partie est "
-"indiqué entre parenthèses."
+"Êtes-vous sûr de vouloir supprimer la liste '%s' et les morceaux suivants de "
+"votre iPod ? Le nombre de liste dont ces morceaux font partie est indiqué "
+"entre parenthèses."
 
-#: src/misc_confirm.c:705 src/misc_confirm.c:760
+#: src/misc_confirm.c:717 src/misc_confirm.c:772
 #, c-format
 msgid "Are you sure you want to delete the playlist '%s'?"
-msgstr "Êtes-vous sûr de vouloir supprimer la liste de lecture '%s' ?"
+msgstr "Êtes-vous sûr de vouloir supprimer la liste de lecture «%s» ?"
 
-#: src/misc_confirm.c:731
-#, fuzzy, c-format
+#: src/misc_confirm.c:743
+#, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
 "from your harddisk? The number of playlists this track is a member of is "
@@ -2335,22 +2256,21 @@
 "tracks from your harddisk? The number of playlists the tracks are member of "
 "is indicated in parentheses."
 msgstr[0] ""
-"Êtes-vous sûr de vouloir supprimer la liste suivante '%s' et le morceau "
-"suivant de votre iPod? Le nombre de liste dont ce morceau fait partie est "
+"Êtes-vous sûr de vouloir supprimer la liste '%s' et le morceau suivant de "
+"votre disque dur ? Le nombre de liste dont ce morceau fait partie est "
 "indiqué entre parenthèses."
 msgstr[1] ""
-"Êtes-vous sûr de vouloir supprimer la liste suivante '%s' et les morceaux "
-"suivants de votre iPod? Le nombre de liste dont ces morceaux font partie est "
+"Êtes-vous sûr de vouloir supprimer la liste '%s' et les morceaux suivants de "
+"votre disque dur ? Le nombre de liste dont ces morceaux font partie est "
 "indiqué entre parenthèses."
 
-#: src/misc_confirm.c:739
-#, fuzzy
+#: src/misc_confirm.c:751
 msgid "Are you sure you want to remove all tracks from the database?"
 msgstr ""
-"Êtes-vous sûr de vouloir supprimer le morceau suivant de la liste \"%s\" ?"
+"Êtes-vous sûr de vouloir supprimer tous les morceaux de la base de données ?"
 
-#: src/misc_confirm.c:748
-#, fuzzy, c-format
+#: src/misc_confirm.c:760
+#, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
 "from the database? The number of playlists this track is a member of is "
@@ -2360,43 +2280,48 @@
 "tracks from the database? The number of playlists the tracks are member of "
 "is indicated in parentheses."
 msgstr[0] ""
-"Êtes-vous sûr de vouloir supprimer la liste suivante '%s' et le morceau "
-"suivant de votre iPod? Le nombre de liste dont ce morceau fait partie est "
+"Êtes-vous sûr de vouloir supprimer la liste '%s' et le morceau suivant de "
+"votre base de données ? Le nombre de liste dont ce morceau fait partie est "
 "indiqué entre parenthèses."
 msgstr[1] ""
-"Êtes-vous sûr de vouloir supprimer la liste suivante '%s' et les morceaux "
-"suivants de votre iPod? Le nombre de liste dont ces morceaux font partie est "
+"Êtes-vous sûr de vouloir supprimer la liste '%s' et les morceaux suivants de "
+"votre base de données ? Le nombre de liste dont ces morceaux font partie est "
 "indiqué entre parenthèses."
 
-#: src/misc_confirm.c:937
-#, fuzzy, c-format
+#: src/misc_confirm.c:960
+#, c-format
 msgid "Problem creating iPod directory: '%s'."
-msgstr "Problème a la création des répertoires de l'iPod dans '%s'."
+msgstr "Problème à la création du répertoire de l'iPod : «%s»."
 
-#: src/misc_confirm.c:939
+#: src/misc_confirm.c:962
 #, c-format
 msgid "Successfully created iPod directories in '%s'."
-msgstr "Création réussie des répertoires de l'iPod dans '%s'."
+msgstr "Création réussie des répertoires de l'iPod dans «%s»."
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_confirm.c:978
+#: src/misc_confirm.c:1001
 msgid "Create iPod directories"
 msgstr "Créer les répertoires de l'iPod"
 
 #. title
-#: src/misc_confirm.c:979
+#: src/misc_confirm.c:1002
 msgid "OK to create the following directories?"
-msgstr "Créer les répertoires suivants ?"
+msgstr "Créer les répertoires suivants ?"
 
-#: src/misc_confirm.c:1043
+#: src/misc_confirm.c:1066
 msgid ""
 "Data has been changed and not been saved.\n"
 "OK to exit gtkpod?"
 msgstr ""
 "Des données modifiées n'ont pas été sauvées.\n"
-"Voulez-vous vraiment quitter gtkpod ?"
+"Voulez-vous vraiment quitter gtkpod ?"
 
+#: src/misc_conversion.c:67
+#, fuzzy
+msgid "File type"
+msgstr "Taille du fichier"
+
 #: src/misc_conversion.c:68
 msgid "PC File"
 msgstr "Fichier PC"
@@ -2428,7 +2353,6 @@
 
 #. 20
 #: src/misc_conversion.c:81
-#, fuzzy
 msgid "Date played"
 msgstr "Dernière fois joué"
 
@@ -2445,24 +2369,56 @@
 msgid "CD Nr"
 msgstr "N° de CD"
 
-#: src/misc_conversion.c:101
+#: src/misc_conversion.c:89
+#, fuzzy
+msgid "Category"
+msgstr "Catégorie : "
+
+#: src/misc_conversion.c:90
+msgid "Description"
+msgstr ""
+
+#. 30
+#: src/misc_conversion.c:91
+msgid "Podcast URL"
+msgstr ""
+
+#: src/misc_conversion.c:92
+msgid "Podcast RSS"
+msgstr ""
+
+#: src/misc_conversion.c:93
+#, fuzzy
+msgid "Subtitle"
+msgstr "titre"
+
+#: src/misc_conversion.c:94
+#, fuzzy
+msgid "Date released"
+msgstr "Dernière fois joué"
+
+#: src/misc_conversion.c:95
+msgid "Checked"
+msgstr ""
+
+#: src/misc_conversion.c:108
 msgid "Name of file on PC, if available"
 msgstr "Nom du fichier sur le PC, si disponible"
 
-#: src/misc_conversion.c:102
+#: src/misc_conversion.c:109
 msgid "Name of file on the iPod"
 msgstr "Nom du fichier sur l'iPod"
 
 #. 10
-#: src/misc_conversion.c:104
+#: src/misc_conversion.c:111
 msgid "Track Nr. and total number of tracks on CD"
 msgstr "N° de piste et nombre total de pistes du CD"
 
-#: src/misc_conversion.c:105
+#: src/misc_conversion.c:112
 msgid "Whether the file has already been transferred to the iPod or not"
 msgstr "Fichier déjà transféré sur l'iPod ou non"
 
-#: src/misc_conversion.c:111
+#: src/misc_conversion.c:118
 msgid ""
 "Supposedly something that tells the iPod to increase or decrease the "
 "playback speed"
@@ -2470,35 +2426,32 @@
 "Un réglage qui est supposé indiquer à l'iPod d'augmenter ou diminuer la "
 "vitesse de lecture"
 
-#: src/misc_conversion.c:113
+#: src/misc_conversion.c:120
 msgid "Number of times the track has been played"
 msgstr "Nombre de fois où le fichier a été joué"
 
-#: src/misc_conversion.c:114
+#: src/misc_conversion.c:121
 msgid "Star rating from 0 to 5"
 msgstr "Notation en étoiles de 0 à 5"
 
-#: src/misc_conversion.c:115
-#, fuzzy
+#: src/misc_conversion.c:122
 msgid "Date and time track has been added"
-msgstr "La dernière fois que le fichier a été joué"
+msgstr "Date et heure de l'ajout du morceau"
 
 #. 20
-#: src/misc_conversion.c:116
-#, fuzzy
+#: src/misc_conversion.c:123
 msgid "Date and time track has last been played"
 msgstr "La dernière fois que le fichier a été joué"
 
-#: src/misc_conversion.c:117
-#, fuzzy
+#: src/misc_conversion.c:124
 msgid "Date and time track has last been modified"
 msgstr "La dernière fois que le fichier a été modifié"
 
-#: src/misc_conversion.c:118
+#: src/misc_conversion.c:125
 msgid "Manual volume adjust"
 msgstr "Ajustement manuel du volume"
 
-#: src/misc_conversion.c:119
+#: src/misc_conversion.c:126
 msgid ""
 "Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on "
 "the iPod"
@@ -2507,62 +2460,75 @@
 "son' sur l'iPod"
 
 #. 25
-#: src/misc_conversion.c:122
+#: src/misc_conversion.c:129
 msgid "CD Nr. and total number of CDS in set"
 msgstr "N° de CD et nombre total de CD"
 
-#: src/misc_conversion.c:605
+#: src/misc_conversion.c:132
+msgid ""
+"The category (e.g. 'Technology' or 'Music') where the podcast was located."
+msgstr ""
+
+#: src/misc_conversion.c:133
+msgid "Accessible by selecting the center button on the iPod."
+msgstr ""
+
+#: src/misc_conversion.c:137
+msgid "Release date (for podcasts displayed next to the title on the iPod)"
+msgstr ""
+
+#: src/misc_conversion.c:639
 #, c-format
 msgid "The URI '%s' is not an absolute URI using the file scheme"
-msgstr "L'URI '%s' n'est pas une URI absolue utilisant le schema de fichier"
+msgstr "L'URI «%s» n'est pas une URI absolue utilisant le schema de fichier"
 
-#: src/misc_conversion.c:615
+#: src/misc_conversion.c:649
 #, c-format
 msgid "The local file URI '%s' may not include a '#'"
-msgstr "L'URI de fichier local '%s' peut ne pas inclure un '#'"
+msgstr "L'URI de fichier local «%s» peut ne pas inclure un '#'"
 
-#: src/misc_conversion.c:632
+#: src/misc_conversion.c:666
 #, c-format
 msgid "The URI '%s' is invalid"
-msgstr "L'URI '%s' est invalide"
+msgstr "L'URI «%s» est invalide"
 
-#: src/misc_conversion.c:644
+#: src/misc_conversion.c:678
 #, c-format
 msgid "The hostname of the URI '%s' is invalid"
-msgstr "Le nom d'hôte de l'URI '%s' est invalide"
+msgstr "Le nom d'hôte de l'URI «%s» est invalide"
 
-#: src/misc_conversion.c:660
+#: src/misc_conversion.c:694
 #, c-format
 msgid "The URI '%s' contains invalidly escaped characters"
-msgstr "L'URI '%s' contient des caractères d'échappements invalides"
+msgstr "L'URI «%s» contient des caractères d'échappements invalides"
 
 #: src/misc_playlist.c:68 src/misc_playlist.c:95 src/misc_playlist.c:416
 msgid "Please enter a name for the new playlist"
 msgstr "Entrer le nom de la nouvelle liste de lecture"
 
-#: src/misc_playlist.c:97 gtkpod.glade:533 gtkpod.glade:12271
+#: src/misc_playlist.c:97 gtkpod.glade:578 gtkpod.glade:772 gtkpod.glade:7128
 msgid "Smart Playlist"
 msgstr "Intelligente"
 
 #: src/misc_playlist.c:146
 msgid "AR:"
-msgstr "AR:"
+msgstr "AR :"
 
 #: src/misc_playlist.c:149
 msgid "AL:"
-msgstr "AL:"
+msgstr "AL :"
 
 #: src/misc_playlist.c:152
 msgid "GE:"
-msgstr "GE:"
+msgstr "GE :"
 
 #: src/misc_playlist.c:155
 msgid "CO:"
-msgstr "CO:"
+msgstr "CO :"
 
 #: src/misc_playlist.c:158
 msgid "YE:"
-msgstr "AN:"
+msgstr "AN :"
 
 #: src/misc_playlist.c:186
 msgid "Unknown"
@@ -2589,8 +2555,8 @@
 #, c-format
 msgid "Created playlist '%s' with %d track."
 msgid_plural "Created playlist '%s' with %d tracks."
-msgstr[0] "Liste de lecture '%s' créée avec %d morceau."
-msgstr[1] "Liste de lecture '%s' créée avec %d morceaux."
+msgstr[0] "Liste de lecture «%s» créée avec %d morceau."
+msgstr[1] "Liste de lecture «%s» créée avec %d morceaux."
 
 #. n==0
 #: src/misc_playlist.c:402
@@ -2629,40 +2595,40 @@
 msgid "Last Time"
 msgstr "Dernière fois"
 
-#: src/misc_playlist.c:834
+#: src/misc_playlist.c:831
 msgid "Removal of dangling tracks with no files on PC was canceled."
 msgstr ""
 "La suppression des morceaux fictifs sans fichier correspondant sur le PC a "
 "été annulée."
 
-#: src/misc_playlist.c:844
+#: src/misc_playlist.c:841
 msgid "Handling of dangling tracks with files on PC was canceled."
 msgstr ""
 "La récupération des morceaux fictifs à partir des fichiers du PC a été "
 "annulée."
 
-#: src/misc_playlist.c:872
+#: src/misc_playlist.c:869
 msgid "Dangling tracks with no files on PC were removed."
 msgstr ""
 "Les morceaux fictifs sans fichier correspondant sur le PC ont été supprimés."
 
 #. printf("Handling track %d\n", track->ipod_id);
-#: src/misc_playlist.c:905
-#, fuzzy, c-format
+#: src/misc_playlist.c:902
+#, c-format
 msgid "Processing '%s'"
-msgstr "Traitement de '%s'..."
+msgstr "Traitement de «%s»"
 
-#: src/misc_playlist.c:930
+#: src/misc_playlist.c:927
 msgid "Dangling tracks with files on PC were handled."
 msgstr ""
 "Les morceaux fictifs avec leur fichier correspondant sur le PC ont été "
 "récupérés."
 
-#: src/misc_playlist.c:963
+#: src/misc_playlist.c:960
 msgid "Track"
 msgstr "Morceau"
 
-#: src/misc_playlist.c:1008
+#: src/misc_playlist.c:1005
 msgid ""
 "You did not import the existing iTunesDB. This is most likely incorrect and "
 "will result in the loss of the existing database.\n"
@@ -2678,20 +2644,20 @@
 "annulez, vous pouvez importer la base existante avant d'appeler de nouveau "
 "cette fonction.\n"
 
-#: src/misc_playlist.c:1024
+#: src/misc_playlist.c:1021
 msgid "Creating a tree of known files"
 msgstr "Création l'arborescence des fichiers reconnus"
 
-#: src/misc_playlist.c:1052
+#: src/misc_playlist.c:1065
 msgid "Checking iPOD files against known files in DB"
 msgstr ""
 "Contrôle des fichiers sur l'iPod par rapport a ceux de la base iTunesDB"
 
-#: src/misc_playlist.c:1098
+#: src/misc_playlist.c:1110
 msgid "Orphaned"
 msgstr "Orphelin"
 
-#: src/misc_playlist.c:1119
+#: src/misc_playlist.c:1131
 #, c-format
 msgid ""
 "The following orphaned file had already been added to the iPod again. It "
@@ -2700,16 +2666,16 @@
 "\n"
 msgstr ""
 "Le fichier orphelin suivant a déjà été ajouté à l'iPod. Il sera supprimé à "
-"la prochaine synchronisation:\n"
+"la prochaine synchronisation :\n"
 "%s\n"
 "\n"
 
-#: src/misc_playlist.c:1148
+#: src/misc_playlist.c:1160
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Processing..."
 msgstr "%d orphelins et %d morceaux fictifs. Traitement en cours..."
 
-#: src/misc_playlist.c:1171
+#: src/misc_playlist.c:1183
 #, c-format
 msgid ""
 "The following dangling track has a file on PC.\n"
@@ -2729,7 +2695,7 @@
 "Choisissez OK pour le transférer à la prochaine synchro, Annuler pour "
 "laisser tel quel."
 
-#: src/misc_playlist.c:1176
+#: src/misc_playlist.c:1188
 #, c-format
 msgid ""
 "The following dangling track doesn't have file on PC. \n"
@@ -2747,17 +2713,17 @@
 
 #. we want unique window for each
 #. gboolean modal,
-#: src/misc_playlist.c:1183
+#: src/misc_playlist.c:1195
 msgid "Dangling Tracks"
 msgstr "Morceaux fictifs"
 
-#: src/misc_playlist.c:1207
+#: src/misc_playlist.c:1219
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Done."
 msgstr "Trouvé %d orphelins et %d morceaux fictifs. Fini."
 
 #. update for count == 1, 21, 41 ... and for count == n
-#: src/misc_track.c:90 src/misc_track.c:367
+#: src/misc_track.c:91 src/misc_track.c:368
 #, c-format
 msgid "Hashed %d of %d track."
 msgid_plural "Hashed %d of %d tracks."
@@ -2765,14 +2731,14 @@
 msgstr[1] "%d morceaux traités sur %d."
 
 # y, c-format
-#: src/misc_track.c:201
+#: src/misc_track.c:202
 #, c-format
 msgid "The following duplicate track has been removed."
 msgid_plural "The following %d duplicate tracks have been removed."
 msgstr[0] "Le morceau suivant est en double et a été supprimé."
 msgstr[1] "Les %d morceaux suivants sont en double et ont été supprimés."
 
-#: src/misc_track.c:208
+#: src/misc_track.c:209
 #, c-format
 msgid ""
 "The following duplicate track has not been added to the master play list."
@@ -2787,31 +2753,35 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_track.c:215
+#: src/misc_track.c:216
 msgid "Duplicate detection"
 msgstr "Détection de doublon"
 
-#: src/misc_track.c:793
+#: src/misc_track.c:844
+msgid "Local Database"
+msgstr "Base de données locale"
+
+#: src/misc_track.c:1396
 #, c-format
 msgid "drag and drop: ignored '%s'\n"
-msgstr "Glisser/déposer: ignoré '%s'\n"
+msgstr "Glisser/déposer : «%s» ignoré\n"
 
-#: src/mp3file.c:1091
+#: src/mp3file.c:1117
 #, c-format
 msgid "Error setting ID3 field: %s\n"
-msgstr "Erreur en remplissant le champ ID3: %s\n"
+msgstr "Erreur en remplissant le champ ID3 : %s\n"
 
-#: src/mp3file.c:1116 src/mp3file.c:1223 src/mp3file.c:1949
+#: src/mp3file.c:1142 src/mp3file.c:1289 src/mp3file.c:2035
 #, c-format
 msgid "ERROR while opening file: '%s' (%s).\n"
-msgstr "Erreur à l'ouverture du fichier: '%s' (%s).\n"
+msgstr "Erreur à l'ouverture du fichier : «%s» (%s).\n"
 
-#: src/mp3file.c:1280
+#: src/mp3file.c:1356
 #, c-format
 msgid "ERROR while writing tag to file: '%s' (%s).\n"
-msgstr "ERREUR pour écrire le tag dans le fichier: '%s' (%s).\n"
+msgstr "ERREUR pour écrire l'attribut dans le fichier : «%s» (%s).\n"
 
-#: src/mp3file.c:1793
+#: src/mp3file.c:1879
 #, c-format
 msgid ""
 "Could not find mp3gain. I tried to use the following executable: '%s'.\n"
@@ -2822,7 +2792,7 @@
 "If you do not have mp3gain installed, you can download it from http://www."
 "sourceforge.net/projects/mp3gain."
 msgstr ""
-"Impossible de trouver mp3gain. Éxecutable testé: '%s'.\n"
+"Impossible de trouver mp3gain. Éxecutable testé : '%s'.\n"
 "\n"
 "Si le chemin de mp3gain n'est pas défini dans $PATH ou est nommé "
 "différemment, vous pouvez spécifier le chemin complet dans l'onglet 'Outils' "
@@ -2832,248 +2802,247 @@
 "officiel http://mp3gain.sourceforge.net ou dans les paquetages de votre "
 "système."
 
-#: src/mp3file.c:1833
+#: src/mp3file.c:1919
 #, c-format
 msgid "Execution of mp3gain ('%s') failed."
-msgstr "Échec de l'éxécution de mp3gain ('%s')."
+msgstr "Échec de l'exécution de mp3gain («%s»)."
 
 #. Tracks with zero play length are ignored by iPod...
-#: src/mp3file.c:2061
+#: src/mp3file.c:2178
 #, c-format
 msgid "File \"%s\" has zero play length. Ignoring.\n"
 msgstr "Fichier \"%s\" à une durée de zéro. Ignoré.\n"
 
-#: src/mp4file.c:234 src/mp4file.c:353
+#: src/mp4file.c:243 src/mp4file.c:362
 #, c-format
 msgid "'%s' does not appear to be a mp4 audio file.\n"
-msgstr "'%s' n'est pas un fichier audio mp4\n"
+msgstr "«%s» n»est pas un fichier audio mp4.\n"
 
-#: src/mp4file.c:244
+#: src/mp4file.c:253
 #, c-format
 msgid "Could not open '%s' for reading, or file is not an mp4 file.\n"
-msgstr "Ne peut pas lire le fichier '%s' ou n'est pas un fichier mp4.\n"
+msgstr "Ne peut pas lire le fichier «%s» ou n'est pas un fichier mp4.\n"
 
-#: src/mp4file.c:364
+#: src/mp4file.c:373
 #, c-format
 msgid "Could not open '%s' for writing, or file is not an mp4 file.\n"
-msgstr "Ne peut écrire le fichier '%s' ou n'est pas un fichier mp4.\n"
+msgstr "Ne peut écrire le fichier «%s» ou n'est pas un fichier mp4.\n"
 
-#: src/mp4file.c:377
+#: src/mp4file.c:386
 #, c-format
 msgid ""
 "Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. "
 "You must compile the gtkpod source together with the mp4v2 library.\n"
 msgstr ""
-"Import de '%s' annulé: pas de support des formats m4a/m4p.Vous devez "
+"Import de '%s' annulé : pas de support des formats m4a/m4p.Vous devez "
 "compiler gtkpod avec la bibliothèque mp4v2.\n"
 
-#: src/mp4file.c:383
+#: src/mp4file.c:392
 #, c-format
 msgid ""
 "m4a/m4p/m4b metadata update for '%s' failed: m4a/m4p/m4b not supported "
 "without the mp4v2 library. You must compile the gtkpod source together with "
 "the mp4v2 library.\n"
 msgstr ""
-"Mise à jour des données m4a/m4p annulée (\"%s\"): pas de support des formats "
-"m4a/m4p.Vous devez compiler gtkpod avec la bibliothèque mp4v2.\n"
+"Mise à jour des données m4a/m4p annulée (\"%s\") : pas de support des "
+"formats m4a/m4p.Vous devez compiler gtkpod avec la bibliothèque mp4v2.\n"
 
-#: src/prefs.c:127
+#: src/prefs.c:128
 #, c-format
 msgid "gtkpod version %s usage:\n"
-msgstr "gtkpod version %s usage:\n"
+msgstr "gtkpod version %s usage :\n"
 
-#: src/prefs.c:128
+#: src/prefs.c:129
 msgid "  -h, --help:   display this message\n"
-msgstr "  -h, --help:   affiche ce message\n"
+msgstr "  -h, --help :   affiche ce message\n"
 
-#: src/prefs.c:129
+#: src/prefs.c:130
 msgid "  -p <filename>:increment playcount for file by one\n"
-msgstr "  -p <fichier>: incremente le compteur de lecture du fichier\n"
+msgstr "  -p <fichier> : incrémente le compteur de lecture du fichier\n"
 
-#: src/prefs.c:130
+#: src/prefs.c:131
 msgid "  -m path:      define the mountpoint of your iPod\n"
-msgstr "  -m chemin:    definit le point de montage de votre iPod\n"
+msgstr "  -m chemin :    définit le point de montage de votre iPod\n"
 
-#: src/prefs.c:131
+#: src/prefs.c:132
 msgid "  --mountpoint: same as '-m'.\n"
-msgstr "  --mountpoint: identique a '-m'.\n"
+msgstr "  --mountpoint : identique à «-m».\n"
 
-#: src/prefs.c:132
+#: src/prefs.c:133
 msgid "  -a:           import database automatically after start.\n"
 msgstr ""
-"  -a:           importe les donnees de l'iPod automatiquement au demarrage.\n"
+"  -a :           importe les données de l'iPod automatiquement au "
+"démarrage.\n"
 
-#: src/prefs.c:133
+#: src/prefs.c:134
 msgid "  --auto:       same as '-a'.\n"
-msgstr "  --auto:       identique a '-a'.\n"
+msgstr "  --auto :       identique à «-a».\n"
 
-#: src/prefs.c:134
+#: src/prefs.c:135
 msgid ""
 "  -o:           use offline mode. No changes are exported to the iPod,\n"
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
 "                used with 'Offline' deactivated.\n"
 msgstr ""
-"  -o:           mode deconnecte. Aucun changement ne sera exporte vers \n"
-"                l'iPod, mais vers ~/.gtkpod/. L'iPod sera mis a jour si \n"
-"                \"Exporter\" est appele et le mode \"deconnecte\" n'est \n"
-"                pas active\n"
+"  -o :           mode déconnecté. Aucun changement ne sera exporté vers \n"
+"                l'iPod, mais vers ~/.gtkpod/. L'iPod sera mis à jour si \n"
+"                \"Exporter\" est appelé et le mode \"deconnecté\" n'est \n"
+"                pas activé\n"
 
-#: src/prefs.c:135
+#: src/prefs.c:136
 msgid "  --offline:    same as '-o'.\n"
-msgstr "  --offline:    identique a '-o'.\n"
+msgstr "  --offline     identique à «-o».\n"
 
-#: src/prefs.c:382
+#: src/prefs.c:401
 #, c-format
 msgid "Error while reading prefs: %s\n"
-msgstr "Erreur lors de la lecture des options: %s\n"
+msgstr "Erreur lors de la lecture des options : %s\n"
 
-#: src/prefs.c:948
+#: src/prefs.c:1030
 #, c-format
 msgid "Unable to open config file '%s' for reading\n"
-msgstr "Impossible d'ouvrir en lecture le fichier des options '%s'\n"
+msgstr "Impossible d'ouvrir en lecture le fichier des options «%s»\n"
 
-#: src/prefs.c:1052
+#: src/prefs.c:1137
 #, c-format
 msgid "Unknown option: %s\n"
-msgstr "Option inconnue: %s\n"
+msgstr "Option inconnue : %s\n"
 
-#: src/prefs.c:1100
+#: src/prefs.c:1190
 #, c-format
 msgid "# delete confirmation\n"
 msgstr "# confirmation de suppression\n"
 
-#: src/prefs.c:1107
+#: src/prefs.c:1197
 #, c-format
 msgid "# sort tab: select 'All', last selected page (=category)\n"
-msgstr "# zones: choix 'All', dernière page sélectionnée (=categorie)\n"
+msgstr "# zones : choix «Tous», dernière page sélectionnée (=catégorie)\n"
 
-#: src/prefs.c:1126
+#: src/prefs.c:1216
 #, c-format
 msgid "# autoselect master playlist?\n"
-msgstr "# sélection automatique de liste de lecture principale?\n"
+msgstr "# sélection automatique de liste de lecture principale ?\n"
 
-#: src/prefs.c:1128
+#: src/prefs.c:1218
 #, c-format
 msgid "# title=0, artist, album, genre, composer\n"
 msgstr "# titre=0, artiste, album, genre, compositeur\n"
 
-#: src/prefs.c:1129
+#: src/prefs.c:1219
 #, c-format
 msgid "# track_nr=5, ipod_id, pc_path, transferred\n"
 msgstr "# no_piste=5, ipod_id, pc_path, transféré\n"
 
-#: src/prefs.c:1130
+#: src/prefs.c:1220
 #, c-format
 msgid "# autoset: set empty tag to filename?\n"
-msgstr "# Définition automatique: mettre à vide les tags dans le fichier?\n"
+msgstr ""
+"# Définition automatique : mettre à vide les attributs dans le fichier ?\n"
 
-#: src/prefs.c:1143
+#: src/prefs.c:1235
 #, c-format
 msgid ""
 "# position of sliders (paned): playlists, above tracks,\n"
 "# between sort tabs, and in statusbar.\n"
 msgstr ""
-"# position des sliders (dans le panneau): listes de lecture, parmi les "
+"# position des sliders (dans le panneau) : listes de lecture, parmi les "
 "morceaux,\n"
-"# entre les zones et dans la barre de statut.\n"
+"# entre les zones et dans la barre d'état.\n"
 
-#: src/prefs.c:1178
+#: src/prefs.c:1271
 #, c-format
 msgid ""
 "# window sizes: main window, confirmation scrolled,\n"
 "#               confirmation non-scrolled, dirbrowser, prefs\n"
 msgstr ""
-"# tailles de fenêtre: fenêtre principale, confirmation avec défilement,\n"
-"#                     confirmation sans défilement, explorateur de fichiers\n"
+"# tailles de fenêtres : fenêtre principale, confirmation avec défilement,\n"
+"#                       confirmation sans défilement, explorateur de "
+"fichiers\n"
 
-#: src/prefs.c:1215
-msgid "Settings are not saved.\n"
-msgstr "Réglages non sauvés.\n"
-
-#: src/prefs.c:1228
+#: src/prefs.c:1328
 #, c-format
 msgid "Unable to open '%s' for writing\n"
-msgstr "Impossible d'ouvrir en écriture \"%s\"\n"
+msgstr "Impossible d'ouvrir en écriture «%s»\n"
 
-#: src/prefs.c:1592
+#: src/prefs.c:1682
 #, c-format
 msgid ""
 " Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.\n"
 msgstr ""
-" Préférences: N° de catégorie (%d<%d?) ou n° de zone (%d<%d?) inexistant.\n"
+" Préférences : N° de catégorie (%d<%d?) ou n° de zone (%d<%d ?) inexistant.\n"
 
-#: src/prefs.c:1641
+#: src/prefs.c:1731
 #, c-format
 msgid "Unable to 'mkdir %s'\n"
-msgstr "Impossible de lancer 'mkdir %s'\n"
+msgstr "Impossible de lancer «mkdir %s»\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2034
+#: src/prefs.c:2157
 #, c-format
 msgid "prefs_set_toolbar_style: illegal style '%d' ignored\n"
-msgstr "prefs_set_toolbar_style: style '%d' non reconnu\n"
+msgstr "prefs_set_toolbar_style : style «%d» non reconnu\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2076
+#: src/prefs.c:2199
 #, c-format
 msgid "prefs_set_pm_sort: illegal type '%d' ignored\n"
-msgstr "prefs_set_pm_sort: style '%d' non reconnu\n"
+msgstr "prefs_set_pm_sort : style «%d» non reconnu\n"
 
-#: src/prefs.c:2231
+#: src/prefs.c:2354
 #, c-format
 msgid "'%s': no arguments (%%...) allowed.\n"
-msgstr "'%s': aucun argument autorisé (%%s...).\n"
+msgstr "«%s» : aucun argument autorisé (%%s...).\n"
 
-#: src/prefs.c:2236
+#: src/prefs.c:2359
 #, c-format
 msgid "'%s': only '%%[%s]' allowed.\n"
-msgstr "'%s': seulement '%%s[%s]' autorisé.\n"
+msgstr "«%s» : seulement «%%s[%s]» autorisé.\n"
 
-#: src/prefs_window.c:93
+#: src/prefs_window.c:105
 msgid "Please select command for 'Play Now'"
-msgstr "Ligne de commande pour 'Jouer maintenant'"
+msgstr "Ligne de commande pour «Jouer maintenant»"
 
-#: src/prefs_window.c:94
+#: src/prefs_window.c:106
 msgid "Please select command for 'Enqueue'"
-msgstr "Ligne de commande pour 'Mettre dans la file d'attente'"
+msgstr "Ligne de commande pour «Mettre dans la file d'attente»"
 
-#: src/prefs_window.c:95
+#: src/prefs_window.c:107
 msgid "Please select the mp3gain executable"
-msgstr "Chemin de l'éxécutable 'mp3gain'"
+msgstr "Chemin de l'exécutable «mp3gain»"
 
-#: src/prefs_window.c:96
+#: src/prefs_window.c:108
 msgid "Please select command to sync contacts"
 msgstr "Ligne de commande pour synchroniser les contacts"
 
-#: src/prefs_window.c:97
+#: src/prefs_window.c:109
 msgid "Please select command to sync calendar"
 msgstr "Ligne de commande pour synchroniser le calendrier"
 
-#: src/prefs_window.c:98
+#: src/prefs_window.c:110
 msgid "Select the mserv music root directory"
 msgstr "Sélectionner le répertoire racine de musique mserv"
 
-#: src/prefs_window.c:99
+#: src/prefs_window.c:111
 msgid "Select the mserv trackinfo root directory"
 msgstr "Sélectionner le répertoire racine d'infos mserv"
 
-#: src/prefs_window.c:748
-#, c-format
+#: src/prefs_window.c:824
+#, fuzzy, c-format
 msgid ""
-"Have a look at the scripts provided in '%s'. If you write a new script, "
+"<i>Have a look at the scripts provided in '%s'. If you write a new script, "
 "please send it to jcsjcs at users.sourceforge.net for inclusion into the "
-"next release."
+"next release.</i>"
 msgstr ""
 "Des scripts d'exemple sont présents dans le répertoire '%s'.Si vous écrivez "
 "un nouveau script, veuillez s'il vous plait l'envoyer à jcsjcs at users."
 "sourceforge.net afin qu'il soit ajouté dans les prochaines versions de "
 "gtkpod."
 
-#: src/prefs_window.c:1006 src/prefs_window.c:1024
+#: src/prefs_window.c:1257 src/prefs_window.c:1275
 msgid "Preferences not updated"
 msgstr "Préférences non mises à jour"
 
-#: src/prefs_window.c:1033
+#: src/prefs_window.c:1284
 msgid "Preferences applied"
 msgstr "Préférences mises à jour"
 
@@ -3095,12 +3064,12 @@
 msgstr "S'interrompra après la fin du traitement courant de mp3gain."
 
 #: src/tools.c:277
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "'%s-%s' (%s) could not be normalized.\n"
 "\n"
 msgstr ""
-"'%s-%s' (%s) ne peut pas être normalisé.\n"
+"'%s-%s» (%s) ne peut pas être normalisé.\n"
 "\n"
 
 #: src/tools.c:319
@@ -3137,23 +3106,23 @@
 "'%s' returned the following output:\n"
 "%s\n"
 msgstr ""
-"'%s' a retourné le résultat suivant:\n"
+"'%s' a retourné le résultat suivant :\n"
 "%s\n"
 
 #: src/tools.c:535
 #, c-format
 msgid "No command set for '%s'"
-msgstr "Aucune commande renseignée pour '%s'"
+msgstr "Aucune commande renseignée pour «%s»"
 
 #: src/tools.c:556
 #, c-format
 msgid "Could not find command '%s' specified for '%s'"
-msgstr "Impossible d'éxécuter la commande '%s' spécifiée pour '%s'"
+msgstr "Impossible d'exécuter la commande «%s» spécifiée pour «%s»"
 
 #: src/wavfile.c:107
 #, c-format
 msgid "Could not open '%s' for reading.\n"
-msgstr "Ne peut ouvrir en lecture le fichier '%s'.\n"
+msgstr "Ne peut ouvrir en lecture le fichier «%s».\n"
 
 #: src/wavfile.c:181
 #, c-format
@@ -3188,54 +3157,51 @@
 msgid "Synchronize _iTunesDB"
 msgstr "Synchroniser la base _iTunesDB"
 
-#: gtkpod.glade:156
+#: gtkpod.glade:183
 msgid "_Update Tracks from File"
 msgstr "_Mettre à jour les morceaux à partir des fichiers"
 
-#: gtkpod.glade:177 gtkpod.glade:229 gtkpod.glade:281 gtkpod.glade:339
-#: gtkpod.glade:391 gtkpod.glade:767 gtkpod.glade:819 gtkpod.glade:1007
-#: gtkpod.glade:1059 gtkpod.glade:1105
+#: gtkpod.glade:204 gtkpod.glade:256 gtkpod.glade:308 gtkpod.glade:366
+#: gtkpod.glade:418 gtkpod.glade:1136 gtkpod.glade:1188 gtkpod.glade:1234
 msgid "Selected _Playlist"
 msgstr "_Liste de lecture sélectionnée"
 
-#: gtkpod.glade:186 gtkpod.glade:238 gtkpod.glade:290 gtkpod.glade:348
-#: gtkpod.glade:400 gtkpod.glade:776 gtkpod.glade:828 gtkpod.glade:1016
-#: gtkpod.glade:1068 gtkpod.glade:1114
+#: gtkpod.glade:213 gtkpod.glade:265 gtkpod.glade:317 gtkpod.glade:375
+#: gtkpod.glade:427 gtkpod.glade:1145 gtkpod.glade:1197 gtkpod.glade:1243
 msgid "Selected Tab _Entry"
 msgstr "Zon_e de tri sélectionnée"
 
-#: gtkpod.glade:195 gtkpod.glade:247 gtkpod.glade:299 gtkpod.glade:357
-#: gtkpod.glade:409 gtkpod.glade:785 gtkpod.glade:837 gtkpod.glade:1025
-#: gtkpod.glade:1077 gtkpod.glade:1123
+#: gtkpod.glade:222 gtkpod.glade:274 gtkpod.glade:326 gtkpod.glade:384
+#: gtkpod.glade:436 gtkpod.glade:569 gtkpod.glade:1154 gtkpod.glade:1206
+#: gtkpod.glade:1252
 msgid "Selected _Tracks"
 msgstr "Morceaux sélec_tionnés"
 
-#: gtkpod.glade:208
+#: gtkpod.glade:235
 msgid "Update _mserv Data from File"
 msgstr "_Mettre à jour les données mserv à partir des fichiers"
 
-#: gtkpod.glade:260
+#: gtkpod.glade:287
 msgid "_Synchronize Directories"
 msgstr "_Synchroniser les répertoires"
 
-#: gtkpod.glade:318
-#, fuzzy
+#: gtkpod.glade:345
 msgid "_Export Tracks from Database"
-msgstr "_Mettre à jour les morceaux à partir des fichiers"
+msgstr "_Exporter les morceaux de la base de données"
 
-#: gtkpod.glade:370
+#: gtkpod.glade:397
 msgid "Create _Playlist File"
 msgstr "Créer un _fichier de liste"
 
-#: gtkpod.glade:428
+#: gtkpod.glade:455
 msgid "_Offline"
 msgstr "M_ode Déconnecté"
 
-#: gtkpod.glade:444
+#: gtkpod.glade:471
 msgid "_Create iPod's Directories"
 msgstr "_Créer les répertoires système de l'iPod"
 
-#: gtkpod.glade:465
+#: gtkpod.glade:492
 msgid ""
 "Find orphan files (files with no track info in DB) and dangling tracks "
 "(tracks with no corresponding files on iPOD)"
@@ -3243,939 +3209,373 @@
 "Trouver les fichiers orphelins (fichiers sans entrée dans la base iTunesDB) "
 "et les morceaux fictifs (morceaux sans fichier correspondant sur l'iPod)"
 
-#: gtkpod.glade:466
+#: gtkpod.glade:493
 msgid "_Check iPod's Files"
 msgstr "_Contrôler les fichiers de l'iPod"
 
-#: gtkpod.glade:494 gtkpod.glade:4973 gtkpod.glade:16459
+#: gtkpod.glade:521 gtkpod.glade:11968
 msgid "_Edit"
 msgstr "_Édition"
 
-#: gtkpod.glade:503
+#: gtkpod.glade:551
+#, fuzzy
+msgid "Tracks in Selected _Playlist"
+msgstr "_Liste de lecture sélectionnée"
+
+#: gtkpod.glade:560
+#, fuzzy
+msgid "Tracks in Selected Tab _Entry"
+msgstr "Zon_e de tri sélectionnée"
+
+#: gtkpod.glade:591
+msgid "_Delete"
+msgstr ""
+
+#: gtkpod.glade:612
+#, fuzzy
+msgid "Selected playlist"
+msgstr "_Liste de lecture sélectionnée"
+
+#: gtkpod.glade:621
+#, fuzzy
+msgid "Selected playlist including tracks from iPod"
+msgstr "Liste de lecture «%s» supprimée avec %d morceau"
+
+#: gtkpod.glade:630
+#, fuzzy
+msgid "Selected playlist including tracks from database"
+msgstr "Supprimer les morceaux inclus (base de données)"
+
+#: gtkpod.glade:639
+#, fuzzy
+msgid "Selected playlist including tracks from harddisk"
+msgstr "Liste de lecture «%s» supprimée avec %d morceau sur le disque dur."
+
+#: gtkpod.glade:654
+#, fuzzy
+msgid "Selected filter tab entry from playlist"
+msgstr "%d morceau supprimé de la liste de lecture «%s»"
+
+#: gtkpod.glade:663
+#, fuzzy
+msgid "Selected filter tab entry from iPod"
+msgstr "Suppression d'un morceau de l'iPod"
+
+#: gtkpod.glade:672
+#, fuzzy
+msgid "Selected filter tab entry from database"
+msgstr "1 morceau supprimé de la base de données locale"
+
+#: gtkpod.glade:681
+#, fuzzy
+msgid "Selected filter tab entry from harddisk"
+msgstr "%d morceau supprimé du disque dur"
+
+#: gtkpod.glade:696
+#, fuzzy
+msgid "Selected tracks from playlist"
+msgstr "%d morceau supprimé de la liste de lecture «%s»"
+
+#: gtkpod.glade:705
+#, fuzzy
+msgid "Selected tracks from iPod"
+msgstr "Suppression d'un morceau de l'iPod"
+
+#: gtkpod.glade:714
+#, fuzzy
+msgid "Selected tracks from database"
+msgstr "1 morceau supprimé de la base de données locale"
+
+#: gtkpod.glade:723
+#, fuzzy
+msgid "Selected tracks from harddisk"
+msgstr "%d morceau supprimé du disque dur"
+
+#: gtkpod.glade:742
 msgid "_Create Playlists"
 msgstr "_Créer une liste de lecture"
 
-#: gtkpod.glade:524
+#: gtkpod.glade:763
 msgid "Empty Playlist"
 msgstr "Vide"
 
-#: gtkpod.glade:542
+#: gtkpod.glade:781
 msgid "Random Playlist from Displayed Tracks"
 msgstr "Contenant les morceaux affichés aléatoirement"
 
-#: gtkpod.glade:551
+#: gtkpod.glade:790
 msgid "Containing Displayed Tracks"
 msgstr "Contenant les morceaux affichés"
 
-#: gtkpod.glade:560
+#: gtkpod.glade:799
 msgid "Containing Selected Tracks"
 msgstr "Contenant les morceaux sélectionnés"
 
-#: gtkpod.glade:569
+#: gtkpod.glade:808
 msgid "One for each Artist"
 msgstr "Par artiste"
 
-#: gtkpod.glade:578
+#: gtkpod.glade:817
 msgid "One for each Album"
 msgstr "Par album"
 
-#: gtkpod.glade:587
+#: gtkpod.glade:826
 msgid "One for each Genre"
 msgstr "Par genre"
 
-#: gtkpod.glade:596
+#: gtkpod.glade:835
 msgid "One for each Composer"
 msgstr "Par compositeur"
 
-#: gtkpod.glade:605
+#: gtkpod.glade:844
 msgid "One for each Year"
 msgstr "Par année"
 
-#: gtkpod.glade:614
+#: gtkpod.glade:853
 msgid "One for each Rating"
 msgstr "Par note"
 
-#: gtkpod.glade:623
+#: gtkpod.glade:862
 msgid "Best Rated Tracks"
 msgstr "Contenant les morceaux les mieux notés"
 
-#: gtkpod.glade:632
+#: gtkpod.glade:871
 msgid "Tracks Most Often Listened To"
 msgstr "Contenant les morceaux les plus écoutés"
 
-#: gtkpod.glade:641
+#: gtkpod.glade:880
 msgid "Most Recently Played Tracks"
 msgstr "Contenant les morceaux dernièrement joués"
 
-#: gtkpod.glade:650
+#: gtkpod.glade:889
 msgid "All Tracks Played Since Last Time"
 msgstr "Contenant les morceaux joués depuis la dernière fois"
 
-#: gtkpod.glade:659
+#: gtkpod.glade:898
 msgid "All Tracks Never Listened To"
 msgstr "Contenant les morceaux qui n'ont jamais été écoutés"
 
-#: gtkpod.glade:668
+#: gtkpod.glade:907
 msgid "All Tracks not Listed in any Playlist"
 msgstr "Contenant tous les morceaux qui n'appartiennent à aucune liste"
 
-#: gtkpod.glade:681
+#: gtkpod.glade:920
 msgid "Randomize Current Playlist"
 msgstr "Mélanger l'ordre de la liste de lecture actuelle"
 
-#: gtkpod.glade:696
+#: gtkpod.glade:935
 msgid "_Sorting"
 msgstr "_Tri"
 
-#: gtkpod.glade:718
+#: gtkpod.glade:957
 msgid "_Save Displayed Track Order"
 msgstr "_Sauver l'ordre de tri des morceaux affichés"
 
-#: gtkpod.glade:746
-msgid "_Delete But Keep Tracks"
-msgstr "S_upprimer mais garder les morceaux"
-
-#: gtkpod.glade:798
-msgid "_Delete Completely From iPod"
-msgstr "S_upprimer ainsi que les morceaux"
-
-#: gtkpod.glade:856
+#: gtkpod.glade:985
 msgid "_Edit Preferences"
 msgstr "_Préférences"
 
-#: gtkpod.glade:882
+#: gtkpod.glade:1011
 msgid "_View"
 msgstr "_Affichage"
 
-#: gtkpod.glade:891
+#: gtkpod.glade:1020
 msgid "_Toolbar"
 msgstr "_Barre d'outils"
 
-#: gtkpod.glade:901
+#: gtkpod.glade:1030
 msgid "_Tooltips"
 msgstr "_Infobulles"
 
-#: gtkpod.glade:911
+#: gtkpod.glade:1040
 msgid "_Info Window"
 msgstr "_Fenêtre d'infos"
 
-#: gtkpod.glade:922
+#: gtkpod.glade:1051
 msgid "_More Sort Tabs"
 msgstr "_Ajouter une zone de tri"
 
-#: gtkpod.glade:943
+#: gtkpod.glade:1072
 msgid "_Less Sort Tabs"
 msgstr "_Supprimer une zone de tri"
 
-#: gtkpod.glade:964
+#: gtkpod.glade:1093
 msgid "_Arrange Sort Tabs"
 msgstr "_Organiser les zones de tri"
 
-#: gtkpod.glade:977 gtkpod.glade:5636 gtkpod.glade:17156
+#: gtkpod.glade:1106 gtkpod.glade:12692
 msgid "_Tools"
 msgstr "_Outils"
 
-#: gtkpod.glade:986
+#: gtkpod.glade:1115
 msgid "_Play Now"
 msgstr "_Jouer maintenant"
 
-#: gtkpod.glade:1038
+#: gtkpod.glade:1167
 msgid "_Enqueue"
 msgstr "_Ajouter à la file d'attente"
 
-#: gtkpod.glade:1096
+#: gtkpod.glade:1225
 msgid "_Normalize Volume"
 msgstr "_Normaliser le volume"
 
-#: gtkpod.glade:1132
+#: gtkpod.glade:1261
 msgid "_Displayed Tracks"
 msgstr "_Morceaux affichés"
 
-#: gtkpod.glade:1141
+#: gtkpod.glade:1270
 msgid "_All Tracks"
 msgstr "_Tous les morceaux"
 
-#: gtkpod.glade:1150
+#: gtkpod.glade:1279
 msgid "_Newly Added Tracks"
 msgstr "_Nouveaux morceaux ajoutés"
 
-#: gtkpod.glade:1169
+#: gtkpod.glade:1298
 msgid "Synchronise Contacts, Calendar and Notes"
 msgstr "Synchroniser le calendrier, contacts et notes"
 
-#: gtkpod.glade:1170
+#: gtkpod.glade:1299
 msgid "Synchronize All"
 msgstr "Tout synchroniser"
 
-#: gtkpod.glade:1179
+#: gtkpod.glade:1308
 msgid "Synchronize Contacts"
 msgstr "Synchroniser les contacts"
 
-#: gtkpod.glade:1188
+#: gtkpod.glade:1317
 msgid "Synchronize Calendar"
 msgstr "Synchroniser le calendrier"
 
-#: gtkpod.glade:1197
+#: gtkpod.glade:1326
 msgid "Synchronize Notes"
 msgstr "Synchroniser les notes"
 
-#: gtkpod.glade:1210
+#: gtkpod.glade:1339
 msgid "_Help"
 msgstr "A_ide"
 
-#: gtkpod.glade:1219
+#: gtkpod.glade:1348
 msgid "_About"
 msgstr "A _propos"
 
-#: gtkpod.glade:1259
+#: gtkpod.glade:1388
 msgid "Read Existing Database from Disk/iPod"
 msgstr "Lire les données du disque/iPod"
 
-#: gtkpod.glade:1260
+#: gtkpod.glade:1389
 msgid "Read"
 msgstr "Lire"
 
-#: gtkpod.glade:1277
+#: gtkpod.glade:1406
 msgid "Add Files or Directories"
 msgstr "Ajouter des fichiers ou répertoires"
 
-#: gtkpod.glade:1278
+#: gtkpod.glade:1407
 msgid "Files"
 msgstr "Fichiers"
 
-#: gtkpod.glade:1295
+#: gtkpod.glade:1424
 msgid "Add Directories Recursively"
 msgstr "Ajouter récursivement des répertoires"
 
-#: gtkpod.glade:1296
+#: gtkpod.glade:1425
 msgid "Dirs"
 msgstr "Répertoires"
 
-#: gtkpod.glade:1313
+#: gtkpod.glade:1442
 msgid "Add playlist from file"
 msgstr "Ajouter une liste de lecture"
 
-#: gtkpod.glade:1331
+#: gtkpod.glade:1460
 msgid "Create New Playlist"
 msgstr "Créer une liste de lecture"
 
-#: gtkpod.glade:1332
+#: gtkpod.glade:1461
 msgid "New PL"
 msgstr "Nouvelle liste"
 
-#: gtkpod.glade:1349
+#: gtkpod.glade:1478
 msgid "Write Changes to Disk/iPod"
 msgstr "Écrire les données sur le disque/iPod"
 
-#: gtkpod.glade:1350
+#: gtkpod.glade:1479
 msgid "Sync"
 msgstr "Synchroniser"
 
-#: gtkpod.glade:1366
+#: gtkpod.glade:1495
 msgid "Stop Display Update"
 msgstr "Annuler la mise à jour de l'affichage"
 
-#: gtkpod.glade:1367
+#: gtkpod.glade:1496
 msgid "Stop"
 msgstr "Interrompre"
 
-#: gtkpod.glade:1540
+#: gtkpod.glade:1669
 msgid "About gtkpod"
 msgstr "A propos de gtkpod"
 
-#: gtkpod.glade:1661
+#: gtkpod.glade:1790
 msgid "Credits"
 msgstr "Crédits"
 
-#: gtkpod.glade:1715
+#: gtkpod.glade:1844
 msgid "Translators"
 msgstr "Traducteurs"
 
-#: gtkpod.glade:1770 gtkpod.glade:12719
-msgid "Preferences"
-msgstr "Préférences"
-
-#: gtkpod.glade:1846
-msgid " iPod Mount _Point:"
-msgstr "Point de montage de l'iPod:"
-
-#: gtkpod.glade:1868
-msgid ""
-"Where you mounted your iPod's filesystem. Usually '/media/ipod/' or similar."
-msgstr "Point de montage de l'iPod. Habituellement '/media/ipod'"
-
-#: gtkpod.glade:1896
-msgid ""
-"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
-"<ipod mountpoint>' call is carried out. For more complicated arrangements "
-"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
-msgstr ""
-"Au démarrage, gtkpod appelera la commande 'mount <point de montage de "
-"l'iPod>', et à la fermeture 'umount <point de montage de l'iPod>'. Pour des "
-"scripts, vous pouvez utiliser les fichiers ~/.gtkpod/gtkpod.in et ~/.gtkpod/"
-"gtkpod.out."
-
-#: gtkpod.glade:1898 gtkpod.glade:12890
-msgid "Handle mounting/unmounting of iPod drive"
-msgstr "Gérer automatiquement le montage/démontage de l'iPod"
-
-#: gtkpod.glade:1918 gtkpod.glade:12910
-msgid "Automatically import iTunesDB on startup"
-msgstr "Importer les données de l'iPod au démarrage de gtkpod"
-
-#: gtkpod.glade:1944
-msgid "Import"
-msgstr "Import"
-
-#: gtkpod.glade:1991
-msgid " _Charset (ID3, files): "
-msgstr "Jeu de _caractères (ID3, fichiers):"
-
-#: gtkpod.glade:2022 gtkpod.glade:13047
-msgid ""
-"gtkpod expects the ID3 tags and the filenames to be in the encoding "
-"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
-"operation. 'System Charset' is the charset used by your current locale."
-msgstr ""
-"gtkpod utilisera le jeu de caractères spécifié ici pour les tags ID3 et les "
-"fichiers. Vous pouvez le modifier entre chaque opération d'ajout.'Jeu de "
-"caractères du système' est le jeu de caractère défini par les locales de "
-"votre système."
-
-#: gtkpod.glade:2059
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to update the track information. If you have chosen a wrong charset when "
-"first importing a track and want to correct it using the 'Update Track' "
-"function, you must check this option. Note: the charset info is stored in "
-"the extended information file (see 'Writing of iTunesDB' below) and tracks "
-"imported before V0.51 will have no charset stored. Instead the charset "
-"specified above will be used then."
-msgstr ""
-"Par défaut, le jeu de caractère spécifié lors du premier import d'un morceau "
-"sera celui utilisé pour la mise à jour. Pour corriger un mauvais jeu de car. "
-"sélectionné à l'import initial d'un morceau, cocher cette option pour le "
-"modifier lors de la mise à jour de ce morceau. Note: les infos sur les "
-"caractères sont stockées dans un fichier d'informations étendues et les "
-"morceaux importés.avant la version 0.51 de gtkpod n'utilisait pas ce "
-"fichier. Ce sera le jeu de caractères spécifié ici qui sera utilisé en cas "
-"de mise à jour de ces morceaux."
-
-#: gtkpod.glade:2061
-msgid ""
-"Use selected charset also when updating\n"
-" or syncing tracks"
-msgstr ""
-"Le jeu de caractères sélectionné sera utilisé pour la mise à jour ou la \n"
-"synchronisation des morceaux"
-
-#: gtkpod.glade:2081
-msgid "If you check this, gtkpod will descend into subdirectories recursively."
-msgstr ""
-"Si vous cochez cette case, gtkpod parcourera les sous-répertoires "
-"récursivement."
-
-#: gtkpod.glade:2083 gtkpod.glade:13106
-msgid "Add directories recursively"
-msgstr "Ajouter les répertoires récursivement"
-
-#: gtkpod.glade:2102
-msgid "Duplicate Recognition is based on a md5 hash over the file."
-msgstr ""
-"La détection de doublons est basé sur la somme de contrôle md5 des fichiers"
-
-#: gtkpod.glade:2104 gtkpod.glade:13126
-msgid "Don't allow file duplication"
-msgstr "Ne pas autoriser de doublons de fichiers"
-
-#: gtkpod.glade:2132
-msgid ""
-"Display the list of duplicates that have been detected after adding files."
-msgstr "Afficher la liste des doublons détectés lors de l'ajout de fichier."
-
-#: gtkpod.glade:2134 gtkpod.glade:13173
-msgid "Display info about detected duplicates"
-msgstr "Afficher les infos au sujet des doublons"
-
-#: gtkpod.glade:2187
-msgid ""
-"If the filename (full path) of an existing track matches that of a track to "
-"be added, this option allows you to update the information about the "
-"existing track rather than just skipping the track altogether. No update "
-"will take place if the file hasn't changed and you have selected the 'Don't "
-"allow file duplication' option above."
-msgstr ""
-"Si le fichier (chemin complet) d'un morceau existant correspond au morceau à "
-"ajouter, cette option vous permet de mettre à jour les informations du "
-"morceau existant plutôt que de l'écraser. Notez que cette option est "
-"différente de l'option ci-dessus: les doublons sont des fichiers strictement "
-"identiques (même taille, mêmes tags)"
-
-#: gtkpod.glade:2189
-msgid ""
-"When adding dirs/files, update information of\n"
-" existing tracks with identical filenames"
-msgstr ""
-"Lors de l'ajout de fichiers/répertoires, mettre à jour les informations des\n"
-" morceaux existants avec les doublons"
-
-#: gtkpod.glade:2218
-msgid "Display a list of tracks that could actually be updated."
-msgstr "Afficher la liste des morceaux qui peuvent être mis à jour."
-
-#: gtkpod.glade:2220 gtkpod.glade:13248
-msgid "Display info about updated tracks"
-msgstr "Afficher les infos des morceaux mis à jour"
-
-#: gtkpod.glade:2243
-msgid "Display a list of tracks that could not be updated."
-msgstr "Afficher la liste des morceaux qui ne peuvent pas être mis à jour."
-
-#: gtkpod.glade:2245 gtkpod.glade:13302
-msgid "Display info about non-updated tracks"
-msgstr "Afficher les infos des morceaux qui n'ont pas été mis à jour"
-
-#: gtkpod.glade:2287 gtkpod.glade:13328
-msgid "When syncing directories"
-msgstr "Lors de la synchronisation des répertoires"
-
-#: gtkpod.glade:2318
-msgid "Confirm list of directories"
-msgstr "Confirmer la liste des répertoires"
-
-#: gtkpod.glade:2341
-msgid ""
-"If you check this option, tracks that have been removed from the synced "
-"directories will be removed from the iPod as well."
-msgstr ""
-"En cochant cette option, les morceaux qui ont été enlevés des répertoires "
-"synchronisés seront supprimés de l'iPod aussi."
-
-#: gtkpod.glade:2343 gtkpod.glade:13403
-msgid "Delete tracks that have been removed"
-msgstr "Supprimer les morceaux qui ont été enlevés"
-
-#: gtkpod.glade:2366
-msgid "This is the same option as in 'Edit/Delete Confirmation'"
-msgstr "C'est la même option que dans 'Édition/Confirmation de suppression"
-
-#: gtkpod.glade:2368 gtkpod.glade:13423
-msgid "Confirm before removing tracks"
-msgstr "Confirmer avant la suppression des morceaux"
-
-#: gtkpod.glade:2401
-msgid "Adding/Updating/Syncing"
-msgstr "Ajout/Mise à jour/Synchronisation"
-
-#: gtkpod.glade:2441 gtkpod.glade:13664
-msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
-msgstr ""
-"Lire les tags à partir du contenu des fichiers (tags ID3 dans les fichiers)"
-
-#: gtkpod.glade:2460 gtkpod.glade:13683
-msgid ""
-"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
-"several templates by a ';'. The first one matching the filename will be "
-"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
-msgstr ""
-"artiste: %a, album: %A, compositeur: %c, titre: %t, genre: %G, numéro de "
-"piste: %T, numéro de CD: %C, ignore: %*, le caractère '%': %%. Vous pouvez "
-"séparer plusieurs masques par un ';'. Le premier masque a concordé sera "
-"utilisé. Exemple: '%a - %A/%T %t.mp3;%t.wav'."
-
-#: gtkpod.glade:2462
-msgid "Use this template to parse filename for tag information"
-msgstr "Utiliser ce masque pour générer les tags à partir du nom de fichier"
-
-#: gtkpod.glade:2514
-msgid "Overwrite tags that are already set."
-msgstr "Écraser les tags déjà présents."
-
-#: gtkpod.glade:2544
-msgid ""
-"As a last resort set the following tags to the filename if they are (still) "
-"empty:"
-msgstr ""
-"Mettre un tag par défaut au cas où les tags restent vides après l'extraction "
-"à partir du nom de fichier:"
-
-#: gtkpod.glade:2723
-msgid "Tag Reading"
-msgstr "Lecture des tags"
-
-#: gtkpod.glade:2762 gtkpod.glade:2985 gtkpod.glade:14020 gtkpod.glade:14234
-msgid "Currently only rating is supported."
-msgstr "Actuellement, seule la notation est supportée."
-
-#: gtkpod.glade:2764
-msgid "Use mserv database to fill in additional information"
-msgstr "Utiliser la base mserv pour remplir les autres informations"
-
-#: gtkpod.glade:2792
-msgid "Music Root: "
-msgstr "Rép. de musique:"
-
-#: gtkpod.glade:2816 gtkpod.glade:14074
-msgid "mserv database lookup will be done for music in this directory."
-msgstr "La base mserv utilise ce répertoire pour chercher une musique"
-
-#: gtkpod.glade:2839 gtkpod.glade:2904 gtkpod.glade:5076 gtkpod.glade:5147
-#: gtkpod.glade:5261 gtkpod.glade:5405 gtkpod.glade:5476 gtkpod.glade:5547
-msgid "..."
-msgstr "..."
-
-#: gtkpod.glade:2857
-msgid "mserv Root: "
-msgstr "Racine mserv:"
-
-#: gtkpod.glade:2881 gtkpod.glade:14120
-msgid "Root directory of mserv database (trackinfo root)."
-msgstr "Rép. de la base mserv (infos)."
-
-#: gtkpod.glade:2922
-msgid "Username: "
-msgstr "Utilisateur:"
-
-#: gtkpod.glade:2946 gtkpod.glade:14166
-msgid "Username to be used for mserv database lookup."
-msgstr "Utilisateur pour se connecter à la base mserv."
-
-#: gtkpod.glade:2987 gtkpod.glade:14236
-msgid "Show information about problems when accessing mserv"
-msgstr "Afficher les informations sur les problèmes liés à mserv"
-
-#: gtkpod.glade:3030
-msgid "mserv"
-msgstr "mserv"
-
-#: gtkpod.glade:3070 gtkpod.glade:13531
-msgid ""
-"Highly recommended for faster import when taking advantage of the "
-"duplication recognition. Also, having the PC filenames allows writing "
-"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
-"case of file system corruption (change the \"transferred=\" entries in your "
-"backuped database)."
-msgstr ""
-"Cette option est plus que recommandée pour des raisons de performance lors "
-"de l'import en prenant en compte les doublons. De plus, cela permet de "
-"mettre à jour les tags ID3 des fichiers sur disque, et de restaurer le "
-"contenu de votre iPod en cas de corruption du système de fichiers."
-
-#: gtkpod.glade:3072 gtkpod.glade:13533
-msgid ""
-"Write extended information (PC filenames,\n"
-" MD5 hashes, charset). Recommended."
-msgstr ""
-"Écrire les infos supplémentaires (noms de fichiers PC, somme de contrôle "
-"MD5,\n"
-" jeu des caractères). Recommandé."
-
-#: gtkpod.glade:3103
-msgid "Sync (Writing of iTunesDB)"
-msgstr "Synchronisation (Écriture de iTunesDB)"
-
-#: gtkpod.glade:3143
-msgid "_Input/Output"
-msgstr "Entrée/_Sortie"
-
-#: gtkpod.glade:3270
-msgid "Relative volume adjustment between -100 and +100"
-msgstr "Ajustement relatif du volume entre -100 et +100"
-
-#: gtkpod.glade:3795
-msgid "Displayed Track Attributes "
-msgstr "Attributs des morceaux affichés"
-
-#: gtkpod.glade:3842
-msgid " _Number of sort tabs: "
-msgstr "_Nombre de zones de tri:"
-
-#: gtkpod.glade:3899
-msgid "Sort Tabs"
-msgstr "Zones de tri"
-
-#: gtkpod.glade:3939 gtkpod.glade:15168
-msgid ""
-"If you don't select the master playlist automatically, the initial database "
-"import is much faster because the display dosn't have to be updated."
-msgstr ""
-"Si vous ne choisissez pas de liste de lecture principale automatiquement, "
-"l'import initial sera beaucoup plus rapide car l'affichage n'aura pas à être "
-"mis à jour à chaque morceau."
-
-#: gtkpod.glade:3941 gtkpod.glade:15170
-msgid "...master playlist"
-msgstr "...liste de lecture principale"
-
-#: gtkpod.glade:3961 gtkpod.glade:15190
-msgid "...entry 'All' in sort tab..."
-msgstr "...onglet 'Tous' dans l'onglet de tri..."
-
-#: gtkpod.glade:4018
-msgid "Automatically select..."
-msgstr "Sélection automatique..."
-
-#: gtkpod.glade:4059 gtkpod.glade:15447
-msgid "Display toolbar..."
-msgstr "Afficher la barre d'outils..."
-
-#: gtkpod.glade:4088 gtkpod.glade:15541
-msgid "...both as icons and text"
-msgstr "...avec les icones et libellés"
-
-#: gtkpod.glade:4112 gtkpod.glade:15520
-msgid "...as text"
-msgstr "...avec seulement les libellés"
-
-#: gtkpod.glade:4137 gtkpod.glade:15500
-msgid "...as icons"
-msgstr "... avec seulement les icones"
-
-#: gtkpod.glade:4175
-msgid "Toolbar"
-msgstr "Barre d'outils"
-
-#: gtkpod.glade:4216 gtkpod.glade:15326
-msgid "Display tooltips in main window"
-msgstr "Afficher les infobulles dans la fenêtre principale"
-
-#: gtkpod.glade:4236 gtkpod.glade:15346
-msgid "Display tooltips in prefs window"
-msgstr "Afficher les infobulles dans la fenêtre des préférences"
-
-#: gtkpod.glade:4262
-msgid "Tooltips"
-msgstr "Infobulles"
-
-#: gtkpod.glade:4346 gtkpod.glade:10103
-msgid "Sorting"
-msgstr "Tri"
-
-#: gtkpod.glade:4378 gtkpod.glade:15656
-msgid ""
-"It is much faster to sort the display after all tracks have been added. Some "
-"people might feel irritated by this behaviour and should uncheck this option."
-msgstr ""
-"Il est plus rapide d'effectuer le tri après que tous les fichiers aient été "
-"ajoutés. Certaines personnes peuvent être génées par ce comportement et "
-"peuvent désactiver cette option."
-
-#: gtkpod.glade:4380 gtkpod.glade:15658
-msgid ""
-"Temporarily disable sorting when changing playlist\n"
-"or tab entry (faster!)"
-msgstr ""
-"Bloquer le tri lors du changement de liste\n"
-"ou d'onglet (plus rapide !)"
-
-#: gtkpod.glade:4400 gtkpod.glade:15678
-msgid ""
-"The display can be blocked after changing a selection. The display update is "
-"faster, but you have to wait until it's finished. When using this option, "
-"sorting is also temporarily disabled (see option above)."
-msgstr ""
-"L'application peut se trouver figée lors d'un changement de sélection. "
-"L'affichage est plus rapide, mais vous devez attendre la fin de l'opération."
-"En activant l'option, le tri est sésactivé temporairement (voir ci-dessus)."
-
-#: gtkpod.glade:4402 gtkpod.glade:15680
-msgid ""
-"Block display when changing playlist or tab\n"
-" entry (faster!)"
-msgstr ""
-"Bloquer l'affichage lors du changement de liste de lecture ou d'entrée\n"
-"(plus rapide !)"
-
-#: gtkpod.glade:4422 gtkpod.glade:15700
-msgid "This option will be re-activated when you upgrade gtkpod."
-msgstr "Cette option se réactivera quans vous mettrez à jour gtkpod"
-
-#: gtkpod.glade:4424 gtkpod.glade:15702
-msgid "Display messages and warnings at startup"
-msgstr "Afficher les messages et avertissements au démarrage"
-
-#: gtkpod.glade:4446
-msgid "Misc"
-msgstr "Divers"
-
-#: gtkpod.glade:4482 gtkpod.glade:6457
-msgid "_Display"
-msgstr "_Affichage"
-
-#: gtkpod.glade:4536
-msgid ""
-"The tags are written to the files on your harddrive and on the ipod (if "
-"available)."
-msgstr ""
-"Les tags ID3 seront écrits dans les fichiers sur votre disque et l'iPod (si "
-"disponible)"
-
-#: gtkpod.glade:4538 gtkpod.glade:15914
-msgid "Write ID3 tags to disk when modified in gtkpod"
-msgstr ""
-"Écrire les tags ID3 sur le disque lors de leur modification dans gtkpod"
-
-#: gtkpod.glade:4566
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to write the tags. If you have chosen a wrong charset when first importing a "
-"track, you should select this option along with the correct charset.  Note: "
-"uses the extended information file to store the charset information (see "
-"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
-"before V0.51 will have no charset stored -- the charset specified on the "
-"'Input/Output' page will be used."
-msgstr ""
-"Par défaut, le jeu de caractère spécifié lors du premier import d'un morceau "
-"sera celui utilisé pour la mise à jour. Pour corriger un mauvais jeu de car. "
-"sélectionné à l'import initial d'un morceau, cocher cette option pour le "
-"modifier lors de la mise à jour de ce morceau. Note: les infos sur les "
-"caractères sont stockées dans un fichier d'information étendu et les "
-"morceaux importés avant la version 0.51 de gtkpod n'utilisait pas ce "
-"fichier. Ce sera le jeu spécifié ici qui sera utilisé en cas de mise à jour "
-"de ces morceaux."
-
-#: gtkpod.glade:4568
-msgid ""
-"Use selected charset (on the 'Import' page)\n"
-" when writing tags"
-msgstr ""
-"Utiliser le jeu de caractère sélectionné (sur l'onglet 'Import') pour "
-"l'écriture des tags"
-
-#: gtkpod.glade:4592
-msgid ""
-"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
-"uses unicode to store the tags, so you won't have to worry about charsets "
-"any more. gtkpod will use UTF8 encoding as this will not increase the size "
-"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
-"present in the file to write to."
-msgstr ""
-"Les tags ID3v2.4 utilisent l'unicode pour stocker les tags de façon à ce que "
-"vous n'ayez pas à gérer vous même les jeux de caractères. gtkpod utilise "
-"UTF8 afin de ne pas augmenter la taille des tags en ASCII."
-
-#: gtkpod.glade:4594 gtkpod.glade:15988
-msgid "Always write ID3v2.4 tags (only applies to MP3)"
-msgstr "Toujours écrire les tags ID3v2.4 (s'applique seulement aux MP3)"
-
-#: gtkpod.glade:4624
-msgid ""
-"If you select several tracks in the track list and edit a tag of the first "
-"track, the tags in the other tracks are updated as well."
-msgstr ""
-"Si vous sélectionnez plusieurs chansons et éditez le tag du premier morceau "
-"les tags des autres morceaux seront aussi mis à jour."
-
-#: gtkpod.glade:4626
-msgid "Use 'Multi-Edit' for track selections"
-msgstr "Utiliser 'Édition multiple' pour les morceaux sélectionnés"
-
-#: gtkpod.glade:4654
-msgid ""
-"Usually you don't want to set the title of several tracks to the same text. "
-"This option might avoid unwanted results (especially since there is no "
-"'undo' yet)."
-msgstr ""
-"Généralement, vous ne devriez pas avoir à utiliser cette option, car elle "
-"peut avoir des effets inattendus (pas d'annulation possible)."
-
-#: gtkpod.glade:4656 gtkpod.glade:16069
-msgid "Use 'Multi-Edit' also for title field"
-msgstr "Utiliser 'Édition multiple' aussi pour les titres"
-
-#: gtkpod.glade:4689
-msgid "Track Editing"
-msgstr "Édition de morceau"
-
-#: gtkpod.glade:4738
-msgid ""
-"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
-"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
-msgstr ""
-"Nombre de morceaux dans les listes de lecture générées automatiquement."
-"Mettre '0' pour ne pas spécifier de limite."
-
-#: gtkpod.glade:4762
-msgid " Number of tracks in generated playlists: "
-msgstr " Nombre de morceaux dans les listes de lecture générées: "
-
-#: gtkpod.glade:4794 gtkpod.glade:16231
-msgid "Also include tracks never played in \"Best Rated\" playlist"
-msgstr ""
-"Inclure aussi les morceaux qui n'ont jamais été joués dans la liste de \n"
-"lecture des morceaux les mieux notés"
-
-#: gtkpod.glade:4816
-msgid "Auto-Generated Playlists"
-msgstr "Listes de lecture générées automatiquement"
-
-#: gtkpod.glade:4865 gtkpod.glade:16332
-msgid "Before removing playlists or tracks from a playlist"
-msgstr "Avant de supprimer les listes ou morceaux d'une liste de lecture"
-
-#: gtkpod.glade:4885
-msgid "Before removing tracks completely from the iPod"
-msgstr "Avant de supprimer complètement les morceaux de l'iPod"
-
-#: gtkpod.glade:4904
-msgid ""
-"This option only has a meaning if you activate the 'Delete Tracks that have "
-"been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/"
-"Output' tab."
-msgstr ""
-"Cette option n'a de sens que si vous avez activé l'option 'Effacer les "
-"morceaux qui ont été enlevés' dans la section 'Ajout/Mise à jour/"
-"Synchronisation' de l'onglet 'Entrée/Sortie'."
-
-#: gtkpod.glade:4906
-msgid ""
-"Before removing tracks completely when\n"
-" synchronizing directories"
-msgstr ""
-"Avant de supprimer complètement les morceaux lors des synchronisations des\n"
-"répertoires"
-
-#: gtkpod.glade:4929
-msgid "Delete Confirmation "
-msgstr "Confirmation de suppression"
-
-#: gtkpod.glade:5028
-msgid "Command Line for 'Play Now':"
-msgstr "Ligne de commande pour 'Jouer maintenant':"
-
-#: gtkpod.glade:5055
-msgid ""
-"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
-"tracks and start playing."
-msgstr ""
-"Par exemple 'xmms %s' videra la liste de lecture actuelle et ajoutera les "
-"morceaux sélectionnés et commencera la lecture."
-
-#: gtkpod.glade:5099
-msgid "Command Line for 'Enqueue':"
-msgstr "Ligne de commande pour 'Mettre dans la file d'attente':"
-
-#: gtkpod.glade:5126
-msgid ""
-"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
-"current playlist."
-msgstr ""
-"Par exemple 'xmms -e %s' ajoutera à la liste de lecture de xmms les morceaux "
-"sélectionnés."
-
-#: gtkpod.glade:5172
-msgid "Track Playing"
-msgstr "Lecture des morceaux"
-
-#: gtkpod.glade:5213
-msgid "Exact path for the 'mp3gain' executable:"
-msgstr "Chemin de l'éxécutable 'mp3gain':"
-
-#: gtkpod.glade:5240
-msgid ""
-"You only need to specify this if your 'mp3gain' executable is not in your "
-"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
-"calculated gain value back to the file -- if you don't want this, set this "
-"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
-"are not already set by your encoder. E.g. lame version 0.95 already writes "
-"the gain values into tags. The exact conversion factor between mp3gain's "
-"gain value and iPod's volume tag is not known yet -- your input is "
-"appreciated."
-msgstr ""
-"Vous devez seulement préciser le chemin de mp3gain si l'exécutable mp3gain "
-"n'est pas défini dans vos chemins prédéfinis. Exemple: '/usr/local/test/"
-"mp3gain'. mp3gain écrira le gain évalué dans le fichier -- si vous ne "
-"souhaitez pas ce comportement, mettez /bin/true ou autre. mp3gain appelé "
-"uniquement si le tag approprié n'a pas été rempli par votre encodeur.Ainsi "
-"Lame 0.95 utilise déjà ce tag. La conversion exact entre la valeur définie "
-"par mp3gain et celle définie par l'iPod n'est pas encore connue."
-
-#: gtkpod.glade:5294
-msgid "Volume Normalization"
-msgstr "Normalisation du volume"
-
-#: gtkpod.glade:5357
-msgid "Command to synchronize contacts:"
-msgstr "Ligne de commande pour synchroniser les contacts:"
-
-#: gtkpod.glade:5384 gtkpod.glade:5455 gtkpod.glade:5526
-msgid ""
-"Specify exact path including command line options. '%i' will be replaced "
-"with the mount point of the iPod."
-msgstr ""
-"Indiquer le chemin exact ainsi que les paramètres de ligne de commande. '%i' "
-"sera remplacé par le point de montage de l'iPod."
-
-#: gtkpod.glade:5428
-msgid "Command to be called to synchronize calendar:"
-msgstr "Ligne de commande pour synchroniser le calendrier:"
-
-#: gtkpod.glade:5499
-msgid "Command to be called to synchronize notes:"
-msgstr "Ligne de commande pour synchroniser les notes:"
-
-#: gtkpod.glade:5570 gtkpod.glade:17110
-msgid "Call automatically when synchronizing iTunesDB"
-msgstr "Éxécuter en même temps que la synchronisation de la base iTunesDB"
-
-#: gtkpod.glade:5592
-msgid "Contacts / Calendar / Notes"
-msgstr "Contacts / Calendrier / Notes"
-
-#: gtkpod.glade:5716
+#: gtkpod.glade:1898
 msgid "special_sorttab -- Don't translate!"
 msgstr ""
 
-#: gtkpod.glade:5750
+#: gtkpod.glade:1932
 msgid " Logic: "
-msgstr " Opérateur logique: "
+msgstr " Opérateur logique : "
 
-#: gtkpod.glade:5772
+#: gtkpod.glade:1954
 msgid "Any (OR)"
 msgstr "Ou"
 
-#: gtkpod.glade:5791
+#: gtkpod.glade:1973
 msgid "All (AND)"
 msgstr "Et"
 
-#: gtkpod.glade:5844
+#: gtkpod.glade:2026
 msgid "0"
 msgstr "0"
 
-#: gtkpod.glade:5863
+#: gtkpod.glade:2045
 msgid "1"
 msgstr "1"
 
-#: gtkpod.glade:5882
+#: gtkpod.glade:2064
 msgid "2"
 msgstr "2"
 
-#: gtkpod.glade:5901
+#: gtkpod.glade:2083
 msgid "3"
 msgstr "3"
 
-#: gtkpod.glade:5920
+#: gtkpod.glade:2102
 msgid "4"
 msgstr "4"
 
-#: gtkpod.glade:5939
+#: gtkpod.glade:2121
 msgid "5"
 msgstr "5"
 
-#: gtkpod.glade:5978
+#: gtkpod.glade:2160
 msgid "Select '0' for no lower limit."
-msgstr "Choisissez '0' pour aucune limite inférieure."
+msgstr "Choisissez «0» pour aucune limite inférieure."
 
-#: gtkpod.glade:5999
+#: gtkpod.glade:2181
 msgid " <= cts <= "
 msgstr " <= et <= "
 
-#: gtkpod.glade:6020
+#: gtkpod.glade:2202
 msgid "Select '-1' for no upper limit."
-msgstr "Choisissez '-1' pour aucune limite supérieure."
+msgstr "Choisissez «-1» pour aucune limite supérieure."
 
-#: gtkpod.glade:6063 gtkpod.glade:6136 gtkpod.glade:6302
+#: gtkpod.glade:2245 gtkpod.glade:2318 gtkpod.glade:2484
 msgid ""
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
 "finished."
@@ -4183,19 +3583,23 @@
 "'JJ/MM/AAAA HH:MM < d < JJ/MM/AAAA HH:MM' ou similaire. Appuyez 'Entrée' "
 "pour valider."
 
-#: gtkpod.glade:6105 gtkpod.glade:6178 gtkpod.glade:6344 gtkpod.glade:6519
+#: gtkpod.glade:2287 gtkpod.glade:2360 gtkpod.glade:2526 gtkpod.glade:2701
 msgid "Calendar"
 msgstr "Calendrier"
 
-#: gtkpod.glade:6203
+#: gtkpod.glade:2385
 msgid "Specify interval"
 msgstr "Spécifier un intervalle"
 
-#: gtkpod.glade:6414
+#: gtkpod.glade:2596
 msgid "Display tracks that match the criteria entered above."
 msgstr "Afficher les morceaux qui correspondent aux critères saisis."
 
-#: gtkpod.glade:6489
+#: gtkpod.glade:2639 gtkpod.glade:11330
+msgid "_Display"
+msgstr "_Affichage"
+
+#: gtkpod.glade:2671
 msgid ""
 "Automatically start displaying tracks that match the criteria entered above. "
 "If not selected, you must press 'Display' to start displaying."
@@ -4203,119 +3607,111 @@
 "Affiche automatiquement les morceaux qui correspondent aux critères saisis."
 "En désactivant cette option, vous devrez appuyer sur 'Afficher'."
 
-#: gtkpod.glade:6491
+#: gtkpod.glade:2673
 msgid "Start display automatically"
 msgstr "Afficher automatiquement"
 
-#: gtkpod.glade:6564
+#: gtkpod.glade:2746
 msgid "Sorttab: "
-msgstr "Zone de tri:"
+msgstr "Zone de tri :"
 
-#: gtkpod.glade:6604
+#: gtkpod.glade:2786
 msgid "     "
 msgstr "     "
 
-#: gtkpod.glade:6626
+#: gtkpod.glade:2808
 msgid "Category: "
-msgstr "Catégorie: "
+msgstr "Catégorie : "
 
-#: gtkpod.glade:6703
+#: gtkpod.glade:2885
 msgid "Please specify a time interval"
 msgstr "Spécifiez un intervalle de temps"
 
-#: gtkpod.glade:6748
+#: gtkpod.glade:2930
 msgid "Lower Margin"
 msgstr "Borne inférieure"
 
-#: gtkpod.glade:6795 gtkpod.glade:7001
+#: gtkpod.glade:2977 gtkpod.glade:3183
 msgid "Time:"
-msgstr "Heure"
+msgstr "Heure :"
 
-#: gtkpod.glade:6838 gtkpod.glade:7044
+#: gtkpod.glade:3020 gtkpod.glade:3226
 msgid ":"
 msgstr ":"
 
-#: gtkpod.glade:6911
+#: gtkpod.glade:3093
 msgid "No lower margin"
 msgstr "Pas de borne inférieure"
 
-#: gtkpod.glade:6954
+#: gtkpod.glade:3136
 msgid "Upper margin"
 msgstr "Borne supérieure"
 
-#: gtkpod.glade:7117
+#: gtkpod.glade:3299
 msgid "No upper margin"
 msgstr "Pas de borne supérieure"
 
-#: gtkpod.glade:7215 gtkpod.glade:8858
+#: gtkpod.glade:3397
 msgid "Sorting Options"
 msgstr "Options de tri"
 
-#: gtkpod.glade:7245
-#, fuzzy
+#: gtkpod.glade:3427
 msgid "<b>Sort Order</b>"
-msgstr "Zones de tri"
+msgstr "<b>Ordre de tri</b>"
 
-#: gtkpod.glade:7272 gtkpod.glade:8522 gtkpod.glade:12807 gtkpod.glade:12983
-#: gtkpod.glade:13151 gtkpod.glade:13226 gtkpod.glade:13280 gtkpod.glade:13355
-#: gtkpod.glade:13510 gtkpod.glade:13636 gtkpod.glade:13710 gtkpod.glade:13993
-#: gtkpod.glade:14355 gtkpod.glade:15005 gtkpod.glade:15141 gtkpod.glade:15298
-#: gtkpod.glade:15419 gtkpod.glade:15472 gtkpod.glade:15629 gtkpod.glade:15886
-#: gtkpod.glade:15939 gtkpod.glade:16047 gtkpod.glade:16149 gtkpod.glade:16304
-#: gtkpod.glade:16518 gtkpod.glade:16737 gtkpod.glade:16874
-#, fuzzy
+#: gtkpod.glade:3454 gtkpod.glade:4704 gtkpod.glade:7682 gtkpod.glade:7860
+#: gtkpod.glade:8031 gtkpod.glade:8108 gtkpod.glade:8163 gtkpod.glade:8239
+#: gtkpod.glade:8396 gtkpod.glade:8522 gtkpod.glade:8879 gtkpod.glade:9338
+#: gtkpod.glade:9700 gtkpod.glade:10487 gtkpod.glade:10644 gtkpod.glade:10801
+#: gtkpod.glade:10922 gtkpod.glade:10975 gtkpod.glade:11132 gtkpod.glade:11389
+#: gtkpod.glade:11443 gtkpod.glade:11554 gtkpod.glade:11657 gtkpod.glade:11813
+#: gtkpod.glade:12027 gtkpod.glade:12248 gtkpod.glade:12386 gtkpod.glade:12751
+#: gtkpod.glade:12869 gtkpod.glade:13043 gtkpod.glade:13278 gtkpod.glade:13380
 msgid "    "
 msgstr "     "
 
-#: gtkpod.glade:7300
-#, fuzzy
+#: gtkpod.glade:3482
 msgid ""
 "In order to save the displayed track order to the iPod choose 'Save "
 "Displayed Track Order' from the 'Edit' menu or select 'Auto Store' below."
 msgstr ""
-"Note: l'ordre des morceaux est toujours enregistré sur l'iPod lors du "
-"glisser/déposer utiliser pour les réarranger.\n"
 "Afin de trier par ordre alphabétique sur l'iPod, vous devez cliquer sur le "
 "menu 'Édition' puis 'Sauver l'ordre de tri des morceaux affichés' ou "
 "l'option 'Sauver automatiquement' ci-dessus."
 
-#: gtkpod.glade:7683 gtkpod.glade:9257
+#: gtkpod.glade:3865
 msgid "Ascending"
 msgstr "Croissant"
 
-#: gtkpod.glade:7727 gtkpod.glade:9301
+#: gtkpod.glade:3909
 msgid "Descending"
 msgstr "Décroissant"
 
-#: gtkpod.glade:7771 gtkpod.glade:9345
+#: gtkpod.glade:3953
 msgid "None"
 msgstr "Aucun"
 
-#: gtkpod.glade:7860 gtkpod.glade:9434
+#: gtkpod.glade:4042
 msgid "Sorttabs"
-msgstr "Zones de tri:"
+msgstr "Zones de tri :"
 
-#: gtkpod.glade:7905 gtkpod.glade:9479
+#: gtkpod.glade:4087
 msgid "Tracks"
 msgstr "Morceaux"
 
-#: gtkpod.glade:8058 gtkpod.glade:9632
+#: gtkpod.glade:4240
 msgid "Auto Store"
 msgstr "Sauver automatiquement"
 
-#: gtkpod.glade:8103 gtkpod.glade:8149 gtkpod.glade:9677 gtkpod.glade:9723
+#: gtkpod.glade:4285 gtkpod.glade:4331
 msgid "Please refer to the notice below."
 msgstr "Référez vous à la règle ci-dessous."
 
-#: gtkpod.glade:8183 gtkpod.glade:9757
-msgid "n/a"
-msgstr "-"
-
-#: gtkpod.glade:8381 gtkpod.glade:9955
+#: gtkpod.glade:4563
 msgid "Sort tracks according to: "
-msgstr "Trier les morceaux suivant:"
+msgstr "Trier les morceaux suivant :"
 
-#: gtkpod.glade:8411 gtkpod.glade:9985
+#: gtkpod.glade:4593
 msgid ""
 "You can also use the table headers, but this allows you to sort according to "
 "a column that is not displayed."
@@ -4323,7 +3719,7 @@
 "Vous pouvez aussi utiliser le tableau des entêtes, mais cela permet de trier "
 "sur une colonne qui n'est pas affichée."
 
-#: gtkpod.glade:8447 gtkpod.glade:10032
+#: gtkpod.glade:4629
 msgid ""
 "If checked, sorting will be case sensitive. Please note that case sensitive "
 "sorting will not work well with most charsets."
@@ -4331,78 +3727,64 @@
 "En cochant cette option, le tri tiendra compte de la casse (minuscule/"
 "majuscule). Le tri dépend du jeu de caractères."
 
-#: gtkpod.glade:8449 gtkpod.glade:10034
+#: gtkpod.glade:4631
 msgid "Sorting case sensitive"
 msgstr "Trier en tenant compte de la casse"
 
-#: gtkpod.glade:8495
+#: gtkpod.glade:4677
 msgid "<b>Ignore Frequent Words</b>"
-msgstr ""
+msgstr "<b>Ignorer les mots courants</b>"
 
-#: gtkpod.glade:8587
+#: gtkpod.glade:4769
 msgid "Ignore these words when at the beginning of the following fields:"
-msgstr ""
+msgstr "Ignorer ces mots au début des champs suivants :"
 
-#: gtkpod.glade:10071
-msgid ""
-"Notice: the track order is always stored to the iPod when you use drag and "
-"drop to re-arrange the tracks.\n"
-"In order to store an alphabetized track order to the iPod you must choose "
-"the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' "
-"above."
-msgstr ""
-"Note: l'ordre des morceaux est toujours enregistré sur l'iPod lors du "
-"glisser/déposer utiliser pour les réarranger.\n"
-"Afin de trier par ordre alphabétique sur l'iPod, vous devez cliquer sur le "
-"menu 'Édition' puis 'Sauver l'ordre de tri des morceaux affichés' ou "
-"l'option 'Sauver automatiquement' ci-dessus."
-
-#: gtkpod.glade:10183
+#: gtkpod.glade:5040
 msgid "gtkpod Info"
 msgstr "Info gtkpod"
 
-#: gtkpod.glade:10482 gtkpod.glade:10557 gtkpod.glade:10582 gtkpod.glade:11208
-#: gtkpod.glade:11341
+#: gtkpod.glade:5339 gtkpod.glade:5414 gtkpod.glade:5439 gtkpod.glade:6065
+#: gtkpod.glade:6198
 msgid "      "
 msgstr "      "
 
-#: gtkpod.glade:10835
+#: gtkpod.glade:5692
 msgid "Number of tracks"
 msgstr "Nombre de morceaux"
 
-#: gtkpod.glade:10861
+#: gtkpod.glade:5718
 msgid "Play time"
 msgstr "Temps de lecture"
 
-#: gtkpod.glade:10888
+#: gtkpod.glade:5745
 msgid "File size"
 msgstr "Taille du fichier"
 
-#: gtkpod.glade:10914
+#: gtkpod.glade:5771
 msgid "Number of playlists"
 msgstr "Nombre de listes de lecture"
 
-#: gtkpod.glade:10940
+#: gtkpod.glade:5797
 msgid "Deleted tracks"
 msgstr "Morceaux supprimés"
 
-#: gtkpod.glade:10966
+#: gtkpod.glade:5823
 msgid "File size (deleted)"
 msgstr "Taille des fichiers (supprimés)"
 
-#: gtkpod.glade:10992
+#: gtkpod.glade:5849
 msgid "Non-transferred tracks"
 msgstr "Morceaux non transférés"
 
-#: gtkpod.glade:11018
+#: gtkpod.glade:5875
 msgid "File size (non-transferred)"
 msgstr "Taille des fichiers (non transférés)"
 
-#: gtkpod.glade:11044
+#: gtkpod.glade:5901
 msgid "Effective free space"
-msgstr ""
+msgstr "Espace libre effectif"
 
-#: gtkpod.glade:11070
+#: gtkpod.glade:5927
 msgid ""
 "Total\n"
 "(iPod)"
@@ -4410,7 +3792,7 @@
 "Total\n"
 "(iPod)"
 
-#: gtkpod.glade:11098
+#: gtkpod.glade:5955
 msgid ""
 "Selected\n"
 "Playlist"
@@ -4418,7 +3800,7 @@
 "Liste de lecture\n"
 "Sélectionnée"
 
-#: gtkpod.glade:11126
+#: gtkpod.glade:5983
 msgid ""
 "Displayed\n"
 "Tracks"
@@ -4426,7 +3808,7 @@
 "Morceaux\n"
 "Affichés"
 
-#: gtkpod.glade:11154
+#: gtkpod.glade:6011
 msgid ""
 "Selected\n"
 "Tracks"
@@ -4434,7 +3816,7 @@
 "Morceaux\n"
 "Sélec_tionnés"
 
-#: gtkpod.glade:11182
+#: gtkpod.glade:6039
 msgid ""
 "Total\n"
 "(local)"
@@ -4442,27 +3824,27 @@
 "Total\n"
 "(local)"
 
-#: gtkpod.glade:11579
+#: gtkpod.glade:6436
 msgid "label21"
 msgstr "label21"
 
-#: gtkpod.glade:11670
+#: gtkpod.glade:6527
 msgid "Never show this dialogue again"
 msgstr "Ne plus afficher ce message"
 
-#: gtkpod.glade:11715 gtkpod.glade:12041
+#: gtkpod.glade:6572 gtkpod.glade:6898
 msgid "window1"
 msgstr "window1"
 
-#: gtkpod.glade:11772
+#: gtkpod.glade:6629
 msgid "_M3U"
 msgstr "_M3U"
 
-#: gtkpod.glade:11791
+#: gtkpod.glade:6648
 msgid "_PLS"
 msgstr "_PLS"
 
-#: gtkpod.glade:11829
+#: gtkpod.glade:6686
 msgid ""
 "If available, the local copy of the track is referenced in the playlist. "
 "Otherwise the file on the iPod is used."
@@ -4470,11 +3852,11 @@
 "Si possible, c'est la copie locale du fichier qui est référencée dans la "
 "liste. Autrement, le fichier de l'iPod est utilisé."
 
-#: gtkpod.glade:11831
+#: gtkpod.glade:6688
 msgid "_Prefer Local"
 msgstr "Locale de _préférence"
 
-#: gtkpod.glade:11849
+#: gtkpod.glade:6706
 msgid ""
 "The local copy of the track is referenced in the playlist. If the track is "
 "not available locally, an error message is displayed."
@@ -4482,32 +3864,32 @@
 "Le fichier local du morceau est référencé dans la liste. Si le fichier "
 "n'existe pas, un message d'erreur est affiché."
 
-#: gtkpod.glade:11851
+#: gtkpod.glade:6708
 msgid "_Local"
 msgstr "_Locale"
 
-#: gtkpod.glade:11870
+#: gtkpod.glade:6727
 msgid "The track on the iPod is referenced in the playlist file."
 msgstr ""
 "Le morceau de l'iPod est référencé dans le fichier de liste de lecture."
 
-#: gtkpod.glade:11872
+#: gtkpod.glade:6729
 msgid "_iPod"
 msgstr "_iPod"
 
-#: gtkpod.glade:11905
+#: gtkpod.glade:6762
 msgid "Playlist type:"
-msgstr "Type de liste:"
+msgstr "Type de liste :"
 
-#: gtkpod.glade:11930
+#: gtkpod.glade:6787
 msgid "Source:"
-msgstr "Source:"
+msgstr "Source :"
 
-#: gtkpod.glade:11969
+#: gtkpod.glade:6826
 msgid "Template for info field: "
-msgstr "Modèle pour le champ d'info:"
+msgstr "Modèle pour le champ d'info :"
 
-#: gtkpod.glade:11990
+#: gtkpod.glade:6847
 msgid ""
 "Determines how the string for the info field should be constructed, e.g '%a/%"
 "A/%T - %t.mp3' or '%o'.  You can separate several templates by semicolons -- "
@@ -4523,16 +3905,15 @@
 "G, numéro de piste: %T, numéro de CD: %C, anné: %Y, le nom de fichier "
 "original (nécessite le fichier d'infos étendues): %o, le caractère '%': %%."
 
-#: gtkpod.glade:12021 gtkpod.glade:12251
+#: gtkpod.glade:6878 gtkpod.glade:7108
 msgid "gtkpod options"
 msgstr "Options gtkpod"
 
-#: gtkpod.glade:12077
+#: gtkpod.glade:6934
 msgid "Filename Format: "
-msgstr "Format du nom des fichiers: "
+msgstr "Format du nom des fichiers : "
 
-#: gtkpod.glade:12098
-#, fuzzy
+#: gtkpod.glade:6955
 msgid ""
 "Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
 "mp3' or '%o'.  You can separate several patterns by semicolons -- gtkpod "
@@ -4542,18 +3923,18 @@
 "current playlist: %p, the character '%': %%."
 msgstr ""
 "Détermine le nom de fichier des morceaux que vous copiez de l'iPod, par "
-"exemple '%a/%A/%T - %t' or '%o'. Vous pouvez séparer les expressions par des "
+"exemple '%a/%A/%T - %t' ou '%o'. Vous pouvez séparer les expressions par des "
 "points-virgules -- gtkpod déterminera laquelle utiliser suivant l'extension "
 "du fichier donnée. Artiste: %a, album: %A, compositeur; %c, titre: %t, "
-"genre: %G, numéro de piste: %T, numéro de CD: %C, anné: %Y, le nom de "
+"genre: %G, numéro de piste: %T, numéro de CD: %C, année: %Y, le nom de "
 "fichier original (nécessite le fichier d'infos étendues): %o, le caractère "
 "'%': %%."
 
-#: gtkpod.glade:12103
+#: gtkpod.glade:6960
 msgid " "
 msgstr " "
 
-#: gtkpod.glade:12125
+#: gtkpod.glade:6982
 msgid ""
 "Normally the charset specified when first importing the track will be used "
 "for the filename. If you set this option you can set a different charset "
@@ -4564,21 +3945,21 @@
 msgstr ""
 "Par défaut, le jeu de caractères spécifié lors du premier import d'un "
 "morceau sera celui utilisé pour la mise à jour. Si vous cochez cette option, "
-"vous pouvez utiliser un jeu de caractère différent de ci-dessus. Note: les "
+"vous pouvez utiliser un jeu de caractère différent de ci-dessus. Note : les "
 "infos sur les caractères sont stockées dans un fichier d'informations "
 "étendues. Les morceaux importés avant la version 0.51 de gtkpod n'utilisait "
 "pas ce fichier. Ce sera le jeu de caractère spécifié ici qui sera utilisé en "
 "cas de mise à jour de ces morceaux."
 
-#: gtkpod.glade:12127
+#: gtkpod.glade:6984
 msgid ""
 "Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
 "for this filename."
 msgstr ""
 "Utilise le jeu de caractère sélectionné pour ce fichier\n"
-"(voir la section ci-dessus: 'Ajout/Mise à jour/Synchronisation')"
+"(voir la section ci-dessus : 'Ajout/Mise à jour/Synchronisation')"
 
-#: gtkpod.glade:12146
+#: gtkpod.glade:7003
 msgid ""
 "When copying from iPod no check is performed on whether the destination file "
 "exists. Enabling this option will make gtkpod check whether the length of "
@@ -4591,409 +3972,1264 @@
 "du fichier sur l'iPod. En ce cas, le fichier n'est pas recopié pour "
 "accélérer la synchronisation du contenu de l'iPod."
 
-#: gtkpod.glade:12148
+#: gtkpod.glade:7005
 msgid "Check for existing files when copying from iPod."
 msgstr ""
 "Contrôler l'existence des fichiers lors de la copie à partir de l'ipod."
 
-#: gtkpod.glade:12312
+#: gtkpod.glade:7169
 msgid "Playlist name:"
-msgstr "Nom de la liste:"
+msgstr "Nom de la liste :"
 
-#: gtkpod.glade:12377
+#: gtkpod.glade:7234
 msgid "Match al_l of the following"
-msgstr "Répondant à toutes les règles"
+msgstr "Répondant à toutes les règ_les"
 
-#: gtkpod.glade:12396
+#: gtkpod.glade:7253
 msgid "Match an_y of the following"
-msgstr "Répondant à quelques règles"
+msgstr "Répondant à quelques _règles"
 
-#: gtkpod.glade:12416
+#: gtkpod.glade:7273
 msgid "_Ignore rules"
-msgstr "Ne respectant pas les règles"
+msgstr "Ne respectant _pas les règles"
 
-#: gtkpod.glade:12468
+#: gtkpod.glade:7343
 msgid "Rules"
 msgstr "Règles"
 
-#: gtkpod.glade:12501
+#: gtkpod.glade:7376
 msgid "_Limit to"
 msgstr "_Limiter à"
 
-#: gtkpod.glade:12550
+#: gtkpod.glade:7425
 msgid "   Sort by:"
-msgstr "   Trier par:"
+msgstr "   Trier par :"
 
-#: gtkpod.glade:12596
+#: gtkpod.glade:7471
 msgid "Match only _checked tracks"
 msgstr "Seulement les morceaux _cochés"
 
-#: gtkpod.glade:12628
+#: gtkpod.glade:7503
 msgid "Live _updating"
 msgstr "Mise à jour automatique"
 
-#: gtkpod.glade:12780
-#, fuzzy
+#: gtkpod.glade:7594
+msgid "Preferences"
+msgstr "Préférences"
+
+#: gtkpod.glade:7655
 msgid "<b>Import</b>"
-msgstr "Import"
+msgstr "<b>Importer</b>"
 
-#: gtkpod.glade:12840
-#, fuzzy
+#: gtkpod.glade:7715
 msgid "iPod Mount _Point:"
-msgstr "Point de montage de l'iPod:"
+msgstr "Point de montage de l'iPod :"
 
-#: gtkpod.glade:12956
-#, fuzzy
+#: gtkpod.glade:7737
+msgid ""
+"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
+msgstr "Point de montage de l'iPod. Habituellement «/mnt/ipod»"
+
+#: gtkpod.glade:7765
+msgid ""
+"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
+"<ipod mountpoint>' call is carried out. For more complicated arrangements "
+"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
+msgstr ""
+"Au démarrage, gtkpod appelera la commande 'mount <point de montage de "
+"l'iPod>', et à la fermeture 'umount <point de montage de l'iPod>'. Pour des "
+"scripts, vous pouvez utiliser les fichiers ~/.gtkpod/gtkpod.in et ~/.gtkpod/"
+"gtkpod.out."
+
+#: gtkpod.glade:7767
+msgid "Handle mounting/unmounting of iPod drive"
+msgstr "Gérer automatiquement le montage/démontage de l'iPod"
+
+#: gtkpod.glade:7787
+msgid "Automatically import iTunesDB on startup"
+msgstr "Importer les données de l'iPod au démarrage de gtkpod"
+
+#: gtkpod.glade:7833
 msgid "<b>Adding/Updating/Syncing</b>"
-msgstr "Ajout/Mise à jour/Synchronisation"
+msgstr "<b>Ajout/Mise à jour/Synchronisation</b>"
 
-#: gtkpod.glade:13016
+#: gtkpod.glade:7893
 #, fuzzy
-msgid "_Charset (ID3, files):"
-msgstr "Jeu de _caractères (ID3, fichiers):"
+msgid "_Encoding (ID3, files):"
+msgstr "Jeu de _caractères (ID3, fichiers) :"
 
-#: gtkpod.glade:13085
+#: gtkpod.glade:7924
+msgid ""
+"gtkpod expects the ID3 tags and the filenames to be in the encoding "
+"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
+"operation. 'System Charset' is the charset used by your current locale."
+msgstr ""
+"gtkpod utilisera le jeu de caractères spécifié ici pour les attributs ID3 et "
+"les fichiers. Vous pouvez le modifier entre chaque opération d'ajout.'Jeu de "
+"caractères du système' est le jeu de caractère défini par les locales de "
+"votre système."
+
+#: gtkpod.glade:7961
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to update the track information. If you have chosen a wrong charset when "
+"first importing a track and want to correct it using the 'Update Track' "
+"function, you must check this option. Note: the charset info is stored in "
+"the extended information file (see 'Writing of iTunesDB' below) and tracks "
+"imported before V0.51 will have no charset stored. Instead the charset "
+"specified above will be used then."
+msgstr ""
+"Par défaut, le jeu de caractère spécifié lors du premier import d'un morceau "
+"sera celui utilisé pour la mise à jour. Pour corriger un mauvais jeu de car. "
+"sélectionné à l'import initial d'un morceau, cocher cette option pour le "
+"modifier lors de la mise à jour de ce morceau. Note : les infos sur les "
+"caractères sont stockées dans un fichier d'informations étendues et les "
+"morceaux importés.avant la version 0.51 de gtkpod n'utilisait pas ce "
+"fichier. Ce sera le jeu de caractères spécifié ici qui sera utilisé en cas "
+"de mise à jour de ces morceaux."
+
+#: gtkpod.glade:7963
 #, fuzzy
 msgid ""
-"Use selected charset also when updating \n"
+"Use selected encoding also when updating \n"
 "or syncing tracks"
 msgstr ""
-"Le jeu de caractères sélectionné sera utilisé pour la mise à jour ou la \n"
-"synchronisation des morceaux"
+"Le jeu de caractères sélectionné sera utilisé pour\n"
+"la mise à jour ou la synchronisation des morceaux"
 
-#: gtkpod.glade:13200
+#: gtkpod.glade:7983
+msgid "If you check this, gtkpod will descend into subdirectories recursively."
+msgstr ""
+"Si vous cochez cette case, gtkpod parcourera les sous-répertoires "
+"récursivement."
+
+#: gtkpod.glade:7985
+msgid "Add directories recursively"
+msgstr "Ajouter les répertoires récursivement"
+
+#: gtkpod.glade:8004
 #, fuzzy
+msgid "Duplicate Recognition is based on a (modified) md5 hash over the file."
+msgstr ""
+"La détection de doublons est basé sur la somme de contrôle md5 des fichiers"
+
+#: gtkpod.glade:8006
+msgid "Don't allow file duplication"
+msgstr "Ne pas autoriser de doublons de fichiers"
+
+#: gtkpod.glade:8052
 msgid ""
+"Display the list of duplicates that have been detected after adding files."
+msgstr "Afficher la liste des doublons détectés lors de l'ajout de fichier."
+
+#: gtkpod.glade:8054
+msgid "Display info about detected duplicates"
+msgstr "Afficher les infos au sujet des doublons"
+
+#: gtkpod.glade:8080
+msgid ""
+"If the filename (full path) of an existing track matches that of a track to "
+"be added, this option allows you to update the information about the "
+"existing track rather than just skipping the track altogether. No update "
+"will take place if the file hasn't changed and you have selected the 'Don't "
+"allow file duplication' option above."
+msgstr ""
+"Si le fichier (chemin complet) d'un morceau existant correspond au morceau à "
+"ajouter, cette option vous permet de mettre à jour les informations du "
+"morceau existant plutôt que de l'écraser. Notez que cette option est "
+"différente de l'option ci-dessus : les doublons sont des fichiers "
+"strictement identiques (même taille, mêmes tags)"
+
+#: gtkpod.glade:8082
+msgid ""
 "When adding dirs/files, update information of\n"
 "existing tracks with identical filenames"
 msgstr ""
-"Lors de l'ajout de fichiers/répertoires, mettre à jour les informations des\n"
-" morceaux existants avec les doublons"
+"Lors de l'ajout de fichiers/répertoires, mettre à jour\n"
+"les informations des morceaux existants avec les doublons"
 
-#: gtkpod.glade:13383
-#, fuzzy
+#: gtkpod.glade:8129
+msgid "Display a list of tracks that could actually be updated."
+msgstr "Afficher la liste des morceaux qui peuvent être mis à jour."
+
+#: gtkpod.glade:8131
+msgid "Display info about updated tracks"
+msgstr "Afficher les infos des morceaux mis à jour"
+
+#: gtkpod.glade:8184
+msgid "Display a list of tracks that could not be updated."
+msgstr "Afficher la liste des morceaux qui ne peuvent pas être mis à jour."
+
+#: gtkpod.glade:8186
+msgid "Display info about non-updated tracks"
+msgstr "Afficher les infos des morceaux qui n'ont pas été mis à jour"
+
+#: gtkpod.glade:8212
+msgid "When syncing directories"
+msgstr "Lors de la synchronisation des répertoires"
+
+#: gtkpod.glade:8267
 msgid "Confirm lists of directories"
 msgstr "Confirmer la liste des répertoires"
 
-#: gtkpod.glade:13483
+#: gtkpod.glade:8286
+msgid ""
+"If you check this option, tracks that have been removed from the synced "
+"directories will be removed from the iPod as well."
+msgstr ""
+"En cochant cette option, les morceaux qui ont été enlevés des répertoires "
+"synchronisés seront supprimés de l'iPod aussi."
+
+#: gtkpod.glade:8288
+msgid "Delete tracks that have been removed"
+msgstr "Supprimer les morceaux qui ont été enlevés"
+
+#: gtkpod.glade:8307
+msgid "This is the same option as in 'Edit/Delete Confirmation'"
+msgstr "C'est la même option que dans «Édition/Confirmation de suppression»"
+
+#: gtkpod.glade:8309
+msgid "Confirm before removing tracks"
+msgstr "Confirmer avant la suppression des morceaux"
+
+#: gtkpod.glade:8369
 msgid "<b>Sync</b>"
+msgstr "<b>Synchroniser</b>"
+
+#: gtkpod.glade:8417
+msgid ""
+"Highly recommended for faster import when taking advantage of the "
+"duplication recognition. Also, having the PC filenames allows writing "
+"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
+"case of file system corruption (change the \"transferred=\" entries in your "
+"backuped database)."
 msgstr ""
+"Cette option est plus que recommandée pour des raisons de performance lors "
+"de l'import en prenant en compte les doublons. De plus, cela permet de "
+"mettre à jour les attributs ID3 des fichiers sur disque, et de restaurer le "
+"contenu de votre iPod en cas de corruption du système de fichiers."
 
-#: gtkpod.glade:13577
+#: gtkpod.glade:8419
 #, fuzzy
-msgid "General"
-msgstr "Genre"
+msgid ""
+"Write extended information (PC filenames,\n"
+" MD5 hashes, encoding). Recommended."
+msgstr ""
+"Écrire les infos supplémentaires (noms de fichiers PC, somme de contrôle "
+"MD5,\n"
+" jeu des caractères). Recommandé."
 
-#: gtkpod.glade:13609
+#: gtkpod.glade:8463 gtkpod.glade:14969
 #, fuzzy
+msgid "_General"
+msgstr "Général"
+
+#: gtkpod.glade:8495
 msgid "<b>Tag Reading</b>"
-msgstr "Lecture des tags"
+msgstr "<b>Lecture des attributs</b>"
 
-#: gtkpod.glade:13685
-#, fuzzy
+#: gtkpod.glade:8550
+msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
+msgstr ""
+"Lire les attributs à partir du contenu des fichiers (attributs ID3 dans les "
+"fichiers)"
+
+#: gtkpod.glade:8569 gtkpod.glade:8906
+msgid ""
+"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
+"several templates by a ';'. The first one matching the filename will be "
+"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
+msgstr ""
+"artiste: %a, album: %A, compositeur: %c, titre: %t, genre: %G, numéro de "
+"piste: %T, numéro de CD: %C, ignore: %*, le caractère '%': %%. Vous pouvez "
+"séparer plusieurs masques par un ';'. Le premier masque concordant sera "
+"utilisé. Exemple : '%a - %A/%T %t.mp3;%t.wav'."
+
+#: gtkpod.glade:8571
 msgid "Use this template to parse filename for tag information:"
-msgstr "Utiliser ce masque pour générer les tags à partir du nom de fichier"
+msgstr ""
+"Utiliser ce masque pour générer les attributs à partir du nom de fichier :"
 
-#: gtkpod.glade:13758
-#, fuzzy
+#: gtkpod.glade:8644
 msgid "Overwrite tags that are already set"
-msgstr "Écraser les tags déjà présents."
+msgstr "Écraser les attributs déjà présents"
 
-#: gtkpod.glade:13791
+#: gtkpod.glade:8677
 msgid ""
 "As a last resort set the following tags to the\n"
 "filename if they are (still) empty:"
 msgstr ""
-"Mettre un tag par défaut au cas où les tags restent vides après l'extraction "
-"à partir du nom de fichier:"
+"Mettre un attribut par défaut au cas où les attributs restent\n"
+"vides après l'extraction à partir du nom de fichier :"
 
-#: gtkpod.glade:13966
-msgid "<b>mserv</b>"
+#: gtkpod.glade:8852
+#, fuzzy
+msgid "<b>Artwork</b>"
+msgstr "<b>Importer</b>"
+
+#: gtkpod.glade:8908
+msgid "Add artwork from file using the following template"
 msgstr ""
 
-#: gtkpod.glade:14022
+#: gtkpod.glade:8960
 #, fuzzy
+msgid ""
+"Determines the name of the file with the cover art. You can separate several "
+"patterns by semicolons which will be tried in order. Artist: %a, album: %A, "
+"composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, "
+"original filename (requires extended information file): %o, original "
+"filename without file extension: %O, current playlist: %p, the character "
+"'%': %%."
+msgstr ""
+"Détermine le nom de fichier des morceaux que vous copiez de l'iPod, par "
+"exemple '%a/%A/%T - %t' ou '%o'. Vous pouvez séparer les expressions par des "
+"points-virgules -- gtkpod déterminera laquelle utiliser suivant l'extension "
+"du fichier donnée. Artiste: %a, album: %A, compositeur; %c, titre: %t, "
+"genre: %G, numéro de piste: %T, numéro de CD: %C, année: %Y, le nom de "
+"fichier original (nécessite le fichier d'infos étendues): %o, le caractère "
+"'%': %%."
+
+#: gtkpod.glade:8981
+#, fuzzy
+msgid "<b>Examples</b>"
+msgstr "<b>mserv</b>"
+
+#: gtkpod.glade:9011
+msgid "folder.jpg"
+msgstr ""
+
+#: gtkpod.glade:9035
+msgid "folder"
+msgstr ""
+
+#: gtkpod.glade:9059
+msgid "../%A.jpg"
+msgstr ""
+
+#: gtkpod.glade:9083
+msgid "%A"
+msgstr ""
+
+#: gtkpod.glade:9107
+msgid "Use <i>folder.jpg</i> as cover art."
+msgstr ""
+
+#: gtkpod.glade:9131
+msgid "Use <i>folder.jpg</i>, <i>folder.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9155
+msgid "Use <i>&lt;Album&gt;.jpg</i> in the parent directory"
+msgstr ""
+
+#: gtkpod.glade:9179
+msgid "Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9203
+msgid "folder.jpg;%a.jpg"
+msgstr ""
+
+#: gtkpod.glade:9227
+msgid "First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i>"
+msgstr ""
+
+#: gtkpod.glade:9311
+msgid "<b>mserv</b>"
+msgstr "<b>mserv</b>"
+
+#: gtkpod.glade:9365 gtkpod.glade:9579
+msgid "Currently only rating is supported."
+msgstr "Actuellement, seule la notation est supportée."
+
+#: gtkpod.glade:9367
 msgid "Use mserv database to fill additional information"
 msgstr "Utiliser la base mserv pour remplir les autres informations"
 
-#: gtkpod.glade:14050
-#, fuzzy
+#: gtkpod.glade:9395
 msgid "Music Root:"
-msgstr "Rép. de musique:"
+msgstr "Racine musique :"
 
-#: gtkpod.glade:14096
-#, fuzzy
+#: gtkpod.glade:9419
+msgid "mserv database lookup will be done for music in this directory."
+msgstr "La base mserv utilise ce répertoire pour chercher une musique."
+
+#: gtkpod.glade:9441
 msgid "mserv Root:"
-msgstr "Racine mserv:"
+msgstr "Racine mserv :"
 
-#: gtkpod.glade:14142
-#, fuzzy
+#: gtkpod.glade:9465
+msgid "Root directory of mserv database (trackinfo root)."
+msgstr "Rép. de la base mserv (infos)."
+
+#: gtkpod.glade:9487
 msgid "Username:"
-msgstr "Utilisateur:"
+msgstr "Utilisateur :"
 
-#: gtkpod.glade:14190 gtkpod.glade:14209 gtkpod.glade:16592 gtkpod.glade:16661
-#: gtkpod.glade:16805 gtkpod.glade:16956 gtkpod.glade:17020 gtkpod.glade:17084
+#: gtkpod.glade:9511
+msgid "Username to be used for mserv database lookup."
+msgstr "Utilisateur pour se connecter à la base mserv."
+
+#: gtkpod.glade:9535 gtkpod.glade:9554 gtkpod.glade:12102 gtkpod.glade:12172
+#: gtkpod.glade:12317 gtkpod.glade:12490 gtkpod.glade:12555 gtkpod.glade:12620
 msgid "Browse"
-msgstr ""
+msgstr "Parcourir"
 
-#: gtkpod.glade:14282
+#: gtkpod.glade:9581
+msgid "Show information about problems when accessing mserv"
+msgstr "Afficher les informations sur les problèmes liés à mserv"
+
+#: gtkpod.glade:9627
 #, fuzzy
-msgid "Reading"
-msgstr "Lecture des tags"
+msgid "_Track Info"
+msgstr "Morceau"
 
-#: gtkpod.glade:14328
-#, fuzzy
+#: gtkpod.glade:9673
 msgid "<b>Displayed Track Attributes</b>"
-msgstr "Attributs des morceaux affichés"
+msgstr "<b>Attributs des morceaux affichés</b>"
 
-#: gtkpod.glade:14978
-#, fuzzy
+#: gtkpod.glade:10460
 msgid "<b>Sort Tabs</b>"
-msgstr "Zones de tri"
+msgstr "<b>Zones de tri</b>"
 
-#: gtkpod.glade:15038
-#, fuzzy
+#: gtkpod.glade:10514
+msgid "Keeps all compilation CDs grouped together in the artists sort tab."
+msgstr ""
+
+#: gtkpod.glade:10516
+msgid "Group artists on compilation CDs"
+msgstr ""
+
+#: gtkpod.glade:10541
 msgid "_Number of sort tabs:"
-msgstr "_Nombre de zones de tri:"
+msgstr "_Nombre de zones de tri :"
 
-#: gtkpod.glade:15114
-#, fuzzy
+#: gtkpod.glade:10617
 msgid "<b>Automatically select...</b>"
-msgstr "Sélection automatique..."
+msgstr "<b>Sélection automatique...</b>"
 
-#: gtkpod.glade:15271
-#, fuzzy
+#: gtkpod.glade:10671
+msgid ""
+"If you don't select the master playlist automatically, the initial database "
+"import is much faster because the display dosn't have to be updated."
+msgstr ""
+"Si vous ne choisissez pas de liste de lecture principale automatiquement, "
+"l'import initial sera beaucoup plus rapide car l'affichage n'aura pas à être "
+"mis à jour à chaque morceau."
+
+#: gtkpod.glade:10673
+msgid "...master playlist"
+msgstr "...liste de lecture principale"
+
+#: gtkpod.glade:10693
+msgid "...entry 'All' in sort tab..."
+msgstr "...onglet «Tous» dans l'onglet de tri..."
+
+#: gtkpod.glade:10774
 msgid "<b>Tooltips</b>"
-msgstr "Infobulles"
+msgstr "<b>Infobulles</b>"
 
-#: gtkpod.glade:15392
-#, fuzzy
+#: gtkpod.glade:10829
+msgid "Display tooltips in main window"
+msgstr "Afficher les infobulles dans la fenêtre principale"
+
+#: gtkpod.glade:10849
+msgid "Display tooltips in prefs window"
+msgstr "Afficher les infobulles dans la fenêtre des préférences"
+
+#: gtkpod.glade:10895
 msgid "<b>Toolbar</b>"
-msgstr "Infobulles"
+msgstr "<b>Barre d'outils</b>"
 
-#: gtkpod.glade:15602
-#, fuzzy
+#: gtkpod.glade:10950
+msgid "Display toolbar..."
+msgstr "Afficher la barre d'outils..."
+
+#: gtkpod.glade:11003
+msgid "...as icons"
+msgstr "...avec seulement les icônes"
+
+#: gtkpod.glade:11023
+msgid "...as text"
+msgstr "...avec seulement les libellés"
+
+#: gtkpod.glade:11044
+msgid "...both as icons and text"
+msgstr "...avec les icônes et libellés"
+
+#: gtkpod.glade:11105
 msgid "<b>Misc</b>"
-msgstr "Infobulles"
+msgstr "<b>Divers</b>"
 
-#: gtkpod.glade:15764
-#, fuzzy
+#: gtkpod.glade:11159
+msgid ""
+"It is much faster to sort the display after all tracks have been added. Some "
+"people might feel irritated by this behaviour and should uncheck this option."
+msgstr ""
+"Il est plus rapide d'effectuer le tri après que tous les fichiers aient été "
+"ajoutés. Certaines personnes peuvent être génées par ce comportement et "
+"peuvent désactiver cette option."
+
+#: gtkpod.glade:11161
+msgid ""
+"Temporarily disable sorting when changing playlist\n"
+"or tab entry (faster!)"
+msgstr ""
+"Bloquer le tri lors du changement de liste\n"
+"ou d'onglet (plus rapide !)"
+
+#: gtkpod.glade:11181
+msgid ""
+"The display can be blocked after changing a selection. The display update is "
+"faster, but you have to wait until it's finished. When using this option, "
+"sorting is also temporarily disabled (see option above)."
+msgstr ""
+"L'application peut se trouver figée lors d'un changement de sélection. "
+"L'affichage est plus rapide, mais vous devez attendre la fin de l'opération."
+"En activant l'option, le tri est sésactivé temporairement (voir ci-dessus)."
+
+#: gtkpod.glade:11183
+msgid ""
+"Block display when changing playlist or tab\n"
+" entry (faster!)"
+msgstr ""
+"Bloquer l'affichage lors du changement de liste de lecture ou d'entrée\n"
+"(plus rapide !)"
+
+#: gtkpod.glade:11203
+msgid "This option will be re-activated when you upgrade gtkpod."
+msgstr "Cette option se réactivera quans vous mettrez à jour gtkpod"
+
+#: gtkpod.glade:11205
+msgid "Display messages and warnings at startup"
+msgstr "Afficher les messages et avertissements au démarrage"
+
+#: gtkpod.glade:11267
 msgid "Advanced Sorting Options"
-msgstr "Options de tri"
+msgstr "Options de tri avancées"
 
-#: gtkpod.glade:15827
-#, fuzzy
-msgid "Display"
-msgstr "_Affichage"
-
-#: gtkpod.glade:15859
-#, fuzzy
+#: gtkpod.glade:11362
 msgid "<b>Track Editing</b>"
-msgstr "Édition de morceau"
+msgstr "<b>Édition de morceau</b>"
 
-#: gtkpod.glade:15967
+#: gtkpod.glade:11416
+msgid ""
+"The tags are written to the files on your harddrive and on the ipod (if "
+"available)."
+msgstr ""
+"Les tags ID3 seront écrits dans les fichiers sur votre disque et l'iPod (si "
+"disponible)"
+
+#: gtkpod.glade:11418
+msgid "Write ID3 tags to disk when modified in gtkpod"
+msgstr ""
+"Écrire les attributs ID3 sur le disque lors de leur modification dans gtkpod"
+
+#: gtkpod.glade:11470
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to write the tags. If you have chosen a wrong charset when first importing a "
+"track, you should select this option along with the correct charset.  Note: "
+"uses the extended information file to store the charset information (see "
+"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
+"before V0.51 will have no charset stored -- the charset specified on the "
+"'Input/Output' page will be used."
+msgstr ""
+"Par défaut, le jeu de caractère spécifié lors du premier import d'un morceau "
+"sera celui utilisé pour la mise à jour. Pour corriger un mauvais jeu de car. "
+"sélectionné à l'import initial d'un morceau, cocher cette option pour le "
+"modifier lors de la mise à jour de ce morceau. Note : les infos sur les "
+"caractères sont stockées dans un fichier d'information étendu et les "
+"morceaux importés avant la version 0.51 de gtkpod n'utilisait pas ce "
+"fichier. Ce sera le jeu spécifié ici qui sera utilisé en cas de mise à jour "
+"de ces morceaux."
+
+#: gtkpod.glade:11472
 #, fuzzy
 msgid ""
-"Use selected charset (on the 'General' page)\n"
+"Use selected encoding (on the 'General' page)\n"
 "when writing tags"
 msgstr ""
-"Utiliser le jeu de caractère sélectionné (sur l'onglet 'Import') pour "
-"l'écriture des tags"
+"Utiliser le jeu de caractère sélectionné (sur l'onglet 'Général') pour "
+"l'écriture des attributs"
 
-#: gtkpod.glade:16022
-#, fuzzy
+#: gtkpod.glade:11492
+msgid ""
+"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
+"uses unicode to store the tags, so you won't have to worry about charsets "
+"any more. gtkpod will use UTF8 encoding as this will not increase the size "
+"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
+"present in the file to write to."
+msgstr ""
+"Les tags ID3v2.4 utilisent l'unicode pour stocker les attributs de façon à "
+"ce que vous n'ayez pas à gérer vous même les jeux de caractères. gtkpod "
+"utilise UTF8 afin de ne pas augmenter la taille des tags en ASCII."
+
+#: gtkpod.glade:11494
+msgid "Always write ID3v2.4 tags (only applies to MP3)"
+msgstr "Toujours écrire les attributs ID3v2.4 (s'applique seulement aux MP3)"
+
+#: gtkpod.glade:11527
+msgid ""
+"If you select several tracks in the track list and edit a tag of the first "
+"track, the tags in the other tracks are updated as well."
+msgstr ""
+"Si vous sélectionnez plusieurs chansons et éditez le tag du premier morceau "
+"les attributs des autres morceaux seront aussi mis à jour."
+
+#: gtkpod.glade:11529
 msgid "Use 'Multi-Edit' for tracks selections"
-msgstr "Utiliser 'Édition multiple' pour les morceaux sélectionnés"
+msgstr "Utiliser «Édition multiple» pour les morceaux sélectionnés"
 
-#: gtkpod.glade:16122
-#, fuzzy
+#: gtkpod.glade:11575
+msgid ""
+"Usually you don't want to set the title of several tracks to the same text. "
+"This option might avoid unwanted results (especially since there is no "
+"'undo' yet)."
+msgstr ""
+"Généralement, vous ne devriez pas avoir à utiliser cette option, car elle "
+"peut avoir des effets inattendus (pas d'annulation possible)."
+
+#: gtkpod.glade:11577
+msgid "Use 'Multi-Edit' also for title field"
+msgstr "Utiliser «Édition multiple» aussi pour les titres"
+
+#: gtkpod.glade:11630
 msgid "<b>Auto-Generated Playlists</b>"
-msgstr "Listes de lecture générées automatiquement"
+msgstr "<b>Listes de lecture générées automatiquement</b>"
 
-#: gtkpod.glade:16182
-#, fuzzy
+#: gtkpod.glade:11690
 msgid "Number of tracks in generated playlists:"
-msgstr " Nombre de morceaux dans les listes de lecture générées: "
+msgstr "Nombre de morceaux dans les listes de lecture générées :"
 
-#: gtkpod.glade:16277
-#, fuzzy
+#: gtkpod.glade:11711
+msgid ""
+"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
+"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
+msgstr ""
+"Nombre de morceaux dans les listes de lecture générées automatiquement."
+"Mettre '0' pour ne pas spécifier de limite."
+
+#: gtkpod.glade:11740
+msgid "Also include tracks never played in \"Best Rated\" playlist"
+msgstr ""
+"Inclure aussi les morceaux qui n'ont jamais été joués dans la liste de \n"
+"lecture des morceaux les mieux notés"
+
+#: gtkpod.glade:11786
 msgid "<b>Delete Confirmation</b>"
-msgstr "Confirmation de suppression"
+msgstr "<b>Confirmation de suppression</b>"
 
-#: gtkpod.glade:16352
-#, fuzzy
+#: gtkpod.glade:11841
+msgid "Before removing playlists or tracks from a playlist"
+msgstr "Avant de supprimer les listes ou morceaux d'une liste de lecture"
+
+#: gtkpod.glade:11861
 msgid "Before removing tracks from the iPod"
 msgstr "Avant de supprimer complètement les morceaux de l'iPod"
 
-#: gtkpod.glade:16372
-#, fuzzy
+#: gtkpod.glade:11881
 msgid "Before removing tracks from the harddisk"
-msgstr "Avant de supprimer complètement les morceaux de l'iPod"
+msgstr "Avant de supprimer complètement les morceaux du disque dur"
 
-#: gtkpod.glade:16392
-#, fuzzy
+#: gtkpod.glade:11901
 msgid "Before removing tracks from the local database"
-msgstr "Avant de supprimer complètement les morceaux de l'iPod"
+msgstr ""
+"Avant de supprimer complètement les morceaux de la base de données locale"
 
-#: gtkpod.glade:16412
-#, fuzzy
+#: gtkpod.glade:11921
 msgid ""
 "Before removing tracks completely when\n"
 "synchronizing directories"
 msgstr ""
-"Avant de supprimer complètement les morceaux lors des synchronisations des\n"
-"répertoires"
+"Avant de supprimer complètement les morceaux lors\n"
+"des synchronisations des répertoires"
 
-#: gtkpod.glade:16491
+#: gtkpod.glade:12000
 msgid "<b>Play</b>"
-msgstr ""
+msgstr "<b>Jouer</b>"
 
-#: gtkpod.glade:16551
-#, fuzzy
+#: gtkpod.glade:12060
 msgid "Command for 'Play now':"
-msgstr "Ligne de commande pour 'Jouer maintenant':"
+msgstr "Ligne de commande pour «Jouer maintenant» :"
 
-#: gtkpod.glade:16620
+#: gtkpod.glade:12081
 #, fuzzy
+msgid ""
+"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
+"tracks and start playing."
+msgstr ""
+"Par exemple 'xmms %s» videra la liste de lecture actuelle et ajoutera les "
+"morceaux sélectionnés et commencera la lecture."
+
+#: gtkpod.glade:12130
 msgid "Command for 'Enqueue':"
-msgstr "Ligne de commande pour 'Mettre dans la file d'attente':"
+msgstr "Ligne de commande pour «Mettre dans la file d'attente» :"
 
-#: gtkpod.glade:16710
+#: gtkpod.glade:12151
 #, fuzzy
+msgid ""
+"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
+"current playlist."
+msgstr ""
+"Par exemple «xmms -e %s» ajoutera à la liste de lecture de xmms les morceaux "
+"sélectionnés."
+
+#: gtkpod.glade:12221
 msgid "<b>Volume Normalization</b>"
-msgstr "Normalisation du volume"
+msgstr "<b>Normalisation du volume</b>"
 
-#: gtkpod.glade:16764
-#, fuzzy
+#: gtkpod.glade:12275
 msgid "'mp3gain' executable:"
-msgstr "Chemin de l'éxécutable 'mp3gain':"
+msgstr "Chemin de l'exécutable «mp3gain» :"
 
-#: gtkpod.glade:16847
-msgid "<b>Synchronization</b>"
+#: gtkpod.glade:12296
+msgid ""
+"You only need to specify this if your 'mp3gain' executable is not in your "
+"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
+"calculated gain value back to the file -- if you don't want this, set this "
+"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
+"are not already set by your encoder. E.g. lame version 0.95 already writes "
+"the gain values into tags. The exact conversion factor between mp3gain's "
+"gain value and iPod's volume tag is not known yet -- your input is "
+"appreciated."
 msgstr ""
+"Vous devez seulement préciser le chemin de mp3gain si l'exécutable mp3gain "
+"n'est pas défini dans vos chemins prédéfinis. Exemple : '/usr/local/test/"
+"mp3gain'. mp3gain écrira le gain évalué dans le fichier -- si vous ne "
+"souhaitez pas ce comportement, mettez /bin/true ou autre. mp3gain appelé "
+"uniquement si le tag approprié n'a pas été rempli par votre encodeur.Ainsi "
+"Lame 0.95 utilise déjà ce tag. La conversion exact entre la valeur définie "
+"par mp3gain et celle définie par l'iPod n'est pas encore connue."
 
-#: gtkpod.glade:16910
+#: gtkpod.glade:12359
+msgid "<b>Synchronization</b>"
+msgstr "<b>Synchronization</b>"
+
+#: gtkpod.glade:12443
 msgid "Contacts sync command:"
+msgstr "Commande pour la synchronisation des contacts :"
+
+#: gtkpod.glade:12467 gtkpod.glade:12532 gtkpod.glade:12597
+msgid ""
+"Specify exact path including command line options. '%i' will be replaced "
+"with the mount point of the iPod."
 msgstr ""
+"Indiquer le chemin exact ainsi que les paramètres de ligne de commande. '%i' "
+"sera remplacé par le point de montage de l'iPod."
 
-#: gtkpod.glade:16974
+#: gtkpod.glade:12508
 msgid "Calendar sync command:"
-msgstr ""
+msgstr "Commande pour la synchronisation du calendrier :"
 
-#: gtkpod.glade:17038
+#: gtkpod.glade:12573
 msgid "Notes sync command:"
+msgstr "Commande pour la synchronisation des notes :"
+
+#: gtkpod.glade:12646
+msgid "Call automatically when synchronizing iTunesDB"
+msgstr "Exécuter en même temps que la synchronisation de la base iTunesDB"
+
+#: gtkpod.glade:12724
+msgid "<b>Podcast subscriptions</b>"
 msgstr ""
 
-#~ msgid "Couldn't find pixmap file: %s"
-#~ msgstr "Impossible de trouver le fichier pixmap: %s"
+#: gtkpod.glade:12799
+#, fuzzy
+msgid "Add"
+msgstr "Ajouté"
 
-#~ msgid "Copy from iPod"
-#~ msgstr "Copier vers votre disque dur"
+#: gtkpod.glade:12833
+#, fuzzy
+msgid "Delete"
+msgstr "Morceaux supprimés"
 
-#~ msgid "Copy _Tracks from iPod"
-#~ msgstr "Copier les _morceaux vers votre disque dur"
+#: gtkpod.glade:12899
+#, fuzzy
+msgid "Name: "
+msgstr "Utilisateur :"
 
-#~ msgid "Delete selected entry of which sort tab?"
-#~ msgstr "Supprimer l'entrée séléctionnée de quelle zone de tri ?"
+#: gtkpod.glade:12923
+msgid "URL: "
+msgstr ""
 
-#~ msgid "Time played"
-#~ msgstr "Joué le"
+#: gtkpod.glade:13016
+#, fuzzy
+msgid "<b>File options</b>"
+msgstr "<b>Confirmation de suppression</b>"
 
-#~ msgid "Time modified"
-#~ msgstr "Modifié le"
+#: gtkpod.glade:13076
+msgid "Save podcasts to: "
+msgstr ""
 
+#: gtkpod.glade:13131
+msgid "Delete from computer when "
+msgstr ""
+
+#: gtkpod.glade:13171 gtkpod.glade:13473
 #, fuzzy
-#~ msgid "Time added"
-#~ msgstr "Joué le"
+msgid " days old"
+msgstr "jours"
 
-#~ msgid "'%s' does not exist. Ignored.\n"
-#~ msgstr "'%s' n'existe pas. Ignoré.\n"
+#: gtkpod.glade:13200
+#, fuzzy
+msgid "Delete once copied to iPod"
+msgstr "Suppression d'un morceau de l'iPod"
 
-#~ msgid "Import aborted.\n"
-#~ msgstr "Import interrompu.\n"
+#: gtkpod.glade:13226
+#, fuzzy
+msgid "Automatically fetch podcasts on startup"
+msgstr "Importer les données de l'iPod au démarrage de gtkpod"
 
-#~ msgid "Delete Track Completely?"
-#~ msgid_plural "Delete Tracks Completey?"
-#~ msgstr[0] "Supprimer définitivement le morceau ?"
-#~ msgstr[1] "Supprimer définitivement les morceaux ?"
+#: gtkpod.glade:13253
+#, fuzzy
+msgid "Create podcast logfile at:"
+msgstr "Créer un fichier de liste"
 
-#~ msgid "Cannot delete master playlist."
-#~ msgstr "Impossible de supprimer la liste de lecture principale"
+#: gtkpod.glade:13353
+#, fuzzy
+msgid "<b>iPod options</b>"
+msgstr "<b>Infobulles</b>"
 
-#~ msgid "Delete Playlist?"
-#~ msgstr "Supprimer la liste de lecture ?"
+#: gtkpod.glade:13408
+#, fuzzy
+msgid "Automatically sync to iPod"
+msgstr "Sélection automatique..."
 
-#~ msgid "Select files or directories to add to '%s/%s'"
-#~ msgstr "Sélectionner les fichiers ou répertoires à ajouter à '%s/%s'"
+#: gtkpod.glade:13434
+#, fuzzy
+msgid "Delete from iPod when "
+msgstr "Supprimer de l'iPod"
 
-#~ msgid "Select files or directories to add to '%s'"
-#~ msgstr "Sélectionner les fichiers ou répertoires à ajouter à '%s'"
+#: gtkpod.glade:13502
+#, fuzzy
+msgid "Delete from iPod if podcast has been played"
+msgstr "La dernière fois que le fichier a été joué"
 
-#~ msgid "Select Playlist to add to '%s'"
-#~ msgstr "Sélectionner les listes de lecture à ajouter à '%s'"
+#: gtkpod.glade:13522
+msgid "Include broadcast date in track title"
+msgstr ""
 
-#~ msgid "Error opening MP3 file '%s'"
-#~ msgstr "Erreur a l'ouverture du fichier MP3 '%s'"
+#: gtkpod.glade:13542
+msgid "Set all podcast genres to 'Podcast'"
+msgstr ""
 
-#~ msgid "Free space on iPod"
-#~ msgstr "Espace libre sur l'iPod"
+#: gtkpod.glade:13588 gtkpod.glade:15341
+msgid "_Podcasts"
+msgstr ""
 
-#~ msgid "Time created"
-#~ msgstr "Créé le"
+#: gtkpod.glade:13753
+msgid ""
+"\n"
+"\n"
+msgstr ""
 
-#~ msgid "Time track has been created (timestamp of file)"
-#~ msgstr "Date où le fichier a été créé"
+#: gtkpod.glade:13787
+#, fuzzy
+msgid "Abort selected"
+msgstr "Aucun morceau sélectionné"
 
-#~ msgid "Created"
-#~ msgstr "Créé le"
+#: gtkpod.glade:13803
+msgid "Abort current"
+msgstr ""
 
-#~ msgid "'Created' condition ignored because of error."
-#~ msgstr "Condition 'Créé le' ignorée à cause d'une erreur."
+#: gtkpod.glade:13819
+msgid "Abort all"
+msgstr ""
 
-#~ msgid "Error writing iTunesDB to iPod. Export aborted!"
-#~ msgstr "Erreur lors de l'écriture de iTunesDB sur l'iPod. Export annulé!"
+#: gtkpod.glade:13843
+msgid "Details"
+msgstr ""
 
-#~ msgid "Extended information not written"
-#~ msgstr "Infos étendues non écrites"
+#: gtkpod.glade:13904
+#, fuzzy
+msgid "Cover"
+msgstr "Compositeur"
 
-#~ msgid "Total"
-#~ msgstr "Total"
+#: gtkpod.glade:13989
+msgid "Set Cover Art"
+msgstr ""
 
-#~ msgid "Could not open iTunesDB \"%s\" for reading.\n"
-#~ msgstr "Ne peut ouvrir en lecture le fichier iTunesDB \"%s\".\n"
+#: gtkpod.glade:14022
+msgid ""
+"If you check this, information (cover art and meta information) changed for "
+"this track will be copied to all other selected tracks as well. Use with "
+"care."
+msgstr ""
 
-#~ msgid "Error reading \"%s\".\n"
-#~ msgstr "Erreur de lecture du fichier \"%s\".\n"
+#: gtkpod.glade:14068
+msgid ""
+"Change all tracks\n"
+"simultaneously"
+msgstr ""
 
-#~ msgid "\"%s\" is not a iTunesDB.\n"
-#~ msgstr "\"%s\" n'est pas une base iTunesDB.\n"
+#: gtkpod.glade:14156
+msgid "Remove Cover Art"
+msgstr ""
 
-#~ msgid "Could not open iTunesDB \"%s\" for writing.\n"
-#~ msgstr "Ne peut ouvrir en écriture la base iTunesDB \"%s\".\n"
+#: gtkpod.glade:16245
+msgid "_Other"
+msgstr ""
 
-#~ msgid "Could not open file \"%s\" for reading.\n"
-#~ msgstr "Ne peut ouvrir en lecture le fichier \"%s\".\n"
+#: gtkpod.glade:16535
+msgid "_Undo All"
+msgstr ""
 
-#~ msgid "Could not open file \"%s\" for writing.\n"
-#~ msgstr "Ne peut ouvrir en écriture le fichier \"%s\".\n"
+#: gtkpod.glade:16605
+#, fuzzy
+msgid "_Undo Track"
+msgstr "Morceaux non notés"
 
-#~ msgid "Error reading file \"%s\".\n"
-#~ msgstr "Erreur de lecture du fichier \"%s\".\n"
+#~ msgid ""
+#~ "Icons of buttons were made by Nicolas Chariot.\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Les icônes des boutons ont été réalisées par Nicolas Chariot.\n"
+#~ "\n"
+#~ "\n"
 
-#~ msgid "Error writing PC file \"%s\".\n"
-#~ msgstr "Erreur d'écriture du fichier \"%s\".\n"
+#~ msgid "Settings are not saved.\n"
+#~ msgstr "Réglages non sauvés.\n"
 
-#~ msgid "Added %d+ tracks to playlist '%s'"
-#~ msgid_plural "Added %d+ tracks to playlist '%s'"
-#~ msgstr[0] "%d morceau ajouté à la liste de lecture '%s'"
-#~ msgstr[1] "%d morceaux ajoutés à la liste de lecture '%s'"
+#~ msgid "_Delete But Keep Tracks"
+#~ msgstr "S_upprimer mais garder les morceaux"
 
-#~ msgid " Format for time display:"
-#~ msgstr "Format d'affichage des durées:"
+#~ msgid "_Delete Completely From iPod"
+#~ msgstr "S_upprimer ainsi que les morceaux"
 
+#~ msgid " iPod Mount _Point:"
+#~ msgstr "_Point de montage de l'iPod :"
+
+#~ msgid "Import"
+#~ msgstr "Import"
+
+#~ msgid " _Charset (ID3, files): "
+#~ msgstr "Jeu de _caractères (ID3, fichiers) :"
+
 #~ msgid ""
-#~ "For a full description of options please see 'man 3 strftime'. Default "
-#~ "is: '%k:%M %d %b %g'."
+#~ "Use selected charset also when updating\n"
+#~ " or syncing tracks"
 #~ msgstr ""
-#~ "Pour une description complète des options, se référer à 'man 3 strftime'."
-#~ "Par défaut : '%k:%M %d %b %g'."
+#~ "Le jeu de caractères sélectionné sera utilisé pour la mise à jour ou la \n"
+#~ "synchronisation des morceaux"
+
+#~ msgid ""
+#~ "When adding dirs/files, update information of\n"
+#~ " existing tracks with identical filenames"
+#~ msgstr ""
+#~ "Lors de l'ajout de fichiers/répertoires, mettre à jour les informations "
+#~ "des\n"
+#~ " morceaux existants avec les doublons"
+
+#~ msgid "Confirm list of directories"
+#~ msgstr "Confirmer la liste des répertoires"
+
+#~ msgid "Adding/Updating/Syncing"
+#~ msgstr "Ajout/Mise à jour/Synchronisation"
+
+#~ msgid "Use this template to parse filename for tag information"
+#~ msgstr ""
+#~ "Utiliser ce masque pour générer les attributs à partir du nom de fichier"
+
+#~ msgid "Overwrite tags that are already set."
+#~ msgstr "Écraser les attributs déjà présents."
+
+#~ msgid ""
+#~ "As a last resort set the following tags to the filename if they are "
+#~ "(still) empty:"
+#~ msgstr ""
+#~ "Mettre un attribut par défaut au cas où les attributs restent vides après "
+#~ "l'extraction à partir du nom de fichier :"
+
+#~ msgid "Tag Reading"
+#~ msgstr "Lecture des tags"
+
+#~ msgid "Use mserv database to fill in additional information"
+#~ msgstr "Utiliser la base mserv pour remplir les autres informations"
+
+#~ msgid "Music Root: "
+#~ msgstr "Rép. de musique :"
+
+#~ msgid "..."
+#~ msgstr "..."
+
+#~ msgid "mserv Root: "
+#~ msgstr "Racine mserv :"
+
+#~ msgid "mserv"
+#~ msgstr "mserv"
+
+#~ msgid "Sync (Writing of iTunesDB)"
+#~ msgstr "Synchronisation (Écriture de iTunesDB)"
+
+#~ msgid "_Input/Output"
+#~ msgstr "Entrée/_Sortie"
+
+#~ msgid "Relative volume adjustment between -100 and +100"
+#~ msgstr "Ajustement relatif du volume entre -100 et +100"
+
+#~ msgid "Displayed Track Attributes "
+#~ msgstr "Attributs des morceaux affichés"
+
+#~ msgid " _Number of sort tabs: "
+#~ msgstr "_Nombre de zones de tri :"
+
+#~ msgid "Sort Tabs"
+#~ msgstr "Zones de tri"
+
+#~ msgid "Toolbar"
+#~ msgstr "Barre d'outils"
+
+#~ msgid "Tooltips"
+#~ msgstr "Infobulles"
+
+#~ msgid "Sorting"
+#~ msgstr "Tri"
+
+#~ msgid "Misc"
+#~ msgstr "Divers"
+
+#~ msgid ""
+#~ "Use selected charset (on the 'Import' page)\n"
+#~ " when writing tags"
+#~ msgstr ""
+#~ "Utiliser le jeu de caractère sélectionné (sur l'onglet 'Import') pour "
+#~ "l'écriture des tags"
+
+#~ msgid "Use 'Multi-Edit' for track selections"
+#~ msgstr "Utiliser «Édition multiple» pour les morceaux sélectionnés"
+
+#~ msgid "Track Editing"
+#~ msgstr "Édition de morceau"
+
+#~ msgid " Number of tracks in generated playlists: "
+#~ msgstr " Nombre de morceaux dans les listes de lecture générées : "
+
+#~ msgid "Auto-Generated Playlists"
+#~ msgstr "Listes de lecture générées automatiquement"
+
+#~ msgid "Before removing tracks completely from the iPod"
+#~ msgstr "Avant de supprimer complètement les morceaux de l'iPod"
+
+#~ msgid ""
+#~ "This option only has a meaning if you activate the 'Delete Tracks that "
+#~ "have been Removed' option in the 'Adding/Updating/Syncing' section in the "
+#~ "'Input/Output' tab."
+#~ msgstr ""
+#~ "Cette option n'a de sens que si vous avez activé l'option 'Effacer les "
+#~ "morceaux qui ont été enlevés' dans la section 'Ajout/Mise à jour/"
+#~ "Synchronisation' de l'onglet 'Entrée/Sortie'."
+
+#~ msgid ""
+#~ "Before removing tracks completely when\n"
+#~ " synchronizing directories"
+#~ msgstr ""
+#~ "Avant de supprimer complètement les morceaux lors des synchronisations "
+#~ "des\n"
+#~ "répertoires"
+
+#~ msgid "Delete Confirmation "
+#~ msgstr "Confirmation de suppression"
+
+#~ msgid "Command Line for 'Play Now':"
+#~ msgstr "Ligne de commande pour «Jouer maintenant» :"
+
+#~ msgid "Command Line for 'Enqueue':"
+#~ msgstr "Ligne de commande pour «Mettre dans la file d'attente» :"
+
+#~ msgid "Track Playing"
+#~ msgstr "Lecture des morceaux"
+
+#~ msgid "Exact path for the 'mp3gain' executable:"
+#~ msgstr "Chemin de l'exécutable «mp3gain» :"
+
+#~ msgid "Volume Normalization"
+#~ msgstr "Normalisation du volume"
+
+#~ msgid "Command to synchronize contacts:"
+#~ msgstr "Ligne de commande pour synchroniser les contacts :"
+
+#~ msgid "Command to be called to synchronize calendar:"
+#~ msgstr "Ligne de commande pour synchroniser le calendrier :"
+
+#~ msgid "Command to be called to synchronize notes:"
+#~ msgstr "Ligne de commande pour synchroniser les notes :"
+
+#~ msgid "Contacts / Calendar / Notes"
+#~ msgstr "Contacts / Calendrier / Notes"
+
+#~ msgid ""
+#~ "Notice: the track order is always stored to the iPod when you use drag "
+#~ "and drop to re-arrange the tracks.\n"
+#~ "In order to store an alphabetized track order to the iPod you must choose "
+#~ "the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto "
+#~ "Store' above."
+#~ msgstr ""
+#~ "Note : l'ordre des morceaux est toujours enregistré sur l'iPod lors du "
+#~ "glisser/déposer utiliser pour les réarranger.\n"
+#~ "Afin de trier par ordre alphabétique sur l'iPod, vous devez cliquer sur "
+#~ "le menu 'Édition' puis 'Sauver l'ordre de tri des morceaux affichés' ou "
+#~ "l'option 'Sauver automatiquement' ci-dessus."
+
+#~ msgid "Reading"
+#~ msgstr "Lecture"
+
+#~ msgid "Display"
+#~ msgstr "_Affichage"
+
+#~ msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
+#~ msgstr "Erreur de flux à l'offset %ld (longueur %ld) dans le fichier «%s»."
+
+#~ msgid "Not a Play Counts file: '%s' (missing mhdp header)."
+#~ msgstr "«%s» n»est pas un fichier de compteurs (entête mhdp manquant)"
+
+#~ msgid ""
+#~ "Play Counts file ('%s'): header length smaller than expected (%d<96)."
+#~ msgstr ""
+#~ "Fichier de compteurs ('%s') : longueur de l'entête plus petite que prévue "
+#~ "(%d<96)."
+
+#~ msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
+#~ msgstr ""
+#~ "Fichier de compteur ('%s') : longueur des données plus petite que prévue "
+#~ "(%d<12)."
+
+#~ msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
+#~ msgstr "Corruption d'iTunesDB : pas de MHOD à l'offset %ld du fichier «%s»."
+
+#~ msgid ""
+#~ "Length of smart playlist rule field (%d) not as expected. Trying to "
+#~ "continue anyhow.\n"
+#~ msgstr ""
+#~ "Longueur du champ de la règle (%d) de la liste intelligente inattendue. "
+#~ "Tentative pour continuer quand même.\n"
+
+#~ msgid "Did not find SLst hunk as expected. Trying to continue.\n"
+#~ msgstr ""
+#~ "Ne peut trouver le SLst attendu. Tentative pour continuer quand même.\n"
+
+#~ msgid ""
+#~ "Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Type MHOD inconnu (%d) lors du parcours de iTunesDB. Ignorance de "
+#~ "l'erreur.\n"
+
+#~ msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
+#~ msgstr "Corruption d'iTunesDB : longueur 0 à %ld du fichier «%s»."
+
+#~ msgid "Master-PL"
+#~ msgstr "Liste principale"
+
+#~ msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
+#~ msgstr "Corruption d'iTunesDB : trouvé mhyp à %ld du fichier «%s»."
+
+#~ msgid "Itdb_Track ID '%d' not found.\n"
+#~ msgstr "Itdb_Track ID «%d» non trouvé.\n"
+
+#~ msgid "OTG Playlist"
+#~ msgstr "Liste de lecture OTG"
+
+#~ msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
+#~ msgstr ""
+#~ "Le fichier '%s' n'est pas un fichier de liste OTG (entête mhpo manquant)."
+
+#~ msgid ""
+#~ "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
+#~ msgstr "Fichier de liste OTG («%s») : entête plus petit que prévu (%d<20)."
+
+#~ msgid ""
+#~ "OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
+#~ msgstr ""
+#~ "Fichier de liste OTG ('%s') : longueur de données plus petite que prévue "
+#~ "(%d<4)."
+
+#~ msgid "OTG playlist file '%s': reference to non-existent track (%d)."
+#~ msgstr "Fichier de liste OTG «%s» : référence à un morceau inexistant (%d)."
+
+#~ msgid "OTG Playlist %d"
+#~ msgstr "Liste de lecture OTG %d"
+
+#~ msgid "Not a iTunesDB: '%s' (missing mhdb header)."
+#~ msgstr "«%s» n»est pas un fichier iTunesDB (entête mhdb manquante)"
+
+#~ msgid ""
+#~ "iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%"
+#~ "ld<32). Aborting."
+#~ msgstr ""
+#~ "iTunesDB ('%s') : longueur de l'entête mhsd plus petite que prévue (%"
+#~ "ld<32). Interruption."
+
+#~ msgid ""
+#~ "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
+#~ msgstr ""
+#~ "Corruption de iTunesDB ('%s') : déjà trouvés deux listes mhsds -- abandon."
+
+#~ msgid ""
+#~ "iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
+#~ "Trying to continue.\n"
+#~ msgstr ""
+#~ "Corruption possible de iTunesDB : nombre de fichiers (mhit) incohérent. "
+#~ "Tentative pour continuer quand même.\n"
+
+#~ msgid ""
+#~ "iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
+#~ "Trying to continue.\n"
+#~ msgstr ""
+#~ "Corruption possible d'iTunesDB : nombre de listes (mhyp) incohérent. "
+#~ "Tentative pour continuer quand même.\n"
+
+#~ msgid "File not found: '%s'."
+#~ msgstr "Fichier introuvable : «%s»."
+
+#~ msgid "Cannot write mhod of type %d\n"
+#~ msgstr "Impossible d'écrire mhod du type %d\n"
+
+#~ msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
+#~ msgstr ""
+#~ "Base de données en mémoire corrompue (track pointer == NULL). Abandon de "
+#~ "l'export."
+
+#~ msgid ""
+#~ "Database in memory corrupt (playlist pointer == NULL). Aborting export."
+#~ msgstr ""
+#~ "Base de données en mémoire corrompue (playlist pointer == NULL). Abandon "
+#~ "de l'export."
+
+#~ msgid "Opening of '%s' for writing failed."
+#~ msgstr "Échec de l'ouverture en écriture de «%s»."
+
+#~ msgid "Writing to '%s' failed."
+#~ msgstr "Erreur d'écriture du fichier «%s»."
+
+#~ msgid "Writing to '%s' failed (%s)."
+#~ msgstr "Échec de l'écriture dans «%s» (%s)."
+
+#~ msgid "Path not found: '%s'."
+#~ msgstr "Chemin non trouvé : «%s»."
+
+#~ msgid "Error renaming '%s' to '%s' (%s)."
+#~ msgstr "Impossible de renommer «%s» en «%s» (%s)."
+
+#~ msgid "Error removing '%s' (%s)."
+#~ msgstr "Erreur de suppression du fichier «%s» (%s)."
+
+#~ msgid "Error opening '%s' for reading (%s)."
+#~ msgstr "Ne peut ouvrir en lecture le fichier «%s» (%s)."
+
+#~ msgid "Error opening '%s' for writing (%s)."
+#~ msgstr "Ne peut ouvrir en écriture le fichier «%s» (%s)."
+
+#~ msgid "Error while reading from '%s' (%s)."
+#~ msgstr "Erreur lors de la lecture à partir de : %s (%s)."
+
+#~ msgid "Error while writing to '%s' (%s)."
+#~ msgstr "Erreur d'écriture dans «%s» (%s)."
+
+#~ msgid "Error when closing '%s' (%s)."
+#~ msgstr "Erreur à la fermeture «%s» (%s)."
+
+#~ msgid "Unknown action (%d) in smart playlist will be ignored.\n"
+#~ msgstr "L'action inconnue (%d) dans la liste intelligente sera ignorée.\n"

Modified: gtkpod/trunk/po/gtkpod.pot
===================================================================
--- gtkpod/trunk/po/gtkpod.pot	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/gtkpod.pot	2005-12-30 07:31:41 UTC (rev 94)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-16 16:18+0900\n"
+"POT-Creation-Date: 2005-12-14 23:51+0900\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -230,173 +230,235 @@
 "Another instance of gtkpod was detected. Playcount server not started.\n"
 msgstr ""
 
-#: src/confirmation.c:363
+#: src/confirmation.c:361
 msgid "Confirmation Dialogue"
 msgstr ""
 
-#: src/context_menus.c:299
+#: src/context_menus.c:368 gtkpod.glade:530
 msgid "Edit"
 msgstr ""
 
-#: src/context_menus.c:301 src/tools.c:634
+#: src/context_menus.c:370 src/tools.c:634
 msgid "Play Now"
 msgstr ""
 
-#: src/context_menus.c:303 src/tools.c:645
+#: src/context_menus.c:372 src/tools.c:645
 msgid "Enqueue"
 msgstr ""
 
-#: src/context_menus.c:306
+#: src/context_menus.c:375
 msgid "Export Tracks"
 msgstr ""
 
-#: src/context_menus.c:308 src/file_export.c:1091
+#: src/context_menus.c:377 src/file_export.c:1069
 msgid "Create Playlist File"
 msgstr ""
 
-#: src/context_menus.c:310
+#: src/context_menus.c:379
+msgid "Edit Details"
+msgstr ""
+
+#: src/context_menus.c:381 gtkpod.glade:12816
 msgid "Update"
 msgstr ""
 
-#: src/context_menus.c:312
+#: src/context_menus.c:383
 msgid "Sync Dirs"
 msgstr ""
 
-#: src/context_menus.c:314
+#: src/context_menus.c:385
 msgid "Normalize"
 msgstr ""
 
-#: src/context_menus.c:316
+#: src/context_menus.c:387
 msgid "Create new Playlist"
 msgstr ""
 
-#: src/context_menus.c:319
+#: src/context_menus.c:390
 msgid "Edit Smart Playlist"
 msgstr ""
 
-#: src/context_menus.c:325
+#: src/context_menus.c:396
 msgid "Alphabetize"
 msgstr ""
 
-#: src/context_menus.c:347
+#: src/context_menus.c:420
 msgid "Delete From iPod"
 msgstr ""
 
-#: src/context_menus.c:352
+#: src/context_menus.c:426
 msgid "Delete From Harddisk"
 msgstr ""
 
-#: src/context_menus.c:357
+#: src/context_menus.c:432
 msgid "Delete From Database"
 msgstr ""
 
-#: src/context_menus.c:362
+#: src/context_menus.c:438
 msgid "Delete From Playlist"
 msgstr ""
 
-#: src/context_menus.c:371
+#: src/context_menus.c:457
 msgid "Delete Including Tracks"
 msgstr ""
 
-#: src/context_menus.c:376
+#: src/context_menus.c:463
 msgid "Delete Including Tracks (Harddisk)"
 msgstr ""
 
-#: src/context_menus.c:381
+#: src/context_menus.c:469
 msgid "Delete Including Tracks (Database)"
 msgstr ""
 
-#: src/context_menus.c:386
+#: src/context_menus.c:475
 msgid "Delete But Keep Tracks"
 msgstr ""
 
-#: src/context_menus.c:391
+#: src/context_menus.c:481
 msgid "Remove All Tracks from iPod"
 msgstr ""
 
-#: src/context_menus.c:396
+#: src/context_menus.c:487
 msgid "Remove All Tracks from Database"
 msgstr ""
 
+#: src/context_menus.c:494
+msgid "Remove All Podcasts from iPod"
+msgstr ""
+
+#: src/context_menus.c:505 gtkpod.glade:156
+msgid "Update Podcasts"
+msgstr ""
+
+#: src/context_menus.c:512
+msgid "Podcasts Preferences"
+msgstr ""
+
 #: src/date_parser.l:269
 #, c-format
 msgid "Date format error: unrecognized character: '%s'\n"
 msgstr ""
 
-#: src/display.c:876
-msgid "Currently no iPod database selected"
+#: src/details.c:1035 gtkpod.glade:4365
+msgid "n/a"
 msgstr ""
 
-#: src/display.c:904 src/display.c:931
-msgid "Update selected entry of which sort tab?"
+#: src/details.c:1099
+msgid "<b>n/a</b>"
 msgstr ""
 
-#: src/display.c:950
-msgid "Sync dirs of selected entry in which sort tab?"
+#: src/display.c:924 src/display.c:1022 src/display.c:1071 src/display.c:1302
+#: src/display.c:1358 src/display.c:1413 src/display.c:1464 src/display.c:1628
+#: src/misc_playlist.c:274
+msgid "No playlist selected"
 msgstr ""
 
-#: src/display.c:1004 src/display.c:1060 src/display.c:1115 src/display.c:1166
-#: src/display.c:1330 src/misc_playlist.c:274
-msgid "No playlist selected"
+#: src/display.c:934
+msgid "Edit selected entry of which sort tab?"
 msgstr ""
 
-#: src/display.c:1018
-msgid "Export selected entry of which sort tab?"
+#. no entry selected
+#: src/display.c:941 src/misc_confirm.c:441 src/misc_track.c:1482
+msgid "No entry selected."
 msgstr ""
 
-#: src/display.c:1024 src/display.c:1080 src/display.c:1132 src/display.c:1183
-#: src/display.c:1352
+#: src/display.c:960 src/display.c:1040 src/display.c:1345 src/display.c:1401
+#: src/display.c:1452 src/display.c:1503
+msgid "No tracks selected"
+msgstr ""
+
+#: src/display.c:1056 src/display.c:1322 src/display.c:1378 src/display.c:1430
+#: src/display.c:1481 src/display.c:1650
 #, c-format
 msgid "No entry selected in Sort Tab %d"
 msgstr ""
 
-#: src/display.c:1047 src/display.c:1103 src/display.c:1154 src/display.c:1205
-msgid "No tracks selected"
+#: src/display.c:1095
+msgid "Remove entry of which sort tab from database?"
 msgstr ""
 
-#: src/display.c:1074
+#: src/display.c:1103
+msgid "Remove tracks in selected entry of which filter tab from the iPod?"
+msgstr ""
+
+#: src/display.c:1125
+msgid "Remove tracks in selected entry of which filter tab from the harddisk?"
+msgstr ""
+
+#: src/display.c:1155
+msgid "Remove tracks in selected entry of which filter tab from playlist?"
+msgstr ""
+
+#: src/display.c:1174
+msgid "Currently no iPod database selected"
+msgstr ""
+
+#: src/display.c:1202 src/display.c:1229
+msgid "Update selected entry of which sort tab?"
+msgstr ""
+
+#: src/display.c:1248
+msgid "Sync dirs of selected entry in which sort tab?"
+msgstr ""
+
+#: src/display.c:1316
+msgid "Export selected entry of which sort tab?"
+msgstr ""
+
+#: src/display.c:1372
 msgid "Create playlist file from selected entry of which sort tab?"
 msgstr ""
 
-#: src/display.c:1126
+#: src/display.c:1424
 msgid "Play tracks in selected entry of which sort tab?"
 msgstr ""
 
-#: src/display.c:1177
+#: src/display.c:1475
 msgid "Enqueue tracks in selected entry of which sort tab?"
 msgstr ""
 
-#: src/display.c:1342
+#: src/display.c:1640
 msgid "Normalize tracks in selected entry of which sort tab?"
 msgstr ""
 
-#: src/display_itdb.c:691 src/display_itdb.c:758
+#: src/display_itdb.c:319
+#, c-format
+msgid "Failed to set cover art: '%s'"
+msgstr ""
+
+#. add podcast playlist
+#: src/display_itdb.c:843 src/display_itdb.c:871 src/display_itdb.c:975
+#: gtkpod.glade:13668
+msgid "Podcasts"
+msgstr ""
+
+#: src/display_itdb.c:845 src/display_itdb.c:941
 msgid "Local"
 msgstr ""
 
-#: src/display_itdb.c:863
+#: src/display_itdb.c:1081
 #, c-format
 msgid "Increased playcount for '%s'"
 msgstr ""
 
 #. give a notice on the statusbar -- otherwise the user
 #. * will never know why the drag is not possible
-#: src/display_playlists.c:494 src/display_playlists.c:536
+#: src/display_playlists.c:498 src/display_playlists.c:540
 msgid "Error: drag from iPod not possible in offline mode."
 msgstr ""
 
-#: src/display_playlists.c:563 src/display_songs.c:283
+#: src/display_playlists.c:567 src/display_songs.c:285
 #, c-format
 msgid "Copied one track"
 msgid_plural "Copied %d tracks"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/display_playlists.c:852
+#: src/display_playlists.c:856
 msgid "Can't reorder sorted treeview."
 msgstr ""
 
-#: src/display_playlists.c:943
+#: src/display_playlists.c:947
 #, c-format
 msgid ""
 "This DND type (%d) is not (yet) supported. If you feel implementing this "
@@ -404,22 +466,18 @@
 "\n"
 msgstr ""
 
-#: src/display_playlists.c:1811 gtkpod.glade:7815 gtkpod.glade:9389
+#: src/display_playlists.c:1830 gtkpod.glade:3997
 msgid "Playlists"
 msgstr ""
 
-#: src/display_songs.c:278
+#: src/display_songs.c:280
 #, c-format
 msgid "Moved one track"
 msgid_plural "Moved %d tracks"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/display_songs.c:1119
-msgid "Local Database"
-msgstr ""
-
-#: src/display_songs.c:1796
+#: src/display_songs.c:1669
 #, c-format
 msgid ""
 "Cannot unsort track view because of a bug in the GTK lib you are using (%d.%"
@@ -428,56 +486,64 @@
 "\n"
 msgstr ""
 
-#: src/display_songs.c:1985
+#: src/display_songs.c:1922
+msgid "Rtng"
+msgstr ""
+
+#: src/display_songs.c:1925
 msgid "#"
 msgstr ""
 
-#: src/display_songs.c:1988
+#: src/display_songs.c:1928
 msgid "CD"
 msgstr ""
 
-#: src/display_songs.c:1991
+#: src/display_songs.c:1931
 msgid "ID"
 msgstr ""
 
-#: src/display_songs.c:1999
+#: src/display_songs.c:1934
 msgid "Trnsfrd"
 msgstr ""
 
-#: src/display_songs.c:2004
+#: src/display_songs.c:1938
 msgid "Cmpl"
 msgstr ""
 
-#: src/display_songs.c:2012 src/display_spl.c:93
+#: src/display_songs.c:1942 src/display_spl.c:94
 msgid "Time"
 msgstr ""
 
-#: src/display_songs.c:2016
+#: src/display_songs.c:1945
 msgid "Plycnt"
 msgstr ""
 
-#: src/display_songs.c:2019 gtkpod.glade:6251
+#: src/display_songs.c:1948 gtkpod.glade:2433
 msgid "Played"
 msgstr ""
 
-#: src/display_songs.c:2022 gtkpod.glade:6274
+#: src/display_songs.c:1951 gtkpod.glade:2456
 msgid "Modified"
 msgstr ""
 
-#: src/display_songs.c:2025 src/display_sorttabs.c:3040 gtkpod.glade:6369
+#: src/display_songs.c:1954 src/display_sorttabs.c:3117 gtkpod.glade:2551
 msgid "Added"
 msgstr ""
 
-#: src/display_songs.c:2028 src/display_sorttabs.c:2785 src/display_spl.c:87
+#: src/display_songs.c:1957
+msgid "Released"
+msgstr ""
+
+#: src/display_songs.c:1960 src/display_sorttabs.c:2856 src/display_spl.c:88
 #: src/misc_conversion.c:85
 msgid "Year"
 msgstr ""
 
-#: src/display_songs.c:2031
+#: src/display_songs.c:1963
 msgid "Vol."
 msgstr ""
 
-#: src/display_songs.c:2034
+#: src/display_songs.c:1966
 msgid "Sndchk."
 msgstr ""
 
@@ -493,401 +559,404 @@
 msgid "'Added' condition ignored because of error."
 msgstr ""
 
-#: src/display_sorttabs.c:1465 src/misc_conversion.c:60
+#: src/display_sorttabs.c:1492 src/misc_conversion.c:60
 msgid "All"
 msgstr ""
 
-#: src/display_sorttabs.c:2770 src/display_spl.c:84 src/misc_conversion.c:62
-#: gtkpod.glade:2579 gtkpod.glade:13823
+#: src/display_sorttabs.c:1518
+msgid "Compilations"
+msgstr ""
+
+#: src/display_sorttabs.c:2841 src/display_spl.c:85 src/misc_conversion.c:62
+#: gtkpod.glade:8709
 msgid "Artist"
 msgstr ""
 
 #. 0
-#: src/display_sorttabs.c:2773 src/display_spl.c:83 src/misc_conversion.c:61
-#: gtkpod.glade:2630 gtkpod.glade:13867
+#: src/display_sorttabs.c:2844 src/display_spl.c:84 src/misc_conversion.c:61
+#: gtkpod.glade:8753
 msgid "Album"
 msgstr ""
 
-#: src/display_sorttabs.c:2776 src/display_spl.c:88 src/misc_conversion.c:64
-#: gtkpod.glade:2598 gtkpod.glade:13845
+#: src/display_sorttabs.c:2847 src/display_spl.c:89 src/misc_conversion.c:64
+#: gtkpod.glade:8731
 msgid "Genre"
 msgstr ""
 
-#: src/display_sorttabs.c:2779
+#: src/display_sorttabs.c:2850
 msgid "Comp."
 msgstr ""
 
-#: src/display_sorttabs.c:2782 src/display_spl.c:82 src/misc_conversion.c:63
-#: gtkpod.glade:2681 gtkpod.glade:13911
+#: src/display_sorttabs.c:2853 src/display_spl.c:83 src/misc_conversion.c:63
+#: gtkpod.glade:8797
 msgid "Title"
 msgstr ""
 
-#: src/display_sorttabs.c:2788
+#: src/display_sorttabs.c:2859
 msgid "Special"
 msgstr ""
 
-#: src/display_sorttabs.c:3038
+#: src/display_sorttabs.c:3115
 msgid "Last Played"
 msgstr ""
 
-#: src/display_sorttabs.c:3039
+#: src/display_sorttabs.c:3116
 msgid "Last Modified"
 msgstr ""
 
-#: src/display_spl.c:63
+#: src/display_spl.c:64
 msgid "days"
 msgstr ""
 
-#: src/display_spl.c:64
+#: src/display_spl.c:65
 msgid "weeks"
 msgstr ""
 
-#: src/display_spl.c:65
+#: src/display_spl.c:66
 msgid "months"
 msgstr ""
 
-#: src/display_spl.c:72
+#: src/display_spl.c:73
 msgid "kbps"
 msgstr ""
 
-#: src/display_spl.c:73
+#: src/display_spl.c:74
 msgid "Hz"
 msgstr ""
 
-#: src/display_spl.c:74 src/display_spl.c:159 src/info.c:725
+#: src/display_spl.c:75 src/display_spl.c:160 src/info.c:732
 msgid "MB"
 msgstr ""
 
-#: src/display_spl.c:75
+#: src/display_spl.c:76
 msgid "secs"
 msgstr ""
 
-#: src/display_spl.c:85 src/misc_conversion.c:75
+#: src/display_spl.c:86 src/misc_conversion.c:75
 msgid "Bitrate"
 msgstr ""
 
 #. 15
-#: src/display_spl.c:86 src/misc_conversion.c:76
+#: src/display_spl.c:87 src/misc_conversion.c:76
 msgid "Samplerate"
 msgstr ""
 
-#: src/display_spl.c:89 src/misc_conversion.c:67
+#: src/display_spl.c:90
 msgid "Kind"
 msgstr ""
 
-#: src/display_spl.c:90 src/misc_conversion.c:82
+#: src/display_spl.c:91 src/misc_conversion.c:82
 msgid "Date modified"
 msgstr ""
 
-#: src/display_spl.c:91
+#: src/display_spl.c:92
 msgid "Track number"
 msgstr ""
 
-#: src/display_spl.c:92
+#: src/display_spl.c:93
 msgid "Size"
 msgstr ""
 
-#: src/display_spl.c:94 src/misc_conversion.c:65
+#: src/display_spl.c:95 src/misc_conversion.c:65
 msgid "Comment"
 msgstr ""
 
-#: src/display_spl.c:95 src/misc_conversion.c:80
+#: src/display_spl.c:96 src/misc_conversion.c:80
 msgid "Date added"
 msgstr ""
 
 #. 5
-#: src/display_spl.c:96 src/misc_conversion.c:66 gtkpod.glade:2649
-#: gtkpod.glade:13889
+#: src/display_spl.c:97 src/misc_conversion.c:66 gtkpod.glade:8775
 msgid "Composer"
 msgstr ""
 
-#: src/display_spl.c:97 src/misc_conversion.c:78 gtkpod.glade:6205
+#: src/display_spl.c:98 src/misc_conversion.c:78 gtkpod.glade:2387
 msgid "Playcount"
 msgstr ""
 
-#: src/display_spl.c:98
+#: src/display_spl.c:99
 msgid "Last played"
 msgstr ""
 
-#: src/display_spl.c:99
+#: src/display_spl.c:100
 msgid "Disc number"
 msgstr ""
 
-#: src/display_spl.c:100 src/misc_conversion.c:79 gtkpod.glade:6228
+#: src/display_spl.c:101 src/misc_conversion.c:79 gtkpod.glade:2410
 msgid "Rating"
 msgstr ""
 
-#: src/display_spl.c:101 src/misc_conversion.c:88
+#: src/display_spl.c:102 src/misc_conversion.c:88
 msgid "Compilation"
 msgstr ""
 
-#: src/display_spl.c:102 src/misc_conversion.c:77
+#: src/display_spl.c:103 src/misc_conversion.c:77
 msgid "BPM"
 msgstr ""
 
-#: src/display_spl.c:103 src/misc_conversion.c:87
+#: src/display_spl.c:104 src/misc_conversion.c:87
 msgid "Grouping"
 msgstr ""
 
-#: src/display_spl.c:104 src/itdb_itunesdb.c:1146 gtkpod.glade:1314
+#: src/display_spl.c:105 gtkpod.glade:1443
 msgid "Playlist"
 msgstr ""
 
-#: src/display_spl.c:110
+#: src/display_spl.c:111
 msgid "contains"
 msgstr ""
 
-#: src/display_spl.c:111
+#: src/display_spl.c:112
 msgid "does not contain"
 msgstr ""
 
-#: src/display_spl.c:112 src/display_spl.c:121 src/display_spl.c:131
-#: src/display_spl.c:150
+#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
+#: src/display_spl.c:151
 msgid "is"
 msgstr ""
 
-#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
-#: src/display_spl.c:151
+#: src/display_spl.c:114 src/display_spl.c:123 src/display_spl.c:133
+#: src/display_spl.c:152
 msgid "is not"
 msgstr ""
 
-#: src/display_spl.c:114
+#: src/display_spl.c:115
 msgid "starts with"
 msgstr ""
 
-#: src/display_spl.c:115
+#: src/display_spl.c:116
 msgid "ends with"
 msgstr ""
 
-#: src/display_spl.c:123
+#: src/display_spl.c:124
 msgid "is greater than"
 msgstr ""
 
-#: src/display_spl.c:124
+#: src/display_spl.c:125
 msgid "is less than"
 msgstr ""
 
-#: src/display_spl.c:125 src/display_spl.c:137
+#: src/display_spl.c:126 src/display_spl.c:138
 msgid "is in the range"
 msgstr ""
 
-#: src/display_spl.c:133
+#: src/display_spl.c:134
 msgid "is after"
 msgstr ""
 
-#: src/display_spl.c:134
+#: src/display_spl.c:135
 msgid "is before"
 msgstr ""
 
-#: src/display_spl.c:135
+#: src/display_spl.c:136
 msgid "in the last"
 msgstr ""
 
-#: src/display_spl.c:136
+#: src/display_spl.c:137
 msgid "not in the last"
 msgstr ""
 
-#: src/display_spl.c:143
+#: src/display_spl.c:144
 msgid "is set"
 msgstr ""
 
-#: src/display_spl.c:144
+#: src/display_spl.c:145
 msgid "is not set"
 msgstr ""
 
-#: src/display_spl.c:158
+#: src/display_spl.c:159
 msgid "minutes"
 msgstr ""
 
-#: src/display_spl.c:160
+#: src/display_spl.c:161
 msgid "tracks"
 msgstr ""
 
-#: src/display_spl.c:161
+#: src/display_spl.c:162
 msgid "hours"
 msgstr ""
 
-#: src/display_spl.c:162 src/info.c:725
+#: src/display_spl.c:163 src/info.c:732
 msgid "GB"
 msgstr ""
 
-#: src/display_spl.c:169
+#: src/display_spl.c:170
 msgid "random order"
 msgstr ""
 
-#: src/display_spl.c:170
+#: src/display_spl.c:171
 msgid "title"
 msgstr ""
 
-#: src/display_spl.c:171
+#: src/display_spl.c:172
 msgid "album"
 msgstr ""
 
-#: src/display_spl.c:172
+#: src/display_spl.c:173
 msgid "artist"
 msgstr ""
 
-#: src/display_spl.c:173
+#: src/display_spl.c:174
 msgid "genre"
 msgstr ""
 
-#: src/display_spl.c:174
+#: src/display_spl.c:175
 msgid "most recently added"
 msgstr ""
 
-#: src/display_spl.c:175
+#: src/display_spl.c:176
 msgid "least recently added"
 msgstr ""
 
-#: src/display_spl.c:176
+#: src/display_spl.c:177
 msgid "most often played"
 msgstr ""
 
-#: src/display_spl.c:177
+#: src/display_spl.c:178
 msgid "least often played"
 msgstr ""
 
-#: src/display_spl.c:178
+#: src/display_spl.c:179
 msgid "most recently played"
 msgstr ""
 
-#: src/display_spl.c:179
+#: src/display_spl.c:180
 msgid "least recently played"
 msgstr ""
 
-#: src/display_spl.c:180
+#: src/display_spl.c:181
 msgid "highest rating"
 msgstr ""
 
-#: src/display_spl.c:181
+#: src/display_spl.c:182
 msgid "lowest rating"
 msgstr ""
 
-#: src/display_spl.c:995 src/display_spl.c:1010
+#: src/display_spl.c:1049 src/display_spl.c:1064
 msgid "to"
 msgstr ""
 
-#: src/display_spl.c:1220
+#: src/display_spl.c:1276
 msgid "-"
 msgstr ""
 
-#: src/display_spl.c:1227
+#: src/display_spl.c:1286
 msgid "+"
 msgstr ""
 
-#: src/display_spl.c:1433 src/misc_playlist.c:67 src/misc_playlist.c:69
+#: src/display_spl.c:1503 src/misc_playlist.c:67 src/misc_playlist.c:69
 #: src/misc_playlist.c:94 src/misc_playlist.c:96 src/misc_playlist.c:415
 #: src/misc_playlist.c:417
 msgid "New Playlist"
 msgstr ""
 
-#: src/file.c:129
+#: src/file.c:195
 #, c-format
 msgid ""
 "'%s' is a directory, not a playlist file.\n"
 "\n"
 msgstr ""
 
-#: src/file.c:151
+#: src/file.c:222
 #, c-format
 msgid ""
 "'%s' is a not a known playlist file.\n"
 "\n"
 msgstr ""
 
-#: src/file.c:168
+#: src/file.c:239
 #, c-format
 msgid ""
 "Cannot open '%s' for reading.\n"
 "\n"
 msgstr ""
 
-#: src/file.c:237
+#: src/file.c:322
 #, c-format
 msgid "Skipping '%s' because it is a directory.\n"
 msgstr ""
 
-#: src/file.c:242
+#: src/file.c:327
 #, c-format
 msgid "Skipping '%s' to avoid adding playlist file recursively\n"
 msgstr ""
 
-#: src/file.c:497
+#: src/file.c:582
 #, c-format
 msgid "Unknown token '%s' in template '%s'\n"
 msgstr ""
 
-#: src/file.c:715
+#: src/file.c:815
 #, c-format
 msgid "Local filename not valid (%s)"
 msgstr ""
 
-#: src/file.c:768
+#: src/file.c:868
 #, c-format
 msgid "No information found for user '%s' in '%s'"
 msgstr ""
 
-#: src/file.c:775
+#: src/file.c:875
 #, c-format
 msgid "mserv data file (%s) not available for track (%s)"
 msgstr ""
 
-#: src/file.c:783
+#: src/file.c:883
 #, c-format
 msgid "Track (%s) not in mserv music root directory (%s)"
 msgstr ""
 
-#: src/file.c:816
+#: src/file.c:988
 #, c-format
 msgid ""
 "The following track could not be processed (file does not exist): '%s'\n"
 msgstr ""
 
-#: src/file.c:842
+#: src/file.c:1037
 #, c-format
 msgid "The following track could not be processed (filetype unknown): '%s'\n"
 msgstr ""
 
-#: src/file.c:909
+#: src/file.c:1119
 #, c-format
 msgid ""
 "The following track could not be processed (filetype is known but analysis "
 "failed): '%s'\n"
 msgstr ""
 
-#: src/file.c:935 src/file.c:978
+#: src/file.c:1148 src/file.c:1203
 msgid "Nothing to update"
 msgstr ""
 
-#: src/file.c:944
+#: src/file.c:1168
 #, c-format
 msgid "Updating %s"
 msgstr ""
 
-#: src/file.c:959
+#: src/file.c:1184
 msgid "Updated selected tracks with info from file."
 msgstr ""
 
-#: src/file.c:991
+#: src/file.c:1216
 #, c-format
 msgid "Retrieving mserv data %s"
 msgstr ""
 
 #. no path available
-#: src/file.c:997 src/file.c:1675
+#: src/file.c:1222 src/file.c:1900
 msgid "no filename available"
 msgstr ""
 
-#: src/file.c:1002
+#: src/file.c:1227
 msgid "Updated selected tracks with data from mserv."
 msgstr ""
 
-#: src/file.c:1069
+#: src/file.c:1294
 #, c-format
 msgid "Syncing directory '%s'"
 msgstr ""
 
-#: src/file.c:1094
+#: src/file.c:1319
 msgid "Syncing completed. No files deleted."
 msgstr ""
 
@@ -896,29 +965,29 @@
 #. title
 #. label
 #. scrolled text
-#: src/file.c:1207
+#: src/file.c:1432
 msgid "Never delete any files when syncing"
 msgstr ""
 
-#: src/file.c:1236
+#: src/file.c:1461
 msgid "Syncing completed."
 msgstr ""
 
-#: src/file.c:1256
+#: src/file.c:1481
 msgid "Syncing aborted"
 msgstr ""
 
-#: src/file.c:1294
+#: src/file.c:1519
 msgid "No tracks in selection"
 msgstr ""
 
-#: src/file.c:1344
+#: src/file.c:1569
 #, c-format
 msgid "'%s' is not a directory. Ignored.\n"
 msgstr ""
 
 #. no directory names available
-#: src/file.c:1374
+#: src/file.c:1599
 msgid ""
 "No directory names were stored. Make sure that you enable 'Write extended "
 "information' in the Export section of the preferences at the time of "
@@ -929,18 +998,18 @@
 "want to sync again.\n"
 msgstr ""
 
-#: src/file.c:1378
+#: src/file.c:1603
 msgid "No valid directories have been found. Sync aborted.\n"
 msgstr ""
 
-#: src/file.c:1387
+#: src/file.c:1612
 msgid ""
 "The (former) contents of the following directories will be removed from the "
 "database:\n"
 "\n"
 msgstr ""
 
-#: src/file.c:1395
+#: src/file.c:1620
 msgid ""
 "The following directories will be synchronized:\n"
 "\n"
@@ -948,16 +1017,16 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1406
+#: src/file.c:1631
 msgid "Synchronize directories"
 msgstr ""
 
 #. title
-#: src/file.c:1407
+#: src/file.c:1632
 msgid "OK to synchronize the following directories?"
 msgstr ""
 
-#: src/file.c:1445
+#: src/file.c:1670
 #, c-format
 msgid "The following track could not be updated"
 msgid_plural "The following %d tracks could not be updated"
@@ -966,11 +1035,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1451
+#: src/file.c:1676
 msgid "Failed Track Update"
 msgstr ""
 
-#: src/file.c:1509
+#: src/file.c:1734
 #, c-format
 msgid "The following track has been updated"
 msgid_plural "The following %d tracks have been updated"
@@ -979,11 +1048,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1515
+#: src/file.c:1740
 msgid "Successful Track Update"
 msgstr ""
 
-#: src/file.c:1574
+#: src/file.c:1799
 #, c-format
 msgid "No mserv information could be retrieved for the following track"
 msgid_plural ""
@@ -993,197 +1062,217 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1580
+#: src/file.c:1805
 msgid "mserv data retrieval problem"
 msgstr ""
 
-#: src/file.c:1721
+#: src/file.c:1946
 msgid "file not found"
 msgstr ""
 
-#: src/file.c:1725
+#: src/file.c:1950
 msgid "format not supported"
 msgstr ""
 
-#: src/file.c:1799
+#: src/file.c:2031
 #, c-format
 msgid "Processing '%s'..."
 msgstr ""
 
-#: src/file.c:1992 src/file.c:2006
+#: src/file.c:2135 src/misc_track.c:1169 src/misc_track.c:1225
 #, c-format
+msgid ""
+"Podcast already present: '%s'\n"
+"\n"
+msgstr ""
+
+#: src/file.c:2196
+#, c-format
+msgid ""
+"Writing to video files not yet supported (%s).\n"
+"\n"
+msgstr ""
+
+#: src/file.c:2250 src/file.c:2264
+#, c-format
 msgid "Couldn't change tags of file: %s\n"
 msgstr ""
 
-#: src/file.c:2291
+#: src/file.c:2548
 #, c-format
 msgid "Could not open '%s' for reading and writing.\n"
 msgstr ""
 
-#: src/file.c:2298
+#: src/file.c:2555
 #, c-format
 msgid "Could not obtain lock on '%s'.\n"
 msgstr ""
 
 #. error!
-#: src/file.c:2315 src/file.c:2324 src/file.c:2335 src/file.c:2345
+#: src/file.c:2572 src/file.c:2581 src/file.c:2592 src/file.c:2602
 #, c-format
 msgid "Malformed line in '%s': %s\n"
 msgstr ""
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:2374
+#: src/file.c:2631
 msgid "Remove offline playcounts?"
 msgstr ""
 
 #. title
-#: src/file.c:2375
+#: src/file.c:2632
 msgid ""
 "Some tracks played offline could not be found in the iTunesDB. Press 'OK' to "
 "remove them from the offline playcount file, 'Cancel' to keep them."
 msgstr ""
 
-#: src/file.c:2392
+#: src/file.c:2649
 #, c-format
 msgid "Error writing to '%s'.\n"
 msgstr ""
 
-#: src/file.c:2431
-msgid "Normalization failed: file type not supported.\n"
+#: src/file.c:2698
+#, c-format
+msgid ""
+"Normalization failed: file type not supported (%s).\n"
+"\n"
 msgstr ""
 
-#: src/file.c:2442
-msgid "Normalization failed: file not available.\n"
-msgstr ""
-
-#: src/file_export.c:106
+#: src/file.c:2713
 #, c-format
-msgid "Error creating %s: %s\n"
+msgid ""
+"Normalization failed: file not available (%s).\n"
+"\n"
 msgstr ""
 
-#: src/file_export.c:202
+#: src/file_export.c:181
 #, c-format
 msgid "Skipping existing file with same length: '%s'\n"
 msgstr ""
 
-#: src/file_export.c:210
+#: src/file_export.c:189
 #, c-format
 msgid "Overwriting existing file: '%s'\n"
 msgstr ""
 
-#: src/file_export.c:227
+#: src/file_export.c:206
 #, c-format
 msgid "Error copying '%s' to '%s': Permission Error (%s)\n"
 msgstr ""
 
-#: src/file_export.c:229
+#: src/file_export.c:208
 #, c-format
 msgid "Error copying '%s' to '%s' (%s)\n"
 msgstr ""
 
-#: src/file_export.c:237
+#: src/file_export.c:216
 #, c-format
 msgid "Unable to open '%s' for reading\n"
 msgstr ""
 
-#: src/file_export.c:344
+#: src/file_export.c:323
 #, c-format
 msgid "Could find file for '%s' on the iPod\n"
 msgstr ""
 
 #. create the dialog window
-#: src/file_export.c:411 src/file_itunesdb.c:990 src/tools.c:148
+#: src/file_export.c:390 src/file_itunesdb.c:1060 src/tools.c:148
 msgid "Information"
 msgstr ""
 
-#: src/file_export.c:422 src/tools.c:160
+#: src/file_export.c:401 src/tools.c:160
 msgid "Press button to abort."
 msgstr ""
 
-#: src/file_export.c:435
+#: src/file_export.c:414
 msgid "copying..."
 msgstr ""
 
-#: src/file_export.c:489
+#: src/file_export.c:468
 #, c-format
 msgid "Failed to write '%s-%s'\n"
 msgstr ""
 
-#: src/file_export.c:497
+#: src/file_export.c:476
 #, c-format
 msgid "Copied %d of %d track."
 msgid_plural "Copied %d of %d tracks."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/file_export.c:515 src/file_itunesdb.c:1252 src/tools.c:307
+#: src/file_export.c:494 src/file_itunesdb.c:1324 src/tools.c:307
 #, c-format
 msgid "%d%% (%d:%02d:%02d left)"
 msgstr ""
 
-#: src/file_export.c:524
+#: src/file_export.c:503
 msgid "Some tracks were not copied."
 msgstr ""
 
-#: src/file_export.c:581
+#: src/file_export.c:560
 msgid "Export from iPod database not possible in offline mode."
 msgstr ""
 
-#: src/file_export.c:589
+#: src/file_export.c:568
 msgid "Select Export Destination Directory"
 msgstr ""
 
-#: src/file_export.c:738
+#: src/file_export.c:717
 msgid "Drag from iPod database not possible in offline mode."
 msgstr ""
 
-#: src/file_export.c:772
+#: src/file_export.c:751
 msgid "The following tracks have to be copied to your harddisk"
 msgstr ""
 
-#: src/file_export.c:817
+#: src/file_export.c:796
 msgid ""
 "Some tracks were not copied to your harddisk. Only the copied tracks will be "
 "included in the current drag and drop operation.\n"
 "\n"
 msgstr ""
 
-#: src/file_export.c:1014
+#: src/file_export.c:992
 #, c-format
 msgid ""
 "No valid filename for: %s\n"
 "\n"
 msgstr ""
 
-#: src/file_export.c:1030
+#: src/file_export.c:1008
 #, c-format
 msgid "Created playlist with one track."
 msgid_plural "Created playlist with %d tracks."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/file_export.c:1037
+#: src/file_export.c:1015
 #, c-format
 msgid ""
 "Could not open '%s' for writing (%s).\n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:224
+#: src/file_itunesdb.c:114
+#, c-format
+msgid "Matching MD5 checksum for file %d/%d"
+msgstr ""
+
+#: src/file_itunesdb.c:242
 msgid "Could not open \"iTunesDB.ext\" for reading extended info.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:231
+#: src/file_itunesdb.c:249
 msgid "Could not create hash value from itunesdb\n"
 msgstr ""
 
-#: src/file_itunesdb.c:245
+#: src/file_itunesdb.c:263
 #, c-format
 msgid "Error while reading extended info: %s\n"
 msgstr ""
 
-#: src/file_itunesdb.c:262
+#: src/file_itunesdb.c:280
 #, c-format
 msgid ""
 "iTunesDB '%s' does not match checksum in extended information file '%s'\n"
@@ -1192,21 +1281,21 @@
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:275
+#: src/file_itunesdb.c:292
 #, c-format
 msgid ""
 "%s:\n"
 "Expected \"itunesdb_hash=\" but got:\"%s\"\n"
 msgstr ""
 
-#: src/file_itunesdb.c:335
+#: src/file_itunesdb.c:352
 #, c-format
 msgid ""
 "%s:\n"
 "Format error: %s\n"
 msgstr ""
 
-#: src/file_itunesdb.c:386
+#: src/file_itunesdb.c:407
 msgid ""
 "No MD5 checksums on individual tracks are available.\n"
 "\n"
@@ -1216,109 +1305,109 @@
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:439
+#: src/file_itunesdb.c:462
 msgid ""
 "Extended info will not be used. If you have non-transferred tracks,\n"
 "these will be lost.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:447
+#: src/file_itunesdb.c:470
 msgid "Offline iPod database successfully imported"
 msgstr ""
 
-#: src/file_itunesdb.c:450
+#: src/file_itunesdb.c:473
 msgid "Local database successfully imported"
 msgstr ""
 
-#: src/file_itunesdb.c:458
+#: src/file_itunesdb.c:481
 #, c-format
 msgid ""
 "Offline iPod database import failed: '%s'\n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:462
+#: src/file_itunesdb.c:485
 #, c-format
 msgid ""
 "Local database import failed: '%s'\n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:469
+#: src/file_itunesdb.c:492
 msgid ""
 "Offline iPod database import failed: \n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:472
+#: src/file_itunesdb.c:495
 msgid ""
 "Local database import failed: \n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:479 src/file_itunesdb.c:527
+#: src/file_itunesdb.c:502 src/file_itunesdb.c:550
 #, c-format
 msgid ""
 "'%s' does not exist. Import aborted.\n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:498
+#: src/file_itunesdb.c:521
 msgid "Extended info will not be used.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:505
+#: src/file_itunesdb.c:528
 msgid "iPod Database Successfully Imported"
 msgstr ""
 
-#: src/file_itunesdb.c:512
+#: src/file_itunesdb.c:535
 #, c-format
 msgid ""
 "iPod Database Import Failed: '%s'\n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:518
+#: src/file_itunesdb.c:541
 msgid ""
 "iPod Database Import Failed.\n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:822
+#: src/file_itunesdb.c:890
 #, c-format
 msgid "Could not open \"%s\" for writing extended info.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:837
+#: src/file_itunesdb.c:905
 msgid "Aborted writing of extended info.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:1001
+#: src/file_itunesdb.c:1071
 msgid ""
 "Press button to abort.\n"
 "Export can be continued at a later time."
 msgstr ""
 
-#: src/file_itunesdb.c:1070
+#: src/file_itunesdb.c:1140
 msgid "deleting..."
 msgstr ""
 
-#: src/file_itunesdb.c:1173
+#: src/file_itunesdb.c:1244
 msgid "preparing to copy..."
 msgstr ""
 
-#: src/file_itunesdb.c:1235
+#: src/file_itunesdb.c:1307
 #, c-format
 msgid "Copied %d of %d new track."
 msgid_plural "Copied %d of %d new tracks."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/file_itunesdb.c:1262
+#: src/file_itunesdb.c:1334
 msgid "Some tracks were not written to iPod. Export aborted!"
 msgstr ""
 
-#: src/file_itunesdb.c:1315
+#: src/file_itunesdb.c:1387
 #, c-format
 msgid ""
 "You did not import the existing iTunesDB ('%s'). This is most likely "
@@ -1329,30 +1418,30 @@
 "again.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:1345
+#: src/file_itunesdb.c:1417
 msgid ""
 "iPod directory structure must be present before synching to the iPod can be "
 "performed.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:1354
+#: src/file_itunesdb.c:1426
 msgid "Some tracks could not be deleted from the iPod. Export aborted!"
 msgstr ""
 
-#: src/file_itunesdb.c:1370
+#: src/file_itunesdb.c:1442
 msgid "Now writing iTunesDB. Please wait..."
 msgstr ""
 
-#: src/file_itunesdb.c:1414
+#: src/file_itunesdb.c:1488
 #, c-format
 msgid "Extended information file not deleted: '%s'"
 msgstr ""
 
-#: src/file_itunesdb.c:1500
+#: src/file_itunesdb.c:1574
 msgid "iPod Database Saved"
 msgstr ""
 
-#: src/file_itunesdb.c:1548
+#: src/file_itunesdb.c:1633
 msgid "Syncing contacts, calendar and notes..."
 msgstr ""
 
@@ -1374,15 +1463,20 @@
 msgid "Add Playlists"
 msgstr ""
 
-#: src/fileselection.c:438
+#. Create the file chooser, and handle the response
+#: src/fileselection.c:270
+msgid "Set Cover"
+msgstr ""
+
+#: src/fileselection.c:491
 msgid "Select directory to add recursively"
 msgstr ""
 
-#: src/fileselection.c:696
+#: src/fileselection.c:749
 msgid "Ok"
 msgstr ""
 
-#: src/fileselection.c:705
+#: src/fileselection.c:758
 msgid "Cancel"
 msgstr ""
 
@@ -1449,7 +1543,7 @@
 msgid "n/c"
 msgstr ""
 
-#: src/info.c:382 src/info.c:786
+#: src/info.c:382 src/info.c:793
 msgid "offline"
 msgstr ""
 
@@ -1458,235 +1552,32 @@
 msgid " P:%d T:%d/%d"
 msgstr ""
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "B"
 msgstr ""
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "kB"
 msgstr ""
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "TB"
 msgstr ""
 
-#: src/info.c:771
+#: src/info.c:778
 #, c-format
 msgid " %s Free"
 msgstr ""
 
-#: src/info.c:776
+#: src/info.c:783
 #, c-format
 msgid " %s Pending"
 msgstr ""
 
-#: src/info.c:781
+#: src/info.c:788
 msgid " disconnected"
 msgstr ""
 
-#: src/itdb_itunesdb.c:313
-#, c-format
-msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:520
-#, c-format
-msgid "Not a Play Counts file: '%s' (missing mhdp header)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:534
-#, c-format
-msgid "Play Counts file ('%s'): header length smaller than expected (%d<96)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:547
-#, c-format
-msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:801
-#, c-format
-msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:921
-#, c-format
-msgid ""
-"Length of smart playlist rule field (%d) not as expected. Trying to continue "
-"anyhow.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:964
-msgid "Did not find SLst hunk as expected. Trying to continue.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:970
-#, c-format
-msgid ""
-"Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
-"\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1050 src/itdb_itunesdb.c:1739 src/itdb_itunesdb.c:1774
-#, c-format
-msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1144
-msgid "Master-PL"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1171
-#, c-format
-msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1219
-#, c-format
-msgid "Itdb_Track ID '%d' not found.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1482
-msgid "OTG Playlist"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1496
-#, c-format
-msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1510
-#, c-format
-msgid "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1522
-#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1557
-#, c-format
-msgid "OTG playlist file '%s': reference to non-existent track (%d)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1602
-#, c-format
-msgid "OTG Playlist %d"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1645
-#, c-format
-msgid "Not a iTunesDB: '%s' (missing mhdb header)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1661
-#, c-format
-msgid ""
-"iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). "
-"Aborting."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1693
-#, c-format
-msgid "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
-msgstr ""
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1754
-msgid ""
-"iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1835
-msgid ""
-"iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1873
-#, c-format
-msgid "File not found: '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2394
-#, c-format
-msgid "Cannot write mhod of type %d\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:2520 src/itdb_itunesdb.c:2633
-msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2676
-msgid "Database in memory corrupt (playlist pointer == NULL). Aborting export."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2716
-#, c-format
-msgid "Opening of '%s' for writing failed."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2727
-#, c-format
-msgid "Writing to '%s' failed."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2738
-#, c-format
-msgid "Writing to '%s' failed (%s)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2875 src/itdb_itunesdb.c:3042 src/itdb_itunesdb.c:3224
-#: src/itdb_itunesdb.c:3358
-#, c-format
-msgid "Path not found: '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:3244
-#, c-format
-msgid "Error renaming '%s' to '%s' (%s)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:3261
-#, c-format
-msgid "Error removing '%s' (%s)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:3487
-#, c-format
-msgid "Error opening '%s' for reading (%s)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:3498
-#, c-format
-msgid "Error opening '%s' for writing (%s)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:3515
-#, c-format
-msgid "Error while reading from '%s' (%s)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:3531
-#, c-format
-msgid "Error while writing to '%s' (%s)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:3544 src/itdb_itunesdb.c:3554
-#, c-format
-msgid "Error when closing '%s' (%s)."
-msgstr ""
-
-#. New action!
-#: src/itdb_playlist.c:71
-#, c-format
-msgid "Unknown action (%d) in smart playlist will be ignored.\n"
-msgstr ""
-
 #: src/md5.c:159
 msgid "Hashed file is 0 bytes long\n"
 msgstr ""
@@ -1705,7 +1596,7 @@
 
 #: src/misc.c:82
 msgid ""
-"(C) 2002 - 2003\n"
+"(C) 2002 - 2005\n"
 "Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
@@ -1857,95 +1748,122 @@
 msgstr ""
 
 #: src/misc.c:153
+msgid "Sebastien Beridot: sync script for ldif addressbook format\n"
+msgstr ""
+
+#: src/misc.c:156
+msgid "Sebastian Scherer: sync script for kNotes\n"
+msgstr ""
+
+#: src/misc.c:159
+msgid "Nick Piper: sync script for Palm, type-ahead search\n"
+msgstr ""
+
+#: src/misc.c:162
+msgid "Uwe Hermann: help with support for iPod Video\n"
+msgstr ""
+
+#: src/misc.c:165
 msgid ""
-"Icons of buttons were made by Nicolas Chariot.\n"
+"Iain Benson: support for compilation tag in mp3 files and separate display "
+"of compilations in the sort tab.\n"
+msgstr ""
+
+#: src/misc.c:167
+msgid ""
+"Nicolas Chariot: icons of buttons\n"
 "\n"
 "\n"
 msgstr ""
 
-#: src/misc.c:157
+#: src/misc.c:171
 msgid "This program borrows code from the following projects:\n"
 msgstr ""
 
-#: src/misc.c:159
+#: src/misc.c:173
 msgid ""
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
 msgstr ""
 
-#: src/misc.c:161
+#: src/misc.c:175
 msgid ""
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
 msgstr ""
 
-#: src/misc.c:163
+#: src/misc.c:177
 msgid "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 msgstr ""
 
-#: src/misc.c:165
+#: src/misc.c:179
 msgid ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
 msgstr ""
 
-#: src/misc.c:168
+#: src/misc.c:182
 msgid ""
 "The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"
 msgstr ""
 
-#: src/misc.c:183
+#: src/misc.c:197
 msgid "French:   David Le Brun (david at dyn-ns dot net)\n"
 msgstr ""
 
-#: src/misc.c:185
+#: src/misc.c:199
 msgid "German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 msgstr ""
 
-#: src/misc.c:187
+#: src/misc.c:201
 msgid "Hebrew: Assaf Gillat (gillata at gmail dot com)\n"
 msgstr ""
 
-#: src/misc.c:189
+#: src/misc.c:203
 msgid ""
 "Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
 msgstr ""
 
-#: src/misc.c:191
+#: src/misc.c:205
 msgid "Japanese: Ayako Sano\n"
 msgstr ""
 
-#: src/misc.c:193
+#: src/misc.c:207
 msgid "Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 msgstr ""
 
-#: src/misc.c:195
+#: src/misc.c:209
 msgid "Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 msgstr ""
 
-#: src/misc.c:318
+#: src/misc.c:332
 #, c-format
 msgid "Could not delete backup file: \"%s\"\n"
 msgstr ""
 
-#: src/misc.c:438
+#: src/misc.c:452
 #, c-format
 msgid "Unmounting of '%s' (%s) unsuccessful."
 msgstr ""
 
-#: src/misc.c:442
+#: src/misc.c:456
 #, c-format
 msgid "Unmounting of '%s' unsuccessful."
 msgstr ""
 
-#: src/misc.c:1097
+#: src/misc.c:1219
 #, c-format
+msgid "Unknown token '%%%c' in template '%s'"
+msgstr ""
+
+#: src/misc.c:1301
+#, c-format
 msgid "Template ('%s') does not match file type '%s'\n"
 msgstr ""
 
-#: src/misc.c:1190
+#: src/misc.c:1382
 #, c-format
-msgid "Unknown token '%%%c' in template '%s'"
+msgid "Error creating %s: %s\n"
 msgstr ""
 
 #. gint id,
@@ -2059,8 +1977,8 @@
 
 #. no playlist??? Cannot happen, but...
 #. no playlist selected
-#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:667
-#: src/misc_track.c:879
+#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:674
+#: src/misc_track.c:1509
 msgid "No playlist selected."
 msgstr ""
 
@@ -2069,11 +1987,6 @@
 msgid "No tracks selected."
 msgstr ""
 
-#. no entry selected
-#: src/misc_confirm.c:441 src/misc_track.c:852
-msgid "No entry selected."
-msgstr ""
-
 #: src/misc_confirm.c:448
 msgid "Cannot remove entry 'All'"
 msgstr ""
@@ -2083,35 +1996,43 @@
 msgid "Removed all %d tracks from the iPod"
 msgstr ""
 
-#: src/misc_confirm.c:549 src/misc_confirm.c:619
+#: src/misc_confirm.c:546
+msgid "Removed all podcasts from the iPod"
+msgstr ""
+
+#: src/misc_confirm.c:556 src/misc_confirm.c:626
 #, c-format
 msgid "Deleted playlist '%s' including %d member track"
 msgid_plural "Deleted playlist '%s' including %d member tracks"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_confirm.c:563 src/misc_confirm.c:633
+#: src/misc_confirm.c:570 src/misc_confirm.c:640
 #, c-format
 msgid "Deleted playlist '%s'"
 msgstr ""
 
-#: src/misc_confirm.c:596
+#: src/misc_confirm.c:603
 #, c-format
 msgid "Deleted playlist '%s' including %d member track on harddisk"
 msgid_plural "Deleted playlist '%s' including %d member tracks on harddisk"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_confirm.c:611
+#: src/misc_confirm.c:618
 #, c-format
 msgid "Removed all %d tracks from the database"
 msgstr ""
 
-#: src/misc_confirm.c:686
+#: src/misc_confirm.c:693
 msgid "Are you sure you want to remove all tracks from your iPod?"
 msgstr ""
 
-#: src/misc_confirm.c:694
+#: src/misc_confirm.c:698
+msgid "Are you sure you want to remove all podcasts from your iPod?"
+msgstr ""
+
+#: src/misc_confirm.c:706
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and the following track "
@@ -2124,12 +2045,12 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_confirm.c:705 src/misc_confirm.c:760
+#: src/misc_confirm.c:717 src/misc_confirm.c:772
 #, c-format
 msgid "Are you sure you want to delete the playlist '%s'?"
 msgstr ""
 
-#: src/misc_confirm.c:731
+#: src/misc_confirm.c:743
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2142,11 +2063,11 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_confirm.c:739
+#: src/misc_confirm.c:751
 msgid "Are you sure you want to remove all tracks from the database?"
 msgstr ""
 
-#: src/misc_confirm.c:748
+#: src/misc_confirm.c:760
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2159,33 +2080,37 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_confirm.c:937
+#: src/misc_confirm.c:960
 #, c-format
 msgid "Problem creating iPod directory: '%s'."
 msgstr ""
 
-#: src/misc_confirm.c:939
+#: src/misc_confirm.c:962
 #, c-format
 msgid "Successfully created iPod directories in '%s'."
 msgstr ""
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_confirm.c:978
+#: src/misc_confirm.c:1001
 msgid "Create iPod directories"
 msgstr ""
 
 #. title
-#: src/misc_confirm.c:979
+#: src/misc_confirm.c:1002
 msgid "OK to create the following directories?"
 msgstr ""
 
-#: src/misc_confirm.c:1043
+#: src/misc_confirm.c:1066
 msgid ""
 "Data has been changed and not been saved.\n"
 "OK to exit gtkpod?"
 msgstr ""
 
+#: src/misc_conversion.c:67
+msgid "File type"
+msgstr ""
+
 #: src/misc_conversion.c:68
 msgid "PC File"
 msgstr ""
@@ -2233,86 +2158,128 @@
 msgid "CD Nr"
 msgstr ""
 
-#: src/misc_conversion.c:101
+#: src/misc_conversion.c:89
+msgid "Category"
+msgstr ""
+
+#: src/misc_conversion.c:90
+msgid "Description"
+msgstr ""
+
+#. 30
+#: src/misc_conversion.c:91
+msgid "Podcast URL"
+msgstr ""
+
+#: src/misc_conversion.c:92
+msgid "Podcast RSS"
+msgstr ""
+
+#: src/misc_conversion.c:93
+msgid "Subtitle"
+msgstr ""
+
+#: src/misc_conversion.c:94
+msgid "Date released"
+msgstr ""
+
+#: src/misc_conversion.c:95
+msgid "Checked"
+msgstr ""
+
+#: src/misc_conversion.c:108
 msgid "Name of file on PC, if available"
 msgstr ""
 
-#: src/misc_conversion.c:102
+#: src/misc_conversion.c:109
 msgid "Name of file on the iPod"
 msgstr ""
 
 #. 10
-#: src/misc_conversion.c:104
+#: src/misc_conversion.c:111
 msgid "Track Nr. and total number of tracks on CD"
 msgstr ""
 
-#: src/misc_conversion.c:105
+#: src/misc_conversion.c:112
 msgid "Whether the file has already been transferred to the iPod or not"
 msgstr ""
 
-#: src/misc_conversion.c:111
+#: src/misc_conversion.c:118
 msgid ""
 "Supposedly something that tells the iPod to increase or decrease the "
 "playback speed"
 msgstr ""
 
-#: src/misc_conversion.c:113
+#: src/misc_conversion.c:120
 msgid "Number of times the track has been played"
 msgstr ""
 
-#: src/misc_conversion.c:114
+#: src/misc_conversion.c:121
 msgid "Star rating from 0 to 5"
 msgstr ""
 
-#: src/misc_conversion.c:115
+#: src/misc_conversion.c:122
 msgid "Date and time track has been added"
 msgstr ""
 
 #. 20
-#: src/misc_conversion.c:116
+#: src/misc_conversion.c:123
 msgid "Date and time track has last been played"
 msgstr ""
 
-#: src/misc_conversion.c:117
+#: src/misc_conversion.c:124
 msgid "Date and time track has last been modified"
 msgstr ""
 
-#: src/misc_conversion.c:118
+#: src/misc_conversion.c:125
 msgid "Manual volume adjust"
 msgstr ""
 
-#: src/misc_conversion.c:119
+#: src/misc_conversion.c:126
 msgid ""
 "Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on "
 "the iPod"
 msgstr ""
 
 #. 25
-#: src/misc_conversion.c:122
+#: src/misc_conversion.c:129
 msgid "CD Nr. and total number of CDS in set"
 msgstr ""
 
-#: src/misc_conversion.c:605
+#: src/misc_conversion.c:132
+msgid ""
+"The category (e.g. 'Technology' or 'Music') where the podcast was located."
+msgstr ""
+
+#: src/misc_conversion.c:133
+msgid "Accessible by selecting the center button on the iPod."
+msgstr ""
+
+#: src/misc_conversion.c:137
+msgid "Release date (for podcasts displayed next to the title on the iPod)"
+msgstr ""
+
+#: src/misc_conversion.c:639
 #, c-format
 msgid "The URI '%s' is not an absolute URI using the file scheme"
 msgstr ""
 
-#: src/misc_conversion.c:615
+#: src/misc_conversion.c:649
 #, c-format
 msgid "The local file URI '%s' may not include a '#'"
 msgstr ""
 
-#: src/misc_conversion.c:632
+#: src/misc_conversion.c:666
 #, c-format
 msgid "The URI '%s' is invalid"
 msgstr ""
 
-#: src/misc_conversion.c:644
+#: src/misc_conversion.c:678
 #, c-format
 msgid "The hostname of the URI '%s' is invalid"
 msgstr ""
 
-#: src/misc_conversion.c:660
+#: src/misc_conversion.c:694
 #, c-format
 msgid "The URI '%s' contains invalidly escaped characters"
 msgstr ""
@@ -2321,7 +2288,7 @@
 msgid "Please enter a name for the new playlist"
 msgstr ""
 
-#: src/misc_playlist.c:97 gtkpod.glade:533 gtkpod.glade:12271
+#: src/misc_playlist.c:97 gtkpod.glade:578 gtkpod.glade:772 gtkpod.glade:7128
 msgid "Smart Playlist"
 msgstr ""
 
@@ -2408,33 +2375,33 @@
 msgid "Last Time"
 msgstr ""
 
-#: src/misc_playlist.c:834
+#: src/misc_playlist.c:831
 msgid "Removal of dangling tracks with no files on PC was canceled."
 msgstr ""
 
-#: src/misc_playlist.c:844
+#: src/misc_playlist.c:841
 msgid "Handling of dangling tracks with files on PC was canceled."
 msgstr ""
 
-#: src/misc_playlist.c:872
+#: src/misc_playlist.c:869
 msgid "Dangling tracks with no files on PC were removed."
 msgstr ""
 
 #. printf("Handling track %d\n", track->ipod_id);
-#: src/misc_playlist.c:905
+#: src/misc_playlist.c:902
 #, c-format
 msgid "Processing '%s'"
 msgstr ""
 
-#: src/misc_playlist.c:930
+#: src/misc_playlist.c:927
 msgid "Dangling tracks with files on PC were handled."
 msgstr ""
 
-#: src/misc_playlist.c:963
+#: src/misc_playlist.c:960
 msgid "Track"
 msgstr ""
 
-#: src/misc_playlist.c:1008
+#: src/misc_playlist.c:1005
 msgid ""
 "You did not import the existing iTunesDB. This is most likely incorrect and "
 "will result in the loss of the existing database.\n"
@@ -2444,19 +2411,19 @@
 "again.\n"
 msgstr ""
 
-#: src/misc_playlist.c:1024
+#: src/misc_playlist.c:1021
 msgid "Creating a tree of known files"
 msgstr ""
 
-#: src/misc_playlist.c:1052
+#: src/misc_playlist.c:1065
 msgid "Checking iPOD files against known files in DB"
 msgstr ""
 
-#: src/misc_playlist.c:1098
+#: src/misc_playlist.c:1110
 msgid "Orphaned"
 msgstr ""
 
-#: src/misc_playlist.c:1119
+#: src/misc_playlist.c:1131
 #, c-format
 msgid ""
 "The following orphaned file had already been added to the iPod again. It "
@@ -2465,12 +2432,12 @@
 "\n"
 msgstr ""
 
-#: src/misc_playlist.c:1148
+#: src/misc_playlist.c:1160
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Processing..."
 msgstr ""
 
-#: src/misc_playlist.c:1171
+#: src/misc_playlist.c:1183
 #, c-format
 msgid ""
 "The following dangling track has a file on PC.\n"
@@ -2483,7 +2450,7 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_playlist.c:1176
+#: src/misc_playlist.c:1188
 #, c-format
 msgid ""
 "The following dangling track doesn't have file on PC. \n"
@@ -2496,31 +2463,31 @@
 
 #. we want unique window for each
 #. gboolean modal,
-#: src/misc_playlist.c:1183
+#: src/misc_playlist.c:1195
 msgid "Dangling Tracks"
 msgstr ""
 
-#: src/misc_playlist.c:1207
+#: src/misc_playlist.c:1219
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Done."
 msgstr ""
 
 #. update for count == 1, 21, 41 ... and for count == n
-#: src/misc_track.c:90 src/misc_track.c:367
+#: src/misc_track.c:91 src/misc_track.c:368
 #, c-format
 msgid "Hashed %d of %d track."
 msgid_plural "Hashed %d of %d tracks."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_track.c:201
+#: src/misc_track.c:202
 #, c-format
 msgid "The following duplicate track has been removed."
 msgid_plural "The following %d duplicate tracks have been removed."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_track.c:208
+#: src/misc_track.c:209
 #, c-format
 msgid ""
 "The following duplicate track has not been added to the master play list."
@@ -2532,31 +2499,35 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_track.c:215
+#: src/misc_track.c:216
 msgid "Duplicate detection"
 msgstr ""
 
-#: src/misc_track.c:793
+#: src/misc_track.c:844
+msgid "Local Database"
+msgstr ""
+
+#: src/misc_track.c:1396
 #, c-format
 msgid "drag and drop: ignored '%s'\n"
 msgstr ""
 
-#: src/mp3file.c:1091
+#: src/mp3file.c:1117
 #, c-format
 msgid "Error setting ID3 field: %s\n"
 msgstr ""
 
-#: src/mp3file.c:1116 src/mp3file.c:1223 src/mp3file.c:1949
+#: src/mp3file.c:1142 src/mp3file.c:1289 src/mp3file.c:2035
 #, c-format
 msgid "ERROR while opening file: '%s' (%s).\n"
 msgstr ""
 
-#: src/mp3file.c:1280
+#: src/mp3file.c:1356
 #, c-format
 msgid "ERROR while writing tag to file: '%s' (%s).\n"
 msgstr ""
 
-#: src/mp3file.c:1793
+#: src/mp3file.c:1879
 #, c-format
 msgid ""
 "Could not find mp3gain. I tried to use the following executable: '%s'.\n"
@@ -2568,40 +2539,40 @@
 "sourceforge.net/projects/mp3gain."
 msgstr ""
 
-#: src/mp3file.c:1833
+#: src/mp3file.c:1919
 #, c-format
 msgid "Execution of mp3gain ('%s') failed."
 msgstr ""
 
 #. Tracks with zero play length are ignored by iPod...
-#: src/mp3file.c:2061
+#: src/mp3file.c:2178
 #, c-format
 msgid "File \"%s\" has zero play length. Ignoring.\n"
 msgstr ""
 
-#: src/mp4file.c:234 src/mp4file.c:353
+#: src/mp4file.c:243 src/mp4file.c:362
 #, c-format
 msgid "'%s' does not appear to be a mp4 audio file.\n"
 msgstr ""
 
-#: src/mp4file.c:244
+#: src/mp4file.c:253
 #, c-format
 msgid "Could not open '%s' for reading, or file is not an mp4 file.\n"
 msgstr ""
 
-#: src/mp4file.c:364
+#: src/mp4file.c:373
 #, c-format
 msgid "Could not open '%s' for writing, or file is not an mp4 file.\n"
 msgstr ""
 
-#: src/mp4file.c:377
+#: src/mp4file.c:386
 #, c-format
 msgid ""
 "Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. "
 "You must compile the gtkpod source together with the mp4v2 library.\n"
 msgstr ""
 
-#: src/mp4file.c:383
+#: src/mp4file.c:392
 #, c-format
 msgid ""
 "m4a/m4p/m4b metadata update for '%s' failed: m4a/m4p/m4b not supported "
@@ -2609,188 +2580,184 @@
 "the mp4v2 library.\n"
 msgstr ""
 
-#: src/prefs.c:127
+#: src/prefs.c:128
 #, c-format
 msgid "gtkpod version %s usage:\n"
 msgstr ""
 
-#: src/prefs.c:128
+#: src/prefs.c:129
 msgid "  -h, --help:   display this message\n"
 msgstr ""
 
-#: src/prefs.c:129
+#: src/prefs.c:130
 msgid "  -p <filename>:increment playcount for file by one\n"
 msgstr ""
 
-#: src/prefs.c:130
+#: src/prefs.c:131
 msgid "  -m path:      define the mountpoint of your iPod\n"
 msgstr ""
 
-#: src/prefs.c:131
+#: src/prefs.c:132
 msgid "  --mountpoint: same as '-m'.\n"
 msgstr ""
 
-#: src/prefs.c:132
+#: src/prefs.c:133
 msgid "  -a:           import database automatically after start.\n"
 msgstr ""
 
-#: src/prefs.c:133
+#: src/prefs.c:134
 msgid "  --auto:       same as '-a'.\n"
 msgstr ""
 
-#: src/prefs.c:134
+#: src/prefs.c:135
 msgid ""
 "  -o:           use offline mode. No changes are exported to the iPod,\n"
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
 "                used with 'Offline' deactivated.\n"
 msgstr ""
 
-#: src/prefs.c:135
+#: src/prefs.c:136
 msgid "  --offline:    same as '-o'.\n"
 msgstr ""
 
-#: src/prefs.c:382
+#: src/prefs.c:401
 #, c-format
 msgid "Error while reading prefs: %s\n"
 msgstr ""
 
-#: src/prefs.c:948
+#: src/prefs.c:1030
 #, c-format
 msgid "Unable to open config file '%s' for reading\n"
 msgstr ""
 
-#: src/prefs.c:1052
+#: src/prefs.c:1137
 #, c-format
 msgid "Unknown option: %s\n"
 msgstr ""
 
-#: src/prefs.c:1100
+#: src/prefs.c:1190
 #, c-format
 msgid "# delete confirmation\n"
 msgstr ""
 
-#: src/prefs.c:1107
+#: src/prefs.c:1197
 #, c-format
 msgid "# sort tab: select 'All', last selected page (=category)\n"
 msgstr ""
 
-#: src/prefs.c:1126
+#: src/prefs.c:1216
 #, c-format
 msgid "# autoselect master playlist?\n"
 msgstr ""
 
-#: src/prefs.c:1128
+#: src/prefs.c:1218
 #, c-format
 msgid "# title=0, artist, album, genre, composer\n"
 msgstr ""
 
-#: src/prefs.c:1129
+#: src/prefs.c:1219
 #, c-format
 msgid "# track_nr=5, ipod_id, pc_path, transferred\n"
 msgstr ""
 
-#: src/prefs.c:1130
+#: src/prefs.c:1220
 #, c-format
 msgid "# autoset: set empty tag to filename?\n"
 msgstr ""
 
-#: src/prefs.c:1143
+#: src/prefs.c:1235
 #, c-format
 msgid ""
 "# position of sliders (paned): playlists, above tracks,\n"
 "# between sort tabs, and in statusbar.\n"
 msgstr ""
 
-#: src/prefs.c:1178
+#: src/prefs.c:1271
 #, c-format
 msgid ""
 "# window sizes: main window, confirmation scrolled,\n"
 "#               confirmation non-scrolled, dirbrowser, prefs\n"
 msgstr ""
 
-#: src/prefs.c:1215
-msgid "Settings are not saved.\n"
-msgstr ""
-
-#: src/prefs.c:1228
+#: src/prefs.c:1328
 #, c-format
 msgid "Unable to open '%s' for writing\n"
 msgstr ""
 
-#: src/prefs.c:1592
+#: src/prefs.c:1682
 #, c-format
 msgid ""
 " Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.\n"
 msgstr ""
 
-#: src/prefs.c:1641
+#: src/prefs.c:1731
 #, c-format
 msgid "Unable to 'mkdir %s'\n"
 msgstr ""
 
 #. illegal -- ignore
-#: src/prefs.c:2034
+#: src/prefs.c:2157
 #, c-format
 msgid "prefs_set_toolbar_style: illegal style '%d' ignored\n"
 msgstr ""
 
 #. illegal -- ignore
-#: src/prefs.c:2076
+#: src/prefs.c:2199
 #, c-format
 msgid "prefs_set_pm_sort: illegal type '%d' ignored\n"
 msgstr ""
 
-#: src/prefs.c:2231
+#: src/prefs.c:2354
 #, c-format
 msgid "'%s': no arguments (%%...) allowed.\n"
 msgstr ""
 
-#: src/prefs.c:2236
+#: src/prefs.c:2359
 #, c-format
 msgid "'%s': only '%%[%s]' allowed.\n"
 msgstr ""
 
-#: src/prefs_window.c:93
+#: src/prefs_window.c:105
 msgid "Please select command for 'Play Now'"
 msgstr ""
 
-#: src/prefs_window.c:94
+#: src/prefs_window.c:106
 msgid "Please select command for 'Enqueue'"
 msgstr ""
 
-#: src/prefs_window.c:95
+#: src/prefs_window.c:107
 msgid "Please select the mp3gain executable"
 msgstr ""
 
-#: src/prefs_window.c:96
+#: src/prefs_window.c:108
 msgid "Please select command to sync contacts"
 msgstr ""
 
-#: src/prefs_window.c:97
+#: src/prefs_window.c:109
 msgid "Please select command to sync calendar"
 msgstr ""
 
-#: src/prefs_window.c:98
+#: src/prefs_window.c:110
 msgid "Select the mserv music root directory"
 msgstr ""
 
-#: src/prefs_window.c:99
+#: src/prefs_window.c:111
 msgid "Select the mserv trackinfo root directory"
 msgstr ""
 
-#: src/prefs_window.c:748
+#: src/prefs_window.c:824
 #, c-format
 msgid ""
-"Have a look at the scripts provided in '%s'. If you write a new script, "
+"<i>Have a look at the scripts provided in '%s'. If you write a new script, "
 "please send it to jcsjcs at users.sourceforge.net for inclusion into the "
-"next release."
+"next release.</i>"
 msgstr ""
 
-#: src/prefs_window.c:1006 src/prefs_window.c:1024
+#: src/prefs_window.c:1257 src/prefs_window.c:1275
 msgid "Preferences not updated"
 msgstr ""
 
-#: src/prefs_window.c:1033
+#: src/prefs_window.c:1284
 msgid "Preferences applied"
 msgstr ""
 
@@ -2895,1482 +2862,1523 @@
 msgid "Synchronize _iTunesDB"
 msgstr ""
 
-#: gtkpod.glade:156
+#: gtkpod.glade:183
 msgid "_Update Tracks from File"
 msgstr ""
 
-#: gtkpod.glade:177 gtkpod.glade:229 gtkpod.glade:281 gtkpod.glade:339
-#: gtkpod.glade:391 gtkpod.glade:767 gtkpod.glade:819 gtkpod.glade:1007
-#: gtkpod.glade:1059 gtkpod.glade:1105
+#: gtkpod.glade:204 gtkpod.glade:256 gtkpod.glade:308 gtkpod.glade:366
+#: gtkpod.glade:418 gtkpod.glade:1136 gtkpod.glade:1188 gtkpod.glade:1234
 msgid "Selected _Playlist"
 msgstr ""
 
-#: gtkpod.glade:186 gtkpod.glade:238 gtkpod.glade:290 gtkpod.glade:348
-#: gtkpod.glade:400 gtkpod.glade:776 gtkpod.glade:828 gtkpod.glade:1016
-#: gtkpod.glade:1068 gtkpod.glade:1114
+#: gtkpod.glade:213 gtkpod.glade:265 gtkpod.glade:317 gtkpod.glade:375
+#: gtkpod.glade:427 gtkpod.glade:1145 gtkpod.glade:1197 gtkpod.glade:1243
 msgid "Selected Tab _Entry"
 msgstr ""
 
-#: gtkpod.glade:195 gtkpod.glade:247 gtkpod.glade:299 gtkpod.glade:357
-#: gtkpod.glade:409 gtkpod.glade:785 gtkpod.glade:837 gtkpod.glade:1025
-#: gtkpod.glade:1077 gtkpod.glade:1123
+#: gtkpod.glade:222 gtkpod.glade:274 gtkpod.glade:326 gtkpod.glade:384
+#: gtkpod.glade:436 gtkpod.glade:569 gtkpod.glade:1154 gtkpod.glade:1206
+#: gtkpod.glade:1252
 msgid "Selected _Tracks"
 msgstr ""
 
-#: gtkpod.glade:208
+#: gtkpod.glade:235
 msgid "Update _mserv Data from File"
 msgstr ""
 
-#: gtkpod.glade:260
+#: gtkpod.glade:287
 msgid "_Synchronize Directories"
 msgstr ""
 
-#: gtkpod.glade:318
+#: gtkpod.glade:345
 msgid "_Export Tracks from Database"
 msgstr ""
 
-#: gtkpod.glade:370
+#: gtkpod.glade:397
 msgid "Create _Playlist File"
 msgstr ""
 
-#: gtkpod.glade:428
+#: gtkpod.glade:455
 msgid "_Offline"
 msgstr ""
 
-#: gtkpod.glade:444
+#: gtkpod.glade:471
 msgid "_Create iPod's Directories"
 msgstr ""
 
-#: gtkpod.glade:465
+#: gtkpod.glade:492
 msgid ""
 "Find orphan files (files with no track info in DB) and dangling tracks "
 "(tracks with no corresponding files on iPOD)"
 msgstr ""
 
-#: gtkpod.glade:466
+#: gtkpod.glade:493
 msgid "_Check iPod's Files"
 msgstr ""
 
-#: gtkpod.glade:494 gtkpod.glade:4973 gtkpod.glade:16459
+#: gtkpod.glade:521 gtkpod.glade:11968
 msgid "_Edit"
 msgstr ""
 
-#: gtkpod.glade:503
+#: gtkpod.glade:551
+msgid "Tracks in Selected _Playlist"
+msgstr ""
+
+#: gtkpod.glade:560
+msgid "Tracks in Selected Tab _Entry"
+msgstr ""
+
+#: gtkpod.glade:591
+msgid "_Delete"
+msgstr ""
+
+#: gtkpod.glade:612
+msgid "Selected playlist"
+msgstr ""
+
+#: gtkpod.glade:621
+msgid "Selected playlist including tracks from iPod"
+msgstr ""
+
+#: gtkpod.glade:630
+msgid "Selected playlist including tracks from database"
+msgstr ""
+
+#: gtkpod.glade:639
+msgid "Selected playlist including tracks from harddisk"
+msgstr ""
+
+#: gtkpod.glade:654
+msgid "Selected filter tab entry from playlist"
+msgstr ""
+
+#: gtkpod.glade:663
+msgid "Selected filter tab entry from iPod"
+msgstr ""
+
+#: gtkpod.glade:672
+msgid "Selected filter tab entry from database"
+msgstr ""
+
+#: gtkpod.glade:681
+msgid "Selected filter tab entry from harddisk"
+msgstr ""
+
+#: gtkpod.glade:696
+msgid "Selected tracks from playlist"
+msgstr ""
+
+#: gtkpod.glade:705
+msgid "Selected tracks from iPod"
+msgstr ""
+
+#: gtkpod.glade:714
+msgid "Selected tracks from database"
+msgstr ""
+
+#: gtkpod.glade:723
+msgid "Selected tracks from harddisk"
+msgstr ""
+
+#: gtkpod.glade:742
 msgid "_Create Playlists"
 msgstr ""
 
-#: gtkpod.glade:524
+#: gtkpod.glade:763
 msgid "Empty Playlist"
 msgstr ""
 
-#: gtkpod.glade:542
+#: gtkpod.glade:781
 msgid "Random Playlist from Displayed Tracks"
 msgstr ""
 
-#: gtkpod.glade:551
+#: gtkpod.glade:790
 msgid "Containing Displayed Tracks"
 msgstr ""
 
-#: gtkpod.glade:560
+#: gtkpod.glade:799
 msgid "Containing Selected Tracks"
 msgstr ""
 
-#: gtkpod.glade:569
+#: gtkpod.glade:808
 msgid "One for each Artist"
 msgstr ""
 
-#: gtkpod.glade:578
+#: gtkpod.glade:817
 msgid "One for each Album"
 msgstr ""
 
-#: gtkpod.glade:587
+#: gtkpod.glade:826
 msgid "One for each Genre"
 msgstr ""
 
-#: gtkpod.glade:596
+#: gtkpod.glade:835
 msgid "One for each Composer"
 msgstr ""
 
-#: gtkpod.glade:605
+#: gtkpod.glade:844
 msgid "One for each Year"
 msgstr ""
 
-#: gtkpod.glade:614
+#: gtkpod.glade:853
 msgid "One for each Rating"
 msgstr ""
 
-#: gtkpod.glade:623
+#: gtkpod.glade:862
 msgid "Best Rated Tracks"
 msgstr ""
 
-#: gtkpod.glade:632
+#: gtkpod.glade:871
 msgid "Tracks Most Often Listened To"
 msgstr ""
 
-#: gtkpod.glade:641
+#: gtkpod.glade:880
 msgid "Most Recently Played Tracks"
 msgstr ""
 
-#: gtkpod.glade:650
+#: gtkpod.glade:889
 msgid "All Tracks Played Since Last Time"
 msgstr ""
 
-#: gtkpod.glade:659
+#: gtkpod.glade:898
 msgid "All Tracks Never Listened To"
 msgstr ""
 
-#: gtkpod.glade:668
+#: gtkpod.glade:907
 msgid "All Tracks not Listed in any Playlist"
 msgstr ""
 
-#: gtkpod.glade:681
+#: gtkpod.glade:920
 msgid "Randomize Current Playlist"
 msgstr ""
 
-#: gtkpod.glade:696
+#: gtkpod.glade:935
 msgid "_Sorting"
 msgstr ""
 
-#: gtkpod.glade:718
+#: gtkpod.glade:957
 msgid "_Save Displayed Track Order"
 msgstr ""
 
-#: gtkpod.glade:746
-msgid "_Delete But Keep Tracks"
-msgstr ""
-
-#: gtkpod.glade:798
-msgid "_Delete Completely From iPod"
-msgstr ""
-
-#: gtkpod.glade:856
+#: gtkpod.glade:985
 msgid "_Edit Preferences"
 msgstr ""
 
-#: gtkpod.glade:882
+#: gtkpod.glade:1011
 msgid "_View"
 msgstr ""
 
-#: gtkpod.glade:891
+#: gtkpod.glade:1020
 msgid "_Toolbar"
 msgstr ""
 
-#: gtkpod.glade:901
+#: gtkpod.glade:1030
 msgid "_Tooltips"
 msgstr ""
 
-#: gtkpod.glade:911
+#: gtkpod.glade:1040
 msgid "_Info Window"
 msgstr ""
 
-#: gtkpod.glade:922
+#: gtkpod.glade:1051
 msgid "_More Sort Tabs"
 msgstr ""
 
-#: gtkpod.glade:943
+#: gtkpod.glade:1072
 msgid "_Less Sort Tabs"
 msgstr ""
 
-#: gtkpod.glade:964
+#: gtkpod.glade:1093
 msgid "_Arrange Sort Tabs"
 msgstr ""
 
-#: gtkpod.glade:977 gtkpod.glade:5636 gtkpod.glade:17156
+#: gtkpod.glade:1106 gtkpod.glade:12692
 msgid "_Tools"
 msgstr ""
 
-#: gtkpod.glade:986
+#: gtkpod.glade:1115
 msgid "_Play Now"
 msgstr ""
 
-#: gtkpod.glade:1038
+#: gtkpod.glade:1167
 msgid "_Enqueue"
 msgstr ""
 
-#: gtkpod.glade:1096
+#: gtkpod.glade:1225
 msgid "_Normalize Volume"
 msgstr ""
 
-#: gtkpod.glade:1132
+#: gtkpod.glade:1261
 msgid "_Displayed Tracks"
 msgstr ""
 
-#: gtkpod.glade:1141
+#: gtkpod.glade:1270
 msgid "_All Tracks"
 msgstr ""
 
-#: gtkpod.glade:1150
+#: gtkpod.glade:1279
 msgid "_Newly Added Tracks"
 msgstr ""
 
-#: gtkpod.glade:1169
+#: gtkpod.glade:1298
 msgid "Synchronise Contacts, Calendar and Notes"
 msgstr ""
 
-#: gtkpod.glade:1170
+#: gtkpod.glade:1299
 msgid "Synchronize All"
 msgstr ""
 
-#: gtkpod.glade:1179
+#: gtkpod.glade:1308
 msgid "Synchronize Contacts"
 msgstr ""
 
-#: gtkpod.glade:1188
+#: gtkpod.glade:1317
 msgid "Synchronize Calendar"
 msgstr ""
 
-#: gtkpod.glade:1197
+#: gtkpod.glade:1326
 msgid "Synchronize Notes"
 msgstr ""
 
-#: gtkpod.glade:1210
+#: gtkpod.glade:1339
 msgid "_Help"
 msgstr ""
 
-#: gtkpod.glade:1219
+#: gtkpod.glade:1348
 msgid "_About"
 msgstr ""
 
-#: gtkpod.glade:1259
+#: gtkpod.glade:1388
 msgid "Read Existing Database from Disk/iPod"
 msgstr ""
 
-#: gtkpod.glade:1260
+#: gtkpod.glade:1389
 msgid "Read"
 msgstr ""
 
-#: gtkpod.glade:1277
+#: gtkpod.glade:1406
 msgid "Add Files or Directories"
 msgstr ""
 
-#: gtkpod.glade:1278
+#: gtkpod.glade:1407
 msgid "Files"
 msgstr ""
 
-#: gtkpod.glade:1295
+#: gtkpod.glade:1424
 msgid "Add Directories Recursively"
 msgstr ""
 
-#: gtkpod.glade:1296
+#: gtkpod.glade:1425
 msgid "Dirs"
 msgstr ""
 
-#: gtkpod.glade:1313
+#: gtkpod.glade:1442
 msgid "Add playlist from file"
 msgstr ""
 
-#: gtkpod.glade:1331
+#: gtkpod.glade:1460
 msgid "Create New Playlist"
 msgstr ""
 
-#: gtkpod.glade:1332
+#: gtkpod.glade:1461
 msgid "New PL"
 msgstr ""
 
-#: gtkpod.glade:1349
+#: gtkpod.glade:1478
 msgid "Write Changes to Disk/iPod"
 msgstr ""
 
-#: gtkpod.glade:1350
+#: gtkpod.glade:1479
 msgid "Sync"
 msgstr ""
 
-#: gtkpod.glade:1366
+#: gtkpod.glade:1495
 msgid "Stop Display Update"
 msgstr ""
 
-#: gtkpod.glade:1367
+#: gtkpod.glade:1496
 msgid "Stop"
 msgstr ""
 
-#: gtkpod.glade:1540
+#: gtkpod.glade:1669
 msgid "About gtkpod"
 msgstr ""
 
-#: gtkpod.glade:1661
+#: gtkpod.glade:1790
 msgid "Credits"
 msgstr ""
 
-#: gtkpod.glade:1715
+#: gtkpod.glade:1844
 msgid "Translators"
 msgstr ""
 
-#: gtkpod.glade:1770 gtkpod.glade:12719
-msgid "Preferences"
+#: gtkpod.glade:1898
+msgid "special_sorttab -- Don't translate!"
 msgstr ""
 
-#: gtkpod.glade:1846
-msgid " iPod Mount _Point:"
+#: gtkpod.glade:1932
+msgid " Logic: "
 msgstr ""
 
-#: gtkpod.glade:1868
-msgid ""
-"Where you mounted your iPod's filesystem. Usually '/media/ipod/' or similar."
+#: gtkpod.glade:1954
+msgid "Any (OR)"
 msgstr ""
 
-#: gtkpod.glade:1896
-msgid ""
-"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
-"<ipod mountpoint>' call is carried out. For more complicated arrangements "
-"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
+#: gtkpod.glade:1973
+msgid "All (AND)"
 msgstr ""
 
-#: gtkpod.glade:1898 gtkpod.glade:12890
-msgid "Handle mounting/unmounting of iPod drive"
+#: gtkpod.glade:2026
+msgid "0"
 msgstr ""
 
-#: gtkpod.glade:1918 gtkpod.glade:12910
-msgid "Automatically import iTunesDB on startup"
+#: gtkpod.glade:2045
+msgid "1"
 msgstr ""
 
-#: gtkpod.glade:1944
-msgid "Import"
+#: gtkpod.glade:2064
+msgid "2"
 msgstr ""
 
-#: gtkpod.glade:1991
-msgid " _Charset (ID3, files): "
+#: gtkpod.glade:2083
+msgid "3"
 msgstr ""
 
-#: gtkpod.glade:2022 gtkpod.glade:13047
-msgid ""
-"gtkpod expects the ID3 tags and the filenames to be in the encoding "
-"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
-"operation. 'System Charset' is the charset used by your current locale."
+#: gtkpod.glade:2102
+msgid "4"
 msgstr ""
 
-#: gtkpod.glade:2059
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to update the track information. If you have chosen a wrong charset when "
-"first importing a track and want to correct it using the 'Update Track' "
-"function, you must check this option. Note: the charset info is stored in "
-"the extended information file (see 'Writing of iTunesDB' below) and tracks "
-"imported before V0.51 will have no charset stored. Instead the charset "
-"specified above will be used then."
+#: gtkpod.glade:2121
+msgid "5"
 msgstr ""
 
-#: gtkpod.glade:2061
-msgid ""
-"Use selected charset also when updating\n"
-" or syncing tracks"
+#: gtkpod.glade:2160
+msgid "Select '0' for no lower limit."
 msgstr ""
 
-#: gtkpod.glade:2081
-msgid "If you check this, gtkpod will descend into subdirectories recursively."
+#: gtkpod.glade:2181
+msgid " <= cts <= "
 msgstr ""
 
-#: gtkpod.glade:2083 gtkpod.glade:13106
-msgid "Add directories recursively"
+#: gtkpod.glade:2202
+msgid "Select '-1' for no upper limit."
 msgstr ""
 
-#: gtkpod.glade:2102
-msgid "Duplicate Recognition is based on a md5 hash over the file."
+#: gtkpod.glade:2245 gtkpod.glade:2318 gtkpod.glade:2484
+msgid ""
+"'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
+"finished."
 msgstr ""
 
-#: gtkpod.glade:2104 gtkpod.glade:13126
-msgid "Don't allow file duplication"
+#: gtkpod.glade:2287 gtkpod.glade:2360 gtkpod.glade:2526 gtkpod.glade:2701
+msgid "Calendar"
 msgstr ""
 
-#: gtkpod.glade:2132
-msgid ""
-"Display the list of duplicates that have been detected after adding files."
+#: gtkpod.glade:2385
+msgid "Specify interval"
 msgstr ""
 
-#: gtkpod.glade:2134 gtkpod.glade:13173
-msgid "Display info about detected duplicates"
+#: gtkpod.glade:2596
+msgid "Display tracks that match the criteria entered above."
 msgstr ""
 
-#: gtkpod.glade:2187
-msgid ""
-"If the filename (full path) of an existing track matches that of a track to "
-"be added, this option allows you to update the information about the "
-"existing track rather than just skipping the track altogether. No update "
-"will take place if the file hasn't changed and you have selected the 'Don't "
-"allow file duplication' option above."
+#: gtkpod.glade:2639 gtkpod.glade:11330
+msgid "_Display"
 msgstr ""
 
-#: gtkpod.glade:2189
+#: gtkpod.glade:2671
 msgid ""
-"When adding dirs/files, update information of\n"
-" existing tracks with identical filenames"
+"Automatically start displaying tracks that match the criteria entered above. "
+"If not selected, you must press 'Display' to start displaying."
 msgstr ""
 
-#: gtkpod.glade:2218
-msgid "Display a list of tracks that could actually be updated."
+#: gtkpod.glade:2673
+msgid "Start display automatically"
 msgstr ""
 
-#: gtkpod.glade:2220 gtkpod.glade:13248
-msgid "Display info about updated tracks"
+#: gtkpod.glade:2746
+msgid "Sorttab: "
 msgstr ""
 
-#: gtkpod.glade:2243
-msgid "Display a list of tracks that could not be updated."
+#: gtkpod.glade:2786
+msgid "     "
 msgstr ""
 
-#: gtkpod.glade:2245 gtkpod.glade:13302
-msgid "Display info about non-updated tracks"
+#: gtkpod.glade:2808
+msgid "Category: "
 msgstr ""
 
-#: gtkpod.glade:2287 gtkpod.glade:13328
-msgid "When syncing directories"
+#: gtkpod.glade:2885
+msgid "Please specify a time interval"
 msgstr ""
 
-#: gtkpod.glade:2318
-msgid "Confirm list of directories"
+#: gtkpod.glade:2930
+msgid "Lower Margin"
 msgstr ""
 
-#: gtkpod.glade:2341
-msgid ""
-"If you check this option, tracks that have been removed from the synced "
-"directories will be removed from the iPod as well."
+#: gtkpod.glade:2977 gtkpod.glade:3183
+msgid "Time:"
 msgstr ""
 
-#: gtkpod.glade:2343 gtkpod.glade:13403
-msgid "Delete tracks that have been removed"
+#: gtkpod.glade:3020 gtkpod.glade:3226
+msgid ":"
 msgstr ""
 
-#: gtkpod.glade:2366
-msgid "This is the same option as in 'Edit/Delete Confirmation'"
+#: gtkpod.glade:3093
+msgid "No lower margin"
 msgstr ""
 
-#: gtkpod.glade:2368 gtkpod.glade:13423
-msgid "Confirm before removing tracks"
+#: gtkpod.glade:3136
+msgid "Upper margin"
 msgstr ""
 
-#: gtkpod.glade:2401
-msgid "Adding/Updating/Syncing"
+#: gtkpod.glade:3299
+msgid "No upper margin"
 msgstr ""
 
-#: gtkpod.glade:2441 gtkpod.glade:13664
-msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
+#: gtkpod.glade:3397
+msgid "Sorting Options"
 msgstr ""
 
-#: gtkpod.glade:2460 gtkpod.glade:13683
-msgid ""
-"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
-"several templates by a ';'. The first one matching the filename will be "
-"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
+#: gtkpod.glade:3427
+msgid "<b>Sort Order</b>"
 msgstr ""
 
-#: gtkpod.glade:2462
-msgid "Use this template to parse filename for tag information"
+#: gtkpod.glade:3454 gtkpod.glade:4704 gtkpod.glade:7682 gtkpod.glade:7860
+#: gtkpod.glade:8031 gtkpod.glade:8108 gtkpod.glade:8163 gtkpod.glade:8239
+#: gtkpod.glade:8396 gtkpod.glade:8522 gtkpod.glade:8879 gtkpod.glade:9338
+#: gtkpod.glade:9700 gtkpod.glade:10487 gtkpod.glade:10644 gtkpod.glade:10801
+#: gtkpod.glade:10922 gtkpod.glade:10975 gtkpod.glade:11132 gtkpod.glade:11389
+#: gtkpod.glade:11443 gtkpod.glade:11554 gtkpod.glade:11657 gtkpod.glade:11813
+#: gtkpod.glade:12027 gtkpod.glade:12248 gtkpod.glade:12386 gtkpod.glade:12751
+#: gtkpod.glade:12869 gtkpod.glade:13043 gtkpod.glade:13278 gtkpod.glade:13380
+msgid "    "
 msgstr ""
 
-#: gtkpod.glade:2514
-msgid "Overwrite tags that are already set."
-msgstr ""
-
-#: gtkpod.glade:2544
+#: gtkpod.glade:3482
 msgid ""
-"As a last resort set the following tags to the filename if they are (still) "
-"empty:"
+"In order to save the displayed track order to the iPod choose 'Save "
+"Displayed Track Order' from the 'Edit' menu or select 'Auto Store' below."
 msgstr ""
 
-#: gtkpod.glade:2723
-msgid "Tag Reading"
+#: gtkpod.glade:3865
+msgid "Ascending"
 msgstr ""
 
-#: gtkpod.glade:2762 gtkpod.glade:2985 gtkpod.glade:14020 gtkpod.glade:14234
-msgid "Currently only rating is supported."
+#: gtkpod.glade:3909
+msgid "Descending"
 msgstr ""
 
-#: gtkpod.glade:2764
-msgid "Use mserv database to fill in additional information"
+#: gtkpod.glade:3953
+msgid "None"
 msgstr ""
 
-#: gtkpod.glade:2792
-msgid "Music Root: "
+#: gtkpod.glade:4042
+msgid "Sorttabs"
 msgstr ""
 
-#: gtkpod.glade:2816 gtkpod.glade:14074
-msgid "mserv database lookup will be done for music in this directory."
+#: gtkpod.glade:4087
+msgid "Tracks"
 msgstr ""
 
-#: gtkpod.glade:2839 gtkpod.glade:2904 gtkpod.glade:5076 gtkpod.glade:5147
-#: gtkpod.glade:5261 gtkpod.glade:5405 gtkpod.glade:5476 gtkpod.glade:5547
-msgid "..."
+#: gtkpod.glade:4240
+msgid "Auto Store"
 msgstr ""
 
-#: gtkpod.glade:2857
-msgid "mserv Root: "
+#: gtkpod.glade:4285 gtkpod.glade:4331
+msgid "Please refer to the notice below."
 msgstr ""
 
-#: gtkpod.glade:2881 gtkpod.glade:14120
-msgid "Root directory of mserv database (trackinfo root)."
+#: gtkpod.glade:4563
+msgid "Sort tracks according to: "
 msgstr ""
 
-#: gtkpod.glade:2922
-msgid "Username: "
+#: gtkpod.glade:4593
+msgid ""
+"You can also use the table headers, but this allows you to sort according to "
+"a column that is not displayed."
 msgstr ""
 
-#: gtkpod.glade:2946 gtkpod.glade:14166
-msgid "Username to be used for mserv database lookup."
+#: gtkpod.glade:4629
+msgid ""
+"If checked, sorting will be case sensitive. Please note that case sensitive "
+"sorting will not work well with most charsets."
 msgstr ""
 
-#: gtkpod.glade:2987 gtkpod.glade:14236
-msgid "Show information about problems when accessing mserv"
+#: gtkpod.glade:4631
+msgid "Sorting case sensitive"
 msgstr ""
 
-#: gtkpod.glade:3030
-msgid "mserv"
+#: gtkpod.glade:4677
+msgid "<b>Ignore Frequent Words</b>"
 msgstr ""
 
-#: gtkpod.glade:3070 gtkpod.glade:13531
-msgid ""
-"Highly recommended for faster import when taking advantage of the "
-"duplication recognition. Also, having the PC filenames allows writing "
-"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
-"case of file system corruption (change the \"transferred=\" entries in your "
-"backuped database)."
+#: gtkpod.glade:4769
+msgid "Ignore these words when at the beginning of the following fields:"
 msgstr ""
 
-#: gtkpod.glade:3072 gtkpod.glade:13533
-msgid ""
-"Write extended information (PC filenames,\n"
-" MD5 hashes, charset). Recommended."
+#: gtkpod.glade:5040
+msgid "gtkpod Info"
 msgstr ""
 
-#: gtkpod.glade:3103
-msgid "Sync (Writing of iTunesDB)"
+#: gtkpod.glade:5339 gtkpod.glade:5414 gtkpod.glade:5439 gtkpod.glade:6065
+#: gtkpod.glade:6198
+msgid "      "
 msgstr ""
 
-#: gtkpod.glade:3143
-msgid "_Input/Output"
+#: gtkpod.glade:5692
+msgid "Number of tracks"
 msgstr ""
 
-#: gtkpod.glade:3270
-msgid "Relative volume adjustment between -100 and +100"
+#: gtkpod.glade:5718
+msgid "Play time"
 msgstr ""
 
-#: gtkpod.glade:3795
-msgid "Displayed Track Attributes "
+#: gtkpod.glade:5745
+msgid "File size"
 msgstr ""
 
-#: gtkpod.glade:3842
-msgid " _Number of sort tabs: "
+#: gtkpod.glade:5771
+msgid "Number of playlists"
 msgstr ""
 
-#: gtkpod.glade:3899
-msgid "Sort Tabs"
+#: gtkpod.glade:5797
+msgid "Deleted tracks"
 msgstr ""
 
-#: gtkpod.glade:3939 gtkpod.glade:15168
-msgid ""
-"If you don't select the master playlist automatically, the initial database "
-"import is much faster because the display dosn't have to be updated."
+#: gtkpod.glade:5823
+msgid "File size (deleted)"
 msgstr ""
 
-#: gtkpod.glade:3941 gtkpod.glade:15170
-msgid "...master playlist"
+#: gtkpod.glade:5849
+msgid "Non-transferred tracks"
 msgstr ""
 
-#: gtkpod.glade:3961 gtkpod.glade:15190
-msgid "...entry 'All' in sort tab..."
+#: gtkpod.glade:5875
+msgid "File size (non-transferred)"
 msgstr ""
 
-#: gtkpod.glade:4018
-msgid "Automatically select..."
+#: gtkpod.glade:5901
+msgid "Effective free space"
 msgstr ""
 
-#: gtkpod.glade:4059 gtkpod.glade:15447
-msgid "Display toolbar..."
+#: gtkpod.glade:5927
+msgid ""
+"Total\n"
+"(iPod)"
 msgstr ""
 
-#: gtkpod.glade:4088 gtkpod.glade:15541
-msgid "...both as icons and text"
+#: gtkpod.glade:5955
+msgid ""
+"Selected\n"
+"Playlist"
 msgstr ""
 
-#: gtkpod.glade:4112 gtkpod.glade:15520
-msgid "...as text"
+#: gtkpod.glade:5983
+msgid ""
+"Displayed\n"
+"Tracks"
 msgstr ""
 
-#: gtkpod.glade:4137 gtkpod.glade:15500
-msgid "...as icons"
+#: gtkpod.glade:6011
+msgid ""
+"Selected\n"
+"Tracks"
 msgstr ""
 
-#: gtkpod.glade:4175
-msgid "Toolbar"
+#: gtkpod.glade:6039
+msgid ""
+"Total\n"
+"(local)"
 msgstr ""
 
-#: gtkpod.glade:4216 gtkpod.glade:15326
-msgid "Display tooltips in main window"
+#: gtkpod.glade:6436
+msgid "label21"
 msgstr ""
 
-#: gtkpod.glade:4236 gtkpod.glade:15346
-msgid "Display tooltips in prefs window"
+#: gtkpod.glade:6527
+msgid "Never show this dialogue again"
 msgstr ""
 
-#: gtkpod.glade:4262
-msgid "Tooltips"
+#: gtkpod.glade:6572 gtkpod.glade:6898
+msgid "window1"
 msgstr ""
 
-#: gtkpod.glade:4346 gtkpod.glade:10103
-msgid "Sorting"
+#: gtkpod.glade:6629
+msgid "_M3U"
 msgstr ""
 
-#: gtkpod.glade:4378 gtkpod.glade:15656
-msgid ""
-"It is much faster to sort the display after all tracks have been added. Some "
-"people might feel irritated by this behaviour and should uncheck this option."
+#: gtkpod.glade:6648
+msgid "_PLS"
 msgstr ""
 
-#: gtkpod.glade:4380 gtkpod.glade:15658
+#: gtkpod.glade:6686
 msgid ""
-"Temporarily disable sorting when changing playlist\n"
-"or tab entry (faster!)"
+"If available, the local copy of the track is referenced in the playlist. "
+"Otherwise the file on the iPod is used."
 msgstr ""
 
-#: gtkpod.glade:4400 gtkpod.glade:15678
-msgid ""
-"The display can be blocked after changing a selection. The display update is "
-"faster, but you have to wait until it's finished. When using this option, "
-"sorting is also temporarily disabled (see option above)."
+#: gtkpod.glade:6688
+msgid "_Prefer Local"
 msgstr ""
 
-#: gtkpod.glade:4402 gtkpod.glade:15680
+#: gtkpod.glade:6706
 msgid ""
-"Block display when changing playlist or tab\n"
-" entry (faster!)"
+"The local copy of the track is referenced in the playlist. If the track is "
+"not available locally, an error message is displayed."
 msgstr ""
 
-#: gtkpod.glade:4422 gtkpod.glade:15700
-msgid "This option will be re-activated when you upgrade gtkpod."
+#: gtkpod.glade:6708
+msgid "_Local"
 msgstr ""
 
-#: gtkpod.glade:4424 gtkpod.glade:15702
-msgid "Display messages and warnings at startup"
+#: gtkpod.glade:6727
+msgid "The track on the iPod is referenced in the playlist file."
 msgstr ""
 
-#: gtkpod.glade:4446
-msgid "Misc"
+#: gtkpod.glade:6729
+msgid "_iPod"
 msgstr ""
 
-#: gtkpod.glade:4482 gtkpod.glade:6457
-msgid "_Display"
+#: gtkpod.glade:6762
+msgid "Playlist type:"
 msgstr ""
 
-#: gtkpod.glade:4536
-msgid ""
-"The tags are written to the files on your harddrive and on the ipod (if "
-"available)."
+#: gtkpod.glade:6787
+msgid "Source:"
 msgstr ""
 
-#: gtkpod.glade:4538 gtkpod.glade:15914
-msgid "Write ID3 tags to disk when modified in gtkpod"
+#: gtkpod.glade:6826
+msgid "Template for info field: "
 msgstr ""
 
-#: gtkpod.glade:4566
+#: gtkpod.glade:6847
 msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to write the tags. If you have chosen a wrong charset when first importing a "
-"track, you should select this option along with the correct charset.  Note: "
-"uses the extended information file to store the charset information (see "
-"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
-"before V0.51 will have no charset stored -- the charset specified on the "
-"'Input/Output' page will be used."
+"Determines how the string for the info field should be constructed, e.g '%a/%"
+"A/%T - %t.mp3' or '%o'.  You can separate several templates by semicolons -- "
+"gtkpod will determine which one to use by the filename extension given. "
+"Artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, original filename (requires extended information file): %"
+"o, the character '%': %%."
 msgstr ""
 
-#: gtkpod.glade:4568
-msgid ""
-"Use selected charset (on the 'Import' page)\n"
-" when writing tags"
+#: gtkpod.glade:6878 gtkpod.glade:7108
+msgid "gtkpod options"
 msgstr ""
 
-#: gtkpod.glade:4592
+#: gtkpod.glade:6934
+msgid "Filename Format: "
+msgstr ""
+
+#: gtkpod.glade:6955
 msgid ""
-"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
-"uses unicode to store the tags, so you won't have to worry about charsets "
-"any more. gtkpod will use UTF8 encoding as this will not increase the size "
-"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
-"present in the file to write to."
+"Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
+"mp3' or '%o'.  You can separate several patterns by semicolons -- gtkpod "
+"will determine which one to use by the filename extension given. Artist: %a, "
+"album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, "
+"year: %Y, original filename (requires extended information file): %o, "
+"current playlist: %p, the character '%': %%."
 msgstr ""
 
-#: gtkpod.glade:4594 gtkpod.glade:15988
-msgid "Always write ID3v2.4 tags (only applies to MP3)"
+#: gtkpod.glade:6960
+msgid " "
 msgstr ""
 
-#: gtkpod.glade:4624
+#: gtkpod.glade:6982
 msgid ""
-"If you select several tracks in the track list and edit a tag of the first "
-"track, the tags in the other tracks are updated as well."
+"Normally the charset specified when first importing the track will be used "
+"for the filename. If you set this option you can set a different charset "
+"with the charset selector (Preferences/'Adding/Updating/Syncing'). Note: the "
+"charset info is stored in the extended information file (see "
+"Preferences/'Writing of the iTunesDB'). Tracks imported before V0.51 will "
+"have no charset stored. Instead the charset specified will be used."
 msgstr ""
 
-#: gtkpod.glade:4626
-msgid "Use 'Multi-Edit' for track selections"
+#: gtkpod.glade:6984
+msgid ""
+"Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
+"for this filename."
 msgstr ""
 
-#: gtkpod.glade:4654
+#: gtkpod.glade:7003
 msgid ""
-"Usually you don't want to set the title of several tracks to the same text. "
-"This option might avoid unwanted results (especially since there is no "
-"'undo' yet)."
+"When copying from iPod no check is performed on whether the destination file "
+"exists. Enabling this option will make gtkpod check whether the length of "
+"the destination file is the same as the file in the iPod. If so the file is "
+"skipped, allowing a quick sync of the iPod's contents."
 msgstr ""
 
-#: gtkpod.glade:4656 gtkpod.glade:16069
-msgid "Use 'Multi-Edit' also for title field"
+#: gtkpod.glade:7005
+msgid "Check for existing files when copying from iPod."
 msgstr ""
 
-#: gtkpod.glade:4689
-msgid "Track Editing"
+#: gtkpod.glade:7169
+msgid "Playlist name:"
 msgstr ""
 
-#: gtkpod.glade:4738
-msgid ""
-"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
-"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
+#: gtkpod.glade:7234
+msgid "Match al_l of the following"
 msgstr ""
 
-#: gtkpod.glade:4762
-msgid " Number of tracks in generated playlists: "
+#: gtkpod.glade:7253
+msgid "Match an_y of the following"
 msgstr ""
 
-#: gtkpod.glade:4794 gtkpod.glade:16231
-msgid "Also include tracks never played in \"Best Rated\" playlist"
+#: gtkpod.glade:7273
+msgid "_Ignore rules"
 msgstr ""
 
-#: gtkpod.glade:4816
-msgid "Auto-Generated Playlists"
+#: gtkpod.glade:7343
+msgid "Rules"
 msgstr ""
 
-#: gtkpod.glade:4865 gtkpod.glade:16332
-msgid "Before removing playlists or tracks from a playlist"
+#: gtkpod.glade:7376
+msgid "_Limit to"
 msgstr ""
 
-#: gtkpod.glade:4885
-msgid "Before removing tracks completely from the iPod"
+#: gtkpod.glade:7425
+msgid "   Sort by:"
 msgstr ""
 
-#: gtkpod.glade:4904
-msgid ""
-"This option only has a meaning if you activate the 'Delete Tracks that have "
-"been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/"
-"Output' tab."
+#: gtkpod.glade:7471
+msgid "Match only _checked tracks"
 msgstr ""
 
-#: gtkpod.glade:4906
-msgid ""
-"Before removing tracks completely when\n"
-" synchronizing directories"
+#: gtkpod.glade:7503
+msgid "Live _updating"
 msgstr ""
 
-#: gtkpod.glade:4929
-msgid "Delete Confirmation "
+#: gtkpod.glade:7594
+msgid "Preferences"
 msgstr ""
 
-#: gtkpod.glade:5028
-msgid "Command Line for 'Play Now':"
+#: gtkpod.glade:7655
+msgid "<b>Import</b>"
 msgstr ""
 
-#: gtkpod.glade:5055
-msgid ""
-"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
-"tracks and start playing."
+#: gtkpod.glade:7715
+msgid "iPod Mount _Point:"
 msgstr ""
 
-#: gtkpod.glade:5099
-msgid "Command Line for 'Enqueue':"
+#: gtkpod.glade:7737
+msgid ""
+"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
 msgstr ""
 
-#: gtkpod.glade:5126
+#: gtkpod.glade:7765
 msgid ""
-"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
-"current playlist."
+"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
+"<ipod mountpoint>' call is carried out. For more complicated arrangements "
+"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
 msgstr ""
 
-#: gtkpod.glade:5172
-msgid "Track Playing"
+#: gtkpod.glade:7767
+msgid "Handle mounting/unmounting of iPod drive"
 msgstr ""
 
-#: gtkpod.glade:5213
-msgid "Exact path for the 'mp3gain' executable:"
+#: gtkpod.glade:7787
+msgid "Automatically import iTunesDB on startup"
 msgstr ""
 
-#: gtkpod.glade:5240
-msgid ""
-"You only need to specify this if your 'mp3gain' executable is not in your "
-"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
-"calculated gain value back to the file -- if you don't want this, set this "
-"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
-"are not already set by your encoder. E.g. lame version 0.95 already writes "
-"the gain values into tags. The exact conversion factor between mp3gain's "
-"gain value and iPod's volume tag is not known yet -- your input is "
-"appreciated."
+#: gtkpod.glade:7833
+msgid "<b>Adding/Updating/Syncing</b>"
 msgstr ""
 
-#: gtkpod.glade:5294
-msgid "Volume Normalization"
+#: gtkpod.glade:7893
+msgid "_Encoding (ID3, files):"
 msgstr ""
 
-#: gtkpod.glade:5357
-msgid "Command to synchronize contacts:"
+#: gtkpod.glade:7924
+msgid ""
+"gtkpod expects the ID3 tags and the filenames to be in the encoding "
+"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
+"operation. 'System Charset' is the charset used by your current locale."
 msgstr ""
 
-#: gtkpod.glade:5384 gtkpod.glade:5455 gtkpod.glade:5526
+#: gtkpod.glade:7961
 msgid ""
-"Specify exact path including command line options. '%i' will be replaced "
-"with the mount point of the iPod."
+"Normally the charset specified when first importing the track will be used "
+"to update the track information. If you have chosen a wrong charset when "
+"first importing a track and want to correct it using the 'Update Track' "
+"function, you must check this option. Note: the charset info is stored in "
+"the extended information file (see 'Writing of iTunesDB' below) and tracks "
+"imported before V0.51 will have no charset stored. Instead the charset "
+"specified above will be used then."
 msgstr ""
 
-#: gtkpod.glade:5428
-msgid "Command to be called to synchronize calendar:"
+#: gtkpod.glade:7963
+msgid ""
+"Use selected encoding also when updating \n"
+"or syncing tracks"
 msgstr ""
 
-#: gtkpod.glade:5499
-msgid "Command to be called to synchronize notes:"
+#: gtkpod.glade:7983
+msgid "If you check this, gtkpod will descend into subdirectories recursively."
 msgstr ""
 
-#: gtkpod.glade:5570 gtkpod.glade:17110
-msgid "Call automatically when synchronizing iTunesDB"
+#: gtkpod.glade:7985
+msgid "Add directories recursively"
 msgstr ""
 
-#: gtkpod.glade:5592
-msgid "Contacts / Calendar / Notes"
+#: gtkpod.glade:8004
+msgid "Duplicate Recognition is based on a (modified) md5 hash over the file."
 msgstr ""
 
-#: gtkpod.glade:5716
-msgid "special_sorttab -- Don't translate!"
+#: gtkpod.glade:8006
+msgid "Don't allow file duplication"
 msgstr ""
 
-#: gtkpod.glade:5750
-msgid " Logic: "
+#: gtkpod.glade:8052
+msgid ""
+"Display the list of duplicates that have been detected after adding files."
 msgstr ""
 
-#: gtkpod.glade:5772
-msgid "Any (OR)"
+#: gtkpod.glade:8054
+msgid "Display info about detected duplicates"
 msgstr ""
 
-#: gtkpod.glade:5791
-msgid "All (AND)"
+#: gtkpod.glade:8080
+msgid ""
+"If the filename (full path) of an existing track matches that of a track to "
+"be added, this option allows you to update the information about the "
+"existing track rather than just skipping the track altogether. No update "
+"will take place if the file hasn't changed and you have selected the 'Don't "
+"allow file duplication' option above."
 msgstr ""
 
-#: gtkpod.glade:5844
-msgid "0"
+#: gtkpod.glade:8082
+msgid ""
+"When adding dirs/files, update information of\n"
+"existing tracks with identical filenames"
 msgstr ""
 
-#: gtkpod.glade:5863
-msgid "1"
+#: gtkpod.glade:8129
+msgid "Display a list of tracks that could actually be updated."
 msgstr ""
 
-#: gtkpod.glade:5882
-msgid "2"
+#: gtkpod.glade:8131
+msgid "Display info about updated tracks"
 msgstr ""
 
-#: gtkpod.glade:5901
-msgid "3"
+#: gtkpod.glade:8184
+msgid "Display a list of tracks that could not be updated."
 msgstr ""
 
-#: gtkpod.glade:5920
-msgid "4"
+#: gtkpod.glade:8186
+msgid "Display info about non-updated tracks"
 msgstr ""
 
-#: gtkpod.glade:5939
-msgid "5"
+#: gtkpod.glade:8212
+msgid "When syncing directories"
 msgstr ""
 
-#: gtkpod.glade:5978
-msgid "Select '0' for no lower limit."
+#: gtkpod.glade:8267
+msgid "Confirm lists of directories"
 msgstr ""
 
-#: gtkpod.glade:5999
-msgid " <= cts <= "
+#: gtkpod.glade:8286
+msgid ""
+"If you check this option, tracks that have been removed from the synced "
+"directories will be removed from the iPod as well."
 msgstr ""
 
-#: gtkpod.glade:6020
-msgid "Select '-1' for no upper limit."
+#: gtkpod.glade:8288
+msgid "Delete tracks that have been removed"
 msgstr ""
 
-#: gtkpod.glade:6063 gtkpod.glade:6136 gtkpod.glade:6302
-msgid ""
-"'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
-"finished."
+#: gtkpod.glade:8307
+msgid "This is the same option as in 'Edit/Delete Confirmation'"
 msgstr ""
 
-#: gtkpod.glade:6105 gtkpod.glade:6178 gtkpod.glade:6344 gtkpod.glade:6519
-msgid "Calendar"
+#: gtkpod.glade:8309
+msgid "Confirm before removing tracks"
 msgstr ""
 
-#: gtkpod.glade:6203
-msgid "Specify interval"
+#: gtkpod.glade:8369
+msgid "<b>Sync</b>"
 msgstr ""
 
-#: gtkpod.glade:6414
-msgid "Display tracks that match the criteria entered above."
+#: gtkpod.glade:8417
+msgid ""
+"Highly recommended for faster import when taking advantage of the "
+"duplication recognition. Also, having the PC filenames allows writing "
+"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
+"case of file system corruption (change the \"transferred=\" entries in your "
+"backuped database)."
 msgstr ""
 
-#: gtkpod.glade:6489
+#: gtkpod.glade:8419
 msgid ""
-"Automatically start displaying tracks that match the criteria entered above. "
-"If not selected, you must press 'Display' to start displaying."
+"Write extended information (PC filenames,\n"
+" MD5 hashes, encoding). Recommended."
 msgstr ""
 
-#: gtkpod.glade:6491
-msgid "Start display automatically"
+#: gtkpod.glade:8463 gtkpod.glade:14969
+msgid "_General"
 msgstr ""
 
-#: gtkpod.glade:6564
-msgid "Sorttab: "
+#: gtkpod.glade:8495
+msgid "<b>Tag Reading</b>"
 msgstr ""
 
-#: gtkpod.glade:6604
-msgid "     "
+#: gtkpod.glade:8550
+msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
 msgstr ""
 
-#: gtkpod.glade:6626
-msgid "Category: "
+#: gtkpod.glade:8569 gtkpod.glade:8906
+msgid ""
+"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
+"several templates by a ';'. The first one matching the filename will be "
+"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
 msgstr ""
 
-#: gtkpod.glade:6703
-msgid "Please specify a time interval"
+#: gtkpod.glade:8571
+msgid "Use this template to parse filename for tag information:"
 msgstr ""
 
-#: gtkpod.glade:6748
-msgid "Lower Margin"
+#: gtkpod.glade:8644
+msgid "Overwrite tags that are already set"
 msgstr ""
 
-#: gtkpod.glade:6795 gtkpod.glade:7001
-msgid "Time:"
+#: gtkpod.glade:8677
+msgid ""
+"As a last resort set the following tags to the\n"
+"filename if they are (still) empty:"
 msgstr ""
 
-#: gtkpod.glade:6838 gtkpod.glade:7044
-msgid ":"
+#: gtkpod.glade:8852
+msgid "<b>Artwork</b>"
 msgstr ""
 
-#: gtkpod.glade:6911
-msgid "No lower margin"
+#: gtkpod.glade:8908
+msgid "Add artwork from file using the following template"
 msgstr ""
 
-#: gtkpod.glade:6954
-msgid "Upper margin"
+#: gtkpod.glade:8960
+msgid ""
+"Determines the name of the file with the cover art. You can separate several "
+"patterns by semicolons which will be tried in order. Artist: %a, album: %A, "
+"composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, "
+"original filename (requires extended information file): %o, original "
+"filename without file extension: %O, current playlist: %p, the character "
+"'%': %%."
 msgstr ""
 
-#: gtkpod.glade:7117
-msgid "No upper margin"
+#: gtkpod.glade:8981
+msgid "<b>Examples</b>"
 msgstr ""
 
-#: gtkpod.glade:7215 gtkpod.glade:8858
-msgid "Sorting Options"
+#: gtkpod.glade:9011
+msgid "folder.jpg"
 msgstr ""
 
-#: gtkpod.glade:7245
-msgid "<b>Sort Order</b>"
+#: gtkpod.glade:9035
+msgid "folder"
 msgstr ""
 
-#: gtkpod.glade:7272 gtkpod.glade:8522 gtkpod.glade:12807 gtkpod.glade:12983
-#: gtkpod.glade:13151 gtkpod.glade:13226 gtkpod.glade:13280 gtkpod.glade:13355
-#: gtkpod.glade:13510 gtkpod.glade:13636 gtkpod.glade:13710 gtkpod.glade:13993
-#: gtkpod.glade:14355 gtkpod.glade:15005 gtkpod.glade:15141 gtkpod.glade:15298
-#: gtkpod.glade:15419 gtkpod.glade:15472 gtkpod.glade:15629 gtkpod.glade:15886
-#: gtkpod.glade:15939 gtkpod.glade:16047 gtkpod.glade:16149 gtkpod.glade:16304
-#: gtkpod.glade:16518 gtkpod.glade:16737 gtkpod.glade:16874
-msgid "    "
+#: gtkpod.glade:9059
+msgid "../%A.jpg"
 msgstr ""
 
-#: gtkpod.glade:7300
-msgid ""
-"In order to save the displayed track order to the iPod choose 'Save "
-"Displayed Track Order' from the 'Edit' menu or select 'Auto Store' below."
+#: gtkpod.glade:9083
+msgid "%A"
 msgstr ""
 
-#: gtkpod.glade:7683 gtkpod.glade:9257
-msgid "Ascending"
+#: gtkpod.glade:9107
+msgid "Use <i>folder.jpg</i> as cover art."
 msgstr ""
 
-#: gtkpod.glade:7727 gtkpod.glade:9301
-msgid "Descending"
+#: gtkpod.glade:9131
+msgid "Use <i>folder.jpg</i>, <i>folder.png</i>..."
 msgstr ""
 
-#: gtkpod.glade:7771 gtkpod.glade:9345
-msgid "None"
+#: gtkpod.glade:9155
+msgid "Use <i>&lt;Album&gt;.jpg</i> in the parent directory"
 msgstr ""
 
-#: gtkpod.glade:7860 gtkpod.glade:9434
-msgid "Sorttabs"
+#: gtkpod.glade:9179
+msgid "Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
 msgstr ""
 
-#: gtkpod.glade:7905 gtkpod.glade:9479
-msgid "Tracks"
+#: gtkpod.glade:9203
+msgid "folder.jpg;%a.jpg"
 msgstr ""
 
-#: gtkpod.glade:8058 gtkpod.glade:9632
-msgid "Auto Store"
+#: gtkpod.glade:9227
+msgid "First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i>"
 msgstr ""
 
-#: gtkpod.glade:8103 gtkpod.glade:8149 gtkpod.glade:9677 gtkpod.glade:9723
-msgid "Please refer to the notice below."
+#: gtkpod.glade:9311
+msgid "<b>mserv</b>"
 msgstr ""
 
-#: gtkpod.glade:8183 gtkpod.glade:9757
-msgid "n/a"
+#: gtkpod.glade:9365 gtkpod.glade:9579
+msgid "Currently only rating is supported."
 msgstr ""
 
-#: gtkpod.glade:8381 gtkpod.glade:9955
-msgid "Sort tracks according to: "
+#: gtkpod.glade:9367
+msgid "Use mserv database to fill additional information"
 msgstr ""
 
-#: gtkpod.glade:8411 gtkpod.glade:9985
-msgid ""
-"You can also use the table headers, but this allows you to sort according to "
-"a column that is not displayed."
+#: gtkpod.glade:9395
+msgid "Music Root:"
 msgstr ""
 
-#: gtkpod.glade:8447 gtkpod.glade:10032
-msgid ""
-"If checked, sorting will be case sensitive. Please note that case sensitive "
-"sorting will not work well with most charsets."
+#: gtkpod.glade:9419
+msgid "mserv database lookup will be done for music in this directory."
 msgstr ""
 
-#: gtkpod.glade:8449 gtkpod.glade:10034
-msgid "Sorting case sensitive"
+#: gtkpod.glade:9441
+msgid "mserv Root:"
 msgstr ""
 
-#: gtkpod.glade:8495
-msgid "<b>Ignore Frequent Words</b>"
+#: gtkpod.glade:9465
+msgid "Root directory of mserv database (trackinfo root)."
 msgstr ""
 
-#: gtkpod.glade:8587
-msgid "Ignore these words when at the beginning of the following fields:"
+#: gtkpod.glade:9487
+msgid "Username:"
 msgstr ""
 
-#: gtkpod.glade:10071
-msgid ""
-"Notice: the track order is always stored to the iPod when you use drag and "
-"drop to re-arrange the tracks.\n"
-"In order to store an alphabetized track order to the iPod you must choose "
-"the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' "
-"above."
+#: gtkpod.glade:9511
+msgid "Username to be used for mserv database lookup."
 msgstr ""
 
-#: gtkpod.glade:10183
-msgid "gtkpod Info"
+#: gtkpod.glade:9535 gtkpod.glade:9554 gtkpod.glade:12102 gtkpod.glade:12172
+#: gtkpod.glade:12317 gtkpod.glade:12490 gtkpod.glade:12555 gtkpod.glade:12620
+msgid "Browse"
 msgstr ""
 
-#: gtkpod.glade:10482 gtkpod.glade:10557 gtkpod.glade:10582 gtkpod.glade:11208
-#: gtkpod.glade:11341
-msgid "      "
+#: gtkpod.glade:9581
+msgid "Show information about problems when accessing mserv"
 msgstr ""
 
-#: gtkpod.glade:10835
-msgid "Number of tracks"
+#: gtkpod.glade:9627
+msgid "_Track Info"
 msgstr ""
 
-#: gtkpod.glade:10861
-msgid "Play time"
+#: gtkpod.glade:9673
+msgid "<b>Displayed Track Attributes</b>"
 msgstr ""
 
-#: gtkpod.glade:10888
-msgid "File size"
+#: gtkpod.glade:10460
+msgid "<b>Sort Tabs</b>"
 msgstr ""
 
-#: gtkpod.glade:10914
-msgid "Number of playlists"
+#: gtkpod.glade:10514
+msgid "Keeps all compilation CDs grouped together in the artists sort tab."
 msgstr ""
 
-#: gtkpod.glade:10940
-msgid "Deleted tracks"
+#: gtkpod.glade:10516
+msgid "Group artists on compilation CDs"
 msgstr ""
 
-#: gtkpod.glade:10966
-msgid "File size (deleted)"
+#: gtkpod.glade:10541
+msgid "_Number of sort tabs:"
 msgstr ""
 
-#: gtkpod.glade:10992
-msgid "Non-transferred tracks"
+#: gtkpod.glade:10617
+msgid "<b>Automatically select...</b>"
 msgstr ""
 
-#: gtkpod.glade:11018
-msgid "File size (non-transferred)"
+#: gtkpod.glade:10671
+msgid ""
+"If you don't select the master playlist automatically, the initial database "
+"import is much faster because the display dosn't have to be updated."
 msgstr ""
 
-#: gtkpod.glade:11044
-msgid "Effective free space"
+#: gtkpod.glade:10673
+msgid "...master playlist"
 msgstr ""
 
-#: gtkpod.glade:11070
-msgid ""
-"Total\n"
-"(iPod)"
+#: gtkpod.glade:10693
+msgid "...entry 'All' in sort tab..."
 msgstr ""
 
-#: gtkpod.glade:11098
-msgid ""
-"Selected\n"
-"Playlist"
+#: gtkpod.glade:10774
+msgid "<b>Tooltips</b>"
 msgstr ""
 
-#: gtkpod.glade:11126
-msgid ""
-"Displayed\n"
-"Tracks"
+#: gtkpod.glade:10829
+msgid "Display tooltips in main window"
 msgstr ""
 
-#: gtkpod.glade:11154
-msgid ""
-"Selected\n"
-"Tracks"
+#: gtkpod.glade:10849
+msgid "Display tooltips in prefs window"
 msgstr ""
 
-#: gtkpod.glade:11182
-msgid ""
-"Total\n"
-"(local)"
+#: gtkpod.glade:10895
+msgid "<b>Toolbar</b>"
 msgstr ""
 
-#: gtkpod.glade:11579
-msgid "label21"
+#: gtkpod.glade:10950
+msgid "Display toolbar..."
 msgstr ""
 
-#: gtkpod.glade:11670
-msgid "Never show this dialogue again"
+#: gtkpod.glade:11003
+msgid "...as icons"
 msgstr ""
 
-#: gtkpod.glade:11715 gtkpod.glade:12041
-msgid "window1"
+#: gtkpod.glade:11023
+msgid "...as text"
 msgstr ""
 
-#: gtkpod.glade:11772
-msgid "_M3U"
+#: gtkpod.glade:11044
+msgid "...both as icons and text"
 msgstr ""
 
-#: gtkpod.glade:11791
-msgid "_PLS"
+#: gtkpod.glade:11105
+msgid "<b>Misc</b>"
 msgstr ""
 
-#: gtkpod.glade:11829
+#: gtkpod.glade:11159
 msgid ""
-"If available, the local copy of the track is referenced in the playlist. "
-"Otherwise the file on the iPod is used."
+"It is much faster to sort the display after all tracks have been added. Some "
+"people might feel irritated by this behaviour and should uncheck this option."
 msgstr ""
 
-#: gtkpod.glade:11831
-msgid "_Prefer Local"
+#: gtkpod.glade:11161
+msgid ""
+"Temporarily disable sorting when changing playlist\n"
+"or tab entry (faster!)"
 msgstr ""
 
-#: gtkpod.glade:11849
+#: gtkpod.glade:11181
 msgid ""
-"The local copy of the track is referenced in the playlist. If the track is "
-"not available locally, an error message is displayed."
+"The display can be blocked after changing a selection. The display update is "
+"faster, but you have to wait until it's finished. When using this option, "
+"sorting is also temporarily disabled (see option above)."
 msgstr ""
 
-#: gtkpod.glade:11851
-msgid "_Local"
+#: gtkpod.glade:11183
+msgid ""
+"Block display when changing playlist or tab\n"
+" entry (faster!)"
 msgstr ""
 
-#: gtkpod.glade:11870
-msgid "The track on the iPod is referenced in the playlist file."
+#: gtkpod.glade:11203
+msgid "This option will be re-activated when you upgrade gtkpod."
 msgstr ""
 
-#: gtkpod.glade:11872
-msgid "_iPod"
+#: gtkpod.glade:11205
+msgid "Display messages and warnings at startup"
 msgstr ""
 
-#: gtkpod.glade:11905
-msgid "Playlist type:"
+#: gtkpod.glade:11267
+msgid "Advanced Sorting Options"
 msgstr ""
 
-#: gtkpod.glade:11930
-msgid "Source:"
+#: gtkpod.glade:11362
+msgid "<b>Track Editing</b>"
 msgstr ""
 
-#: gtkpod.glade:11969
-msgid "Template for info field: "
+#: gtkpod.glade:11416
+msgid ""
+"The tags are written to the files on your harddrive and on the ipod (if "
+"available)."
 msgstr ""
 
-#: gtkpod.glade:11990
-msgid ""
-"Determines how the string for the info field should be constructed, e.g '%a/%"
-"A/%T - %t.mp3' or '%o'.  You can separate several templates by semicolons -- "
-"gtkpod will determine which one to use by the filename extension given. "
-"Artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, original filename (requires extended information file): %"
-"o, the character '%': %%."
+#: gtkpod.glade:11418
+msgid "Write ID3 tags to disk when modified in gtkpod"
 msgstr ""
 
-#: gtkpod.glade:12021 gtkpod.glade:12251
-msgid "gtkpod options"
+#: gtkpod.glade:11470
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to write the tags. If you have chosen a wrong charset when first importing a "
+"track, you should select this option along with the correct charset.  Note: "
+"uses the extended information file to store the charset information (see "
+"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
+"before V0.51 will have no charset stored -- the charset specified on the "
+"'Input/Output' page will be used."
 msgstr ""
 
-#: gtkpod.glade:12077
-msgid "Filename Format: "
+#: gtkpod.glade:11472
+msgid ""
+"Use selected encoding (on the 'General' page)\n"
+"when writing tags"
 msgstr ""
 
-#: gtkpod.glade:12098
+#: gtkpod.glade:11492
 msgid ""
-"Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
-"mp3' or '%o'.  You can separate several patterns by semicolons -- gtkpod "
-"will determine which one to use by the filename extension given. Artist: %a, "
-"album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, "
-"year: %Y, original filename (requires extended information file): %o, "
-"current playlist: %p, the character '%': %%."
+"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
+"uses unicode to store the tags, so you won't have to worry about charsets "
+"any more. gtkpod will use UTF8 encoding as this will not increase the size "
+"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
+"present in the file to write to."
 msgstr ""
 
-#: gtkpod.glade:12103
-msgid " "
+#: gtkpod.glade:11494
+msgid "Always write ID3v2.4 tags (only applies to MP3)"
 msgstr ""
 
-#: gtkpod.glade:12125
+#: gtkpod.glade:11527
 msgid ""
-"Normally the charset specified when first importing the track will be used "
-"for the filename. If you set this option you can set a different charset "
-"with the charset selector (Preferences/'Adding/Updating/Syncing'). Note: the "
-"charset info is stored in the extended information file (see "
-"Preferences/'Writing of the iTunesDB'). Tracks imported before V0.51 will "
-"have no charset stored. Instead the charset specified will be used."
+"If you select several tracks in the track list and edit a tag of the first "
+"track, the tags in the other tracks are updated as well."
 msgstr ""
 
-#: gtkpod.glade:12127
-msgid ""
-"Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
-"for this filename."
+#: gtkpod.glade:11529
+msgid "Use 'Multi-Edit' for tracks selections"
 msgstr ""
 
-#: gtkpod.glade:12146
+#: gtkpod.glade:11575
 msgid ""
-"When copying from iPod no check is performed on whether the destination file "
-"exists. Enabling this option will make gtkpod check whether the length of "
-"the destination file is the same as the file in the iPod. If so the file is "
-"skipped, allowing a quick sync of the iPod's contents."
+"Usually you don't want to set the title of several tracks to the same text. "
+"This option might avoid unwanted results (especially since there is no "
+"'undo' yet)."
 msgstr ""
 
-#: gtkpod.glade:12148
-msgid "Check for existing files when copying from iPod."
+#: gtkpod.glade:11577
+msgid "Use 'Multi-Edit' also for title field"
 msgstr ""
 
-#: gtkpod.glade:12312
-msgid "Playlist name:"
+#: gtkpod.glade:11630
+msgid "<b>Auto-Generated Playlists</b>"
 msgstr ""
 
-#: gtkpod.glade:12377
-msgid "Match al_l of the following"
+#: gtkpod.glade:11690
+msgid "Number of tracks in generated playlists:"
 msgstr ""
 
-#: gtkpod.glade:12396
-msgid "Match an_y of the following"
+#: gtkpod.glade:11711
+msgid ""
+"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
+"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
 msgstr ""
 
-#: gtkpod.glade:12416
-msgid "_Ignore rules"
+#: gtkpod.glade:11740
+msgid "Also include tracks never played in \"Best Rated\" playlist"
 msgstr ""
 
-#: gtkpod.glade:12468
-msgid "Rules"
+#: gtkpod.glade:11786
+msgid "<b>Delete Confirmation</b>"
 msgstr ""
 
-#: gtkpod.glade:12501
-msgid "_Limit to"
+#: gtkpod.glade:11841
+msgid "Before removing playlists or tracks from a playlist"
 msgstr ""
 
-#: gtkpod.glade:12550
-msgid "   Sort by:"
+#: gtkpod.glade:11861
+msgid "Before removing tracks from the iPod"
 msgstr ""
 
-#: gtkpod.glade:12596
-msgid "Match only _checked tracks"
+#: gtkpod.glade:11881
+msgid "Before removing tracks from the harddisk"
 msgstr ""
 
-#: gtkpod.glade:12628
-msgid "Live _updating"
+#: gtkpod.glade:11901
+msgid "Before removing tracks from the local database"
 msgstr ""
 
-#: gtkpod.glade:12780
-msgid "<b>Import</b>"
+#: gtkpod.glade:11921
+msgid ""
+"Before removing tracks completely when\n"
+"synchronizing directories"
 msgstr ""
 
-#: gtkpod.glade:12840
-msgid "iPod Mount _Point:"
+#: gtkpod.glade:12000
+msgid "<b>Play</b>"
 msgstr ""
 
-#: gtkpod.glade:12956
-msgid "<b>Adding/Updating/Syncing</b>"
+#: gtkpod.glade:12060
+msgid "Command for 'Play now':"
 msgstr ""
 
-#: gtkpod.glade:13016
-msgid "_Charset (ID3, files):"
+#: gtkpod.glade:12081
+msgid ""
+"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
+"tracks and start playing."
 msgstr ""
 
-#: gtkpod.glade:13085
-msgid ""
-"Use selected charset also when updating \n"
-"or syncing tracks"
+#: gtkpod.glade:12130
+msgid "Command for 'Enqueue':"
 msgstr ""
 
-#: gtkpod.glade:13200
+#: gtkpod.glade:12151
 msgid ""
-"When adding dirs/files, update information of\n"
-"existing tracks with identical filenames"
+"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
+"current playlist."
 msgstr ""
 
-#: gtkpod.glade:13383
-msgid "Confirm lists of directories"
+#: gtkpod.glade:12221
+msgid "<b>Volume Normalization</b>"
 msgstr ""
 
-#: gtkpod.glade:13483
-msgid "<b>Sync</b>"
+#: gtkpod.glade:12275
+msgid "'mp3gain' executable:"
 msgstr ""
 
-#: gtkpod.glade:13577
-msgid "General"
+#: gtkpod.glade:12296
+msgid ""
+"You only need to specify this if your 'mp3gain' executable is not in your "
+"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
+"calculated gain value back to the file -- if you don't want this, set this "
+"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
+"are not already set by your encoder. E.g. lame version 0.95 already writes "
+"the gain values into tags. The exact conversion factor between mp3gain's "
+"gain value and iPod's volume tag is not known yet -- your input is "
+"appreciated."
 msgstr ""
 
-#: gtkpod.glade:13609
-msgid "<b>Tag Reading</b>"
+#: gtkpod.glade:12359
+msgid "<b>Synchronization</b>"
 msgstr ""
 
-#: gtkpod.glade:13685
-msgid "Use this template to parse filename for tag information:"
+#: gtkpod.glade:12443
+msgid "Contacts sync command:"
 msgstr ""
 
-#: gtkpod.glade:13758
-msgid "Overwrite tags that are already set"
-msgstr ""
-
-#: gtkpod.glade:13791
+#: gtkpod.glade:12467 gtkpod.glade:12532 gtkpod.glade:12597
 msgid ""
-"As a last resort set the following tags to the\n"
-"filename if they are (still) empty:"
+"Specify exact path including command line options. '%i' will be replaced "
+"with the mount point of the iPod."
 msgstr ""
 
-#: gtkpod.glade:13966
-msgid "<b>mserv</b>"
+#: gtkpod.glade:12508
+msgid "Calendar sync command:"
 msgstr ""
 
-#: gtkpod.glade:14022
-msgid "Use mserv database to fill additional information"
+#: gtkpod.glade:12573
+msgid "Notes sync command:"
 msgstr ""
 
-#: gtkpod.glade:14050
-msgid "Music Root:"
+#: gtkpod.glade:12646
+msgid "Call automatically when synchronizing iTunesDB"
 msgstr ""
 
-#: gtkpod.glade:14096
-msgid "mserv Root:"
+#: gtkpod.glade:12724
+msgid "<b>Podcast subscriptions</b>"
 msgstr ""
 
-#: gtkpod.glade:14142
-msgid "Username:"
+#: gtkpod.glade:12799
+msgid "Add"
 msgstr ""
 
-#: gtkpod.glade:14190 gtkpod.glade:14209 gtkpod.glade:16592 gtkpod.glade:16661
-#: gtkpod.glade:16805 gtkpod.glade:16956 gtkpod.glade:17020 gtkpod.glade:17084
-msgid "Browse"
+#: gtkpod.glade:12833
+msgid "Delete"
 msgstr ""
 
-#: gtkpod.glade:14282
-msgid "Reading"
+#: gtkpod.glade:12899
+msgid "Name: "
 msgstr ""
 
-#: gtkpod.glade:14328
-msgid "<b>Displayed Track Attributes</b>"
+#: gtkpod.glade:12923
+msgid "URL: "
 msgstr ""
 
-#: gtkpod.glade:14978
-msgid "<b>Sort Tabs</b>"
+#: gtkpod.glade:13016
+msgid "<b>File options</b>"
 msgstr ""
 
-#: gtkpod.glade:15038
-msgid "_Number of sort tabs:"
+#: gtkpod.glade:13076
+msgid "Save podcasts to: "
 msgstr ""
 
-#: gtkpod.glade:15114
-msgid "<b>Automatically select...</b>"
+#: gtkpod.glade:13131
+msgid "Delete from computer when "
 msgstr ""
 
-#: gtkpod.glade:15271
-msgid "<b>Tooltips</b>"
+#: gtkpod.glade:13171 gtkpod.glade:13473
+msgid " days old"
 msgstr ""
 
-#: gtkpod.glade:15392
-msgid "<b>Toolbar</b>"
+#: gtkpod.glade:13200
+msgid "Delete once copied to iPod"
 msgstr ""
 
-#: gtkpod.glade:15602
-msgid "<b>Misc</b>"
+#: gtkpod.glade:13226
+msgid "Automatically fetch podcasts on startup"
 msgstr ""
 
-#: gtkpod.glade:15764
-msgid "Advanced Sorting Options"
+#: gtkpod.glade:13253
+msgid "Create podcast logfile at:"
 msgstr ""
 
-#: gtkpod.glade:15827
-msgid "Display"
+#: gtkpod.glade:13353
+msgid "<b>iPod options</b>"
 msgstr ""
 
-#: gtkpod.glade:15859
-msgid "<b>Track Editing</b>"
+#: gtkpod.glade:13408
+msgid "Automatically sync to iPod"
 msgstr ""
 
-#: gtkpod.glade:15967
-msgid ""
-"Use selected charset (on the 'General' page)\n"
-"when writing tags"
+#: gtkpod.glade:13434
+msgid "Delete from iPod when "
 msgstr ""
 
-#: gtkpod.glade:16022
-msgid "Use 'Multi-Edit' for tracks selections"
+#: gtkpod.glade:13502
+msgid "Delete from iPod if podcast has been played"
 msgstr ""
 
-#: gtkpod.glade:16122
-msgid "<b>Auto-Generated Playlists</b>"
+#: gtkpod.glade:13522
+msgid "Include broadcast date in track title"
 msgstr ""
 
-#: gtkpod.glade:16182
-msgid "Number of tracks in generated playlists:"
+#: gtkpod.glade:13542
+msgid "Set all podcast genres to 'Podcast'"
 msgstr ""
 
-#: gtkpod.glade:16277
-msgid "<b>Delete Confirmation</b>"
+#: gtkpod.glade:13588 gtkpod.glade:15341
+msgid "_Podcasts"
 msgstr ""
 
-#: gtkpod.glade:16352
-msgid "Before removing tracks from the iPod"
+#: gtkpod.glade:13753
+msgid ""
+"\n"
+"\n"
 msgstr ""
 
-#: gtkpod.glade:16372
-msgid "Before removing tracks from the harddisk"
+#: gtkpod.glade:13787
+msgid "Abort selected"
 msgstr ""
 
-#: gtkpod.glade:16392
-msgid "Before removing tracks from the local database"
+#: gtkpod.glade:13803
+msgid "Abort current"
 msgstr ""
 
-#: gtkpod.glade:16412
-msgid ""
-"Before removing tracks completely when\n"
-"synchronizing directories"
+#: gtkpod.glade:13819
+msgid "Abort all"
 msgstr ""
 
-#: gtkpod.glade:16491
-msgid "<b>Play</b>"
+#: gtkpod.glade:13843
+msgid "Details"
 msgstr ""
 
-#: gtkpod.glade:16551
-msgid "Command for 'Play now':"
+#: gtkpod.glade:13904
+msgid "Cover"
 msgstr ""
 
-#: gtkpod.glade:16620
-msgid "Command for 'Enqueue':"
+#: gtkpod.glade:13989
+msgid "Set Cover Art"
 msgstr ""
 
-#: gtkpod.glade:16710
-msgid "<b>Volume Normalization</b>"
+#: gtkpod.glade:14022
+msgid ""
+"If you check this, information (cover art and meta information) changed for "
+"this track will be copied to all other selected tracks as well. Use with "
+"care."
 msgstr ""
 
-#: gtkpod.glade:16764
-msgid "'mp3gain' executable:"
+#: gtkpod.glade:14068
+msgid ""
+"Change all tracks\n"
+"simultaneously"
 msgstr ""
 
-#: gtkpod.glade:16847
-msgid "<b>Synchronization</b>"
+#: gtkpod.glade:14156
+msgid "Remove Cover Art"
 msgstr ""
 
-#: gtkpod.glade:16910
-msgid "Contacts sync command:"
+#: gtkpod.glade:16245
+msgid "_Other"
 msgstr ""
 
-#: gtkpod.glade:16974
-msgid "Calendar sync command:"
+#: gtkpod.glade:16535
+msgid "_Undo All"
 msgstr ""
 
-#: gtkpod.glade:17038
-msgid "Notes sync command:"
+#: gtkpod.glade:16605
+msgid "_Undo Track"
 msgstr ""

Modified: gtkpod/trunk/po/he.gmo
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/po/he.gmo
___________________________________________________________________
Name: svn:eol-style
   - native
Name: svn:mime-type
   + application/x-gmo

Modified: gtkpod/trunk/po/he.po
===================================================================
--- gtkpod/trunk/po/he.po	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/he.po	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,16 +1,15 @@
 # translation of gtkpod.po to HEBREW
-# This file is distributed under the same license as the PACKAGE package
+# This file is distributed under the same license as the gtkpod package
 # Assaf Gillat <gillata at gmail.com>, 2005.
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
-# Assaf Gillat, 2005.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gtkpod 0.93.1\n"
+"Project-Id-Version: gtkpod\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-16 16:18+0900\n"
-"PO-Revision-Date: 2005-07-15 23:33+0900\n"
-"Last-Translator: Assaf Gillat <gillata at gmail.com>\n"
+"POT-Creation-Date: 2005-12-14 23:51+0900\n"
+"PO-Revision-Date: 2005-08-02 21:19+0300\n"
+"Last-Translator: Assaf Gillat\n"
 "Language-Team: HEBREW <kde-il at yahoogroups.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -231,174 +230,243 @@
 "Another instance of gtkpod was detected. Playcount server not started.\n"
 msgstr "עותק ריצה נוסף של gtkpod נמצא. שרת ספירה לא יופעל.\n"
 
-#: src/confirmation.c:363
+#: src/confirmation.c:361
 msgid "Confirmation Dialogue"
 msgstr "תיבת דו שיח לאישור"
 
-#: src/context_menus.c:299
+#: src/context_menus.c:368 gtkpod.glade:530
 msgid "Edit"
 msgstr "עריכה"
 
-#: src/context_menus.c:301 src/tools.c:634
+#: src/context_menus.c:370 src/tools.c:634
 msgid "Play Now"
 msgstr "נגן עכשיו"
 
-#: src/context_menus.c:303 src/tools.c:645
+#: src/context_menus.c:372 src/tools.c:645
 msgid "Enqueue"
 msgstr "הכנס לתור"
 
-#: src/context_menus.c:306
-#, fuzzy
+#: src/context_menus.c:375
 msgid "Export Tracks"
-msgstr "כרטיסיות מיון"
+msgstr "ייצא רצועות"
 
-#: src/context_menus.c:308 src/file_export.c:1091
+#: src/context_menus.c:377 src/file_export.c:1069
 msgid "Create Playlist File"
 msgstr "יצירת קובץ רשימת השמעה"
 
-#: src/context_menus.c:310
+#: src/context_menus.c:379
+msgid "Edit Details"
+msgstr ""
+
+#: src/context_menus.c:381 gtkpod.glade:12816
 msgid "Update"
 msgstr "עדכון"
 
-#: src/context_menus.c:312
+#: src/context_menus.c:383
 msgid "Sync Dirs"
 msgstr "סנכרון תיקיות"
 
-#: src/context_menus.c:314
+#: src/context_menus.c:385
 msgid "Normalize"
 msgstr "נרמול"
 
-#: src/context_menus.c:316
+#: src/context_menus.c:387
 msgid "Create new Playlist"
 msgstr "יצירת רשימת השמעה חדשה"
 
-#: src/context_menus.c:319
+#: src/context_menus.c:390
 msgid "Edit Smart Playlist"
 msgstr "ערוך רשימת השמעה חכמה"
 
-#: src/context_menus.c:325
+#: src/context_menus.c:396
 msgid "Alphabetize"
 msgstr "סדר אלפאבתי"
 
-#: src/context_menus.c:347
+#: src/context_menus.c:420
 msgid "Delete From iPod"
 msgstr "מחק מה-iPod"
 
-#: src/context_menus.c:352
+#: src/context_menus.c:426
 msgid "Delete From Harddisk"
 msgstr "מחק מהדיסק הקשיח"
 
-#: src/context_menus.c:357
+#: src/context_menus.c:432
 msgid "Delete From Database"
 msgstr "מחק ממסד הנתונים"
 
-#: src/context_menus.c:362
+#: src/context_menus.c:438
 msgid "Delete From Playlist"
 msgstr "מחק מרשימת ההשמעה"
 
-#: src/context_menus.c:371
+#: src/context_menus.c:457
 msgid "Delete Including Tracks"
 msgstr "מחק כולל רצועות"
 
-#: src/context_menus.c:376
+#: src/context_menus.c:463
 msgid "Delete Including Tracks (Harddisk)"
 msgstr "מחק כולל רצועות (דיסק קשיח)"
 
-#: src/context_menus.c:381
+#: src/context_menus.c:469
 msgid "Delete Including Tracks (Database)"
 msgstr "מחק כולל רצועות (מסד נתונים)"
 
-#: src/context_menus.c:386
+#: src/context_menus.c:475
 msgid "Delete But Keep Tracks"
 msgstr "מחק אבל שמור רצועות"
 
-#: src/context_menus.c:391
+#: src/context_menus.c:481
 msgid "Remove All Tracks from iPod"
 msgstr "מחק את כל הרצועות מה-iPod"
 
-#: src/context_menus.c:396
+#: src/context_menus.c:487
 msgid "Remove All Tracks from Database"
 msgstr "מחק את כל הרצועות ממסד הנתונים"
 
+#: src/context_menus.c:494
+#, fuzzy
+msgid "Remove All Podcasts from iPod"
+msgstr "מחק את כל הרצועות מה-iPod"
+
+#: src/context_menus.c:505 gtkpod.glade:156
+msgid "Update Podcasts"
+msgstr ""
+
+#: src/context_menus.c:512
+#, fuzzy
+msgid "Podcasts Preferences"
+msgstr "_עריכת העדפות"
+
 #: src/date_parser.l:269
 #, c-format
 msgid "Date format error: unrecognized character: '%s'\n"
 msgstr "פורמט תאריך שגוי: תו לא מזוהה: '%s'\n"
 
-#: src/display.c:876
+#: src/details.c:1035 gtkpod.glade:4365
+msgid "n/a"
+msgstr "ל/ז"
+
+#: src/details.c:1099
+#, fuzzy
+msgid "<b>n/a</b>"
+msgstr "<b>נגן</b>"
+
+#: src/display.c:924 src/display.c:1022 src/display.c:1071 src/display.c:1302
+#: src/display.c:1358 src/display.c:1413 src/display.c:1464 src/display.c:1628
+#: src/misc_playlist.c:274
+msgid "No playlist selected"
+msgstr "לא נבחרה רשימת השמעה"
+
+#: src/display.c:934
+#, fuzzy
+msgid "Edit selected entry of which sort tab?"
+msgstr "באיזה כרטיסיית מיון של רשומה נבחרת לעדכן?"
+
+#. no entry selected
+#: src/display.c:941 src/misc_confirm.c:441 src/misc_track.c:1482
+msgid "No entry selected."
+msgstr "לא נבחרה רשומה."
+
+#: src/display.c:960 src/display.c:1040 src/display.c:1345 src/display.c:1401
+#: src/display.c:1452 src/display.c:1503
+msgid "No tracks selected"
+msgstr "לא נבחרו רצועות"
+
+#: src/display.c:1056 src/display.c:1322 src/display.c:1378 src/display.c:1430
+#: src/display.c:1481 src/display.c:1650
+#, c-format
+msgid "No entry selected in Sort Tab %d"
+msgstr "לא נבחרה רשומה בכרטיסיית מיון %d"
+
+#: src/display.c:1095
+#, fuzzy
+msgid "Remove entry of which sort tab from database?"
+msgstr "באיזה כרטיסיית מיון של רשומה נבחרת לייצא?"
+
+#: src/display.c:1103
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the iPod?"
+msgstr "באיזה כרטיסיית מיון של רשומה נבחרת להוסיף רצועות לתור?"
+
+#: src/display.c:1125
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the harddisk?"
+msgstr "באיזה כרטיסיית מיון של רשומה נבחרת להוסיף רצועות לתור?"
+
+#: src/display.c:1155
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from playlist?"
+msgstr "באיזה כרטיסיית מיון של רשומה נבחרת להוסיף רצועות לתור?"
+
+#: src/display.c:1174
 msgid "Currently no iPod database selected"
 msgstr "מסד נתונים של iPod לא נבחר עדיין."
 
-#: src/display.c:904 src/display.c:931
+#: src/display.c:1202 src/display.c:1229
 msgid "Update selected entry of which sort tab?"
 msgstr "באיזה כרטיסיית מיון של רשומה נבחרת לעדכן?"
 
-#: src/display.c:950
+#: src/display.c:1248
 msgid "Sync dirs of selected entry in which sort tab?"
 msgstr "באיזה כרטיסיית מיון של רשומה נבחרת לסנכרן תיקיות?"
 
-#: src/display.c:1004 src/display.c:1060 src/display.c:1115 src/display.c:1166
-#: src/display.c:1330 src/misc_playlist.c:274
-msgid "No playlist selected"
-msgstr "לא נבחרה רשימת השמעה"
-
-#: src/display.c:1018
+#: src/display.c:1316
 msgid "Export selected entry of which sort tab?"
 msgstr "באיזה כרטיסיית מיון של רשומה נבחרת לייצא?"
 
-#: src/display.c:1024 src/display.c:1080 src/display.c:1132 src/display.c:1183
-#: src/display.c:1352
-#, c-format
-msgid "No entry selected in Sort Tab %d"
-msgstr "לא נבחרה רשומה בכרטיסיית מיון %d"
-
-#: src/display.c:1047 src/display.c:1103 src/display.c:1154 src/display.c:1205
-msgid "No tracks selected"
-msgstr "לא נבחרו רצועות"
-
-#: src/display.c:1074
+#: src/display.c:1372
 msgid "Create playlist file from selected entry of which sort tab?"
 msgstr "באיזה כרטיסיית מיון של רשומה נבחרת ליצור קובץ רשימת השמעה?"
 
-#: src/display.c:1126
+#: src/display.c:1424
 msgid "Play tracks in selected entry of which sort tab?"
 msgstr "באיזה כרטיסיית מיון של רשומה נבחרת לנגן רצועות?"
 
-#: src/display.c:1177
+#: src/display.c:1475
 msgid "Enqueue tracks in selected entry of which sort tab?"
 msgstr "באיזה כרטיסיית מיון של רשומה נבחרת להוסיף רצועות לתור?"
 
-#: src/display.c:1342
+#: src/display.c:1640
 msgid "Normalize tracks in selected entry of which sort tab?"
 msgstr "באיזה כרטיסיית מיון של רשומה נבחרת לנרמל רצועות?"
 
-#: src/display_itdb.c:691 src/display_itdb.c:758
+#: src/display_itdb.c:319
+#, fuzzy, c-format
+msgid "Failed to set cover art: '%s'"
+msgstr "כישלון בכתיבה ל '%s-%s'\n"
+
+#. add podcast playlist
+#: src/display_itdb.c:843 src/display_itdb.c:871 src/display_itdb.c:975
+#: gtkpod.glade:13668
+msgid "Podcasts"
+msgstr ""
+
+#: src/display_itdb.c:845 src/display_itdb.c:941
 msgid "Local"
 msgstr "מקומי"
 
-#: src/display_itdb.c:863
+#: src/display_itdb.c:1081
 #, c-format
 msgid "Increased playcount for '%s'"
 msgstr "הועלתה ספירת השמעות עבור '%s'"
 
 #. give a notice on the statusbar -- otherwise the user
 #. * will never know why the drag is not possible
-#: src/display_playlists.c:494 src/display_playlists.c:536
+#: src/display_playlists.c:498 src/display_playlists.c:540
 msgid "Error: drag from iPod not possible in offline mode."
-msgstr ""
+msgstr "שגיאה: גרירה מה-iPod היא לא אפשרית במצב לא מקוון."
 
-#: src/display_playlists.c:563 src/display_songs.c:283
+#: src/display_playlists.c:567 src/display_songs.c:285
 #, c-format
 msgid "Copied one track"
 msgid_plural "Copied %d tracks"
 msgstr[0] "רצועה אחת הועתקה"
 msgstr[1] "הועתקו %d רצועות"
 
-#: src/display_playlists.c:852
+#: src/display_playlists.c:856
 msgid "Can't reorder sorted treeview."
 msgstr "אי אפשר לסדר מחדש עץ ממוין."
 
-#: src/display_playlists.c:943
+#: src/display_playlists.c:947
 #, c-format
 msgid ""
 "This DND type (%d) is not (yet) supported. If you feel implementing this "
@@ -409,22 +477,18 @@
 "ראוי, צור קשר עם המחבר.\n"
 "\n"
 
-#: src/display_playlists.c:1811 gtkpod.glade:7815 gtkpod.glade:9389
+#: src/display_playlists.c:1830 gtkpod.glade:3997
 msgid "Playlists"
 msgstr "רשימות השמעה"
 
-#: src/display_songs.c:278
+#: src/display_songs.c:280
 #, c-format
 msgid "Moved one track"
 msgid_plural "Moved %d tracks"
 msgstr[0] "רצועה אחת הועברה"
 msgstr[1] "הועברו %d רצועות"
 
-#: src/display_songs.c:1119
-msgid "Local Database"
-msgstr "מסד נתונים מקומי"
-
-#: src/display_songs.c:1796
+#: src/display_songs.c:1669
 #, c-format
 msgid ""
 "Cannot unsort track view because of a bug in the GTK lib you are using (%d.%"
@@ -436,56 +500,66 @@
 "< 2.5.4). ברגע שמיינת את תוגת העץ, אי אפשר לחזור חזרה למצב הלא ממוין.\n"
 "\n"
 
-#: src/display_songs.c:1985
+#: src/display_songs.c:1922
+#, fuzzy
+msgid "Rtng"
+msgstr "מדרוג"
+
+#: src/display_songs.c:1925
 msgid "#"
 msgstr "#"
 
-#: src/display_songs.c:1988
+#: src/display_songs.c:1928
 msgid "CD"
 msgstr "דיסק שמע"
 
-#: src/display_songs.c:1991
+#: src/display_songs.c:1931
 msgid "ID"
 msgstr "מזהה"
 
-#: src/display_songs.c:1999
+#: src/display_songs.c:1934
 msgid "Trnsfrd"
 msgstr "העברה"
 
-#: src/display_songs.c:2004
+#: src/display_songs.c:1938
 msgid "Cmpl"
 msgstr "יצירה"
 
-#: src/display_songs.c:2012 src/display_spl.c:93
+#: src/display_songs.c:1942 src/display_spl.c:94
 msgid "Time"
 msgstr "זמן"
 
-#: src/display_songs.c:2016
+#: src/display_songs.c:1945
 msgid "Plycnt"
 msgstr "ספירת שמע"
 
-#: src/display_songs.c:2019 gtkpod.glade:6251
+#: src/display_songs.c:1948 gtkpod.glade:2433
 msgid "Played"
 msgstr "הושמע"
 
-#: src/display_songs.c:2022 gtkpod.glade:6274
+#: src/display_songs.c:1951 gtkpod.glade:2456
 msgid "Modified"
 msgstr "שונה"
 
-#: src/display_songs.c:2025 src/display_sorttabs.c:3040 gtkpod.glade:6369
+#: src/display_songs.c:1954 src/display_sorttabs.c:3117 gtkpod.glade:2551
 msgid "Added"
 msgstr "הוספו"
 
-#: src/display_songs.c:2028 src/display_sorttabs.c:2785 src/display_spl.c:87
+#: src/display_songs.c:1957
+#, fuzzy
+msgid "Released"
+msgstr "קרא"
+
+#: src/display_songs.c:1960 src/display_sorttabs.c:2856 src/display_spl.c:88
 #: src/misc_conversion.c:85
 msgid "Year"
 msgstr "שנה"
 
-#: src/display_songs.c:2031
+#: src/display_songs.c:1963
 msgid "Vol."
 msgstr "עוצמה"
 
-#: src/display_songs.c:2034
+#: src/display_songs.c:1966
 msgid "Sndchk."
 msgstr "בדיקת קול"
 
@@ -501,295 +575,299 @@
 msgid "'Added' condition ignored because of error."
 msgstr "התעלמות ממצב 'הוספה' עקב תקלה"
 
-#: src/display_sorttabs.c:1465 src/misc_conversion.c:60
+#: src/display_sorttabs.c:1492 src/misc_conversion.c:60
 msgid "All"
 msgstr "הכל"
 
-#: src/display_sorttabs.c:2770 src/display_spl.c:84 src/misc_conversion.c:62
-#: gtkpod.glade:2579 gtkpod.glade:13823
+#: src/display_sorttabs.c:1518
+#, fuzzy
+msgid "Compilations"
+msgstr "יצירה"
+
+#: src/display_sorttabs.c:2841 src/display_spl.c:85 src/misc_conversion.c:62
+#: gtkpod.glade:8709
 msgid "Artist"
-msgstr "ביצוע"
+msgstr "אמן"
 
 #. 0
-#: src/display_sorttabs.c:2773 src/display_spl.c:83 src/misc_conversion.c:61
-#: gtkpod.glade:2630 gtkpod.glade:13867
+#: src/display_sorttabs.c:2844 src/display_spl.c:84 src/misc_conversion.c:61
+#: gtkpod.glade:8753
 msgid "Album"
 msgstr "כותר"
 
-#: src/display_sorttabs.c:2776 src/display_spl.c:88 src/misc_conversion.c:64
-#: gtkpod.glade:2598 gtkpod.glade:13845
+#: src/display_sorttabs.c:2847 src/display_spl.c:89 src/misc_conversion.c:64
+#: gtkpod.glade:8731
 msgid "Genre"
 msgstr "סגנון"
 
-#: src/display_sorttabs.c:2779
+#: src/display_sorttabs.c:2850
 msgid "Comp."
 msgstr "יצירה"
 
-#: src/display_sorttabs.c:2782 src/display_spl.c:82 src/misc_conversion.c:63
-#: gtkpod.glade:2681 gtkpod.glade:13911
+#: src/display_sorttabs.c:2853 src/display_spl.c:83 src/misc_conversion.c:63
+#: gtkpod.glade:8797
 msgid "Title"
-msgstr "תיאור"
+msgstr "שם הרצועה"
 
-#: src/display_sorttabs.c:2788
+#: src/display_sorttabs.c:2859
 msgid "Special"
 msgstr "מיוחד"
 
-#: src/display_sorttabs.c:3038
+#: src/display_sorttabs.c:3115
 msgid "Last Played"
 msgstr "הושמע לאחרונה"
 
-#: src/display_sorttabs.c:3039
+#: src/display_sorttabs.c:3116
 msgid "Last Modified"
 msgstr "שונה לאחרונה"
 
-#: src/display_spl.c:63
+#: src/display_spl.c:64
 msgid "days"
 msgstr "ימים"
 
-#: src/display_spl.c:64
+#: src/display_spl.c:65
 msgid "weeks"
 msgstr "שבועות"
 
-#: src/display_spl.c:65
+#: src/display_spl.c:66
 msgid "months"
 msgstr "חודשים"
 
-#: src/display_spl.c:72
+#: src/display_spl.c:73
 msgid "kbps"
 msgstr "קס\"ש"
 
-#: src/display_spl.c:73
+#: src/display_spl.c:74
 msgid "Hz"
 msgstr "הרץ"
 
-#: src/display_spl.c:74 src/display_spl.c:159 src/info.c:725
+#: src/display_spl.c:75 src/display_spl.c:160 src/info.c:732
 msgid "MB"
 msgstr "מ\"ב"
 
-#: src/display_spl.c:75
+#: src/display_spl.c:76
 msgid "secs"
 msgstr "שניות"
 
-#: src/display_spl.c:85 src/misc_conversion.c:75
+#: src/display_spl.c:86 src/misc_conversion.c:75
 msgid "Bitrate"
 msgstr "קצב סיביות"
 
 #. 15
-#: src/display_spl.c:86 src/misc_conversion.c:76
+#: src/display_spl.c:87 src/misc_conversion.c:76
 msgid "Samplerate"
 msgstr "קצב דגימה"
 
-#: src/display_spl.c:89 src/misc_conversion.c:67
+#: src/display_spl.c:90
 msgid "Kind"
 msgstr "סוג"
 
-#: src/display_spl.c:90 src/misc_conversion.c:82
+#: src/display_spl.c:91 src/misc_conversion.c:82
 msgid "Date modified"
 msgstr "תאריך שינוי"
 
-#: src/display_spl.c:91
+#: src/display_spl.c:92
 msgid "Track number"
 msgstr "מספר רצועה"
 
-#: src/display_spl.c:92
+#: src/display_spl.c:93
 msgid "Size"
 msgstr "גודל"
 
-#: src/display_spl.c:94 src/misc_conversion.c:65
+#: src/display_spl.c:95 src/misc_conversion.c:65
 msgid "Comment"
 msgstr "הערה"
 
-#: src/display_spl.c:95 src/misc_conversion.c:80
+#: src/display_spl.c:96 src/misc_conversion.c:80
 msgid "Date added"
 msgstr "תאריך הוספה"
 
 #. 5
-#: src/display_spl.c:96 src/misc_conversion.c:66 gtkpod.glade:2649
-#: gtkpod.glade:13889
+#: src/display_spl.c:97 src/misc_conversion.c:66 gtkpod.glade:8775
 msgid "Composer"
 msgstr "יוצר"
 
-#: src/display_spl.c:97 src/misc_conversion.c:78 gtkpod.glade:6205
+#: src/display_spl.c:98 src/misc_conversion.c:78 gtkpod.glade:2387
 msgid "Playcount"
 msgstr "מספור השמעות"
 
-#: src/display_spl.c:98
+#: src/display_spl.c:99
 msgid "Last played"
 msgstr "הושמע לאחרונה"
 
-#: src/display_spl.c:99
+#: src/display_spl.c:100
 msgid "Disc number"
 msgstr "מספר דיסק"
 
-#: src/display_spl.c:100 src/misc_conversion.c:79 gtkpod.glade:6228
+#: src/display_spl.c:101 src/misc_conversion.c:79 gtkpod.glade:2410
 msgid "Rating"
 msgstr "מדרוג"
 
-#: src/display_spl.c:101 src/misc_conversion.c:88
+#: src/display_spl.c:102 src/misc_conversion.c:88
 msgid "Compilation"
 msgstr "יצירה"
 
-#: src/display_spl.c:102 src/misc_conversion.c:77
+#: src/display_spl.c:103 src/misc_conversion.c:77
 msgid "BPM"
 msgstr "BPM"
 
-#: src/display_spl.c:103 src/misc_conversion.c:87
+#: src/display_spl.c:104 src/misc_conversion.c:87
 msgid "Grouping"
 msgstr "קיבוץ"
 
-#: src/display_spl.c:104 src/itdb_itunesdb.c:1146 gtkpod.glade:1314
+#: src/display_spl.c:105 gtkpod.glade:1443
 msgid "Playlist"
 msgstr "רשימת השמעה"
 
-#: src/display_spl.c:110
+#: src/display_spl.c:111
 msgid "contains"
 msgstr "מכיל"
 
-#: src/display_spl.c:111
+#: src/display_spl.c:112
 msgid "does not contain"
 msgstr "לא מכיל"
 
-#: src/display_spl.c:112 src/display_spl.c:121 src/display_spl.c:131
-#: src/display_spl.c:150
+#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
+#: src/display_spl.c:151
 msgid "is"
 msgstr "קיים"
 
-#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
-#: src/display_spl.c:151
+#: src/display_spl.c:114 src/display_spl.c:123 src/display_spl.c:133
+#: src/display_spl.c:152
 msgid "is not"
 msgstr "לא קיים"
 
-#: src/display_spl.c:114
+#: src/display_spl.c:115
 msgid "starts with"
 msgstr "מתחיל ב-"
 
-#: src/display_spl.c:115
+#: src/display_spl.c:116
 msgid "ends with"
 msgstr "מסתיים ב-"
 
-#: src/display_spl.c:123
+#: src/display_spl.c:124
 msgid "is greater than"
 msgstr "גדול מ-"
 
-#: src/display_spl.c:124
+#: src/display_spl.c:125
 msgid "is less than"
 msgstr "קטן מ-"
 
-#: src/display_spl.c:125 src/display_spl.c:137
+#: src/display_spl.c:126 src/display_spl.c:138
 msgid "is in the range"
 msgstr "בטווח "
 
-#: src/display_spl.c:133
+#: src/display_spl.c:134
 msgid "is after"
 msgstr "אחרי"
 
-#: src/display_spl.c:134
+#: src/display_spl.c:135
 msgid "is before"
 msgstr "לפני"
 
-#: src/display_spl.c:135
+#: src/display_spl.c:136
 msgid "in the last"
 msgstr "אחרון"
 
-#: src/display_spl.c:136
+#: src/display_spl.c:137
 msgid "not in the last"
 msgstr "לא אחרון"
 
-#: src/display_spl.c:143
+#: src/display_spl.c:144
 msgid "is set"
 msgstr "מקובע"
 
-#: src/display_spl.c:144
+#: src/display_spl.c:145
 msgid "is not set"
 msgstr "לא מקובע"
 
-#: src/display_spl.c:158
+#: src/display_spl.c:159
 msgid "minutes"
 msgstr "דקות"
 
-#: src/display_spl.c:160
+#: src/display_spl.c:161
 msgid "tracks"
 msgstr "רצועות"
 
-#: src/display_spl.c:161
+#: src/display_spl.c:162
 msgid "hours"
 msgstr "שעות"
 
-#: src/display_spl.c:162 src/info.c:725
+#: src/display_spl.c:163 src/info.c:732
 msgid "GB"
 msgstr "ג\"ב"
 
-#: src/display_spl.c:169
+#: src/display_spl.c:170
 msgid "random order"
 msgstr "סדר אקראי"
 
-#: src/display_spl.c:170
+#: src/display_spl.c:171
 msgid "title"
-msgstr "תיאור"
+msgstr "שם הרצועה"
 
-#: src/display_spl.c:171
+#: src/display_spl.c:172
 msgid "album"
 msgstr "כותר"
 
-#: src/display_spl.c:172
+#: src/display_spl.c:173
 msgid "artist"
-msgstr "ביצוע"
+msgstr "אמן"
 
-#: src/display_spl.c:173
+#: src/display_spl.c:174
 msgid "genre"
 msgstr "סגנון"
 
-#: src/display_spl.c:174
+#: src/display_spl.c:175
 msgid "most recently added"
 msgstr "הוספו לאחרונה"
 
-#: src/display_spl.c:175
+#: src/display_spl.c:176
 msgid "least recently added"
 msgstr "לא הוספו לאחרונה"
 
-#: src/display_spl.c:176
+#: src/display_spl.c:177
 msgid "most often played"
 msgstr "מושמע בתכיפות גבוהה"
 
-#: src/display_spl.c:177
+#: src/display_spl.c:178
 msgid "least often played"
 msgstr "מושמע בתכיפות נמוכה"
 
-#: src/display_spl.c:178
+#: src/display_spl.c:179
 msgid "most recently played"
 msgstr "הושמע לאחרונה"
 
-#: src/display_spl.c:179
+#: src/display_spl.c:180
 msgid "least recently played"
 msgstr "לא הושמע לאחרונה"
 
-#: src/display_spl.c:180
+#: src/display_spl.c:181
 msgid "highest rating"
 msgstr "מדרוג גבוה ביותר"
 
-#: src/display_spl.c:181
+#: src/display_spl.c:182
 msgid "lowest rating"
 msgstr "מדרוג נמוך ביותר"
 
-#: src/display_spl.c:995 src/display_spl.c:1010
+#: src/display_spl.c:1049 src/display_spl.c:1064
 msgid "to"
 msgstr "אל "
 
-#: src/display_spl.c:1220
+#: src/display_spl.c:1276
 msgid "-"
 msgstr "-"
 
-#: src/display_spl.c:1227
+#: src/display_spl.c:1286
 msgid "+"
 msgstr "+"
 
-#: src/display_spl.c:1433 src/misc_playlist.c:67 src/misc_playlist.c:69
+#: src/display_spl.c:1503 src/misc_playlist.c:67 src/misc_playlist.c:69
 #: src/misc_playlist.c:94 src/misc_playlist.c:96 src/misc_playlist.c:415
 #: src/misc_playlist.c:417
 msgid "New Playlist"
 msgstr "רשימת השמעה חדשה"
 
-#: src/file.c:129
+#: src/file.c:195
 #, c-format
 msgid ""
 "'%s' is a directory, not a playlist file.\n"
@@ -798,7 +876,7 @@
 "'%s' הוא תיקייה, לא קובץ רשימת השמעה.\n"
 "\n"
 
-#: src/file.c:151
+#: src/file.c:222
 #, c-format
 msgid ""
 "'%s' is a not a known playlist file.\n"
@@ -807,7 +885,7 @@
 "'%s' הוא לא קובץ רשימת השמעה מוכר.\n"
 "\n"
 
-#: src/file.c:168
+#: src/file.c:239
 #, c-format
 msgid ""
 "Cannot open '%s' for reading.\n"
@@ -816,92 +894,92 @@
 "לא מסוגל לפתוח את '%s' לקריאה.\n"
 "\n"
 
-#: src/file.c:237
+#: src/file.c:322
 #, c-format
 msgid "Skipping '%s' because it is a directory.\n"
 msgstr "מדלג על '%s' בגלל שהוא תיקייה.\n"
 
-#: src/file.c:242
+#: src/file.c:327
 #, c-format
 msgid "Skipping '%s' to avoid adding playlist file recursively\n"
 msgstr "מדלג על '%s' על מנת להתחמק מהוספת קובץ רשימת השמעה רקורסיבי\n"
 
-#: src/file.c:497
+#: src/file.c:582
 #, c-format
 msgid "Unknown token '%s' in template '%s'\n"
 msgstr "הסימן '%s' בתבנית '%s' לא ידוע\n"
 
-#: src/file.c:715
+#: src/file.c:815
 #, c-format
 msgid "Local filename not valid (%s)"
 msgstr "שם קובץ מקומי לא תקין (%s)"
 
-#: src/file.c:768
+#: src/file.c:868
 #, c-format
 msgid "No information found for user '%s' in '%s'"
 msgstr "לא קיים מידע למשתמש '%s' ב- '%s'"
 
-#: src/file.c:775
+#: src/file.c:875
 #, c-format
 msgid "mserv data file (%s) not available for track (%s)"
 msgstr "מידע קובץ mserv (%s) לא זמין עבור רצועה (%s)"
 
-#: src/file.c:783
+#: src/file.c:883
 #, c-format
 msgid "Track (%s) not in mserv music root directory (%s)"
 msgstr "הרצועה (%s) לא קיימת בתיקיית השורש של mserv (%s)"
 
-#: src/file.c:816
+#: src/file.c:988
 #, c-format
 msgid ""
 "The following track could not be processed (file does not exist): '%s'\n"
 msgstr "אי אפשר לעבד את הרצועה הבאה (הקובץ לא קיים): '%s'\n"
 
-#: src/file.c:842
+#: src/file.c:1037
 #, c-format
 msgid "The following track could not be processed (filetype unknown): '%s'\n"
 msgstr "אי אפשר לעבד את הרצועה הבאה (סוג קובץ לא ידוע): '%s'\n"
 
-#: src/file.c:909
+#: src/file.c:1119
 #, c-format
 msgid ""
 "The following track could not be processed (filetype is known but analysis "
 "failed): '%s'\n"
 msgstr "אי אפשר לעבד את הרצועה הבאה (סוג קובץ ידוע, אך הבדיקה נכשלה): '%s'\n"
 
-#: src/file.c:935 src/file.c:978
+#: src/file.c:1148 src/file.c:1203
 msgid "Nothing to update"
 msgstr "אין מה לעדכן"
 
-#: src/file.c:944
+#: src/file.c:1168
 #, c-format
 msgid "Updating %s"
 msgstr "מעדכן %s"
 
-#: src/file.c:959
+#: src/file.c:1184
 msgid "Updated selected tracks with info from file."
 msgstr "מעדכן רצועות נבחרות עם מידע מקובץ."
 
-#: src/file.c:991
+#: src/file.c:1216
 #, c-format
 msgid "Retrieving mserv data %s"
 msgstr "מאחזר נתוני mserv %s"
 
 #. no path available
-#: src/file.c:997 src/file.c:1675
+#: src/file.c:1222 src/file.c:1900
 msgid "no filename available"
 msgstr "קובץ לא קיים"
 
-#: src/file.c:1002
+#: src/file.c:1227
 msgid "Updated selected tracks with data from mserv."
 msgstr "עודכנו רצועות נבחרות עם נתונים מ-mserv"
 
-#: src/file.c:1069
+#: src/file.c:1294
 #, c-format
 msgid "Syncing directory '%s'"
 msgstr "מסנכרן תיקיית '%s'"
 
-#: src/file.c:1094
+#: src/file.c:1319
 msgid "Syncing completed. No files deleted."
 msgstr "הסנכרון הושלם. קבצים לא נמחקו."
 
@@ -910,29 +988,29 @@
 #. title
 #. label
 #. scrolled text
-#: src/file.c:1207
+#: src/file.c:1432
 msgid "Never delete any files when syncing"
 msgstr "בזמן סנכרון, אל תמחק שום קובץ"
 
-#: src/file.c:1236
+#: src/file.c:1461
 msgid "Syncing completed."
 msgstr "סנכרון הושלם."
 
-#: src/file.c:1256
+#: src/file.c:1481
 msgid "Syncing aborted"
 msgstr "סנכרון בוטל"
 
-#: src/file.c:1294
+#: src/file.c:1519
 msgid "No tracks in selection"
 msgstr "אין רצועות בבחירה"
 
-#: src/file.c:1344
+#: src/file.c:1569
 #, c-format
 msgid "'%s' is not a directory. Ignored.\n"
 msgstr "'%s' היא לא תיקייה. מתעלם.\n"
 
 #. no directory names available
-#: src/file.c:1374
+#: src/file.c:1599
 msgid ""
 "No directory names were stored. Make sure that you enable 'Write extended "
 "information' in the Export section of the preferences at the time of "
@@ -948,11 +1026,11 @@
 "על מנת לסנכרן תיקיות עכשיו, הפעל את זיהוי כפילויות ('אל תרשה כפילויות') בחלק "
 "הייבוא והוסף את התיקייה שאתה רוצה לסנכרן שוב.\n"
 
-#: src/file.c:1378
+#: src/file.c:1603
 msgid "No valid directories have been found. Sync aborted.\n"
 msgstr "לא נמצאו תיקיות תקינות. סנכרון בוטל.\n"
 
-#: src/file.c:1387
+#: src/file.c:1612
 msgid ""
 "The (former) contents of the following directories will be removed from the "
 "database:\n"
@@ -961,7 +1039,7 @@
 "התוכן (הקודם) של התיקיות הבאות יוסר ממסד הנתונים:\n"
 "\n"
 
-#: src/file.c:1395
+#: src/file.c:1620
 msgid ""
 "The following directories will be synchronized:\n"
 "\n"
@@ -971,16 +1049,16 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1406
+#: src/file.c:1631
 msgid "Synchronize directories"
 msgstr "מסנכרן תיקיות"
 
 #. title
-#: src/file.c:1407
+#: src/file.c:1632
 msgid "OK to synchronize the following directories?"
 msgstr "האם לסנכרן את התיקיות הבאות?"
 
-#: src/file.c:1445
+#: src/file.c:1670
 #, c-format
 msgid "The following track could not be updated"
 msgid_plural "The following %d tracks could not be updated"
@@ -989,11 +1067,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1451
+#: src/file.c:1676
 msgid "Failed Track Update"
 msgstr "עדכון רצועה נכשל"
 
-#: src/file.c:1509
+#: src/file.c:1734
 #, c-format
 msgid "The following track has been updated"
 msgid_plural "The following %d tracks have been updated"
@@ -1002,11 +1080,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1515
+#: src/file.c:1740
 msgid "Successful Track Update"
 msgstr "הרצועה עודכנה בהצלחה"
 
-#: src/file.c:1574
+#: src/file.c:1799
 #, c-format
 msgid "No mserv information could be retrieved for the following track"
 msgid_plural ""
@@ -1016,52 +1094,66 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1580
+#: src/file.c:1805
 msgid "mserv data retrieval problem"
 msgstr "בעיה בהשגת מידע מ-mserv"
 
-#: src/file.c:1721
+#: src/file.c:1946
 msgid "file not found"
 msgstr "הקובץ לא נמצא"
 
-#: src/file.c:1725
+#: src/file.c:1950
 msgid "format not supported"
 msgstr "הפורמט לא נתמך"
 
-#: src/file.c:1799
+#: src/file.c:2031
 #, c-format
 msgid "Processing '%s'..."
 msgstr "מעבד '%s'..."
 
-#: src/file.c:1992 src/file.c:2006
+#: src/file.c:2135 src/misc_track.c:1169 src/misc_track.c:1225
 #, c-format
+msgid ""
+"Podcast already present: '%s'\n"
+"\n"
+msgstr ""
+
+#: src/file.c:2196
+#, fuzzy, c-format
+msgid ""
+"Writing to video files not yet supported (%s).\n"
+"\n"
+msgstr "נרמול נכשל: סוג קובץ לא נתמך.\n"
+
+#: src/file.c:2250 src/file.c:2264
+#, c-format
 msgid "Couldn't change tags of file: %s\n"
 msgstr "לא מסוגל לשנות תג של קובץ: %s\n"
 
-#: src/file.c:2291
+#: src/file.c:2548
 #, c-format
 msgid "Could not open '%s' for reading and writing.\n"
 msgstr "אי אפשר לפתוח את '%s' לקריאה וכתיבה.\n"
 
-#: src/file.c:2298
+#: src/file.c:2555
 #, c-format
 msgid "Could not obtain lock on '%s'.\n"
 msgstr "אי אשפר להשיג נעילה על '%s'.\n"
 
 #. error!
-#: src/file.c:2315 src/file.c:2324 src/file.c:2335 src/file.c:2345
+#: src/file.c:2572 src/file.c:2581 src/file.c:2592 src/file.c:2602
 #, c-format
 msgid "Malformed line in '%s': %s\n"
 msgstr "שורה לא תקינה ב '%s' : %s\n"
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:2374
+#: src/file.c:2631
 msgid "Remove offline playcounts?"
 msgstr "הסר מספור השמעות לא מקוון?"
 
 #. title
-#: src/file.c:2375
+#: src/file.c:2632
 msgid ""
 "Some tracks played offline could not be found in the iTunesDB. Press 'OK' to "
 "remove them from the offline playcount file, 'Cancel' to keep them."
@@ -1069,105 +1161,106 @@
 "אי אפשר לאתר מספר רצועות שנוגנו בצורה לא מקוונת ב-iTunesDB. לחץ על 'אישור' "
 "להסיר אותן ממספור ההשמעה הלא מקוון, ועל 'ביטול' להשאיר אותן."
 
-#: src/file.c:2392
+#: src/file.c:2649
 #, c-format
 msgid "Error writing to '%s'.\n"
 msgstr "תקלה בכתיבה ל-'%s'.\n"
 
-#: src/file.c:2431
-msgid "Normalization failed: file type not supported.\n"
+#: src/file.c:2698
+#, fuzzy, c-format
+msgid ""
+"Normalization failed: file type not supported (%s).\n"
+"\n"
 msgstr "נרמול נכשל: סוג קובץ לא נתמך.\n"
 
-#: src/file.c:2442
-msgid "Normalization failed: file not available.\n"
+#: src/file.c:2713
+#, fuzzy, c-format
+msgid ""
+"Normalization failed: file not available (%s).\n"
+"\n"
 msgstr "נרמול נכשל: קובץ לא קיים.\n"
 
-#: src/file_export.c:106
+#: src/file_export.c:181
 #, c-format
-msgid "Error creating %s: %s\n"
-msgstr "תקלה ביצירת %s: %s\n"
-
-#: src/file_export.c:202
-#, c-format
 msgid "Skipping existing file with same length: '%s'\n"
 msgstr "מדלג על קובץ קיים עם אורך זהה: '%s'\n"
 
-#: src/file_export.c:210
+#: src/file_export.c:189
 #, c-format
 msgid "Overwriting existing file: '%s'\n"
 msgstr "כותב על קובץ קיים: '%s'\n"
 
-#: src/file_export.c:227
+#: src/file_export.c:206
 #, c-format
 msgid "Error copying '%s' to '%s': Permission Error (%s)\n"
 msgstr "תקלה בהעתקת '%s' ל '%s': תקלת הרשאות (%s)\n"
 
-#: src/file_export.c:229
+#: src/file_export.c:208
 #, c-format
 msgid "Error copying '%s' to '%s' (%s)\n"
 msgstr "תקלה בהעתקת '%s' ל '%s' (%s)\n"
 
-#: src/file_export.c:237
+#: src/file_export.c:216
 #, c-format
 msgid "Unable to open '%s' for reading\n"
 msgstr "אי אפשר לפתוח את '%s' לקריאה\n"
 
-#: src/file_export.c:344
+#: src/file_export.c:323
 #, c-format
 msgid "Could find file for '%s' on the iPod\n"
 msgstr "אי אפשר למצוא את הקובץ '%s' על ה-iPod\n"
 
 #. create the dialog window
-#: src/file_export.c:411 src/file_itunesdb.c:990 src/tools.c:148
+#: src/file_export.c:390 src/file_itunesdb.c:1060 src/tools.c:148
 msgid "Information"
 msgstr "מידע"
 
-#: src/file_export.c:422 src/tools.c:160
+#: src/file_export.c:401 src/tools.c:160
 msgid "Press button to abort."
 msgstr "לביטול לחץ על הכפתור."
 
-#: src/file_export.c:435
+#: src/file_export.c:414
 msgid "copying..."
 msgstr "מעתיק..."
 
-#: src/file_export.c:489
+#: src/file_export.c:468
 #, c-format
 msgid "Failed to write '%s-%s'\n"
 msgstr "כישלון בכתיבה ל '%s-%s'\n"
 
-#: src/file_export.c:497
+#: src/file_export.c:476
 #, c-format
 msgid "Copied %d of %d track."
 msgid_plural "Copied %d of %d tracks."
 msgstr[0] "הועתק %d מתוך %d רצועה."
 msgstr[1] "הועתקו %d מתוך %d רצועות."
 
-#: src/file_export.c:515 src/file_itunesdb.c:1252 src/tools.c:307
+#: src/file_export.c:494 src/file_itunesdb.c:1324 src/tools.c:307
 #, c-format
 msgid "%d%% (%d:%02d:%02d left)"
 msgstr "%d%% (%d:%02d:%02d נותרו)"
 
-#: src/file_export.c:524
+#: src/file_export.c:503
 msgid "Some tracks were not copied."
 msgstr "מספר רצועות לא הועתקו."
 
-#: src/file_export.c:581
+#: src/file_export.c:560
 msgid "Export from iPod database not possible in offline mode."
-msgstr ""
+msgstr "יצוא ממסד הנתונים של ה-iPod הוא לא אפשרי במצב לא מקוון."
 
-#: src/file_export.c:589
+#: src/file_export.c:568
 msgid "Select Export Destination Directory"
 msgstr "בחר נתיב תיקיית יצוא"
 
-#: src/file_export.c:738
+#: src/file_export.c:717
 msgid "Drag from iPod database not possible in offline mode."
-msgstr ""
+msgstr "גרירה ממסד הנתונים של ה-iPod היא לא אפשרית במצב לא מקוון."
 
-#: src/file_export.c:772
+#: src/file_export.c:751
 msgid "The following tracks have to be copied to your harddisk"
 msgstr "הרצועות הבאות צריכות להיות מועתקות לכונן הקשיח שלך"
 
-#: src/file_export.c:817
+#: src/file_export.c:796
 msgid ""
 "Some tracks were not copied to your harddisk. Only the copied tracks will be "
 "included in the current drag and drop operation.\n"
@@ -1177,7 +1270,7 @@
 "הגרור & שחרר הנוכחית.\n"
 "\n"
 
-#: src/file_export.c:1014
+#: src/file_export.c:992
 #, c-format
 msgid ""
 "No valid filename for: %s\n"
@@ -1186,14 +1279,14 @@
 "קובץ לא תקין עבור: %s\n"
 "\n"
 
-#: src/file_export.c:1030
+#: src/file_export.c:1008
 #, c-format
 msgid "Created playlist with one track."
 msgid_plural "Created playlist with %d tracks."
 msgstr[0] "נוצרה רשימת השמעה עם רצועה אחת."
 msgstr[1] "נוצרה רשימת השמעה עם %d רצועות."
 
-#: src/file_export.c:1037
+#: src/file_export.c:1015
 #, c-format
 msgid ""
 "Could not open '%s' for writing (%s).\n"
@@ -1202,20 +1295,25 @@
 "אי אפשר לפתוח את '%s' לכתיבה (%s).\n"
 "\n"
 
-#: src/file_itunesdb.c:224
+#: src/file_itunesdb.c:114
+#, c-format
+msgid "Matching MD5 checksum for file %d/%d"
+msgstr ""
+
+#: src/file_itunesdb.c:242
 msgid "Could not open \"iTunesDB.ext\" for reading extended info.\n"
 msgstr "אי אפשר לפתוח את \"iTunesDB.ext\" לקריאת מידע מורחב.\n"
 
-#: src/file_itunesdb.c:231
+#: src/file_itunesdb.c:249
 msgid "Could not create hash value from itunesdb\n"
 msgstr "אי אפשר ליצור ערך ערבוב עבור itunesdb\n"
 
-#: src/file_itunesdb.c:245
+#: src/file_itunesdb.c:263
 #, c-format
 msgid "Error while reading extended info: %s\n"
 msgstr "תקלה בזמן קריאת מידע מורחב: %s\n"
 
-#: src/file_itunesdb.c:262
+#: src/file_itunesdb.c:280
 #, c-format
 msgid ""
 "iTunesDB '%s' does not match checksum in extended information file '%s'\n"
@@ -1228,7 +1326,7 @@
 "gtkpod ינסה להתאים את המידע על ידי שימוש ב-MD5. דבר זה עלול לקחת זמן רב.\n"
 "\n"
 
-#: src/file_itunesdb.c:275
+#: src/file_itunesdb.c:292
 #, c-format
 msgid ""
 "%s:\n"
@@ -1237,7 +1335,7 @@
 "%s:\n"
 "מצפים ל \"itunesdb_hash=\" אבל קיבלנו:\"%s\"\n"
 
-#: src/file_itunesdb.c:335
+#: src/file_itunesdb.c:352
 #, c-format
 msgid ""
 "%s:\n"
@@ -1246,7 +1344,7 @@
 "%s:\n"
 "תקלת פורמט: %s\n"
 
-#: src/file_itunesdb.c:386
+#: src/file_itunesdb.c:407
 msgid ""
 "No MD5 checksums on individual tracks are available.\n"
 "\n"
@@ -1260,7 +1358,7 @@
 "ביקורת) או הימנע משימוש בתוכנות אחרות מלבד gtkpod.\n"
 "\n"
 
-#: src/file_itunesdb.c:439
+#: src/file_itunesdb.c:462
 msgid ""
 "Extended info will not be used. If you have non-transferred tracks,\n"
 "these will be lost.\n"
@@ -1268,15 +1366,15 @@
 "מידע מורחב לא יהיה בשימוש. אם יש לך רצועות שלא הועברו,\n"
 "הן ילכו לאיבוד.\n"
 
-#: src/file_itunesdb.c:447
+#: src/file_itunesdb.c:470
 msgid "Offline iPod database successfully imported"
 msgstr "מסד נתונים לא מקוון של iPod יובא בהצלחה."
 
-#: src/file_itunesdb.c:450
+#: src/file_itunesdb.c:473
 msgid "Local database successfully imported"
 msgstr "מסד נתונים מקומי יובא בהצלחה"
 
-#: src/file_itunesdb.c:458
+#: src/file_itunesdb.c:481
 #, c-format
 msgid ""
 "Offline iPod database import failed: '%s'\n"
@@ -1285,7 +1383,7 @@
 "כישלון ביבוא מסד נתונים לא מקוון של iPod: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:462
+#: src/file_itunesdb.c:485
 #, c-format
 msgid ""
 "Local database import failed: '%s'\n"
@@ -1294,7 +1392,7 @@
 "כישלון ביבוא מסד נתונים מקומי: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:469
+#: src/file_itunesdb.c:492
 msgid ""
 "Offline iPod database import failed: \n"
 "\n"
@@ -1302,7 +1400,7 @@
 "כישלון ביבוא מסד נתונים לא מקוון של iPod: \n"
 "\n"
 
-#: src/file_itunesdb.c:472
+#: src/file_itunesdb.c:495
 msgid ""
 "Local database import failed: \n"
 "\n"
@@ -1310,7 +1408,7 @@
 "כישלון ביבוא מסד נתונים מקומי: \n"
 "\n"
 
-#: src/file_itunesdb.c:479 src/file_itunesdb.c:527
+#: src/file_itunesdb.c:502 src/file_itunesdb.c:550
 #, c-format
 msgid ""
 "'%s' does not exist. Import aborted.\n"
@@ -1319,15 +1417,15 @@
 "יבוא בוטל. לא קיים '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:498
+#: src/file_itunesdb.c:521
 msgid "Extended info will not be used.\n"
 msgstr "מידע מורחב לא יהיה בשימוש.\n"
 
-#: src/file_itunesdb.c:505
+#: src/file_itunesdb.c:528
 msgid "iPod Database Successfully Imported"
 msgstr "מסד נתונים של iPod יובא בהצלחה."
 
-#: src/file_itunesdb.c:512
+#: src/file_itunesdb.c:535
 #, c-format
 msgid ""
 "iPod Database Import Failed: '%s'\n"
@@ -1336,7 +1434,7 @@
 "כישלון ביבוא מסד נתונים של iPod: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:518
+#: src/file_itunesdb.c:541
 msgid ""
 "iPod Database Import Failed.\n"
 "\n"
@@ -1344,16 +1442,16 @@
 "כישלון ביבוא מסד נתונים של iPod: \n"
 "\n"
 
-#: src/file_itunesdb.c:822
+#: src/file_itunesdb.c:890
 #, c-format
 msgid "Could not open \"%s\" for writing extended info.\n"
 msgstr "אי אפשר לפתוח \"%s\" לכתיבת מידע מורחב.\n"
 
-#: src/file_itunesdb.c:837
+#: src/file_itunesdb.c:905
 msgid "Aborted writing of extended info.\n"
 msgstr "כתיבת מידע מורחב בוטלה.\n"
 
-#: src/file_itunesdb.c:1001
+#: src/file_itunesdb.c:1071
 msgid ""
 "Press button to abort.\n"
 "Export can be continued at a later time."
@@ -1361,26 +1459,26 @@
 "לחץ על הכפתור לביטול.\n"
 "בכל עת ניתן להמשיך את היצוא."
 
-#: src/file_itunesdb.c:1070
+#: src/file_itunesdb.c:1140
 msgid "deleting..."
 msgstr "מוחק..."
 
-#: src/file_itunesdb.c:1173
+#: src/file_itunesdb.c:1244
 msgid "preparing to copy..."
 msgstr "מתכונן להעתיק..."
 
-#: src/file_itunesdb.c:1235
+#: src/file_itunesdb.c:1307
 #, c-format
 msgid "Copied %d of %d new track."
 msgid_plural "Copied %d of %d new tracks."
 msgstr[0] "הועתקו %d מתוך %d רצועה חדשה."
 msgstr[1] "הועתקו %d מתוך %d רצועות חדשות."
 
-#: src/file_itunesdb.c:1262
+#: src/file_itunesdb.c:1334
 msgid "Some tracks were not written to iPod. Export aborted!"
 msgstr "מספר רצועות לא נכתבו ל-iPod. יצוא בוטל!"
 
-#: src/file_itunesdb.c:1315
+#: src/file_itunesdb.c:1387
 #, c-format
 msgid ""
 "You did not import the existing iTunesDB ('%s'). This is most likely "
@@ -1396,30 +1494,30 @@
 "לחץ אישור אם תרצה להמשיך בכל זאת או ביטול לדלג על השמירה. אם תבטל, תוכל "
 "לייבא את מסד הנתונים הקיים לפני קריאה לפונקציה זו שוב.\n"
 
-#: src/file_itunesdb.c:1345
+#: src/file_itunesdb.c:1417
 msgid ""
 "iPod directory structure must be present before synching to the iPod can be "
 "performed.\n"
 msgstr "מבנה התיקיות של ה-iPod חייב להיות זמין לפני סנכרון ה-iPod.\n"
 
-#: src/file_itunesdb.c:1354
+#: src/file_itunesdb.c:1426
 msgid "Some tracks could not be deleted from the iPod. Export aborted!"
 msgstr "מספר רצועות לא יכלו להימחק מה-iPod. יצוא בוטל!"
 
-#: src/file_itunesdb.c:1370
+#: src/file_itunesdb.c:1442
 msgid "Now writing iTunesDB. Please wait..."
 msgstr "כותב כעת iTunesDB. אנא המתן..."
 
-#: src/file_itunesdb.c:1414
+#: src/file_itunesdb.c:1488
 #, c-format
 msgid "Extended information file not deleted: '%s'"
 msgstr "קובץ מידע מורחב לא נמחק: '%s'"
 
-#: src/file_itunesdb.c:1500
+#: src/file_itunesdb.c:1574
 msgid "iPod Database Saved"
 msgstr "מסד נתונים של iPod נשמר"
 
-#: src/file_itunesdb.c:1548
+#: src/file_itunesdb.c:1633
 msgid "Syncing contacts, calendar and notes..."
 msgstr "מסנכרן אנשי קשר, יומן ופתקים..."
 
@@ -1441,15 +1539,20 @@
 msgid "Add Playlists"
 msgstr "הוספת רשימת השמעה"
 
-#: src/fileselection.c:438
+#. Create the file chooser, and handle the response
+#: src/fileselection.c:270
+msgid "Set Cover"
+msgstr ""
+
+#: src/fileselection.c:491
 msgid "Select directory to add recursively"
 msgstr "בחר תיקייה להוספה רקורסיבית"
 
-#: src/fileselection.c:696
+#: src/fileselection.c:749
 msgid "Ok"
 msgstr "אישור"
 
-#: src/fileselection.c:705
+#: src/fileselection.c:758
 msgid "Cancel"
 msgstr "ביטול"
 
@@ -1516,7 +1619,7 @@
 msgid "n/c"
 msgstr "n/c"
 
-#: src/info.c:382 src/info.c:786
+#: src/info.c:382 src/info.c:793
 msgid "offline"
 msgstr "לא מקוון"
 
@@ -1525,243 +1628,32 @@
 msgid " P:%d T:%d/%d"
 msgstr " P:%d T:%d/%d"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "B"
 msgstr "בתים"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "kB"
 msgstr "ק\"ב"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "TB"
 msgstr "ט\"ב"
 
-#: src/info.c:771
+#: src/info.c:778
 #, c-format
 msgid " %s Free"
 msgstr " %s זמין"
 
-#: src/info.c:776
+#: src/info.c:783
 #, c-format
 msgid " %s Pending"
 msgstr " %s ממתין"
 
-#: src/info.c:781
+#: src/info.c:788
 msgid " disconnected"
 msgstr " מנותק"
 
-#: src/itdb_itunesdb.c:313
-#, c-format
-msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
-msgstr "חיפוש לא חוקי בהיסט %ld (אורך %ld) בקובץ '%s'."
-
-#: src/itdb_itunesdb.c:520
-#, c-format
-msgid "Not a Play Counts file: '%s' (missing mhdp header)."
-msgstr "זהו לא קובץ ספירת השמעה: '%s' (חסר תחילית mhdp)"
-
-#: src/itdb_itunesdb.c:534
-#, c-format
-msgid "Play Counts file ('%s'): header length smaller than expected (%d<96)."
-msgstr "קובץ ספירת השמעה ('%s'): אורך תחילית קטן מהצפוי (%d<96)."
-
-#: src/itdb_itunesdb.c:547
-#, c-format
-msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
-msgstr "קובץ ספירת השמעה ('%s'): אורך רשומה קטן מהצפוי (%d<12)."
-
-#: src/itdb_itunesdb.c:801
-#, c-format
-msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
-msgstr "iTunesDB שבור: אין MHOD בהיסט %ld בקובץ '%s'."
-
-#: src/itdb_itunesdb.c:921
-#, c-format
-msgid ""
-"Length of smart playlist rule field (%d) not as expected. Trying to continue "
-"anyhow.\n"
-msgstr ""
-"אורך שדה של חוק (%d) רשימת השמעה חכמה הוא לא כצפוי. מנסה להמשיך בכל זאת.\n"
-
-#: src/itdb_itunesdb.c:964
-msgid "Did not find SLst hunk as expected. Trying to continue.\n"
-msgstr "לא נמצאה חתיכת SLst כצפוי. מנסה להמשיך.\n"
-
-#: src/itdb_itunesdb.c:970
-#, c-format
-msgid ""
-"Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
-"\n"
-msgstr ""
-"נתקלנו בסוג לא ידוע של MHOD (%d) בזמן ניתוח ה-iTuneDB. מתעלם.\n"
-"\n"
-
-#: src/itdb_itunesdb.c:1050 src/itdb_itunesdb.c:1739 src/itdb_itunesdb.c:1774
-#, c-format
-msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr "iTunesDB שבור: אורך חתיכה 0 בחתיכה  %ld בקובץ '%s'."
-
-#: src/itdb_itunesdb.c:1144
-msgid "Master-PL"
-msgstr "רשימת ראשית"
-
-#: src/itdb_itunesdb.c:1171
-#, c-format
-msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
-msgstr "iTunesDB שבור: נמצא mhyp ב %ld בקובץ '%s'."
-
-#: src/itdb_itunesdb.c:1219
-#, c-format
-msgid "Itdb_Track ID '%d' not found.\n"
-msgstr "מזהה Itdb_Track '%d' לא נמצא.\n"
-
-#: src/itdb_itunesdb.c:1482
-msgid "OTG Playlist"
-msgstr "רשימת השמעה OTG"
-
-#: src/itdb_itunesdb.c:1496
-#, c-format
-msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
-msgstr "זהו לא קובץ רשימת השמעה OTG: '%s' (חסרה תחילת קובץ mhpo)."
-
-#: src/itdb_itunesdb.c:1510
-#, c-format
-msgid "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
-msgstr "קובץ רשימת השמעה OTG ('%s'): גודל תחילית קטן מהצפוי (%d<20)."
-
-#: src/itdb_itunesdb.c:1522
-#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
-msgstr "קובץ רשימת השמעה OTG ('%s'): גודל רשומה קטן מהצפוי (%d<4)."
-
-#: src/itdb_itunesdb.c:1557
-#, c-format
-msgid "OTG playlist file '%s': reference to non-existent track (%d)."
-msgstr "רשימת השמעה OTG '%s': התייחסות לרצועה לא קיימת (%d)."
-
-#: src/itdb_itunesdb.c:1602
-#, c-format
-msgid "OTG Playlist %d"
-msgstr "רשימת השמעה OTG %d"
-
-#: src/itdb_itunesdb.c:1645
-#, c-format
-msgid "Not a iTunesDB: '%s' (missing mhdb header)."
-msgstr "זהו לא iTunesDB: '%s' (חסרה תחילית mhdb)."
-
-#: src/itdb_itunesdb.c:1661
-#, c-format
-msgid ""
-"iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). "
-"Aborting."
-msgstr ""
-"iTunesDB ('%s'): גודל תחילית של החתיכה mhsd קטנה מהצפוי (%ld<32). מבטל."
-
-#: src/itdb_itunesdb.c:1693
-#, c-format
-msgid "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
-msgstr "iTunesDB '%s' שבור: כבר מצאנו mhsds של שתי רשימות השמעה -- מוותר."
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1754
-msgid ""
-"iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"יכול להיות ש-iTuneDB שבור: מספר רצועות (mhit חתיכות) לא עקביות. מנסה "
-"להמשיך.\n"
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1835
-msgid ""
-"iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"יכול להיות ש-iTuneDB שבור: מספר רשימות השמעה (mhyp חתיכות) לא עקביות. מנסה "
-"להמשיך.\n"
-
-#: src/itdb_itunesdb.c:1873
-#, c-format
-msgid "File not found: '%s'."
-msgstr "קובץ לא קיים: '%s'."
-
-#: src/itdb_itunesdb.c:2394
-#, c-format
-msgid "Cannot write mhod of type %d\n"
-msgstr "לא יכול לכתוב mhod של סוג %d\n"
-
-#: src/itdb_itunesdb.c:2520 src/itdb_itunesdb.c:2633
-msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
-msgstr "מסד הנתונים בזיכרון שבור (מצביע רצועה == NULL). מבטל ייצוא."
-
-#: src/itdb_itunesdb.c:2676
-msgid "Database in memory corrupt (playlist pointer == NULL). Aborting export."
-msgstr "מסד הנתונים בזיכרון שבור (מצביע רשימת השמעה == NULL). מבטל ייצוא."
-
-#: src/itdb_itunesdb.c:2716
-#, c-format
-msgid "Opening of '%s' for writing failed."
-msgstr "פתיחת '%s' לכתיבה נכשלה."
-
-#: src/itdb_itunesdb.c:2727
-#, c-format
-msgid "Writing to '%s' failed."
-msgstr "נכשלה כתיבה ל '%s'."
-
-#: src/itdb_itunesdb.c:2738
-#, c-format
-msgid "Writing to '%s' failed (%s)."
-msgstr "נכשלה כתיבה ל '%s' (%s)."
-
-#: src/itdb_itunesdb.c:2875 src/itdb_itunesdb.c:3042 src/itdb_itunesdb.c:3224
-#: src/itdb_itunesdb.c:3358
-#, c-format
-msgid "Path not found: '%s'."
-msgstr "נתיב לא נמצא: '%s'."
-
-#: src/itdb_itunesdb.c:3244
-#, c-format
-msgid "Error renaming '%s' to '%s' (%s)."
-msgstr "תקלה בשינוי שם '%s' ל '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3261
-#, c-format
-msgid "Error removing '%s' (%s)."
-msgstr "תקלה בהסרת '%s' (%s)"
-
-#: src/itdb_itunesdb.c:3487
-#, c-format
-msgid "Error opening '%s' for reading (%s)."
-msgstr "תקלה בפתיחת '%s' לקריאה (%s)."
-
-#: src/itdb_itunesdb.c:3498
-#, c-format
-msgid "Error opening '%s' for writing (%s)."
-msgstr "תקלה בפתיחת '%s' לכתיבה (%s)."
-
-#: src/itdb_itunesdb.c:3515
-#, c-format
-msgid "Error while reading from '%s' (%s)."
-msgstr "תקלה בזמן קריאה מ '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3531
-#, c-format
-msgid "Error while writing to '%s' (%s)."
-msgstr "תקלה בזמן כתיבה ל '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3544 src/itdb_itunesdb.c:3554
-#, c-format
-msgid "Error when closing '%s' (%s)."
-msgstr "תקלה בזמן סגירה '%s' (%s)."
-
-#. New action!
-#: src/itdb_playlist.c:71
-#, c-format
-msgid "Unknown action (%d) in smart playlist will be ignored.\n"
-msgstr "התעלמות מפעולה לא ידועה (%d) ברשימת השמעה חכמה.\n"
-
 #: src/md5.c:159
 msgid "Hashed file is 0 bytes long\n"
 msgstr "קובץ מעורבב (Hashed) בעל גודל של 0\n"
@@ -1779,8 +1671,9 @@
 msgstr "גרסת gtkpod %s: ממשק חוצה-פלטפורמות רב-שפות לאייפוד(TM) של אפל."
 
 #: src/misc.c:82
+#, fuzzy
 msgid ""
-"(C) 2002 - 2003\n"
+"(C) 2002 - 2005\n"
 "Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
@@ -1923,8 +1816,8 @@
 "Chris Micacchi: when sorting ignore 'the' and similar at the beginning of "
 "the title\n"
 msgstr ""
-"כריס מיקאצ'י: בזמן מיון התעלם מתחילות כגון ה' הידיעה (the) ואחרים בתחילת "
-"התיאור\n"
+"כריס מיקאצ'י: בזמן מיון התעלם מתחילות כגון ה' הידיעה (the) ואחרים בתחילת שם "
+"הרצועה\n"
 
 #: src/misc.c:138
 msgid "Steve Jay: use statvfs() instead of df (better portability, faster)\n"
@@ -1955,20 +1848,41 @@
 msgstr "קלינטון גורמלי: קבצי אצווה לסינכרון עם thunderbird\n"
 
 #: src/misc.c:153
+#, fuzzy
+msgid "Sebastien Beridot: sync script for ldif addressbook format\n"
+msgstr "קלינטון גורמלי: קבצי אצווה לסינכרון עם thunderbird\n"
+
+#: src/misc.c:156
+#, fuzzy
+msgid "Sebastian Scherer: sync script for kNotes\n"
+msgstr "קלינטון גורמלי: קבצי אצווה לסינכרון עם thunderbird\n"
+
+#: src/misc.c:159
+msgid "Nick Piper: sync script for Palm, type-ahead search\n"
+msgstr ""
+
+#: src/misc.c:162
+msgid "Uwe Hermann: help with support for iPod Video\n"
+msgstr ""
+
+#: src/misc.c:165
 msgid ""
-"Icons of buttons were made by Nicolas Chariot.\n"
+"Iain Benson: support for compilation tag in mp3 files and separate display "
+"of compilations in the sort tab.\n"
+msgstr ""
+
+#: src/misc.c:167
+msgid ""
+"Nicolas Chariot: icons of buttons\n"
 "\n"
 "\n"
 msgstr ""
-"הסמלים על הכפתורים נעשו על ידי ניקולס צ'ריוט.\n"
-"\n"
-"\n"
 
-#: src/misc.c:157
+#: src/misc.c:171
 msgid "This program borrows code from the following projects:\n"
 msgstr "התוכנה שואלת קוד מהפרוייקטים הבאים: \n"
 
-#: src/misc.c:159
+#: src/misc.c:173
 msgid ""
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
@@ -1976,7 +1890,7 @@
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
 
-#: src/misc.c:161
+#: src/misc.c:175
 msgid ""
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
@@ -1984,78 +1898,83 @@
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
 
-#: src/misc.c:163
+#: src/misc.c:177
 msgid "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 msgstr "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 
-#: src/misc.c:165
+#: src/misc.c:179
 msgid ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
 msgstr ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
 
-#: src/misc.c:168
+#: src/misc.c:182
 msgid ""
 "The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"
 msgstr ""
 "ממשק המשתמש הגרפי נבנה בעזרת glade-2\n"
 " (http://glade.gnome.org/).\n"
 
-#: src/misc.c:183
+#: src/misc.c:197
 msgid "French:   David Le Brun (david at dyn-ns dot net)\n"
-msgstr "צרפתית:   דיוויד לה-ברון (david at dyn-ns dot net)\n"
+msgstr "צרפתית:\tדיוויד לה-ברון (david at dyn-ns dot net)\n"
 
-#: src/misc.c:185
+#: src/misc.c:199
 msgid "German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
-msgstr "גרמנית:   יורג שולר (jcsjcs at users dot sourceforge dot net)\n"
+msgstr "גרמנית:\tיורג שולר (jcsjcs at users dot sourceforge dot net)\n"
 
-#: src/misc.c:187
+#: src/misc.c:201
 msgid "Hebrew: Assaf Gillat (gillata at gmail dot com)\n"
-msgstr ""
+msgstr "עברית:\tאסף גילת (gillata at gmail dot com)\n"
 
-#: src/misc.c:189
+#: src/misc.c:203
 msgid ""
 "Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
 msgstr ""
-"איטלקית:  אדוארד מאטוצ'י (edward_matteucc at users dot sourceforge dot net)\n"
+"איטלקית:\tאדוארד מאטוצ'י (edward_matteucc at users dot sourceforge dot net)\n"
 
-#: src/misc.c:191
+#: src/misc.c:205
 msgid "Japanese: Ayako Sano\n"
-msgstr "יפנית: אייקו סאנו\n"
+msgstr "יפנית:\tאייקו סאנו\n"
 
-#: src/misc.c:193
+#: src/misc.c:207
 msgid "Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
-msgstr "יפנית: קונטרו פוקוצ'י (fukuchi at users dot sourceforge dot net)\n"
+msgstr "יפנית:\tקונטרו פוקוצ'י (fukuchi at users dot sourceforge dot net)\n"
 
-#: src/misc.c:195
+#: src/misc.c:209
 msgid "Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
-msgstr "שוודית : סטפן אסרהול (stefan asserhall at comhem dot se)\n"
+msgstr "שוודית:\tסטפן אסרהול (stefan asserhall at comhem dot se)\n"
 
-#: src/misc.c:318
+#: src/misc.c:332
 #, c-format
 msgid "Could not delete backup file: \"%s\"\n"
 msgstr "לא מסוגל למחוק קובץ גיבוי: \"%s\"\n"
 
-#: src/misc.c:438
+#: src/misc.c:452
 #, c-format
 msgid "Unmounting of '%s' (%s) unsuccessful."
 msgstr "ביטול עגינה של '%s' (%s) נכשלה."
 
-#: src/misc.c:442
+#: src/misc.c:456
 #, c-format
 msgid "Unmounting of '%s' unsuccessful."
 msgstr "ביטול עגינה של '%s' נכשלה."
 
-#: src/misc.c:1097
+#: src/misc.c:1219
 #, c-format
+msgid "Unknown token '%%%c' in template '%s'"
+msgstr "אסימון לא ידוע '%%%c' בתבנית '%s'"
+
+#: src/misc.c:1301
+#, c-format
 msgid "Template ('%s') does not match file type '%s'\n"
 msgstr "התבנית ('%s') לא מתאימה לסוג הקובץ '%s'\n"
 
-#: src/misc.c:1190
+#: src/misc.c:1382
 #, c-format
-msgid "Unknown token '%%%c' in template '%s'"
-msgstr "אסימון לא ידוע '%%%c' בתבנית '%s'"
+msgid "Error creating %s: %s\n"
+msgstr "תקלה ביצירת %s: %s\n"
 
 #. gint id,
 #. gboolean modal,
@@ -2180,8 +2099,8 @@
 
 #. no playlist??? Cannot happen, but...
 #. no playlist selected
-#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:667
-#: src/misc_track.c:879
+#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:674
+#: src/misc_track.c:1509
 msgid "No playlist selected."
 msgstr "לא נבחרה רשימת השמעה."
 
@@ -2190,11 +2109,6 @@
 msgid "No tracks selected."
 msgstr "לא נבחרו רצועות."
 
-#. no entry selected
-#: src/misc_confirm.c:441 src/misc_track.c:852
-msgid "No entry selected."
-msgstr "לא נבחרה רשומה."
-
 #: src/misc_confirm.c:448
 msgid "Cannot remove entry 'All'"
 msgstr "לא מסוגל להסיר רשומה 'הכל'"
@@ -2204,35 +2118,45 @@
 msgid "Removed all %d tracks from the iPod"
 msgstr "הוסרו כל %d הרצועות מה-iPod"
 
-#: src/misc_confirm.c:549 src/misc_confirm.c:619
+#: src/misc_confirm.c:546
+#, fuzzy
+msgid "Removed all podcasts from the iPod"
+msgstr "הוסרו כל %d הרצועות מה-iPod"
+
+#: src/misc_confirm.c:556 src/misc_confirm.c:626
 #, c-format
 msgid "Deleted playlist '%s' including %d member track"
 msgid_plural "Deleted playlist '%s' including %d member tracks"
 msgstr[0] "נמחקה רשימת השמעה '%s' כולל רצועה %d"
 msgstr[1] "נמחקה רשימת השמעה '%s' כולל %d רצועות"
 
-#: src/misc_confirm.c:563 src/misc_confirm.c:633
+#: src/misc_confirm.c:570 src/misc_confirm.c:640
 #, c-format
 msgid "Deleted playlist '%s'"
 msgstr "נמחקה רשומה '%s'"
 
-#: src/misc_confirm.c:596
+#: src/misc_confirm.c:603
 #, c-format
 msgid "Deleted playlist '%s' including %d member track on harddisk"
 msgid_plural "Deleted playlist '%s' including %d member tracks on harddisk"
 msgstr[0] "נמחקה רשימת השמעה '%s' כולל רצועה %d מהדיסק הקשיח"
 msgstr[1] "נמחקה רשימת השמעה '%s' כולל %d רצועות מהדיסק הקשיח"
 
-#: src/misc_confirm.c:611
+#: src/misc_confirm.c:618
 #, c-format
 msgid "Removed all %d tracks from the database"
 msgstr "הסר את כל %d הרצועות ממסד הנתונים"
 
-#: src/misc_confirm.c:686
+#: src/misc_confirm.c:693
 msgid "Are you sure you want to remove all tracks from your iPod?"
 msgstr "האם אתה בטוח שאתה רוצה להסיר את כל הרצועות מה-iPod?"
 
-#: src/misc_confirm.c:694
+#: src/misc_confirm.c:698
+#, fuzzy
+msgid "Are you sure you want to remove all podcasts from your iPod?"
+msgstr "האם אתה בטוח שאתה רוצה להסיר את כל הרצועות מה-iPod?"
+
+#: src/misc_confirm.c:706
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and the following track "
@@ -2249,12 +2173,12 @@
 "האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועות הבאות לגמרי מה-"
 "iPod? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים."
 
-#: src/misc_confirm.c:705 src/misc_confirm.c:760
+#: src/misc_confirm.c:717 src/misc_confirm.c:772
 #, c-format
 msgid "Are you sure you want to delete the playlist '%s'?"
 msgstr "האם אתה בטח שאתה רוצה למחוק את רשימת ההשמעה '%s'?"
 
-#: src/misc_confirm.c:731
+#: src/misc_confirm.c:743
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2271,11 +2195,11 @@
 "האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועות הבאות לגמרי "
 "מהדיסק הקשיח? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים."
 
-#: src/misc_confirm.c:739
+#: src/misc_confirm.c:751
 msgid "Are you sure you want to remove all tracks from the database?"
 msgstr "האם אתה בטוח שאתה רוצה להסיר את כל הרצועות ממסד הנתונים?"
 
-#: src/misc_confirm.c:748
+#: src/misc_confirm.c:760
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2292,28 +2216,28 @@
 "האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועות הבאות לגמרי ממסד "
 "הנתונים? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים."
 
-#: src/misc_confirm.c:937
+#: src/misc_confirm.c:960
 #, c-format
 msgid "Problem creating iPod directory: '%s'."
 msgstr "בעיות ביצירת תיקיית iPod: '%s'."
 
-#: src/misc_confirm.c:939
+#: src/misc_confirm.c:962
 #, c-format
 msgid "Successfully created iPod directories in '%s'."
 msgstr "תיקיות ה-iPod נוצרו בהצלחה ב - '%s'."
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_confirm.c:978
+#: src/misc_confirm.c:1001
 msgid "Create iPod directories"
 msgstr "יצירת תיקיות iPod"
 
 #. title
-#: src/misc_confirm.c:979
+#: src/misc_confirm.c:1002
 msgid "OK to create the following directories?"
 msgstr "האם ליצור את התיקיות הבאות?"
 
-#: src/misc_confirm.c:1043
+#: src/misc_confirm.c:1066
 msgid ""
 "Data has been changed and not been saved.\n"
 "OK to exit gtkpod?"
@@ -2321,6 +2245,11 @@
 "המידע שונה ולא נשמר.\n"
 "האם לצאת מ-gtkpod?"
 
+#: src/misc_conversion.c:67
+#, fuzzy
+msgid "File type"
+msgstr "גודל קובץ"
+
 #: src/misc_conversion.c:68
 msgid "PC File"
 msgstr "קובץ PC"
@@ -2368,55 +2297,87 @@
 msgid "CD Nr"
 msgstr "מזהה דיסק שמע"
 
-#: src/misc_conversion.c:101
+#: src/misc_conversion.c:89
+#, fuzzy
+msgid "Category"
+msgstr "קטגוריה:"
+
+#: src/misc_conversion.c:90
+msgid "Description"
+msgstr ""
+
+#. 30
+#: src/misc_conversion.c:91
+msgid "Podcast URL"
+msgstr ""
+
+#: src/misc_conversion.c:92
+msgid "Podcast RSS"
+msgstr ""
+
+#: src/misc_conversion.c:93
+#, fuzzy
+msgid "Subtitle"
+msgstr "שם הרצועה"
+
+#: src/misc_conversion.c:94
+#, fuzzy
+msgid "Date released"
+msgstr "תאריך השמעה"
+
+#: src/misc_conversion.c:95
+msgid "Checked"
+msgstr ""
+
+#: src/misc_conversion.c:108
 msgid "Name of file on PC, if available"
 msgstr "שם הקובץ על ה-PC, אם קיים"
 
-#: src/misc_conversion.c:102
+#: src/misc_conversion.c:109
 msgid "Name of file on the iPod"
 msgstr "שם הקובץ על ה-iPod"
 
 #. 10
-#: src/misc_conversion.c:104
+#: src/misc_conversion.c:111
 msgid "Track Nr. and total number of tracks on CD"
 msgstr "מספר רצועה וסך כל מספר הרצועות על דיסק השמע"
 
-#: src/misc_conversion.c:105
+#: src/misc_conversion.c:112
 msgid "Whether the file has already been transferred to the iPod or not"
 msgstr "האם הקובץ הועבר כבר אל ה-iPod או לא"
 
-#: src/misc_conversion.c:111
+#: src/misc_conversion.c:118
 msgid ""
 "Supposedly something that tells the iPod to increase or decrease the "
 "playback speed"
 msgstr "לכאורה משהו המסמן ל-iPod להגביר או להנמיך את מהירות ההשמעה"
 
-#: src/misc_conversion.c:113
+#: src/misc_conversion.c:120
 msgid "Number of times the track has been played"
 msgstr "מספר הפעמים שהרצועה הושמעה"
 
-#: src/misc_conversion.c:114
+#: src/misc_conversion.c:121
 msgid "Star rating from 0 to 5"
 msgstr "דירוג כוכבים החל מ 0 עד 5"
 
-#: src/misc_conversion.c:115
+#: src/misc_conversion.c:122
 msgid "Date and time track has been added"
 msgstr "תאריך ושעה שהרצועה הוספה"
 
 #. 20
-#: src/misc_conversion.c:116
+#: src/misc_conversion.c:123
 msgid "Date and time track has last been played"
 msgstr "תאריך ושעה שהרצועה הושמעה לאחרונה"
 
-#: src/misc_conversion.c:117
+#: src/misc_conversion.c:124
 msgid "Date and time track has last been modified"
 msgstr "תאריך ושעה שהרצועה שונתה לאחרונה"
 
-#: src/misc_conversion.c:118
+#: src/misc_conversion.c:125
 msgid "Manual volume adjust"
 msgstr "שינוי עוצמת קול ידנית"
 
-#: src/misc_conversion.c:119
+#: src/misc_conversion.c:126
 msgid ""
 "Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on "
 "the iPod"
@@ -2424,31 +2385,44 @@
 "תיקון עוצמת קול בדציבלים (הגבר השמעה) -- צריך להפעיל 'soundcheck' על ה-iPod"
 
 #. 25
-#: src/misc_conversion.c:122
+#: src/misc_conversion.c:129
 msgid "CD Nr. and total number of CDS in set"
 msgstr "מספר דיסק שמע וסך כל דיסקי השמע בקבוצה"
 
-#: src/misc_conversion.c:605
+#: src/misc_conversion.c:132
+msgid ""
+"The category (e.g. 'Technology' or 'Music') where the podcast was located."
+msgstr ""
+
+#: src/misc_conversion.c:133
+msgid "Accessible by selecting the center button on the iPod."
+msgstr ""
+
+#: src/misc_conversion.c:137
+msgid "Release date (for podcasts displayed next to the title on the iPod)"
+msgstr ""
+
+#: src/misc_conversion.c:639
 #, c-format
 msgid "The URI '%s' is not an absolute URI using the file scheme"
 msgstr "הנתיב '%s' הוא נתיב לא מוחלט המשתמש בתבנית הקובץ"
 
-#: src/misc_conversion.c:615
+#: src/misc_conversion.c:649
 #, c-format
 msgid "The local file URI '%s' may not include a '#'"
 msgstr "שם הקובץ המקומי בנתיב '%s' לא יכול לכלול '#'"
 
-#: src/misc_conversion.c:632
+#: src/misc_conversion.c:666
 #, c-format
 msgid "The URI '%s' is invalid"
 msgstr "הנתיב '%s' הוא לא חוקי"
 
-#: src/misc_conversion.c:644
+#: src/misc_conversion.c:678
 #, c-format
 msgid "The hostname of the URI '%s' is invalid"
 msgstr "שם השרת של הנתיב '%s' הוא לא חוקי."
 
-#: src/misc_conversion.c:660
+#: src/misc_conversion.c:694
 #, c-format
 msgid "The URI '%s' contains invalidly escaped characters"
 msgstr "הנתיב URI '%s' מכיל תווים לא חוקיים"
@@ -2457,7 +2431,7 @@
 msgid "Please enter a name for the new playlist"
 msgstr "הכנס בבקשה את השם של רשימת ההשמעה החדשה"
 
-#: src/misc_playlist.c:97 gtkpod.glade:533 gtkpod.glade:12271
+#: src/misc_playlist.c:97 gtkpod.glade:578 gtkpod.glade:772 gtkpod.glade:7128
 msgid "Smart Playlist"
 msgstr "רשימת השמעה חכמה"
 
@@ -2546,33 +2520,33 @@
 msgid "Last Time"
 msgstr "בפעם האחרונה"
 
-#: src/misc_playlist.c:834
+#: src/misc_playlist.c:831
 msgid "Removal of dangling tracks with no files on PC was canceled."
 msgstr "הסרה של רצועות מתנדנדות ללא קבצים על ה-PC בוטלה."
 
-#: src/misc_playlist.c:844
+#: src/misc_playlist.c:841
 msgid "Handling of dangling tracks with files on PC was canceled."
 msgstr "טיפול ברצועות מתנדנדות ללא קבצים על ה-PC בוטל."
 
-#: src/misc_playlist.c:872
+#: src/misc_playlist.c:869
 msgid "Dangling tracks with no files on PC were removed."
 msgstr "רצועות מתנדנדות ללא קבצים על ה-PC הוסרו."
 
 #. printf("Handling track %d\n", track->ipod_id);
-#: src/misc_playlist.c:905
-#, fuzzy, c-format
+#: src/misc_playlist.c:902
+#, c-format
 msgid "Processing '%s'"
-msgstr "מעבד '%s'..."
+msgstr "מעבד '%s'"
 
-#: src/misc_playlist.c:930
+#: src/misc_playlist.c:927
 msgid "Dangling tracks with files on PC were handled."
 msgstr "רצועות מתנדנדות עם קבצים על ה-PC טופלו."
 
-#: src/misc_playlist.c:963
+#: src/misc_playlist.c:960
 msgid "Track"
 msgstr "רצועה"
 
-#: src/misc_playlist.c:1008
+#: src/misc_playlist.c:1005
 msgid ""
 "You did not import the existing iTunesDB. This is most likely incorrect and "
 "will result in the loss of the existing database.\n"
@@ -2587,19 +2561,19 @@
 "לחץ 'אישור' על מנת להמשיך כרגיל או 'ביטול' לביטול. אם אתה תבטל, אתה תוכל "
 "לייבא את מסד הנתונים הקיים לפני קריאה לפעולה זו שוב.\n"
 
-#: src/misc_playlist.c:1024
+#: src/misc_playlist.c:1021
 msgid "Creating a tree of known files"
 msgstr "יוצר עץ של קבצים ידועים"
 
-#: src/misc_playlist.c:1052
+#: src/misc_playlist.c:1065
 msgid "Checking iPOD files against known files in DB"
 msgstr "בודק קבצים על ה-iPod כנגד קבצים ידועים במסד הנתונים"
 
-#: src/misc_playlist.c:1098
+#: src/misc_playlist.c:1110
 msgid "Orphaned"
 msgstr "יתום"
 
-#: src/misc_playlist.c:1119
+#: src/misc_playlist.c:1131
 #, c-format
 msgid ""
 "The following orphaned file had already been added to the iPod again. It "
@@ -2611,12 +2585,12 @@
 "%s\n"
 "\n"
 
-#: src/misc_playlist.c:1148
+#: src/misc_playlist.c:1160
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Processing..."
 msgstr "נמצאו %d קבצים יתומים ו-%d קבצים מתנדנדים. מעבד..."
 
-#: src/misc_playlist.c:1171
+#: src/misc_playlist.c:1183
 #, c-format
 msgid ""
 "The following dangling track has a file on PC.\n"
@@ -2633,7 +2607,7 @@
 "הרצועות המתנדנדות (%d) הבאות הן בעלות קבצים על ה-PC\n"
 "לחץ אישור להעביר אותן מהקבצים בסנכרון הבא, וביטול לעזוב את זה כמו שזה."
 
-#: src/misc_playlist.c:1176
+#: src/misc_playlist.c:1188
 #, c-format
 msgid ""
 "The following dangling track doesn't have file on PC. \n"
@@ -2650,31 +2624,31 @@
 
 #. we want unique window for each
 #. gboolean modal,
-#: src/misc_playlist.c:1183
+#: src/misc_playlist.c:1195
 msgid "Dangling Tracks"
 msgstr "רצועות מתנדנדות"
 
-#: src/misc_playlist.c:1207
+#: src/misc_playlist.c:1219
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Done."
 msgstr "נמצאו %d קבצים יתומים ו-%d קבצים מתנדנדים. בוצע."
 
 #. update for count == 1, 21, 41 ... and for count == n
-#: src/misc_track.c:90 src/misc_track.c:367
+#: src/misc_track.c:91 src/misc_track.c:368
 #, c-format
 msgid "Hashed %d of %d track."
 msgid_plural "Hashed %d of %d tracks."
 msgstr[0] "בוצע ערבוב של %d מתוך %d רצועה."
 msgstr[1] "בוצע ערבוב של %d מתוך %d רצועות."
 
-#: src/misc_track.c:201
+#: src/misc_track.c:202
 #, c-format
 msgid "The following duplicate track has been removed."
 msgid_plural "The following %d duplicate tracks have been removed."
 msgstr[0] "הוסרה הרצועה הכפולה הבאה."
 msgstr[1] "הוסרו %d מן הרצועות הכפולות הבאות."
 
-#: src/misc_track.c:208
+#: src/misc_track.c:209
 #, c-format
 msgid ""
 "The following duplicate track has not been added to the master play list."
@@ -2686,31 +2660,35 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_track.c:215
+#: src/misc_track.c:216
 msgid "Duplicate detection"
 msgstr "זיהוי כפילויות"
 
-#: src/misc_track.c:793
+#: src/misc_track.c:844
+msgid "Local Database"
+msgstr "מסד נתונים מקומי"
+
+#: src/misc_track.c:1396
 #, c-format
 msgid "drag and drop: ignored '%s'\n"
 msgstr "גרור ושחרר: התעלמות מ '%s'\n"
 
-#: src/mp3file.c:1091
+#: src/mp3file.c:1117
 #, c-format
 msgid "Error setting ID3 field: %s\n"
 msgstr "שגיאה בקביעת שדה ID3: %s\n"
 
-#: src/mp3file.c:1116 src/mp3file.c:1223 src/mp3file.c:1949
+#: src/mp3file.c:1142 src/mp3file.c:1289 src/mp3file.c:2035
 #, c-format
 msgid "ERROR while opening file: '%s' (%s).\n"
 msgstr "שגיאה בזמן פתיחת קובץ: '%s' (%s).\n"
 
-#: src/mp3file.c:1280
+#: src/mp3file.c:1356
 #, c-format
 msgid "ERROR while writing tag to file: '%s' (%s).\n"
 msgstr "שגיאה בזמן כתיבת תג לקובץ: '%s' (%s).\n"
 
-#: src/mp3file.c:1793
+#: src/mp3file.c:1879
 #, c-format
 msgid ""
 "Could not find mp3gain. I tried to use the following executable: '%s'.\n"
@@ -2729,33 +2707,33 @@
 "אם אין לך את mp3gain מותקן, אתה יכול להורידו מ: http://www.sourceforge.net/"
 "projects/mp3gain"
 
-#: src/mp3file.c:1833
+#: src/mp3file.c:1919
 #, c-format
 msgid "Execution of mp3gain ('%s') failed."
 msgstr "ביצוע של mp3gain ('%s') נכשל."
 
 #. Tracks with zero play length are ignored by iPod...
-#: src/mp3file.c:2061
+#: src/mp3file.c:2178
 #, c-format
 msgid "File \"%s\" has zero play length. Ignoring.\n"
 msgstr "הקובץ \"%s\" בעל זמן אפס. מתעלם.\n"
 
-#: src/mp4file.c:234 src/mp4file.c:353
+#: src/mp4file.c:243 src/mp4file.c:362
 #, c-format
 msgid "'%s' does not appear to be a mp4 audio file.\n"
 msgstr "הקובץ '%s' הוא כנראה לא קובץ שמע mp4.\n"
 
-#: src/mp4file.c:244
+#: src/mp4file.c:253
 #, c-format
 msgid "Could not open '%s' for reading, or file is not an mp4 file.\n"
 msgstr "אי אפשר לפתוח את '%s' לקריאה, או הקובץ הוא לא קובץ שמע mp4.\n"
 
-#: src/mp4file.c:364
+#: src/mp4file.c:373
 #, c-format
 msgid "Could not open '%s' for writing, or file is not an mp4 file.\n"
 msgstr "אי אפשר לפתוח את '%s' לכתיבה, או הקובץ הוא לא קובץ שמע mp4.\n"
 
-#: src/mp4file.c:377
+#: src/mp4file.c:386
 #, c-format
 msgid ""
 "Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. "
@@ -2764,7 +2742,7 @@
 "הייבוא של '%s' נכשל: m4a/m4p/m4b לא נתמך ללא הספריה mp4v2. אתה חייב להדר את "
 "קוד המקור gtkpod ביחד עם הספריה mp4v2.\n"
 
-#: src/mp4file.c:383
+#: src/mp4file.c:392
 #, c-format
 msgid ""
 "m4a/m4p/m4b metadata update for '%s' failed: m4a/m4p/m4b not supported "
@@ -2775,36 +2753,36 @@
 "ללא הספריה mp4v2. אתה חייב להדר את קוד המקור של gtkpod ביחד עם ספריית "
 "mp4v2.\n"
 
-#: src/prefs.c:127
+#: src/prefs.c:128
 #, c-format
 msgid "gtkpod version %s usage:\n"
 msgstr "גרסה %s של gtkpod, שימוש:\n"
 
-#: src/prefs.c:128
+#: src/prefs.c:129
 msgid "  -h, --help:   display this message\n"
 msgstr "  -h, --help:   display this message\n"
 
-#: src/prefs.c:129
+#: src/prefs.c:130
 msgid "  -p <filename>:increment playcount for file by one\n"
 msgstr "  -p <filename>:increment playcount for file by one\n"
 
-#: src/prefs.c:130
+#: src/prefs.c:131
 msgid "  -m path:      define the mountpoint of your iPod\n"
 msgstr "  -m path:      define the mountpoint of your iPod\n"
 
-#: src/prefs.c:131
+#: src/prefs.c:132
 msgid "  --mountpoint: same as '-m'.\n"
 msgstr "  --mountpoint: same as '-m'.\n"
 
-#: src/prefs.c:132
+#: src/prefs.c:133
 msgid "  -a:           import database automatically after start.\n"
 msgstr "  -a:           import database automatically after start.\n"
 
-#: src/prefs.c:133
+#: src/prefs.c:134
 msgid "  --auto:       same as '-a'.\n"
 msgstr "  --auto:       same as '-a'.\n"
 
-#: src/prefs.c:134
+#: src/prefs.c:135
 msgid ""
 "  -o:           use offline mode. No changes are exported to the iPod,\n"
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
@@ -2814,56 +2792,56 @@
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
 "                used with 'Offline' deactivated.\n"
 
-#: src/prefs.c:135
+#: src/prefs.c:136
 msgid "  --offline:    same as '-o'.\n"
 msgstr "  --offline:    same as '-o'.\n"
 
-#: src/prefs.c:382
+#: src/prefs.c:401
 #, c-format
 msgid "Error while reading prefs: %s\n"
 msgstr "שגיאה בזמן קריאת העדפות: %s\n"
 
-#: src/prefs.c:948
+#: src/prefs.c:1030
 #, c-format
 msgid "Unable to open config file '%s' for reading\n"
 msgstr "אי אפשר לפתוח את קובץ הקונפיגורציה '%s' לקריאה\n"
 
-#: src/prefs.c:1052
+#: src/prefs.c:1137
 #, c-format
 msgid "Unknown option: %s\n"
 msgstr "אפשרות לא ידועה: %s\n"
 
-#: src/prefs.c:1100
+#: src/prefs.c:1190
 #, c-format
 msgid "# delete confirmation\n"
 msgstr "# וידוא מחיקה\n"
 
-#: src/prefs.c:1107
+#: src/prefs.c:1197
 #, c-format
 msgid "# sort tab: select 'All', last selected page (=category)\n"
 msgstr "# כרטיסיית מיון: בחר 'הכל', הדף הנבחר אחרון (=קטגוריה)\n"
 
-#: src/prefs.c:1126
+#: src/prefs.c:1216
 #, c-format
 msgid "# autoselect master playlist?\n"
 msgstr "# בחירה אוטומטית של רשימת ראשית להשמעה?\n"
 
-#: src/prefs.c:1128
+#: src/prefs.c:1218
 #, c-format
 msgid "# title=0, artist, album, genre, composer\n"
-msgstr "# תיאור=0, ביצוע, כותר, סגנון, יוצר\n"
+msgstr "# שם רצועה=0, אמן, כותר, סגנון, יוצר\n"
 
-#: src/prefs.c:1129
+#: src/prefs.c:1219
 #, c-format
 msgid "# track_nr=5, ipod_id, pc_path, transferred\n"
 msgstr "# מספר_רצועה=5, מזהה_ipod, נתיב_ב-PC, הועברו\n"
 
-#: src/prefs.c:1130
+#: src/prefs.c:1220
 #, c-format
 msgid "# autoset: set empty tag to filename?\n"
 msgstr "# קביעה אוטומטית: קבע תג ריקה לקובץ?\n"
 
-#: src/prefs.c:1143
+#: src/prefs.c:1235
 #, c-format
 msgid ""
 "# position of sliders (paned): playlists, above tracks,\n"
@@ -2872,100 +2850,96 @@
 "# מיקום הגלילות : רשימות השמעה, מעל הרצועות,\n"
 "# בין כרטיסיות מיון, ובסרגל הסטטוס.\n"
 
-#: src/prefs.c:1178
+#: src/prefs.c:1271
 #, c-format
 msgid ""
 "# window sizes: main window, confirmation scrolled,\n"
 "#               confirmation non-scrolled, dirbrowser, prefs\n"
 msgstr ""
-"# גדלי חלונות: חלון ראשי, ווידוא לא נגלל, ווידוא נגלל, דפדפן תיקיות, הגדרות\n"
+"# גדלי חלונות: חלון ראשי, ווידוא לא נגלל, ווידוא נגלל, סייר תיקיות, הגדרות\n"
 
-#: src/prefs.c:1215
-msgid "Settings are not saved.\n"
-msgstr "אפשרויות לא נשמרו.\n"
-
-#: src/prefs.c:1228
+#: src/prefs.c:1328
 #, c-format
 msgid "Unable to open '%s' for writing\n"
 msgstr "אי אפשר לפתוח '%s' לכתיבה\n"
 
-#: src/prefs.c:1592
+#: src/prefs.c:1682
 #, c-format
 msgid ""
 " Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.\n"
 msgstr ""
 " העדפות: מספר קטגוריה (%d<%d?) או מספר כרטיסיית מיון (%d<%d?) מתוך לטווח.\n"
 
-#: src/prefs.c:1641
+#: src/prefs.c:1731
 #, c-format
 msgid "Unable to 'mkdir %s'\n"
 msgstr "אי אפשר לעשות 'mkdir %s'\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2034
+#: src/prefs.c:2157
 #, c-format
 msgid "prefs_set_toolbar_style: illegal style '%d' ignored\n"
 msgstr "prefs_set_toolbar_style: התעלמות מסגנון לא חוקי '%d' \n"
 
 #. illegal -- ignore
-#: src/prefs.c:2076
+#: src/prefs.c:2199
 #, c-format
 msgid "prefs_set_pm_sort: illegal type '%d' ignored\n"
 msgstr "prefs_set_pm_sort: התעלמות מסוג לא חוקי '%d'\n"
 
-#: src/prefs.c:2231
+#: src/prefs.c:2354
 #, c-format
 msgid "'%s': no arguments (%%...) allowed.\n"
 msgstr "ארגומנטים לא מותרים (%%...) : '%s'\n"
 
-#: src/prefs.c:2236
+#: src/prefs.c:2359
 #, c-format
 msgid "'%s': only '%%[%s]' allowed.\n"
 msgstr "רק '%%[%s]' מותר : '%s'\n"
 
-#: src/prefs_window.c:93
+#: src/prefs_window.c:105
 msgid "Please select command for 'Play Now'"
 msgstr "בחר בבקשה פקודה ל 'נגן עכשיו'"
 
-#: src/prefs_window.c:94
+#: src/prefs_window.c:106
 msgid "Please select command for 'Enqueue'"
 msgstr "בחר בבקשה פקודה ל 'הכנס לתור'"
 
-#: src/prefs_window.c:95
+#: src/prefs_window.c:107
 msgid "Please select the mp3gain executable"
 msgstr "בחר בבקשה את קובץ ההרצה ל-mp3gain"
 
-#: src/prefs_window.c:96
+#: src/prefs_window.c:108
 msgid "Please select command to sync contacts"
 msgstr "בחר בבקשה פקודה לסנכרון אנשי קשר"
 
-#: src/prefs_window.c:97
+#: src/prefs_window.c:109
 msgid "Please select command to sync calendar"
 msgstr "בחר בבקשה פקודה לסנכרון יומן"
 
-#: src/prefs_window.c:98
+#: src/prefs_window.c:110
 msgid "Select the mserv music root directory"
 msgstr "בחר את תיקיית השורש ל mserv music"
 
-#: src/prefs_window.c:99
+#: src/prefs_window.c:111
 msgid "Select the mserv trackinfo root directory"
 msgstr "בחר את תיקיית השורש ל mserv trackinfo"
 
-#: src/prefs_window.c:748
-#, c-format
+#: src/prefs_window.c:824
+#, fuzzy, c-format
 msgid ""
-"Have a look at the scripts provided in '%s'. If you write a new script, "
+"<i>Have a look at the scripts provided in '%s'. If you write a new script, "
 "please send it to jcsjcs at users.sourceforge.net for inclusion into the "
-"next release."
+"next release.</i>"
 msgstr ""
 "הסתכל על קבצי האצווה המופיעים ב-'%s'. אם תכתוב קובץ אצווה חדש, שלח אותו "
 "בבקשה אל jcsjcs ב- users.sourceforge.net להכללה בגרסה הבאה."
 
-#: src/prefs_window.c:1006 src/prefs_window.c:1024
+#: src/prefs_window.c:1257 src/prefs_window.c:1275
 msgid "Preferences not updated"
 msgstr "העדפות לא עודכנו"
 
-#: src/prefs_window.c:1033
+#: src/prefs_window.c:1284
 msgid "Preferences applied"
 msgstr "העדפות עודכנו"
 
@@ -3078,54 +3052,51 @@
 msgid "Synchronize _iTunesDB"
 msgstr "סנכרון _iTunesDB"
 
-#: gtkpod.glade:156
+#: gtkpod.glade:183
 msgid "_Update Tracks from File"
 msgstr "_סנכרון רצועות מקובץ"
 
-#: gtkpod.glade:177 gtkpod.glade:229 gtkpod.glade:281 gtkpod.glade:339
-#: gtkpod.glade:391 gtkpod.glade:767 gtkpod.glade:819 gtkpod.glade:1007
-#: gtkpod.glade:1059 gtkpod.glade:1105
+#: gtkpod.glade:204 gtkpod.glade:256 gtkpod.glade:308 gtkpod.glade:366
+#: gtkpod.glade:418 gtkpod.glade:1136 gtkpod.glade:1188 gtkpod.glade:1234
 msgid "Selected _Playlist"
 msgstr "_רשימות השמעה נבחרות"
 
-#: gtkpod.glade:186 gtkpod.glade:238 gtkpod.glade:290 gtkpod.glade:348
-#: gtkpod.glade:400 gtkpod.glade:776 gtkpod.glade:828 gtkpod.glade:1016
-#: gtkpod.glade:1068 gtkpod.glade:1114
+#: gtkpod.glade:213 gtkpod.glade:265 gtkpod.glade:317 gtkpod.glade:375
+#: gtkpod.glade:427 gtkpod.glade:1145 gtkpod.glade:1197 gtkpod.glade:1243
 msgid "Selected Tab _Entry"
 msgstr "רשומות _כרטיסיה נבחרות"
 
-#: gtkpod.glade:195 gtkpod.glade:247 gtkpod.glade:299 gtkpod.glade:357
-#: gtkpod.glade:409 gtkpod.glade:785 gtkpod.glade:837 gtkpod.glade:1025
-#: gtkpod.glade:1077 gtkpod.glade:1123
+#: gtkpod.glade:222 gtkpod.glade:274 gtkpod.glade:326 gtkpod.glade:384
+#: gtkpod.glade:436 gtkpod.glade:569 gtkpod.glade:1154 gtkpod.glade:1206
+#: gtkpod.glade:1252
 msgid "Selected _Tracks"
 msgstr "ר_צועות נבחרות"
 
-#: gtkpod.glade:208
+#: gtkpod.glade:235
 msgid "Update _mserv Data from File"
 msgstr "עדכון _נתוני mserv מקובץ"
 
-#: gtkpod.glade:260
+#: gtkpod.glade:287
 msgid "_Synchronize Directories"
 msgstr "_סנכרון תיקיות"
 
-#: gtkpod.glade:318
-#, fuzzy
+#: gtkpod.glade:345
 msgid "_Export Tracks from Database"
-msgstr "מחק את כל הרצועות ממסד הנתונים"
+msgstr "_ייצא רצועות ממסד הנתונים"
 
-#: gtkpod.glade:370
+#: gtkpod.glade:397
 msgid "Create _Playlist File"
 msgstr "יצירת קובץ _רשימת השמעה"
 
-#: gtkpod.glade:428
+#: gtkpod.glade:455
 msgid "_Offline"
 msgstr "_מנותק"
 
-#: gtkpod.glade:444
+#: gtkpod.glade:471
 msgid "_Create iPod's Directories"
 msgstr "_יצירת תיקיות iPod"
 
-#: gtkpod.glade:465
+#: gtkpod.glade:492
 msgid ""
 "Find orphan files (files with no track info in DB) and dangling tracks "
 "(tracks with no corresponding files on iPOD)"
@@ -3133,926 +3104,396 @@
 "מצא קבצים יתומים (קבצים ללא מידע רצועה במסד הנתונים) ורצועות מתנדנדות "
 "(רצועות ללא קבצים מתאימים על ה-iPod)"
 
-#: gtkpod.glade:466
+#: gtkpod.glade:493
 msgid "_Check iPod's Files"
 msgstr "_בדיקת קבצי iPod"
 
-#: gtkpod.glade:494 gtkpod.glade:4973 gtkpod.glade:16459
+#: gtkpod.glade:521 gtkpod.glade:11968
 msgid "_Edit"
 msgstr "_עריכה"
 
-#: gtkpod.glade:503
+#: gtkpod.glade:551
+#, fuzzy
+msgid "Tracks in Selected _Playlist"
+msgstr "_רשימות השמעה נבחרות"
+
+#: gtkpod.glade:560
+#, fuzzy
+msgid "Tracks in Selected Tab _Entry"
+msgstr "רשומות _כרטיסיה נבחרות"
+
+#: gtkpod.glade:591
+msgid "_Delete"
+msgstr ""
+
+#: gtkpod.glade:612
+#, fuzzy
+msgid "Selected playlist"
+msgstr "_רשימות השמעה נבחרות"
+
+#: gtkpod.glade:621
+#, fuzzy
+msgid "Selected playlist including tracks from iPod"
+msgstr "נמחקה רשימת השמעה '%s' כולל רצועה %d"
+
+#: gtkpod.glade:630
+#, fuzzy
+msgid "Selected playlist including tracks from database"
+msgstr "מחק כולל רצועות (מסד נתונים)"
+
+#: gtkpod.glade:639
+#, fuzzy
+msgid "Selected playlist including tracks from harddisk"
+msgstr "נמחקה רשימת השמעה '%s' כולל רצועה %d מהדיסק הקשיח"
+
+#: gtkpod.glade:654
+#, fuzzy
+msgid "Selected filter tab entry from playlist"
+msgstr "נמחקה %d רצועה מרשימת ההשמעה '%s'"
+
+#: gtkpod.glade:663
+#, fuzzy
+msgid "Selected filter tab entry from iPod"
+msgstr "הרצועה נמחקה לגמרי מה-iPod"
+
+#: gtkpod.glade:672
+#, fuzzy
+msgid "Selected filter tab entry from database"
+msgstr "נמחקה רצועה ממסד הנתונים המקומי"
+
+#: gtkpod.glade:681
+#, fuzzy
+msgid "Selected filter tab entry from harddisk"
+msgstr "נמחקה רצועה אחת מהדיסק הקשיח"
+
+#: gtkpod.glade:696
+#, fuzzy
+msgid "Selected tracks from playlist"
+msgstr "נמחקה %d רצועה מרשימת ההשמעה '%s'"
+
+#: gtkpod.glade:705
+#, fuzzy
+msgid "Selected tracks from iPod"
+msgstr "הרצועה נמחקה לגמרי מה-iPod"
+
+#: gtkpod.glade:714
+#, fuzzy
+msgid "Selected tracks from database"
+msgstr "נמחקה רצועה ממסד הנתונים המקומי"
+
+#: gtkpod.glade:723
+#, fuzzy
+msgid "Selected tracks from harddisk"
+msgstr "נמחקה רצועה אחת מהדיסק הקשיח"
+
+#: gtkpod.glade:742
 msgid "_Create Playlists"
 msgstr "_יצירת רשימות השמעה"
 
-#: gtkpod.glade:524
+#: gtkpod.glade:763
 msgid "Empty Playlist"
 msgstr "רשימת השמעה ריקה"
 
-#: gtkpod.glade:542
+#: gtkpod.glade:781
 msgid "Random Playlist from Displayed Tracks"
 msgstr "רשימת השמעה אקראית מהרצועות הנראות"
 
-#: gtkpod.glade:551
+#: gtkpod.glade:790
 msgid "Containing Displayed Tracks"
 msgstr "המכילה רצועות נראות"
 
-#: gtkpod.glade:560
+#: gtkpod.glade:799
 msgid "Containing Selected Tracks"
 msgstr "המכילה רצועות נבחרות"
 
-#: gtkpod.glade:569
+#: gtkpod.glade:808
 msgid "One for each Artist"
-msgstr "אחת לכל מבצע"
+msgstr "אחת לכל אמן"
 
-#: gtkpod.glade:578
+#: gtkpod.glade:817
 msgid "One for each Album"
 msgstr "אחת לכל כותר"
 
-#: gtkpod.glade:587
+#: gtkpod.glade:826
 msgid "One for each Genre"
 msgstr "אחת לכל סגנון"
 
-#: gtkpod.glade:596
+#: gtkpod.glade:835
 msgid "One for each Composer"
 msgstr "אחת לכל יוצר"
 
-#: gtkpod.glade:605
+#: gtkpod.glade:844
 msgid "One for each Year"
 msgstr "אחת לכל שנה"
 
-#: gtkpod.glade:614
+#: gtkpod.glade:853
 msgid "One for each Rating"
 msgstr "אחת לכל מדרוג"
 
-#: gtkpod.glade:623
+#: gtkpod.glade:862
 msgid "Best Rated Tracks"
 msgstr "הרצועות המדורגות בראש"
 
-#: gtkpod.glade:632
+#: gtkpod.glade:871
 msgid "Tracks Most Often Listened To"
 msgstr "הרצועות שהכי מאזינים להן"
 
-#: gtkpod.glade:641
+#: gtkpod.glade:880
 msgid "Most Recently Played Tracks"
 msgstr "הרצועות שהושמעו הכי לאחרונה"
 
-#: gtkpod.glade:650
+#: gtkpod.glade:889
 msgid "All Tracks Played Since Last Time"
 msgstr "כל הרצועות שהושמעו מאז הפעם האחרונה"
 
-#: gtkpod.glade:659
+#: gtkpod.glade:898
 msgid "All Tracks Never Listened To"
 msgstr "כל הרצועות שמעולם לא השמיעו אותן"
 
-#: gtkpod.glade:668
+#: gtkpod.glade:907
 msgid "All Tracks not Listed in any Playlist"
 msgstr "כל הרצועות שלא מופיעות באף רשימת השמעה"
 
-#: gtkpod.glade:681
+#: gtkpod.glade:920
 msgid "Randomize Current Playlist"
-msgstr "יצירת רשימת השמעה רנדומלית"
+msgstr "יצירת רשימת השמעה אקראית"
 
-#: gtkpod.glade:696
+#: gtkpod.glade:935
 msgid "_Sorting"
 msgstr "_מיון"
 
-#: gtkpod.glade:718
+#: gtkpod.glade:957
 msgid "_Save Displayed Track Order"
 msgstr "_שמירת סדר רצועות נראות"
 
-#: gtkpod.glade:746
-msgid "_Delete But Keep Tracks"
-msgstr "_מחק אבל שמור רצועות"
-
-#: gtkpod.glade:798
-msgid "_Delete Completely From iPod"
-msgstr "_מחק לגמרי מה-iPod"
-
-#: gtkpod.glade:856
+#: gtkpod.glade:985
 msgid "_Edit Preferences"
 msgstr "_עריכת העדפות"
 
-#: gtkpod.glade:882
+#: gtkpod.glade:1011
 msgid "_View"
 msgstr "_תצוגה"
 
-#: gtkpod.glade:891
+#: gtkpod.glade:1020
 msgid "_Toolbar"
 msgstr "_סרגל כלים"
 
-#: gtkpod.glade:901
+#: gtkpod.glade:1030
 msgid "_Tooltips"
 msgstr "_תוויות מידע"
 
-#: gtkpod.glade:911
+#: gtkpod.glade:1040
 msgid "_Info Window"
 msgstr "_חלון מידע"
 
-#: gtkpod.glade:922
+#: gtkpod.glade:1051
 msgid "_More Sort Tabs"
 msgstr "_יותר כרטיסיות מיון"
 
-#: gtkpod.glade:943
+#: gtkpod.glade:1072
 msgid "_Less Sort Tabs"
 msgstr "_פחות כרטיסיות מיון"
 
-#: gtkpod.glade:964
+#: gtkpod.glade:1093
 msgid "_Arrange Sort Tabs"
 msgstr "_סדר כרטיסיות מיון"
 
-#: gtkpod.glade:977 gtkpod.glade:5636 gtkpod.glade:17156
+#: gtkpod.glade:1106 gtkpod.glade:12692
 msgid "_Tools"
 msgstr "_כלים"
 
-#: gtkpod.glade:986
+#: gtkpod.glade:1115
 msgid "_Play Now"
 msgstr "_נגן עכשיו"
 
-#: gtkpod.glade:1038
+#: gtkpod.glade:1167
 msgid "_Enqueue"
 msgstr "_הכנס לתור"
 
-#: gtkpod.glade:1096
+#: gtkpod.glade:1225
 msgid "_Normalize Volume"
 msgstr "_נרמל עוצמת קול"
 
-#: gtkpod.glade:1132
+#: gtkpod.glade:1261
 msgid "_Displayed Tracks"
 msgstr "_הראה רצועות"
 
-#: gtkpod.glade:1141
+#: gtkpod.glade:1270
 msgid "_All Tracks"
 msgstr "_כל הרצועות"
 
-#: gtkpod.glade:1150
+#: gtkpod.glade:1279
 msgid "_Newly Added Tracks"
 msgstr "_רצועות חדשות שהוספו"
 
-#: gtkpod.glade:1169
+#: gtkpod.glade:1298
 msgid "Synchronise Contacts, Calendar and Notes"
 msgstr "סנכרן אנשי קשר, יומן ופתקים"
 
-#: gtkpod.glade:1170
+#: gtkpod.glade:1299
 msgid "Synchronize All"
 msgstr "סנכרן הכל"
 
-#: gtkpod.glade:1179
+#: gtkpod.glade:1308
 msgid "Synchronize Contacts"
 msgstr "סנכרן אנשי קשר"
 
-#: gtkpod.glade:1188
+#: gtkpod.glade:1317
 msgid "Synchronize Calendar"
 msgstr "סנכרן יומן"
 
-#: gtkpod.glade:1197
+#: gtkpod.glade:1326
 msgid "Synchronize Notes"
 msgstr "סנכרן פתקים"
 
-#: gtkpod.glade:1210
+#: gtkpod.glade:1339
 msgid "_Help"
 msgstr "_עזרה"
 
-#: gtkpod.glade:1219
+#: gtkpod.glade:1348
 msgid "_About"
 msgstr "_אודות"
 
-#: gtkpod.glade:1259
+#: gtkpod.glade:1388
 msgid "Read Existing Database from Disk/iPod"
 msgstr "קרא מסד נתונים קיים מהדיסק הקשיח/iPod"
 
-#: gtkpod.glade:1260
+#: gtkpod.glade:1389
 msgid "Read"
 msgstr "קרא"
 
-#: gtkpod.glade:1277
+#: gtkpod.glade:1406
 msgid "Add Files or Directories"
 msgstr "הוספת קבצים או תיקיות"
 
-#: gtkpod.glade:1278
+#: gtkpod.glade:1407
 msgid "Files"
 msgstr "קבצים"
 
-#: gtkpod.glade:1295
+#: gtkpod.glade:1424
 msgid "Add Directories Recursively"
 msgstr "הוספת תיקיות רקורסיבית"
 
-#: gtkpod.glade:1296
+#: gtkpod.glade:1425
 msgid "Dirs"
 msgstr "תיקיות"
 
-#: gtkpod.glade:1313
+#: gtkpod.glade:1442
 msgid "Add playlist from file"
 msgstr "הוספת רשימת השמעה מקובץ"
 
-#: gtkpod.glade:1331
+#: gtkpod.glade:1460
 msgid "Create New Playlist"
 msgstr "יצירת רשימת השמעה חדשה"
 
-#: gtkpod.glade:1332
+#: gtkpod.glade:1461
 msgid "New PL"
 msgstr "ר\"ה חדשה"
 
-#: gtkpod.glade:1349
+#: gtkpod.glade:1478
 msgid "Write Changes to Disk/iPod"
 msgstr "כתוב שינויים אל הדיסק/iPod"
 
-#: gtkpod.glade:1350
+#: gtkpod.glade:1479
 msgid "Sync"
 msgstr "סנכרן"
 
-#: gtkpod.glade:1366
+#: gtkpod.glade:1495
 msgid "Stop Display Update"
 msgstr "עצור עדכון תצוגה"
 
-#: gtkpod.glade:1367
+#: gtkpod.glade:1496
 msgid "Stop"
 msgstr "עצור"
 
-#: gtkpod.glade:1540
+#: gtkpod.glade:1669
 msgid "About gtkpod"
 msgstr "אודות gtkpod"
 
-#: gtkpod.glade:1661
+#: gtkpod.glade:1790
 msgid "Credits"
 msgstr "קרדיט"
 
-#: gtkpod.glade:1715
+#: gtkpod.glade:1844
 msgid "Translators"
 msgstr "מתרגמים"
 
-#: gtkpod.glade:1770 gtkpod.glade:12719
-msgid "Preferences"
-msgstr "הגדרות"
-
-#: gtkpod.glade:1846
-msgid " iPod Mount _Point:"
-msgstr " נקודת עיגון של ה-iPod:"
-
-#: gtkpod.glade:1868
-msgid ""
-"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
-msgstr ""
-"היכן שעגנת את מערכת הקבצים של ה-iPod. בדרך כלל '/mnt/ipod' או משהו דומה."
-
-#: gtkpod.glade:1896
-msgid ""
-"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
-"<ipod mountpoint>' call is carried out. For more complicated arrangements "
-"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
-msgstr ""
-"בעליית התוכנית gtkpod יבצע 'mount <ipod mountpoint>' ביציאה תבוצע הפקודה "
-"'umount <ipod mountpoint>'. עבור סידורים יותר מתוחכמים אנא השתמש בסקריפטים: "
-"~/.gtkpod/gtkpod.in ~/.gtkpod/gtkpod.out"
-
-#: gtkpod.glade:1898 gtkpod.glade:12890
-msgid "Handle mounting/unmounting of iPod drive"
-msgstr "טפל בעגינה/ניתוק של כונן ה-iPod"
-
-#: gtkpod.glade:1918 gtkpod.glade:12910
-msgid "Automatically import iTunesDB on startup"
-msgstr "יבא אוטומטית iTunesDB בתחילת התוכנית"
-
-#: gtkpod.glade:1944
-msgid "Import"
-msgstr "ייבא"
-
-#: gtkpod.glade:1991
-msgid " _Charset (ID3, files): "
-msgstr " _ערכת תווים (ID3, קבצים):"
-
-#: gtkpod.glade:2022 gtkpod.glade:13047
-msgid ""
-"gtkpod expects the ID3 tags and the filenames to be in the encoding "
-"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
-"operation. 'System Charset' is the charset used by your current locale."
-msgstr ""
-"היישום gtkpod מצפה שהתגיות של הID3 והקבצים יהיו בקידוד המצוין כאן. תוכל "
-"לשנות זאת בשביל פעולות עוקבות של 'הוספת קבצים' ו 'הוספת תיקיות'. 'ערכת "
-"התווים של המערכת' היא ערכת התווים בשימוש עבור הלוקל הנוכחי שלך."
-
-#: gtkpod.glade:2059
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to update the track information. If you have chosen a wrong charset when "
-"first importing a track and want to correct it using the 'Update Track' "
-"function, you must check this option. Note: the charset info is stored in "
-"the extended information file (see 'Writing of iTunesDB' below) and tracks "
-"imported before V0.51 will have no charset stored. Instead the charset "
-"specified above will be used then."
-msgstr ""
-"באופן רגיל ערכת התווים המצוינת כאשר מייבאים לראשונה את הרצועות תהיה זו שיעשה "
-"בה שימוש לעדכן את מידע הרצועה. אם בחרת ערכת תווים שגויה כאשר ייבאת לראשונה "
-"את הרצועה וברצונך לתקן זאת בעזרת 'עדכן רצועה', אתה תהיה חייב לסמן את האפשרות "
-"הזאת. הערה: מידע ערכת התווים נשמר במידע המורחב (ראה : כתיבה ל-iTunesDB למטה) "
-"ורצועות שיובאו לפני גרסה 0.51 לא תהיה להם ערכת תווים שמורה. במקום זאת ערכת "
-"התווים המצוינת למעלה תהיה זו שנשתמש בה אז."
-
-#: gtkpod.glade:2061
-msgid ""
-"Use selected charset also when updating\n"
-" or syncing tracks"
-msgstr ""
-"השתמש בבחירת ערכת תווים גם בזמן עדכון\n"
-" או סנכרון רצועות"
-
-#: gtkpod.glade:2081
-msgid "If you check this, gtkpod will descend into subdirectories recursively."
-msgstr "אם תסמן אופציה זו, gtkpod יכנס לתוך תיקיות משנה רקורסיבית."
-
-#: gtkpod.glade:2083 gtkpod.glade:13106
-msgid "Add directories recursively"
-msgstr "הוספת תיקיות בצורה רקורסיבית"
-
-#: gtkpod.glade:2102
-msgid "Duplicate Recognition is based on a md5 hash over the file."
-msgstr "זיהוי כפילויות מתבסס על חישוב קוד ערבוב md5 על הקובץ."
-
-#: gtkpod.glade:2104 gtkpod.glade:13126
-msgid "Don't allow file duplication"
-msgstr "אל תרשה כפילויות של קבצים"
-
-#: gtkpod.glade:2132
-msgid ""
-"Display the list of duplicates that have been detected after adding files."
-msgstr "הצג את רשימת הכפילויות שזוהו אחרי הוספת הקבצים."
-
-#: gtkpod.glade:2134 gtkpod.glade:13173
-msgid "Display info about detected duplicates"
-msgstr "הצג מידע אודות כפילויות מזוהות"
-
-#: gtkpod.glade:2187
-msgid ""
-"If the filename (full path) of an existing track matches that of a track to "
-"be added, this option allows you to update the information about the "
-"existing track rather than just skipping the track altogether. No update "
-"will take place if the file hasn't changed and you have selected the 'Don't "
-"allow file duplication' option above."
-msgstr ""
-"אם הקובץ (נתיב מלא) של רצועה קיימת תואם את זה של רצועה להוספה, אפשרות זאת "
-"מאפשרת לך לעדכן את המידע על הרצועה הקיימת במקום רק לדלג על הרצועה בכלל. שום "
-"עדכון לא יתבצע אם הקובץ לא השתנה ובחרת באפשרות לא לאפשר כפילות בקבצים למעלה."
-
-#: gtkpod.glade:2189
-msgid ""
-"When adding dirs/files, update information of\n"
-" existing tracks with identical filenames"
-msgstr ""
-"בזמן הוספת תיקיות/קבצים, עדכן מידע של\n"
-" רצועות קיימות עם שמות קבצים זהים"
-
-#: gtkpod.glade:2218
-msgid "Display a list of tracks that could actually be updated."
-msgstr "הצג רשימה של רצועות שאפשר לעדכן אותן."
-
-#: gtkpod.glade:2220 gtkpod.glade:13248
-msgid "Display info about updated tracks"
-msgstr "הצג מידע אודות רצועות מעודכנות"
-
-#: gtkpod.glade:2243
-msgid "Display a list of tracks that could not be updated."
-msgstr "הצג רשימה של רצועות שאי אפשר לעדכן אותן."
-
-#: gtkpod.glade:2245 gtkpod.glade:13302
-msgid "Display info about non-updated tracks"
-msgstr "הצג מידע על רצועות שלא עודכנו בזמן סנכרון תיקיות"
-
-#: gtkpod.glade:2287 gtkpod.glade:13328
-msgid "When syncing directories"
-msgstr " "
-
-#: gtkpod.glade:2318
-msgid "Confirm list of directories"
-msgstr "וודא רשימת תיקיות"
-
-#: gtkpod.glade:2341
-msgid ""
-"If you check this option, tracks that have been removed from the synced "
-"directories will be removed from the iPod as well."
-msgstr ""
-"אם תסמן אופציה זאת, רצועות שהוסרו מתיקיות מסונכרנות יוסרו מה-iPod גם כן."
-
-#: gtkpod.glade:2343 gtkpod.glade:13403
-msgid "Delete tracks that have been removed"
-msgstr "מחק רצועות שהוסרו."
-
-#: gtkpod.glade:2366
-msgid "This is the same option as in 'Edit/Delete Confirmation'"
-msgstr "זוהי אופציה זהה לזו שב- 'עריכה/ווידוא מחיקה'"
-
-#: gtkpod.glade:2368 gtkpod.glade:13423
-msgid "Confirm before removing tracks"
-msgstr "וודא לפני הסרת רצועות"
-
-#: gtkpod.glade:2401
-msgid "Adding/Updating/Syncing"
-msgstr "מוסיף/מעדכן/מסנכרן"
-
-#: gtkpod.glade:2441 gtkpod.glade:13664
-msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
-msgstr "קרא תגיות מתוכן הקובץ (כלומר תגיות ID3 של קבצי MP3)"
-
-#: gtkpod.glade:2460 gtkpod.glade:13683
-msgid ""
-"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
-"several templates by a ';'. The first one matching the filename will be "
-"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
-msgstr ""
-"ביצוע: %a, כותר: %A, מחבר: %c, תיאור: %t, סגנון: %G, מספר רצועה: %, מספר "
-"תקליטור: %C, שנה: %Y, מידע דילוג: %*, האות '%': %%.\n"
-"אפשר להפריד מספר תבניות על ידי נקודה־פסיק. יבחר הראשון שיתאים לקובץ. דוגמה:'%"
-"a - %A/%T %t.mp3;%t.wav'."
-
-#: gtkpod.glade:2462
-msgid "Use this template to parse filename for tag information"
-msgstr "השתמש בתבנית זאת על מנת לנתח קובץ למידע תג"
-
-#: gtkpod.glade:2514
-msgid "Overwrite tags that are already set."
-msgstr "שכתב תגיות שכבר כתובות."
-
-#: gtkpod.glade:2544
-msgid ""
-"As a last resort set the following tags to the filename if they are (still) "
-"empty:"
-msgstr "בתור אפשרות אחרונה קבע את התגיות לשם הקובץ, אם הן (עדיין) ריקות:"
-
-#: gtkpod.glade:2723
-msgid "Tag Reading"
-msgstr "קריאת תגיות"
-
-#: gtkpod.glade:2762 gtkpod.glade:2985 gtkpod.glade:14020 gtkpod.glade:14234
-msgid "Currently only rating is supported."
-msgstr "נכון לעכשיו רק המדרוג נתמך."
-
-#: gtkpod.glade:2764
-msgid "Use mserv database to fill in additional information"
-msgstr "השתמש במסד הנתונים של mserv על מנת למלא מידע נוסף"
-
-#: gtkpod.glade:2792
-msgid "Music Root: "
-msgstr "שורש המוזיקה:"
-
-#: gtkpod.glade:2816 gtkpod.glade:14074
-msgid "mserv database lookup will be done for music in this directory."
-msgstr "החיפוש במסד הנתונים mserv יתבצע בתיקייה זאת עבור מוזיקה."
-
-#: gtkpod.glade:2839 gtkpod.glade:2904 gtkpod.glade:5076 gtkpod.glade:5147
-#: gtkpod.glade:5261 gtkpod.glade:5405 gtkpod.glade:5476 gtkpod.glade:5547
-msgid "..."
-msgstr "..."
-
-#: gtkpod.glade:2857
-msgid "mserv Root: "
-msgstr "השורש של mserv:"
-
-#: gtkpod.glade:2881 gtkpod.glade:14120
-msgid "Root directory of mserv database (trackinfo root)."
-msgstr "תיקיית שורש או מסד נתונים mserv (השורש של trackinfo)."
-
-#: gtkpod.glade:2922
-msgid "Username: "
-msgstr "שם משתמש:"
-
-#: gtkpod.glade:2946 gtkpod.glade:14166
-msgid "Username to be used for mserv database lookup."
-msgstr "שם משתמש הנועד לשימוש במסד הנתונים של mserv."
-
-#: gtkpod.glade:2987 gtkpod.glade:14236
-msgid "Show information about problems when accessing mserv"
-msgstr "הצג מידע על בעיות בגישה ל-mserv"
-
-#: gtkpod.glade:3030
-msgid "mserv"
-msgstr "mserv"
-
-#: gtkpod.glade:3070 gtkpod.glade:13531
-msgid ""
-"Highly recommended for faster import when taking advantage of the "
-"duplication recognition. Also, having the PC filenames allows writing "
-"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
-"case of file system corruption (change the \"transferred=\" entries in your "
-"backuped database)."
-msgstr ""
-"מומלץ מאוד לייבוא מהיר כאשר מנצלים את מנגנון זיהוי כפילויות. בנוסף, אם ישנם "
-"הקבצים על ה-PC זה יאפשר כתיבת של תגיות ה-ID3 לדיסק הקשיח, ואפילו לבנות מחדש "
-"את תוכן ה-iPod במקרה של פגימה במערכת הקבצים (שינוי רשומות ה-\"transferred\" "
-"במסד הנתונים של הגיבוי)."
-
-#: gtkpod.glade:3072 gtkpod.glade:13533
-msgid ""
-"Write extended information (PC filenames,\n"
-" MD5 hashes, charset). Recommended."
-msgstr "כתוב מידע מורחב (שמות קבצים ב-PC ערבובי MD5, ערכות תווים). מומלץ."
-
-#: gtkpod.glade:3103
-msgid "Sync (Writing of iTunesDB)"
-msgstr "סנכרן (כתיבה של iTunesDB)"
-
-#: gtkpod.glade:3143
-msgid "_Input/Output"
-msgstr "_קלט/פלט"
-
-#: gtkpod.glade:3270
-msgid "Relative volume adjustment between -100 and +100"
-msgstr "כיוון עוצמת קול יחסית בין -100 ל +100"
-
-#: gtkpod.glade:3795
-msgid "Displayed Track Attributes "
-msgstr "הצג מאפייני רצועה"
-
-#: gtkpod.glade:3842
-msgid " _Number of sort tabs: "
-msgstr " _מספר כרטיסיות ממויונות:"
-
-#: gtkpod.glade:3899
-msgid "Sort Tabs"
-msgstr "כרטיסיות מיון"
-
-#: gtkpod.glade:3939 gtkpod.glade:15168
-msgid ""
-"If you don't select the master playlist automatically, the initial database "
-"import is much faster because the display dosn't have to be updated."
-msgstr ""
-"אם לא תבחר את רשימת ההשמעה הראשית אוטומטית, יבוא מסד הנתונים הראשוני יהיה "
-"יותר בעקבות כך שהתצוגה לא תצטרך להתעדכן."
-
-#: gtkpod.glade:3941 gtkpod.glade:15170
-msgid "...master playlist"
-msgstr "...רשימת השמעה ראשית"
-
-#: gtkpod.glade:3961 gtkpod.glade:15190
-msgid "...entry 'All' in sort tab..."
-msgstr "...רשומה 'הכל' בכרטיסיית המיון..."
-
-#: gtkpod.glade:4018
-msgid "Automatically select..."
-msgstr "בחירה אוטומטית..."
-
-#: gtkpod.glade:4059 gtkpod.glade:15447
-msgid "Display toolbar..."
-msgstr "הראה סרגל כלים..."
-
-#: gtkpod.glade:4088 gtkpod.glade:15541
-msgid "...both as icons and text"
-msgstr "...ביחד גם סמלים וגם טקסט"
-
-#: gtkpod.glade:4112 gtkpod.glade:15520
-msgid "...as text"
-msgstr "...בתור טקסט"
-
-#: gtkpod.glade:4137 gtkpod.glade:15500
-msgid "...as icons"
-msgstr "...בתור סמלים"
-
-#: gtkpod.glade:4175
-msgid "Toolbar"
-msgstr "סרגל כלים"
-
-#: gtkpod.glade:4216 gtkpod.glade:15326
-msgid "Display tooltips in main window"
-msgstr "הצג תוויות מידע בחלון הראשי"
-
-#: gtkpod.glade:4236 gtkpod.glade:15346
-msgid "Display tooltips in prefs window"
-msgstr "הצג תוויות מידע בחלון האפשרויות"
-
-#: gtkpod.glade:4262
-msgid "Tooltips"
-msgstr "תוויות מידע"
-
-#: gtkpod.glade:4346 gtkpod.glade:10103
-msgid "Sorting"
-msgstr "מיון"
-
-#: gtkpod.glade:4378 gtkpod.glade:15656
-msgid ""
-"It is much faster to sort the display after all tracks have been added. Some "
-"people might feel irritated by this behaviour and should uncheck this option."
-msgstr ""
-"זה יותר מהיר למיין את התצוגה אחרי שכל הרצועות הוספו. חלק מהאנשים ירגישו "
-"שהתנהגות זו מעצבנת וכנראה יבטלו את הסימון לאפשרות זו."
-
-#: gtkpod.glade:4380 gtkpod.glade:15658
-msgid ""
-"Temporarily disable sorting when changing playlist\n"
-"or tab entry (faster!)"
-msgstr "חסום זמנית מיון בזמן החלפת רשימת השמעה או רשומת כרטיסיה (מהיר)"
-
-#: gtkpod.glade:4400 gtkpod.glade:15678
-msgid ""
-"The display can be blocked after changing a selection. The display update is "
-"faster, but you have to wait until it's finished. When using this option, "
-"sorting is also temporarily disabled (see option above)."
-msgstr ""
-"התצוגה יכולה להינעל אחרי שינוי הבחירה. עדכון התצוגה יהיה מהיר יותר, אך אתה "
-"תצטרך להמתין עד הסיום. בזמן שימוש באפשרות זו, המיון גם הוא זמנית מבוטל (ראה "
-"אפשרות למעלה)."
-
-#: gtkpod.glade:4402 gtkpod.glade:15680
-msgid ""
-"Block display when changing playlist or tab\n"
-" entry (faster!)"
-msgstr "חסום תצוגה בזמן החלפת רשימת השמעה או רשומת כרטיסיה (מהיר)"
-
-#: gtkpod.glade:4422 gtkpod.glade:15700
-msgid "This option will be re-activated when you upgrade gtkpod."
-msgstr "האפשרות הזאת תופעל מחדש בזמן שדרוג gtkpod."
-
-#: gtkpod.glade:4424 gtkpod.glade:15702
-msgid "Display messages and warnings at startup"
-msgstr "הראה הודעות ואזהרות בתחילת התוכנית"
-
-#: gtkpod.glade:4446
-msgid "Misc"
-msgstr "אחר"
-
-#: gtkpod.glade:4482 gtkpod.glade:6457
-msgid "_Display"
-msgstr "_תצוגה"
-
-#: gtkpod.glade:4536
-msgid ""
-"The tags are written to the files on your harddrive and on the ipod (if "
-"available)."
-msgstr "התגיות נכתבות לקבצים על הדיסק הקשיח ועל ה-iPod (אם זמין)."
-
-#: gtkpod.glade:4538 gtkpod.glade:15914
-msgid "Write ID3 tags to disk when modified in gtkpod"
-msgstr "כתוב תגיות ID3 לדיסק כאשר הן משתנות ב-gtkpod"
-
-#: gtkpod.glade:4566
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to write the tags. If you have chosen a wrong charset when first importing a "
-"track, you should select this option along with the correct charset.  Note: "
-"uses the extended information file to store the charset information (see "
-"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
-"before V0.51 will have no charset stored -- the charset specified on the "
-"'Input/Output' page will be used."
-msgstr ""
-"בדרך כלל יעשה שימוש בערכת התווים המצוינת בזמן ייבוא הרצועה לשם כתיבת התגיות. "
-"אם בחרת ערכת תווים שגויה בזמן ייבוא רצועה, אתה יכול לבחור אפשרות זו ביחד עם "
-"ערכת התווים הנכונה. הערה: משתמש בקובץ המידע המורחב לשמור את מידע ערכת התווים "
-"(ראה 'כתיבת iTunesDB' בעמוד קלט/פלט) ורצועות שיובאו לפני גרסה 0.51 לא תהייה "
-"להן ערכה שמורה -- הערכה המצוינת בעמוד קלט/פלט יעשה בה שימוש."
-
-#: gtkpod.glade:4568
-msgid ""
-"Use selected charset (on the 'Import' page)\n"
-" when writing tags"
-msgstr ""
-"השתמש בערכת התווים הנבחרת (בדף ה'ייבוא')\n"
-" כאשר התגיות נכתבות"
-
-#: gtkpod.glade:4592
-msgid ""
-"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
-"uses unicode to store the tags, so you won't have to worry about charsets "
-"any more. gtkpod will use UTF8 encoding as this will not increase the size "
-"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
-"present in the file to write to."
-msgstr ""
-"זוהי הדרך הנכונה, אך אולי לא כל התכניות תומכות בזה עדיין. הסימנייה ID3v2.4 "
-"משתמשת ב־unicode לשמור על התגיות, על מנת שלא נצטרך לדאוג לגבי ערכות תווים. "
-"gtkpod ישתמש ב־UTF8 כי זה לא יגדיל את הגודל של תגיות ASCII טהורות. תגיות "
-"ID3V2.2/4 יכתבו גם אם הן כבר קיימות בקובץ שכותבים עליו."
-
-#: gtkpod.glade:4594 gtkpod.glade:15988
-msgid "Always write ID3v2.4 tags (only applies to MP3)"
-msgstr "כתוב תמיד תגיות ID3v2.4 (תקף רק ל-MP3)"
-
-#: gtkpod.glade:4624
-msgid ""
-"If you select several tracks in the track list and edit a tag of the first "
-"track, the tags in the other tracks are updated as well."
-msgstr ""
-"אם אתה בוחר מספר רצועות ברשימת הרצועות ועורך תגית של הרצועה הראשונה, התגיות "
-"ברצועות הממוינות מתעדכנות גם כן."
-
-#: gtkpod.glade:4626
-msgid "Use 'Multi-Edit' for track selections"
-msgstr "השתמש ב-'עריכה-מרובה' עבור בחירת רצועות"
-
-#: gtkpod.glade:4654
-msgid ""
-"Usually you don't want to set the title of several tracks to the same text. "
-"This option might avoid unwanted results (especially since there is no "
-"'undo' yet)."
-msgstr ""
-"בדרך כלל אתה לא תרצה לקבוע את התיאור של מספר רצועות לאותו טקסט. אפשרות זאת "
-"עלולה למנוע תוצאות לא רצויות (במיוחד שאין עדיין אפשרות 'בטל')"
-
-#: gtkpod.glade:4656 gtkpod.glade:16069
-msgid "Use 'Multi-Edit' also for title field"
-msgstr "השתמש ב-'עריכה מרובה' גם עבור שדה תיאור"
-
-#: gtkpod.glade:4689
-msgid "Track Editing"
-msgstr "עריכת רצועה"
-
-#: gtkpod.glade:4738
-msgid ""
-"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
-"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
-msgstr ""
-"מספר הרצועות ברשימות ההשמעה הנוצרות 'המושמעים ביותר', 'הדירוג הכי גבוה' "
-"ו-'נוגנו הכי לאחרונה'. בחר '0' עבור 'ללא מגבלה'."
-
-#: gtkpod.glade:4762
-msgid " Number of tracks in generated playlists: "
-msgstr " מספר הרצועות ברשימות ההשמעה הנוצרות: "
-
-#: gtkpod.glade:4794 gtkpod.glade:16231
-msgid "Also include tracks never played in \"Best Rated\" playlist"
-msgstr "כלול גם רצועות שלעולם לא נוגנו ברשימת השמעה \"הדירוג הכי גבוה\""
-
-#: gtkpod.glade:4816
-msgid "Auto-Generated Playlists"
-msgstr "רשימות השמעה הנוצרות-אוטומטית"
-
-#: gtkpod.glade:4865 gtkpod.glade:16332
-msgid "Before removing playlists or tracks from a playlist"
-msgstr "לפני הסרת רשימות השמעה או רצועות מרשימת השמעה"
-
-#: gtkpod.glade:4885
-msgid "Before removing tracks completely from the iPod"
-msgstr "לפני הסרת רצועות לגמרי מן ה-iPod"
-
-#: gtkpod.glade:4904
-msgid ""
-"This option only has a meaning if you activate the 'Delete Tracks that have "
-"been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/"
-"Output' tab."
-msgstr ""
-"אפשרות זה בעלת משמעות רק אם תפעיל את אפשרות 'מחיקת רצועות שהוסרו' בחלק "
-"'הוספה/עדכון/סנכרון' בכרטיסיה 'קלט/פלט'."
-
-#: gtkpod.glade:4906
-msgid ""
-"Before removing tracks completely when\n"
-" synchronizing directories"
-msgstr "לפני הסרת רצועות לגמרי בזמן סנכרון תיקיות"
-
-#: gtkpod.glade:4929
-msgid "Delete Confirmation "
-msgstr "וידוא מחיקה"
-
-#: gtkpod.glade:5028
-msgid "Command Line for 'Play Now':"
-msgstr "פקודה עבור 'נגן עכשיו':"
-
-#: gtkpod.glade:5055
-msgid ""
-"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
-"tracks and start playing."
-msgstr ""
-"לדוגמא, 'xmms %s' ינקה את רשימת ההשמעה הנוכחית של xmms, יוסיף את הרצועות "
-"הנבחרות ויתחיל לנגן."
-
-#: gtkpod.glade:5099
-msgid "Command Line for 'Enqueue':"
-msgstr "פקודה עבור 'הוספה לתור':"
-
-#: gtkpod.glade:5126
-msgid ""
-"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
-"current playlist."
-msgstr ""
-"לדוגמא, 'xmms -e %s' יוסיף את הרצועות הנבחרות לרשימת ההשמעה הנוכחית ב-xmms."
-
-#: gtkpod.glade:5172
-msgid "Track Playing"
-msgstr "רצועה מושמעת"
-
-#: gtkpod.glade:5213
-msgid "Exact path for the 'mp3gain' executable:"
-msgstr "נתיב מדויק לקובץ ריצה של 'mp3gain':"
-
-#: gtkpod.glade:5240
-msgid ""
-"You only need to specify this if your 'mp3gain' executable is not in your "
-"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
-"calculated gain value back to the file -- if you don't want this, set this "
-"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
-"are not already set by your encoder. E.g. lame version 0.95 already writes "
-"the gain values into tags. The exact conversion factor between mp3gain's "
-"gain value and iPod's volume tag is not known yet -- your input is "
-"appreciated."
-msgstr ""
-"אתה תצטרך לרשום את הנתיב באופן מפורש רק אם קובץ הריצה של mp3gain הוא לא "
-"בנתיב ברירת המחדל. לדוגמה: '/usr/local/foo/mp3gain'. התכנית mp3gain תכתוב את "
-"ערך ההגברה המחושבת ישר לקובץ -- אם אתה לא מעוניין בזאת, קבע את הרשומה הזאת "
-"ל-/usr/true או דומה. הקריאה ל-mp3gain תתבצע רק אם התגיות המתאימות עדיין לא "
-"נקבעו על ידי המקודד. לדוגמה: מקודד lame גרסה 0.95 כותבת את ערכי ההגברה "
-"לתגיות בזמן הקידוד. רמת ההמרה בין mp3gain לזאת של ה-iPod עדיין לא ידועה -- "
-"מצפים לעזרה מצדכם."
-
-#: gtkpod.glade:5294
-msgid "Volume Normalization"
-msgstr "נרמול עוצמת קול"
-
-#: gtkpod.glade:5357
-msgid "Command to synchronize contacts:"
-msgstr "פקודה עבור סנכרון אנשי קשר:"
-
-#: gtkpod.glade:5384 gtkpod.glade:5455 gtkpod.glade:5526
-msgid ""
-"Specify exact path including command line options. '%i' will be replaced "
-"with the mount point of the iPod."
-msgstr ""
-"מציין נתיב מלא כולל אפשרויות שורת פקודה. המחרוזת '%i' תוחלף עם נקודת העגינה "
-"של ה-iPod."
-
-#: gtkpod.glade:5428
-msgid "Command to be called to synchronize calendar:"
-msgstr "פקודה עבור סנכרון יומן:"
-
-#: gtkpod.glade:5499
-msgid "Command to be called to synchronize notes:"
-msgstr "פקודה עבור סנכרון פתקים:"
-
-#: gtkpod.glade:5570 gtkpod.glade:17110
-msgid "Call automatically when synchronizing iTunesDB"
-msgstr "קרא אוטומטית בזמן סנכרון iTunesDB"
-
-#: gtkpod.glade:5592
-msgid "Contacts / Calendar / Notes"
-msgstr "אנשי קשר / יומן / פתקים"
-
-#: gtkpod.glade:5716
+#: gtkpod.glade:1898
 msgid "special_sorttab -- Don't translate!"
 msgstr "special_sorttab -- Don't translate!"
 
-#: gtkpod.glade:5750
+#: gtkpod.glade:1932
 msgid " Logic: "
 msgstr " לוגיקה:"
 
-#: gtkpod.glade:5772
+#: gtkpod.glade:1954
 msgid "Any (OR)"
 msgstr "או (כל אחד)"
 
-#: gtkpod.glade:5791
+#: gtkpod.glade:1973
 msgid "All (AND)"
 msgstr "וגם (הכל)"
 
-#: gtkpod.glade:5844
+#: gtkpod.glade:2026
 msgid "0"
 msgstr "0"
 
-#: gtkpod.glade:5863
+#: gtkpod.glade:2045
 msgid "1"
 msgstr "1"
 
-#: gtkpod.glade:5882
+#: gtkpod.glade:2064
 msgid "2"
 msgstr "2"
 
-#: gtkpod.glade:5901
+#: gtkpod.glade:2083
 msgid "3"
 msgstr "3"
 
-#: gtkpod.glade:5920
+#: gtkpod.glade:2102
 msgid "4"
 msgstr "4"
 
-#: gtkpod.glade:5939
+#: gtkpod.glade:2121
 msgid "5"
 msgstr "5"
 
-#: gtkpod.glade:5978
+#: gtkpod.glade:2160
 msgid "Select '0' for no lower limit."
 msgstr "בחר '0' עבור ביטול גבול תחתון."
 
-#: gtkpod.glade:5999
+#: gtkpod.glade:2181
 msgid " <= cts <= "
 msgstr " <= cts <= "
 
-#: gtkpod.glade:6020
+#: gtkpod.glade:2202
 msgid "Select '-1' for no upper limit."
 msgstr "בחר '-1' עבור ביטול גבול עליון."
 
-#: gtkpod.glade:6063 gtkpod.glade:6136 gtkpod.glade:6302
+#: gtkpod.glade:2245 gtkpod.glade:2318 gtkpod.glade:2484
 msgid ""
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
 "finished."
 msgstr ""
 "תבנית 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' או דומה. לחץ 'enter' בסיום."
 
-#: gtkpod.glade:6105 gtkpod.glade:6178 gtkpod.glade:6344 gtkpod.glade:6519
+#: gtkpod.glade:2287 gtkpod.glade:2360 gtkpod.glade:2526 gtkpod.glade:2701
 msgid "Calendar"
 msgstr "יומן"
 
-#: gtkpod.glade:6203
+#: gtkpod.glade:2385
 msgid "Specify interval"
 msgstr "ציין מרווח"
 
-#: gtkpod.glade:6414
+#: gtkpod.glade:2596
 msgid "Display tracks that match the criteria entered above."
 msgstr "הצג רצועות המתאימות לקריטריונים המוכנסים למעלה."
 
-#: gtkpod.glade:6489
+#: gtkpod.glade:2639 gtkpod.glade:11330
+msgid "_Display"
+msgstr "_תצוגה"
+
+#: gtkpod.glade:2671
 msgid ""
 "Automatically start displaying tracks that match the criteria entered above. "
 "If not selected, you must press 'Display' to start displaying."
@@ -4060,117 +3501,110 @@
 "הצג אוטומטית רצועות שמתאימות לקריטריונים המוכנסים למעלה. אם אפשרות זו לא "
 "נבחרה, חובה עליך ללחוץ 'תצוגה' על מנת להראות את הרצועות."
 
-#: gtkpod.glade:6491
+#: gtkpod.glade:2673
 msgid "Start display automatically"
 msgstr "התחל תצוגה אוטומטית"
 
-#: gtkpod.glade:6564
+#: gtkpod.glade:2746
 msgid "Sorttab: "
 msgstr "כרטיסייה מיון:"
 
-#: gtkpod.glade:6604
+#: gtkpod.glade:2786
 msgid "     "
 msgstr "     "
 
-#: gtkpod.glade:6626
+#: gtkpod.glade:2808
 msgid "Category: "
 msgstr "קטגוריה:"
 
-#: gtkpod.glade:6703
+#: gtkpod.glade:2885
 msgid "Please specify a time interval"
 msgstr "אנא ציין מרווח זמן"
 
-#: gtkpod.glade:6748
+#: gtkpod.glade:2930
 msgid "Lower Margin"
 msgstr "שוליים תחתונים"
 
-#: gtkpod.glade:6795 gtkpod.glade:7001
+#: gtkpod.glade:2977 gtkpod.glade:3183
 msgid "Time:"
 msgstr "זמן:"
 
-#: gtkpod.glade:6838 gtkpod.glade:7044
+#: gtkpod.glade:3020 gtkpod.glade:3226
 msgid ":"
 msgstr ":"
 
-#: gtkpod.glade:6911
+#: gtkpod.glade:3093
 msgid "No lower margin"
 msgstr "ללא שוליים תחתונים"
 
-#: gtkpod.glade:6954
+#: gtkpod.glade:3136
 msgid "Upper margin"
 msgstr "שוליים עליונים"
 
-#: gtkpod.glade:7117
+#: gtkpod.glade:3299
 msgid "No upper margin"
 msgstr "ללא שוליים עליונים"
 
-#: gtkpod.glade:7215 gtkpod.glade:8858
+#: gtkpod.glade:3397
 msgid "Sorting Options"
 msgstr "אפשרויות מיון"
 
-#: gtkpod.glade:7245
-#, fuzzy
+#: gtkpod.glade:3427
 msgid "<b>Sort Order</b>"
-msgstr "<b>כרטיסיות מיון</b>"
+msgstr "<b>סדר מיון</b>"
 
-#: gtkpod.glade:7272 gtkpod.glade:8522 gtkpod.glade:12807 gtkpod.glade:12983
-#: gtkpod.glade:13151 gtkpod.glade:13226 gtkpod.glade:13280 gtkpod.glade:13355
-#: gtkpod.glade:13510 gtkpod.glade:13636 gtkpod.glade:13710 gtkpod.glade:13993
-#: gtkpod.glade:14355 gtkpod.glade:15005 gtkpod.glade:15141 gtkpod.glade:15298
-#: gtkpod.glade:15419 gtkpod.glade:15472 gtkpod.glade:15629 gtkpod.glade:15886
-#: gtkpod.glade:15939 gtkpod.glade:16047 gtkpod.glade:16149 gtkpod.glade:16304
-#: gtkpod.glade:16518 gtkpod.glade:16737 gtkpod.glade:16874
+#: gtkpod.glade:3454 gtkpod.glade:4704 gtkpod.glade:7682 gtkpod.glade:7860
+#: gtkpod.glade:8031 gtkpod.glade:8108 gtkpod.glade:8163 gtkpod.glade:8239
+#: gtkpod.glade:8396 gtkpod.glade:8522 gtkpod.glade:8879 gtkpod.glade:9338
+#: gtkpod.glade:9700 gtkpod.glade:10487 gtkpod.glade:10644 gtkpod.glade:10801
+#: gtkpod.glade:10922 gtkpod.glade:10975 gtkpod.glade:11132 gtkpod.glade:11389
+#: gtkpod.glade:11443 gtkpod.glade:11554 gtkpod.glade:11657 gtkpod.glade:11813
+#: gtkpod.glade:12027 gtkpod.glade:12248 gtkpod.glade:12386 gtkpod.glade:12751
+#: gtkpod.glade:12869 gtkpod.glade:13043 gtkpod.glade:13278 gtkpod.glade:13380
 msgid "    "
 msgstr "    "
 
-#: gtkpod.glade:7300
-#, fuzzy
+#: gtkpod.glade:3482
 msgid ""
 "In order to save the displayed track order to the iPod choose 'Save "
 "Displayed Track Order' from the 'Edit' menu or select 'Auto Store' below."
 msgstr ""
-"הודעה: סדר הרצועות תמיד ישמר על ה-iPod כאשר תשתמש בגרירה ושחרור על מנת לסדר "
-"את הרצועות.\n"
-"על מנת לשמור רצועות בסדר אלפביתי ל-iPod  אתה מוכרח לבחור באפשרות 'שמירת סדר "
-"רצועות נראות' מתפריט העריכה או לבחור 'שמירה אוטומטית' למעלה."
+"על מנת לשמור את סדר הרצועות הנראות אל ה-iPod בחר 'שמור סדר רצועות נראות' "
+"מתפריט ה-'עריכה' או בחר 'שמירה אוטומטית' למטה."
 
-#: gtkpod.glade:7683 gtkpod.glade:9257
+#: gtkpod.glade:3865
 msgid "Ascending"
 msgstr "עולה"
 
-#: gtkpod.glade:7727 gtkpod.glade:9301
+#: gtkpod.glade:3909
 msgid "Descending"
 msgstr "יורד"
 
-#: gtkpod.glade:7771 gtkpod.glade:9345
+#: gtkpod.glade:3953
 msgid "None"
 msgstr "ללא"
 
-#: gtkpod.glade:7860 gtkpod.glade:9434
+#: gtkpod.glade:4042
 msgid "Sorttabs"
 msgstr "כרטיסיות מיון"
 
-#: gtkpod.glade:7905 gtkpod.glade:9479
+#: gtkpod.glade:4087
 msgid "Tracks"
 msgstr "רצועות"
 
-#: gtkpod.glade:8058 gtkpod.glade:9632
+#: gtkpod.glade:4240
 msgid "Auto Store"
 msgstr "שמירה אוטומטית"
 
-#: gtkpod.glade:8103 gtkpod.glade:8149 gtkpod.glade:9677 gtkpod.glade:9723
+#: gtkpod.glade:4285 gtkpod.glade:4331
 msgid "Please refer to the notice below."
 msgstr "הסתכל בבקשה בהודעה למטה."
 
-#: gtkpod.glade:8183 gtkpod.glade:9757
-msgid "n/a"
-msgstr "ל/ז"
-
-#: gtkpod.glade:8381 gtkpod.glade:9955
+#: gtkpod.glade:4563
 msgid "Sort tracks according to: "
 msgstr "מיין רצועות לפי:"
 
-#: gtkpod.glade:8411 gtkpod.glade:9985
+#: gtkpod.glade:4593
 msgid ""
 "You can also use the table headers, but this allows you to sort according to "
 "a column that is not displayed."
@@ -4178,7 +3612,7 @@
 "אתה גם יכול להשתמש בכותרות הטבלאות, אבל זה יאפשר לך למיין רק לפי העמודה "
 "המוצגת."
 
-#: gtkpod.glade:8447 gtkpod.glade:10032
+#: gtkpod.glade:4629
 msgid ""
 "If checked, sorting will be case sensitive. Please note that case sensitive "
 "sorting will not work well with most charsets."
@@ -4186,77 +3620,64 @@
 "אם יסומן, המיון יבחין בין אותיות קטנות לגדולות. שים לב שהבחנה זאת לא תעבוד "
 "היטב ברוב ערכות התווים."
 
-#: gtkpod.glade:8449 gtkpod.glade:10034
+#: gtkpod.glade:4631
 msgid "Sorting case sensitive"
 msgstr "מיון עם תלות בגודל (case)"
 
-#: gtkpod.glade:8495
+#: gtkpod.glade:4677
 msgid "<b>Ignore Frequent Words</b>"
-msgstr ""
+msgstr "<b>התעלם ממילים תכופות</b>"
 
-#: gtkpod.glade:8587
+#: gtkpod.glade:4769
 msgid "Ignore these words when at the beginning of the following fields:"
-msgstr ""
+msgstr "התעלם ממילים אלו כאשר הן מופיעות בתחילת השדות הבאים:"
 
-#: gtkpod.glade:10071
-msgid ""
-"Notice: the track order is always stored to the iPod when you use drag and "
-"drop to re-arrange the tracks.\n"
-"In order to store an alphabetized track order to the iPod you must choose "
-"the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' "
-"above."
-msgstr ""
-"הודעה: סדר הרצועות תמיד ישמר על ה-iPod כאשר תשתמש בגרירה ושחרור על מנת לסדר "
-"את הרצועות.\n"
-"על מנת לשמור רצועות בסדר אלפביתי ל-iPod  אתה מוכרח לבחור באפשרות 'שמירת סדר "
-"רצועות נראות' מתפריט העריכה או לבחור 'שמירה אוטומטית' למעלה."
-
-#: gtkpod.glade:10183
+#: gtkpod.glade:5040
 msgid "gtkpod Info"
 msgstr "מידע gtkpod"
 
-#: gtkpod.glade:10482 gtkpod.glade:10557 gtkpod.glade:10582 gtkpod.glade:11208
-#: gtkpod.glade:11341
+#: gtkpod.glade:5339 gtkpod.glade:5414 gtkpod.glade:5439 gtkpod.glade:6065
+#: gtkpod.glade:6198
 msgid "      "
 msgstr "      "
 
-#: gtkpod.glade:10835
+#: gtkpod.glade:5692
 msgid "Number of tracks"
 msgstr "מספר רצועות"
 
-#: gtkpod.glade:10861
+#: gtkpod.glade:5718
 msgid "Play time"
 msgstr "זמן השמעה"
 
-#: gtkpod.glade:10888
+#: gtkpod.glade:5745
 msgid "File size"
 msgstr "גודל קובץ"
 
-#: gtkpod.glade:10914
+#: gtkpod.glade:5771
 msgid "Number of playlists"
 msgstr "מספר רשימות ההשמעה"
 
-#: gtkpod.glade:10940
+#: gtkpod.glade:5797
 msgid "Deleted tracks"
 msgstr "רצועות נמחקות"
 
-#: gtkpod.glade:10966
+#: gtkpod.glade:5823
 msgid "File size (deleted)"
 msgstr "גודל קובץ (נמחק)"
 
-#: gtkpod.glade:10992
+#: gtkpod.glade:5849
 msgid "Non-transferred tracks"
 msgstr "רצועות לא מועברות"
 
-#: gtkpod.glade:11018
+#: gtkpod.glade:5875
 msgid "File size (non-transferred)"
 msgstr "גודל קובץ (לא-מועבר)"
 
-#: gtkpod.glade:11044
+#: gtkpod.glade:5901
 msgid "Effective free space"
 msgstr "מקום פנוי אפקטיבי"
 
-#: gtkpod.glade:11070
+#: gtkpod.glade:5927
 msgid ""
 "Total\n"
 "(iPod)"
@@ -4264,7 +3685,7 @@
 "סך הכל\n"
 "(iPod)"
 
-#: gtkpod.glade:11098
+#: gtkpod.glade:5955
 msgid ""
 "Selected\n"
 "Playlist"
@@ -4272,7 +3693,7 @@
 "רשימות השמעה\n"
 "נבחרות"
 
-#: gtkpod.glade:11126
+#: gtkpod.glade:5983
 msgid ""
 "Displayed\n"
 "Tracks"
@@ -4280,7 +3701,7 @@
 "רצועות\n"
 "מוצגות"
 
-#: gtkpod.glade:11154
+#: gtkpod.glade:6011
 msgid ""
 "Selected\n"
 "Tracks"
@@ -4288,7 +3709,7 @@
 "רצועות\n"
 "נבחרות"
 
-#: gtkpod.glade:11182
+#: gtkpod.glade:6039
 msgid ""
 "Total\n"
 "(local)"
@@ -4296,27 +3717,27 @@
 "סך הכל\n"
 "(מקומי)"
 
-#: gtkpod.glade:11579
+#: gtkpod.glade:6436
 msgid "label21"
 msgstr "label21"
 
-#: gtkpod.glade:11670
+#: gtkpod.glade:6527
 msgid "Never show this dialogue again"
 msgstr "אל תראה חלון דו-שיח זה בעתיד"
 
-#: gtkpod.glade:11715 gtkpod.glade:12041
+#: gtkpod.glade:6572 gtkpod.glade:6898
 msgid "window1"
 msgstr "חלון1"
 
-#: gtkpod.glade:11772
+#: gtkpod.glade:6629
 msgid "_M3U"
 msgstr "_M3U"
 
-#: gtkpod.glade:11791
+#: gtkpod.glade:6648
 msgid "_PLS"
-msgstr "_רש\"ה"
+msgstr "_PLS"
 
-#: gtkpod.glade:11829
+#: gtkpod.glade:6686
 msgid ""
 "If available, the local copy of the track is referenced in the playlist. "
 "Otherwise the file on the iPod is used."
@@ -4324,43 +3745,43 @@
 "אם זמין, העותק המקומי של הרצועה יקושר מרשימת ההשמעה. אחרת נשתמש בקובץ על ה-"
 "iPod."
 
-#: gtkpod.glade:11831
+#: gtkpod.glade:6688
 msgid "_Prefer Local"
 msgstr "_העדף מקומי"
 
-#: gtkpod.glade:11849
+#: gtkpod.glade:6706
 msgid ""
 "The local copy of the track is referenced in the playlist. If the track is "
 "not available locally, an error message is displayed."
 msgstr ""
-"העותק מהמקומי של הרצועה יקושר מרשימת ההשמעה. אם הרצועה לא זמינה מקומית, תוצג "
+"העותק המקומי של הרצועה יקושר מרשימת ההשמעה. אם הרצועה לא זמינה מקומית, תוצג "
 "הודעת שגיאה."
 
-#: gtkpod.glade:11851
+#: gtkpod.glade:6708
 msgid "_Local"
 msgstr "_מקומי"
 
-#: gtkpod.glade:11870
+#: gtkpod.glade:6727
 msgid "The track on the iPod is referenced in the playlist file."
 msgstr "הרצועה על ה-iPod מקושרת בקובץ רשימת ההשמעה."
 
-#: gtkpod.glade:11872
+#: gtkpod.glade:6729
 msgid "_iPod"
 msgstr "_iPod"
 
-#: gtkpod.glade:11905
+#: gtkpod.glade:6762
 msgid "Playlist type:"
 msgstr "סוג רשימת ההשמעה:"
 
-#: gtkpod.glade:11930
+#: gtkpod.glade:6787
 msgid "Source:"
 msgstr "מקור:"
 
-#: gtkpod.glade:11969
+#: gtkpod.glade:6826
 msgid "Template for info field: "
 msgstr "תבנית עבור שדה המידע:"
 
-#: gtkpod.glade:11990
+#: gtkpod.glade:6847
 msgid ""
 "Determines how the string for the info field should be constructed, e.g '%a/%"
 "A/%T - %t.mp3' or '%o'.  You can separate several templates by semicolons -- "
@@ -4370,21 +3791,21 @@
 "o, the character '%': %%."
 msgstr ""
 "קובע איך מחרוזת המידע תבנה, לדוגמה:\n"
-"'%a/% A/%T - %t.mp3' או '%ס'\n"
-"אתה יכול להפריד מספר תבניות על ידי נקודה־פסיק. היישום gtkpod יקבע איזה מהם "
-"יבחר לשימוש על ידי הסיומת הניתנת. ביצוע: %a, כותר: %A, יוצר: %c, תיאור: %t, "
-"סגנון: %G, מספר רצועה: %T, מספר תקליטור: %C, שנה: %Y, שם מקורי (דרוש מידע "
-"מורחב): %o, הסימן '%': %%."
+"'%a/% A/%T - %t.mp3' or '%ס'\n"
+"אתה יכול להפריד מספר תבניות על ידי נקודה־פסיק. היישום gtkpod יקבע באיזה מהם "
+"להשתמש על ידי הסיומת הניתנת.\n"
+"אמן: a%, כותר: A%, יוצר: c%, שם הרצועה: t%, סגנון: G%, מספר רצועה: T%, מספר "
+"תקליטור: C%, שנה: Y%, שם מקורי (דרוש מידע מורחב): o%, הסימן '%': %%."
 
-#: gtkpod.glade:12021 gtkpod.glade:12251
+#: gtkpod.glade:6878 gtkpod.glade:7108
 msgid "gtkpod options"
 msgstr "אפשרויות ה-gtkpod"
 
-#: gtkpod.glade:12077
+#: gtkpod.glade:6934
 msgid "Filename Format: "
 msgstr "תבנית הקובץ:"
 
-#: gtkpod.glade:12098
+#: gtkpod.glade:6955
 msgid ""
 "Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
 "mp3' or '%o'.  You can separate several patterns by semicolons -- gtkpod "
@@ -4393,19 +3814,19 @@
 "year: %Y, original filename (requires extended information file): %o, "
 "current playlist: %p, the character '%': %%."
 msgstr ""
-"קובע את שם הרצועה שאתה תעתיק מה-iPod. לדוגמה:\n"
-"'%a/%A/%T - %t.mp3' או '%o'.\n"
-"אתה יכול להפריד מספר תבנית על ידי נקודה־פסיק. היישום gtkpod יקבע איזה מהם "
-"יבחר לשימוש על ידי הסיומת הניתנת.\n"
-"ביצוע: %a, כותר: %A, יוצר: %c, תיאור: %t, סגנון: %G, מספר רצועה: %T, מספר "
-"תקליטור: %C, שנה: %Y, שם מקורי (דרוש מידע מורחב): %o, רשימת ההשמעה הנוכחית: %"
-"p, הסימן '%': %%."
+"קובע את שם הרצועה שאותה תעתיק מה-iPod. לדוגמה:\n"
+"'%a/%A/%T - %t.mp3' or '%o'.\n"
+"אתה יכול לציין מספר תבניות מופרדות על ידי נקודה־פסיק. היישום gtkpod יקבע "
+"באיזה יעשה שימוש על ידי הסיומת הניתנת.\n"
+"אמן: a%, כותר: A%, יוצר: c%, שם הרצועה: t%, סגנון: G%, מספר רצועה: T%, מספר "
+"תקליטור: C%, שנה: Y%, שם מקורי (דרוש מידע מורחב): o%, רשימת ההשמעה הנוכחית: p"
+"%, הסימן '%': %%."
 
-#: gtkpod.glade:12103
+#: gtkpod.glade:6960
 msgid " "
 msgstr " "
 
-#: gtkpod.glade:12125
+#: gtkpod.glade:6982
 msgid ""
 "Normally the charset specified when first importing the track will be used "
 "for the filename. If you set this option you can set a different charset "
@@ -4415,12 +3836,13 @@
 "have no charset stored. Instead the charset specified will be used."
 msgstr ""
 "באופן רגיל ערכת התווים המצוינת כאשר מייבאים לראשונה את הרצועות תהיה זו שיעשה "
-"בה שימוש לעדכן את שם הקובץ. אם בחרת ערכת תווים שגויה בעזרת בוחר ערכת התווים "
-"(העדפות 'הוספה/עדכון/סנכרון'). הערה: מידע ערכת התווים נשמר במידע המורחב (ראה "
-"העדפות כתיבה ל-iTunesDB). רצועות שיובאו לפני גרסה 0.51 לא תהיה להם ערכת "
-"תווים שמורה. במקום זאת ערכת התווים המצוינת למעלה תהיה זו שנשתמש בה אז."
+"בה שימוש לעדכן את שם הקובץ. אם סמנת אפשרות זו תוכל לבחור ערכת תווים אחרת "
+"בעזרת בוחר ערכת התווים (העדפות 'הוספה/עדכון/סנכרון'). הערה: מידע ערכת התווים "
+"נשמר במידע המורחב (ראה העדפות כתיבה ל-iTunesDB). רצועות שיובאו לפני גרסה "
+"0.51 לא תהיה להם ערכת תווים שמורה. במקום זאת ערכת התווים המצוינת למעלה תהיה "
+"זו שנשתמש בה."
 
-#: gtkpod.glade:12127
+#: gtkpod.glade:6984
 msgid ""
 "Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
 "for this filename."
@@ -4428,7 +3850,7 @@
 "השתמש בערכת התווים הנבחרת (אפשרויות/'הוספה/עדכון/סנכרון')\n"
 "עבור הקובץ הזה."
 
-#: gtkpod.glade:12146
+#: gtkpod.glade:7003
 msgid ""
 "When copying from iPod no check is performed on whether the destination file "
 "exists. Enabling this option will make gtkpod check whether the length of "
@@ -4439,101 +3861,272 @@
 "והתכנית תבדוק האם גודלו של קובץ היעד הוא זהה לקובץ שעל ה-iPod. אם כן נדלג על "
 "הקובץ, ובכך נאפשר סנכרון מהיר של תוכן ה-iPod."
 
-#: gtkpod.glade:12148
+#: gtkpod.glade:7005
 msgid "Check for existing files when copying from iPod."
 msgstr "בדוק קבצים קיימים בזמן העתקה מה-iPod."
 
-#: gtkpod.glade:12312
+#: gtkpod.glade:7169
 msgid "Playlist name:"
 msgstr "שם רשימת ההשמעה:"
 
-#: gtkpod.glade:12377
+#: gtkpod.glade:7234
 msgid "Match al_l of the following"
 msgstr "התאם את _כל הבאים"
 
-#: gtkpod.glade:12396
+#: gtkpod.glade:7253
 msgid "Match an_y of the following"
 msgstr "התאם _כל אחד מן הבאים"
 
-#: gtkpod.glade:12416
+#: gtkpod.glade:7273
 msgid "_Ignore rules"
 msgstr "_התעלם מחוקים"
 
-#: gtkpod.glade:12468
+#: gtkpod.glade:7343
 msgid "Rules"
 msgstr "חוקים"
 
-#: gtkpod.glade:12501
+#: gtkpod.glade:7376
 msgid "_Limit to"
 msgstr "_הגבל ל"
 
-#: gtkpod.glade:12550
+#: gtkpod.glade:7425
 msgid "   Sort by:"
 msgstr "   מיין על פי:"
 
-#: gtkpod.glade:12596
+#: gtkpod.glade:7471
 msgid "Match only _checked tracks"
 msgstr "התאם רק רצועות _מסומנות"
 
-#: gtkpod.glade:12628
+#: gtkpod.glade:7503
 msgid "Live _updating"
 msgstr "עדכון _חי"
 
-#: gtkpod.glade:12780
+#: gtkpod.glade:7594
+msgid "Preferences"
+msgstr "הגדרות"
+
+#: gtkpod.glade:7655
 msgid "<b>Import</b>"
 msgstr "<b>ייבוא</b>"
 
-#: gtkpod.glade:12840
+#: gtkpod.glade:7715
 msgid "iPod Mount _Point:"
 msgstr "נקודת ה_עיגון של ה-iPod:"
 
-#: gtkpod.glade:12956
+#: gtkpod.glade:7737
+msgid ""
+"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
+msgstr ""
+"היכן שעגנת את מערכת הקבצים של ה-iPod. בדרך כלל '/mnt/ipod' או משהו דומה."
+
+#: gtkpod.glade:7765
+msgid ""
+"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
+"<ipod mountpoint>' call is carried out. For more complicated arrangements "
+"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
+msgstr ""
+"בעליית התוכנית gtkpod יבצע 'mount <ipod mountpoint>' ביציאה תבוצע הפקודה "
+"'umount <ipod mountpoint>'. עבור סידורים יותר מתוחכמים אנא השתמש בסקריפטים: "
+"~/.gtkpod/gtkpod.in ~/.gtkpod/gtkpod.out"
+
+#: gtkpod.glade:7767
+msgid "Handle mounting/unmounting of iPod drive"
+msgstr "טפל בעגינה/ניתוק של כונן ה-iPod"
+
+#: gtkpod.glade:7787
+msgid "Automatically import iTunesDB on startup"
+msgstr "יבא אוטומטית iTunesDB בתחילת התוכנית"
+
+#: gtkpod.glade:7833
 msgid "<b>Adding/Updating/Syncing</b>"
 msgstr "<b>הוספה/עדכון/סנכרון</b>"
 
-#: gtkpod.glade:13016
-msgid "_Charset (ID3, files):"
+#: gtkpod.glade:7893
+#, fuzzy
+msgid "_Encoding (ID3, files):"
 msgstr "_ערכת תווים (ID3, קבצים):"
 
-#: gtkpod.glade:13085
+#: gtkpod.glade:7924
 msgid ""
-"Use selected charset also when updating \n"
+"gtkpod expects the ID3 tags and the filenames to be in the encoding "
+"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
+"operation. 'System Charset' is the charset used by your current locale."
+msgstr ""
+"היישום gtkpod מצפה שהתגיות של הID3 והקבצים יהיו בקידוד המצוין כאן. תוכל "
+"לשנות זאת בשביל פעולות עוקבות של 'הוספת קבצים' ו 'הוספת תיקיות'. 'ערכת "
+"התווים של המערכת' היא ערכת התווים בשימוש עבור הלוקל הנוכחי שלך."
+
+#: gtkpod.glade:7961
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to update the track information. If you have chosen a wrong charset when "
+"first importing a track and want to correct it using the 'Update Track' "
+"function, you must check this option. Note: the charset info is stored in "
+"the extended information file (see 'Writing of iTunesDB' below) and tracks "
+"imported before V0.51 will have no charset stored. Instead the charset "
+"specified above will be used then."
+msgstr ""
+"באופן רגיל ערכת התווים המצוינת כאשר מייבאים לראשונה את הרצועות תהיה זו שיעשה "
+"בה שימוש לעדכן את מידע הרצועה. אם בחרת ערכת תווים שגויה כאשר ייבאת לראשונה "
+"את הרצועה וברצונך לתקן זאת בעזרת 'עדכן רצועה', אתה תהיה חייב לסמן את האפשרות "
+"הזאת. הערה: מידע ערכת התווים נשמר במידע המורחב (ראה : כתיבה ל-iTunesDB למטה) "
+"ורצועות שיובאו לפני גרסה 0.51 לא תהיה להם ערכת תווים שמורה. במקום זאת ערכת "
+"התווים המצוינת למעלה תהיה זו שנשתמש בה אז."
+
+#: gtkpod.glade:7963
+#, fuzzy
+msgid ""
+"Use selected encoding also when updating \n"
 "or syncing tracks"
 msgstr "השתמש בערכת תווים נבחרת גם בזמן עדכון או סנכרון רצועות"
 
-#: gtkpod.glade:13200
+#: gtkpod.glade:7983
+msgid "If you check this, gtkpod will descend into subdirectories recursively."
+msgstr "אם תסמן אופציה זו, gtkpod יכנס לתוך תיקיות משנה רקורסיבית."
+
+#: gtkpod.glade:7985
+msgid "Add directories recursively"
+msgstr "הוספת תיקיות בצורה רקורסיבית"
+
+#: gtkpod.glade:8004
+#, fuzzy
+msgid "Duplicate Recognition is based on a (modified) md5 hash over the file."
+msgstr "זיהוי כפילויות מתבסס על חישוב קוד ערבוב md5 על הקובץ."
+
+#: gtkpod.glade:8006
+msgid "Don't allow file duplication"
+msgstr "אל תרשה כפילויות של קבצים"
+
+#: gtkpod.glade:8052
 msgid ""
+"Display the list of duplicates that have been detected after adding files."
+msgstr "הצג את רשימת הכפילויות שזוהו אחרי הוספת הקבצים."
+
+#: gtkpod.glade:8054
+msgid "Display info about detected duplicates"
+msgstr "הצג מידע אודות כפילויות מזוהות"
+
+#: gtkpod.glade:8080
+msgid ""
+"If the filename (full path) of an existing track matches that of a track to "
+"be added, this option allows you to update the information about the "
+"existing track rather than just skipping the track altogether. No update "
+"will take place if the file hasn't changed and you have selected the 'Don't "
+"allow file duplication' option above."
+msgstr ""
+"אם הקובץ (נתיב מלא) של רצועה קיימת תואם את זה של רצועה להוספה, אפשרות זאת "
+"מאפשרת לך לעדכן את המידע על הרצועה הקיימת במקום רק לדלג על הרצועה בכלל. שום "
+"עדכון לא יתבצע אם הקובץ לא השתנה ובחרת באפשרות לא לאפשר כפילות בקבצים למעלה."
+
+#: gtkpod.glade:8082
+msgid ""
 "When adding dirs/files, update information of\n"
 "existing tracks with identical filenames"
 msgstr ""
 "בזמן הוספת תיקיות/קבצים, עדכן את המידע על\n"
 "רצועות קיימות עם שמות קבצים זהים"
 
-#: gtkpod.glade:13383
+#: gtkpod.glade:8129
+msgid "Display a list of tracks that could actually be updated."
+msgstr "הצג רשימה של רצועות שאפשר לעדכן אותן."
+
+#: gtkpod.glade:8131
+msgid "Display info about updated tracks"
+msgstr "הצג מידע אודות רצועות מעודכנות"
+
+#: gtkpod.glade:8184
+msgid "Display a list of tracks that could not be updated."
+msgstr "הצג רשימה של רצועות שאי אפשר לעדכן אותן."
+
+#: gtkpod.glade:8186
+msgid "Display info about non-updated tracks"
+msgstr "הצג מידע על רצועות שלא עודכנו בזמן סנכרון תיקיות"
+
+#: gtkpod.glade:8212
+msgid "When syncing directories"
+msgstr " "
+
+#: gtkpod.glade:8267
 msgid "Confirm lists of directories"
 msgstr "וודא רשימה של תיקיות"
 
-#: gtkpod.glade:13483
+#: gtkpod.glade:8286
+msgid ""
+"If you check this option, tracks that have been removed from the synced "
+"directories will be removed from the iPod as well."
+msgstr ""
+"אם תסמן אופציה זאת, רצועות שהוסרו מתיקיות מסונכרנות יוסרו מה-iPod גם כן."
+
+#: gtkpod.glade:8288
+msgid "Delete tracks that have been removed"
+msgstr "מחק רצועות שהוסרו"
+
+#: gtkpod.glade:8307
+msgid "This is the same option as in 'Edit/Delete Confirmation'"
+msgstr "זוהי אופציה זהה לזו שב- 'עריכה/ווידוא מחיקה'"
+
+#: gtkpod.glade:8309
+msgid "Confirm before removing tracks"
+msgstr "וודא לפני הסרת רצועות"
+
+#: gtkpod.glade:8369
 msgid "<b>Sync</b>"
 msgstr "<b>סנכרון</b>"
 
-#: gtkpod.glade:13577
-msgid "General"
+#: gtkpod.glade:8417
+msgid ""
+"Highly recommended for faster import when taking advantage of the "
+"duplication recognition. Also, having the PC filenames allows writing "
+"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
+"case of file system corruption (change the \"transferred=\" entries in your "
+"backuped database)."
+msgstr ""
+"מומלץ מאוד לייבוא מהיר יותר ,כאשר מנצלים את מנגנון זיהוי הכפילויות. בנוסף, "
+"על ידי כך שקיים מידע שם הקובץ של הקבצים על ה-PC זה מאפשר כתיבת של תגיות ה-"
+"ID3 לדיסק הקשיח, ואפילו בניה מחדש של תוכן ה-iPod במקרה של בעיה במערכת הקבצים "
+"(שנה את שדה ה-\"הועבר\" במסד הנתונים המגובה)."
+
+#: gtkpod.glade:8419
+#, fuzzy
+msgid ""
+"Write extended information (PC filenames,\n"
+" MD5 hashes, encoding). Recommended."
+msgstr "כתוב מידע מורחב (שמות קבצים ב-PC ערבובי MD5, ערכות תווים). מומלץ."
+
+#: gtkpod.glade:8463 gtkpod.glade:14969
+#, fuzzy
+msgid "_General"
 msgstr "כללי"
 
-#: gtkpod.glade:13609
+#: gtkpod.glade:8495
 msgid "<b>Tag Reading</b>"
 msgstr "<b>קריאת תגיות</b>"
 
-#: gtkpod.glade:13685
+#: gtkpod.glade:8550
+msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
+msgstr "קרא תגיות מתוכן הקובץ (כלומר תגיות ID3 של קבצי MP3)"
+
+#: gtkpod.glade:8569 gtkpod.glade:8906
+msgid ""
+"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
+"several templates by a ';'. The first one matching the filename will be "
+"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
+msgstr ""
+"אמן: a%, כותר: A%, יוצר: c%, שם הרצועה: t%, סגנון: G%, מספר רצועה: T%, מספר "
+"תקליטור: C%, שנה: Y%, מידע דילוג: *%, האות '%': %%.\n"
+"אפשר להפריד בין מספר תבניות על ידי ';'. הראשון שיתאים לקובץ יבחר. לדוגמה:\n"
+" '%a - %A/%T %t.mp3;%t.wav'."
+
+#: gtkpod.glade:8571
 msgid "Use this template to parse filename for tag information:"
 msgstr "השתמש בתבנית הזאת על מנת לנתח את הקובץ למידע תגית:"
 
-#: gtkpod.glade:13758
+#: gtkpod.glade:8644
 msgid "Overwrite tags that are already set"
 msgstr "שכתב תגיות שכבר כתובות"
 
-#: gtkpod.glade:13791
+#: gtkpod.glade:8677
 msgid ""
 "As a last resort set the following tags to the\n"
 "filename if they are (still) empty:"
@@ -4541,158 +4134,930 @@
 "בתור אפשרות אחרונה קבע את התגיות לשם הקובץ\n"
 "אם הן (עדיין) ריקות:"
 
-#: gtkpod.glade:13966
+#: gtkpod.glade:8852
+#, fuzzy
+msgid "<b>Artwork</b>"
+msgstr "<b>ייבוא</b>"
+
+#: gtkpod.glade:8908
+msgid "Add artwork from file using the following template"
+msgstr ""
+
+#: gtkpod.glade:8960
+#, fuzzy
+msgid ""
+"Determines the name of the file with the cover art. You can separate several "
+"patterns by semicolons which will be tried in order. Artist: %a, album: %A, "
+"composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, "
+"original filename (requires extended information file): %o, original "
+"filename without file extension: %O, current playlist: %p, the character "
+"'%': %%."
+msgstr ""
+"קובע את שם הרצועה שאותה תעתיק מה-iPod. לדוגמה:\n"
+"'%a/%A/%T - %t.mp3' or '%o'.\n"
+"אתה יכול לציין מספר תבניות מופרדות על ידי נקודה־פסיק. היישום gtkpod יקבע "
+"באיזה יעשה שימוש על ידי הסיומת הניתנת.\n"
+"אמן: a%, כותר: A%, יוצר: c%, שם הרצועה: t%, סגנון: G%, מספר רצועה: T%, מספר "
+"תקליטור: C%, שנה: Y%, שם מקורי (דרוש מידע מורחב): o%, רשימת ההשמעה הנוכחית: p"
+"%, הסימן '%': %%."
+
+#: gtkpod.glade:8981
+#, fuzzy
+msgid "<b>Examples</b>"
+msgstr "<b>mserv</b>"
+
+#: gtkpod.glade:9011
+msgid "folder.jpg"
+msgstr ""
+
+#: gtkpod.glade:9035
+msgid "folder"
+msgstr ""
+
+#: gtkpod.glade:9059
+msgid "../%A.jpg"
+msgstr ""
+
+#: gtkpod.glade:9083
+msgid "%A"
+msgstr ""
+
+#: gtkpod.glade:9107
+msgid "Use <i>folder.jpg</i> as cover art."
+msgstr ""
+
+#: gtkpod.glade:9131
+msgid "Use <i>folder.jpg</i>, <i>folder.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9155
+msgid "Use <i>&lt;Album&gt;.jpg</i> in the parent directory"
+msgstr ""
+
+#: gtkpod.glade:9179
+msgid "Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9203
+msgid "folder.jpg;%a.jpg"
+msgstr ""
+
+#: gtkpod.glade:9227
+msgid "First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i>"
+msgstr ""
+
+#: gtkpod.glade:9311
 msgid "<b>mserv</b>"
 msgstr "<b>mserv</b>"
 
-#: gtkpod.glade:14022
+#: gtkpod.glade:9365 gtkpod.glade:9579
+msgid "Currently only rating is supported."
+msgstr "נכון לעכשיו רק המדרוג נתמך."
+
+#: gtkpod.glade:9367
 msgid "Use mserv database to fill additional information"
 msgstr "השתמש במסד נתונים של mserv על מנת למלא מידע נוסף"
 
-#: gtkpod.glade:14050
+#: gtkpod.glade:9395
 msgid "Music Root:"
 msgstr "שורש המוזיקה:"
 
-#: gtkpod.glade:14096
+#: gtkpod.glade:9419
+msgid "mserv database lookup will be done for music in this directory."
+msgstr "החיפוש במסד הנתונים mserv יתבצע בתיקייה זאת עבור מוזיקה."
+
+#: gtkpod.glade:9441
 msgid "mserv Root:"
 msgstr "שורש ה-mserv:"
 
-#: gtkpod.glade:14142
+#: gtkpod.glade:9465
+msgid "Root directory of mserv database (trackinfo root)."
+msgstr "תיקיית שורש או מסד נתונים mserv (השורש של trackinfo)."
+
+#: gtkpod.glade:9487
 msgid "Username:"
 msgstr "שם משתמש:"
 
-#: gtkpod.glade:14190 gtkpod.glade:14209 gtkpod.glade:16592 gtkpod.glade:16661
-#: gtkpod.glade:16805 gtkpod.glade:16956 gtkpod.glade:17020 gtkpod.glade:17084
+#: gtkpod.glade:9511
+msgid "Username to be used for mserv database lookup."
+msgstr "שם משתמש הנועד לשימוש במסד הנתונים של mserv."
+
+#: gtkpod.glade:9535 gtkpod.glade:9554 gtkpod.glade:12102 gtkpod.glade:12172
+#: gtkpod.glade:12317 gtkpod.glade:12490 gtkpod.glade:12555 gtkpod.glade:12620
 msgid "Browse"
-msgstr "דפדף"
+msgstr "סייר"
 
-#: gtkpod.glade:14282
-msgid "Reading"
-msgstr "קריאה"
+#: gtkpod.glade:9581
+msgid "Show information about problems when accessing mserv"
+msgstr "הצג מידע על בעיות בגישה ל-mserv"
 
-#: gtkpod.glade:14328
+#: gtkpod.glade:9627
+#, fuzzy
+msgid "_Track Info"
+msgstr "רצועה"
+
+#: gtkpod.glade:9673
 msgid "<b>Displayed Track Attributes</b>"
 msgstr "<b>מאפייני רצועה נראים</b>"
 
-#: gtkpod.glade:14978
+#: gtkpod.glade:10460
 msgid "<b>Sort Tabs</b>"
 msgstr "<b>כרטיסיות מיון</b>"
 
-#: gtkpod.glade:15038
+#: gtkpod.glade:10514
+msgid "Keeps all compilation CDs grouped together in the artists sort tab."
+msgstr ""
+
+#: gtkpod.glade:10516
+msgid "Group artists on compilation CDs"
+msgstr ""
+
+#: gtkpod.glade:10541
 msgid "_Number of sort tabs:"
 msgstr "_מספר כרטיסיות המיון:"
 
-#: gtkpod.glade:15114
+#: gtkpod.glade:10617
 msgid "<b>Automatically select...</b>"
 msgstr "<b>בחירה אוטומטית...</b>"
 
-#: gtkpod.glade:15271
+#: gtkpod.glade:10671
+msgid ""
+"If you don't select the master playlist automatically, the initial database "
+"import is much faster because the display dosn't have to be updated."
+msgstr ""
+"אם לא תבחר את רשימת ההשמעה הראשית אוטומטית, יבוא מסד הנתונים הראשוני יהיה "
+"יותר מהיר בעקבות כך שהתצוגה לא תהיה חייבת להתעדכן."
+
+#: gtkpod.glade:10673
+msgid "...master playlist"
+msgstr "...רשימת השמעה ראשית"
+
+#: gtkpod.glade:10693
+msgid "...entry 'All' in sort tab..."
+msgstr "...רשומה 'הכל' בכרטיסיית המיון..."
+
+#: gtkpod.glade:10774
 msgid "<b>Tooltips</b>"
 msgstr "<b>תוויות מידע</b>"
 
-#: gtkpod.glade:15392
+#: gtkpod.glade:10829
+msgid "Display tooltips in main window"
+msgstr "הצג תוויות מידע בחלון הראשי"
+
+#: gtkpod.glade:10849
+msgid "Display tooltips in prefs window"
+msgstr "הצג תוויות מידע בחלון האפשרויות"
+
+#: gtkpod.glade:10895
 msgid "<b>Toolbar</b>"
 msgstr "<b>סרגל כלים</b>"
 
-#: gtkpod.glade:15602
+#: gtkpod.glade:10950
+msgid "Display toolbar..."
+msgstr "הראה סרגל כלים..."
+
+#: gtkpod.glade:11003
+msgid "...as icons"
+msgstr "...בתור סמלים"
+
+#: gtkpod.glade:11023
+msgid "...as text"
+msgstr "...בתור טקסט"
+
+#: gtkpod.glade:11044
+msgid "...both as icons and text"
+msgstr "...ביחד גם סמלים וגם טקסט"
+
+#: gtkpod.glade:11105
 msgid "<b>Misc</b>"
 msgstr "<b>אחר</b>"
 
-#: gtkpod.glade:15764
+#: gtkpod.glade:11159
+msgid ""
+"It is much faster to sort the display after all tracks have been added. Some "
+"people might feel irritated by this behaviour and should uncheck this option."
+msgstr ""
+"זה יותר מהיר למיין את התצוגה אחרי שכל הרצועות הוספו. חלק מהאנשים יחשבו "
+"שהתנהגות זו מעצבנת וכנראה יבטלו את הסימון לאפשרות זו."
+
+#: gtkpod.glade:11161
+msgid ""
+"Temporarily disable sorting when changing playlist\n"
+"or tab entry (faster!)"
+msgstr "חסום זמנית מיון בזמן החלפת רשימת השמעה או רשומת כרטיסיה (מהיר)"
+
+#: gtkpod.glade:11181
+msgid ""
+"The display can be blocked after changing a selection. The display update is "
+"faster, but you have to wait until it's finished. When using this option, "
+"sorting is also temporarily disabled (see option above)."
+msgstr ""
+"התצוגה יכולה להינעל אחרי שינוי הבחירה. עדכון התצוגה יהיה מהיר יותר, אך אתה "
+"תצטרך להמתין עד הסיום. בזמן שימוש באפשרות זו, המיון גם הוא זמנית מבוטל (ראה "
+"אפשרות למעלה)."
+
+#: gtkpod.glade:11183
+msgid ""
+"Block display when changing playlist or tab\n"
+" entry (faster!)"
+msgstr "חסום תצוגה בזמן החלפת רשימת השמעה או רשומת כרטיסיה (מהיר)"
+
+#: gtkpod.glade:11203
+msgid "This option will be re-activated when you upgrade gtkpod."
+msgstr "האפשרות הזאת תופעל מחדש בזמן שדרוג gtkpod."
+
+#: gtkpod.glade:11205
+msgid "Display messages and warnings at startup"
+msgstr "הראה הודעות ואזהרות בתחילת התוכנית"
+
+#: gtkpod.glade:11267
 msgid "Advanced Sorting Options"
 msgstr "אפשרויות מיון מתקדמות"
 
-#: gtkpod.glade:15827
-msgid "Display"
-msgstr "תצוגה"
-
-#: gtkpod.glade:15859
+#: gtkpod.glade:11362
 msgid "<b>Track Editing</b>"
 msgstr "<b>עריכת רצועות</b>"
 
-#: gtkpod.glade:15967
+#: gtkpod.glade:11416
 msgid ""
-"Use selected charset (on the 'General' page)\n"
+"The tags are written to the files on your harddrive and on the ipod (if "
+"available)."
+msgstr "התגיות נכתבות לקבצים על הדיסק הקשיח ועל ה-iPod (אם זמין)."
+
+#: gtkpod.glade:11418
+msgid "Write ID3 tags to disk when modified in gtkpod"
+msgstr "כתוב תגיות ID3 לדיסק כאשר הן משתנות ב-gtkpod"
+
+#: gtkpod.glade:11470
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to write the tags. If you have chosen a wrong charset when first importing a "
+"track, you should select this option along with the correct charset.  Note: "
+"uses the extended information file to store the charset information (see "
+"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
+"before V0.51 will have no charset stored -- the charset specified on the "
+"'Input/Output' page will be used."
+msgstr ""
+"בדרך כלל יעשה שימוש בערכת התווים המצוינת בזמן ייבוא הרצועה לשם כתיבת התגיות. "
+"אם בחרת ערכת תווים שגויה בזמן ייבוא רצועה, אתה יכול לבחור אפשרות זו ביחד עם "
+"ערכת התווים הנכונה. הערה: משתמש בקובץ המידע המורחב לשמור את מידע ערכת התווים "
+"(ראה 'כתיבת iTunesDB' בעמוד קלט/פלט) ורצועות שיובאו לפני גרסה 0.51 לא תהייה "
+"להן ערכה שמורה -- הערכה המצוינת בעמוד קלט/פלט יעשה בה שימוש."
+
+#: gtkpod.glade:11472
+#, fuzzy
+msgid ""
+"Use selected encoding (on the 'General' page)\n"
 "when writing tags"
 msgstr ""
 "השתמש בערכת תווים הנבחרת (בעמוד 'כללי')\n"
 "בזמן כתיבת התגיות"
 
-#: gtkpod.glade:16022
+#: gtkpod.glade:11492
+msgid ""
+"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
+"uses unicode to store the tags, so you won't have to worry about charsets "
+"any more. gtkpod will use UTF8 encoding as this will not increase the size "
+"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
+"present in the file to write to."
+msgstr ""
+"זוהי הדרך הנכונה, אך אולי לא כל התכניות תומכות בזה עדיין. הסימנייה ID3v2.4 "
+"משתמשת ב־unicode לשמור על התגיות, על מנת שלא נצטרך לדאוג לגבי ערכות תווים. "
+"gtkpod ישתמש ב־UTF8 כי זה לא יגדיל את הגודל של תגיות ASCII טהורות. תגיות "
+"ID3V2.2/4 יכתבו גם אם הן כבר קיימות בקובץ שכותבים עליו."
+
+#: gtkpod.glade:11494
+msgid "Always write ID3v2.4 tags (only applies to MP3)"
+msgstr "כתוב תמיד תגיות ID3v2.4 (תקף רק ל-MP3)"
+
+#: gtkpod.glade:11527
+msgid ""
+"If you select several tracks in the track list and edit a tag of the first "
+"track, the tags in the other tracks are updated as well."
+msgstr ""
+"אם אתה בוחר מספר רצועות ברשימת הרצועות ועורך תגית של הרצועה הראשונה, התגיות "
+"ברצועות הממוינות מתעדכנות גם כן."
+
+#: gtkpod.glade:11529
 msgid "Use 'Multi-Edit' for tracks selections"
 msgstr "השתמש ב-'עריכה מרובה' עבור בחירת רצועות"
 
-#: gtkpod.glade:16122
+#: gtkpod.glade:11575
+msgid ""
+"Usually you don't want to set the title of several tracks to the same text. "
+"This option might avoid unwanted results (especially since there is no "
+"'undo' yet)."
+msgstr ""
+"בדרך כלל אתה לא תרצה לקבוע את שם הרצועה של מספר רצועות לאותו טקסט. אפשרות "
+"זאת עלולה למנוע תוצאות לא רצויות (במיוחד שאין עדיין אפשרות 'בטל')"
+
+#: gtkpod.glade:11577
+msgid "Use 'Multi-Edit' also for title field"
+msgstr "השתמש ב-'עריכה מרובה' גם עבור שדה שם הרצועה"
+
+#: gtkpod.glade:11630
 msgid "<b>Auto-Generated Playlists</b>"
 msgstr "<b>יצירה אוטומטית של רשימות השמעה</b>"
 
-#: gtkpod.glade:16182
+#: gtkpod.glade:11690
 msgid "Number of tracks in generated playlists:"
 msgstr "מספר הרצועות ברשימת השמעה:"
 
-#: gtkpod.glade:16277
+#: gtkpod.glade:11711
+msgid ""
+"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
+"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
+msgstr ""
+"מספר הרצועות ברשימות ההשמעה הנוצרות 'המושמעים ביותר', 'הדירוג הכי גבוה' "
+"ו-'נוגנו הכי לאחרונה'. בחר '0' עבור 'ללא מגבלה'."
+
+#: gtkpod.glade:11740
+msgid "Also include tracks never played in \"Best Rated\" playlist"
+msgstr "כלול גם רצועות שלעולם לא נוגנו ברשימת השמעה \"הדירוג הכי גבוה\""
+
+#: gtkpod.glade:11786
 msgid "<b>Delete Confirmation</b>"
 msgstr "<b>ווידוא מחיקה</b>"
 
-#: gtkpod.glade:16352
+#: gtkpod.glade:11841
+msgid "Before removing playlists or tracks from a playlist"
+msgstr "לפני הסרת רשימות השמעה או רצועות מרשימת השמעה"
+
+#: gtkpod.glade:11861
 msgid "Before removing tracks from the iPod"
 msgstr "לפני הסרת רצועות מה-iPod"
 
-#: gtkpod.glade:16372
+#: gtkpod.glade:11881
 msgid "Before removing tracks from the harddisk"
 msgstr "לפני הסרת רצועות מהדיסק הקשיח"
 
-#: gtkpod.glade:16392
+#: gtkpod.glade:11901
 msgid "Before removing tracks from the local database"
 msgstr "לפני הסרת רצועות ממסד הנתונים המקומי"
 
-#: gtkpod.glade:16412
+#: gtkpod.glade:11921
 msgid ""
 "Before removing tracks completely when\n"
 "synchronizing directories"
 msgstr "לפני הסרת רצועות לגמרי כאשר מסנכרנים תיקיות"
 
-#: gtkpod.glade:16491
+#: gtkpod.glade:12000
 msgid "<b>Play</b>"
 msgstr "<b>נגן</b>"
 
-#: gtkpod.glade:16551
+#: gtkpod.glade:12060
 msgid "Command for 'Play now':"
 msgstr "פקודה עבור 'נגן עכשיו':"
 
-#: gtkpod.glade:16620
+#: gtkpod.glade:12081
+msgid ""
+"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
+"tracks and start playing."
+msgstr ""
+"לדוגמא, 'xmms %s' ינקה את רשימת ההשמעה הנוכחית של xmms, יוסיף את הרצועות "
+"הנבחרות ויתחיל לנגן."
+
+#: gtkpod.glade:12130
 msgid "Command for 'Enqueue':"
 msgstr "פקודה עבור 'הכנס לתור':"
 
-#: gtkpod.glade:16710
+#: gtkpod.glade:12151
+msgid ""
+"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
+"current playlist."
+msgstr ""
+"לדוגמא, 'xmms -e %s' יוסיף את הרצועות הנבחרות לרשימת ההשמעה הנוכחית ב-xmms."
+
+#: gtkpod.glade:12221
 msgid "<b>Volume Normalization</b>"
 msgstr "<b>נרמול עוצמת קול</b>"
 
-#: gtkpod.glade:16764
+#: gtkpod.glade:12275
 msgid "'mp3gain' executable:"
 msgstr "קובץ ריצה של 'mp3gain':"
 
-#: gtkpod.glade:16847
+#: gtkpod.glade:12296
+msgid ""
+"You only need to specify this if your 'mp3gain' executable is not in your "
+"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
+"calculated gain value back to the file -- if you don't want this, set this "
+"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
+"are not already set by your encoder. E.g. lame version 0.95 already writes "
+"the gain values into tags. The exact conversion factor between mp3gain's "
+"gain value and iPod's volume tag is not known yet -- your input is "
+"appreciated."
+msgstr ""
+"אתה תצטרך לרשום את הנתיב באופן מפורש רק אם קובץ הריצה של mp3gain הוא לא "
+"בנתיב ברירת המחדל. לדוגמה: '/usr/local/foo/mp3gain'. התכנית mp3gain תכתוב את "
+"ערך ההגברה המחושבת ישר לקובץ -- אם אתה לא מעוניין בזאת, קבע את הרשומה הזאת "
+"ל-/usr/true או דומה. הקריאה ל-mp3gain תתבצע רק אם התגיות המתאימות עדיין לא "
+"נקבעו על ידי המקודד. לדוגמה: מקודד lame גרסה 0.95 כותבת את ערכי ההגברה "
+"לתגיות בזמן הקידוד. רמת ההמרה בין mp3gain לזאת של ה-iPod עדיין לא ידועה -- "
+"מצפים לעזרה מצדכם."
+
+#: gtkpod.glade:12359
 msgid "<b>Synchronization</b>"
 msgstr "<b>סנכרון</b>"
 
-#: gtkpod.glade:16910
+#: gtkpod.glade:12443
 msgid "Contacts sync command:"
 msgstr "פקודת סנכרון לאנשי קשר:"
 
-#: gtkpod.glade:16974
+#: gtkpod.glade:12467 gtkpod.glade:12532 gtkpod.glade:12597
+msgid ""
+"Specify exact path including command line options. '%i' will be replaced "
+"with the mount point of the iPod."
+msgstr ""
+"מציין נתיב מלא כולל אפשרויות שורת פקודה. המחרוזת '%i' תוחלף עם נקודת העגינה "
+"של ה-iPod."
+
+#: gtkpod.glade:12508
 msgid "Calendar sync command:"
 msgstr "פקודת סנכרון ליומן:"
 
-#: gtkpod.glade:17038
+#: gtkpod.glade:12573
 msgid "Notes sync command:"
 msgstr "פקודת סנכרון לפתקאות (notes):"
 
-#~ msgid "Copy from iPod"
-#~ msgstr "העתק מה-iPod"
+#: gtkpod.glade:12646
+msgid "Call automatically when synchronizing iTunesDB"
+msgstr "קרא אוטומטית בזמן סנכרון iTunesDB"
 
-#~ msgid "Couldn't find pixmap file: %s"
-#~ msgstr "קובץ pixmap %s לא נמצא"
+#: gtkpod.glade:12724
+msgid "<b>Podcast subscriptions</b>"
+msgstr ""
 
-#~ msgid "Copy _Tracks from iPod"
-#~ msgstr "העתקת ר_צועות מה-iPod"
+#: gtkpod.glade:12799
+#, fuzzy
+msgid "Add"
+msgstr "הוספו"
+
+#: gtkpod.glade:12833
+#, fuzzy
+msgid "Delete"
+msgstr "רצועות נמחקות"
+
+#: gtkpod.glade:12899
+#, fuzzy
+msgid "Name: "
+msgstr "שם משתמש:"
+
+#: gtkpod.glade:12923
+msgid "URL: "
+msgstr ""
+
+#: gtkpod.glade:13016
+#, fuzzy
+msgid "<b>File options</b>"
+msgstr "<b>ווידוא מחיקה</b>"
+
+#: gtkpod.glade:13076
+msgid "Save podcasts to: "
+msgstr ""
+
+#: gtkpod.glade:13131
+msgid "Delete from computer when "
+msgstr ""
+
+#: gtkpod.glade:13171 gtkpod.glade:13473
+#, fuzzy
+msgid " days old"
+msgstr "ימים"
+
+#: gtkpod.glade:13200
+#, fuzzy
+msgid "Delete once copied to iPod"
+msgstr "הרצועה נמחקה לגמרי מה-iPod"
+
+#: gtkpod.glade:13226
+#, fuzzy
+msgid "Automatically fetch podcasts on startup"
+msgstr "יבא אוטומטית iTunesDB בתחילת התוכנית"
+
+#: gtkpod.glade:13253
+#, fuzzy
+msgid "Create podcast logfile at:"
+msgstr "יצירת קובץ רשימת השמעה"
+
+#: gtkpod.glade:13353
+#, fuzzy
+msgid "<b>iPod options</b>"
+msgstr "<b>תוויות מידע</b>"
+
+#: gtkpod.glade:13408
+#, fuzzy
+msgid "Automatically sync to iPod"
+msgstr "בחירה אוטומטית..."
+
+#: gtkpod.glade:13434
+#, fuzzy
+msgid "Delete from iPod when "
+msgstr "מחק מה-iPod"
+
+#: gtkpod.glade:13502
+#, fuzzy
+msgid "Delete from iPod if podcast has been played"
+msgstr "תאריך ושעה שהרצועה הושמעה לאחרונה"
+
+#: gtkpod.glade:13522
+msgid "Include broadcast date in track title"
+msgstr ""
+
+#: gtkpod.glade:13542
+msgid "Set all podcast genres to 'Podcast'"
+msgstr ""
+
+#: gtkpod.glade:13588 gtkpod.glade:15341
+msgid "_Podcasts"
+msgstr ""
+
+#: gtkpod.glade:13753
+msgid ""
+"\n"
+"\n"
+msgstr ""
+
+#: gtkpod.glade:13787
+#, fuzzy
+msgid "Abort selected"
+msgstr "לא נבחרו רצועות"
+
+#: gtkpod.glade:13803
+msgid "Abort current"
+msgstr ""
+
+#: gtkpod.glade:13819
+msgid "Abort all"
+msgstr ""
+
+#: gtkpod.glade:13843
+msgid "Details"
+msgstr ""
+
+#: gtkpod.glade:13904
+#, fuzzy
+msgid "Cover"
+msgstr "יוצר"
+
+#: gtkpod.glade:13989
+msgid "Set Cover Art"
+msgstr ""
+
+#: gtkpod.glade:14022
+msgid ""
+"If you check this, information (cover art and meta information) changed for "
+"this track will be copied to all other selected tracks as well. Use with "
+"care."
+msgstr ""
+
+#: gtkpod.glade:14068
+msgid ""
+"Change all tracks\n"
+"simultaneously"
+msgstr ""
+
+#: gtkpod.glade:14156
+msgid "Remove Cover Art"
+msgstr ""
+
+#: gtkpod.glade:16245
+msgid "_Other"
+msgstr ""
+
+#: gtkpod.glade:16535
+msgid "_Undo All"
+msgstr ""
+
+#: gtkpod.glade:16605
+#, fuzzy
+msgid "_Undo Track"
+msgstr "רצועות לא דורגו"
+
+#~ msgid ""
+#~ "Icons of buttons were made by Nicolas Chariot.\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "הסמלים על הכפתורים נעשו על ידי ניקולס צ'ריוט.\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Settings are not saved.\n"
+#~ msgstr "אפשרויות לא נשמרו.\n"
+
+#~ msgid "_Delete But Keep Tracks"
+#~ msgstr "_מחק אבל שמור רצועות"
+
+#~ msgid "_Delete Completely From iPod"
+#~ msgstr "_מחק לגמרי מה-iPod"
+
+#~ msgid " iPod Mount _Point:"
+#~ msgstr " נקודת עיגון של ה-iPod:"
+
+#~ msgid "Import"
+#~ msgstr "ייבא"
+
+#~ msgid " _Charset (ID3, files): "
+#~ msgstr " _ערכת תווים (ID3, קבצים):"
+
+#~ msgid ""
+#~ "Use selected charset also when updating\n"
+#~ " or syncing tracks"
+#~ msgstr ""
+#~ "השתמש בבחירת ערכת תווים גם בזמן עדכון\n"
+#~ " או סנכרון רצועות"
+
+#~ msgid ""
+#~ "When adding dirs/files, update information of\n"
+#~ " existing tracks with identical filenames"
+#~ msgstr ""
+#~ "בזמן הוספת תיקיות/קבצים, עדכן מידע של\n"
+#~ " רצועות קיימות עם שמות קבצים זהים"
+
+#~ msgid "Confirm list of directories"
+#~ msgstr "וודא רשימת תיקיות"
+
+#~ msgid "Adding/Updating/Syncing"
+#~ msgstr "מוסיף/מעדכן/מסנכרן"
+
+#~ msgid "Use this template to parse filename for tag information"
+#~ msgstr "השתמש בתבנית זאת על מנת לנתח קובץ למידע תג"
+
+#~ msgid "Overwrite tags that are already set."
+#~ msgstr "שכתב תגיות שכבר כתובות."
+
+#~ msgid ""
+#~ "As a last resort set the following tags to the filename if they are "
+#~ "(still) empty:"
+#~ msgstr "בתור אפשרות אחרונה קבע את התגיות לשם הקובץ, אם הן (עדיין) ריקות:"
+
+#~ msgid "Tag Reading"
+#~ msgstr "קריאת תגיות"
+
+#~ msgid "Use mserv database to fill in additional information"
+#~ msgstr "השתמש במסד הנתונים של mserv על מנת למלא מידע נוסף"
+
+#~ msgid "Music Root: "
+#~ msgstr "שורש המוזיקה:"
+
+#~ msgid "..."
+#~ msgstr "..."
+
+#~ msgid "mserv Root: "
+#~ msgstr "השורש של mserv:"
+
+#~ msgid "mserv"
+#~ msgstr "mserv"
+
+#~ msgid "Sync (Writing of iTunesDB)"
+#~ msgstr "סנכרן (כתיבה של iTunesDB)"
+
+#~ msgid "_Input/Output"
+#~ msgstr "_קלט/פלט"
+
+#~ msgid "Relative volume adjustment between -100 and +100"
+#~ msgstr "כיוון עוצמת קול יחסית בין -100 ל +100"
+
+#~ msgid "Displayed Track Attributes "
+#~ msgstr "הצג מאפייני רצועה"
+
+#~ msgid " _Number of sort tabs: "
+#~ msgstr " _מספר כרטיסיות ממויונות:"
+
+#~ msgid "Sort Tabs"
+#~ msgstr "כרטיסיות מיון"
+
+#~ msgid "Toolbar"
+#~ msgstr "סרגל כלים"
+
+#~ msgid "Tooltips"
+#~ msgstr "תוויות מידע"
+
+#~ msgid "Sorting"
+#~ msgstr "מיון"
+
+#~ msgid "Misc"
+#~ msgstr "אחר"
+
+#~ msgid ""
+#~ "Use selected charset (on the 'Import' page)\n"
+#~ " when writing tags"
+#~ msgstr ""
+#~ "השתמש בערכת התווים הנבחרת (בדף ה'ייבוא')\n"
+#~ " כאשר התגיות נכתבות"
+
+#~ msgid "Use 'Multi-Edit' for track selections"
+#~ msgstr "השתמש ב-'עריכה-מרובה' עבור בחירת רצועות"
+
+#~ msgid "Track Editing"
+#~ msgstr "עריכת רצועה"
+
+#~ msgid " Number of tracks in generated playlists: "
+#~ msgstr " מספר הרצועות ברשימות ההשמעה הנוצרות: "
+
+#~ msgid "Auto-Generated Playlists"
+#~ msgstr "רשימות השמעה הנוצרות-אוטומטית"
+
+#~ msgid "Before removing tracks completely from the iPod"
+#~ msgstr "לפני הסרת רצועות לגמרי מן ה-iPod"
+
+#~ msgid ""
+#~ "This option only has a meaning if you activate the 'Delete Tracks that "
+#~ "have been Removed' option in the 'Adding/Updating/Syncing' section in the "
+#~ "'Input/Output' tab."
+#~ msgstr ""
+#~ "אפשרות זה בעלת משמעות רק אם תפעיל את אפשרות 'מחיקת רצועות שהוסרו' בחלק "
+#~ "'הוספה/עדכון/סנכרון' בכרטיסיה 'קלט/פלט'."
+
+#~ msgid ""
+#~ "Before removing tracks completely when\n"
+#~ " synchronizing directories"
+#~ msgstr "לפני הסרת רצועות לגמרי בזמן סנכרון תיקיות"
+
+#~ msgid "Delete Confirmation "
+#~ msgstr "וידוא מחיקה"
+
+#~ msgid "Command Line for 'Play Now':"
+#~ msgstr "פקודה עבור 'נגן עכשיו':"
+
+#~ msgid "Command Line for 'Enqueue':"
+#~ msgstr "פקודה עבור 'הוספה לתור':"
+
+#~ msgid "Track Playing"
+#~ msgstr "רצועה מושמעת"
+
+#~ msgid "Exact path for the 'mp3gain' executable:"
+#~ msgstr "נתיב מדויק לקובץ ריצה של 'mp3gain':"
+
+#~ msgid "Volume Normalization"
+#~ msgstr "נרמול עוצמת קול"
+
+#~ msgid "Command to synchronize contacts:"
+#~ msgstr "פקודה עבור סנכרון אנשי קשר:"
+
+#~ msgid "Command to be called to synchronize calendar:"
+#~ msgstr "פקודה עבור סנכרון יומן:"
+
+#~ msgid "Command to be called to synchronize notes:"
+#~ msgstr "פקודה עבור סנכרון פתקים:"
+
+#~ msgid "Contacts / Calendar / Notes"
+#~ msgstr "אנשי קשר / יומן / פתקים"
+
+#~ msgid ""
+#~ "Notice: the track order is always stored to the iPod when you use drag "
+#~ "and drop to re-arrange the tracks.\n"
+#~ "In order to store an alphabetized track order to the iPod you must choose "
+#~ "the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto "
+#~ "Store' above."
+#~ msgstr ""
+#~ "הודעה: סדר הרצועות תמיד ישמר על ה-iPod כאשר תשתמש בגרירה ושחרור על מנת "
+#~ "לסדר את הרצועות.\n"
+#~ "על מנת לשמור רצועות בסדר אלפביתי ל-iPod  אתה מוכרח לבחור באפשרות 'שמירת "
+#~ "סדר רצועות נראות' מתפריט העריכה או לבחור 'שמירה אוטומטית' למעלה."
+
+#~ msgid "Reading"
+#~ msgstr "קריאה"
+
+#~ msgid "Display"
+#~ msgstr "תצוגה"
+
+#~ msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
+#~ msgstr "חיפוש לא חוקי בהיסט %ld (אורך %ld) בקובץ '%s'."
+
+#~ msgid "Not a Play Counts file: '%s' (missing mhdp header)."
+#~ msgstr "זהו לא קובץ ספירת השמעה: '%s' (חסר תחילית mhdp)"
+
+#~ msgid ""
+#~ "Play Counts file ('%s'): header length smaller than expected (%d<96)."
+#~ msgstr "קובץ ספירת השמעה ('%s'): אורך תחילית קטן מהצפוי (%d<96)."
+
+#~ msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
+#~ msgstr "קובץ ספירת השמעה ('%s'): אורך רשומה קטן מהצפוי (%d<12)."
+
+#~ msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
+#~ msgstr "iTunesDB שבור: אין MHOD בהיסט %ld בקובץ '%s'."
+
+#~ msgid ""
+#~ "Length of smart playlist rule field (%d) not as expected. Trying to "
+#~ "continue anyhow.\n"
+#~ msgstr ""
+#~ "אורך שדה של חוק (%d) רשימת השמעה חכמה הוא לא כצפוי. מנסה להמשיך בכל זאת.\n"
+
+#~ msgid "Did not find SLst hunk as expected. Trying to continue.\n"
+#~ msgstr "לא נמצאה חתיכת SLst כצפוי. מנסה להמשיך.\n"
+
+#~ msgid ""
+#~ "Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "נתקלנו בסוג לא ידוע של MHOD (%d) בזמן ניתוח ה-iTuneDB. מתעלם.\n"
+#~ "\n"
+
+#~ msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
+#~ msgstr "iTunesDB שבור: אורך חתיכה 0 בחתיכה  %ld בקובץ '%s'."
+
+#~ msgid "Master-PL"
+#~ msgstr "רשימת ראשית"
+
+#~ msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
+#~ msgstr "iTunesDB שבור: נמצא mhyp ב %ld בקובץ '%s'."
+
+#~ msgid "Itdb_Track ID '%d' not found.\n"
+#~ msgstr "מזהה Itdb_Track '%d' לא נמצא.\n"
+
+#~ msgid "OTG Playlist"
+#~ msgstr "רשימת השמעה OTG"
+
+#~ msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
+#~ msgstr "זהו לא קובץ רשימת השמעה OTG: '%s' (חסרה תחילת קובץ mhpo)."
+
+#~ msgid ""
+#~ "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
+#~ msgstr "קובץ רשימת השמעה OTG ('%s'): גודל תחילית קטן מהצפוי (%d<20)."
+
+#~ msgid ""
+#~ "OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
+#~ msgstr "קובץ רשימת השמעה OTG ('%s'): גודל רשומה קטן מהצפוי (%d<4)."
+
+#~ msgid "OTG playlist file '%s': reference to non-existent track (%d)."
+#~ msgstr "רשימת השמעה OTG '%s': התייחסות לרצועה לא קיימת (%d)."
+
+#~ msgid "OTG Playlist %d"
+#~ msgstr "רשימת השמעה OTG %d"
+
+#~ msgid "Not a iTunesDB: '%s' (missing mhdb header)."
+#~ msgstr "זהו לא iTunesDB: '%s' (חסרה תחילית mhdb)."
+
+#~ msgid ""
+#~ "iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%"
+#~ "ld<32). Aborting."
+#~ msgstr ""
+#~ "iTunesDB ('%s'): גודל תחילית של החתיכה mhsd קטנה מהצפוי (%ld<32). מבטל."
+
+#~ msgid ""
+#~ "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
+#~ msgstr "iTunesDB '%s' שבור: כבר מצאנו mhsds של שתי רשימות השמעה -- מוותר."
+
+#~ msgid ""
+#~ "iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
+#~ "Trying to continue.\n"
+#~ msgstr ""
+#~ "יכול להיות ש-iTuneDB שבור: מספר רצועות (mhit חתיכות) לא עקביות. מנסה "
+#~ "להמשיך.\n"
+
+#~ msgid ""
+#~ "iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
+#~ "Trying to continue.\n"
+#~ msgstr ""
+#~ "יכול להיות ש-iTuneDB שבור: מספר רשימות השמעה (mhyp חתיכות) לא עקביות. "
+#~ "מנסה להמשיך.\n"
+
+#~ msgid "File not found: '%s'."
+#~ msgstr "קובץ לא קיים: '%s'."
+
+#~ msgid "Cannot write mhod of type %d\n"
+#~ msgstr "לא יכול לכתוב mhod של סוג %d\n"
+
+#~ msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
+#~ msgstr "מסד הנתונים בזיכרון שבור (מצביע רצועה == NULL). מבטל ייצוא."
+
+#~ msgid ""
+#~ "Database in memory corrupt (playlist pointer == NULL). Aborting export."
+#~ msgstr "מסד הנתונים בזיכרון שבור (מצביע רשימת השמעה == NULL). מבטל ייצוא."
+
+#~ msgid "Opening of '%s' for writing failed."
+#~ msgstr "פתיחת '%s' לכתיבה נכשלה."
+
+#~ msgid "Writing to '%s' failed."
+#~ msgstr "נכשלה כתיבה ל '%s'."
+
+#~ msgid "Writing to '%s' failed (%s)."
+#~ msgstr "נכשלה כתיבה ל '%s' (%s)."
+
+#~ msgid "Path not found: '%s'."
+#~ msgstr "נתיב לא נמצא: '%s'."
+
+#~ msgid "Error renaming '%s' to '%s' (%s)."
+#~ msgstr "תקלה בשינוי שם '%s' ל '%s' (%s)."
+
+#~ msgid "Error removing '%s' (%s)."
+#~ msgstr "תקלה בהסרת '%s' (%s)"
+
+#~ msgid "Error opening '%s' for reading (%s)."
+#~ msgstr "תקלה בפתיחת '%s' לקריאה (%s)."
+
+#~ msgid "Error opening '%s' for writing (%s)."
+#~ msgstr "תקלה בפתיחת '%s' לכתיבה (%s)."
+
+#~ msgid "Error while reading from '%s' (%s)."
+#~ msgstr "תקלה בזמן קריאה מ '%s' (%s)."
+
+#~ msgid "Error while writing to '%s' (%s)."
+#~ msgstr "תקלה בזמן כתיבה ל '%s' (%s)."
+
+#~ msgid "Error when closing '%s' (%s)."
+#~ msgstr "תקלה בזמן סגירה '%s' (%s)."
+
+#~ msgid "Unknown action (%d) in smart playlist will be ignored.\n"
+#~ msgstr "התעלמות מפעולה לא ידועה (%d) ברשימת השמעה חכמה.\n"

Modified: gtkpod/trunk/po/it.gmo
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/po/it.gmo
___________________________________________________________________
Name: svn:eol-style
   - native
Name: svn:mime-type
   + application/x-gmo

Modified: gtkpod/trunk/po/it.po
===================================================================
--- gtkpod/trunk/po/it.po	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/it.po	2005-12-30 07:31:41 UTC (rev 94)
@@ -11,8 +11,8 @@
 msgstr ""
 "Project-Id-Version: it2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-16 16:18+0900\n"
-"PO-Revision-Date: 2005-06-20 23:25+0900\n"
+"POT-Creation-Date: 2005-12-14 23:51+0900\n"
+"PO-Revision-Date: 2005-09-18 01:54+0900\n"
 "Last-Translator: \n"
 "Language-Team:  <it at li.org>\n"
 "MIME-Version: 1.0\n"
@@ -236,184 +236,254 @@
 "E' stata rilevata un'altra istanza di gtkpod. Il server dei conta-"
 "riproduzioni non è partito.\n"
 
-#: src/confirmation.c:363
+#: src/confirmation.c:361
 msgid "Confirmation Dialogue"
 msgstr "Finestra di conferma"
 
-#: src/context_menus.c:299
+#: src/context_menus.c:368 gtkpod.glade:530
 msgid "Edit"
 msgstr "Modifica"
 
-#: src/context_menus.c:301 src/tools.c:634
+#: src/context_menus.c:370 src/tools.c:634
 msgid "Play Now"
 msgstr "Suona"
 
-#: src/context_menus.c:303 src/tools.c:645
+#: src/context_menus.c:372 src/tools.c:645
 msgid "Enqueue"
 msgstr "Metti in coda"
 
-#: src/context_menus.c:306
-#, fuzzy
+#: src/context_menus.c:375
 msgid "Export Tracks"
-msgstr "Blocchi di ordinamento"
+msgstr "Tracce da esportare"
 
-#: src/context_menus.c:308 src/file_export.c:1091
+#: src/context_menus.c:377 src/file_export.c:1069
 msgid "Create Playlist File"
 msgstr "Crea un File Playlist"
 
-#: src/context_menus.c:310
+#: src/context_menus.c:379
+msgid "Edit Details"
+msgstr ""
+
+#: src/context_menus.c:381 gtkpod.glade:12816
 msgid "Update"
 msgstr "Aggiorna"
 
-#: src/context_menus.c:312
+#: src/context_menus.c:383
 msgid "Sync Dirs"
 msgstr "Sincronizza le directory"
 
-#: src/context_menus.c:314
+#: src/context_menus.c:385
 msgid "Normalize"
 msgstr "Normalizza"
 
-#: src/context_menus.c:316
+#: src/context_menus.c:387
 msgid "Create new Playlist"
 msgstr "Crea una nuova Playlist"
 
-#: src/context_menus.c:319
+#: src/context_menus.c:390
 msgid "Edit Smart Playlist"
 msgstr "Modifica la playlist intelligente"
 
-#: src/context_menus.c:325
+#: src/context_menus.c:396
 msgid "Alphabetize"
 msgstr "Ordine alfabetico"
 
-#: src/context_menus.c:347
+#: src/context_menus.c:420
 msgid "Delete From iPod"
 msgstr "Cancella dall'iPod"
 
-#: src/context_menus.c:352
-#, fuzzy
+#: src/context_menus.c:426
 msgid "Delete From Harddisk"
-msgstr "Cancella dalla Playlist"
+msgstr "Cancella dal disco fisso"
 
-#: src/context_menus.c:357
-#, fuzzy
+#: src/context_menus.c:432
 msgid "Delete From Database"
-msgstr "Cancella dalla Playlist"
+msgstr "Cancella dal database"
 
-#: src/context_menus.c:362
+#: src/context_menus.c:438
 msgid "Delete From Playlist"
 msgstr "Cancella dalla Playlist"
 
-#: src/context_menus.c:371
+#: src/context_menus.c:457
 msgid "Delete Including Tracks"
 msgstr "Cancella le tracce incluse"
 
-#: src/context_menus.c:376
-#, fuzzy
+#: src/context_menus.c:463
 msgid "Delete Including Tracks (Harddisk)"
-msgstr "Cancella le tracce incluse"
+msgstr "Cancella le tracce incluse (disco fisso)"
 
-#: src/context_menus.c:381
-#, fuzzy
+#: src/context_menus.c:469
 msgid "Delete Including Tracks (Database)"
-msgstr "Cancella le tracce incluse"
+msgstr "Cancella le tracce incluse (Database)"
 
-#: src/context_menus.c:386
+#: src/context_menus.c:475
 msgid "Delete But Keep Tracks"
 msgstr "Cancella ma preserva le tracce"
 
-#: src/context_menus.c:391
-#, fuzzy
+#: src/context_menus.c:481
 msgid "Remove All Tracks from iPod"
-msgstr "Copia le _Tracce dall'iPod"
+msgstr "Rimuovi tutte le Tracce dall'iPod"
 
-#: src/context_menus.c:396
+#: src/context_menus.c:487
 msgid "Remove All Tracks from Database"
+msgstr "Rimuovi tutte le tracce dal Database"
+
+#: src/context_menus.c:494
+#, fuzzy
+msgid "Remove All Podcasts from iPod"
+msgstr "Rimuovi tutte le Tracce dall'iPod"
+
+#: src/context_menus.c:505 gtkpod.glade:156
+msgid "Update Podcasts"
 msgstr ""
 
+#: src/context_menus.c:512
+#, fuzzy
+msgid "Podcasts Preferences"
+msgstr "_Modifica le preferenze"
+
 #: src/date_parser.l:269
 #, c-format
 msgid "Date format error: unrecognized character: '%s'\n"
 msgstr "Errore nel formato della data: carattere sconosciuto: '%s'\n"
 
-#: src/display.c:876
-msgid "Currently no iPod database selected"
+#: src/details.c:1035 gtkpod.glade:4365
+msgid "n/a"
+msgstr "n.d."
+
+#: src/details.c:1099
+#, fuzzy
+msgid "<b>n/a</b>"
+msgstr "<b>Riproduzione</b>"
+
+#: src/display.c:924 src/display.c:1022 src/display.c:1071 src/display.c:1302
+#: src/display.c:1358 src/display.c:1413 src/display.c:1464 src/display.c:1628
+#: src/misc_playlist.c:274
+msgid "No playlist selected"
+msgstr "Nessuna playlist selezionata"
+
+#: src/display.c:934
+#, fuzzy
+msgid "Edit selected entry of which sort tab?"
+msgstr "Aggiornare la voce selezionata di quale blocco di ordinamento?"
+
+#. no entry selected
+#: src/display.c:941 src/misc_confirm.c:441 src/misc_track.c:1482
+msgid "No entry selected."
+msgstr "Nessuna voce selezionata."
+
+#: src/display.c:960 src/display.c:1040 src/display.c:1345 src/display.c:1401
+#: src/display.c:1452 src/display.c:1503
+msgid "No tracks selected"
+msgstr "Nessuna traccia selezionata."
+
+#: src/display.c:1056 src/display.c:1322 src/display.c:1378 src/display.c:1430
+#: src/display.c:1481 src/display.c:1650
+#, c-format
+msgid "No entry selected in Sort Tab %d"
+msgstr "Nessuna voce selezionata nel blocco di ordinamento %d"
+
+#: src/display.c:1095
+#, fuzzy
+msgid "Remove entry of which sort tab from database?"
+msgstr "Esportare la voce selezionata di quale blocco di ordinamento?"
+
+#: src/display.c:1103
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the iPod?"
 msgstr ""
+"Metti in coda le tracce nella voce selezionata di quale blocco di "
+"ordinamento?"
 
-#: src/display.c:904 src/display.c:931
+#: src/display.c:1125
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the harddisk?"
+msgstr ""
+"Metti in coda le tracce nella voce selezionata di quale blocco di "
+"ordinamento?"
+
+#: src/display.c:1155
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from playlist?"
+msgstr ""
+"Metti in coda le tracce nella voce selezionata di quale blocco di "
+"ordinamento?"
+
+#: src/display.c:1174
+msgid "Currently no iPod database selected"
+msgstr "Nessun database iPod è stato selezionato al momento"
+
+#: src/display.c:1202 src/display.c:1229
 msgid "Update selected entry of which sort tab?"
 msgstr "Aggiornare la voce selezionata di quale blocco di ordinamento?"
 
-#: src/display.c:950
+#: src/display.c:1248
 msgid "Sync dirs of selected entry in which sort tab?"
 msgstr "Sincronizza le directory delle voci di quale blocco di ordinamento?"
 
-#: src/display.c:1004 src/display.c:1060 src/display.c:1115 src/display.c:1166
-#: src/display.c:1330 src/misc_playlist.c:274
-msgid "No playlist selected"
-msgstr "Nessuna playlist selezionata"
-
-#: src/display.c:1018
+#: src/display.c:1316
 msgid "Export selected entry of which sort tab?"
 msgstr "Esportare la voce selezionata di quale blocco di ordinamento?"
 
-#: src/display.c:1024 src/display.c:1080 src/display.c:1132 src/display.c:1183
-#: src/display.c:1352
-#, c-format
-msgid "No entry selected in Sort Tab %d"
-msgstr "Nessuna voce selezionata nel blocco di ordinamento %d"
-
-#: src/display.c:1047 src/display.c:1103 src/display.c:1154 src/display.c:1205
-msgid "No tracks selected"
-msgstr "Nessuna traccia selezionata."
-
-#: src/display.c:1074
+#: src/display.c:1372
 msgid "Create playlist file from selected entry of which sort tab?"
 msgstr ""
 "Creare la playlist dalle voci selezionate di quale blocco di ordinamento?"
 
-#: src/display.c:1126
+#: src/display.c:1424
 msgid "Play tracks in selected entry of which sort tab?"
 msgstr ""
 "Riproduci le tracce nella voce selezionata di quale blocco di ordinamento?"
 
-#: src/display.c:1177
+#: src/display.c:1475
 msgid "Enqueue tracks in selected entry of which sort tab?"
 msgstr ""
 "Metti in coda le tracce nella voce selezionata di quale blocco di "
 "ordinamento?"
 
-#: src/display.c:1342
+#: src/display.c:1640
 msgid "Normalize tracks in selected entry of which sort tab?"
 msgstr ""
 "Normalizza le tracce nella voce selezionata di quale blocco di ordinamento?"
 
-#: src/display_itdb.c:691 src/display_itdb.c:758
+#: src/display_itdb.c:319
+#, fuzzy, c-format
+msgid "Failed to set cover art: '%s'"
+msgstr "Impossibile scrivere %s-%s\n"
+
+#. add podcast playlist
+#: src/display_itdb.c:843 src/display_itdb.c:871 src/display_itdb.c:975
+#: gtkpod.glade:13668
+msgid "Podcasts"
+msgstr ""
+
+#: src/display_itdb.c:845 src/display_itdb.c:941
 msgid "Local"
 msgstr "Locale"
 
-#: src/display_itdb.c:863
+#: src/display_itdb.c:1081
 #, c-format
 msgid "Increased playcount for '%s'"
 msgstr "Aumentati i conta-riproduzione per '%s'"
 
 #. give a notice on the statusbar -- otherwise the user
 #. * will never know why the drag is not possible
-#: src/display_playlists.c:494 src/display_playlists.c:536
+#: src/display_playlists.c:498 src/display_playlists.c:540
 msgid "Error: drag from iPod not possible in offline mode."
-msgstr ""
+msgstr "Errore: il 'drag' dal iPod non è possibile in modalit offline"
 
-#: src/display_playlists.c:563 src/display_songs.c:283
+#: src/display_playlists.c:567 src/display_songs.c:285
 #, c-format
 msgid "Copied one track"
 msgid_plural "Copied %d tracks"
 msgstr[0] "Copiata una traccia"
 msgstr[1] "Copiate %d tracce"
 
-#: src/display_playlists.c:852
+#: src/display_playlists.c:856
 msgid "Can't reorder sorted treeview."
 msgstr "Impossibile riordinare la vista ad albero ordinata."
 
-#: src/display_playlists.c:943
+#: src/display_playlists.c:947
 #, c-format
 msgid ""
 "This DND type (%d) is not (yet) supported. If you feel implementing this "
@@ -423,24 +493,19 @@
 "Questo tipo DND (%d) non è (ancora) supportato. Se pensi che possa essere "
 "utile implementarlo, contatta l'autore.\n"
 
-#: src/display_playlists.c:1811 gtkpod.glade:7815 gtkpod.glade:9389
+#: src/display_playlists.c:1830 gtkpod.glade:3997
 msgid "Playlists"
 msgstr "Playlist"
 
 # c-format
-#: src/display_songs.c:278
+#: src/display_songs.c:280
 #, c-format
 msgid "Moved one track"
 msgid_plural "Moved %d tracks"
 msgstr[0] "Spostata una traccia"
 msgstr[1] "Spostate %d tracce"
 
-#: src/display_songs.c:1119
-#, fuzzy
-msgid "Local Database"
-msgstr "Database iPod salvato"
-
-#: src/display_songs.c:1796
+#: src/display_songs.c:1669
 #, c-format
 msgid ""
 "Cannot unsort track view because of a bug in the GTK lib you are using (%d.%"
@@ -453,56 +518,66 @@
 "delle tracce,non sarà possibile tornare allo stato 'non ordinato'.\n"
 "\n"
 
-#: src/display_songs.c:1985
+#: src/display_songs.c:1922
+#, fuzzy
+msgid "Rtng"
+msgstr "Voto"
+
+#: src/display_songs.c:1925
 msgid "#"
 msgstr "#"
 
-#: src/display_songs.c:1988
+#: src/display_songs.c:1928
 msgid "CD"
 msgstr "CD"
 
-#: src/display_songs.c:1991
+#: src/display_songs.c:1931
 msgid "ID"
 msgstr "ID"
 
-#: src/display_songs.c:1999
+#: src/display_songs.c:1934
 msgid "Trnsfrd"
 msgstr "Trasferito"
 
-#: src/display_songs.c:2004
+#: src/display_songs.c:1938
 msgid "Cmpl"
 msgstr "Comp."
 
-#: src/display_songs.c:2012 src/display_spl.c:93
+#: src/display_songs.c:1942 src/display_spl.c:94
 msgid "Time"
 msgstr "Durata"
 
-#: src/display_songs.c:2016
+#: src/display_songs.c:1945
 msgid "Plycnt"
 msgstr "Conta riproduzioni"
 
-#: src/display_songs.c:2019 gtkpod.glade:6251
+#: src/display_songs.c:1948 gtkpod.glade:2433
 msgid "Played"
 msgstr "Suonato"
 
-#: src/display_songs.c:2022 gtkpod.glade:6274
+#: src/display_songs.c:1951 gtkpod.glade:2456
 msgid "Modified"
 msgstr "Modificato"
 
-#: src/display_songs.c:2025 src/display_sorttabs.c:3040 gtkpod.glade:6369
+#: src/display_songs.c:1954 src/display_sorttabs.c:3117 gtkpod.glade:2551
 msgid "Added"
 msgstr "Aggiunta"
 
-#: src/display_songs.c:2028 src/display_sorttabs.c:2785 src/display_spl.c:87
+#: src/display_songs.c:1957
+#, fuzzy
+msgid "Released"
+msgstr "Leggi"
+
+#: src/display_songs.c:1960 src/display_sorttabs.c:2856 src/display_spl.c:88
 #: src/misc_conversion.c:85
 msgid "Year"
 msgstr "Anno"
 
-#: src/display_songs.c:2031
+#: src/display_songs.c:1963
 msgid "Vol."
 msgstr "Vol."
 
-#: src/display_songs.c:2034
+#: src/display_songs.c:1966
 msgid "Sndchk."
 msgstr "Sndchk"
 
@@ -518,302 +593,306 @@
 msgid "'Added' condition ignored because of error."
 msgstr "Condizione 'Aggiunta' ignorata a causa di un errore."
 
-#: src/display_sorttabs.c:1465 src/misc_conversion.c:60
+#: src/display_sorttabs.c:1492 src/misc_conversion.c:60
 msgid "All"
 msgstr "Tutti"
 
-#: src/display_sorttabs.c:2770 src/display_spl.c:84 src/misc_conversion.c:62
-#: gtkpod.glade:2579 gtkpod.glade:13823
+#: src/display_sorttabs.c:1518
+#, fuzzy
+msgid "Compilations"
+msgstr "Compilation"
+
+#: src/display_sorttabs.c:2841 src/display_spl.c:85 src/misc_conversion.c:62
+#: gtkpod.glade:8709
 msgid "Artist"
 msgstr "Artista"
 
 #. 0
-#: src/display_sorttabs.c:2773 src/display_spl.c:83 src/misc_conversion.c:61
-#: gtkpod.glade:2630 gtkpod.glade:13867
+#: src/display_sorttabs.c:2844 src/display_spl.c:84 src/misc_conversion.c:61
+#: gtkpod.glade:8753
 msgid "Album"
 msgstr "Album"
 
-#: src/display_sorttabs.c:2776 src/display_spl.c:88 src/misc_conversion.c:64
-#: gtkpod.glade:2598 gtkpod.glade:13845
+#: src/display_sorttabs.c:2847 src/display_spl.c:89 src/misc_conversion.c:64
+#: gtkpod.glade:8731
 msgid "Genre"
 msgstr "Genere"
 
-#: src/display_sorttabs.c:2779
+#: src/display_sorttabs.c:2850
 msgid "Comp."
 msgstr "Comp."
 
-#: src/display_sorttabs.c:2782 src/display_spl.c:82 src/misc_conversion.c:63
-#: gtkpod.glade:2681 gtkpod.glade:13911
+#: src/display_sorttabs.c:2853 src/display_spl.c:83 src/misc_conversion.c:63
+#: gtkpod.glade:8797
 msgid "Title"
 msgstr "Titolo"
 
-#: src/display_sorttabs.c:2788
+#: src/display_sorttabs.c:2859
 msgid "Special"
 msgstr "Speciale"
 
-#: src/display_sorttabs.c:3038
+#: src/display_sorttabs.c:3115
 msgid "Last Played"
 msgstr "Suonato"
 
-#: src/display_sorttabs.c:3039
+#: src/display_sorttabs.c:3116
 msgid "Last Modified"
 msgstr "Modificato"
 
-#: src/display_spl.c:63
+#: src/display_spl.c:64
 msgid "days"
 msgstr "giorni"
 
-#: src/display_spl.c:64
+#: src/display_spl.c:65
 msgid "weeks"
 msgstr "settimane"
 
-#: src/display_spl.c:65
+#: src/display_spl.c:66
 msgid "months"
 msgstr "mesi"
 
-#: src/display_spl.c:72
+#: src/display_spl.c:73
 msgid "kbps"
 msgstr "kbps"
 
-#: src/display_spl.c:73
+#: src/display_spl.c:74
 msgid "Hz"
 msgstr "Hz"
 
-#: src/display_spl.c:74 src/display_spl.c:159 src/info.c:725
+#: src/display_spl.c:75 src/display_spl.c:160 src/info.c:732
 msgid "MB"
 msgstr "MB"
 
-#: src/display_spl.c:75
+#: src/display_spl.c:76
 msgid "secs"
 msgstr "sec"
 
-#: src/display_spl.c:85 src/misc_conversion.c:75
+#: src/display_spl.c:86 src/misc_conversion.c:75
 msgid "Bitrate"
 msgstr "Bitrate"
 
 #. 15
-#: src/display_spl.c:86 src/misc_conversion.c:76
+#: src/display_spl.c:87 src/misc_conversion.c:76
 msgid "Samplerate"
 msgstr "Frequenza di campionamento"
 
-#: src/display_spl.c:89 src/misc_conversion.c:67
+#: src/display_spl.c:90
 msgid "Kind"
 msgstr "Genere"
 
-#: src/display_spl.c:90 src/misc_conversion.c:82
+#: src/display_spl.c:91 src/misc_conversion.c:82
 msgid "Date modified"
 msgstr "Modificato il"
 
-#: src/display_spl.c:91
+#: src/display_spl.c:92
 msgid "Track number"
 msgstr "Numero della traccia"
 
-#: src/display_spl.c:92
+#: src/display_spl.c:93
 msgid "Size"
 msgstr "Dimensione"
 
-#: src/display_spl.c:94 src/misc_conversion.c:65
+#: src/display_spl.c:95 src/misc_conversion.c:65
 msgid "Comment"
 msgstr "Commento"
 
-#: src/display_spl.c:95 src/misc_conversion.c:80
+#: src/display_spl.c:96 src/misc_conversion.c:80
 msgid "Date added"
 msgstr "Data di aggiunta"
 
 #. 5
-#: src/display_spl.c:96 src/misc_conversion.c:66 gtkpod.glade:2649
-#: gtkpod.glade:13889
+#: src/display_spl.c:97 src/misc_conversion.c:66 gtkpod.glade:8775
 msgid "Composer"
 msgstr "Compositore"
 
-#: src/display_spl.c:97 src/misc_conversion.c:78 gtkpod.glade:6205
+#: src/display_spl.c:98 src/misc_conversion.c:78 gtkpod.glade:2387
 msgid "Playcount"
 msgstr "Conta riproduzioni"
 
-#: src/display_spl.c:98
+#: src/display_spl.c:99
 msgid "Last played"
 msgstr "Ultimo Ascolto"
 
-#: src/display_spl.c:99
+#: src/display_spl.c:100
 msgid "Disc number"
 msgstr "Numero disco"
 
-#: src/display_spl.c:100 src/misc_conversion.c:79 gtkpod.glade:6228
+#: src/display_spl.c:101 src/misc_conversion.c:79 gtkpod.glade:2410
 msgid "Rating"
 msgstr "Voto"
 
-#: src/display_spl.c:101 src/misc_conversion.c:88
+#: src/display_spl.c:102 src/misc_conversion.c:88
 msgid "Compilation"
 msgstr "Compilation"
 
-#: src/display_spl.c:102 src/misc_conversion.c:77
+#: src/display_spl.c:103 src/misc_conversion.c:77
 msgid "BPM"
 msgstr "BPM"
 
-#: src/display_spl.c:103 src/misc_conversion.c:87
+#: src/display_spl.c:104 src/misc_conversion.c:87
 msgid "Grouping"
 msgstr "Raggrupamento"
 
-#: src/display_spl.c:104 src/itdb_itunesdb.c:1146 gtkpod.glade:1314
+#: src/display_spl.c:105 gtkpod.glade:1443
 msgid "Playlist"
 msgstr "Playlist"
 
-#: src/display_spl.c:110
+#: src/display_spl.c:111
 msgid "contains"
 msgstr "contiene"
 
-#: src/display_spl.c:111
+#: src/display_spl.c:112
 msgid "does not contain"
 msgstr "non contiene"
 
-#: src/display_spl.c:112 src/display_spl.c:121 src/display_spl.c:131
-#: src/display_spl.c:150
+#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
+#: src/display_spl.c:151
 msgid "is"
 msgstr "è"
 
-#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
-#: src/display_spl.c:151
+#: src/display_spl.c:114 src/display_spl.c:123 src/display_spl.c:133
+#: src/display_spl.c:152
 msgid "is not"
 msgstr "non è"
 
-#: src/display_spl.c:114
+#: src/display_spl.c:115
 msgid "starts with"
 msgstr "comincia con"
 
-#: src/display_spl.c:115
+#: src/display_spl.c:116
 msgid "ends with"
 msgstr "finisce con"
 
-#: src/display_spl.c:123
+#: src/display_spl.c:124
 msgid "is greater than"
 msgstr "è più grande di"
 
-#: src/display_spl.c:124
+#: src/display_spl.c:125
 msgid "is less than"
 msgstr "è più piccolo di"
 
-#: src/display_spl.c:125 src/display_spl.c:137
+#: src/display_spl.c:126 src/display_spl.c:138
 msgid "is in the range"
 msgstr "è nell'intervallo"
 
-#: src/display_spl.c:133
+#: src/display_spl.c:134
 msgid "is after"
 msgstr "è dopo"
 
-#: src/display_spl.c:134
+#: src/display_spl.c:135
 msgid "is before"
 msgstr "è prima"
 
-#: src/display_spl.c:135
+#: src/display_spl.c:136
 msgid "in the last"
 msgstr "tra gli ultimi"
 
-#: src/display_spl.c:136
+#: src/display_spl.c:137
 msgid "not in the last"
 msgstr "non tra gli ultimi"
 
-#: src/display_spl.c:143
+#: src/display_spl.c:144
 msgid "is set"
 msgstr "è impostato"
 
-#: src/display_spl.c:144
+#: src/display_spl.c:145
 msgid "is not set"
 msgstr "non è impostato"
 
-#: src/display_spl.c:158
+#: src/display_spl.c:159
 msgid "minutes"
 msgstr "minuti"
 
-#: src/display_spl.c:160
+#: src/display_spl.c:161
 msgid "tracks"
 msgstr "Tracce"
 
-#: src/display_spl.c:161
+#: src/display_spl.c:162
 msgid "hours"
 msgstr "ore"
 
-#: src/display_spl.c:162 src/info.c:725
+#: src/display_spl.c:163 src/info.c:732
 msgid "GB"
 msgstr "GB"
 
-#: src/display_spl.c:169
+#: src/display_spl.c:170
 msgid "random order"
 msgstr "ordine casuale"
 
-#: src/display_spl.c:170
+#: src/display_spl.c:171
 msgid "title"
 msgstr "titolo"
 
-#: src/display_spl.c:171
+#: src/display_spl.c:172
 msgid "album"
 msgstr "album"
 
-#: src/display_spl.c:172
+#: src/display_spl.c:173
 msgid "artist"
 msgstr "artista"
 
-#: src/display_spl.c:173
+#: src/display_spl.c:174
 msgid "genre"
 msgstr "genere"
 
-#: src/display_spl.c:174
+#: src/display_spl.c:175
 msgid "most recently added"
 msgstr "tracce aggiunte più recentemente"
 
-#: src/display_spl.c:175
+#: src/display_spl.c:176
 msgid "least recently added"
 msgstr "aggiunte meno di recente"
 
-#: src/display_spl.c:176
+#: src/display_spl.c:177
 msgid "most often played"
 msgstr "suonato più spesso"
 
-#: src/display_spl.c:177
+#: src/display_spl.c:178
 msgid "least often played"
 msgstr "suonato meno spesso"
 
-#: src/display_spl.c:178
+#: src/display_spl.c:179
 msgid "most recently played"
 msgstr "riprodotte più spesso"
 
-#: src/display_spl.c:179
+#: src/display_spl.c:180
 msgid "least recently played"
 msgstr "riprodotte meno di recente"
 
-#: src/display_spl.c:180
+#: src/display_spl.c:181
 msgid "highest rating"
-msgstr ""
+msgstr "voto migliore"
 
-#: src/display_spl.c:181
+#: src/display_spl.c:182
 msgid "lowest rating"
-msgstr ""
+msgstr "voto peggiore"
 
-#: src/display_spl.c:995 src/display_spl.c:1010
+#: src/display_spl.c:1049 src/display_spl.c:1064
 msgid "to"
 msgstr "a"
 
-#: src/display_spl.c:1220
+#: src/display_spl.c:1276
 msgid "-"
 msgstr "-"
 
-#: src/display_spl.c:1227
+#: src/display_spl.c:1286
 msgid "+"
 msgstr "+"
 
-#: src/display_spl.c:1433 src/misc_playlist.c:67 src/misc_playlist.c:69
+#: src/display_spl.c:1503 src/misc_playlist.c:67 src/misc_playlist.c:69
 #: src/misc_playlist.c:94 src/misc_playlist.c:96 src/misc_playlist.c:415
 #: src/misc_playlist.c:417
 msgid "New Playlist"
 msgstr "Nuova Playlist"
 
-#: src/file.c:129
+#: src/file.c:195
 #, c-format
 msgid ""
 "'%s' is a directory, not a playlist file.\n"
 "\n"
 msgstr "'%s' è una directory. non un file playlist.\n"
 
-#: src/file.c:151
+#: src/file.c:222
 #, c-format
 msgid ""
 "'%s' is a not a known playlist file.\n"
@@ -822,7 +901,7 @@
 "'%s' non sembra essere un file playlist conosciuto.\n"
 "\n"
 
-#: src/file.c:168
+#: src/file.c:239
 #, c-format
 msgid ""
 "Cannot open '%s' for reading.\n"
@@ -831,92 +910,97 @@
 "Impossibile aprire il file '%s' in lettura.\n"
 "\n"
 
-#: src/file.c:237
+#: src/file.c:322
 #, c-format
 msgid "Skipping '%s' because it is a directory.\n"
-msgstr ""
+msgstr "Salto '%s' perchè è una directory.\n"
 
-#: src/file.c:242
+#: src/file.c:327
 #, c-format
 msgid "Skipping '%s' to avoid adding playlist file recursively\n"
 msgstr ""
+"Salto '%s' per evitare di aggiungere file delle playlist ricorsivamente\n"
 
-#: src/file.c:497
+#: src/file.c:582
 #, c-format
 msgid "Unknown token '%s' in template '%s'\n"
 msgstr "Token '%s' sconosciuto nel formato '%s'\n"
 
-#: src/file.c:715
+#: src/file.c:815
 #, c-format
 msgid "Local filename not valid (%s)"
 msgstr "Nome del file locale non valido (%s)"
 
-#: src/file.c:768
+#: src/file.c:868
 #, c-format
 msgid "No information found for user '%s' in '%s'"
 msgstr "Nessuna informazioni sull'utente '%s' in '%s'"
 
-#: src/file.c:775
+#: src/file.c:875
 #, c-format
 msgid "mserv data file (%s) not available for track (%s)"
 msgstr "il file dei dati mserv (%s) non è disponibileper la traccia (%s)"
 
-#: src/file.c:783
+#: src/file.c:883
 #, c-format
 msgid "Track (%s) not in mserv music root directory (%s)"
 msgstr "La traccia (%s) è non nella directory radice musicale di mserv (%s)"
 
-#: src/file.c:816
-#, fuzzy, c-format
+#: src/file.c:988
+#, c-format
 msgid ""
 "The following track could not be processed (file does not exist): '%s'\n"
-msgstr "La traccia seguente non può essere aggiornata"
+msgstr ""
+"La traccia seguente non può essereelaborata (il file non esiste): '%s'\n"
 
-#: src/file.c:842
-#, fuzzy, c-format
+#: src/file.c:1037
+#, c-format
 msgid "The following track could not be processed (filetype unknown): '%s'\n"
-msgstr "La traccia seguente non può essere aggiornata"
+msgstr ""
+"La traccia seguente non può essereelaborata (tipo di file conosciuto): '%s'\n"
 
-#: src/file.c:909
+#: src/file.c:1119
 #, c-format
 msgid ""
 "The following track could not be processed (filetype is known but analysis "
 "failed): '%s'\n"
 msgstr ""
+"La traccia seguente non può essere elaborata (tipo di file conosciuto ma "
+"l'analisi è fallita): '%s'\n"
 
-#: src/file.c:935 src/file.c:978
+#: src/file.c:1148 src/file.c:1203
 msgid "Nothing to update"
 msgstr "Nulla da aggiornare"
 
-#: src/file.c:944
+#: src/file.c:1168
 #, c-format
 msgid "Updating %s"
 msgstr "Aggiornamento di %s in corso"
 
-#: src/file.c:959
+#: src/file.c:1184
 msgid "Updated selected tracks with info from file."
 msgstr "Le tracce sono state aggiornate con le informazioni dal file."
 
-#: src/file.c:991
+#: src/file.c:1216
 #, c-format
 msgid "Retrieving mserv data %s"
 msgstr "Ricezione dei dati mserv %s"
 
 #. no path available
-#: src/file.c:997 src/file.c:1675
+#: src/file.c:1222 src/file.c:1900
 msgid "no filename available"
 msgstr "nessun nome di file disponibile"
 
-#: src/file.c:1002
+#: src/file.c:1227
 msgid "Updated selected tracks with data from mserv."
 msgstr "Le tracce sono state aggiornate con le informazioni dal mserv."
 
-#: src/file.c:1069
+#: src/file.c:1294
 #, c-format
 msgid "Syncing directory '%s'"
 msgstr "Sincronizzazione della directory '%s' in corso"
 
-#: src/file.c:1094
+#: src/file.c:1319
 msgid "Syncing completed. No files deleted."
 msgstr "Sincronizzazione completata. Nessun file cancellato."
 
@@ -925,29 +1009,29 @@
 #. title
 #. label
 #. scrolled text
-#: src/file.c:1207
+#: src/file.c:1432
 msgid "Never delete any files when syncing"
 msgstr "Non cancellare i file durante la sincronizzazione"
 
-#: src/file.c:1236
+#: src/file.c:1461
 msgid "Syncing completed."
 msgstr "Sincronizzazione completata."
 
-#: src/file.c:1256
+#: src/file.c:1481
 msgid "Syncing aborted"
 msgstr "Sincronizzazione abortita"
 
-#: src/file.c:1294
+#: src/file.c:1519
 msgid "No tracks in selection"
 msgstr "Nessuna traccia selezionata"
 
-#: src/file.c:1344
+#: src/file.c:1569
 #, c-format
 msgid "'%s' is not a directory. Ignored.\n"
 msgstr "'%s' non è una directory. Ignorata.\n"
 
 #. no directory names available
-#: src/file.c:1374
+#: src/file.c:1599
 msgid ""
 "No directory names were stored. Make sure that you enable 'Write extended "
 "information' in the Export section of the preferences at the time of "
@@ -965,35 +1049,40 @@
 "duplicati'  ('Non permettere i file duplicati')nella sezione Importazione e "
 "aggiungi le directory che vuoi sincronizzare di nuovo.\n"
 
-#: src/file.c:1378
+#: src/file.c:1603
 msgid "No valid directories have been found. Sync aborted.\n"
 msgstr "Nessuna directory valida è stata trovata. Sincronizzazione abortita.\n"
 
-#: src/file.c:1387
+#: src/file.c:1612
 msgid ""
 "The (former) contents of the following directories will be removed from the "
 "database:\n"
 "\n"
 msgstr ""
+"Il contenuto (precedente) delle directory seguente verrà rimosso dal "
+"database:\n"
+"\n"
 
-#: src/file.c:1395
+#: src/file.c:1620
 msgid ""
 "The following directories will be synchronized:\n"
 "\n"
 msgstr ""
+"La directory seguente verrà sincronizzata:\n"
+"\n"
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1406
+#: src/file.c:1631
 msgid "Synchronize directories"
 msgstr "Sincronizza le directory"
 
 #. title
-#: src/file.c:1407
+#: src/file.c:1632
 msgid "OK to synchronize the following directories?"
 msgstr "Vuoi sincronizzare le seguenti directory?"
 
-#: src/file.c:1445
+#: src/file.c:1670
 #, c-format
 msgid "The following track could not be updated"
 msgid_plural "The following %d tracks could not be updated"
@@ -1002,11 +1091,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1451
+#: src/file.c:1676
 msgid "Failed Track Update"
 msgstr "Aggiornamento delle tracce fallito"
 
-#: src/file.c:1509
+#: src/file.c:1734
 #, c-format
 msgid "The following track has been updated"
 msgid_plural "The following %d tracks have been updated"
@@ -1015,11 +1104,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1515
+#: src/file.c:1740
 msgid "Successful Track Update"
 msgstr "Aggiornamento delle tracce completato con successo."
 
-#: src/file.c:1574
+#: src/file.c:1799
 #, c-format
 msgid "No mserv information could be retrieved for the following track"
 msgid_plural ""
@@ -1033,52 +1122,66 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1580
+#: src/file.c:1805
 msgid "mserv data retrieval problem"
 msgstr "problemi nel raccogliere le informazioni mserv"
 
-#: src/file.c:1721
+#: src/file.c:1946
 msgid "file not found"
 msgstr "file non trovato"
 
-#: src/file.c:1725
+#: src/file.c:1950
 msgid "format not supported"
 msgstr "formato non supportato"
 
-#: src/file.c:1799
+#: src/file.c:2031
 #, c-format
 msgid "Processing '%s'..."
 msgstr "Elaborazione di '%s' in corso..."
 
-#: src/file.c:1992 src/file.c:2006
+#: src/file.c:2135 src/misc_track.c:1169 src/misc_track.c:1225
 #, c-format
+msgid ""
+"Podcast already present: '%s'\n"
+"\n"
+msgstr ""
+
+#: src/file.c:2196
+#, fuzzy, c-format
+msgid ""
+"Writing to video files not yet supported (%s).\n"
+"\n"
+msgstr "Normalizzazione fallita: tipo di file non supportato.\n"
+
+#: src/file.c:2250 src/file.c:2264
+#, c-format
 msgid "Couldn't change tags of file: %s\n"
 msgstr "Impossibile cambiare il tag del file: %s\n"
 
-#: src/file.c:2291
+#: src/file.c:2548
 #, c-format
 msgid "Could not open '%s' for reading and writing.\n"
 msgstr "Impossibile aprire il file \"%s\" in scrittura e lettura.\n"
 
-#: src/file.c:2298
+#: src/file.c:2555
 #, c-format
 msgid "Could not obtain lock on '%s'.\n"
 msgstr "Impossibile ottenere il lock su '%s'.\n"
 
 #. error!
-#: src/file.c:2315 src/file.c:2324 src/file.c:2335 src/file.c:2345
+#: src/file.c:2572 src/file.c:2581 src/file.c:2592 src/file.c:2602
 #, c-format
 msgid "Malformed line in '%s': %s\n"
 msgstr "Linea malformata in '%s': %s\n"
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:2374
+#: src/file.c:2631
 msgid "Remove offline playcounts?"
 msgstr "Rimuovere i conta-riproduzione offline?"
 
 #. title
-#: src/file.c:2375
+#: src/file.c:2632
 msgid ""
 "Some tracks played offline could not be found in the iTunesDB. Press 'OK' to "
 "remove them from the offline playcount file, 'Cancel' to keep them."
@@ -1087,127 +1190,131 @@
 "'OK' per rimuoverle dal file conta-riproduzioni offline, 'Cancel' per "
 "tenerle."
 
-#: src/file.c:2392
+#: src/file.c:2649
 #, c-format
 msgid "Error writing to '%s'.\n"
 msgstr "Errore nella scrittura verso '%s'.\n"
 
-#: src/file.c:2431
-msgid "Normalization failed: file type not supported.\n"
+#: src/file.c:2698
+#, fuzzy, c-format
+msgid ""
+"Normalization failed: file type not supported (%s).\n"
+"\n"
 msgstr "Normalizzazione fallita: tipo di file non supportato.\n"
 
-#: src/file.c:2442
-msgid "Normalization failed: file not available.\n"
+#: src/file.c:2713
+#, fuzzy, c-format
+msgid ""
+"Normalization failed: file not available (%s).\n"
+"\n"
 msgstr "Normalizzazione fallita: file non disponibile.\n"
 
-#: src/file_export.c:106
+#: src/file_export.c:181
 #, c-format
-msgid "Error creating %s: %s\n"
-msgstr "Errore nella creazione di %s: %s\n"
+msgid "Skipping existing file with same length: '%s'\n"
+msgstr "Saltato il file esistente con la stessa lunghezza: '%s'\n"
 
-#: src/file_export.c:202
+#: src/file_export.c:189
 #, c-format
-msgid "Skipping existing file with same length: '%s'\n"
-msgstr ""
-
-#: src/file_export.c:210
-#, fuzzy, c-format
 msgid "Overwriting existing file: '%s'\n"
-msgstr "ERRORE nella scrittura del tag sul file: '%s' (%s).\n"
+msgstr "Sovrascrittura del file esistente: '%s'\n"
 
-#: src/file_export.c:227
+#: src/file_export.c:206
 #, c-format
 msgid "Error copying '%s' to '%s': Permission Error (%s)\n"
 msgstr "Errore nella copia di '%s' verso '%s': Errore nei permessi (%s)\n"
 
-#: src/file_export.c:229
+#: src/file_export.c:208
 #, c-format
 msgid "Error copying '%s' to '%s' (%s)\n"
 msgstr "Errore nella copia di '%s' verso '%s' (%s)\n"
 
-#: src/file_export.c:237
+#: src/file_export.c:216
 #, c-format
 msgid "Unable to open '%s' for reading\n"
 msgstr "Impossibile aprire '%s' in lettura\n"
 
-#: src/file_export.c:344
-#, fuzzy, c-format
+#: src/file_export.c:323
+#, c-format
 msgid "Could find file for '%s' on the iPod\n"
-msgstr "Nome del file sull'iPod"
+msgstr "Impossibile trovare il file per '%s' sull'iPod\n"
 
 #. create the dialog window
-#: src/file_export.c:411 src/file_itunesdb.c:990 src/tools.c:148
+#: src/file_export.c:390 src/file_itunesdb.c:1060 src/tools.c:148
 msgid "Information"
 msgstr "Informazioni"
 
-#: src/file_export.c:422 src/tools.c:160
+#: src/file_export.c:401 src/tools.c:160
 msgid "Press button to abort."
 msgstr "Premi il bottone per interrompere l'operazione"
 
-#: src/file_export.c:435
+#: src/file_export.c:414
 msgid "copying..."
 msgstr "copia in corsa..."
 
-#: src/file_export.c:489
+#: src/file_export.c:468
 #, c-format
 msgid "Failed to write '%s-%s'\n"
 msgstr "Impossibile scrivere %s-%s\n"
 
-#: src/file_export.c:497
+#: src/file_export.c:476
 #, c-format
 msgid "Copied %d of %d track."
 msgid_plural "Copied %d of %d tracks."
 msgstr[0] "Copiato %d di %d della traccia"
 msgstr[1] "Copiato %d di %d delle tracce"
 
-#: src/file_export.c:515 src/file_itunesdb.c:1252 src/tools.c:307
+#: src/file_export.c:494 src/file_itunesdb.c:1324 src/tools.c:307
 #, c-format
 msgid "%d%% (%d:%02d:%02d left)"
 msgstr "%d%% (%d:%02d:%02d rimasti)"
 
-#: src/file_export.c:524
+#: src/file_export.c:503
 msgid "Some tracks were not copied."
 msgstr "Alcune tracce non sono state copiate."
 
-#: src/file_export.c:581
+#: src/file_export.c:560
 msgid "Export from iPod database not possible in offline mode."
 msgstr ""
+"L'esportazione dal database dell'iPod non è possibile in modalità offline"
 
-#: src/file_export.c:589
+#: src/file_export.c:568
 msgid "Select Export Destination Directory"
 msgstr "Seleziona la directory di destinazione dell'esportazione"
 
-#: src/file_export.c:738
+#: src/file_export.c:717
 msgid "Drag from iPod database not possible in offline mode."
-msgstr ""
+msgstr "Impossibile selezionare dal database dell'iPod in modalità offline"
 
-#: src/file_export.c:772
-#, fuzzy
+#: src/file_export.c:751
 msgid "The following tracks have to be copied to your harddisk"
-msgstr "La traccia seguente è stata aggiornata"
+msgstr "Le tracce seguente devono essere copiate sul tuo disco fisso"
 
-#: src/file_export.c:817
+#: src/file_export.c:796
 msgid ""
 "Some tracks were not copied to your harddisk. Only the copied tracks will be "
 "included in the current drag and drop operation.\n"
 "\n"
 msgstr ""
+"Alcune tracce non sono state copiate sul disco fisso. Solo le tracce copiate "
+"saranno incluse nella operazione di 'drag and drop' attuale.\n"
+"\n"
 
-#: src/file_export.c:1014
+#: src/file_export.c:992
 #, c-format
 msgid ""
 "No valid filename for: %s\n"
 "\n"
 msgstr "Nessuno nome di file valido per: %s\n"
 
-#: src/file_export.c:1030
+#: src/file_export.c:1008
 #, c-format
 msgid "Created playlist with one track."
 msgid_plural "Created playlist with %d tracks."
 msgstr[0] "Creata la playlist con una traccia."
 msgstr[1] "Creata la playlist con %d tracce."
 
-#: src/file_export.c:1037
+#: src/file_export.c:1015
 #, c-format
 msgid ""
 "Could not open '%s' for writing (%s).\n"
@@ -1216,21 +1323,26 @@
 "Impossibile aprire il file '%s' in scrittura (%s).\n"
 "\n"
 
-#: src/file_itunesdb.c:224
+#: src/file_itunesdb.c:114
+#, c-format
+msgid "Matching MD5 checksum for file %d/%d"
+msgstr ""
+
+#: src/file_itunesdb.c:242
 msgid "Could not open \"iTunesDB.ext\" for reading extended info.\n"
 msgstr ""
 "Impossibile aprire \"iTunesDB.ext\" per leggere le informazioni estese.\n"
 
-#: src/file_itunesdb.c:231
+#: src/file_itunesdb.c:249
 msgid "Could not create hash value from itunesdb\n"
 msgstr "Impossibile creare il valore di hash dal itunesdb\n"
 
-#: src/file_itunesdb.c:245
+#: src/file_itunesdb.c:263
 #, c-format
 msgid "Error while reading extended info: %s\n"
 msgstr "Errore nella lettura delle informazioni estese: %s\n"
 
-#: src/file_itunesdb.c:262
+#: src/file_itunesdb.c:280
 #, c-format
 msgid ""
 "iTunesDB '%s' does not match checksum in extended information file '%s'\n"
@@ -1244,7 +1356,7 @@
 "l'operazione richiede un pò di tempo.\n"
 "\n"
 
-#: src/file_itunesdb.c:275
+#: src/file_itunesdb.c:292
 #, c-format
 msgid ""
 "%s:\n"
@@ -1253,7 +1365,7 @@
 "%s:\n"
 "Era atteso \"itunesdb_hash=\" ma ho trovato:'%s'\n"
 
-#: src/file_itunesdb.c:335
+#: src/file_itunesdb.c:352
 #, c-format
 msgid ""
 "%s:\n"
@@ -1262,7 +1374,7 @@
 "%s:\n"
 "Errore nel formato: %s\n"
 
-#: src/file_itunesdb.c:386
+#: src/file_itunesdb.c:407
 msgid ""
 "No MD5 checksums on individual tracks are available.\n"
 "\n"
@@ -1278,7 +1390,7 @@
 "altri programmi rispetto a gtkpod.\n"
 "\n"
 
-#: src/file_itunesdb.c:439
+#: src/file_itunesdb.c:462
 msgid ""
 "Extended info will not be used. If you have non-transferred tracks,\n"
 "these will be lost.\n"
@@ -1286,17 +1398,15 @@
 "Le informazioni estese non verranno usate. Se hai delle tracce non "
 "trasferite, verranno perse.\n"
 
-#: src/file_itunesdb.c:447
-#, fuzzy
+#: src/file_itunesdb.c:470
 msgid "Offline iPod database successfully imported"
 msgstr "Database offline dell'iPod importato con successo"
 
-#: src/file_itunesdb.c:450
-#, fuzzy
+#: src/file_itunesdb.c:473
 msgid "Local database successfully imported"
-msgstr "Database iPod importato con successo"
+msgstr "Database locale importato con successo"
 
-#: src/file_itunesdb.c:458
+#: src/file_itunesdb.c:481
 #, c-format
 msgid ""
 "Offline iPod database import failed: '%s'\n"
@@ -1305,33 +1415,32 @@
 "Fallita l'importazione del Database offline: '%s' \n"
 "\n"
 
-#: src/file_itunesdb.c:462
-#, fuzzy, c-format
+#: src/file_itunesdb.c:485
+#, c-format
 msgid ""
 "Local database import failed: '%s'\n"
 "\n"
 msgstr ""
-"Importazione del database dell'iPod fallito: '%s'\n"
+"Importazione del database locale fallito: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:469
+#: src/file_itunesdb.c:492
 msgid ""
 "Offline iPod database import failed: \n"
 "\n"
 msgstr ""
-"Fallita l'importazione del Database offline del ipod: \n"
+"Fallita l'importazione del Database offline del iPod: \n"
 "\n"
 
-#: src/file_itunesdb.c:472
-#, fuzzy
+#: src/file_itunesdb.c:495
 msgid ""
 "Local database import failed: \n"
 "\n"
 msgstr ""
-"Fallita l'importazione del Database offline del ipod: \n"
+"Fallita l'importazione del Database locale: \n"
 "\n"
 
-#: src/file_itunesdb.c:479 src/file_itunesdb.c:527
+#: src/file_itunesdb.c:502 src/file_itunesdb.c:550
 #, c-format
 msgid ""
 "'%s' does not exist. Import aborted.\n"
@@ -1340,15 +1449,15 @@
 "'%s' non esiste. Importazione abortita.\n"
 "\n"
 
-#: src/file_itunesdb.c:498
+#: src/file_itunesdb.c:521
 msgid "Extended info will not be used.\n"
 msgstr "Le informazioni estese non verranno usate.\n"
 
-#: src/file_itunesdb.c:505
+#: src/file_itunesdb.c:528
 msgid "iPod Database Successfully Imported"
 msgstr "Database iPod importato con successo"
 
-#: src/file_itunesdb.c:512
+#: src/file_itunesdb.c:535
 #, c-format
 msgid ""
 "iPod Database Import Failed: '%s'\n"
@@ -1357,7 +1466,7 @@
 "Importazione del database dell'iPod fallito: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:518
+#: src/file_itunesdb.c:541
 msgid ""
 "iPod Database Import Failed.\n"
 "\n"
@@ -1365,18 +1474,18 @@
 "Importazione del database dell'iPod fallito.\n"
 "\n"
 
-#: src/file_itunesdb.c:822
+#: src/file_itunesdb.c:890
 #, c-format
 msgid "Could not open \"%s\" for writing extended info.\n"
 msgstr ""
 "Impossibile aprire \"%s\" per la scrittura delle informazioni estese.\n"
 
-#: src/file_itunesdb.c:837
+#: src/file_itunesdb.c:905
 msgid "Aborted writing of extended info.\n"
 msgstr ""
 "Impossibile aprire \"%s\" per la scrittura delle informazioni estese.\n"
 
-#: src/file_itunesdb.c:1001
+#: src/file_itunesdb.c:1071
 msgid ""
 "Press button to abort.\n"
 "Export can be continued at a later time."
@@ -1384,27 +1493,27 @@
 "Premi il bottone per abortire.\n"
 "l'esportazione può essere ultimata in un secondo momento."
 
-#: src/file_itunesdb.c:1070
+#: src/file_itunesdb.c:1140
 msgid "deleting..."
 msgstr "cancellazione in corso..."
 
-#: src/file_itunesdb.c:1173
+#: src/file_itunesdb.c:1244
 msgid "preparing to copy..."
 msgstr "copia in preparazione..."
 
-#: src/file_itunesdb.c:1235
+#: src/file_itunesdb.c:1307
 #, c-format
 msgid "Copied %d of %d new track."
 msgid_plural "Copied %d of %d new tracks."
 msgstr[0] "Copiato %d di %d di una nuova traccia"
 msgstr[1] "Copiato %d di %d di nuove tracce"
 
-#: src/file_itunesdb.c:1262
+#: src/file_itunesdb.c:1334
 msgid "Some tracks were not written to iPod. Export aborted!"
 msgstr "Alcune tracce non sono state scritte sull'iPod. Esportazione abortita!"
 
-#: src/file_itunesdb.c:1315
-#, fuzzy, c-format
+#: src/file_itunesdb.c:1387
+#, c-format
 msgid ""
 "You did not import the existing iTunesDB ('%s'). This is most likely "
 "incorrect and will result in the loss of the existing database.\n"
@@ -1414,13 +1523,13 @@
 "again.\n"
 msgstr ""
 "Non hai importato l'iTunesDB esistente ('%s'). Questo è quasi  certamente "
-"sbagliato e risulterà in una perdita del database esistente.\n"
+"sbagliato e porterà alla perdita del database esistente.\n"
 "\n"
 "Premi 'OK' se si vuole procedere comunque o 'Annulla' se si vuole "
 "interrompere l'operazione. Se la interrompi, puoi importare il database "
 "esistente prima di richiamare di nuovo questa funzione.\n"
 
-#: src/file_itunesdb.c:1345
+#: src/file_itunesdb.c:1417
 msgid ""
 "iPod directory structure must be present before synching to the iPod can be "
 "performed.\n"
@@ -1428,58 +1537,60 @@
 "La struttura delle directory dell'iPod deve essere presente prima che la "
 "sincronizzazione verso l'iPod possa avere inizio.\n"
 
-#: src/file_itunesdb.c:1354
+#: src/file_itunesdb.c:1426
 msgid "Some tracks could not be deleted from the iPod. Export aborted!"
 msgstr ""
 "Alcune tracce non possono essere cancellate dall'iPod. Esportazione abortita!"
 
-#: src/file_itunesdb.c:1370
+#: src/file_itunesdb.c:1442
 msgid "Now writing iTunesDB. Please wait..."
 msgstr "Scrittura del iTunesDB in corso. Attendere prego..."
 
-#: src/file_itunesdb.c:1414
+#: src/file_itunesdb.c:1488
 #, c-format
 msgid "Extended information file not deleted: '%s'"
 msgstr "Il file delle informazioni estese non è stato cancellato: '%s'"
 
-#: src/file_itunesdb.c:1500
+#: src/file_itunesdb.c:1574
 msgid "iPod Database Saved"
 msgstr "Database iPod salvato"
 
-#: src/file_itunesdb.c:1548
+#: src/file_itunesdb.c:1633
 msgid "Syncing contacts, calendar and notes..."
 msgstr "Sincronizzazione di contatti, calendari e note..."
 
 #: src/fileselection.c:123
-#, fuzzy
 msgid "Successfully added files"
 msgstr "File aggiunti con successo"
 
 #: src/fileselection.c:125
 msgid "Some files were not added successfully"
-msgstr ""
+msgstr "Alcuni file non sono stati aggiunti con successo"
 
 #. Create the file chooser, and handle the response
 #: src/fileselection.c:148
-#, fuzzy
 msgid "Add Files"
 msgstr "Aggiungi _File"
 
 #. Create the file chooser, and handle the response
 #: src/fileselection.c:227
-#, fuzzy
 msgid "Add Playlists"
 msgstr "Aggiungi _Playlist"
 
-#: src/fileselection.c:438
+#. Create the file chooser, and handle the response
+#: src/fileselection.c:270
+msgid "Set Cover"
+msgstr ""
+
+#: src/fileselection.c:491
 msgid "Select directory to add recursively"
 msgstr "Seleziona una directory da aggiungere ricorsivamente"
 
-#: src/fileselection.c:696
+#: src/fileselection.c:749
 msgid "Ok"
 msgstr "Ok"
 
-#: src/fileselection.c:705
+#: src/fileselection.c:758
 msgid "Cancel"
 msgstr "Cancella"
 
@@ -1546,268 +1657,41 @@
 msgid "n/c"
 msgstr "n.d."
 
-#: src/info.c:382 src/info.c:786
+#: src/info.c:382 src/info.c:793
 msgid "offline"
 msgstr "offline"
 
 #: src/info.c:469
-#, fuzzy, c-format
+#, c-format
 msgid " P:%d T:%d/%d"
 msgstr " P:%d S:%d/%d"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "B"
 msgstr "B"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "kB"
 msgstr "kB"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "TB"
 msgstr "TB"
 
-#: src/info.c:771
+#: src/info.c:778
 #, c-format
 msgid " %s Free"
 msgstr "%s Liberi"
 
-#: src/info.c:776
+#: src/info.c:783
 #, c-format
 msgid " %s Pending"
 msgstr " %s Pendenti"
 
-#: src/info.c:781
+#: src/info.c:788
 msgid " disconnected"
 msgstr " scollegato"
 
-#: src/itdb_itunesdb.c:313
-#, c-format
-msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
-msgstr "ricerca illegale all'offest %ld (lunghezza %ld) nel file '%s'"
-
-#: src/itdb_itunesdb.c:520
-#, c-format
-msgid "Not a Play Counts file: '%s' (missing mhdp header)."
-msgstr "Non è un file conta riproduzioni: '%s' (intestazione mhdp mancante)"
-
-#: src/itdb_itunesdb.c:534
-#, c-format
-msgid "Play Counts file ('%s'): header length smaller than expected (%d<96)."
-msgstr ""
-"File conta-riproduzioni ('%s'): lunghezza della intestazione più piccolo di "
-"quanto ci si aspettava (%d<96)"
-
-#: src/itdb_itunesdb.c:547
-#, c-format
-msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
-msgstr ""
-"File conta-riproduzioni ('%s'): lunghezza della voce più piccoladi quanto ci "
-"si aspettava (%d<12)"
-
-#: src/itdb_itunesdb.c:801
-#, c-format
-msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
-msgstr "iTunesDB corrotto: nessun MHOD all'offest %ld nel file '%s'."
-
-#: src/itdb_itunesdb.c:921
-#, c-format
-msgid ""
-"Length of smart playlist rule field (%d) not as expected. Trying to continue "
-"anyhow.\n"
-msgstr ""
-"La lunghezza del campo della regola della playlist intelligente (%d) non è "
-"come la si aspettava. Si prova a continuare.\n"
-
-#: src/itdb_itunesdb.c:964
-msgid "Did not find SLst hunk as expected. Trying to continue.\n"
-msgstr ""
-"Impossibile trovare hunk SLst come ci si aspettava. Si prova a continuare.\n"
-
-#: src/itdb_itunesdb.c:970
-#, c-format
-msgid ""
-"Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
-"\n"
-msgstr ""
-"Incontrato un tipo MHOD sconosciuto (%d) mentre si passava l'iTunesDB. "
-"Ignorato.\n"
-"\n"
-
-#: src/itdb_itunesdb.c:1050 src/itdb_itunesdb.c:1739 src/itdb_itunesdb.c:1774
-#, c-format
-msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr "iTunesDB corrotto: hunk di lunghezza 0 per l'hunk %ld nel file '%s'."
-
-#: src/itdb_itunesdb.c:1144
-msgid "Master-PL"
-msgstr "PL principale"
-
-#: src/itdb_itunesdb.c:1171
-#, c-format
-msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
-msgstr "iTunesDB corrotto: trovato mhyp a %ld nel file '%s'."
-
-#: src/itdb_itunesdb.c:1219
-#, c-format
-msgid "Itdb_Track ID '%d' not found.\n"
-msgstr "itDB_Track ID '%d' non trovato.\n"
-
-#: src/itdb_itunesdb.c:1482
-msgid "OTG Playlist"
-msgstr "Playlist OTG"
-
-#: src/itdb_itunesdb.c:1496
-#, c-format
-msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
-msgstr "Non è una file playlist OTG: '%s' (manca l'intestazione mhpo)"
-
-#: src/itdb_itunesdb.c:1510
-#, c-format
-msgid "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
-msgstr ""
-"File playlist OTG ('%s'): lunghezza della intestazione più piccola delle "
-"aspettative (%d<20)"
-
-#: src/itdb_itunesdb.c:1522
-#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
-msgstr ""
-"File playlist OTG ('%s'): lunghezza della voce più piccola delle aspettative "
-"(%d<4)"
-
-#: src/itdb_itunesdb.c:1557
-#, c-format
-msgid "OTG playlist file '%s': reference to non-existent track (%d)."
-msgstr "Playlist OTG '%s': Punta ad una traccia non esistente (%d)."
-
-#: src/itdb_itunesdb.c:1602
-#, c-format
-msgid "OTG Playlist %d"
-msgstr "Playlist OTG %d"
-
-#: src/itdb_itunesdb.c:1645
-#, c-format
-msgid "Not a iTunesDB: '%s' (missing mhdb header)."
-msgstr "Non è un file iTunesDB: '%s' (intestazione mhdb mancante)"
-
-#: src/itdb_itunesdb.c:1661
-#, c-format
-msgid ""
-"iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). "
-"Aborting."
-msgstr ""
-"iTunesDB ('%s'): lunghezza della intestazione del hunk mhsd più piccolo "
-"delle aspettative (%ld<32). Interrompo."
-
-#: src/itdb_itunesdb.c:1693
-#, c-format
-msgid "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
-msgstr "iTunesDB '%s' corrotto: trovate già due playlist mhsds -- ci rinuncio."
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1754
-msgid ""
-"iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"L'iTunes è probabilmente corrotto: il numero di tracce (mhit hunks) è "
-"inconsistente. Provo a continuare.\n"
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1835
-msgid ""
-"iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"L'iTunes è probabilmente corrotto: il numero di playlist (mhyp hunks) è "
-"inconsistente. Provo a continuare.\n"
-
-#: src/itdb_itunesdb.c:1873
-#, c-format
-msgid "File not found: '%s'."
-msgstr "file non trovato: '%s'."
-
-#: src/itdb_itunesdb.c:2394
-#, c-format
-msgid "Cannot write mhod of type %d\n"
-msgstr "Impossibile scrivere il mhod del tipo %d\n"
-
-#: src/itdb_itunesdb.c:2520 src/itdb_itunesdb.c:2633
-msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
-msgstr ""
-"Database in memoria corrotto (track pointer == NULl). Esportazione "
-"interrotta."
-
-#: src/itdb_itunesdb.c:2676
-msgid "Database in memory corrupt (playlist pointer == NULL). Aborting export."
-msgstr ""
-"Database in memoria corrotto (playlist pointer == NULL). Esportazione "
-"Interrotta."
-
-#: src/itdb_itunesdb.c:2716
-#, c-format
-msgid "Opening of '%s' for writing failed."
-msgstr "Apertura di '%s' in scrittura fallita."
-
-#: src/itdb_itunesdb.c:2727
-#, c-format
-msgid "Writing to '%s' failed."
-msgstr "Scrittura verso '%s' fallita."
-
-#: src/itdb_itunesdb.c:2738
-#, c-format
-msgid "Writing to '%s' failed (%s)."
-msgstr "Scrittura verso '%s' falita (%s)."
-
-#: src/itdb_itunesdb.c:2875 src/itdb_itunesdb.c:3042 src/itdb_itunesdb.c:3224
-#: src/itdb_itunesdb.c:3358
-#, c-format
-msgid "Path not found: '%s'."
-msgstr "Percorso non trovato: '%s'."
-
-#: src/itdb_itunesdb.c:3244
-#, c-format
-msgid "Error renaming '%s' to '%s' (%s)."
-msgstr "Errore nella rinominazione da '%s' a '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3261
-#, c-format
-msgid "Error removing '%s' (%s)."
-msgstr "Errore nella rimozione di '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3487
-#, c-format
-msgid "Error opening '%s' for reading (%s)."
-msgstr "Errore nell'apertura in lettura di '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3498
-#, c-format
-msgid "Error opening '%s' for writing (%s)."
-msgstr "Errore nell'apertura in scrittura di '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3515
-#, c-format
-msgid "Error while reading from '%s' (%s)."
-msgstr "Errore nella lettura da '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3531
-#, c-format
-msgid "Error while writing to '%s' (%s)."
-msgstr "Errore nella scrittura verso '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3544 src/itdb_itunesdb.c:3554
-#, c-format
-msgid "Error when closing '%s' (%s)."
-msgstr "Errore nella chiusura di '%s' (%s)."
-
-#. New action!
-#: src/itdb_playlist.c:71
-#, c-format
-msgid "Unknown action (%d) in smart playlist will be ignored.\n"
-msgstr "Azione sconosciuta (%d) nella playlist intelligente verrà ignorata.\n"
-
 #: src/md5.c:159
 msgid "Hashed file is 0 bytes long\n"
 msgstr "Il file di cui è stato calcolato l'hash è lungo 0 byte\n"
@@ -1828,17 +1712,14 @@
 
 #: src/misc.c:82
 msgid ""
-"(C) 2002 - 2003\n"
+"(C) 2002 - 2005\n"
 "Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
 "\n"
 msgstr ""
-"(C) 2002 - 2003\n"
-"Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
+"Jörg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
-"\n"
-"\n"
 
 #: src/misc.c:88
 msgid ""
@@ -1992,36 +1873,64 @@
 "Christoph Kunz: address compatibility issues when writing id3v2.4 type mp3 "
 "tags\n"
 msgstr ""
+"Christoph Kunz: risoluzione dei problemi di compatibilità nella scrittura "
+"dei tag mp3 di tipo id3v2.4\n"
 
 #: src/misc.c:144
 msgid ""
 "James Ligget: replacement of old GTK file selection dialogs with new GTK "
 "filechooser dialogs\n"
 msgstr ""
+"James Ligget: Sostituzione della 'GTK file selection dialogs' con la nuova "
+"'GTK filechooser dialogs'\n"
 
 #: src/misc.c:147
 msgid "Daniel Kercher: sync scripts for abook and webcalendar\n"
 msgstr ""
+"Daniel Kercher: script per la sincronizzazione di abook e webcalendar\n"
 
 #: src/misc.c:150
 msgid "Clinton Gormley: sync scripts for thunderbird\n"
+msgstr "Clinton Gormley: script di sincronizzazione per thunderbird\n"
+
+#: src/misc.c:153
+#, fuzzy
+msgid "Sebastien Beridot: sync script for ldif addressbook format\n"
 msgstr ""
+"Sebastien Beridot: script di sincronizzazione per la rubrica in formato  "
+"ldif \n"
 
-#: src/misc.c:153
+#: src/misc.c:156
+#, fuzzy
+msgid "Sebastian Scherer: sync script for kNotes\n"
+msgstr "Sebastian Scherer: script di sincronizzazione per kNotes\n"
+
+#: src/misc.c:159
+msgid "Nick Piper: sync script for Palm, type-ahead search\n"
+msgstr ""
+
+#: src/misc.c:162
+msgid "Uwe Hermann: help with support for iPod Video\n"
+msgstr ""
+
+#: src/misc.c:165
 msgid ""
-"Icons of buttons were made by Nicolas Chariot.\n"
+"Iain Benson: support for compilation tag in mp3 files and separate display "
+"of compilations in the sort tab.\n"
+msgstr ""
+
+#: src/misc.c:167
+msgid ""
+"Nicolas Chariot: icons of buttons\n"
 "\n"
 "\n"
 msgstr ""
-"Le icone dei buttoni sono state fatte da Nicolas Chariot.\n"
-"\n"
-"\n"
 
-#: src/misc.c:157
+#: src/misc.c:171
 msgid "This program borrows code from the following projects:\n"
 msgstr "Questo programma prende in prestito codice dai seguenti progetti:\n"
 
-#: src/misc.c:159
+#: src/misc.c:173
 msgid ""
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
@@ -2029,7 +1938,7 @@
 "    gnutools: (mktunes.pl, portato dal C) lettura e scrittura del iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
 
-#: src/misc.c:161
+#: src/misc.c:175
 msgid ""
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
@@ -2037,81 +1946,86 @@
 "    iPod.cpp, iPod.h da Samuel Wood (sam dot wood at gmail dot com): un po' "
 "di codice per le playlist intelligenti è basata su classi in C++.\n"
 
-#: src/misc.c:163
+#: src/misc.c:177
 msgid "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 msgstr ""
 "mp3info:  rilevazione della durata dei brani mp3 (http://ibiblio.org/"
 "mp3info/)\n"
 
-#: src/misc.c:165
+#: src/misc.c:179
 msgid ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
 msgstr ""
 "    xmms:     browser directory, rilevazione della durata dei brani mp3 "
 "(http://www.xmms.org)\n"
 
-#: src/misc.c:168
+#: src/misc.c:182
 msgid ""
 "The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"
 msgstr ""
 "La GUI è stata creata con l'aiuto di glade-2 (http://glade.gnome.org/).\n"
 
-#: src/misc.c:183
+#: src/misc.c:197
 msgid "French:   David Le Brun (david at dyn-ns dot net)\n"
 msgstr "Francese:   David Le Brun (david at dyn-ns dot net)\n"
 
-#: src/misc.c:185
+#: src/misc.c:199
 msgid "German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 msgstr "Tedesco:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 
-#: src/misc.c:187
+#: src/misc.c:201
 msgid "Hebrew: Assaf Gillat (gillata at gmail dot com)\n"
-msgstr ""
+msgstr "Ebraico: Assaf Gillat (gillata at gmail dot com)\n"
 
-#: src/misc.c:189
+#: src/misc.c:203
 msgid ""
 "Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
 msgstr ""
 "Italiano:  Edward Matteucci (edward_matteucc at users dot sourceforge dot)\n"
 
-#: src/misc.c:191
+#: src/misc.c:205
 msgid "Japanese: Ayako Sano\n"
 msgstr "Giapponese: Ayako Sano\n"
 
-#: src/misc.c:193
+#: src/misc.c:207
 msgid "Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 msgstr ""
 "Giapponese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 
-#: src/misc.c:195
+#: src/misc.c:209
 msgid "Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 msgstr "Svedese: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 
-#: src/misc.c:318
+#: src/misc.c:332
 #, c-format
 msgid "Could not delete backup file: \"%s\"\n"
 msgstr "Impossibile cancellare il file di backup: \"%s\"\n"
 
-#: src/misc.c:438
+#: src/misc.c:452
 #, c-format
 msgid "Unmounting of '%s' (%s) unsuccessful."
-msgstr ""
+msgstr "Smontaggio di '%s' (%s) fallito."
 
-#: src/misc.c:442
+#: src/misc.c:456
 #, c-format
 msgid "Unmounting of '%s' unsuccessful."
-msgstr ""
+msgstr "Smontaggio di '%s' fallito."
 
-#: src/misc.c:1097
+#: src/misc.c:1219
 #, c-format
+msgid "Unknown token '%%%c' in template '%s'"
+msgstr "Token sconosciuto '%%%c' nella maschera '%s'"
+
+#: src/misc.c:1301
+#, c-format
 msgid "Template ('%s') does not match file type '%s'\n"
 msgstr "La maschera ('%s') non coincide con il file '%s'\n"
 
-#: src/misc.c:1190
+#: src/misc.c:1382
 #, c-format
-msgid "Unknown token '%%%c' in template '%s'"
-msgstr "Token sconosciuto '%%%c' nella maschera '%s'"
+msgid "Error creating %s: %s\n"
+msgstr "Errore nella creazione di %s: %s\n"
 
 #. gint id,
 #. gboolean modal,
@@ -2125,7 +2039,6 @@
 msgstr "Si è verificato l'errore seguente:"
 
 #: src/misc_confirm.c:124
-#, fuzzy
 msgid ""
 "Are you sure you want to delete the following track completely from your "
 "iPod? The number of playlists this track is a member of is indicated in "
@@ -2135,44 +2048,41 @@
 "iPod? The number of playlists the tracks are member of is indicated in "
 "parentheses."
 msgstr[0] ""
-"Sei sicuro di voler eliminare completamente la seguente traccia\n"
-"dal tuo iPod? Il numero di playlist di cui questa traccia fa parte è "
-"indicato tra parentesi."
+"Sei sicuro di voler eliminare completamente la seguente traccia dal tuo "
+"iPod? Il numero di playlist di cui questa traccia fa parte è indicato tra "
+"parentesi."
 msgstr[1] ""
-"Sei sicuro di voler eliminare completamente le seguenti tracce\n"
-"dal tuo iPod? Il numero di playlist di cui ognuna di queste tracce fa parte "
-"è indicata tra parentesi."
+"Sei sicuro di voler eliminare completamente le seguenti tracce dal tuo iPod? "
+"Il numero di playlist di cui ognuna di queste tracce fa parte è indicata tra "
+"parentesi."
 
 #: src/misc_confirm.c:128
-#, fuzzy
 msgid "Delete Track Completely from iPod?"
 msgid_plural "Delete Tracks Completey from iPod?"
 msgstr[0] "Cancella completamente una traccia dall'iPod"
-msgstr[1] "Cancella completamente %d tracce dall'iPod"
+msgstr[1] "Cancella completamente le tracce dall'iPod"
 
 #: src/misc_confirm.c:138 src/misc_confirm.c:178
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Are you sure you want to remove the following track from the playlist \"%s\"?"
 msgid_plural ""
 "Are you sure you want to remove the following tracks from the playlist \"%s"
 "\"?"
 msgstr[0] ""
-"Sei sicuro di voler eliminare completamente la seguente traccia\n"
+"Sei sicuro di voler eliminare la seguente traccia\n"
 "dalla playlist \"%s\"?"
 msgstr[1] ""
-"Sei sicuro di voler eliminare completamente le seguenti tracce\n"
+"Sei sicuro di voler eliminare le seguenti tracce\n"
 "dalla playlist \"%s\"?"
 
 #: src/misc_confirm.c:142 src/misc_confirm.c:182
-#, fuzzy
 msgid "Remove Track From Playlist?"
 msgid_plural "Remove Tracks From Playlist?"
 msgstr[0] "Cancella la traccia dalla playlist?"
 msgstr[1] "Cancella le tracce dalla playlist?"
 
 #: src/misc_confirm.c:164
-#, fuzzy
 msgid ""
 "Are you sure you want to delete the following track completely from your "
 "harddisk? The number of playlists this track is a member of is indicated in "
@@ -2183,22 +2093,20 @@
 "parentheses."
 msgstr[0] ""
 "Sei sicuro di voler eliminare completamente la seguente traccia\n"
-"dal tuo iPod? Il numero di playlist di cui questa traccia fa parte è "
+"dal tuo disco fisso? Il numero di playlist di cui questa traccia fa parte è "
 "indicato tra parentesi."
 msgstr[1] ""
 "Sei sicuro di voler eliminare completamente le seguenti tracce\n"
-"dal tuo iPod? Il numero di playlist di cui ognuna di queste tracce fa parte "
-"è indicata tra parentesi."
+"dal tuo disco fisso? Il numero di playlist di cui ognuna di queste tracce fa "
+"parte è indicata tra parentesi."
 
 #: src/misc_confirm.c:168
-#, fuzzy
 msgid "Delete Track from Harddisk?"
 msgid_plural "Delete Tracks from Harddisk?"
-msgstr[0] "Cancella la traccia dalla playlist?"
-msgstr[1] "Cancella le tracce dalla playlist?"
+msgstr[0] "Cancella la traccia dal disco fisso?"
+msgstr[1] "Cancella le tracce dal disco fisso?"
 
 #: src/misc_confirm.c:192
-#, fuzzy
 msgid ""
 "Are you sure you want to remove the following track completely from your "
 "local database? The number of playlists this track is a member of is "
@@ -2208,19 +2116,19 @@
 "local database? The number of playlists the tracks are member of is "
 "indicated in parentheses."
 msgstr[0] ""
-"Sei sicuro di voler eliminare completamente la seguente traccia\n"
-"dal tuo iPod? Il numero di playlist di cui questa traccia fa parte è "
+"Sei sicuro di voler eliminare completamente la seguente traccia dal tuo "
+"database locale? Il numero di playlist di cui questa traccia fa parte è "
 "indicato tra parentesi."
 msgstr[1] ""
-"Sei sicuro di voler eliminare completamente le seguenti tracce\n"
-"dal tuo iPod? Il numero di playlist di cui ognuna di queste tracce fa parte "
-"è indicata tra parentesi."
+"Sei sicuro di voler eliminare completamente le seguenti tracce dal tuo "
+"database locale? Il numero di playlist di cui ognuna di queste tracce fa "
+"parte è indicata tra parentesi."
 
 #: src/misc_confirm.c:196
 msgid "Remove Track from Local Database?"
 msgid_plural "Remove Tracks from Local Database?"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Rimuovere le traccia dal database locale?"
+msgstr[1] "Rimuovere le tracce dal database locale?"
 
 #: src/misc_confirm.c:259
 #, c-format
@@ -2230,30 +2138,30 @@
 msgstr[1] "Cancella completamente %d tracce dall'iPod"
 
 #: src/misc_confirm.c:265 src/misc_confirm.c:289
-#, fuzzy, c-format
+#, c-format
 msgid "Deleted %d track from playlist '%s'"
 msgid_plural "Deleted %d tracks from playlist '%s'"
-msgstr[0] "Cancella la traccia dalla playlist '%s'"
-msgstr[1] "Cancella le tracce dalla playlist '%s'"
+msgstr[0] "Cancella %d traccia dalla playlist '%s'"
+msgstr[1] "Cancella %d tracce dalla playlist '%s'"
 
 #: src/misc_confirm.c:283
-#, fuzzy, c-format
+#, c-format
 msgid "Deleted one track from harddisk"
 msgid_plural "Deleted %d tracks from harddisk"
-msgstr[0] "Cancella la traccia dalla playlist '%s'"
-msgstr[1] "Cancella le tracce dalla playlist '%s'"
+msgstr[0] "Cancella la traccia dal disco fisso"
+msgstr[1] "Cancella %d tracce dal disco fisso"
 
 #: src/misc_confirm.c:295
-#, fuzzy, c-format
+#, c-format
 msgid "Deleted track from local database"
 msgid_plural "Deleted %d tracks from local database"
-msgstr[0] "Cancella la traccia dalla playlist '%s'"
-msgstr[1] "Cancella le tracce dalla playlist '%s'"
+msgstr[0] "Cancella la traccia dal database locale"
+msgstr[1] "Cancella %d tracce dal database locale"
 
 #. no playlist??? Cannot happen, but...
 #. no playlist selected
-#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:667
-#: src/misc_track.c:879
+#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:674
+#: src/misc_track.c:1509
 msgid "No playlist selected."
 msgstr "Nessuna playlist selezionata."
 
@@ -2262,52 +2170,56 @@
 msgid "No tracks selected."
 msgstr "Nessuna traccia selezionata."
 
-#. no entry selected
-#: src/misc_confirm.c:441 src/misc_track.c:852
-msgid "No entry selected."
-msgstr "Nessuna voce selezionata."
-
 #: src/misc_confirm.c:448
 msgid "Cannot remove entry 'All'"
 msgstr "Impossibile rimuovere la voce 'Tutti'"
 
 #: src/misc_confirm.c:541
-#, fuzzy, c-format
+#, c-format
 msgid "Removed all %d tracks from the iPod"
-msgstr "Prima di rimuovere le playlist o le tracce dalla playlist dall'iPod"
+msgstr "Eliminate tutte le %d tracce dall'iPod"
 
-#: src/misc_confirm.c:549 src/misc_confirm.c:619
+#: src/misc_confirm.c:546
+#, fuzzy
+msgid "Removed all podcasts from the iPod"
+msgstr "Eliminate tutte le %d tracce dall'iPod"
+
+#: src/misc_confirm.c:556 src/misc_confirm.c:626
 #, c-format
 msgid "Deleted playlist '%s' including %d member track"
 msgid_plural "Deleted playlist '%s' including %d member tracks"
 msgstr[0] "Cancellata la playlist '%s' con la %d traccia appartenente."
 msgstr[1] "Cancellata la playlist '%s' con le %d tracce appartenenti."
 
-#: src/misc_confirm.c:563 src/misc_confirm.c:633
+#: src/misc_confirm.c:570 src/misc_confirm.c:640
 #, c-format
 msgid "Deleted playlist '%s'"
 msgstr "Playlist cancellata '%s'"
 
-#: src/misc_confirm.c:596
-#, fuzzy, c-format
+#: src/misc_confirm.c:603
+#, c-format
 msgid "Deleted playlist '%s' including %d member track on harddisk"
 msgid_plural "Deleted playlist '%s' including %d member tracks on harddisk"
-msgstr[0] "Cancellata la playlist '%s' con la %d traccia appartenente."
-msgstr[1] "Cancellata la playlist '%s' con le %d tracce appartenenti."
+msgstr[0] ""
+"Cancellata la playlist '%s' con la %d traccia appartenente sul disco fisso."
+msgstr[1] ""
+"Cancellata la playlist '%s' con le %d tracce appartenenti sul disco fisso."
 
-#: src/misc_confirm.c:611
+#: src/misc_confirm.c:618
 #, c-format
 msgid "Removed all %d tracks from the database"
-msgstr ""
+msgstr "Rimosse tutte le %d tracce dal database"
 
-#: src/misc_confirm.c:686
-#, fuzzy
+#: src/misc_confirm.c:693
 msgid "Are you sure you want to remove all tracks from your iPod?"
-msgstr ""
-"Sei sicuro di voler eliminare completamente la seguente traccia\n"
-"dalla playlist \"%s\"?"
+msgstr "Sei sicuro di voler eliminare tutte le tracce dal tuo iPod?"
 
-#: src/misc_confirm.c:694
+#: src/misc_confirm.c:698
+#, fuzzy
+msgid "Are you sure you want to remove all podcasts from your iPod?"
+msgstr "Sei sicuro di voler eliminare tutte le tracce dal tuo iPod?"
+
+#: src/misc_confirm.c:706
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and the following track "
@@ -2326,13 +2238,13 @@
 "seguenti dal tuo iPod? Il numero di playlist in cui presente ogni traccia "
 "�indicato tra parentesi."
 
-#: src/misc_confirm.c:705 src/misc_confirm.c:760
+#: src/misc_confirm.c:717 src/misc_confirm.c:772
 #, c-format
 msgid "Are you sure you want to delete the playlist '%s'?"
 msgstr "Sei sicuro di voler cancellare la playlist '%s'"
 
-#: src/misc_confirm.c:731
-#, fuzzy, c-format
+#: src/misc_confirm.c:743
+#, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
 "from your harddisk? The number of playlists this track is a member of is "
@@ -2342,23 +2254,20 @@
 "tracks from your harddisk? The number of playlists the tracks are member of "
 "is indicated in parentheses."
 msgstr[0] ""
-"Sei sicuro di voler eliminare completamente la playlist '%s' e la traccia "
-"seguente dal tuo iPod? Il numero di playlist in cui �presentequesta traccia "
-"�indicato tra parentesi."
+"Sei sicuro di voler eliminare la playlist '%s' e la traccia seguente dal tuo "
+"disco fisso? Il numero di playlist in cui �presentequesta traccia �indicato "
+"tra parentesi."
 msgstr[1] ""
-"Sei sicuro di voler eliminare completamente la playlist '%s' e le tracce "
-"seguenti dal tuo iPod? Il numero di playlist in cui presente ogni traccia "
-"�indicato tra parentesi."
+"Sei sicuro di voler eliminare la playlist '%s' e le tracce seguenti dal tuo "
+"disco fisso? Il numero di playlist in cui presente ogni traccia �indicato "
+"tra parentesi."
 
-#: src/misc_confirm.c:739
-#, fuzzy
+#: src/misc_confirm.c:751
 msgid "Are you sure you want to remove all tracks from the database?"
-msgstr ""
-"Sei sicuro di voler eliminare completamente la seguente traccia\n"
-"dalla playlist \"%s\"?"
+msgstr "Sei sicuro di voler eliminare tutte le tracce dal database?"
 
-#: src/misc_confirm.c:748
-#, fuzzy, c-format
+#: src/misc_confirm.c:760
+#, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
 "from the database? The number of playlists this track is a member of is "
@@ -2369,36 +2278,35 @@
 "is indicated in parentheses."
 msgstr[0] ""
 "Sei sicuro di voler eliminare completamente la playlist '%s' e la traccia "
-"seguente dal tuo iPod? Il numero di playlist in cui �presentequesta traccia "
+"seguente dal database? Il numero di playlist in cui �presentequesta traccia "
 "�indicato tra parentesi."
 msgstr[1] ""
 "Sei sicuro di voler eliminare completamente la playlist '%s' e le tracce "
-"seguenti dal tuo iPod? Il numero di playlist in cui presente ogni traccia "
-"�indicato tra parentesi."
+"seguente dal database? Il numero di playlist in cui �presen ognita traccia "
+"�indicato tra parensi"
 
-#: src/misc_confirm.c:937
-#, fuzzy, c-format
+#: src/misc_confirm.c:960
+#, c-format
 msgid "Problem creating iPod directory: '%s'."
-msgstr ""
-"Problemi nella creazione della struttura della directory dell'iPod su '%s'"
+msgstr "Problemi nella creazione delle directory dell'iPod: '%s'."
 
-#: src/misc_confirm.c:939
+#: src/misc_confirm.c:962
 #, c-format
 msgid "Successfully created iPod directories in '%s'."
 msgstr "Directory dell'iPod create con successo ('%s')."
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_confirm.c:978
+#: src/misc_confirm.c:1001
 msgid "Create iPod directories"
 msgstr "Crea le directory dell'iPod"
 
 #. title
-#: src/misc_confirm.c:979
+#: src/misc_confirm.c:1002
 msgid "OK to create the following directories?"
 msgstr "Creare le directory seguenti?"
 
-#: src/misc_confirm.c:1043
+#: src/misc_confirm.c:1066
 msgid ""
 "Data has been changed and not been saved.\n"
 "OK to exit gtkpod?"
@@ -2406,6 +2314,11 @@
 "Ci sono dei dati modificati e non salvati.\n"
 "Uscire comunque da gtkpod?"
 
+#: src/misc_conversion.c:67
+#, fuzzy
+msgid "File type"
+msgstr "Dimensione"
+
 #: src/misc_conversion.c:68
 msgid "PC File"
 msgstr "File PC"
@@ -2437,9 +2350,8 @@
 
 #. 20
 #: src/misc_conversion.c:81
-#, fuzzy
 msgid "Date played"
-msgstr "Ultimo Ascolto"
+msgstr "Data riproduzione"
 
 #: src/misc_conversion.c:83
 msgid "Volume"
@@ -2454,24 +2366,56 @@
 msgid "CD Nr"
 msgstr "CD Num"
 
-#: src/misc_conversion.c:101
+#: src/misc_conversion.c:89
+#, fuzzy
+msgid "Category"
+msgstr "Categoria: "
+
+#: src/misc_conversion.c:90
+msgid "Description"
+msgstr ""
+
+#. 30
+#: src/misc_conversion.c:91
+msgid "Podcast URL"
+msgstr ""
+
+#: src/misc_conversion.c:92
+msgid "Podcast RSS"
+msgstr ""
+
+#: src/misc_conversion.c:93
+#, fuzzy
+msgid "Subtitle"
+msgstr "titolo"
+
+#: src/misc_conversion.c:94
+#, fuzzy
+msgid "Date released"
+msgstr "Data riproduzione"
+
+#: src/misc_conversion.c:95
+msgid "Checked"
+msgstr ""
+
+#: src/misc_conversion.c:108
 msgid "Name of file on PC, if available"
 msgstr "Nome del file sul pc, se disponibile"
 
-#: src/misc_conversion.c:102
+#: src/misc_conversion.c:109
 msgid "Name of file on the iPod"
 msgstr "Nome del file sull'iPod"
 
 #. 10
-#: src/misc_conversion.c:104
+#: src/misc_conversion.c:111
 msgid "Track Nr. and total number of tracks on CD"
 msgstr "Num. Traccia e numero totale delle tracce sul CD"
 
-#: src/misc_conversion.c:105
+#: src/misc_conversion.c:112
 msgid "Whether the file has already been transferred to the iPod or not"
 msgstr "se il file è stato già trasferito sull'iPod"
 
-#: src/misc_conversion.c:111
+#: src/misc_conversion.c:118
 msgid ""
 "Supposedly something that tells the iPod to increase or decrease the "
 "playback speed"
@@ -2479,35 +2423,32 @@
 "Probabilmente qualcosa che dice all'iPod di aumentare o diminuire la "
 "velocità di riproduzione"
 
-#: src/misc_conversion.c:113
+#: src/misc_conversion.c:120
 msgid "Number of times the track has been played"
 msgstr "Numero di volte in cui la traccia è stata riprodotta"
 
-#: src/misc_conversion.c:114
+#: src/misc_conversion.c:121
 msgid "Star rating from 0 to 5"
 msgstr "Votazione a stelle da 0 a 5"
 
-#: src/misc_conversion.c:115
-#, fuzzy
+#: src/misc_conversion.c:122
 msgid "Date and time track has been added"
-msgstr "Data in cui la traccia è stata aggiunta"
+msgstr "Data e ora in cui la traccia è stata aggiunta"
 
 #. 20
-#: src/misc_conversion.c:116
-#, fuzzy
+#: src/misc_conversion.c:123
 msgid "Date and time track has last been played"
-msgstr "Data in cui la traccia è stata riprodotta l'ultima volta"
+msgstr "Data e ora in cui la traccia è stata riprodotta l'ultima volta"
 
-#: src/misc_conversion.c:117
-#, fuzzy
+#: src/misc_conversion.c:124
 msgid "Date and time track has last been modified"
-msgstr "Data in cui la traccia è stata modificata"
+msgstr "Data e ora in cui la traccia è stata modificat l'ultima voltaa"
 
-#: src/misc_conversion.c:118
+#: src/misc_conversion.c:125
 msgid "Manual volume adjust"
 msgstr "Aggiustamento manuale del volume"
 
-#: src/misc_conversion.c:119
+#: src/misc_conversion.c:126
 msgid ""
 "Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on "
 "the iPod"
@@ -2516,31 +2457,44 @@
 "attivare 'soundcheck' sull'iPod"
 
 #. 25
-#: src/misc_conversion.c:122
+#: src/misc_conversion.c:129
 msgid "CD Nr. and total number of CDS in set"
 msgstr "CD num. e numero totale dei cd nell'insieme"
 
-#: src/misc_conversion.c:605
+#: src/misc_conversion.c:132
+msgid ""
+"The category (e.g. 'Technology' or 'Music') where the podcast was located."
+msgstr ""
+
+#: src/misc_conversion.c:133
+msgid "Accessible by selecting the center button on the iPod."
+msgstr ""
+
+#: src/misc_conversion.c:137
+msgid "Release date (for podcasts displayed next to the title on the iPod)"
+msgstr ""
+
+#: src/misc_conversion.c:639
 #, c-format
 msgid "The URI '%s' is not an absolute URI using the file scheme"
 msgstr "La URI '%s' non è una URI assoluto usando lo schema dei file"
 
-#: src/misc_conversion.c:615
+#: src/misc_conversion.c:649
 #, c-format
 msgid "The local file URI '%s' may not include a '#'"
 msgstr "La URI del file locale '%s' non può includere '#'"
 
-#: src/misc_conversion.c:632
+#: src/misc_conversion.c:666
 #, c-format
 msgid "The URI '%s' is invalid"
 msgstr "La URI '%s' non è valida"
 
-#: src/misc_conversion.c:644
+#: src/misc_conversion.c:678
 #, c-format
 msgid "The hostname of the URI '%s' is invalid"
 msgstr "Il nome dell'host della URI '%s' non è valido"
 
-#: src/misc_conversion.c:660
+#: src/misc_conversion.c:694
 #, c-format
 msgid "The URI '%s' contains invalidly escaped characters"
 msgstr "La URI '%s' contiene caratteri non validi che sono stati saltati"
@@ -2549,7 +2503,7 @@
 msgid "Please enter a name for the new playlist"
 msgstr "Inserire un nome per la nuova playlist"
 
-#: src/misc_playlist.c:97 gtkpod.glade:533 gtkpod.glade:12271
+#: src/misc_playlist.c:97 gtkpod.glade:578 gtkpod.glade:772 gtkpod.glade:7128
 msgid "Smart Playlist"
 msgstr "Playlist Intelligente"
 
@@ -2638,36 +2592,36 @@
 msgid "Last Time"
 msgstr "Durata"
 
-#: src/misc_playlist.c:834
+#: src/misc_playlist.c:831
 msgid "Removal of dangling tracks with no files on PC was canceled."
 msgstr ""
 "La rimozione delle tracce pendenti senza file sul PC è stata cancellata."
 
-#: src/misc_playlist.c:844
+#: src/misc_playlist.c:841
 msgid "Handling of dangling tracks with files on PC was canceled."
 msgstr ""
 "La gestione delle tracce pendenti con file presenti sul PC è stata "
 "cancellata."
 
-#: src/misc_playlist.c:872
+#: src/misc_playlist.c:869
 msgid "Dangling tracks with no files on PC were removed."
 msgstr "Le tracce pendenti senza file sul PC sono state rimosse."
 
 #. printf("Handling track %d\n", track->ipod_id);
-#: src/misc_playlist.c:905
-#, fuzzy, c-format
+#: src/misc_playlist.c:902
+#, c-format
 msgid "Processing '%s'"
-msgstr "Elaborazione di '%s' in corso..."
+msgstr "Elaborazione di '%s'"
 
-#: src/misc_playlist.c:930
+#: src/misc_playlist.c:927
 msgid "Dangling tracks with files on PC were handled."
 msgstr "Le tracce con i file sul PC sono state gestite."
 
-#: src/misc_playlist.c:963
+#: src/misc_playlist.c:960
 msgid "Track"
 msgstr "Traccia"
 
-#: src/misc_playlist.c:1008
+#: src/misc_playlist.c:1005
 msgid ""
 "You did not import the existing iTunesDB. This is most likely incorrect and "
 "will result in the loss of the existing database.\n"
@@ -2683,19 +2637,19 @@
 "interrompere l'operazione. Se la interrompi, puoi importare il database "
 "esistente prima di richiamare di nuovo questa funzione.\n"
 
-#: src/misc_playlist.c:1024
+#: src/misc_playlist.c:1021
 msgid "Creating a tree of known files"
 msgstr "Creazione di un albero di file conosciuti"
 
-#: src/misc_playlist.c:1052
+#: src/misc_playlist.c:1065
 msgid "Checking iPOD files against known files in DB"
 msgstr "Controllo dei file dell'iPod verso i file conosciuti nel DB"
 
-#: src/misc_playlist.c:1098
+#: src/misc_playlist.c:1110
 msgid "Orphaned"
 msgstr "Orfani"
 
-#: src/misc_playlist.c:1119
+#: src/misc_playlist.c:1131
 #, c-format
 msgid ""
 "The following orphaned file had already been added to the iPod again. It "
@@ -2708,12 +2662,12 @@
 "%s\n"
 "\n"
 
-#: src/misc_playlist.c:1148
+#: src/misc_playlist.c:1160
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Processing..."
 msgstr "Trovati %d file orfani e %d pendenti. Elaborazione in corso..."
 
-#: src/misc_playlist.c:1171
+#: src/misc_playlist.c:1183
 #, c-format
 msgid ""
 "The following dangling track has a file on PC.\n"
@@ -2732,7 +2686,7 @@
 "Premi OK per trasferirle dai file nella prossima sincronizzazione, CANCEL "
 "per lasciare tutto così"
 
-#: src/misc_playlist.c:1176
+#: src/misc_playlist.c:1188
 #, c-format
 msgid ""
 "The following dangling track doesn't have file on PC. \n"
@@ -2749,31 +2703,31 @@
 
 #. we want unique window for each
 #. gboolean modal,
-#: src/misc_playlist.c:1183
+#: src/misc_playlist.c:1195
 msgid "Dangling Tracks"
 msgstr "Tracce pendenti"
 
-#: src/misc_playlist.c:1207
+#: src/misc_playlist.c:1219
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Done."
 msgstr "Trovati %d file orfani e %d pendenti. Terminato."
 
 #. update for count == 1, 21, 41 ... and for count == n
-#: src/misc_track.c:90 src/misc_track.c:367
+#: src/misc_track.c:91 src/misc_track.c:368
 #, c-format
 msgid "Hashed %d of %d track."
 msgid_plural "Hashed %d of %d tracks."
 msgstr[0] "Calcolato l'hash di %d di %d traccia."
 msgstr[1] "Calcolato l'hash di %d di %d tracce."
 
-#: src/misc_track.c:201
+#: src/misc_track.c:202
 #, c-format
 msgid "The following duplicate track has been removed."
 msgid_plural "The following %d duplicate tracks have been removed."
 msgstr[0] "La seguente traccia duplicata è stata rimossa."
 msgstr[1] "Le seguenti %d tracce duplicate sono state rimosse."
 
-#: src/misc_track.c:208
+#: src/misc_track.c:209
 #, c-format
 msgid ""
 "The following duplicate track has not been added to the master play list."
@@ -2788,31 +2742,35 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_track.c:215
+#: src/misc_track.c:216
 msgid "Duplicate detection"
 msgstr "Rilevazione dei duplicati"
 
-#: src/misc_track.c:793
+#: src/misc_track.c:844
+msgid "Local Database"
+msgstr "Database Locale"
+
+#: src/misc_track.c:1396
 #, c-format
 msgid "drag and drop: ignored '%s'\n"
 msgstr "drag and drop: ignorato '%s'\n"
 
-#: src/mp3file.c:1091
+#: src/mp3file.c:1117
 #, c-format
 msgid "Error setting ID3 field: %s\n"
 msgstr "Errore nella impostazione del campo ID3: %s\n"
 
-#: src/mp3file.c:1116 src/mp3file.c:1223 src/mp3file.c:1949
+#: src/mp3file.c:1142 src/mp3file.c:1289 src/mp3file.c:2035
 #, c-format
 msgid "ERROR while opening file: '%s' (%s).\n"
 msgstr "ERRORE nell'apertura del file: '%s' (%s).\n"
 
-#: src/mp3file.c:1280
+#: src/mp3file.c:1356
 #, c-format
 msgid "ERROR while writing tag to file: '%s' (%s).\n"
 msgstr "ERRORE nella scrittura del tag sul file: '%s' (%s).\n"
 
-#: src/mp3file.c:1793
+#: src/mp3file.c:1879
 #, c-format
 msgid ""
 "Could not find mp3gain. I tried to use the following executable: '%s'.\n"
@@ -2832,33 +2790,33 @@
 "Se non hai mp3gain installato, puoi scaricarlo da http://www.sourceforge.net/"
 "projects/mp3gain."
 
-#: src/mp3file.c:1833
+#: src/mp3file.c:1919
 #, c-format
 msgid "Execution of mp3gain ('%s') failed."
 msgstr "Esecuzione di mp3gain ('%s') fallita."
 
 #. Tracks with zero play length are ignored by iPod...
-#: src/mp3file.c:2061
+#: src/mp3file.c:2178
 #, c-format
 msgid "File \"%s\" has zero play length. Ignoring.\n"
 msgstr "Il file \"%s\" ha durata zero. Ignorato.\n"
 
-#: src/mp4file.c:234 src/mp4file.c:353
+#: src/mp4file.c:243 src/mp4file.c:362
 #, c-format
 msgid "'%s' does not appear to be a mp4 audio file.\n"
 msgstr "'%s' non sembra essere un file audio mp4.\n"
 
-#: src/mp4file.c:244
+#: src/mp4file.c:253
 #, c-format
 msgid "Could not open '%s' for reading, or file is not an mp4 file.\n"
 msgstr "Impossibile aprire '%s' in lettura, o il file non è un file mp4.\n"
 
-#: src/mp4file.c:364
+#: src/mp4file.c:373
 #, c-format
 msgid "Could not open '%s' for writing, or file is not an mp4 file.\n"
 msgstr "Impossibile aprire \"%s\" in scrittura, o il file non è un file mp4.\n"
 
-#: src/mp4file.c:377
+#: src/mp4file.c:386
 #, c-format
 msgid ""
 "Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. "
@@ -2867,7 +2825,7 @@
 "Importazione di '%s' fallita: m4a/m4p/m4b non è supportata senza librerie "
 "mp4v2. Devi compilare i sorgenti di gtkpod insieme alla libreria mp4v2.\n"
 
-#: src/mp4file.c:383
+#: src/mp4file.c:392
 #, c-format
 msgid ""
 "m4a/m4p/m4b metadata update for '%s' failed: m4a/m4p/m4b not supported "
@@ -2878,36 +2836,36 @@
 "supportati senza la libreria mp4v2. Devi compilare i sorgenti gtkpod insieme "
 "alla libreria mp4v2.\n"
 
-#: src/prefs.c:127
+#: src/prefs.c:128
 #, c-format
 msgid "gtkpod version %s usage:\n"
 msgstr "uso di gtkpod versione %s:\n"
 
-#: src/prefs.c:128
+#: src/prefs.c:129
 msgid "  -h, --help:   display this message\n"
 msgstr "  -h, --help:   mostra questo messaggio\n"
 
-#: src/prefs.c:129
+#: src/prefs.c:130
 msgid "  -p <filename>:increment playcount for file by one\n"
 msgstr " -p <nomefile>:incrementa il contatore delle riproduzioni di uno\n"
 
-#: src/prefs.c:130
+#: src/prefs.c:131
 msgid "  -m path:      define the mountpoint of your iPod\n"
 msgstr "  -m path       definisci il punto di montaggio del tuo iPod\n"
 
-#: src/prefs.c:131
+#: src/prefs.c:132
 msgid "  --mountpoint: same as '-m'.\n"
 msgstr "  --mountpoint: come '-m'.\n"
 
-#: src/prefs.c:132
+#: src/prefs.c:133
 msgid "  -a:           import database automatically after start.\n"
 msgstr "  -a:           importa il database automaticamente all'avvio.\n"
 
-#: src/prefs.c:133
+#: src/prefs.c:134
 msgid "  --auto:       same as '-a'.\n"
 msgstr "  --auto:       come '-a'.\n"
 
-#: src/prefs.c:134
+#: src/prefs.c:135
 msgid ""
 "  -o:           use offline mode. No changes are exported to the iPod,\n"
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
@@ -2918,81 +2876,77 @@
 "verrà aggiornato se verrà usato 'Sinc'\n"
 "                con 'Offline' de-attivato.\n"
 
-#: src/prefs.c:135
+#: src/prefs.c:136
 msgid "  --offline:    same as '-o'.\n"
 msgstr " --offline:    come '-o'.\n"
 
-#: src/prefs.c:382
+#: src/prefs.c:401
 #, c-format
 msgid "Error while reading prefs: %s\n"
 msgstr "Errore nella lettura delle preferenze: %s\n"
 
-#: src/prefs.c:948
+#: src/prefs.c:1030
 #, c-format
 msgid "Unable to open config file '%s' for reading\n"
 msgstr "Impossibile aprire il file di configurazione '%s' in lettura\n"
 
-#: src/prefs.c:1052
+#: src/prefs.c:1137
 #, c-format
 msgid "Unknown option: %s\n"
 msgstr "Opzione sconosciuta: %s\n"
 
-#: src/prefs.c:1100
+#: src/prefs.c:1190
 #, c-format
 msgid "# delete confirmation\n"
 msgstr "# conferma la cancellazione\n"
 
-#: src/prefs.c:1107
+#: src/prefs.c:1197
 #, c-format
 msgid "# sort tab: select 'All', last selected page (=category)\n"
 msgstr ""
 "#blocco di ordinamento: seleziona 'Tutti', ultima pagina selezionata "
 "(=category)\n"
 
-#: src/prefs.c:1126
+#: src/prefs.c:1216
 #, c-format
 msgid "# autoselect master playlist?\n"
 msgstr "# seleziona automaticamente la playlist principale?\n"
 
-#: src/prefs.c:1128
+#: src/prefs.c:1218
 #, c-format
 msgid "# title=0, artist, album, genre, composer\n"
 msgstr "# titolo=0, artista, album, genere, compositore\n"
 
-#: src/prefs.c:1129
+#: src/prefs.c:1219
 #, c-format
 msgid "# track_nr=5, ipod_id, pc_path, transferred\n"
 msgstr "# traccia_num=5, ipod_id, pc_path, trasferita\n"
 
-#: src/prefs.c:1130
+#: src/prefs.c:1220
 #, c-format
 msgid "# autoset: set empty tag to filename?\n"
 msgstr "# impostazione: impostare un tag vuoto al posto del nome del file?\n"
 
-#: src/prefs.c:1143
+#: src/prefs.c:1235
 #, c-format
 msgid ""
 "# position of sliders (paned): playlists, above tracks,\n"
 "# between sort tabs, and in statusbar.\n"
 msgstr ""
 
-#: src/prefs.c:1178
+#: src/prefs.c:1271
 #, c-format
 msgid ""
 "# window sizes: main window, confirmation scrolled,\n"
 "#               confirmation non-scrolled, dirbrowser, prefs\n"
 msgstr ""
 
-#: src/prefs.c:1215
-msgid "Settings are not saved.\n"
-msgstr "Impostazioni non salvate.\n"
-
-#: src/prefs.c:1228
+#: src/prefs.c:1328
 #, c-format
 msgid "Unable to open '%s' for writing\n"
 msgstr "Impossibile aprire '%s' per la scrittura\n"
 
-#: src/prefs.c:1592
+#: src/prefs.c:1682
 #, c-format
 msgid ""
 " Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.\n"
@@ -3000,77 +2954,77 @@
 " Preferenze: Categoria num (%d<%d?) o blocco di ordinamento num (%d<%d?) "
 "fuori limite.\n"
 
-#: src/prefs.c:1641
+#: src/prefs.c:1731
 #, c-format
 msgid "Unable to 'mkdir %s'\n"
 msgstr "Impossibile eseguire 'mkdir %s'\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2034
+#: src/prefs.c:2157
 #, c-format
 msgid "prefs_set_toolbar_style: illegal style '%d' ignored\n"
 msgstr "prefs_set_toolbar_style: stile non legale '%d' ignorato\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2076
+#: src/prefs.c:2199
 #, c-format
 msgid "prefs_set_pm_sort: illegal type '%d' ignored\n"
 msgstr "prefs_set_pm_sort: tipo non legale '%d' ignorato\n"
 
-#: src/prefs.c:2231
+#: src/prefs.c:2354
 #, c-format
 msgid "'%s': no arguments (%%...) allowed.\n"
 msgstr "'%s': nessun argomento (%%...) permesso.\n"
 
-#: src/prefs.c:2236
+#: src/prefs.c:2359
 #, c-format
 msgid "'%s': only '%%[%s]' allowed.\n"
 msgstr "'%s': è permesso solo '%%[%s]'.\n"
 
-#: src/prefs_window.c:93
+#: src/prefs_window.c:105
 msgid "Please select command for 'Play Now'"
 msgstr "Selezionare il comando per 'Riproduci Ora'"
 
-#: src/prefs_window.c:94
+#: src/prefs_window.c:106
 msgid "Please select command for 'Enqueue'"
 msgstr "Selezionare la riga di comando per 'Metti in coda'"
 
-#: src/prefs_window.c:95
+#: src/prefs_window.c:107
 msgid "Please select the mp3gain executable"
 msgstr "Selezionare Path esatta per l'eseguibile 'mp3gain'"
 
-#: src/prefs_window.c:96
+#: src/prefs_window.c:108
 msgid "Please select command to sync contacts"
 msgstr "Selezionare il comando per sincronizzare i contatti"
 
-#: src/prefs_window.c:97
+#: src/prefs_window.c:109
 msgid "Please select command to sync calendar"
 msgstr "Sincronizzare il comando per sincronizzare i calendari"
 
-#: src/prefs_window.c:98
+#: src/prefs_window.c:110
 msgid "Select the mserv music root directory"
 msgstr "Seleziona la directory musicale radice di mserv"
 
-#: src/prefs_window.c:99
+#: src/prefs_window.c:111
 msgid "Select the mserv trackinfo root directory"
 msgstr "Seleziona la directory trackinfo radice di mserv"
 
-#: src/prefs_window.c:748
-#, c-format
+#: src/prefs_window.c:824
+#, fuzzy, c-format
 msgid ""
-"Have a look at the scripts provided in '%s'. If you write a new script, "
+"<i>Have a look at the scripts provided in '%s'. If you write a new script, "
 "please send it to jcsjcs at users.sourceforge.net for inclusion into the "
-"next release."
+"next release.</i>"
 msgstr ""
 "Consultare lo script presente in '%s'. Se scrivi un nuovo script, mandalo "
 "per favore a jcsjcs at users.sourceforge.net per la inclusione nella "
 "prossima release."
 
-#: src/prefs_window.c:1006 src/prefs_window.c:1024
+#: src/prefs_window.c:1257 src/prefs_window.c:1275
 msgid "Preferences not updated"
 msgstr "Preferenze non aggiornate"
 
-#: src/prefs_window.c:1033
+#: src/prefs_window.c:1284
 msgid "Preferences applied"
 msgstr "Preferenze applicate"
 
@@ -3188,54 +3142,51 @@
 msgid "Synchronize _iTunesDB"
 msgstr "Sincronizza l'_iTunesDB"
 
-#: gtkpod.glade:156
+#: gtkpod.glade:183
 msgid "_Update Tracks from File"
 msgstr "_Aggiorna le tracce dai file"
 
-#: gtkpod.glade:177 gtkpod.glade:229 gtkpod.glade:281 gtkpod.glade:339
-#: gtkpod.glade:391 gtkpod.glade:767 gtkpod.glade:819 gtkpod.glade:1007
-#: gtkpod.glade:1059 gtkpod.glade:1105
+#: gtkpod.glade:204 gtkpod.glade:256 gtkpod.glade:308 gtkpod.glade:366
+#: gtkpod.glade:418 gtkpod.glade:1136 gtkpod.glade:1188 gtkpod.glade:1234
 msgid "Selected _Playlist"
 msgstr "_Playlist selezionata"
 
-#: gtkpod.glade:186 gtkpod.glade:238 gtkpod.glade:290 gtkpod.glade:348
-#: gtkpod.glade:400 gtkpod.glade:776 gtkpod.glade:828 gtkpod.glade:1016
-#: gtkpod.glade:1068 gtkpod.glade:1114
+#: gtkpod.glade:213 gtkpod.glade:265 gtkpod.glade:317 gtkpod.glade:375
+#: gtkpod.glade:427 gtkpod.glade:1145 gtkpod.glade:1197 gtkpod.glade:1243
 msgid "Selected Tab _Entry"
 msgstr "Le voci nel _Blocco selezionato"
 
-#: gtkpod.glade:195 gtkpod.glade:247 gtkpod.glade:299 gtkpod.glade:357
-#: gtkpod.glade:409 gtkpod.glade:785 gtkpod.glade:837 gtkpod.glade:1025
-#: gtkpod.glade:1077 gtkpod.glade:1123
+#: gtkpod.glade:222 gtkpod.glade:274 gtkpod.glade:326 gtkpod.glade:384
+#: gtkpod.glade:436 gtkpod.glade:569 gtkpod.glade:1154 gtkpod.glade:1206
+#: gtkpod.glade:1252
 msgid "Selected _Tracks"
 msgstr "_Tracce Selezionate"
 
-#: gtkpod.glade:208
+#: gtkpod.glade:235
 msgid "Update _mserv Data from File"
 msgstr "Aggiorna i dati _mserv dai File"
 
-#: gtkpod.glade:260
+#: gtkpod.glade:287
 msgid "_Synchronize Directories"
 msgstr "_Sincronizza le directory"
 
-#: gtkpod.glade:318
-#, fuzzy
+#: gtkpod.glade:345
 msgid "_Export Tracks from Database"
-msgstr "_Aggiorna le tracce dai file"
+msgstr "_Esporta le tracce dal Database"
 
-#: gtkpod.glade:370
+#: gtkpod.glade:397
 msgid "Create _Playlist File"
 msgstr "Crea un file della _Playlist"
 
-#: gtkpod.glade:428
+#: gtkpod.glade:455
 msgid "_Offline"
 msgstr "_Offline"
 
-#: gtkpod.glade:444
+#: gtkpod.glade:471
 msgid "_Create iPod's Directories"
 msgstr "_Crea le directory dell'iPod"
 
-#: gtkpod.glade:465
+#: gtkpod.glade:492
 msgid ""
 "Find orphan files (files with no track info in DB) and dangling tracks "
 "(tracks with no corresponding files on iPOD)"
@@ -3243,942 +3194,374 @@
 "Trova i file orfani (file senza informazioni nel DB) e tracce fantasma "
 "(tracce senza file corrispondente sull'iPod)"
 
-#: gtkpod.glade:466
+#: gtkpod.glade:493
 msgid "_Check iPod's Files"
 msgstr "_Controlla i file dell'iPod"
 
-#: gtkpod.glade:494 gtkpod.glade:4973 gtkpod.glade:16459
+#: gtkpod.glade:521 gtkpod.glade:11968
 msgid "_Edit"
 msgstr "_Modifica"
 
-#: gtkpod.glade:503
+#: gtkpod.glade:551
+#, fuzzy
+msgid "Tracks in Selected _Playlist"
+msgstr "_Playlist selezionata"
+
+#: gtkpod.glade:560
+#, fuzzy
+msgid "Tracks in Selected Tab _Entry"
+msgstr "Le voci nel _Blocco selezionato"
+
+#: gtkpod.glade:591
+msgid "_Delete"
+msgstr ""
+
+#: gtkpod.glade:612
+#, fuzzy
+msgid "Selected playlist"
+msgstr "_Playlist selezionata"
+
+#: gtkpod.glade:621
+#, fuzzy
+msgid "Selected playlist including tracks from iPod"
+msgstr "Cancellata la playlist '%s' con la %d traccia appartenente."
+
+#: gtkpod.glade:630
+#, fuzzy
+msgid "Selected playlist including tracks from database"
+msgstr "Cancella le tracce incluse (Database)"
+
+#: gtkpod.glade:639
+#, fuzzy
+msgid "Selected playlist including tracks from harddisk"
+msgstr ""
+"Cancellata la playlist '%s' con la %d traccia appartenente sul disco fisso."
+
+#: gtkpod.glade:654
+#, fuzzy
+msgid "Selected filter tab entry from playlist"
+msgstr "Cancella %d traccia dalla playlist '%s'"
+
+#: gtkpod.glade:663
+#, fuzzy
+msgid "Selected filter tab entry from iPod"
+msgstr "Cancella completamente una traccia dall'iPod"
+
+#: gtkpod.glade:672
+#, fuzzy
+msgid "Selected filter tab entry from database"
+msgstr "Cancella la traccia dal database locale"
+
+#: gtkpod.glade:681
+#, fuzzy
+msgid "Selected filter tab entry from harddisk"
+msgstr "Cancella la traccia dal disco fisso"
+
+#: gtkpod.glade:696
+#, fuzzy
+msgid "Selected tracks from playlist"
+msgstr "Cancella %d traccia dalla playlist '%s'"
+
+#: gtkpod.glade:705
+#, fuzzy
+msgid "Selected tracks from iPod"
+msgstr "Cancella completamente una traccia dall'iPod"
+
+#: gtkpod.glade:714
+#, fuzzy
+msgid "Selected tracks from database"
+msgstr "Cancella la traccia dal database locale"
+
+#: gtkpod.glade:723
+#, fuzzy
+msgid "Selected tracks from harddisk"
+msgstr "Cancella la traccia dal disco fisso"
+
+#: gtkpod.glade:742
 msgid "_Create Playlists"
 msgstr "_Crea nuova Playlist"
 
-#: gtkpod.glade:524
+#: gtkpod.glade:763
 msgid "Empty Playlist"
 msgstr "Playlist Vuota"
 
-#: gtkpod.glade:542
+#: gtkpod.glade:781
 msgid "Random Playlist from Displayed Tracks"
 msgstr "Playlist random dalle tracce mostrate"
 
-#: gtkpod.glade:551
+#: gtkpod.glade:790
 msgid "Containing Displayed Tracks"
 msgstr "Contenente le tracce visualizzate"
 
-#: gtkpod.glade:560
+#: gtkpod.glade:799
 msgid "Containing Selected Tracks"
 msgstr "Contenente le tracce selezionate"
 
-#: gtkpod.glade:569
+#: gtkpod.glade:808
 msgid "One for each Artist"
 msgstr "Una per ogni Artista"
 
-#: gtkpod.glade:578
+#: gtkpod.glade:817
 msgid "One for each Album"
 msgstr "Una per ogni Album"
 
-#: gtkpod.glade:587
+#: gtkpod.glade:826
 msgid "One for each Genre"
 msgstr "Una per ogni Genere"
 
-#: gtkpod.glade:596
+#: gtkpod.glade:835
 msgid "One for each Composer"
 msgstr "Una per ogni Compositore"
 
-#: gtkpod.glade:605
+#: gtkpod.glade:844
 msgid "One for each Year"
 msgstr "Una per ogni anno"
 
-#: gtkpod.glade:614
+#: gtkpod.glade:853
 msgid "One for each Rating"
 msgstr "Una per ogni Voto"
 
-#: gtkpod.glade:623
+#: gtkpod.glade:862
 msgid "Best Rated Tracks"
 msgstr "Tracce con il voto migliore"
 
-#: gtkpod.glade:632
+#: gtkpod.glade:871
 msgid "Tracks Most Often Listened To"
 msgstr "Tracce ascoltate più spesso"
 
-#: gtkpod.glade:641
+#: gtkpod.glade:880
 msgid "Most Recently Played Tracks"
 msgstr "Tracce riprodotte più recentemente"
 
-#: gtkpod.glade:650
+#: gtkpod.glade:889
 msgid "All Tracks Played Since Last Time"
 msgstr "Riprodotte dall'ultima volta"
 
-#: gtkpod.glade:659
+#: gtkpod.glade:898
 msgid "All Tracks Never Listened To"
 msgstr "Tutte le tracce mai ascoltate"
 
-#: gtkpod.glade:668
+#: gtkpod.glade:907
 msgid "All Tracks not Listed in any Playlist"
 msgstr "Tutte le tracce non contenute in una Playlist"
 
-#: gtkpod.glade:681
+#: gtkpod.glade:920
 msgid "Randomize Current Playlist"
 msgstr "Rendi random la playlist corrente"
 
-#: gtkpod.glade:696
+#: gtkpod.glade:935
 msgid "_Sorting"
 msgstr "_Ordinamento"
 
-#: gtkpod.glade:718
+#: gtkpod.glade:957
 msgid "_Save Displayed Track Order"
 msgstr "_Salva l'ordine delle tracce"
 
-#: gtkpod.glade:746
-msgid "_Delete But Keep Tracks"
-msgstr "_Cancella ma preserva le tracce"
-
-#: gtkpod.glade:798
-msgid "_Delete Completely From iPod"
-msgstr "_Cancella completamente dall'iPod"
-
-#: gtkpod.glade:856
+#: gtkpod.glade:985
 msgid "_Edit Preferences"
 msgstr "_Modifica le preferenze"
 
-#: gtkpod.glade:882
+#: gtkpod.glade:1011
 msgid "_View"
 msgstr "_Visualizza"
 
-#: gtkpod.glade:891
+#: gtkpod.glade:1020
 msgid "_Toolbar"
 msgstr "_Barra degli strumenti"
 
-#: gtkpod.glade:901
+#: gtkpod.glade:1030
 msgid "_Tooltips"
 msgstr "_Suggerimenti"
 
-#: gtkpod.glade:911
+#: gtkpod.glade:1040
 msgid "_Info Window"
 msgstr "_Finestra di informazioni"
 
-#: gtkpod.glade:922
+#: gtkpod.glade:1051
 msgid "_More Sort Tabs"
 msgstr "_Più blocchi di ordinamento"
 
-#: gtkpod.glade:943
+#: gtkpod.glade:1072
 msgid "_Less Sort Tabs"
 msgstr "_Meno blocchi di ordinamento"
 
-#: gtkpod.glade:964
+#: gtkpod.glade:1093
 msgid "_Arrange Sort Tabs"
 msgstr "_Sistema i blocchi di ordinamento"
 
-#: gtkpod.glade:977 gtkpod.glade:5636 gtkpod.glade:17156
+#: gtkpod.glade:1106 gtkpod.glade:12692
 msgid "_Tools"
 msgstr "_Strumenti"
 
-#: gtkpod.glade:986
+#: gtkpod.glade:1115
 msgid "_Play Now"
 msgstr "_Suona"
 
-#: gtkpod.glade:1038
+#: gtkpod.glade:1167
 msgid "_Enqueue"
 msgstr "_Metti in coda"
 
-#: gtkpod.glade:1096
+#: gtkpod.glade:1225
 msgid "_Normalize Volume"
 msgstr "_Normalizza il Volume"
 
-#: gtkpod.glade:1132
+#: gtkpod.glade:1261
 msgid "_Displayed Tracks"
 msgstr "_Tracce Visualizzate"
 
-#: gtkpod.glade:1141
+#: gtkpod.glade:1270
 msgid "_All Tracks"
 msgstr "_Tutte le tracce"
 
-#: gtkpod.glade:1150
+#: gtkpod.glade:1279
 msgid "_Newly Added Tracks"
 msgstr "_Tracce Nuove Aggiunte"
 
-#: gtkpod.glade:1169
+#: gtkpod.glade:1298
 msgid "Synchronise Contacts, Calendar and Notes"
 msgstr "Sincronizza Calendario, Contatti e Note"
 
-#: gtkpod.glade:1170
+#: gtkpod.glade:1299
 msgid "Synchronize All"
 msgstr "Sincronizza tutto"
 
-#: gtkpod.glade:1179
+#: gtkpod.glade:1308
 msgid "Synchronize Contacts"
 msgstr "Sincronizza i contatti"
 
-#: gtkpod.glade:1188
+#: gtkpod.glade:1317
 msgid "Synchronize Calendar"
 msgstr "Sincronizza il calendario"
 
-#: gtkpod.glade:1197
+#: gtkpod.glade:1326
 msgid "Synchronize Notes"
 msgstr "Sincronizza le Note"
 
-#: gtkpod.glade:1210
+#: gtkpod.glade:1339
 msgid "_Help"
 msgstr "_Aiuto"
 
-#: gtkpod.glade:1219
+#: gtkpod.glade:1348
 msgid "_About"
 msgstr "_A Proposito"
 
-#: gtkpod.glade:1259
+#: gtkpod.glade:1388
 msgid "Read Existing Database from Disk/iPod"
 msgstr "Leggi il database esistente dal disco/iPod"
 
-#: gtkpod.glade:1260
+#: gtkpod.glade:1389
 msgid "Read"
 msgstr "Leggi"
 
-#: gtkpod.glade:1277
+#: gtkpod.glade:1406
 msgid "Add Files or Directories"
 msgstr "Aggiungi file o directory"
 
-#: gtkpod.glade:1278
+#: gtkpod.glade:1407
 msgid "Files"
 msgstr "File"
 
-#: gtkpod.glade:1295
+#: gtkpod.glade:1424
 msgid "Add Directories Recursively"
 msgstr "Aggiungi directory ricorsivamente"
 
-#: gtkpod.glade:1296
+#: gtkpod.glade:1425
 msgid "Dirs"
 msgstr "Dir"
 
-#: gtkpod.glade:1313
+#: gtkpod.glade:1442
 msgid "Add playlist from file"
 msgstr "Aggiungi playlist dal file"
 
-#: gtkpod.glade:1331
+#: gtkpod.glade:1460
 msgid "Create New Playlist"
 msgstr "Crea nuova Playlist"
 
-#: gtkpod.glade:1332
+#: gtkpod.glade:1461
 msgid "New PL"
 msgstr "Nuova PL"
 
-#: gtkpod.glade:1349
+#: gtkpod.glade:1478
 msgid "Write Changes to Disk/iPod"
 msgstr "Scrivi le modifiche sul disco/iPod"
 
-#: gtkpod.glade:1350
+#: gtkpod.glade:1479
 msgid "Sync"
 msgstr "Sincronizza"
 
-#: gtkpod.glade:1366
+#: gtkpod.glade:1495
 msgid "Stop Display Update"
 msgstr "Ferma l'aggiornamento della visualizzazione"
 
-#: gtkpod.glade:1367
+#: gtkpod.glade:1496
 msgid "Stop"
 msgstr "Stop"
 
-#: gtkpod.glade:1540
+#: gtkpod.glade:1669
 msgid "About gtkpod"
 msgstr "A proposito di gtkpod"
 
-#: gtkpod.glade:1661
+#: gtkpod.glade:1790
 msgid "Credits"
 msgstr "Crediti"
 
-#: gtkpod.glade:1715
+#: gtkpod.glade:1844
 msgid "Translators"
 msgstr "Traduttori"
 
-#: gtkpod.glade:1770 gtkpod.glade:12719
-msgid "Preferences"
-msgstr "Preferenze"
-
-#: gtkpod.glade:1846
-msgid " iPod Mount _Point:"
-msgstr " _Punto di montaggio dell'iPod"
-
-#: gtkpod.glade:1868
-msgid ""
-"Where you mounted your iPod's filesystem. Usually '/media/ipod/' or similar."
-msgstr ""
-"Dove monti di solito il filesystem del tuo iPod. Di solito '/media/ipod' o "
-"qualcosa di simile."
-
-#: gtkpod.glade:1896
-msgid ""
-"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
-"<ipod mountpoint>' call is carried out. For more complicated arrangements "
-"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
-msgstr ""
-"All'avvio gtkpod chiamerà 'mount <punto di montaggio>', all'uscita invece "
-"'umount <punto di montaggio>'. Per arrangiamenti più complessi usare gli "
-"script ~/.gtkpod/gtkpod.in e ~/.gtkpod/gtkpod.out."
-
-#: gtkpod.glade:1898 gtkpod.glade:12890
-msgid "Handle mounting/unmounting of iPod drive"
-msgstr "Gestisci montaggio/smontaggio del drive iPod"
-
-#: gtkpod.glade:1918 gtkpod.glade:12910
-msgid "Automatically import iTunesDB on startup"
-msgstr "Importa automaticamente l'iTunesDB all'avvio"
-
-#: gtkpod.glade:1944
-msgid "Import"
-msgstr "Importa"
-
-#: gtkpod.glade:1991
-msgid " _Charset (ID3, files): "
-msgstr "_Charset (ID3, file):"
-
-#: gtkpod.glade:2022 gtkpod.glade:13047
-msgid ""
-"gtkpod expects the ID3 tags and the filenames to be in the encoding "
-"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
-"operation. 'System Charset' is the charset used by your current locale."
-msgstr ""
-"gtkpod si aspetta che i tag ID3 e i nomi dei file siano nella stessa "
-"codifica specificata qui. Puoi cambiarla per operazioni di 'aggiungi file' e "
-"'aggiungi directory'.'Codifica di sistema' è la codifica usata dal tuo "
-"sistema."
-
-#: gtkpod.glade:2059
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to update the track information. If you have chosen a wrong charset when "
-"first importing a track and want to correct it using the 'Update Track' "
-"function, you must check this option. Note: the charset info is stored in "
-"the extended information file (see 'Writing of iTunesDB' below) and tracks "
-"imported before V0.51 will have no charset stored. Instead the charset "
-"specified above will be used then."
-msgstr ""
-"Normalmente la codifica di sistema specificata al momento di importare la "
-"traccia verrà usata per aggiornare le informazioni sulla traccia. Se hai "
-"scelto la codifica sbagliata al momento della prima importazione e vuoi "
-"correggerla usando la funzione \"Aggiorna la traccia\" devi selezionare "
-"questa opzione. Nota: le informazioni sul carattere sono memorizzate nel "
-"file delle informazioni estese (vedi Esportazione) e le tracce importate "
-"prima di V0.51 non avranno codifica memorizzata, verrà quindi usata la "
-"codifica specificata qui sopra."
-
-#: gtkpod.glade:2061
-msgid ""
-"Use selected charset also when updating\n"
-" or syncing tracks"
-msgstr ""
-"Usa la codifica selezionata anche quando aggiorni\n"
-"o sincronizzi le tracce"
-
-#: gtkpod.glade:2081
-msgid "If you check this, gtkpod will descend into subdirectories recursively."
-msgstr "Se selezioni questo, gtkpod discenderà nelle directory ricorsivamente."
-
-#: gtkpod.glade:2083 gtkpod.glade:13106
-msgid "Add directories recursively"
-msgstr "Aggiungi le directory ricorsivamente"
-
-#: gtkpod.glade:2102
-msgid "Duplicate Recognition is based on a md5 hash over the file."
-msgstr "Il riconoscimento dei file duplicati è basato su un hash md5 sul file."
-
-#: gtkpod.glade:2104 gtkpod.glade:13126
-msgid "Don't allow file duplication"
-msgstr "Non permettere i file duplicati"
-
-#: gtkpod.glade:2132
-msgid ""
-"Display the list of duplicates that have been detected after adding files."
-msgstr ""
-"Mostra la lista dei duplicati che sono stati cancellati dopo l'aggiunta dei "
-"file."
-
-#: gtkpod.glade:2134 gtkpod.glade:13173
-msgid "Display info about detected duplicates"
-msgstr "Mostra informazioni sui duplicati scoperti"
-
-#: gtkpod.glade:2187
-msgid ""
-"If the filename (full path) of an existing track matches that of a track to "
-"be added, this option allows you to update the information about the "
-"existing track rather than just skipping the track altogether. No update "
-"will take place if the file hasn't changed and you have selected the 'Don't "
-"allow file duplication' option above."
-msgstr ""
-"Se il nome del file (path completo) di una traccia esistente corrisponde a "
-"quella di una traccia aggiunta, questa opzione permette di aggiornare le "
-"informazioni della traccia esistente piuttosto che aggiungere di nuovo la "
-"traccia. Il file non verrà aggiornato se non è cambiato e se è attiva "
-"l'opzione 'Non ammettere i file duplicati'."
-
-#: gtkpod.glade:2189
-msgid ""
-"When adding dirs/files, update information of\n"
-" existing tracks with identical filenames"
-msgstr ""
-"Quando aggiungi file/directory, aggiorna anche le informazioni sulle\n"
-" tracce esistenti con nome identico"
-
-#: gtkpod.glade:2218
-msgid "Display a list of tracks that could actually be updated."
-msgstr "Mostra una lista di tracce che potrebbero essere aggiornate."
-
-#: gtkpod.glade:2220 gtkpod.glade:13248
-msgid "Display info about updated tracks"
-msgstr "Mostra informazioni sulle tracce aggiornate"
-
-#: gtkpod.glade:2243
-msgid "Display a list of tracks that could not be updated."
-msgstr "Mostra una lista di tracce che non possono essere aggiornate."
-
-#: gtkpod.glade:2245 gtkpod.glade:13302
-msgid "Display info about non-updated tracks"
-msgstr "Mostra informazioni a proposito di tracce non aggiornate"
-
-#: gtkpod.glade:2287 gtkpod.glade:13328
-msgid "When syncing directories"
-msgstr "Durante la sincronizzazione delle directory"
-
-#: gtkpod.glade:2318
-msgid "Confirm list of directories"
-msgstr "Conferma la lista delle directory"
-
-#: gtkpod.glade:2341
-msgid ""
-"If you check this option, tracks that have been removed from the synced "
-"directories will be removed from the iPod as well."
-msgstr ""
-"Se selezioni questa opzione, le tracce che sono state rimosse dalle "
-"directory sincronizzate verranno rimosse anche dall'iPod."
-
-#: gtkpod.glade:2343 gtkpod.glade:13403
-msgid "Delete tracks that have been removed"
-msgstr "Cancella le tracce che sono state rimosse"
-
-#: gtkpod.glade:2366
-msgid "This is the same option as in 'Edit/Delete Confirmation'"
-msgstr "Questa è la stessa opzione in 'Edit/Conferma la cancellazione'"
-
-#: gtkpod.glade:2368 gtkpod.glade:13423
-msgid "Confirm before removing tracks"
-msgstr "Conferma prima di rimuovere le tracce"
-
-#: gtkpod.glade:2401
-msgid "Adding/Updating/Syncing"
-msgstr "Aggiungi/Aggiorna/Sincronizza"
-
-#: gtkpod.glade:2441 gtkpod.glade:13664
-msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
-msgstr "Leggi i tag dal contenuto del file (es. tag ID3 in un file MP3)"
-
-#: gtkpod.glade:2460 gtkpod.glade:13683
-msgid ""
-"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
-"several templates by a ';'. The first one matching the filename will be "
-"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
-msgstr ""
-"artista: %a, album: %A, compositore: %c, titolo: %t, genere: %G, traccia "
-"num: %TCD num: %C, year: %Y,carattere di escape: %*, il carattere '%': %%. "
-"Puoi separare diverse maschere usando ';'. Verrà usata la prima "
-"corrispondente al nome di un file  Esempio: %a - %A/%T %t.mp;%t.wav'."
-
-#: gtkpod.glade:2462
-msgid "Use this template to parse filename for tag information"
-msgstr ""
-"Usa questa maschera per controllare il nome file per informazioni sul tag"
-
-#: gtkpod.glade:2514
-msgid "Overwrite tags that are already set."
-msgstr "Sovrascrivi i tag che sono giàimpostati."
-
-#: gtkpod.glade:2544
-msgid ""
-"As a last resort set the following tags to the filename if they are (still) "
-"empty:"
-msgstr ""
-"Come ultimo tentativo riempi i tag seguenti con il filename se sono (ancora) "
-"vuoti:"
-
-#: gtkpod.glade:2723
-msgid "Tag Reading"
-msgstr "Lettura del Tag"
-
-#: gtkpod.glade:2762 gtkpod.glade:2985 gtkpod.glade:14020 gtkpod.glade:14234
-msgid "Currently only rating is supported."
-msgstr ""
-
-#: gtkpod.glade:2764
-msgid "Use mserv database to fill in additional information"
-msgstr "Usa il database mserv per aggiungere informazioni addizionali"
-
-#: gtkpod.glade:2792
-msgid "Music Root: "
-msgstr "Radice della musica"
-
-#: gtkpod.glade:2816 gtkpod.glade:14074
-msgid "mserv database lookup will be done for music in this directory."
-msgstr "Verrà consultato il database mserv per la musica in questa directory."
-
-#: gtkpod.glade:2839 gtkpod.glade:2904 gtkpod.glade:5076 gtkpod.glade:5147
-#: gtkpod.glade:5261 gtkpod.glade:5405 gtkpod.glade:5476 gtkpod.glade:5547
-msgid "..."
-msgstr "..."
-
-#: gtkpod.glade:2857
-msgid "mserv Root: "
-msgstr "radice del mserv"
-
-#: gtkpod.glade:2881 gtkpod.glade:14120
-msgid "Root directory of mserv database (trackinfo root)."
-msgstr "Directory radice del database mserv (radice del trackinfo)."
-
-#: gtkpod.glade:2922
-msgid "Username: "
-msgstr "Nome utente: "
-
-#: gtkpod.glade:2946 gtkpod.glade:14166
-msgid "Username to be used for mserv database lookup."
-msgstr "Nome utente da utilizzare per la consultazione del database mserv"
-
-#: gtkpod.glade:2987 gtkpod.glade:14236
-msgid "Show information about problems when accessing mserv"
-msgstr "Mostra informazioni sui problemi nell'accesso a mserv"
-
-#: gtkpod.glade:3030
-msgid "mserv"
-msgstr "mserv"
-
-#: gtkpod.glade:3070 gtkpod.glade:13531
-msgid ""
-"Highly recommended for faster import when taking advantage of the "
-"duplication recognition. Also, having the PC filenames allows writing "
-"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
-"case of file system corruption (change the \"transferred=\" entries in your "
-"backuped database)."
-msgstr ""
-"È altamente raccomandato per importazioni più veloci se si usa il "
-"riconoscimento dei duplicati. Inoltre, avere il nome del file permette di "
-"scrivere i tag ID3 cambiati anche sul disco, e perfino di ricostruire il "
-"contenuto dell'iPod nel caso di corruzioni del filesystem (cambia la voce "
-"\"transferred=\" nel backup del database)."
-
-#: gtkpod.glade:3072 gtkpod.glade:13533
-msgid ""
-"Write extended information (PC filenames,\n"
-" MD5 hashes, charset). Recommended."
-msgstr ""
-"Scrivi informazioni estese (nome del file sul PC,\n"
-" hash MD5, codifica dei caratteri). Raccomandato."
-
-#: gtkpod.glade:3103
-msgid "Sync (Writing of iTunesDB)"
-msgstr "Sincronizzazione (scrittura dell'iTunesDB)"
-
-#: gtkpod.glade:3143
-msgid "_Input/Output"
-msgstr "_Ingresso/Uscita"
-
-#: gtkpod.glade:3270
-msgid "Relative volume adjustment between -100 and +100"
-msgstr "Livellamento relativo del volume tra -100 e +100"
-
-#: gtkpod.glade:3795
-msgid "Displayed Track Attributes "
-msgstr "Attributi delle tracce visualizzati "
-
-#: gtkpod.glade:3842
-msgid " _Number of sort tabs: "
-msgstr "_Numero dei blocchi di ordinamento"
-
-#: gtkpod.glade:3899
-msgid "Sort Tabs"
-msgstr "Blocchi di ordinamento"
-
-#: gtkpod.glade:3939 gtkpod.glade:15168
-msgid ""
-"If you don't select the master playlist automatically, the initial database "
-"import is much faster because the display dosn't have to be updated."
-msgstr ""
-"Se non selezioni la playlist principale automaticamente, l'importazione "
-"iniziale del database sarà molto più veloce perchè non verrà aggiornata "
-"l'interfaccia."
-
-#: gtkpod.glade:3941 gtkpod.glade:15170
-msgid "...master playlist"
-msgstr "...playlist principale"
-
-#: gtkpod.glade:3961 gtkpod.glade:15190
-msgid "...entry 'All' in sort tab..."
-msgstr "...voce 'Tutti' nel blocco di ordinamento..."
-
-#: gtkpod.glade:4018
-msgid "Automatically select..."
-msgstr "Seleziona automaticamente..."
-
-#: gtkpod.glade:4059 gtkpod.glade:15447
-msgid "Display toolbar..."
-msgstr "Mostra la barra degli strumenti..."
-
-#: gtkpod.glade:4088 gtkpod.glade:15541
-msgid "...both as icons and text"
-msgstr "...con icone e testo"
-
-#: gtkpod.glade:4112 gtkpod.glade:15520
-msgid "...as text"
-msgstr "...con testo"
-
-#: gtkpod.glade:4137 gtkpod.glade:15500
-msgid "...as icons"
-msgstr "...con icone"
-
-#: gtkpod.glade:4175
-msgid "Toolbar"
-msgstr "Barra degli strumenti"
-
-#: gtkpod.glade:4216 gtkpod.glade:15326
-msgid "Display tooltips in main window"
-msgstr "Mostra i suggerimenti nella finestra principale"
-
-#: gtkpod.glade:4236 gtkpod.glade:15346
-msgid "Display tooltips in prefs window"
-msgstr "Mostra i suggerimenti nella finestra delle preferenze"
-
-#: gtkpod.glade:4262
-msgid "Tooltips"
-msgstr "Suggerimenti"
-
-#: gtkpod.glade:4346 gtkpod.glade:10103
-msgid "Sorting"
-msgstr "Ordinamento"
-
-#: gtkpod.glade:4378 gtkpod.glade:15656
-msgid ""
-"It is much faster to sort the display after all tracks have been added. Some "
-"people might feel irritated by this behaviour and should uncheck this option."
-msgstr ""
-"Risulta molto più veloce ordinare la visualizzazione dopo che tutte le "
-"tracce sono state aggiunte. Alcune persone possono essere irritate da questo "
-"comportamento e possono de-selezionare questa opzione."
-
-#: gtkpod.glade:4380 gtkpod.glade:15658
-msgid ""
-"Temporarily disable sorting when changing playlist\n"
-"or tab entry (faster!)"
-msgstr ""
-"Blocca temporanemente l'ordinamento mentre cambi playlist o blocco\n"
-" di voci (più veloce!)"
-
-#: gtkpod.glade:4400 gtkpod.glade:15678
-msgid ""
-"The display can be blocked after changing a selection. The display update is "
-"faster, but you have to wait until it's finished. When using this option, "
-"sorting is also temporarily disabled (see option above)."
-msgstr ""
-"La visualizzazione può essere bloccata dopo aver cambiato una selezione. "
-"L'aggiornamento della visualizzazione sarà più veloce, ma bisogna aspettare "
-"il suo completamento. Quando si usa questa opzione, anche l'ordinamento è "
-"temporaneamente disabilitato (vedere l'opzione precedente)."
-
-#: gtkpod.glade:4402 gtkpod.glade:15680
-msgid ""
-"Block display when changing playlist or tab\n"
-" entry (faster!)"
-msgstr ""
-"Blocca l'interfaccia mentre cambi playlist o blocco\n"
-" di voci (più veloce!)"
-
-#: gtkpod.glade:4422 gtkpod.glade:15700
-msgid "This option will be re-activated when you upgrade gtkpod."
-msgstr "Questa opzione verrà riattivata all'aggiornamento di gtkpod."
-
-#: gtkpod.glade:4424 gtkpod.glade:15702
-msgid "Display messages and warnings at startup"
-msgstr "Mostra messaggi e avvertimenti all'avvio"
-
-#: gtkpod.glade:4446
-msgid "Misc"
-msgstr "Misc"
-
-#: gtkpod.glade:4482 gtkpod.glade:6457
-msgid "_Display"
-msgstr "_Visualizzazione"
-
-#: gtkpod.glade:4536
-msgid ""
-"The tags are written to the files on your harddrive and on the ipod (if "
-"available)."
-msgstr ""
-"I tag vengono scritti sui file nel tuo disco e sull'iPod (se disponibile)."
-
-#: gtkpod.glade:4538 gtkpod.glade:15914
-msgid "Write ID3 tags to disk when modified in gtkpod"
-msgstr "Scrivi i tag ID3 sul disco quando vengono modificati in gtkpod"
-
-#: gtkpod.glade:4566
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to write the tags. If you have chosen a wrong charset when first importing a "
-"track, you should select this option along with the correct charset.  Note: "
-"uses the extended information file to store the charset information (see "
-"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
-"before V0.51 will have no charset stored -- the charset specified on the "
-"'Input/Output' page will be used."
-msgstr ""
-"Normalmente la codifica di sistema specificata al momento di importare la "
-"traccia verrà usata per scrivere il tag. Se hai scelto la codifica sbagliata "
-"al momento della prima importazione, devi selezionare questa opzione insieme "
-"alla codifica giusto. Nota: le informazioni sul carattere sono memorizzate "
-"nel file delle informazioni estese (vedi oltre) e le tracce importate prima "
-"della V0.51 non avranno codifica memorizzata, verrà quindi usata la codifica "
-"specificata nella sezione Importazione."
-
-#: gtkpod.glade:4568
-msgid ""
-"Use selected charset (on the 'Import' page)\n"
-" when writing tags"
-msgstr ""
-"Usa la codifica selezionata (nella pagina 'importazione')\n"
-" per la scrittura dei tag"
-
-#: gtkpod.glade:4592
-msgid ""
-"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
-"uses unicode to store the tags, so you won't have to worry about charsets "
-"any more. gtkpod will use UTF8 encoding as this will not increase the size "
-"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
-"present in the file to write to."
-msgstr ""
-"Questa è la strada da seguire, ma non tutti i programmi probabilmente la "
-"supportano già. ID3v2.4 usa unicode per memorizzare i tag, quindi non c' "
-"èpiù  bisogno di preoccuparsi dei caratteri. gtkpod userà la codifica UTF8 "
-"perchè questa non incrementerà la dimensione dei tag ASCII. I tag ID3v2.2/4 "
-"verranno scritti se sono già presenti sul file su cui si va a scrivere."
-
-#: gtkpod.glade:4594 gtkpod.glade:15988
-msgid "Always write ID3v2.4 tags (only applies to MP3)"
-msgstr "Scrivi sempre tag ID3v2.4 (vale solo per gli MP3)"
-
-#: gtkpod.glade:4624
-msgid ""
-"If you select several tracks in the track list and edit a tag of the first "
-"track, the tags in the other tracks are updated as well."
-msgstr ""
-"Se selezioni diverse tracce nella playlist e modifichi il tag della prima i "
-"tag delle altre verrà aggiornato."
-
-#: gtkpod.glade:4626
-msgid "Use 'Multi-Edit' for track selections"
-msgstr "Usa 'Multi-Edit' per le selezioni di file"
-
-#: gtkpod.glade:4654
-msgid ""
-"Usually you don't want to set the title of several tracks to the same text. "
-"This option might avoid unwanted results (especially since there is no "
-"'undo' yet)."
-msgstr ""
-"Di solito non è desiderabile usare lo stesso titolo per diverse tracce. "
-"Questa opzione può evitare effetti non voluti (specialmente vista l'assenza "
-"della opzione 'Annulla')."
-
-#: gtkpod.glade:4656 gtkpod.glade:16069
-msgid "Use 'Multi-Edit' also for title field"
-msgstr "Usa 'Multi-edit' anche per il campo titolo"
-
-#: gtkpod.glade:4689
-msgid "Track Editing"
-msgstr "Modifica della traccia"
-
-#: gtkpod.glade:4738
-msgid ""
-"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
-"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
-msgstr ""
-"Numero delle tracce nelle playlist generate 'Ascoltate più spesso', 'Tracce "
-"con il voto migliore' e 'Tracce riprodotte più recentemente'. Scegliere '0' "
-"per 'nessun limite'"
-
-#: gtkpod.glade:4762
-msgid " Number of tracks in generated playlists: "
-msgstr "_Numero dei blocchi di ordinamento"
-
-#: gtkpod.glade:4794 gtkpod.glade:16231
-msgid "Also include tracks never played in \"Best Rated\" playlist"
-msgstr ""
-"Includi le tracce mai ascoltate nella playlist \"Tracce con il voto migliore"
-"\""
-
-#: gtkpod.glade:4816
-msgid "Auto-Generated Playlists"
-msgstr "Playlist Auto-Generata"
-
-#: gtkpod.glade:4865 gtkpod.glade:16332
-msgid "Before removing playlists or tracks from a playlist"
-msgstr "Prima di rimuovere le playlist o le tracce dalla playlist"
-
-#: gtkpod.glade:4885
-msgid "Before removing tracks completely from the iPod"
-msgstr "Prima di rimuovere completamente le tracce dall'iPod"
-
-#: gtkpod.glade:4904
-msgid ""
-"This option only has a meaning if you activate the 'Delete Tracks that have "
-"been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/"
-"Output' tab."
-msgstr ""
-"Questa opzione ha senso solo se viene attivata anche l'opzione 'Cancella le "
-"tracce che sono state rimosse' nella sezione 'Aggiunta/Aggiornamento/"
-"Sincronizzazione' nella sezione 'Input/Output'."
-
-#: gtkpod.glade:4906
-msgid ""
-"Before removing tracks completely when\n"
-" synchronizing directories"
-msgstr ""
-"Prima di rimuovere completamente le tracce nella\n"
-"sincronizzazione delle directory"
-
-#: gtkpod.glade:4929
-msgid "Delete Confirmation "
-msgstr "Conferma la cancellazione"
-
-#: gtkpod.glade:5028
-msgid "Command Line for 'Play Now':"
-msgstr "Riga di comando per 'Suona ora'"
-
-#: gtkpod.glade:5055
-msgid ""
-"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
-"tracks and start playing."
-msgstr ""
-"Per esempio, 'xmms %s' cancellerà la playlist attuale di xmms, aggiungerà la "
-"traccia selezionata e comincerà a suonarla."
-
-#: gtkpod.glade:5099
-msgid "Command Line for 'Enqueue':"
-msgstr "Riga di comando per 'Metti in coda'"
-
-#: gtkpod.glade:5126
-msgid ""
-"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
-"current playlist."
-msgstr ""
-"Per esempio, 'xmms -e %s' appenderà (in coda) la traccia selezionata alla "
-"playlist corrente di xmms."
-
-#: gtkpod.glade:5172
-msgid "Track Playing"
-msgstr "Traccia in riproduzione"
-
-#: gtkpod.glade:5213
-msgid "Exact path for the 'mp3gain' executable:"
-msgstr "Path esatta per l'eseguibile 'mp3gain'"
-
-#: gtkpod.glade:5240
-msgid ""
-"You only need to specify this if your 'mp3gain' executable is not in your "
-"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
-"calculated gain value back to the file -- if you don't want this, set this "
-"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
-"are not already set by your encoder. E.g. lame version 0.95 already writes "
-"the gain values into tags. The exact conversion factor between mp3gain's "
-"gain value and iPod's volume tag is not known yet -- your input is "
-"appreciated."
-msgstr ""
-"Si deve specificare solo se se l'eseguibile 'mp3gain' non è nella path di "
-"default. Esempio: '/usr/local/foo/mp3gain'. mp3gain scriverà il valore del "
-"guadagno calcolato direttamente sul file -- se non lo vuoi modifica questa "
-"voce con /bin/true o qualcosa di simile. mp3gain è richiamato solo se non "
-"sono statiimpostati impostati i tag giusti dal tuo encoder. Es.  lame "
-"versione 0.95 già scrive il valore del guadagno nei tag. Il fattore di "
-"conversione tra il valore del guadagno di mp3gain e il tag del volume "
-"dell'iPod non è ancora conosciuto -- il tuo contributo è gradito."
-
-#: gtkpod.glade:5294
-msgid "Volume Normalization"
-msgstr "Normalizzazione del volume"
-
-#: gtkpod.glade:5357
-msgid "Command to synchronize contacts:"
-msgstr "Comando per sincronizzare i contatti:"
-
-#: gtkpod.glade:5384 gtkpod.glade:5455 gtkpod.glade:5526
-msgid ""
-"Specify exact path including command line options. '%i' will be replaced "
-"with the mount point of the iPod."
-msgstr ""
-"Specificare la path esatta incluse le opzioni della linea di comando. '%i' "
-"verrà sostituito con il punto di montaggio dell'iPod."
-
-#: gtkpod.glade:5428
-msgid "Command to be called to synchronize calendar:"
-msgstr "Comando da richiamare per la sincronizzazione dei calendari:"
-
-#: gtkpod.glade:5499
-msgid "Command to be called to synchronize notes:"
-msgstr "Comando da richiamare per la sincronizzazione delle note:"
-
-#: gtkpod.glade:5570 gtkpod.glade:17110
-msgid "Call automatically when synchronizing iTunesDB"
-msgstr "Chiama automaticamente mentre sincronizzi l'iTunesDB"
-
-#: gtkpod.glade:5592
-msgid "Contacts / Calendar / Notes"
-msgstr "Contatti / Calendari / Note"
-
-#: gtkpod.glade:5716
+#: gtkpod.glade:1898
 msgid "special_sorttab -- Don't translate!"
 msgstr ""
 
-#: gtkpod.glade:5750
+#: gtkpod.glade:1932
 msgid " Logic: "
 msgstr "Operatori logici:"
 
-#: gtkpod.glade:5772
+#: gtkpod.glade:1954
 msgid "Any (OR)"
 msgstr "Ogni (OR)"
 
-#: gtkpod.glade:5791
+#: gtkpod.glade:1973
 msgid "All (AND)"
 msgstr "Tutti (AND)"
 
-#: gtkpod.glade:5844
+#: gtkpod.glade:2026
 msgid "0"
 msgstr "0"
 
-#: gtkpod.glade:5863
+#: gtkpod.glade:2045
 msgid "1"
 msgstr "1"
 
-#: gtkpod.glade:5882
+#: gtkpod.glade:2064
 msgid "2"
 msgstr "2"
 
-#: gtkpod.glade:5901
+#: gtkpod.glade:2083
 msgid "3"
 msgstr "3"
 
-#: gtkpod.glade:5920
+#: gtkpod.glade:2102
 msgid "4"
 msgstr "4"
 
-#: gtkpod.glade:5939
+#: gtkpod.glade:2121
 msgid "5"
 msgstr "5"
 
-#: gtkpod.glade:5978
+#: gtkpod.glade:2160
 msgid "Select '0' for no lower limit."
 msgstr "Seleziona '0' per eliminare il limite inferiore."
 
-#: gtkpod.glade:5999
+#: gtkpod.glade:2181
 msgid " <= cts <= "
 msgstr " <= cts <= "
 
-#: gtkpod.glade:6020
+#: gtkpod.glade:2202
 msgid "Select '-1' for no upper limit."
 msgstr "Seleziona '-l' per nessun limite superire"
 
-#: gtkpod.glade:6063 gtkpod.glade:6136 gtkpod.glade:6302
+#: gtkpod.glade:2245 gtkpod.glade:2318 gtkpod.glade:2484
 msgid ""
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
 "finished."
@@ -4186,19 +3569,23 @@
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' o simile. Premi 'enter' quando hai "
 "finito."
 
-#: gtkpod.glade:6105 gtkpod.glade:6178 gtkpod.glade:6344 gtkpod.glade:6519
+#: gtkpod.glade:2287 gtkpod.glade:2360 gtkpod.glade:2526 gtkpod.glade:2701
 msgid "Calendar"
 msgstr "Calendario"
 
-#: gtkpod.glade:6203
+#: gtkpod.glade:2385
 msgid "Specify interval"
 msgstr "Specifica l'intervallo"
 
-#: gtkpod.glade:6414
+#: gtkpod.glade:2596
 msgid "Display tracks that match the criteria entered above."
 msgstr "Mostra le tracce che corrispondono ai criteri entrati qui sopra."
 
-#: gtkpod.glade:6489
+#: gtkpod.glade:2639 gtkpod.glade:11330
+msgid "_Display"
+msgstr "_Visualizzazione"
+
+#: gtkpod.glade:2671
 msgid ""
 "Automatically start displaying tracks that match the criteria entered above. "
 "If not selected, you must press 'Display' to start displaying."
@@ -4207,118 +3594,111 @@
 "specificati qui sopra. Se non selezionati, devi premere 'Mostra' per "
 "attivare la visualizzazione"
 
-#: gtkpod.glade:6491
+#: gtkpod.glade:2673
 msgid "Start display automatically"
 msgstr "Far partire la visualizzazione automaticamente "
 
-#: gtkpod.glade:6564
+#: gtkpod.glade:2746
 msgid "Sorttab: "
 msgstr "Blocco di ordinamento: "
 
-#: gtkpod.glade:6604
+#: gtkpod.glade:2786
 msgid "     "
 msgstr "     "
 
-#: gtkpod.glade:6626
+#: gtkpod.glade:2808
 msgid "Category: "
 msgstr "Categoria: "
 
-#: gtkpod.glade:6703
+#: gtkpod.glade:2885
 msgid "Please specify a time interval"
 msgstr "Specifica un intervallo di tempo"
 
-#: gtkpod.glade:6748
+#: gtkpod.glade:2930
 msgid "Lower Margin"
 msgstr "Margine inferiore"
 
-#: gtkpod.glade:6795 gtkpod.glade:7001
+#: gtkpod.glade:2977 gtkpod.glade:3183
 msgid "Time:"
 msgstr "Durata:"
 
-#: gtkpod.glade:6838 gtkpod.glade:7044
+#: gtkpod.glade:3020 gtkpod.glade:3226
 msgid ":"
 msgstr ":"
 
-#: gtkpod.glade:6911
+#: gtkpod.glade:3093
 msgid "No lower margin"
 msgstr "Nessun margine inferiore"
 
-#: gtkpod.glade:6954
+#: gtkpod.glade:3136
 msgid "Upper margin"
 msgstr "Margine superiore"
 
-#: gtkpod.glade:7117
+#: gtkpod.glade:3299
 msgid "No upper margin"
 msgstr "Nessun margine superiore"
 
-#: gtkpod.glade:7215 gtkpod.glade:8858
+#: gtkpod.glade:3397
 msgid "Sorting Options"
 msgstr "Opzioni di ordinamento"
 
-#: gtkpod.glade:7245
-#, fuzzy
+#: gtkpod.glade:3427
 msgid "<b>Sort Order</b>"
 msgstr "<b>Blocchi di ordinamento</b>"
 
-#: gtkpod.glade:7272 gtkpod.glade:8522 gtkpod.glade:12807 gtkpod.glade:12983
-#: gtkpod.glade:13151 gtkpod.glade:13226 gtkpod.glade:13280 gtkpod.glade:13355
-#: gtkpod.glade:13510 gtkpod.glade:13636 gtkpod.glade:13710 gtkpod.glade:13993
-#: gtkpod.glade:14355 gtkpod.glade:15005 gtkpod.glade:15141 gtkpod.glade:15298
-#: gtkpod.glade:15419 gtkpod.glade:15472 gtkpod.glade:15629 gtkpod.glade:15886
-#: gtkpod.glade:15939 gtkpod.glade:16047 gtkpod.glade:16149 gtkpod.glade:16304
-#: gtkpod.glade:16518 gtkpod.glade:16737 gtkpod.glade:16874
+#: gtkpod.glade:3454 gtkpod.glade:4704 gtkpod.glade:7682 gtkpod.glade:7860
+#: gtkpod.glade:8031 gtkpod.glade:8108 gtkpod.glade:8163 gtkpod.glade:8239
+#: gtkpod.glade:8396 gtkpod.glade:8522 gtkpod.glade:8879 gtkpod.glade:9338
+#: gtkpod.glade:9700 gtkpod.glade:10487 gtkpod.glade:10644 gtkpod.glade:10801
+#: gtkpod.glade:10922 gtkpod.glade:10975 gtkpod.glade:11132 gtkpod.glade:11389
+#: gtkpod.glade:11443 gtkpod.glade:11554 gtkpod.glade:11657 gtkpod.glade:11813
+#: gtkpod.glade:12027 gtkpod.glade:12248 gtkpod.glade:12386 gtkpod.glade:12751
+#: gtkpod.glade:12869 gtkpod.glade:13043 gtkpod.glade:13278 gtkpod.glade:13380
 msgid "    "
 msgstr "     "
 
-#: gtkpod.glade:7300
-#, fuzzy
+#: gtkpod.glade:3482
 msgid ""
 "In order to save the displayed track order to the iPod choose 'Save "
 "Displayed Track Order' from the 'Edit' menu or select 'Auto Store' below."
 msgstr ""
-"Nota: l'ordine delle tracce è sempre contenuto nell'iPod se si usa il drag "
-"and drop per sistemare le tracce.\n"
-"Per memorizzare l'ordine alfabetico delle tracce nell'iPod devi selezionare "
-"'Salva l'ordine delle tracce' dal menù 'Modifica' o selezionare 'Auto Store' "
+"Per memorizzare sull'iPod l'ordine delle tracce come visualizzato scegliete "
+"'Salva l'ordine delle tracce' dal menù 'Modifica' o selezionare'Auto Store' "
 "sopra."
 
-#: gtkpod.glade:7683 gtkpod.glade:9257
+#: gtkpod.glade:3865
 msgid "Ascending"
 msgstr "Ascendente"
 
-#: gtkpod.glade:7727 gtkpod.glade:9301
+#: gtkpod.glade:3909
 msgid "Descending"
 msgstr "Discendente"
 
-#: gtkpod.glade:7771 gtkpod.glade:9345
+#: gtkpod.glade:3953
 msgid "None"
 msgstr "Nessuno"
 
-#: gtkpod.glade:7860 gtkpod.glade:9434
+#: gtkpod.glade:4042
 msgid "Sorttabs"
 msgstr "Blocco di ordinamento: "
 
-#: gtkpod.glade:7905 gtkpod.glade:9479
+#: gtkpod.glade:4087
 msgid "Tracks"
 msgstr "Tracce"
 
-#: gtkpod.glade:8058 gtkpod.glade:9632
+#: gtkpod.glade:4240
 msgid "Auto Store"
 msgstr "Salvataggio automatico"
 
-#: gtkpod.glade:8103 gtkpod.glade:8149 gtkpod.glade:9677 gtkpod.glade:9723
+#: gtkpod.glade:4285 gtkpod.glade:4331
 msgid "Please refer to the notice below."
 msgstr "Per favore, consultare la nota precedente."
 
-#: gtkpod.glade:8183 gtkpod.glade:9757
-msgid "n/a"
-msgstr "n.d."
-
-#: gtkpod.glade:8381 gtkpod.glade:9955
+#: gtkpod.glade:4563
 msgid "Sort tracks according to: "
 msgstr "Ordina le tracce secondo: "
 
-#: gtkpod.glade:8411 gtkpod.glade:9985
+#: gtkpod.glade:4593
 msgid ""
 "You can also use the table headers, but this allows you to sort according to "
 "a column that is not displayed."
@@ -4326,7 +3706,7 @@
 "C'è la possibilità di utilizzare l'intestazione della tabella, questo metodo "
 "permette però l'ordinamento anche secondo colonne che non vengono mostrate"
 
-#: gtkpod.glade:8447 gtkpod.glade:10032
+#: gtkpod.glade:4629
 msgid ""
 "If checked, sorting will be case sensitive. Please note that case sensitive "
 "sorting will not work well with most charsets."
@@ -4334,78 +3714,64 @@
 "Se selezionata, l'ordinamento sarà case sensitive. Nota: l'ordinamento case "
 "sensitive non funziona bene con la maggior parte delle codifiche."
 
-#: gtkpod.glade:8449 gtkpod.glade:10034
+#: gtkpod.glade:4631
 msgid "Sorting case sensitive"
 msgstr "Ordinamento case sensitive"
 
-#: gtkpod.glade:8495
+#: gtkpod.glade:4677
 msgid "<b>Ignore Frequent Words</b>"
-msgstr ""
+msgstr "<b>Ignora le parole frequenti</b>"
 
-#: gtkpod.glade:8587
+#: gtkpod.glade:4769
 msgid "Ignore these words when at the beginning of the following fields:"
-msgstr ""
+msgstr "Ignora le seguenti parole se sono all'inizio dei campi seguetti:"
 
-#: gtkpod.glade:10071
-msgid ""
-"Notice: the track order is always stored to the iPod when you use drag and "
-"drop to re-arrange the tracks.\n"
-"In order to store an alphabetized track order to the iPod you must choose "
-"the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' "
-"above."
-msgstr ""
-"Nota: l'ordine delle tracce è sempre contenuto nell'iPod se si usa il drag "
-"and drop per sistemare le tracce.\n"
-"Per memorizzare l'ordine alfabetico delle tracce nell'iPod devi selezionare "
-"'Salva l'ordine delle tracce' dal menù 'Modifica' o selezionare 'Auto Store' "
-"sopra."
-
-#: gtkpod.glade:10183
+#: gtkpod.glade:5040
 msgid "gtkpod Info"
 msgstr "informazioni su gtkpod"
 
-#: gtkpod.glade:10482 gtkpod.glade:10557 gtkpod.glade:10582 gtkpod.glade:11208
-#: gtkpod.glade:11341
+#: gtkpod.glade:5339 gtkpod.glade:5414 gtkpod.glade:5439 gtkpod.glade:6065
+#: gtkpod.glade:6198
 msgid "      "
 msgstr "      "
 
-#: gtkpod.glade:10835
+#: gtkpod.glade:5692
 msgid "Number of tracks"
 msgstr "Numero di tracce"
 
-#: gtkpod.glade:10861
+#: gtkpod.glade:5718
 msgid "Play time"
 msgstr "Durata"
 
-#: gtkpod.glade:10888
+#: gtkpod.glade:5745
 msgid "File size"
 msgstr "Dimensione"
 
-#: gtkpod.glade:10914
+#: gtkpod.glade:5771
 msgid "Number of playlists"
 msgstr "Numero delle playlist"
 
-#: gtkpod.glade:10940
+#: gtkpod.glade:5797
 msgid "Deleted tracks"
 msgstr "_Tracce Cancellate"
 
-#: gtkpod.glade:10966
+#: gtkpod.glade:5823
 msgid "File size (deleted)"
 msgstr "Dimensione dei file (cancellatinon trasferiti)"
 
-#: gtkpod.glade:10992
+#: gtkpod.glade:5849
 msgid "Non-transferred tracks"
 msgstr "Tracce non trasferite"
 
-#: gtkpod.glade:11018
+#: gtkpod.glade:5875
 msgid "File size (non-transferred)"
 msgstr "Dimensione dei file (non trasferiti)"
 
-#: gtkpod.glade:11044
+#: gtkpod.glade:5901
 msgid "Effective free space"
-msgstr ""
+msgstr "Spazio libero effettivo"
 
-#: gtkpod.glade:11070
+#: gtkpod.glade:5927
 msgid ""
 "Total\n"
 "(iPod)"
@@ -4413,7 +3779,7 @@
 "Totale\n"
 "(iPod)"
 
-#: gtkpod.glade:11098
+#: gtkpod.glade:5955
 msgid ""
 "Selected\n"
 "Playlist"
@@ -4421,7 +3787,7 @@
 "Playlist\n"
 "selezionata"
 
-#: gtkpod.glade:11126
+#: gtkpod.glade:5983
 msgid ""
 "Displayed\n"
 "Tracks"
@@ -4429,7 +3795,7 @@
 "Tracce\n"
 "Visualizzate"
 
-#: gtkpod.glade:11154
+#: gtkpod.glade:6011
 msgid ""
 "Selected\n"
 "Tracks"
@@ -4437,7 +3803,7 @@
 "Tracce\n"
 "Selezionate"
 
-#: gtkpod.glade:11182
+#: gtkpod.glade:6039
 msgid ""
 "Total\n"
 "(local)"
@@ -4445,27 +3811,27 @@
 "Totale\n"
 "(locale)"
 
-#: gtkpod.glade:11579
+#: gtkpod.glade:6436
 msgid "label21"
 msgstr "label21"
 
-#: gtkpod.glade:11670
+#: gtkpod.glade:6527
 msgid "Never show this dialogue again"
 msgstr "Non mostrare mai più questa finestra"
 
-#: gtkpod.glade:11715 gtkpod.glade:12041
+#: gtkpod.glade:6572 gtkpod.glade:6898
 msgid "window1"
 msgstr "window1"
 
-#: gtkpod.glade:11772
+#: gtkpod.glade:6629
 msgid "_M3U"
 msgstr "_M3U"
 
-#: gtkpod.glade:11791
+#: gtkpod.glade:6648
 msgid "_PLS"
 msgstr "_PLS"
 
-#: gtkpod.glade:11829
+#: gtkpod.glade:6686
 msgid ""
 "If available, the local copy of the track is referenced in the playlist. "
 "Otherwise the file on the iPod is used."
@@ -4473,11 +3839,11 @@
 "Se disponibile, la copia locale della traccia è referenziata nella playlist. "
 "Altrimenti è usato il file sul iPod."
 
-#: gtkpod.glade:11831
+#: gtkpod.glade:6688
 msgid "_Prefer Local"
 msgstr "_Preferisci i file locali"
 
-#: gtkpod.glade:11849
+#: gtkpod.glade:6706
 msgid ""
 "The local copy of the track is referenced in the playlist. If the track is "
 "not available locally, an error message is displayed."
@@ -4485,31 +3851,31 @@
 "La copia locale della traccia èsegnata nella playlist. Se la traccia non è "
 "disponibile localmente, verrà mostrato un messaggio di errore."
 
-#: gtkpod.glade:11851
+#: gtkpod.glade:6708
 msgid "_Local"
 msgstr "_Locale"
 
-#: gtkpod.glade:11870
+#: gtkpod.glade:6727
 msgid "The track on the iPod is referenced in the playlist file."
 msgstr "La traccia dell'iPod è referenziata nel file della playlist."
 
-#: gtkpod.glade:11872
+#: gtkpod.glade:6729
 msgid "_iPod"
 msgstr "_iPod"
 
-#: gtkpod.glade:11905
+#: gtkpod.glade:6762
 msgid "Playlist type:"
 msgstr "Tipo delle playlist:"
 
-#: gtkpod.glade:11930
+#: gtkpod.glade:6787
 msgid "Source:"
 msgstr "Sorgente:"
 
-#: gtkpod.glade:11969
+#: gtkpod.glade:6826
 msgid "Template for info field: "
 msgstr "Maschera per il campo delle informazioni: "
 
-#: gtkpod.glade:11990
+#: gtkpod.glade:6847
 msgid ""
 "Determines how the string for the info field should be constructed, e.g '%a/%"
 "A/%T - %t.mp3' or '%o'.  You can separate several templates by semicolons -- "
@@ -4525,15 +3891,15 @@
 "num disco: %C, anno: %Y, nome del file originale (necessita del file delle "
 "informazioni estese): %o, il carattere '%': %%."
 
-#: gtkpod.glade:12021 gtkpod.glade:12251
+#: gtkpod.glade:6878 gtkpod.glade:7108
 msgid "gtkpod options"
 msgstr "opzioni di gtkpod"
 
-#: gtkpod.glade:12077
+#: gtkpod.glade:6934
 msgid "Filename Format: "
 msgstr "Formato del nome del file: "
 
-#: gtkpod.glade:12098
+#: gtkpod.glade:6955
 msgid ""
 "Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
 "mp3' or '%o'.  You can separate several patterns by semicolons -- gtkpod "
@@ -4550,11 +3916,11 @@
 "(necessita del file delle informazioni estese): %o, playlist attuale: %p, il "
 "carattere '%': %%."
 
-#: gtkpod.glade:12103
+#: gtkpod.glade:6960
 msgid " "
 msgstr " "
 
-#: gtkpod.glade:12125
+#: gtkpod.glade:6982
 msgid ""
 "Normally the charset specified when first importing the track will be used "
 "for the filename. If you set this option you can set a different charset "
@@ -4571,7 +3937,7 @@
 "Preferenze/'Scrittura del iTunesDB'). Le tracce importate prima della V0.51 "
 "non avranno alcuna codifica memorizzata. Verrà usato il charset specificato."
 
-#: gtkpod.glade:12127
+#: gtkpod.glade:6984
 msgid ""
 "Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
 "for this filename."
@@ -4579,7 +3945,7 @@
 "Usa la codifica selezionata (vedi sopra: 'Aggiungi/Aggiorna/ Sincronizza')\n"
 " per questo file."
 
-#: gtkpod.glade:12146
+#: gtkpod.glade:7003
 msgid ""
 "When copying from iPod no check is performed on whether the destination file "
 "exists. Enabling this option will make gtkpod check whether the length of "
@@ -4592,104 +3958,287 @@
 "sull'iPod. Se fosse così il file verrà saltato, permettendo una veloce "
 "sincronizzazione del contenuto dell'iPod."
 
-#: gtkpod.glade:12148
+#: gtkpod.glade:7005
 msgid "Check for existing files when copying from iPod."
 msgstr "Controlla i file esistenti quando copi dall'iPod."
 
-#: gtkpod.glade:12312
+#: gtkpod.glade:7169
 msgid "Playlist name:"
 msgstr "Nome della playlist:"
 
-#: gtkpod.glade:12377
+#: gtkpod.glade:7234
 msgid "Match al_l of the following"
 msgstr "Confronta tut_ti i seguenti"
 
-#: gtkpod.glade:12396
+#: gtkpod.glade:7253
 msgid "Match an_y of the following"
 msgstr "Confronta uno quals_iasi dei seguenti"
 
-#: gtkpod.glade:12416
+#: gtkpod.glade:7273
 msgid "_Ignore rules"
 msgstr "_Ignora le regole"
 
-#: gtkpod.glade:12468
+#: gtkpod.glade:7343
 msgid "Rules"
 msgstr "Regole"
 
-#: gtkpod.glade:12501
+#: gtkpod.glade:7376
 msgid "_Limit to"
 msgstr "_Limita a"
 
-#: gtkpod.glade:12550
+#: gtkpod.glade:7425
 msgid "   Sort by:"
 msgstr "   Ordina per:"
 
-#: gtkpod.glade:12596
+#: gtkpod.glade:7471
 msgid "Match only _checked tracks"
 msgstr "Confronta solo le tracce _selezionate"
 
-#: gtkpod.glade:12628
+#: gtkpod.glade:7503
 msgid "Live _updating"
 msgstr "_aggiornamente in diretta"
 
-#: gtkpod.glade:12780
+#: gtkpod.glade:7594
+msgid "Preferences"
+msgstr "Preferenze"
+
+#: gtkpod.glade:7655
 msgid "<b>Import</b>"
 msgstr "<b>Importa</b>"
 
-#: gtkpod.glade:12840
+#: gtkpod.glade:7715
 msgid "iPod Mount _Point:"
 msgstr " _Punto di montaggio dell'iPod"
 
-#: gtkpod.glade:12956
+#: gtkpod.glade:7737
+msgid ""
+"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
+msgstr ""
+"Dove monti di solito il filesystem del tuo iPod. Di solito '/mnt/ipod' o "
+"qualcosa di simile."
+
+#: gtkpod.glade:7765
+msgid ""
+"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
+"<ipod mountpoint>' call is carried out. For more complicated arrangements "
+"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
+msgstr ""
+"All'avvio gtkpod chiamerà 'mount <punto di montaggio>', all'uscita invece "
+"'umount <punto di montaggio>'. Per arrangiamenti più complessi usare gli "
+"script ~/.gtkpod/gtkpod.in e ~/.gtkpod/gtkpod.out."
+
+#: gtkpod.glade:7767
+msgid "Handle mounting/unmounting of iPod drive"
+msgstr "Gestisci montaggio/smontaggio del drive iPod"
+
+#: gtkpod.glade:7787
+msgid "Automatically import iTunesDB on startup"
+msgstr "Importa automaticamente l'iTunesDB all'avvio"
+
+#: gtkpod.glade:7833
 msgid "<b>Adding/Updating/Syncing</b>"
 msgstr "<b>Aggiungi/Aggiorna/Sincronizza</b>"
 
-#: gtkpod.glade:13016
-msgid "_Charset (ID3, files):"
+#: gtkpod.glade:7893
+#, fuzzy
+msgid "_Encoding (ID3, files):"
 msgstr "_Charset (ID3, file):"
 
-#: gtkpod.glade:13085
+#: gtkpod.glade:7924
 msgid ""
-"Use selected charset also when updating \n"
+"gtkpod expects the ID3 tags and the filenames to be in the encoding "
+"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
+"operation. 'System Charset' is the charset used by your current locale."
+msgstr ""
+"gtkpod si aspetta che i tag ID3 e i nomi dei file siano nella stessa "
+"codifica specificata qui. Puoi cambiarla per operazioni di 'aggiungi file' e "
+"'aggiungi directory'.'Codifica di sistema' è la codifica usata dal tuo "
+"sistema."
+
+#: gtkpod.glade:7961
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to update the track information. If you have chosen a wrong charset when "
+"first importing a track and want to correct it using the 'Update Track' "
+"function, you must check this option. Note: the charset info is stored in "
+"the extended information file (see 'Writing of iTunesDB' below) and tracks "
+"imported before V0.51 will have no charset stored. Instead the charset "
+"specified above will be used then."
+msgstr ""
+"Normalmente la codifica di sistema specificata al momento di importare la "
+"traccia verrà usata per aggiornare le informazioni sulla traccia. Se hai "
+"scelto la codifica sbagliata al momento della prima importazione e vuoi "
+"correggerla usando la funzione \"Aggiorna la traccia\" devi selezionare "
+"questa opzione. Nota: le informazioni sul carattere sono memorizzate nel "
+"file delle informazioni estese (vedi Esportazione) e le tracce importate "
+"prima di V0.51 non avranno codifica memorizzata, verrà quindi usata la "
+"codifica specificata qui sopra."
+
+#: gtkpod.glade:7963
+#, fuzzy
+msgid ""
+"Use selected encoding also when updating \n"
 "or syncing tracks"
 msgstr ""
 "Usa la codifica selezionata anche quando aggiorni \n"
 "o sincronizzi le tracce"
 
-#: gtkpod.glade:13200
+#: gtkpod.glade:7983
+msgid "If you check this, gtkpod will descend into subdirectories recursively."
+msgstr "Se selezioni questo, gtkpod discenderà nelle directory ricorsivamente."
+
+#: gtkpod.glade:7985
+msgid "Add directories recursively"
+msgstr "Aggiungi le directory ricorsivamente"
+
+#: gtkpod.glade:8004
+#, fuzzy
+msgid "Duplicate Recognition is based on a (modified) md5 hash over the file."
+msgstr "Il riconoscimento dei file duplicati è basato su un hash md5 sul file."
+
+#: gtkpod.glade:8006
+msgid "Don't allow file duplication"
+msgstr "Non permettere i file duplicati"
+
+#: gtkpod.glade:8052
 msgid ""
+"Display the list of duplicates that have been detected after adding files."
+msgstr ""
+"Mostra la lista dei duplicati che sono stati cancellati dopo l'aggiunta dei "
+"file."
+
+#: gtkpod.glade:8054
+msgid "Display info about detected duplicates"
+msgstr "Mostra informazioni sui duplicati scoperti"
+
+#: gtkpod.glade:8080
+msgid ""
+"If the filename (full path) of an existing track matches that of a track to "
+"be added, this option allows you to update the information about the "
+"existing track rather than just skipping the track altogether. No update "
+"will take place if the file hasn't changed and you have selected the 'Don't "
+"allow file duplication' option above."
+msgstr ""
+"Se il nome del file (path completo) di una traccia esistente corrisponde a "
+"quella di una traccia aggiunta, questa opzione permette di aggiornare le "
+"informazioni della traccia esistente piuttosto che aggiungere di nuovo la "
+"traccia. Il file non verrà aggiornato se non è cambiato e se è attiva "
+"l'opzione 'Non ammettere i file duplicati'."
+
+#: gtkpod.glade:8082
+msgid ""
 "When adding dirs/files, update information of\n"
 "existing tracks with identical filenames"
 msgstr ""
 "Quando aggiungi file/directory, aggiorna anche le informazioni sulle\n"
 "tracce esistenti con nome identico"
 
-#: gtkpod.glade:13383
+#: gtkpod.glade:8129
+msgid "Display a list of tracks that could actually be updated."
+msgstr "Mostra una lista di tracce che potrebbero essere aggiornate."
+
+#: gtkpod.glade:8131
+msgid "Display info about updated tracks"
+msgstr "Mostra informazioni sulle tracce aggiornate"
+
+#: gtkpod.glade:8184
+msgid "Display a list of tracks that could not be updated."
+msgstr "Mostra una lista di tracce che non possono essere aggiornate."
+
+#: gtkpod.glade:8186
+msgid "Display info about non-updated tracks"
+msgstr "Mostra informazioni a proposito di tracce non aggiornate"
+
+#: gtkpod.glade:8212
+msgid "When syncing directories"
+msgstr "Durante la sincronizzazione delle directory"
+
+#: gtkpod.glade:8267
 msgid "Confirm lists of directories"
 msgstr "Conferma la lista delle directory"
 
-#: gtkpod.glade:13483
+#: gtkpod.glade:8286
+msgid ""
+"If you check this option, tracks that have been removed from the synced "
+"directories will be removed from the iPod as well."
+msgstr ""
+"Se selezioni questa opzione, le tracce che sono state rimosse dalle "
+"directory sincronizzate verranno rimosse anche dall'iPod."
+
+#: gtkpod.glade:8288
+msgid "Delete tracks that have been removed"
+msgstr "Cancella le tracce che sono state rimosse"
+
+#: gtkpod.glade:8307
+msgid "This is the same option as in 'Edit/Delete Confirmation'"
+msgstr "Questa è la stessa opzione in 'Edit/Conferma la cancellazione'"
+
+#: gtkpod.glade:8309
+msgid "Confirm before removing tracks"
+msgstr "Conferma prima di rimuovere le tracce"
+
+#: gtkpod.glade:8369
 msgid "<b>Sync</b>"
 msgstr "<b>Sincronizza</b>"
 
-#: gtkpod.glade:13577
-msgid "General"
+#: gtkpod.glade:8417
+msgid ""
+"Highly recommended for faster import when taking advantage of the "
+"duplication recognition. Also, having the PC filenames allows writing "
+"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
+"case of file system corruption (change the \"transferred=\" entries in your "
+"backuped database)."
+msgstr ""
+"È altamente raccomandato per importazioni più veloci se si usa il "
+"riconoscimento dei duplicati. Inoltre, avere il nome del file permette di "
+"scrivere i tag ID3 cambiati anche sul disco, e perfino di ricostruire il "
+"contenuto dell'iPod nel caso di corruzioni del filesystem (cambia la voce "
+"\"transferred=\" nel backup del database)."
+
+#: gtkpod.glade:8419
+#, fuzzy
+msgid ""
+"Write extended information (PC filenames,\n"
+" MD5 hashes, encoding). Recommended."
+msgstr ""
+"Scrivi informazioni estese (nome del file sul PC,\n"
+" hash MD5, codifica dei caratteri). Raccomandato."
+
+#: gtkpod.glade:8463 gtkpod.glade:14969
+#, fuzzy
+msgid "_General"
 msgstr "Generale"
 
-#: gtkpod.glade:13609
+#: gtkpod.glade:8495
 msgid "<b>Tag Reading</b>"
 msgstr "<b>Lettura del Tag</b>"
 
-#: gtkpod.glade:13685
+#: gtkpod.glade:8550
+msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
+msgstr "Leggi i tag dal contenuto del file (es. tag ID3 in un file MP3)"
+
+#: gtkpod.glade:8569 gtkpod.glade:8906
+msgid ""
+"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
+"several templates by a ';'. The first one matching the filename will be "
+"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
+msgstr ""
+"artista: %a, album: %A, compositore: %c, titolo: %t, genere: %G, traccia "
+"num: %TCD num: %C, year: %Y,carattere di escape: %*, il carattere '%': %%. "
+"Puoi separare diverse maschere usando ';'. Verrà usata la prima "
+"corrispondente al nome di un file  Esempio: %a - %A/%T %t.mp;%t.wav'."
+
+#: gtkpod.glade:8571
 msgid "Use this template to parse filename for tag information:"
 msgstr ""
 "Usa questa maschera per controllare il nome file per informazioni sul tag"
 
-#: gtkpod.glade:13758
+#: gtkpod.glade:8644
 msgid "Overwrite tags that are already set"
 msgstr "Sovrascrivi i tag che sono giàimpostati."
 
-#: gtkpod.glade:13791
+#: gtkpod.glade:8677
 msgid ""
 "As a last resort set the following tags to the\n"
 "filename if they are (still) empty:"
@@ -4697,118 +4246,383 @@
 "Come ultimo tentativo riempi i tag seguenti con\n"
 "il filename se sono (ancora) vuoti:"
 
-#: gtkpod.glade:13966
+#: gtkpod.glade:8852
+#, fuzzy
+msgid "<b>Artwork</b>"
+msgstr "<b>Importa</b>"
+
+#: gtkpod.glade:8908
+msgid "Add artwork from file using the following template"
+msgstr ""
+
+#: gtkpod.glade:8960
+#, fuzzy
+msgid ""
+"Determines the name of the file with the cover art. You can separate several "
+"patterns by semicolons which will be tried in order. Artist: %a, album: %A, "
+"composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, "
+"original filename (requires extended information file): %o, original "
+"filename without file extension: %O, current playlist: %p, the character "
+"'%': %%."
+msgstr ""
+"Determina il nome del file della traccia che viene copiata dal iPod. es. '%A/"
+"%A/%T -%t.mp3' or '%o'. Puoi separare diverse maschere con punto e virgola  "
+"-- gtkopd determinerà quale usare a seconda dell'estensione del nome del "
+"file data. Artista: %a, album: %A, compositore: %c, titolo: %t, genere: %G, "
+"num della traccia: %T,num disco: %C, anno: %Y, nome del file originale "
+"(necessita del file delle informazioni estese): %o, playlist attuale: %p, il "
+"carattere '%': %%."
+
+#: gtkpod.glade:8981
+#, fuzzy
+msgid "<b>Examples</b>"
+msgstr "<b>Importa</b>"
+
+#: gtkpod.glade:9011
+msgid "folder.jpg"
+msgstr ""
+
+#: gtkpod.glade:9035
+msgid "folder"
+msgstr ""
+
+#: gtkpod.glade:9059
+msgid "../%A.jpg"
+msgstr ""
+
+#: gtkpod.glade:9083
+msgid "%A"
+msgstr ""
+
+#: gtkpod.glade:9107
+msgid "Use <i>folder.jpg</i> as cover art."
+msgstr ""
+
+#: gtkpod.glade:9131
+msgid "Use <i>folder.jpg</i>, <i>folder.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9155
+msgid "Use <i>&lt;Album&gt;.jpg</i> in the parent directory"
+msgstr ""
+
+#: gtkpod.glade:9179
+msgid "Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9203
+msgid "folder.jpg;%a.jpg"
+msgstr ""
+
+#: gtkpod.glade:9227
+msgid "First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i>"
+msgstr ""
+
+#: gtkpod.glade:9311
 msgid "<b>mserv</b>"
 msgstr ""
 
-#: gtkpod.glade:14022
+#: gtkpod.glade:9365 gtkpod.glade:9579
+msgid "Currently only rating is supported."
+msgstr "Attualmente solo la votazione è supportata."
+
+#: gtkpod.glade:9367
 msgid "Use mserv database to fill additional information"
 msgstr "Usa il database mserv per aggiungere informazioni addizionali"
 
-#: gtkpod.glade:14050
+#: gtkpod.glade:9395
 msgid "Music Root:"
 msgstr "Radice della musica:"
 
-#: gtkpod.glade:14096
+#: gtkpod.glade:9419
+msgid "mserv database lookup will be done for music in this directory."
+msgstr "Verrà consultato il database mserv per la musica in questa directory."
+
+#: gtkpod.glade:9441
 msgid "mserv Root:"
 msgstr "radice del mserv:"
 
-#: gtkpod.glade:14142
+#: gtkpod.glade:9465
+msgid "Root directory of mserv database (trackinfo root)."
+msgstr "Directory radice del database mserv (radice del trackinfo)."
+
+#: gtkpod.glade:9487
 msgid "Username:"
 msgstr "Nome utente:"
 
-#: gtkpod.glade:14190 gtkpod.glade:14209 gtkpod.glade:16592 gtkpod.glade:16661
-#: gtkpod.glade:16805 gtkpod.glade:16956 gtkpod.glade:17020 gtkpod.glade:17084
+#: gtkpod.glade:9511
+msgid "Username to be used for mserv database lookup."
+msgstr "Nome utente da utilizzare per la consultazione del database mserv"
+
+#: gtkpod.glade:9535 gtkpod.glade:9554 gtkpod.glade:12102 gtkpod.glade:12172
+#: gtkpod.glade:12317 gtkpod.glade:12490 gtkpod.glade:12555 gtkpod.glade:12620
 msgid "Browse"
 msgstr ""
 
-#: gtkpod.glade:14282
-msgid "Reading"
-msgstr "Lettura in corso"
+#: gtkpod.glade:9581
+msgid "Show information about problems when accessing mserv"
+msgstr "Mostra informazioni sui problemi nell'accesso a mserv"
 
-#: gtkpod.glade:14328
+#: gtkpod.glade:9627
+#, fuzzy
+msgid "_Track Info"
+msgstr "Traccia"
+
+#: gtkpod.glade:9673
 msgid "<b>Displayed Track Attributes</b>"
 msgstr "<b>Attributi delle tracce visualizzati</b>"
 
-#: gtkpod.glade:14978
+#: gtkpod.glade:10460
 msgid "<b>Sort Tabs</b>"
 msgstr "<b>Blocchi di ordinamento</b>"
 
-#: gtkpod.glade:15038
+#: gtkpod.glade:10514
+msgid "Keeps all compilation CDs grouped together in the artists sort tab."
+msgstr ""
+
+#: gtkpod.glade:10516
+msgid "Group artists on compilation CDs"
+msgstr ""
+
+#: gtkpod.glade:10541
 msgid "_Number of sort tabs:"
 msgstr "_Numero dei blocchi di ordinamento:"
 
-#: gtkpod.glade:15114
+#: gtkpod.glade:10617
 msgid "<b>Automatically select...</b>"
 msgstr "<b>Seleziona automaticamente...</b>"
 
-#: gtkpod.glade:15271
+#: gtkpod.glade:10671
+msgid ""
+"If you don't select the master playlist automatically, the initial database "
+"import is much faster because the display dosn't have to be updated."
+msgstr ""
+"Se non selezioni la playlist principale automaticamente, l'importazione "
+"iniziale del database sarà molto più veloce perchè non verrà aggiornata "
+"l'interfaccia."
+
+#: gtkpod.glade:10673
+msgid "...master playlist"
+msgstr "...playlist principale"
+
+#: gtkpod.glade:10693
+msgid "...entry 'All' in sort tab..."
+msgstr "...voce 'Tutti' nel blocco di ordinamento..."
+
+#: gtkpod.glade:10774
 msgid "<b>Tooltips</b>"
 msgstr "<b>Suggerimenti</b>"
 
-#: gtkpod.glade:15392
-#, fuzzy
+#: gtkpod.glade:10829
+msgid "Display tooltips in main window"
+msgstr "Mostra i suggerimenti nella finestra principale"
+
+#: gtkpod.glade:10849
+msgid "Display tooltips in prefs window"
+msgstr "Mostra i suggerimenti nella finestra delle preferenze"
+
+#: gtkpod.glade:10895
 msgid "<b>Toolbar</b>"
-msgstr "<b>Suggerimenti</b>"
+msgstr "<b>Barra degli Strumenti</b>"
 
-#: gtkpod.glade:15602
-#, fuzzy
+#: gtkpod.glade:10950
+msgid "Display toolbar..."
+msgstr "Mostra la barra degli strumenti..."
+
+#: gtkpod.glade:11003
+msgid "...as icons"
+msgstr "...con icone"
+
+#: gtkpod.glade:11023
+msgid "...as text"
+msgstr "...con testo"
+
+#: gtkpod.glade:11044
+msgid "...both as icons and text"
+msgstr "...con icone e testo"
+
+#: gtkpod.glade:11105
 msgid "<b>Misc</b>"
-msgstr "<b>Sincronizza</b>"
+msgstr "<b>Misc</b>"
 
-#: gtkpod.glade:15764
-#, fuzzy
+#: gtkpod.glade:11159
+msgid ""
+"It is much faster to sort the display after all tracks have been added. Some "
+"people might feel irritated by this behaviour and should uncheck this option."
+msgstr ""
+"Risulta molto più veloce ordinare la visualizzazione dopo che tutte le "
+"tracce sono state aggiunte. Alcune persone possono essere irritate da questo "
+"comportamento e possono de-selezionare questa opzione."
+
+#: gtkpod.glade:11161
+msgid ""
+"Temporarily disable sorting when changing playlist\n"
+"or tab entry (faster!)"
+msgstr ""
+"Blocca temporanemente l'ordinamento mentre cambi playlist o blocco\n"
+" di voci (più veloce!)"
+
+#: gtkpod.glade:11181
+msgid ""
+"The display can be blocked after changing a selection. The display update is "
+"faster, but you have to wait until it's finished. When using this option, "
+"sorting is also temporarily disabled (see option above)."
+msgstr ""
+"La visualizzazione può essere bloccata dopo aver cambiato una selezione. "
+"L'aggiornamento della visualizzazione sarà più veloce, ma bisogna aspettare "
+"il suo completamento. Quando si usa questa opzione, anche l'ordinamento è "
+"temporaneamente disabilitato (vedere l'opzione precedente)."
+
+#: gtkpod.glade:11183
+msgid ""
+"Block display when changing playlist or tab\n"
+" entry (faster!)"
+msgstr ""
+"Blocca l'interfaccia mentre cambi playlist o blocco\n"
+" di voci (più veloce!)"
+
+#: gtkpod.glade:11203
+msgid "This option will be re-activated when you upgrade gtkpod."
+msgstr "Questa opzione verrà riattivata all'aggiornamento di gtkpod."
+
+#: gtkpod.glade:11205
+msgid "Display messages and warnings at startup"
+msgstr "Mostra messaggi e avvertimenti all'avvio"
+
+#: gtkpod.glade:11267
 msgid "Advanced Sorting Options"
-msgstr "Opzioni di ordinamento"
+msgstr "Opzioni di ordinamento avanzate"
 
-#: gtkpod.glade:15827
-msgid "Display"
-msgstr "Visualizzazione"
-
-#: gtkpod.glade:15859
+#: gtkpod.glade:11362
 msgid "<b>Track Editing</b>"
 msgstr "<b>Modifica della traccia</b>"
 
-#: gtkpod.glade:15967
+#: gtkpod.glade:11416
 msgid ""
-"Use selected charset (on the 'General' page)\n"
+"The tags are written to the files on your harddrive and on the ipod (if "
+"available)."
+msgstr ""
+"I tag vengono scritti sui file nel tuo disco e sull'iPod (se disponibile)."
+
+#: gtkpod.glade:11418
+msgid "Write ID3 tags to disk when modified in gtkpod"
+msgstr "Scrivi i tag ID3 sul disco quando vengono modificati in gtkpod"
+
+#: gtkpod.glade:11470
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to write the tags. If you have chosen a wrong charset when first importing a "
+"track, you should select this option along with the correct charset.  Note: "
+"uses the extended information file to store the charset information (see "
+"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
+"before V0.51 will have no charset stored -- the charset specified on the "
+"'Input/Output' page will be used."
+msgstr ""
+"Normalmente la codifica di sistema specificata al momento di importare la "
+"traccia verrà usata per scrivere il tag. Se hai scelto la codifica sbagliata "
+"al momento della prima importazione, devi selezionare questa opzione insieme "
+"alla codifica giusto. Nota: le informazioni sul carattere sono memorizzate "
+"nel file delle informazioni estese (vedi oltre) e le tracce importate prima "
+"della V0.51 non avranno codifica memorizzata, verrà quindi usata la codifica "
+"specificata nella sezione Importazione."
+
+#: gtkpod.glade:11472
+#, fuzzy
+msgid ""
+"Use selected encoding (on the 'General' page)\n"
 "when writing tags"
 msgstr ""
 "Usa la codifica selezionata (nella pagina 'Generale')\n"
 " per la scrittura dei tag"
 
-#: gtkpod.glade:16022
+#: gtkpod.glade:11492
+msgid ""
+"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
+"uses unicode to store the tags, so you won't have to worry about charsets "
+"any more. gtkpod will use UTF8 encoding as this will not increase the size "
+"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
+"present in the file to write to."
+msgstr ""
+"Questa è la strada da seguire, ma non tutti i programmi probabilmente la "
+"supportano già. ID3v2.4 usa unicode per memorizzare i tag, quindi non c' "
+"èpiù  bisogno di preoccuparsi dei caratteri. gtkpod userà la codifica UTF8 "
+"perchè questa non incrementerà la dimensione dei tag ASCII. I tag ID3v2.2/4 "
+"verranno scritti se sono già presenti sul file su cui si va a scrivere."
+
+#: gtkpod.glade:11494
+msgid "Always write ID3v2.4 tags (only applies to MP3)"
+msgstr "Scrivi sempre tag ID3v2.4 (vale solo per gli MP3)"
+
+#: gtkpod.glade:11527
+msgid ""
+"If you select several tracks in the track list and edit a tag of the first "
+"track, the tags in the other tracks are updated as well."
+msgstr ""
+"Se selezioni diverse tracce nella playlist e modifichi il tag della prima i "
+"tag delle altre verrà aggiornato."
+
+#: gtkpod.glade:11529
 msgid "Use 'Multi-Edit' for tracks selections"
 msgstr "Usa 'Multi-Edit' per la selezione dei file"
 
-#: gtkpod.glade:16122
+#: gtkpod.glade:11575
+msgid ""
+"Usually you don't want to set the title of several tracks to the same text. "
+"This option might avoid unwanted results (especially since there is no "
+"'undo' yet)."
+msgstr ""
+"Di solito non è desiderabile usare lo stesso titolo per diverse tracce. "
+"Questa opzione può evitare effetti non voluti (specialmente vista l'assenza "
+"della opzione 'Annulla')."
+
+#: gtkpod.glade:11577
+msgid "Use 'Multi-Edit' also for title field"
+msgstr "Usa 'Multi-edit' anche per il campo titolo"
+
+#: gtkpod.glade:11630
 msgid "<b>Auto-Generated Playlists</b>"
 msgstr "<b>Playlist Auto-Generata</b>"
 
-#: gtkpod.glade:16182
+#: gtkpod.glade:11690
 msgid "Number of tracks in generated playlists:"
 msgstr "Numero di tracce nelle playlist generate:"
 
-#: gtkpod.glade:16277
+#: gtkpod.glade:11711
+msgid ""
+"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
+"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
+msgstr ""
+"Numero delle tracce nelle playlist generate 'Ascoltate più spesso', 'Tracce "
+"con il voto migliore' e 'Tracce riprodotte più recentemente'. Scegliere '0' "
+"per 'nessun limite'"
+
+#: gtkpod.glade:11740
+msgid "Also include tracks never played in \"Best Rated\" playlist"
+msgstr ""
+"Includi le tracce mai ascoltate nella playlist \"Tracce con il voto migliore"
+"\""
+
+#: gtkpod.glade:11786
 msgid "<b>Delete Confirmation</b>"
 msgstr "<b>Conferma la cancellazione</b>"
 
-#: gtkpod.glade:16352
-#, fuzzy
+#: gtkpod.glade:11841
+msgid "Before removing playlists or tracks from a playlist"
+msgstr "Prima di rimuovere le playlist o le tracce dalla playlist"
+
+#: gtkpod.glade:11861
 msgid "Before removing tracks from the iPod"
-msgstr "Prima di rimuovere completamente le tracce dall'iPod"
+msgstr "Prima di rimuovere le tracce dall'iPod"
 
-#: gtkpod.glade:16372
-#, fuzzy
+#: gtkpod.glade:11881
 msgid "Before removing tracks from the harddisk"
-msgstr "Prima di rimuovere completamente le tracce dall'iPod"
+msgstr "Prima di rimuovere completamente le tracce dal disco fisso"
 
-#: gtkpod.glade:16392
-#, fuzzy
+#: gtkpod.glade:11901
 msgid "Before removing tracks from the local database"
-msgstr "Prima di rimuovere completamente le tracce dall'iPod"
+msgstr "Prima di rimuovere le tracce dal database locale"
 
-#: gtkpod.glade:16412
+#: gtkpod.glade:11921
 msgid ""
 "Before removing tracks completely when\n"
 "synchronizing directories"
@@ -4816,91 +4630,432 @@
 "Prima di rimuovere completamente le tracce durante la\n"
 "sincronizzazione delle directory"
 
-#: gtkpod.glade:16491
+#: gtkpod.glade:12000
 msgid "<b>Play</b>"
 msgstr "<b>Riproduzione</b>"
 
-#: gtkpod.glade:16551
+#: gtkpod.glade:12060
 msgid "Command for 'Play now':"
 msgstr "Comando per 'Suona ora':"
 
-#: gtkpod.glade:16620
+#: gtkpod.glade:12081
+msgid ""
+"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
+"tracks and start playing."
+msgstr ""
+"Per esempio, 'xmms %s' cancellerà la playlist attuale di xmms, aggiungerà la "
+"traccia selezionata e comincerà a suonarla."
+
+#: gtkpod.glade:12130
 msgid "Command for 'Enqueue':"
 msgstr "Comando per 'Metti in coda':"
 
-#: gtkpod.glade:16710
+#: gtkpod.glade:12151
+msgid ""
+"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
+"current playlist."
+msgstr ""
+"Per esempio, 'xmms -e %s' appenderà (in coda) la traccia selezionata alla "
+"playlist corrente di xmms."
+
+#: gtkpod.glade:12221
 msgid "<b>Volume Normalization</b>"
 msgstr "<b>Normalizzazione del volume</b>"
 
-#: gtkpod.glade:16764
+#: gtkpod.glade:12275
 msgid "'mp3gain' executable:"
 msgstr "eseguibile 'mp3gain':"
 
-#: gtkpod.glade:16847
+#: gtkpod.glade:12296
+msgid ""
+"You only need to specify this if your 'mp3gain' executable is not in your "
+"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
+"calculated gain value back to the file -- if you don't want this, set this "
+"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
+"are not already set by your encoder. E.g. lame version 0.95 already writes "
+"the gain values into tags. The exact conversion factor between mp3gain's "
+"gain value and iPod's volume tag is not known yet -- your input is "
+"appreciated."
+msgstr ""
+"Si deve specificare solo se se l'eseguibile 'mp3gain' non è nella path di "
+"default. Esempio: '/usr/local/foo/mp3gain'. mp3gain scriverà il valore del "
+"guadagno calcolato direttamente sul file -- se non lo vuoi modifica questa "
+"voce con /bin/true o qualcosa di simile. mp3gain è richiamato solo se non "
+"sono statiimpostati impostati i tag giusti dal tuo encoder. Es.  lame "
+"versione 0.95 già scrive il valore del guadagno nei tag. Il fattore di "
+"conversione tra il valore del guadagno di mp3gain e il tag del volume "
+"dell'iPod non è ancora conosciuto -- il tuo contributo è gradito."
+
+#: gtkpod.glade:12359
 msgid "<b>Synchronization</b>"
 msgstr "<b>Sincronizzazione</b>"
 
-#: gtkpod.glade:16910
+#: gtkpod.glade:12443
 msgid "Contacts sync command:"
 msgstr "Comando sincronizzazione contatti:"
 
-#: gtkpod.glade:16974
+#: gtkpod.glade:12467 gtkpod.glade:12532 gtkpod.glade:12597
+msgid ""
+"Specify exact path including command line options. '%i' will be replaced "
+"with the mount point of the iPod."
+msgstr ""
+"Specificare la path esatta incluse le opzioni della linea di comando. '%i' "
+"verrà sostituito con il punto di montaggio dell'iPod."
+
+#: gtkpod.glade:12508
 msgid "Calendar sync command:"
 msgstr "Comando sincronizzazione calendario:"
 
-#: gtkpod.glade:17038
+#: gtkpod.glade:12573
 msgid "Notes sync command:"
 msgstr "Comando sincronizzazione note:"
 
-#~ msgid "Couldn't find pixmap file: %s"
-#~ msgstr "Impossibile trovare il file pixmap: %s"
+#: gtkpod.glade:12646
+msgid "Call automatically when synchronizing iTunesDB"
+msgstr "Chiama automaticamente mentre sincronizzi l'iTunesDB"
 
-#~ msgid "Copy from iPod"
-#~ msgstr "Copia dall'iPod"
+#: gtkpod.glade:12724
+msgid "<b>Podcast subscriptions</b>"
+msgstr ""
 
-#~ msgid "Copy _Tracks from iPod"
-#~ msgstr "Copia le _Tracce dall'iPod"
+#: gtkpod.glade:12799
+#, fuzzy
+msgid "Add"
+msgstr "Aggiunta"
 
-#~ msgid "Delete selected entry of which sort tab?"
-#~ msgstr "Cancellare le voci selezionate di quale blocco di ordinamento?"
+#: gtkpod.glade:12833
+#, fuzzy
+msgid "Delete"
+msgstr "_Tracce Cancellate"
 
-#~ msgid "Time played"
-#~ msgstr "Suonato il"
+#: gtkpod.glade:12899
+#, fuzzy
+msgid "Name: "
+msgstr "Nome utente: "
 
-#~ msgid "Time modified"
-#~ msgstr "Modificato il"
+#: gtkpod.glade:12923
+msgid "URL: "
+msgstr ""
 
-#~ msgid "Time added"
-#~ msgstr "Aggiounto il"
+#: gtkpod.glade:13016
+#, fuzzy
+msgid "<b>File options</b>"
+msgstr "<b>Conferma la cancellazione</b>"
 
-#~ msgid "'%s' does not exist. Ignored.\n"
-#~ msgstr "'%s' non esiste. Ignorato.\n"
+#: gtkpod.glade:13076
+msgid "Save podcasts to: "
+msgstr ""
 
-#~ msgid "Import aborted.\n"
-#~ msgstr "Importazione abortita.\n"
+#: gtkpod.glade:13131
+msgid "Delete from computer when "
+msgstr ""
 
-#~ msgid "Delete Track Completely?"
-#~ msgid_plural "Delete Tracks Completey?"
-#~ msgstr[0] "Cancella completamente la traccia?"
-#~ msgstr[1] "Cancella completamente le tracce?"
+#: gtkpod.glade:13171 gtkpod.glade:13473
+#, fuzzy
+msgid " days old"
+msgstr "giorni"
 
-#~ msgid "Cannot delete master playlist."
-#~ msgstr "Impossibile cancellare la playlist principale"
+#: gtkpod.glade:13200
+#, fuzzy
+msgid "Delete once copied to iPod"
+msgstr "Cancella completamente una traccia dall'iPod"
 
-#~ msgid "Delete Playlist?"
-#~ msgstr "Cancella la playlist?"
+#: gtkpod.glade:13226
+#, fuzzy
+msgid "Automatically fetch podcasts on startup"
+msgstr "Importa automaticamente l'iTunesDB all'avvio"
 
-#~ msgid "Select files or directories to add to '%s/%s'"
-#~ msgstr "Seleziona i file o le directory da aggiungere a '%s/%s'"
+#: gtkpod.glade:13253
+#, fuzzy
+msgid "Create podcast logfile at:"
+msgstr "Crea un File Playlist"
 
-#~ msgid "Select files or directories to add to '%s'"
-#~ msgstr "Seleziona i file o le directory da aggiungere a '%s'"
+#: gtkpod.glade:13353
+#, fuzzy
+msgid "<b>iPod options</b>"
+msgstr "<b>Suggerimenti</b>"
 
-#~ msgid "Select Playlist to add to '%s'"
-#~ msgstr "Seleziona la playlist da aggiungere a '%s'"
+#: gtkpod.glade:13408
+#, fuzzy
+msgid "Automatically sync to iPod"
+msgstr "Seleziona automaticamente..."
 
-#~ msgid "Error opening MP3 file '%s'"
-#~ msgstr "Errore nella apertura del file MP3'%s'"
+#: gtkpod.glade:13434
+#, fuzzy
+msgid "Delete from iPod when "
+msgstr "Cancella dall'iPod"
 
-#~ msgid "Free space on iPod"
-#~ msgstr "Spazio libero sull'iPod"
+#: gtkpod.glade:13502
+#, fuzzy
+msgid "Delete from iPod if podcast has been played"
+msgstr "Data e ora in cui la traccia è stata riprodotta l'ultima volta"
+
+#: gtkpod.glade:13522
+msgid "Include broadcast date in track title"
+msgstr ""
+
+#: gtkpod.glade:13542
+msgid "Set all podcast genres to 'Podcast'"
+msgstr ""
+
+#: gtkpod.glade:13588 gtkpod.glade:15341
+msgid "_Podcasts"
+msgstr ""
+
+#: gtkpod.glade:13753
+msgid ""
+"\n"
+"\n"
+msgstr ""
+
+#: gtkpod.glade:13787
+#, fuzzy
+msgid "Abort selected"
+msgstr "Nessuna traccia selezionata."
+
+#: gtkpod.glade:13803
+msgid "Abort current"
+msgstr ""
+
+#: gtkpod.glade:13819
+msgid "Abort all"
+msgstr ""
+
+#: gtkpod.glade:13843
+msgid "Details"
+msgstr ""
+
+#: gtkpod.glade:13904
+#, fuzzy
+msgid "Cover"
+msgstr "Compositore"
+
+#: gtkpod.glade:13989
+msgid "Set Cover Art"
+msgstr ""
+
+#: gtkpod.glade:14022
+msgid ""
+"If you check this, information (cover art and meta information) changed for "
+"this track will be copied to all other selected tracks as well. Use with "
+"care."
+msgstr ""
+
+#: gtkpod.glade:14068
+msgid ""
+"Change all tracks\n"
+"simultaneously"
+msgstr ""
+
+#: gtkpod.glade:14156
+msgid "Remove Cover Art"
+msgstr ""
+
+#: gtkpod.glade:16245
+msgid "_Other"
+msgstr ""
+
+#: gtkpod.glade:16535
+msgid "_Undo All"
+msgstr ""
+
+#: gtkpod.glade:16605
+#, fuzzy
+msgid "_Undo Track"
+msgstr "Tracce senza voto"
+
+#~ msgid ""
+#~ "Icons of buttons were made by Nicolas Chariot.\n"
+#~ "\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Le icone dei buttoni sono state fatte da Nicolas Chariot.\n"
+#~ "\n"
+#~ "\n"
+
+#~ msgid "Settings are not saved.\n"
+#~ msgstr "Impostazioni non salvate.\n"
+
+#~ msgid "_Delete But Keep Tracks"
+#~ msgstr "_Cancella ma preserva le tracce"
+
+#~ msgid "_Delete Completely From iPod"
+#~ msgstr "_Cancella completamente dall'iPod"
+
+#~ msgid " iPod Mount _Point:"
+#~ msgstr " _Punto di montaggio dell'iPod"
+
+#~ msgid "Import"
+#~ msgstr "Importa"
+
+#~ msgid " _Charset (ID3, files): "
+#~ msgstr "_Charset (ID3, file):"
+
+#~ msgid ""
+#~ "Use selected charset also when updating\n"
+#~ " or syncing tracks"
+#~ msgstr ""
+#~ "Usa la codifica selezionata anche quando aggiorni\n"
+#~ "o sincronizzi le tracce"
+
+#~ msgid ""
+#~ "When adding dirs/files, update information of\n"
+#~ " existing tracks with identical filenames"
+#~ msgstr ""
+#~ "Quando aggiungi file/directory, aggiorna anche le informazioni sulle\n"
+#~ " tracce esistenti con nome identico"
+
+#~ msgid "Confirm list of directories"
+#~ msgstr "Conferma la lista delle directory"
+
+#~ msgid "Adding/Updating/Syncing"
+#~ msgstr "Aggiungi/Aggiorna/Sincronizza"
+
+#~ msgid "Use this template to parse filename for tag information"
+#~ msgstr ""
+#~ "Usa questa maschera per controllare il nome file per informazioni sul tag"
+
+#~ msgid "Overwrite tags that are already set."
+#~ msgstr "Sovrascrivi i tag che sono giàimpostati."
+
+#~ msgid ""
+#~ "As a last resort set the following tags to the filename if they are "
+#~ "(still) empty:"
+#~ msgstr ""
+#~ "Come ultimo tentativo riempi i tag seguenti con il filename se sono "
+#~ "(ancora) vuoti:"
+
+#~ msgid "Tag Reading"
+#~ msgstr "Lettura del Tag"
+
+#~ msgid "Use mserv database to fill in additional information"
+#~ msgstr "Usa il database mserv per aggiungere informazioni addizionali"
+
+#~ msgid "Music Root: "
+#~ msgstr "Radice della musica"
+
+#~ msgid "..."
+#~ msgstr "..."
+
+#~ msgid "mserv Root: "
+#~ msgstr "radice del mserv"
+
+#~ msgid "mserv"
+#~ msgstr "mserv"
+
+#~ msgid "Sync (Writing of iTunesDB)"
+#~ msgstr "Sincronizzazione (scrittura dell'iTunesDB)"
+
+#~ msgid "_Input/Output"
+#~ msgstr "_Ingresso/Uscita"
+
+#~ msgid "Relative volume adjustment between -100 and +100"
+#~ msgstr "Livellamento relativo del volume tra -100 e +100"
+
+#~ msgid "Displayed Track Attributes "
+#~ msgstr "Attributi delle tracce visualizzati "
+
+#~ msgid " _Number of sort tabs: "
+#~ msgstr "_Numero dei blocchi di ordinamento"
+
+#~ msgid "Sort Tabs"
+#~ msgstr "Blocchi di ordinamento"
+
+#~ msgid "Toolbar"
+#~ msgstr "Barra degli strumenti"
+
+#~ msgid "Tooltips"
+#~ msgstr "Suggerimenti"
+
+#~ msgid "Sorting"
+#~ msgstr "Ordinamento"
+
+#~ msgid "Misc"
+#~ msgstr "Misc"
+
+#~ msgid ""
+#~ "Use selected charset (on the 'Import' page)\n"
+#~ " when writing tags"
+#~ msgstr ""
+#~ "Usa la codifica selezionata (nella pagina 'importazione')\n"
+#~ " per la scrittura dei tag"
+
+#~ msgid "Use 'Multi-Edit' for track selections"
+#~ msgstr "Usa 'Multi-Edit' per le selezioni di file"
+
+#~ msgid "Track Editing"
+#~ msgstr "Modifica della traccia"
+
+#~ msgid " Number of tracks in generated playlists: "
+#~ msgstr "_Numero dei blocchi di ordinamento"
+
+#~ msgid "Auto-Generated Playlists"
+#~ msgstr "Playlist Auto-Generata"
+
+#~ msgid "Before removing tracks completely from the iPod"
+#~ msgstr "Prima di rimuovere completamente le tracce dall'iPod"
+
+#~ msgid ""
+#~ "This option only has a meaning if you activate the 'Delete Tracks that "
+#~ "have been Removed' option in the 'Adding/Updating/Syncing' section in the "
+#~ "'Input/Output' tab."
+#~ msgstr ""
+#~ "Questa opzione ha senso solo se viene attivata anche l'opzione 'Cancella "
+#~ "le tracce che sono state rimosse' nella sezione 'Aggiunta/Aggiornamento/"
+#~ "Sincronizzazione' nella sezione 'Input/Output'."
+
+#~ msgid ""
+#~ "Before removing tracks completely when\n"
+#~ " synchronizing directories"
+#~ msgstr ""
+#~ "Prima di rimuovere completamente le tracce nella\n"
+#~ "sincronizzazione delle directory"
+
+#~ msgid "Delete Confirmation "
+#~ msgstr "Conferma la cancellazione"
+
+#~ msgid "Command Line for 'Play Now':"
+#~ msgstr "Riga di comando per 'Suona ora'"
+
+#~ msgid "Command Line for 'Enqueue':"
+#~ msgstr "Riga di comando per 'Metti in coda'"
+
+#~ msgid "Track Playing"
+#~ msgstr "Traccia in riproduzione"
+
+#~ msgid "Exact path for the 'mp3gain' executable:"
+#~ msgstr "Path esatta per l'eseguibile 'mp3gain'"
+
+#~ msgid "Volume Normalization"
+#~ msgstr "Normalizzazione del volume"
+
+#~ msgid "Command to synchronize contacts:"
+#~ msgstr "Comando per sincronizzare i contatti:"
+
+#~ msgid "Command to be called to synchronize calendar:"
+#~ msgstr "Comando da richiamare per la sincronizzazione dei calendari:"
+
+#~ msgid "Command to be called to synchronize notes:"
+#~ msgstr "Comando da richiamare per la sincronizzazione delle note:"
+
+#~ msgid "Contacts / Calendar / Notes"
+#~ msgstr "Contatti / Calendari / Note"
+
+#~ msgid ""
+#~ "Notice: the track order is always stored to the iPod when you use drag "
+#~ "and drop to re-arrange the tracks.\n"
+#~ "In order to store an alphabetized track order to the iPod you must choose "
+#~ "the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto "
+#~ "Store' above."
+#~ msgstr ""
+#~ "Nota: l'ordine delle tracce è sempre contenuto nell'iPod se si usa il "
+#~ "drag and drop per sistemare le tracce.\n"
+#~ "Per memorizzare l'ordine alfabetico delle tracce nell'iPod devi "
+#~ "selezionare 'Salva l'ordine delle tracce' dal menù 'Modifica' o "
+#~ "selezionare 'Auto Store' sopra."
+
+#~ msgid "Reading"
+#~ msgstr "Lettura in corso"
+
+#~ msgid "Display"
+#~ msgstr "Visualizzazione"

Modified: gtkpod/trunk/po/ja.gmo
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/po/ja.gmo
___________________________________________________________________
Name: svn:eol-style
   - native
Name: svn:mime-type
   + application/x-gmo

Modified: gtkpod/trunk/po/ja.po
===================================================================
--- gtkpod/trunk/po/ja.po	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/ja.po	2005-12-30 07:31:41 UTC (rev 94)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gtkpod 0.40\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-16 16:18+0900\n"
+"POT-Creation-Date: 2005-12-14 23:51+0900\n"
 "PO-Revision-Date: 2005-06-20 23:25+0900\n"
 "Last-Translator: Kentaro Fukuchi <fukuchi at users.sourceforge.net>\n"
 "Language-Team: n/a\n"
@@ -229,173 +229,243 @@
 "Another instance of gtkpod was detected. Playcount server not started.\n"
 msgstr "gtkpod ¤¬¤¹¤Ç¤ËÆ°ºîÃæ¤Ç¤¹¡£¥×¥ì¥¤¥«¥¦¥ó¥È¥µ¡¼¥Ð¡¼¤Ïµ¯Æ°¤·¤Þ¤»¤ó¡£\n"
 
-#: src/confirmation.c:363
+#: src/confirmation.c:361
 msgid "Confirmation Dialogue"
 msgstr "³Îǧ"
 
-#: src/context_menus.c:299
+#: src/context_menus.c:368 gtkpod.glade:530
 msgid "Edit"
 msgstr "ÊÔ½¸"
 
-#: src/context_menus.c:301 src/tools.c:634
+#: src/context_menus.c:370 src/tools.c:634
 msgid "Play Now"
 msgstr "º£¤¹¤°±éÁÕ"
 
-#: src/context_menus.c:303 src/tools.c:645
+#: src/context_menus.c:372 src/tools.c:645
 msgid "Enqueue"
 msgstr "±éÁÕ¥­¥å¡¼¤Ë²Ã¤¨¤ë"
 
-#: src/context_menus.c:306
+#: src/context_menus.c:375
 #, fuzzy
 msgid "Export Tracks"
 msgstr "¥½¡¼¥È¥¿¥Ö"
 
-#: src/context_menus.c:308 src/file_export.c:1091
+#: src/context_menus.c:377 src/file_export.c:1069
 msgid "Create Playlist File"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ®"
 
-#: src/context_menus.c:310
+#: src/context_menus.c:379
+msgid "Edit Details"
+msgstr ""
+
+#: src/context_menus.c:381 gtkpod.glade:12816
 msgid "Update"
 msgstr "¹¹¿·"
 
-#: src/context_menus.c:312
+#: src/context_menus.c:383
 msgid "Sync Dirs"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü"
 
-#: src/context_menus.c:314
+#: src/context_menus.c:385
 msgid "Normalize"
 msgstr "²»Î̤ÎÊ¿¶Ñ²½"
 
-#: src/context_menus.c:316
+#: src/context_menus.c:387
 msgid "Create new Playlist"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤Î¿·µ¬ºîÀ®"
 
-#: src/context_menus.c:319
+#: src/context_menus.c:390
 msgid "Edit Smart Playlist"
 msgstr "¥¹¥Þ¡¼¥È¥×¥ì¥¤¥ê¥¹¥È¤ÎÊÔ½¸"
 
-#: src/context_menus.c:325
+#: src/context_menus.c:396
 msgid "Alphabetize"
 msgstr "ʤٴ¹¤¨"
 
-#: src/context_menus.c:347
+#: src/context_menus.c:420
 msgid "Delete From iPod"
 msgstr "iPod¤«¤éºï½ü"
 
-#: src/context_menus.c:352
+#: src/context_menus.c:426
 msgid "Delete From Harddisk"
 msgstr "¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü"
 
-#: src/context_menus.c:357
+#: src/context_menus.c:432
 msgid "Delete From Database"
 msgstr "¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü"
 
-#: src/context_menus.c:362
+#: src/context_menus.c:438
 msgid "Delete From Playlist"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü"
 
-#: src/context_menus.c:371
+#: src/context_menus.c:457
 msgid "Delete Including Tracks"
 msgstr "Ãæ¤Î¶Ê¤´¤Èºï½ü"
 
-#: src/context_menus.c:376
+#: src/context_menus.c:463
 msgid "Delete Including Tracks (Harddisk)"
 msgstr "Ãæ¤Î¶Ê¤´¤Èºï½ü (¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤é)"
 
-#: src/context_menus.c:381
+#: src/context_menus.c:469
 msgid "Delete Including Tracks (Database)"
 msgstr "Ãæ¤Î¶Ê¤´¤Èºï½ü (¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é)"
 
-#: src/context_menus.c:386
+#: src/context_menus.c:475
 msgid "Delete But Keep Tracks"
 msgstr "¶Ê¤Ï»Ä¤·¤¿¤Þ¤Þºï½ü"
 
-#: src/context_menus.c:391
+#: src/context_menus.c:481
 msgid "Remove All Tracks from iPod"
 msgstr "iPod¤«¤é¶Ê¤òºï½ü"
 
-#: src/context_menus.c:396
+#: src/context_menus.c:487
 msgid "Remove All Tracks from Database"
 msgstr "¤¹¤Ù¤Æ¤Î¶Ê¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü"
 
+#: src/context_menus.c:494
+#, fuzzy
+msgid "Remove All Podcasts from iPod"
+msgstr "iPod¤«¤é¶Ê¤òºï½ü"
+
+#: src/context_menus.c:505 gtkpod.glade:156
+msgid "Update Podcasts"
+msgstr ""
+
+#: src/context_menus.c:512
+#, fuzzy
+msgid "Podcasts Preferences"
+msgstr "ÀßÄê(_E)"
+
 #: src/date_parser.l:269
 #, c-format
 msgid "Date format error: unrecognized character: '%s'\n"
 msgstr "¥Ç¡¼¥¿¥¨¥é¡¼: ¼¡¤Îʸ»ú¤Ï»ÈÍѤǤ­¤Þ¤»¤ó: '%s'\n"
 
-#: src/display.c:876
+#: src/details.c:1035 gtkpod.glade:4365
+msgid "n/a"
+msgstr "ÉÔ²Ä"
+
+#: src/details.c:1099
+#, fuzzy
+msgid "<b>n/a</b>"
+msgstr "<b>ºÆÀ¸</b>"
+
+#: src/display.c:924 src/display.c:1022 src/display.c:1071 src/display.c:1302
+#: src/display.c:1358 src/display.c:1413 src/display.c:1464 src/display.c:1628
+#: src/misc_playlist.c:274
+msgid "No playlist selected"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: src/display.c:934
+#, fuzzy
+msgid "Edit selected entry of which sort tab?"
+msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¹¹¿·¤·¤Þ¤¹¤«¡©"
+
+#. no entry selected
+#: src/display.c:941 src/misc_confirm.c:441 src/misc_track.c:1482
+msgid "No entry selected."
+msgstr "²¿¤âÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
+
+#: src/display.c:960 src/display.c:1040 src/display.c:1345 src/display.c:1401
+#: src/display.c:1452 src/display.c:1503
+msgid "No tracks selected"
+msgstr "¶Ê¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: src/display.c:1056 src/display.c:1322 src/display.c:1378 src/display.c:1430
+#: src/display.c:1481 src/display.c:1650
+#, c-format
+msgid "No entry selected in Sort Tab %d"
+msgstr "¥½¡¼¥È¥¿¥Ö %d Æâ¤Ç¤Ï²¿¤âÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: src/display.c:1095
+#, fuzzy
+msgid "Remove entry of which sort tab from database?"
+msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ¤¹¤«¡©"
+
+#: src/display.c:1103
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the iPod?"
+msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¥­¥å¡¼¤Ë²Ã¤¨¤Þ¤¹¤«¡©"
+
+#: src/display.c:1125
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from the harddisk?"
+msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¥­¥å¡¼¤Ë²Ã¤¨¤Þ¤¹¤«¡©"
+
+#: src/display.c:1155
+#, fuzzy
+msgid "Remove tracks in selected entry of which filter tab from playlist?"
+msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¥­¥å¡¼¤Ë²Ã¤¨¤Þ¤¹¤«¡©"
+
+#: src/display.c:1174
 msgid "Currently no iPod database selected"
 msgstr "iPod ¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/display.c:904 src/display.c:931
+#: src/display.c:1202 src/display.c:1229
 msgid "Update selected entry of which sort tab?"
 msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¹¹¿·¤·¤Þ¤¹¤«¡©"
 
-#: src/display.c:950
+#: src/display.c:1248
 msgid "Sync dirs of selected entry in which sort tab?"
 msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¹¹¿·¤·¤Þ¤¹¤«¡©"
 
-#: src/display.c:1004 src/display.c:1060 src/display.c:1115 src/display.c:1166
-#: src/display.c:1330 src/misc_playlist.c:274
-msgid "No playlist selected"
-msgstr "¥×¥ì¥¤¥ê¥¹¥È¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: src/display.c:1018
+#: src/display.c:1316
 msgid "Export selected entry of which sort tab?"
 msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ¤¹¤«¡©"
 
-#: src/display.c:1024 src/display.c:1080 src/display.c:1132 src/display.c:1183
-#: src/display.c:1352
-#, c-format
-msgid "No entry selected in Sort Tab %d"
-msgstr "¥½¡¼¥È¥¿¥Ö %d Æâ¤Ç¤Ï²¿¤âÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: src/display.c:1047 src/display.c:1103 src/display.c:1154 src/display.c:1205
-msgid "No tracks selected"
-msgstr "¶Ê¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: src/display.c:1074
+#: src/display.c:1372
 msgid "Create playlist file from selected entry of which sort tab?"
 msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤«¤é¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ®¤·¤Þ¤¹¤«¡©"
 
-#: src/display.c:1126
+#: src/display.c:1424
 msgid "Play tracks in selected entry of which sort tab?"
 msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¤·¤Þ¤¹¤«¡©"
 
-#: src/display.c:1177
+#: src/display.c:1475
 msgid "Enqueue tracks in selected entry of which sort tab?"
 msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¥­¥å¡¼¤Ë²Ã¤¨¤Þ¤¹¤«¡©"
 
-#: src/display.c:1342
+#: src/display.c:1640
 msgid "Normalize tracks in selected entry of which sort tab?"
 msgstr "¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤òÊ¿¶Ñ²½¤·¤Þ¤¹¤«¡©"
 
-#: src/display_itdb.c:691 src/display_itdb.c:758
+#: src/display_itdb.c:319
+#, fuzzy, c-format
+msgid "Failed to set cover art: '%s'"
+msgstr "Êݸ¤¬¤Ç¤­¤Þ¤»¤ó '%s-%s'\n"
+
+#. add podcast playlist
+#: src/display_itdb.c:843 src/display_itdb.c:871 src/display_itdb.c:975
+#: gtkpod.glade:13668
+msgid "Podcasts"
+msgstr ""
+
+#: src/display_itdb.c:845 src/display_itdb.c:941
 msgid "Local"
 msgstr ""
 
-#: src/display_itdb.c:863
+#: src/display_itdb.c:1081
 #, c-format
 msgid "Increased playcount for '%s'"
 msgstr "'%s' ¤ÎºÆÀ¸²ó¿ô¤òÁý¤ä¤·¤Þ¤·¤¿"
 
 #. give a notice on the statusbar -- otherwise the user
 #. * will never know why the drag is not possible
-#: src/display_playlists.c:494 src/display_playlists.c:536
+#: src/display_playlists.c:498 src/display_playlists.c:540
 msgid "Error: drag from iPod not possible in offline mode."
 msgstr ""
 
-#: src/display_playlists.c:563 src/display_songs.c:283
+#: src/display_playlists.c:567 src/display_songs.c:285
 #, c-format
 msgid "Copied one track"
 msgid_plural "Copied %d tracks"
 msgstr[0] "%d¶Ê¥³¥Ô¡¼¤·¤Þ¤·¤¿"
 
-#: src/display_playlists.c:852
+#: src/display_playlists.c:856
 msgid "Can't reorder sorted treeview."
 msgstr "¥½¡¼¥È¤µ¤ì¤Æ¤¤¤ë½çÈÖ¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
 
-#: src/display_playlists.c:943
+#: src/display_playlists.c:947
 #, c-format
 msgid ""
 "This DND type (%d) is not (yet) supported. If you feel implementing this "
@@ -406,21 +476,17 @@
 "¥È¤¹¤ë¤³¤È¤¬Í­ÍѤÀ¤È¤ª¹Í¤¨¤Ç¤·¤¿¤é¡¢ºî¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 "\n"
 
-#: src/display_playlists.c:1811 gtkpod.glade:7815 gtkpod.glade:9389
+#: src/display_playlists.c:1830 gtkpod.glade:3997
 msgid "Playlists"
 msgstr "ºÆÀ¸¥ê¥¹¥È"
 
-#: src/display_songs.c:278
+#: src/display_songs.c:280
 #, c-format
 msgid "Moved one track"
 msgid_plural "Moved %d tracks"
 msgstr[0] "%d¶Ê¤ò°ÜÆ°¤·¤Þ¤·¤¿"
 
-#: src/display_songs.c:1119
-msgid "Local Database"
-msgstr ""
-
-#: src/display_songs.c:1796
+#: src/display_songs.c:1669
 #, c-format
 msgid ""
 "Cannot unsort track view because of a bug in the GTK lib you are using (%d.%"
@@ -433,56 +499,66 @@
 "¤Ï¤Ç¤­¤Þ¤»¤ó¡£\n"
 "\n"
 
-#: src/display_songs.c:1985
+#: src/display_songs.c:1922
+#, fuzzy
+msgid "Rtng"
+msgstr "ɾ²Á"
+
+#: src/display_songs.c:1925
 msgid "#"
 msgstr "#"
 
-#: src/display_songs.c:1988
+#: src/display_songs.c:1928
 msgid "CD"
 msgstr ""
 
-#: src/display_songs.c:1991
+#: src/display_songs.c:1931
 msgid "ID"
 msgstr "ID"
 
-#: src/display_songs.c:1999
+#: src/display_songs.c:1934
 msgid "Trnsfrd"
 msgstr "žÁ÷ºÑ¤ß"
 
-#: src/display_songs.c:2004
+#: src/display_songs.c:1938
 msgid "Cmpl"
 msgstr ""
 
-#: src/display_songs.c:2012 src/display_spl.c:93
+#: src/display_songs.c:1942 src/display_spl.c:94
 msgid "Time"
 msgstr "±éÁÕ»þ´Ö"
 
-#: src/display_songs.c:2016
+#: src/display_songs.c:1945
 msgid "Plycnt"
 msgstr "ºÆÀ¸²ó¿ô"
 
-#: src/display_songs.c:2019 gtkpod.glade:6251
+#: src/display_songs.c:1948 gtkpod.glade:2433
 msgid "Played"
 msgstr "±éÁÕÆü"
 
-#: src/display_songs.c:2022 gtkpod.glade:6274
+#: src/display_songs.c:1951 gtkpod.glade:2456
 msgid "Modified"
 msgstr "Êѹ¹Æü"
 
-#: src/display_songs.c:2025 src/display_sorttabs.c:3040 gtkpod.glade:6369
+#: src/display_songs.c:1954 src/display_sorttabs.c:3117 gtkpod.glade:2551
 msgid "Added"
 msgstr "ÅÐÏ¿Æü"
 
-#: src/display_songs.c:2028 src/display_sorttabs.c:2785 src/display_spl.c:87
+#: src/display_songs.c:1957
+#, fuzzy
+msgid "Released"
+msgstr "Æɤ߹þ¤ß"
+
+#: src/display_songs.c:1960 src/display_sorttabs.c:2856 src/display_spl.c:88
 #: src/misc_conversion.c:85
 msgid "Year"
 msgstr "ǯ"
 
-#: src/display_songs.c:2031
+#: src/display_songs.c:1963
 msgid "Vol."
 msgstr "²»ÎÌ"
 
-#: src/display_songs.c:2034
+#: src/display_songs.c:1966
 msgid "Sndchk."
 msgstr "¥µ¥¦¥ó¥É¥Á¥§¥Ã¥¯"
 
@@ -498,295 +574,299 @@
 msgid "'Added' condition ignored because of error."
 msgstr "¡ÖÅÐÏ¿Æü¡×¤Î¾ò·ï¤Ï¥¨¥é¡¼¤Î¤¿¤á¤Ë̵»ë¤µ¤ì¤Þ¤·¤¿¡£"
 
-#: src/display_sorttabs.c:1465 src/misc_conversion.c:60
+#: src/display_sorttabs.c:1492 src/misc_conversion.c:60
 msgid "All"
 msgstr "¤¹¤Ù¤Æ"
 
-#: src/display_sorttabs.c:2770 src/display_spl.c:84 src/misc_conversion.c:62
-#: gtkpod.glade:2579 gtkpod.glade:13823
+#: src/display_sorttabs.c:1518
+#, fuzzy
+msgid "Compilations"
+msgstr "¥³¥ó¥Ô¥ì¡¼¥·¥ç¥ó"
+
+#: src/display_sorttabs.c:2841 src/display_spl.c:85 src/misc_conversion.c:62
+#: gtkpod.glade:8709
 msgid "Artist"
 msgstr "¥¢¡¼¥Æ¥£¥¹¥È"
 
 #. 0
-#: src/display_sorttabs.c:2773 src/display_spl.c:83 src/misc_conversion.c:61
-#: gtkpod.glade:2630 gtkpod.glade:13867
+#: src/display_sorttabs.c:2844 src/display_spl.c:84 src/misc_conversion.c:61
+#: gtkpod.glade:8753
 msgid "Album"
 msgstr "¥¢¥ë¥Ð¥à"
 
-#: src/display_sorttabs.c:2776 src/display_spl.c:88 src/misc_conversion.c:64
-#: gtkpod.glade:2598 gtkpod.glade:13845
+#: src/display_sorttabs.c:2847 src/display_spl.c:89 src/misc_conversion.c:64
+#: gtkpod.glade:8731
 msgid "Genre"
 msgstr "¥¸¥ã¥ó¥ë"
 
-#: src/display_sorttabs.c:2779
+#: src/display_sorttabs.c:2850
 msgid "Comp."
 msgstr "ºî¶Ê¼Ô"
 
-#: src/display_sorttabs.c:2782 src/display_spl.c:82 src/misc_conversion.c:63
-#: gtkpod.glade:2681 gtkpod.glade:13911
+#: src/display_sorttabs.c:2853 src/display_spl.c:83 src/misc_conversion.c:63
+#: gtkpod.glade:8797
 msgid "Title"
 msgstr "¥¿¥¤¥È¥ë"
 
-#: src/display_sorttabs.c:2788
+#: src/display_sorttabs.c:2859
 msgid "Special"
 msgstr "¥¹¥Ú¥·¥ã¥ë"
 
-#: src/display_sorttabs.c:3038
+#: src/display_sorttabs.c:3115
 msgid "Last Played"
 msgstr "ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü"
 
-#: src/display_sorttabs.c:3039
+#: src/display_sorttabs.c:3116
 msgid "Last Modified"
 msgstr "ºÇ¸å¤ËÊѹ¹¤·¤¿Æü"
 
-#: src/display_spl.c:63
+#: src/display_spl.c:64
 msgid "days"
 msgstr "Æü"
 
-#: src/display_spl.c:64
+#: src/display_spl.c:65
 msgid "weeks"
 msgstr "½µ"
 
-#: src/display_spl.c:65
+#: src/display_spl.c:66
 msgid "months"
 msgstr "·î"
 
-#: src/display_spl.c:72
+#: src/display_spl.c:73
 msgid "kbps"
 msgstr ""
 
-#: src/display_spl.c:73
+#: src/display_spl.c:74
 msgid "Hz"
 msgstr ""
 
-#: src/display_spl.c:74 src/display_spl.c:159 src/info.c:725
+#: src/display_spl.c:75 src/display_spl.c:160 src/info.c:732
 msgid "MB"
 msgstr ""
 
-#: src/display_spl.c:75
+#: src/display_spl.c:76
 msgid "secs"
 msgstr "ÉÃ"
 
-#: src/display_spl.c:85 src/misc_conversion.c:75
+#: src/display_spl.c:86 src/misc_conversion.c:75
 msgid "Bitrate"
 msgstr "¥Ó¥Ã¥È¥ì¡¼¥È"
 
 #. 15
-#: src/display_spl.c:86 src/misc_conversion.c:76
+#: src/display_spl.c:87 src/misc_conversion.c:76
 msgid "Samplerate"
 msgstr "¥µ¥ó¥×¥ê¥ó¥°¥ì¡¼¥È"
 
-#: src/display_spl.c:89 src/misc_conversion.c:67
+#: src/display_spl.c:90
 msgid "Kind"
 msgstr ""
 
-#: src/display_spl.c:90 src/misc_conversion.c:82
+#: src/display_spl.c:91 src/misc_conversion.c:82
 msgid "Date modified"
 msgstr "Êѹ¹Æü"
 
-#: src/display_spl.c:91
+#: src/display_spl.c:92
 msgid "Track number"
 msgstr "¶ÊÈÖ¹æ"
 
-#: src/display_spl.c:92
+#: src/display_spl.c:93
 msgid "Size"
 msgstr "¥µ¥¤¥º"
 
-#: src/display_spl.c:94 src/misc_conversion.c:65
+#: src/display_spl.c:95 src/misc_conversion.c:65
 msgid "Comment"
 msgstr "¥³¥á¥ó¥È"
 
-#: src/display_spl.c:95 src/misc_conversion.c:80
+#: src/display_spl.c:96 src/misc_conversion.c:80
 msgid "Date added"
 msgstr "ÅÐÏ¿Æü"
 
 #. 5
-#: src/display_spl.c:96 src/misc_conversion.c:66 gtkpod.glade:2649
-#: gtkpod.glade:13889
+#: src/display_spl.c:97 src/misc_conversion.c:66 gtkpod.glade:8775
 msgid "Composer"
 msgstr "ºî¶Ê¼Ô"
 
-#: src/display_spl.c:97 src/misc_conversion.c:78 gtkpod.glade:6205
+#: src/display_spl.c:98 src/misc_conversion.c:78 gtkpod.glade:2387
 msgid "Playcount"
 msgstr "ºÆÀ¸²ó¿ô"
 
-#: src/display_spl.c:98
+#: src/display_spl.c:99
 msgid "Last played"
 msgstr "ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü"
 
-#: src/display_spl.c:99
+#: src/display_spl.c:100
 msgid "Disc number"
 msgstr "CD ÈÖ¹æ"
 
-#: src/display_spl.c:100 src/misc_conversion.c:79 gtkpod.glade:6228
+#: src/display_spl.c:101 src/misc_conversion.c:79 gtkpod.glade:2410
 msgid "Rating"
 msgstr "ɾ²Á"
 
-#: src/display_spl.c:101 src/misc_conversion.c:88
+#: src/display_spl.c:102 src/misc_conversion.c:88
 msgid "Compilation"
 msgstr "¥³¥ó¥Ô¥ì¡¼¥·¥ç¥ó"
 
-#: src/display_spl.c:102 src/misc_conversion.c:77
+#: src/display_spl.c:103 src/misc_conversion.c:77
 msgid "BPM"
 msgstr ""
 
-#: src/display_spl.c:103 src/misc_conversion.c:87
+#: src/display_spl.c:104 src/misc_conversion.c:87
 msgid "Grouping"
 msgstr ""
 
-#: src/display_spl.c:104 src/itdb_itunesdb.c:1146 gtkpod.glade:1314
+#: src/display_spl.c:105 gtkpod.glade:1443
 msgid "Playlist"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È"
 
-#: src/display_spl.c:110
+#: src/display_spl.c:111
 msgid "contains"
 msgstr "¤¬¼¡¤Î¤â¤Î¤ò´Þ¤à"
 
-#: src/display_spl.c:111
+#: src/display_spl.c:112
 msgid "does not contain"
 msgstr "¤¬¼¡¤Î¤â¤Î¤ò´Þ¤Þ¤Ê¤¤"
 
-#: src/display_spl.c:112 src/display_spl.c:121 src/display_spl.c:131
-#: src/display_spl.c:150
+#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
+#: src/display_spl.c:151
 msgid "is"
 msgstr "¤¬¼¡¤Î¤â¤Î¤Ç¤¢¤ë"
 
-#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
-#: src/display_spl.c:151
+#: src/display_spl.c:114 src/display_spl.c:123 src/display_spl.c:133
+#: src/display_spl.c:152
 msgid "is not"
 msgstr "¤¬¼¡¤Î¤â¤Î¤Ç¤Ê¤¤"
 
-#: src/display_spl.c:114
+#: src/display_spl.c:115
 msgid "starts with"
 msgstr "¤¬¼¡¤Î¤â¤Î¤«¤é»Ï¤Þ¤ë"
 
-#: src/display_spl.c:115
+#: src/display_spl.c:116
 msgid "ends with"
 msgstr "¤¬¼¡¤Î¤â¤Î¤Ç½ª¤ï¤ë"
 
-#: src/display_spl.c:123
+#: src/display_spl.c:124
 msgid "is greater than"
 msgstr "¤¬¼¡¤ÎÃͤè¤êÂ礭¤¤"
 
-#: src/display_spl.c:124
+#: src/display_spl.c:125
 msgid "is less than"
 msgstr "¤¬¼¡¤ÎÃͤè¤ê¾®¤µ¤¤"
 
-#: src/display_spl.c:125 src/display_spl.c:137
+#: src/display_spl.c:126 src/display_spl.c:138
 msgid "is in the range"
 msgstr "¤¬¼¡¤ÎÈϰϤËÆþ¤ë"
 
-#: src/display_spl.c:133
+#: src/display_spl.c:134
 msgid "is after"
 msgstr "¤¬¼¡¤Î¤â¤Î°Ê¹ß"
 
-#: src/display_spl.c:134
+#: src/display_spl.c:135
 msgid "is before"
 msgstr "¤¬¼¡¤Î¤â¤Î°ÊÁ°"
 
-#: src/display_spl.c:135
+#: src/display_spl.c:136
 msgid "in the last"
 msgstr "¤¬¼¡¤ÎÃÍ°ÊÆâ"
 
-#: src/display_spl.c:136
+#: src/display_spl.c:137
 msgid "not in the last"
 msgstr "¤¬¼¡¤ÎÃͤè¤ê¸Å¤¤"
 
-#: src/display_spl.c:143
+#: src/display_spl.c:144
 msgid "is set"
 msgstr "¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë"
 
-#: src/display_spl.c:144
+#: src/display_spl.c:145
 msgid "is not set"
 msgstr "¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤"
 
-#: src/display_spl.c:158
+#: src/display_spl.c:159
 msgid "minutes"
 msgstr "ʬ"
 
-#: src/display_spl.c:160
+#: src/display_spl.c:161
 msgid "tracks"
 msgstr "¶Ê"
 
-#: src/display_spl.c:161
+#: src/display_spl.c:162
 msgid "hours"
 msgstr "»þ´Ö"
 
-#: src/display_spl.c:162 src/info.c:725
+#: src/display_spl.c:163 src/info.c:732
 msgid "GB"
 msgstr ""
 
-#: src/display_spl.c:169
+#: src/display_spl.c:170
 msgid "random order"
 msgstr "¥é¥ó¥À¥à¤Ê½ç"
 
-#: src/display_spl.c:170
+#: src/display_spl.c:171
 msgid "title"
 msgstr "¥¿¥¤¥È¥ë"
 
-#: src/display_spl.c:171
+#: src/display_spl.c:172
 msgid "album"
 msgstr "¥¢¥ë¥Ð¥à"
 
-#: src/display_spl.c:172
+#: src/display_spl.c:173
 msgid "artist"
 msgstr "¥¢¡¼¥Æ¥£¥¹¥È"
 
-#: src/display_spl.c:173
+#: src/display_spl.c:174
 msgid "genre"
 msgstr "¥¸¥ã¥ó¥ë"
 
-#: src/display_spl.c:174
+#: src/display_spl.c:175
 msgid "most recently added"
 msgstr "ºÇ¶áÅÐÏ¿¤µ¤ì¤¿¶Ê"
 
-#: src/display_spl.c:175
+#: src/display_spl.c:176
 msgid "least recently added"
 msgstr "¸Å¤¯¤ËÅÐÏ¿¤µ¤ì¤¿¶Ê"
 
-#: src/display_spl.c:176
+#: src/display_spl.c:177
 msgid "most often played"
 msgstr "¤è¤¯ºÆÀ¸¤µ¤ì¤ë¶Ê"
 
-#: src/display_spl.c:177
+#: src/display_spl.c:178
 msgid "least often played"
 msgstr "¤¢¤Þ¤êºÆÀ¸¤µ¤ì¤Ê¤¤¶Ê"
 
-#: src/display_spl.c:178
+#: src/display_spl.c:179
 msgid "most recently played"
 msgstr "ºÇ¶áºÆÀ¸¤µ¤ì¤¿¶Ê"
 
-#: src/display_spl.c:179
+#: src/display_spl.c:180
 msgid "least recently played"
 msgstr "ºÇ¶áºÆÀ¸¤µ¤ì¤Ê¤¤¶Ê"
 
-#: src/display_spl.c:180
+#: src/display_spl.c:181
 msgid "highest rating"
 msgstr "ɾ²Á¤Î¹â¤¤¶Ê"
 
-#: src/display_spl.c:181
+#: src/display_spl.c:182
 msgid "lowest rating"
 msgstr "ɾ²Á¤ÎÄ㤤¶Ê"
 
-#: src/display_spl.c:995 src/display_spl.c:1010
+#: src/display_spl.c:1049 src/display_spl.c:1064
 msgid "to"
 msgstr "¤«¤é"
 
-#: src/display_spl.c:1220
+#: src/display_spl.c:1276
 msgid "-"
 msgstr ""
 
-#: src/display_spl.c:1227
+#: src/display_spl.c:1286
 msgid "+"
 msgstr ""
 
-#: src/display_spl.c:1433 src/misc_playlist.c:67 src/misc_playlist.c:69
+#: src/display_spl.c:1503 src/misc_playlist.c:67 src/misc_playlist.c:69
 #: src/misc_playlist.c:94 src/misc_playlist.c:96 src/misc_playlist.c:415
 #: src/misc_playlist.c:417
 msgid "New Playlist"
 msgstr "¿·µ¬¥×¥ì¥¤¥ê¥¹¥È"
 
-#: src/file.c:129
+#: src/file.c:195
 #, c-format
 msgid ""
 "'%s' is a directory, not a playlist file.\n"
@@ -795,7 +875,7 @@
 "'%s' ¤Ï¥×¥ì¥¤¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£\n"
 "\n"
 
-#: src/file.c:151
+#: src/file.c:222
 #, c-format
 msgid ""
 "'%s' is a not a known playlist file.\n"
@@ -804,7 +884,7 @@
 "'%s' ¤Ï ¥×¥ì¥¤¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹¡£\n"
 "\n"
 
-#: src/file.c:168
+#: src/file.c:239
 #, c-format
 msgid ""
 "Cannot open '%s' for reading.\n"
@@ -813,92 +893,92 @@
 "¥Õ¥¡¥¤¥ë '%s' ¤òÆɤ߹þ¤â¤¦¤È¤·¤Þ¤·¤¿¤¬¡¢³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£\n"
 "\n"
 
-#: src/file.c:237
+#: src/file.c:322
 #, c-format
 msgid "Skipping '%s' because it is a directory.\n"
 msgstr "'%s' ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤Î¤ÇÈô¤Ð¤·¤Þ¤¹¡£\n"
 
-#: src/file.c:242
+#: src/file.c:327
 #, c-format
 msgid "Skipping '%s' to avoid adding playlist file recursively\n"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤ÎºÆµ¢Åª¤ÊÅÐÏ¿¤òÈò¤±¤ë¤¿¤á¡¢'%s' ¤ÏÈô¤Ð¤·¤Þ¤¹¡£\n"
 
-#: src/file.c:497
+#: src/file.c:582
 #, c-format
 msgid "Unknown token '%s' in template '%s'\n"
 msgstr "'%s' (¥Æ¥ó¥×¥ì¡¼¥È '%s' Ãæ) ¤Ï̤ÃΤΤâ¤Î¤Ç¤¹¡£\n"
 
-#: src/file.c:715
+#: src/file.c:815
 #, c-format
 msgid "Local filename not valid (%s)"
 msgstr "¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë̾¤¬ÉÔÀµ¤Ç¤¹ (%s)"
 
-#: src/file.c:768
+#: src/file.c:868
 #, c-format
 msgid "No information found for user '%s' in '%s'"
 msgstr "¥æ¡¼¥¶¡¼ '%s' ¤Î¾ðÊó¤¬ '%s' Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: src/file.c:775
+#: src/file.c:875
 #, c-format
 msgid "mserv data file (%s) not available for track (%s)"
 msgstr ""
 
-#: src/file.c:783
+#: src/file.c:883
 #, c-format
 msgid "Track (%s) not in mserv music root directory (%s)"
 msgstr ""
 
-#: src/file.c:816
+#: src/file.c:988
 #, fuzzy, c-format
 msgid ""
 "The following track could not be processed (file does not exist): '%s'\n"
 msgstr "°Ê²¼¤Î%d¶Ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
 
-#: src/file.c:842
+#: src/file.c:1037
 #, fuzzy, c-format
 msgid "The following track could not be processed (filetype unknown): '%s'\n"
 msgstr "°Ê²¼¤Î%d¶Ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
 
-#: src/file.c:909
+#: src/file.c:1119
 #, c-format
 msgid ""
 "The following track could not be processed (filetype is known but analysis "
 "failed): '%s'\n"
 msgstr ""
 
-#: src/file.c:935 src/file.c:978
+#: src/file.c:1148 src/file.c:1203
 msgid "Nothing to update"
 msgstr "¹¹¿·¤µ¤ì¤ë¥Ç¡¼¥¿¤Ï¤¢¤ê¤Þ¤»¤ó"
 
-#: src/file.c:944
+#: src/file.c:1168
 #, c-format
 msgid "Updating %s"
 msgstr "%s ¤ò¹¹¿·Ãæ"
 
-#: src/file.c:959
+#: src/file.c:1184
 msgid "Updated selected tracks with info from file."
 msgstr "ÁªÂò¤µ¤ì¤¿¶Ê¤Î¾ðÊó¤ò¡¢¥Õ¥¡¥¤¥ë¤ò¸µ¤Ë¹¹¿·¤·¤Þ¤·¤¿¡£"
 
-#: src/file.c:991
+#: src/file.c:1216
 #, c-format
 msgid "Retrieving mserv data %s"
 msgstr ""
 
 #. no path available
-#: src/file.c:997 src/file.c:1675
+#: src/file.c:1222 src/file.c:1900
 msgid "no filename available"
 msgstr "¥Õ¥¡¥¤¥ë̾¤¬¤ï¤«¤ê¤Þ¤»¤ó"
 
-#: src/file.c:1002
+#: src/file.c:1227
 msgid "Updated selected tracks with data from mserv."
 msgstr ""
 
-#: src/file.c:1069
+#: src/file.c:1294
 #, c-format
 msgid "Syncing directory '%s'"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê '%s' ¤ÎƱ´ü½èÍýÃæ"
 
-#: src/file.c:1094
+#: src/file.c:1319
 msgid "Syncing completed. No files deleted."
 msgstr "Ʊ´ü½èÍý¤¬½ªÎ»¤·¤Þ¤·¤¿¡£ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£"
 
@@ -907,29 +987,29 @@
 #. title
 #. label
 #. scrolled text
-#: src/file.c:1207
+#: src/file.c:1432
 msgid "Never delete any files when syncing"
 msgstr "Ʊ´ü½èÍý¤Ç¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤"
 
-#: src/file.c:1236
+#: src/file.c:1461
 msgid "Syncing completed."
 msgstr "Ʊ´ü½èÍý¤¬½ªÎ»¤·¤Þ¤·¤¿¡£"
 
-#: src/file.c:1256
+#: src/file.c:1481
 msgid "Syncing aborted"
 msgstr "Ʊ´ü½èÍý¤ÏÃæÃǤµ¤ì¤Þ¤·¤¿¡£"
 
-#: src/file.c:1294
+#: src/file.c:1519
 msgid "No tracks in selection"
 msgstr "¶Ê¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/file.c:1344
+#: src/file.c:1569
 #, c-format
 msgid "'%s' is not a directory. Ignored.\n"
 msgstr "'%s' ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ìµ»ë¤·¤Þ¤¹¡£\n"
 
 #. no directory names available
-#: src/file.c:1374
+#: src/file.c:1599
 msgid ""
 "No directory names were stored. Make sure that you enable 'Write extended "
 "information' in the Export section of the preferences at the time of "
@@ -946,11 +1026,11 @@
 "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü¤òº£¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢ÀßÄê¥á¥Ë¥å¡¼¤Î¡Ö¥¤¥ó¥Ý¡¼¥È¡×Íó¤ÎÃæ¤Ë¤¢"
 "¤ë¡¢¡Ö½ÅÊ£¤Î¸¡½Ð¡×¤ò¥ª¥ó¤Ë¤·¤Æ¡¢ºÆ¤ÓƱ´ü½èÍý¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: src/file.c:1378
+#: src/file.c:1603
 msgid "No valid directories have been found. Sync aborted.\n"
 msgstr "Àµ¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤¬¸«ÉÕ¤«¤ê¤Þ¤»¤ó¡£Æ±´ü½èÍý¤òÃæ»ß¤·¤Þ¤¹¡£\n"
 
-#: src/file.c:1387
+#: src/file.c:1612
 msgid ""
 "The (former) contents of the following directories will be removed from the "
 "database:\n"
@@ -959,7 +1039,7 @@
 "°Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ëÆâÍƤϡ¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü¤µ¤ì¤Þ¤¹:\n"
 "\n"
 
-#: src/file.c:1395
+#: src/file.c:1620
 msgid ""
 "The following directories will be synchronized:\n"
 "\n"
@@ -969,16 +1049,16 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1406
+#: src/file.c:1631
 msgid "Synchronize directories"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü"
 
 #. title
-#: src/file.c:1407
+#: src/file.c:1632
 msgid "OK to synchronize the following directories?"
 msgstr "°Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÇƱ´ü½èÍý¤ò¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?"
 
-#: src/file.c:1445
+#: src/file.c:1670
 #, c-format
 msgid "The following track could not be updated"
 msgid_plural "The following %d tracks could not be updated"
@@ -986,11 +1066,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1451
+#: src/file.c:1676
 msgid "Failed Track Update"
 msgstr "¶Ê¤Î¹¹¿·¤Ë¼ºÇÔ"
 
-#: src/file.c:1509
+#: src/file.c:1734
 #, c-format
 msgid "The following track has been updated"
 msgid_plural "The following %d tracks have been updated"
@@ -998,11 +1078,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1515
+#: src/file.c:1740
 msgid "Successful Track Update"
 msgstr "¶Ê¤Î¹¹¿·¤ò´°Î»"
 
-#: src/file.c:1574
+#: src/file.c:1799
 #, c-format
 msgid "No mserv information could be retrieved for the following track"
 msgid_plural ""
@@ -1011,177 +1091,192 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1580
+#: src/file.c:1805
 msgid "mserv data retrieval problem"
 msgstr ""
 
-#: src/file.c:1721
+#: src/file.c:1946
 msgid "file not found"
 msgstr "¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: src/file.c:1725
+#: src/file.c:1950
 msgid "format not supported"
 msgstr "Âбþ¤·¤Æ¤¤¤Ê¤¤·Á¼°¤Ç¤¹"
 
-#: src/file.c:1799
+#: src/file.c:2031
 #, c-format
 msgid "Processing '%s'..."
 msgstr "'%s' ¤Î½èÍýÃæ..."
 
-#: src/file.c:1992 src/file.c:2006
+#: src/file.c:2135 src/misc_track.c:1169 src/misc_track.c:1225
 #, c-format
+msgid ""
+"Podcast already present: '%s'\n"
+"\n"
+msgstr ""
+
+#: src/file.c:2196
+#, fuzzy, c-format
+msgid ""
+"Writing to video files not yet supported (%s).\n"
+"\n"
+msgstr "'%s'¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£(%s)"
+
+#: src/file.c:2250 src/file.c:2264
+#, c-format
 msgid "Couldn't change tags of file: %s\n"
 msgstr "¼¡¤Î¥Õ¥¡¥¤¥ë¤Î¥¿¥°¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó: %s\n"
 
-#: src/file.c:2291
+#: src/file.c:2548
 #, c-format
 msgid "Could not open '%s' for reading and writing.\n"
 msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ÎÆɤ߹þ¤ß¤ª¤è¤Ó½ñ¤­¹þ¤ß¤¬¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: src/file.c:2298
+#: src/file.c:2555
 #, c-format
 msgid "Could not obtain lock on '%s'.\n"
 msgstr ""
 
 #. error!
-#: src/file.c:2315 src/file.c:2324 src/file.c:2335 src/file.c:2345
+#: src/file.c:2572 src/file.c:2581 src/file.c:2592 src/file.c:2602
 #, c-format
 msgid "Malformed line in '%s': %s\n"
 msgstr ""
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:2374
+#: src/file.c:2631
 msgid "Remove offline playcounts?"
 msgstr "¥ª¥Õ¥é¥¤¥ó¤Ç¤ÎºÆÀ¸²ó¿ô¤òºï½ü¤·¤Þ¤¹¤«"
 
 #. title
-#: src/file.c:2375
+#: src/file.c:2632
 msgid ""
 "Some tracks played offline could not be found in the iTunesDB. Press 'OK' to "
 "remove them from the offline playcount file, 'Cancel' to keep them."
 msgstr ""
 
-#: src/file.c:2392
+#: src/file.c:2649
 #, c-format
 msgid "Error writing to '%s'.\n"
 msgstr "'%s'¤Î½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£\n"
 
-#: src/file.c:2431
-msgid "Normalization failed: file type not supported.\n"
+#: src/file.c:2698
+#, c-format
+msgid ""
+"Normalization failed: file type not supported (%s).\n"
+"\n"
 msgstr ""
 
-#: src/file.c:2442
-msgid "Normalization failed: file not available.\n"
+#: src/file.c:2713
+#, c-format
+msgid ""
+"Normalization failed: file not available (%s).\n"
+"\n"
 msgstr ""
 
-#: src/file_export.c:106
+#: src/file_export.c:181
 #, c-format
-msgid "Error creating %s: %s\n"
-msgstr "'%s'¤ÎºîÀ®¤Ë¼ºÇÔ: %s\n"
-
-#: src/file_export.c:202
-#, c-format
 msgid "Skipping existing file with same length: '%s'\n"
 msgstr "Ʊ¤¸Â礭¤µ¤Î¥Õ¥¡¥¤¥ë¤òÈô¤Ð¤·¤Þ¤¹: '%s'\n"
 
-#: src/file_export.c:210
+#: src/file_export.c:189
 #, c-format
 msgid "Overwriting existing file: '%s'\n"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹: '%s'\n"
 
-#: src/file_export.c:227
+#: src/file_export.c:206
 #, c-format
 msgid "Error copying '%s' to '%s': Permission Error (%s)\n"
 msgstr "'%s' ¤ò '%s' ¤Ë¥³¥Ô¡¼Ãæ¤Ë¥¨¥é¡¼È¯À¸: µö²Ä¤¬¤¢¤ê¤Þ¤»¤ó (%s)\n"
 
-#: src/file_export.c:229
+#: src/file_export.c:208
 #, c-format
 msgid "Error copying '%s' to '%s' (%s)\n"
 msgstr "'%s' ¤ò '%s' ¤Ë¥³¥Ô¡¼Ãæ¤Ë¥¨¥é¡¼È¯À¸: (%s)\n"
 
-#: src/file_export.c:237
+#: src/file_export.c:216
 #, c-format
 msgid "Unable to open '%s' for reading\n"
 msgstr "'%s' ¤òÆɤ߹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó\n"
 
-#: src/file_export.c:344
+#: src/file_export.c:323
 #, c-format
 msgid "Could find file for '%s' on the iPod\n"
 msgstr "iPod ¾å¤Î '%s' ¤ËÁêÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
 
 #. create the dialog window
-#: src/file_export.c:411 src/file_itunesdb.c:990 src/tools.c:148
+#: src/file_export.c:390 src/file_itunesdb.c:1060 src/tools.c:148
 msgid "Information"
 msgstr "¾ðÊó"
 
-#: src/file_export.c:422 src/tools.c:160
+#: src/file_export.c:401 src/tools.c:160
 msgid "Press button to abort."
 msgstr "¥Ü¥¿¥ó¤ò²¡¤¹¤ÈÃæ»ß¤·¤Þ¤¹¡£"
 
-#: src/file_export.c:435
+#: src/file_export.c:414
 msgid "copying..."
 msgstr "¥³¥Ô¡¼Ãæ..."
 
-#: src/file_export.c:489
+#: src/file_export.c:468
 #, c-format
 msgid "Failed to write '%s-%s'\n"
 msgstr "Êݸ¤¬¤Ç¤­¤Þ¤»¤ó '%s-%s'\n"
 
-#: src/file_export.c:497
+#: src/file_export.c:476
 #, c-format
 msgid "Copied %d of %d track."
 msgid_plural "Copied %d of %d tracks."
 msgstr[0] "%d¶ÊÃæ %d¶Ê¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£"
 
-#: src/file_export.c:515 src/file_itunesdb.c:1252 src/tools.c:307
+#: src/file_export.c:494 src/file_itunesdb.c:1324 src/tools.c:307
 #, c-format
 msgid "%d%% (%d:%02d:%02d left)"
 msgstr "%d%% (»Ä¤ê %d:%02d:%02d)"
 
-#: src/file_export.c:524
+#: src/file_export.c:503
 msgid "Some tracks were not copied."
 msgstr "°ìÉô¤Î¶Ê¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£"
 
-#: src/file_export.c:581
+#: src/file_export.c:560
 msgid "Export from iPod database not possible in offline mode."
 msgstr ""
 
-#: src/file_export.c:589
+#: src/file_export.c:568
 msgid "Select Export Destination Directory"
 msgstr "¥Õ¥¡¥¤¥ë¤ÎÊݸÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤"
 
-#: src/file_export.c:738
+#: src/file_export.c:717
 msgid "Drag from iPod database not possible in offline mode."
 msgstr ""
 
-#: src/file_export.c:772
+#: src/file_export.c:751
 #, fuzzy
 msgid "The following tracks have to be copied to your harddisk"
 msgstr "°Ê²¼¤Î%d¶Ê¤ò¹¹¿·¤·¤Þ¤·¤¿"
 
-#: src/file_export.c:817
+#: src/file_export.c:796
 msgid ""
 "Some tracks were not copied to your harddisk. Only the copied tracks will be "
 "included in the current drag and drop operation.\n"
 "\n"
 msgstr ""
 
-#: src/file_export.c:1014
+#: src/file_export.c:992
 #, c-format
 msgid ""
 "No valid filename for: %s\n"
 "\n"
 msgstr "'%s' ¤Î¥Õ¥¡¥¤¥ë̾¤¬ÉÔÀµ¤Ç¤¹¡£\n"
 
-#: src/file_export.c:1030
+#: src/file_export.c:1008
 #, c-format
 msgid "Created playlist with one track."
 msgid_plural "Created playlist with %d tracks."
 msgstr[0] "¿·µ¬¥×¥ì¥¤¥ê¥¹¥È¤Ë 1¶ÊÅÐÏ¿¤·¤Þ¤·¤¿¡£"
 msgstr[1] "¿·µ¬¥×¥ì¥¤¥ê¥¹¥È¤Ë %d¶ÊÅÐÏ¿¤·¤Þ¤·¤¿¡£"
 
-#: src/file_export.c:1037
+#: src/file_export.c:1015
 #, c-format
 msgid ""
 "Could not open '%s' for writing (%s).\n"
@@ -1190,20 +1285,25 @@
 "'%s' ¤ò½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s)\n"
 "\n"
 
-#: src/file_itunesdb.c:224
+#: src/file_itunesdb.c:114
+#, c-format
+msgid "Matching MD5 checksum for file %d/%d"
+msgstr ""
+
+#: src/file_itunesdb.c:242
 msgid "Could not open \"iTunesDB.ext\" for reading extended info.\n"
 msgstr "³ÈÄ¥¾ðÊó¤ò³ÊǼ¤·¤¿¥Õ¥¡¥¤¥ë \"iTunesDB.ext\" ¤ò³«¤±¤Þ¤»¤ó¡£\n"
 
-#: src/file_itunesdb.c:231
+#: src/file_itunesdb.c:249
 msgid "Could not create hash value from itunesdb\n"
 msgstr "itunesdb ¤«¤é¥Ï¥Ã¥·¥åÃͤòÆɤ߹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
 
-#: src/file_itunesdb.c:245
+#: src/file_itunesdb.c:263
 #, c-format
 msgid "Error while reading extended info: %s\n"
 msgstr "³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ßÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿: %s\n"
 
-#: src/file_itunesdb.c:262
+#: src/file_itunesdb.c:280
 #, c-format
 msgid ""
 "iTunesDB '%s' does not match checksum in extended information file '%s'\n"
@@ -1212,7 +1312,7 @@
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:275
+#: src/file_itunesdb.c:292
 #, c-format
 msgid ""
 "%s:\n"
@@ -1221,7 +1321,7 @@
 "%s:\n"
 "\"itunesdb_hash=\" ¤¬½ñ¤«¤ì¤Æ¤¤¤ë¤Ù¤­²Õ½ê¤Ë°ã¤¦ÆâÍƤ¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹: \"%s\"\n"
 
-#: src/file_itunesdb.c:335
+#: src/file_itunesdb.c:352
 #, c-format
 msgid ""
 "%s:\n"
@@ -1230,7 +1330,7 @@
 "%s:\n"
 "½ñ¼°¥¨¥é¡¼: %s\n"
 
-#: src/file_itunesdb.c:386
+#: src/file_itunesdb.c:407
 msgid ""
 "No MD5 checksums on individual tracks are available.\n"
 "\n"
@@ -1246,7 +1346,7 @@
 "¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 "\n"
 
-#: src/file_itunesdb.c:439
+#: src/file_itunesdb.c:462
 msgid ""
 "Extended info will not be used. If you have non-transferred tracks,\n"
 "these will be lost.\n"
@@ -1254,15 +1354,15 @@
 "³ÈÄ¥¾ðÊó¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£iPodËÜÂΤËžÁ÷¤µ¤ì¤Æ¤¤¤Ê¤¤¶Ê¤Ï\n"
 "½ªÎ»»þ¤Ë¼º¤ï¤ì¤Þ¤¹¡£\n"
 
-#: src/file_itunesdb.c:447
+#: src/file_itunesdb.c:470
 msgid "Offline iPod database successfully imported"
 msgstr "¥ª¥Õ¥é¥¤¥ó¤ÇiPod¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤ß¤Þ¤·¤¿"
 
-#: src/file_itunesdb.c:450
+#: src/file_itunesdb.c:473
 msgid "Local database successfully imported"
 msgstr ""
 
-#: src/file_itunesdb.c:458
+#: src/file_itunesdb.c:481
 #, c-format
 msgid ""
 "Offline iPod database import failed: '%s'\n"
@@ -1271,14 +1371,14 @@
 "¥ª¥Õ¥é¥¤¥ó¤Ç¤ÎiPod¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:462
+#: src/file_itunesdb.c:485
 #, c-format
 msgid ""
 "Local database import failed: '%s'\n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:469
+#: src/file_itunesdb.c:492
 msgid ""
 "Offline iPod database import failed: \n"
 "\n"
@@ -1286,13 +1386,13 @@
 "¥ª¥Õ¥é¥¤¥ó¤Ç¤ÎiPod¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿\n"
 "\n"
 
-#: src/file_itunesdb.c:472
+#: src/file_itunesdb.c:495
 msgid ""
 "Local database import failed: \n"
 "\n"
 msgstr ""
 
-#: src/file_itunesdb.c:479 src/file_itunesdb.c:527
+#: src/file_itunesdb.c:502 src/file_itunesdb.c:550
 #, c-format
 msgid ""
 "'%s' does not exist. Import aborted.\n"
@@ -1301,15 +1401,15 @@
 "'%s' ¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£Æɤ߹þ¤ß¤òÃæ»ß¤·¤Þ¤¹¡£\n"
 "\n"
 
-#: src/file_itunesdb.c:498
+#: src/file_itunesdb.c:521
 msgid "Extended info will not be used.\n"
 msgstr "³ÈÄ¥¾ðÊó¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£\n"
 
-#: src/file_itunesdb.c:505
+#: src/file_itunesdb.c:528
 msgid "iPod Database Successfully Imported"
 msgstr "iPod ¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤ß¤Þ¤·¤¿"
 
-#: src/file_itunesdb.c:512
+#: src/file_itunesdb.c:535
 #, c-format
 msgid ""
 "iPod Database Import Failed: '%s'\n"
@@ -1318,7 +1418,7 @@
 "iPod ¤«¤é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:518
+#: src/file_itunesdb.c:541
 msgid ""
 "iPod Database Import Failed.\n"
 "\n"
@@ -1326,16 +1426,16 @@
 "iPod¤«¤é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n"
 "\n"
 
-#: src/file_itunesdb.c:822
+#: src/file_itunesdb.c:890
 #, c-format
 msgid "Could not open \"%s\" for writing extended info.\n"
 msgstr "'%s' ¤ò³«¤±¤Ê¤¤¤¿¤á¡¢³ÈÄ¥¾ðÊó¤òµ­Ï¿¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: src/file_itunesdb.c:837
+#: src/file_itunesdb.c:905
 msgid "Aborted writing of extended info.\n"
 msgstr "³ÈÄ¥¾ðÊó¤Î½ñ¤­¹þ¤ß¤ÏÃæ»ß¤µ¤ì¤Þ¤·¤¿¡£\n"
 
-#: src/file_itunesdb.c:1001
+#: src/file_itunesdb.c:1071
 msgid ""
 "Press button to abort.\n"
 "Export can be continued at a later time."
@@ -1343,25 +1443,25 @@
 "¥Ü¥¿¥ó¤ò²¡¤¹¤ÈÃæÃǤ·¤Þ¤¹¡£\n"
 "¥Õ¥¡¥¤¥ë¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤Ï¸å¤ÇºÆ³«¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£"
 
-#: src/file_itunesdb.c:1070
+#: src/file_itunesdb.c:1140
 msgid "deleting..."
 msgstr "ºï½üÃæ..."
 
-#: src/file_itunesdb.c:1173
+#: src/file_itunesdb.c:1244
 msgid "preparing to copy..."
 msgstr "¥³¥Ô¡¼¤Î½àÈ÷Ãæ..."
 
-#: src/file_itunesdb.c:1235
+#: src/file_itunesdb.c:1307
 #, c-format
 msgid "Copied %d of %d new track."
 msgid_plural "Copied %d of %d new tracks."
 msgstr[0] "%d¶ÊÃæ %d¶Ê¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£"
 
-#: src/file_itunesdb.c:1262
+#: src/file_itunesdb.c:1334
 msgid "Some tracks were not written to iPod. Export aborted!"
 msgstr "°ìÉô¤Î¶Ê¤òiPod¤ËžÁ÷¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¨¥¯¥¹¥Ý¡¼¥È¤òÃæ»ß¤·¤Þ¤¹!"
 
-#: src/file_itunesdb.c:1315
+#: src/file_itunesdb.c:1387
 #, c-format
 msgid ""
 "You did not import the existing iTunesDB ('%s'). This is most likely "
@@ -1372,30 +1472,30 @@
 "again.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:1345
+#: src/file_itunesdb.c:1417
 msgid ""
 "iPod directory structure must be present before synching to the iPod can be "
 "performed.\n"
 msgstr ""
 
-#: src/file_itunesdb.c:1354
+#: src/file_itunesdb.c:1426
 msgid "Some tracks could not be deleted from the iPod. Export aborted!"
 msgstr "°ìÉô¤Î¶Ê¤òiPod¤«¤éºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¨¥¯¥¹¥Ý¡¼¥È¤òÃæÃǤ·¤Þ¤¹¡£"
 
-#: src/file_itunesdb.c:1370
+#: src/file_itunesdb.c:1442
 msgid "Now writing iTunesDB. Please wait..."
 msgstr "iTunesDB¤Î½ñ¤­¹þ¤ßÃæ¡£¤·¤Ð¤é¤¯¤ªÂÔ¤Á¤¯¤À¤µ¤¤..."
 
-#: src/file_itunesdb.c:1414
+#: src/file_itunesdb.c:1488
 #, c-format
 msgid "Extended information file not deleted: '%s'"
 msgstr "³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó: '%s'"
 
-#: src/file_itunesdb.c:1500
+#: src/file_itunesdb.c:1574
 msgid "iPod Database Saved"
 msgstr "iPod¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊݸ¤·¤Þ¤·¤¿"
 
-#: src/file_itunesdb.c:1548
+#: src/file_itunesdb.c:1633
 msgid "Syncing contacts, calendar and notes..."
 msgstr ""
 
@@ -1417,15 +1517,20 @@
 msgid "Add Playlists"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤òÄɲ乤ë"
 
-#: src/fileselection.c:438
+#. Create the file chooser, and handle the response
+#: src/fileselection.c:270
+msgid "Set Cover"
+msgstr ""
+
+#: src/fileselection.c:491
 msgid "Select directory to add recursively"
 msgstr "ºÆµ¢Åª¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤"
 
-#: src/fileselection.c:696
+#: src/fileselection.c:749
 msgid "Ok"
 msgstr "OK"
 
-#: src/fileselection.c:705
+#: src/fileselection.c:758
 msgid "Cancel"
 msgstr "¥­¥ã¥ó¥»¥ë"
 
@@ -1492,7 +1597,7 @@
 msgid "n/c"
 msgstr ""
 
-#: src/info.c:382 src/info.c:786
+#: src/info.c:382 src/info.c:793
 msgid "offline"
 msgstr "¥ª¥Õ¥é¥¤¥ó"
 
@@ -1501,235 +1606,32 @@
 msgid " P:%d T:%d/%d"
 msgstr ""
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "B"
 msgstr ""
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "kB"
 msgstr ""
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "TB"
 msgstr ""
 
-#: src/info.c:771
+#: src/info.c:778
 #, c-format
 msgid " %s Free"
 msgstr "%s ¶õ¤­"
 
-#: src/info.c:776
+#: src/info.c:783
 #, c-format
 msgid " %s Pending"
 msgstr "%s ÉÔ­"
 
-#: src/info.c:781
+#: src/info.c:788
 msgid " disconnected"
 msgstr ""
 
-#: src/itdb_itunesdb.c:313
-#, c-format
-msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:520
-#, c-format
-msgid "Not a Play Counts file: '%s' (missing mhdp header)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:534
-#, c-format
-msgid "Play Counts file ('%s'): header length smaller than expected (%d<96)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:547
-#, c-format
-msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:801
-#, c-format
-msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:921
-#, c-format
-msgid ""
-"Length of smart playlist rule field (%d) not as expected. Trying to continue "
-"anyhow.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:964
-msgid "Did not find SLst hunk as expected. Trying to continue.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:970
-#, c-format
-msgid ""
-"Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
-"\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1050 src/itdb_itunesdb.c:1739 src/itdb_itunesdb.c:1774
-#, c-format
-msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1144
-msgid "Master-PL"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1171
-#, c-format
-msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1219
-#, c-format
-msgid "Itdb_Track ID '%d' not found.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1482
-msgid "OTG Playlist"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1496
-#, c-format
-msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1510
-#, c-format
-msgid "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1522
-#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1557
-#, c-format
-msgid "OTG playlist file '%s': reference to non-existent track (%d)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1602
-#, c-format
-msgid "OTG Playlist %d"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1645
-#, c-format
-msgid "Not a iTunesDB: '%s' (missing mhdb header)."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1661
-#, c-format
-msgid ""
-"iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). "
-"Aborting."
-msgstr ""
-
-#: src/itdb_itunesdb.c:1693
-#, c-format
-msgid "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
-msgstr ""
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1754
-msgid ""
-"iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1835
-msgid ""
-"iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:1873
-#, c-format
-msgid "File not found: '%s'."
-msgstr "¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: '%s'"
-
-#: src/itdb_itunesdb.c:2394
-#, c-format
-msgid "Cannot write mhod of type %d\n"
-msgstr ""
-
-#: src/itdb_itunesdb.c:2520 src/itdb_itunesdb.c:2633
-msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2676
-msgid "Database in memory corrupt (playlist pointer == NULL). Aborting export."
-msgstr ""
-
-#: src/itdb_itunesdb.c:2716
-#, c-format
-msgid "Opening of '%s' for writing failed."
-msgstr "'%s' ¤ò½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤±¤Þ¤»¤ó¡£"
-
-#: src/itdb_itunesdb.c:2727
-#, c-format
-msgid "Writing to '%s' failed."
-msgstr "'%s'¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"
-
-#: src/itdb_itunesdb.c:2738
-#, c-format
-msgid "Writing to '%s' failed (%s)."
-msgstr "'%s'¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£(%s)"
-
-#: src/itdb_itunesdb.c:2875 src/itdb_itunesdb.c:3042 src/itdb_itunesdb.c:3224
-#: src/itdb_itunesdb.c:3358
-#, c-format
-msgid "Path not found: '%s'."
-msgstr "¥Ñ¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: '%s'"
-
-#: src/itdb_itunesdb.c:3244
-#, c-format
-msgid "Error renaming '%s' to '%s' (%s)."
-msgstr "'%s'¤ò'%s'¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s)"
-
-#: src/itdb_itunesdb.c:3261
-#, c-format
-msgid "Error removing '%s' (%s)."
-msgstr "'%s'¤Îºï½üÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
-
-#: src/itdb_itunesdb.c:3487
-#, c-format
-msgid "Error opening '%s' for reading (%s)."
-msgstr "'%s' ¤òÆɤ߹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s)"
-
-#: src/itdb_itunesdb.c:3498
-#, c-format
-msgid "Error opening '%s' for writing (%s)."
-msgstr "'%s' ¤ò½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s)"
-
-#: src/itdb_itunesdb.c:3515
-#, c-format
-msgid "Error while reading from '%s' (%s)."
-msgstr "'%s' ¤ÎÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
-
-#: src/itdb_itunesdb.c:3531
-#, c-format
-msgid "Error while writing to '%s' (%s)."
-msgstr "'%s' ¤Î½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
-
-#: src/itdb_itunesdb.c:3544 src/itdb_itunesdb.c:3554
-#, c-format
-msgid "Error when closing '%s' (%s)."
-msgstr "'%s' ¤òÊĤ¸¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
-
-#. New action!
-#: src/itdb_playlist.c:71
-#, c-format
-msgid "Unknown action (%d) in smart playlist will be ignored.\n"
-msgstr ""
-
 #: src/md5.c:159
 msgid "Hashed file is 0 bytes long\n"
 msgstr "¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤¬ 0 ¥Ð¥¤¥È¤Ç¤¹\n"
@@ -1748,7 +1650,7 @@
 
 #: src/misc.c:82
 msgid ""
-"(C) 2002 - 2003\n"
+"(C) 2002 - 2005\n"
 "Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
@@ -1915,97 +1817,124 @@
 msgstr ""
 
 #: src/misc.c:153
+msgid "Sebastien Beridot: sync script for ldif addressbook format\n"
+msgstr ""
+
+#: src/misc.c:156
+msgid "Sebastian Scherer: sync script for kNotes\n"
+msgstr ""
+
+#: src/misc.c:159
+msgid "Nick Piper: sync script for Palm, type-ahead search\n"
+msgstr ""
+
+#: src/misc.c:162
+msgid "Uwe Hermann: help with support for iPod Video\n"
+msgstr ""
+
+#: src/misc.c:165
 msgid ""
-"Icons of buttons were made by Nicolas Chariot.\n"
+"Iain Benson: support for compilation tag in mp3 files and separate display "
+"of compilations in the sort tab.\n"
+msgstr ""
+
+#: src/misc.c:167
+msgid ""
+"Nicolas Chariot: icons of buttons\n"
 "\n"
 "\n"
 msgstr ""
 
-#: src/misc.c:157
+#: src/misc.c:171
 msgid "This program borrows code from the following projects:\n"
 msgstr ""
 
-#: src/misc.c:159
+#: src/misc.c:173
 msgid ""
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
 msgstr ""
 
-#: src/misc.c:161
+#: src/misc.c:175
 msgid ""
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
 msgstr ""
 
-#: src/misc.c:163
+#: src/misc.c:177
 msgid "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 msgstr ""
 
-#: src/misc.c:165
+#: src/misc.c:179
 msgid ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
 msgstr ""
 
-#: src/misc.c:168
+#: src/misc.c:182
 msgid ""
 "The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"
 msgstr ""
 
-#: src/misc.c:183
+#: src/misc.c:197
 msgid "French:   David Le Brun (david at dyn-ns dot net)\n"
 msgstr ""
 
-#: src/misc.c:185
+#: src/misc.c:199
 msgid "German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 msgstr ""
 
-#: src/misc.c:187
+#: src/misc.c:201
 msgid "Hebrew: Assaf Gillat (gillata at gmail dot com)\n"
 msgstr ""
 
-#: src/misc.c:189
+#: src/misc.c:203
 msgid ""
 "Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
 msgstr ""
 
-#: src/misc.c:191
+#: src/misc.c:205
 msgid "Japanese: Ayako Sano\n"
 msgstr ""
 
-#: src/misc.c:193
+#: src/misc.c:207
 msgid "Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 msgstr ""
 
-#: src/misc.c:195
+#: src/misc.c:209
 msgid "Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 msgstr ""
 
-#: src/misc.c:318
+#: src/misc.c:332
 #, c-format
 msgid "Could not delete backup file: \"%s\"\n"
 msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤¬ºï½ü¤Ç¤­¤Þ¤»¤ó: \"%s\"\n"
 
-#: src/misc.c:438
+#: src/misc.c:452
 #, c-format
 msgid "Unmounting of '%s' (%s) unsuccessful."
 msgstr ""
 
-#: src/misc.c:442
+#: src/misc.c:456
 #, c-format
 msgid "Unmounting of '%s' unsuccessful."
 msgstr ""
 
-#: src/misc.c:1097
+#: src/misc.c:1219
 #, c-format
-msgid "Template ('%s') does not match file type '%s'\n"
+msgid "Unknown token '%%%c' in template '%s'"
 msgstr ""
 
-#: src/misc.c:1190
+#: src/misc.c:1301
 #, c-format
-msgid "Unknown token '%%%c' in template '%s'"
+msgid "Template ('%s') does not match file type '%s'\n"
 msgstr ""
 
+#: src/misc.c:1382
+#, c-format
+msgid "Error creating %s: %s\n"
+msgstr "'%s'¤ÎºîÀ®¤Ë¼ºÇÔ: %s\n"
+
 #. gint id,
 #. gboolean modal,
 #: src/misc_confirm.c:71
@@ -2112,8 +2041,8 @@
 
 #. no playlist??? Cannot happen, but...
 #. no playlist selected
-#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:667
-#: src/misc_track.c:879
+#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:674
+#: src/misc_track.c:1509
 msgid "No playlist selected."
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
@@ -2122,11 +2051,6 @@
 msgid "No tracks selected."
 msgstr "¶Ê¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#. no entry selected
-#: src/misc_confirm.c:441 src/misc_track.c:852
-msgid "No entry selected."
-msgstr "²¿¤âÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
-
 #: src/misc_confirm.c:448
 msgid "Cannot remove entry 'All'"
 msgstr "'¤¹¤Ù¤Æ' ¤Î¹àÌܤòºï½ü¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
@@ -2136,34 +2060,44 @@
 msgid "Removed all %d tracks from the iPod"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤ä¡¢¥×¥ì¥¤¥ê¥¹¥È¤«¤é¶Ê¤òºï½ü¤¹¤ë»þ"
 
-#: src/misc_confirm.c:549 src/misc_confirm.c:619
+#: src/misc_confirm.c:546
+#, fuzzy
+msgid "Removed all podcasts from the iPod"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È¤ä¡¢¥×¥ì¥¤¥ê¥¹¥È¤«¤é¶Ê¤òºï½ü¤¹¤ë»þ"
+
+#: src/misc_confirm.c:556 src/misc_confirm.c:626
 #, c-format
 msgid "Deleted playlist '%s' including %d member track"
 msgid_plural "Deleted playlist '%s' including %d member tracks"
 msgstr[0] "¥×¥ì¥¤¥ê¥¹¥È '%s'¡Ê%d ¶ÊÆþ¤ê¡Ë¤òºï½ü¤·¤Þ¤·¤¿"
 
-#: src/misc_confirm.c:563 src/misc_confirm.c:633
+#: src/misc_confirm.c:570 src/misc_confirm.c:640
 #, c-format
 msgid "Deleted playlist '%s'"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È '%s' ¤òºï½ü"
 
-#: src/misc_confirm.c:596
+#: src/misc_confirm.c:603
 #, fuzzy, c-format
 msgid "Deleted playlist '%s' including %d member track on harddisk"
 msgid_plural "Deleted playlist '%s' including %d member tracks on harddisk"
 msgstr[0] "¥×¥ì¥¤¥ê¥¹¥È '%s'¡Ê%d ¶ÊÆþ¤ê¡Ë¤òºï½ü¤·¤Þ¤·¤¿"
 
-#: src/misc_confirm.c:611
+#: src/misc_confirm.c:618
 #, c-format
 msgid "Removed all %d tracks from the database"
 msgstr ""
 
-#: src/misc_confirm.c:686
+#: src/misc_confirm.c:693
 #, fuzzy
 msgid "Are you sure you want to remove all tracks from your iPod?"
 msgstr "°Ê²¼¤Î¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È \"%s\" ¤«¤éºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?"
 
-#: src/misc_confirm.c:694
+#: src/misc_confirm.c:698
+#, fuzzy
+msgid "Are you sure you want to remove all podcasts from your iPod?"
+msgstr "°Ê²¼¤Î¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È \"%s\" ¤«¤éºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?"
+
+#: src/misc_confirm.c:706
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and the following track "
@@ -2178,12 +2112,12 @@
 "¤¤¤Ç¤¹¤«? ³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤Ï¡¢¤½¤ì¤¾¤ì¤Î¶Ê¤¬¤¤¤¯¤Ä¤Î¥×¥ì¥¤¥ê¥¹¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤"
 "¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£"
 
-#: src/misc_confirm.c:705 src/misc_confirm.c:760
+#: src/misc_confirm.c:717 src/misc_confirm.c:772
 #, c-format
 msgid "Are you sure you want to delete the playlist '%s'?"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È '%s' ¤òËÜÅö¤Ëºï½ü¤·¤Æ¤â¤¤¤¤¤Ç¤¹¤«?"
 
-#: src/misc_confirm.c:731
+#: src/misc_confirm.c:743
 #, fuzzy, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2198,12 +2132,12 @@
 "¤¤¤Ç¤¹¤«? ³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤Ï¡¢¤½¤ì¤¾¤ì¤Î¶Ê¤¬¤¤¤¯¤Ä¤Î¥×¥ì¥¤¥ê¥¹¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤"
 "¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£"
 
-#: src/misc_confirm.c:739
+#: src/misc_confirm.c:751
 #, fuzzy
 msgid "Are you sure you want to remove all tracks from the database?"
 msgstr "°Ê²¼¤Î¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È \"%s\" ¤«¤éºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?"
 
-#: src/misc_confirm.c:748
+#: src/misc_confirm.c:760
 #, fuzzy, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2218,28 +2152,28 @@
 "¤¤¤Ç¤¹¤«? ³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤Ï¡¢¤½¤ì¤¾¤ì¤Î¶Ê¤¬¤¤¤¯¤Ä¤Î¥×¥ì¥¤¥ê¥¹¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤"
 "¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£"
 
-#: src/misc_confirm.c:937
+#: src/misc_confirm.c:960
 #, fuzzy, c-format
 msgid "Problem creating iPod directory: '%s'."
 msgstr "'%s' ¤ËiPod¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ëºÝ¤ËÌäÂ꤬ȯÀ¸¤·¤Þ¤·¤¿¡£"
 
-#: src/misc_confirm.c:939
+#: src/misc_confirm.c:962
 #, c-format
 msgid "Successfully created iPod directories in '%s'."
 msgstr "'%s' ¤ËiPod¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤·¤¿¡£"
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_confirm.c:978
+#: src/misc_confirm.c:1001
 msgid "Create iPod directories"
 msgstr "iPod¤Î½é´üÀßÄê"
 
 #. title
-#: src/misc_confirm.c:979
+#: src/misc_confirm.c:1002
 msgid "OK to create the following directories?"
 msgstr "°Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Æ¤â¤¤¤¤¤Ç¤¹¤«?"
 
-#: src/misc_confirm.c:1043
+#: src/misc_confirm.c:1066
 msgid ""
 "Data has been changed and not been saved.\n"
 "OK to exit gtkpod?"
@@ -2247,6 +2181,11 @@
 "Êѹ¹¤Î¤¢¤Ã¤¿¥Ç¡¼¥¿¤Ï¥»¡¼¥Ö¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 "ËÜÅö¤Ë½ªÎ»¤·¤Þ¤¹¤«?"
 
+#: src/misc_conversion.c:67
+#, fuzzy
+msgid "File type"
+msgstr "¥Õ¥¡¥¤¥ë¥µ¥¤¥º"
+
 #: src/misc_conversion.c:68
 msgid "PC File"
 msgstr "PC¥Õ¥¡¥¤¥ë"
@@ -2294,55 +2233,87 @@
 msgid "CD Nr"
 msgstr "CDÈÖ¹æ"
 
-#: src/misc_conversion.c:101
+#: src/misc_conversion.c:89
+#, fuzzy
+msgid "Category"
+msgstr "¥«¥Æ¥´¥ê: "
+
+#: src/misc_conversion.c:90
+msgid "Description"
+msgstr ""
+
+#. 30
+#: src/misc_conversion.c:91
+msgid "Podcast URL"
+msgstr ""
+
+#: src/misc_conversion.c:92
+msgid "Podcast RSS"
+msgstr ""
+
+#: src/misc_conversion.c:93
+#, fuzzy
+msgid "Subtitle"
+msgstr "¥¿¥¤¥È¥ë"
+
+#: src/misc_conversion.c:94
+#, fuzzy
+msgid "Date released"
+msgstr "ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü"
+
+#: src/misc_conversion.c:95
+msgid "Checked"
+msgstr ""
+
+#: src/misc_conversion.c:108
 msgid "Name of file on PC, if available"
 msgstr "PC ¾å¤Ç¤Î¥Õ¥¡¥¤¥ë̾ (ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç)"
 
-#: src/misc_conversion.c:102
+#: src/misc_conversion.c:109
 msgid "Name of file on the iPod"
 msgstr "iPod ¾å¤Ç¤Î¥Õ¥¡¥¤¥ë̾"
 
 #. 10
-#: src/misc_conversion.c:104
+#: src/misc_conversion.c:111
 msgid "Track Nr. and total number of tracks on CD"
 msgstr "¶ÊÈֹ椪¤è¤Ó CD ¤ÎÁí¶Ê¿ô"
 
-#: src/misc_conversion.c:105
+#: src/misc_conversion.c:112
 msgid "Whether the file has already been transferred to the iPod or not"
 msgstr "¤³¤Î¥Õ¥¡¥¤¥ë¤¬ iPod ¤ËžÁ÷ºÑ¤ß¤«¤É¤¦¤«¤ò¼¨¤¹"
 
-#: src/misc_conversion.c:111
+#: src/misc_conversion.c:118
 msgid ""
 "Supposedly something that tells the iPod to increase or decrease the "
 "playback speed"
 msgstr "¤ª¤½¤é¤¯¡¢iPod ¤ËºÆÀ¸Â®ÅÙ¤ÎÊѹ¹¤òÅÁ¤¨¤ë¤¿¤á¤ÎÃÍ"
 
-#: src/misc_conversion.c:113
+#: src/misc_conversion.c:120
 msgid "Number of times the track has been played"
 msgstr "¶Ê¤¬±éÁÕ¤µ¤ì¤¿²ó¿ô"
 
-#: src/misc_conversion.c:114
+#: src/misc_conversion.c:121
 msgid "Star rating from 0 to 5"
 msgstr "ɾ²Á (0¤«¤é5)"
 
-#: src/misc_conversion.c:115
+#: src/misc_conversion.c:122
 msgid "Date and time track has been added"
 msgstr "ÅÐÏ¿¤µ¤ì¤¿¤È¤­¤ÎÆüÉդȻþ¹ï"
 
 #. 20
-#: src/misc_conversion.c:116
+#: src/misc_conversion.c:123
 msgid "Date and time track has last been played"
 msgstr "ºÇ¸å¤Ë±éÁÕ¤µ¤ì¤¿¤È¤­¤ÎÆüÉդȻþ¹ï"
 
-#: src/misc_conversion.c:117
+#: src/misc_conversion.c:124
 msgid "Date and time track has last been modified"
 msgstr "ºÇ¸å¤ËÊѹ¹¤µ¤ì¤¿¤È¤­¤ÎÆüÉդȻþ¹ï"
 
-#: src/misc_conversion.c:118
+#: src/misc_conversion.c:125
 msgid "Manual volume adjust"
 msgstr "²»Î̤ÎÄ´À°ÃÍ"
 
-#: src/misc_conversion.c:119
+#: src/misc_conversion.c:126
 msgid ""
 "Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on "
 "the iPod"
@@ -2351,31 +2322,44 @@
 "¤¢¤ê¤Þ¤¹"
 
 #. 25
-#: src/misc_conversion.c:122
+#: src/misc_conversion.c:129
 msgid "CD Nr. and total number of CDS in set"
 msgstr "CD ÈÖ¹æ¤È¡¢¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤ë CD ¤ÎÁíËç¿ô"
 
-#: src/misc_conversion.c:605
+#: src/misc_conversion.c:132
+msgid ""
+"The category (e.g. 'Technology' or 'Music') where the podcast was located."
+msgstr ""
+
+#: src/misc_conversion.c:133
+msgid "Accessible by selecting the center button on the iPod."
+msgstr ""
+
+#: src/misc_conversion.c:137
+msgid "Release date (for podcasts displayed next to the title on the iPod)"
+msgstr ""
+
+#: src/misc_conversion.c:639
 #, c-format
 msgid "The URI '%s' is not an absolute URI using the file scheme"
 msgstr "»ØÄꤵ¤ì¤¿URI '%s' ¤Ïfile¥¹¥­¡¼¥à¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡¢ÉÔ´°Á´¤ÊURI¤Ç¤¹"
 
-#: src/misc_conversion.c:615
+#: src/misc_conversion.c:649
 #, c-format
 msgid "The local file URI '%s' may not include a '#'"
 msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤ò»Ø¤¹URI '%s' ¤Ë¤Ï '#' ¤Ï´Þ¤Þ¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
 
-#: src/misc_conversion.c:632
+#: src/misc_conversion.c:666
 #, c-format
 msgid "The URI '%s' is invalid"
 msgstr "»ØÄꤵ¤ì¤¿URI '%s' ¤ÏÉÔÀµ¤Ç¤¹"
 
-#: src/misc_conversion.c:644
+#: src/misc_conversion.c:678
 #, c-format
 msgid "The hostname of the URI '%s' is invalid"
 msgstr "»ØÄꤵ¤ì¤¿URI '%s' ¤Î¥Û¥¹¥È̾¤¬ÉÔÀµ¤Ç¤¹"
 
-#: src/misc_conversion.c:660
+#: src/misc_conversion.c:694
 #, c-format
 msgid "The URI '%s' contains invalidly escaped characters"
 msgstr "»ØÄꤵ¤ì¤¿URI '%s' ¤ÏÉÔÀµ¤Ê¥¨¥¹¥±¡¼¥×ʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
@@ -2384,7 +2368,7 @@
 msgid "Please enter a name for the new playlist"
 msgstr "¿·¤·¤¤¥×¥ì¥¤¥ê¥¹¥È¤Î̾Á°¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
 
-#: src/misc_playlist.c:97 gtkpod.glade:533 gtkpod.glade:12271
+#: src/misc_playlist.c:97 gtkpod.glade:578 gtkpod.glade:772 gtkpod.glade:7128
 msgid "Smart Playlist"
 msgstr "¥¹¥Þ¡¼¥È¥×¥ì¥¤¥ê¥¹¥È"
 
@@ -2470,34 +2454,34 @@
 msgid "Last Time"
 msgstr "Á°²ó°Ê¹ß"
 
-#: src/misc_playlist.c:834
+#: src/misc_playlist.c:831
 msgid "Removal of dangling tracks with no files on PC was canceled."
 msgstr ""
 
-#: src/misc_playlist.c:844
+#: src/misc_playlist.c:841
 msgid "Handling of dangling tracks with files on PC was canceled."
 msgstr ""
 
-#: src/misc_playlist.c:872
+#: src/misc_playlist.c:869
 msgid "Dangling tracks with no files on PC were removed."
 msgstr ""
 
 #. printf("Handling track %d\n", track->ipod_id);
-#: src/misc_playlist.c:905
+#: src/misc_playlist.c:902
 #, fuzzy, c-format
 msgid "Processing '%s'"
 msgstr "'%s' ¤Î½èÍýÃæ..."
 
-#: src/misc_playlist.c:930
+#: src/misc_playlist.c:927
 msgid "Dangling tracks with files on PC were handled."
 msgstr ""
 
-#: src/misc_playlist.c:963
+#: src/misc_playlist.c:960
 #, fuzzy
 msgid "Track"
 msgstr "¶Ê¥ê¥¹¥È"
 
-#: src/misc_playlist.c:1008
+#: src/misc_playlist.c:1005
 msgid ""
 "You did not import the existing iTunesDB. This is most likely incorrect and "
 "will result in the loss of the existing database.\n"
@@ -2507,19 +2491,19 @@
 "again.\n"
 msgstr ""
 
-#: src/misc_playlist.c:1024
+#: src/misc_playlist.c:1021
 msgid "Creating a tree of known files"
 msgstr ""
 
-#: src/misc_playlist.c:1052
+#: src/misc_playlist.c:1065
 msgid "Checking iPOD files against known files in DB"
 msgstr ""
 
-#: src/misc_playlist.c:1098
+#: src/misc_playlist.c:1110
 msgid "Orphaned"
 msgstr ""
 
-#: src/misc_playlist.c:1119
+#: src/misc_playlist.c:1131
 #, c-format
 msgid ""
 "The following orphaned file had already been added to the iPod again. It "
@@ -2528,12 +2512,12 @@
 "\n"
 msgstr ""
 
-#: src/misc_playlist.c:1148
+#: src/misc_playlist.c:1160
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Processing..."
 msgstr ""
 
-#: src/misc_playlist.c:1171
+#: src/misc_playlist.c:1183
 #, c-format
 msgid ""
 "The following dangling track has a file on PC.\n"
@@ -2546,7 +2530,7 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/misc_playlist.c:1176
+#: src/misc_playlist.c:1188
 #, c-format
 msgid ""
 "The following dangling track doesn't have file on PC. \n"
@@ -2559,30 +2543,30 @@
 
 #. we want unique window for each
 #. gboolean modal,
-#: src/misc_playlist.c:1183
+#: src/misc_playlist.c:1195
 #, fuzzy
 msgid "Dangling Tracks"
 msgstr "·Ù¹ð"
 
-#: src/misc_playlist.c:1207
+#: src/misc_playlist.c:1219
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Done."
 msgstr ""
 
 #. update for count == 1, 21, 41 ... and for count == n
-#: src/misc_track.c:90 src/misc_track.c:367
+#: src/misc_track.c:91 src/misc_track.c:368
 #, c-format
 msgid "Hashed %d of %d track."
 msgid_plural "Hashed %d of %d tracks."
 msgstr[0] "%d¶ÊÃæ%d¶Ê¤Î¥Ï¥Ã¥·¥å¤òÀ¸À®¤·¤Þ¤·¤¿¡£"
 
-#: src/misc_track.c:201
+#: src/misc_track.c:202
 #, c-format
 msgid "The following duplicate track has been removed."
 msgid_plural "The following %d duplicate tracks have been removed."
 msgstr[0] "°Ê²¼¤Î½ÅÊ£¤·¤¿%d¶Ê¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£"
 
-#: src/misc_track.c:208
+#: src/misc_track.c:209
 #, c-format
 msgid ""
 "The following duplicate track has not been added to the master play list."
@@ -2593,31 +2577,35 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_track.c:215
+#: src/misc_track.c:216
 msgid "Duplicate detection"
 msgstr "½ÅÊ£¤Î¸¡½Ð"
 
-#: src/misc_track.c:793
+#: src/misc_track.c:844
+msgid "Local Database"
+msgstr ""
+
+#: src/misc_track.c:1396
 #, c-format
 msgid "drag and drop: ignored '%s'\n"
 msgstr "¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×: '%s'¤Ï̵»ë¤·¤Þ¤¹\n"
 
-#: src/mp3file.c:1091
+#: src/mp3file.c:1117
 #, fuzzy, c-format
 msgid "Error setting ID3 field: %s\n"
 msgstr "'%s'¤ÎºîÀ®¤Ë¼ºÇÔ: %s\n"
 
-#: src/mp3file.c:1116 src/mp3file.c:1223 src/mp3file.c:1949
+#: src/mp3file.c:1142 src/mp3file.c:1289 src/mp3file.c:2035
 #, c-format
 msgid "ERROR while opening file: '%s' (%s).\n"
 msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò³«¤¯ºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£ (%s)\n"
 
-#: src/mp3file.c:1280
+#: src/mp3file.c:1356
 #, fuzzy, c-format
 msgid "ERROR while writing tag to file: '%s' (%s).\n"
 msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò³«¤¯ºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£ (%s)\n"
 
-#: src/mp3file.c:1793
+#: src/mp3file.c:1879
 #, c-format
 msgid ""
 "Could not find mp3gain. I tried to use the following executable: '%s'.\n"
@@ -2636,33 +2624,33 @@
 "¤â¤· mp3gain ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢http://www.sourceforge.net/"
 "projects/mp3gain ¤è¤ê¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£"
 
-#: src/mp3file.c:1833
+#: src/mp3file.c:1919
 #, c-format
 msgid "Execution of mp3gain ('%s') failed."
 msgstr ""
 
 #. Tracks with zero play length are ignored by iPod...
-#: src/mp3file.c:2061
+#: src/mp3file.c:2178
 #, c-format
 msgid "File \"%s\" has zero play length. Ignoring.\n"
 msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤ÏŤµ¤¬0¤Ê¤Î¤Ç̵»ë¤·¤Þ¤¹¡£\n"
 
-#: src/mp4file.c:234 src/mp4file.c:353
+#: src/mp4file.c:243 src/mp4file.c:362
 #, c-format
 msgid "'%s' does not appear to be a mp4 audio file.\n"
 msgstr "'%s' ¤Ï mp4 ¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¤È¤Ïǧ¼±¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: src/mp4file.c:244
+#: src/mp4file.c:253
 #, c-format
 msgid "Could not open '%s' for reading, or file is not an mp4 file.\n"
 msgstr "'%s' ¤ÏÆɤ߹þ¤ß¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢mp4 ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/mp4file.c:364
+#: src/mp4file.c:373
 #, c-format
 msgid "Could not open '%s' for writing, or file is not an mp4 file.\n"
 msgstr "'%s' ¤Ï½ñ¤­¹þ¤ß¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢mp4 ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/mp4file.c:377
+#: src/mp4file.c:386
 #, fuzzy, c-format
 msgid ""
 "Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. "
@@ -2671,7 +2659,7 @@
 "'%s'¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ: m4a/m4p ¤Î¼è¤ê°·¤¤¤Ë¤Ï mp4v2 ¥é¥¤¥Ö¥é¥ê¤¬É¬ÍפǤ¹¡£"
 "mp4v2 ¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ gtkpod ¤òºÆÅÙ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: src/mp4file.c:383
+#: src/mp4file.c:392
 #, fuzzy, c-format
 msgid ""
 "m4a/m4p/m4b metadata update for '%s' failed: m4a/m4p/m4b not supported "
@@ -2682,36 +2670,36 @@
 "¥ê¤¬É¬ÍפǤ¹¡£mp4v2 ¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ gtkpod ¤òºÆÅÙ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤À¤µ"
 "¤¤¡£\n"
 
-#: src/prefs.c:127
+#: src/prefs.c:128
 #, c-format
 msgid "gtkpod version %s usage:\n"
 msgstr "gtkpod version %s »È¤¤Êý:\n"
 
-#: src/prefs.c:128
+#: src/prefs.c:129
 msgid "  -h, --help:   display this message\n"
 msgstr "  -h, --help:   ¤³¤Î¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹\n"
 
-#: src/prefs.c:129
+#: src/prefs.c:130
 msgid "  -p <filename>:increment playcount for file by one\n"
 msgstr ""
 
-#: src/prefs.c:130
+#: src/prefs.c:131
 msgid "  -m path:      define the mountpoint of your iPod\n"
 msgstr "  -m path:      iPod¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ò»ØÄꤷ¤Þ¤¹\n"
 
-#: src/prefs.c:131
+#: src/prefs.c:132
 msgid "  --mountpoint: same as '-m'.\n"
 msgstr "  --mountpoint: '-m'¤ÈƱ¤¸\n"
 
-#: src/prefs.c:132
+#: src/prefs.c:133
 msgid "  -a:           import database automatically after start.\n"
 msgstr "  -a:           µ¯Æ°»þ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¼«Æ°Åª¤ËÆɤ߹þ¤ß¤Þ¤¹\n"
 
-#: src/prefs.c:133
+#: src/prefs.c:134
 msgid "  --auto:       same as '-a'.\n"
 msgstr "  --auto:       '-a'¤ÈƱ¤¸\n"
 
-#: src/prefs.c:134
+#: src/prefs.c:135
 msgid ""
 "  -o:           use offline mode. No changes are exported to the iPod,\n"
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
@@ -2722,153 +2710,149 @@
 "                iPod¤Ø½ñ¤­¹þ¤à¤Ë¤Ï¡¢¡Ö¥ª¥Õ¥é¥¤¥ó¡×¤ò̵¸ú¤Ë¤·¤¿¸å¡¢\n"
 "                ¡Ö¹¹¿·¡×¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: src/prefs.c:135
+#: src/prefs.c:136
 msgid "  --offline:    same as '-o'.\n"
 msgstr "  --offline:    '-o'¤ÈƱ¤¸\n"
 
-#: src/prefs.c:382
+#: src/prefs.c:401
 #, c-format
 msgid "Error while reading prefs: %s\n"
 msgstr "ÀßÄê¥Õ¥¡¥¤¥ë¤Î°Ê²¼¤Î¹Ô¤Ë¸í¤ê¤¬¤¢¤ê¤Þ¤¹: %s\n"
 
-#: src/prefs.c:948
+#: src/prefs.c:1030
 #, c-format
 msgid "Unable to open config file '%s' for reading\n"
 msgstr "ÀßÄê¥Õ¥¡¥¤¥ë \"%s\" ¤ò³«¤±¤Þ¤»¤ó\n"
 
-#: src/prefs.c:1052
+#: src/prefs.c:1137
 #, c-format
 msgid "Unknown option: %s\n"
 msgstr "ÉÔÌÀ¤Ê¥ª¥×¥·¥ç¥ó: %s\n"
 
-#: src/prefs.c:1100
+#: src/prefs.c:1190
 #, c-format
 msgid "# delete confirmation\n"
 msgstr ""
 
-#: src/prefs.c:1107
+#: src/prefs.c:1197
 #, c-format
 msgid "# sort tab: select 'All', last selected page (=category)\n"
 msgstr ""
 
-#: src/prefs.c:1126
+#: src/prefs.c:1216
 #, c-format
 msgid "# autoselect master playlist?\n"
 msgstr ""
 
-#: src/prefs.c:1128
+#: src/prefs.c:1218
 #, c-format
 msgid "# title=0, artist, album, genre, composer\n"
 msgstr ""
 
-#: src/prefs.c:1129
+#: src/prefs.c:1219
 #, c-format
 msgid "# track_nr=5, ipod_id, pc_path, transferred\n"
 msgstr ""
 
-#: src/prefs.c:1130
+#: src/prefs.c:1220
 #, c-format
 msgid "# autoset: set empty tag to filename?\n"
 msgstr ""
 
-#: src/prefs.c:1143
+#: src/prefs.c:1235
 #, c-format
 msgid ""
 "# position of sliders (paned): playlists, above tracks,\n"
 "# between sort tabs, and in statusbar.\n"
 msgstr ""
 
-#: src/prefs.c:1178
+#: src/prefs.c:1271
 #, c-format
 msgid ""
 "# window sizes: main window, confirmation scrolled,\n"
 "#               confirmation non-scrolled, dirbrowser, prefs\n"
 msgstr ""
 
-#: src/prefs.c:1215
-msgid "Settings are not saved.\n"
-msgstr "ÀßÄê¤ÏÊݸ¤µ¤ì¤Þ¤»¤ó¡£\n"
-
-#: src/prefs.c:1228
+#: src/prefs.c:1328
 #, c-format
 msgid "Unable to open '%s' for writing\n"
 msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤ò³«¤±¤Þ¤»¤ó\n"
 
-#: src/prefs.c:1592
+#: src/prefs.c:1682
 #, c-format
 msgid ""
 " Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.\n"
 msgstr ""
 " ÀßÄê: ¥«¥Æ¥´¥ê¡¼¤Î¿ô (%d<%d?) ¤«¡¢¥½¡¼¥È¥¿¥Ö¤Î¿ô (%d<%d?) ¤¬Â¿²á¤®¤Þ¤¹¡£\n"
 
-#: src/prefs.c:1641
+#: src/prefs.c:1731
 #, c-format
 msgid "Unable to 'mkdir %s'\n"
 msgstr "\"mkdir %s\" ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2034
+#: src/prefs.c:2157
 #, c-format
 msgid "prefs_set_toolbar_style: illegal style '%d' ignored\n"
 msgstr "prefs_set_toolbar_style: ÉÔÀµ¤Ê¥¹¥¿¥¤¥ë '%d' ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2076
+#: src/prefs.c:2199
 #, c-format
 msgid "prefs_set_pm_sort: illegal type '%d' ignored\n"
 msgstr "prefs_set_pm_sort: ÉÔÀµ¤Ê·¿ '%d' ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿\n"
 
-#: src/prefs.c:2231
+#: src/prefs.c:2354
 #, c-format
 msgid "'%s': no arguments (%%...) allowed.\n"
 msgstr "'%s': °ú¿ô (%%...) ¤Ï»È¤¨¤Þ¤»¤ó¡£\n"
 
-#: src/prefs.c:2236
+#: src/prefs.c:2359
 #, c-format
 msgid "'%s': only '%%[%s]' allowed.\n"
 msgstr "'%s': '%%%s' ¤Ï°ì¤Ä¤Þ¤Ç¤·¤«»È¤¨¤Þ¤»¤ó¡£\n"
 
-#: src/prefs_window.c:93
+#: src/prefs_window.c:105
 msgid "Please select command for 'Play Now'"
 msgstr ""
 
-#: src/prefs_window.c:94
+#: src/prefs_window.c:106
 msgid "Please select command for 'Enqueue'"
 msgstr ""
 
-#: src/prefs_window.c:95
+#: src/prefs_window.c:107
 msgid "Please select the mp3gain executable"
 msgstr ""
 
-#: src/prefs_window.c:96
+#: src/prefs_window.c:108
 msgid "Please select command to sync contacts"
 msgstr ""
 
-#: src/prefs_window.c:97
+#: src/prefs_window.c:109
 msgid "Please select command to sync calendar"
 msgstr ""
 
-#: src/prefs_window.c:98
+#: src/prefs_window.c:110
 msgid "Select the mserv music root directory"
 msgstr ""
 
-#: src/prefs_window.c:99
+#: src/prefs_window.c:111
 msgid "Select the mserv trackinfo root directory"
 msgstr ""
 
-#: src/prefs_window.c:748
+#: src/prefs_window.c:824
 #, c-format
 msgid ""
-"Have a look at the scripts provided in '%s'. If you write a new script, "
+"<i>Have a look at the scripts provided in '%s'. If you write a new script, "
 "please send it to jcsjcs at users.sourceforge.net for inclusion into the "
-"next release."
+"next release.</i>"
 msgstr ""
 
-#: src/prefs_window.c:1006 src/prefs_window.c:1024
+#: src/prefs_window.c:1257 src/prefs_window.c:1275
 msgid "Preferences not updated"
 msgstr "ÀßÄê¤Ï¹¹¿·¤µ¤ì¤Þ¤»¤ó"
 
-#: src/prefs_window.c:1033
+#: src/prefs_window.c:1284
 msgid "Preferences applied"
 msgstr "ÀßÄê¤òŬÍѤ·¤Þ¤·¤¿"
 
@@ -2972,961 +2956,422 @@
 msgid "Synchronize _iTunesDB"
 msgstr "iTunesDB¤ò¹¹¿·¤¹¤ë(_i)"
 
-#: gtkpod.glade:156
+#: gtkpod.glade:183
 msgid "_Update Tracks from File"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¸µ¤Ë¶Ê¤ò¹¹¿·¤¹¤ë(_U)"
 
-#: gtkpod.glade:177 gtkpod.glade:229 gtkpod.glade:281 gtkpod.glade:339
-#: gtkpod.glade:391 gtkpod.glade:767 gtkpod.glade:819 gtkpod.glade:1007
-#: gtkpod.glade:1059 gtkpod.glade:1105
+#: gtkpod.glade:204 gtkpod.glade:256 gtkpod.glade:308 gtkpod.glade:366
+#: gtkpod.glade:418 gtkpod.glade:1136 gtkpod.glade:1188 gtkpod.glade:1234
 msgid "Selected _Playlist"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È(_P)"
 
-#: gtkpod.glade:186 gtkpod.glade:238 gtkpod.glade:290 gtkpod.glade:348
-#: gtkpod.glade:400 gtkpod.glade:776 gtkpod.glade:828 gtkpod.glade:1016
-#: gtkpod.glade:1068 gtkpod.glade:1114
+#: gtkpod.glade:213 gtkpod.glade:265 gtkpod.glade:317 gtkpod.glade:375
+#: gtkpod.glade:427 gtkpod.glade:1145 gtkpod.glade:1197 gtkpod.glade:1243
 msgid "Selected Tab _Entry"
 msgstr "ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥È¥¿¥Ö(_E)"
 
-#: gtkpod.glade:195 gtkpod.glade:247 gtkpod.glade:299 gtkpod.glade:357
-#: gtkpod.glade:409 gtkpod.glade:785 gtkpod.glade:837 gtkpod.glade:1025
-#: gtkpod.glade:1077 gtkpod.glade:1123
+#: gtkpod.glade:222 gtkpod.glade:274 gtkpod.glade:326 gtkpod.glade:384
+#: gtkpod.glade:436 gtkpod.glade:569 gtkpod.glade:1154 gtkpod.glade:1206
+#: gtkpod.glade:1252
 msgid "Selected _Tracks"
 msgstr "ÁªÂò¤µ¤ì¤Æ¤¤¤ë¶Ê(_S)"
 
-#: gtkpod.glade:208
+#: gtkpod.glade:235
 msgid "Update _mserv Data from File"
 msgstr "mserv ¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë(_m)"
 
-#: gtkpod.glade:260
+#: gtkpod.glade:287
 msgid "_Synchronize Directories"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òƱ´ü¤µ¤»¤ë(_S)"
 
-#: gtkpod.glade:318
+#: gtkpod.glade:345
 #, fuzzy
 msgid "_Export Tracks from Database"
 msgstr "¤¹¤Ù¤Æ¤Î¶Ê¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü"
 
-#: gtkpod.glade:370
+#: gtkpod.glade:397
 msgid "Create _Playlist File"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ® (_P)"
 
-#: gtkpod.glade:428
+#: gtkpod.glade:455
 msgid "_Offline"
 msgstr "¥ª¥Õ¥é¥¤¥ó(_O)"
 
-#: gtkpod.glade:444
+#: gtkpod.glade:471
 msgid "_Create iPod's Directories"
 msgstr "iPod¤Î½é´üÀßÄê(_C)"
 
-#: gtkpod.glade:465
+#: gtkpod.glade:492
 msgid ""
 "Find orphan files (files with no track info in DB) and dangling tracks "
 "(tracks with no corresponding files on iPOD)"
 msgstr ""
 
-#: gtkpod.glade:466
+#: gtkpod.glade:493
 msgid "_Check iPod's Files"
 msgstr "iPod ¤Î¥Á¥§¥Ã¥¯(_C)"
 
-#: gtkpod.glade:494 gtkpod.glade:4973 gtkpod.glade:16459
+#: gtkpod.glade:521 gtkpod.glade:11968
 msgid "_Edit"
 msgstr "ÊÔ½¸(_E)"
 
-#: gtkpod.glade:503
+#: gtkpod.glade:551
+#, fuzzy
+msgid "Tracks in Selected _Playlist"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È(_P)"
+
+#: gtkpod.glade:560
+#, fuzzy
+msgid "Tracks in Selected Tab _Entry"
+msgstr "ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥È¥¿¥Ö(_E)"
+
+#: gtkpod.glade:591
+msgid "_Delete"
+msgstr ""
+
+#: gtkpod.glade:612
+#, fuzzy
+msgid "Selected playlist"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È(_P)"
+
+#: gtkpod.glade:621
+#, fuzzy
+msgid "Selected playlist including tracks from iPod"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È '%s'¡Ê%d ¶ÊÆþ¤ê¡Ë¤òºï½ü¤·¤Þ¤·¤¿"
+
+#: gtkpod.glade:630
+#, fuzzy
+msgid "Selected playlist including tracks from database"
+msgstr "Ãæ¤Î¶Ê¤´¤Èºï½ü (¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é)"
+
+#: gtkpod.glade:639
+#, fuzzy
+msgid "Selected playlist including tracks from harddisk"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È '%s'¡Ê%d ¶ÊÆþ¤ê¡Ë¤òºï½ü¤·¤Þ¤·¤¿"
+
+#: gtkpod.glade:654
+msgid "Selected filter tab entry from playlist"
+msgstr ""
+
+#: gtkpod.glade:663
+#, fuzzy
+msgid "Selected filter tab entry from iPod"
+msgstr "iPod¤«¤é1¶Ê´°Á´¤Ëºï½ü¤·¤Þ¤·¤¿"
+
+#: gtkpod.glade:672
+msgid "Selected filter tab entry from database"
+msgstr ""
+
+#: gtkpod.glade:681
+#, fuzzy
+msgid "Selected filter tab entry from harddisk"
+msgstr "¤³¤Î¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü¤·¤Þ¤¹¤«?"
+
+#: gtkpod.glade:696
+#, fuzzy
+msgid "Selected tracks from playlist"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü"
+
+#: gtkpod.glade:705
+#, fuzzy
+msgid "Selected tracks from iPod"
+msgstr "iPod¤«¤é1¶Ê´°Á´¤Ëºï½ü¤·¤Þ¤·¤¿"
+
+#: gtkpod.glade:714
+#, fuzzy
+msgid "Selected tracks from database"
+msgstr "¤¹¤Ù¤Æ¤Î¶Ê¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü"
+
+#: gtkpod.glade:723
+#, fuzzy
+msgid "Selected tracks from harddisk"
+msgstr "¤³¤Î¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü¤·¤Þ¤¹¤«?"
+
+#: gtkpod.glade:742
 msgid "_Create Playlists"
 msgstr "¥×¥ì¥¤¥ê¥¹¥ÈºîÀ®(_C)"
 
-#: gtkpod.glade:524
+#: gtkpod.glade:763
 msgid "Empty Playlist"
 msgstr "¶õ¥ê¥¹¥È"
 
-#: gtkpod.glade:542
+#: gtkpod.glade:781
 msgid "Random Playlist from Displayed Tracks"
 msgstr "ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤é¥é¥ó¥À¥à¤ËºîÀ®"
 
-#: gtkpod.glade:551
+#: gtkpod.glade:790
 msgid "Containing Displayed Tracks"
 msgstr "ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤éºîÀ®"
 
-#: gtkpod.glade:560
+#: gtkpod.glade:799
 msgid "Containing Selected Tracks"
 msgstr "ÁªÂò¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤éºîÀ®"
 
-#: gtkpod.glade:569
+#: gtkpod.glade:808
 msgid "One for each Artist"
 msgstr "³Æ¥¢¡¼¥Æ¥£¥¹¥È¤´¤È¤Î¥ê¥¹¥È"
 
-#: gtkpod.glade:578
+#: gtkpod.glade:817
 msgid "One for each Album"
 msgstr "³Æ¥¢¥ë¥Ð¥à¤´¤È¤Î¥ê¥¹¥È"
 
-#: gtkpod.glade:587
+#: gtkpod.glade:826
 msgid "One for each Genre"
 msgstr "³Æ¥¸¥ã¥ó¥ë¤´¤È¤Î¥ê¥¹¥È"
 
-#: gtkpod.glade:596
+#: gtkpod.glade:835
 msgid "One for each Composer"
 msgstr "³Æºî¶Ê¼Ô¤´¤È¤Î¥ê¥¹¥È"
 
-#: gtkpod.glade:605
+#: gtkpod.glade:844
 msgid "One for each Year"
 msgstr "³Æǯ¤´¤È¤Î¥ê¥¹¥È"
 
-#: gtkpod.glade:614
+#: gtkpod.glade:853
 msgid "One for each Rating"
 msgstr "³Æɾ²ÁÃͤ´¤È¤Î¥ê¥¹¥È"
 
-#: gtkpod.glade:623
+#: gtkpod.glade:862
 msgid "Best Rated Tracks"
 msgstr "ɾ²Á¤Î¹â¤¤¶Ê"
 
-#: gtkpod.glade:632
+#: gtkpod.glade:871
 msgid "Tracks Most Often Listened To"
 msgstr "ºÆÀ¸²ó¿ô¤Î¿¤¤¶Ê"
 
-#: gtkpod.glade:641
+#: gtkpod.glade:880
 msgid "Most Recently Played Tracks"
 msgstr "ºÇ¶áºÆÀ¸¤µ¤ì¤¿¶Ê"
 
-#: gtkpod.glade:650
+#: gtkpod.glade:889
 msgid "All Tracks Played Since Last Time"
 msgstr "Á°²ó°Ê¹ßºÆÀ¸¤µ¤ì¤¿¶Ê"
 
-#: gtkpod.glade:659
+#: gtkpod.glade:898
 msgid "All Tracks Never Listened To"
 msgstr "°ìÅÙ¤âÄ°¤¤¤¿»ö¤¬¤Ê¤¤¶Ê"
 
-#: gtkpod.glade:668
+#: gtkpod.glade:907
 msgid "All Tracks not Listed in any Playlist"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤ËºÜ¤Ã¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¶Ê"
 
-#: gtkpod.glade:681
+#: gtkpod.glade:920
 msgid "Randomize Current Playlist"
 msgstr "¸½ºß¤Î¥×¥ì¥¤¥ê¥¹¥È¤ò¥é¥ó¥À¥à¤Ëʤٴ¹¤¨¤ë"
 
-#: gtkpod.glade:696
+#: gtkpod.glade:935
 msgid "_Sorting"
 msgstr "ʤٴ¹¤¨(_S)"
 
-#: gtkpod.glade:718
+#: gtkpod.glade:957
 msgid "_Save Displayed Track Order"
 msgstr "¸½ºß¤Î¶Ê½ç¤òÊݸ(_S)"
 
-#: gtkpod.glade:746
-msgid "_Delete But Keep Tracks"
-msgstr "¶Ê¤Ï»Ä¤·¤¿¤Þ¤Þºï½ü(_D)"
-
-#: gtkpod.glade:798
-msgid "_Delete Completely From iPod"
-msgstr "iPod¤«¤é´°Á´¤Ëºï½ü(_D)"
-
-#: gtkpod.glade:856
+#: gtkpod.glade:985
 msgid "_Edit Preferences"
 msgstr "ÀßÄê(_E)"
 
-#: gtkpod.glade:882
+#: gtkpod.glade:1011
 msgid "_View"
 msgstr "ɽ¼¨(_V)"
 
-#: gtkpod.glade:891
+#: gtkpod.glade:1020
 msgid "_Toolbar"
 msgstr "¥Ä¡¼¥ë¥Ð¡¼(_T)"
 
-#: gtkpod.glade:901
+#: gtkpod.glade:1030
 msgid "_Tooltips"
 msgstr "¥Ä¡¼¥ë¥Á¥Ã¥×(_T)"
 
-#: gtkpod.glade:911
+#: gtkpod.glade:1040
 msgid "_Info Window"
 msgstr "¾ðÊó(_I)"
 
-#: gtkpod.glade:922
+#: gtkpod.glade:1051
 msgid "_More Sort Tabs"
 msgstr "¥½¡¼¥È¥¿¥Ö¤ÎÄɲÃ(_M)"
 
-#: gtkpod.glade:943
+#: gtkpod.glade:1072
 msgid "_Less Sort Tabs"
 msgstr "¥½¡¼¥È¥¿¥Ö¤Îºï½ü(_L)"
 
-#: gtkpod.glade:964
+#: gtkpod.glade:1093
 msgid "_Arrange Sort Tabs"
 msgstr "¥½¡¼¥È¥¿¥Ö¤òºÆÇÛÃÖ(_A)"
 
-#: gtkpod.glade:977 gtkpod.glade:5636 gtkpod.glade:17156
+#: gtkpod.glade:1106 gtkpod.glade:12692
 msgid "_Tools"
 msgstr "¥Ä¡¼¥ë(_T)"
 
-#: gtkpod.glade:986
+#: gtkpod.glade:1115
 msgid "_Play Now"
 msgstr "º£¤¹¤°±éÁÕ(_P)"
 
-#: gtkpod.glade:1038
+#: gtkpod.glade:1167
 msgid "_Enqueue"
 msgstr "±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë(_E)"
 
-#: gtkpod.glade:1096
+#: gtkpod.glade:1225
 msgid "_Normalize Volume"
 msgstr "¥Ü¥ê¥å¡¼¥à¤ÎÊ¿¶Ñ²½"
 
-#: gtkpod.glade:1132
+#: gtkpod.glade:1261
 msgid "_Displayed Tracks"
 msgstr "ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê(_D)"
 
-#: gtkpod.glade:1141
+#: gtkpod.glade:1270
 msgid "_All Tracks"
 msgstr "¤¹¤Ù¤Æ¤Î¶Ê(_A)"
 
-#: gtkpod.glade:1150
+#: gtkpod.glade:1279
 msgid "_Newly Added Tracks"
 msgstr "¿·¤¿¤ËÄɲ䵤줿¶Ê(_N)"
 
-#: gtkpod.glade:1169
+#: gtkpod.glade:1298
 msgid "Synchronise Contacts, Calendar and Notes"
 msgstr "¶Ê¡¢¥«¥ì¥ó¥À¡¼¡¢¥Î¡¼¥È¤òƱ´ü¤¹¤ë"
 
-#: gtkpod.glade:1170
+#: gtkpod.glade:1299
 msgid "Synchronize All"
 msgstr "¤¹¤Ù¤ÆƱ´ü"
 
-#: gtkpod.glade:1179
+#: gtkpod.glade:1308
 msgid "Synchronize Contacts"
 msgstr "¶Ê¤òƱ´ü"
 
-#: gtkpod.glade:1188
+#: gtkpod.glade:1317
 msgid "Synchronize Calendar"
 msgstr "¥«¥ì¥ó¥À¡¼¤òƱ´ü"
 
-#: gtkpod.glade:1197
+#: gtkpod.glade:1326
 msgid "Synchronize Notes"
 msgstr "¥Î¡¼¥È¤òƱ´ü"
 
-#: gtkpod.glade:1210
+#: gtkpod.glade:1339
 msgid "_Help"
 msgstr "¥Ø¥ë¥×(_H)"
 
-#: gtkpod.glade:1219
+#: gtkpod.glade:1348
 msgid "_About"
 msgstr "gtkpod¤Ë¤Ä¤¤¤Æ(_A)"
 
-#: gtkpod.glade:1259
+#: gtkpod.glade:1388
 msgid "Read Existing Database from Disk/iPod"
 msgstr "iPod¤Þ¤¿¤Ï¥Ç¥£¥¹¥¯¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤ß¤Þ¤¹"
 
-#: gtkpod.glade:1260
+#: gtkpod.glade:1389
 msgid "Read"
 msgstr "Æɤ߹þ¤ß"
 
-#: gtkpod.glade:1277
+#: gtkpod.glade:1406
 msgid "Add Files or Directories"
 msgstr "¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹"
 
-#: gtkpod.glade:1278
+#: gtkpod.glade:1407
 msgid "Files"
 msgstr "¥Õ¥¡¥¤¥ë"
 
-#: gtkpod.glade:1295
+#: gtkpod.glade:1424
 msgid "Add Directories Recursively"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤ËÄɲä·¤Þ¤¹"
 
-#: gtkpod.glade:1296
+#: gtkpod.glade:1425
 msgid "Dirs"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê"
 
-#: gtkpod.glade:1313
+#: gtkpod.glade:1442
 msgid "Add playlist from file"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤«¤éÆɤ߹þ¤ó¤ÇÄɲä·¤Þ¤¹"
 
-#: gtkpod.glade:1331
+#: gtkpod.glade:1460
 msgid "Create New Playlist"
 msgstr "¿·¤·¤¯¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ®¤·¤Þ¤¹"
 
-#: gtkpod.glade:1332
+#: gtkpod.glade:1461
 msgid "New PL"
 msgstr "¿·µ¬¥×¥ì¥¤¥ê¥¹¥È"
 
-#: gtkpod.glade:1349
+#: gtkpod.glade:1478
 msgid "Write Changes to Disk/iPod"
 msgstr "¤³¤ì¤Þ¤Ç¤ÎÊѹ¹ÅÀ¤òiPod¤Þ¤¿¤Ï¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ß¤Þ¤¹"
 
-#: gtkpod.glade:1350
+#: gtkpod.glade:1479
 msgid "Sync"
 msgstr "¹¹¿·"
 
-#: gtkpod.glade:1366
+#: gtkpod.glade:1495
 msgid "Stop Display Update"
 msgstr "ɽ¼¨¤Î¹¹¿·¤ò»ß¤á¤ë"
 
-#: gtkpod.glade:1367
+#: gtkpod.glade:1496
 msgid "Stop"
 msgstr "̾ȧ"
 
-#: gtkpod.glade:1540
+#: gtkpod.glade:1669
 msgid "About gtkpod"
 msgstr "gtkpod¤Ë¤Ä¤¤¤Æ"
 
-#: gtkpod.glade:1661
+#: gtkpod.glade:1790
 msgid "Credits"
 msgstr "¸¢Íøɽ¼¨"
 
-#: gtkpod.glade:1715
+#: gtkpod.glade:1844
 msgid "Translators"
 msgstr "ËÝÌõôÅö"
 
-#: gtkpod.glade:1770 gtkpod.glade:12719
-msgid "Preferences"
-msgstr "ÀßÄê"
-
-#: gtkpod.glade:1846
-msgid " iPod Mount _Point:"
-msgstr " iPod¤Î¥Þ¥¦¥ó¥È¾ì½ê(_P):"
-
-#: gtkpod.glade:1868
-msgid ""
-"Where you mounted your iPod's filesystem. Usually '/media/ipod/' or similar."
-msgstr "iPod¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤·¤¿¾ì½ê¡£Î㤨¤Ð '/media/ipod/' ¤Ê¤É¡£"
-
-#: gtkpod.glade:1896
-msgid ""
-"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
-"<ipod mountpoint>' call is carried out. For more complicated arrangements "
-"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
-msgstr ""
-"gtkpod ¤Îµ¯Æ°»þ¤Ë 'mount <ipod¤Î¥Þ¥¦¥ó¥È¾ì½ê>' ¤ò¡¢½ªÎ»»þ¤Ë'umount <ipod¤Î¥Þ"
-"¥¦¥ó¥È¾ì½ê>' ¤ò¤½¤ì¤¾¤ì¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤è¤êÊ£»¨¤ÊÁàºî¤ò¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢"
-"~/.gtkpod/gtkpod.in ¤È ~/.gtkpod/gtkpod.out ¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ"
-"¤¤¡£"
-
-#: gtkpod.glade:1898 gtkpod.glade:12890
-msgid "Handle mounting/unmounting of iPod drive"
-msgstr "iPod¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤ò gtkpod ¤Ç¹Ô¤¦"
-
-#: gtkpod.glade:1918 gtkpod.glade:12910
-msgid "Automatically import iTunesDB on startup"
-msgstr "µ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë iTunesDB ¤òÆɤ߹þ¤à"
-
-#: gtkpod.glade:1944
-msgid "Import"
-msgstr "¥¤¥ó¥Ý¡¼¥È"
-
-#: gtkpod.glade:1991
-msgid " _Charset (ID3, files): "
-msgstr " ʸ»ú¥³¡¼¥É(_C) (ID3,¥Õ¥¡¥¤¥ë): "
-
-#: gtkpod.glade:2022 gtkpod.glade:13047
-msgid ""
-"gtkpod expects the ID3 tags and the filenames to be in the encoding "
-"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
-"operation. 'System Charset' is the charset used by your current locale."
-msgstr ""
-"gtkpod¤Ï¤³¤³¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬¡¢ID3¤Î¥¿¥°¤ä¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î"
-"¤È¤·¤Æ½èÍý¤·¤Þ¤¹¡£¡Ö¥Õ¥¡¥¤¥ë¤ÎÄɲáפä¡Ö¥Ç¥£¥ì¥¯¥È¥ê¤´¤ÈÄɲáפò¼Â¹Ô¤¹¤ëÁ°¤Ë"
-"¤³¤ÎÀßÄê¤òÊѹ¹¤¹¤ì¤Ð¡¢¤³¤ì¤é¤Î½èÍý¤ËÀßÄ꤬ȿ±Ç¤µ¤ì¤Þ¤¹¡£¡Ö¥·¥¹¥Æ¥àʸ»ú¡×¤òÁª"
-"Âò¤¹¤ë¤È¡¢¥í¥±¡¼¥ë¤Ç»ØÄꤵ¤ì¤¿¥³¡¼¥É¤¬»È¤ï¤ì¤Þ¤¹¡£"
-
-#: gtkpod.glade:2059
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to update the track information. If you have chosen a wrong charset when "
-"first importing a track and want to correct it using the 'Update Track' "
-"function, you must check this option. Note: the charset info is stored in "
-"the extended information file (see 'Writing of iTunesDB' below) and tracks "
-"imported before V0.51 will have no charset stored. Instead the charset "
-"specified above will be used then."
-msgstr ""
-"Ä̾ï¤Ï¡¢¶Ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëºÝ¤Ë»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬¤½¤Î¸å¤â»È¤ï¤ì¤Þ¤¹¤¬¡¢¤â"
-"¤·¤½¤Î»þ¤Ë´Ö°ã¤Ã¤¿Ê¸»ú¥³¡¼¥É¤ò»ØÄꤷ¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Æ¡¢¡Ö¶Ê¤Î¹¹¿·¡×¤ò»È¤Ã¤Æ¤½¤ì"
-"¤òľ¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£Ãí°Õ: ʸ»ú¥³¡¼¥É¤Î¾ðÊó¤Ï"
-"³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹¤¬(¡ÖiTunesDB¤Ø¤Î½ñ¤­¹þ¤ß¡×¤Î¹àÌܤò»²¾È)¡¢¥Ð¡¼"
-"¥¸¥ç¥ó0.51°ÊÁ°¤Îgtkpod¤Ç¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¶Ê¤Ï¤³¤Î¾ðÊ󤬵­Ï¿¤µ¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î"
-"¾ì¹ç¡¢¤³¤³¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬º£¸å»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£"
-
-#: gtkpod.glade:2061
-msgid ""
-"Use selected charset also when updating\n"
-" or syncing tracks"
-msgstr "»ØÄꤷ¤¿Ê¸»ú¥³¡¼¥É¤ò¹¹¿·/Ʊ´ü½èÍý¤ÎºÝ¤Ë¤â»ÈÍѤ¹¤ë"
-
-#: gtkpod.glade:2081
-msgid "If you check this, gtkpod will descend into subdirectories recursively."
-msgstr "¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢gtkpod¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ëé¤ê¤Þ¤¹¡£"
-
-#: gtkpod.glade:2083 gtkpod.glade:13106
-msgid "Add directories recursively"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤ËÄɲ乤ë"
-
-#: gtkpod.glade:2102
-msgid "Duplicate Recognition is based on a md5 hash over the file."
-msgstr "md5¤òÍøÍѤ·¤¿½ÅÊ£¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£"
-
-#: gtkpod.glade:2104 gtkpod.glade:13126
-msgid "Don't allow file duplication"
-msgstr "¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤"
-
-#: gtkpod.glade:2132
-msgid ""
-"Display the list of duplicates that have been detected after adding files."
-msgstr "¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿ºÝ¤Ëȯ¸«¤·¤¿¡¢½ÅÊ£¤¹¤ë¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£"
-
-#: gtkpod.glade:2134 gtkpod.glade:13173
-msgid "Display info about detected duplicates"
-msgstr "½ÅÊ£¤ò¸«¤Ä¤±¤¿ºÝ¤ËÊó¹ð¤¹¤ë"
-
-#: gtkpod.glade:2187
-msgid ""
-"If the filename (full path) of an existing track matches that of a track to "
-"be added, this option allows you to update the information about the "
-"existing track rather than just skipping the track altogether. No update "
-"will take place if the file hasn't changed and you have selected the 'Don't "
-"allow file duplication' option above."
-msgstr ""
-"¤¹¤Ç¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê¤ÈƱ¤¸¥Õ¥¡¥¤¥ë̾(¥Õ¥ë¥Ñ¥¹¤Ç)¤ò»ý¤Ä¶Ê¤òÄɲ䷤褦¤È¤·¤¿"
-"¾ì¹ç¡¢¤³¤Î¹àÌܤ¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢¤½¤Î¶Ê¤ò̵»ë¤¹¤ëÂå¤ï¤ê¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê"
-"¤Î¾ðÊó¤ò¹¹¿·¤·¤Þ¤¹¡£¤â¤·¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤¬¤Ê¤¯¡¢¡Ö¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤¡×¤Î"
-"¹àÌܤòÍ­¸ú¤Ë¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¹¹¿·¤Ï¤Ê¤µ¤ì¤Þ¤»¤ó¡£"
-
-#: gtkpod.glade:2189
-msgid ""
-"When adding dirs/files, update information of\n"
-" existing tracks with identical filenames"
-msgstr ""
-"¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ëºÝ¤Ë¡¢Æ±¤¸¥Õ¥¡¥¤¥ë̾¤ò\n"
-"»ý¤Ã¤¿¶Ê¤¬¤¹¤Ç¤Ë¤¢¤Ã¤¿¤é¤½¤Á¤é¤ò¹¹¿·¤¹¤ë"
-
-#: gtkpod.glade:2218
-msgid "Display a list of tracks that could actually be updated."
-msgstr "¼ÂºÝ¤Ë¹¹¿·¤µ¤ì¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£"
-
-#: gtkpod.glade:2220 gtkpod.glade:13248
-msgid "Display info about updated tracks"
-msgstr "¹¹¿·¤µ¤ì¤¿¶Ê¤Î¾ðÊó¤òɽ¼¨¤¹¤ë"
-
-#: gtkpod.glade:2243
-msgid "Display a list of tracks that could not be updated."
-msgstr "¼ÂºÝ¤Ë¤Ï¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£"
-
-#: gtkpod.glade:2245 gtkpod.glade:13302
-msgid "Display info about non-updated tracks"
-msgstr "¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤òɽ¼¨¤¹¤ë"
-
-#: gtkpod.glade:2287 gtkpod.glade:13328
-msgid "When syncing directories"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü½èÍý»þ"
-
-#: gtkpod.glade:2318
-msgid "Confirm list of directories"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò³Îǧ¤¹¤ë"
-
-#: gtkpod.glade:2341
-msgid ""
-"If you check this option, tracks that have been removed from the synced "
-"directories will be removed from the iPod as well."
-msgstr ""
-"¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢Æ±´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¡¢iPod¾å¤«¤é¤â¾Ãµî¤·¤Þ¤¹¡£"
-
-#: gtkpod.glade:2343 gtkpod.glade:13403
-msgid "Delete tracks that have been removed"
-msgstr "Ʊ´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¾Ãµî¤¹¤ë"
-
-#: gtkpod.glade:2366
-msgid "This is the same option as in 'Edit/Delete Confirmation'"
-msgstr "¡ÖÊÔ½¸/ºï½ü¤Î³Îǧ¡×¤Î¹àÌܤÈƱ¤¸¤Ç¤¹"
-
-#: gtkpod.glade:2368 gtkpod.glade:13423
-msgid "Confirm before removing tracks"
-msgstr "¶Ê¤òºï½ü¤¹¤ëÁ°¤Ë³Îǧ¤¹¤ë"
-
-#: gtkpod.glade:2401
-msgid "Adding/Updating/Syncing"
-msgstr "ÄɲÃ/¹¹¿·/Ʊ´ü"
-
-#: gtkpod.glade:2441 gtkpod.glade:13664
-msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
-msgstr "¥Õ¥¡¥¤¥ë¤«¤é¥¿¥°¾ðÊó¤òÆɤ߹þ¤à (MP3 ¥Õ¥¡¥¤¥ë¤Î ID3 ¥¿¥°¤Ê¤É)"
-
-#: gtkpod.glade:2460 gtkpod.glade:13683
-msgid ""
-"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
-"several templates by a ';'. The first one matching the filename will be "
-"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
-msgstr ""
-"¥¢¡¼¥Æ¥£¥¹¥È: %a, ¥¢¥ë¥Ð¥à: %A, ºî¶Ê¼Ô: %c, ¥¿¥¤¥È¥ë: %t, ¥¸¥ã¥ó¥ë: %G, ¥È"
-"¥é¥Ã¥¯ÈÖ¹æ: %T, CD ÈÖ¹æ: %C, ǯ: %Y, ¥¹¥­¥Ã¥×: %*, ¥Ñ¡¼¥»¥ó¥Èµ­¹æ: %%¡£¤¤¤¯¤Ä"
-"¤«¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò';' ¤Ç¶èÀڤäÆʤ٤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£ºÇ½é¤Ë¹ç¤Ã¤¿¥Æ¥ó¥×¥ì¡¼"
-"¥È¤¬»È¤ï¤ì¤Þ¤¹¡£Îã: '%a - %A/%T %t.mp3;%t.wav'."
-
-#: gtkpod.glade:2462
-msgid "Use this template to parse filename for tag information"
-msgstr "°Ê²¼¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢¥Õ¥¡¥¤¥ë̾¤«¤é¥¿¥°¾ðÊó¤òÃê½Ð¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë"
-
-#: gtkpod.glade:2514
-msgid "Overwrite tags that are already set."
-msgstr "¤¹¤Ç¤Ë¤¢¥¿¥°¾ðÊó¤ò¾å½ñ¤­¤¹¤ë¡£"
-
-#: gtkpod.glade:2544
-msgid ""
-"As a last resort set the following tags to the filename if they are (still) "
-"empty:"
-msgstr ""
-
-#: gtkpod.glade:2723
-msgid "Tag Reading"
-msgstr ""
-
-#: gtkpod.glade:2762 gtkpod.glade:2985 gtkpod.glade:14020 gtkpod.glade:14234
-msgid "Currently only rating is supported."
-msgstr ""
-
-#: gtkpod.glade:2764
-msgid "Use mserv database to fill in additional information"
-msgstr ""
-
-#: gtkpod.glade:2792
-msgid "Music Root: "
-msgstr ""
-
-#: gtkpod.glade:2816 gtkpod.glade:14074
-msgid "mserv database lookup will be done for music in this directory."
-msgstr ""
-
-#: gtkpod.glade:2839 gtkpod.glade:2904 gtkpod.glade:5076 gtkpod.glade:5147
-#: gtkpod.glade:5261 gtkpod.glade:5405 gtkpod.glade:5476 gtkpod.glade:5547
-msgid "..."
-msgstr ""
-
-#: gtkpod.glade:2857
-msgid "mserv Root: "
-msgstr ""
-
-#: gtkpod.glade:2881 gtkpod.glade:14120
-msgid "Root directory of mserv database (trackinfo root)."
-msgstr ""
-
-#: gtkpod.glade:2922
-msgid "Username: "
-msgstr ""
-
-#: gtkpod.glade:2946 gtkpod.glade:14166
-msgid "Username to be used for mserv database lookup."
-msgstr ""
-
-#: gtkpod.glade:2987 gtkpod.glade:14236
-msgid "Show information about problems when accessing mserv"
-msgstr ""
-
-#: gtkpod.glade:3030
-msgid "mserv"
-msgstr ""
-
-#: gtkpod.glade:3070 gtkpod.glade:13531
-msgid ""
-"Highly recommended for faster import when taking advantage of the "
-"duplication recognition. Also, having the PC filenames allows writing "
-"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
-"case of file system corruption (change the \"transferred=\" entries in your "
-"backuped database)."
-msgstr ""
-"½ÅÊ£¥Á¥§¥Ã¥¯¤ò¹â®²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë»ö¤¬¶¯¤¯¿ä¾©¤µ¤ì¤Þ¤¹¡£"
-"¤Þ¤¿¡¢¥Õ¥¡¥¤¥ë̾¤òÊÝ»ý¤¹¤ë»ö¤ÇID3¥¿¥°¤ÎÊѹ¹¤òiPod¤ËÈ¿±Ç¤µ¤»¤ë»ö¤¬²Äǽ¤Ë¤Ê¤ê¡¢"
-"²¾¤ËiPod¤ÎÃæ¿È¤¬²õ¤ì¤¿¤ê¤·¤¿¾ì¹ç¤Ë¤â¡¢ºÆ¹½À®¤òÍưפˤ·¤Þ¤¹¡£(¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î"
-"¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î \"transferred=\" ¤Î¹àÌܤòÊѹ¹¤¹¤ì¤Ð¤è¤¤)"
-
-#: gtkpod.glade:3072 gtkpod.glade:13533
-msgid ""
-"Write extended information (PC filenames,\n"
-" MD5 hashes, charset). Recommended."
-msgstr ""
-"³ÈÄ¥¾ðÊó(PC¾å¤Î¥Õ¥¡¥¤¥ë̾,MD5ÃÍ,ʸ»ú¥³¡¼¥É)¤ò½ñ¤­¹þ¤à¡£\n"
-"¿ä¾©¤µ¤ì¤ëÀßÄê¤Ç¤¹¡£"
-
-#: gtkpod.glade:3103
-msgid "Sync (Writing of iTunesDB)"
-msgstr "¹¹¿· (iTunesDB¤Ø¤Î½ñ¤­¹þ¤ß)"
-
-#: gtkpod.glade:3143
-msgid "_Input/Output"
-msgstr "Æþ½ÐÎÏ(_I)"
-
-#: gtkpod.glade:3270
-msgid "Relative volume adjustment between -100 and +100"
-msgstr "²»Î̤ÎÊäÀµÃÍ(-100¤«¤é+100¤Þ¤Ç)"
-
-#: gtkpod.glade:3795
-msgid "Displayed Track Attributes "
-msgstr "ɽ¼¨¤¹¤ë¶Ê¤Î¹àÌÜ"
-
-#: gtkpod.glade:3842
-msgid " _Number of sort tabs: "
-msgstr "¥½¡¼¥È¥¿¥Ö¤Î¿ô(_N)"
-
-#: gtkpod.glade:3899
-msgid "Sort Tabs"
-msgstr "¥½¡¼¥È¥¿¥Ö"
-
-#: gtkpod.glade:3939 gtkpod.glade:15168
-msgid ""
-"If you don't select the master playlist automatically, the initial database "
-"import is much faster because the display dosn't have to be updated."
-msgstr ""
-"¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È¤ò¼«Æ°Åª¤ËÁªÂò¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤È¡¢µ¯Æ°»þ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò"
-"Æɤ߹þ¤àºÝ¤Ë¤Ï²¿¤âɽ¼¨¤·¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢¥¹¥Ô¡¼¥É¤¬Â®¤¯¤Ê¤ê¤Þ¤¹¡£"
-
-#: gtkpod.glade:3941 gtkpod.glade:15170
-msgid "...master playlist"
-msgstr "...¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È"
-
-#: gtkpod.glade:3961 gtkpod.glade:15190
-msgid "...entry 'All' in sort tab..."
-msgstr "...°Ê²¼¤Î¥½¡¼¥È¥¿¥ÖÆâ¤Î¡Ö¤¹¤Ù¤Æ¡×¤Î¹àÌÜ"
-
-#: gtkpod.glade:4018
-msgid "Automatically select..."
-msgstr "¼«Æ°Åª¤ËÁªÂò..."
-
-#: gtkpod.glade:4059 gtkpod.glade:15447
-msgid "Display toolbar..."
-msgstr "¥Ä¡¼¥ë¥Ð¡¼¤Îɽ¼¨..."
-
-#: gtkpod.glade:4088 gtkpod.glade:15541
-msgid "...both as icons and text"
-msgstr "¥¢¥¤¥³¥ó¤È¥Æ¥­¥¹¥È"
-
-#: gtkpod.glade:4112 gtkpod.glade:15520
-msgid "...as text"
-msgstr "¥Æ¥­¥¹¥È¤Î¤ß"
-
-#: gtkpod.glade:4137 gtkpod.glade:15500
-msgid "...as icons"
-msgstr "¥¢¥¤¥³¥ó¤Î¤ß"
-
-#: gtkpod.glade:4175
-msgid "Toolbar"
-msgstr "¥Ä¡¼¥ë¥Ð¡¼"
-
-#: gtkpod.glade:4216 gtkpod.glade:15326
-msgid "Display tooltips in main window"
-msgstr "¥Ä¡¼¥ë¥Á¥Ã¥×¤ò¥á¥¤¥ó²èÌ̤Çɽ¼¨¤¹¤ë"
-
-#: gtkpod.glade:4236 gtkpod.glade:15346
-msgid "Display tooltips in prefs window"
-msgstr "¥Ä¡¼¥ë¥Á¥Ã¥×¤òÀßÄê²èÌ̤Çɽ¼¨¤¹¤ë"
-
-#: gtkpod.glade:4262
-msgid "Tooltips"
-msgstr "¥Ä¡¼¥ë¥Á¥Ã¥×"
-
-#: gtkpod.glade:4346 gtkpod.glade:10103
-msgid "Sorting"
-msgstr "ʤٴ¹¤¨"
-
-#: gtkpod.glade:4378 gtkpod.glade:15656
-msgid ""
-"It is much faster to sort the display after all tracks have been added. Some "
-"people might feel irritated by this behaviour and should uncheck this option."
-msgstr ""
-
-#: gtkpod.glade:4380 gtkpod.glade:15658
-msgid ""
-"Temporarily disable sorting when changing playlist\n"
-"or tab entry (faster!)"
-msgstr ""
-"¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤Î¼«Æ°Ê¤ٴ¹¤¨¤ò\n"
-"ÍÞÀ©¤¹¤ë (Æ°ºî¤¬Â®¤¯¤Ê¤ë)"
-
-#: gtkpod.glade:4400 gtkpod.glade:15678
-msgid ""
-"The display can be blocked after changing a selection. The display update is "
-"faster, but you have to wait until it's finished. When using this option, "
-"sorting is also temporarily disabled (see option above)."
-msgstr ""
-"ÁªÂò¤òÊѹ¹¤·¤¿»þ¤Ë¡¢¶Ê¤Î¥ê¥¹¥È¤ò¹¹¿·¤·½ª¤ï¤ë¤Þ¤ÇÅÓÃæ·Ð²á¤òɽ¼¨¤·¤Þ¤»¤ó¡£¹¹¿·"
-"¤Î¥¹¥Ô¡¼¥É¤Ï®¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤ì¤¬½ª¤ï¤ë¤Þ¤Ç¤Ï²¿¤â¤¹¤ë»ö¤¬¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£"
-"¤³¤ÎÀßÄê¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢Ê¤ٴ¹¤¨¤Ï°ì»þŪ¤Ë¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹ (¾å¤ÎÀßÄê¤ò»²"
-"¾È)¡£"
-
-#: gtkpod.glade:4402 gtkpod.glade:15680
-msgid ""
-"Block display when changing playlist or tab\n"
-" entry (faster!)"
-msgstr ""
-"¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤ËÅÓÃæ·Ð²á¤Î\n"
-"ɽ¼¨¤òÍÞÀ©¤¹¤ë(Æ°ºî¤¬Â®¤¯¤Ê¤ë)"
-
-#: gtkpod.glade:4422 gtkpod.glade:15700
-msgid "This option will be re-activated when you upgrade gtkpod."
-msgstr ""
-
-#: gtkpod.glade:4424 gtkpod.glade:15702
-msgid "Display messages and warnings at startup"
-msgstr "µ¯Æ°»þ¤Ë¥á¥Ã¥»¡¼¥¸¤ä·Ù¹ð¤òɽ¼¨¤¹¤ë"
-
-#: gtkpod.glade:4446
-msgid "Misc"
-msgstr "¤½¤Î¾"
-
-#: gtkpod.glade:4482 gtkpod.glade:6457
-msgid "_Display"
-msgstr "ɽ¼¨(_D)"
-
-#: gtkpod.glade:4536
-msgid ""
-"The tags are written to the files on your harddrive and on the ipod (if "
-"available)."
-msgstr ""
-"¥¿¥°¤Ï»È¤Ã¤Æ¤¤¤ë¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤È(²Äǽ¤Ç¤¢¤ì¤Ð)iPod¤ÎξÊý¤Ç½¤Àµ¤µ¤ì¤Þ¤¹¡£"
-
-#: gtkpod.glade:4538 gtkpod.glade:15914
-msgid "Write ID3 tags to disk when modified in gtkpod"
-msgstr "gtkpodÆâ¤ÇÊѹ¹¤¬¤¢¤Ã¤¿ID3¥¿¥°¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤à"
-
-#: gtkpod.glade:4566
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to write the tags. If you have chosen a wrong charset when first importing a "
-"track, you should select this option along with the correct charset.  Note: "
-"uses the extended information file to store the charset information (see "
-"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
-"before V0.51 will have no charset stored -- the charset specified on the "
-"'Input/Output' page will be used."
-msgstr ""
-"Ä̾ï¤Ï¡¢ºÇ½é¤Ë¶Ê¤òÊݸ¤·¤¿»þ¤Ë»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò¥¿¥°¤ò½ñ¤­¹þ¤à»þ¤Ë¤â»ÈÍÑ"
-"¤·¤Þ¤¹¡£¤â¤·ºÇ½é¤Ë´Ö°ã¤Ã¤¿Ê¸»ú¥³¡¼¥É¤ò»ØÄꤷ¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢Àµ¤·¤¤Ê¸»ú"
-"¥³¡¼¥É¤òÁªÂò¤·¤¿¸å¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£Ãí°Õ: ʸ»ú¥³¡¼¥É¤Î¾ðÊó"
-"¤òÊݸ¤¹¤ë¤¿¤á¤Ë¡¢³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤(¡ÖÆþ½ÐÎϡפΥڡ¼¥¸¤Î"
-"¡ÖiTunesDB¤Ø¤Î½ñ¤­¹þ¤ß¡×¤Î¹à¤ò»²¾È)¡£¤Þ¤¿¡¢¥Ð¡¼¥¸¥ç¥ó0.51°ÊÁ°¤ËÅÐÏ¿¤µ¤ì¤¿¶Ê¤Ë"
-"¤Ä¤¤¤Æ¤Ïʸ»ú¥³¡¼¥É¾ðÊó¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¡ÖÆþ½ÐÎϡפιàÌܤǻØÄꤵ¤ì¤¿Ê¸»ú"
-"¥³¡¼¥É¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£"
-
-#: gtkpod.glade:4568
-msgid ""
-"Use selected charset (on the 'Import' page)\n"
-" when writing tags"
-msgstr ""
-"¡Ö¥¤¥ó¥Ý¡¼¥È¡×¤Î¥Ú¡¼¥¸¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò\n"
-"¥¿¥°¤Ë»ÈÍѤ¹¤ë"
-
-#: gtkpod.glade:4592
-msgid ""
-"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
-"uses unicode to store the tags, so you won't have to worry about charsets "
-"any more. gtkpod will use UTF8 encoding as this will not increase the size "
-"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
-"present in the file to write to."
-msgstr ""
-
-#: gtkpod.glade:4594 gtkpod.glade:15988
-msgid "Always write ID3v2.4 tags (only applies to MP3)"
-msgstr "¾ï¤Ë ID3v2.4 ¥¿¥°¤ò½ñ¤­¹þ¤à (MP3 ¤Î¤ß)"
-
-#: gtkpod.glade:4624
-msgid ""
-"If you select several tracks in the track list and edit a tag of the first "
-"track, the tags in the other tracks are updated as well."
-msgstr ""
-"¶Ê¥ê¥¹¥È¤Î¶Ê¤òÆó¤Ä°Ê¾åÁªÂò¤·¤Æ¡¢ºÇ½é¤Î¶Ê¤Î¥¿¥°¤òÊѹ¹¤¹¤ë¤È¾¤Î¶Ê¤Ë¤â¤½¤ÎÊѹ¹"
-"¤òŬÍѤ·¤Þ¤¹¡£"
-
-#: gtkpod.glade:4626
-msgid "Use 'Multi-Edit' for track selections"
-msgstr "ÁªÂò¤µ¤ì¤¿¶Ê¤ò¡Ö°ìÀÆÊÔ½¸¡×¤¹¤ë"
-
-#: gtkpod.glade:4654
-msgid ""
-"Usually you don't want to set the title of several tracks to the same text. "
-"This option might avoid unwanted results (especially since there is no "
-"'undo' yet)."
-msgstr ""
-"ÉáÄ̤ÏÊ£¿ô¤Î¶Ê¤Î¥¿¥¤¥È¥ë¤òƱ¤¸¤â¤Î¤Ë¤¹¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò"
-"ÁªÂò¤¹¤ë¤ÈÂçÄñ¤Ï˾¤Þ¤·¤¯¤Ê¤¤·ë²Ì¤òÆÀ¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£(Æäˡ¢º£¤Î¤È¤³¤í¡Ö¤ä¤êľ"
-"¤·¡×¤Ï¸ú¤«¤Ê¤¤¤Î¤Ç¡¢ÁªÂò¤¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)"
-
-#: gtkpod.glade:4656 gtkpod.glade:16069
-msgid "Use 'Multi-Edit' also for title field"
-msgstr "¥¿¥¤¥È¥ë¤Î¹àÌܤâ¡Ö°ìÀÆÊÔ½¸¡×¤ò²Äǽ¤Ë¤¹¤ë"
-
-#: gtkpod.glade:4689
-msgid "Track Editing"
-msgstr "¶Ê¤ÎÊÔ½¸"
-
-#: gtkpod.glade:4738
-msgid ""
-"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
-"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
-msgstr ""
-"¥×¥ì¥¤¥ê¥¹¥È¤Î¿·µ¬ºîÀ®¤Ç¡¢¡ÖºÆÀ¸²ó¿ô¤Î¿¤¤¶Ê¡×¡Öɾ²Á¤Î¹â¤¤¶Ê¡×¡ÖºÇ¶áºÆÀ¸¤µ¤ì"
-"¤¿¶Ê¡×¤òÁªÂò¤·¤¿ºÝ¤Ë¥ê¥¹¥È¤ËÅÐÏ¿¤¹¤ë¶Ê¤Î¿ô¤ò»ØÄꤷ¤Þ¤¹¡£0¤ò»ØÄꤹ¤ë¤È¡¢¶Ê¿ô¤ò"
-"À©¸Â¤·¤Þ¤»¤ó¡£"
-
-#: gtkpod.glade:4762
-msgid " Number of tracks in generated playlists: "
-msgstr "À¸À®¤¹¤ë¥×¥ì¥¤¥ê¥¹¥È¤Ë²Ã¤¨¤ë¶Ê¿ô: "
-
-#: gtkpod.glade:4794 gtkpod.glade:16231
-msgid "Also include tracks never played in \"Best Rated\" playlist"
-msgstr ""
-"¡Öɾ²Á¤Î¹â¤¤¶Ê¡×¤Î¥ê¥¹¥È¤òºî¤ëºÝ¤Ë¡¢°ìÅÙ¤â\n"
-"ºÆÀ¸¤µ¤ì¤¿»ö¤Î¤Ê¤¤¶Ê¤âÂоݤȤ·¤Þ¤¹¡£"
-
-#: gtkpod.glade:4816
-msgid "Auto-Generated Playlists"
-msgstr "¥×¥ì¥¤¥ê¥¹¥È¤Î¼«Æ°ºîÀ®"
-
-#: gtkpod.glade:4865 gtkpod.glade:16332
-msgid "Before removing playlists or tracks from a playlist"
-msgstr "¥×¥ì¥¤¥ê¥¹¥È¤ä¡¢¥×¥ì¥¤¥ê¥¹¥È¤«¤é¶Ê¤òºï½ü¤¹¤ë»þ"
-
-#: gtkpod.glade:4885
-msgid "Before removing tracks completely from the iPod"
-msgstr "¶Ê¤òiPod¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ"
-
-#: gtkpod.glade:4904
-msgid ""
-"This option only has a meaning if you activate the 'Delete Tracks that have "
-"been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/"
-"Output' tab."
-msgstr ""
-"¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡ÖÆþ½ÐÎϡפΥ¿¥ÖÃæ¤Î¡ÖÄɲÃ/¹¹¿·/Ʊ´ü¡×¤ÎÃæ¤Ë¤¢¤ë¡ÖƱ´ü¸µ¤Çºï"
-"½ü¤µ¤ì¤¿¶Ê¤ò¾Ãµî¤¹¤ë¡×¤Î¹àÌܤòÀßÄꤷ¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£"
-
-#: gtkpod.glade:4906
-msgid ""
-"Before removing tracks completely when\n"
-" synchronizing directories"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü¤ò¹Ô¤¦ºÝ¤Ë¶Ê¤òºï½ü¤¹¤ë»þ"
-
-#: gtkpod.glade:4929
-msgid "Delete Confirmation "
-msgstr "ºï½ü¤Î³Îǧ"
-
-#: gtkpod.glade:5028
-msgid "Command Line for 'Play Now':"
-msgstr "¡Öº£¤¹¤°±éÁաפΤ¿¤á¤Î¥³¥Þ¥ó¥É:"
-
-#: gtkpod.glade:5055
-#, fuzzy
-msgid ""
-"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
-"tracks and start playing."
-msgstr ""
-"Î㤨¤Ð 'xmms -p %s' ¤È¤¹¤ë¤È¡¢xmms ¤Î¤½¤Î»þ¤Î¥×¥ì¥¤¥ê¥¹¥È¤ò¥¯¥ê¥¢¤·¡¢ÁªÂò¤·¤¿"
-"¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È¤ÎÀèƬ¤Ë²Ã¤¨¤Æ±éÁÕ¤ò»Ï¤á¤Þ¤¹¡£"
-
-#: gtkpod.glade:5099
-msgid "Command Line for 'Enqueue':"
-msgstr "¡Ö±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë¡×¤¿¤á¤Î¥³¥Þ¥ó¥É:"
-
-#: gtkpod.glade:5126
-msgid ""
-"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
-"current playlist."
-msgstr ""
-"Î㤨¤Ð 'xmms -e %s' ¤È¤¹¤ë¤È¡¢ÁªÂò¤µ¤ì¤¿¶Ê¤ò xmms ¤Î¤½¤Î»þ¤Î¥×¥ì¥¤¥ê¥¹¥È¤ÎºÇ"
-"¸åÈø¤ËÄɲä·¤Þ¤¹"
-
-#: gtkpod.glade:5172
-msgid "Track Playing"
-msgstr "¶Ê¤Î±éÁÕ"
-
-#: gtkpod.glade:5213
-msgid "Exact path for the 'mp3gain' executable:"
-msgstr "'mp3gain' ¥³¥Þ¥ó¥É¤Î¾ì½ê:"
-
-#: gtkpod.glade:5240
-msgid ""
-"You only need to specify this if your 'mp3gain' executable is not in your "
-"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
-"calculated gain value back to the file -- if you don't want this, set this "
-"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
-"are not already set by your encoder. E.g. lame version 0.95 already writes "
-"the gain values into tags. The exact conversion factor between mp3gain's "
-"gain value and iPod's volume tag is not known yet -- your input is "
-"appreciated."
-msgstr ""
-
-#: gtkpod.glade:5294
-msgid "Volume Normalization"
-msgstr "²»Î̤ÎÊ¿¶Ñ²½"
-
-#: gtkpod.glade:5357
-msgid "Command to synchronize contacts:"
-msgstr ""
-
-#: gtkpod.glade:5384 gtkpod.glade:5455 gtkpod.glade:5526
-msgid ""
-"Specify exact path including command line options. '%i' will be replaced "
-"with the mount point of the iPod."
-msgstr ""
-
-#: gtkpod.glade:5428
-msgid "Command to be called to synchronize calendar:"
-msgstr ""
-
-#: gtkpod.glade:5499
-msgid "Command to be called to synchronize notes:"
-msgstr ""
-
-#: gtkpod.glade:5570 gtkpod.glade:17110
-msgid "Call automatically when synchronizing iTunesDB"
-msgstr ""
-
-#: gtkpod.glade:5592
-msgid "Contacts / Calendar / Notes"
-msgstr ""
-
-#: gtkpod.glade:5716
+#: gtkpod.glade:1898
 msgid "special_sorttab -- Don't translate!"
 msgstr ""
 
-#: gtkpod.glade:5750
+#: gtkpod.glade:1932
 msgid " Logic: "
 msgstr "¾ò·ï: "
 
-#: gtkpod.glade:5772
+#: gtkpod.glade:1954
 msgid "Any (OR)"
 msgstr "¤¤¤º¤ì¤«(OR)"
 
-#: gtkpod.glade:5791
+#: gtkpod.glade:1973
 msgid "All (AND)"
 msgstr "¤¹¤Ù¤Æ(AND)"
 
-#: gtkpod.glade:5844
+#: gtkpod.glade:2026
 msgid "0"
 msgstr ""
 
-#: gtkpod.glade:5863
+#: gtkpod.glade:2045
 msgid "1"
 msgstr ""
 
-#: gtkpod.glade:5882
+#: gtkpod.glade:2064
 msgid "2"
 msgstr ""
 
-#: gtkpod.glade:5901
+#: gtkpod.glade:2083
 msgid "3"
 msgstr ""
 
-#: gtkpod.glade:5920
+#: gtkpod.glade:2102
 msgid "4"
 msgstr ""
 
-#: gtkpod.glade:5939
+#: gtkpod.glade:2121
 msgid "5"
 msgstr ""
 
-#: gtkpod.glade:5978
+#: gtkpod.glade:2160
 msgid "Select '0' for no lower limit."
 msgstr "²¼¸Â¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï '0' ¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£"
 
-#: gtkpod.glade:5999
+#: gtkpod.glade:2181
 msgid " <= cts <= "
 msgstr " <= ²ó¿ô <= "
 
-#: gtkpod.glade:6020
+#: gtkpod.glade:2202
 msgid "Select '-1' for no upper limit."
 msgstr "¾å¸Â¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï '-1' ¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£"
 
-#: gtkpod.glade:6063 gtkpod.glade:6136 gtkpod.glade:6302
+#: gtkpod.glade:2245 gtkpod.glade:2318 gtkpod.glade:2484
 msgid ""
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
 "finished."
@@ -3934,19 +3379,23 @@
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' ¤Î¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£½ñ¤­¹þ¤ó"
 "¤À¤é 'enter' ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£"
 
-#: gtkpod.glade:6105 gtkpod.glade:6178 gtkpod.glade:6344 gtkpod.glade:6519
+#: gtkpod.glade:2287 gtkpod.glade:2360 gtkpod.glade:2526 gtkpod.glade:2701
 msgid "Calendar"
 msgstr "¥«¥ì¥ó¥À¡¼"
 
-#: gtkpod.glade:6203
+#: gtkpod.glade:2385
 msgid "Specify interval"
 msgstr "ÈϰϤò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤"
 
-#: gtkpod.glade:6414
+#: gtkpod.glade:2596
 msgid "Display tracks that match the criteria entered above."
 msgstr "¾å¤Ç»ØÄꤵ¤ì¤¿¾ò·ï¤Ë¹çÃפ¹¤ë¶Ê¤òɽ¼¨¤·¤Þ¤¹¡£"
 
-#: gtkpod.glade:6489
+#: gtkpod.glade:2639 gtkpod.glade:11330
+msgid "_Display"
+msgstr "ɽ¼¨(_D)"
+
+#: gtkpod.glade:2671
 msgid ""
 "Automatically start displaying tracks that match the criteria entered above. "
 "If not selected, you must press 'Display' to start displaying."
@@ -3954,70 +3403,71 @@
 "³Æ¹àÌܤ¬ÆþÎϤµ¤ì¤ë¤È¤¹¤°¤Ëɽ¼¨¤ò¹¹¿·¤·¤Þ¤¹¡£¤³¤Î¹àÌܤ¬ÁªÂò¤µ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë"
 "¤Ï¡¢¡Öɽ¼¨¡×¥Ü¥¿¥ó¤ò²¡¤¹¤È¹¹¿·¤µ¤ì¤Þ¤¹¡£"
 
-#: gtkpod.glade:6491
+#: gtkpod.glade:2673
 msgid "Start display automatically"
 msgstr "¼«Æ°Åª¤Ëɽ¼¨¤ò¹¹¿·¤¹¤ë"
 
-#: gtkpod.glade:6564
+#: gtkpod.glade:2746
 msgid "Sorttab: "
 msgstr "¥½¡¼¥È¥¿¥Ö: "
 
-#: gtkpod.glade:6604
+#: gtkpod.glade:2786
 msgid "     "
 msgstr ""
 
-#: gtkpod.glade:6626
+#: gtkpod.glade:2808
 msgid "Category: "
 msgstr "¥«¥Æ¥´¥ê: "
 
-#: gtkpod.glade:6703
+#: gtkpod.glade:2885
 msgid "Please specify a time interval"
 msgstr "´ü´Ö¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤"
 
-#: gtkpod.glade:6748
+#: gtkpod.glade:2930
 msgid "Lower Margin"
 msgstr "²¼¸Â"
 
-#: gtkpod.glade:6795 gtkpod.glade:7001
+#: gtkpod.glade:2977 gtkpod.glade:3183
 msgid "Time:"
 msgstr "»þ¹ï:"
 
-#: gtkpod.glade:6838 gtkpod.glade:7044
+#: gtkpod.glade:3020 gtkpod.glade:3226
 msgid ":"
 msgstr ""
 
-#: gtkpod.glade:6911
+#: gtkpod.glade:3093
 msgid "No lower margin"
 msgstr "²¼¸Â¤ò»ØÄꤷ¤Ê¤¤"
 
-#: gtkpod.glade:6954
+#: gtkpod.glade:3136
 msgid "Upper margin"
 msgstr "¾å¸Â"
 
-#: gtkpod.glade:7117
+#: gtkpod.glade:3299
 msgid "No upper margin"
 msgstr "¾å¸Â¤ò»ØÄꤷ¤Ê¤¤"
 
-#: gtkpod.glade:7215 gtkpod.glade:8858
+#: gtkpod.glade:3397
 msgid "Sorting Options"
 msgstr "¥½¡¼¥È¤ÎÀßÄê"
 
-#: gtkpod.glade:7245
+#: gtkpod.glade:3427
 #, fuzzy
 msgid "<b>Sort Order</b>"
 msgstr "<b>¥½¡¼¥È¥¿¥Ö</b>"
 
-#: gtkpod.glade:7272 gtkpod.glade:8522 gtkpod.glade:12807 gtkpod.glade:12983
-#: gtkpod.glade:13151 gtkpod.glade:13226 gtkpod.glade:13280 gtkpod.glade:13355
-#: gtkpod.glade:13510 gtkpod.glade:13636 gtkpod.glade:13710 gtkpod.glade:13993
-#: gtkpod.glade:14355 gtkpod.glade:15005 gtkpod.glade:15141 gtkpod.glade:15298
-#: gtkpod.glade:15419 gtkpod.glade:15472 gtkpod.glade:15629 gtkpod.glade:15886
-#: gtkpod.glade:15939 gtkpod.glade:16047 gtkpod.glade:16149 gtkpod.glade:16304
-#: gtkpod.glade:16518 gtkpod.glade:16737 gtkpod.glade:16874
+#: gtkpod.glade:3454 gtkpod.glade:4704 gtkpod.glade:7682 gtkpod.glade:7860
+#: gtkpod.glade:8031 gtkpod.glade:8108 gtkpod.glade:8163 gtkpod.glade:8239
+#: gtkpod.glade:8396 gtkpod.glade:8522 gtkpod.glade:8879 gtkpod.glade:9338
+#: gtkpod.glade:9700 gtkpod.glade:10487 gtkpod.glade:10644 gtkpod.glade:10801
+#: gtkpod.glade:10922 gtkpod.glade:10975 gtkpod.glade:11132 gtkpod.glade:11389
+#: gtkpod.glade:11443 gtkpod.glade:11554 gtkpod.glade:11657 gtkpod.glade:11813
+#: gtkpod.glade:12027 gtkpod.glade:12248 gtkpod.glade:12386 gtkpod.glade:12751
+#: gtkpod.glade:12869 gtkpod.glade:13043 gtkpod.glade:13278 gtkpod.glade:13380
 msgid "    "
 msgstr ""
 
-#: gtkpod.glade:7300
+#: gtkpod.glade:3482
 #, fuzzy
 msgid ""
 "In order to save the displayed track order to the iPod choose 'Save "
@@ -4027,43 +3477,39 @@
 "ʤٴ¹¤¨¤Ë¤è¤ë¶Ê½ç¤ò iPod ¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢¡ÖÊÔ½¸¡×¥á¥Ë¥å¡¼¤Î¡Ö¸½ºß¤Î¶Ê½ç¤òÊÝ"
 "¸¡×¤Î¹àÌܤ«¡¢¾å¤Î¡Ö¼«Æ°Êݸ¡×¤òÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£"
 
-#: gtkpod.glade:7683 gtkpod.glade:9257
+#: gtkpod.glade:3865
 msgid "Ascending"
 msgstr "¾º½ç"
 
-#: gtkpod.glade:7727 gtkpod.glade:9301
+#: gtkpod.glade:3909
 msgid "Descending"
 msgstr "¹ß½ç"
 
-#: gtkpod.glade:7771 gtkpod.glade:9345
+#: gtkpod.glade:3953
 msgid "None"
 msgstr "̵»ØÄê"
 
-#: gtkpod.glade:7860 gtkpod.glade:9434
+#: gtkpod.glade:4042
 msgid "Sorttabs"
 msgstr "¥½¡¼¥È¥¿¥Ö"
 
-#: gtkpod.glade:7905 gtkpod.glade:9479
+#: gtkpod.glade:4087
 msgid "Tracks"
 msgstr "¶Ê¥ê¥¹¥È"
 
-#: gtkpod.glade:8058 gtkpod.glade:9632
+#: gtkpod.glade:4240
 msgid "Auto Store"
 msgstr "¼«Æ°Êݸ"
 
-#: gtkpod.glade:8103 gtkpod.glade:8149 gtkpod.glade:9677 gtkpod.glade:9723
+#: gtkpod.glade:4285 gtkpod.glade:4331
 msgid "Please refer to the notice below."
 msgstr "²¼µ­¤ÎÃí°Õ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£"
 
-#: gtkpod.glade:8183 gtkpod.glade:9757
-msgid "n/a"
-msgstr "ÉÔ²Ä"
-
-#: gtkpod.glade:8381 gtkpod.glade:9955
+#: gtkpod.glade:4563
 msgid "Sort tracks according to: "
 msgstr "¶Ê½ç¤ò¼¡¤Î½ç¤Çʤٴ¹¤¨: "
 
-#: gtkpod.glade:8411 gtkpod.glade:9985
+#: gtkpod.glade:4593
 msgid ""
 "You can also use the table headers, but this allows you to sort according to "
 "a column that is not displayed."
@@ -4071,7 +3517,7 @@
 "ɽ¤Î¥Ø¥Ã¥À¤òÁàºî¤·¤Æ¤âʤٴ¹¤¨¤Ï¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤Îµ¡Ç½¤ò»È¤¦¤È¡¢É½¼¨¤µ¤ì¤Æ¤¤¤Ê"
 "¤¤¹àÌܤò»È¤Ã¤Æʤٴ¹¤¨¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£"
 
-#: gtkpod.glade:8447 gtkpod.glade:10032
+#: gtkpod.glade:4629
 msgid ""
 "If checked, sorting will be case sensitive. Please note that case sensitive "
 "sorting will not work well with most charsets."
@@ -4079,173 +3525,160 @@
 "ʤٴ¹¤¨¤ÎºÝ¤Ë¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤¹¡£¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê"
 "³°¤Î¤Û¤È¤ó¤É¤Îʸ»ú¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: gtkpod.glade:8449 gtkpod.glade:10034
+#: gtkpod.glade:4631
 msgid "Sorting case sensitive"
 msgstr "ʤٴ¹¤¨¤ÎºÝ¤ËÂçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤¹¤ë"
 
-#: gtkpod.glade:8495
+#: gtkpod.glade:4677
 msgid "<b>Ignore Frequent Words</b>"
 msgstr ""
 
-#: gtkpod.glade:8587
+#: gtkpod.glade:4769
 msgid "Ignore these words when at the beginning of the following fields:"
 msgstr ""
 
-#: gtkpod.glade:10071
-#, fuzzy
-msgid ""
-"Notice: the track order is always stored to the iPod when you use drag and "
-"drop to re-arrange the tracks.\n"
-"In order to store an alphabetized track order to the iPod you must choose "
-"the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' "
-"above."
-msgstr ""
-"Ãí°Õ: ¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤ÇÊÔ½¸¤µ¤ì¤¿¶Ê½ç¤Ï¾ï¤Ë iPod ¤ËÊݸ¤µ¤ì¤Þ¤¹¡£¼«Æ°"
-"ʤٴ¹¤¨¤Ë¤è¤ë¶Ê½ç¤ò iPod ¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢¡ÖÊÔ½¸¡×¥á¥Ë¥å¡¼¤Î¡Ö¸½ºß¤Î¶Ê½ç¤òÊÝ"
-"¸¡×¤Î¹àÌܤ«¡¢¾å¤Î¡Ö¼«Æ°Êݸ¡×¤òÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£"
-
-#: gtkpod.glade:10183
+#: gtkpod.glade:5040
 msgid "gtkpod Info"
 msgstr ""
 
-#: gtkpod.glade:10482 gtkpod.glade:10557 gtkpod.glade:10582 gtkpod.glade:11208
-#: gtkpod.glade:11341
+#: gtkpod.glade:5339 gtkpod.glade:5414 gtkpod.glade:5439 gtkpod.glade:6065
+#: gtkpod.glade:6198
 msgid "      "
 msgstr ""
 
-#: gtkpod.glade:10835
+#: gtkpod.glade:5692
 msgid "Number of tracks"
 msgstr "¶Ê¿ô"
 
-#: gtkpod.glade:10861
+#: gtkpod.glade:5718
 msgid "Play time"
 msgstr "±éÁÕ»þ´Ö"
 
-#: gtkpod.glade:10888
+#: gtkpod.glade:5745
 msgid "File size"
 msgstr "¥Õ¥¡¥¤¥ë¥µ¥¤¥º"
 
-#: gtkpod.glade:10914
+#: gtkpod.glade:5771
 msgid "Number of playlists"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤Î¿ô"
 
-#: gtkpod.glade:10940
+#: gtkpod.glade:5797
 msgid "Deleted tracks"
 msgstr "ºï½ü¤µ¤ì¤¿¶Ê"
 
-#: gtkpod.glade:10966
+#: gtkpod.glade:5823
 msgid "File size (deleted)"
 msgstr "ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥µ¥¤¥º"
 
-#: gtkpod.glade:10992
+#: gtkpod.glade:5849
 #, fuzzy
 msgid "Non-transferred tracks"
 msgstr "̤žÁ÷¤Î¶Ê¿ô"
 
-#: gtkpod.glade:11018
+#: gtkpod.glade:5875
 #, fuzzy
 msgid "File size (non-transferred)"
 msgstr "̤žÁ÷¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º"
 
-#: gtkpod.glade:11044
+#: gtkpod.glade:5901
 msgid "Effective free space"
 msgstr ""
 
-#: gtkpod.glade:11070
+#: gtkpod.glade:5927
 msgid ""
 "Total\n"
 "(iPod)"
 msgstr ""
 
-#: gtkpod.glade:11098
+#: gtkpod.glade:5955
 #, fuzzy
 msgid ""
 "Selected\n"
 "Playlist"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È(_P)"
 
-#: gtkpod.glade:11126
+#: gtkpod.glade:5983
 #, fuzzy
 msgid ""
 "Displayed\n"
 "Tracks"
 msgstr "ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê(_D)"
 
-#: gtkpod.glade:11154
+#: gtkpod.glade:6011
 #, fuzzy
 msgid ""
 "Selected\n"
 "Tracks"
 msgstr "ÁªÂò¤µ¤ì¤Æ¤¤¤ë¶Ê(_S)"
 
-#: gtkpod.glade:11182
+#: gtkpod.glade:6039
 msgid ""
 "Total\n"
 "(local)"
 msgstr ""
 
-#: gtkpod.glade:11579
+#: gtkpod.glade:6436
 msgid "label21"
 msgstr ""
 
-#: gtkpod.glade:11670
+#: gtkpod.glade:6527
 msgid "Never show this dialogue again"
 msgstr "¤³¤Î¼ÁÌä¤òÆóÅÙ¤Èɽ¼¨¤·¤Ê¤¤"
 
-#: gtkpod.glade:11715 gtkpod.glade:12041
+#: gtkpod.glade:6572 gtkpod.glade:6898
 msgid "window1"
 msgstr ""
 
-#: gtkpod.glade:11772
+#: gtkpod.glade:6629
 msgid "_M3U"
 msgstr ""
 
-#: gtkpod.glade:11791
+#: gtkpod.glade:6648
 msgid "_PLS"
 msgstr ""
 
-#: gtkpod.glade:11829
+#: gtkpod.glade:6686
 msgid ""
 "If available, the local copy of the track is referenced in the playlist. "
 "Otherwise the file on the iPod is used."
 msgstr ""
 
-#: gtkpod.glade:11831
+#: gtkpod.glade:6688
 msgid "_Prefer Local"
 msgstr ""
 
-#: gtkpod.glade:11849
+#: gtkpod.glade:6706
 msgid ""
 "The local copy of the track is referenced in the playlist. If the track is "
 "not available locally, an error message is displayed."
 msgstr ""
 
-#: gtkpod.glade:11851
+#: gtkpod.glade:6708
 msgid "_Local"
 msgstr ""
 
-#: gtkpod.glade:11870
+#: gtkpod.glade:6727
 msgid "The track on the iPod is referenced in the playlist file."
 msgstr ""
 
-#: gtkpod.glade:11872
+#: gtkpod.glade:6729
 msgid "_iPod"
 msgstr ""
 
-#: gtkpod.glade:11905
+#: gtkpod.glade:6762
 #, fuzzy
 msgid "Playlist type:"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È"
 
-#: gtkpod.glade:11930
+#: gtkpod.glade:6787
 msgid "Source:"
 msgstr ""
 
-#: gtkpod.glade:11969
+#: gtkpod.glade:6826
 msgid "Template for info field: "
 msgstr ""
 
-#: gtkpod.glade:11990
+#: gtkpod.glade:6847
 #, fuzzy
 msgid ""
 "Determines how the string for the info field should be constructed, e.g '%a/%"
@@ -4259,16 +3692,16 @@
 "'%o' ¤Ê¤É¡£%A: ¥¢¡¼¥Æ¥£¥¹¥È; %n: ¥¿¥¤¥È¥ë; %t: ¥È¥é¥Ã¥¯No.; %o: ¸µ¤Î¥Õ¥¡¥¤¥ë"
 "̾ (³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤¬É¬Í×)"
 
-#: gtkpod.glade:12021 gtkpod.glade:12251
+#: gtkpod.glade:6878 gtkpod.glade:7108
 #, fuzzy
 msgid "gtkpod options"
 msgstr "ÉÔÌÀ¤Ê¥ª¥×¥·¥ç¥ó: %s\n"
 
-#: gtkpod.glade:12077
+#: gtkpod.glade:6934
 msgid "Filename Format: "
 msgstr "¥Õ¥¡¥¤¥ë̾¤Î½ñ¼°: "
 
-#: gtkpod.glade:12098
+#: gtkpod.glade:6955
 #, fuzzy
 msgid ""
 "Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
@@ -4282,11 +3715,11 @@
 "'%o' ¤Ê¤É¡£%A: ¥¢¡¼¥Æ¥£¥¹¥È; %n: ¥¿¥¤¥È¥ë; %t: ¥È¥é¥Ã¥¯No.; %o: ¸µ¤Î¥Õ¥¡¥¤¥ë"
 "̾ (³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤¬É¬Í×)"
 
-#: gtkpod.glade:12103
+#: gtkpod.glade:6960
 msgid " "
 msgstr " "
 
-#: gtkpod.glade:12125
+#: gtkpod.glade:6982
 #, fuzzy
 msgid ""
 "Normally the charset specified when first importing the track will be used "
@@ -4303,7 +3736,7 @@
 "¤Î¾ðÊ󤬵­Ï¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢¾å¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬º£¸å»È¤ï¤ì¤ë"
 "¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£"
 
-#: gtkpod.glade:12127
+#: gtkpod.glade:6984
 msgid ""
 "Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
 "for this filename."
@@ -4311,7 +3744,7 @@
 "»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É (¡ÖÀßÄê¡×Æâ¡ÖÅÐÏ¿/¹¹¿·/Ʊ´ü¡×¤ò»²¾È)\n"
 "¤ò¥Õ¥¡¥¤¥ë̾¤Ë¤â»ÈÍѤ¹¤ë¡£"
 
-#: gtkpod.glade:12146
+#: gtkpod.glade:7003
 msgid ""
 "When copying from iPod no check is performed on whether the destination file "
 "exists. Enabling this option will make gtkpod check whether the length of "
@@ -4319,254 +3752,1051 @@
 "skipped, allowing a quick sync of the iPod's contents."
 msgstr ""
 
-#: gtkpod.glade:12148
+#: gtkpod.glade:7005
 msgid "Check for existing files when copying from iPod."
 msgstr ""
 
-#: gtkpod.glade:12312
+#: gtkpod.glade:7169
 msgid "Playlist name:"
 msgstr "¥×¥ì¥¤¥ê¥¹¥È¤Î̾Á°:"
 
-#: gtkpod.glade:12377
+#: gtkpod.glade:7234
 msgid "Match al_l of the following"
 msgstr "°Ê²¼¤Ë³ºÅö¤¹¤ë¤â¤Î¤¹¤Ù¤Æ(_l)"
 
-#: gtkpod.glade:12396
+#: gtkpod.glade:7253
 msgid "Match an_y of the following"
 msgstr ""
 
-#: gtkpod.glade:12416
+#: gtkpod.glade:7273
 msgid "_Ignore rules"
 msgstr "¥ë¡¼¥ë¤ò̵»ë"
 
-#: gtkpod.glade:12468
+#: gtkpod.glade:7343
 msgid "Rules"
 msgstr "¥ë¡¼¥ë"
 
-#: gtkpod.glade:12501
+#: gtkpod.glade:7376
 msgid "_Limit to"
 msgstr "À©¸Â (_L)"
 
-#: gtkpod.glade:12550
+#: gtkpod.glade:7425
 msgid "   Sort by:"
 msgstr "   ¥½¡¼¥È½ç:"
 
-#: gtkpod.glade:12596
+#: gtkpod.glade:7471
 msgid "Match only _checked tracks"
 msgstr ""
 
-#: gtkpod.glade:12628
+#: gtkpod.glade:7503
 msgid "Live _updating"
 msgstr ""
 
-#: gtkpod.glade:12780
+#: gtkpod.glade:7594
+msgid "Preferences"
+msgstr "ÀßÄê"
+
+#: gtkpod.glade:7655
 msgid "<b>Import</b>"
 msgstr "<b>¥¤¥ó¥Ý¡¼¥È</b>"
 
-#: gtkpod.glade:12840
+#: gtkpod.glade:7715
 msgid "iPod Mount _Point:"
 msgstr "iPod¤Î¥Þ¥¦¥ó¥È¾ì½ê(_P):"
 
-#: gtkpod.glade:12956
+#: gtkpod.glade:7737
+msgid ""
+"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
+msgstr "iPod¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤·¤¿¾ì½ê¡£Î㤨¤Ð '/mnt/ipod/' ¤Ê¤É¡£"
+
+#: gtkpod.glade:7765
+msgid ""
+"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
+"<ipod mountpoint>' call is carried out. For more complicated arrangements "
+"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
+msgstr ""
+"gtkpod ¤Îµ¯Æ°»þ¤Ë 'mount <ipod¤Î¥Þ¥¦¥ó¥È¾ì½ê>' ¤ò¡¢½ªÎ»»þ¤Ë'umount <ipod¤Î¥Þ"
+"¥¦¥ó¥È¾ì½ê>' ¤ò¤½¤ì¤¾¤ì¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤è¤êÊ£»¨¤ÊÁàºî¤ò¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢"
+"~/.gtkpod/gtkpod.in ¤È ~/.gtkpod/gtkpod.out ¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ"
+"¤¤¡£"
+
+#: gtkpod.glade:7767
+msgid "Handle mounting/unmounting of iPod drive"
+msgstr "iPod¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤ò gtkpod ¤Ç¹Ô¤¦"
+
+#: gtkpod.glade:7787
+msgid "Automatically import iTunesDB on startup"
+msgstr "µ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë iTunesDB ¤òÆɤ߹þ¤à"
+
+#: gtkpod.glade:7833
 msgid "<b>Adding/Updating/Syncing</b>"
 msgstr "<b>ÅÐÏ¿/¹¹¿·/Ʊ´ü</b>"
 
-#: gtkpod.glade:13016
-msgid "_Charset (ID3, files):"
+#: gtkpod.glade:7893
+#, fuzzy
+msgid "_Encoding (ID3, files):"
 msgstr "ʸ»ú¥³¡¼¥É(_C) (ID3,¥Õ¥¡¥¤¥ë):"
 
-#: gtkpod.glade:13085
+#: gtkpod.glade:7924
 msgid ""
-"Use selected charset also when updating \n"
+"gtkpod expects the ID3 tags and the filenames to be in the encoding "
+"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
+"operation. 'System Charset' is the charset used by your current locale."
+msgstr ""
+"gtkpod¤Ï¤³¤³¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬¡¢ID3¤Î¥¿¥°¤ä¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î"
+"¤È¤·¤Æ½èÍý¤·¤Þ¤¹¡£¡Ö¥Õ¥¡¥¤¥ë¤ÎÄɲáפä¡Ö¥Ç¥£¥ì¥¯¥È¥ê¤´¤ÈÄɲáפò¼Â¹Ô¤¹¤ëÁ°¤Ë"
+"¤³¤ÎÀßÄê¤òÊѹ¹¤¹¤ì¤Ð¡¢¤³¤ì¤é¤Î½èÍý¤ËÀßÄ꤬ȿ±Ç¤µ¤ì¤Þ¤¹¡£¡Ö¥·¥¹¥Æ¥àʸ»ú¡×¤òÁª"
+"Âò¤¹¤ë¤È¡¢¥í¥±¡¼¥ë¤Ç»ØÄꤵ¤ì¤¿¥³¡¼¥É¤¬»È¤ï¤ì¤Þ¤¹¡£"
+
+#: gtkpod.glade:7961
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to update the track information. If you have chosen a wrong charset when "
+"first importing a track and want to correct it using the 'Update Track' "
+"function, you must check this option. Note: the charset info is stored in "
+"the extended information file (see 'Writing of iTunesDB' below) and tracks "
+"imported before V0.51 will have no charset stored. Instead the charset "
+"specified above will be used then."
+msgstr ""
+"Ä̾ï¤Ï¡¢¶Ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëºÝ¤Ë»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬¤½¤Î¸å¤â»È¤ï¤ì¤Þ¤¹¤¬¡¢¤â"
+"¤·¤½¤Î»þ¤Ë´Ö°ã¤Ã¤¿Ê¸»ú¥³¡¼¥É¤ò»ØÄꤷ¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Æ¡¢¡Ö¶Ê¤Î¹¹¿·¡×¤ò»È¤Ã¤Æ¤½¤ì"
+"¤òľ¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£Ãí°Õ: ʸ»ú¥³¡¼¥É¤Î¾ðÊó¤Ï"
+"³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹¤¬(¡ÖiTunesDB¤Ø¤Î½ñ¤­¹þ¤ß¡×¤Î¹àÌܤò»²¾È)¡¢¥Ð¡¼"
+"¥¸¥ç¥ó0.51°ÊÁ°¤Îgtkpod¤Ç¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¶Ê¤Ï¤³¤Î¾ðÊ󤬵­Ï¿¤µ¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î"
+"¾ì¹ç¡¢¤³¤³¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬º£¸å»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£"
+
+#: gtkpod.glade:7963
+#, fuzzy
+msgid ""
+"Use selected encoding also when updating \n"
 "or syncing tracks"
 msgstr "ÁªÂò¤µ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò¹¹¿·¡¦Æ±´ü½èÍý¤Ç¤â»ÈÍѤ¹¤ë"
 
-#: gtkpod.glade:13200
+#: gtkpod.glade:7983
+msgid "If you check this, gtkpod will descend into subdirectories recursively."
+msgstr "¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢gtkpod¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ëé¤ê¤Þ¤¹¡£"
+
+#: gtkpod.glade:7985
+msgid "Add directories recursively"
+msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤ËÄɲ乤ë"
+
+#: gtkpod.glade:8004
+#, fuzzy
+msgid "Duplicate Recognition is based on a (modified) md5 hash over the file."
+msgstr "md5¤òÍøÍѤ·¤¿½ÅÊ£¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£"
+
+#: gtkpod.glade:8006
+msgid "Don't allow file duplication"
+msgstr "¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤"
+
+#: gtkpod.glade:8052
 msgid ""
+"Display the list of duplicates that have been detected after adding files."
+msgstr "¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿ºÝ¤Ëȯ¸«¤·¤¿¡¢½ÅÊ£¤¹¤ë¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£"
+
+#: gtkpod.glade:8054
+msgid "Display info about detected duplicates"
+msgstr "½ÅÊ£¤ò¸«¤Ä¤±¤¿ºÝ¤ËÊó¹ð¤¹¤ë"
+
+#: gtkpod.glade:8080
+msgid ""
+"If the filename (full path) of an existing track matches that of a track to "
+"be added, this option allows you to update the information about the "
+"existing track rather than just skipping the track altogether. No update "
+"will take place if the file hasn't changed and you have selected the 'Don't "
+"allow file duplication' option above."
+msgstr ""
+"¤¹¤Ç¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê¤ÈƱ¤¸¥Õ¥¡¥¤¥ë̾(¥Õ¥ë¥Ñ¥¹¤Ç)¤ò»ý¤Ä¶Ê¤òÄɲ䷤褦¤È¤·¤¿"
+"¾ì¹ç¡¢¤³¤Î¹àÌܤ¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢¤½¤Î¶Ê¤ò̵»ë¤¹¤ëÂå¤ï¤ê¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê"
+"¤Î¾ðÊó¤ò¹¹¿·¤·¤Þ¤¹¡£¤â¤·¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤¬¤Ê¤¯¡¢¡Ö¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤¡×¤Î"
+"¹àÌܤòÍ­¸ú¤Ë¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¹¹¿·¤Ï¤Ê¤µ¤ì¤Þ¤»¤ó¡£"
+
+#: gtkpod.glade:8082
+msgid ""
 "When adding dirs/files, update information of\n"
 "existing tracks with identical filenames"
 msgstr ""
 "¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ëºÝ¤Ë¡¢Æ±¤¸¥Õ¥¡¥¤¥ë̾¤Î\n"
 "¶Ê¤¬¤¹¤Ç¤Ë¤¢¤Ã¤¿¤é¾ì¹ç¤Ë¤Ï¡¢¤½¤Á¤é¤ò¹¹¿·¤¹¤ë"
 
-#: gtkpod.glade:13383
+#: gtkpod.glade:8129
+msgid "Display a list of tracks that could actually be updated."
+msgstr "¼ÂºÝ¤Ë¹¹¿·¤µ¤ì¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£"
+
+#: gtkpod.glade:8131
+msgid "Display info about updated tracks"
+msgstr "¹¹¿·¤µ¤ì¤¿¶Ê¤Î¾ðÊó¤òɽ¼¨¤¹¤ë"
+
+#: gtkpod.glade:8184
+msgid "Display a list of tracks that could not be updated."
+msgstr "¼ÂºÝ¤Ë¤Ï¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£"
+
+#: gtkpod.glade:8186
+msgid "Display info about non-updated tracks"
+msgstr "¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤òɽ¼¨¤¹¤ë"
+
+#: gtkpod.glade:8212
+msgid "When syncing directories"
+msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü½èÍý»þ"
+
+#: gtkpod.glade:8267
 msgid "Confirm lists of directories"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò³Îǧ¤¹¤ë"
 
-#: gtkpod.glade:13483
+#: gtkpod.glade:8286
+msgid ""
+"If you check this option, tracks that have been removed from the synced "
+"directories will be removed from the iPod as well."
+msgstr ""
+"¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢Æ±´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¡¢iPod¾å¤«¤é¤â¾Ãµî¤·¤Þ¤¹¡£"
+
+#: gtkpod.glade:8288
+msgid "Delete tracks that have been removed"
+msgstr "Ʊ´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¾Ãµî¤¹¤ë"
+
+#: gtkpod.glade:8307
+msgid "This is the same option as in 'Edit/Delete Confirmation'"
+msgstr "¡ÖÊÔ½¸/ºï½ü¤Î³Îǧ¡×¤Î¹àÌܤÈƱ¤¸¤Ç¤¹"
+
+#: gtkpod.glade:8309
+msgid "Confirm before removing tracks"
+msgstr "¶Ê¤òºï½ü¤¹¤ëÁ°¤Ë³Îǧ¤¹¤ë"
+
+#: gtkpod.glade:8369
 msgid "<b>Sync</b>"
 msgstr ""
 
-#: gtkpod.glade:13577
-msgid "General"
+#: gtkpod.glade:8417
+msgid ""
+"Highly recommended for faster import when taking advantage of the "
+"duplication recognition. Also, having the PC filenames allows writing "
+"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
+"case of file system corruption (change the \"transferred=\" entries in your "
+"backuped database)."
+msgstr ""
+"½ÅÊ£¥Á¥§¥Ã¥¯¤ò¹â®²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë»ö¤¬¶¯¤¯¿ä¾©¤µ¤ì¤Þ¤¹¡£"
+"¤Þ¤¿¡¢¥Õ¥¡¥¤¥ë̾¤òÊÝ»ý¤¹¤ë»ö¤ÇID3¥¿¥°¤ÎÊѹ¹¤òiPod¤ËÈ¿±Ç¤µ¤»¤ë»ö¤¬²Äǽ¤Ë¤Ê¤ê¡¢"
+"²¾¤ËiPod¤ÎÃæ¿È¤¬²õ¤ì¤¿¤ê¤·¤¿¾ì¹ç¤Ë¤â¡¢ºÆ¹½À®¤òÍưפˤ·¤Þ¤¹¡£(¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î"
+"¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î \"transferred=\" ¤Î¹àÌܤòÊѹ¹¤¹¤ì¤Ð¤è¤¤)"
+
+#: gtkpod.glade:8419
+#, fuzzy
+msgid ""
+"Write extended information (PC filenames,\n"
+" MD5 hashes, encoding). Recommended."
+msgstr ""
+"³ÈÄ¥¾ðÊó(PC¾å¤Î¥Õ¥¡¥¤¥ë̾,MD5ÃÍ,ʸ»ú¥³¡¼¥É)¤ò½ñ¤­¹þ¤à¡£\n"
+"¿ä¾©¤µ¤ì¤ëÀßÄê¤Ç¤¹¡£"
+
+#: gtkpod.glade:8463 gtkpod.glade:14969
+#, fuzzy
+msgid "_General"
 msgstr "´ðËÜÀßÄê"
 
-#: gtkpod.glade:13609
+#: gtkpod.glade:8495
 msgid "<b>Tag Reading</b>"
 msgstr "<b>¥¿¥°¤ÎÆɤ߹þ¤ß</b>"
 
-#: gtkpod.glade:13685
+#: gtkpod.glade:8550
+msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
+msgstr "¥Õ¥¡¥¤¥ë¤«¤é¥¿¥°¾ðÊó¤òÆɤ߹þ¤à (MP3 ¥Õ¥¡¥¤¥ë¤Î ID3 ¥¿¥°¤Ê¤É)"
+
+#: gtkpod.glade:8569 gtkpod.glade:8906
+msgid ""
+"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
+"several templates by a ';'. The first one matching the filename will be "
+"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
+msgstr ""
+"¥¢¡¼¥Æ¥£¥¹¥È: %a, ¥¢¥ë¥Ð¥à: %A, ºî¶Ê¼Ô: %c, ¥¿¥¤¥È¥ë: %t, ¥¸¥ã¥ó¥ë: %G, ¥È"
+"¥é¥Ã¥¯ÈÖ¹æ: %T, CD ÈÖ¹æ: %C, ǯ: %Y, ¥¹¥­¥Ã¥×: %*, ¥Ñ¡¼¥»¥ó¥Èµ­¹æ: %%¡£¤¤¤¯¤Ä"
+"¤«¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò';' ¤Ç¶èÀڤäÆʤ٤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£ºÇ½é¤Ë¹ç¤Ã¤¿¥Æ¥ó¥×¥ì¡¼"
+"¥È¤¬»È¤ï¤ì¤Þ¤¹¡£Îã: '%a - %A/%T %t.mp3;%t.wav'."
+
+#: gtkpod.glade:8571
 msgid "Use this template to parse filename for tag information:"
 msgstr "°Ê²¼¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢¥Õ¥¡¥¤¥ë̾¤«¤é¥¿¥°¾ðÊó¤òÃê½Ð¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë:"
 
-#: gtkpod.glade:13758
+#: gtkpod.glade:8644
 msgid "Overwrite tags that are already set"
 msgstr "¤¹¤Ç¤Ë¤¢¥¿¥°¾ðÊó¤ò¾å½ñ¤­¤¹¤ë"
 
-#: gtkpod.glade:13791
+#: gtkpod.glade:8677
 msgid ""
 "As a last resort set the following tags to the\n"
 "filename if they are (still) empty:"
 msgstr ""
 "ºÇ¸å¤Î¼êÃʤȤ·¤Æ¡¢°Ê²¼¤Î¥¿¥°¤¬Ì¤ÀßÄê¤Î¾ì¹ç¤Ë¥Õ¥¡¥¤¥ë̾¤ò¤½¤ÎÃͤȤ·¤Æ»ÈÍѤ¹¤ë:"
 
-#: gtkpod.glade:13966
+#: gtkpod.glade:8852
+#, fuzzy
+msgid "<b>Artwork</b>"
+msgstr "<b>¥¤¥ó¥Ý¡¼¥È</b>"
+
+#: gtkpod.glade:8908
+msgid "Add artwork from file using the following template"
+msgstr ""
+
+#: gtkpod.glade:8960
+#, fuzzy
+msgid ""
+"Determines the name of the file with the cover art. You can separate several "
+"patterns by semicolons which will be tried in order. Artist: %a, album: %A, "
+"composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, "
+"original filename (requires extended information file): %o, original "
+"filename without file extension: %O, current playlist: %p, the character "
+"'%': %%."
+msgstr ""
+"iPod¤«¤é¥³¥Ô¡¼¤·¤¿¶Ê¤ËÉÕ¤±¤é¤ì¤ë¥Õ¥¡¥¤¥ë̾¤òÀßÄꤷ¤Þ¤¹¡£Îã:'%A/%d%t - %n' ¤ä "
+"'%o' ¤Ê¤É¡£%A: ¥¢¡¼¥Æ¥£¥¹¥È; %n: ¥¿¥¤¥È¥ë; %t: ¥È¥é¥Ã¥¯No.; %o: ¸µ¤Î¥Õ¥¡¥¤¥ë"
+"̾ (³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤¬É¬Í×)"
+
+#: gtkpod.glade:8981
+#, fuzzy
+msgid "<b>Examples</b>"
+msgstr "<b>¥¤¥ó¥Ý¡¼¥È</b>"
+
+#: gtkpod.glade:9011
+msgid "folder.jpg"
+msgstr ""
+
+#: gtkpod.glade:9035
+msgid "folder"
+msgstr ""
+
+#: gtkpod.glade:9059
+msgid "../%A.jpg"
+msgstr ""
+
+#: gtkpod.glade:9083
+msgid "%A"
+msgstr ""
+
+#: gtkpod.glade:9107
+msgid "Use <i>folder.jpg</i> as cover art."
+msgstr ""
+
+#: gtkpod.glade:9131
+msgid "Use <i>folder.jpg</i>, <i>folder.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9155
+msgid "Use <i>&lt;Album&gt;.jpg</i> in the parent directory"
+msgstr ""
+
+#: gtkpod.glade:9179
+msgid "Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+msgstr ""
+
+#: gtkpod.glade:9203
+msgid "folder.jpg;%a.jpg"
+msgstr ""
+
+#: gtkpod.glade:9227
+msgid "First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i>"
+msgstr ""
+
+#: gtkpod.glade:9311
 msgid "<b>mserv</b>"
 msgstr ""
 
-#: gtkpod.glade:14022
+#: gtkpod.glade:9365 gtkpod.glade:9579
+msgid "Currently only rating is supported."
+msgstr ""
+
+#: gtkpod.glade:9367
 msgid "Use mserv database to fill additional information"
 msgstr ""
 
-#: gtkpod.glade:14050
+#: gtkpod.glade:9395
 msgid "Music Root:"
 msgstr ""
 
-#: gtkpod.glade:14096
+#: gtkpod.glade:9419
+msgid "mserv database lookup will be done for music in this directory."
+msgstr ""
+
+#: gtkpod.glade:9441
 msgid "mserv Root:"
 msgstr ""
 
-#: gtkpod.glade:14142
+#: gtkpod.glade:9465
+msgid "Root directory of mserv database (trackinfo root)."
+msgstr ""
+
+#: gtkpod.glade:9487
 msgid "Username:"
 msgstr "¥æ¡¼¥¶¡¼Ì¾:"
 
-#: gtkpod.glade:14190 gtkpod.glade:14209 gtkpod.glade:16592 gtkpod.glade:16661
-#: gtkpod.glade:16805 gtkpod.glade:16956 gtkpod.glade:17020 gtkpod.glade:17084
+#: gtkpod.glade:9511
+msgid "Username to be used for mserv database lookup."
+msgstr ""
+
+#: gtkpod.glade:9535 gtkpod.glade:9554 gtkpod.glade:12102 gtkpod.glade:12172
+#: gtkpod.glade:12317 gtkpod.glade:12490 gtkpod.glade:12555 gtkpod.glade:12620
 msgid "Browse"
 msgstr "¥Ö¥é¥¦¥º"
 
-#: gtkpod.glade:14282
-msgid "Reading"
-msgstr "Æɤ߹þ¤ß"
+#: gtkpod.glade:9581
+msgid "Show information about problems when accessing mserv"
+msgstr ""
 
-#: gtkpod.glade:14328
+#: gtkpod.glade:9627
+#, fuzzy
+msgid "_Track Info"
+msgstr "¶Ê¥ê¥¹¥È"
+
+#: gtkpod.glade:9673
 msgid "<b>Displayed Track Attributes</b>"
 msgstr "<b>ɽ¼¨¤¹¤ë¶Ê°À­</b>"
 
-#: gtkpod.glade:14978
+#: gtkpod.glade:10460
 msgid "<b>Sort Tabs</b>"
 msgstr "<b>¥½¡¼¥È¥¿¥Ö</b>"
 
-#: gtkpod.glade:15038
+#: gtkpod.glade:10514
+msgid "Keeps all compilation CDs grouped together in the artists sort tab."
+msgstr ""
+
+#: gtkpod.glade:10516
+msgid "Group artists on compilation CDs"
+msgstr ""
+
+#: gtkpod.glade:10541
 msgid "_Number of sort tabs:"
 msgstr "¥½¡¼¥È¥¿¥Ö¤Î¿ô(_N):"
 
-#: gtkpod.glade:15114
+#: gtkpod.glade:10617
 msgid "<b>Automatically select...</b>"
 msgstr "<b>¼«Æ°Åª¤ËÁªÂò...</b>"
 
-#: gtkpod.glade:15271
+#: gtkpod.glade:10671
+msgid ""
+"If you don't select the master playlist automatically, the initial database "
+"import is much faster because the display dosn't have to be updated."
+msgstr ""
+"¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È¤ò¼«Æ°Åª¤ËÁªÂò¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤È¡¢µ¯Æ°»þ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò"
+"Æɤ߹þ¤àºÝ¤Ë¤Ï²¿¤âɽ¼¨¤·¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢¥¹¥Ô¡¼¥É¤¬Â®¤¯¤Ê¤ê¤Þ¤¹¡£"
+
+#: gtkpod.glade:10673
+msgid "...master playlist"
+msgstr "...¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È"
+
+#: gtkpod.glade:10693
+msgid "...entry 'All' in sort tab..."
+msgstr "...°Ê²¼¤Î¥½¡¼¥È¥¿¥ÖÆâ¤Î¡Ö¤¹¤Ù¤Æ¡×¤Î¹àÌÜ"
+
+#: gtkpod.glade:10774
 msgid "<b>Tooltips</b>"
 msgstr "<b>¥Ä¡¼¥ë¥Á¥Ã¥×</b>"
 
-#: gtkpod.glade:15392
+#: gtkpod.glade:10829
+msgid "Display tooltips in main window"
+msgstr "¥Ä¡¼¥ë¥Á¥Ã¥×¤ò¥á¥¤¥ó²èÌ̤Çɽ¼¨¤¹¤ë"
+
+#: gtkpod.glade:10849
+msgid "Display tooltips in prefs window"
+msgstr "¥Ä¡¼¥ë¥Á¥Ã¥×¤òÀßÄê²èÌ̤Çɽ¼¨¤¹¤ë"
+
+#: gtkpod.glade:10895
 msgid "<b>Toolbar</b>"
 msgstr "<b>¥Ä¡¼¥ë¥Ð¡¼</b>"
 
-#: gtkpod.glade:15602
+#: gtkpod.glade:10950
+msgid "Display toolbar..."
+msgstr "¥Ä¡¼¥ë¥Ð¡¼¤Îɽ¼¨..."
+
+#: gtkpod.glade:11003
+msgid "...as icons"
+msgstr "¥¢¥¤¥³¥ó¤Î¤ß"
+
+#: gtkpod.glade:11023
+msgid "...as text"
+msgstr "¥Æ¥­¥¹¥È¤Î¤ß"
+
+#: gtkpod.glade:11044
+msgid "...both as icons and text"
+msgstr "¥¢¥¤¥³¥ó¤È¥Æ¥­¥¹¥È"
+
+#: gtkpod.glade:11105
 msgid "<b>Misc</b>"
 msgstr "<b>¤½¤Î¾</b>"
 
-#: gtkpod.glade:15764
+#: gtkpod.glade:11159
+msgid ""
+"It is much faster to sort the display after all tracks have been added. Some "
+"people might feel irritated by this behaviour and should uncheck this option."
+msgstr ""
+
+#: gtkpod.glade:11161
+msgid ""
+"Temporarily disable sorting when changing playlist\n"
+"or tab entry (faster!)"
+msgstr ""
+"¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤Î¼«Æ°Ê¤ٴ¹¤¨¤ò\n"
+"ÍÞÀ©¤¹¤ë (Æ°ºî¤¬Â®¤¯¤Ê¤ë)"
+
+#: gtkpod.glade:11181
+msgid ""
+"The display can be blocked after changing a selection. The display update is "
+"faster, but you have to wait until it's finished. When using this option, "
+"sorting is also temporarily disabled (see option above)."
+msgstr ""
+"ÁªÂò¤òÊѹ¹¤·¤¿»þ¤Ë¡¢¶Ê¤Î¥ê¥¹¥È¤ò¹¹¿·¤·½ª¤ï¤ë¤Þ¤ÇÅÓÃæ·Ð²á¤òɽ¼¨¤·¤Þ¤»¤ó¡£¹¹¿·"
+"¤Î¥¹¥Ô¡¼¥É¤Ï®¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤ì¤¬½ª¤ï¤ë¤Þ¤Ç¤Ï²¿¤â¤¹¤ë»ö¤¬¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£"
+"¤³¤ÎÀßÄê¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢Ê¤ٴ¹¤¨¤Ï°ì»þŪ¤Ë¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹ (¾å¤ÎÀßÄê¤ò»²"
+"¾È)¡£"
+
+#: gtkpod.glade:11183
+msgid ""
+"Block display when changing playlist or tab\n"
+" entry (faster!)"
+msgstr ""
+"¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤ËÅÓÃæ·Ð²á¤Î\n"
+"ɽ¼¨¤òÍÞÀ©¤¹¤ë(Æ°ºî¤¬Â®¤¯¤Ê¤ë)"
+
+#: gtkpod.glade:11203
+msgid "This option will be re-activated when you upgrade gtkpod."
+msgstr ""
+
+#: gtkpod.glade:11205
+msgid "Display messages and warnings at startup"
+msgstr "µ¯Æ°»þ¤Ë¥á¥Ã¥»¡¼¥¸¤ä·Ù¹ð¤òɽ¼¨¤¹¤ë"
+
+#: gtkpod.glade:11267
 msgid "Advanced Sorting Options"
 msgstr ""
 
-#: gtkpod.glade:15827
-msgid "Display"
-msgstr "ɽ¼¨"
-
-#: gtkpod.glade:15859
+#: gtkpod.glade:11362
 msgid "<b>Track Editing</b>"
 msgstr "<b>¶Ê¤ÎÊÔ½¸</b>"
 
-#: gtkpod.glade:15967
+#: gtkpod.glade:11416
 msgid ""
-"Use selected charset (on the 'General' page)\n"
+"The tags are written to the files on your harddrive and on the ipod (if "
+"available)."
+msgstr ""
+"¥¿¥°¤Ï»È¤Ã¤Æ¤¤¤ë¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤È(²Äǽ¤Ç¤¢¤ì¤Ð)iPod¤ÎξÊý¤Ç½¤Àµ¤µ¤ì¤Þ¤¹¡£"
+
+#: gtkpod.glade:11418
+msgid "Write ID3 tags to disk when modified in gtkpod"
+msgstr "gtkpodÆâ¤ÇÊѹ¹¤¬¤¢¤Ã¤¿ID3¥¿¥°¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤à"
+
+#: gtkpod.glade:11470
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to write the tags. If you have chosen a wrong charset when first importing a "
+"track, you should select this option along with the correct charset.  Note: "
+"uses the extended information file to store the charset information (see "
+"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
+"before V0.51 will have no charset stored -- the charset specified on the "
+"'Input/Output' page will be used."
+msgstr ""
+"Ä̾ï¤Ï¡¢ºÇ½é¤Ë¶Ê¤òÊݸ¤·¤¿»þ¤Ë»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò¥¿¥°¤ò½ñ¤­¹þ¤à»þ¤Ë¤â»ÈÍÑ"
+"¤·¤Þ¤¹¡£¤â¤·ºÇ½é¤Ë´Ö°ã¤Ã¤¿Ê¸»ú¥³¡¼¥É¤ò»ØÄꤷ¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢Àµ¤·¤¤Ê¸»ú"
+"¥³¡¼¥É¤òÁªÂò¤·¤¿¸å¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£Ãí°Õ: ʸ»ú¥³¡¼¥É¤Î¾ðÊó"
+"¤òÊݸ¤¹¤ë¤¿¤á¤Ë¡¢³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤(¡ÖÆþ½ÐÎϡפΥڡ¼¥¸¤Î"
+"¡ÖiTunesDB¤Ø¤Î½ñ¤­¹þ¤ß¡×¤Î¹à¤ò»²¾È)¡£¤Þ¤¿¡¢¥Ð¡¼¥¸¥ç¥ó0.51°ÊÁ°¤ËÅÐÏ¿¤µ¤ì¤¿¶Ê¤Ë"
+"¤Ä¤¤¤Æ¤Ïʸ»ú¥³¡¼¥É¾ðÊó¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¡ÖÆþ½ÐÎϡפιàÌܤǻØÄꤵ¤ì¤¿Ê¸»ú"
+"¥³¡¼¥É¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£"
+
+#: gtkpod.glade:11472
+#, fuzzy
+msgid ""
+"Use selected encoding (on the 'General' page)\n"
 "when writing tags"
 msgstr ""
 "¡Ö´ðËÜÀßÄê¡×¤Î¥Ú¡¼¥¸¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò\n"
 "¥¿¥°¤ÎÆɤ߽ñ¤­¤Ë¤â»ÈÍѤ¹¤ë"
 
-#: gtkpod.glade:16022
+#: gtkpod.glade:11492
+msgid ""
+"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
+"uses unicode to store the tags, so you won't have to worry about charsets "
+"any more. gtkpod will use UTF8 encoding as this will not increase the size "
+"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
+"present in the file to write to."
+msgstr ""
+
+#: gtkpod.glade:11494
+msgid "Always write ID3v2.4 tags (only applies to MP3)"
+msgstr "¾ï¤Ë ID3v2.4 ¥¿¥°¤ò½ñ¤­¹þ¤à (MP3 ¤Î¤ß)"
+
+#: gtkpod.glade:11527
+msgid ""
+"If you select several tracks in the track list and edit a tag of the first "
+"track, the tags in the other tracks are updated as well."
+msgstr ""
+"¶Ê¥ê¥¹¥È¤Î¶Ê¤òÆó¤Ä°Ê¾åÁªÂò¤·¤Æ¡¢ºÇ½é¤Î¶Ê¤Î¥¿¥°¤òÊѹ¹¤¹¤ë¤È¾¤Î¶Ê¤Ë¤â¤½¤ÎÊѹ¹"
+"¤òŬÍѤ·¤Þ¤¹¡£"
+
+#: gtkpod.glade:11529
 msgid "Use 'Multi-Edit' for tracks selections"
 msgstr "ÁªÂò¤µ¤ì¤¿¶Ê¤ò¡Ö°ìÀÆÊÔ½¸¡×¤¹¤ë"
 
-#: gtkpod.glade:16122
+#: gtkpod.glade:11575
+msgid ""
+"Usually you don't want to set the title of several tracks to the same text. "
+"This option might avoid unwanted results (especially since there is no "
+"'undo' yet)."
+msgstr ""
+"ÉáÄ̤ÏÊ£¿ô¤Î¶Ê¤Î¥¿¥¤¥È¥ë¤òƱ¤¸¤â¤Î¤Ë¤¹¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò"
+"ÁªÂò¤¹¤ë¤ÈÂçÄñ¤Ï˾¤Þ¤·¤¯¤Ê¤¤·ë²Ì¤òÆÀ¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£(Æäˡ¢º£¤Î¤È¤³¤í¡Ö¤ä¤êľ"
+"¤·¡×¤Ï¸ú¤«¤Ê¤¤¤Î¤Ç¡¢ÁªÂò¤¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)"
+
+#: gtkpod.glade:11577
+msgid "Use 'Multi-Edit' also for title field"
+msgstr "¥¿¥¤¥È¥ë¤Î¹àÌܤâ¡Ö°ìÀÆÊÔ½¸¡×¤ò²Äǽ¤Ë¤¹¤ë"
+
+#: gtkpod.glade:11630
 msgid "<b>Auto-Generated Playlists</b>"
 msgstr "<b>¥×¥ì¥¤¥ê¥¹¥È¤Î¼«Æ°À¸À®</b>"
 
-#: gtkpod.glade:16182
+#: gtkpod.glade:11690
 msgid "Number of tracks in generated playlists:"
 msgstr "À¸À®¤¹¤ë¥×¥ì¥¤¥ê¥¹¥È¤Ë²Ã¤¨¤ë¶Ê¿ô:"
 
-#: gtkpod.glade:16277
+#: gtkpod.glade:11711
+msgid ""
+"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
+"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
+msgstr ""
+"¥×¥ì¥¤¥ê¥¹¥È¤Î¿·µ¬ºîÀ®¤Ç¡¢¡ÖºÆÀ¸²ó¿ô¤Î¿¤¤¶Ê¡×¡Öɾ²Á¤Î¹â¤¤¶Ê¡×¡ÖºÇ¶áºÆÀ¸¤µ¤ì"
+"¤¿¶Ê¡×¤òÁªÂò¤·¤¿ºÝ¤Ë¥ê¥¹¥È¤ËÅÐÏ¿¤¹¤ë¶Ê¤Î¿ô¤ò»ØÄꤷ¤Þ¤¹¡£0¤ò»ØÄꤹ¤ë¤È¡¢¶Ê¿ô¤ò"
+"À©¸Â¤·¤Þ¤»¤ó¡£"
+
+#: gtkpod.glade:11740
+msgid "Also include tracks never played in \"Best Rated\" playlist"
+msgstr ""
+"¡Öɾ²Á¤Î¹â¤¤¶Ê¡×¤Î¥ê¥¹¥È¤òºî¤ëºÝ¤Ë¡¢°ìÅÙ¤â\n"
+"ºÆÀ¸¤µ¤ì¤¿»ö¤Î¤Ê¤¤¶Ê¤âÂоݤȤ·¤Þ¤¹¡£"
+
+#: gtkpod.glade:11786
 msgid "<b>Delete Confirmation</b>"
 msgstr "<b>ºï½ü¤Î³Îǧ</b>"
 
-#: gtkpod.glade:16352
+#: gtkpod.glade:11841
+msgid "Before removing playlists or tracks from a playlist"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È¤ä¡¢¥×¥ì¥¤¥ê¥¹¥È¤«¤é¶Ê¤òºï½ü¤¹¤ë»þ"
+
+#: gtkpod.glade:11861
 msgid "Before removing tracks from the iPod"
 msgstr "¶Ê¤òiPod¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ"
 
-#: gtkpod.glade:16372
+#: gtkpod.glade:11881
 msgid "Before removing tracks from the harddisk"
 msgstr "¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ"
 
-#: gtkpod.glade:16392
+#: gtkpod.glade:11901
 msgid "Before removing tracks from the local database"
 msgstr "¶Ê¤ò¥í¡¼¥«¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü¤¹¤ë»þ"
 
-#: gtkpod.glade:16412
+#: gtkpod.glade:11921
 msgid ""
 "Before removing tracks completely when\n"
 "synchronizing directories"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü¤ò¹Ô¤¦ºÝ¤Ë¶Ê¤òºï½ü¤¹¤ë»þ"
 
-#: gtkpod.glade:16491
+#: gtkpod.glade:12000
 msgid "<b>Play</b>"
 msgstr "<b>ºÆÀ¸</b>"
 
-#: gtkpod.glade:16551
+#: gtkpod.glade:12060
 msgid "Command for 'Play now':"
 msgstr "¡Öº£¤¹¤°±éÁաפΤ¿¤á¤Î¥³¥Þ¥ó¥É:"
 
-#: gtkpod.glade:16620
+#: gtkpod.glade:12081
+#, fuzzy
+msgid ""
+"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
+"tracks and start playing."
+msgstr ""
+"Î㤨¤Ð 'xmms -p %s' ¤È¤¹¤ë¤È¡¢xmms ¤Î¤½¤Î»þ¤Î¥×¥ì¥¤¥ê¥¹¥È¤ò¥¯¥ê¥¢¤·¡¢ÁªÂò¤·¤¿"
+"¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È¤ÎÀèƬ¤Ë²Ã¤¨¤Æ±éÁÕ¤ò»Ï¤á¤Þ¤¹¡£"
+
+#: gtkpod.glade:12130
 msgid "Command for 'Enqueue':"
 msgstr "¡Ö±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë¡×¤¿¤á¤Î¥³¥Þ¥ó¥É:"
 
-#: gtkpod.glade:16710
+#: gtkpod.glade:12151
+msgid ""
+"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
+"current playlist."
+msgstr ""
+"Î㤨¤Ð 'xmms -e %s' ¤È¤¹¤ë¤È¡¢ÁªÂò¤µ¤ì¤¿¶Ê¤ò xmms ¤Î¤½¤Î»þ¤Î¥×¥ì¥¤¥ê¥¹¥È¤ÎºÇ"
+"¸åÈø¤ËÄɲä·¤Þ¤¹"
+
+#: gtkpod.glade:12221
 msgid "<b>Volume Normalization</b>"
 msgstr "<b>²»Î̤ÎÊ¿¶Ñ²½</b>"
 
-#: gtkpod.glade:16764
+#: gtkpod.glade:12275
 msgid "'mp3gain' executable:"
 msgstr "'mp3gain' ¥³¥Þ¥ó¥É¤Î¾ì½ê:"
 
-#: gtkpod.glade:16847
+#: gtkpod.glade:12296
+msgid ""
+"You only need to specify this if your 'mp3gain' executable is not in your "
+"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
+"calculated gain value back to the file -- if you don't want this, set this "
+"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
+"are not already set by your encoder. E.g. lame version 0.95 already writes "
+"the gain values into tags. The exact conversion factor between mp3gain's "
+"gain value and iPod's volume tag is not known yet -- your input is "
+"appreciated."
+msgstr ""
+
+#: gtkpod.glade:12359
 msgid "<b>Synchronization</b>"
 msgstr "<b>Ʊ´ü</b>"
 
-#: gtkpod.glade:16910
+#: gtkpod.glade:12443
 msgid "Contacts sync command:"
 msgstr ""
 
-#: gtkpod.glade:16974
+#: gtkpod.glade:12467 gtkpod.glade:12532 gtkpod.glade:12597
+msgid ""
+"Specify exact path including command line options. '%i' will be replaced "
+"with the mount point of the iPod."
+msgstr ""
+
+#: gtkpod.glade:12508
 msgid "Calendar sync command:"
 msgstr ""
 
-#: gtkpod.glade:17038
+#: gtkpod.glade:12573
 msgid "Notes sync command:"
 msgstr ""
 
+#: gtkpod.glade:12646
+msgid "Call automatically when synchronizing iTunesDB"
+msgstr ""
+
+#: gtkpod.glade:12724
+msgid "<b>Podcast subscriptions</b>"
+msgstr ""
+
+#: gtkpod.glade:12799
+#, fuzzy
+msgid "Add"
+msgstr "ÅÐÏ¿Æü"
+
+#: gtkpod.glade:12833
+#, fuzzy
+msgid "Delete"
+msgstr "ºï½ü¤µ¤ì¤¿¶Ê"
+
+#: gtkpod.glade:12899
+msgid "Name: "
+msgstr ""
+
+#: gtkpod.glade:12923
+msgid "URL: "
+msgstr ""
+
+#: gtkpod.glade:13016
+#, fuzzy
+msgid "<b>File options</b>"
+msgstr "<b>ºï½ü¤Î³Îǧ</b>"
+
+#: gtkpod.glade:13076
+msgid "Save podcasts to: "
+msgstr ""
+
+#: gtkpod.glade:13131
+msgid "Delete from computer when "
+msgstr ""
+
+#: gtkpod.glade:13171 gtkpod.glade:13473
+#, fuzzy
+msgid " days old"
+msgstr "Æü"
+
+#: gtkpod.glade:13200
+#, fuzzy
+msgid "Delete once copied to iPod"
+msgstr "iPod¤«¤é1¶Ê´°Á´¤Ëºï½ü¤·¤Þ¤·¤¿"
+
+#: gtkpod.glade:13226
+#, fuzzy
+msgid "Automatically fetch podcasts on startup"
+msgstr "µ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë iTunesDB ¤òÆɤ߹þ¤à"
+
+#: gtkpod.glade:13253
+#, fuzzy
+msgid "Create podcast logfile at:"
+msgstr "¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ®"
+
+#: gtkpod.glade:13353
+#, fuzzy
+msgid "<b>iPod options</b>"
+msgstr "<b>¥Ä¡¼¥ë¥Á¥Ã¥×</b>"
+
+#: gtkpod.glade:13408
+#, fuzzy
+msgid "Automatically sync to iPod"
+msgstr "¼«Æ°Åª¤ËÁªÂò..."
+
+#: gtkpod.glade:13434
+#, fuzzy
+msgid "Delete from iPod when "
+msgstr "iPod¤«¤éºï½ü"
+
+#: gtkpod.glade:13502
+#, fuzzy
+msgid "Delete from iPod if podcast has been played"
+msgstr "ºÇ¸å¤Ë±éÁÕ¤µ¤ì¤¿¤È¤­¤ÎÆüÉդȻþ¹ï"
+
+#: gtkpod.glade:13522
+msgid "Include broadcast date in track title"
+msgstr ""
+
+#: gtkpod.glade:13542
+msgid "Set all podcast genres to 'Podcast'"
+msgstr ""
+
+#: gtkpod.glade:13588 gtkpod.glade:15341
+msgid "_Podcasts"
+msgstr ""
+
+#: gtkpod.glade:13753
+msgid ""
+"\n"
+"\n"
+msgstr ""
+
+#: gtkpod.glade:13787
+#, fuzzy
+msgid "Abort selected"
+msgstr "¶Ê¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: gtkpod.glade:13803
+msgid "Abort current"
+msgstr ""
+
+#: gtkpod.glade:13819
+msgid "Abort all"
+msgstr ""
+
+#: gtkpod.glade:13843
+msgid "Details"
+msgstr ""
+
+#: gtkpod.glade:13904
+#, fuzzy
+msgid "Cover"
+msgstr "ºî¶Ê¼Ô"
+
+#: gtkpod.glade:13989
+msgid "Set Cover Art"
+msgstr ""
+
+#: gtkpod.glade:14022
+msgid ""
+"If you check this, information (cover art and meta information) changed for "
+"this track will be copied to all other selected tracks as well. Use with "
+"care."
+msgstr ""
+
+#: gtkpod.glade:14068
+msgid ""
+"Change all tracks\n"
+"simultaneously"
+msgstr ""
+
+#: gtkpod.glade:14156
+msgid "Remove Cover Art"
+msgstr ""
+
+#: gtkpod.glade:16245
+msgid "_Other"
+msgstr ""
+
+#: gtkpod.glade:16535
+msgid "_Undo All"
+msgstr ""
+
+#: gtkpod.glade:16605
+#, fuzzy
+msgid "_Undo Track"
+msgstr "̤ɾ²Á¤Î¶Ê"
+
+#~ msgid "Settings are not saved.\n"
+#~ msgstr "ÀßÄê¤ÏÊݸ¤µ¤ì¤Þ¤»¤ó¡£\n"
+
+#~ msgid "_Delete But Keep Tracks"
+#~ msgstr "¶Ê¤Ï»Ä¤·¤¿¤Þ¤Þºï½ü(_D)"
+
+#~ msgid "_Delete Completely From iPod"
+#~ msgstr "iPod¤«¤é´°Á´¤Ëºï½ü(_D)"
+
+#~ msgid " iPod Mount _Point:"
+#~ msgstr " iPod¤Î¥Þ¥¦¥ó¥È¾ì½ê(_P):"
+
+#~ msgid "Import"
+#~ msgstr "¥¤¥ó¥Ý¡¼¥È"
+
+#~ msgid " _Charset (ID3, files): "
+#~ msgstr " ʸ»ú¥³¡¼¥É(_C) (ID3,¥Õ¥¡¥¤¥ë): "
+
+#~ msgid ""
+#~ "Use selected charset also when updating\n"
+#~ " or syncing tracks"
+#~ msgstr "»ØÄꤷ¤¿Ê¸»ú¥³¡¼¥É¤ò¹¹¿·/Ʊ´ü½èÍý¤ÎºÝ¤Ë¤â»ÈÍѤ¹¤ë"
+
+#~ msgid ""
+#~ "When adding dirs/files, update information of\n"
+#~ " existing tracks with identical filenames"
+#~ msgstr ""
+#~ "¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ëºÝ¤Ë¡¢Æ±¤¸¥Õ¥¡¥¤¥ë̾¤ò\n"
+#~ "»ý¤Ã¤¿¶Ê¤¬¤¹¤Ç¤Ë¤¢¤Ã¤¿¤é¤½¤Á¤é¤ò¹¹¿·¤¹¤ë"
+
+#~ msgid "Confirm list of directories"
+#~ msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò³Îǧ¤¹¤ë"
+
+#~ msgid "Adding/Updating/Syncing"
+#~ msgstr "ÄɲÃ/¹¹¿·/Ʊ´ü"
+
+#~ msgid "Use this template to parse filename for tag information"
+#~ msgstr "°Ê²¼¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢¥Õ¥¡¥¤¥ë̾¤«¤é¥¿¥°¾ðÊó¤òÃê½Ð¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë"
+
+#~ msgid "Overwrite tags that are already set."
+#~ msgstr "¤¹¤Ç¤Ë¤¢¥¿¥°¾ðÊó¤ò¾å½ñ¤­¤¹¤ë¡£"
+
+#~ msgid "Sync (Writing of iTunesDB)"
+#~ msgstr "¹¹¿· (iTunesDB¤Ø¤Î½ñ¤­¹þ¤ß)"
+
+#~ msgid "_Input/Output"
+#~ msgstr "Æþ½ÐÎÏ(_I)"
+
+#~ msgid "Relative volume adjustment between -100 and +100"
+#~ msgstr "²»Î̤ÎÊäÀµÃÍ(-100¤«¤é+100¤Þ¤Ç)"
+
+#~ msgid "Displayed Track Attributes "
+#~ msgstr "ɽ¼¨¤¹¤ë¶Ê¤Î¹àÌÜ"
+
+#~ msgid " _Number of sort tabs: "
+#~ msgstr "¥½¡¼¥È¥¿¥Ö¤Î¿ô(_N)"
+
+#~ msgid "Sort Tabs"
+#~ msgstr "¥½¡¼¥È¥¿¥Ö"
+
+#~ msgid "Toolbar"
+#~ msgstr "¥Ä¡¼¥ë¥Ð¡¼"
+
+#~ msgid "Tooltips"
+#~ msgstr "¥Ä¡¼¥ë¥Á¥Ã¥×"
+
+#~ msgid "Sorting"
+#~ msgstr "ʤٴ¹¤¨"
+
+#~ msgid "Misc"
+#~ msgstr "¤½¤Î¾"
+
+#~ msgid ""
+#~ "Use selected charset (on the 'Import' page)\n"
+#~ " when writing tags"
+#~ msgstr ""
+#~ "¡Ö¥¤¥ó¥Ý¡¼¥È¡×¤Î¥Ú¡¼¥¸¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò\n"
+#~ "¥¿¥°¤Ë»ÈÍѤ¹¤ë"
+
+#~ msgid "Use 'Multi-Edit' for track selections"
+#~ msgstr "ÁªÂò¤µ¤ì¤¿¶Ê¤ò¡Ö°ìÀÆÊÔ½¸¡×¤¹¤ë"
+
+#~ msgid "Track Editing"
+#~ msgstr "¶Ê¤ÎÊÔ½¸"
+
+#~ msgid " Number of tracks in generated playlists: "
+#~ msgstr "À¸À®¤¹¤ë¥×¥ì¥¤¥ê¥¹¥È¤Ë²Ã¤¨¤ë¶Ê¿ô: "
+
+#~ msgid "Auto-Generated Playlists"
+#~ msgstr "¥×¥ì¥¤¥ê¥¹¥È¤Î¼«Æ°ºîÀ®"
+
+#~ msgid "Before removing tracks completely from the iPod"
+#~ msgstr "¶Ê¤òiPod¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ"
+
+#~ msgid ""
+#~ "This option only has a meaning if you activate the 'Delete Tracks that "
+#~ "have been Removed' option in the 'Adding/Updating/Syncing' section in the "
+#~ "'Input/Output' tab."
+#~ msgstr ""
+#~ "¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡ÖÆþ½ÐÎϡפΥ¿¥ÖÃæ¤Î¡ÖÄɲÃ/¹¹¿·/Ʊ´ü¡×¤ÎÃæ¤Ë¤¢¤ë¡ÖƱ´ü¸µ¤Ç"
+#~ "ºï½ü¤µ¤ì¤¿¶Ê¤ò¾Ãµî¤¹¤ë¡×¤Î¹àÌܤòÀßÄꤷ¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£"
+
+#~ msgid ""
+#~ "Before removing tracks completely when\n"
+#~ " synchronizing directories"
+#~ msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü¤ò¹Ô¤¦ºÝ¤Ë¶Ê¤òºï½ü¤¹¤ë»þ"
+
+#~ msgid "Delete Confirmation "
+#~ msgstr "ºï½ü¤Î³Îǧ"
+
+#~ msgid "Command Line for 'Play Now':"
+#~ msgstr "¡Öº£¤¹¤°±éÁաפΤ¿¤á¤Î¥³¥Þ¥ó¥É:"
+
+#~ msgid "Command Line for 'Enqueue':"
+#~ msgstr "¡Ö±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë¡×¤¿¤á¤Î¥³¥Þ¥ó¥É:"
+
+#~ msgid "Track Playing"
+#~ msgstr "¶Ê¤Î±éÁÕ"
+
+#~ msgid "Exact path for the 'mp3gain' executable:"
+#~ msgstr "'mp3gain' ¥³¥Þ¥ó¥É¤Î¾ì½ê:"
+
+#~ msgid "Volume Normalization"
+#~ msgstr "²»Î̤ÎÊ¿¶Ñ²½"
+
+#, fuzzy
+#~ msgid ""
+#~ "Notice: the track order is always stored to the iPod when you use drag "
+#~ "and drop to re-arrange the tracks.\n"
+#~ "In order to store an alphabetized track order to the iPod you must choose "
+#~ "the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto "
+#~ "Store' above."
+#~ msgstr ""
+#~ "Ãí°Õ: ¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤ÇÊÔ½¸¤µ¤ì¤¿¶Ê½ç¤Ï¾ï¤Ë iPod ¤ËÊݸ¤µ¤ì¤Þ¤¹¡£¼«"
+#~ "ưʤٴ¹¤¨¤Ë¤è¤ë¶Ê½ç¤ò iPod ¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢¡ÖÊÔ½¸¡×¥á¥Ë¥å¡¼¤Î¡Ö¸½ºß¤Î¶Ê½ç"
+#~ "¤òÊݸ¡×¤Î¹àÌܤ«¡¢¾å¤Î¡Ö¼«Æ°Êݸ¡×¤òÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£"
+
+#~ msgid "Reading"
+#~ msgstr "Æɤ߹þ¤ß"
+
+#~ msgid "Display"
+#~ msgstr "ɽ¼¨"
+
+#~ msgid "File not found: '%s'."
+#~ msgstr "¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: '%s'"
+
+#~ msgid "Opening of '%s' for writing failed."
+#~ msgstr "'%s' ¤ò½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤±¤Þ¤»¤ó¡£"
+
+#~ msgid "Writing to '%s' failed."
+#~ msgstr "'%s'¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"
+
+#~ msgid "Path not found: '%s'."
+#~ msgstr "¥Ñ¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: '%s'"
+
+#~ msgid "Error renaming '%s' to '%s' (%s)."
+#~ msgstr "'%s'¤ò'%s'¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s)"
+
+#~ msgid "Error removing '%s' (%s)."
+#~ msgstr "'%s'¤Îºï½üÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
+
+#~ msgid "Error opening '%s' for reading (%s)."
+#~ msgstr "'%s' ¤òÆɤ߹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s)"
+
+#~ msgid "Error opening '%s' for writing (%s)."
+#~ msgstr "'%s' ¤ò½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s)"
+
+#~ msgid "Error while reading from '%s' (%s)."
+#~ msgstr "'%s' ¤ÎÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
+
+#~ msgid "Error while writing to '%s' (%s)."
+#~ msgstr "'%s' ¤Î½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
+
+#~ msgid "Error when closing '%s' (%s)."
+#~ msgstr "'%s' ¤òÊĤ¸¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s)"
+
 #~ msgid "Couldn't find pixmap file: %s"
 #~ msgstr "°Ê²¼¤Î²èÁü¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s"
 

Modified: gtkpod/trunk/po/sv.gmo
===================================================================
(Binary files differ)


Property changes on: gtkpod/trunk/po/sv.gmo
___________________________________________________________________
Name: svn:eol-style
   - native
Name: svn:mime-type
   + application/x-gmo

Modified: gtkpod/trunk/po/sv.po
===================================================================
--- gtkpod/trunk/po/sv.po	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/po/sv.po	2005-12-30 07:31:41 UTC (rev 94)
@@ -6,15 +6,15 @@
 msgstr ""
 "Project-Id-Version: sv\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-16 16:18+0900\n"
-"PO-Revision-Date: 2005-06-22 17:56+0200\n"
+"POT-Creation-Date: 2005-12-14 23:51+0900\n"
+"PO-Revision-Date: 2005-12-12 18:58+0100\n"
 "Last-Translator: Stefan Asserhäll <stefan.asserhall at comhem.se>\n"
 "Language-Team: Svenska <sv at li.org>\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"
-"X-Generator: KBabel 1.11\n"
+"X-Generator: KBabel 1.11.1\n"
 
 #: src/charset.c:53
 msgid "Arabic (IBM-864)"
@@ -230,174 +230,237 @@
 msgstr ""
 "En annan instans av gtkpod detekterades. Spelningsservern startades inte.\n"
 
-#: src/confirmation.c:363
+#: src/confirmation.c:361
 msgid "Confirmation Dialogue"
 msgstr "Bekräftelsedialogruta"
 
-#: src/context_menus.c:299
+#: src/context_menus.c:368 gtkpod.glade:530
 msgid "Edit"
 msgstr "Redigera"
 
-#: src/context_menus.c:301 src/tools.c:634
+#: src/context_menus.c:370 src/tools.c:634
 msgid "Play Now"
 msgstr "Spela nu"
 
-#: src/context_menus.c:303 src/tools.c:645
+#: src/context_menus.c:372 src/tools.c:645
 msgid "Enqueue"
 msgstr "Köa"
 
-#: src/context_menus.c:306
-#, fuzzy
+#: src/context_menus.c:375
 msgid "Export Tracks"
-msgstr "Sorteringsflikar"
+msgstr "Exportera spår"
 
-#: src/context_menus.c:308 src/file_export.c:1091
+#: src/context_menus.c:377 src/file_export.c:1069
 msgid "Create Playlist File"
 msgstr "Skapa spellistefil"
 
-#: src/context_menus.c:310
+#: src/context_menus.c:379
+msgid "Edit Details"
+msgstr "Redigera detaljinformation"
+
+#: src/context_menus.c:381 gtkpod.glade:12816
 msgid "Update"
 msgstr "Uppdatera"
 
-#: src/context_menus.c:312
+#: src/context_menus.c:383
 msgid "Sync Dirs"
 msgstr "Synkronisera kataloger"
 
-#: src/context_menus.c:314
+#: src/context_menus.c:385
 msgid "Normalize"
 msgstr "Normalisera"
 
-#: src/context_menus.c:316
+#: src/context_menus.c:387
 msgid "Create new Playlist"
 msgstr "Skapa ny spellista"
 
-#: src/context_menus.c:319
+#: src/context_menus.c:390
 msgid "Edit Smart Playlist"
 msgstr "Redigera smart spellista"
 
-#: src/context_menus.c:325
+#: src/context_menus.c:396
 msgid "Alphabetize"
 msgstr "Sortera alfabetiskt"
 
-#: src/context_menus.c:347
+#: src/context_menus.c:420
 msgid "Delete From iPod"
 msgstr "Ta bort från iPod"
 
-#: src/context_menus.c:352
+#: src/context_menus.c:426
 msgid "Delete From Harddisk"
 msgstr "Ta bort från hårddisk"
 
-#: src/context_menus.c:357
+#: src/context_menus.c:432
 msgid "Delete From Database"
 msgstr "Ta bort från databas"
 
-#: src/context_menus.c:362
+#: src/context_menus.c:438
 msgid "Delete From Playlist"
 msgstr "Ta bort från spellista"
 
-#: src/context_menus.c:371
+#: src/context_menus.c:457
 msgid "Delete Including Tracks"
 msgstr "Ta bort inklusive spår"
 
-#: src/context_menus.c:376
+#: src/context_menus.c:463
 msgid "Delete Including Tracks (Harddisk)"
 msgstr "Ta bort inklusive spår (hårddisk)"
 
-#: src/context_menus.c:381
+#: src/context_menus.c:469
 msgid "Delete Including Tracks (Database)"
 msgstr "Ta bort inklusive spår (databas)"
 
-#: src/context_menus.c:386
+#: src/context_menus.c:475
 msgid "Delete But Keep Tracks"
 msgstr "Ta bort men behåll spår"
 
-#: src/context_menus.c:391
+#: src/context_menus.c:481
 msgid "Remove All Tracks from iPod"
 msgstr "Ta bort alla spår från iPod"
 
-#: src/context_menus.c:396
+#: src/context_menus.c:487
 msgid "Remove All Tracks from Database"
 msgstr "Ta bort alla spår från databasen"
 
+#: src/context_menus.c:494
+msgid "Remove All Podcasts from iPod"
+msgstr "Ta bort alla podradiosändningar från iPod"
+
+#: src/context_menus.c:505 gtkpod.glade:156
+msgid "Update Podcasts"
+msgstr "Uppdatera podradiosändningar"
+
+#: src/context_menus.c:512
+msgid "Podcasts Preferences"
+msgstr "Inställningar för podradiosändningar"
+
 #: src/date_parser.l:269
 #, c-format
 msgid "Date format error: unrecognized character: '%s'\n"
 msgstr "Fel i datumformat: tecknet känns inte igen: '%s'\n"
 
-#: src/display.c:876
+#: src/details.c:1035 gtkpod.glade:4365
+msgid "n/a"
+msgstr "ej tillgänglig"
+
+#: src/details.c:1099
+msgid "<b>n/a</b>"
+msgstr "<b>ej tillgänglig</b>"
+
+#: src/display.c:924 src/display.c:1022 src/display.c:1071 src/display.c:1302
+#: src/display.c:1358 src/display.c:1413 src/display.c:1464 src/display.c:1628
+#: src/misc_playlist.c:274
+msgid "No playlist selected"
+msgstr "Ingen spellista markerad"
+
+#: src/display.c:934
+msgid "Edit selected entry of which sort tab?"
+msgstr "Redigera markerad rad för vilken sorts flik?"
+
+#. no entry selected
+#: src/display.c:941 src/misc_confirm.c:441 src/misc_track.c:1482
+msgid "No entry selected."
+msgstr "Ingen rad markerad."
+
+#: src/display.c:960 src/display.c:1040 src/display.c:1345 src/display.c:1401
+#: src/display.c:1452 src/display.c:1503
+msgid "No tracks selected"
+msgstr "Inga spår markerade"
+
+#: src/display.c:1056 src/display.c:1322 src/display.c:1378 src/display.c:1430
+#: src/display.c:1481 src/display.c:1650
+#, c-format
+msgid "No entry selected in Sort Tab %d"
+msgstr "Ingen rad markerad i sorteringsflik %d"
+
+#: src/display.c:1095
+msgid "Remove entry of which sort tab from database?"
+msgstr "Ta bort rad för vilken sorts flik från databasen?"
+
+#: src/display.c:1103
+msgid "Remove tracks in selected entry of which filter tab from the iPod?"
+msgstr "Ta bort spår i markerad rad för vilken sorts filterflik från iPod?"
+
+#: src/display.c:1125
+msgid "Remove tracks in selected entry of which filter tab from the harddisk?"
+msgstr ""
+"Ta bort spår i markerad rad för vilken sorts filterflik från hårddisken?"
+
+#: src/display.c:1155
+msgid "Remove tracks in selected entry of which filter tab from playlist?"
+msgstr ""
+"Ta bort spår i markerad rad för vilken sorts filterflik från spellistan?"
+
+#: src/display.c:1174
 msgid "Currently no iPod database selected"
 msgstr "För närvarande är ingen iPod-databas markerad"
 
-#: src/display.c:904 src/display.c:931
+#: src/display.c:1202 src/display.c:1229
 msgid "Update selected entry of which sort tab?"
 msgstr "Uppdatera markerad rad för vilken sorts flik?"
 
-#: src/display.c:950
+#: src/display.c:1248
 msgid "Sync dirs of selected entry in which sort tab?"
 msgstr "Synkronisera markerad rads kataloger för vilken sorts flik?"
 
-#: src/display.c:1004 src/display.c:1060 src/display.c:1115 src/display.c:1166
-#: src/display.c:1330 src/misc_playlist.c:274
-msgid "No playlist selected"
-msgstr "Ingen spellista markerad"
-
-#: src/display.c:1018
+#: src/display.c:1316
 msgid "Export selected entry of which sort tab?"
 msgstr "Exportera markerad rad för vilken sorts flik?"
 
-#: src/display.c:1024 src/display.c:1080 src/display.c:1132 src/display.c:1183
-#: src/display.c:1352
-#, c-format
-msgid "No entry selected in Sort Tab %d"
-msgstr "Ingen rad markerad i sorteringsflik %d"
-
-#: src/display.c:1047 src/display.c:1103 src/display.c:1154 src/display.c:1205
-msgid "No tracks selected"
-msgstr "Inga spår markerade"
-
-#: src/display.c:1074
+#: src/display.c:1372
 msgid "Create playlist file from selected entry of which sort tab?"
 msgstr "Skapa spellistefil från markerad rad för vilken sorts flik?"
 
-#: src/display.c:1126
+#: src/display.c:1424
 msgid "Play tracks in selected entry of which sort tab?"
 msgstr "Spela spår i markerad rad för vilken sorts flik?"
 
-#: src/display.c:1177
+#: src/display.c:1475
 msgid "Enqueue tracks in selected entry of which sort tab?"
 msgstr "Köa spår i markerad rad för vilken sorts flik?"
 
-#: src/display.c:1342
+#: src/display.c:1640
 msgid "Normalize tracks in selected entry of which sort tab?"
 msgstr "Normalisera spår i markerad rad för vilken sorts flik?"
 
-#: src/display_itdb.c:691 src/display_itdb.c:758
+#: src/display_itdb.c:319
+#, c-format
+msgid "Failed to set cover art: '%s'"
+msgstr "Misslyckades ange omslagsbild: '%s'"
+
+#. add podcast playlist
+#: src/display_itdb.c:843 src/display_itdb.c:871 src/display_itdb.c:975
+#: gtkpod.glade:13668
+msgid "Podcasts"
+msgstr "Podradiosändningar"
+
+#: src/display_itdb.c:845 src/display_itdb.c:941
 msgid "Local"
 msgstr "Lokal"
 
-#: src/display_itdb.c:863
+#: src/display_itdb.c:1081
 #, c-format
 msgid "Increased playcount for '%s'"
 msgstr "ökade spelningsantal för '%s'"
 
 #. give a notice on the statusbar -- otherwise the user
 #. * will never know why the drag is not possible
-#: src/display_playlists.c:494 src/display_playlists.c:536
+#: src/display_playlists.c:498 src/display_playlists.c:540
 msgid "Error: drag from iPod not possible in offline mode."
-msgstr ""
+msgstr "Fel: att dra från iPod är inte möjligt i nerkopplat läge."
 
-#: src/display_playlists.c:563 src/display_songs.c:283
+#: src/display_playlists.c:567 src/display_songs.c:285
 #, c-format
 msgid "Copied one track"
 msgid_plural "Copied %d tracks"
 msgstr[0] "Kopierade ett spår"
 msgstr[1] "Kopierade %d spår"
 
-#: src/display_playlists.c:852
+#: src/display_playlists.c:856
 msgid "Can't reorder sorted treeview."
 msgstr "Kan inte ordna om sorterad trädvy."
 
-#: src/display_playlists.c:943
+#: src/display_playlists.c:947
 #, c-format
 msgid ""
 "This DND type (%d) is not (yet) supported. If you feel implementing this "
@@ -408,22 +471,18 @@
 "vore användbart att implementera, kontakta gärna upphovsmannen.\n"
 "\n"
 
-#: src/display_playlists.c:1811 gtkpod.glade:7815 gtkpod.glade:9389
+#: src/display_playlists.c:1830 gtkpod.glade:3997
 msgid "Playlists"
 msgstr "Spellistor"
 
-#: src/display_songs.c:278
+#: src/display_songs.c:280
 #, c-format
 msgid "Moved one track"
 msgid_plural "Moved %d tracks"
 msgstr[0] "Flyttade ett spår"
 msgstr[1] "Flyttade %d spår"
 
-#: src/display_songs.c:1119
-msgid "Local Database"
-msgstr "Lokal databas"
-
-#: src/display_songs.c:1796
+#: src/display_songs.c:1669
 #, c-format
 msgid ""
 "Cannot unsort track view because of a bug in the GTK lib you are using (%d.%"
@@ -436,56 +495,64 @@
 "tillbaka till det osorterade tillståndet.\n"
 "\n"
 
-#: src/display_songs.c:1985
+#: src/display_songs.c:1922
+msgid "Rtng"
+msgstr "Betyg"
+
+#: src/display_songs.c:1925
 msgid "#"
 msgstr "#"
 
-#: src/display_songs.c:1988
+#: src/display_songs.c:1928
 msgid "CD"
 msgstr "Cd"
 
-#: src/display_songs.c:1991
+#: src/display_songs.c:1931
 msgid "ID"
 msgstr "Id"
 
-#: src/display_songs.c:1999
+#: src/display_songs.c:1934
 msgid "Trnsfrd"
 msgstr "Överfört"
 
-#: src/display_songs.c:2004
+#: src/display_songs.c:1938
 msgid "Cmpl"
 msgstr "Komp."
 
-#: src/display_songs.c:2012 src/display_spl.c:93
+#: src/display_songs.c:1942 src/display_spl.c:94
 msgid "Time"
 msgstr "Tid"
 
-#: src/display_songs.c:2016
+#: src/display_songs.c:1945
 msgid "Plycnt"
 msgstr "Speln."
 
-#: src/display_songs.c:2019 gtkpod.glade:6251
+#: src/display_songs.c:1948 gtkpod.glade:2433
 msgid "Played"
 msgstr "Spelad"
 
-#: src/display_songs.c:2022 gtkpod.glade:6274
+#: src/display_songs.c:1951 gtkpod.glade:2456
 msgid "Modified"
 msgstr "Ändrad"
 
-#: src/display_songs.c:2025 src/display_sorttabs.c:3040 gtkpod.glade:6369
+#: src/display_songs.c:1954 src/display_sorttabs.c:3117 gtkpod.glade:2551
 msgid "Added"
 msgstr "Tillagd"
 
-#: src/display_songs.c:2028 src/display_sorttabs.c:2785 src/display_spl.c:87
+#: src/display_songs.c:1957
+msgid "Released"
+msgstr "Utgiven"
+
+#: src/display_songs.c:1960 src/display_sorttabs.c:2856 src/display_spl.c:88
 #: src/misc_conversion.c:85
 msgid "Year"
 msgstr "Ã…r"
 
-#: src/display_songs.c:2031
+#: src/display_songs.c:1963
 msgid "Vol."
 msgstr "Vol."
 
-#: src/display_songs.c:2034
+#: src/display_songs.c:1966
 msgid "Sndchk."
 msgstr "Ljudkontr."
 
@@ -501,295 +568,298 @@
 msgid "'Added' condition ignored because of error."
 msgstr "Tillståndet 'Tillagd' ignoreras på grund av fel."
 
-#: src/display_sorttabs.c:1465 src/misc_conversion.c:60
+#: src/display_sorttabs.c:1492 src/misc_conversion.c:60
 msgid "All"
 msgstr "Alla"
 
-#: src/display_sorttabs.c:2770 src/display_spl.c:84 src/misc_conversion.c:62
-#: gtkpod.glade:2579 gtkpod.glade:13823
+#: src/display_sorttabs.c:1518
+msgid "Compilations"
+msgstr "Samlingar"
+
+#: src/display_sorttabs.c:2841 src/display_spl.c:85 src/misc_conversion.c:62
+#: gtkpod.glade:8709
 msgid "Artist"
 msgstr "Artist"
 
 #. 0
-#: src/display_sorttabs.c:2773 src/display_spl.c:83 src/misc_conversion.c:61
-#: gtkpod.glade:2630 gtkpod.glade:13867
+#: src/display_sorttabs.c:2844 src/display_spl.c:84 src/misc_conversion.c:61
+#: gtkpod.glade:8753
 msgid "Album"
 msgstr "Album"
 
-#: src/display_sorttabs.c:2776 src/display_spl.c:88 src/misc_conversion.c:64
-#: gtkpod.glade:2598 gtkpod.glade:13845
+#: src/display_sorttabs.c:2847 src/display_spl.c:89 src/misc_conversion.c:64
+#: gtkpod.glade:8731
 msgid "Genre"
 msgstr "Genre"
 
-#: src/display_sorttabs.c:2779
+#: src/display_sorttabs.c:2850
 msgid "Comp."
 msgstr "Komp."
 
-#: src/display_sorttabs.c:2782 src/display_spl.c:82 src/misc_conversion.c:63
-#: gtkpod.glade:2681 gtkpod.glade:13911
+#: src/display_sorttabs.c:2853 src/display_spl.c:83 src/misc_conversion.c:63
+#: gtkpod.glade:8797
 msgid "Title"
 msgstr "Titel"
 
-#: src/display_sorttabs.c:2788
+#: src/display_sorttabs.c:2859
 msgid "Special"
 msgstr "Special"
 
-#: src/display_sorttabs.c:3038
+#: src/display_sorttabs.c:3115
 msgid "Last Played"
 msgstr "Senast spelad"
 
-#: src/display_sorttabs.c:3039
+#: src/display_sorttabs.c:3116
 msgid "Last Modified"
 msgstr "Senast ändrad"
 
-#: src/display_spl.c:63
+#: src/display_spl.c:64
 msgid "days"
 msgstr "dagar"
 
-#: src/display_spl.c:64
+#: src/display_spl.c:65
 msgid "weeks"
 msgstr "veckor"
 
-#: src/display_spl.c:65
+#: src/display_spl.c:66
 msgid "months"
 msgstr "månader"
 
-#: src/display_spl.c:72
+#: src/display_spl.c:73
 msgid "kbps"
 msgstr "kbps"
 
-#: src/display_spl.c:73
+#: src/display_spl.c:74
 msgid "Hz"
 msgstr "Hz"
 
-#: src/display_spl.c:74 src/display_spl.c:159 src/info.c:725
+#: src/display_spl.c:75 src/display_spl.c:160 src/info.c:732
 msgid "MB"
 msgstr "Mibyte"
 
-#: src/display_spl.c:75
+#: src/display_spl.c:76
 msgid "secs"
 msgstr "sekunder"
 
-#: src/display_spl.c:85 src/misc_conversion.c:75
+#: src/display_spl.c:86 src/misc_conversion.c:75
 msgid "Bitrate"
 msgstr "Bithastighet"
 
 #. 15
-#: src/display_spl.c:86 src/misc_conversion.c:76
+#: src/display_spl.c:87 src/misc_conversion.c:76
 msgid "Samplerate"
 msgstr "Samplingsfrekvens"
 
-#: src/display_spl.c:89 src/misc_conversion.c:67
+#: src/display_spl.c:90
 msgid "Kind"
 msgstr "Sort"
 
-#: src/display_spl.c:90 src/misc_conversion.c:82
+#: src/display_spl.c:91 src/misc_conversion.c:82
 msgid "Date modified"
 msgstr "Ändringsdatum"
 
-#: src/display_spl.c:91
+#: src/display_spl.c:92
 msgid "Track number"
 msgstr "Spårnummer"
 
-#: src/display_spl.c:92
+#: src/display_spl.c:93
 msgid "Size"
 msgstr "Storlek"
 
-#: src/display_spl.c:94 src/misc_conversion.c:65
+#: src/display_spl.c:95 src/misc_conversion.c:65
 msgid "Comment"
 msgstr "Kommentar"
 
-#: src/display_spl.c:95 src/misc_conversion.c:80
+#: src/display_spl.c:96 src/misc_conversion.c:80
 msgid "Date added"
 msgstr "Tillagd datum"
 
 #. 5
-#: src/display_spl.c:96 src/misc_conversion.c:66 gtkpod.glade:2649
-#: gtkpod.glade:13889
+#: src/display_spl.c:97 src/misc_conversion.c:66 gtkpod.glade:8775
 msgid "Composer"
 msgstr "Kompositör"
 
-#: src/display_spl.c:97 src/misc_conversion.c:78 gtkpod.glade:6205
+#: src/display_spl.c:98 src/misc_conversion.c:78 gtkpod.glade:2387
 msgid "Playcount"
 msgstr "Spelningsantal"
 
-#: src/display_spl.c:98
+#: src/display_spl.c:99
 msgid "Last played"
 msgstr "Senast spelad"
 
-#: src/display_spl.c:99
+#: src/display_spl.c:100
 msgid "Disc number"
 msgstr "Skivnummer"
 
-#: src/display_spl.c:100 src/misc_conversion.c:79 gtkpod.glade:6228
+#: src/display_spl.c:101 src/misc_conversion.c:79 gtkpod.glade:2410
 msgid "Rating"
 msgstr "Betyg"
 
-#: src/display_spl.c:101 src/misc_conversion.c:88
+#: src/display_spl.c:102 src/misc_conversion.c:88
 msgid "Compilation"
 msgstr "Samling"
 
-#: src/display_spl.c:102 src/misc_conversion.c:77
+#: src/display_spl.c:103 src/misc_conversion.c:77
 msgid "BPM"
 msgstr "Taktslag per minut"
 
-#: src/display_spl.c:103 src/misc_conversion.c:87
+#: src/display_spl.c:104 src/misc_conversion.c:87
 msgid "Grouping"
 msgstr "Gruppering"
 
-#: src/display_spl.c:104 src/itdb_itunesdb.c:1146 gtkpod.glade:1314
+#: src/display_spl.c:105 gtkpod.glade:1443
 msgid "Playlist"
 msgstr "Spellista"
 
-#: src/display_spl.c:110
+#: src/display_spl.c:111
 msgid "contains"
 msgstr "innehåller"
 
-#: src/display_spl.c:111
+#: src/display_spl.c:112
 msgid "does not contain"
 msgstr "innehåller inte"
 
-#: src/display_spl.c:112 src/display_spl.c:121 src/display_spl.c:131
-#: src/display_spl.c:150
+#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
+#: src/display_spl.c:151
 msgid "is"
 msgstr "är"
 
-#: src/display_spl.c:113 src/display_spl.c:122 src/display_spl.c:132
-#: src/display_spl.c:151
+#: src/display_spl.c:114 src/display_spl.c:123 src/display_spl.c:133
+#: src/display_spl.c:152
 msgid "is not"
 msgstr "är inte"
 
-#: src/display_spl.c:114
+#: src/display_spl.c:115
 msgid "starts with"
 msgstr "börjar med"
 
-#: src/display_spl.c:115
+#: src/display_spl.c:116
 msgid "ends with"
 msgstr "slutar med"
 
-#: src/display_spl.c:123
+#: src/display_spl.c:124
 msgid "is greater than"
 msgstr "är större än"
 
-#: src/display_spl.c:124
+#: src/display_spl.c:125
 msgid "is less than"
 msgstr "är mindre än"
 
-#: src/display_spl.c:125 src/display_spl.c:137
+#: src/display_spl.c:126 src/display_spl.c:138
 msgid "is in the range"
 msgstr "är i intervallet"
 
-#: src/display_spl.c:133
+#: src/display_spl.c:134
 msgid "is after"
 msgstr "är efter"
 
-#: src/display_spl.c:134
+#: src/display_spl.c:135
 msgid "is before"
 msgstr "är före"
 
-#: src/display_spl.c:135
+#: src/display_spl.c:136
 msgid "in the last"
 msgstr "i sista"
 
-#: src/display_spl.c:136
+#: src/display_spl.c:137
 msgid "not in the last"
 msgstr "inte i sista"
 
-#: src/display_spl.c:143
+#: src/display_spl.c:144
 msgid "is set"
 msgstr "är satt"
 
-#: src/display_spl.c:144
+#: src/display_spl.c:145
 msgid "is not set"
 msgstr "är inte satt"
 
-#: src/display_spl.c:158
+#: src/display_spl.c:159
 msgid "minutes"
 msgstr "minuter"
 
-#: src/display_spl.c:160
+#: src/display_spl.c:161
 msgid "tracks"
 msgstr "spår"
 
-#: src/display_spl.c:161
+#: src/display_spl.c:162
 msgid "hours"
 msgstr "timmar"
 
-#: src/display_spl.c:162 src/info.c:725
+#: src/display_spl.c:163 src/info.c:732
 msgid "GB"
 msgstr "Gibyte"
 
-#: src/display_spl.c:169
+#: src/display_spl.c:170
 msgid "random order"
 msgstr "slumpmässig ordning"
 
-#: src/display_spl.c:170
+#: src/display_spl.c:171
 msgid "title"
 msgstr "titel"
 
-#: src/display_spl.c:171
+#: src/display_spl.c:172
 msgid "album"
 msgstr "album"
 
-#: src/display_spl.c:172
+#: src/display_spl.c:173
 msgid "artist"
 msgstr "artist"
 
-#: src/display_spl.c:173
+#: src/display_spl.c:174
 msgid "genre"
 msgstr "genre"
 
-#: src/display_spl.c:174
+#: src/display_spl.c:175
 msgid "most recently added"
 msgstr "senast tillagd"
 
-#: src/display_spl.c:175
+#: src/display_spl.c:176
 msgid "least recently added"
 msgstr "tidigast tillagd"
 
-#: src/display_spl.c:176
+#: src/display_spl.c:177
 msgid "most often played"
 msgstr "mest spelad"
 
-#: src/display_spl.c:177
+#: src/display_spl.c:178
 msgid "least often played"
 msgstr "minst spelad"
 
-#: src/display_spl.c:178
+#: src/display_spl.c:179
 msgid "most recently played"
 msgstr "senast spelad"
 
-#: src/display_spl.c:179
+#: src/display_spl.c:180
 msgid "least recently played"
 msgstr "tidigast spelad"
 
-#: src/display_spl.c:180
+#: src/display_spl.c:181
 msgid "highest rating"
 msgstr "högst betyg"
 
-#: src/display_spl.c:181
+#: src/display_spl.c:182
 msgid "lowest rating"
 msgstr "lägst betyg"
 
-#: src/display_spl.c:995 src/display_spl.c:1010
+#: src/display_spl.c:1049 src/display_spl.c:1064
 msgid "to"
 msgstr "till"
 
-#: src/display_spl.c:1220
+#: src/display_spl.c:1276
 msgid "-"
 msgstr "-"
 
-#: src/display_spl.c:1227
+#: src/display_spl.c:1286
 msgid "+"
 msgstr "+"
 
-#: src/display_spl.c:1433 src/misc_playlist.c:67 src/misc_playlist.c:69
+#: src/display_spl.c:1503 src/misc_playlist.c:67 src/misc_playlist.c:69
 #: src/misc_playlist.c:94 src/misc_playlist.c:96 src/misc_playlist.c:415
 #: src/misc_playlist.c:417
 msgid "New Playlist"
 msgstr "Ny spellista"
 
-#: src/file.c:129
+#: src/file.c:195
 #, c-format
 msgid ""
 "'%s' is a directory, not a playlist file.\n"
@@ -798,7 +868,7 @@
 "'%s' är en katalog, inte en spellistefil.\n"
 "\n"
 
-#: src/file.c:151
+#: src/file.c:222
 #, c-format
 msgid ""
 "'%s' is a not a known playlist file.\n"
@@ -807,7 +877,7 @@
 "'%s' är inte en känd spellistefil.\n"
 "\n"
 
-#: src/file.c:168
+#: src/file.c:239
 #, c-format
 msgid ""
 "Cannot open '%s' for reading.\n"
@@ -816,54 +886,54 @@
 "Kan inte öppna '%s' för läsning.\n"
 "\n"
 
-#: src/file.c:237
+#: src/file.c:322
 #, c-format
 msgid "Skipping '%s' because it is a directory.\n"
 msgstr "Hoppar över '%s' eftersom det är en katalog.\n"
 
-#: src/file.c:242
+#: src/file.c:327
 #, c-format
 msgid "Skipping '%s' to avoid adding playlist file recursively\n"
 msgstr ""
 "Hoppar över '%s' för att undvika att spellistfiler läggs till rekursivt.\n"
 
-#: src/file.c:497
+#: src/file.c:582
 #, c-format
 msgid "Unknown token '%s' in template '%s'\n"
 msgstr "Okänd beteckning '%s' i mallen '%s'\n"
 
-#: src/file.c:715
+#: src/file.c:815
 #, c-format
 msgid "Local filename not valid (%s)"
 msgstr "Lokalt filnamn inte giltigt (%s)"
 
-#: src/file.c:768
+#: src/file.c:868
 #, c-format
 msgid "No information found for user '%s' in '%s'"
 msgstr "Ingen information hittades för användaren '%s' i '%s'"
 
-#: src/file.c:775
+#: src/file.c:875
 #, c-format
 msgid "mserv data file (%s) not available for track (%s)"
 msgstr "Datafilen från mserv (%s) är inte tillgänglig för spåret (%s)"
 
-#: src/file.c:783
+#: src/file.c:883
 #, c-format
 msgid "Track (%s) not in mserv music root directory (%s)"
 msgstr "Spåret (%s) finns inte i mserv rotkatalog för musik (%s)"
 
-#: src/file.c:816
+#: src/file.c:988
 #, c-format
 msgid ""
 "The following track could not be processed (file does not exist): '%s'\n"
 msgstr "Följande spår kunde inte behandlas (filen finns inte): '%s'\n"
 
-#: src/file.c:842
+#: src/file.c:1037
 #, c-format
 msgid "The following track could not be processed (filetype unknown): '%s'\n"
 msgstr "Följande spår kunde inte behandlas (filtypen okänd): '%s'\n"
 
-#: src/file.c:909
+#: src/file.c:1119
 #, c-format
 msgid ""
 "The following track could not be processed (filetype is known but analysis "
@@ -872,39 +942,39 @@
 "Följande spår kunde inte behandlas (filtypen känd, men analys misslyckades): "
 "'%s'\n"
 
-#: src/file.c:935 src/file.c:978
+#: src/file.c:1148 src/file.c:1203
 msgid "Nothing to update"
 msgstr "Ingenting att uppdatera"
 
-#: src/file.c:944
+#: src/file.c:1168
 #, c-format
 msgid "Updating %s"
 msgstr "Uppdaterar %s"
 
-#: src/file.c:959
+#: src/file.c:1184
 msgid "Updated selected tracks with info from file."
 msgstr "Uppdaterar markerade spår med information från fil."
 
-#: src/file.c:991
+#: src/file.c:1216
 #, c-format
 msgid "Retrieving mserv data %s"
 msgstr "Hämtar data från mserv %s"
 
 #. no path available
-#: src/file.c:997 src/file.c:1675
+#: src/file.c:1222 src/file.c:1900
 msgid "no filename available"
 msgstr "inget filnamn tillgängligt"
 
-#: src/file.c:1002
+#: src/file.c:1227
 msgid "Updated selected tracks with data from mserv."
 msgstr "Uppdaterar markerade spår med data från mserv."
 
-#: src/file.c:1069
+#: src/file.c:1294
 #, c-format
 msgid "Syncing directory '%s'"
 msgstr "Synkroniserar katalog '%s'"
 
-#: src/file.c:1094
+#: src/file.c:1319
 msgid "Syncing completed. No files deleted."
 msgstr "Synkronisering klar. Inga filer har tagits bort."
 
@@ -913,29 +983,29 @@
 #. title
 #. label
 #. scrolled text
-#: src/file.c:1207
+#: src/file.c:1432
 msgid "Never delete any files when syncing"
 msgstr "Ta aldrig bort några filer vid synkronisering"
 
-#: src/file.c:1236
+#: src/file.c:1461
 msgid "Syncing completed."
 msgstr "Synkronisering klar."
 
-#: src/file.c:1256
+#: src/file.c:1481
 msgid "Syncing aborted"
 msgstr "Synkronisering avbruten"
 
-#: src/file.c:1294
+#: src/file.c:1519
 msgid "No tracks in selection"
 msgstr "Inga spår i markeringen"
 
-#: src/file.c:1344
+#: src/file.c:1569
 #, c-format
 msgid "'%s' is not a directory. Ignored.\n"
 msgstr "'%s' är inte en katalog. Ignoreras.\n"
 
 #. no directory names available
-#: src/file.c:1374
+#: src/file.c:1599
 msgid ""
 "No directory names were stored. Make sure that you enable 'Write extended "
 "information' in the Export section of the preferences at the time of "
@@ -953,11 +1023,11 @@
 "inte duplicerade filer) under avdelningen Import och lägg till katalogerna "
 "du vill synkronisera igen.\n"
 
-#: src/file.c:1378
+#: src/file.c:1603
 msgid "No valid directories have been found. Sync aborted.\n"
 msgstr "Inga giltiga kataloger hittades. Synkronisering avbruten.\n"
 
-#: src/file.c:1387
+#: src/file.c:1612
 msgid ""
 "The (former) contents of the following directories will be removed from the "
 "database:\n"
@@ -967,7 +1037,7 @@
 "databasen:\n"
 "\n"
 
-#: src/file.c:1395
+#: src/file.c:1620
 msgid ""
 "The following directories will be synchronized:\n"
 "\n"
@@ -977,16 +1047,16 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1406
+#: src/file.c:1631
 msgid "Synchronize directories"
 msgstr "Synkronisera kataloger"
 
 #. title
-#: src/file.c:1407
+#: src/file.c:1632
 msgid "OK to synchronize the following directories?"
 msgstr "Ok att synkronisera följande kataloger?"
 
-#: src/file.c:1445
+#: src/file.c:1670
 #, c-format
 msgid "The following track could not be updated"
 msgid_plural "The following %d tracks could not be updated"
@@ -995,11 +1065,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1451
+#: src/file.c:1676
 msgid "Failed Track Update"
 msgstr "Uppdatering av spår misslyckades"
 
-#: src/file.c:1509
+#: src/file.c:1734
 #, c-format
 msgid "The following track has been updated"
 msgid_plural "The following %d tracks have been updated"
@@ -1008,11 +1078,11 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1515
+#: src/file.c:1740
 msgid "Successful Track Update"
 msgstr "Uppdatering av spår lyckades"
 
-#: src/file.c:1574
+#: src/file.c:1799
 #, c-format
 msgid "No mserv information could be retrieved for the following track"
 msgid_plural ""
@@ -1022,52 +1092,70 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:1580
+#: src/file.c:1805
 msgid "mserv data retrieval problem"
 msgstr "Problem att hämta data från mserv"
 
-#: src/file.c:1721
+#: src/file.c:1946
 msgid "file not found"
 msgstr "filen hittades inte"
 
-#: src/file.c:1725
+#: src/file.c:1950
 msgid "format not supported"
 msgstr "formatet stöds inte"
 
-#: src/file.c:1799
+#: src/file.c:2031
 #, c-format
 msgid "Processing '%s'..."
 msgstr "Behandlar '%s'..."
 
-#: src/file.c:1992 src/file.c:2006
+#: src/file.c:2135 src/misc_track.c:1169 src/misc_track.c:1225
 #, c-format
+msgid ""
+"Podcast already present: '%s'\n"
+"\n"
+msgstr ""
+"Podradiosändning finns redan: '%s'\n"
+"\n"
+
+#: src/file.c:2196
+#, c-format
+msgid ""
+"Writing to video files not yet supported (%s).\n"
+"\n"
+msgstr ""
+"Att skriva till videofiler stöds inte än (%s).\n"
+"\n"
+
+#: src/file.c:2250 src/file.c:2264
+#, c-format
 msgid "Couldn't change tags of file: %s\n"
 msgstr "Kunde inte ändra taggar för filen: %s\n"
 
-#: src/file.c:2291
+#: src/file.c:2548
 #, c-format
 msgid "Could not open '%s' for reading and writing.\n"
 msgstr "Kunde inte öppna '%s' för läsning och skrivning.\n"
 
-#: src/file.c:2298
+#: src/file.c:2555
 #, c-format
 msgid "Could not obtain lock on '%s'.\n"
 msgstr "Kunde inte låsa '%s'.\n"
 
 #. error!
-#: src/file.c:2315 src/file.c:2324 src/file.c:2335 src/file.c:2345
+#: src/file.c:2572 src/file.c:2581 src/file.c:2592 src/file.c:2602
 #, c-format
 msgid "Malformed line in '%s': %s\n"
 msgstr "Felaktig rad i '%s': %s\n"
 
 #. gint id,
 #. gboolean modal,
-#: src/file.c:2374
+#: src/file.c:2631
 msgid "Remove offline playcounts?"
 msgstr "Ta bort nerkopplade spelningsantal?"
 
 #. title
-#: src/file.c:2375
+#: src/file.c:2632
 msgid ""
 "Some tracks played offline could not be found in the iTunesDB. Press 'OK' to "
 "remove them from the offline playcount file, 'Cancel' to keep them."
@@ -1076,105 +1164,110 @@
 "Klicka på 'Ok' för att ta bort dem från filen med nerkopplade "
 "spelningsantal, eller 'Avbryt' för att behålla dem."
 
-#: src/file.c:2392
+#: src/file.c:2649
 #, c-format
 msgid "Error writing to '%s'.\n"
 msgstr "Fel vid skrivning till '%s'.\n"
 
-#: src/file.c:2431
-msgid "Normalization failed: file type not supported.\n"
-msgstr "Normalisering misslyckades: Filtypen stöds inte.\n"
+#: src/file.c:2698
+#, c-format
+msgid ""
+"Normalization failed: file type not supported (%s).\n"
+"\n"
+msgstr ""
+"Normalisering misslyckades: Filtypen stöds inte (%s).\n"
+"\n"
 
-#: src/file.c:2442
-msgid "Normalization failed: file not available.\n"
-msgstr "Normalisering misslyckades: Filen inte tillgänglig.\n"
-
-#: src/file_export.c:106
+#: src/file.c:2713
 #, c-format
-msgid "Error creating %s: %s\n"
-msgstr "Fel när %s skulle skapas: %s\n"
+msgid ""
+"Normalization failed: file not available (%s).\n"
+"\n"
+msgstr ""
+"Normalisering misslyckades: Filen inte tillgänglig (%s).\n"
+"\n"
 
-#: src/file_export.c:202
+#: src/file_export.c:181
 #, c-format
 msgid "Skipping existing file with same length: '%s'\n"
 msgstr "Hoppar över befintlig fil med samma längd: '%s'\n"
 
-#: src/file_export.c:210
+#: src/file_export.c:189
 #, c-format
 msgid "Overwriting existing file: '%s'\n"
 msgstr "Skriver över befintlig fil: '%s'\n"
 
-#: src/file_export.c:227
+#: src/file_export.c:206
 #, c-format
 msgid "Error copying '%s' to '%s': Permission Error (%s)\n"
 msgstr "Fel vid kopiering av '%s' till '%s': Fel i rättigheter (%s)\n"
 
-#: src/file_export.c:229
+#: src/file_export.c:208
 #, c-format
 msgid "Error copying '%s' to '%s' (%s)\n"
 msgstr "Fel vid kopiering av '%s' till '%s' (%s)\n"
 
-#: src/file_export.c:237
+#: src/file_export.c:216
 #, c-format
 msgid "Unable to open '%s' for reading\n"
 msgstr "Kan inte öppna '%s' för läsning.\n"
 
-#: src/file_export.c:344
+#: src/file_export.c:323
 #, c-format
 msgid "Could find file for '%s' on the iPod\n"
 msgstr "Kunde hitta fil för '%s' på iPod\n"
 
 #. create the dialog window
-#: src/file_export.c:411 src/file_itunesdb.c:990 src/tools.c:148
+#: src/file_export.c:390 src/file_itunesdb.c:1060 src/tools.c:148
 msgid "Information"
 msgstr "Information"
 
-#: src/file_export.c:422 src/tools.c:160
+#: src/file_export.c:401 src/tools.c:160
 msgid "Press button to abort."
 msgstr "Tryck på knappen för att avbryta."
 
-#: src/file_export.c:435
+#: src/file_export.c:414
 msgid "copying..."
 msgstr "kopierar..."
 
-#: src/file_export.c:489
+#: src/file_export.c:468
 #, c-format
 msgid "Failed to write '%s-%s'\n"
 msgstr "Misslyckades skriva '%s-%s'\n"
 
-#: src/file_export.c:497
+#: src/file_export.c:476
 #, c-format
 msgid "Copied %d of %d track."
 msgid_plural "Copied %d of %d tracks."
 msgstr[0] "Kopierade %d av %d spår."
 msgstr[1] "Kopierade %d av %d spår."
 
-#: src/file_export.c:515 src/file_itunesdb.c:1252 src/tools.c:307
+#: src/file_export.c:494 src/file_itunesdb.c:1324 src/tools.c:307
 #, c-format
 msgid "%d%% (%d:%02d:%02d left)"
 msgstr "%d%% (%d:%02d:%02d kvar)"
 
-#: src/file_export.c:524
+#: src/file_export.c:503
 msgid "Some tracks were not copied."
 msgstr "Några spår kopierades inte."
 
-#: src/file_export.c:581
+#: src/file_export.c:560
 msgid "Export from iPod database not possible in offline mode."
-msgstr ""
+msgstr "Export från iPod-databasen är inte möjlig i nerkopplat läge."
 
-#: src/file_export.c:589
+#: src/file_export.c:568
 msgid "Select Export Destination Directory"
 msgstr "Välj målkatalog för export"
 
-#: src/file_export.c:738
+#: src/file_export.c:717
 msgid "Drag from iPod database not possible in offline mode."
-msgstr ""
+msgstr "Att dra från iPod-databasen är inte möjlig i nerkopplat läge."
 
-#: src/file_export.c:772
+#: src/file_export.c:751
 msgid "The following tracks have to be copied to your harddisk"
 msgstr "Följande spår måste kopieras till din hårddisk"
 
-#: src/file_export.c:817
+#: src/file_export.c:796
 msgid ""
 "Some tracks were not copied to your harddisk. Only the copied tracks will be "
 "included in the current drag and drop operation.\n"
@@ -1184,7 +1277,7 @@
 "kommer att ingå i den nuvarande drag och släpp åtgärden.\n"
 "\n"
 
-#: src/file_export.c:1014
+#: src/file_export.c:992
 #, c-format
 msgid ""
 "No valid filename for: %s\n"
@@ -1193,14 +1286,14 @@
 "Inget giltigt filnamn för: %s\n"
 "\n"
 
-#: src/file_export.c:1030
+#: src/file_export.c:1008
 #, c-format
 msgid "Created playlist with one track."
 msgid_plural "Created playlist with %d tracks."
 msgstr[0] "Skapade spellista med ett spår."
 msgstr[1] "Skapade spellista med %d spår."
 
-#: src/file_export.c:1037
+#: src/file_export.c:1015
 #, c-format
 msgid ""
 "Could not open '%s' for writing (%s).\n"
@@ -1209,20 +1302,25 @@
 "Kunde inte öppna '%s' för skrivning (%s).\n"
 "\n"
 
-#: src/file_itunesdb.c:224
+#: src/file_itunesdb.c:114
+#, c-format
+msgid "Matching MD5 checksum for file %d/%d"
+msgstr "Matchande MD5-checksumma för filen %d/%d"
+
+#: src/file_itunesdb.c:242
 msgid "Could not open \"iTunesDB.ext\" for reading extended info.\n"
 msgstr "Kunde inte öppna \"iTunesDB.ext\" för att läsa utökad information.\n"
 
-#: src/file_itunesdb.c:231
+#: src/file_itunesdb.c:249
 msgid "Could not create hash value from itunesdb\n"
 msgstr "Kunde inte skapa checksumma från itunesdb\n"
 
-#: src/file_itunesdb.c:245
+#: src/file_itunesdb.c:263
 #, c-format
 msgid "Error while reading extended info: %s\n"
 msgstr "Fel vid läsning av utökad information: %s\n"
 
-#: src/file_itunesdb.c:262
+#: src/file_itunesdb.c:280
 #, c-format
 msgid ""
 "iTunesDB '%s' does not match checksum in extended information file '%s'\n"
@@ -1236,7 +1334,7 @@
 "Det kan ta lång tid.\n"
 "\n"
 
-#: src/file_itunesdb.c:275
+#: src/file_itunesdb.c:292
 #, c-format
 msgid ""
 "%s:\n"
@@ -1245,7 +1343,7 @@
 "%s:\n"
 "Förväntande \"itunesdb_hash=\", men hittade \"%s\"\n"
 
-#: src/file_itunesdb.c:335
+#: src/file_itunesdb.c:352
 #, c-format
 msgid ""
 "%s:\n"
@@ -1254,7 +1352,7 @@
 "%s:\n"
 "Formatfel: %s\n"
 
-#: src/file_itunesdb.c:386
+#: src/file_itunesdb.c:407
 msgid ""
 "No MD5 checksums on individual tracks are available.\n"
 "\n"
@@ -1270,7 +1368,7 @@
 "med andra program än gtkpod.\n"
 "\n"
 
-#: src/file_itunesdb.c:439
+#: src/file_itunesdb.c:462
 msgid ""
 "Extended info will not be used. If you have non-transferred tracks,\n"
 "these will be lost.\n"
@@ -1278,15 +1376,15 @@
 "Utökad information kommer inte att användas. Om\n"
 "du har spår som inte överförts, går de förlorade.\n"
 
-#: src/file_itunesdb.c:447
+#: src/file_itunesdb.c:470
 msgid "Offline iPod database successfully imported"
 msgstr "Nerkopplad iPod-databas importerad med lyckat resultat"
 
-#: src/file_itunesdb.c:450
+#: src/file_itunesdb.c:473
 msgid "Local database successfully imported"
 msgstr "Lokal databas importerad med lyckat resultat"
 
-#: src/file_itunesdb.c:458
+#: src/file_itunesdb.c:481
 #, c-format
 msgid ""
 "Offline iPod database import failed: '%s'\n"
@@ -1295,7 +1393,7 @@
 "Import av nerkopplad iPod-databas misslyckades: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:462
+#: src/file_itunesdb.c:485
 #, c-format
 msgid ""
 "Local database import failed: '%s'\n"
@@ -1304,7 +1402,7 @@
 "Import av lokal databas misslyckades: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:469
+#: src/file_itunesdb.c:492
 msgid ""
 "Offline iPod database import failed: \n"
 "\n"
@@ -1312,7 +1410,7 @@
 "Import av nerkopplad iPod-databas misslyckades: \n"
 "\n"
 
-#: src/file_itunesdb.c:472
+#: src/file_itunesdb.c:495
 msgid ""
 "Local database import failed: \n"
 "\n"
@@ -1320,7 +1418,7 @@
 "Import av lokal databas misslyckades: \n"
 "\n"
 
-#: src/file_itunesdb.c:479 src/file_itunesdb.c:527
+#: src/file_itunesdb.c:502 src/file_itunesdb.c:550
 #, c-format
 msgid ""
 "'%s' does not exist. Import aborted.\n"
@@ -1329,15 +1427,15 @@
 "'%s' finns inte. Import avbruten.\n"
 "\n"
 
-#: src/file_itunesdb.c:498
+#: src/file_itunesdb.c:521
 msgid "Extended info will not be used.\n"
 msgstr "Utökad information kommer inte att användas.\n"
 
-#: src/file_itunesdb.c:505
+#: src/file_itunesdb.c:528
 msgid "iPod Database Successfully Imported"
 msgstr "iPod-databasen importerad med lyckat resultat"
 
-#: src/file_itunesdb.c:512
+#: src/file_itunesdb.c:535
 #, c-format
 msgid ""
 "iPod Database Import Failed: '%s'\n"
@@ -1346,7 +1444,7 @@
 "Import av iPod-databasen misslyckades: '%s'\n"
 "\n"
 
-#: src/file_itunesdb.c:518
+#: src/file_itunesdb.c:541
 msgid ""
 "iPod Database Import Failed.\n"
 "\n"
@@ -1354,16 +1452,16 @@
 "Import av iPod-databasen misslyckades.\n"
 "\n"
 
-#: src/file_itunesdb.c:822
+#: src/file_itunesdb.c:890
 #, c-format
 msgid "Could not open \"%s\" for writing extended info.\n"
 msgstr "Kunde inte öppna \"%s\" för att skriva utökad information.\n"
 
-#: src/file_itunesdb.c:837
+#: src/file_itunesdb.c:905
 msgid "Aborted writing of extended info.\n"
 msgstr "Avbröt skrivning av utökad information.\n"
 
-#: src/file_itunesdb.c:1001
+#: src/file_itunesdb.c:1071
 msgid ""
 "Press button to abort.\n"
 "Export can be continued at a later time."
@@ -1371,26 +1469,26 @@
 "Tryck på knappen för att avbryta.\n"
 "Exporten kan fortsättas vid ett senare tillfälle."
 
-#: src/file_itunesdb.c:1070
+#: src/file_itunesdb.c:1140
 msgid "deleting..."
 msgstr "tar bort..."
 
-#: src/file_itunesdb.c:1173
+#: src/file_itunesdb.c:1244
 msgid "preparing to copy..."
 msgstr "förbereder kopiering..."
 
-#: src/file_itunesdb.c:1235
+#: src/file_itunesdb.c:1307
 #, c-format
 msgid "Copied %d of %d new track."
 msgid_plural "Copied %d of %d new tracks."
 msgstr[0] "Kopierade %d av %d nya spår."
 msgstr[1] "Kopierade %d av %d nya spår."
 
-#: src/file_itunesdb.c:1262
+#: src/file_itunesdb.c:1334
 msgid "Some tracks were not written to iPod. Export aborted!"
 msgstr "Vissa spår skrevs inte till iPod. Export avbruten."
 
-#: src/file_itunesdb.c:1315
+#: src/file_itunesdb.c:1387
 #, c-format
 msgid ""
 "You did not import the existing iTunesDB ('%s'). This is most likely "
@@ -1407,7 +1505,7 @@
 "lagringen. Om du avbryter, kan du importera befintlig databas innan du "
 "använder den här funktionen igen.\n"
 
-#: src/file_itunesdb.c:1345
+#: src/file_itunesdb.c:1417
 msgid ""
 "iPod directory structure must be present before synching to the iPod can be "
 "performed.\n"
@@ -1415,24 +1513,24 @@
 "Katalogstrukturen i iPod måste finnas innan synkronisering av iPod kan "
 "utföras.\n"
 
-#: src/file_itunesdb.c:1354
+#: src/file_itunesdb.c:1426
 msgid "Some tracks could not be deleted from the iPod. Export aborted!"
 msgstr "Vissa spår kunde inte tas bort från iPod. Export avbruten."
 
-#: src/file_itunesdb.c:1370
+#: src/file_itunesdb.c:1442
 msgid "Now writing iTunesDB. Please wait..."
 msgstr "Skriver nu iTunes databas. Vänta..."
 
-#: src/file_itunesdb.c:1414
+#: src/file_itunesdb.c:1488
 #, c-format
 msgid "Extended information file not deleted: '%s'"
 msgstr "Filen med utökad information inte borttagen: '%s'"
 
-#: src/file_itunesdb.c:1500
+#: src/file_itunesdb.c:1574
 msgid "iPod Database Saved"
 msgstr "iPod-databas sparad"
 
-#: src/file_itunesdb.c:1548
+#: src/file_itunesdb.c:1633
 msgid "Syncing contacts, calendar and notes..."
 msgstr "Synkroniserar kontakter, kalender och anteckningar..."
 
@@ -1454,15 +1552,20 @@
 msgid "Add Playlists"
 msgstr "Lägg till spellistor"
 
-#: src/fileselection.c:438
+#. Create the file chooser, and handle the response
+#: src/fileselection.c:270
+msgid "Set Cover"
+msgstr "Ange omslag"
+
+#: src/fileselection.c:491
 msgid "Select directory to add recursively"
 msgstr "Markera katalog att lägga till rekursivt"
 
-#: src/fileselection.c:696
+#: src/fileselection.c:749
 msgid "Ok"
 msgstr "Ok"
 
-#: src/fileselection.c:705
+#: src/fileselection.c:758
 msgid "Cancel"
 msgstr "Avbryt"
 
@@ -1529,7 +1632,7 @@
 msgid "n/c"
 msgstr "okänt"
 
-#: src/info.c:382 src/info.c:786
+#: src/info.c:382 src/info.c:793
 msgid "offline"
 msgstr "nerkopplad"
 
@@ -1538,248 +1641,32 @@
 msgid " P:%d T:%d/%d"
 msgstr " L:%d S:%d/%d"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "B"
 msgstr "byte"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "kB"
 msgstr "Kibyte"
 
-#: src/info.c:725
+#: src/info.c:732
 msgid "TB"
 msgstr "Tibyte"
 
-#: src/info.c:771
+#: src/info.c:778
 #, c-format
 msgid " %s Free"
 msgstr " %s fritt"
 
-#: src/info.c:776
+#: src/info.c:783
 #, c-format
 msgid " %s Pending"
 msgstr " %s återstår"
 
-#: src/info.c:781
+#: src/info.c:788
 msgid " disconnected"
 msgstr " nerkopplad"
 
-#: src/itdb_itunesdb.c:313
-#, c-format
-msgid "Illegal seek to offset %ld (length %ld) in file '%s'."
-msgstr "Ogiltig sökning till position %ld (längd %ld) i filen '%s'."
-
-#: src/itdb_itunesdb.c:520
-#, c-format
-msgid "Not a Play Counts file: '%s' (missing mhdp header)."
-msgstr "Inte en uppspelningsdatafil: '%s' (saknar mhdp-huvud)."
-
-#: src/itdb_itunesdb.c:534
-#, c-format
-msgid "Play Counts file ('%s'): header length smaller than expected (%d<96)."
-msgstr "Uppspelningsdatafil ('%s'): Huvudlängd mindre än väntat (%d < 96)"
-
-#: src/itdb_itunesdb.c:547
-#, c-format
-msgid "Play Counts file ('%s'): entry length smaller than expected (%d<12)."
-msgstr "Uppspelningsdatafil ('%s'): Postlängd mindre än väntat (%d < 12)"
-
-#: src/itdb_itunesdb.c:801
-#, c-format
-msgid "iTunesDB corrupt: no MHOD at offset %ld in file '%s'."
-msgstr "iTunes databas skadad: Ingen MHOD på position %ld i filen '%s'."
-
-#: src/itdb_itunesdb.c:921
-#, c-format
-msgid ""
-"Length of smart playlist rule field (%d) not as expected. Trying to continue "
-"anyhow.\n"
-msgstr ""
-"Regelfältets längd (%d) i den smarta spellistan är inte den förväntade. "
-"Försöker fortsätta ändå.\n"
-
-#: src/itdb_itunesdb.c:964
-msgid "Did not find SLst hunk as expected. Trying to continue.\n"
-msgstr "Hittade inte SLst data som förväntat. Försöker fortsätta ändå.\n"
-
-#: src/itdb_itunesdb.c:970
-#, c-format
-msgid ""
-"Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n"
-"\n"
-msgstr ""
-"Stötte på okänd MHOD-typ (%d) under tolkning av iTunes databas. Ignorerar "
-"den.\n"
-"\n"
-
-#: src/itdb_itunesdb.c:1050 src/itdb_itunesdb.c:1739 src/itdb_itunesdb.c:1774
-#, c-format
-msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr ""
-"iTunes databas skadad: Datalängd 0 för data på position %ld i filen '%s'."
-
-#: src/itdb_itunesdb.c:1144
-msgid "Master-PL"
-msgstr "Huvudspellista"
-
-#: src/itdb_itunesdb.c:1171
-#, c-format
-msgid "iTunesDB corrupt: found mhyp at %ld in file '%s'."
-msgstr "iTunes databas skadad: Hittade mhyp på position %ld i filen '%s'."
-
-#: src/itdb_itunesdb.c:1219
-#, c-format
-msgid "Itdb_Track ID '%d' not found.\n"
-msgstr "ITunes databas spår-id '%d' hittades inte.\n"
-
-#: src/itdb_itunesdb.c:1482
-msgid "OTG Playlist"
-msgstr "OTG-spellista"
-
-#: src/itdb_itunesdb.c:1496
-#, c-format
-msgid "Not a OTG playlist file: '%s' (missing mhpo header)."
-msgstr "Inte en OTG-spellistefil: '%s' (saknar mhpo-huvud)."
-
-#: src/itdb_itunesdb.c:1510
-#, c-format
-msgid "OTG playlist file ('%s'): header length smaller than expected (%d<20)."
-msgstr "OTG-spellistefil ('%s'): Huvudlängd mindre än väntat (%d < 20)"
-
-#: src/itdb_itunesdb.c:1522
-#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
-msgstr "OTG-spellistefil ('%s'): Postlängd mindre än väntat (%d < 4)"
-
-#: src/itdb_itunesdb.c:1557
-#, c-format
-msgid "OTG playlist file '%s': reference to non-existent track (%d)."
-msgstr "OTG-spellistefil '%s': Referens till spår som inte finns (%d)."
-
-#: src/itdb_itunesdb.c:1602
-#, c-format
-msgid "OTG Playlist %d"
-msgstr "OTG-spellista %d"
-
-#: src/itdb_itunesdb.c:1645
-#, c-format
-msgid "Not a iTunesDB: '%s' (missing mhdb header)."
-msgstr "Inte en iTunes databas: '%s' (saknar mhdb-huvud)."
-
-#: src/itdb_itunesdb.c:1661
-#, c-format
-msgid ""
-"iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). "
-"Aborting."
-msgstr ""
-"iTunes databas (%s): Huvudlängd för mhsd-data mindre än väntat (%ld < 32). "
-"Avbryter."
-
-#: src/itdb_itunesdb.c:1693
-#, c-format
-msgid "iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."
-msgstr ""
-"iTunes databas '%s' skadad: Två mhsd för spellistor redan hittade. Ger upp."
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1754
-msgid ""
-"iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"iTunes databas möjligen skadad: Antal spår (mhit-data) inte konsekvent. "
-"Försöker fortsätta.\n"
-
-#. this should not be -- issue warning
-#: src/itdb_itunesdb.c:1835
-msgid ""
-"iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. "
-"Trying to continue.\n"
-msgstr ""
-"iTunes databas möjligen skadad: Antal spellistor (mhyp-data) inte "
-"konsekvent. Försöker fortsätta.\n"
-
-#: src/itdb_itunesdb.c:1873
-#, c-format
-msgid "File not found: '%s'."
-msgstr "Filen hittades inte: '%s'."
-
-#: src/itdb_itunesdb.c:2394
-#, c-format
-msgid "Cannot write mhod of type %d\n"
-msgstr "Kan inte skriva mhod av typen %d\n"
-
-#: src/itdb_itunesdb.c:2520 src/itdb_itunesdb.c:2633
-msgid "Database in memory corrupt (track pointer == NULL). Aborting export."
-msgstr "Databas i minnet skadad (spårpekare == NULL). Avbryter export."
-
-#: src/itdb_itunesdb.c:2676
-msgid "Database in memory corrupt (playlist pointer == NULL). Aborting export."
-msgstr "Databas i minnet skadad (spårlistepekare == NULL). Avbryter export."
-
-#: src/itdb_itunesdb.c:2716
-#, c-format
-msgid "Opening of '%s' for writing failed."
-msgstr "Fel när '%s' skulle öppnas för skrivning."
-
-#: src/itdb_itunesdb.c:2727
-#, c-format
-msgid "Writing to '%s' failed."
-msgstr "Fel vid skrivning till '%s'."
-
-#: src/itdb_itunesdb.c:2738
-#, c-format
-msgid "Writing to '%s' failed (%s)."
-msgstr "Fel vid skrivning till '%s' (%s)."
-
-#: src/itdb_itunesdb.c:2875 src/itdb_itunesdb.c:3042 src/itdb_itunesdb.c:3224
-#: src/itdb_itunesdb.c:3358
-#, c-format
-msgid "Path not found: '%s'."
-msgstr "Sökväg hittades inte: '%s'."
-
-#: src/itdb_itunesdb.c:3244
-#, c-format
-msgid "Error renaming '%s' to '%s' (%s)."
-msgstr "Fel vid byte av namn på '%s' till '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3261
-#, c-format
-msgid "Error removing '%s' (%s)."
-msgstr "Fel vid borttagning av '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3487
-#, c-format
-msgid "Error opening '%s' for reading (%s)."
-msgstr "Fel när '%s' skulle öppnas för läsning (%s)."
-
-#: src/itdb_itunesdb.c:3498
-#, c-format
-msgid "Error opening '%s' for writing (%s)."
-msgstr "Fel när '%s' skulle öppnas för skrivning (%s)."
-
-#: src/itdb_itunesdb.c:3515
-#, c-format
-msgid "Error while reading from '%s' (%s)."
-msgstr "Fel vid läsning från '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3531
-#, c-format
-msgid "Error while writing to '%s' (%s)."
-msgstr "Fel vid skrivning till '%s' (%s)."
-
-#: src/itdb_itunesdb.c:3544 src/itdb_itunesdb.c:3554
-#, c-format
-msgid "Error when closing '%s' (%s)."
-msgstr "Fel när '%s' skulle stängas (%s)."
-
-#. New action!
-#: src/itdb_playlist.c:71
-#, c-format
-msgid "Unknown action (%d) in smart playlist will be ignored.\n"
-msgstr "Okänd åtgärd (%d) i smart spellista kommer att ignoreras.\n"
-
 #: src/md5.c:159
 msgid "Hashed file is 0 bytes long\n"
 msgstr "Filen med checksumma har storleken 0 byte\n"
@@ -1800,13 +1687,13 @@
 
 #: src/misc.c:82
 msgid ""
-"(C) 2002 - 2003\n"
+"(C) 2002 - 2005\n"
 "Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 "Corey Donohoe (atmos at atmos dot org)\n"
 "\n"
 "\n"
 msgstr ""
-"© 2002 - 2003\n"
+"© 2002 - 2005\n"
 "Jorg Schuler (jcsjcs snabela users punkt sourceforge punkt net)\n"
 "Corey Donohoe (atmos snabela atmos punkt org)\n"
 "\n"
@@ -2000,20 +1887,47 @@
 msgstr "Clinton Gormley: synkroniseringsskript för thunderbird\n"
 
 #: src/misc.c:153
+#, fuzzy
+msgid "Sebastien Beridot: sync script for ldif addressbook format\n"
+msgstr "Sebastien Beridot: synkroniseringsskript för LDIF-adressboksformat\n"
+
+#: src/misc.c:156
+#, fuzzy
+msgid "Sebastian Scherer: sync script for kNotes\n"
+msgstr "Sebastian Scherer: synkroniseringsskript för Knotes\n"
+
+#: src/misc.c:159
+msgid "Nick Piper: sync script for Palm, type-ahead search\n"
+msgstr ""
+"Nick Piper: synkroniseringsskript för Palm, sökning under inskrivning\n"
+
+#: src/misc.c:162
+msgid "Uwe Hermann: help with support for iPod Video\n"
+msgstr "Uwe Hermann: hjälp med stöd för iPod-video\n"
+
+#: src/misc.c:165
 msgid ""
-"Icons of buttons were made by Nicolas Chariot.\n"
+"Iain Benson: support for compilation tag in mp3 files and separate display "
+"of compilations in the sort tab.\n"
+msgstr ""
+"Iain Benson: stöd för samlingstaggen i mp3-filer och separat visning av "
+"samlingar i sorteringsfliken.\n"
+
+#: src/misc.c:167
+msgid ""
+"Nicolas Chariot: icons of buttons\n"
 "\n"
 "\n"
 msgstr ""
-"Ikoner för knapparna gjordes av Nicolas Chariot.\n"
+"Nicolas Chariot: ikoner för knappar\n"
 "\n"
 "\n"
 
-#: src/misc.c:157
+#: src/misc.c:171
 msgid "This program borrows code from the following projects:\n"
 msgstr "Detta program lånar kod från följande projekt:\n"
 
-#: src/misc.c:159
+#: src/misc.c:173
 msgid ""
 "    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB "
 "(http://www.gnu.org/software/gnupod/)\n"
@@ -2021,7 +1935,7 @@
 "    gnutools: (mktunes.pl, överförd till C) läsning och skrivning av iTunes "
 "databas (http://www.gnu.org/software/gnupod/)\n"
 
-#: src/misc.c:161
+#: src/misc.c:175
 msgid ""
 "    iPod.cpp, iPod.h by Samuel Wood (sam dot wood at gmail dot com): some "
 "code for smart playlists is based on his C++-classes.\n"
@@ -2029,40 +1943,40 @@
 "    iPod.cpp, iPod.h av Samuel Wood (sam punkt wood snabela gmail punkt "
 "com): viss kod för smarta spellistor är baserad på hans C++ klasser.\n"
 
-#: src/misc.c:163
+#: src/misc.c:177
 msgid "    mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)\n"
 msgstr ""
 "    mp3info:  detektering av MP3-spelningslängd (http://ibiblio.org/"
 "mp3info/)\n"
 
-#: src/misc.c:165
+#: src/misc.c:179
 msgid ""
 "    xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)\n"
 msgstr ""
 "    xmms:     katalogbläddring, detektering av MP3-spelningslängd  (http://"
 "www.xmms.org)\n"
 
-#: src/misc.c:168
+#: src/misc.c:182
 msgid ""
 "The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"
 msgstr ""
 "Det grafiska gränssnittet skapades med hjälp av glade-2 (http://glade.gnome."
 "org/).\n"
 
-#: src/misc.c:183
+#: src/misc.c:197
 msgid "French:   David Le Brun (david at dyn-ns dot net)\n"
 msgstr "Franska:   David Le Brun (david snabela dyn-ns punkt net)\n"
 
-#: src/misc.c:185
+#: src/misc.c:199
 msgid "German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n"
 msgstr ""
 "Tyska:   Jorg Schuler (jcsjcs snabela users punkt sourceforge punkt net)\n"
 
-#: src/misc.c:187
+#: src/misc.c:201
 msgid "Hebrew: Assaf Gillat (gillata at gmail dot com)\n"
-msgstr ""
+msgstr "Hebreiska: Assaf Gillat (gillata snabela gmail punkt com)\n"
 
-#: src/misc.c:189
+#: src/misc.c:203
 msgid ""
 "Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot "
 "net)\n"
@@ -2070,44 +1984,49 @@
 "Italienska:  Edward Matteucci (edward_matteucc snabela users punkt "
 "sourceforge punkt net)\n"
 
-#: src/misc.c:191
+#: src/misc.c:205
 msgid "Japanese: Ayako Sano\n"
 msgstr "Japanska: Ayako Sano\n"
 
-#: src/misc.c:193
+#: src/misc.c:207
 msgid "Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)\n"
 msgstr ""
 "Japanska: Kentaro Fukuchi (fukuchi snabela users punkt sourceforge punkt "
 "net)\n"
 
-#: src/misc.c:195
+#: src/misc.c:209
 msgid "Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"
 msgstr "Svenska: Stefan Asserhäll (stefan asserhall snabela comhem punkt se)\n"
 
-#: src/misc.c:318
+#: src/misc.c:332
 #, c-format
 msgid "Could not delete backup file: \"%s\"\n"
 msgstr "Kunde inte ta bort säkerhetskopieringsfil: \"%s\"\n"
 
-#: src/misc.c:438
+#: src/misc.c:452
 #, c-format
 msgid "Unmounting of '%s' (%s) unsuccessful."
 msgstr "Avmontering av '%s' (%s) misslyckades."
 
-#: src/misc.c:442
+#: src/misc.c:456
 #, c-format
 msgid "Unmounting of '%s' unsuccessful."
 msgstr "Avmontering av '%s' misslyckades."
 
-#: src/misc.c:1097
+#: src/misc.c:1219
 #, c-format
+msgid "Unknown token '%%%c' in template '%s'"
+msgstr "Okänd beteckning '%%%c' i mallen '%s'"
+
+#: src/misc.c:1301
+#, c-format
 msgid "Template ('%s') does not match file type '%s'\n"
 msgstr "Mallen ('%s') passar inte ihop med filtypen '%s'\n"
 
-#: src/misc.c:1190
+#: src/misc.c:1382
 #, c-format
-msgid "Unknown token '%%%c' in template '%s'"
-msgstr "Okänd beteckning '%%%c' i mallen '%s'"
+msgid "Error creating %s: %s\n"
+msgstr "Fel när %s skulle skapas: %s\n"
 
 #. gint id,
 #. gboolean modal,
@@ -2234,8 +2153,8 @@
 
 #. no playlist??? Cannot happen, but...
 #. no playlist selected
-#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:667
-#: src/misc_track.c:879
+#: src/misc_confirm.c:336 src/misc_confirm.c:432 src/misc_confirm.c:674
+#: src/misc_track.c:1509
 msgid "No playlist selected."
 msgstr "Ingen spellista markerad."
 
@@ -2244,11 +2163,6 @@
 msgid "No tracks selected."
 msgstr "Inga spår markerade."
 
-#. no entry selected
-#: src/misc_confirm.c:441 src/misc_track.c:852
-msgid "No entry selected."
-msgstr "Ingen rad markerad."
-
 #: src/misc_confirm.c:448
 msgid "Cannot remove entry 'All'"
 msgstr "Kan inte ta bort raden 'Alla'"
@@ -2258,35 +2172,43 @@
 msgid "Removed all %d tracks from the iPod"
 msgstr "Tog bort alla %d spår från iPod"
 
-#: src/misc_confirm.c:549 src/misc_confirm.c:619
+#: src/misc_confirm.c:546
+msgid "Removed all podcasts from the iPod"
+msgstr "Tog bort alla podradiosändningar från iPod"
+
+#: src/misc_confirm.c:556 src/misc_confirm.c:626
 #, c-format
 msgid "Deleted playlist '%s' including %d member track"
 msgid_plural "Deleted playlist '%s' including %d member tracks"
 msgstr[0] "Tog bort spellistan '%s' inklusive %d ingående spår"
 msgstr[1] "Tog bort spellistan '%s' inklusive %d ingående spår"
 
-#: src/misc_confirm.c:563 src/misc_confirm.c:633
+#: src/misc_confirm.c:570 src/misc_confirm.c:640
 #, c-format
 msgid "Deleted playlist '%s'"
 msgstr "Tog bort spellistan '%s'"
 
-#: src/misc_confirm.c:596
+#: src/misc_confirm.c:603
 #, c-format
 msgid "Deleted playlist '%s' including %d member track on harddisk"
 msgid_plural "Deleted playlist '%s' including %d member tracks on harddisk"
 msgstr[0] "Tog bort spellistan '%s' inklusive %d ingående spår från hårddisken"
 msgstr[1] "Tog bort spellistan '%s' inklusive %d ingående spår från hårddisken"
 
-#: src/misc_confirm.c:611
+#: src/misc_confirm.c:618
 #, c-format
 msgid "Removed all %d tracks from the database"
 msgstr "Tog bort alla %d spår från databasen"
 
-#: src/misc_confirm.c:686
+#: src/misc_confirm.c:693
 msgid "Are you sure you want to remove all tracks from your iPod?"
 msgstr "Är du säker på att du vill ta bort alla spår från iPod?"
 
-#: src/misc_confirm.c:694
+#: src/misc_confirm.c:698
+msgid "Are you sure you want to remove all podcasts from your iPod?"
+msgstr "Är du säker på att du vill ta bort alla podradiosändningar från iPod?"
+
+#: src/misc_confirm.c:706
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and the following track "
@@ -2303,12 +2225,12 @@
 "Är du säker på att du vill ta bort spellistan '%s' och följande spår helt "
 "från iPod? Antal spellistor som spåren finns i anges inom parentes."
 
-#: src/misc_confirm.c:705 src/misc_confirm.c:760
+#: src/misc_confirm.c:717 src/misc_confirm.c:772
 #, c-format
 msgid "Are you sure you want to delete the playlist '%s'?"
 msgstr "Är du säker på att du vill ta bort spellistan '%s'?"
 
-#: src/misc_confirm.c:731
+#: src/misc_confirm.c:743
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2325,11 +2247,11 @@
 "Är du säker på att du vill ta bort spellistan '%s' och följande spår helt "
 "från hårddisken? Antal spellistor som spåren finns i anges inom parentes."
 
-#: src/misc_confirm.c:739
+#: src/misc_confirm.c:751
 msgid "Are you sure you want to remove all tracks from the database?"
 msgstr "Är du säker på att du vill ta bort alla spår från databasen?"
 
-#: src/misc_confirm.c:748
+#: src/misc_confirm.c:760
 #, c-format
 msgid ""
 "Are you sure you want to delete playlist '%s' and remove the following track "
@@ -2346,28 +2268,28 @@
 "Är du säker på att du vill ta bort spellistan '%s' och följande spår helt "
 "från databasen? Antal spellistor som spåren finns i anges inom parentes."
 
-#: src/misc_confirm.c:937
+#: src/misc_confirm.c:960
 #, c-format
 msgid "Problem creating iPod directory: '%s'."
 msgstr "Problem att skapa iPod-katalog: '%s'."
 
-#: src/misc_confirm.c:939
+#: src/misc_confirm.c:962
 #, c-format
 msgid "Successfully created iPod directories in '%s'."
 msgstr "Skapade iPod-kataloger i '%s' med lyckat resultat."
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_confirm.c:978
+#: src/misc_confirm.c:1001
 msgid "Create iPod directories"
 msgstr "Skapa iPod-kataloger"
 
 #. title
-#: src/misc_confirm.c:979
+#: src/misc_confirm.c:1002
 msgid "OK to create the following directories?"
 msgstr "Ok att skapa följande kataloger?"
 
-#: src/misc_confirm.c:1043
+#: src/misc_confirm.c:1066
 msgid ""
 "Data has been changed and not been saved.\n"
 "OK to exit gtkpod?"
@@ -2375,6 +2297,10 @@
 "Data har ändrats och inte sparats.\n"
 "Ok att avsluta gtkpod?"
 
+#: src/misc_conversion.c:67
+msgid "File type"
+msgstr "Filtyp"
+
 #: src/misc_conversion.c:68
 msgid "PC File"
 msgstr "PC-fil"
@@ -2422,24 +2348,53 @@
 msgid "CD Nr"
 msgstr "Cd-nummer"
 
-#: src/misc_conversion.c:101
+#: src/misc_conversion.c:89
+msgid "Category"
+msgstr "Kategori"
+
+#: src/misc_conversion.c:90
+msgid "Description"
+msgstr "Beskrivning"
+
+#. 30
+#: src/misc_conversion.c:91
+msgid "Podcast URL"
+msgstr "Podradio webbadress"
+
+#: src/misc_conversion.c:92
+msgid "Podcast RSS"
+msgstr "Podradio RSS"
+
+#: src/misc_conversion.c:93
+msgid "Subtitle"
+msgstr "Underrubrik"
+
+#: src/misc_conversion.c:94
+msgid "Date released"
+msgstr "Utgivningsdatum"
+
+#: src/misc_conversion.c:95
+msgid "Checked"
+msgstr "Kontrollerad"
+
+#: src/misc_conversion.c:108
 msgid "Name of file on PC, if available"
 msgstr "Filens namn på PC:n, om tillgängligt"
 
-#: src/misc_conversion.c:102
+#: src/misc_conversion.c:109
 msgid "Name of file on the iPod"
 msgstr "Filens namn på iPod"
 
 #. 10
-#: src/misc_conversion.c:104
+#: src/misc_conversion.c:111
 msgid "Track Nr. and total number of tracks on CD"
 msgstr "Spårnummer och totalt antal spår på cd:n"
 
-#: src/misc_conversion.c:105
+#: src/misc_conversion.c:112
 msgid "Whether the file has already been transferred to the iPod or not"
 msgstr "Om filen redan har överförts till iPod eller inte"
 
-#: src/misc_conversion.c:111
+#: src/misc_conversion.c:118
 msgid ""
 "Supposedly something that tells the iPod to increase or decrease the "
 "playback speed"
@@ -2447,32 +2402,32 @@
 "Antagligen något som talar om för iPod att öka eller minska "
 "uppspelningshastigheten"
 
-#: src/misc_conversion.c:113
+#: src/misc_conversion.c:120
 msgid "Number of times the track has been played"
 msgstr "Antal gånger spåret har spelats"
 
-#: src/misc_conversion.c:114
+#: src/misc_conversion.c:121
 msgid "Star rating from 0 to 5"
 msgstr "Betyg med stjärnor från 0 till 5"
 
-#: src/misc_conversion.c:115
+#: src/misc_conversion.c:122
 msgid "Date and time track has been added"
 msgstr "Datum och tid då spåret lades till"
 
 #. 20
-#: src/misc_conversion.c:116
+#: src/misc_conversion.c:123
 msgid "Date and time track has last been played"
 msgstr "Datum och tid då spåret senast spelades"
 
-#: src/misc_conversion.c:117
+#: src/misc_conversion.c:124
 msgid "Date and time track has last been modified"
 msgstr "Datum och tid då spåret senast ändrades"
 
-#: src/misc_conversion.c:118
+#: src/misc_conversion.c:125
 msgid "Manual volume adjust"
 msgstr "Manuell volymjustering"
 
-#: src/misc_conversion.c:119
+#: src/misc_conversion.c:126
 msgid ""
 "Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on "
 "the iPod"
@@ -2480,31 +2435,45 @@
 "Volymjustering i dB (spelningsnivå): Du måste aktivera 'ljudkontroll' på iPod"
 
 #. 25
-#: src/misc_conversion.c:122
+#: src/misc_conversion.c:129
 msgid "CD Nr. and total number of CDS in set"
 msgstr "Cd-nummer och totalt antal cd i albumet"
 
-#: src/misc_conversion.c:605
+#: src/misc_conversion.c:132
+msgid ""
+"The category (e.g. 'Technology' or 'Music') where the podcast was located."
+msgstr "Kategorin (t.ex. 'Teknik' eller 'Musik') där podradiosändningen fanns."
+
+#: src/misc_conversion.c:133
+msgid "Accessible by selecting the center button on the iPod."
+msgstr "Kan kommas åt genom att trycka på iPod-mittenknappen."
+
+#: src/misc_conversion.c:137
+msgid "Release date (for podcasts displayed next to the title on the iPod)"
+msgstr ""
+"Utgivningsdatum (för podradiosändningar visas det intill titeln på iPod)"
+
+#: src/misc_conversion.c:639
 #, c-format
 msgid "The URI '%s' is not an absolute URI using the file scheme"
 msgstr "Webbadressen '%s' är inte en absolut webbadress med filschema"
 
-#: src/misc_conversion.c:615
+#: src/misc_conversion.c:649
 #, c-format
 msgid "The local file URI '%s' may not include a '#'"
 msgstr "Webbadressen '%s' för lokal fil kan inte innehålla '#'"
 
-#: src/misc_conversion.c:632
+#: src/misc_conversion.c:666
 #, c-format
 msgid "The URI '%s' is invalid"
 msgstr "Webbadressen '%s' är ogiltig"
 
-#: src/misc_conversion.c:644
+#: src/misc_conversion.c:678
 #, c-format
 msgid "The hostname of the URI '%s' is invalid"
 msgstr "Värddator för webbadressen '%s' är ogiltig"
 
-#: src/misc_conversion.c:660
+#: src/misc_conversion.c:694
 #, c-format
 msgid "The URI '%s' contains invalidly escaped characters"
 msgstr "Webbadressen '%s' innehåller felaktiga specialtecken"
@@ -2513,7 +2482,7 @@
 msgid "Please enter a name for the new playlist"
 msgstr "Skriv in ett namn på den nya spellistan"
 
-#: src/misc_playlist.c:97 gtkpod.glade:533 gtkpod.glade:12271
+#: src/misc_playlist.c:97 gtkpod.glade:578 gtkpod.glade:772 gtkpod.glade:7128
 msgid "Smart Playlist"
 msgstr "Smart spellista"
 
@@ -2602,33 +2571,33 @@
 msgid "Last Time"
 msgstr "Sista gången"
 
-#: src/misc_playlist.c:834
+#: src/misc_playlist.c:831
 msgid "Removal of dangling tracks with no files on PC was canceled."
 msgstr "Borttagning av spår med saknade filer utan filer på PC:n avbröts."
 
-#: src/misc_playlist.c:844
+#: src/misc_playlist.c:841
 msgid "Handling of dangling tracks with files on PC was canceled."
 msgstr "Hantering av spår med saknade filer som har filer på PC:n avbröts."
 
-#: src/misc_playlist.c:872
+#: src/misc_playlist.c:869
 msgid "Dangling tracks with no files on PC were removed."
 msgstr "Spår med saknade filer utan filer på PC:n har tagits bort."
 
 #. printf("Handling track %d\n", track->ipod_id);
-#: src/misc_playlist.c:905
-#, fuzzy, c-format
+#: src/misc_playlist.c:902
+#, c-format
 msgid "Processing '%s'"
-msgstr "Behandlar '%s'..."
+msgstr "Behandlar '%s'"
 
-#: src/misc_playlist.c:930
+#: src/misc_playlist.c:927
 msgid "Dangling tracks with files on PC were handled."
 msgstr "Spår med saknade filer som har filer på PC:n har hanterats."
 
-#: src/misc_playlist.c:963
+#: src/misc_playlist.c:960
 msgid "Track"
 msgstr "Spår"
 
-#: src/misc_playlist.c:1008
+#: src/misc_playlist.c:1005
 msgid ""
 "You did not import the existing iTunesDB. This is most likely incorrect and "
 "will result in the loss of the existing database.\n"
@@ -2644,19 +2613,19 @@
 "du avbryter, kan du importera befintlig databas innan du använder den här "
 "funktionen igen.\n"
 
-#: src/misc_playlist.c:1024
+#: src/misc_playlist.c:1021
 msgid "Creating a tree of known files"
 msgstr "Skapar träd med kända filer"
 
-#: src/misc_playlist.c:1052
+#: src/misc_playlist.c:1065
 msgid "Checking iPOD files against known files in DB"
 msgstr "Kontrollerar iPod-filer med kända filer i databasen"
 
-#: src/misc_playlist.c:1098
+#: src/misc_playlist.c:1110
 msgid "Orphaned"
 msgstr "Övergivna"
 
-#: src/misc_playlist.c:1119
+#: src/misc_playlist.c:1131
 #, c-format
 msgid ""
 "The following orphaned file had already been added to the iPod again. It "
@@ -2669,12 +2638,12 @@
 "%s\n"
 "\n"
 
-#: src/misc_playlist.c:1148
+#: src/misc_playlist.c:1160
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Processing..."
 msgstr "Hittade %d övergivna filer och %d spår med saknade filer. Behandlar..."
 
-#: src/misc_playlist.c:1171
+#: src/misc_playlist.c:1183
 #, c-format
 msgid ""
 "The following dangling track has a file on PC.\n"
@@ -2693,7 +2662,7 @@
 "Klicka på Ok för att överföra filerna vid nästa synkronisering. Avbryt för "
 "att lämna dem som de är."
 
-#: src/misc_playlist.c:1176
+#: src/misc_playlist.c:1188
 #, c-format
 msgid ""
 "The following dangling track doesn't have file on PC. \n"
@@ -2710,31 +2679,31 @@
 
 #. we want unique window for each
 #. gboolean modal,
-#: src/misc_playlist.c:1183
+#: src/misc_playlist.c:1195
 msgid "Dangling Tracks"
 msgstr "Spår med saknade filer"
 
-#: src/misc_playlist.c:1207
+#: src/misc_playlist.c:1219
 #, c-format
 msgid "Found %d orphaned and %d dangling files. Done."
 msgstr "Hittade %d övergivna filer och %d spår med saknade filer. Klar."
 
 #. update for count == 1, 21, 41 ... and for count == n
-#: src/misc_track.c:90 src/misc_track.c:367
+#: src/misc_track.c:91 src/misc_track.c:368
 #, c-format
 msgid "Hashed %d of %d track."
 msgid_plural "Hashed %d of %d tracks."
 msgstr[0] "Beräknade checksumma för %d av %d spår."
 msgstr[1] "Beräknade checksumma för %d av %d spår."
 
-#: src/misc_track.c:201
+#: src/misc_track.c:202
 #, c-format
 msgid "The following duplicate track has been removed."
 msgid_plural "The following %d duplicate tracks have been removed."
 msgstr[0] "Följande duplicerade spår har tagits bort."
 msgstr[1] "Följande %d duplicerade spår har tagits bort."
 
-#: src/misc_track.c:208
+#: src/misc_track.c:209
 #, c-format
 msgid ""
 "The following duplicate track has not been added to the master play list."
@@ -2746,31 +2715,35 @@
 
 #. gint id,
 #. gboolean modal,
-#: src/misc_track.c:215
+#: src/misc_track.c:216
 msgid "Duplicate detection"
 msgstr "Detektering av duplikat"
 
-#: src/misc_track.c:793
+#: src/misc_track.c:844
+msgid "Local Database"
+msgstr "Lokal databas"
+
+#: src/misc_track.c:1396
 #, c-format
 msgid "drag and drop: ignored '%s'\n"
 msgstr "drag och släpp: ignorerade '%s'\n"
 
-#: src/mp3file.c:1091
+#: src/mp3file.c:1117
 #, c-format
 msgid "Error setting ID3 field: %s\n"
 msgstr "Fel när ID3-fält skulle ändras: %s\n"
 
-#: src/mp3file.c:1116 src/mp3file.c:1223 src/mp3file.c:1949
+#: src/mp3file.c:1142 src/mp3file.c:1289 src/mp3file.c:2035
 #, c-format
 msgid "ERROR while opening file: '%s' (%s).\n"
 msgstr "FEL när filen skulle öppnas: '%s' (%s).\n"
 
-#: src/mp3file.c:1280
+#: src/mp3file.c:1356
 #, c-format
 msgid "ERROR while writing tag to file: '%s' (%s).\n"
 msgstr "FEL när tagg skulle skrivas till filen: '%s' (%s).\n"
 
-#: src/mp3file.c:1793
+#: src/mp3file.c:1879
 #, c-format
 msgid ""
 "Could not find mp3gain. I tried to use the following executable: '%s'.\n"
@@ -2790,33 +2763,33 @@
 "Om du inte har installerat mp3gain, kan du ladda ner det från http://www."
 "sourceforge.net/projects/mp3gain."
 
-#: src/mp3file.c:1833
+#: src/mp3file.c:1919
 #, c-format
 msgid "Execution of mp3gain ('%s') failed."
 msgstr "Körning av mp3gain ('%s') misslyckades."
 
 #. Tracks with zero play length are ignored by iPod...
-#: src/mp3file.c:2061
+#: src/mp3file.c:2178
 #, c-format
 msgid "File \"%s\" has zero play length. Ignoring.\n"
 msgstr "Filen \"%s\" har spelningslängden noll. Ignoreras.\n"
 
-#: src/mp4file.c:234 src/mp4file.c:353
+#: src/mp4file.c:243 src/mp4file.c:362
 #, c-format
 msgid "'%s' does not appear to be a mp4 audio file.\n"
 msgstr "'%s' verkar inte vara en mp4-ljudfil.\n"
 
-#: src/mp4file.c:244
+#: src/mp4file.c:253
 #, c-format
 msgid "Could not open '%s' for reading, or file is not an mp4 file.\n"
 msgstr "Kunde inte öppna '%s' för läsning, eller är filen inte en mp4-fil.\n"
 
-#: src/mp4file.c:364
+#: src/mp4file.c:373
 #, c-format
 msgid "Could not open '%s' for writing, or file is not an mp4 file.\n"
 msgstr "Kunde inte öppna '%s' för skrivning, eller är filen inte en mp4-fil.\n"
 
-#: src/mp4file.c:377
+#: src/mp4file.c:386
 #, c-format
 msgid ""
 "Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. "
@@ -2825,7 +2798,7 @@
 "Import av '%s' misslyckades: m4a/m4p/m4b stöds inte utan biblioteket mp4v2. "
 "Du måste kompilera källkoden för gtkpod tillsammans med biblioteket mp4v2.\n"
 
-#: src/mp4file.c:383
+#: src/mp4file.c:392
 #, c-format
 msgid ""
 "m4a/m4p/m4b metadata update for '%s' failed: m4a/m4p/m4b not supported "
@@ -2836,36 +2809,36 @@
 "inte utan biblioteket mp4v2. Du måste kompilera källkoden för gtkpod "
 "tillsammans med biblioteket mp4v2.\n"
 
-#: src/prefs.c:127
+#: src/prefs.c:128
 #, c-format
 msgid "gtkpod version %s usage:\n"
 msgstr "Användning av gtkpod version %s:\n"
 
-#: src/prefs.c:128
+#: src/prefs.c:129
 msgid "  -h, --help:   display this message\n"
 msgstr "  -h, --help:   visa det här meddelandet\n"
 
-#: src/prefs.c:129
+#: src/prefs.c:130
 msgid "  -p <filename>:increment playcount for file by one\n"
 msgstr "  -p <filnamn>: öka spelningsantalet för filen med ett\n"
 
-#: src/prefs.c:130
+#: src/prefs.c:131
 msgid "  -m path:      define the mountpoint of your iPod\n"
 msgstr "  -m sökväg:  definiera monteringspunkt för iPod\n"
 
-#: src/prefs.c:131
+#: src/prefs.c:132
 msgid "  --mountpoint: same as '-m'.\n"
 msgstr "  --mountpoint: samma som '-m'.\n"
 
-#: src/prefs.c:132
+#: src/prefs.c:133
 msgid "  -a:           import database automatically after start.\n"
 msgstr "  -a:           importera databas automatiskt efter start.\n"
 
-#: src/prefs.c:133
+#: src/prefs.c:134
 msgid "  --auto:       same as '-a'.\n"
 msgstr "  --auto:       samma som '-a'.\n"
 
-#: src/prefs.c:134
+#: src/prefs.c:135
 msgid ""
 "  -o:           use offline mode. No changes are exported to the iPod,\n"
 "                but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is\n"
@@ -2877,56 +2850,56 @@
 "'Synkronisera'\n"
 "                används med 'Nerkopplad' inaktiverat.\n"
 
-#: src/prefs.c:135
+#: src/prefs.c:136
 msgid "  --offline:    same as '-o'.\n"
 msgstr "  --offline:    samma som '-o'.\n"
 
-#: src/prefs.c:382
+#: src/prefs.c:401
 #, c-format
 msgid "Error while reading prefs: %s\n"
 msgstr "Fel vid läsning av inställningar: %s\n"
 
-#: src/prefs.c:948
+#: src/prefs.c:1030
 #, c-format
 msgid "Unable to open config file '%s' for reading\n"
 msgstr "Kan inte öppna inställningsfilen '%s' för läsning\n"
 
-#: src/prefs.c:1052
+#: src/prefs.c:1137
 #, c-format
 msgid "Unknown option: %s\n"
 msgstr "Okänd väljare: %s\n"
 
-#: src/prefs.c:1100
+#: src/prefs.c:1190
 #, c-format
 msgid "# delete confirmation\n"
 msgstr "# bekräfta borttagning\n"
 
-#: src/prefs.c:1107
+#: src/prefs.c:1197
 #, c-format
 msgid "# sort tab: select 'All', last selected page (=category)\n"
 msgstr "# sorteringsflik: välja 'Alla', senast valda sida (=kategori)\n"
 
-#: src/prefs.c:1126
+#: src/prefs.c:1216
 #, c-format
 msgid "# autoselect master playlist?\n"
 msgstr "# välj automatiskt huvudspellista?\n"
 
-#: src/prefs.c:1128
+#: src/prefs.c:1218
 #, c-format
 msgid "# title=0, artist, album, genre, composer\n"
 msgstr "# titel=0, artist, album, genre, kompositör\n"
 
-#: src/prefs.c:1129
+#: src/prefs.c:1219
 #, c-format
 msgid "# track_nr=5, ipod_id, pc_path, transferred\n"
 msgstr "# spårnummer=5, iPod-id, PC-sökväg, överförda\n"
 
-#: src/prefs.c:1130
+#: src/prefs.c:1220
 #, c-format
 msgid "# autoset: set empty tag to filename?\n"
 msgstr "# välj automatiskt: ange filnamn i tom tagg?\n"
 
-#: src/prefs.c:1143
+#: src/prefs.c:1235
 #, c-format
 msgid ""
 "# position of sliders (paned): playlists, above tracks,\n"
@@ -2935,7 +2908,7 @@
 "# position för skjutreglage (i rutor): spellistor, ovanför spår,\n"
 "# mellan sorteringsflikar, och i statusraden.\n"
 
-#: src/prefs.c:1178
+#: src/prefs.c:1271
 #, c-format
 msgid ""
 "# window sizes: main window, confirmation scrolled,\n"
@@ -2944,16 +2917,12 @@
 "# fönsterstorlekar: huvudfönster, bekräftelse med rullningslist,\n"
 "#   bekräftelse utan rullningslist, katalogbläddrare, inställningar\n"
 
-#: src/prefs.c:1215
-msgid "Settings are not saved.\n"
-msgstr "Inställningarna har inte sparats.\n"
-
-#: src/prefs.c:1228
+#: src/prefs.c:1328
 #, c-format
 msgid "Unable to open '%s' for writing\n"
 msgstr "Kan inte öppna '%s' för skrivning\n"
 
-#: src/prefs.c:1592
+#: src/prefs.c:1682
 #, c-format
 msgid ""
 " Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.\n"
@@ -2961,77 +2930,77 @@
 " Inställningar: Kategorinummer (%d<%d?) eller sorteringsfliknummer (%d<%d?) "
 "är utanför giltigt intervall.\n"
 
-#: src/prefs.c:1641
+#: src/prefs.c:1731
 #, c-format
 msgid "Unable to 'mkdir %s'\n"
 msgstr "Kan inte skapa katalogen '%s'\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2034
+#: src/prefs.c:2157
 #, c-format
 msgid "prefs_set_toolbar_style: illegal style '%d' ignored\n"
 msgstr "prefs_set_toolbar_style: felaktig stil '%d' ignoreras\n"
 
 #. illegal -- ignore
-#: src/prefs.c:2076
+#: src/prefs.c:2199
 #, c-format
 msgid "prefs_set_pm_sort: illegal type '%d' ignored\n"
 msgstr "prefs_set_pm_sort: felaktig typ '%d' ignoreras\n"
 
-#: src/prefs.c:2231
+#: src/prefs.c:2354
 #, c-format
 msgid "'%s': no arguments (%%...) allowed.\n"
 msgstr "'%s': inga argument (%%...) tillåts.\n"
 
-#: src/prefs.c:2236
+#: src/prefs.c:2359
 #, c-format
 msgid "'%s': only '%%[%s]' allowed.\n"
 msgstr "'%s': bara '%%[%s]' tillåts.\n"
 
-#: src/prefs_window.c:93
+#: src/prefs_window.c:105
 msgid "Please select command for 'Play Now'"
 msgstr "Välj kommando för 'Spela nu'"
 
-#: src/prefs_window.c:94
+#: src/prefs_window.c:106
 msgid "Please select command for 'Enqueue'"
 msgstr "Välj kommando för 'Köa'"
 
-#: src/prefs_window.c:95
+#: src/prefs_window.c:107
 msgid "Please select the mp3gain executable"
 msgstr "Välj körbart program mp3gain"
 
-#: src/prefs_window.c:96
+#: src/prefs_window.c:108
 msgid "Please select command to sync contacts"
 msgstr "Välj kommando för att synkronisera kontakter"
 
-#: src/prefs_window.c:97
+#: src/prefs_window.c:109
 msgid "Please select command to sync calendar"
 msgstr "Välj kommando för att synkronisera kalender"
 
-#: src/prefs_window.c:98
+#: src/prefs_window.c:110
 msgid "Select the mserv music root directory"
 msgstr "Välj mserv rotkatalog för musik"
 
-#: src/prefs_window.c:99
+#: src/prefs_window.c:111
 msgid "Select the mserv trackinfo root directory"
 msgstr "Välj mserv rotkatalog för spårinformation"
 
-#: src/prefs_window.c:748
+#: src/prefs_window.c:824
 #, c-format
 msgid ""
-"Have a look at the scripts provided in '%s'. If you write a new script, "
+"<i>Have a look at the scripts provided in '%s'. If you write a new script, "
 "please send it to jcsjcs at users.sourceforge.net for inclusion into the "
-"next release."
+"next release.</i>"
 msgstr ""
-"Ta en titt på skripten som tillhandahålls i '%s'. Om du skriver ett nytt "
+"<i>Ta en titt på skripten som tillhandahålls i '%s'. Om du skriver ett nytt "
 "skript, skicka det gärna till \"jcsjcs snabela users.sourceforge.net\" för "
-"att lägga till det i nästa utgåva."
+"att lägga till det i nästa utgåva.</i>"
 
-#: src/prefs_window.c:1006 src/prefs_window.c:1024
+#: src/prefs_window.c:1257 src/prefs_window.c:1275
 msgid "Preferences not updated"
 msgstr "Inställningarna har inte uppdaterats"
 
-#: src/prefs_window.c:1033
+#: src/prefs_window.c:1284
 msgid "Preferences applied"
 msgstr "Inställningar ändrade"
 
@@ -3145,54 +3114,51 @@
 msgid "Synchronize _iTunesDB"
 msgstr "Synkronisera _iTunes databas"
 
-#: gtkpod.glade:156
+#: gtkpod.glade:183
 msgid "_Update Tracks from File"
 msgstr "_Uppdatera spår från fil"
 
-#: gtkpod.glade:177 gtkpod.glade:229 gtkpod.glade:281 gtkpod.glade:339
-#: gtkpod.glade:391 gtkpod.glade:767 gtkpod.glade:819 gtkpod.glade:1007
-#: gtkpod.glade:1059 gtkpod.glade:1105
+#: gtkpod.glade:204 gtkpod.glade:256 gtkpod.glade:308 gtkpod.glade:366
+#: gtkpod.glade:418 gtkpod.glade:1136 gtkpod.glade:1188 gtkpod.glade:1234
 msgid "Selected _Playlist"
 msgstr "Markerad _spellista"
 
-#: gtkpod.glade:186 gtkpod.glade:238 gtkpod.glade:290 gtkpod.glade:348
-#: gtkpod.glade:400 gtkpod.glade:776 gtkpod.glade:828 gtkpod.glade:1016
-#: gtkpod.glade:1068 gtkpod.glade:1114
+#: gtkpod.glade:213 gtkpod.glade:265 gtkpod.glade:317 gtkpod.glade:375
+#: gtkpod.glade:427 gtkpod.glade:1145 gtkpod.glade:1197 gtkpod.glade:1243
 msgid "Selected Tab _Entry"
 msgstr "Markerad _flikrad"
 
-#: gtkpod.glade:195 gtkpod.glade:247 gtkpod.glade:299 gtkpod.glade:357
-#: gtkpod.glade:409 gtkpod.glade:785 gtkpod.glade:837 gtkpod.glade:1025
-#: gtkpod.glade:1077 gtkpod.glade:1123
+#: gtkpod.glade:222 gtkpod.glade:274 gtkpod.glade:326 gtkpod.glade:384
+#: gtkpod.glade:436 gtkpod.glade:569 gtkpod.glade:1154 gtkpod.glade:1206
+#: gtkpod.glade:1252
 msgid "Selected _Tracks"
 msgstr "Markerade s_pår"
 
-#: gtkpod.glade:208
+#: gtkpod.glade:235
 msgid "Update _mserv Data from File"
 msgstr "Uppdatera _mserv data från fil"
 
-#: gtkpod.glade:260
+#: gtkpod.glade:287
 msgid "_Synchronize Directories"
 msgstr "S_ynkronisera kataloger"
 
-#: gtkpod.glade:318
-#, fuzzy
+#: gtkpod.glade:345
 msgid "_Export Tracks from Database"
-msgstr "Ta bort alla spår från databasen"
+msgstr "_Exportera spår från databasen"
 
-#: gtkpod.glade:370
+#: gtkpod.glade:397
 msgid "Create _Playlist File"
 msgstr "Skapa sp_ellistefil"
 
-#: gtkpod.glade:428
+#: gtkpod.glade:455
 msgid "_Offline"
 msgstr "_Nerkopplad"
 
-#: gtkpod.glade:444
+#: gtkpod.glade:471
 msgid "_Create iPod's Directories"
 msgstr "Skapa iPod-ka_taloger"
 
-#: gtkpod.glade:465
+#: gtkpod.glade:492
 msgid ""
 "Find orphan files (files with no track info in DB) and dangling tracks "
 "(tracks with no corresponding files on iPOD)"
@@ -3200,935 +3166,359 @@
 "Hitta övergivna filer (filer utan någon spårinformation i databasen) och "
 "saknade spår (spår utan motsvarande filer på iPod)"
 
-#: gtkpod.glade:466
+#: gtkpod.glade:493
 msgid "_Check iPod's Files"
 msgstr "K_ontrollera iPod-filer"
 
-#: gtkpod.glade:494 gtkpod.glade:4973 gtkpod.glade:16459
+#: gtkpod.glade:521 gtkpod.glade:11968
 msgid "_Edit"
 msgstr "_Redigera"
 
-#: gtkpod.glade:503
+#: gtkpod.glade:551
+msgid "Tracks in Selected _Playlist"
+msgstr "Spår i markerad _spellista"
+
+#: gtkpod.glade:560
+msgid "Tracks in Selected Tab _Entry"
+msgstr "Spår i markerad _flikrad"
+
+#: gtkpod.glade:591
+msgid "_Delete"
+msgstr "_Ta bort"
+
+#: gtkpod.glade:612
+msgid "Selected playlist"
+msgstr "Markerade spellista"
+
+#: gtkpod.glade:621
+msgid "Selected playlist including tracks from iPod"
+msgstr "Markerade spellistan som innehåller spår från iPod"
+
+#: gtkpod.glade:630
+msgid "Selected playlist including tracks from database"
+msgstr "Markerade spellistan som innehåller spår från databasen"
+
+#: gtkpod.glade:639
+msgid "Selected playlist including tracks from harddisk"
+msgstr "Markerade spellistan som innehåller spår från hårddisken"
+
+#: gtkpod.glade:654
+msgid "Selected filter tab entry from playlist"
+msgstr "Markerade filterflikrad från spellistan"
+
+#: gtkpod.glade:663
+msgid "Selected filter tab entry from iPod"
+msgstr "Markerade filterflikrad från iPod"
+
+#: gtkpod.glade:672
+msgid "Selected filter tab entry from database"
+msgstr "Markerade filterflikrad från databasen"
+
+#: gtkpod.glade:681
+msgid "Selected filter tab entry from harddisk"
+msgstr "Markerade filterflikrad från hårddisken"
+
+#: gtkpod.glade:696
+msgid "Selected tracks from playlist"
+msgstr "Markerade spår från spellistan"
+
+#: gtkpod.glade:705
+msgid "Selected tracks from iPod"
+msgstr "Markerade spår från iPod"
+
+#: gtkpod.glade:714
+msgid "Selected tracks from database"
+msgstr "Markerade spår från databasen"
+
+#: gtkpod.glade:723
+msgid "Selected tracks from harddisk"
+msgstr "Markerade spår från hårddisken"
+
+#: gtkpod.glade:742
 msgid "_Create Playlists"
 msgstr "_Skapa spellistor"
 
-#: gtkpod.glade:524
+#: gtkpod.glade:763
 msgid "Empty Playlist"
 msgstr "Tom spellista"
 
-#: gtkpod.glade:542
+#: gtkpod.glade:781
 msgid "Random Playlist from Displayed Tracks"
 msgstr "Slumpmässig spellista från visade spår"
 
-#: gtkpod.glade:551
+#: gtkpod.glade:790
 msgid "Containing Displayed Tracks"
 msgstr "Som innehåller visade spår"
 
-#: gtkpod.glade:560
+#: gtkpod.glade:799
 msgid "Containing Selected Tracks"
 msgstr "Som innehåller markerade spår"
 
-#: gtkpod.glade:569
+#: gtkpod.glade:808
 msgid "One for each Artist"
 msgstr "En för varje artist"
 
-#: gtkpod.glade:578
+#: gtkpod.glade:817
 msgid "One for each Album"
 msgstr "En för varje album"
 
-#: gtkpod.glade:587
+#: gtkpod.glade:826
 msgid "One for each Genre"
 msgstr "En för varje genre"
 
-#: gtkpod.glade:596
+#: gtkpod.glade:835
 msgid "One for each Composer"
 msgstr "En för varje kompositör"
 
-#: gtkpod.glade:605
+#: gtkpod.glade:844
 msgid "One for each Year"
 msgstr "En för varje år"
 
-#: gtkpod.glade:614
+#: gtkpod.glade:853
 msgid "One for each Rating"
 msgstr "En för varje betyg"
 
-#: gtkpod.glade:623
+#: gtkpod.glade:862
 msgid "Best Rated Tracks"
 msgstr "Spår med bäst betyg"
 
-#: gtkpod.glade:632
+#: gtkpod.glade:871
 msgid "Tracks Most Often Listened To"
 msgstr "Spår som oftast lyssnats på"
 
-#: gtkpod.glade:641
+#: gtkpod.glade:880
 msgid "Most Recently Played Tracks"
 msgstr "Spår som nyligen spelats"
 
-#: gtkpod.glade:650
+#: gtkpod.glade:889
 msgid "All Tracks Played Since Last Time"
 msgstr "Alla spår som spelats sedan sist"
 
-#: gtkpod.glade:659
+#: gtkpod.glade:898
 msgid "All Tracks Never Listened To"
 msgstr "Alla spår som aldrig lyssnats på"
 
-#: gtkpod.glade:668
+#: gtkpod.glade:907
 msgid "All Tracks not Listed in any Playlist"
 msgstr "Alla spår som inte finns i någon spellista"
 
-#: gtkpod.glade:681
+#: gtkpod.glade:920
 msgid "Randomize Current Playlist"
 msgstr "Gör nuvarande spellista slumpmässig"
 
-#: gtkpod.glade:696
+#: gtkpod.glade:935
 msgid "_Sorting"
 msgstr "S_ortera"
 
-#: gtkpod.glade:718
+#: gtkpod.glade:957
 msgid "_Save Displayed Track Order"
 msgstr "Spara _visad spårordning"
 
-#: gtkpod.glade:746
-msgid "_Delete But Keep Tracks"
-msgstr "_Ta bort men behåll spår"
-
-#: gtkpod.glade:798
-msgid "_Delete Completely From iPod"
-msgstr "Ta bort _helt från iPod"
-
-#: gtkpod.glade:856
+#: gtkpod.glade:985
 msgid "_Edit Preferences"
 msgstr "_Redigera inställningar"
 
-#: gtkpod.glade:882
+#: gtkpod.glade:1011
 msgid "_View"
 msgstr "_Visa"
 
-#: gtkpod.glade:891
+#: gtkpod.glade:1020
 msgid "_Toolbar"
 msgstr "_Verktygsrad"
 
-#: gtkpod.glade:901
+#: gtkpod.glade:1030
 msgid "_Tooltips"
 msgstr "Verktygs_tips"
 
-#: gtkpod.glade:911
+#: gtkpod.glade:1040
 msgid "_Info Window"
 msgstr "_Informationsfönster"
 
-#: gtkpod.glade:922
+#: gtkpod.glade:1051
 msgid "_More Sort Tabs"
 msgstr "_Fler sorteringsflikar"
 
-#: gtkpod.glade:943
+#: gtkpod.glade:1072
 msgid "_Less Sort Tabs"
 msgstr "Färre _sorteringsflikar"
 
-#: gtkpod.glade:964
+#: gtkpod.glade:1093
 msgid "_Arrange Sort Tabs"
 msgstr "_Ordna sorteringsflikar"
 
-#: gtkpod.glade:977 gtkpod.glade:5636 gtkpod.glade:17156
+#: gtkpod.glade:1106 gtkpod.glade:12692
 msgid "_Tools"
 msgstr "Verk_tyg"
 
-#: gtkpod.glade:986
+#: gtkpod.glade:1115
 msgid "_Play Now"
 msgstr "S_pela nu"
 
-#: gtkpod.glade:1038
+#: gtkpod.glade:1167
 msgid "_Enqueue"
 msgstr "_Köa"
 
-#: gtkpod.glade:1096
+#: gtkpod.glade:1225
 msgid "_Normalize Volume"
 msgstr "_Normalisera volym"
 
-#: gtkpod.glade:1132
+#: gtkpod.glade:1261
 msgid "_Displayed Tracks"
 msgstr "_Visade spår"
 
-#: gtkpod.glade:1141
+#: gtkpod.glade:1270
 msgid "_All Tracks"
 msgstr "_Alla spår"
 
-#: gtkpod.glade:1150
+#: gtkpod.glade:1279
 msgid "_Newly Added Tracks"
 msgstr "_Nytillagda spår"
 
-#: gtkpod.glade:1169
+#: gtkpod.glade:1298
 msgid "Synchronise Contacts, Calendar and Notes"
 msgstr "Synkronisera kontakter, kalender och anteckningar"
 
-#: gtkpod.glade:1170
+#: gtkpod.glade:1299
 msgid "Synchronize All"
 msgstr "Synkronisera allt"
 
-#: gtkpod.glade:1179
+#: gtkpod.glade:1308
 msgid "Synchronize Contacts"
 msgstr "Synkronisera kontakter"
 
-#: gtkpod.glade:1188
+#: gtkpod.glade:1317
 msgid "Synchronize Calendar"
 msgstr "Synkronisera kalender"
 
-#: gtkpod.glade:1197
+#: gtkpod.glade:1326
 msgid "Synchronize Notes"
 msgstr "Synkronisera anteckningar"
 
-#: gtkpod.glade:1210
+#: gtkpod.glade:1339
 msgid "_Help"
 msgstr "_Hjälp"
 
-#: gtkpod.glade:1219
+#: gtkpod.glade:1348
 msgid "_About"
 msgstr "_Om"
 
-#: gtkpod.glade:1259
+#: gtkpod.glade:1388
 msgid "Read Existing Database from Disk/iPod"
 msgstr "Läs befintlig databas från disk eller iPod"
 
-#: gtkpod.glade:1260
+#: gtkpod.glade:1389
 msgid "Read"
 msgstr "Läs"
 
-#: gtkpod.glade:1277
+#: gtkpod.glade:1406
 msgid "Add Files or Directories"
 msgstr "Lägg till filer eller kataloger"
 
-#: gtkpod.glade:1278
+#: gtkpod.glade:1407
 msgid "Files"
 msgstr "Filer"
 
-#: gtkpod.glade:1295
+#: gtkpod.glade:1424
 msgid "Add Directories Recursively"
 msgstr "Lägg till kataloger rekursivt"
 
-#: gtkpod.glade:1296
+#: gtkpod.glade:1425
 msgid "Dirs"
 msgstr "Kataloger"
 
-#: gtkpod.glade:1313
+#: gtkpod.glade:1442
 msgid "Add playlist from file"
 msgstr "Lägg till spellista från fil"
 
-#: gtkpod.glade:1331
+#: gtkpod.glade:1460
 msgid "Create New Playlist"
 msgstr "Skapa ny spellista"
 
-#: gtkpod.glade:1332
+#: gtkpod.glade:1461
 msgid "New PL"
 msgstr "Ny spellista"
 
-#: gtkpod.glade:1349
+#: gtkpod.glade:1478
 msgid "Write Changes to Disk/iPod"
 msgstr "Skriv ändringar till disk eller iPod"
 
-#: gtkpod.glade:1350
+#: gtkpod.glade:1479
 msgid "Sync"
 msgstr "Synkronisera"
 
-#: gtkpod.glade:1366
+#: gtkpod.glade:1495
 msgid "Stop Display Update"
 msgstr "Stoppa uppdatering av skärmen"
 
-#: gtkpod.glade:1367
+#: gtkpod.glade:1496
 msgid "Stop"
 msgstr "Stoppa"
 
-#: gtkpod.glade:1540
+#: gtkpod.glade:1669
 msgid "About gtkpod"
 msgstr "Om gtkpod"
 
-#: gtkpod.glade:1661
+#: gtkpod.glade:1790
 msgid "Credits"
 msgstr "Tack till"
 
-#: gtkpod.glade:1715
+#: gtkpod.glade:1844
 msgid "Translators"
 msgstr "Översättare"
 
-#: gtkpod.glade:1770 gtkpod.glade:12719
-msgid "Preferences"
-msgstr "Inställningar"
-
-#: gtkpod.glade:1846
-msgid " iPod Mount _Point:"
-msgstr " iPod monterings_punkt:"
-
-#: gtkpod.glade:1868
-msgid ""
-"Where you mounted your iPod's filesystem. Usually '/media/ipod/' or similar."
-msgstr ""
-"Platsen du monterade iPod-filsystemet. Oftast '/media/ipod' eller något "
-"liknande."
-
-#: gtkpod.glade:1896
-msgid ""
-"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
-"<ipod mountpoint>' call is carried out. For more complicated arrangements "
-"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
-msgstr ""
-"Vid start anropar gtkpod 'mount <iPod monteringspunkt>' och vid avslutning "
-"utförs anropet 'umount <iPod monteringspunkt>'. För mer komplicerad "
-"hantering, använd skripten ~/.gtkpod/gtkpod.in och  ~/.gtkpod/gtkpod.out."
-
-#: gtkpod.glade:1898 gtkpod.glade:12890
-msgid "Handle mounting/unmounting of iPod drive"
-msgstr "Hantera montering och avmontering av iPod-enheten"
-
-#: gtkpod.glade:1918 gtkpod.glade:12910
-msgid "Automatically import iTunesDB on startup"
-msgstr "Importera automatiskt iTunes databas vid start"
-
-#: gtkpod.glade:1944
-msgid "Import"
-msgstr "Importera"
-
-#: gtkpod.glade:1991
-msgid " _Charset (ID3, files): "
-msgstr " _Teckenkodning (ID3, filer): "
-
-#: gtkpod.glade:2022 gtkpod.glade:13047
-msgid ""
-"gtkpod expects the ID3 tags and the filenames to be in the encoding "
-"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
-"operation. 'System Charset' is the charset used by your current locale."
-msgstr ""
-"ID3-taggar och filnamn förväntas ha kodningen som anges här. Du kan ändra "
-"den för varje enskild användning av 'Lägg till filer' eller 'Lägg till "
-"kataloger'. 'Systemets kodning' är den kodning som används i din aktuella "
-"landsinställning."
-
-#: gtkpod.glade:2059
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to update the track information. If you have chosen a wrong charset when "
-"first importing a track and want to correct it using the 'Update Track' "
-"function, you must check this option. Note: the charset info is stored in "
-"the extended information file (see 'Writing of iTunesDB' below) and tracks "
-"imported before V0.51 will have no charset stored. Instead the charset "
-"specified above will be used then."
-msgstr ""
-"Normalt används teckenkodning som först anges när spåret importeras för att "
-"uppdatera spårinformation. Om du valde fel teckenkodning när spåret först "
-"importerades, och vill rätta det med funktionen 'Uppdatera spår', måste du "
-"markera alternativet. Observera: kodningsinformationen lagras i filen med "
-"utökad information (se 'Skrivning av iTunes databas' nedan) och spår som "
-"importerats innan version 0.51 har ingen teckenkodning lagrad. Istället "
-"används då teckensnittet som anges ovan."
-
-#: gtkpod.glade:2061
-msgid ""
-"Use selected charset also when updating\n"
-" or syncing tracks"
-msgstr ""
-"Använd också vald kodning vid uppdatering\n"
-"eller synkronisering av spår"
-
-#: gtkpod.glade:2081
-msgid "If you check this, gtkpod will descend into subdirectories recursively."
-msgstr "Om du markerar det här, går gtkpod ner i underkataloger rekursivt."
-
-#: gtkpod.glade:2083 gtkpod.glade:13106
-msgid "Add directories recursively"
-msgstr "Lägg till kataloger rekursivt"
-
-#: gtkpod.glade:2102
-msgid "Duplicate Recognition is based on a md5 hash over the file."
-msgstr "Igenkänning av duplikat är baserat på filens MD5-checksumma."
-
-#: gtkpod.glade:2104 gtkpod.glade:13126
-msgid "Don't allow file duplication"
-msgstr "Tillåt inte duplicerade filer"
-
-#: gtkpod.glade:2132
-msgid ""
-"Display the list of duplicates that have been detected after adding files."
-msgstr "Visa listan med upptäckta duplikat efter filer har lagts till."
-
-#: gtkpod.glade:2134 gtkpod.glade:13173
-msgid "Display info about detected duplicates"
-msgstr "Visa information om detekterade duplikat"
-
-#: gtkpod.glade:2187
-msgid ""
-"If the filename (full path) of an existing track matches that of a track to "
-"be added, this option allows you to update the information about the "
-"existing track rather than just skipping the track altogether. No update "
-"will take place if the file hasn't changed and you have selected the 'Don't "
-"allow file duplication' option above."
-msgstr ""
-"Om filnamnet (fullständiga sökvägen) för ett befintligt spår motsvarar ett "
-"spår som ska läggas till, låter det här alternativet dig uppdatera "
-"informationen om det befintliga spåret istället för att bara hoppa över "
-"spåret helt. Ingen uppdatering sker om filen inte har ändrats och du har "
-"valt alternativet 'Tillåt inte duplicerade filer' ovan."
-
-#: gtkpod.glade:2189
-msgid ""
-"When adding dirs/files, update information of\n"
-" existing tracks with identical filenames"
-msgstr ""
-"När kataloger och filer läggs till, uppdatera information\n"
-"om befintliga spår med identiska filnamn"
-
-#: gtkpod.glade:2218
-msgid "Display a list of tracks that could actually be updated."
-msgstr "Visa en lista med spår som skulle kunna uppdateras."
-
-#: gtkpod.glade:2220 gtkpod.glade:13248
-msgid "Display info about updated tracks"
-msgstr "Visa information om uppdaterade spår"
-
-#: gtkpod.glade:2243
-msgid "Display a list of tracks that could not be updated."
-msgstr "Visa en lista med spår som inte kunde uppdateras."
-
-#: gtkpod.glade:2245 gtkpod.glade:13302
-msgid "Display info about non-updated tracks"
-msgstr "Visa information om spår som inte uppdaterats"
-
-#: gtkpod.glade:2287 gtkpod.glade:13328
-msgid "When syncing directories"
-msgstr "Vid synkronisering av kataloger"
-
-#: gtkpod.glade:2318
-msgid "Confirm list of directories"
-msgstr "Bekräfta lista med kataloger"
-
-#: gtkpod.glade:2341
-msgid ""
-"If you check this option, tracks that have been removed from the synced "
-"directories will be removed from the iPod as well."
-msgstr ""
-"Om du markerar det här alternativet, kommer spår som har tagits bort i de "
-"synkroniserade katalogerna också att tas bort från iPod."
-
-#: gtkpod.glade:2343 gtkpod.glade:13403
-msgid "Delete tracks that have been removed"
-msgstr "Ta bort spår som inte längre finns"
-
-#: gtkpod.glade:2366
-msgid "This is the same option as in 'Edit/Delete Confirmation'"
-msgstr "Det här är samma alternativ som i 'Redigera/Bekräfta "
-
-#: gtkpod.glade:2368 gtkpod.glade:13423
-msgid "Confirm before removing tracks"
-msgstr "Bekräfta innan spår tas bort"
-
-#: gtkpod.glade:2401
-msgid "Adding/Updating/Syncing"
-msgstr "Tillägg, uppdatering, synkronisering"
-
-#: gtkpod.glade:2441 gtkpod.glade:13664
-msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
-msgstr "Läs spår från filinnehåll (t.ex. ID3-taggar i MP3-filer)"
-
-#: gtkpod.glade:2460 gtkpod.glade:13683
-msgid ""
-"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
-"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
-"several templates by a ';'. The first one matching the filename will be "
-"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
-msgstr ""
-"artist: %a, album: %A, kompositör: %c, titel: %t, genre: %G, spårnummer: %T, "
-"cd-nummer: %C, år: %Y, hoppa över data: %*, tecknet '%': %%. Du kan skilja "
-"flera mallar åt med ';'. Den första som stämmer med filnamnet används. "
-"Exempel: '%a - %A/%T %t.mp3;%t.wav'."
-
-#: gtkpod.glade:2462
-msgid "Use this template to parse filename for tag information"
-msgstr "Använd mallen för att tolka filnamnet som tagginformation"
-
-#: gtkpod.glade:2514
-msgid "Overwrite tags that are already set."
-msgstr "Skriv över taggar som redan är angivna."
-
-#: gtkpod.glade:2544
-msgid ""
-"As a last resort set the following tags to the filename if they are (still) "
-"empty:"
-msgstr ""
-"Om följande taggar (fortfarande) är tomma, lagra filnamnet i dem som en "
-"sista utväg:"
-
-#: gtkpod.glade:2723
-msgid "Tag Reading"
-msgstr "Taggläsning"
-
-#: gtkpod.glade:2762 gtkpod.glade:2985 gtkpod.glade:14020 gtkpod.glade:14234
-msgid "Currently only rating is supported."
-msgstr "För närvarande stöds bara ett betyg"
-
-#: gtkpod.glade:2764
-msgid "Use mserv database to fill in additional information"
-msgstr "Använd mserv databas för att fylla i ytterligare information"
-
-#: gtkpod.glade:2792
-msgid "Music Root: "
-msgstr "Musikrot: "
-
-#: gtkpod.glade:2816 gtkpod.glade:14074
-msgid "mserv database lookup will be done for music in this directory."
-msgstr "Uppslagning av musik för mserv databasen görs i den här katalogen."
-
-#: gtkpod.glade:2839 gtkpod.glade:2904 gtkpod.glade:5076 gtkpod.glade:5147
-#: gtkpod.glade:5261 gtkpod.glade:5405 gtkpod.glade:5476 gtkpod.glade:5547
-msgid "..."
-msgstr "..."
-
-#: gtkpod.glade:2857
-msgid "mserv Root: "
-msgstr "Rot för mserv: "
-
-#: gtkpod.glade:2881 gtkpod.glade:14120
-msgid "Root directory of mserv database (trackinfo root)."
-msgstr "Rotkatalog för mserv databasen (rot för spårinformation)."
-
-#: gtkpod.glade:2922
-msgid "Username: "
-msgstr "Användarnamn: "
-
-#: gtkpod.glade:2946 gtkpod.glade:14166
-msgid "Username to be used for mserv database lookup."
-msgstr "Användarnamn att använda vid uppslagning i mserv databasen."
-
-#: gtkpod.glade:2987 gtkpod.glade:14236
-msgid "Show information about problems when accessing mserv"
-msgstr "Visa information om problem vid användning av mserv"
-
-#: gtkpod.glade:3030
-msgid "mserv"
-msgstr "mserv"
-
-#: gtkpod.glade:3070 gtkpod.glade:13531
-msgid ""
-"Highly recommended for faster import when taking advantage of the "
-"duplication recognition. Also, having the PC filenames allows writing "
-"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
-"case of file system corruption (change the \"transferred=\" entries in your "
-"backuped database)."
-msgstr ""
-"Rekommenderas starkt för snabbare import när funktionen för att känna igen "
-"duplikat utnyttjas. Dessutom blir det möjligt att skriva ändrade ID3-taggar "
-"till disk när PC-filnamnen behålls, eller till och med att återskapa "
-"innehållet i iPod om filsystemet blir skadat (ändra raderna \"transferred=\" "
-"i den säkerhetskopierade databasen)."
-
-#: gtkpod.glade:3072 gtkpod.glade:13533
-msgid ""
-"Write extended information (PC filenames,\n"
-" MD5 hashes, charset). Recommended."
-msgstr ""
-"Skriv utökad information (PC-filnamn, MD5-\n"
-"checksummor, teckenkodning). Rekommenderas."
-
-#: gtkpod.glade:3103
-msgid "Sync (Writing of iTunesDB)"
-msgstr "Synkronisering (skrivning av iTunes databas)"
-
-#: gtkpod.glade:3143
-msgid "_Input/Output"
-msgstr "_In- och utmatning"
-
-#: gtkpod.glade:3270
-msgid "Relative volume adjustment between -100 and +100"
-msgstr "Relativ volymjustering mellan -100 och +100"
-
-#: gtkpod.glade:3795
-msgid "Displayed Track Attributes "
-msgstr "Visade spåregenskaper "
-
-#: gtkpod.glade:3842
-msgid " _Number of sort tabs: "
-msgstr "A_ntal sorteringsflikar: "
-
-#: gtkpod.glade:3899
-msgid "Sort Tabs"
-msgstr "Sorteringsflikar"
-
-#: gtkpod.glade:3939 gtkpod.glade:15168
-msgid ""
-"If you don't select the master playlist automatically, the initial database "
-"import is much faster because the display dosn't have to be updated."
-msgstr ""
-"Om du inte väljer huvudspellistan automatiskt, går den ursprungliga importen "
-"av databasen mycket snabbare eftersom skärmen inte behöver uppdateras."
-
-#: gtkpod.glade:3941 gtkpod.glade:15170
-msgid "...master playlist"
-msgstr "...huvudspellista"
-
-#: gtkpod.glade:3961 gtkpod.glade:15190
-msgid "...entry 'All' in sort tab..."
-msgstr "...raden 'Alla' i sorteringsflikar"
-
-#: gtkpod.glade:4018
-msgid "Automatically select..."
-msgstr "Välj automatiskt..."
-
-#: gtkpod.glade:4059 gtkpod.glade:15447
-msgid "Display toolbar..."
-msgstr "Visa verktygsrad..."
-
-#: gtkpod.glade:4088 gtkpod.glade:15541
-msgid "...both as icons and text"
-msgstr "...både som ikoner och text"
-
-#: gtkpod.glade:4112 gtkpod.glade:15520
-msgid "...as text"
-msgstr "...som text"
-
-#: gtkpod.glade:4137 gtkpod.glade:15500
-msgid "...as icons"
-msgstr "...som ikoner"
-
-#: gtkpod.glade:4175
-msgid "Toolbar"
-msgstr "Verktygsrad"
-
-#: gtkpod.glade:4216 gtkpod.glade:15326
-msgid "Display tooltips in main window"
-msgstr "Visa verktygstips i huvudfönstret"
-
-#: gtkpod.glade:4236 gtkpod.glade:15346
-msgid "Display tooltips in prefs window"
-msgstr "Visa verktygstips i inställningsfönstret"
-
-#: gtkpod.glade:4262
-msgid "Tooltips"
-msgstr "Verktygstips"
-
-#: gtkpod.glade:4346 gtkpod.glade:10103
-msgid "Sorting"
-msgstr "Sortera"
-
-#: gtkpod.glade:4378 gtkpod.glade:15656
-msgid ""
-"It is much faster to sort the display after all tracks have been added. Some "
-"people might feel irritated by this behaviour and should uncheck this option."
-msgstr ""
-"Det går mycket snabbare att sortera skärmen efter alla spår har lagts till. "
-"Några personer kanske känner sig irriterade av detta beteende, och kan då "
-"avmarkera alternativet."
-
-#: gtkpod.glade:4380 gtkpod.glade:15658
-msgid ""
-"Temporarily disable sorting when changing playlist\n"
-"or tab entry (faster!)"
-msgstr ""
-"Inaktivera sortering tillfälligt när spellistor\n"
-"eller flikar ändras (snabbare)"
-
-#: gtkpod.glade:4400 gtkpod.glade:15678
-msgid ""
-"The display can be blocked after changing a selection. The display update is "
-"faster, but you have to wait until it's finished. When using this option, "
-"sorting is also temporarily disabled (see option above)."
-msgstr ""
-"Skärmen kan blockeras efter en markering ändrats. Skärmuppdateringen blir "
-"snabbare, men du måste vänta till den är klar. När du använder det här "
-"alternativet är sortering också tillfälligt avstängd (se alternativet ovan)."
-
-#: gtkpod.glade:4402 gtkpod.glade:15680
-msgid ""
-"Block display when changing playlist or tab\n"
-" entry (faster!)"
-msgstr ""
-"Blockera skärmen när spellistor\n"
-"eller flikar ändras (snabbare)"
-
-#: gtkpod.glade:4422 gtkpod.glade:15700
-msgid "This option will be re-activated when you upgrade gtkpod."
-msgstr "Det här alternativet aktiveras igen när du uppdaterar gtkpod."
-
-#: gtkpod.glade:4424 gtkpod.glade:15702
-msgid "Display messages and warnings at startup"
-msgstr "Visa meddelanden och varningar vid start"
-
-#: gtkpod.glade:4446
-msgid "Misc"
-msgstr "Diverse"
-
-#: gtkpod.glade:4482 gtkpod.glade:6457
-msgid "_Display"
-msgstr "_Visa"
-
-#: gtkpod.glade:4536
-msgid ""
-"The tags are written to the files on your harddrive and on the ipod (if "
-"available)."
-msgstr ""
-"Taggarna skrivs till filer på din hårddisk och på iPod (om tillgänglig)."
-
-#: gtkpod.glade:4538 gtkpod.glade:15914
-msgid "Write ID3 tags to disk when modified in gtkpod"
-msgstr "Skriv ID3-taggar till disk när de ändrats i gtkpod"
-
-#: gtkpod.glade:4566
-msgid ""
-"Normally the charset specified when first importing the track will be used "
-"to write the tags. If you have chosen a wrong charset when first importing a "
-"track, you should select this option along with the correct charset.  Note: "
-"uses the extended information file to store the charset information (see "
-"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
-"before V0.51 will have no charset stored -- the charset specified on the "
-"'Input/Output' page will be used."
-msgstr ""
-"Normalt används teckenkodning som först anges när spåret importeras för att "
-"skriva taggarna. Om du valde fel teckenkodning när spåret först "
-"importerades, ska du markera det här alternativet tillsammans med den "
-"riktiga teckenkodningen. Observera: använder filen med utökad information "
-"för att lagra kodningsinformation (se 'Skrivning av iTunes databas' på sidan "
-"'In- och utmatning') och spår som importerats innan version 0.51 har ingen "
-"teckenkodning lagrad. Istället används då teckensnittet som anges på sidan "
-"'In- och utmatning'."
-
-#: gtkpod.glade:4568
-msgid ""
-"Use selected charset (on the 'Import' page)\n"
-" when writing tags"
-msgstr ""
-"Använd vald teckenkodning (från sidan 'Import)\n"
-"vid skrivning av taggar"
-
-#: gtkpod.glade:4592
-msgid ""
-"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
-"uses unicode to store the tags, so you won't have to worry about charsets "
-"any more. gtkpod will use UTF8 encoding as this will not increase the size "
-"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
-"present in the file to write to."
-msgstr ""
-"Det här är rätt metod, men kanske stöder inte alla program det ännu. ID3v2.4 "
-"använder Unicode för att lagra taggar, så du behöver inte längre bekymra dig "
-"om teckenkodning. Kodningen UTF8 används av gtkpod, om den inte ökar "
-"storleken av rena ASCII-taggar. ID3v2.2/4-taggar skrivs också om de redan "
-"finns i filen som skrivs."
-
-#: gtkpod.glade:4594 gtkpod.glade:15988
-msgid "Always write ID3v2.4 tags (only applies to MP3)"
-msgstr "Skriv alltid ID3v2.4-taggar (gäller bara MP3)"
-
-#: gtkpod.glade:4624
-msgid ""
-"If you select several tracks in the track list and edit a tag of the first "
-"track, the tags in the other tracks are updated as well."
-msgstr ""
-"Om du markerar flera spår i spårlistan och redigerar taggen för det första "
-"spåret, uppdateras också taggarna för övriga spår."
-
-#: gtkpod.glade:4626
-msgid "Use 'Multi-Edit' for track selections"
-msgstr "Använd 'Redigera flera' för markerade spår"
-
-#: gtkpod.glade:4654
-msgid ""
-"Usually you don't want to set the title of several tracks to the same text. "
-"This option might avoid unwanted results (especially since there is no "
-"'undo' yet)."
-msgstr ""
-"Oftast vill du inte ange titeln för flera spår till samma text. Det här "
-"alternativet kan undvika oönskade resultat (särskilt eftersom funktionen "
-"'Ångra' inte finns ännu)."
-
-#: gtkpod.glade:4656 gtkpod.glade:16069
-msgid "Use 'Multi-Edit' also for title field"
-msgstr "Använd också 'Redigera flera' för titelfältet"
-
-#: gtkpod.glade:4689
-msgid "Track Editing"
-msgstr "Spårredigering"
-
-#: gtkpod.glade:4738
-msgid ""
-"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
-"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
-msgstr ""
-"Antal spår i de skapade spellistorna 'oftast lyssnats på', 'med bäst betyg' "
-"och 'nyligen spelats'. Ange '0' för 'ingen begränsning'."
-
-#: gtkpod.glade:4762
-msgid " Number of tracks in generated playlists: "
-msgstr " Antal spår i skapade spellistor: "
-
-#: gtkpod.glade:4794 gtkpod.glade:16231
-msgid "Also include tracks never played in \"Best Rated\" playlist"
-msgstr ""
-"Inkludera också spår som aldrig spelats i spellistan \"med bäst betyg\""
-
-#: gtkpod.glade:4816
-msgid "Auto-Generated Playlists"
-msgstr "Skapa spellistor automatiskt"
-
-#: gtkpod.glade:4865 gtkpod.glade:16332
-msgid "Before removing playlists or tracks from a playlist"
-msgstr "Innan spellistor eller spår tas bort från en spellista"
-
-#: gtkpod.glade:4885
-msgid "Before removing tracks completely from the iPod"
-msgstr "Innan spår tas bort helt från iPod"
-
-#: gtkpod.glade:4904
-msgid ""
-"This option only has a meaning if you activate the 'Delete Tracks that have "
-"been Removed' option in the 'Adding/Updating/Syncing' section in the 'Input/"
-"Output' tab."
-msgstr ""
-"Det här alternativet har betydelse om du aktiverar alternativet 'Ta bort "
-"spår som inte längre finns' i avdelningen 'Tillägg, uppdatering, "
-"synkronisering' under fliken 'In- och utmatning'."
-
-#: gtkpod.glade:4906
-msgid ""
-"Before removing tracks completely when\n"
-" synchronizing directories"
-msgstr ""
-"Innan spår tas bort helt vid\n"
-"synkronisering av kataloger"
-
-#: gtkpod.glade:4929
-msgid "Delete Confirmation "
-msgstr "Bekräfta borttagning "
-
-#: gtkpod.glade:5028
-msgid "Command Line for 'Play Now':"
-msgstr "Kommandorad för 'Spela nu':"
-
-#: gtkpod.glade:5055
-msgid ""
-"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
-"tracks and start playing."
-msgstr ""
-"Till exempel rensas XMM:s nuvarande spellista, de markerade spåren läggs "
-"till och uppspelning startar med 'xmms %s'."
-
-#: gtkpod.glade:5099
-msgid "Command Line for 'Enqueue':"
-msgstr "Kommandorad för 'Köa':"
-
-#: gtkpod.glade:5126
-msgid ""
-"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
-"current playlist."
-msgstr ""
-"Till exempel läggs de markerade spåren till sist i XMM:s nuvarande spellista "
-"(köas) med 'xmms -e %s'."
-
-#: gtkpod.glade:5172
-msgid "Track Playing"
-msgstr "Spelat spår"
-
-#: gtkpod.glade:5213
-msgid "Exact path for the 'mp3gain' executable:"
-msgstr "Fullständig sökväg till programmet 'mp3gain':"
-
-#: gtkpod.glade:5240
-msgid ""
-"You only need to specify this if your 'mp3gain' executable is not in your "
-"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
-"calculated gain value back to the file -- if you don't want this, set this "
-"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
-"are not already set by your encoder. E.g. lame version 0.95 already writes "
-"the gain values into tags. The exact conversion factor between mp3gain's "
-"gain value and iPod's volume tag is not known yet -- your input is "
-"appreciated."
-msgstr ""
-"Du behöver bara ange det här om det körbara programmet 'mp3gain' inte finns "
-"i din standardsökväg. Till exempel '/usr/local/foo/mp3gain'. mp3gain skriver "
-"tillbaka det beräknade nivåvärdet i filen. Om du inte vill det, ange "
-"alternativet som /bin/true eller något liknande. mp3gain anropas bara om "
-"lämpliga taggar inte redan angivits av kodaren. Version 0.95 av lame skriver "
-"till exempel redan nivåvärden i taggar. Det exakta konverteringsvärdet "
-"mellan nivåvärdet från mp3gain och volymtaggen i iPod är inte ännu känt: "
-"återmatning från dig uppskattas."
-
-#: gtkpod.glade:5294
-msgid "Volume Normalization"
-msgstr "Normalisering av volym"
-
-#: gtkpod.glade:5357
-msgid "Command to synchronize contacts:"
-msgstr "Kommando för att synkronisera kontakter:"
-
-#: gtkpod.glade:5384 gtkpod.glade:5455 gtkpod.glade:5526
-msgid ""
-"Specify exact path including command line options. '%i' will be replaced "
-"with the mount point of the iPod."
-msgstr ""
-"Ange fullständig sökväg inklusive kommandoradsväljare. '%i' ersätts med "
-"monteringspunkten för iPod."
-
-#: gtkpod.glade:5428
-msgid "Command to be called to synchronize calendar:"
-msgstr "Kommando att anropa för att synkronisera kalender:"
-
-#: gtkpod.glade:5499
-msgid "Command to be called to synchronize notes:"
-msgstr "Kommando att anropa för att synkronisera anteckningar:"
-
-#: gtkpod.glade:5570 gtkpod.glade:17110
-msgid "Call automatically when synchronizing iTunesDB"
-msgstr "Anropa automatiskt vid synkronisering av iTunes databas"
-
-#: gtkpod.glade:5592
-msgid "Contacts / Calendar / Notes"
-msgstr "Kontakter, kalender och anteckningar"
-
-#: gtkpod.glade:5716
+#: gtkpod.glade:1898
 msgid "special_sorttab -- Don't translate!"
 msgstr "special_sorttab -- Don't translate!"
 
-#: gtkpod.glade:5750
+#: gtkpod.glade:1932
 msgid " Logic: "
 msgstr " Logiskt: "
 
-#: gtkpod.glade:5772
+#: gtkpod.glade:1954
 msgid "Any (OR)"
 msgstr "NÃ¥gon (eller)"
 
-#: gtkpod.glade:5791
+#: gtkpod.glade:1973
 msgid "All (AND)"
 msgstr "Alla (och)"
 
-#: gtkpod.glade:5844
+#: gtkpod.glade:2026
 msgid "0"
 msgstr "0"
 
-#: gtkpod.glade:5863
+#: gtkpod.glade:2045
 msgid "1"
 msgstr "1"
 
-#: gtkpod.glade:5882
+#: gtkpod.glade:2064
 msgid "2"
 msgstr "2"
 
-#: gtkpod.glade:5901
+#: gtkpod.glade:2083
 msgid "3"
 msgstr "3"
 
-#: gtkpod.glade:5920
+#: gtkpod.glade:2102
 msgid "4"
 msgstr "4"
 
-#: gtkpod.glade:5939
+#: gtkpod.glade:2121
 msgid "5"
 msgstr "5"
 
-#: gtkpod.glade:5978
+#: gtkpod.glade:2160
 msgid "Select '0' for no lower limit."
 msgstr "Välj '0' för ingen undre gräns."
 
-#: gtkpod.glade:5999
+#: gtkpod.glade:2181
 msgid " <= cts <= "
 msgstr " <= antal <= "
 
-#: gtkpod.glade:6020
+#: gtkpod.glade:2202
 msgid "Select '-1' for no upper limit."
 msgstr "Välj '-1' för ingen övre gräns."
 
-#: gtkpod.glade:6063 gtkpod.glade:6136 gtkpod.glade:6302
+#: gtkpod.glade:2245 gtkpod.glade:2318 gtkpod.glade:2484
 msgid ""
 "'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when "
 "finished."
@@ -4136,19 +3526,23 @@
 "'ÅÅÅÅ-MM-DD TT:MM < d < ÅÅÅÅ-MM-DD TT:MM' eller liknande. Tryck på "
 "returtangenten när du är klar."
 
-#: gtkpod.glade:6105 gtkpod.glade:6178 gtkpod.glade:6344 gtkpod.glade:6519
+#: gtkpod.glade:2287 gtkpod.glade:2360 gtkpod.glade:2526 gtkpod.glade:2701
 msgid "Calendar"
 msgstr "Kalender"
 
-#: gtkpod.glade:6203
+#: gtkpod.glade:2385
 msgid "Specify interval"
 msgstr "Ange intervall"
 
-#: gtkpod.glade:6414
+#: gtkpod.glade:2596
 msgid "Display tracks that match the criteria entered above."
 msgstr "Visa spår som uppfyller ovan inskrivna villkor."
 
-#: gtkpod.glade:6489
+#: gtkpod.glade:2639 gtkpod.glade:11330
+msgid "_Display"
+msgstr "_Visa"
+
+#: gtkpod.glade:2671
 msgid ""
 "Automatically start displaying tracks that match the criteria entered above. "
 "If not selected, you must press 'Display' to start displaying."
@@ -4156,117 +3550,110 @@
 "Börja automatiskt visa spår som motsvarar villkoren som skrivs in ovan. Om "
 "inte markerad, måste du klicka på 'Visa' för att börja visningen."
 
-#: gtkpod.glade:6491
+#: gtkpod.glade:2673
 msgid "Start display automatically"
 msgstr "Börja visa automatiskt"
 
-#: gtkpod.glade:6564
+#: gtkpod.glade:2746
 msgid "Sorttab: "
 msgstr "Sorteringsflik: "
 
-#: gtkpod.glade:6604
+#: gtkpod.glade:2786
 msgid "     "
 msgstr "     "
 
-#: gtkpod.glade:6626
+#: gtkpod.glade:2808
 msgid "Category: "
 msgstr "Kategori: "
 
-#: gtkpod.glade:6703
+#: gtkpod.glade:2885
 msgid "Please specify a time interval"
 msgstr "Ange ett tidsintervall"
 
-#: gtkpod.glade:6748
+#: gtkpod.glade:2930
 msgid "Lower Margin"
 msgstr "Under gräns"
 
-#: gtkpod.glade:6795 gtkpod.glade:7001
+#: gtkpod.glade:2977 gtkpod.glade:3183
 msgid "Time:"
 msgstr "Tid:"
 
-#: gtkpod.glade:6838 gtkpod.glade:7044
+#: gtkpod.glade:3020 gtkpod.glade:3226
 msgid ":"
 msgstr ":"
 
-#: gtkpod.glade:6911
+#: gtkpod.glade:3093
 msgid "No lower margin"
 msgstr "Ingen undre gräns"
 
-#: gtkpod.glade:6954
+#: gtkpod.glade:3136
 msgid "Upper margin"
 msgstr "Övre gräns"
 
-#: gtkpod.glade:7117
+#: gtkpod.glade:3299
 msgid "No upper margin"
 msgstr "Ingen övre gräns"
 
-#: gtkpod.glade:7215 gtkpod.glade:8858
+#: gtkpod.glade:3397
 msgid "Sorting Options"
 msgstr "Sorteringsalternativ"
 
-#: gtkpod.glade:7245
-#, fuzzy
+#: gtkpod.glade:3427
 msgid "<b>Sort Order</b>"
-msgstr "<b>Sorteringsflikar</b>"
+msgstr "<b>Sorteringsordning</b>"
 
-#: gtkpod.glade:7272 gtkpod.glade:8522 gtkpod.glade:12807 gtkpod.glade:12983
-#: gtkpod.glade:13151 gtkpod.glade:13226 gtkpod.glade:13280 gtkpod.glade:13355
-#: gtkpod.glade:13510 gtkpod.glade:13636 gtkpod.glade:13710 gtkpod.glade:13993
-#: gtkpod.glade:14355 gtkpod.glade:15005 gtkpod.glade:15141 gtkpod.glade:15298
-#: gtkpod.glade:15419 gtkpod.glade:15472 gtkpod.glade:15629 gtkpod.glade:15886
-#: gtkpod.glade:15939 gtkpod.glade:16047 gtkpod.glade:16149 gtkpod.glade:16304
-#: gtkpod.glade:16518 gtkpod.glade:16737 gtkpod.glade:16874
+#: gtkpod.glade:3454 gtkpod.glade:4704 gtkpod.glade:7682 gtkpod.glade:7860
+#: gtkpod.glade:8031 gtkpod.glade:8108 gtkpod.glade:8163 gtkpod.glade:8239
+#: gtkpod.glade:8396 gtkpod.glade:8522 gtkpod.glade:8879 gtkpod.glade:9338
+#: gtkpod.glade:9700 gtkpod.glade:10487 gtkpod.glade:10644 gtkpod.glade:10801
+#: gtkpod.glade:10922 gtkpod.glade:10975 gtkpod.glade:11132 gtkpod.glade:11389
+#: gtkpod.glade:11443 gtkpod.glade:11554 gtkpod.glade:11657 gtkpod.glade:11813
+#: gtkpod.glade:12027 gtkpod.glade:12248 gtkpod.glade:12386 gtkpod.glade:12751
+#: gtkpod.glade:12869 gtkpod.glade:13043 gtkpod.glade:13278 gtkpod.glade:13380
 msgid "    "
 msgstr "    "
 
-#: gtkpod.glade:7300
-#, fuzzy
+#: gtkpod.glade:3482
 msgid ""
 "In order to save the displayed track order to the iPod choose 'Save "
 "Displayed Track Order' from the 'Edit' menu or select 'Auto Store' below."
 msgstr ""
-"Anmärkning: spårens ordning lagras alltid i iPod när du använder drag och "
-"släpp för att ordna om spåren.\n"
-"För att lagra en alfabetisk spårordning i iPod måste du välja 'Spara visad "
-"spårordning' i menyn 'Redigera' eller välja 'Lagra automatiskt' ovan."
+"För att lagra visad spårordning i iPod måste du välja 'Spara visad "
+"spårordning' i menyn 'Redigera' eller välja 'Lagra automatiskt' nedan."
 
-#: gtkpod.glade:7683 gtkpod.glade:9257
+#: gtkpod.glade:3865
 msgid "Ascending"
 msgstr "Stigande"
 
-#: gtkpod.glade:7727 gtkpod.glade:9301
+#: gtkpod.glade:3909
 msgid "Descending"
 msgstr "Fallande"
 
-#: gtkpod.glade:7771 gtkpod.glade:9345
+#: gtkpod.glade:3953
 msgid "None"
 msgstr "Ingen"
 
-#: gtkpod.glade:7860 gtkpod.glade:9434
+#: gtkpod.glade:4042
 msgid "Sorttabs"
 msgstr "Sorteringsflikar"
 
-#: gtkpod.glade:7905 gtkpod.glade:9479
+#: gtkpod.glade:4087
 msgid "Tracks"
 msgstr "Spår"
 
-#: gtkpod.glade:8058 gtkpod.glade:9632
+#: gtkpod.glade:4240
 msgid "Auto Store"
 msgstr "Lagra automatiskt"
 
-#: gtkpod.glade:8103 gtkpod.glade:8149 gtkpod.glade:9677 gtkpod.glade:9723
+#: gtkpod.glade:4285 gtkpod.glade:4331
 msgid "Please refer to the notice below."
 msgstr "Se anmärkningen nedan."
 
-#: gtkpod.glade:8183 gtkpod.glade:9757
-msgid "n/a"
-msgstr "ej tillgänglig"
-
-#: gtkpod.glade:8381 gtkpod.glade:9955
+#: gtkpod.glade:4563
 msgid "Sort tracks according to: "
 msgstr "Sortera spår enligt: "
 
-#: gtkpod.glade:8411 gtkpod.glade:9985
+#: gtkpod.glade:4593
 msgid ""
 "You can also use the table headers, but this allows you to sort according to "
 "a column that is not displayed."
@@ -4274,7 +3661,7 @@
 "Du kan också använda tabellhuvuden, men här kan du sortera enligt en kolumn "
 "som inte visas."
 
-#: gtkpod.glade:8447 gtkpod.glade:10032
+#: gtkpod.glade:4629
 msgid ""
 "If checked, sorting will be case sensitive. Please note that case sensitive "
 "sorting will not work well with most charsets."
@@ -4282,77 +3669,64 @@
 "Om markerat är sorteringen skiftlägeskänslig. Observera att "
 "skiftlägeskänslig sortering inte fungerar bra med de flesta teckenkodningar."
 
-#: gtkpod.glade:8449 gtkpod.glade:10034
+#: gtkpod.glade:4631
 msgid "Sorting case sensitive"
 msgstr "Skiftlägeskänslig sortering"
 
-#: gtkpod.glade:8495
+#: gtkpod.glade:4677
 msgid "<b>Ignore Frequent Words</b>"
-msgstr ""
+msgstr "<b>Ignorera vanliga ord</b>"
 
-#: gtkpod.glade:8587
+#: gtkpod.glade:4769
 msgid "Ignore these words when at the beginning of the following fields:"
-msgstr ""
+msgstr "Ignorera dessa ord i början av följande fält:"
 
-#: gtkpod.glade:10071
-msgid ""
-"Notice: the track order is always stored to the iPod when you use drag and "
-"drop to re-arrange the tracks.\n"
-"In order to store an alphabetized track order to the iPod you must choose "
-"the 'Save Displayed Track Order' from the 'Edit' menu or select 'Auto Store' "
-"above."
-msgstr ""
-"Anmärkning: spårens ordning lagras alltid i iPod när du använder drag och "
-"släpp för att ordna om spåren.\n"
-"För att lagra en alfabetisk spårordning i iPod måste du välja 'Spara visad "
-"spårordning' i menyn 'Redigera' eller välja 'Lagra automatiskt' ovan."
-
-#: gtkpod.glade:10183
+#: gtkpod.glade:5040
 msgid "gtkpod Info"
 msgstr "Information om gtkpod"
 
-#: gtkpod.glade:10482 gtkpod.glade:10557 gtkpod.glade:10582 gtkpod.glade:11208
-#: gtkpod.glade:11341
+#: gtkpod.glade:5339 gtkpod.glade:5414 gtkpod.glade:5439 gtkpod.glade:6065
+#: gtkpod.glade:6198
 msgid "      "
 msgstr "      "
 
-#: gtkpod.glade:10835
+#: gtkpod.glade:5692
 msgid "Number of tracks"
 msgstr "Antal spår"
 
-#: gtkpod.glade:10861
+#: gtkpod.glade:5718
 msgid "Play time"
 msgstr "Speltid"
 
-#: gtkpod.glade:10888
+#: gtkpod.glade:5745
 msgid "File size"
 msgstr "Filstorlek"
 
-#: gtkpod.glade:10914
+#: gtkpod.glade:5771
 msgid "Number of playlists"
 msgstr "Antal spellistor"
 
-#: gtkpod.glade:10940
+#: gtkpod.glade:5797
 msgid "Deleted tracks"
 msgstr "Borttagna spår"
 
-#: gtkpod.glade:10966
+#: gtkpod.glade:5823
 msgid "File size (deleted)"
 msgstr "Filstorlek (borttagna)"
 
-#: gtkpod.glade:10992
+#: gtkpod.glade:5849
 msgid "Non-transferred tracks"
 msgstr "Spår som inte överförts"
 
-#: gtkpod.glade:11018
+#: gtkpod.glade:5875
 msgid "File size (non-transferred)"
 msgstr "Filstorlek (inte överförda)"
 
-#: gtkpod.glade:11044
+#: gtkpod.glade:5901
 msgid "Effective free space"
 msgstr "Verkligt ledigt utrymme"
 
-#: gtkpod.glade:11070
+#: gtkpod.glade:5927
 msgid ""
 "Total\n"
 "(iPod)"
@@ -4360,7 +3734,7 @@
 "Totalt\n"
 "(iPod)"
 
-#: gtkpod.glade:11098
+#: gtkpod.glade:5955
 msgid ""
 "Selected\n"
 "Playlist"
@@ -4368,7 +3742,7 @@
 "Markerad\n"
 "spellista"
 
-#: gtkpod.glade:11126
+#: gtkpod.glade:5983
 msgid ""
 "Displayed\n"
 "Tracks"
@@ -4376,7 +3750,7 @@
 "Visade\n"
 "spår"
 
-#: gtkpod.glade:11154
+#: gtkpod.glade:6011
 msgid ""
 "Selected\n"
 "Tracks"
@@ -4384,7 +3758,7 @@
 "Markerade\n"
 "spår"
 
-#: gtkpod.glade:11182
+#: gtkpod.glade:6039
 msgid ""
 "Total\n"
 "(local)"
@@ -4392,27 +3766,27 @@
 "Totalt\n"
 "(lokalt)"
 
-#: gtkpod.glade:11579
+#: gtkpod.glade:6436
 msgid "label21"
 msgstr "etikett21"
 
-#: gtkpod.glade:11670
+#: gtkpod.glade:6527
 msgid "Never show this dialogue again"
 msgstr "Visa aldrig den här dialogrutan igen"
 
-#: gtkpod.glade:11715 gtkpod.glade:12041
+#: gtkpod.glade:6572 gtkpod.glade:6898
 msgid "window1"
 msgstr "fönster1"
 
-#: gtkpod.glade:11772
+#: gtkpod.glade:6629
 msgid "_M3U"
 msgstr "_M3U"
 
-#: gtkpod.glade:11791
+#: gtkpod.glade:6648
 msgid "_PLS"
 msgstr "_PLS"
 
-#: gtkpod.glade:11829
+#: gtkpod.glade:6686
 msgid ""
 "If available, the local copy of the track is referenced in the playlist. "
 "Otherwise the file on the iPod is used."
@@ -4420,11 +3794,11 @@
 "Om tillgänglig, hänvisar spellistan till den lokala kopian av spåret. Annars "
 "används filen på iPod."
 
-#: gtkpod.glade:11831
+#: gtkpod.glade:6688
 msgid "_Prefer Local"
 msgstr "_Föredra lokal"
 
-#: gtkpod.glade:11849
+#: gtkpod.glade:6706
 msgid ""
 "The local copy of the track is referenced in the playlist. If the track is "
 "not available locally, an error message is displayed."
@@ -4432,31 +3806,31 @@
 "Spellistan hänvisar till den lokala kopian av spåret. Om spåret inte är "
 "tillgängligt lokalt, visas ett felmeddelande."
 
-#: gtkpod.glade:11851
+#: gtkpod.glade:6708
 msgid "_Local"
 msgstr "_Lokal"
 
-#: gtkpod.glade:11870
+#: gtkpod.glade:6727
 msgid "The track on the iPod is referenced in the playlist file."
 msgstr "Spellistan hänvisar till spåret på iPod."
 
-#: gtkpod.glade:11872
+#: gtkpod.glade:6729
 msgid "_iPod"
 msgstr "_iPod"
 
-#: gtkpod.glade:11905
+#: gtkpod.glade:6762
 msgid "Playlist type:"
 msgstr "Typ av spellista:"
 
-#: gtkpod.glade:11930
+#: gtkpod.glade:6787
 msgid "Source:"
 msgstr "Källa:"
 
-#: gtkpod.glade:11969
+#: gtkpod.glade:6826
 msgid "Template for info field: "
 msgstr "Mall för informationsfält:"
 
-#: gtkpod.glade:11990
+#: gtkpod.glade:6847
 msgid ""
 "Determines how the string for the info field should be constructed, e.g '%a/%"
 "A/%T - %t.mp3' or '%o'.  You can separate several templates by semicolons -- "
@@ -4472,15 +3846,15 @@
 "C, år: %Y, ursprungligt filnamn (kräver fil med utökad information): %o, "
 "tecknet '%': %%."
 
-#: gtkpod.glade:12021 gtkpod.glade:12251
+#: gtkpod.glade:6878 gtkpod.glade:7108
 msgid "gtkpod options"
 msgstr "Inställningar för gtkpod"
 
-#: gtkpod.glade:12077
+#: gtkpod.glade:6934
 msgid "Filename Format: "
 msgstr "Filnamnsformat: "
 
-#: gtkpod.glade:12098
+#: gtkpod.glade:6955
 msgid ""
 "Determines the filename of tracks you copy from the iPod, e.g '%a/%A/%T - %t."
 "mp3' or '%o'.  You can separate several patterns by semicolons -- gtkpod "
@@ -4496,11 +3870,11 @@
 "ursprungligt filnamn (kräver fil med utökad information): %o, nuvarande "
 "spellista: %p, tecknet '%': %%."
 
-#: gtkpod.glade:12103
+#: gtkpod.glade:6960
 msgid " "
 msgstr " "
 
-#: gtkpod.glade:12125
+#: gtkpod.glade:6982
 msgid ""
 "Normally the charset specified when first importing the track will be used "
 "for the filename. If you set this option you can set a different charset "
@@ -4517,7 +3891,7 @@
 "importerats innan version 0.51 har ingen teckenkodning lagrad. Istället "
 "används då teckensnittet som anges."
 
-#: gtkpod.glade:12127
+#: gtkpod.glade:6984
 msgid ""
 "Use selected charset (Preferences/'Adding/Updating/ Syncing')\n"
 "for this filename."
@@ -4525,7 +3899,7 @@
 "Använd vald teckenkodning för detta filnamn\n"
 "(Inställningar/'Tillägg, uppdatering, synkronisering')."
 
-#: gtkpod.glade:12146
+#: gtkpod.glade:7003
 msgid ""
 "When copying from iPod no check is performed on whether the destination file "
 "exists. Enabling this option will make gtkpod check whether the length of "
@@ -4537,103 +3911,279 @@
 "från iPod. Om det är fallet hoppas filen över, vilket gör det möjligt att "
 "snabbt synkronisera innehållet i iPod."
 
-#: gtkpod.glade:12148
+#: gtkpod.glade:7005
 msgid "Check for existing files when copying from iPod."
 msgstr "Titta efter befintliga filer vid kopiering från iPod."
 
-#: gtkpod.glade:12312
+#: gtkpod.glade:7169
 msgid "Playlist name:"
 msgstr "Spellistans namn:"
 
-#: gtkpod.glade:12377
+#: gtkpod.glade:7234
 msgid "Match al_l of the following"
 msgstr "Matcha a_lla följande"
 
-#: gtkpod.glade:12396
+#: gtkpod.glade:7253
 msgid "Match an_y of the following"
 msgstr "Matcha _någon av följande"
 
-#: gtkpod.glade:12416
+#: gtkpod.glade:7273
 msgid "_Ignore rules"
 msgstr "_Ignorera regler"
 
-#: gtkpod.glade:12468
+#: gtkpod.glade:7343
 msgid "Rules"
 msgstr "Regler"
 
-#: gtkpod.glade:12501
+#: gtkpod.glade:7376
 msgid "_Limit to"
 msgstr "_Begränsa till"
 
-#: gtkpod.glade:12550
+#: gtkpod.glade:7425
 msgid "   Sort by:"
 msgstr "   Sortera enligt:"
 
-#: gtkpod.glade:12596
+#: gtkpod.glade:7471
 msgid "Match only _checked tracks"
 msgstr "Matcha bara _kryssmarkerade spår"
 
-#: gtkpod.glade:12628
+#: gtkpod.glade:7503
 msgid "Live _updating"
 msgstr "_Uppdatering under tiden"
 
-#: gtkpod.glade:12780
+#: gtkpod.glade:7594
+msgid "Preferences"
+msgstr "Inställningar"
+
+#: gtkpod.glade:7655
 msgid "<b>Import</b>"
 msgstr "<b>Importera</b>"
 
-#: gtkpod.glade:12840
+#: gtkpod.glade:7715
 msgid "iPod Mount _Point:"
 msgstr "iPod monterings_punkt:"
 
-#: gtkpod.glade:12956
+#: gtkpod.glade:7737
+msgid ""
+"Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."
+msgstr ""
+"Platsen du monterade iPod-filsystemet. Oftast '/mnt/ipod' eller något "
+"liknande."
+
+#: gtkpod.glade:7765
+msgid ""
+"On startup gtkpod will call 'mount <ipod mountpoint>', on exit a 'umount "
+"<ipod mountpoint>' call is carried out. For more complicated arrangements "
+"please use the ~/.gtkpod/gtkpod.in and ~/.gtkpod/gtkpod.out scripts."
+msgstr ""
+"Vid start anropar gtkpod 'mount <iPod monteringspunkt>' och vid avslutning "
+"utförs anropet 'umount <iPod monteringspunkt>'. För mer komplicerad "
+"hantering, använd skripten ~/.gtkpod/gtkpod.in och  ~/.gtkpod/gtkpod.out."
+
+#: gtkpod.glade:7767
+msgid "Handle mounting/unmounting of iPod drive"
+msgstr "Hantera montering och avmontering av iPod-enheten"
+
+#: gtkpod.glade:7787
+msgid "Automatically import iTunesDB on startup"
+msgstr "Importera automatiskt iTunes databas vid start"
+
+#: gtkpod.glade:7833
 msgid "<b>Adding/Updating/Syncing</b>"
 msgstr "<b>Tillägg, uppdatering, synkronisering</b>"
 
-#: gtkpod.glade:13016
-msgid "_Charset (ID3, files):"
-msgstr " _Teckenkodning (ID3, filer):"
+#: gtkpod.glade:7893
+msgid "_Encoding (ID3, files):"
+msgstr "_Teckenkodning (ID3, filer):"
 
-#: gtkpod.glade:13085
+#: gtkpod.glade:7924
 msgid ""
-"Use selected charset also when updating \n"
+"gtkpod expects the ID3 tags and the filenames to be in the encoding "
+"specified here. You can change it for consecutive 'Add Files' and 'Add Dirs' "
+"operation. 'System Charset' is the charset used by your current locale."
+msgstr ""
+"ID3-taggar och filnamn förväntas ha kodningen som anges här. Du kan ändra "
+"den för varje enskild användning av 'Lägg till filer' eller 'Lägg till "
+"kataloger'. 'Systemets kodning' är den kodning som används i din aktuella "
+"landsinställning."
+
+#: gtkpod.glade:7961
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to update the track information. If you have chosen a wrong charset when "
+"first importing a track and want to correct it using the 'Update Track' "
+"function, you must check this option. Note: the charset info is stored in "
+"the extended information file (see 'Writing of iTunesDB' below) and tracks "
+"imported before V0.51 will have no charset stored. Instead the charset "
+"specified above will be used then."
+msgstr ""
+"Normalt används teckenkodning som först anges när spåret importeras för att "
+"uppdatera spårinformation. Om du valde fel teckenkodning när spåret först "
+"importerades, och vill rätta det med funktionen 'Uppdatera spår', måste du "
+"markera alternativet. Observera: kodningsinformationen lagras i filen med "
+"utökad information (se 'Skrivning av iTunes databas' nedan) och spår som "
+"importerats innan version 0.51 har ingen teckenkodning lagrad. Istället "
+"används då teckensnittet som anges ovan."
+
+#: gtkpod.glade:7963
+msgid ""
+"Use selected encoding also when updating \n"
 "or syncing tracks"
 msgstr ""
 "Använd också vald kodning vid uppdatering\n"
 "eller synkronisering av spår"
 
-#: gtkpod.glade:13200
+#: gtkpod.glade:7983
+msgid "If you check this, gtkpod will descend into subdirectories recursively."
+msgstr "Om du markerar det här, går gtkpod ner i underkataloger rekursivt."
+
+#: gtkpod.glade:7985
+msgid "Add directories recursively"
+msgstr "Lägg till kataloger rekursivt"
+
+#: gtkpod.glade:8004
+msgid "Duplicate Recognition is based on a (modified) md5 hash over the file."
+msgstr ""
+"Igenkänning av duplikat är baserat på filens (modifierade) MD5-checksumma."
+
+#: gtkpod.glade:8006
+msgid "Don't allow file duplication"
+msgstr "Tillåt inte duplicerade filer"
+
+#: gtkpod.glade:8052
 msgid ""
+"Display the list of duplicates that have been detected after adding files."
+msgstr "Visa listan med upptäckta duplikat efter filer har lagts till."
+
+#: gtkpod.glade:8054
+msgid "Display info about detected duplicates"
+msgstr "Visa information om detekterade duplikat"
+
+#: gtkpod.glade:8080
+msgid ""
+"If the filename (full path) of an existing track matches that of a track to "
+"be added, this option allows you to update the information about the "
+"existing track rather than just skipping the track altogether. No update "
+"will take place if the file hasn't changed and you have selected the 'Don't "
+"allow file duplication' option above."
+msgstr ""
+"Om filnamnet (fullständiga sökvägen) för ett befintligt spår motsvarar ett "
+"spår som ska läggas till, låter det här alternativet dig uppdatera "
+"informationen om det befintliga spåret istället för att bara hoppa över "
+"spåret helt. Ingen uppdatering sker om filen inte har ändrats och du har "
+"valt alternativet 'Tillåt inte duplicerade filer' ovan."
+
+#: gtkpod.glade:8082
+msgid ""
 "When adding dirs/files, update information of\n"
 "existing tracks with identical filenames"
 msgstr ""
 "När kataloger och filer läggs till, uppdatera information\n"
 "om befintliga spår med identiska filnamn"
 
-#: gtkpod.glade:13383
+#: gtkpod.glade:8129
+msgid "Display a list of tracks that could actually be updated."
+msgstr "Visa en lista med spår som skulle kunna uppdateras."
+
+#: gtkpod.glade:8131
+msgid "Display info about updated tracks"
+msgstr "Visa information om uppdaterade spår"
+
+#: gtkpod.glade:8184
+msgid "Display a list of tracks that could not be updated."
+msgstr "Visa en lista med spår som inte kunde uppdateras."
+
+#: gtkpod.glade:8186
+msgid "Display info about non-updated tracks"
+msgstr "Visa information om spår som inte uppdaterats"
+
+#: gtkpod.glade:8212
+msgid "When syncing directories"
+msgstr "Vid synkronisering av kataloger"
+
+#: gtkpod.glade:8267
 msgid "Confirm lists of directories"
 msgstr "Bekräfta lista med kataloger"
 
-#: gtkpod.glade:13483
+#: gtkpod.glade:8286
+msgid ""
+"If you check this option, tracks that have been removed from the synced "
+"directories will be removed from the iPod as well."
+msgstr ""
+"Om du markerar det här alternativet, kommer spår som har tagits bort i de "
+"synkroniserade katalogerna också att tas bort från iPod."
+
+#: gtkpod.glade:8288
+msgid "Delete tracks that have been removed"
+msgstr "Ta bort spår som inte längre finns"
+
+#: gtkpod.glade:8307
+msgid "This is the same option as in 'Edit/Delete Confirmation'"
+msgstr "Det här är samma alternativ som i 'Redigera/Bekräfta "
+
+#: gtkpod.glade:8309
+msgid "Confirm before removing tracks"
+msgstr "Bekräfta innan spår tas bort"
+
+#: gtkpod.glade:8369
 msgid "<b>Sync</b>"
 msgstr "<b>Synkronisera</b>"
 
-#: gtkpod.glade:13577
-msgid "General"
-msgstr "Allmänt"
+#: gtkpod.glade:8417
+msgid ""
+"Highly recommended for faster import when taking advantage of the "
+"duplication recognition. Also, having the PC filenames allows writing "
+"changed ID3 tags to disk, and even to reconstruct your ipod's contents in "
+"case of file system corruption (change the \"transferred=\" entries in your "
+"backuped database)."
+msgstr ""
+"Rekommenderas starkt för snabbare import när funktionen för att känna igen "
+"duplikat utnyttjas. Dessutom blir det möjligt att skriva ändrade ID3-taggar "
+"till disk när PC-filnamnen behålls, eller till och med att återskapa "
+"innehållet i iPod om filsystemet blir skadat (ändra raderna \"transferred=\" "
+"i den säkerhetskopierade databasen)."
 
-#: gtkpod.glade:13609
+#: gtkpod.glade:8419
+msgid ""
+"Write extended information (PC filenames,\n"
+" MD5 hashes, encoding). Recommended."
+msgstr ""
+"Skriv utökad information (PC-filnamn, MD5-\n"
+"checksummor, teckenkodning). Rekommenderas."
+
+#: gtkpod.glade:8463 gtkpod.glade:14969
+msgid "_General"
+msgstr "_Allmänt"
+
+#: gtkpod.glade:8495
 msgid "<b>Tag Reading</b>"
 msgstr "<b>Taggläsning</b>"
 
-#: gtkpod.glade:13685
+#: gtkpod.glade:8550
+msgid "Read tags from file contents (e.g. ID3 tags in MP3 files)"
+msgstr "Läs spår från filinnehåll (t.ex. ID3-taggar i MP3-filer)"
+
+#: gtkpod.glade:8569 gtkpod.glade:8906
+msgid ""
+"artist: %a, album: %A, composer: %c, title: %t, genre: %G, track nr: %T, CD "
+"nr: %C, year: %Y, skip data: %*, the character '%': %%. You can separate "
+"several templates by a ';'. The first one matching the filename will be "
+"used. Example: '%a - %A/%T %t.mp3;%t.wav'."
+msgstr ""
+"artist: %a, album: %A, kompositör: %c, titel: %t, genre: %G, spårnummer: %T, "
+"cd-nummer: %C, år: %Y, hoppa över data: %*, tecknet '%': %%. Du kan skilja "
+"flera mallar åt med ';'. Den första som stämmer med filnamnet används. "
+"Exempel: '%a - %A/%T %t.mp3;%t.wav'."
+
+#: gtkpod.glade:8571
 msgid "Use this template to parse filename for tag information:"
 msgstr "Använd mallen för att tolka filnamnet som tagginformation:"
 
-#: gtkpod.glade:13758
+#: gtkpod.glade:8644
 msgid "Overwrite tags that are already set"
 msgstr "Skriv över taggar som redan är angivna"
 
-#: gtkpod.glade:13791
+#: gtkpod.glade:8677
 msgid ""
 "As a last resort set the following tags to the\n"
 "filename if they are (still) empty:"
@@ -4641,112 +4191,376 @@
 "Om följande taggar (fortfarande) är tomma,\n"
 "lagra filnamnet i dem som en sista utväg:"
 
-#: gtkpod.glade:13966
+#: gtkpod.glade:8852
+msgid "<b>Artwork</b>"
+msgstr "<b>Omslag</b>"
+
+#: gtkpod.glade:8908
+msgid "Add artwork from file using the following template"
+msgstr "Lägg till omslag från fil med följande mall"
+
+#: gtkpod.glade:8960
+msgid ""
+"Determines the name of the file with the cover art. You can separate several "
+"patterns by semicolons which will be tried in order. Artist: %a, album: %A, "
+"composer: %c, title: %t, genre: %G, track nr: %T, CD nr: %C, year: %Y, "
+"original filename (requires extended information file): %o, original "
+"filename without file extension: %O, current playlist: %p, the character "
+"'%': %%."
+msgstr ""
+"Avgör namn på filen med omslagsbilden. Du kan skilja flera mönster åt med "
+"semikolon, som används i tur och ordning. Artist: %a, album: %A, kompositör: "
+"%c, titel: %t, genre: %G, spårnummer: %T, cd-nummer: %C, år: %Y, "
+"ursprungligt filnamn (kräver fil med utökad information): %o, ursprungligt "
+"filnamn utan filändelse: %O, nuvarande spellista: %p, tecknet '%': %%."
+
+#: gtkpod.glade:8981
+msgid "<b>Examples</b>"
+msgstr "<b>Exempel</b>"
+
+#: gtkpod.glade:9011
+msgid "folder.jpg"
+msgstr "katalog.jpg"
+
+#: gtkpod.glade:9035
+msgid "folder"
+msgstr "katalog"
+
+#: gtkpod.glade:9059
+msgid "../%A.jpg"
+msgstr "../%A.jpg"
+
+#: gtkpod.glade:9083
+msgid "%A"
+msgstr "%A"
+
+#: gtkpod.glade:9107
+msgid "Use <i>folder.jpg</i> as cover art."
+msgstr "Använd <i>katalog.jpg</i> som omslagsbild."
+
+#: gtkpod.glade:9131
+msgid "Use <i>folder.jpg</i>, <i>folder.png</i>..."
+msgstr "Använd <i>katalog.jpg</i>, <i>katalog.png</i>..."
+
+#: gtkpod.glade:9155
+msgid "Use <i>&lt;Album&gt;.jpg</i> in the parent directory"
+msgstr "Använd <i>&lt;Album&gt;.jpg</i> i överliggande katalog"
+
+#: gtkpod.glade:9179
+msgid "Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+msgstr "Använd <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>..."
+
+#: gtkpod.glade:9203
+msgid "folder.jpg;%a.jpg"
+msgstr "katalog.jpg;%a.jpg"
+
+#: gtkpod.glade:9227
+msgid "First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i>"
+msgstr ""
+"Försök först med <i>katalog.jpg</i>, därefter med <i>&lt;artist&gt;.jpg</i>"
+
+#: gtkpod.glade:9311
 msgid "<b>mserv</b>"
 msgstr "<b>mServ</b>"
 
-#: gtkpod.glade:14022
+#: gtkpod.glade:9365 gtkpod.glade:9579
+msgid "Currently only rating is supported."
+msgstr "För närvarande stöds bara ett betyg"
+
+#: gtkpod.glade:9367
 msgid "Use mserv database to fill additional information"
 msgstr "Använd mserv databas för att fylla i ytterligare information"
 
-#: gtkpod.glade:14050
+#: gtkpod.glade:9395
 msgid "Music Root:"
 msgstr "Musikrot:"
 
-#: gtkpod.glade:14096
+#: gtkpod.glade:9419
+msgid "mserv database lookup will be done for music in this directory."
+msgstr "Uppslagning av musik för mserv databasen görs i den här katalogen."
+
+#: gtkpod.glade:9441
 msgid "mserv Root:"
 msgstr "Rot för mserv:"
 
-#: gtkpod.glade:14142
+#: gtkpod.glade:9465
+msgid "Root directory of mserv database (trackinfo root)."
+msgstr "Rotkatalog för mserv databasen (rot för spårinformation)."
+
+#: gtkpod.glade:9487
 msgid "Username:"
 msgstr "Användarnamn:"
 
-#: gtkpod.glade:14190 gtkpod.glade:14209 gtkpod.glade:16592 gtkpod.glade:16661
-#: gtkpod.glade:16805 gtkpod.glade:16956 gtkpod.glade:17020 gtkpod.glade:17084
+#: gtkpod.glade:9511
+msgid "Username to be used for mserv database lookup."
+msgstr "Användarnamn att använda vid uppslagning i mserv databasen."
+
+#: gtkpod.glade:9535 gtkpod.glade:9554 gtkpod.glade:12102 gtkpod.glade:12172
+#: gtkpod.glade:12317 gtkpod.glade:12490 gtkpod.glade:12555 gtkpod.glade:12620
 msgid "Browse"
 msgstr "Bläddra"
 
-#: gtkpod.glade:14282
-msgid "Reading"
-msgstr "Läsning"
+#: gtkpod.glade:9581
+msgid "Show information about problems when accessing mserv"
+msgstr "Visa information om problem vid användning av mserv"
 
-#: gtkpod.glade:14328
+#: gtkpod.glade:9627
+msgid "_Track Info"
+msgstr "_Spårinformation"
+
+#: gtkpod.glade:9673
 msgid "<b>Displayed Track Attributes</b>"
 msgstr "<b>Visade spåregenskaper</b>"
 
-#: gtkpod.glade:14978
+#: gtkpod.glade:10460
 msgid "<b>Sort Tabs</b>"
 msgstr "<b>Sorteringsflikar</b>"
 
-#: gtkpod.glade:15038
+#: gtkpod.glade:10514
+msgid "Keeps all compilation CDs grouped together in the artists sort tab."
+msgstr ""
+"Behåller alla samlingsskivor grupperade tillsammans i sorteringsfliken för "
+"artister"
+
+#: gtkpod.glade:10516
+msgid "Group artists on compilation CDs"
+msgstr "Gruppera artister på samlingsskivor"
+
+#: gtkpod.glade:10541
 msgid "_Number of sort tabs:"
 msgstr "A_ntal sorteringsflikar:"
 
-#: gtkpod.glade:15114
+#: gtkpod.glade:10617
 msgid "<b>Automatically select...</b>"
 msgstr "<b>Välj automatiskt...</b>"
 
-#: gtkpod.glade:15271
+#: gtkpod.glade:10671
+msgid ""
+"If you don't select the master playlist automatically, the initial database "
+"import is much faster because the display dosn't have to be updated."
+msgstr ""
+"Om du inte väljer huvudspellistan automatiskt, går den ursprungliga importen "
+"av databasen mycket snabbare eftersom skärmen inte behöver uppdateras."
+
+#: gtkpod.glade:10673
+msgid "...master playlist"
+msgstr "...huvudspellista"
+
+#: gtkpod.glade:10693
+msgid "...entry 'All' in sort tab..."
+msgstr "...raden 'Alla' i sorteringsflikar"
+
+#: gtkpod.glade:10774
 msgid "<b>Tooltips</b>"
 msgstr "<b>Verktygstips</b>"
 
-#: gtkpod.glade:15392
+#: gtkpod.glade:10829
+msgid "Display tooltips in main window"
+msgstr "Visa verktygstips i huvudfönstret"
+
+#: gtkpod.glade:10849
+msgid "Display tooltips in prefs window"
+msgstr "Visa verktygstips i inställningsfönstret"
+
+#: gtkpod.glade:10895
 msgid "<b>Toolbar</b>"
 msgstr "<b>Verktygsrad</b>"
 
-#: gtkpod.glade:15602
+#: gtkpod.glade:10950
+msgid "Display toolbar..."
+msgstr "Visa verktygsrad..."
+
+#: gtkpod.glade:11003
+msgid "...as icons"
+msgstr "...som ikoner"
+
+#: gtkpod.glade:11023
+msgid "...as text"
+msgstr "...som text"
+
+#: gtkpod.glade:11044
+msgid "...both as icons and text"
+msgstr "...både som ikoner och text"
+
+#: gtkpod.glade:11105
 msgid "<b>Misc</b>"
 msgstr "<b>Diverse</b>"
 
-#: gtkpod.glade:15764
+#: gtkpod.glade:11159
+msgid ""
+"It is much faster to sort the display after all tracks have been added. Some "
+"people might feel irritated by this behaviour and should uncheck this option."
+msgstr ""
+"Det går mycket snabbare att sortera skärmen efter alla spår har lagts till. "
+"Några personer kanske känner sig irriterade av detta beteende, och kan då "
+"avmarkera alternativet."
+
+#: gtkpod.glade:11161
+msgid ""
+"Temporarily disable sorting when changing playlist\n"
+"or tab entry (faster!)"
+msgstr ""
+"Inaktivera sortering tillfälligt när spellistor\n"
+"eller flikar ändras (snabbare)"
+
+#: gtkpod.glade:11181
+msgid ""
+"The display can be blocked after changing a selection. The display update is "
+"faster, but you have to wait until it's finished. When using this option, "
+"sorting is also temporarily disabled (see option above)."
+msgstr ""
+"Skärmen kan blockeras efter en markering ändrats. Skärmuppdateringen blir "
+"snabbare, men du måste vänta till den är klar. När du använder det här "
+"alternativet är sortering också tillfälligt avstängd (se alternativet ovan)."
+
+#: gtkpod.glade:11183
+msgid ""
+"Block display when changing playlist or tab\n"
+" entry (faster!)"
+msgstr ""
+"Blockera skärmen när spellistor\n"
+"eller flikar ändras (snabbare)"
+
+#: gtkpod.glade:11203
+msgid "This option will be re-activated when you upgrade gtkpod."
+msgstr "Det här alternativet aktiveras igen när du uppdaterar gtkpod."
+
+#: gtkpod.glade:11205
+msgid "Display messages and warnings at startup"
+msgstr "Visa meddelanden och varningar vid start"
+
+#: gtkpod.glade:11267
 msgid "Advanced Sorting Options"
 msgstr "Avancerade sorteringsalternativ"
 
-#: gtkpod.glade:15827
-msgid "Display"
-msgstr "Visa"
-
-#: gtkpod.glade:15859
+#: gtkpod.glade:11362
 msgid "<b>Track Editing</b>"
 msgstr "<b>Spårredigering</b>"
 
-#: gtkpod.glade:15967
+#: gtkpod.glade:11416
 msgid ""
-"Use selected charset (on the 'General' page)\n"
+"The tags are written to the files on your harddrive and on the ipod (if "
+"available)."
+msgstr ""
+"Taggarna skrivs till filer på din hårddisk och på iPod (om tillgänglig)."
+
+#: gtkpod.glade:11418
+msgid "Write ID3 tags to disk when modified in gtkpod"
+msgstr "Skriv ID3-taggar till disk när de ändrats i gtkpod"
+
+#: gtkpod.glade:11470
+msgid ""
+"Normally the charset specified when first importing the track will be used "
+"to write the tags. If you have chosen a wrong charset when first importing a "
+"track, you should select this option along with the correct charset.  Note: "
+"uses the extended information file to store the charset information (see "
+"'Writing of the iTunesDB' on the 'Input/Output' page) and tracks imported "
+"before V0.51 will have no charset stored -- the charset specified on the "
+"'Input/Output' page will be used."
+msgstr ""
+"Normalt används teckenkodning som först anges när spåret importeras för att "
+"skriva taggarna. Om du valde fel teckenkodning när spåret först "
+"importerades, ska du markera det här alternativet tillsammans med den "
+"riktiga teckenkodningen. Observera: använder filen med utökad information "
+"för att lagra kodningsinformation (se 'Skrivning av iTunes databas' på sidan "
+"'In- och utmatning') och spår som importerats innan version 0.51 har ingen "
+"teckenkodning lagrad. Istället används då teckensnittet som anges på sidan "
+"'In- och utmatning'."
+
+#: gtkpod.glade:11472
+msgid ""
+"Use selected encoding (on the 'General' page)\n"
 "when writing tags"
 msgstr ""
 "Använd vald teckenkodning (från sidan 'Allmänt')\n"
 "vid skrivning av taggar"
 
-#: gtkpod.glade:16022
+#: gtkpod.glade:11492
+msgid ""
+"This is the way to go, but maybe not all programs support it yet. ID3v2.4 "
+"uses unicode to store the tags, so you won't have to worry about charsets "
+"any more. gtkpod will use UTF8 encoding as this will not increase the size "
+"of pure ASCII tags. ID3v2.2/4 tags will also be written if they are already "
+"present in the file to write to."
+msgstr ""
+"Det här är rätt metod, men kanske stöder inte alla program det ännu. ID3v2.4 "
+"använder Unicode för att lagra taggar, så du behöver inte längre bekymra dig "
+"om teckenkodning. Kodningen UTF8 används av gtkpod, om den inte ökar "
+"storleken av rena ASCII-taggar. ID3v2.2/4-taggar skrivs också om de redan "
+"finns i filen som skrivs."
+
+#: gtkpod.glade:11494
+msgid "Always write ID3v2.4 tags (only applies to MP3)"
+msgstr "Skriv alltid ID3v2.4-taggar (gäller bara MP3)"
+
+#: gtkpod.glade:11527
+msgid ""
+"If you select several tracks in the track list and edit a tag of the first "
+"track, the tags in the other tracks are updated as well."
+msgstr ""
+"Om du markerar flera spår i spårlistan och redigerar taggen för det första "
+"spåret, uppdateras också taggarna för övriga spår."
+
+#: gtkpod.glade:11529
 msgid "Use 'Multi-Edit' for tracks selections"
 msgstr "Använd 'Redigera flera' för markerade spår"
 
-#: gtkpod.glade:16122
+#: gtkpod.glade:11575
+msgid ""
+"Usually you don't want to set the title of several tracks to the same text. "
+"This option might avoid unwanted results (especially since there is no "
+"'undo' yet)."
+msgstr ""
+"Oftast vill du inte ange titeln för flera spår till samma text. Det här "
+"alternativet kan undvika oönskade resultat (särskilt eftersom funktionen "
+"'Ångra' inte finns ännu)."
+
+#: gtkpod.glade:11577
+msgid "Use 'Multi-Edit' also for title field"
+msgstr "Använd också 'Redigera flera' för titelfältet"
+
+#: gtkpod.glade:11630
 msgid "<b>Auto-Generated Playlists</b>"
 msgstr "<b>Automatiskt skapade spellistor</b>"
 
-#: gtkpod.glade:16182
+#: gtkpod.glade:11690
 msgid "Number of tracks in generated playlists:"
 msgstr "Antal spår i skapade spellistor:"
 
-#: gtkpod.glade:16277
+#: gtkpod.glade:11711
+msgid ""
+"Number of tracks in the generated playlists 'Most Often Listened', 'Best "
+"Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."
+msgstr ""
+"Antal spår i de skapade spellistorna 'oftast lyssnats på', 'med bäst betyg' "
+"och 'nyligen spelats'. Ange '0' för 'ingen begränsning'."
+
+#: gtkpod.glade:11740
+msgid "Also include tracks never played in \"Best Rated\" playlist"
+msgstr ""
+"Inkludera också spår som aldrig spelats i spellistan \"med bäst betyg\""
+
+#: gtkpod.glade:11786
 msgid "<b>Delete Confirmation</b>"
 msgstr "<b>Bekräfta borttagning</b>"
 
-#: gtkpod.glade:16352
+#: gtkpod.glade:11841
+msgid "Before removing playlists or tracks from a playlist"
+msgstr "Innan spellistor eller spår tas bort från en spellista"
+
+#: gtkpod.glade:11861
 msgid "Before removing tracks from the iPod"
 msgstr "Innan spår tas bort från iPod"
 
-#: gtkpod.glade:16372
+#: gtkpod.glade:11881
 msgid "Before removing tracks from the harddisk"
 msgstr "Innan spår tas bort från hårddisken"
 
-#: gtkpod.glade:16392
+#: gtkpod.glade:11901
 msgid "Before removing tracks from the local database"
 msgstr "Innan spår tas bort från den lokala databasen"
 
-#: gtkpod.glade:16412
+#: gtkpod.glade:11921
 msgid ""
 "Before removing tracks completely when\n"
 "synchronizing directories"
@@ -4754,47 +4568,228 @@
 "Innan spår tas bort helt vid\n"
 "synkronisering av kataloger"
 
-#: gtkpod.glade:16491
+#: gtkpod.glade:12000
 msgid "<b>Play</b>"
 msgstr "<b>Spela</b>"
 
-#: gtkpod.glade:16551
+#: gtkpod.glade:12060
 msgid "Command for 'Play now':"
 msgstr "Kommando för 'Spela nu':"
 
-#: gtkpod.glade:16620
+#: gtkpod.glade:12081
+msgid ""
+"For example, 'xmms %s' will clear xmms' current playlist, add the selected "
+"tracks and start playing."
+msgstr ""
+"Till exempel rensas XMM:s nuvarande spellista, de markerade spåren läggs "
+"till och uppspelning startar med 'xmms %s'."
+
+#: gtkpod.glade:12130
 msgid "Command for 'Enqueue':"
 msgstr "Kommando för 'Köa':"
 
-#: gtkpod.glade:16710
+#: gtkpod.glade:12151
+msgid ""
+"For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' "
+"current playlist."
+msgstr ""
+"Till exempel läggs de markerade spåren till sist i XMM:s nuvarande spellista "
+"(köas) med 'xmms -e %s'."
+
+#: gtkpod.glade:12221
 msgid "<b>Volume Normalization</b>"
 msgstr "<b>Normalisering av volym</b>"
 
-#: gtkpod.glade:16764
+#: gtkpod.glade:12275
 msgid "'mp3gain' executable:"
 msgstr "Körbart program 'mp3gain':"
 
-#: gtkpod.glade:16847
+#: gtkpod.glade:12296
+msgid ""
+"You only need to specify this if your 'mp3gain' executable is not in your "
+"default path. Example: '/usr/local/foo/mp3gain'. mp3gain will write the "
+"calculated gain value back to the file -- if you don't want this, set this "
+"entry to /bin/true or similar. mp3gain is only called if appropriate tags "
+"are not already set by your encoder. E.g. lame version 0.95 already writes "
+"the gain values into tags. The exact conversion factor between mp3gain's "
+"gain value and iPod's volume tag is not known yet -- your input is "
+"appreciated."
+msgstr ""
+"Du behöver bara ange det här om det körbara programmet 'mp3gain' inte finns "
+"i din standardsökväg. Till exempel '/usr/local/foo/mp3gain'. mp3gain skriver "
+"tillbaka det beräknade nivåvärdet i filen. Om du inte vill det, ange "
+"alternativet som /bin/true eller något liknande. mp3gain anropas bara om "
+"lämpliga taggar inte redan angivits av kodaren. Version 0.95 av lame skriver "
+"till exempel redan nivåvärden i taggar. Det exakta konverteringsvärdet "
+"mellan nivåvärdet från mp3gain och volymtaggen i iPod är inte ännu känt: "
+"återmatning från dig uppskattas."
+
+#: gtkpod.glade:12359
 msgid "<b>Synchronization</b>"
 msgstr "<b>Synkronisering</b>"
 
-#: gtkpod.glade:16910
+#: gtkpod.glade:12443
 msgid "Contacts sync command:"
 msgstr "Synkroniseringskommando för kontakter:"
 
-#: gtkpod.glade:16974
+#: gtkpod.glade:12467 gtkpod.glade:12532 gtkpod.glade:12597
+msgid ""
+"Specify exact path including command line options. '%i' will be replaced "
+"with the mount point of the iPod."
+msgstr ""
+"Ange fullständig sökväg inklusive kommandoradsväljare. '%i' ersätts med "
+"monteringspunkten för iPod."
+
+#: gtkpod.glade:12508
 msgid "Calendar sync command:"
 msgstr "Synkroniseringskommando för kalender:"
 
-#: gtkpod.glade:17038
+#: gtkpod.glade:12573
 msgid "Notes sync command:"
 msgstr "Synkroniseringskommando för anteckningar:"
 
-#~ msgid "Couldn't find pixmap file: %s"
-#~ msgstr "Kunde inte hitta punktavbildningsfil: %s"
+#: gtkpod.glade:12646
+msgid "Call automatically when synchronizing iTunesDB"
+msgstr "Anropa automatiskt vid synkronisering av iTunes databas"
 
-#~ msgid "Copy from iPod"
-#~ msgstr "Kopiera från iPod"
+#: gtkpod.glade:12724
+msgid "<b>Podcast subscriptions</b>"
+msgstr "<b>Prenumeration på podradiosändningar</b>"
 
-#~ msgid "Copy _Tracks from iPod"
-#~ msgstr "Kopiera s_pår från iPod"
+#: gtkpod.glade:12799
+msgid "Add"
+msgstr "Lägg till"
+
+#: gtkpod.glade:12833
+msgid "Delete"
+msgstr "Ta bort"
+
+#: gtkpod.glade:12899
+msgid "Name: "
+msgstr "Namn: "
+
+#: gtkpod.glade:12923
+msgid "URL: "
+msgstr "Webbadress: "
+
+#: gtkpod.glade:13016
+msgid "<b>File options</b>"
+msgstr "<b>Inställningar av filer</b>"
+
+#: gtkpod.glade:13076
+msgid "Save podcasts to: "
+msgstr "Spara podradiosändningar i: "
+
+#: gtkpod.glade:13131
+msgid "Delete from computer when "
+msgstr "Ta bort från datorn när "
+
+#: gtkpod.glade:13171 gtkpod.glade:13473
+msgid " days old"
+msgstr " dagar gammal"
+
+#: gtkpod.glade:13200
+msgid "Delete once copied to iPod"
+msgstr "Ta bort efter kopiering till iPod"
+
+#: gtkpod.glade:13226
+msgid "Automatically fetch podcasts on startup"
+msgstr "Hämta automatiskt podradiosändningar vid start"
+
+#: gtkpod.glade:13253
+msgid "Create podcast logfile at:"
+msgstr "Skapa loggfil för podradiosändningar på:"
+
+#: gtkpod.glade:13353
+msgid "<b>iPod options</b>"
+msgstr "<b>Inställningar av iPod</b>"
+
+#: gtkpod.glade:13408
+msgid "Automatically sync to iPod"
+msgstr "Synkronisera automatiskt med iPod"
+
+#: gtkpod.glade:13434
+msgid "Delete from iPod when "
+msgstr "Ta bort från iPod när "
+
+#: gtkpod.glade:13502
+msgid "Delete from iPod if podcast has been played"
+msgstr "Ta bort från iPod om podradiosändning har spelats"
+
+#: gtkpod.glade:13522
+msgid "Include broadcast date in track title"
+msgstr "Inkludera sändningsdatum i spårtitel"
+
+#: gtkpod.glade:13542
+msgid "Set all podcast genres to 'Podcast'"
+msgstr "Ställ in alla podradiosändningars genre till 'Podradio'"
+
+#: gtkpod.glade:13588 gtkpod.glade:15341
+msgid "_Podcasts"
+msgstr "_Podradiosändningar"
+
+#: gtkpod.glade:13753
+msgid ""
+"\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+
+#: gtkpod.glade:13787
+msgid "Abort selected"
+msgstr "Avbryt markerade"
+
+#: gtkpod.glade:13803
+msgid "Abort current"
+msgstr "Avbryt nuvarande"
+
+#: gtkpod.glade:13819
+msgid "Abort all"
+msgstr "Avbryt alla"
+
+#: gtkpod.glade:13843
+msgid "Details"
+msgstr "Detaljinformation"
+
+#: gtkpod.glade:13904
+msgid "Cover"
+msgstr "Omslag"
+
+#: gtkpod.glade:13989
+msgid "Set Cover Art"
+msgstr "Ange omslagsbild"
+
+#: gtkpod.glade:14022
+msgid ""
+"If you check this, information (cover art and meta information) changed for "
+"this track will be copied to all other selected tracks as well. Use with "
+"care."
+msgstr ""
+"Om du markerar detta, kopieras information (omslagsbild och metainformation) "
+"som ändrats för spåret också till alla andra markerade spår. Använd med "
+"försiktighet."
+
+#: gtkpod.glade:14068
+msgid ""
+"Change all tracks\n"
+"simultaneously"
+msgstr ""
+"Ändra alla spår\n"
+"samtidigt"
+
+#: gtkpod.glade:14156
+msgid "Remove Cover Art"
+msgstr "Ta bort omslagsbild"
+
+#: gtkpod.glade:16245
+msgid "_Other"
+msgstr "Ö_vriga"
+
+#: gtkpod.glade:16535
+msgid "_Undo All"
+msgstr "Ã…_ngra alla"
+
+#: gtkpod.glade:16605
+msgid "_Undo Track"
+msgstr "Å_ngra spår"

Modified: gtkpod/trunk/scripts/Makefile.am
===================================================================
--- gtkpod/trunk/scripts/Makefile.am	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/scripts/Makefile.am	2005-12-30 07:31:41 UTC (rev 94)
@@ -9,10 +9,14 @@
 	sync-evocalendar.sh \
 	sync-evolution.sh \
 	sync-kaddressbook.sh \
+	sync-knotes.sh \
 	sync-korganizer.sh \
+	sync-ldif.sh \
 	sync-notes.sh \
+	sync-palm-jppy.py \
 	sync-thunderbird.sh \
 	sync-webcalendar.sh \
+	ldif2vcf.sh \
 	mab2vcard
 
 # these scripts will go in the distribution. Actually, if they are to

Modified: gtkpod/trunk/scripts/Makefile.in
===================================================================
--- gtkpod/trunk/scripts/Makefile.in	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/scripts/Makefile.in	2005-12-30 07:31:41 UTC (rev 94)
@@ -151,10 +151,14 @@
 	sync-evocalendar.sh \
 	sync-evolution.sh \
 	sync-kaddressbook.sh \
+	sync-knotes.sh \
 	sync-korganizer.sh \
+	sync-ldif.sh \
 	sync-notes.sh \
+	sync-palm-jppy.py \
 	sync-thunderbird.sh \
 	sync-webcalendar.sh \
+	ldif2vcf.sh \
 	mab2vcard
 
 

Copied: gtkpod/trunk/scripts/ldif2vcf.sh (from rev 91, gtkpod/branches/upstream/current/scripts/ldif2vcf.sh)

Copied: gtkpod/trunk/scripts/sync-knotes.sh (from rev 91, gtkpod/branches/upstream/current/scripts/sync-knotes.sh)

Copied: gtkpod/trunk/scripts/sync-ldif.sh (from rev 91, gtkpod/branches/upstream/current/scripts/sync-ldif.sh)

Copied: gtkpod/trunk/scripts/sync-palm-jppy.py (from rev 91, gtkpod/branches/upstream/current/scripts/sync-palm-jppy.py)

Modified: gtkpod/trunk/scripts/sync-thunderbird.sh
===================================================================
--- gtkpod/trunk/scripts/sync-thunderbird.sh	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/scripts/sync-thunderbird.sh	2005-12-30 07:31:41 UTC (rev 94)
@@ -7,13 +7,20 @@
 # 
 # sync-thunderbird.sh [-i <ipod mountpoint>] [-e <encoding>]
 #                      [-d <path to thunderbird address book>]
+#                      [-n <name of exported file>]
 #
-# (specify '-d' if your thunderbird address book is not in ~/.thunderbird/)
+# specify '-d' if your thunderbird address book is not in
+# ~/.thunderbird/
 #
+# specify '-n' if you want to export more than one address book
+# (otherwise the second call to this script will overwrite the output
+# of the first call)
+
 # with the following defaults: 
 
 IPOD_MOUNT=/media/ipod         # mountpoint of ipod
 ENCODING=ISO-8859-15         # encoding used by ipod
+NAME=thunderbird             # default file export name
 
 # Unless called with "-e=none" this script requires "recode" available
 # from ftp://ftp.iro.umontreal.ca/pub/recode/recode-3.6.tar.gz
@@ -49,13 +56,14 @@
 
 
 # overwrite default settings with optional command line arguments
-while getopts i:d:e: option; do
+while getopts i:d:e:n: option; do
     case $option in
         i) IPOD_MOUNT=$OPTARG;;
         d) THUNPATH=$OPTARG;;
         e) ENCODING=$OPTARG;;
+	n) NAME=$OPTARG;;
         
-        \?) echo "Usage: `basename $0 ` [-i <ipod mountpoint>] [-e <encoding>] [-d <path to thunderbird address book>]"
+        \?) echo "Usage: `basename $0 ` [-i <ipod mountpoint>] [-e <encoding>] [-d <path to thunderbird address book>] [-n <name of exported file>]"
 	    exit 1;;
     esac
 done
@@ -75,5 +83,5 @@
 
 # remove all empty lines and recode if necessary
 echo -n "Syncing iPod ... [Contacts] "
-$MAB2VCARD $THUNPATH | grep -v '^[[:space:]]$\|^$' | $RECODE > $IPOD_MOUNT/Contacts/thunderbird
+$MAB2VCARD $THUNPATH | grep -v '^[[:space:]]$\|^$' | $RECODE > $IPOD_MOUNT/Contacts/${NAME}.vcf
 echo "done!"

Modified: gtkpod/trunk/src/Makefile.am
===================================================================
--- gtkpod/trunk/src/Makefile.am	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/Makefile.am	2005-12-30 07:31:41 UTC (rev 94)
@@ -25,18 +25,6 @@
 ## so this should be portable
 LEX_OUTPUT_ROOT = lex.yy
 
-# itdb is a simple test program for reading and writing the iTunesDB.
-# Use it as an example to learn how to read and write the iTunesDB
-# in your own project.
-#itdb_SOURCES = \
-#	itdb_main.c \
-#	itdb.h \
-#	itdb_itunesdb.c \
-#	itdb_playlist.c \
-#	itdb_private.h \
-#	itdb_track.c
-#
-#itdb_LDADD = @PACKAGE_LIBS@ $(INTLLIBS) @LIBOBJS@
 
 gtkpod_SOURCES = \
     charset.c charset.h \
@@ -44,6 +32,7 @@
     confirmation.c confirmation.h \
     context_menus.c context_menus.h \
     date_parser.l date_parser2.l date_parser.h \
+    details.c details.h \
     display.c display_playlists.c display_sorttabs.c \
     display.h display_private.h \
     display_itdb.c display_itdb.h \
@@ -52,7 +41,7 @@
     file_itunesdb.c \
     fileselection.h fileselection.c \
     info.c info.h \
-    itdb_itunesdb.c itdb_playlist.c  itdb_track.c itdb_private.h itdb.h \
+    itdb.h \
     main.c \
     md5.c md5.h \
     misc.c misc.h \
@@ -61,6 +50,7 @@
     misc_track.c misc_track.h \
     mp3file.c mp3file.h \
     mp4file.c mp4file.h \
+    podcast.c podcast.h \
     prefs.c prefs.h \
     prefs_window.c prefs_window.h \
     tools.c tools.h \

Modified: gtkpod/trunk/src/Makefile.in
===================================================================
--- gtkpod/trunk/src/Makefile.in	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/Makefile.in	2005-12-30 07:31:41 UTC (rev 94)
@@ -160,25 +160,13 @@
         ../pixmaps/gtkpod.gladep
 
 
-
-# itdb is a simple test program for reading and writing the iTunesDB.
-# Use it as an example to learn how to read and write the iTunesDB
-# in your own project.
-#itdb_SOURCES = \
-#	itdb_main.c \
-#	itdb.h \
-#	itdb_itunesdb.c \
-#	itdb_playlist.c \
-#	itdb_private.h \
-#	itdb_track.c
-#
-#itdb_LDADD = @PACKAGE_LIBS@ $(INTLLIBS) @LIBOBJS@
 gtkpod_SOURCES = \
     charset.c charset.h \
     clientserver.c clientserver.h \
     confirmation.c confirmation.h \
     context_menus.c context_menus.h \
     date_parser.l date_parser2.l date_parser.h \
+    details.c details.h \
     display.c display_playlists.c display_sorttabs.c \
     display.h display_private.h \
     display_itdb.c display_itdb.h \
@@ -187,7 +175,7 @@
     file_itunesdb.c \
     fileselection.h fileselection.c \
     info.c info.h \
-    itdb_itunesdb.c itdb_playlist.c  itdb_track.c itdb_private.h itdb.h \
+    itdb.h \
     main.c \
     md5.c md5.h \
     misc.c misc.h \
@@ -196,6 +184,7 @@
     misc_track.c misc_track.h \
     mp3file.c mp3file.h \
     mp4file.c mp4file.h \
+    podcast.c podcast.h \
     prefs.c prefs.h \
     prefs_window.c prefs_window.h \
     tools.c tools.h \
@@ -215,18 +204,17 @@
 
 am_gtkpod_OBJECTS = charset.$(OBJEXT) clientserver.$(OBJEXT) \
 	confirmation.$(OBJEXT) context_menus.$(OBJEXT) \
-	date_parser.$(OBJEXT) date_parser2.$(OBJEXT) display.$(OBJEXT) \
-	display_playlists.$(OBJEXT) display_sorttabs.$(OBJEXT) \
-	display_itdb.$(OBJEXT) display_songs.$(OBJEXT) \
-	display_spl.$(OBJEXT) file.$(OBJEXT) file_export.$(OBJEXT) \
-	file_itunesdb.$(OBJEXT) fileselection.$(OBJEXT) info.$(OBJEXT) \
-	itdb_itunesdb.$(OBJEXT) itdb_playlist.$(OBJEXT) \
-	itdb_track.$(OBJEXT) main.$(OBJEXT) md5.$(OBJEXT) \
-	misc.$(OBJEXT) misc_confirm.$(OBJEXT) misc_conversion.$(OBJEXT) \
-	misc_input.$(OBJEXT) misc_playlist.$(OBJEXT) \
-	misc_track.$(OBJEXT) mp3file.$(OBJEXT) mp4file.$(OBJEXT) \
-	prefs.$(OBJEXT) prefs_window.$(OBJEXT) tools.$(OBJEXT) \
-	wavfile.$(OBJEXT)
+	date_parser.$(OBJEXT) date_parser2.$(OBJEXT) details.$(OBJEXT) \
+	display.$(OBJEXT) display_playlists.$(OBJEXT) \
+	display_sorttabs.$(OBJEXT) display_itdb.$(OBJEXT) \
+	display_songs.$(OBJEXT) display_spl.$(OBJEXT) file.$(OBJEXT) \
+	file_export.$(OBJEXT) file_itunesdb.$(OBJEXT) \
+	fileselection.$(OBJEXT) info.$(OBJEXT) main.$(OBJEXT) \
+	md5.$(OBJEXT) misc.$(OBJEXT) misc_confirm.$(OBJEXT) \
+	misc_conversion.$(OBJEXT) misc_input.$(OBJEXT) \
+	misc_playlist.$(OBJEXT) misc_track.$(OBJEXT) mp3file.$(OBJEXT) \
+	mp4file.$(OBJEXT) podcast.$(OBJEXT) prefs.$(OBJEXT) \
+	prefs_window.$(OBJEXT) tools.$(OBJEXT) wavfile.$(OBJEXT)
 gtkpod_OBJECTS = $(am_gtkpod_OBJECTS)
 gtkpod_DEPENDENCIES = @LIBOBJS@
 gtkpod_LDFLAGS =
@@ -239,8 +227,8 @@
 @AMDEP_TRUE@	./$(DEPDIR)/confirmation.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/context_menus.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/date_parser.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/date_parser2.Po ./$(DEPDIR)/display.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/display_itdb.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/date_parser2.Po ./$(DEPDIR)/details.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/display.Po ./$(DEPDIR)/display_itdb.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/display_playlists.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/display_songs.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/display_sorttabs.Po \
@@ -248,18 +236,15 @@
 @AMDEP_TRUE@	./$(DEPDIR)/file_export.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/file_itunesdb.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/fileselection.Po ./$(DEPDIR)/info.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/itdb_itunesdb.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/itdb_playlist.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/itdb_track.Po ./$(DEPDIR)/main.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/md5.Po ./$(DEPDIR)/misc.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/misc_confirm.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/main.Po ./$(DEPDIR)/md5.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/misc.Po ./$(DEPDIR)/misc_confirm.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/misc_conversion.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/misc_input.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/misc_playlist.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/misc_track.Po ./$(DEPDIR)/mp3file.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/mp4file.Po ./$(DEPDIR)/prefs.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/prefs_window.Po ./$(DEPDIR)/tools.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/wavfile.Po
+ at AMDEP_TRUE@	./$(DEPDIR)/mp4file.Po ./$(DEPDIR)/podcast.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/prefs.Po ./$(DEPDIR)/prefs_window.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/tools.Po ./$(DEPDIR)/wavfile.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -323,6 +308,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/context_menus.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/date_parser.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/date_parser2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/details.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/display.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/display_itdb.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/display_playlists.Po at am__quote@
@@ -334,9 +320,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/file_itunesdb.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fileselection.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/info.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/itdb_itunesdb.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/itdb_playlist.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/itdb_track.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/main.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/md5.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/misc.Po at am__quote@
@@ -347,6 +330,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/misc_track.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mp3file.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mp4file.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/podcast.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/prefs.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/prefs_window.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tools.Po at am__quote@

Modified: gtkpod/trunk/src/confirmation.c
===================================================================
--- gtkpod/trunk/src/confirmation.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/confirmation.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:12:19 jcs>
+/* Time-stamp: <2005-11-25 23:52:15 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: confirmation.c,v 1.21 2005/06/17 13:30:02 jcsjcs Exp $
+|  $Id: confirmation.c,v 1.23 2005/11/26 13:44:41 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -62,7 +62,7 @@
 {
     ConfData *cd;
 
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	gint defx, defy;
@@ -72,7 +72,7 @@
 	else
 	    prefs_set_size_conf (defx, defy);
 	gtk_widget_destroy (cd->window);
-	g_hash_table_remove (id_hash, &id);
+	g_hash_table_remove (id_hash, id);
     }
 }
 
@@ -81,7 +81,7 @@
 {
     ConfData *cd;
 
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	if (cd->ok_handler)
@@ -94,7 +94,7 @@
 {
     ConfData *cd;
 
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	if (cd->apply_handler)
@@ -107,7 +107,7 @@
 {
     ConfData *cd;
 
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	if (cd->cancel_handler)
@@ -121,6 +121,7 @@
    action is required */
 void CONF_NULL_HANDLER (gpointer d1, gpointer d2)
 {
+    return;
 }
 
 
@@ -128,7 +129,7 @@
 {
     ConfData *cd;
 
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	if (cd->confirm_again_handler)
@@ -140,7 +141,7 @@
 {
     ConfData *cd;
 
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	if (cd->option1_handler)
@@ -156,7 +157,7 @@
 {
     ConfData *cd;
 
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	if (cd->option2_handler)
@@ -172,7 +173,7 @@
 {
     ConfData *cd;
 /*     printf ("r: %d, i: %d\n", response, id); */
-    cd = g_hash_table_lookup (id_hash, &id);
+    cd = g_hash_table_lookup (id_hash, id);
     if (cd)
     {
 	switch (response)
@@ -278,21 +279,20 @@
     GtkWidget *window, *w;
     ConfData *cd;
     gint defx, defy;
-    gint *idp;
     GladeXML *confirm_xml;
 
     if (id_hash == NULL)
     {  /* initialize hash table to store IDs */
-	id_hash = g_hash_table_new_full (g_int_hash, g_int_equal,
-					      g_free, g_free);
+	id_hash = g_hash_table_new_full (g_direct_hash, g_direct_equal,
+					      NULL, g_free);
     }
     if (id >= 0)
     {
-	if ((cd = g_hash_table_lookup (id_hash, &id)))
+	if ((cd = g_hash_table_lookup (id_hash, GINT_TO_POINTER(id))))
 	{ /* window with same ID already open -- add @text and return
 	   * */
 	    if (text && *text &&
-		cd->window && ((w = glade_xml_get_widget (cd->window_xml, "text"))))
+		cd->window && ((w = gtkpod_xml_get_widget (cd->window_xml, "text"))))
 	    {
 		GtkTextIter ti;
 		GtkTextBuffer *tb = gtk_text_view_get_buffer(GTK_TEXT_VIEW(w));
@@ -303,7 +303,7 @@
 		    gtk_text_view_set_buffer(GTK_TEXT_VIEW(w), tb);
 		    gtk_text_view_set_editable(GTK_TEXT_VIEW(w), FALSE);
 		    gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(w), FALSE);
-		    if ((w1 =  glade_xml_get_widget (cd->window_xml, "scroller")))
+		    if ((w1 =  gtkpod_xml_get_widget (cd->window_xml, "scroller")))
 			gtk_widget_show (w1);
 		    cd->scrolled = TRUE;
 		}
@@ -323,7 +323,7 @@
 	do
 	{
 	    --id;
-	    cd = g_hash_table_lookup (id_hash, &id);
+	    cd = g_hash_table_lookup (id_hash, GINT_TO_POINTER(id));
 	} while (cd != NULL);
     }
 
@@ -338,11 +338,9 @@
 
     /* window = create_confirm_dialog (); */
     confirm_xml = glade_xml_new (xml_file, "confirm_dialog", NULL);
-    window = glade_xml_get_widget (confirm_xml, "confirm_dialog");
+    window = gtkpod_xml_get_widget (confirm_xml, "confirm_dialog");
 
     /* insert ID into hash table */
-    idp = g_malloc (sizeof (gint));
-    *idp = id;
     cd = g_malloc (sizeof (ConfData));
     cd->window = window;
     cd->window_xml = confirm_xml;
@@ -354,7 +352,7 @@
     cd->cancel_handler = cancel_handler;
     cd->user_data1 = user_data1;
     cd->user_data2 = user_data2;
-    g_hash_table_insert (id_hash, idp, cd);
+    g_hash_table_insert (id_hash, GINT_TO_POINTER(id), cd);
 
     /* Set title */
     if (title)
@@ -363,11 +361,11 @@
 	gtk_window_set_title (GTK_WINDOW(window), _("Confirmation Dialogue"));
 
     /* Set label */
-    if (label && (w = glade_xml_get_widget (confirm_xml, "label")))
+    if (label && (w = gtkpod_xml_get_widget (confirm_xml, "label")))
 	gtk_label_set_text(GTK_LABEL(w), label);
 
     /* Set text */
-    w = glade_xml_get_widget (confirm_xml, "text");
+    w = gtkpod_xml_get_widget (confirm_xml, "text");
     if (text)
     {
 	if (w)
@@ -383,7 +381,7 @@
     }
     else
     { /* no text -> hide widget */
-	if ((w = glade_xml_get_widget (confirm_xml, "scroller")))
+	if ((w = gtkpod_xml_get_widget (confirm_xml, "scroller")))
 	    gtk_widget_hide (w);
 	cd->scrolled = FALSE;
 	prefs_get_size_conf (&defx, &defy);
@@ -391,7 +389,7 @@
     gtk_window_set_default_size (GTK_WINDOW (window), defx, defy);
 
     /* Set "Option 1" checkbox */
-    w = glade_xml_get_widget (confirm_xml, "option_vbox");
+    w = gtkpod_xml_get_widget (confirm_xml, "option_vbox");
     if (w && option1_handler && option1_text)
     {
 	gboolean state, invert;
@@ -413,11 +411,11 @@
 	g_signal_connect ((gpointer)option1_button,
 			  "toggled",
 			  G_CALLBACK (on_option1_toggled),
-			  (gpointer)id);
+			  GINT_TO_POINTER(id));
     }
 
     /* Set "Option 2" checkbox */
-    w = glade_xml_get_widget (confirm_xml, "option_vbox");
+    w = gtkpod_xml_get_widget (confirm_xml, "option_vbox");
     if (w && option2_handler && option2_text)
     {
 	gboolean state, invert;
@@ -439,11 +437,11 @@
 	g_signal_connect ((gpointer)option2_button,
 			  "toggled",
 			  G_CALLBACK (on_option2_toggled),
-			  (gpointer)id);
+			  GINT_TO_POINTER(id));
     }
 
     /* Set "Never Again" checkbox */
-    w = glade_xml_get_widget (confirm_xml, "never_again");
+    w = gtkpod_xml_get_widget (confirm_xml, "never_again");
     if (w && confirm_again_handler)
     { /* connect signal */
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
@@ -451,7 +449,7 @@
 	g_signal_connect ((gpointer)w,
 			  "toggled",
 			  G_CALLBACK (on_never_again_toggled),
-			  (gpointer)id);
+			  GINT_TO_POINTER(id));
     }
     else if (w)
     { /* hide "never again" button */
@@ -461,7 +459,7 @@
     /* Hide and set "default" button that can be activated by pressing
        ENTER in the window (usually OK)*/
     /* Hide or default CANCEL button */
-    if ((w = glade_xml_get_widget (confirm_xml, "cancel")))
+    if ((w = gtkpod_xml_get_widget (confirm_xml, "cancel")))
     {
 	GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
 	gtk_widget_grab_default (w);
@@ -469,7 +467,7 @@
     }
 
     /* Hide or default APPLY button */
-    if ((w = glade_xml_get_widget (confirm_xml, "apply")))
+    if ((w = gtkpod_xml_get_widget (confirm_xml, "apply")))
     {
 	GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
 	gtk_widget_grab_default (w);
@@ -477,7 +475,7 @@
     }
 
     /* Hide or default OK button */
-    if ((w = glade_xml_get_widget (confirm_xml, "ok")))
+    if ((w = gtkpod_xml_get_widget (confirm_xml, "ok")))
     {
 	GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
 	gtk_widget_grab_default (w);
@@ -488,14 +486,14 @@
     g_signal_connect (GTK_OBJECT (window),
 		      "delete_event",
 		      G_CALLBACK (on_cancel_clicked),
-		      (gpointer) id);
+		      GINT_TO_POINTER(id));
 
     if (modal)
     {
 	/* use gtk_dialog_run() to block the application */
 	gint response = gtk_dialog_run (GTK_DIALOG (window));
 	/* cleanup hash, store window size */
-	cleanup ((gpointer)id);
+	cleanup (GINT_TO_POINTER(id));
 	switch (response)
 	{
 	case GTK_RESPONSE_OK:
@@ -511,7 +509,7 @@
 	g_signal_connect (GTK_OBJECT (window),
 			  "response",
 			  G_CALLBACK (on_response),
-			  (gpointer) id);
+			  GINT_TO_POINTER(id));
 	gtk_widget_show (window);
 	return GTK_RESPONSE_ACCEPT;
     }

Modified: gtkpod/trunk/src/context_menus.c
===================================================================
--- gtkpod/trunk/src/context_menus.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/context_menus.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-25 01:05:39 jcs>
+/* Time-stamp: <2005-12-14 23:12:43 jcs>
 |
 |  Copyright (C) 2003 Corey Donohoe <atmos at atmos dot org>
 |  Copyright (C) 2003-2005 Jorg Schuler <jcsjcs at users sourceforge net>
@@ -25,21 +25,25 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: context_menus.c,v 1.42 2005/06/24 16:17:18 jcsjcs Exp $
+|  $Id: context_menus.c,v 1.52 2005/12/11 08:52:30 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
 #  include <config.h>
 #endif
 
+#include "itdb.h"
+#include "details.h"
 #include "display.h"
 #include "file.h"
 #include "misc.h"
 #include "misc_track.h"
 #include "prefs.h"
 #include "tools.h"
-#include "itdb.h"
+#include "podcast.h"
 
+#define LOCALDEBUG 1
+
 static guint entry_inst = -1;
 static GList *selected_tracks = NULL;
 static Playlist *selected_playlist = NULL;
@@ -54,10 +58,50 @@
 } CM_type;
 
 
+#if LOCALDEBUG
 /**
+ * do_special - for debugging: change as needed to obtain information
+ * on selected tracks
+ * @mi - the menu item selected
+ * @data - ignored, should be NULL
+ */
+static void 
+do_special(GtkWidget *w, gpointer data)
+{
+    GList *gl;
+
+    for (gl=selected_tracks; gl; gl=gl->next)
+    {
+	gchar *mp;
+	Track *tr = gl->data;
+	g_return_if_fail (tr);
+
+	g_object_get (tr->itdb->device, "mount-point", &mp, NULL);
+	printf ("mountpoint: %s\n", mp);
+	g_free (mp);
+
+	printf ("track: %p: thumbnails: %p id: %d num: %d\n",
+		tr, tr->artwork->thumbnails, tr->artwork->id, g_list_length (tr->artwork->thumbnails));
+	if (tr->artwork->thumbnails)
+	{
+	    GList *gl2;
+	    for (gl2=tr->artwork->thumbnails; gl2; gl2=gl2->next)
+	    {
+		Thumb *img = gl2->data;
+		g_return_if_fail (img);
+		printf ("  %s offset: %d size: %d width: %d height: %d\n", img->filename, img->offset, img->size, img->width, img->height);
+	    }
+	}
+    }
+}
+#endif
+
+
+
+/**
  * export_entries - export the currently selected files to disk
  * @mi - the menu item selected
- * @data - ignored, shoould be NULL
+ * @data - ignored, should be NULL
  */
 static void 
 export_entries(GtkWidget *w, gpointer data)
@@ -70,7 +114,7 @@
  * create_playlist_file - write a playlist file containing the
  * currently selected tracks.
  * @mi - the menu item selected
- * @data - ignored, shoould be NULL
+ * @data - ignored, should be NULL
  */
 static void 
 create_playlist_file(GtkWidget *w, gpointer data)
@@ -119,6 +163,22 @@
 
 
 /*
+ * show_details_entries - show details of tracks currently selected
+ * @mi - the menu item selected
+ * @data - Ignored, should be NULL
+ */
+static void 
+edit_details_entries(GtkMenuItem *mi, gpointer data)
+{
+    if (selected_playlist)
+	details_edit (selected_playlist->members);
+    else if(selected_entry)
+	details_edit (selected_entry->members);
+    else if(selected_tracks)
+	details_edit (selected_tracks);
+}
+
+/*
  * update_entries - update the entries currently selected
  * @mi - the menu item selected
  * @data - Ignored, should be NULL
@@ -158,8 +218,10 @@
  * @data - ignored, should be NULL
  */
 static void 
-delete_entries(GtkMenuItem *mi, DeleteAction deleteaction)
+delete_entries(GtkMenuItem *mi, gpointer data)
 {
+    DeleteAction deleteaction = GPOINTER_TO_INT (data);
+
     if (selected_playlist)
 	delete_playlist_head (deleteaction);
     else if(selected_entry)
@@ -279,16 +341,23 @@
 {
     static GtkWidget *menu[CM_NUM];
     static GtkWidget *mi_exp[CM_NUM];  /* Export Tracks */
-    static GtkWidget *mi_pl[CM_NUM];   /* DELETE_ACTION_PLAYLIST */
-    static GtkWidget *mi_ipod[CM_NUM]; /* DELETE_ACTION_IPOD     */
-    static GtkWidget *mi_local[CM_NUM];/* DELETE_ACTION_LOCAL    */
-    static GtkWidget *mi_db[CM_NUM];   /* DELETE_ACTION_DATABASE */
-    static GtkWidget *mi_sep[CM_NUM];  /* separator              */
+    static GtkWidget *mi_delpl[CM_NUM];   /* DELETE_ACTION_PLAYLIST */
+    static GtkWidget *mi_delipod[CM_NUM]; /* DELETE_ACTION_IPOD     */
+    static GtkWidget *mi_dellocal[CM_NUM];/* DELETE_ACTION_LOCAL    */
+    static GtkWidget *mi_deldb[CM_NUM];   /* DELETE_ACTION_DATABASE */
+    static GtkWidget *mi_delpcipod[CM_NUM]; /* DELETE_ACTION_IPOD   */
+    static GtkWidget *mi_delsep[CM_NUM];  /* separator              */
     static GtkWidget *mi_spl[CM_NUM];  /* edit smart playlist    */
-    static GtkWidget *mi_ipod_all[CM_NUM];/* DELETE_ACTION_IPOD (all
+    static GtkWidget *mi_delipod_all[CM_NUM];/* DELETE_ACTION_IPOD (all
 					   * tracks)      */
-    static GtkWidget *mi_db_all[CM_NUM];  /* DELETE_ACTION_DATABASE
+    static GtkWidget *mi_deldb_all[CM_NUM];  /* DELETE_ACTION_DATABASE
 					   * (all tracks  */
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+    static GtkWidget *mi_podcasts_sep[CM_NUM]; /* Podcasts Separator */
+    static GtkWidget *mi_podcasts_update[CM_NUM]; /* Update Podcasts */
+    static GtkWidget *mi_podcasts_prefs[CM_NUM];  /* Podcasts Prefs */
+#endif
 
     Playlist *pl;
 
@@ -298,31 +367,34 @@
 #if 0
 	hookup_mi (menu[type], _("Edit"), NULL, G_CALLBACK (edit_entries));
 #endif
-	hookup_mi (menu[type], _("Play Now"), "gtk-cdrom",
+	hookup_mi (menu[type], _("Play Now"), GTK_STOCK_CDROM,
 		   G_CALLBACK (play_entries_now), NULL);
-	hookup_mi (menu[type], _("Enqueue"), "gtk-cdrom",
+	hookup_mi (menu[type], _("Enqueue"), GTK_STOCK_CDROM,
 		   G_CALLBACK (play_entries_enqueue), NULL);
-	mi_exp[type] = hookup_mi (menu[type],
-				  _("Export Tracks"), "gtk-floppy",
+	mi_exp[type] = hookup_mi (menu[type], 
+				  _("Export Tracks"), GTK_STOCK_FLOPPY,
 				  G_CALLBACK (export_entries), NULL);
-	hookup_mi (menu[type], _("Create Playlist File"), "gtk-floppy",
+	hookup_mi (menu[type], _("Create Playlist File"), GTK_STOCK_FLOPPY,
 		   G_CALLBACK (create_playlist_file), NULL);
-	hookup_mi (menu[type], _("Update"), "gtk-refresh",
+	hookup_mi (menu[type], _("Edit Details"), NULL,
+		   G_CALLBACK (edit_details_entries), NULL);
+	hookup_mi (menu[type], _("Update"), GTK_STOCK_REFRESH,
 		   G_CALLBACK (update_entries), NULL);
-	hookup_mi (menu[type], _("Sync Dirs"), "gtk-refresh",
+	hookup_mi (menu[type], _("Sync Dirs"), GTK_STOCK_REFRESH,
 		   G_CALLBACK (sync_dirs_entries), NULL);
 	hookup_mi (menu[type], _("Normalize"), NULL,
 		   G_CALLBACK (normalize_entries), NULL);
 	hookup_mi (menu[type], _("Create new Playlist"),
-		   "gtk-justify-left",
+		   GTK_STOCK_JUSTIFY_LEFT,
 		   G_CALLBACK (create_playlist_from_entries), NULL);
 	mi_spl[type] = hookup_mi (menu[type], _("Edit Smart Playlist"),
-				  "gtk-properties",
+				  GTK_STOCK_PROPERTIES,
 				  G_CALLBACK (edit_spl), NULL);
 
 	if (type == CM_ST)
 	{
-	    hookup_mi (menu[type], _("Alphabetize"), "gtk-sort-ascending",
+	    hookup_mi (menu[type], _("Alphabetize"),
+		       GTK_STOCK_SORT_ASCENDING,
 		       G_CALLBACK (alphabetize), NULL);
 /* example for sub menus!
 	    GtkWidget *mi;
@@ -332,71 +404,116 @@
 	    sub = gtk_menu_new ();
 	    gtk_widget_show (sub);
 	    gtk_menu_item_set_submenu (GTK_MENU_ITEM (mi), sub);
-	    hookup_mi (sub, _("Ascending"), "gtk-sort-ascending",
+	    hookup_mi (sub, _("Ascending"), GTK_STOCK_SORT_ASCENDING,
 		       G_CALLBACK (alphabetize_ascending), NULL);
-	    hookup_mi (sub, _("Descending"), "gtk-sort-descending",
+	    hookup_mi (sub, _("Descending"), GTK_STOCK_SORT_DESCENDING,
 		       G_CALLBACK (alphabetize_descending), NULL);
-	    hookup_mi (sub, _("Reset"), "gtk-undo",
+	    hookup_mi (sub, _("Reset"), GTK_STOCK_UNDO,
 	               G_CALLBACK (reset_alphabetize), NULL);
 */
 	}
 	if ((type == CM_ST) || (type == CM_TM))
 	{
-	    mi_sep[type] = add_separator (menu[type]);
-	    mi_ipod[type] = hookup_mi (menu[type],
-				       _("Delete From iPod"),
-				       "gtk-delete",
-				       G_CALLBACK (delete_entries),
-				       (gpointer)DELETE_ACTION_IPOD);
-	    mi_local[type] = hookup_mi (menu[type],
-					_("Delete From Harddisk"),
-					"gtk-delete",
-					G_CALLBACK (delete_entries),
-					(gpointer)DELETE_ACTION_LOCAL);
-	    mi_db[type] = hookup_mi (menu[type],
-				     _("Delete From Database"),
-				     "gtk-delete",
-				     G_CALLBACK (delete_entries),
-				     (gpointer)DELETE_ACTION_DATABASE);
-	    mi_pl[type] = hookup_mi (menu[type],
-				     _("Delete From Playlist"),
-				     "gtk-delete",
-				     G_CALLBACK (delete_entries),
-				     (gpointer)DELETE_ACTION_PLAYLIST);
+	    mi_delsep[type] = add_separator (menu[type]);
+	    mi_delipod[type] =
+		hookup_mi (menu[type],
+			   _("Delete From iPod"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_IPOD));
+	    mi_dellocal[type] = 
+		hookup_mi (menu[type],
+			   _("Delete From Harddisk"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_LOCAL));
+	    mi_deldb[type] =
+		hookup_mi (menu[type],
+			   _("Delete From Database"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_DATABASE));
+	    mi_delpl[type] =
+		hookup_mi (menu[type],
+			   _("Delete From Playlist"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_PLAYLIST));
 	}
+#if LOCALDEBUG
+	/* This is for debugging purposes -- this allows to inspect
+	 * any track with a custom function */
+	if (type == CM_TM)
+	{
+	    hookup_mi (menu[type], "Special", GTK_STOCK_STOP,
+		       G_CALLBACK (do_special), NULL);
+	}
+#endif
 	if (type == CM_PM)
 	{
-	    mi_sep[type] = add_separator (menu[type]);
-	    mi_ipod[type] = hookup_mi (menu[type],
-				       _("Delete Including Tracks"),
-				       "gtk-delete",
-				       G_CALLBACK (delete_entries),
-				       (gpointer)DELETE_ACTION_IPOD);
-	    mi_local[type] = hookup_mi (menu[type],
-					_("Delete Including Tracks (Harddisk)"),
-					"gtk-delete",
-					G_CALLBACK (delete_entries),
-					(gpointer)DELETE_ACTION_LOCAL);
-	    mi_db[type] = hookup_mi (menu[type],
-				     _("Delete Including Tracks (Database)"),
-				     "gtk-delete",
-				     G_CALLBACK (delete_entries),
-				     (gpointer)DELETE_ACTION_DATABASE);
-	    mi_pl[type] = hookup_mi (menu[type],
-				     _("Delete But Keep Tracks"),
-				     "gtk-delete",
-				     G_CALLBACK (delete_entries),
-				     (gpointer)DELETE_ACTION_PLAYLIST);
-	    mi_ipod_all[type] = hookup_mi (menu[type],
-					   _("Remove All Tracks from iPod"),
-					   "gtk-delete",
-					   G_CALLBACK (delete_entries),
-					   (gpointer)DELETE_ACTION_IPOD);
-	    mi_db_all[type] = hookup_mi (menu[type],
-					 _("Remove All Tracks from Database"),
-					 "gtk-delete",
-					 G_CALLBACK (delete_entries),
-					 (gpointer)DELETE_ACTION_DATABASE);
+	    mi_delsep[type] = add_separator (menu[type]);
+	    mi_delipod[type] =
+		hookup_mi (menu[type],
+			   _("Delete Including Tracks"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_IPOD));
+	    mi_dellocal[type] =
+		hookup_mi (menu[type],
+			   _("Delete Including Tracks (Harddisk)"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_LOCAL));
+	    mi_deldb[type] =
+		hookup_mi (menu[type],
+			   _("Delete Including Tracks (Database)"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_DATABASE));
+	    mi_delpl[type] =
+		hookup_mi (menu[type],
+			   _("Delete But Keep Tracks"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_PLAYLIST));
+	    mi_delipod_all[type] =
+		hookup_mi (menu[type],
+			   _("Remove All Tracks from iPod"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_IPOD));
+	    mi_deldb_all[type] =
+		hookup_mi (menu[type],
+			   _("Remove All Tracks from Database"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_DATABASE));
+
+	    mi_delpcipod[type] =
+		hookup_mi (menu[type],
+			   _("Remove All Podcasts from iPod"),
+			   GTK_STOCK_DELETE,
+			   G_CALLBACK (delete_entries),
+			   GINT_TO_POINTER (DELETE_ACTION_IPOD));
+
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+	    mi_podcasts_sep[type] = add_separator (menu[type]);
+
+	    mi_podcasts_update[type] =
+		hookup_mi (menu[type],
+			   _("Update Podcasts"),
+			   GTK_STOCK_REFRESH,
+			   G_CALLBACK (podcast_fetch),
+			   GINT_TO_POINTER (DELETE_ACTION_DATABASE));
+
+	    mi_podcasts_prefs[type] =
+		hookup_mi (menu[type],
+			   _("Podcasts Preferences"),
+			   GTK_STOCK_PREFERENCES,
+			   G_CALLBACK (prefs_window_podcasts),
+			   GINT_TO_POINTER (DELETE_ACTION_DATABASE));
+#endif
 	}
     }
     /* Make sure, only available options are displayed */
@@ -410,96 +527,108 @@
 	switch (type)
 	{
 	case CM_PM:
+	    gtk_widget_hide (mi_spl[type]);
+	    gtk_widget_hide (mi_dellocal[type]);
+	    gtk_widget_hide (mi_delpl[type]);
+	    gtk_widget_hide (mi_deldb[type]);
+	    gtk_widget_hide (mi_deldb_all[type]);
+	    gtk_widget_hide (mi_delsep[type]);
+	    gtk_widget_hide (mi_delipod[type]);
+	    gtk_widget_hide (mi_delipod_all[type]);
+	    gtk_widget_hide (mi_delpcipod[type]);
+	    gtk_widget_hide (mi_dellocal[type]);
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+	    gtk_widget_hide (mi_podcasts_sep[type]);
+	    gtk_widget_hide (mi_podcasts_update[type]);
+	    gtk_widget_hide (mi_podcasts_prefs[type]);
+#endif
 	    if (pl->is_spl)
 	    {
 		gtk_widget_show (mi_spl[type]);
 	    }
-	    else
-	    {
-		gtk_widget_hide (mi_spl[type]);
-	    }
 	    if (itdb->usertype & GP_ITDB_TYPE_IPOD)
 	    {
-		gtk_widget_hide (mi_local [type]);
-		gtk_widget_hide (mi_db [type]);
-		gtk_widget_hide (mi_db_all [type]);
-		if (pl->type == ITDB_PL_TYPE_MPL)
+		if (itdb_playlist_is_mpl (pl))
 		{
-		    gtk_widget_hide (mi_sep [type]);
-		    gtk_widget_hide (mi_ipod [type]);
-		    gtk_widget_hide (mi_pl [type]);
-		    gtk_widget_show (mi_ipod_all [type]);
+		    gtk_widget_show (mi_delipod_all[type]);
 		}
 		else
 		{
-		    gtk_widget_show (mi_sep [type]);
-		    gtk_widget_show (mi_ipod [type]);
-		    gtk_widget_show (mi_pl [type]);
-		    gtk_widget_hide (mi_ipod_all [type]);
+		    if (itdb_playlist_is_podcasts (pl))
+		    {
+			gtk_widget_show (mi_delpcipod[type]);
+		    }
+		    else
+		    {
+			/* FIXME: PODCASTS: remove Podcast menu */
+			/*
+			gtk_widget_show (mi_delsep[type]);
+			gtk_widget_show (mi_delipod[type]);
+			gtk_widget_show (mi_delpl[type]);
+			*/
+		    }
 		}
 	    }
 	    if (itdb->usertype & GP_ITDB_TYPE_LOCAL)
 	    {
-		gtk_widget_hide (mi_ipod [type]);
-		gtk_widget_hide (mi_ipod_all [type]);
-		if (pl->type == ITDB_PL_TYPE_MPL)
+		if (itdb_playlist_is_mpl (pl))
 		{
-		    gtk_widget_hide (mi_sep [type]);
-		    gtk_widget_hide (mi_local [type]);
-		    gtk_widget_hide (mi_db [type]);
-		    gtk_widget_hide (mi_pl [type]);
-		    gtk_widget_show (mi_db_all [type]);
+		    gtk_widget_show (mi_deldb_all[type]);
 		}
 		else
 		{
-		    gtk_widget_show (mi_sep [type]);
-		    gtk_widget_show (mi_local [type]);
-		    gtk_widget_show (mi_db [type]);
-		    gtk_widget_show (mi_pl [type]);
-		    gtk_widget_hide (mi_db_all [type]);
+		    gtk_widget_show (mi_delsep[type]);
+		    gtk_widget_show (mi_dellocal[type]);
+		    gtk_widget_show (mi_deldb[type]);
+		    gtk_widget_show (mi_delpl[type]);
 		}
 	    }
+
+	    if (itdb->usertype & GP_ITDB_TYPE_PODCASTS)
+	    {
+		gtk_widget_show (mi_delsep[type]);
+		/* FIXME: PODCASTS: remove Podcast menu */
+		/*
+		gtk_widget_show (mi_podcasts_sep[type]);
+		gtk_widget_show (mi_podcasts_update[type]);
+		gtk_widget_show (mi_podcasts_prefs[type]);
+		*/
+	    }
 	    break;
 	case CM_ST:
 	case CM_TM:
+	    gtk_widget_hide (mi_spl[type]);
+	    gtk_widget_hide (mi_dellocal[type]);
+	    gtk_widget_hide (mi_deldb[type]);
+	    gtk_widget_hide (mi_delpl[type]);
+	    gtk_widget_hide (mi_delipod[type]);
+
 	    if (pl->is_spl)
 	    {
 		gtk_widget_show (mi_spl[type]);
 	    }
-	    else
-	    {
-		gtk_widget_hide (mi_spl[type]);
-	    }
 	    if (itdb->usertype & GP_ITDB_TYPE_IPOD)
 	    {
-		gtk_widget_hide (mi_local [type]);
-		gtk_widget_hide (mi_db [type]);
-		if (pl->type == ITDB_PL_TYPE_MPL)
+		gtk_widget_show (mi_delipod[type]);
+		if (!itdb_playlist_is_mpl (pl) &&
+		    !itdb_playlist_is_podcasts (pl))
 		{
-		    gtk_widget_show (mi_ipod [type]);
-		    gtk_widget_hide (mi_pl [type]);
+		    gtk_widget_show (mi_delpl[type]);
 		}
-		else
-		{
-		    gtk_widget_show (mi_ipod [type]);
-		    gtk_widget_show (mi_pl [type]);
-		}
 	    }
 	    if (itdb->usertype & GP_ITDB_TYPE_LOCAL)
 	    {
-		gtk_widget_hide (mi_ipod [type]);
-		if (pl->type == ITDB_PL_TYPE_MPL)
+		gtk_widget_show (mi_dellocal[type]);
+		gtk_widget_show (mi_deldb[type]);
+		/* actually, local repositories are not supposed to
+		   have podcasts playlists, but for completeness' sake
+		   I'll test anyway*/
+		if(!itdb_playlist_is_mpl (pl) &&
+		   !itdb_playlist_is_podcasts (pl))
 		{
-		    gtk_widget_show (mi_local [type]);
-		    gtk_widget_show (mi_db [type]);
-		    gtk_widget_hide (mi_pl [type]);
+		    gtk_widget_show (mi_delpl[type]);
 		}
-		else
-		{
-		    gtk_widget_show (mi_local [type]);
-		    gtk_widget_show (mi_db [type]);
-		    gtk_widget_show (mi_pl [type]);
-		}
 	    }
 	    break;
 	case CM_NUM:  /* to avoid compiler warning */

Copied: gtkpod/trunk/src/details.c (from rev 91, gtkpod/branches/upstream/current/src/details.c)

Copied: gtkpod/trunk/src/details.h (from rev 91, gtkpod/branches/upstream/current/src/details.h)

Modified: gtkpod/trunk/src/display.c
===================================================================
--- gtkpod/trunk/src/display.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-18 00:09:52 jcs>
+/* Time-stamp: <2005-12-14 23:13:26 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display.c,v 1.116 2005/06/18 15:02:51 jcsjcs Exp $
+|  $Id: display.c,v 1.129 2005/12/11 08:52:30 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -35,11 +35,13 @@
 #include <stdlib.h>
 #include "display_private.h"
 #include "info.h"
+#include "details.h"
 #include "prefs.h"
 #include "prefs_window.h"
 #include "misc.h"
 #include "misc_track.h"
 #include "tools.h"
+#include "podcast.h"
 
 GtkWidget *gtkpod_window = NULL;
 
@@ -75,7 +77,7 @@
     st_set_default_sizes ();
     pm_create_treeview ();
     /* Hide the "stop_button" */
-    stop_button = glade_xml_get_widget (main_window_xml, "stop_button");
+    stop_button = gtkpod_xml_get_widget (main_window_xml, "stop_button");
     if (stop_button) gtk_widget_hide (stop_button);
     /* Hide/Show the toolbar */
     display_show_hide_toolbar ();
@@ -83,10 +85,9 @@
     display_show_hide_tooltips ();
     /* change standard g_print () handler */
     g_set_print_handler ((GPrintFunc)gtkpod_warning);
-    /* initialize sorting */
-    tm_sort (prefs_get_tm_sortcol (), prefs_get_tm_sort ());
+
     /* activate the delete menus correctly */
-    display_adjust_delete_menus ();
+    display_adjust_menus ();
     /* activate/deactive the menu item 'check iPod' */
     display_set_check_ipod_menu ();
     /* activate status bars */
@@ -98,6 +99,10 @@
     display_set_info_window_menu ();
     /* check if info window should be opened */
     if (prefs_get_info_window ())  info_open_window ();
+
+    /* if we need to fetch podcasts, then do so */
+/* FIXME: PODCASTS: remove Podcast menu */
+/*     if (prefs_get_pc_auto_fetch ())  podcast_fetch(); */
 }
 
 /* redisplay the entire display (playlists, sort tabs, track view) and
@@ -156,7 +161,7 @@
 
     g_return_if_fail (gtkpod_window);
 
-    if((w = glade_xml_get_widget (main_window_xml, "import_button")))
+    if((w = gtkpod_xml_get_widget (main_window_xml, "import_button")))
     {
 	gtk_widget_set_sensitive(w, FALSE);
 	/* in case this widget has been blocked, we need to tell
@@ -164,7 +169,7 @@
 	update_blocked_widget (w, FALSE);
     }
 
-    if((w = glade_xml_get_widget (main_window_xml, "import_itunes_mi")))
+    if((w = gtkpod_xml_get_widget (main_window_xml, "import_itunes_mi")))
     {
 	gtk_widget_set_sensitive(w, FALSE);
 	/* in case this widget has been blocked, we need to tell
@@ -175,42 +180,186 @@
 
 
 /* make sure only suitable delete menu items are available */
-void display_adjust_delete_menus (void)
+void display_adjust_menus (void)
 {
-    GtkWidget *d  = glade_xml_get_widget (main_window_xml, "delete_menu");
-    GtkWidget *dp = glade_xml_get_widget (main_window_xml, "delete_playlist_menu");
-    GtkWidget *df  = glade_xml_get_widget (main_window_xml, "delete_full_menu");
-    GtkWidget *dfp = glade_xml_get_widget (main_window_xml, "delete_full_playlist_menu");
-#if 0
-/* not used */
-    GtkWidget *de = glade_xml_get_widget (main_window_xml, "delete_tab_entry_menu");
-    GtkWidget *dt = glade_xml_get_widget (main_window_xml, "delete_tracks_menu");
-    GtkWidget *dfe = glade_xml_get_widget (main_window_xml,
-				    "delete_full_tab_entry_menu");
-    GtkWidget *dft = glade_xml_get_widget (main_window_xml, "delete_full_tracks_menu");
-#endif
+    GtkWidget *delete, *edit;
+    GtkWidget *dtfpl, *dtfip, *dtfdb, *dtfhd;
+    GtkWidget *defpl, *defip, *defdb, *defhd;
+    GtkWidget *dpl, *dpltfip, *dpltfdb, *dpltfhd;
+    GtkWidget *dsep1, *dsep2;
+    GtkWidget *espl, *w;
+    Playlist *pl;
 
-    Playlist *pl = pm_get_selected_playlist ();
+    delete = gtkpod_xml_get_widget (main_window_xml, "delete_menu");
+    edit = gtkpod_xml_get_widget (main_window_xml, "edit_menu");
+    dtfpl = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_tracks_from_playlist");
+    dtfip = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_tracks_from_ipod");
+    dtfdb = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_tracks_from_database");
+    dtfhd = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_tracks_from_harddisk");
+    defpl = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_entry_from_playlist");
+    defip = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_entry_from_ipod");
+    defdb = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_entry_from_database");
+    defhd = gtkpod_xml_get_widget (main_window_xml,
+				   "delete_selected_entry_from_harddisk");
+    dpl = gtkpod_xml_get_widget (main_window_xml,
+				 "delete_selected_playlist");
+    dpltfip = gtkpod_xml_get_widget (main_window_xml,
+				     "delete_selected_playlist_including_tracks_from_ipod");
+    dpltfdb = gtkpod_xml_get_widget (main_window_xml,
+				     "delete_selected_playlist_including_tracks_from_database");
+    dpltfhd = gtkpod_xml_get_widget (main_window_xml,
+				     "delete_selected_playlist_including_tracks_from_harddisk");
+    dsep1 = gtkpod_xml_get_widget (main_window_xml, "delete_separator1");
+    dsep2 = gtkpod_xml_get_widget (main_window_xml, "delete_separator2");
+    espl = gtkpod_xml_get_widget (main_window_xml,
+				  "edit_smart_playlist");
+
+    /* FIXME: PODCASTS: remove Podcast menu */
+    w = gtkpod_xml_get_widget (main_window_xml, "update_podcasts");
+    gtk_widget_hide (w);
+    w = gtkpod_xml_get_widget (main_window_xml, "update_podcasts_sep");
+    gtk_widget_hide (w);
+
+    pl = pm_get_selected_playlist ();
+
     if (pl == NULL)
     {
-	gtk_widget_set_sensitive (d, FALSE);
-	gtk_widget_set_sensitive (df, FALSE);
+	gtk_widget_set_sensitive (delete, FALSE);
+	gtk_widget_set_sensitive (edit, FALSE);
     }
     else
     {
-	switch (pl->type)
+	iTunesDB *itdb = pl->itdb;
+	g_return_if_fail (itdb);
+
+	gtk_widget_set_sensitive (delete, TRUE);
+	gtk_widget_set_sensitive (edit, TRUE);
+
+	gtk_widget_hide (dtfpl);
+	gtk_widget_hide (dtfip);
+	gtk_widget_hide (dtfdb);
+	gtk_widget_hide (dtfhd);
+
+	gtk_widget_hide (defpl);
+	gtk_widget_hide (defip);
+	gtk_widget_hide (defdb);
+	gtk_widget_hide (defhd);
+
+	gtk_widget_hide (dpl);
+	gtk_widget_hide (dpltfip);
+	gtk_widget_hide (dpltfdb);
+	gtk_widget_hide (dpltfhd);
+
+	gtk_widget_hide (dsep1);
+	gtk_widget_hide (dsep2);
+
+	gtk_widget_set_sensitive (espl, FALSE);
+
+	if (pl->is_spl)
 	{
-	case ITDB_PL_TYPE_NORM:
-	    gtk_widget_set_sensitive (d, TRUE);
-	    gtk_widget_set_sensitive (df, TRUE);
-	    gtk_widget_set_sensitive (dp, TRUE);
-	    gtk_widget_set_sensitive (dfp, TRUE);
-	    break;
-	case ITDB_PL_TYPE_MPL:
-	    gtk_widget_set_sensitive (d, FALSE);
-	    gtk_widget_set_sensitive (df, TRUE);
-	    gtk_widget_set_sensitive (dfp, FALSE);
+	    gtk_widget_set_sensitive (espl, TRUE);
 	}
+
+	if (itdb->usertype & GP_ITDB_TYPE_IPOD)
+	{
+	    if (itdb_playlist_is_mpl (pl))
+	    {
+		gtk_widget_show (dtfip);
+		gtk_widget_show (defip);
+	    }
+	    else
+	    {
+		if (itdb_playlist_is_podcasts (pl))
+		{
+		    gtk_widget_show (dtfip);
+		    gtk_widget_show (defip);
+		}
+		else
+		{
+		    gtk_widget_show (dpl);
+		    gtk_widget_show (dpltfip);
+
+		    gtk_widget_show (dsep1);
+
+		    gtk_widget_show (defpl);
+		    gtk_widget_show (defip);
+
+		    gtk_widget_show (dsep2);
+
+		    gtk_widget_show (dtfpl);
+		    gtk_widget_show (dtfip);
+		}
+	    }
+	}
+	if (itdb->usertype & GP_ITDB_TYPE_LOCAL)
+	{
+	    if (itdb_playlist_is_mpl (pl))
+	    {
+		gtk_widget_show (dtfdb);
+		gtk_widget_show (dtfhd);
+
+		gtk_widget_show (dsep2);
+
+		gtk_widget_show (defdb);
+		gtk_widget_show (defhd);
+	    }
+	    else
+	    {
+		gtk_widget_show (dtfpl);
+		gtk_widget_show (dtfdb);
+		gtk_widget_show (dtfhd);
+
+		gtk_widget_show (dsep1);
+
+		gtk_widget_show (defpl);
+		gtk_widget_show (defdb);
+		gtk_widget_show (defhd);
+
+		gtk_widget_show (dsep2);
+
+		gtk_widget_show (dpl);
+		gtk_widget_show (dpltfdb);
+		gtk_widget_show (dpltfhd);
+	    }
+	}
+	if (itdb->usertype & GP_ITDB_TYPE_PODCASTS)
+	{
+	    if (itdb_playlist_is_mpl (pl))
+	    {
+		gtk_widget_show (dtfdb);
+		gtk_widget_show (dtfhd);
+
+		gtk_widget_show (dsep2);
+
+		gtk_widget_show (defdb);
+		gtk_widget_show (defhd);
+	    }
+	    else
+	    {
+		gtk_widget_show (dtfpl);
+		gtk_widget_show (dtfdb);
+		gtk_widget_show (dtfhd);
+
+		gtk_widget_show (dsep1);
+
+		gtk_widget_show (defpl);
+		gtk_widget_show (defdb);
+		gtk_widget_show (defhd);
+
+		gtk_widget_show (dsep2);
+
+		gtk_widget_show (dpl);
+		gtk_widget_show (dpltfdb);
+		gtk_widget_show (dpltfhd);
+	    }
+	}
     }
 }
 
@@ -218,8 +367,8 @@
    the prefs */
 void display_show_hide_toolbar (void)
 {
-    GtkWidget *tb = glade_xml_get_widget (main_window_xml, "toolbar");
-    GtkWidget *mi = glade_xml_get_widget (main_window_xml, "toolbar_menu");
+    GtkWidget *tb = gtkpod_xml_get_widget (main_window_xml, "toolbar");
+    GtkWidget *mi = gtkpod_xml_get_widget (main_window_xml, "toolbar_menu");
 
     if (prefs_get_display_toolbar ())
     {
@@ -238,7 +387,7 @@
    prefs. */
 void display_set_info_window_menu (void)
 {
-    GtkWidget *mi = glade_xml_get_widget (main_window_xml, "info_window_menu");
+    GtkWidget *mi = gtkpod_xml_get_widget (main_window_xml, "info_window_menu");
 
     if (prefs_get_info_window ())
     {
@@ -251,16 +400,14 @@
 }
 
 /** Takes care about 'Check IPOD Files' Menu Item and makes it unavailable
- * if gtkpod is offline or DB wasn't imported.
+ * if gtkpod is offline.
  */
 void display_set_check_ipod_menu (void)
 {
     GtkWidget *w = NULL;
 
-    if((w = glade_xml_get_widget (main_window_xml, "check_ipod_files_mi")))
+    if((w = gtkpod_xml_get_widget (main_window_xml, "check_ipod_files_mi")))
         gtk_widget_set_sensitive(w, !prefs_get_offline());
-    else
-        g_warning ("check_ipod_files_mi(): Programming error: widget check_ipod_files_mi must be found\n");
 }
 
 /* make the tooltips visible or hide it depending on the value set in
@@ -280,8 +427,8 @@
 			    "main_tooltips_initialised")) return;
 
     mi = GTK_CHECK_MENU_ITEM (
-	glade_xml_get_widget (main_window_xml, "tooltips_menu"));
-    tb = GTK_TOOLBAR (glade_xml_get_widget (main_window_xml, "toolbar"));
+	gtkpod_xml_get_widget (main_window_xml, "tooltips_menu"));
+    tb = GTK_TOOLBAR (gtkpod_xml_get_widget (main_window_xml, "toolbar"));
     mt = g_object_get_data (G_OBJECT (gtkpod_window), "main_tooltips");
 
     g_return_if_fail (mi);
@@ -329,6 +476,7 @@
     st_update_default_sizes ();
     prefs_window_update_default_sizes ();
     info_update_default_sizes ();
+    details_update_default_sizes ();
 }
 
 
@@ -440,7 +588,7 @@
     /* lookup stop_button */
     if (stop_button == NULL)
     {
-	stop_button = glade_xml_get_widget (main_window_xml, "stop_button");
+	stop_button = gtkpod_xml_get_widget (main_window_xml, "stop_button");
 	if (stop_button == NULL)
 	    g_warning ("Programming error: stop_button not found\n");
     }
@@ -651,8 +799,8 @@
 
     g_return_if_fail (widget);
 
-    timeout = (guint)g_object_get_data (G_OBJECT (widget),
-					"scroll_row_timeout");
+    timeout = GPOINTER_TO_UINT(g_object_get_data (G_OBJECT (widget),
+					"scroll_row_timeout"));
 
     if (timeout != 0)
     {
@@ -667,7 +815,7 @@
     gint px, py;
     GdkModifierType mask;
     GdkRectangle vis_rect;
-    gint times;
+    guint times;
     gboolean resp = TRUE;
     const gint SCROLL_EDGE_SIZE = 12;
 
@@ -675,7 +823,7 @@
 
     gdk_threads_enter ();
 
-    times = (gint)g_object_get_data (G_OBJECT (data), "scroll_row_times");
+    times = GPOINTER_TO_UINT(g_object_get_data (G_OBJECT (data), "scroll_row_times"));
     
     gdk_window_get_pointer (gtk_tree_view_get_bin_window (treeview),
 			    &px, &py, &mask);
@@ -717,7 +865,7 @@
 	times = 0;
     }
     g_object_set_data (G_OBJECT (data), "scroll_row_times",
-		       (gpointer)times);
+		       GUINT_TO_POINTER(times));
     if (mask == 0)
     {
 	_remove_scroll_row_timeout (data);
@@ -734,7 +882,7 @@
 	guint timeout = g_timeout_add (75, display_autoscroll_row_timeout,
 				       widget);
 	g_object_set_data (G_OBJECT (widget), "scroll_row_timeout",
-			   (gpointer)timeout);
+			   GUINT_TO_POINTER(timeout));
     }
 }
 
@@ -753,10 +901,67 @@
    void create_add_files_dialog (void)
    void create_add_playlists_dialog(void)
    void dirbrowser_create (void)
-   void open_about_window ()
+   void open_about_window (void)
 */
 
 
+/* FIXME: PODCASTS: remove Podcast menu */
+void on_update_podcasts_activate (GtkButton       *button,
+				  gpointer         user_data)
+{
+#if 0
+    podcast_fetch ();
+#endif
+}
+
+void on_edit_details_selected_playlist (GtkMenuItem     *menuitem,
+					gpointer         user_data)
+{
+    Playlist *pl = pm_get_selected_playlist ();
+
+    if (!pl)
+    {
+	gtkpod_statusbar_message (_("No playlist selected"));
+	return;
+    }
+    details_edit (pl->members);
+}
+
+void on_edit_details_selected_tab_entry (GtkMenuItem     *menuitem,
+					 gpointer         user_data)
+{
+    gint inst = get_sort_tab_number (
+	_("Edit selected entry of which sort tab?"));
+
+    if (inst != -1)
+    {
+	TabEntry *entry = st_get_selected_entry (inst);
+	if (entry == NULL)
+	{  /* no entry selected */
+	    gtkpod_statusbar_message (_("No entry selected."));
+	    return;
+	}
+	details_edit (entry->members);
+    }
+}
+
+void on_edit_details_selected_tracks (GtkMenuItem     *menuitem,
+				      gpointer         user_data)
+{
+    GList *tracks = tm_get_selected_tracks ();
+
+    if (tracks)
+    {
+	details_edit (tracks);
+	g_list_free (tracks);
+    }
+    else
+    {
+	gtkpod_statusbar_message (_("No tracks selected"));
+    }
+}
+
+
 /* callback for "add new playlist" button */
 void
 on_new_playlist_button                 (GtkButton       *button,
@@ -778,7 +983,7 @@
 on_edit_preferences1_activate          (GtkMenuItem     *menuitem,
 					gpointer         user_data)
 {
-    if(!widgets_blocked)  prefs_window_create();
+    if(!widgets_blocked)  prefs_window_create (-1);
 }
 
 
@@ -807,66 +1012,159 @@
 }
 
 
-void
-on_delete_tracks_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data)
+void on_edit_smart_playlist (GtkMenuItem *mi,
+			     gpointer data)
 {
-    g_print ("not supported yet");
-//    delete_track_head (FALSE);
+    Playlist *pl = pm_get_selected_playlist ();
+
+    if (!pl)
+    {
+	gtkpod_statusbar_message (_("No playlist selected"));
+	return;
+    }
+    spl_edit (pl);
 }
 
 
-void
-on_delete_playlist_activate                (GtkMenuItem     *menuitem,
-					gpointer         user_data)
+static void delete_selected_tracks (DeleteAction deleteaction)
 {
-    g_print ("not supported yet");
-//    delete_playlist_head (FALSE);
+    GList *tracks = tm_get_selected_tracks ();
+
+    if (tracks)
+    {
+	delete_track_head (deleteaction);
+	g_list_free (tracks);
+    }
+    else
+    {
+	gtkpod_statusbar_message (_("No tracks selected"));
+    }
+}    
+
+static void delete_selected_entry (DeleteAction deleteaction,
+				   gchar *text)
+{
+    TabEntry *entry;
+    gint inst;
+
+    inst = get_sort_tab_number (text);
+    if (inst == -1) return;
+
+    entry = st_get_selected_entry (inst);
+    if (!entry)
+    {
+	gchar *str = g_strdup_printf(_("No entry selected in Sort Tab %d"),
+				     inst+1);
+	gtkpod_statusbar_message (str);
+	g_free (str);
+	return;
+    }
+    delete_entry_head (inst, deleteaction);
 }
 
-void
-on_delete_tab_entry_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
+static void delete_selected_playlist (DeleteAction deleteaction)
 {
-    g_print ("not supported yet");
-/*     gint inst = get_sort_tab_number ( */
-/* 	_("Delete selected entry of which sort tab?")); */
+    Playlist *pl = pm_get_selected_playlist ();
 
-/*     if (inst != -1)   delete_entry_head (inst, FALSE); */
+    if (!pl)
+    {
+	gtkpod_statusbar_message (_("No playlist selected"));
+	return;
+    }
+    delete_playlist_head (deleteaction);
 }
 
+void on_delete_selected_tracks_from_database (GtkMenuItem *mi,
+					      gpointer data)
+{
+    delete_selected_tracks (DELETE_ACTION_DATABASE);
+}
+
 void
-on_delete_full_tracks_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data)
+on_delete_selected_playlist_including_tracks_from_harddisk (GtkMenuItem *mi,
+							    gpointer data)
 {
-    g_print ("not supported yet");
-//     delete_track_head (TRUE);
+    delete_selected_playlist (DELETE_ACTION_LOCAL);
 }
 
 
-void
-on_delete_full_playlist_activate                (GtkMenuItem     *menuitem,
-					gpointer         user_data)
+void on_delete_selected_entry_from_database (GtkMenuItem *mi,
+					     gpointer data)
 {
-    g_print ("not supported yet");
-//    delete_playlist_head (TRUE);
+    delete_selected_entry (DELETE_ACTION_DATABASE, 
+			   _("Remove entry of which sort tab from database?"));
 }
 
+
+void on_delete_selected_entry_from_ipod (GtkMenuItem *mi,
+					 gpointer data)
+{
+    delete_selected_entry (DELETE_ACTION_IPOD,
+			   _("Remove tracks in selected entry of which filter tab from the iPod?"));
+}
+
+
+void on_delete_selected_tracks_from_playlist (GtkMenuItem *mi,
+					      gpointer data)
+{
+    delete_selected_tracks (DELETE_ACTION_PLAYLIST);
+}
+
+
+void on_delete_selected_tracks_from_harddisk (GtkMenuItem *mi,
+					      gpointer data)
+{
+    delete_selected_tracks (DELETE_ACTION_LOCAL);
+}
+
+
+void on_delete_selected_entry_from_harddisk (GtkMenuItem *mi,
+					     gpointer data)
+{
+    delete_selected_entry (DELETE_ACTION_LOCAL,
+			   _("Remove tracks in selected entry of which filter tab from the harddisk?"));
+}
+
+
+void on_delete_selected_tracks_from_ipod (GtkMenuItem *mi,
+					  gpointer data)
+{
+    delete_selected_tracks (DELETE_ACTION_IPOD);
+}
+
+
+void on_delete_selected_playlist (GtkMenuItem *mi,
+				  gpointer data)
+{
+    delete_selected_playlist (DELETE_ACTION_PLAYLIST);
+}
+
+
 void
-on_delete_full_tab_entry_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
+on_delete_selected_playlist_including_tracks_from_database (GtkMenuItem *mi,
+							    gpointer data)
 {
-    g_print ("not supported yet");
-/*     gint inst = get_sort_tab_number ( */
-/* 	_("Delete selected entry of which sort tab?")); */
+    delete_selected_playlist (DELETE_ACTION_DATABASE);
+}
 
-/*     if (inst != -1) */
-/*     { */
-/* 	delete_entry_head (inst, TRUE); */
-/*     } */
+
+void on_delete_selected_entry_from_playlist (GtkMenuItem *mi,
+					     gpointer data)
+{
+    delete_selected_entry (DELETE_ACTION_PLAYLIST,
+			   _("Remove tracks in selected entry of which filter tab from playlist?"));
 }
 
+
 void
+on_delete_selected_playlist_including_tracks_from_ipod (GtkMenuItem *mi,
+							gpointer data)
+{
+    delete_selected_playlist (DELETE_ACTION_IPOD);
+}
+
+
+void
 on_ipod_directories_menu               (GtkMenuItem     *menuitem,
 					gpointer         user_data)
 {

Modified: gtkpod/trunk/src/display.h
===================================================================
--- gtkpod/trunk/src/display.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-02 00:32:38 jcs>
+/* Time-stamp: <2005-12-10 14:43:34 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display.h,v 1.100 2005/07/01 16:53:43 jcsjcs Exp $
+|  $Id: display.h,v 1.109 2005/12/10 08:21:59 jcsjcs Exp $
 */
 
 #ifndef __DISPLAY_H__
@@ -89,6 +89,7 @@
 typedef struct {
   gchar *name;
   gboolean master; /* set if this is the "All" entry */
+  gboolean compilation; /* set if this is the "Compilation" entry */
   GList *members;  /* GList with member tracks (pointer to "Track") */
 } TabEntry;
 
@@ -125,7 +126,7 @@
   TimeInfo ti_played;                /* TimeInfo "played" (sp)        */
   GtkTooltipsData *sp_tooltips_data; /* ptr to tooltips in special st */
   /* function used for string comparisons, set in on_st_switch_page   */
-  gint (*string_compare_func) (gchar *str1, gchar *str2);
+  gint (*string_compare_func) (const gchar *str1, const gchar *str2);
 } SortTab;
 
 /* "Column numbers" in sort tab model */
@@ -141,9 +142,10 @@
  * etc.). Since the labels to the buttons are set in prefs_window.c
  * when creating the window, you only need to name the buttons in the
  * intended order using glade-2. There is no need to label them. */
-/* Note: the tm_col_strings[] in display_tracks.c are ordered according
-   to this enum list. Therefore, if you change the order, you must
-   also adjust the order of the tm_col_strings[] array. */
+/* Note: add corresponding entries to T_item and TM_to_T() as well 
+ * (below and in misc_conversion.c). 
+ * IMPORTANT: Do not change the order -- always add new entries at the
+ * end */
 typedef enum  {
   TM_COLUMN_TITLE = 0,
   TM_COLUMN_ARTIST,
@@ -169,16 +171,26 @@
   TM_COLUMN_SOUNDCHECK,
   TM_COLUMN_SAMPLERATE,
   TM_COLUMN_BPM,
-  TM_COLUMN_FDESC,
+  TM_COLUMN_FILETYPE,
   TM_COLUMN_GROUPING,         /* 25 */
   TM_COLUMN_COMPILATION,
+  TM_COLUMN_COMMENT,
+  TM_COLUMN_CATEGORY,
+  TM_COLUMN_DESCRIPTION,
+  TM_COLUMN_PODCASTURL,       /* 30 */
+  TM_COLUMN_PODCASTRSS,
+  TM_COLUMN_SUBTITLE,
+  TM_COLUMN_TIME_RELEASED,
   TM_NUM_COLUMNS
 } TM_item;
 
 /* A means to address the fields by uniform IDs. May be extended as
  * needed. You should extend "track_get_item_pointer()" defined in
  * track.c as well for string fields. */
+/* Add corresponding entries to t_strings[] and t_tooltips[] in
+   misc_conversion.c! */
 /* Used in prefs_window.c to label the sort_ign_field<num> buttons */
+/* Used in display.c to label the detail_label_<num> labels */
 typedef enum {
     T_ALL = 0,      /* all fields */
     T_ALBUM,
@@ -187,7 +199,7 @@
     T_GENRE,
     T_COMMENT,      /*  5 */
     T_COMPOSER,
-    T_FDESC,
+    T_FILETYPE,
     T_PC_PATH,
     T_IPOD_PATH,
     T_IPOD_ID,      /* 10 */
@@ -209,6 +221,13 @@
     T_CD_NR,
     T_GROUPING,
     T_COMPILATION,
+    T_CATEGORY,
+    T_DESCRIPTION,  /* 30 */
+    T_PODCASTURL,
+    T_PODCASTRSS,
+    T_SUBTITLE,
+    T_TIME_RELEASED,
+    T_CHECKED,      /* 35 */
     T_ITEM_NUM,
 } T_item;
 
@@ -238,7 +257,7 @@
 
 void display_create (void);
 void display_cleanup (void);
-void display_adjust_delete_menus (void);
+void display_adjust_menus (void);
 void display_disable_gtkpod_import_buttons(void);
 void display_show_hide_toolbar (void);
 void display_reset (gint inst);
@@ -264,6 +283,7 @@
 
 void st_stop_editing (gint inst, gboolean cancel);
 void st_page_selected (GtkNotebook *notebook, guint page);
+void st_redisplay (guint32 inst);
 void st_sort (GtkSortType order);
 void st_remove_entry (TabEntry *entry, guint32 inst);
 gint st_get_instance_from_treeview (GtkTreeView *tv);

Modified: gtkpod/trunk/src/display_itdb.c
===================================================================
--- gtkpod/trunk/src/display_itdb.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display_itdb.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-16 22:47:26 jcs>
+/* Time-stamp: <2005-12-11 17:54:30 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display_itdb.c,v 1.28 2005/06/17 13:30:02 jcsjcs Exp $
+|  $Id: display_itdb.c,v 1.40 2005/12/11 09:44:35 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -34,6 +34,8 @@
 #include <math.h>
 #include <string.h>
 
+#include "charset.h"
+#include "details.h"
 #include "display_itdb.h"
 #include "display.h"
 #include "md5.h"
@@ -113,6 +115,8 @@
 	etr_dup->year_str = g_strdup (etr->year_str);
 	etr_dup->pc_path_locale = g_strdup (etr->pc_path_locale);
 	etr_dup->pc_path_utf8 = g_strdup (etr->pc_path_utf8);
+	etr_dup->thumb_path_locale = g_strdup (etr->thumb_path_locale);
+	etr_dup->thumb_path_utf8 = g_strdup (etr->thumb_path_utf8);
 	etr_dup->hostname = g_strdup (etr->hostname);
 	etr_dup->md5_hash = g_strdup (etr->md5_hash);
 	etr_dup->charset = g_strdup (etr->charset);
@@ -209,6 +213,7 @@
     Track *track = itdb_track_new ();
     /* Add ExtraTrackData */
     gp_track_add_extra (track);
+    gp_track_set_flags_default (track);
     return track;
 }
 
@@ -258,6 +263,90 @@
     return result;
 }
 
+
+/* Remove track and notify all windows of the change
+   NOTE: you need to notify the main display via pm_remove_track()
+   before when you make sure @track is no longer referenced in any
+   playlist -- see gp_playlist_remove_track for details */
+void gp_track_remove (Track *track)
+{
+    /* currently only the details window may be accessing the tracks */
+    details_remove_track (track);
+    /* remove from database */
+    itdb_track_remove (track);
+}
+
+
+/* Unlink track and notify all windows of the change
+   NOTE: you need to notify the main display via pm_remove_track()
+   before when you make sure @track is no longer referenced in any
+   playlist -- see gp_playlist_remove_track for details */
+void gp_track_unlink (Track *track)
+{
+    /* currently only the details window may be accessing the tracks */
+    details_remove_track (track);
+    /* remove from database */
+    itdb_track_unlink (track);
+}
+
+
+/* Set a thumbnail and store the filename in ExtraTrackData */
+gboolean gp_track_set_thumbnails (Track *track, const gchar *filename)
+{
+    gboolean result;
+    ExtraTrackData *etr;
+
+    g_return_val_if_fail (track, FALSE);
+    g_return_val_if_fail (filename, FALSE);
+
+    etr = track->userdata;
+    g_return_val_if_fail (etr, FALSE);
+
+    result = itdb_track_set_thumbnails (track, filename);
+    if (result == TRUE)
+    {
+	g_free (etr->thumb_path_locale);
+	g_free (etr->thumb_path_utf8);
+	etr->thumb_path_locale = g_strdup (filename);
+	etr->thumb_path_utf8 = charset_to_utf8 (filename);
+    }
+    else
+    {
+	g_free (etr->thumb_path_locale);
+	g_free (etr->thumb_path_utf8);
+	etr->thumb_path_locale = g_strdup ("");
+	etr->thumb_path_utf8 = g_strdup ("");
+	gtkpod_warning (_("Failed to set cover art: '%s'"), filename);
+    }
+    return result;
+}
+
+/* Remove a thumbnail and remove the filename in ExtraTrackData */
+/* Return value:
+   FALSE: track did not have any thumbnails, so no change was done
+   TRUE: track did have thumbnails which were removed */
+gboolean gp_track_remove_thumbnails (Track *track)
+{
+    gboolean changed=FALSE;
+
+    ExtraTrackData *etr;
+    g_return_val_if_fail (track, FALSE);
+    etr = track->userdata;
+    g_return_val_if_fail (etr, FALSE);
+
+    if (track->artwork->thumbnails)
+	changed = TRUE;
+
+    itdb_track_remove_thumbnails (track);
+    g_free (etr->thumb_path_locale);
+    g_free (etr->thumb_path_utf8);
+    etr->thumb_path_locale = g_strdup ("");
+    etr->thumb_path_utf8 = g_strdup ("");
+
+    return changed;
+}
+
+
 /* add itdb to itdbs */
 void gp_itdb_add (iTunesDB *itdb, gint pos)
 {
@@ -273,6 +362,25 @@
     pm_add_itdb (itdb, pos);
 }
 
+/* return the podcast itdb */
+iTunesDB *gp_itdb_get_podcast ()
+{
+    GList *gl;
+
+    g_return_val_if_fail (itdbs_head, NULL);
+
+    for (gl=itdbs_head->itdbs; gl; gl=gl->next)
+    {
+	iTunesDB *itdb = gl->data;
+	g_return_val_if_fail (itdb, NULL);
+
+	if (itdb->usertype & GP_ITDB_TYPE_PODCASTS)
+	    return itdb;
+    }
+    return NULL;
+}
+
+
 /* Also replaces @old_itdb in the itdbs GList and take care that the
  * displayed itdb gets replaced as well */
 void gp_replace_itdb (iTunesDB *old_itdb, iTunesDB *new_itdb)
@@ -443,6 +551,8 @@
 			       DeleteAction deleteaction)
 {
     iTunesDB *itdb;
+    Playlist *mpl;
+    gboolean remove_track = FALSE;
 
     g_return_if_fail (track);
     itdb = track->itdb;
@@ -453,8 +563,10 @@
     case DELETE_ACTION_IPOD:
     case DELETE_ACTION_LOCAL:
     case DELETE_ACTION_DATABASE:
-	/* remove from MPL in these cases */
-	plitem = NULL;
+	/* remove from MPL in these cases (unless we are removing
+	   podcasts) */
+	if (!(plitem && itdb_playlist_is_podcasts (plitem)))
+	    plitem = NULL;
 	break;
     case DELETE_ACTION_PLAYLIST:
 	/* cannot remove from MPL */
@@ -462,7 +574,10 @@
 	break;
     }
 
-    if (plitem == NULL)  plitem = itdb_playlist_mpl (track->itdb);
+    mpl = itdb_playlist_mpl (track->itdb);
+
+    if (plitem == NULL)
+	plitem = mpl;
     
     g_return_if_fail (plitem);
 
@@ -472,7 +587,29 @@
     /* remove track from playlist */
     itdb_playlist_remove_track (plitem, track);
 
-    if (plitem->type == ITDB_PL_TYPE_MPL)
+    /* if we removed a podcasts, remove it from memory as well, unless
+       it's present in the MPL (this happens if this podcast was on
+       the iPod as podcast as well as standard track) */
+    if (itdb_playlist_is_podcasts (plitem))
+    {
+	/* just for safety: remove possible duplicates of @track in
+	   the podcast playlist before removing it from memory */
+	while (g_list_find (plitem->members, track))
+	{
+	    pm_remove_track (plitem, track);
+	    itdb_playlist_remove_track (plitem, track);
+	}
+	if (!itdb_playlist_contains_track (mpl, track))
+	{
+	    remove_track = TRUE;
+	}
+	else
+	{   /* strip the podcast flags */
+	    gp_track_set_flags_default (track);
+	}
+    }
+
+    if (itdb_playlist_is_mpl (plitem))
     { /* if it's the MPL, we remove the track permanently */
 	GList *gl = g_list_nth (itdb->playlists, 1);
 	ExtraiTunesDBData *eitdb = itdb->userdata;
@@ -482,12 +619,19 @@
 	{  /* first we remove the track from all other playlists (i=1) */
 	    Playlist *pl = gl->data;
 	    g_return_if_fail (pl);
-	    pm_remove_track (pl, track);
-	    itdb_playlist_remove_track (pl, track);
+	    while (g_list_find (pl->members, track))
+	    {
+		pm_remove_track (pl, track);
+		itdb_playlist_remove_track (pl, track);
+	    }
 	    gl=gl->next;
 	}
+	remove_track = TRUE;
+    }
+
+    if (remove_track)
+    {
 	md5_track_remove (track);
-
 	if (itdb->usertype & GP_ITDB_TYPE_IPOD)
 	{
 	    switch (deleteaction)
@@ -495,17 +639,17 @@
 	    case DELETE_ACTION_DATABASE:
 		/* ATTENTION: this might create a dangling file on the
 		   iPod! */
-		itdb_track_remove (track);
+		gp_track_remove (track);
 		break;
 	    case DELETE_ACTION_IPOD:
 		if (track->transferred)
 		{
-		    itdb_track_unlink (track);
+		    gp_track_unlink (track);
 		    mark_track_for_deletion (itdb, track);
 		}
 		else
 		{
-		    itdb_track_remove (track);
+		    gp_track_remove (track);
 		}
 		break;
 	    case DELETE_ACTION_PLAYLIST:
@@ -521,11 +665,11 @@
 	    switch (deleteaction)
 	    {
 	    case DELETE_ACTION_LOCAL:
-		itdb_track_unlink (track);
+		gp_track_unlink (track);
 		mark_track_for_deletion (itdb, track);
 		break;
 	    case DELETE_ACTION_DATABASE:
-		itdb_track_remove (track);
+		gp_track_remove (track);
 		break;
 	    case DELETE_ACTION_PLAYLIST:
 	    case DELETE_ACTION_IPOD:
@@ -570,17 +714,24 @@
     etr = track->userdata;
     g_return_if_fail (etr);
 
+    if (!track->title)           track->title = g_strdup ("");
+    if (!track->artist)          track->artist = g_strdup ("");
     if (!track->album)           track->album = g_strdup ("");
-    if (!track->artist)          track->artist = g_strdup ("");
-    if (!track->title)           track->title = g_strdup ("");
     if (!track->genre)           track->genre = g_strdup ("");
+    if (!track->composer)        track->composer = g_strdup ("");
     if (!track->comment)         track->comment = g_strdup ("");
-    if (!track->composer)        track->composer = g_strdup ("");
-    if (!track->fdesc)           track->fdesc = g_strdup ("");
+    if (!track->filetype)        track->filetype = g_strdup ("");
     if (!track->grouping)        track->grouping = g_strdup ("");
+    if (!track->category)        track->category = g_strdup ("");
+    if (!track->description)     track->description = g_strdup ("");
+    if (!track->podcasturl)      track->podcasturl = g_strdup ("");
+    if (!track->podcastrss)      track->podcastrss = g_strdup ("");
+    if (!track->subtitle)        track->subtitle = g_strdup ("");
+    if (!track->ipod_path)       track->ipod_path = g_strdup ("");
     if (!etr->pc_path_utf8)      etr->pc_path_utf8 = g_strdup ("");
     if (!etr->pc_path_locale)    etr->pc_path_locale = g_strdup ("");
-    if (!track->ipod_path)       track->ipod_path = g_strdup ("");
+    if (!etr->thumb_path_utf8)   etr->thumb_path_utf8 = g_strdup ("");
+    if (!etr->thumb_path_locale) etr->thumb_path_locale = g_strdup ("");
     /* Make sure year_str is identical to year */
     g_free (etr->year_str);
     etr->year_str = g_strdup_printf ("%d", track->year);
@@ -681,21 +832,24 @@
 		    g_return_if_fail (eitdb);
 		    itdb->usertype = type;
 		    itdb->filename = filename;
-		    itdb->mountpoint = mountpoint;
+		    itdb_set_mountpoint (itdb, mountpoint);
+		    g_free (mountpoint);
 		    eitdb->offline_filename = offline_filename;
 
 		    nm = g_strdup_printf ("itdb_%d_name", i);
 		    if (!prefs_get_string_value (nm, &name))
 		    {
-			if (type & GP_ITDB_TYPE_LOCAL)
+			if (type & GP_ITDB_TYPE_PODCASTS)
+			    name = g_strdup (_("Podcasts"));
+			else if (type & GP_ITDB_TYPE_LOCAL)
 			    name = g_strdup (_("Local"));
 			else
-			    name = g_strdup ("gtkpod");
+			    name = g_strdup ("iPod");
 		    }
 		    pl = gp_playlist_new (name, FALSE);
 		    g_free (name);
 		    g_free (nm);
-		    pl->type = ITDB_PL_TYPE_MPL;
+		    itdb_playlist_set_mpl (pl);
 		    itdb_playlist_add (itdb, pl, -1);
 
 		    eitdb->data_changed = FALSE;
@@ -708,6 +862,34 @@
 		    g_free (offline_filename);
 		}
 
+		/* Check if Podcast Playlist is present on IPOD itdb
+		 * and add if not. If Podcast Playlist is present on
+		 * local itdb remove it. */
+		pl = itdb_playlist_podcasts (itdb);
+		if ((type & GP_ITDB_TYPE_IPOD) && !pl)
+		{   /* add podcast playlist */
+		    pl = gp_playlist_new (_("Podcasts"), FALSE);
+		    itdb_playlist_set_podcasts (pl);
+		    itdb_playlist_add (itdb, pl, -1);
+		    eitdb = itdb->userdata;
+		    g_return_if_fail (eitdb);
+		    eitdb->data_changed = FALSE;
+		}
+		if ((type & GP_ITDB_TYPE_LOCAL) && pl)
+		{   /* Remove podcast playlist. Normally no playlist
+		     * should be present, except for a few people who
+		     * used the CVS version between September and
+		     * October 2005. */
+		    if (itdb_playlist_tracks_number (pl) == 0)
+		    {
+			gp_playlist_remove (pl);
+		    }
+		    else
+		    {   /* OK, let's be nice and just drop the
+			   'podcast' flag instead of removing */
+			pl->podcastflag = 0;
+		    }
+		}
 		/* add to the display */
 		gp_itdb_add (itdb, -1);
 	    }
@@ -729,12 +911,12 @@
 	eitdb = itdb->userdata;
 	g_return_if_fail (eitdb);
 	itdb->usertype = GP_ITDB_TYPE_IPOD;
-	itdb->mountpoint = g_strdup (prefs_get_ipod_mount ());
+	itdb_set_mountpoint (itdb, prefs_get_ipod_mount ());
 	eitdb->offline_filename = g_build_filename (
 	    cfgdir, "iTunesDB", NULL);
 	gp_itdb_add (itdb, -1);
-	pl = gp_playlist_new ("gtkpod", FALSE);
-	pl->type = ITDB_PL_TYPE_MPL;  /* MPL! */
+	pl = gp_playlist_new ("iPod", FALSE);
+	itdb_playlist_set_mpl (pl);   /* MPL! */
 	gp_playlist_add (itdb, pl, -1);
 	g_return_if_fail (itdb->userdata);
 	eitdb->data_changed = FALSE;
@@ -748,6 +930,7 @@
 	    itdb = gp_import_itdb (NULL, GP_ITDB_TYPE_LOCAL,
 				   NULL, NULL, fn);
 	}
+
 	if (!itdb)
 	{   /* local database does not exist or cannot be loaded */
 	    itdb = gp_itdb_new ();
@@ -756,13 +939,48 @@
 	    itdb->usertype = GP_ITDB_TYPE_LOCAL;
 	    itdb->filename = g_strdup (fn);
 	    pl = gp_playlist_new (_("Local"), FALSE);
-	    pl->type = ITDB_PL_TYPE_MPL;  /* MPL! */
+	    itdb_playlist_set_mpl (pl);   /* MPL! */
 	    itdb_playlist_add (itdb, pl, -1);
 	}
+
 	gp_itdb_add (itdb, -1);
 	g_free (fn);
     }
 
+    /* Add poscast itdb if not present */
+    if (!gp_itdb_get_podcast ())
+    {
+	iTunesDB *itdb;
+	ExtraiTunesDBData *eitdb;
+	gchar *fn;
+	Playlist *pl;
+
+	/*First check if a database file already exists -- if yes load
+	   it */
+	itdb = NULL;
+	fn = g_build_filename (cfgdir, "podcasts.itdb", NULL);
+	if (g_file_test (fn, G_FILE_TEST_EXISTS))
+	{
+	    itdb = gp_import_itdb (NULL, GP_ITDB_TYPE_PODCASTS|GP_ITDB_TYPE_LOCAL,
+				   NULL, NULL, fn);
+	}
+
+	if (!itdb)
+	{   /* local database does not exist or cannot be loaded */
+	    itdb = gp_itdb_new ();
+	    eitdb = itdb->userdata;
+	    g_return_if_fail (eitdb);
+	    itdb->usertype = GP_ITDB_TYPE_PODCASTS|GP_ITDB_TYPE_LOCAL;
+	    itdb->filename = g_strdup (fn);
+	    pl = gp_playlist_new (_("Podcasts"), FALSE);
+	    itdb_playlist_set_mpl (pl);   /* MPL! */
+	    itdb_playlist_add (itdb, pl, -1);
+	}
+
+	gp_itdb_add (itdb, -1);
+	g_free (fn);
+    }
+
     /* set md5 */
     prefs_set_md5tracks (prefs_get_md5tracks ());
 

Modified: gtkpod/trunk/src/display_itdb.h
===================================================================
--- gtkpod/trunk/src/display_itdb.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display_itdb.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-25 14:49:19 jcs>
+/* Time-stamp: <2005-12-06 01:22:11 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display_itdb.h,v 1.19 2005/06/25 06:01:33 jcsjcs Exp $
+|  $Id: display_itdb.h,v 1.24 2005/12/05 16:35:17 jcsjcs Exp $
 */
 
 #ifndef __DISPLAY_ITDB_H__
@@ -34,8 +34,8 @@
 #  include <config.h>
 #endif
 
-#include <itdb.h>
 #include <gtk/gtk.h>
+#include "itdb.h"
 
 struct itdbs_head
 {
@@ -73,17 +73,21 @@
   gboolean audiophile_gain_set;/* has the audiophile gain been set?  */
   gchar   *pc_path_locale;/* path on PC (local encoding)             */
   gchar   *pc_path_utf8;  /* PC filename in utf8 encoding            */
+  gchar   *thumb_path_locale; /* same for thumbnail                  */
+  gchar   *thumb_path_utf8;   /* same for thumbnail                  */
   gchar   *hostname;      /* name of host this file has been imported on*/
   gchar   *md5_hash;      /* md5 hash of file (or NULL)              */
   gchar   *charset;       /* charset used for ID3 tags               */
   gint32 sortindex;       /* used for stable sorting (current order) */
+  gboolean tchanged;      /* temporary use, e.g. in detail.c         */
 } ExtraTrackData;
 
 /* types for iTunesDB */
 typedef enum
 {
-    GP_ITDB_TYPE_LOCAL = 1<<0,   /* local browsing */
+    GP_ITDB_TYPE_LOCAL = 1<<0,    /* local browsing, normal music */
     GP_ITDB_TYPE_IPOD  = 1<<1,    /* iPod */
+    GP_ITDB_TYPE_PODCASTS = 1<<2, /* local browsing, podcasts */
 } GpItdbType;
 
 /* Delete actions */
@@ -114,12 +118,17 @@
 void gp_replace_itdb (iTunesDB *old_itdb, iTunesDB *new_itdb);
 void gp_itdb_add_extra (iTunesDB *itdb);
 void gp_itdb_add_extra_full (iTunesDB *itdb);
+iTunesDB *gp_itdb_get_podcast (void);
 
 Track *gp_track_new (void);
 #define gp_track_free itdb_track_free
 Track *gp_track_add (iTunesDB *itdb, Track *track);
+void gp_track_remove (Track *track);
+void gp_track_unlink (Track *track);
 void gp_track_add_extra (Track *track);
 void gp_track_validate_entries (Track *track);
+gboolean gp_track_set_thumbnails (Track *track, const gchar *filename);
+gboolean gp_track_remove_thumbnails (Track *track);
 
 Playlist *gp_playlist_new (const gchar *title, gboolean spl);
 void gp_playlist_add (iTunesDB *itdb, Playlist *pl, gint32 pos);

Modified: gtkpod/trunk/src/display_playlists.c
===================================================================
--- gtkpod/trunk/src/display_playlists.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display_playlists.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-25 00:35:45 jcs>
+/* Time-stamp: <2005-12-10 14:43:34 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display_playlists.c,v 1.60 2005/06/24 16:17:18 jcsjcs Exp $
+|  $Id: display_playlists.c,v 1.71 2005/12/10 08:21:59 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -66,6 +66,10 @@
 };
 
 
+/* SEMIBOLD was introduced with version 1.8 */
+#ifndef PANGO_WEIGHT_SEMIBOLD
+#define PANGO_WEIGHT_SEMIBOLD 600
+#endif
 
 
 /* ---------------------------------------------------------------- */
@@ -437,12 +441,12 @@
 	NULL, NULL, &mask);
 
     /* don't allow copy/move before the MPL */
-    if ((dest->type == ITDB_PL_TYPE_MPL) &&
+    if ((itdb_playlist_is_mpl (dest)) && 
 	(pos == GTK_TREE_VIEW_DROP_BEFORE))
 	return 0;
 
     /* don't allow moving of MPL */
-    if (src->type == ITDB_PL_TYPE_MPL)
+    if (itdb_playlist_is_mpl (src))
 	return GDK_ACTION_COPY;
 
     /* don't allow drop onto itself */
@@ -454,7 +458,7 @@
     if (src->itdb == dest->itdb)
     {   /* DND within the same itdb */
         /* don't allow copy/move onto MPL */
-	if ((dest->type == ITDB_PL_TYPE_MPL) &&
+	if ((itdb_playlist_is_mpl (dest)) &&
 	    (pos != GTK_TREE_VIEW_DROP_AFTER))
 	    return 0;
 
@@ -515,14 +519,14 @@
 
 
     /* don't allow copy/move before the MPL */
-    if ((dest->type == ITDB_PL_TYPE_MPL) &&
+    if ((itdb_playlist_is_mpl (dest)) &&
 	(pos == GTK_TREE_VIEW_DROP_BEFORE))
 	return 0;
 
     if (src->itdb == dest->itdb)
     {   /* DND within the same itdb */
         /* don't allow copy/move onto MPL */
-	if ((dest->type == ITDB_PL_TYPE_MPL) &&
+	if ((itdb_playlist_is_mpl (dest)) &&
 	    (pos != GTK_TREE_VIEW_DROP_AFTER))
 	    return 0;
     }
@@ -607,7 +611,7 @@
 
     if (path_m)
     {   /* this callback was caused by pm_drag_motion -- we are
-	 * supposed to gdk_drag_status () */
+	 * supposed to call gdk_drag_status () */
 /* puts ("...by motion"); */
         pos = (GtkTreeViewDropPosition)g_object_get_data (G_OBJECT (widget), "drag_data_by_motion_pos");
         /* unset flag that */ 
@@ -999,7 +1003,7 @@
 	if (track->itdb == current_playlist->itdb)
 	{
 	    if ((playlist == current_playlist) ||
-		(current_playlist->type == ITDB_PL_TYPE_MPL))
+		itdb_playlist_is_mpl (current_playlist))
 	    {
 		st_remove_track (track, 0);
 	    }
@@ -1079,7 +1083,7 @@
   model = GTK_TREE_MODEL (gtk_tree_view_get_model (playlist_treeview));
   g_return_if_fail (model);
 
-  if (playlist->type == ITDB_PL_TYPE_MPL)
+  if (itdb_playlist_is_mpl (playlist))
   {   /* MPLs are always added top-level */
       mpl = NULL;
   }
@@ -1127,7 +1131,7 @@
       /* If it's the first playlist (no playlist selected AND playlist is
 	 the MPL, we select it, unless prefs_get_mpl_autoselect() says
 	 otherwise */
-      if ((playlist->type == ITDB_PL_TYPE_MPL) && prefs_get_mpl_autoselect())
+      if (itdb_playlist_is_mpl(playlist) && prefs_get_mpl_autoselect())
       {
 	  selection = gtk_tree_view_get_selection (playlist_treeview);
 	  gtk_tree_selection_select_iter (selection, &iter);
@@ -1143,9 +1147,9 @@
 void pm_remove_playlist (Playlist *playlist, gboolean select)
 {
     gboolean pm_delete_playlist_fe (GtkTreeModel *model,
-					   GtkTreePath *path,
-					   GtkTreeIter *iter,
-					   gpointer data)
+				    GtkTreePath *path,
+				    GtkTreeIter *iter,
+				    gpointer data)
 	{
 	    Playlist *playlist;
 	    
@@ -1155,7 +1159,7 @@
 		return TRUE;
 	    }
 	    return FALSE;
-	};
+	}
     GtkTreeModel *model;
     gboolean have_iter = FALSE;
     GtkTreeIter i;
@@ -1324,6 +1328,8 @@
       st_init (-1, 0);
 
       current_playlist = new_playlist;
+      if (new_playlist->is_spl && new_playlist->splpref.liveupdate)
+	  itdb_spl_update (new_playlist);
       if (new_playlist->members)
       {
 	  GTimeVal time;
@@ -1376,7 +1382,7 @@
 	  time.tv_sec % 3600, time.tv_usec);
 #endif 
   /* make only suitable delete menu items available */
-  display_adjust_delete_menus ();
+  display_adjust_menus ();
 }
 
 /* Callback function called when the selection
@@ -1439,9 +1445,8 @@
     {
 	Playlist *pl = gl_pl->data;
 	g_return_if_fail (pl);
-	if (pl->type == ITDB_PL_TYPE_MPL)
-	     pm_add_playlist (pl, pos);
-	else pm_add_playlist (pl, -1);
+	if (itdb_playlist_is_mpl (pl))     pm_add_playlist (pl, pos);
+	else                               pm_add_playlist (pl, -1);
     }
 }
 
@@ -1606,7 +1611,7 @@
 	/* get master playlist */
 	gtk_tree_model_get (tm, &parent, PM_COLUMN_PLAYLIST, &pl, -1); 
 	g_return_if_fail (pl);
-	g_return_if_fail (pl->type == ITDB_PL_TYPE_MPL);
+	g_return_if_fail (itdb_playlist_is_mpl (pl));
 	itdb = pl->itdb;
 	g_return_if_fail (itdb);
 
@@ -1621,7 +1626,7 @@
 	    if (itdb_playlist_by_nr (itdb, pos) != pl)
 	    {
 		/* move the playlist to indicated position */
-		g_return_if_fail (pl->type != ITDB_PL_TYPE_MPL);
+		g_return_if_fail (!itdb_playlist_is_mpl (pl));
 		itdb_playlist_move (pl, pos);
 		data_changed (itdb);
 	    }
@@ -1658,8 +1663,8 @@
   /* We make sure that the master playlist always stays on top */
   if (order == GTK_SORT_ASCENDING) corr = +1;
   else                             corr = -1;
-  if (playlist1->type == ITDB_PL_TYPE_MPL) return (-corr);
-  if (playlist2->type == ITDB_PL_TYPE_MPL) return (corr);
+  if (itdb_playlist_is_mpl (playlist1)) return (-corr);
+  if (itdb_playlist_is_mpl (playlist2)) return (corr);
 
   /* compare the two entries */
   return compare_string (playlist1->name, playlist2->name);
@@ -1686,7 +1691,7 @@
       g_return_if_reached ();
   }
 
-  column = (gint)g_object_get_data (G_OBJECT (renderer), "column");
+  column = GPOINTER_TO_INT ( g_object_get_data (G_OBJECT (renderer), "column") );
   gtk_tree_model_get (model, &iter, column, &playlist, -1);
   g_return_if_fail (playlist);
 
@@ -1727,28 +1732,42 @@
   g_return_if_fail (model);
   g_return_if_fail (iter);
 
-  column = (gint)g_object_get_data (G_OBJECT (renderer), "column");
+  column = GPOINTER_TO_INT ( g_object_get_data (G_OBJECT (renderer), "column") );
   gtk_tree_model_get (model, iter, column, &playlist, -1);
   g_return_if_fail (playlist);
 
   switch (column)
     {  /* We only have one column, so this code is overkill... */
     case PM_COLUMN_PLAYLIST: 
-	if (playlist->type == ITDB_PL_TYPE_MPL)
+	if (itdb_playlist_is_mpl (playlist))
 	{   /* mark MPL */
 	    g_object_set (G_OBJECT (renderer),
 			  "text", playlist->name, 
 			  "editable", TRUE,
 			  "weight", PANGO_WEIGHT_BOLD,
+			  "style", PANGO_STYLE_NORMAL,
 			  NULL);
 	}
 	else
 	{
-	    g_object_set (G_OBJECT (renderer),
-			  "text", playlist->name, 
-			  "editable", TRUE,
-			  "weight", PANGO_WEIGHT_NORMAL,
-			  NULL);
+	    if (itdb_playlist_is_podcasts (playlist))
+	    {
+		g_object_set (G_OBJECT (renderer),
+			      "text", playlist->name, 
+			      "editable", TRUE,
+			      "weight", PANGO_WEIGHT_SEMIBOLD,
+			      "style", PANGO_STYLE_ITALIC,
+			      NULL);
+	    }
+	    else
+	    {
+		g_object_set (G_OBJECT (renderer),
+			      "text", playlist->name, 
+			      "editable", TRUE,
+			      "weight", PANGO_WEIGHT_NORMAL,
+			      "style", PANGO_STYLE_NORMAL,
+			      NULL);
+	    }
 	}
 	break;
     }
@@ -1769,7 +1788,7 @@
   g_return_if_fail (model);
   g_return_if_fail (iter);
 
-  column = (gint)g_object_get_data (G_OBJECT (renderer), "column");
+  column = GPOINTER_TO_INT ( g_object_get_data (G_OBJECT (renderer), "column") );
   gtk_tree_model_get (model, iter, column, &playlist, -1);
   g_return_if_fail (playlist);
 
@@ -1779,12 +1798,12 @@
 	if (playlist->is_spl)
 	{
 	    g_object_set (G_OBJECT (renderer),
-			  "stock-id", "gtk-properties", NULL);
+			  "stock-id", GTK_STOCK_PROPERTIES, NULL);
 	}
-	else if (playlist->type != ITDB_PL_TYPE_MPL)
+	else if (!itdb_playlist_is_mpl (playlist))
 	{
 	    g_object_set (G_OBJECT (renderer),
-			  "stock-id", "gtk-justify-left", NULL);
+			  "stock-id", GTK_STOCK_JUSTIFY_LEFT, NULL);
 	}
 	else
 	{
@@ -1878,7 +1897,7 @@
   GtkWidget *playlist_window;
   GtkWidget *tree;
 
-  playlist_window = glade_xml_get_widget (main_window_xml, "playlist_window");
+  playlist_window = gtkpod_xml_get_widget (main_window_xml, "playlist_window");
   g_return_if_fail (playlist_window);
 
   /* destroy old treeview */

Modified: gtkpod/trunk/src/display_private.h
===================================================================
--- gtkpod/trunk/src/display_private.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display_private.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-14 22:12:11 jcs>
+/* Time-stamp: <2005-11-19 15:41:48 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display_private.h,v 1.21 2005/06/17 13:30:03 jcsjcs Exp $
+|  $Id: display_private.h,v 1.23 2005/11/19 07:29:46 jcsjcs Exp $
 */
 
 #ifndef __DISPLAY_PRIVATE_H__
@@ -79,7 +79,6 @@
 void st_remove_track (Track *track, guint32 inst);
 void st_init (ST_CAT_item new_category, guint32 inst);
 void st_create_notebook (gint inst);
-void st_redisplay (guint32 inst);
 void st_cleanup (void);
 void st_set_default_sizes (void);
 void st_update_default_sizes (void);
@@ -97,6 +96,9 @@
 #define DND_GTKPOD_TM_PATHLIST_TYPE "application/gtkpod-tm_pathlist"
 #define DND_GTKPOD_PLAYLISTLIST_TYPE "application/gtkpod-playlistlist"
 
+/* Prefs strings */
+extern const gchar *TM_PREFS_SEARCH_COLUMN;
+
 struct asf_data
 {
     GtkTreeIter *to_iter;

Modified: gtkpod/trunk/src/display_songs.c
===================================================================
--- gtkpod/trunk/src/display_songs.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display_songs.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-02 00:38:24 jcs>
+/* Time-stamp: <2005-12-03 20:53:34 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display_songs.c,v 1.81 2005/07/01 16:53:43 jcsjcs Exp $
+|  $Id: display_songs.c,v 1.94 2005/12/03 16:36:26 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -56,9 +56,10 @@
 static const gint READOUT_COL = 0;
 
 /* compare function to be used for string comparisons */
-static gint (*string_compare_func) (gchar *str1, gchar *str2) = compare_string;
+static gint (*string_compare_func) (const gchar *str1, const gchar *str2) = compare_string;
 
 static GtkTreeViewColumn *tm_add_column (TM_item tm_item, gint position);
+static TM_item tm_lookup_col_id (GtkTreeViewColumn *column);
 
 /* Drag and drop definitions */
 static GtkTargetEntry tm_drag_types [] = {
@@ -75,9 +76,10 @@
     { "STRING", 0, DND_TEXT_PLAIN }
 };
 
+/* prefs strings */
+const gchar *TM_PREFS_SEARCH_COLUMN = "tm_prefs_search_column";
 
 
-
 /* ---------------------------------------------------------------- */
 /* Section for track display                                        */
 /* DND -- Drag And Drop                                             */
@@ -259,7 +261,7 @@
     if (num == 0) return;
 
     /* Check if we really have to delete the tracks */
-    if (pl->type == ITDB_PL_TYPE_NORM)
+    if (!itdb_playlist_is_mpl (pl))
     {	/* get list of selected tracks */
 	GString *reply = g_string_sized_new (2000);
 	gchar *str;
@@ -609,7 +611,6 @@
     return FALSE;
 }
 
-
 /* ---------------------------------------------------------------- */
 /* Section for track display                                        */
 /* ---------------------------------------------------------------- */
@@ -776,44 +777,6 @@
 #endif
 
 
-/* Returns a string to be displayed in track_nr/tracks column */
-/* You must not free or modify the returned string */
-static const gchar *display_get_track_string (Track *track)
-{
-    static gchar str[20];
-
-    /* Erase string */
-    str[0] = 0;
-    if (track)
-    {
-	if (track->tracks == 0)
-	    snprintf (str, 20, "%d", track->track_nr);
-	else
-	    snprintf (str, 20, "%d/%d", track->track_nr, track->tracks);
-    }
-    return str;
-}
-
-
-/* Returns a string to be displayed in disk_nr/disks column */
-/* You must not free or modify the returned string */
-static const gchar *display_get_disk_string (Track *track)
-{
-    static gchar str[20];
-
-    /* Erase string */
-    str[0] = 0;
-    if (track)
-    {
-	if (track->cds == 0)
-	    snprintf (str, 20, "%d", track->cd_nr);
-	else
-	    snprintf (str, 20, "%d/%d", track->cd_nr, track->cds);
-    }
-    return str;
-}
-
-
 /* Called when editable cell is being edited. Stores new data to the
    track list. ID3 tags in the corresponding files are updated as
    well, if activated in the pref settings */
@@ -829,7 +792,6 @@
   gboolean multi_edit;
   gint sel_rows_num;
   GList *row_list, *row_node, *first;
-  time_t t;
 
 
   column = (TM_item) g_object_get_data(G_OBJECT(renderer), "column");
@@ -856,8 +818,7 @@
      ExtraTrackData *etr;
      gboolean changed;
      GtkTreeIter iter;
-     gint32 nr;
-     gchar **itemp_utf8, *str;
+     gchar *str;
 
      gtk_tree_model_get_iter(model, &iter, (GtkTreePath *) row_node->data);
      gtk_tree_model_get(model, &iter, READOUT_COL, &track, -1);
@@ -875,133 +836,49 @@
      case TM_COLUMN_ARTIST:
      case TM_COLUMN_GENRE:
      case TM_COLUMN_COMPOSER:
-     case TM_COLUMN_FDESC:
+     case TM_COLUMN_COMMENT:
+     case TM_COLUMN_FILETYPE:
      case TM_COLUMN_GROUPING:
-        itemp_utf8 = track_get_item_pointer (track, TM_to_T (column));
-        if (g_utf8_collate (*itemp_utf8, new_text) != 0)
-        {
-           g_free (*itemp_utf8);
-           *itemp_utf8 = g_strdup (new_text);
-           changed = TRUE;
-        }
-        break;
+     case TM_COLUMN_CATEGORY:
+     case TM_COLUMN_DESCRIPTION:
+     case TM_COLUMN_PODCASTURL:
+     case TM_COLUMN_PODCASTRSS:
+     case TM_COLUMN_SUBTITLE:
      case TM_COLUMN_TRACK_NR:
-        nr = atoi (new_text);
-        if ((nr >= 0) && (nr != track->track_nr))
-        {
-           track->track_nr = nr;
-           changed = TRUE;
-        }
-	str = strrchr (new_text, '/');
-	if (str)
-	{
-	    nr = atoi (str+1);
-	    if ((nr >= 0) && (nr != track->tracks))
-	    {
-		track->tracks = nr;
-		changed = TRUE;
-	    }
-	}
-	g_object_set (G_OBJECT (renderer),
-		      "text", display_get_track_string (track), NULL);
-        break;
+     case TM_COLUMN_TRACKLEN:
      case TM_COLUMN_CD_NR:
-        nr = atoi (new_text);
-        if ((nr >= 0) && (nr != track->cd_nr))
-        {
-           track->cd_nr = nr;
-           changed = TRUE;
-        }
-	str = strrchr (new_text, '/');
-	if (str)
-	{
-	    nr = atoi (str+1);
-	    if ((nr >= 0) && (nr != track->cds))
-	    {
-		track->cds = nr;
-		changed = TRUE;
-	    }
-	}
-	g_object_set (G_OBJECT (renderer),
-		      "text", display_get_disk_string (track), NULL);
-        break;
      case TM_COLUMN_YEAR:
-        nr = atoi (new_text);
-        if ((nr >= 0) && (nr != track->year))
-        {
-	   g_free (etr->year_str);
-	   etr->year_str = g_strdup_printf ("%d", nr);
-           track->year = nr;
-           changed = TRUE;
-        }
-        break;
      case TM_COLUMN_PLAYCOUNT:
-        nr = atoi (new_text);
-        if ((nr >= 0) && (nr != track->playcount))
-        {
-           track->playcount = nr;
-           changed = TRUE;
-        }
-        break;
      case TM_COLUMN_RATING:
-        nr = atoi (new_text);
-        if ((nr >= 0) && (nr <= 5) && (nr != track->rating))
-        {
-           track->rating = nr*RATING_STEP;
-           changed = TRUE;
-        }
-        break;
      case TM_COLUMN_TIME_ADDED:
      case TM_COLUMN_TIME_PLAYED:
      case TM_COLUMN_TIME_MODIFIED:
-	 t = time_string_to_time (new_text);
-	 if ((t != -1) && (t != time_get_time (track, column)))
-	 {
-	     time_set_time (track, t, column);
-	     changed = TRUE;
-	 }
-	 break;
+     case TM_COLUMN_TIME_RELEASED:
      case TM_COLUMN_VOLUME:
-        nr = atoi (new_text);
-        if (nr != track->volume)
-        {
-	    track->volume = nr;
-	    changed = TRUE;
-        }
-        break;
      case TM_COLUMN_SOUNDCHECK:
-	nr = replaygain_to_soundcheck (atof (new_text));
-/* 	printf("%d : %f\n", nr, atof (new_text)); */
-        if (nr != track->soundcheck)
-        {
-	    track->soundcheck = nr;
-	    changed = TRUE;
-        }
-        break;
      case TM_COLUMN_BITRATE:
-        nr = atoi (new_text);
-        if (nr != track->bitrate)
-        {
-	    track->bitrate = nr;
-	    changed = TRUE;
-        }
-        break;
      case TM_COLUMN_SAMPLERATE:
-        nr = atoi (new_text);
-        if (nr != track->samplerate)
-        {
-	    track->samplerate = nr;
-	    changed = TRUE;
-        }
-        break;
      case TM_COLUMN_BPM:
-        nr = atoi (new_text);
-        if (nr != track->BPM)
-        {
-	    track->BPM = nr;
-	    changed = TRUE;
-        }
-        break;
+	 changed = track_set_text (track, new_text, TM_to_T (column));
+	 
+	 /* redisplay some items to be on the safe side */
+	 switch (column)
+	 {
+	 case TM_COLUMN_TRACK_NR:
+	 case TM_COLUMN_CD_NR:
+	 case TM_COLUMN_TRACKLEN:
+	 case TM_COLUMN_TIME_ADDED:
+	 case TM_COLUMN_TIME_PLAYED:
+	 case TM_COLUMN_TIME_MODIFIED:
+	 case TM_COLUMN_TIME_RELEASED:
+	     str = track_get_text (track, TM_to_T (column));
+	     g_object_set (G_OBJECT (renderer), "text", str, NULL);
+	     g_free (str);
+	     break;
+	 default:
+	     break;
+	 }
+	 break;
      default:
         g_warning ("Programming error: tm_cell_edited: unknown track cell (%d) edited\n", column);
         break;
@@ -1050,11 +927,12 @@
   ExtraTrackData *etr;
   iTunesDB *itdb;
   TM_item column;
-  gchar text[21];
-  gchar *buf = NULL;
-  gchar *item_utf8 = NULL;
+  gchar *text;
 
   column = (TM_item)g_object_get_data (G_OBJECT (renderer), "column");
+
+  g_return_if_fail ((column >= 0) && (column < TM_NUM_COLUMNS));
+
   gtk_tree_model_get (model, iter, READOUT_COL, &track, -1);
   g_return_if_fail (track);
   etr = track->userdata;
@@ -1062,6 +940,8 @@
   itdb = track->itdb;
   g_return_if_fail (itdb);
 
+  text = track_get_text (track, TM_to_T (column));
+
   switch (column)
   {
   case TM_COLUMN_TITLE:
@@ -1069,151 +949,67 @@
   case TM_COLUMN_ALBUM:
   case TM_COLUMN_GENRE:
   case TM_COLUMN_COMPOSER:
-  case TM_COLUMN_FDESC:
+  case TM_COLUMN_COMMENT:
+  case TM_COLUMN_FILETYPE:
   case TM_COLUMN_GROUPING:
-      item_utf8 = track_get_item (track, TM_to_T (column));
+  case TM_COLUMN_CATEGORY:
+  case TM_COLUMN_DESCRIPTION:
+  case TM_COLUMN_PODCASTURL:
+  case TM_COLUMN_PODCASTRSS:
+  case TM_COLUMN_SUBTITLE:
+  case TM_COLUMN_TIME_PLAYED:
+  case TM_COLUMN_TIME_MODIFIED:
+  case TM_COLUMN_TIME_ADDED:
+  case TM_COLUMN_TIME_RELEASED:
       g_object_set (G_OBJECT (renderer),
-		    "text", item_utf8,
-		    "editable", TRUE, NULL);
-      break;
-  case TM_COLUMN_TRACK_NR:
-      g_object_set (G_OBJECT (renderer),
-		    "text", display_get_track_string (track),
+		    "text", text,
 		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
+		    "xalign", 0.0, NULL);
       break;
+  case TM_COLUMN_TRACK_NR:
   case TM_COLUMN_CD_NR:
-      g_object_set (G_OBJECT (renderer),
-		    "text", display_get_disk_string (track),
-		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
-      break;
-  case TM_COLUMN_IPOD_ID:
-      if ((track->id != -1) &&
-	  itdb->usertype & GP_ITDB_TYPE_IPOD)
-      {
-	  snprintf (text, 20, "%d", track->id);
-	  g_object_set (G_OBJECT (renderer),
-			"text", text,
-			"xalign", 1.0, NULL);
-      }
-      else
-      {
-	  g_object_set (G_OBJECT (renderer),
-			"text", "--",
-			"xalign", 1.0, NULL);
-      }
-      break;
-  case TM_COLUMN_PC_PATH:
-      g_object_set (G_OBJECT (renderer), "text", etr->pc_path_utf8, NULL);
-      break;
-  case TM_COLUMN_IPOD_PATH:
-      if (itdb->usertype & GP_ITDB_TYPE_IPOD)
-      {
-	  g_object_set (G_OBJECT (renderer), "text",
-			track->ipod_path, NULL);
-      }
-      if (itdb->usertype & GP_ITDB_TYPE_LOCAL)
-      {
-	  g_object_set (G_OBJECT (renderer), "text",
-			_("Local Database"), NULL);
-      }
-      break;
-  case TM_COLUMN_TRANSFERRED:
-      g_object_set (G_OBJECT (renderer), "active", track->transferred, NULL);
-      break;
-  case TM_COLUMN_COMPILATION:
-      g_object_set (G_OBJECT (renderer),
-		    "active", track->compilation,
-		    "activatable", TRUE, NULL);
-      break;
-  case TM_COLUMN_SIZE:
-      snprintf (text, 20, "%d", track->size);
-      g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "xalign", 1.0, NULL);
-      break;
-  case TM_COLUMN_TRACKLEN:
-      snprintf (text, 20, "%d:%02d", track->tracklen/60000,
-                                     (track->tracklen/1000)%60);
-      g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "xalign", 1.0, NULL);
-      break;
   case TM_COLUMN_BITRATE:
-      snprintf (text, 20, "%dk", track->bitrate);
-      g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
-      break;
   case TM_COLUMN_SAMPLERATE:
-      snprintf (text, 20, "%d", track->samplerate);
-      g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
-      break;
   case TM_COLUMN_BPM:
-      snprintf (text, 20, "%d", track->BPM);
-      g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
-      break;
   case TM_COLUMN_PLAYCOUNT:
-      snprintf (text, 20, "%d", track->playcount);
-      g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
-      break;
   case TM_COLUMN_YEAR:
-      snprintf (text, 20, "%d", track->year);
+  case TM_COLUMN_RATING:
+  case TM_COLUMN_VOLUME:
+  case TM_COLUMN_SOUNDCHECK:
+  case TM_COLUMN_TRACKLEN:
       g_object_set (G_OBJECT (renderer),
 		    "text", text,
 		    "editable", TRUE,
 		    "xalign", 1.0, NULL);
       break;
-  case TM_COLUMN_RATING:
-      snprintf (text, 20, "%d", track->rating/RATING_STEP);
+  case TM_COLUMN_IPOD_ID:
+  case TM_COLUMN_SIZE:
       g_object_set (G_OBJECT (renderer),
 		    "text", text,
-		    "editable", TRUE,
+		    "editable", FALSE,
 		    "xalign", 1.0, NULL);
       break;
-  case TM_COLUMN_TIME_PLAYED:
-  case TM_COLUMN_TIME_MODIFIED:
-  case TM_COLUMN_TIME_ADDED:
-      buf = time_field_to_string (track, column);
+  case TM_COLUMN_PC_PATH:
+  case TM_COLUMN_IPOD_PATH:
       g_object_set (G_OBJECT (renderer),
-		    "text", buf,
- 		    "editable", TRUE,
+		    "text", text,
+		    "editable", FALSE,
 		    "xalign", 0.0, NULL);
-      C_FREE (buf);
       break;
-  case TM_COLUMN_VOLUME:
-      snprintf (text, 20, "%d", track->volume);
+  case TM_COLUMN_TRANSFERRED:
       g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
+		    "active", track->transferred,
+		    "activatable", FALSE, NULL);
       break;
-  case TM_COLUMN_SOUNDCHECK:
-/*       printf ("%p:%f : %d\n", track, */
-/* 	      soundcheck_to_replaygain (track->soundcheck), */
-/* 	      track->soundcheck); */
-      snprintf (text, 20, "%0.2f",
-		soundcheck_to_replaygain (track->soundcheck));
+  case TM_COLUMN_COMPILATION:
       g_object_set (G_OBJECT (renderer),
-		    "text", text,
-		    "editable", TRUE,
-		    "xalign", 1.0, NULL);
+		    "active", track->compilation,
+		    "activatable", TRUE, NULL);
       break;
-  default:
-      g_warning ("Programming error: unknown column in tm_cell_data_func: %d\n", column);
+  case TM_NUM_COLUMNS:
       break;
   }
+  g_free (text);
 }
 
 
@@ -1247,7 +1043,7 @@
 
   first = g_list_first (row_list);
 
-
+  /* active will show the old state -- before the toggle */
   g_object_get (G_OBJECT (renderer), "active", &active, NULL);
 
   for (row_node = first;
@@ -1289,6 +1085,13 @@
 /*        pm_track_changed (track);  notify playlist model... -- not
  *        necessary here because only the track model is affected */
         data_changed (track->itdb);  /* indicate that data has changed */
+        
+        /* If the changed column is the compilation flag update the file
+           if required */
+        if (column == TM_COLUMN_COMPILATION)
+           if (prefs_get_id3_write())
+              write_tags_to_file (track);
+        
      }
      while (widgets_blocked && gtk_events_pending ())  gtk_main_iteration ();
   }
@@ -1360,7 +1163,7 @@
 
 static gint comp_int (gconstpointer a, gconstpointer b)
 {
-    return ((gint)a)-((gint)b);
+    return (GPOINTER_TO_INT(a)-(GPOINTER_TO_INT(b)));
 }
 
 
@@ -1407,7 +1210,7 @@
 	       happen if track has been added to playlist more than
 	       once */
 	    while ((old_position != -1) &&
-		   g_list_find (old_pos_l, (gpointer)old_position))
+		   g_list_find (old_pos_l, GINT_TO_POINTER(old_position)))
 	    {  /* find next occurence */
 		GList *link;
 		gint next;
@@ -1418,7 +1221,7 @@
 	    }
 	    /* we make a sorted list of the old positions */
 	    old_pos_l = g_list_insert_sorted (old_pos_l,
-					      (gpointer)old_position,
+					      GINT_TO_POINTER(old_position),
 					      comp_int);
 	    valid = gtk_tree_model_iter_next (tm, &i);
 	}
@@ -1427,7 +1230,7 @@
 	while (nlp && olp)
 	{
 	    GList *old_link;
-	    gint position = (gint)olp->data;
+	    guint position = GPOINTER_TO_INT(olp->data);
 
 	    /* if position == -1 one of the tracks in the track view
 	       could not be found in the selected playlist -> stop! */
@@ -1468,7 +1271,7 @@
     GList *l = *((GList**)data);
     gtk_tree_model_get(tm, i, READOUT_COL, &tr, -1);
     g_return_if_fail (tr);
-    l = g_list_append(l, (gpointer)tr->id);
+    l = g_list_append(l, GUINT_TO_POINTER(tr->id));
     *((GList**)data) = l;
 }
 
@@ -1610,9 +1413,15 @@
   case TM_COLUMN_ALBUM:
   case TM_COLUMN_GENRE:
   case TM_COLUMN_COMPOSER:
-  case TM_COLUMN_FDESC:
+  case TM_COLUMN_COMMENT:
+  case TM_COLUMN_FILETYPE:
   case TM_COLUMN_GROUPING:
   case TM_COLUMN_ARTIST:
+  case TM_COLUMN_CATEGORY:
+  case TM_COLUMN_DESCRIPTION:
+  case TM_COLUMN_PODCASTURL:
+  case TM_COLUMN_PODCASTRSS:
+  case TM_COLUMN_SUBTITLE:
       /* string_compare_func is set to either compare_string_fuzzy or
 	 compare_string in tm_sort_column_changed() which is called
 	 once before the comparing begins. */
@@ -1658,8 +1467,10 @@
       break;
   case TM_COLUMN_SIZE:
       cmp = track1->size - track2->size;
+      break;
   case TM_COLUMN_TRACKLEN:
       cmp = track1->tracklen - track2->tracklen;
+      break;
   case TM_COLUMN_BITRATE:
       cmp = track1->bitrate - track2->bitrate;
       break;
@@ -1678,8 +1489,9 @@
   case TM_COLUMN_TIME_ADDED:
   case TM_COLUMN_TIME_PLAYED:
   case TM_COLUMN_TIME_MODIFIED:
-      cmp = COMP (time_get_time (track1, tm_item),
-		  time_get_time (track2, tm_item));
+  case TM_COLUMN_TIME_RELEASED:
+      cmp = COMP (time_get_time (track1, TM_to_T (tm_item)),
+		  time_get_time (track2, TM_to_T (tm_item)));
       break;
   case  TM_COLUMN_VOLUME:
       cmp = track1->volume - track2->volume;
@@ -1710,6 +1522,63 @@
 }
 
 
+/* Function used to compare rows with user's search string */
+gboolean tm_search_equal_func (GtkTreeModel *model,
+			       gint column,
+			       const gchar *key,
+			       GtkTreeIter *iter,
+			       gpointer search_data)
+{
+  Track *track1;
+  gboolean cmp = 0;
+  gtk_tree_model_get (model, iter, READOUT_COL, &track1, -1);
+  switch (column)
+  {
+  case TM_COLUMN_TITLE:
+  case TM_COLUMN_ALBUM:
+  case TM_COLUMN_GENRE:
+  case TM_COLUMN_COMPOSER:
+  case TM_COLUMN_COMMENT:
+  case TM_COLUMN_FILETYPE:
+  case TM_COLUMN_GROUPING:
+  case TM_COLUMN_ARTIST:
+  case TM_COLUMN_CATEGORY:
+  case TM_COLUMN_DESCRIPTION:
+  case TM_COLUMN_PODCASTURL:
+  case TM_COLUMN_PODCASTRSS:
+  case TM_COLUMN_SUBTITLE:
+  case TM_COLUMN_PC_PATH:
+  case TM_COLUMN_YEAR:
+  case TM_COLUMN_IPOD_PATH:
+  case TM_COLUMN_COMPILATION:
+    cmp = (compare_string_start_case_insensitive (
+	  track_get_item (track1, TM_to_T (column)),
+	  key) != 0);
+    break;
+  case TM_COLUMN_TRACK_NR:
+  case TM_COLUMN_IPOD_ID:
+  case TM_COLUMN_TRANSFERRED:
+  case TM_COLUMN_SIZE:
+  case TM_COLUMN_TRACKLEN:
+  case TM_COLUMN_BITRATE:
+  case TM_COLUMN_PLAYCOUNT:
+  case TM_COLUMN_RATING:
+  case TM_COLUMN_TIME_PLAYED:
+  case TM_COLUMN_TIME_MODIFIED:
+  case TM_COLUMN_VOLUME:
+  case TM_COLUMN_CD_NR:
+  case TM_COLUMN_TIME_ADDED:
+  case TM_COLUMN_SOUNDCHECK:
+  case TM_COLUMN_SAMPLERATE:
+  case TM_COLUMN_BPM:
+  case TM_COLUMN_TIME_RELEASED:
+  case TM_NUM_COLUMNS:
+      g_warning ("Programming error: tm_search_equal_func: no sort method for column %d\n", column);
+      break;
+  }
+  return cmp;
+};
+
 /* Function used to compare two cells during sorting (track view) */
 gint tm_data_compare_func (GtkTreeModel *model,
 			GtkTreeIter *a,
@@ -1785,6 +1654,10 @@
 	prefs_set_tm_sort (SORT_NONE);
 	if (!BROKEN_GTK_TREE_SORT)
 	{
+/* no need to comment this out -- searching still works, but for lack
+   of a ctrl-g only the first occurence will be found */
+/*	    gtk_tree_view_set_enable_search (GTK_TREE_VIEW
+ * (track_treeview), FALSE);*/ 
 	    gtk_tree_sortable_set_sort_column_id
 		(GTK_TREE_SORTABLE (model),
 		 GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID,
@@ -1801,6 +1674,59 @@
 }
 
 
+static void tm_set_search_column (gint newcol)
+{
+/*     printf ("track_treeview: %p, col: %d\n", track_treeview, newcol); */
+    g_return_if_fail (track_treeview);
+
+    gtk_tree_view_set_search_column (GTK_TREE_VIEW (track_treeview),
+				       newcol);
+    switch (newcol)
+    {
+    case TM_COLUMN_TITLE:
+    case TM_COLUMN_ALBUM:
+    case TM_COLUMN_GENRE:
+    case TM_COLUMN_COMPOSER:
+    case TM_COLUMN_COMMENT:
+    case TM_COLUMN_FILETYPE:
+    case TM_COLUMN_GROUPING:
+    case TM_COLUMN_ARTIST:
+    case TM_COLUMN_CATEGORY:
+    case TM_COLUMN_DESCRIPTION:
+    case TM_COLUMN_PODCASTURL:
+    case TM_COLUMN_PODCASTRSS:
+    case TM_COLUMN_SUBTITLE:
+    case TM_COLUMN_PC_PATH:
+    case TM_COLUMN_YEAR:
+    case TM_COLUMN_IPOD_PATH:
+    case TM_COLUMN_COMPILATION:
+	gtk_tree_view_set_enable_search (GTK_TREE_VIEW (track_treeview), TRUE);
+	break;
+    case TM_COLUMN_TRACK_NR:
+    case TM_COLUMN_IPOD_ID:
+    case TM_COLUMN_TRANSFERRED:
+    case TM_COLUMN_SIZE:
+    case TM_COLUMN_TRACKLEN:
+    case TM_COLUMN_BITRATE:
+    case TM_COLUMN_PLAYCOUNT:
+    case TM_COLUMN_RATING:
+    case TM_COLUMN_TIME_PLAYED:
+    case TM_COLUMN_TIME_MODIFIED:
+    case TM_COLUMN_VOLUME:
+    case TM_COLUMN_CD_NR:
+    case TM_COLUMN_TIME_ADDED:
+    case TM_COLUMN_SOUNDCHECK:
+    case TM_COLUMN_SAMPLERATE:
+    case TM_COLUMN_BPM:
+    case TM_COLUMN_TIME_RELEASED:
+    case TM_NUM_COLUMNS:
+	gtk_tree_view_set_enable_search (GTK_TREE_VIEW (track_treeview), FALSE);
+	break;
+    }
+    prefs_set_int_value (TM_PREFS_SEARCH_COLUMN, newcol);
+}
+
+
 /* This is called before when changing the sort order or the sort
    column, and before doing the sorting */
 static void tm_sort_column_changed (GtkTreeSortable *ts,
@@ -1847,6 +1773,9 @@
 	prefs_set_tm_sort (order);
     }
     prefs_set_tm_sortcol (newcol);
+
+    tm_set_search_column (newcol);
+
     if(prefs_get_tm_autostore ())  tm_rows_reordered ();
     sort_window_update ();
 
@@ -1910,21 +1839,20 @@
 /* Add one column at position @pos. This code is used over and over
    by tm_add_column() -- therefore I put it into a separate function */
 static GtkTreeViewColumn *tm_add_text_column (TM_item col_id,
-					      gchar *name,
+					      const gchar *name,
 					      GtkCellRenderer *renderer,
-					      gboolean editable,
 					      gint pos)
 {
     GtkTreeViewColumn *column;
     GtkTreeModel *model = gtk_tree_view_get_model (track_treeview);
 
-    if (!renderer)    renderer = gtk_cell_renderer_text_new ();
-    if (editable)
-    {
+    if (!renderer)
+    {   /* text renderer -- editable/not editable is done in
+	   tm_cell_data_func() */
+	renderer = gtk_cell_renderer_text_new ();
 	g_signal_connect (G_OBJECT (renderer), "edited",
 			  G_CALLBACK (tm_cell_edited), model);
     }
-    g_object_set_data (G_OBJECT (renderer), "editable", (gint *)editable);
     g_object_set_data (G_OBJECT (renderer), "column", (gint *)col_id);
     column = gtk_tree_view_column_new ();
     gtk_tree_view_column_set_title (column, name);
@@ -1952,8 +1880,7 @@
 {
   GtkTreeModel *model = gtk_tree_view_get_model (track_treeview);
   GtkTreeViewColumn *col = NULL;
-  gchar *text = NULL;
-  gboolean editable = TRUE;          /* default */
+  const gchar *text = NULL;
   GtkCellRenderer *renderer = NULL;  /* default */
   GtkTooltips *tt;
 
@@ -1975,13 +1902,26 @@
   case TM_COLUMN_ALBUM:
   case TM_COLUMN_GENRE:
   case TM_COLUMN_COMPOSER:
-  case TM_COLUMN_FDESC:
+  case TM_COLUMN_COMMENT:
+  case TM_COLUMN_FILETYPE:
   case TM_COLUMN_GROUPING:
-  case TM_COLUMN_RATING:
   case TM_COLUMN_BITRATE:
   case TM_COLUMN_SAMPLERATE:
   case TM_COLUMN_BPM:
+  case TM_COLUMN_CATEGORY:
+  case TM_COLUMN_DESCRIPTION:
+  case TM_COLUMN_PODCASTURL:
+  case TM_COLUMN_PODCASTRSS:
+  case TM_COLUMN_SUBTITLE:
+  case TM_COLUMN_PC_PATH:
+  case TM_COLUMN_IPOD_PATH:
+  case TM_COLUMN_SIZE:
       break;
+  /* for some column names we want to use shorter alternatives to
+     get_tm_string() */
+  case TM_COLUMN_RATING:
+      text = _("Rtng");
+      break;
   case TM_COLUMN_TRACK_NR:
       text = _("#");
       break;
@@ -1990,28 +1930,17 @@
       break;
   case TM_COLUMN_IPOD_ID:
       text = _("ID");
-      editable = FALSE;
       break;
-  case TM_COLUMN_PC_PATH:
-  case TM_COLUMN_IPOD_PATH:
-      editable = FALSE;
-      break;
   case TM_COLUMN_TRANSFERRED:
       text = _("Trnsfrd");
-      editable = FALSE;
       renderer = gtk_cell_renderer_toggle_new ();
       break;
   case TM_COLUMN_COMPILATION:
       text = _("Cmpl");
-      editable = FALSE;
       renderer = gtk_cell_renderer_toggle_new ();
       break;
-  case TM_COLUMN_SIZE:
-      editable = FALSE;
-      break;
   case TM_COLUMN_TRACKLEN:
       text = _("Time");
-      editable = FALSE;
       break;
   case TM_COLUMN_PLAYCOUNT:
       text = _("Plycnt");
@@ -2025,6 +1954,9 @@
   case TM_COLUMN_TIME_ADDED:
       text = _("Added");
       break;
+  case TM_COLUMN_TIME_RELEASED:
+      text = _("Released");
+      break;
   case TM_COLUMN_YEAR:
       text = _("Year");
       break;
@@ -2035,9 +1967,10 @@
       text = _("Sndchk.");
       break;
   case TM_NUM_COLUMNS:
+      g_return_val_if_reached (NULL);
       break;
   }
-  col = tm_add_text_column (tm_item, text, renderer, editable, pos);
+  col = tm_add_text_column (tm_item, text, renderer, pos);
   if (col && (tm_item == TM_COLUMN_TITLE))
   {
       renderer = gtk_cell_renderer_toggle_new ();
@@ -2118,6 +2051,17 @@
 static void
 tm_selection_changed_event(GtkTreeSelection *selection, gpointer data)
 {
+    GtkTreeView *treeview = gtk_tree_selection_get_tree_view (selection);
+    GtkTreePath *path;
+    GtkTreeViewColumn *column;
+    TM_item col_id;
+
+    gtk_tree_view_get_cursor (treeview, &path, &column);
+    if (path)
+    {
+	col_id = tm_lookup_col_id (column);
+	if (col_id != -1)  tm_set_search_column (col_id);
+    }
     info_update_track_view_selected ();
 }
 
@@ -2126,8 +2070,9 @@
 void tm_create_treeview (void)
 {
   GtkTreeModel *model = NULL;
-  GtkWidget *track_window = glade_xml_get_widget (main_window_xml, "track_window");
+  GtkWidget *track_window = gtkpod_xml_get_widget (main_window_xml, "track_window");
   GtkTreeSelection *select;
+  gint col;
   GtkWidget *stv = gtk_tree_view_new ();
 
   /* create tree view */
@@ -2146,6 +2091,10 @@
       gtk_list_store_new (1, G_TYPE_POINTER));
   gtk_tree_view_set_model (track_treeview, GTK_TREE_MODEL (model));
   gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (track_treeview), TRUE);
+  gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW (track_treeview), 
+				       tm_search_equal_func,
+				       NULL,
+				       NULL);
   select = gtk_tree_view_get_selection (track_treeview);
   gtk_tree_selection_set_mode (select,
 			       GTK_SELECTION_MULTIPLE);
@@ -2219,6 +2168,18 @@
   g_signal_connect (G_OBJECT (model), "sort-column-changed",
 		    G_CALLBACK (tm_sort_column_changed),
 		    (gpointer)0);
+
+  /* initialize sorting */
+  tm_sort (prefs_get_tm_sortcol (), prefs_get_tm_sort ());
+  /* set correct column for typeahead */
+  if (prefs_get_int_value (TM_PREFS_SEARCH_COLUMN, &col))
+  {
+      tm_set_search_column (col);
+  }
+  else
+  {   /* reasonable default */
+      tm_set_search_column (TM_COLUMN_TITLE);
+  }
 }
 
 
@@ -2259,6 +2220,23 @@
 }
 
 
+/* get the TM_ITEM column id for @column. Returns -1 if column could
+   not be found */
+static TM_item tm_lookup_col_id (GtkTreeViewColumn *column)
+{
+    gint i;
+
+    if (column)
+    {
+	for (i=0; i<TM_NUM_COLUMNS; ++i)
+	{
+	    if (column == tm_columns[i]) return i;
+	}
+    }
+    return -1;
+}
+
+
 /* Compare function to avoid sorting */
 static gint tm_nosort_comp (GtkTreeModel *model,
 			    GtkTreeIter *a,

Modified: gtkpod/trunk/src/display_sorttabs.c
===================================================================
--- gtkpod/trunk/src/display_sorttabs.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display_sorttabs.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-02 00:37:37 jcs>
+/* Time-stamp: <2005-11-25 23:52:13 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display_sorttabs.c,v 1.58 2005/07/01 16:53:43 jcsjcs Exp $
+|  $Id: display_sorttabs.c,v 1.65 2005/11/26 13:44:41 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -265,7 +265,7 @@
 				   gpointer         user_data)
 {
     gchar *buf;
-    gint inst = (gint)user_data;
+    guint inst = GPOINTER_TO_UINT( user_data );
 
 /*     printf ("switch_page: inst/page: %d/%d\n", inst, page_num); */
     /* set compare function for strings (to speed up sorting) */
@@ -432,7 +432,7 @@
     {
 	/* checked = TRUE: at least one condition was checked */
 	checked = TRUE;
-	cond = prefs_get_sp_rating_n (inst, track->rating/RATING_STEP);
+	cond = prefs_get_sp_rating_n (inst, track->rating/ITDB_RATING_STEP);
 	/* If one of the two combinations occur, we can take a
 	   shortcut and stop checking the other conditions */
 	if (sp_or && cond)       return TRUE;
@@ -532,7 +532,7 @@
 /* Callback for sp_go() */
 static void sp_go_cb (gpointer user_data1, gpointer user_data2)
 {
-    guint32 inst = (guint32)user_data1;
+    guint32 inst = (guint32)GPOINTER_TO_UINT(user_data1);
     SortTab *st = sorttab[inst];
 
 #if DEBUG_TIMING
@@ -664,7 +664,7 @@
        "callback". Currently running display updates will be stopped
        before the sp_go_cb is actually called */
     add_selection_callback (inst, sp_go_cb,
-			    (gpointer)inst, NULL);
+			    GUINT_TO_POINTER(inst), NULL);
 }
 
 
@@ -781,7 +781,7 @@
 on_sp_or_button_toggled                (GtkToggleButton *togglebutton,
 					gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
+    guint32 inst = (guint32)(GPOINTER_TO_UINT(user_data) & SP_MASK);
 
     prefs_set_sp_or (inst, gtk_toggle_button_get_active (togglebutton));
     sp_conditions_changed (inst);
@@ -792,8 +792,8 @@
 on_sp_cond_button_toggled            (GtkToggleButton *togglebutton,
 				      gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
-    T_item cond = (guint32)user_data >> SP_SHIFT;
+    guint32 inst = (guint32)(GPOINTER_TO_UINT(user_data) & SP_MASK);
+    T_item cond = (guint32)GPOINTER_TO_UINT(user_data) >> SP_SHIFT;
 
 /*     printf ("%d/%d/%d\n",inst,cond,gtk_toggle_button_get_active (togglebutton)); */
     prefs_set_sp_cond (inst, cond,
@@ -805,8 +805,8 @@
 on_sp_rating_n_toggled                 (GtkToggleButton *togglebutton,
 					gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
-    guint32 n = (guint32)user_data >> SP_SHIFT;
+    guint32 inst = (guint32)(GPOINTER_TO_UINT(user_data) & SP_MASK);
+    guint32 n = (guint32)GPOINTER_TO_UINT(user_data) >> SP_SHIFT;
 
     prefs_set_sp_rating_n (inst, n,
 			   gtk_toggle_button_get_active (togglebutton));
@@ -819,8 +819,8 @@
 on_sp_entry_activate             (GtkEditable     *editable,
 				  gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
-    T_item item = (guint32)user_data >> SP_SHIFT;
+    guint32 inst = (guint32)(GPOINTER_TO_UINT(user_data) & SP_MASK);
+    T_item item = (guint32)GPOINTER_TO_UINT(user_data) >> SP_SHIFT;
     gchar *buf = gtk_editable_get_chars(editable,0, -1);
 
 /*    printf ("sp_entry_activate inst: %d, item: %d\n", inst, item);*/
@@ -837,8 +837,8 @@
 on_sp_cal_button_clicked        (GtkButton       *button,
 				 gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
-    T_item item = (guint32)user_data >> SP_SHIFT;
+    guint32 inst = (guint32)GPOINTER_TO_UINT(user_data) & SP_MASK;
+    T_item item = (guint32)GPOINTER_TO_UINT(user_data) >> SP_SHIFT;
 
     cal_open_calendar (inst, item);
 }
@@ -848,7 +848,7 @@
 on_sp_go_clicked                       (GtkButton       *button,
 					gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
+    guint32 inst = (guint32)GPOINTER_TO_UINT(user_data) & SP_MASK;
     sp_go (inst);
 }
 
@@ -857,7 +857,7 @@
 on_sp_go_always_toggled                (GtkToggleButton *togglebutton,
 					gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
+    guint32 inst = (guint32)GPOINTER_TO_UINT(user_data) & SP_MASK;
     gboolean state = gtk_toggle_button_get_active (togglebutton);
 
     /* display data if autodisplay is turned on */
@@ -869,7 +869,7 @@
 on_sp_playcount_low_value_changed      (GtkSpinButton   *spinbutton,
 					gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
+    guint32 inst = (guint32)GPOINTER_TO_UINT(user_data) & SP_MASK;
 
     prefs_set_sp_playcount_low (inst,
 				gtk_spin_button_get_value (spinbutton));
@@ -882,7 +882,7 @@
 on_sp_playcount_high_value_changed     (GtkSpinButton   *spinbutton,
 					gpointer         user_data)
 {
-    guint32 inst = (guint32)user_data & SP_MASK;
+    guint32 inst = (guint32)GPOINTER_TO_UINT(user_data) & SP_MASK;
 
     prefs_set_sp_playcount_high (inst,
 				 gtk_spin_button_get_value (spinbutton));
@@ -999,11 +999,20 @@
     st = sorttab[inst];
     model = st->model;
     g_return_if_fail (model != NULL);
-    gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+    /* Insert the compilation entry between All and the first entry
+       so it remains at the top even when the list is not sorted */
+    if (entry->compilation) 
+    {
+        gtk_list_store_insert (GTK_LIST_STORE (model), &iter, 1);
+    }
+    else 
+    {
+        gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+    }
     gtk_list_store_set (GTK_LIST_STORE (model), &iter,
 			ST_COLUMN_ENTRY, entry, -1);
     st->entries = g_list_append (st->entries, entry);
-    if (!entry->master)
+    if (!entry->master && !entry->compilation)
     {
 	if (!st->entry_hash)
 	{
@@ -1178,7 +1187,7 @@
 
 /* Get the correct name for the entry according to currently
    selected category (page). Do _not_ g_free() the return value! */
-static gchar *st_get_entryname (Track *track, guint32 inst)
+static const gchar *st_get_entryname (Track *track, guint32 inst)
 {
     T_item t_item = ST_to_T (sorttab[inst]->current_category);
 
@@ -1209,7 +1218,7 @@
 /* Find TabEntry with name "name". Return NULL if no entry was found.
    If "name" is {-1, 0x00}, it returns the master entry. Otherwise
    it skips the master entry. */
-static TabEntry *st_get_entry_by_name (gchar *name, guint32 inst)
+static TabEntry *st_get_entry_by_name (const gchar *name, guint32 inst)
 {
   TabEntry *entry = NULL;
   SortTab *st = sorttab[inst];
@@ -1229,7 +1238,23 @@
   return entry;
 }
 
+/* Find TabEntry with compilation set true. Return NULL if no entry was found. */
+static TabEntry *st_get_compilation_entry (guint32 inst)
+{
+  GList *entries;
+  TabEntry *entry;
+  guint i;
 
+  entries = sorttab[inst]->entries;
+  i=1; /* skip master entry, which is supposed to be at first position */
+  while ((entry = (TabEntry *)g_list_nth_data (entries, i)) != NULL)
+    {
+      if (entry->compilation)   break; /* found! */
+      ++i;
+    }
+  return entry;
+}
+
 /* moves a track from the entry it is currently in to the one it
    should be in according to its tags (if a Tag had been changed).
    Returns TRUE, if track has been moved, FALSE otherwise */
@@ -1260,6 +1285,7 @@
       newentry = g_malloc0 (sizeof (TabEntry));
       newentry->name = g_strdup (entryname);
       newentry->master = FALSE;
+      newentry->compilation = FALSE;
       st_add_entry (newentry, inst);
     }
   if (newentry != oldentry)
@@ -1443,11 +1469,12 @@
 {
     SortTab *st;
     TabEntry *entry, *master_entry, *iter_entry;
-    gchar *entryname;
+    const gchar *entryname = NULL;
     GtkTreeSelection *selection;
     GtkTreeIter iter;
     TabEntry *select_entry = NULL;
     gboolean first = FALSE;
+    gboolean group_track = FALSE;
 
     st = sorttab[inst];
     st->final = final;
@@ -1464,17 +1491,37 @@
 	    master_entry = g_malloc0 (sizeof (TabEntry));
 	    master_entry->name = g_strdup (_("All"));
 	    master_entry->master = TRUE;
+	    master_entry->compilation = FALSE;
 	    st_add_entry (master_entry, inst);
 	    first = TRUE; /* this is the first track */
 	}
 	master_entry->members = g_list_append (master_entry->members, track);
+	/* Check if this track should go in the compilation artist group */
+	group_track = ( prefs_get_group_compilations() &&
+	    (track->compilation == TRUE) && 
+	    (st->current_category == ST_CAT_ARTIST) );
 	/* Check whether entry of same name already exists */
-	entryname = st_get_entryname (track, inst);
-	entry = st_get_entry_by_name (entryname, inst);
+	if ( group_track )
+	{
+	    entry = st_get_compilation_entry (inst);
+	}
+	else
+	{
+	    entryname = st_get_entryname (track, inst);
+	    entry = st_get_entry_by_name (entryname, inst);
+	}
 	if (entry == NULL)
 	{ /* not found, create new one */
 	    entry = g_malloc0 (sizeof (TabEntry));
-	    entry->name = g_strdup (entryname);
+	    if ( group_track )
+	    {
+		entry->name = g_strdup (_("Compilations"));
+	    }
+	    else
+	    {
+		entry->name = g_strdup (entryname);
+	    }
+	    entry->compilation = group_track;
 	    entry->master = FALSE;
 	    st_add_entry (entry, inst);
 	}
@@ -1723,7 +1770,7 @@
 static void st_page_selected_cb (gpointer user_data1, gpointer user_data2)
 {
   GtkNotebook *notebook = (GtkNotebook *)user_data1;
-  guint page = (guint)user_data2;
+  guint page = (guint)GPOINTER_TO_UINT(user_data2);
   guint32 inst = st_get_instance_from_notebook (notebook);
   guint oldpage;
   gboolean is_go;
@@ -1830,7 +1877,7 @@
      new playlist and so on. Therefore we subtract 1 from the
      instance. */
   add_selection_callback (inst-1, st_page_selected_cb,
-			  (gpointer)notebook, (gpointer)page);
+			  (gpointer)notebook, GUINT_TO_POINTER(page));
 }
 
 
@@ -1897,7 +1944,7 @@
 static void st_selection_changed_cb (gpointer user_data1, gpointer user_data2)
 {
   GtkTreeSelection *selection = (GtkTreeSelection *)user_data1;
-  guint32 inst = (guint32)user_data2;
+  guint32 inst = (guint32)GPOINTER_TO_UINT(user_data2);
   GtkTreeModel *model;
   GtkTreeIter  iter;
   TabEntry *new_entry;
@@ -2012,7 +2059,7 @@
     printf("st_s_c enter (inst: %d)\n", (gint)user_data);
 #endif
     space_data_update ();
-    add_selection_callback ((gint)user_data, st_selection_changed_cb,
+    add_selection_callback ((gint)GPOINTER_TO_INT(user_data), st_selection_changed_cb,
 			    (gpointer)selection, user_data);
 #if DEBUG_CB_INIT
     printf("st_s_c exit (inst: %d)\n", (gint)user_data);
@@ -2037,7 +2084,7 @@
   GList *members;
   SortTab *st;
 
-  inst = (guint32)data;
+  inst = (guint32)GPOINTER_TO_UINT(data);
   st = sorttab[inst];
   model = st->model;
   path = gtk_tree_path_new_from_string (path_string);
@@ -2088,12 +2135,16 @@
 	  {
 	      ExtraTrackData *etr;
 	      Track *track = (Track *)g_list_nth_data (members, i);
+	      T_item t_item;
+
 	      g_return_if_fail (track);
 	      etr = track->userdata;
 	      g_return_if_fail (etr);
 	      g_return_if_fail (track->itdb);
 	      if (!itdb) itdb = track->itdb;
-	      T_item t_item = ST_to_T (sorttab[inst]->current_category);
+
+	      t_item = ST_to_T (sorttab[inst]->current_category);
+
 	      if (t_item == T_YEAR)
 	      {
 		  gint nr = atoi (new_text);
@@ -2154,13 +2205,13 @@
   TabEntry *entry;
   gint column;
 
-  column = (gint)g_object_get_data (G_OBJECT (renderer), "column");
+  column = (gint)GPOINTER_TO_INT(g_object_get_data (G_OBJECT (renderer), "column"));
   gtk_tree_model_get (model, iter, ST_COLUMN_ENTRY, &entry, -1);
 
   switch (column)
     {  /* We only have one column, so this code is overkill... */
     case ST_COLUMN_ENTRY:
-      if (entry->master)
+      if (entry->master || entry->compilation)
       {   /* mark the "All" entry */
 	  g_object_set (G_OBJECT (renderer),
 			"text", entry->name,
@@ -2180,6 +2231,23 @@
     }
 }
 
+/* Function used to compare rows with user's search string */
+gboolean st_search_equal_func (GtkTreeModel *model,
+			       gint column,
+			       const gchar *key,
+			       GtkTreeIter *iter,
+			       gpointer search_data)
+{
+  TabEntry *entry1;
+  gboolean cmp;
+  gtk_tree_model_get (model, iter, ST_COLUMN_ENTRY, &entry1, -1);
+
+  cmp = (compare_string_start_case_insensitive (
+	  entry1->name,
+	  key) != 0);
+  return cmp;
+};
+
 /* Function used to compare two cells during sorting (sorttab view) */
 gint st_data_compare_func (GtkTreeModel *model,
 			   GtkTreeIter *a,
@@ -2193,7 +2261,7 @@
   gint inst;
   SortTab *st;
 
-  inst = (guint32)user_data;
+  inst = (guint32)GPOINTER_TO_UINT(user_data);
 
   gtk_tree_model_get (model, a, ST_COLUMN_ENTRY, &entry1, -1);
   gtk_tree_model_get (model, b, ST_COLUMN_ENTRY, &entry2, -1);
@@ -2201,11 +2269,14 @@
 					   &colid, &order) == FALSE)
       return 0;
 
-  /* We make sure that the "all" entry always stays on top */
+  /* We make sure that the "all" entry always stays on top, closely followed
+     by the compilation entry */
   if (order == GTK_SORT_ASCENDING) corr = +1;
   else                             corr = -1;
   if (entry1->master) return (-corr);
   if (entry2->master) return (corr);
+  if (entry1->compilation) return (-corr);
+  if (entry2->compilation) return (corr);
 
   /* compare the two entries */
   /* string_compare_func is set to either compare_string_fuzzy or
@@ -2286,7 +2357,7 @@
 			gtk_tree_sortable_set_sort_func (
 			    GTK_TREE_SORTABLE (st->model),
 			    ST_COLUMN_ENTRY,
-			    st_data_compare_func, (gpointer)inst, NULL);
+			    st_data_compare_func, GINT_TO_POINTER(inst), NULL);
 		    }
 		    else
 		    {
@@ -2389,12 +2460,12 @@
     }
 
     /* activate / deactiveate "less sort tabs" menu item */
-    w = glade_xml_get_widget (main_window_xml, "less_sort_tabs");
+    w = gtkpod_xml_get_widget (main_window_xml, "less_sort_tabs");
     if (n == 0) gtk_widget_set_sensitive (w, FALSE);
     else        gtk_widget_set_sensitive (w, TRUE);
 
     /* activate / deactiveate "more sort tabs" menu item */
-    w = glade_xml_get_widget (main_window_xml, "more_sort_tabs");
+    w = gtkpod_xml_get_widget (main_window_xml, "more_sort_tabs");
     if (n == SORT_TAB_MAX) gtk_widget_set_sensitive (w, FALSE);
     else                   gtk_widget_set_sensitive (w, TRUE);
 
@@ -2418,7 +2489,7 @@
 
 	gtk_window_get_size (GTK_WINDOW (gtkpod_window), &x, &y);
 	buf = g_strdup_printf ("paned%d", PANED_PLAYLIST);
-	if((w = glade_xml_get_widget (main_window_xml,  buf)))
+	if((w = gtkpod_xml_get_widget (main_window_xml,  buf)))
 	{
 	    p0 = gtk_paned_get_position (GTK_PANED (w));
 	    width = (x-p0) / num;
@@ -2473,8 +2544,8 @@
 	{
 	    GtkWidget *parent;
 	    GtkWidget *dummy;
-	    parent = glade_xml_get_widget (main_window_xml, "paned1");
-	    dummy = glade_xml_get_widget (main_window_xml, "paned1_dummy");
+	    parent = gtkpod_xml_get_widget (main_window_xml, "paned1");
+	    dummy = gtkpod_xml_get_widget (main_window_xml, "paned1_dummy");
 	    g_return_if_fail (parent);
 	    g_return_if_fail (dummy);
 	    gtk_widget_destroy (dummy);
@@ -2500,8 +2571,8 @@
 	switch(e->button)
 	{
 	    case 3:
-		st_select_current_position ((gint)data, e->x, e->y);
-		st_context_menu_init((gint)data);
+		st_select_current_position (GPOINTER_TO_INT(data), e->x, e->y);
+		st_context_menu_init(GPOINTER_TO_INT(data));
 		return TRUE;
 	    default:
 		break;
@@ -2544,7 +2615,7 @@
 	  gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
 	  g_signal_connect (G_OBJECT (selection), "changed",
 			    G_CALLBACK (st_selection_changed),
-			    (gpointer)inst);
+			    GINT_TO_POINTER(inst));
 	  /* Add column */
 	  renderer = gtk_cell_renderer_text_new ();
 	  g_signal_connect (G_OBJECT (renderer), "edited",
@@ -2562,7 +2633,7 @@
 	  gtk_tree_view_column_set_sort_order (column, GTK_SORT_ASCENDING);
 	  gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (liststore),
 					   ST_COLUMN_ENTRY,
-					   st_data_compare_func, (gpointer)inst, NULL);
+					   st_data_compare_func, GINT_TO_POINTER(inst), NULL);
 	  gtk_tree_view_append_column (treeview, column);
       }
   }
@@ -2581,9 +2652,9 @@
       GladeXML *special_xml;
 
       special_xml = glade_xml_new (xml_file, "special_sorttab", NULL);
-      special = glade_xml_get_widget (special_xml, "special_sorttab");
+      special = gtkpod_xml_get_widget (special_xml, "special_sorttab");
      
-      viewport = glade_xml_get_widget (special_xml, "special_viewport");
+      viewport = gtkpod_xml_get_widget (special_xml, "special_viewport");
 
 
       /* according to GTK FAQ: move a widget to a new parent */
@@ -2595,135 +2666,135 @@
       /* Connect the signal handlers and set default value. User data
 	 is @inst+(additional data << SP_SHIFT) */
       /* AND/OR button */
-      w = glade_xml_get_widget (special_xml, "sp_or_button");
+      w = gtkpod_xml_get_widget (special_xml, "sp_or_button");
       g_signal_connect ((gpointer)w,
 			"toggled", G_CALLBACK (on_sp_or_button_toggled),
-			(gpointer)inst);
+			GINT_TO_POINTER(inst));
       if (prefs_get_sp_or (inst))
 	  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
       else
       {
-	  w = glade_xml_get_widget (special_xml, "sp_and_button");
+	  w = gtkpod_xml_get_widget (special_xml, "sp_and_button");
 	  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
       }
 
       /* RATING */
-      w = glade_xml_get_widget (special_xml, "sp_rating_button");
+      w = gtkpod_xml_get_widget (special_xml, "sp_rating_button");
       g_signal_connect ((gpointer)w,
 			"toggled", G_CALLBACK (on_sp_cond_button_toggled),
-			(gpointer)((T_RATING<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_RATING<<SP_SHIFT) + inst));
       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				   prefs_get_sp_cond (inst, T_RATING));
       for (i=0; i<=RATING_MAX; ++i)
       {
 	  gchar *buf = g_strdup_printf ("sp_rating%d", i);
-	  w = glade_xml_get_widget (special_xml, buf);
+	  w = gtkpod_xml_get_widget (special_xml, buf);
 	  g_signal_connect ((gpointer)w,
 			    "toggled", G_CALLBACK (on_sp_rating_n_toggled),
-			    (gpointer)((i<<SP_SHIFT) + inst));
+			    GUINT_TO_POINTER((i<<SP_SHIFT) + inst));
 	  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				       prefs_get_sp_rating_n (inst, i));
 	  g_free (buf);
       }
 
       /* PLAYCOUNT */
-      w = glade_xml_get_widget (special_xml, "sp_playcount_button");
+      w = gtkpod_xml_get_widget (special_xml, "sp_playcount_button");
       g_signal_connect ((gpointer)w,
 			"toggled", G_CALLBACK (on_sp_cond_button_toggled),
-			(gpointer)((T_PLAYCOUNT<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_PLAYCOUNT<<SP_SHIFT) + inst));
       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				   prefs_get_sp_cond (inst, T_PLAYCOUNT));
-      w = glade_xml_get_widget (special_xml, "sp_playcount_low");
+      w = gtkpod_xml_get_widget (special_xml, "sp_playcount_low");
       g_signal_connect ((gpointer)w,
 			"value_changed",
 			G_CALLBACK (on_sp_playcount_low_value_changed),
-			(gpointer)inst);
+			GINT_TO_POINTER(inst));
       gtk_spin_button_set_value (GTK_SPIN_BUTTON (w),
 				 prefs_get_sp_playcount_low (inst));
-      w = glade_xml_get_widget (special_xml, "sp_playcount_high");
+      w = gtkpod_xml_get_widget (special_xml, "sp_playcount_high");
       g_signal_connect ((gpointer)w,
 			"value_changed",
 			G_CALLBACK (on_sp_playcount_high_value_changed),
-			(gpointer)inst);
+			GINT_TO_POINTER(inst));
       gtk_spin_button_set_value (GTK_SPIN_BUTTON (w),
 				 prefs_get_sp_playcount_high (inst));
 
       /* PLAYED */
-      w = glade_xml_get_widget (special_xml, "sp_played_button");
+      w = gtkpod_xml_get_widget (special_xml, "sp_played_button");
       st->ti_played.active = w;
       g_signal_connect ((gpointer)w,
 			"toggled", G_CALLBACK (on_sp_cond_button_toggled),
-			(gpointer)((T_TIME_PLAYED<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_TIME_PLAYED<<SP_SHIFT) + inst));
       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				   prefs_get_sp_cond (inst, T_TIME_PLAYED));
-      w = glade_xml_get_widget (special_xml, "sp_played_entry");
+      w = gtkpod_xml_get_widget (special_xml, "sp_played_entry");
       st->ti_played.entry = w;
       gtk_entry_set_text (GTK_ENTRY (w),
 			  prefs_get_sp_entry (inst, T_TIME_PLAYED));
       g_signal_connect ((gpointer)w,
 			"activate", G_CALLBACK (on_sp_entry_activate),
-			(gpointer)((T_TIME_PLAYED<<SP_SHIFT) + inst));
-      g_signal_connect ((gpointer)glade_xml_get_widget (special_xml,
+			GUINT_TO_POINTER((T_TIME_PLAYED<<SP_SHIFT) + inst));
+      g_signal_connect ((gpointer)gtkpod_xml_get_widget (special_xml,
 						 "sp_played_cal_button"),
 			"clicked",
 			G_CALLBACK (on_sp_cal_button_clicked),
-			(gpointer)((T_TIME_PLAYED<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_TIME_PLAYED<<SP_SHIFT) + inst));
 
       /* MODIFIED */
-      w = glade_xml_get_widget (special_xml, "sp_modified_button");
+      w = gtkpod_xml_get_widget (special_xml, "sp_modified_button");
       st->ti_modified.active = w;
       g_signal_connect ((gpointer)w,
 			"toggled", G_CALLBACK (on_sp_cond_button_toggled),
-			(gpointer)((T_TIME_MODIFIED<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_TIME_MODIFIED<<SP_SHIFT) + inst));
       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				   prefs_get_sp_cond (inst, T_TIME_MODIFIED));
-      w = glade_xml_get_widget (special_xml, "sp_modified_entry");
+      w = gtkpod_xml_get_widget (special_xml, "sp_modified_entry");
       st->ti_modified.entry = w;
       gtk_entry_set_text (GTK_ENTRY (w),
 			  prefs_get_sp_entry (inst, T_TIME_MODIFIED));
       g_signal_connect ((gpointer)w,
 			"activate", G_CALLBACK (on_sp_entry_activate),
-			(gpointer)((T_TIME_MODIFIED<<SP_SHIFT) + inst));
-      g_signal_connect ((gpointer)glade_xml_get_widget (special_xml,
+			GUINT_TO_POINTER((T_TIME_MODIFIED<<SP_SHIFT) + inst));
+      g_signal_connect ((gpointer)gtkpod_xml_get_widget (special_xml,
 						 "sp_modified_cal_button"),
 			"clicked",
 			G_CALLBACK (on_sp_cal_button_clicked),
-			(gpointer)((T_TIME_MODIFIED<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_TIME_MODIFIED<<SP_SHIFT) + inst));
 
       /* ADDED */
-      w = glade_xml_get_widget (special_xml, "sp_added_button");
+      w = gtkpod_xml_get_widget (special_xml, "sp_added_button");
       st->ti_added.active = w;
       g_signal_connect ((gpointer)w,
 			"toggled", G_CALLBACK (on_sp_cond_button_toggled),
-			(gpointer)((T_TIME_ADDED<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_TIME_ADDED<<SP_SHIFT) + inst));
       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				   prefs_get_sp_cond (inst, T_TIME_ADDED));
-      w = glade_xml_get_widget (special_xml, "sp_added_entry");
+      w = gtkpod_xml_get_widget (special_xml, "sp_added_entry");
       st->ti_added.entry = w;
       gtk_entry_set_text (GTK_ENTRY (w),
 			  prefs_get_sp_entry (inst, T_TIME_ADDED));
       g_signal_connect ((gpointer)w,
 			"activate", G_CALLBACK (on_sp_entry_activate),
-			(gpointer)((T_TIME_ADDED<<SP_SHIFT) + inst));
-      g_signal_connect ((gpointer)glade_xml_get_widget (special_xml,
+			GUINT_TO_POINTER((T_TIME_ADDED<<SP_SHIFT) + inst));
+      g_signal_connect ((gpointer)gtkpod_xml_get_widget (special_xml,
 						 "sp_added_cal_button"),
 			"clicked",
 			G_CALLBACK (on_sp_cal_button_clicked),
-			(gpointer)((T_TIME_ADDED<<SP_SHIFT) + inst));
+			GUINT_TO_POINTER((T_TIME_ADDED<<SP_SHIFT) + inst));
 
 
-      g_signal_connect ((gpointer)glade_xml_get_widget (special_xml, "sp_go"),
+      g_signal_connect ((gpointer)gtkpod_xml_get_widget (special_xml, "sp_go"),
 			"clicked", G_CALLBACK (on_sp_go_clicked),
-			(gpointer)inst);
-      w = glade_xml_get_widget (special_xml, "sp_go_always");
+			GINT_TO_POINTER(inst));
+      w = gtkpod_xml_get_widget (special_xml, "sp_go_always");
       g_signal_connect ((gpointer)w,
 			"toggled", G_CALLBACK (on_sp_go_always_toggled),
-			(gpointer)inst);
+			GINT_TO_POINTER(inst));
       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				   prefs_get_sp_autodisplay (inst));
 
       /* Safe pointer to tooltips */
-      st->sp_tooltips_data = gtk_tooltips_data_get(glade_xml_get_widget (special_xml, "sp_modified_entry"));
+      st->sp_tooltips_data = gtk_tooltips_data_get(gtkpod_xml_get_widget (special_xml, "sp_modified_entry"));
       /* Show / don't show tooltips */
       g_return_if_fail (st->sp_tooltips_data);
       if (prefs_get_display_tooltips_main ()) 
@@ -2824,6 +2895,12 @@
 			NULL);
       gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
       gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
+      gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview), TRUE);
+      gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview), 0);
+      gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW (treeview), 
+					   st_search_equal_func,
+					   NULL,
+					   NULL);
   }
 }
 
@@ -2879,7 +2956,7 @@
   gtk_notebook_set_scrollable (GTK_NOTEBOOK (st0_notebook), TRUE);
   g_signal_connect ((gpointer) st0_notebook, "switch_page",
                     G_CALLBACK (on_st_switch_page),
-                    (gpointer)inst);
+                    GINT_TO_POINTER(inst));
 
   st->notebook = GTK_NOTEBOOK (st0_notebook);
   st_create_pages (inst);
@@ -2943,7 +3020,7 @@
     for (i=0; i<PANED_NUM_GLADE; ++i)
     {
 	gchar *buf = g_strdup_printf ("paned%d", i);
-	GtkWidget *w = glade_xml_get_widget (main_window_xml,  buf);
+	GtkWidget *w = gtkpod_xml_get_widget (main_window_xml,  buf);
 	g_free (buf);
 	g_return_if_fail (w);
 	if (prefs_get_paned_pos (i) != -1)
@@ -2980,7 +3057,7 @@
 	    gchar *buf;
 	    GtkWidget *w;
 	    buf = g_strdup_printf ("paned%d", i);
-	    if((w = glade_xml_get_widget (main_window_xml,  buf)))
+	    if((w = gtkpod_xml_get_widget (main_window_xml,  buf)))
 	    {
 		prefs_set_paned_pos (i,
 				     gtk_paned_get_position (GTK_PANED (w)));
@@ -3099,16 +3176,16 @@
     switch (type)
     {
     case LOWER_MARGIN:
-	calendar = GTK_CALENDAR (glade_xml_get_widget (cal_xml, "lower_cal"));
-	hour = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "lower_hours"));
-	min = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "lower_minutes"));
-	no_margin = GTK_TOGGLE_BUTTON (glade_xml_get_widget (cal_xml, "no_lower_margin"));
+	calendar = GTK_CALENDAR (gtkpod_xml_get_widget (cal_xml, "lower_cal"));
+	hour = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "lower_hours"));
+	min = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "lower_minutes"));
+	no_margin = GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (cal_xml, "no_lower_margin"));
 	break;
     case UPPER_MARGIN:
-	calendar = GTK_CALENDAR (glade_xml_get_widget (cal_xml, "upper_cal"));
-	hour = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "upper_hours"));
-	min = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "upper_minutes"));
-	no_margin = GTK_TOGGLE_BUTTON (glade_xml_get_widget (cal_xml, "no_upper_margin"));
+	calendar = GTK_CALENDAR (gtkpod_xml_get_widget (cal_xml, "upper_cal"));
+	hour = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "upper_hours"));
+	min = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "upper_minutes"));
+	no_margin = GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (cal_xml, "no_upper_margin"));
 	break;
     }
     cal_set_time_widgets (calendar, hour, min, no_margin, mactime);
@@ -3138,18 +3215,18 @@
     switch (type)
     {
     case LOWER_MARGIN:
-	calendar = GTK_CALENDAR (glade_xml_get_widget (cal_xml, "lower_cal"));
-	hour = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "lower_hours"));
-	min = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "lower_minutes"));
-	no_margin = GTK_TOGGLE_BUTTON (glade_xml_get_widget (cal_xml, "no_lower_margin"));
-	no_time =  GTK_TOGGLE_BUTTON (glade_xml_get_widget (cal_xml, "lower_time"));
+	calendar = GTK_CALENDAR (gtkpod_xml_get_widget (cal_xml, "lower_cal"));
+	hour = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "lower_hours"));
+	min = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "lower_minutes"));
+	no_margin = GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (cal_xml, "no_lower_margin"));
+	no_time =  GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (cal_xml, "lower_time"));
 	break;
     case UPPER_MARGIN:
-	calendar = GTK_CALENDAR (glade_xml_get_widget (cal_xml, "upper_cal"));
-	hour = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "upper_hours"));
-	min = GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "upper_minutes"));
-	no_margin = GTK_TOGGLE_BUTTON (glade_xml_get_widget (cal_xml, "no_upper_margin"));
-	no_time =  GTK_TOGGLE_BUTTON (glade_xml_get_widget (cal_xml, "upper_time"));
+	calendar = GTK_CALENDAR (gtkpod_xml_get_widget (cal_xml, "upper_cal"));
+	hour = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "upper_hours"));
+	min = GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "upper_minutes"));
+	no_margin = GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (cal_xml, "no_upper_margin"));
+	no_time =  GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (cal_xml, "upper_time"));
 	break;
     }
 
@@ -3211,7 +3288,7 @@
     T_item item;
     gint i = -1;
 
-    w = glade_xml_get_widget (cal_xml, "cat_combo");
+    w = gtkpod_xml_get_widget (cal_xml, "cat_combo");
     str = gtk_entry_get_text (GTK_ENTRY (GTK_COMBO (w)->entry));
     /* Check which string is selected in the combo */
     if (str)
@@ -3266,7 +3343,7 @@
 
     /* Get selected instance */
     inst = gtk_spin_button_get_value_as_int (
-	GTK_SPIN_BUTTON (glade_xml_get_widget (cal_xml, "sorttab_num_spin"))) - 1;
+	GTK_SPIN_BUTTON (gtkpod_xml_get_widget (cal_xml, "sorttab_num_spin"))) - 1;
     /* Get selected category (played, modified or added) */
     item = cal_get_category (cal);
     /* Get pointer to corresponding TimeInfo struct */
@@ -3321,13 +3398,13 @@
 {
     gboolean sens = gtk_toggle_button_get_active (togglebutton);
 
-    if ((GtkWidget *)togglebutton == glade_xml_get_widget (cal_xml, "lower_time"))
+    if ((GtkWidget *)togglebutton == gtkpod_xml_get_widget (cal_xml, "lower_time"))
     {
-	gtk_widget_set_sensitive (glade_xml_get_widget (cal_xml, "lower_time_box"), sens);
+	gtk_widget_set_sensitive (gtkpod_xml_get_widget (cal_xml, "lower_time_box"), sens);
     }
-    if ((GtkWidget *)togglebutton == glade_xml_get_widget (cal_xml, "upper_time"))
+    if ((GtkWidget *)togglebutton == gtkpod_xml_get_widget (cal_xml, "upper_time"))
     {
-	gtk_widget_set_sensitive (glade_xml_get_widget (cal_xml, "upper_time_box"), sens);
+	gtk_widget_set_sensitive (gtkpod_xml_get_widget (cal_xml, "upper_time_box"), sens);
     }
 }
 
@@ -3337,13 +3414,13 @@
 {
     gboolean sens = !gtk_toggle_button_get_active (togglebutton);
 
-    if ((GtkWidget *)togglebutton == glade_xml_get_widget (cal_xml, "no_lower_margin"))
+    if ((GtkWidget *)togglebutton == gtkpod_xml_get_widget (cal_xml, "no_lower_margin"))
     {
-	gtk_widget_set_sensitive (glade_xml_get_widget (cal_xml, "lower_cal_box"), sens);
+	gtk_widget_set_sensitive (gtkpod_xml_get_widget (cal_xml, "lower_cal_box"), sens);
     }
-    if ((GtkWidget *)togglebutton == glade_xml_get_widget (cal_xml, "no_upper_margin"))
+    if ((GtkWidget *)togglebutton == gtkpod_xml_get_widget (cal_xml, "no_upper_margin"))
     {
-	gtk_widget_set_sensitive (glade_xml_get_widget (cal_xml, "upper_cal_box"), sens);
+	gtk_widget_set_sensitive (gtkpod_xml_get_widget (cal_xml, "upper_cal_box"), sens);
     }
 }
 
@@ -3411,14 +3488,14 @@
 
     glade_xml_signal_autoconnect (cal_xml);
 
-    cal = glade_xml_get_widget (cal_xml, "calendar_window");
+    cal = gtkpod_xml_get_widget (cal_xml, "calendar_window");
 
     /* Set to saved size */
     prefs_get_size_cal (&defx, &defy);
     gtk_window_set_default_size (GTK_WINDOW (cal), defx, defy);
 
     /* Set sorttab number */
-    w = glade_xml_get_widget (cal_xml, "sorttab_num_spin");
+    w = gtkpod_xml_get_widget (cal_xml, "sorttab_num_spin");
     gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
 			       1, SORT_TAB_MAX);
     gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), inst+1);
@@ -3429,7 +3506,7 @@
 	const gchar **bp = cat_strings;
 	while (*bp)   catlist = g_list_append (catlist, gettext (*bp++));
     }
-    w = glade_xml_get_widget (cal_xml, "cat_combo");
+    w = gtkpod_xml_get_widget (cal_xml, "cat_combo");
     gtk_combo_set_popdown_strings (GTK_COMBO (w), catlist);
     switch (item)
     {
@@ -3462,12 +3539,12 @@
 	}
 
 	/* Lower Margin */
-	w = glade_xml_get_widget (cal_xml, "no_lower_margin");
+	w = gtkpod_xml_get_widget (cal_xml, "no_lower_margin");
 	g_signal_connect (w,
 			  "toggled",
 			  G_CALLBACK (cal_no_margin_toggled),
 			  cal);
-	w = glade_xml_get_widget (cal_xml, "lower_time");
+	w = gtkpod_xml_get_widget (cal_xml, "lower_time");
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), TRUE);
 	g_signal_connect (w,
 			  "toggled",
@@ -3477,12 +3554,12 @@
 	cal_set_time (cal, LOWER_MARGIN, ti->lower);
 
 	/* Upper Margin */
-	w = glade_xml_get_widget (cal_xml, "no_upper_margin");
+	w = gtkpod_xml_get_widget (cal_xml, "no_upper_margin");
 	g_signal_connect (w,
 			  "toggled",
 			  G_CALLBACK (cal_no_margin_toggled),
 			  cal);
-	w = glade_xml_get_widget (cal_xml, "upper_time");
+	w = gtkpod_xml_get_widget (cal_xml, "upper_time");
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), TRUE);
 	g_signal_connect (w,
 			  "toggled",
@@ -3495,13 +3572,13 @@
     g_signal_connect (cal, "delete_event",
 		      G_CALLBACK (cal_delete_event), cal);
     /* Connect cancel-button */
-    g_signal_connect (glade_xml_get_widget (cal_xml, "cal_cancel"), "clicked",
+    g_signal_connect (gtkpod_xml_get_widget (cal_xml, "cal_cancel"), "clicked",
 		      G_CALLBACK (cal_cancel), cal);
     /* Connect apply-button */
-    g_signal_connect (glade_xml_get_widget (cal_xml, "cal_apply"), "clicked",
+    g_signal_connect (gtkpod_xml_get_widget (cal_xml, "cal_apply"), "clicked",
 		      G_CALLBACK (cal_apply), cal);
     /* Connect ok-button */
-    g_signal_connect (glade_xml_get_widget (cal_xml, "cal_ok"), "clicked",
+    g_signal_connect (gtkpod_xml_get_widget (cal_xml, "cal_ok"), "clicked",
 		      G_CALLBACK (cal_ok), cal);
 
     gtk_widget_show (cal);

Modified: gtkpod/trunk/src/display_spl.c
===================================================================
--- gtkpod/trunk/src/display_spl.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/display_spl.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-05-21 11:27:14 jcs>
+/* Time-stamp: <2005-11-25 23:52:13 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users.sourceforge.net>
 |  Part of the gtkpod project.
@@ -23,7 +23,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: display_spl.c,v 1.9 2005/05/21 04:47:23 jcsjcs Exp $
+|  $Id: display_spl.c,v 1.15 2005/11/26 13:44:41 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -40,8 +40,9 @@
 #include "display.h"
 #include "prefs.h"
 
+static const gchar *SPL_WINDOW_DEFX="spl_window_defx";
+static const gchar *SPL_WINDOW_DEFY="spl_window_defy";
 
-
 static void spl_display_checklimits (GtkWidget *spl_window);
 static void spl_update_rule (GtkWidget *spl_window, SPLRule *splr);
 static void spl_update_rules_from_row (GtkWidget *spl_window, gint row);
@@ -289,7 +290,7 @@
     g_return_if_fail (spl);
     if (gtk_toggle_button_get_active (togglebutton))
     {
-	GtkWidget *frame = glade_xml_get_widget (spl_window_xml, "spl_rules_frame");
+	GtkWidget *frame = gtkpod_xml_get_widget (spl_window_xml, "spl_rules_frame");
 	g_return_if_fail (frame);
 	gtk_widget_set_sensitive (frame, TRUE);
 	spl->splpref.checkrules = TRUE;
@@ -307,7 +308,7 @@
     g_return_if_fail (spl);
     if (gtk_toggle_button_get_active (togglebutton))
     {
-	GtkWidget *frame = glade_xml_get_widget (spl_window_xml, "spl_rules_frame");
+	GtkWidget *frame = gtkpod_xml_get_widget (spl_window_xml, "spl_rules_frame");
 	g_return_if_fail (frame);
 	gtk_widget_set_sensitive (frame, TRUE);
 	spl->splpref.checkrules = TRUE;
@@ -324,7 +325,7 @@
     g_return_if_fail (spl_window);
     spl =  g_object_get_data (G_OBJECT (spl_window), "spl_work");
     g_return_if_fail (spl);
-    frame = glade_xml_get_widget (spl_window_xml, "spl_rules_frame");
+    frame = gtkpod_xml_get_widget (spl_window_xml, "spl_rules_frame");
     g_return_if_fail (frame);
     if (gtk_toggle_button_get_active (togglebutton))
     {
@@ -522,7 +523,7 @@
 	splr->fromvalue = atol (str);
 	if (splr->field == SPLFIELD_RATING)
 	{
-	    splr->fromvalue *= RATING_STEP;
+	    splr->fromvalue *= ITDB_RATING_STEP;
 	}
 	break;
     case spl_ET_FROMVALUE_DATE:
@@ -537,7 +538,7 @@
 	splr->tovalue = atol (str);
 	if (splr->field == SPLFIELD_RATING)
 	{
-	    splr->tovalue *= RATING_STEP;
+	    splr->tovalue *= ITDB_RATING_STEP;
 	}
 	break;
     case spl_ET_TOVALUE_DATE:
@@ -603,7 +604,41 @@
 }
 
 
+/* deactivate "minus" (delete rule) button if only one rule is
+   displayed, activate all "minus" (delete rule) buttons, if more than
+   one rule is displayed */
+static void spl_check_number_of_rules (GtkWidget *spl_window)
+{
+    Playlist *spl;
+    GtkTable *table;
+    gint i, numrules;
 
+    g_return_if_fail (spl_window);
+
+    spl =  g_object_get_data (G_OBJECT (spl_window), "spl_work");
+    g_return_if_fail (spl);
+
+    table = g_object_get_data (G_OBJECT (spl_window), "spl_rules_table");
+    g_return_if_fail (table);
+
+    numrules = g_list_length (spl->splrules.rules);
+
+    for (i=0; i<numrules; ++i)
+    {
+	gchar name[WNLEN];
+	GtkWidget *button;
+
+	snprintf (name, WNLEN, "spl_button-%d", i);
+	button = g_object_get_data (G_OBJECT (table), name);
+	g_return_if_fail (button);
+	if (numrules > 1)
+	    gtk_widget_set_sensitive (button, TRUE);
+	else
+	    gtk_widget_set_sensitive (button, FALSE);
+    }
+}
+
+
 static void spl_button_minus_clicked (GtkButton *button,
 				      GtkWidget *spl_window)
 {
@@ -624,6 +659,8 @@
 
     itdb_splr_remove (spl, splr);
     spl_update_rules_from_row (spl_window, row);
+
+    spl_check_number_of_rules (spl_window);
 }
 
 
@@ -647,9 +684,20 @@
 
     itdb_splr_add_new (spl, row+1);
     spl_update_rules_from_row (spl_window, row+1);
+
+    spl_check_number_of_rules (spl_window);
 }
 
 
+static void spl_store_window_size (GtkWidget *spl_window)
+{
+    gint defx, defy;
+
+    gtk_window_get_size (GTK_WINDOW (spl_window), &defx, &defy);
+    prefs_set_int_value (SPL_WINDOW_DEFX, defx);
+    prefs_set_int_value (SPL_WINDOW_DEFY, defy);
+}
+
 static void spl_cancel (GtkButton *button, GtkWidget *spl_window)
 {
     Playlist *spl_dup = g_object_get_data (G_OBJECT (spl_window),
@@ -669,6 +717,9 @@
     {   /* Delete */
 	itdb_playlist_free (spl_orig);
     }
+
+    spl_store_window_size (spl_window);
+
     gtk_widget_destroy (spl_window);
 
     release_widgets ();
@@ -695,7 +746,7 @@
 
     spl_dup = g_object_get_data (G_OBJECT (spl_window), "spl_work");
     spl_orig = g_object_get_data (G_OBJECT (spl_window), "spl_orig");
-    pos =  (gint32)g_object_get_data (G_OBJECT (spl_window), "spl_pos");
+    pos =  (gint32)GPOINTER_TO_INT(g_object_get_data (G_OBJECT (spl_window), "spl_pos"));
     itdb = g_object_get_data (G_OBJECT (spl_window), "spl_itdb");
 
     g_return_if_fail (spl_dup != NULL);
@@ -703,7 +754,7 @@
     g_return_if_fail (itdb != NULL);
 
     /* Read out new playlist name */
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_name_entry")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_name_entry")))
     {
 	g_free (spl_orig->name);
 	spl_orig->name = gtk_editable_get_chars (GTK_EDITABLE (w), 0, -1);
@@ -711,21 +762,24 @@
 
     itdb_spl_copy_rules (spl_orig, spl_dup);
 
-    itdb_spl_update (itdb, spl_orig);
+    itdb_playlist_free (spl_dup);
 
+    /* does playlist already exist in itdb? */
+    if (!itdb_playlist_exists (itdb, spl_orig))
+    {   /* Insert at specified position */
+	gp_playlist_add (itdb, spl_orig, pos);
+    }
+
+    itdb_spl_update (spl_orig);
+
     if (pm_get_selected_playlist () == spl_orig)
     {   /* redisplay */
 	pm_unselect_playlist (spl_orig);
 	pm_select_playlist (spl_orig);
     }
 
-    /* does playlist already exist in itdb? */
-    if (!itdb_playlist_exists (itdb, spl_orig))
-    {   /* Insert at specified position */
-	gp_playlist_add (itdb, spl_orig, pos);
-    }
+    spl_store_window_size (spl_window);
 
-    itdb_playlist_free (spl_dup);
     gtk_widget_destroy (spl_window);
 
     release_widgets ();
@@ -742,7 +796,7 @@
     spl =  g_object_get_data (G_OBJECT (spl_window), "spl_work");
     g_return_if_fail (spl);
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_checklimits_button")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_checklimits_button")))
     {
 	gtk_toggle_button_set_active (
 	    GTK_TOGGLE_BUTTON (w), spl->splpref.checklimits);
@@ -751,7 +805,7 @@
 			  spl_window);
     }
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_limitvalue_entry")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_limitvalue_entry")))
     {
 	gchar str[WNLEN];
 	snprintf (str, WNLEN, "%d", spl->splpref.limitvalue);
@@ -762,7 +816,7 @@
 			  spl_window);
     }
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_limittype_combobox")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_limittype_combobox")))
     {
 	spl_set_combobox (GTK_COMBO_BOX (w), 
 			  limittype_comboentries,
@@ -772,12 +826,12 @@
 	gtk_widget_set_sensitive (w, spl->splpref.checklimits);
     }
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_limitsort_label")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_limitsort_label")))
     {
 	gtk_widget_set_sensitive (w, spl->splpref.checklimits);
     }
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_limitsort_combobox")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_limitsort_combobox")))
     {
 	spl_set_combobox (GTK_COMBO_BOX (w), 
 			  limitsort_comboentries,
@@ -844,7 +898,7 @@
 
     if (splr->field == SPLFIELD_RATING)
     {
-	stepsize = RATING_STEP;
+	stepsize = ITDB_RATING_STEP;
     }
 
     switch (et)
@@ -852,7 +906,7 @@
     case spl_ET_FROMVALUE:
 	if (splr->fromvalue == SPLDATE_IDENTIFIER)
 	    splr->fromvalue = 0;
-	snprintf (str, WNLEN, "%lld", splr->fromvalue / stepsize);
+	snprintf (str, WNLEN, "%lld", (long long int)(splr->fromvalue / stepsize));
 	break;
     case spl_ET_FROMVALUE_DATE:
 	if (splr->fromvalue == SPLDATE_IDENTIFIER)
@@ -860,12 +914,12 @@
 	set_timestring (str, splr->fromvalue, et);
 	break;
     case spl_ET_FROMDATE:
-	snprintf (str, WNLEN, "%lld", splr->fromdate);
+	snprintf (str, WNLEN, "%lld",  (long long int)splr->fromdate);
 	break;
     case spl_ET_TOVALUE:
 	if (splr->tovalue == SPLDATE_IDENTIFIER)
 	    splr->tovalue = 0;
-	snprintf (str, WNLEN, "%lld", splr->tovalue / stepsize);
+	snprintf (str, WNLEN, "%lld",  (long long int)(splr->tovalue / stepsize));
 	break;
     case spl_ET_TOVALUE_DATE:
 	if (splr->tovalue == SPLDATE_IDENTIFIER)
@@ -873,10 +927,10 @@
 	set_timestring (str, splr->tovalue, et);
 	break;
     case spl_ET_TODATE:
-	snprintf (str, WNLEN, "%lld", splr->todate);
+	snprintf (str, WNLEN, "%lld",  (long long int)splr->todate);
 	break;
     case spl_ET_INTHELAST:
-	snprintf (str, WNLEN, "%lld", -splr->fromdate);
+	snprintf (str, WNLEN, "%lld",  (long long int)-splr->fromdate);
 	break;
     case spl_ET_STRING:
 /*	gtk_entry_set_width_chars (GTK_ENTRY (entry), 20);*/
@@ -1217,6 +1271,8 @@
     /* create hbox with buttons */
     hbox = gtk_hbox_new (TRUE, 2);
     gtk_widget_show (hbox);
+    g_object_set_data (G_OBJECT (table), name, hbox);
+
     button = gtk_button_new_with_label (_("-"));
     gtk_widget_show (button);
     gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0);
@@ -1224,6 +1280,9 @@
 		      G_CALLBACK (spl_button_minus_clicked),
 		      spl_window);
     g_object_set_data (G_OBJECT (button), "spl_rule", splr);
+    snprintf (name, WNLEN, "spl_button-%d", row);
+    g_object_set_data (G_OBJECT (table), name, button);
+
     button = gtk_button_new_with_label (_("+"));
     gtk_widget_show (button);
     gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0);
@@ -1231,10 +1290,12 @@
 		      G_CALLBACK (spl_button_plus_clicked),
 		      spl_window);
     g_object_set_data (G_OBJECT (button), "spl_rule", splr);
+    snprintf (name, WNLEN, "spl_button+%d", row);
+    g_object_set_data (G_OBJECT (table), name, button);
+
     gtk_table_attach (table, hbox, 3,4, row,row+1,
 		      0,0,   /* expand options */
 		      XPAD,YPAD);  /* padding options */
-    g_object_set_data (G_OBJECT (table), name, hbox);
 }
 
 /* Display all rules stored in "spl_work" */
@@ -1247,7 +1308,7 @@
     g_return_if_fail (spl_window);
     spl =  g_object_get_data (G_OBJECT (spl_window), "spl_work");
     g_return_if_fail (spl);
-    align = glade_xml_get_widget (spl_window_xml, "spl_rules_table_align");
+    align = gtkpod_xml_get_widget (spl_window_xml, "spl_rules_table_align");
     g_return_if_fail (align);
     /* Destroy table if it already exists */
     table = g_object_get_data (G_OBJECT (spl_window),
@@ -1261,6 +1322,8 @@
 
     for (gl=spl->splrules.rules; gl; gl=gl->next)
 	spl_update_rule (spl_window, gl->data);
+
+    spl_check_number_of_rules (spl_window);
 }
 
 
@@ -1322,6 +1385,7 @@
 void spl_edit_all (iTunesDB *itdb, Playlist *spl, gint32 pos)
 {
     GtkWidget *spl_window, *w;
+    gint defx, defy;
     Playlist *spl_dup;
 
     g_return_if_fail (spl != NULL);
@@ -1329,7 +1393,7 @@
     g_return_if_fail (itdb != NULL);
 
     spl_window_xml = glade_xml_new (xml_file, "spl_window", NULL);
-    spl_window = glade_xml_get_widget (spl_window_xml, "spl_window");
+    spl_window = gtkpod_xml_get_widget (spl_window_xml, "spl_window");
     
     g_return_if_fail (spl_window != NULL);
 
@@ -1339,43 +1403,43 @@
     /* Store pointers to original playlist and duplicate */
     g_object_set_data (G_OBJECT (spl_window), "spl_orig", spl);
     g_object_set_data (G_OBJECT (spl_window), "spl_work", spl_dup);
-    g_object_set_data (G_OBJECT (spl_window), "spl_pos", (gpointer)pos);
+    g_object_set_data (G_OBJECT (spl_window), "spl_pos",  GINT_TO_POINTER(pos));
     g_object_set_data (G_OBJECT (spl_window), "spl_itdb", itdb);
     /* Set checkboxes and connect signal handlers */
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_name_entry")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_name_entry")))
     {
 	if (spl_dup->name)
 	    gtk_entry_set_text (GTK_ENTRY (w), spl_dup->name);	
     }
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_all_radio")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_all_radio")))
     {
+	g_signal_connect (w, "toggled",
+			  G_CALLBACK (spl_all_radio_toggled),
+			  spl_window);
 	gtk_toggle_button_set_active (
 	    GTK_TOGGLE_BUTTON (w),
 	    (spl_dup->splrules.match_operator == SPLMATCH_AND));
+    }
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_any_radio")))
+    {
 	g_signal_connect (w, "toggled",
-			  G_CALLBACK (spl_all_radio_toggled),
+			  G_CALLBACK (spl_any_radio_toggled),
 			  spl_window);
-    }
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_any_radio")))
-    {
 	gtk_toggle_button_set_active (
 	    GTK_TOGGLE_BUTTON (w),
 	    (spl_dup->splrules.match_operator == SPLMATCH_OR));
-	g_signal_connect (w, "toggled",
-			  G_CALLBACK (spl_any_radio_toggled),
-			  spl_window);
     }
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_none_radio")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_none_radio")))
     {
-	gtk_toggle_button_set_active (
-	    GTK_TOGGLE_BUTTON (w), !spl_dup->splpref.checkrules);
 	g_signal_connect (w, "toggled",
 			  G_CALLBACK (spl_none_radio_toggled),
 			  spl_window);
+	gtk_toggle_button_set_active (
+	    GTK_TOGGLE_BUTTON (w), !spl_dup->splpref.checkrules);
     }
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_matchcheckedonly_button")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_matchcheckedonly_button")))
     {
 	gtk_toggle_button_set_active (
 	    GTK_TOGGLE_BUTTON (w), spl_dup->splpref.matchcheckedonly);
@@ -1384,7 +1448,7 @@
 			  spl_window);
     }
 
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_liveupdate_button")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_liveupdate_button")))
     {
 	gtk_toggle_button_set_active (
 	    GTK_TOGGLE_BUTTON (w), spl_dup->splpref.liveupdate);
@@ -1394,12 +1458,12 @@
     }
 
     /* Signals for Cancel, OK, Delete */
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_cancel_button")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_cancel_button")))
     {
 	g_signal_connect (w, "clicked",
 		      G_CALLBACK (spl_cancel), spl_window);
     }
-    if ((w = glade_xml_get_widget (spl_window_xml, "spl_ok_button")))
+    if ((w = gtkpod_xml_get_widget (spl_window_xml, "spl_ok_button")))
     {
 	g_signal_connect (w, "clicked",
 		      G_CALLBACK (spl_ok), spl_window);
@@ -1411,6 +1475,12 @@
 
     spl_display_rules (spl_window);
 
+    /* set default size */
+    defx = prefs_get_int (SPL_WINDOW_DEFX);
+    defy = prefs_get_int (SPL_WINDOW_DEFY);
+    if ((defx != 0) && (defy != 0))
+	gtk_window_set_default_size (GTK_WINDOW (spl_window), defx, defy);
+
     gtk_widget_show (spl_window);
 
     block_widgets ();

Modified: gtkpod/trunk/src/file.c
===================================================================
--- gtkpod/trunk/src/file.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/file.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-16 01:38:51 jcs>
+/* Time-stamp: <2005-12-11 02:00:47 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: file.c,v 1.135 2005/07/15 16:58:40 jcsjcs Exp $
+|  $Id: file.c,v 1.152 2005/12/10 17:04:28 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -54,6 +54,53 @@
 #include "prefs.h"
 #include "wavfile.h"
 
+
+static const gchar *imageext[] =
+{".jpg", ".jpeg", ".png", ".pbm", ".pgm", ".ppm", ".tif", ".tiff",
+ ".gif", NULL};
+
+
+/*------------------------------------------------------------------*\
+ *                                                                  *
+ *      Temporary Video stuff -- move to appropriate files when     *
+ *      properly supported.                                         *
+ *                                                                  *
+\*------------------------------------------------------------------*/
+
+Track *video_get_file_info (gchar *filename)
+{
+    Track *track;
+    track = gp_track_new ();
+    switch (determine_file_type (filename))
+    {
+    case FILE_TYPE_M4V:
+	track->filetype = g_strdup ("M4V video file");
+	break;
+    case FILE_TYPE_MP4:
+	track->filetype = g_strdup ("MP4 video file");
+	break;
+    case FILE_TYPE_MOV:
+	track->filetype = g_strdup ("MOV video file");
+	break;
+    case FILE_TYPE_MPG:
+	track->filetype = g_strdup ("MPG video file");
+	break;
+    case FILE_TYPE_UNKNOWN:
+    case FILE_TYPE_MP3:
+    case FILE_TYPE_M4A:
+    case FILE_TYPE_M4P:
+    case FILE_TYPE_M4B:
+    case FILE_TYPE_WAV:
+    case FILE_TYPE_M3U:
+    case FILE_TYPE_PLS:
+    case FILE_TYPE_IMAGE:
+	g_free (track);
+	g_return_val_if_reached (NULL);
+    }
+    return track;
+}
+
+
 /* Determine the type of a file. 
  *
  * Currently this is done by checking the suffix of the filename. An improved
@@ -62,30 +109,49 @@
  * -jlt
  */
 
-gint determine_file_type (gchar *path)
+FileType determine_file_type (gchar *path)
 {
-	gchar *path_utf8, *suf;
-	gint type = FILE_TYPE_UNKNOWN;
+    gchar *path_utf8, *suf;
+    FileType type = FILE_TYPE_UNKNOWN;
 	
-	g_return_val_if_fail (path, type);
+    g_return_val_if_fail (path, type);
 	
-    	path_utf8 = charset_to_utf8 (path);
-	suf = strrchr (path_utf8, '.');
-	if (suf)
+    path_utf8 = charset_to_utf8 (path);
+    suf = strrchr (path_utf8, '.');
+    if (suf)
+    {
+	if (g_strcasecmp (suf, ".mp3") == 0) type = FILE_TYPE_MP3;
+	else if (g_strcasecmp (suf, ".m4a") == 0) type = FILE_TYPE_M4A;
+	else if (g_strcasecmp (suf, ".m4p") == 0) type = FILE_TYPE_M4P;
+	else if (g_strcasecmp (suf, ".m4b") == 0) type = FILE_TYPE_M4B;
+	else if (g_strcasecmp (suf, ".wav") == 0) type = FILE_TYPE_WAV;
+
+	else if (g_strcasecmp (suf, ".m4v") == 0) type = FILE_TYPE_M4V;
+	else if (g_strcasecmp (suf, ".mp4") == 0) type = FILE_TYPE_MP4;
+	else if (g_strcasecmp (suf, ".mov") == 0) type = FILE_TYPE_MOV;
+	else if (g_strcasecmp (suf, ".mpg") == 0) type = FILE_TYPE_MPG;
+	else if (g_strcasecmp (suf, ".mpeg") == 0) type = FILE_TYPE_MPG;
+
+	else if (g_strcasecmp (suf, ".m3u") == 0) type = FILE_TYPE_M3U;
+	else if (g_strcasecmp (suf, ".pls") == 0) type = FILE_TYPE_PLS;
+
+	else
 	{
-	    /* since we are exclusively checking for equality strcasecmp
-	     * should be sufficient */
-	    if (g_strcasecmp (suf, ".mp3") == 0) type = FILE_TYPE_MP3;
-	    else if (g_strcasecmp (suf, ".m4a") == 0) type = FILE_TYPE_M4A;
-	    else if (g_strcasecmp (suf, ".m4p") == 0) type = FILE_TYPE_M4P;
-	    else if (g_strcasecmp (suf, ".m4b") == 0) type = FILE_TYPE_M4B;
-	    else if (g_strcasecmp (suf, ".wav") == 0) type = FILE_TYPE_WAV;
-	    else if (g_strcasecmp (suf, ".m3u") == 0) type = FILE_TYPE_M3U;
-	    else if (g_strcasecmp (suf, ".pls") == 0) type = FILE_TYPE_PLS;
+	    const gchar **extp=imageext;
+	    while (*extp)
+	    {
+		if (g_strcasecmp (suf, *extp) == 0)
+		{
+		    type = FILE_TYPE_IMAGE;
+		    break;
+		}
+		++extp;
+	    }
 	}
+    }
 
-	g_free(path_utf8);
-	return type;
+    g_free(path_utf8);
+    return type;
 }
 
 
@@ -116,7 +182,7 @@
     gchar *bufp, *plfile_utf8;
     gchar *dirname = NULL, *plname = NULL;
     gchar buf[PATH_MAX];
-    gint type = FILE_TYPE_UNKNOWN; /* type of playlist file */
+    FileType type = FILE_TYPE_UNKNOWN; /* type of playlist file */
     gint line, tracks;
     FILE *fp;
     gboolean error;
@@ -148,6 +214,11 @@
 	case FILE_TYPE_M4P:
 	case FILE_TYPE_M4B:
 	case FILE_TYPE_WAV:
+	case FILE_TYPE_M4V:
+	case FILE_TYPE_MP4:
+	case FILE_TYPE_MOV:
+	case FILE_TYPE_MPG:
+	case FILE_TYPE_IMAGE:
 	    gtkpod_warning (_("'%s' is a not a known playlist file.\n\n"),
 			      plfile);
 	    g_free(plname);
@@ -157,7 +228,7 @@
 	    break;
 	case FILE_TYPE_UNKNOWN:
 	    /* assume MISC (M3U like) style */
-	    type = FILE_TYPE_MISC;
+	    type = -2;
 	    break;
 	}
     }
@@ -193,9 +264,8 @@
 	++line;
 	if (len == 0) continue;   /* skip empty lines */
 	if (bufp[len-1] == 0x0a)  bufp[len-1] = 0;
-	switch (type)
+	if (type == -2)
 	{
-	case FILE_TYPE_MISC:
 	    /* skip whitespace */
 	    while (isspace (*bufp)) ++bufp;
 	    /* assume comments start with ';' or '#' */
@@ -203,6 +273,9 @@
 	    /* assume the rest of the line is a filename */
 	    filename = concat_dir_if_relative (dirname, bufp);
 	    break;
+	}
+	else switch (type)
+	{
 	case FILE_TYPE_M3U:
 	    /* comments start with '#' */
 	    if (*bufp == '#') break;
@@ -228,6 +301,18 @@
 		}
 	    }
 	    break;
+	case FILE_TYPE_UNKNOWN:
+	case FILE_TYPE_MP3:
+	case FILE_TYPE_M4A:
+	case FILE_TYPE_M4P:
+	case FILE_TYPE_M4B:
+	case FILE_TYPE_WAV:
+	case FILE_TYPE_M4V:
+	case FILE_TYPE_MP4:
+	case FILE_TYPE_MOV:
+	case FILE_TYPE_MPG:
+	case FILE_TYPE_IMAGE:
+	    break;
 	}
 	if (filename)
 	{
@@ -426,7 +511,7 @@
 #ifdef DEBUG
 		printf ("%s: '%s'\n", token, fnp);
 #endif
-		itm = g_strdup (fnp);
+		itm = g_strstrip (g_strdup (fnp));
 		switch (token[1])
 		{
 		case 'a': /* artist */
@@ -644,7 +729,7 @@
 
 /* Copy "new" info read from file to an old Track structure.
    Return value: a pointer to the track the data was copied to. */
-Track *copy_new_info (Track *from, Track *to)
+static Track *copy_new_info (Track *from, Track *to)
 {
     ExtraTrackData *efrom, *eto;
 
@@ -655,16 +740,23 @@
     g_return_val_if_fail (efrom, NULL);
     g_return_val_if_fail (eto, NULL);
 
-    C_FREE (to->album);
-    C_FREE (to->artist);
-    C_FREE (to->title);
-    C_FREE (to->genre);
-    C_FREE (to->comment);
-    C_FREE (to->composer);
-    C_FREE (to->fdesc);
-    C_FREE (eto->pc_path_utf8);
-    C_FREE (eto->pc_path_locale);
-    C_FREE (eto->charset);
+    g_free (to->title);
+    g_free (to->artist);
+    g_free (to->album);
+    g_free (to->genre);
+    g_free (to->composer);
+    g_free (to->comment);
+    g_free (to->filetype);
+    g_free (to->description);
+    g_free (to->podcasturl);
+    g_free (to->podcastrss);
+    g_free (to->subtitle);
+    g_free (eto->pc_path_utf8);
+    g_free (eto->pc_path_locale);
+    g_free (eto->charset);
+    g_free (eto->thumb_path_utf8);
+    g_free (eto->thumb_path_locale);
+    itdb_artwork_free (to->artwork);
     /* copy strings */
     to->album = g_strdup (from->album);
     to->artist = g_strdup (from->artist);
@@ -672,7 +764,11 @@
     to->genre = g_strdup (from->genre);
     to->comment = g_strdup (from->comment);
     to->composer = g_strdup (from->composer);
-    to->fdesc = g_strdup (from->fdesc);
+    to->filetype = g_strdup (from->filetype);
+    to->podcasturl = g_strdup (from->podcasturl);
+    to->podcastrss = g_strdup (from->podcastrss);
+    to->subtitle = g_strdup (from->subtitle);
+    to->description = g_strdup (from->description);
     eto->pc_path_utf8 = g_strdup (efrom->pc_path_utf8);
     eto->pc_path_locale = g_strdup (efrom->pc_path_locale);
     eto->charset = g_strdup (efrom->charset);
@@ -694,8 +790,12 @@
     to->time_added = from->time_added;
     to->time_modified = from->time_modified;
     to->year = from->year;
+    to->compilation = from->compilation;
     g_free (eto->year_str);
     eto->year_str = g_strdup_printf ("%d", to->year);
+    to->unk208 = from->unk208;
+    /* copy artwork */
+    to->artwork = itdb_artwork_duplicate (from->artwork);
 
     return to;
 }
@@ -755,9 +855,9 @@
 			&& buff[usernamelen] == (gchar)'=')
 		    {
 			/* found it */
-			track->rating = atoi(&buff[usernamelen+1]) * RATING_STEP;
+			track->rating = atoi(&buff[usernamelen+1]) * ITDB_RATING_STEP;
 			/* printf("found it, = %d\n",
-			   orig_track->rating/RATING_STEP); */
+			   orig_track->rating/ITDB_RATING_STEP); */
 			success = TRUE;
 			break; /* while(fgets(... */
 		    }
@@ -793,15 +893,87 @@
 }
 
 
+
+/* look for a picture specified by coverart_template  */
+static void add_artwork (Track *tr)
+{
+    ExtraTrackData *etr;
+    const gchar *full_template;
+    gchar **templates, **tplp;
+    gchar *dirname;
+    gchar *filename_local = NULL;
+
+    g_return_if_fail (tr);
+    etr = tr->userdata;
+    g_return_if_fail (etr);
+
+    dirname = g_path_get_dirname (etr->pc_path_utf8);
+
+    full_template = prefs_get_coverart_template ();
+
+    templates = g_strsplit (full_template, ";", 0);
+    tplp = templates;
+    while (*tplp && !filename_local)
+    {
+	gchar *filename_utf8;
+	gchar *fname = get_string_from_template (tr, *tplp, TRUE);
+	if (fname)
+	{
+	    if (strchr (fname, '.') != NULL)
+	    {   /* if fname has an extension, try if it is valid */
+		filename_utf8 = g_build_filename (dirname, fname, NULL);
+		filename_local = charset_from_utf8 (filename_utf8);
+		g_free (filename_utf8);
+		if (!g_file_test (filename_local, G_FILE_TEST_EXISTS))
+		{
+		    g_free (filename_local);
+		    filename_local = NULL;
+		}
+	    }
+	    else
+	    {   /* otherwise try out different extensions */
+		const gchar **extp = imageext;
+		while (*extp && !filename_local)
+		{
+		    gchar *ffname;
+		    ffname = g_strconcat (fname, *extp, NULL);
+		    filename_utf8 = g_build_filename (dirname, ffname, NULL);
+		    g_free (ffname);
+		    filename_local = charset_from_utf8 (filename_utf8);
+		    g_free (filename_utf8);
+		    if (!g_file_test (filename_local, G_FILE_TEST_EXISTS))
+		    {
+			g_free (filename_local);
+			filename_local = NULL;
+		    }
+		    ++extp;
+		}
+	    }
+	}
+	g_free (fname);
+	++tplp;
+    }
+
+    if (filename_local)
+    {
+	gp_track_set_thumbnails (tr, filename_local);
+    }
+
+    g_strfreev (templates);
+}
+
+
+
 /* Fills the supplied @orig_track with data from the file @name. If
  * @or_track is NULL, a new track struct is created. The entries
  * pc_path_utf8 and pc_path_locale are not changed if an entry already
  * exists */
 /* Returns NULL on error, a pointer to the Track otherwise */
-Track *get_track_info_from_file (gchar *name, Track *orig_track)
+static Track *get_track_info_from_file (gchar *name, Track *orig_track)
 {
     Track *track = NULL;
     Track *nti = NULL;
+    FileType filetype;
     gint len;
     gchar *name_utf8 = NULL;
 
@@ -825,23 +997,47 @@
     len = strlen (name);
     if (len < 4) return NULL;
 
-    switch (determine_file_type(name))
+    filetype = determine_file_type(name);
+    switch (filetype)
     {
     case FILE_TYPE_MP3:
 	nti = mp3_get_file_info (name);
+	/* Set unk208 to audio */
+	if (nti) nti->unk208 = 0x00000001;
 	break;
     case FILE_TYPE_M4A:
     case FILE_TYPE_M4P:
     case FILE_TYPE_M4B:
 	nti = mp4_get_file_info (name);
+	/* Set unk208 to audio */
+	if (nti) nti->unk208 = 0x00000001;
 	break;
     case FILE_TYPE_WAV:
 	nti = wav_get_file_info (name);
+	/* Set unk208 to audio */
+	if (nti) nti->unk208 = 0x00000001;
 	break;
+    case FILE_TYPE_M4V:
+    case FILE_TYPE_MP4:
+	/* I don't know if .m4v and .mp4 can simply be handled like
+	   this. Let's see if someone complains. */
+	nti = mp4_get_file_info (name);
+	if (!nti) video_get_file_info (name);
+	/* Set unk208 to video */
+	if (nti) nti->unk208 = 0x00000002;
+	break;
+    case FILE_TYPE_MOV:
+    case FILE_TYPE_MPG:
+	/* for now treat all the same */
+	nti = video_get_file_info (name);
+	/* Set unk208 to video */
+	if (nti) nti->unk208 = 0x00000002;
+	break;
     case FILE_TYPE_UNKNOWN:
 	gtkpod_warning (_("The following track could not be processed (filetype unknown): '%s'\n"), name_utf8);
 	g_free (name_utf8);
 	return NULL;
+    case FILE_TYPE_IMAGE:
     case FILE_TYPE_M3U:
     case FILE_TYPE_PLS:
 	break;
@@ -877,16 +1073,23 @@
 		replaygain_to_soundcheck (enti->radio_gain);
 	/* Set unset strings (album...) from filename */
 	set_unset_entries_from_filename (nti);
-	/* Make sure all strings are initialized -- that way we don't
-	   have to worry about it when we are handling the
-	   strings. Also, validate_entries() will fill in the utf16
-	   strings if that hasn't already been done. */
-	/* exception: md5_hash, charset and hostname: these may be NULL. */
+
+	/* Set coverart */
+	if (prefs_get_coverart())
+	    add_artwork (nti);
+
 	/* Set modification date to *now* */
 	nti->time_modified = itdb_time_get_mac_time ();
 	/* Set added date to *now* */
 	nti->time_added = nti->time_modified;
 
+	/* Make sure all strings are initialized -- that way we don't
+	   have to worry about it when we are handling the
+	   strings. Also, validate_entries() will fill in the utf16
+	   strings if that hasn't already been done. */
+	/* exception: md5_hash, charset and hostname: these may be
+	 * NULL. */
+
 	gp_track_validate_entries (nti);
 
 	if (orig_track)
@@ -906,8 +1109,17 @@
     }
     else
     {
-	gtkpod_warning (_("The following track could not be processed (filetype is known but analysis failed): '%s'\n"), name_utf8);
-    }	
+	switch (filetype)
+	{
+	case FILE_TYPE_IMAGE:
+	case FILE_TYPE_M3U:
+	case FILE_TYPE_PLS:
+	    break;
+	default:
+	    gtkpod_warning (_("The following track could not be processed (filetype is known but analysis failed): '%s'\n"), name_utf8);
+	    break;
+	}
+    }
 
     while (widgets_blocked && gtk_events_pending ())
 	gtk_main_iteration ();
@@ -929,6 +1141,7 @@
 void update_tracks (GList *selected_tracks)
 {
     GList *gl;
+    iTunesDB *itdb = NULL;
 
     if (selected_tracks == NULL)
     {
@@ -941,11 +1154,23 @@
     {
 	Track *track = gl->data;
 	g_return_if_fail (track);
-	gchar *buf = g_strdup_printf (_("Updating %s"),
-				      get_track_info (track, TRUE));
-	gtkpod_statusbar_message (buf);
-	g_free (buf);
-	update_track_from_file (track->itdb, track);
+
+	/* update_track_from_file() may possibly remove tracks from
+	   the database, so we need to check if the track we are
+	   referencing to is still valid. To do so we first have to
+	   secure a valid pointer to an itdb. Since the first track in
+	   selected_tracks is always valid, we take that one. */
+	if (!itdb)
+	    itdb = track->itdb;
+	g_return_if_fail (itdb);
+	if (g_list_find (itdb->tracks, track))
+	{
+	    gchar *buf = g_strdup_printf (_("Updating %s"),
+					  get_track_info (track, TRUE));
+	    gtkpod_statusbar_message (buf);
+	    g_free (buf);
+	    update_track_from_file (track->itdb, track);
+	}
     }
     release_widgets ();
     /* display log of non-updated tracks */
@@ -1742,8 +1967,8 @@
  *                                                                  *
 \*------------------------------------------------------------------*/
 
-/* Append file @name to the list of tracks.
-   @name is in the current locale
+/* Append file @fname to the list of tracks.
+   @fname is in the current locale
    @plitem: if != NULL, add track to plitem as well (unless it's the MPL)
    descend: TRUE:  add directories recursively
             FALSE: add contents of directories passed but don't descend
@@ -1751,7 +1976,7 @@
 /* @addtrackfunc: if != NULL this will be called instead of
    "add_track_to_playlist () -- used for dropping tracks at a specific
    position in the track view */
-gboolean add_track_by_filename (iTunesDB *itdb, gchar *name,
+gboolean add_track_by_filename (iTunesDB *itdb, gchar *fname,
 				Playlist *plitem, gboolean descend,
 			       AddTrackFunc addtrackfunc, gpointer data)
 {
@@ -1763,36 +1988,43 @@
   Playlist *mpl;
   gboolean result = TRUE;
 
-  g_return_val_if_fail (name, FALSE);
+  g_return_val_if_fail (fname, FALSE);
   g_return_val_if_fail (itdb, FALSE);
   mpl = itdb_playlist_mpl (itdb);
   g_return_val_if_fail (mpl, FALSE);
 
   if (!plitem)  plitem = mpl;
 
-  if (g_file_test (name, G_FILE_TEST_IS_DIR))
+  if (g_file_test (fname, G_FILE_TEST_IS_DIR))
   {
-      return add_directory_by_name (itdb, name, plitem, descend, addtrackfunc, data);
+      return add_directory_by_name (itdb, fname, plitem, descend, addtrackfunc, data);
   }
 
   /* check if file is a playlist */
-  switch (determine_file_type(name)) {
-	  case FILE_TYPE_M3U:
-	  case FILE_TYPE_PLS:
-	      if (add_playlist_by_filename (itdb, name, plitem, -1,
-					    addtrackfunc, data))
-		  return TRUE;
-	      return FALSE;
-	  case FILE_TYPE_MP3:
-	  case FILE_TYPE_M4A:
-	  case FILE_TYPE_M4P:
-	  case FILE_TYPE_M4B:
-	  case FILE_TYPE_UNKNOWN:
-		  break;
+  switch (determine_file_type(fname))
+  {
+  case FILE_TYPE_M3U:
+  case FILE_TYPE_PLS:
+      if (add_playlist_by_filename (itdb, fname, plitem, -1,
+				    addtrackfunc, data))
+	  return TRUE;
+      return FALSE;
+  case FILE_TYPE_MP3:
+  case FILE_TYPE_M4A:
+  case FILE_TYPE_M4P:
+  case FILE_TYPE_M4B:
+  case FILE_TYPE_WAV:
+  case FILE_TYPE_M4V:
+  case FILE_TYPE_MP4:
+  case FILE_TYPE_MOV:
+  case FILE_TYPE_MPG:
+  case FILE_TYPE_IMAGE:
+  case FILE_TYPE_UNKNOWN:
+      break;
   }
 
   /* print a message about which file is being processed */
-  basename = g_path_get_basename (name);
+  basename = g_path_get_basename (fname);
   if (basename)
   {
       gchar *bn_utf8 = charset_to_utf8 (basename);
@@ -1804,9 +2036,9 @@
   C_FREE (basename);
 
   /* Check if there exists already a track with the same filename */
-  oldtrack = gp_track_by_filename (itdb, name);
+  oldtrack = gp_track_by_filename (itdb, fname);
   /* If a track already exists in the database, either update it or
-     just add it to the current playlist (if it doesn't already exist) */
+     just add it to the current playlist (if it's not already there) */
   if (oldtrack)
   {
       if (prefs_get_update_existing ())
@@ -1814,7 +2046,7 @@
 	  update_track_from_file (itdb, oldtrack);
       }
       /* add to current playlist if it's not already in there */
-      if (plitem->type != ITDB_PL_TYPE_MPL)
+      if (!itdb_playlist_is_mpl (plitem))
       {
 	  if (!itdb_playlist_contains_track (plitem, oldtrack))
 	  {
@@ -1826,9 +2058,8 @@
       }
   }
   else  /* oldtrack == NULL */
-  {  /* Only read the new track if there doesn't already exist an old
-	track with the same filename in the database */
-      Track *track = get_track_info_from_file (name, NULL);
+  {   /* OK, the same filename does not already exist */
+      Track *track = get_track_info_from_file (fname, NULL);
       if (track)
       {
           Track *added_track = NULL;
@@ -1838,25 +2069,26 @@
 	  track->id = 0;
 	  track->transferred = FALSE;
 
-	  /* is 'name' on the iPod? */
+	  /* is 'fname' on the iPod? -- if yes mark as transfered, if
+	   * it's in the ipod_control directory */
 	  if (itdb->usertype & GP_ITDB_TYPE_IPOD)
 	  {
 	      g_return_val_if_fail (itdb->mountpoint, FALSE);
-	      if (strstr (name, itdb->mountpoint) == name)
+	      if (strstr (fname, itdb->mountpoint) == fname)
 	      {   /* Yes */
-		  /* is 'name' in the iPod_Control directory? */
-		  gchar *name_i = name + strlen (itdb->mountpoint);
-		  gchar *name_l;
-		  if (*name_i == G_DIR_SEPARATOR) ++name_i;
-		  name_l = g_ascii_strdown (name_i, -1);
-		  if (strstr (name_l, "ipod_control") == name_l)
+		  /* is 'fname' in the iPod_Control directory? */
+		  gchar *fname_i = fname + strlen (itdb->mountpoint);
+		  gchar *fname_l;
+		  if (*fname_i == G_DIR_SEPARATOR) ++fname_i;
+		  fname_l = g_ascii_strdown (fname_i, -1);
+		  if (strstr (fname_l, "ipod_control") == fname_l)
 		  {   /* Yes */
 		      track->transferred = TRUE;
 		      track->ipod_path = g_strdup_printf (
-			  "%c%s", G_DIR_SEPARATOR, name_i);
+			  "%c%s", G_DIR_SEPARATOR, fname_i);
 		      itdb_filename_fs2ipod (track->ipod_path);
 		  }
-		  g_free (name_l);
+		  g_free (fname_l);
 	      }
 	  }
 
@@ -1870,36 +2102,48 @@
 	  added_track = gp_track_add (itdb, track);
 	  g_return_val_if_fail (added_track, FALSE);
 
-	  if (addtrackfunc)
-	  {
-	      if (plitem->type == ITDB_PL_TYPE_MPL)
-	      {   /* add track to master playlist (if it wasn't a
-		     duplicate */
-		  if (added_track == track)
+	  /* set flags to 'podcast' if adding to podcast list */
+	  if (itdb_playlist_is_podcasts (plitem))
+	      gp_track_set_flags_podcast (added_track);
+
+	  if (itdb_playlist_is_mpl (plitem))
+	  {   /* add track to master playlist if it wasn't a
+		 duplicate */
+	      if (added_track == track)
+	      {
+		  if (addtrackfunc)
 		      addtrackfunc (plitem, added_track, data);
+		  else
+		      gp_playlist_add_track (plitem, added_track, TRUE);
 	      }
-	      else
-	      {   /* add track to master playlist (if it wasn't a
-		   * duplicate) */
-		  if (added_track == track)
-		  {
+	  }
+	  else
+	  {   /* add track to master playlist if it wasn't a
+	       * duplicate and plitem is not the podcasts playlist
+	       */
+	      if (added_track == track)
+	      {
+		  if (!itdb_playlist_is_podcasts (plitem))
 		      gp_playlist_add_track (mpl, added_track, TRUE);
-		  }
-		  /* add track to specified playlist */
-		  addtrackfunc (plitem, added_track, data);
 	      }
-	  }
-	  else  /* no addtrackfunc */
-	  {
-		  /* add track to master playlist (if it wasn't a
-		   * duplicate) */
-		  if (added_track == track)
-		      gp_playlist_add_track (mpl, added_track,
-					     TRUE);
-		  /* add track to specified playlist, but not to MPL */
-		  if (plitem->type != ITDB_PL_TYPE_MPL)
+	      /* add track to specified playlist -- unless adding
+	       * to podcasts list and track already exists there */
+	      if (itdb_playlist_is_podcasts (plitem) &&
+		  g_list_find (plitem->members, added_track))
+	      {
+		  gchar *buf = get_track_info (added_track, FALSE);
+		  gtkpod_warning (_("Podcast already present: '%s'\n\n"), buf);
+		  g_free (buf);
+	      }
+	      else
+	      {
+		  if (addtrackfunc)
+		      addtrackfunc (plitem, added_track, data);
+		  else
 		      gp_playlist_add_track (plitem, added_track, TRUE);
+	      }
 	  }
+
 	  /* indicate that non-transferred files exist */
 	  data_changed (itdb);
 	  ++count;
@@ -1929,23 +2173,37 @@
 /* Call the correct tag writing function for the filename @name */
 static gboolean file_write_info (gchar *name, Track *track)
 {
-    if (name && track)
+    gchar *buf;
+
+    g_return_val_if_fail (name, FALSE);
+    g_return_val_if_fail (track, FALSE);
+
+    switch (determine_file_type(name))
     {
-        switch (determine_file_type(name)) {
-	    case FILE_TYPE_MP3:
-		return mp3_write_file_info (name, track);
-	    case FILE_TYPE_M4A:
-	    case FILE_TYPE_M4P:
-	    case FILE_TYPE_M4B:
-		return mp4_write_file_info (name, track);
-	    case FILE_TYPE_WAV:
-		return wav_write_file_info (name, track);
-	    case FILE_TYPE_M3U:
-	    case FILE_TYPE_PLS:
-	    case FILE_TYPE_UNKNOWN:
-		break;
-	}
+    case FILE_TYPE_MP3:
+	return mp3_write_file_info (name, track);
+    case FILE_TYPE_M4A:
+    case FILE_TYPE_M4P:
+    case FILE_TYPE_M4B:
+	return mp4_write_file_info (name, track);
+    case FILE_TYPE_WAV:
+	return wav_write_file_info (name, track);
+    case FILE_TYPE_M4V:
+    case FILE_TYPE_MP4:
+    case FILE_TYPE_MOV:
+    case FILE_TYPE_MPG:
+	buf = get_track_info (track, FALSE);
+	gtkpod_warning (_("Writing to video files not yet supported (%s).\n\n"),
+			buf);
+	g_free (buf);
+	break;
+    case FILE_TYPE_M3U:
+    case FILE_TYPE_PLS:
+    case FILE_TYPE_IMAGE:
+    case FILE_TYPE_UNKNOWN:
+	break;
     }
+
     return FALSE;
 }
 
@@ -2044,7 +2302,8 @@
     etr = tr->userdata;
     g_return_val_if_fail (etr, result);
 
-    result = get_file_name_on_ipod (tr);
+    if (tr->itdb)
+	result = get_file_name_on_ipod (tr);
     if(!result &&
        (etr->pc_path_locale) && (strlen(etr->pc_path_locale) > 0))
     {
@@ -2067,9 +2326,7 @@
 
     if(tr &&  !prefs_get_offline ())
     {
-	gchar *mount = charset_from_utf8 (prefs_get_ipod_mount ());
-	result = itdb_filename_on_ipod (mount, tr);
-	g_free (mount);
+	result = itdb_filename_on_ipod (tr);
     }
     return(result);
 }
@@ -2412,9 +2669,14 @@
 /* Set the gain value in @track. Return value: TRUE, if gain could be set */
 gboolean get_gain (Track *track) 
 {
-    gchar *path = get_file_name_verified (track);
+    gchar *path;
+    gchar *buf;
     gboolean result = FALSE;
 
+    g_return_val_if_fail (track, FALSE);
+
+    path = get_file_name_verified (track);
+
     if (path)
     {
 	switch (determine_file_type (path))
@@ -2426,20 +2688,30 @@
 	case FILE_TYPE_M4P: /* FIXME */
 	case FILE_TYPE_M4B: /* FIXME */
 	case FILE_TYPE_WAV: /* FIXME */
-	case FILE_TYPE_UNKNOWN: 
+	case FILE_TYPE_M4V:
+	case FILE_TYPE_MP4:
+	case FILE_TYPE_MOV:
+	case FILE_TYPE_MPG:
+	case FILE_TYPE_UNKNOWN:
+	    buf = get_track_info (track, FALSE);
 	    gtkpod_warning (
-		_("Normalization failed: file type not supported.\n"));
+		_("Normalization failed: file type not supported (%s).\n\n"),
+		buf);
+	    g_free (buf);
 	    break;
 	case FILE_TYPE_M3U: 
 	case FILE_TYPE_PLS: 
+	case FILE_TYPE_IMAGE: 
 	    break;
 	}
 	g_free (path);
     }
     else
     {
+	buf = get_track_info (track, FALSE);
 	gtkpod_warning (
-	    _("Normalization failed: file not available.\n"));
+	    _("Normalization failed: file not available (%s).\n\n"),
+	    buf);
     }
     return result;
 }

Modified: gtkpod/trunk/src/file.h
===================================================================
--- gtkpod/trunk/src/file.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/file.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-20 23:05:05 jcs>
+/* Time-stamp: <2005-12-11 01:53:26 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: file.h,v 1.45 2005/06/20 14:32:06 jcsjcs Exp $
+|  $Id: file.h,v 1.47 2005/12/10 17:04:28 jcsjcs Exp $
 */
 
 #ifndef __FILE_H__
@@ -39,18 +39,22 @@
 #include "itdb.h"
 
 
-/* values below -1 are private to individual functions */
+/* values below -1 may be used in individual functions */
 typedef enum
 {
-    FILE_TYPE_MISC = -2,
     FILE_TYPE_UNKNOWN = 0,
     FILE_TYPE_MP3,
     FILE_TYPE_M4A,
     FILE_TYPE_M4P,
     FILE_TYPE_M4B,
     FILE_TYPE_WAV,
+    FILE_TYPE_M4V,
+    FILE_TYPE_MP4,
+    FILE_TYPE_MOV,
+    FILE_TYPE_MPG,
     FILE_TYPE_M3U,
-    FILE_TYPE_PLS
+    FILE_TYPE_PLS,
+    FILE_TYPE_IMAGE
 } FileType;
 
 typedef enum
@@ -63,7 +67,7 @@
 
 typedef void (*AddTrackFunc)(Playlist *plitem, Track *track, gpointer data);
 
-gint determine_file_type(gchar *path);
+FileType determine_file_type(gchar *path);
 gboolean add_track_by_filename (iTunesDB *itdb, gchar *name,
 				Playlist *plitem, gboolean descend,
 				AddTrackFunc addtrackfunc, gpointer data);
@@ -101,7 +105,6 @@
 void unmark_track_for_deletion (iTunesDB *itdb, Track *track);
 void gp_info_deleted_tracks (iTunesDB *itdb,
 			     gdouble *size, guint32 *num);
-Track *get_track_info_from_file (gchar *name, Track *or_track);
 void update_charset_info (Track *track);
 gchar *resolve_path(const gchar *,const gchar * const *);
 void parse_offline_playcount (void);

Modified: gtkpod/trunk/src/file_export.c
===================================================================
--- gtkpod/trunk/src/file_export.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/file_export.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-25 11:14:46 jcs>
+/* Time-stamp: <2005-12-11 00:14:03 jcs>
 |
 |  Copyright (C) 2002 Corey Donohoe <atmos at atmos.org>
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
@@ -25,7 +25,7 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: file_export.c,v 1.50 2005/06/25 02:52:25 jcsjcs Exp $
+|  $Id: file_export.c,v 1.57 2005/12/10 17:04:28 jcsjcs Exp $
 */
 #ifdef HAVE_CONFIG_H
 #  include <config.h>
@@ -44,8 +44,8 @@
 #include <sys/types.h>
 #include <string.h>
 #include <math.h>
+#include <unistd.h>
 
-
 /* Structure to keep all necessary information */
 struct fcd
 {
@@ -91,37 +91,14 @@
 
 
 /**
- * Recursively make directories in the given filename.
- * @return FALSE is this is not possible.
- */
-gboolean
-mkdirhier(char* filename)
-{
-	char* p = filename;
-	if (*p == G_DIR_SEPARATOR) p++;
-	while ((p = index(p, G_DIR_SEPARATOR)) != NULL) {
-		*p = '\0';
-		if (!g_file_test(filename, G_FILE_TEST_EXISTS)) {
-			if (mkdir(filename, 0755) == -1) {
-				gtkpod_warning (_("Error creating %s: %s\n"), filename, g_strerror(errno));
-				return FALSE;
-			}
-		}
-		*p = G_DIR_SEPARATOR;
-		p++;
-	}
-	return TRUE;
-}
-
-/**
- * copy_file_from_fd_to_fd - given two open file descriptors, read from one
- * 	and write the data to the other
+ * copy_file_fd_sync - given two open file descriptors, read from one
+ * 	and write the data to the other, fsync() before returning.
  * @from - the file descriptor we're reading from
  * @to - the file descriptor we're writing to
  * Returns TRUE on write success, FALSE on write failure
  */
 static gboolean
-copy_file_fd(FILE *from, FILE *to)
+copy_file_fd_sync (FILE *from, FILE *to)
 {
     gboolean result = FALSE;
     gchar data[READ_WRITE_BLOCKSIZE];
@@ -162,6 +139,8 @@
 	    
 	} while(!(feof(from)));
     }
+    if (!result)
+	result = fsync (fileno (to));
     return(result);
 }
 
@@ -216,7 +195,7 @@
     {
 	if((to = fopen(dest, "w")))
 	{
-	    result = copy_file_fd(from, to);
+	    result = copy_file_fd_sync (from, to);
 	    fclose(to);
 	}
 	else
@@ -268,7 +247,7 @@
     g_return_val_if_fail (track, NULL);
 
     prefs_get_string_value (EXPORT_FILES_TPL, &template);
-    res_utf8 = get_string_from_template (track, template, TRUE);
+    res_utf8 = get_string_from_full_template (track, template, TRUE);
     C_FREE (template);
 
     prefs_get_int_value (EXPORT_FILES_SPECIAL_CHARSET, &special_charset);
@@ -322,7 +301,7 @@
 	    prefs_get_string_value (EXPORT_FILES_PATH, &dest_dir);
 	    filename = g_build_filename (dest_dir, dest_file, NULL);
 
-	    if (mkdirhier(filename))
+	    if (mkdirhierfile(filename))
 	    {
 		if(copy_file(from_file, filename))
 		{
@@ -362,7 +341,7 @@
     g_cond_signal (cond);
     g_mutex_unlock (mutex);
 
-    return (gpointer)result;
+    return GINT_TO_POINTER(result);
 }
 #endif
 
@@ -473,7 +452,7 @@
 		    g_cond_timed_wait (cond, mutex, &gtime);
 		} while(!mutex_data);
 		g_mutex_unlock (mutex);
-		result &= (gboolean)g_thread_join (thread);
+		result &= (gboolean)GPOINTER_TO_INT(g_thread_join (thread));
 	    }
 	    else {
 		g_warning ("Thread creation failed, falling back to default.\n");
@@ -594,9 +573,9 @@
 	NULL);
 
     export_files_xml = glade_xml_new (xml_file, "export_files_options", NULL);
-    win = glade_xml_get_widget (export_files_xml, "export_files_options");
-    options = glade_xml_get_widget (export_files_xml, "options_frame");
-    message_box = glade_xml_get_widget (export_files_xml, "message_box");
+    win = gtkpod_xml_get_widget (export_files_xml, "export_files_options");
+    options = gtkpod_xml_get_widget (export_files_xml, "options_frame");
+    message_box = gtkpod_xml_get_widget (export_files_xml, "message_box");
 
     /* Information needed to clean up later */
     fcd = g_malloc0 (sizeof (struct fcd));
@@ -620,9 +599,9 @@
     if (display)
     {
 	GList *gl;
-	GtkWidget *label = glade_xml_get_widget (export_files_xml,
+	GtkWidget *label = gtkpod_xml_get_widget (export_files_xml,
 						 "message");
-	GtkWidget *tv = glade_xml_get_widget (export_files_xml,
+	GtkWidget *tv = gtkpod_xml_get_widget (export_files_xml,
 					      "textview");
 	GtkTextBuffer *tb = gtk_text_view_get_buffer (GTK_TEXT_VIEW(tv));
 	if (message)  gtk_label_set_text (GTK_LABEL (label), message);
@@ -973,9 +952,8 @@
 	for (n=0,i=0; i<num; ++i)
 	{
 	    Track *track = g_list_nth_data (fcd->tracks, i);
-	    gchar *infotext_utf8 = get_string_from_template (track,
-							     template,
-							     FALSE);
+	    gchar *infotext_utf8 = get_string_from_full_template (
+		track, template, FALSE);
 	    gchar *filename = get_file_name_from_source (track,
 							 source);
 	    gchar *infotext;
@@ -1098,9 +1076,9 @@
     GladeXML *export_playlist_xml;
     
     export_playlist_xml = glade_xml_new (xml_file, "export_playlist_file_options", NULL);
-    win = glade_xml_get_widget (export_playlist_xml, "export_playlist_file_options");
+    win = gtkpod_xml_get_widget (export_playlist_xml, "export_playlist_file_options");
 
-    options = glade_xml_get_widget (export_playlist_xml, "options_frame");
+    options = gtkpod_xml_get_widget (export_playlist_xml, "options_frame");
 
     /* Information needed to clean up later */
     fcd->tracks = g_list_copy (tracks);

Modified: gtkpod/trunk/src/file_itunesdb.c
===================================================================
--- gtkpod/trunk/src/file_itunesdb.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/file_itunesdb.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-25 11:20:54 jcs>
+/* Time-stamp: <2005-12-04 23:45:22 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: file_itunesdb.c,v 1.55 2005/06/25 02:52:25 jcsjcs Exp $
+|  $Id: file_itunesdb.c,v 1.72 2005/12/04 16:00:39 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -57,6 +57,8 @@
     guint ipod_id;
     gchar *pc_path_locale;
     gchar *pc_path_utf8;
+    gchar *thumb_path_locale;
+    gchar *thumb_path_utf8;
     gchar *md5_hash;
     gchar *charset;
     gchar *hostname;
@@ -88,7 +90,9 @@
 
 
 /* fills in extended info if available */
-void fill_in_extended_info (Track *track)
+/* num/total are used to give updates in case the md5 checksums have
+   to be matched against the files which is very time consuming */
+void fill_in_extended_info (Track *track, gint32 total, gint32 num)
 {
   gint ipod_id=0;
   ExtraTrackData *etr;
@@ -106,6 +110,14 @@
   }
   if (!sei && extendedinfohash_md5)
   {
+      gchar *buf = g_strdup_printf (
+	  _("Matching MD5 checksum for file %d/%d"),
+	  num, total);
+      gtkpod_statusbar_message (buf);
+      while (widgets_blocked && gtk_events_pending ())
+	  gtk_main_iteration ();
+      g_free (buf);
+
       if (!etr->md5_hash)
       {
 	  gchar *filename = get_file_name_on_ipod (track);
@@ -123,6 +135,10 @@
 	  etr->pc_path_locale = g_strdup (sei->pc_path_locale);
       if (sei->pc_path_utf8 && !etr->pc_path_utf8)
 	  etr->pc_path_utf8 = g_strdup (sei->pc_path_utf8);
+      if (sei->thumb_path_locale && !etr->thumb_path_locale)
+	  etr->thumb_path_locale = g_strdup (sei->thumb_path_locale);
+      if (sei->thumb_path_utf8 && !etr->thumb_path_utf8)
+	  etr->thumb_path_utf8 = g_strdup (sei->thumb_path_utf8);
       if (sei->md5_hash && !etr->md5_hash)
 	  etr->md5_hash = g_strdup (sei->md5_hash);
       if (sei->charset && !etr->charset)
@@ -171,12 +187,14 @@
 
     if (sei)
     {
-	C_FREE (sei->pc_path_locale);
-	C_FREE (sei->pc_path_utf8);
-	C_FREE (sei->md5_hash);
-	C_FREE (sei->charset);
-	C_FREE (sei->hostname);
-	C_FREE (sei->ipod_path);
+	g_free (sei->pc_path_locale);
+	g_free (sei->pc_path_utf8);
+	g_free (sei->thumb_path_locale);
+	g_free (sei->thumb_path_utf8);
+	g_free (sei->md5_hash);
+	g_free (sei->charset);
+	g_free (sei->hostname);
+	g_free (sei->ipod_path);
 	g_free (sei);
     }
 }
@@ -260,9 +278,8 @@
 		{
 		    hash_matched = FALSE;
 		    gtkpod_warning (_("iTunesDB '%s' does not match checksum in extended information file '%s'\ngtkpod will try to match the information using MD5 checksums. This may take a long time.\n\n"), itunes, name);
-		    while (gtk_events_pending ())  gtk_main_iteration ();
-/*		    success = FALSE;
-		    break;*/
+		    while (widgets_blocked && gtk_events_pending ())
+			gtk_main_iteration ();
 		}
 		else
 		{
@@ -342,6 +359,10 @@
 		sei->pc_path_locale = g_strdup (arg);
 	    else if (g_ascii_strcasecmp (line, "filename_utf8") == 0)
 		sei->pc_path_utf8 = g_strdup (arg);
+	    else if (g_ascii_strcasecmp (line, "thumbnail_locale") == 0)
+		sei->thumb_path_locale = g_strdup (arg);
+	    else if (g_ascii_strcasecmp (line, "thumbnail_utf8") == 0)
+		sei->thumb_path_utf8 = g_strdup (arg);
 	    else if (g_ascii_strcasecmp (line, "md5_hash") == 0)
 	    {   /* only accept hash value if version is >= 0.53 or
 		   PATH_MAX is 4096 -- in 0.53 I changed the MD5 hash
@@ -394,7 +415,7 @@
 /* Import an iTunesDB and return an iTunesDB structure.
  * If @old_itdb is set, it will be merged into the newly imported
  * one. @old_itdb will not be changed.
- * @type: GP_ITDB_TYPE_LOCAL or GP_ITDB_TYPE_IPOD
+ * @type: GP_ITDB_TYPE_LOCAL/IPOD (bitwise flags!)
  * @mp: mount point of iPod (if reading an iPod iTunesDB)
  * @name_off: name of the iTunesDB in offline mode
  * @name_loc: name of iTunesDB (if reading a local file browser) */
@@ -408,12 +429,14 @@
     ExtraiTunesDBData *eitdb;
     iTunesDB *itdb = NULL;
     GError *error = NULL;
+    gint32 total, num;
 
     g_return_val_if_fail (!(type & GP_ITDB_TYPE_LOCAL) || name_loc, NULL);
     g_return_val_if_fail (!(type & GP_ITDB_TYPE_IPOD) || 
 			  (mp && name_off), NULL);
     g_return_val_if_fail (cfgdir, NULL);
 
+    block_widgets ();
     if (prefs_get_offline() || (type & GP_ITDB_TYPE_LOCAL))
     { /* offline or local database - requires extended info */
 	gchar *name_ext;
@@ -532,13 +555,17 @@
 	g_free (name_db);
     }
 
+    if (!itdb)
+    {
+	release_widgets ();
+	return NULL;
+    }
+
     /* add Extra*Data */
     gp_itdb_add_extra_full (itdb);
 
-    if (!itdb) return NULL;
-
     eitdb = itdb->userdata;
-    g_return_val_if_fail (eitdb, NULL);
+    g_return_val_if_fail (eitdb, (release_widgets(), NULL));
 
     /* fill in additional info */
     itdb->usertype = type;
@@ -546,26 +573,49 @@
     {
 	if (prefs_get_offline ())
 	{
-	    itdb->mountpoint = g_strdup (mp);
+	    itdb_set_mountpoint (itdb, mp);
 	    g_free (itdb->filename);
 	    itdb->filename = NULL;
 	}
 	eitdb->offline_filename = g_strdup (name_off);
     }	    
 
+    total = g_list_length (itdb->tracks);
+    num = 1;
     /* validate all tracks and fill in extended info */
     for (gl=itdb->tracks; gl; gl=gl->next)
     {
 	Track *track = gl->data;
-	g_return_val_if_fail (track, NULL);
-	fill_in_extended_info (track);
+	ExtraTrackData *etr;
+	g_return_val_if_fail (track, (release_widgets(), NULL));
+	etr = track->userdata;
+	g_return_val_if_fail (etr, (release_widgets(), NULL));
+	fill_in_extended_info (track, total, num);
 	gp_track_validate_entries (track);
+	/* set new default value for flag1 (unknown) */
+	if (track->flag1 == 0)
+	    track->flag1 = 0x02;
+	/* set unk208 to audio if unset (important only for iPod Video) */
+	if (track->unk208 == 0)
+	    track->unk208 = 0x00000001;
+	/* restore deleted thumbnails */
+	if ((track->artwork->thumbnails == NULL) &&
+	    (strlen (etr->thumb_path_locale) != 0))
+	{
+	    /* !! gp_track_set_thumbnails() writes on
+	       etr->thumb_path_locale, so we need to g_strdup()
+	       first !! */
+	    gchar *filename = g_strdup (etr->thumb_path_locale);
+	    gp_track_set_thumbnails (track, filename);
+	    g_free (filename);
+	}
+	++num;
     }
     /* take over the pending deletion information */
     while (extendeddeletion)
     {
 	Track *track = extendeddeletion->data;
-	g_return_val_if_fail (track, NULL);
+	g_return_val_if_fail (track, (release_widgets(), NULL));
 	mark_track_for_deletion (itdb, track);
 	extendeddeletion = g_list_delete_link (extendeddeletion,
 					       extendeddeletion);
@@ -588,15 +638,15 @@
 	GHashTable *track_hash = g_hash_table_new (g_direct_hash,
 						   g_direct_equal);
 	Playlist *mpl = itdb_playlist_mpl (itdb);
-	g_return_val_if_fail (mpl, NULL);
-	g_return_val_if_fail (old_eitdb, NULL);
+	g_return_val_if_fail (mpl, (release_widgets(), NULL));
+	g_return_val_if_fail (old_eitdb, (release_widgets(), NULL));
 
 	/* add tracks from @old_itdb to new itdb */
 	for (gl=old_itdb->tracks; gl; gl=gl->next)
 	{
 	    Track *duptr, *addtr;
 	    Track *track = gl->data;
-	    g_return_val_if_fail (track, NULL);
+	    g_return_val_if_fail (track, (release_widgets(), NULL));
 	    duptr = itdb_track_duplicate (track);
 	    /* add to database -- if duplicate detection is on and the
 	       same track already exists in the database, the already
@@ -615,18 +665,34 @@
 	    GList *glm;
 	    Playlist *duppl;
 	    Playlist *pl = gl->next->data; /* skip MPL */
-	    g_return_val_if_fail (pl, NULL);
+	    g_return_val_if_fail (pl, (release_widgets(), NULL));
 	    duppl = itdb_playlist_duplicate (pl);
 	    /* switch members */
 	    for (glm=duppl->members; glm; glm=glm->next)
 	    {
 		Track *newtr;
-		g_return_val_if_fail (glm->data, NULL);
+		g_return_val_if_fail (glm->data, (release_widgets(), NULL));
 		newtr = g_hash_table_lookup (track_hash, glm->data);
-		g_return_val_if_fail (newtr, NULL);
+		g_return_val_if_fail (newtr, (release_widgets(), NULL));
 		glm->data = newtr;
 	    }
-	    itdb_playlist_add (itdb, duppl, -1);
+	    /* if it's the podcasts list, don't add the list again if
+	       it already exists, but only the members. */
+	    if (itdb_playlist_is_podcasts (duppl) &&
+		itdb_playlist_podcasts (itdb))
+	    {
+		Playlist *podcasts = itdb_playlist_podcasts (itdb);
+		for (glm=duppl->members; glm; glm=glm->next)
+		{
+		    g_return_val_if_fail (glm->data, (release_widgets(), NULL));
+		    itdb_playlist_add_track (podcasts, glm->data, -1);
+		}
+		itdb_playlist_free (duppl);
+	    }
+	    else
+	    {
+		itdb_playlist_add (itdb, duppl, -1);
+	    }
 	    gl = gl->next;
 	}
 	g_hash_table_destroy (track_hash);
@@ -634,9 +700,11 @@
 	eitdb->data_changed = old_eitdb->data_changed;
     }
 
-    /* update all SPLs */
-    itdb_spl_update_all (itdb);
+    /* update all live SPLs */
+    itdb_spl_update_live (itdb);
 
+    release_widgets();
+
     return itdb;
 }
 
@@ -849,17 +917,19 @@
       fprintf (fp, "id=%d\n", track->id);
       if (etr->hostname)
 	  fprintf (fp, "hostname=%s\n", etr->hostname);
-      if (strlen (etr->pc_path_locale) != 0)
+      if (etr->pc_path_locale && *etr->pc_path_locale)
 	  fprintf (fp, "filename_locale=%s\n", etr->pc_path_locale);
-      if (strlen (etr->pc_path_utf8) != 0)
+      if (etr->pc_path_utf8 && *etr->pc_path_utf8)
 	  fprintf (fp, "filename_utf8=%s\n", etr->pc_path_utf8);
+      if (etr->thumb_path_locale && *etr->thumb_path_locale)
+	  fprintf (fp, "thumbnail_locale=%s\n", etr->thumb_path_locale);
+      if (etr->thumb_path_utf8 && *etr->thumb_path_utf8)
+	  fprintf (fp, "thumbnail_utf8=%s\n", etr->thumb_path_utf8);
       /* this is just for convenience for people looking for a track
 	 on the ipod away from gktpod/itunes etc. */
-      if (strlen (track->ipod_path) != 0)
-	  fprintf (fp, "filename_ipod=%s\n", track->ipod_path);
-      if (etr->md5_hash)
+      if (etr->md5_hash && *etr->md5_hash)
 	  fprintf (fp, "md5_hash=%s\n", etr->md5_hash);
-      if (etr->charset)
+      if (etr->charset && *etr->charset)
 	  fprintf (fp, "charset=%s\n", etr->charset);
       if (!track->transferred && etr->oldsize)
 	  fprintf (fp, "oldsize=%d\n", etr->oldsize);
@@ -911,14 +981,14 @@
 /* returns: int result (of remove()) */
 static gpointer th_remove (gpointer filename)
 {
-    int result;
+    guint result;
 
     result = remove ((gchar *)filename);
     g_mutex_lock (mutex);
     mutex_data = TRUE; /* signal that thread will end */
     g_cond_signal (cond);
     g_mutex_unlock (mutex);
-    return (gpointer)result;
+    return GUINT_TO_POINTER(result);
 }
 #endif
 
@@ -935,7 +1005,7 @@
     etr = track->userdata;
     g_return_val_if_fail (etr, NULL);
 
-    itdb_cp_track_to_ipod (mount, track, etr->pc_path_locale, &error);
+    itdb_cp_track_to_ipod (track, etr->pc_path_locale, &error);
     g_free (mount);
     /* delete old size */
     if (track->transferred) etr->oldsize = 0;
@@ -959,7 +1029,7 @@
 /* check if iPod directory stucture is present */
 static gboolean ipod_dirs_present (gchar *mountpoint)
 {
-    const gchar *music[] = {"iPod_Control","Music",NULL},
+    const gchar *music[] = {"iPod_Control", "Music", "F00", NULL},
       *itunes[] = {"iPod_Control","iTunes",NULL};
     gchar *file;
     gboolean result = TRUE;
@@ -1041,7 +1111,6 @@
   gboolean result = TRUE;
   static gboolean abort_flag;
   ExtraiTunesDBData *eitdb;
-  const gchar *mp = NULL;
 #ifdef G_THREADS_ENABLED
   GThread *thread = NULL;
   GTimeVal gtime;
@@ -1049,6 +1118,8 @@
   if (!cond) cond = g_cond_new ();
 #endif
 
+
+
   g_return_val_if_fail (itdb, FALSE);
   eitdb = itdb->userdata;
   g_return_val_if_fail (eitdb, FALSE);
@@ -1060,8 +1131,7 @@
 
   if (itdb->usertype & GP_ITDB_TYPE_IPOD)
   {
-      mp = prefs_get_ipod_mount ();
-      g_return_val_if_fail (mp, FALSE);
+      g_return_val_if_fail (itdb->mountpoint, FALSE);
   }
 
   abort_flag = FALSE;
@@ -1081,7 +1151,9 @@
 
       if (itdb->usertype & GP_ITDB_TYPE_IPOD)
       {
-	  filename = get_file_name_on_ipod (track);
+	  track->itdb = itdb;
+	  filename = itdb_filename_on_ipod (track);
+	  track->itdb = NULL;
       }
       if (itdb->usertype & GP_ITDB_TYPE_LOCAL)
       {
@@ -1090,7 +1162,7 @@
 
       if(filename)
       {
-	  gint rmres;
+	  guint rmres;
 #ifdef G_THREADS_ENABLED
 	  mutex_data = FALSE;
 	  thread = g_thread_create (th_remove, filename, TRUE, NULL);
@@ -1107,7 +1179,7 @@
 		  g_cond_timed_wait (cond, mutex, &gtime);
 	      } while(!mutex_data);
 	      g_mutex_unlock (mutex);
-	      rmres = (gint)g_thread_join (thread);
+	      rmres = GPOINTER_TO_UINT(g_thread_join (thread));
 	      if (rmres == -1) result = FALSE;
 	  }
 	  else {
@@ -1145,11 +1217,10 @@
   GList *gl;
   gint count, n;
   gchar *buf;
-  Track  *track;
   gboolean result = TRUE;
   static gboolean abort_flag;
   GtkWidget *dialog, *progress_bar;
-  time_t diff, start, fullsecs, hrs, mins, secs;
+  time_t start;
   gchar *progtext = NULL;
   ExtraiTunesDBData *eitdb;
 #ifdef G_THREADS_ENABLED
@@ -1182,7 +1253,8 @@
 
   for (gl=itdb->tracks; gl && !abort_flag; gl=gl->next)
   {
-      track = gl->data;
+      time_t diff, fullsecs, hrs, mins, secs;
+      Track *track = gl->data;
       g_return_val_if_fail (track, FALSE); /* this will hang the
 					      application :-( */
       if (!track->transferred)             /* but this would crash
@@ -1371,11 +1443,12 @@
   while (widgets_blocked && gtk_events_pending ())
       gtk_main_iteration ();
 
+
   if (success && !prefs_get_offline () &&
       (itdb->usertype & GP_ITDB_TYPE_IPOD))
   {   /* write to the iPod */
       GError *error = NULL;
-      if (!itdb_write (itdb, NULL, &error))
+      if (!itdb_write (itdb, &error))
       {   /* an error occured */
 	  success = FALSE;
 	  if (error && error->message)
@@ -1385,9 +1458,10 @@
 	  g_error_free (error);
 	  error = NULL;
       }
+
       if (success)
       {   /* write shuffle data */
-	  if (!itdb_shuffle_write (itdb, NULL, &error))
+	  if (!itdb_shuffle_write (itdb, &error))
 	  {   /* an error occured */
 	      success = FALSE;
 	      if (error && error->message)
@@ -1539,7 +1613,18 @@
 	eitdb = itdb->userdata;
 	g_return_if_fail (eitdb);
 	if (eitdb->data_changed || eitdb->itdb_imported)
+	{
+	    Playlist *pl;
+	    /* update smart playlists before writing */
+	    itdb_spl_update_live (itdb);
+	    pl = pm_get_selected_playlist ();
+	    if (pl && (pl->itdb == itdb) &&
+		pl->is_spl && pl->splpref.liveupdate)
+	    {   /* Update display if necessary */
+		st_redisplay (0);
+	    }
 	    success &= gp_write_itdb (itdb);
+	}
     }
 
     if (prefs_get_concal_autosync ())
@@ -1627,8 +1712,7 @@
 	    prefs_set_string_value (pmp, mp);
 	    g_free (pmp);
 	    /* store to itdb */
-	    g_free (itdb->mountpoint);
-	    itdb->mountpoint = g_strdup (mp);
+	    itdb_set_mountpoint (itdb, mp);
 	}
 	++i;
     }

Modified: gtkpod/trunk/src/fileselection.c
===================================================================
--- gtkpod/trunk/src/fileselection.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/fileselection.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-05 22:40:10 jcs>
+/* Time-stamp: <2005-12-04 17:02:33 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users.sourceforge.net>
 |  Part of the gtkpod project.
@@ -23,7 +23,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: fileselection.c,v 1.2 2005/06/05 14:48:37 jcsjcs Exp $
+|  $Id: fileselection.c,v 1.4 2005/12/04 10:24:38 jcsjcs Exp $
 */
 
 /***********************************************************************
@@ -254,6 +254,59 @@
 
 
 
+
+/* 
+ * Add Cover Art
+ */
+gchar *fileselection_get_cover_filename (void)
+{
+    GtkWidget* fc;  /* The file chooser dialog */
+    gint response;  /* The response of the filechooser */
+    gchar *filename = NULL; /* The chosen file */
+    const gchar *dir1;
+    gchar *dir2;
+
+    /* Create the file chooser, and handle the response */
+    fc = gtk_file_chooser_dialog_new (_("Set Cover"),
+				      NULL,
+				      GTK_FILE_CHOOSER_ACTION_OPEN,
+				      GTK_STOCK_CANCEL,
+				      GTK_RESPONSE_CANCEL,
+				      GTK_STOCK_OPEN,
+				      GTK_RESPONSE_ACCEPT,
+				      NULL);
+
+    gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (fc), FALSE);
+
+    dir1 = prefs_get_last_dir_browse ();
+    gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fc), dir1);
+
+    response = gtk_dialog_run(GTK_DIALOG(fc));
+
+    switch (response)
+    {
+    case GTK_RESPONSE_ACCEPT:
+	dir2 = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (fc));
+	prefs_set_last_dir_browse (dir2);
+	g_free (dir2);
+	filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (fc));
+	break;
+    case GTK_RESPONSE_CANCEL:
+	break;
+    default:	/* Fall through */
+	break;
+    }		
+    gtk_widget_destroy(fc);
+    return filename;
+}
+
+
+
+
+
+
+
+
 /*
 |  Changed by Jorg Schuler <jcsjcs at users.sourceforge.net> to compile
 |  "standalone" with the gtkpod project 2002/11/24

Modified: gtkpod/trunk/src/fileselection.h
===================================================================
--- gtkpod/trunk/src/fileselection.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/fileselection.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:12:18 jcs>
+/* Time-stamp: <2005-11-27 19:05:47 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: fileselection.h,v 1.2 2005/06/17 13:30:03 jcsjcs Exp $
+|  $Id: fileselection.h,v 1.3 2005/11/28 16:25:34 jcsjcs Exp $
 */
 
 /***************************************************************************
@@ -41,6 +41,7 @@
 
 void create_add_files_dialog(void);
 void create_add_playlists_dialog(void);
+gchar *fileselection_get_cover_filename(void);
 
 /* dirbrowser */
 void dirbrowser_block (void);

Modified: gtkpod/trunk/src/info.c
===================================================================
--- gtkpod/trunk/src/info.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/info.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-05 23:43:58 jcs>
+/* Time-stamp: <2005-11-25 23:52:12 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: info.c,v 1.31 2005/06/05 14:48:37 jcsjcs Exp $
+|  $Id: info.c,v 1.34 2005/11/26 13:44:41 jcsjcs Exp $
 */
 
 /* This file provides functions for the info window as well as for the
@@ -94,7 +94,7 @@
 
     g_return_if_fail (info_window);
     g_return_if_fail (w_name);
-    w = glade_xml_get_widget (info_xml, w_name);
+    w = gtkpod_xml_get_widget (info_xml, w_name);
     if (w)
     {
 	gchar *str = g_strdup_printf ("%u", nr);
@@ -109,7 +109,7 @@
 
     g_return_if_fail (info_window);
     g_return_if_fail (w_name);
-    w = glade_xml_get_widget (info_xml, w_name);
+    w = gtkpod_xml_get_widget (info_xml, w_name);
     if (w)
     {
 	gchar *str = g_strdup_printf ("%u:%02u:%02u",
@@ -127,7 +127,7 @@
 
     g_return_if_fail (info_window);
     g_return_if_fail (w_name);
-    w = glade_xml_get_widget (info_xml, w_name);
+    w = gtkpod_xml_get_widget (info_xml, w_name);
     if (w)
     {
 	gchar *str = get_filesize_as_string (size);
@@ -142,7 +142,7 @@
 
     g_return_if_fail (info_window);
     g_return_if_fail (w_name);
-    w = glade_xml_get_widget (info_xml, w_name);
+    w = gtkpod_xml_get_widget (info_xml, w_name);
     if (w)
     {
 	gtk_label_set_text (GTK_LABEL (w), str);
@@ -162,7 +162,7 @@
     
     info_xml = glade_xml_new (xml_file, "gtkpod_info", NULL);
     glade_xml_signal_autoconnect (info_xml);
-    info_window = glade_xml_get_widget (info_xml, "gtkpod_info");
+    info_window = gtkpod_xml_get_widget (info_xml, "gtkpod_info");
     
     if (info_window)
     {
@@ -394,7 +394,7 @@
 void
 gtkpod_statusbar_init(void)
 {
-    gtkpod_statusbar = glade_xml_get_widget (main_window_xml, "gtkpod_status");
+    gtkpod_statusbar = gtkpod_xml_get_widget (main_window_xml, "gtkpod_status");
 }
 
 static gint
@@ -440,7 +440,7 @@
 gtkpod_tracks_statusbar_init()
 {
     gtkpod_tracks_statusbar =
-	glade_xml_get_widget (main_window_xml, "tracks_statusbar");
+	gtkpod_xml_get_widget (main_window_xml, "tracks_statusbar");
     gtkpod_tracks_statusbar_update();
 }
 
@@ -685,11 +685,18 @@
 /* keep space_ipod_free/used updated in regular intervals */
 static gpointer th_space_thread (gpointer gp)
 {
+    struct timespec req;
+
+    req.tv_sec = SPACE_TIMEOUT / 1000;
+    req.tv_nsec = (SPACE_TIMEOUT % 1000) * 1000000;
+
     for (;;)
     {
-	usleep (SPACE_TIMEOUT*1000);
+	nanosleep (&req, NULL);
 	if (!space_uptodate)   th_space_update ();
     }
+    /* To make gcc happy (never reached) */
+    return (gpointer)NULL;
 }
 
 
@@ -797,7 +804,7 @@
 void
 gtkpod_space_statusbar_init(void)
 {
-    gtkpod_space_statusbar = glade_xml_get_widget (main_window_xml, "space_statusbar");
+    gtkpod_space_statusbar = gtkpod_xml_get_widget (main_window_xml, "space_statusbar");
 
     if (!space_mutex)
     {

Modified: gtkpod/trunk/src/info.h
===================================================================
--- gtkpod/trunk/src/info.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/info.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:25:30 jcs>
+/* Time-stamp: <2005-09-18 22:59:43 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 | 
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: info.h,v 1.10 2005/06/17 13:30:03 jcsjcs Exp $
+|  $Id: info.h,v 1.11 2005/09/20 09:50:13 jcsjcs Exp $
 */
 
 #ifndef __INFO_H__
@@ -57,7 +57,7 @@
 void gtkpod_tracks_statusbar_update(void);
 
 /* space stuff */
-#define SPACE_TIMEOUT 4000
+#define SPACE_TIMEOUT 4000   /* update interval in ms */
 void space_set_ipod_mount (const gchar *mp);
 void space_data_update (void);
 gboolean ipod_connected (void);

Modified: gtkpod/trunk/src/itdb.h
===================================================================
--- gtkpod/trunk/src/itdb.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/itdb.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:25:30 jcs>
+/* Time-stamp: <2005-11-27 15:52:33 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -30,485 +30,21 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: itdb.h,v 1.15 2005/06/17 13:30:03 jcsjcs Exp $
+|  $Id: itdb.h,v 1.18 2005/11/28 16:25:34 jcsjcs Exp $
 */
 
-#ifndef __ITUNESDB_H__
-#define __ITUNESDB_H__
+#ifndef ITDB_H
+#define ITDB_H
 
 #ifdef HAVE_CONFIG_H
 #  include <config.h>
 #endif
 
-#include <time.h>
-#include <glib.h>
+#include <gpod/itdb.h>
 
-/* We instruct itunesdb_parse to provide utf8 versions of the strings */
-#define ITUNESDB_PROVIDE_UTF8
-
-enum { /* types for playlist->type */
-    ITDB_PL_TYPE_NORM = 0,       /* normal playlist, visible in iPod */
-    ITDB_PL_TYPE_MPL = 1         /* master playlist, contains all tracks,
-				    not visible in iPod */
-} ItdbPlType;
-
-
-
-/* Most of the knowledge about smart playlists has been provided by
-   Samuel "Otto" Wood (sam dot wood at gmail dot com) who let me dig
-   in his impressive C++ class. Contact him for a complete
-   copy. Further, all enums and #defines below, SPLRule, SPLRules, and
-   SPLPref may also be used under a FreeBSD license. */
-
-#define SPL_STRING_MAXLEN 255
-
-/* Definitions for smart playlists */
-enum { /* types for match_operator */
-    SPLMATCH_AND = 0, /* AND rule - all of the rules must be true in
-			 order for the combined rule to be applied */
-    SPLMATCH_OR = 1   /* OR rule */
-};
-
-/* Limit Types.. like limit playlist to 100 minutes or to 100 songs */
-enum {
-    LIMITTYPE_MINUTES = 0x01,
-    LIMITTYPE_MB      = 0x02,
-    LIMITTYPE_SONGS   = 0x03,
-    LIMITTYPE_HOURS   = 0x04,
-    LIMITTYPE_GB      = 0x05
-};
-
-/* Limit Sorts.. Like which songs to pick when using a limit type
-   Special note: the values for LIMITSORT_LEAST_RECENTLY_ADDED,
-   LIMITSORT_LEAST_OFTEN_PLAYED, LIMITSORT_LEAST_RECENTLY_PLAYED, and
-   LIMITSORT_LOWEST_RATING are really 0x10, 0x14, 0x15, 0x17, with the
-   'limitsort_opposite' flag set.  This is the same value as the
-   "positive" value (i.e. LIMITSORT_LEAST_RECENTLY_ADDED), and is
-   really very terribly awfully weird, so we map the values to iPodDB
-   specific values with the high bit set.
-
-   On writing, we check the high bit and write the limitsort_opposite
-   from that. That way, we don't have to deal with programs using the
-   class needing to set the wrong limit and then make it into the
-   "opposite", which would be frickin' annoying. */
-enum {
-    LIMITSORT_RANDOM = 0x02,
-    LIMITSORT_SONG_NAME = 0x03,
-    LIMITSORT_ALBUM = 0x04,
-    LIMITSORT_ARTIST = 0x05,
-    LIMITSORT_GENRE = 0x07,
-    LIMITSORT_MOST_RECENTLY_ADDED = 0x10,
-    LIMITSORT_LEAST_RECENTLY_ADDED = 0x80000010, /* See note above */
-    LIMITSORT_MOST_OFTEN_PLAYED = 0x14,
-    LIMITSORT_LEAST_OFTEN_PLAYED = 0x80000014,   /* See note above */
-    LIMITSORT_MOST_RECENTLY_PLAYED = 0x15,
-    LIMITSORT_LEAST_RECENTLY_PLAYED = 0x80000015,/* See note above */
-    LIMITSORT_HIGHEST_RATING = 0x17,
-    LIMITSORT_LOWEST_RATING = 0x80000017,        /* See note above */
-};
-
-/* Smartlist Actions - Used in the rules.
-Note by Otto (Samuel Wood):
- really this is a bitmapped field...
- high byte
- bit 0 = "string" values if set, "int" values if not set
- bit 1 = "not", or to negate the check.
- lower 2 bytes
- bit 0 = simple "IS" query
- bit 1 = contains
- bit 2 = begins with
- bit 3 = ends with
- bit 4 = greater than
- bit 5 = unknown, but probably greater than or equal to
- bit 6 = less than
- bit 7 = unknown, but probably less than or equal to
- bit 8 = a range selection
- bit 9 = "in the last"
-*/
-typedef enum {
-    SPLACTION_IS_INT = 0x00000001,          /* "Is Set" in iTunes */
-    SPLACTION_IS_GREATER_THAN = 0x00000010, /* "Is After" in iTunes */
-    SPLACTION_IS_LESS_THAN = 0x00000040,    /* "Is Before" in iTunes */
-    SPLACTION_IS_IN_THE_RANGE = 0x00000100,
-    SPLACTION_IS_IN_THE_LAST = 0x00000200,
-
-    SPLACTION_IS_STRING = 0x01000001,
-    SPLACTION_CONTAINS = 0x01000002,
-    SPLACTION_STARTS_WITH = 0x01000004,
-    SPLACTION_ENDS_WITH = 0x01000008,
-
-    SPLACTION_IS_NOT_INT = 0x02000001,     /* "Is Not Set" in iTunes */
-
-    /* Note: Not available in iTunes 4.5 (untested on iPod) */
-    SPLACTION_IS_NOT_GREATER_THAN = 0x02000010,
-    /* Note: Not available in iTunes 4.5 (untested on iPod) */
-    SPLACTION_IS_NOT_LESS_THAN = 0x02000040,
-    /* Note: Not available in iTunes 4.5 (seems to work on iPod) */
-    SPLACTION_IS_NOT_IN_THE_RANGE = 0x02000100,
-
-    SPLACTION_IS_NOT_IN_THE_LAST = 0x02000200,
-    SPLACTION_IS_NOT = 0x03000001,
-    SPLACTION_DOES_NOT_CONTAIN = 0x03000002,
-
-    /* Note: Not available in iTunes 4.5 (seems to work on iPod) */
-    SPLACTION_DOES_NOT_START_WITH = 0x03000004,
-    /* Note: Not available in iTunes 4.5 (seems to work on iPod) */
-    SPLACTION_DOES_NOT_END_WITH = 0x03000008,
-} SPLAction;
-
-typedef enum
-{
-    splft_string = 1,
-    splft_int,
-    splft_boolean,
-    splft_date,
-    splft_playlist,
-    splft_unknown
-} SPLFieldType;
-
-typedef enum
-{
-    splat_string = 1,
-    splat_int,
-    splat_date,
-    splat_range_int,
-    splat_range_date,
-    splat_inthelast,
-    splat_playlist,
-    splat_none,
-    splat_invalid,
-    splat_unknown
-} SPLActionType;
-
-
-/* These are to pass to AddRule() when you need a unit for the two "in
-   the last" action types Or, in theory, you can use any time
-   range... iTunes might not like it, but the iPod shouldn't care. */
-enum {
-    SPLACTION_LAST_DAYS_VALUE = 86400,    /* nr of secs in 24 hours */
-    SPLACTION_LAST_WEEKS_VALUE = 604800,  /* nr of secs in 7 days   */
-    SPLACTION_LAST_MONTHS_VALUE = 2628000,/* nr of secs in 30.4167
-					     days ~= 1 month */
-} ;
-
-#if 0
-// Hey, why limit ourselves to what iTunes can do? If the iPod can deal with it, excellent!
-#define SPLACTION_LAST_HOURS_VALUE		3600		// number of seconds in 1 hour
-#define SPLACTION_LAST_MINUTES_VALUE	60			// number of seconds in 1 minute
-#define SPLACTION_LAST_YEARS_VALUE		31536000 	// number of seconds in 365 days
-
-// fun ones.. Near as I can tell, all of these work. It's open like that. :)
-#define SPLACTION_LAST_LUNARCYCLE_VALUE	2551443		// a "lunar cycle" is the time it takes the moon to circle the earth
-#define SPLACTION_LAST_SIDEREAL_DAY		86164		// a "sidereal day" is time in one revolution of earth on its axis
-#define SPLACTION_LAST_SWATCH_BEAT		86			// a "swatch beat" is 1/1000th of a day.. search for "internet time" on google
-#define SPLACTION_LAST_MOMENT			90			// a "moment" is 1/40th of an hour, or 1.5 minutes
-#define SPLACTION_LAST_OSTENT			600			// an "ostent" is 1/10th of an hour, or 6 minutes
-#define SPLACTION_LAST_FORTNIGHT		1209600 	// a "fortnight" is 14 days
-#define SPLACTION_LAST_VINAL			1728000 	// a "vinal" is 20 days
-#define SPLACTION_LAST_QUARTER			7889231		// a "quarter" is a quarter year
-#define SPLACTION_LAST_SOLAR_YEAR       31556926 	// a "solar year" is the time it takes the earth to go around the sun
-#define SPLACTION_LAST_SIDEREAL_YEAR 	31558150	// a "sidereal year" is the time it takes the earth to reach the same point in space again, compared to the stars
+typedef Itdb_iTunesDB iTunesDB;
+typedef Itdb_Playlist Playlist;
+typedef Itdb_Track Track;
+typedef Itdb_Thumb Thumb;
+typedef Itdb_Artwork Artwork;
 #endif
-
-/* Smartlist fields - Used for rules. */
-typedef enum {
-    SPLFIELD_SONG_NAME = 0x02,    /* String */
-    SPLFIELD_ALBUM = 0x03,        /* String */
-    SPLFIELD_ARTIST = 0x04,       /* String */
-    SPLFIELD_BITRATE = 0x05,      /* Int (e.g. from/to = 128) */
-    SPLFIELD_SAMPLE_RATE = 0x06,  /* Int  (e.g. from/to = 44100) */
-    SPLFIELD_YEAR = 0x07,         /* Int  (e.g. from/to = 2004) */
-    SPLFIELD_GENRE = 0x08,        /* String */
-    SPLFIELD_KIND = 0x09,         /* String */
-    SPLFIELD_DATE_MODIFIED = 0x0a,/* Int/Mac Timestamp (e.g. from/to =
-                                     bcf93280 == is before 6/19/2004)*/
-    SPLFIELD_TRACKNUMBER = 0x0b,  /* Int (e.g. from = 1, to = 2) */
-    SPLFIELD_SIZE = 0x0c,         /* Int (e.g. from/to = 0x00600000
-				     for 6MB) */
-    SPLFIELD_TIME = 0x0d,         /* Int (e.g. from/to = 83999 for
-				     1:23/83 seconds) */
-    SPLFIELD_COMMENT = 0x0e,      /* String */
-    SPLFIELD_DATE_ADDED = 0x10,   /* Int/Mac Timestamp (e.g. from/to =
-                                     bcfa83ff == is after 6/19/2004) */
-    SPLFIELD_COMPOSER = 0x12,     /* String */
-    SPLFIELD_PLAYCOUNT = 0x16,    /* Int  (e.g. from/to = 1) */
-    SPLFIELD_LAST_PLAYED = 0x17,  /* Int/Mac Timestamp (e.g. from =
-                                     bcfa83ff (6/19/2004) to =
-                                     0xbcfbd57f (6/20/2004)) */
-    SPLFIELD_DISC_NUMBER = 0x18,  /* Int  (e.g. from/to = 1) */
-    SPLFIELD_RATING = 0x19,       /* Int/Stars Rating (e.g. from/to =
-                                     60 (3 stars)) */
-    SPLFIELD_COMPILATION = 0x1f,  /* Int (e.g. is set ->
-				     SPLACTION_IS_INT/from=1,
-				     is not set ->
-				     SPLACTION_IS_NOT_INT/from=1) */
-    SPLFIELD_BPM = 0x23,          /* Int  (e.g. from/to = 60) */
-    SPLFIELD_GROUPING = 0x27,     /* String */
-    SPLFIELD_PLAYLIST = 0x28,     /* XXX - Unknown...not parsed
-				     correctly...from/to = 0xb6fbad5f
-				     for * "Purchased Music".  Extra
-				     data after * "to"... */
-} SPLField;
-
-#define SPLDATE_IDENTIFIER (G_GINT64_CONSTANT (0x2dae2dae2dae2daeU))
-
-/* Maximum string length that iTunes writes to the database */
-#define SPL_MAXSTRINGLENGTH 255
-
-typedef struct SPLPref
-{
-    guint8  liveupdate;        /* "live Updating" check box */
-    guint8  checkrules;        /* "Match X of the following
-				  conditions" check box */
-    guint8  checklimits;       /* "Limit To..." check box */
-    guint32 limittype;         /* See types defined above */
-    guint32 limitsort;         /* See types defined above */
-    guint32 limitvalue;        /* The value typed next to "Limit
-				  type" */
-    guint8  matchcheckedonly;  /* "Match only checked songs" check
-				  box */
-} SPLPref;
-
-typedef struct SPLRule
-{
-    guint32 field;
-    guint32 action;
-    gchar *string;             /* data in UTF8  */
-    /* from and to are pretty stupid.. if it's a date type of field,
-       then
-         value = 0x2dae2dae2dae2dae,
-         date = some number, like 2 or -2
-         units = unit in seconds, like 604800 = a week
-       but if this is actually some kind of integer comparison, like
-       rating = 60 (3 stars)
-         value = the value we care about
-	 date = 0
-	 units = 1 */
-    guint64 fromvalue;
-    gint64 fromdate;
-    guint64 fromunits;
-    guint64 tovalue;
-    gint64 todate;
-    guint64 tounits;
-    guint32 unk052;
-    guint32 unk056;
-    guint32 unk060;
-    guint32 unk064;
-    guint32 unk068;
-} SPLRule;
-
-
-typedef struct SPLRules
-{
-    guint32 unk004;
-    guint32 match_operator;  /* "All" (logical AND): SPLMATCH_AND,
-				"Any" (logical OR): SPLMATCH_OR */
-    GList *rules;
-} SPLRules;
-
-
-typedef void (* ItdbUserDataDestroyFunc) (gpointer userdata);
-typedef gpointer (* ItdbUserDataDuplicateFunc) (gpointer userdata);
-
-typedef struct
-{
-    GList *tracks;
-    GList *playlists;
-    gchar *filename;    /* filename of iTunesDB */
-    gchar *mountpoint;  /* mountpoint of iPod (if available) */
-    guint32 version;
-    guint64 id;
-    /* below is for use by application */
-    guint64 usertype;
-    gpointer userdata;
-    /* function called to duplicate userdata */
-    ItdbUserDataDuplicateFunc userdata_duplicate;
-    /* function called to free userdata */
-    ItdbUserDataDestroyFunc userdata_destroy;
-} Itdb_iTunesDB;
-
-
-typedef struct
-{
-    Itdb_iTunesDB *itdb;  /* pointer to iTunesDB (for convenience) */
-    gchar *name;          /* name of playlist in UTF8      */
-    guint32 type;         /* PL_TYPE_MPL: master play list */
-    gint  num;            /* number of tracks in playlist  */
-    GList *members;       /* tracks in playlist (Track *)  */
-    gboolean is_spl;      /* smart playlist?               */
-    guint32 timestamp;    /* some timestamp                */
-    guint64 id;           /* playlist ID                   */
-    guint32 unk036, unk040, unk044;
-    SPLPref splpref;      /* smart playlist prefs          */
-    SPLRules splrules;    /* rules for smart playlists     */
-    /* below is for use by application */
-    guint64 usertype;
-    gpointer userdata;
-    /* function called to duplicate userdata */
-    ItdbUserDataDuplicateFunc userdata_duplicate;
-    /* function called to free userdata */
-    ItdbUserDataDestroyFunc userdata_destroy;
-} Itdb_Playlist;
-
-
-typedef struct
-{
-  Itdb_iTunesDB *itdb;       /* pointer to iTunesDB (for convenience) */
-  gchar   *album;            /* album (utf8)           */
-  gchar   *artist;           /* artist (utf8)          */
-  gchar   *title;            /* title (utf8)           */
-  gchar   *genre;            /* genre (utf8)           */
-  gchar   *comment;          /* comment (utf8)         */
-  gchar   *composer;         /* Composer (utf8)        */
-  gchar   *fdesc;            /* eg. "MP3-File"...(utf8)*/
-  gchar   *grouping;         /* ? (utf8)               */
-  gchar   *ipod_path;        /* name of file on iPod: uses ":"
-				instead of "/"                        */
-  guint32 id;                /* unique ID of track     */
-  gint32  size;              /* size of file in bytes  */
-  gint32  tracklen;          /* Length of track in ms  */
-  gint32  cd_nr;             /* CD number              */
-  gint32  cds;               /* number of CDs          */
-  gint32  track_nr;          /* track number           */
-  gint32  tracks;            /* number of tracks       */
-  gint32  bitrate;           /* bitrate                */
-  guint16 samplerate;        /* samplerate (CD: 44100) */
-  gint32  year;              /* year                   */
-  gint32  volume;            /* volume adjustment              */
-  guint32 soundcheck;        /* volume adjustment "soundcheck" */
-  guint32 time_added;        /* time when added (Mac type)          */
-  guint32 time_played;       /* time of last play (Mac type)        */
-  guint32 time_modified;     /* time of last modification (Mac type)*/
-  guint32 bookmark_time;     /* bookmark set for (AudioBook) in ms  */
-  guint32 rating;            /* star rating (stars * RATING_STEP (20))     */
-  guint32 playcount;         /* number of times track was played    */
-  guint32 recent_playcount;  /* times track was played since last sync     */
-  gboolean transferred;      /* has file been transferred to iPod?  */
-  gint16 BPM;                /* supposed to vary the playback speed */
-  guint8  app_rating;        /* star rating set by appl. (not iPod) */
-  guint16 type;
-  guint8  compilation;
-  guint32 starttime;
-  guint32 stoptime;
-  guint8  checked;
-  guint64 dbid;              /* unique database ID */
-/* present in the mhit but not used by gtkpod yet */
-  guint32 unk020, unk024, unk084, unk100, unk124;
-  guint32 unk128, unk132, unk136, unk140, unk144, unk148, unk152;
-  /* below is for use by application */
-  guint64 usertype;
-  gpointer userdata;
-  /* function called to duplicate userdata */
-  ItdbUserDataDuplicateFunc userdata_duplicate;
-  /* function called to free userdata */
-  ItdbUserDataDestroyFunc userdata_destroy;
-} Itdb_Track;
-/* (gtkpod note: don't forget to add fields read from the file to
- * copy_new_info() in file.c!) */
-
-/* one star is how much (track->rating) */
-#define RATING_STEP 20
-
-
-/* Error codes */
-typedef enum
-{
-    ITDB_FILE_ERROR_SEEK,      /* file corrupt: illegal seek occured */
-    ITDB_FILE_ERROR_CORRUPT,   /* file corrupt   */
-    ITDB_FILE_ERROR_NOTFOUND,  /* file not found */
-    ITDB_FILE_ERROR_RENAME,    /* file could not be renamed    */
-    ITDB_FILE_ERROR_ITDB_CORRUPT /* iTunesDB in memory corrupt */
-} ItdbFileError;
-
-/* make life easier */
-#ifdef ITDB_USE_ABBREV
-    typedef Itdb_iTunesDB iTunesDB;
-    typedef Itdb_Playlist Playlist;
-    typedef Itdb_Track Track;
-#endif
-
-/* Error domain */
-#define ITDB_FILE_ERROR itdb_file_error_quark ()
-GQuark     itdb_file_error_quark      (void);
-
-/* functions for reading/writing database, general itdb functions */
-Itdb_iTunesDB *itdb_parse (const gchar *mp, GError **error);
-Itdb_iTunesDB *itdb_parse_file (const gchar *filename, GError **error);
-gboolean itdb_write (Itdb_iTunesDB *itdb, const gchar *mp, GError **error);
-gboolean itdb_write_file (Itdb_iTunesDB *itdb, const gchar *filename,
-			  GError **error);
-gboolean itdb_shuffle_write (Itdb_iTunesDB *itdb,
-			     const gchar *mp, GError **error);
-gboolean itdb_shuffle_write_file (Itdb_iTunesDB *itdb,
-				  const gchar *filename, GError **error);
-Itdb_iTunesDB *itdb_new (void);
-void itdb_free (Itdb_iTunesDB *itdb);
-iTunesDB *itdb_duplicate (Itdb_iTunesDB *itdb);
-guint32 itdb_tracks_number (Itdb_iTunesDB *itdb);
-guint32 itdb_tracks_number_nontransferred (Itdb_iTunesDB *itdb);
-guint32 itdb_playlists_number (Itdb_iTunesDB *itdb);
-
-/* general file functions */
-gchar * itdb_resolve_path (const gchar *root,
-			   const gchar * const * components);
-gboolean itdb_rename_files (const gchar *mp, GError **error);
-gboolean itdb_cp_track_to_ipod (const gchar *mp, Itdb_Track *track,
-				gchar *filename, GError **error);
-gboolean itdb_cp (const gchar *from_file, const gchar *to_file,
-		  GError **error);
-void itdb_filename_fs2ipod (gchar *filename);
-void itdb_filename_ipod2fs (gchar *ipod_file);
-gchar *itdb_filename_on_ipod (const gchar *mp, Itdb_Track *track);
-
-/* track functions */
-Itdb_Track *itdb_track_new (void);
-void itdb_track_free (Itdb_Track *track);
-void itdb_track_add (Itdb_iTunesDB *itdb, Itdb_Track *track, gint32 pos);
-void itdb_track_remove (Itdb_Track *track);
-void itdb_track_unlink (Itdb_Track *track);
-Itdb_Track *itdb_track_duplicate (Itdb_Track *tr);
-Itdb_Track *itdb_track_by_id (Itdb_iTunesDB *itdb, guint32 id);
-GTree *itdb_track_id_tree_create (Itdb_iTunesDB *itdb);
-void itdb_track_id_tree_destroy (GTree *idtree);
-Itdb_Track *itdb_track_id_tree_by_id (GTree *idtree, guint32 id);
-
-/* playlist functions */
-Itdb_Playlist *itdb_playlist_new (const gchar *title, gboolean spl);
-void itdb_playlist_free (Itdb_Playlist *pl);
-void itdb_playlist_add (Itdb_iTunesDB *itdb, Itdb_Playlist *pl, gint32 pos);
-void itdb_playlist_move (Itdb_Playlist *pl, guint32 pos);
-void itdb_playlist_remove (Itdb_Playlist *pl);
-void itdb_playlist_unlink (Itdb_Playlist *pl);
-Itdb_Playlist *itdb_playlist_duplicate (Itdb_Playlist *pl);
-gboolean itdb_playlist_exists (Itdb_iTunesDB *itdb, Itdb_Playlist *pl);
-void itdb_playlist_add_track (Itdb_Playlist *pl,
-			      Itdb_Track *track, gint32 pos);
-Itdb_Playlist *itdb_playlist_by_id (Itdb_iTunesDB *itdb, guint64 id);
-Itdb_Playlist *itdb_playlist_by_nr (Itdb_iTunesDB *itdb, guint32 num);
-Itdb_Playlist *itdb_playlist_by_name (Itdb_iTunesDB *itdb, gchar *name);
-Itdb_Playlist *itdb_playlist_mpl (Itdb_iTunesDB *itdb);
-gboolean itdb_playlist_contains_track (Itdb_Playlist *pl, Itdb_Track *track);
-guint32 itdb_playlist_contain_track_number (Itdb_Track *tr);
-void itdb_playlist_remove_track (Itdb_Playlist *pl, Itdb_Track *track);
-guint32 itdb_playlist_tracks_number (Itdb_Playlist *pl);
-void itdb_playlist_randomize (Itdb_Playlist *pl);
-
-/* smart playlist functions */
-SPLFieldType itdb_splr_get_field_type (const SPLRule *splr);
-SPLActionType itdb_splr_get_action_type (const SPLRule *splr);
-void itdb_splr_validate (SPLRule *splr);
-void itdb_splr_remove (Itdb_Playlist *pl, SPLRule *splr);
-SPLRule *itdb_splr_new (void);
-void itdb_splr_add (Itdb_Playlist *pl, SPLRule *splr, gint pos);
-SPLRule *itdb_splr_add_new (Itdb_Playlist *pl, gint pos);
-void itdb_spl_copy_rules (Itdb_Playlist *dest, Itdb_Playlist *src);
-gboolean itdb_splr_eval (Itdb_iTunesDB *itdb, SPLRule *splr, Itdb_Track *track);
-void itdb_spl_update (Itdb_iTunesDB *itdb, Itdb_Playlist *spl);
-void itdb_spl_update_all (Itdb_iTunesDB *itdb);
-
-/* time functions */
-guint64 itdb_time_get_mac_time (void);
-time_t itdb_time_mac_to_host (guint64 mactime);
-guint64 itdb_time_host_to_mac (time_t time);
-
-#endif

Deleted: gtkpod/trunk/src/itdb_itunesdb.c
===================================================================
--- gtkpod/trunk/src/itdb_itunesdb.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/itdb_itunesdb.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,3606 +0,0 @@
-/* Time-stamp: <2005-07-16 15:34:41 jcs>
-|
-|  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
-|  Part of the gtkpod project.
-| 
-|  URL: http://www.gtkpod.org/
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  Much of the code in this file has originally been ported from the
-|  perl script "mktunes.pl" (part of the gnupod-tools collection)
-|  written by Adrian Ulrich <pab at blinkenlights.ch>.
-|
-|  gnupod-tools: http://www.blinkenlights.ch/cgi-bin/fm.pl?get=ipod
-|
-|  The code contained in this file is free software; you can redistribute
-|  it and/or modify it under the terms of the GNU Lesser General Public
-|  License as published by the Free Software Foundation; either version
-|  2.1 of the License, or (at your option) any later version.
-|
-|  This file is distributed in the hope that it will be useful,
-|  but WITHOUT ANY WARRANTY; without even the implied warranty of
-|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-|  Lesser General Public License for more details.
-|
-|  You should have received a copy of the GNU Lesser General Public
-|  License along with this code; if not, write to the Free Software
-|  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-|
-|  iTunes and iPod are trademarks of Apple
-|
-|  This product is not supported/written/published by Apple!
-|
-|  $Id: itdb_itunesdb.c,v 1.30 2005/07/16 07:13:50 jcsjcs Exp $
-*/
-
-/* Some notes on how to use the functions in this file:
-
-
-   *** Reading the iTunesDB ***
-
-   Itdb_iTunesDB *itunesdb_parse (gchar *path); /+ path to mountpoint +/
-   will read an Itdb_iTunesDB and pass the data over to your program.
-
-   The information given in the "Play Counts" file is also read if
-   available and the playcounts, star rating and the time last played
-   is updated.
-
-   Itdb_iTunesDB is a structure containing a GList for the tracks and a
-   GList for the playlists.
-
-   For each track these fields are set as follows:
-
-   "transferred" will be set to TRUE because all tracks read from a
-   Itdb_iTunesDB are obviously (or hopefully) already transferred to the
-   iPod.
-
-   "recent_playcount" is for information only (it will allow to
-   generate playlists with tracks played since the last time) and will
-   not be stored to the iPod.
-
-   The master playlist is guaranteed to be the first playlist, and
-   this must not be changed by your code.
-
-
-   *** Writing the Itdb_iTunesDB ***
-
-   gboolean itunesdb_write (gchar *path, Itdb_iTunesDB *itb)
-   /+ @path to mountpoint, itb to @write +/
-   will write an updated version of the Itdb_iTunesDB.
-
-   The "Play Counts" file is renamed to "Play Counts.bak" if it exists
-   to avoid reading it multiple times.
-
-   Please note that non-transferred tracks are not automatically
-   transferred to the iPod. A function
-
-   gboolean itunesdb_copy_track_to_ipod (gchar *path, Itdb_Track *track, gchar *pcfile)
-
-   is provided to help you do that, however.
-
-   The following functions most likely will be useful:
-
-   Itdb_Track *itunesdb_new_track (void);
-   Use itunesdb_new_track() to get an "initialized" track structure
-   (the "unknowns" are initialized with reasonable values).
-
-   gboolean itunesdb_cp (gchar *from_file, gchar *to_file);
-   void itunesdb_convert_filename_fs2ipod(gchar *ipod_file);
-   void itunesdb_convert_filename_ipod2fs(gchar *ipod_file);
-
-   guint32 itunesdb_time_get_mac_time (void);
-   time_t itunesdb_time_mac_to_host (guint32 mactime);
-   guint32 itunesdb_time_host_to_mac (time_t time);
-
-   void itunesdb_rename_files (const gchar *dirname);
-
-   (Renames/removes some files on the iPod (Playcounts, OTG
-   semaphore). Needs to be called if you write the Itdb_iTunesDB not
-   directly to the iPod but to some other location and then manually
-   copy the file from there to the iPod. That's much faster in the
-   case of using an iPod mounted in sync'ed mode.)
-
-   Jorg Schuler, 29.12.2004 */
-
-
-/* call itdb_parse () to read the Itdb_iTunesDB  */
-/* call itdb_write () to write the Itdb_iTunesDB */
-
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <time.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdio.h>
-#include "itdb_private.h"
-#include <glib/gi18n-lib.h>
-
-#define ITUNESDB_DEBUG 0
-#define ITUNESDB_MHIT_DEBUG 0
-
-#define ITUNESDB_COPYBLK 262144      /* blocksize for cp () */
-
-
-enum MHOD_ID {
-  MHOD_ID_TITLE = 1,
-  MHOD_ID_PATH = 2,
-  MHOD_ID_ALBUM = 3,
-  MHOD_ID_ARTIST = 4,
-  MHOD_ID_GENRE = 5,
-  MHOD_ID_FDESC = 6,
-  MHOD_ID_COMMENT = 8,
-  MHOD_ID_COMPOSER = 12,
-  MHOD_ID_GROUPING = 13,
-  MHOD_ID_SPLPREF = 50,  /* settings for smart playlist */
-  MHOD_ID_SPLRULES = 51, /* rules for smart playlist     */
-  MHOD_ID_MHYP = 52,     /* unknown                     */
-  MHOD_ID_PLAYLIST = 100
-};
-
-
-/* ID for error domain */
-GQuark itdb_file_error_quark (void)
-{
-    static GQuark q = 0;
-    if (q == 0)
-	q = g_quark_from_static_string ("itdb-file-error-quark");
-    return q;
-}
-
-/* Get length of utf16 string in number of characters (words) */
-static guint32 utf16_strlen (gunichar2 *utf16)
-{
-  guint32 i=0;
-  if (utf16)
-      while (utf16[i] != 0) ++i;
-  return i;
-}
-
-
-/* Read the contents of @filename and return a FContents
-   struct. Returns NULL in case of error and @error is set
-   accordingly */
-static FContents *fcontents_read (const gchar *fname, GError **error)
-{
-    FContents *cts;
-
-    g_return_val_if_fail (fname, NULL);
-
-    cts = g_new0 (FContents, 1);
-
-    if (g_file_get_contents (fname, &cts->contents, &cts->length, error))
-    {
-	cts->filename = g_strdup (fname);
-    }
-    else
-    {
-	g_free (cts);
-	cts = NULL;
-    }
-    return cts;
-}
-
-
-/* Frees the memory taken by a FContents structure. NULL pointer will
- * be ignored */
-static void fcontents_free (FContents *cts)
-{
-    if (cts)
-    {
-	g_free (cts->filename);
-	g_free (cts->contents);
-	/* must not g_error_free (cts->error) because the error was
-	   propagated -> might free the error twice */
-	g_free (cts);
-    }
-}
-
-
-/* There seems to be a problem with some distributions (kernel
-   versions or whatever -- even identical version numbers don't don't
-   show identical behaviour...): even though vfat is supposed to be
-   case insensitive, a difference is made between upper and lower case
-   under some special circumstances. As in "/iPod_Control/Music/F00"
-   and "/iPod_Control/Music/f00 "... If the former filename does not
-   exist, we try to find an existing case insensitive match for each
-   component of the filename.  If we can find such a match, we return
-   it.  Otherwise, we return NULL.*/
-     
-/* We start by assuming that the ipod mount point exists.  Then, for
- * each component c of track->ipod_path, we try to find an entry d in
- * good_path that is case-insensitively equal to c.  If we find d, we
- * append d to good_path and make the result the new good_path.
- * Otherwise, we quit and return NULL.  @root: in local encoding,
- * @components: in utf8 */
-gchar * itdb_resolve_path (const gchar *root,
-			   const gchar * const * components)
-{
-  gchar *good_path = g_strdup(root);
-  guint32 i;
-
-  if (!root) return NULL;
-
-  for(i = 0 ; components[i] ; i++) {
-    GDir *cur_dir;
-    gchar *component_as_filename;
-    gchar *test_path;
-    gchar *component_stdcase;
-    const gchar *dir_file=NULL;
-
-    /* skip empty components */
-    if (strlen (components[i]) == 0) continue;
-    component_as_filename = 
-      g_filename_from_utf8(components[i],-1,NULL,NULL,NULL);
-    test_path = g_build_filename(good_path,component_as_filename,NULL);
-    g_free(component_as_filename);
-    if(g_file_test(test_path,G_FILE_TEST_EXISTS)) {
-      /* This component does not require fixup */
-      g_free(good_path);
-      good_path = test_path;
-      continue;
-    }
-    g_free(test_path);
-    component_stdcase = g_utf8_casefold(components[i],-1);
-    /* Case insensitively compare the current component with each entry
-     * in the current directory. */
-
-    cur_dir = g_dir_open(good_path,0,NULL);
-    if (cur_dir) while ((dir_file = g_dir_read_name(cur_dir)))
-    {
-	gchar *file_utf8 = g_filename_to_utf8(dir_file,-1,NULL,NULL,NULL);
-	gchar *file_stdcase = g_utf8_casefold(file_utf8,-1);
-	gboolean found = !g_utf8_collate(file_stdcase,component_stdcase);
-	gchar *new_good_path;
-	g_free(file_stdcase);
-	if(!found)
-	{
-	    /* This is not the matching entry */
-	    g_free(file_utf8);
-	    continue;
-	}
-      
-	new_good_path = dir_file ? g_build_filename(good_path,dir_file,NULL) : NULL;
-	g_free(good_path);
-	good_path= new_good_path;
-	/* This is the matching entry, so we can stop searching */
-	break;
-    }
-    
-    if(!dir_file) {
-      /* We never found a matching entry */
-      g_free(good_path);
-      good_path = NULL;
-    }
-
-    g_free(component_stdcase);
-    if (cur_dir) g_dir_close(cur_dir);
-    if(!good_path || !g_file_test(good_path,G_FILE_TEST_EXISTS))
-      break; /* We couldn't fix this component, so don't try later ones */
-  }
-    
-  if(good_path && g_file_test(good_path,G_FILE_TEST_EXISTS))
-    return good_path;
-          
-  return NULL;
-}
-
-
-/* Check if the @seek with length @len is legal or out of
- * range. Returns TRUE if legal and FALSE when it is out of range, in
- * which case cts->error is set as well. */
-static gboolean check_seek (FContents *cts, glong seek, glong len)
-{
-    g_return_val_if_fail (cts, FALSE);
-    g_return_val_if_fail (cts->contents, FALSE);
-
-    if ((seek+len <= cts->length) && (seek >=0))
-    {
-	return TRUE;
-    }
-    else
-    {
-	g_return_val_if_fail (cts->filename, FALSE);
-	g_set_error (&cts->error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_SEEK,
-		     _("Illegal seek to offset %ld (length %ld) in file '%s'."),
-		     seek, len, cts->filename);
-	return FALSE;
-    }
-}
-
-
-/* Copies @len bytes from position @seek in @cts->contents to
-   @data. Returns FALSE on error and sets cts->error accordingly. */
-static gboolean seek_get_n_bytes (FContents *cts, gchar *data,
-			      glong seek, glong len)
-{
-  if (check_seek (cts, seek, len))
-  {
-      memcpy (data, &cts->contents[seek], len);
-      return TRUE;
-  }
-  return FALSE;
-}
-
-/* Compare @n bytes of @cts->contents starting at @seek and
- * @data. Returns TRUE if equal, FALSE if not. Also returns FALSE on
- * error, so you must check cts->error */
-static gboolean cmp_n_bytes_seek (FContents *cts, gchar *data,
-				  glong seek, glong len)
-{
-    if (check_seek (cts, seek, len))
-    {
-	gint i;
-	for (i=0; i<len; ++i)
-	{
-	    if (cts->contents[seek+i] != data[i]) return FALSE;
-	}
-	return TRUE;
-    }
-    return FALSE;
-}
-
-
-/* Returns the 1-byte number stored at position @seek. On error the
- * GError in @cts is set. */
-static guint8 get8int (FContents *cts, glong seek)
-{
-    guint8 n=0;
-
-    if (check_seek (cts, seek, 1))
-    {
-	n = cts->contents[seek];
-    }
-    return n;
-}
-
-
-/* Get the 4-byte-number stored at position "seek" in little endian
-   encoding. On error the GError in @cts is set. */
-static guint32 get32lint (FContents *cts, glong seek)
-{
-    guint32 n=0;
-
-    if (check_seek (cts, seek, 4))
-    {
-	g_return_val_if_fail (cts->contents, 0);
-	memcpy (&n, &cts->contents[seek], 4);
-#       if (G_BYTE_ORDER == G_BIG_ENDIAN)
-	  n = GUINT32_SWAP_LE_BE (n);
-#       endif
-    }
-    return n;
-}
-
-
-/* Get the 4-byte-number stored at position "seek" in big endian
-   encoding. On error the GError in @cts is set. */
-static guint32 get32bint (FContents *cts, glong seek)
-{
-    guint32 n=0;
-
-    if (check_seek (cts, seek, 4))
-    {
-	g_return_val_if_fail (cts->contents, 0);
-	memcpy (&n, &cts->contents[seek], 4);
-#       if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-	  n = GUINT32_SWAP_LE_BE (n);
-#       endif
-    }
-    return n;
-}
-
-/* Get the 8-byte-number stored at position "seek" in little endian
-   encoding. On error the GError in @cts is set. */
-static guint64 get64lint (FContents *cts, glong seek)
-{
-    guint64 n=0;
-
-    if (check_seek (cts, seek, 8))
-    {
-	g_return_val_if_fail (cts->contents, 0);
-	memcpy (&n, &cts->contents[seek], 8);
-#       if (G_BYTE_ORDER == G_BIG_ENDIAN)
-	  n = GUINT64_SWAP_LE_BE (n);
-#       endif
-    }
-    return n;
-}
-
-
-/* Get the 8-byte-number stored at position "seek" in big endian
-   encoding. On error the GError in @cts is set. */
-static guint64 get64bint (FContents *cts, glong seek)
-{
-    guint64 n=0;
-
-    if (check_seek (cts, seek, 8))
-    {
-	g_return_val_if_fail (cts->contents, 0);
-	memcpy (&n, &cts->contents[seek], 8);
-#       if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-	  n = GUINT64_SWAP_LE_BE (n);
-#       endif
-    }
-    return n;
-}
-
-/* Fix little endian UTF16 String to correct byteorder if necessary
- * (all strings in the Itdb_iTunesDB are little endian except for the ones
- * in smart playlists). */
-static gunichar2 *fixup_little_utf16 (gunichar2 *utf16_string)
-{
-#   if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    gint32 i;
-    if (utf16_string)
-    {
-	for(i=0; i<utf16_strlen(utf16_string); i++)
-	{
-	    utf16_string[i] = GUINT16_SWAP_LE_BE (utf16_string[i]);
-	}
-    }
-#   endif
-    return utf16_string;
-}
-
-/* Fix big endian UTF16 String to correct byteorder if necessary (only
- * strings in smart playlists are big endian) */
-static gunichar2 *fixup_big_utf16 (gunichar2 *utf16_string)
-{
-#   if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-    gint32 i;
-    if (utf16_string)
-    {
-	for(i=0; i<utf16_strlen(utf16_string); i++)
-	{
-	    utf16_string[i] = GUINT16_SWAP_LE_BE (utf16_string[i]);
-	}
-    }
-#   endif
-    return utf16_string;
-}
-
-
-#define CHECK_ERROR(imp, val) if (cts->error) { g_propagate_error (&imp->error, cts->error); return (val); }
-
-
-/* get next playcount, that is the first entry of GList
- * playcounts. This entry is removed from the list. You must free the
- * return value after use */
-static struct playcount *playcount_get_next (FImport *fimp)
-{
-    g_return_val_if_fail (fimp, NULL);
-
-    struct playcount *playcount = g_list_nth_data (fimp->playcounts, 0);
-
-    if (playcount)
-	fimp->playcounts = g_list_remove (fimp->playcounts, playcount);
-    return playcount;
-}
-
-/* delete all entries of GList *playcounts */
-static void playcounts_free (FImport *fimp)
-{
-    struct playcount *playcount;
-
-    g_return_if_fail (fimp);
-
-    while ((playcount=playcount_get_next (fimp))) g_free (playcount);
-}
-
-
-/* called by init_playcounts */
-static gboolean playcounts_read (FImport *fimp, FContents *cts)
-{
-    guint32 header_length, entry_length, entry_num, i=0;
-
-    g_return_val_if_fail (fimp, FALSE);
-    g_return_val_if_fail (cts, FALSE);
-
-    if (!cmp_n_bytes_seek (cts, "mhdp", 0, 4))
-    {
-	if (cts->error)
-	{
-	    g_propagate_error (&fimp->error, cts->error);
-	}
-	else
-	{   /* set error */
-	    g_return_val_if_fail (cts->filename, FALSE);
-	    g_set_error (&fimp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_CORRUPT,
-			 _("Not a Play Counts file: '%s' (missing mhdp header)."),
-			 cts->filename);
-	}
-	return FALSE;
-    }
-    header_length = get32lint (cts, 4);
-    CHECK_ERROR (fimp, FALSE);
-    /* all the headers I know are 0x60 long -- if this one is longer
-       we can simply ignore the additional information */
-    if (header_length < 0x60)
-    {
-	g_set_error (&fimp->error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_CORRUPT,
-		     _("Play Counts file ('%s'): header length smaller than expected (%d<96)."),
-		     cts->filename, header_length);
-	return FALSE;
-    }
-    entry_length = get32lint (cts, 8);
-    CHECK_ERROR (fimp, FALSE);
-    /* all the entries I know are 0x0c (firmware 1.3) or 0x10
-     * (firmware 2.0) or 0x14 (iTunesDB version 0x0d) in length */
-    if (entry_length < 0x0c)
-    {
-	g_set_error (&fimp->error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_CORRUPT,
-		     _("Play Counts file ('%s'): entry length smaller than expected (%d<12)."),
-		     cts->filename, entry_length);
-	return FALSE;
-    }
-    /* number of entries */
-    entry_num = get32lint (cts, 12);
-    CHECK_ERROR (fimp, FALSE);
-    for (i=0; i<entry_num; ++i)
-    {
-	struct playcount *playcount = g_new0 (struct playcount, 1);
-	glong seek = header_length + i*entry_length;
-
-	fimp->playcounts = g_list_append (fimp->playcounts, playcount);
-	playcount->playcount = get32lint (cts, seek);
-	CHECK_ERROR (fimp, FALSE);
-	playcount->time_played = get32lint (cts, seek+4);
-	CHECK_ERROR (fimp, FALSE);
-	playcount->bookmark_time = get32lint (cts, seek+8);
-	CHECK_ERROR (fimp, FALSE);
-	/* NOTE:
-	 *
-	 * The iPod (firmware 1.3, 2.0, ...?) doesn't seem to use the
-	 * timezone information correctly -- no matter what you set
-	 * iPod's timezone to, it will always record as if it were set
-	 * to UTC -- we need to subtract the difference between
-	 * current timezone and UTC to get a correct
-	 * display. -- this should be done by the application were
-	 * necessary */
-	
-	/* rating only exists if the entry length is at least 0x10 */
-	if (entry_length >= 0x10)
-	{
-	    playcount->rating = get32lint (cts, seek+12);
-	    CHECK_ERROR (fimp, FALSE);
-	}
-	else
-	{
-	    playcount->rating = NO_PLAYCOUNT;
-	}
-	/* unk16 only exists if the entry length is at least 0x14 */
-	if (entry_length >= 0x14)
-	{
-	    playcount->unk16 = get32lint (cts, seek+16);
-	    CHECK_ERROR (fimp, FALSE);
-	}
-	else
-	{
-	    playcount->unk16 = 0;
-	}
-    }
-    return TRUE;
-}
-
-
-
-/* Read the Play Count file (formed by adding "Play Counts" to the
- * directory component of fimp->itdb->itdb_filename) and set up the
- * GList *playcounts.
- * Returns TRUE on success (also when no Play Count
- * file is found as this is not an error) and FALSE otherwise, in
- * which case fimp->error is set accordingly. */
-static gboolean playcounts_init (FImport *fimp)
-{
-  const gchar *db[] = {"Play Counts", NULL};
-  gchar *plcname, *dirname;
-  gboolean result=FALSE;
-  struct stat filestat;
-  FContents *cts;
-
-  g_return_val_if_fail (fimp, FALSE);
-  g_return_val_if_fail (!fimp->error, FALSE);
-  g_return_val_if_fail (!fimp->playcounts, FALSE);
-  g_return_val_if_fail (fimp->itdb, FALSE);
-  g_return_val_if_fail (fimp->itdb->filename, FALSE);
-
-  dirname = g_path_get_dirname (fimp->itdb->filename);
-
-  plcname = itdb_resolve_path (dirname, db);
-
-  g_free (dirname);
-
-  /* skip if no playcounts file is present */
-  if (!plcname) return TRUE;
-
-  /* skip if playcounts file has zero-length (often happens after
-   * dosfsck) */
-  stat (plcname, &filestat);
-  if (filestat.st_size < 0x60) return TRUE; /* check for header length */
-
-  cts = fcontents_read (plcname, &fimp->error);
-  if (cts)
-  {
-      result = playcounts_read (fimp, cts);
-      fcontents_free (cts);
-  }
-  g_free (plcname);
-  return result;
-}
-
-
-/* Free the memory taken by @fimp. fimp->itdb must be freed separately
- * before calling this function */
-static void itdb_free_fimp (FImport *fimp)
-{
-    if (fimp)
-    {
-	if (fimp->itunesdb)  fcontents_free (fimp->itunesdb);
-	g_list_free (fimp->pos_glist);
-	playcounts_free (fimp);
-	g_free (fimp);
-    }
-}
-
-/* Free the memory taken by @itdb. */
-void itdb_free (Itdb_iTunesDB *itdb)
-{
-    if (itdb)
-    {
-	g_list_foreach (itdb->playlists,
-			(GFunc)(itdb_playlist_free), NULL);
-	g_list_free (itdb->playlists);
-	g_list_foreach (itdb->tracks,
-			(GFunc)(itdb_track_free), NULL);
-	g_list_free (itdb->tracks);
-	g_free (itdb->filename);
-	g_free (itdb->mountpoint);
-	if (itdb->userdata && itdb->userdata_destroy)
-	    (*itdb->userdata_destroy) (itdb->userdata);
-	g_free (itdb);
-    }
-}
-
-/* Free the memory taken by @itdb. */
-iTunesDB *itdb_duplicate (Itdb_iTunesDB *itdb)
-{
-    g_return_val_if_fail (itdb, NULL);
-    g_return_val_if_fail (!itdb->userdata ||
-			  itdb->userdata_duplicate, NULL);
-    /* FIXME: not yet implemented */
-    g_return_val_if_reached (NULL);
-}
-
-/* return number of playlists */
-guint32 itdb_playlists_number (Itdb_iTunesDB *itdb)
-{
-    g_return_val_if_fail (itdb, 0);
-
-    return g_list_length (itdb->playlists);
-}
-
-
-/* return total number of tracks */
-guint32 itdb_tracks_number (Itdb_iTunesDB *itdb)
-{
-    g_return_val_if_fail (itdb, 0);
-
-    return g_list_length (itdb->tracks);
-}
-
-
-guint32 itdb_tracks_number_nontransferred (Itdb_iTunesDB *itdb)
-{
-    guint n = 0;
-    GList *gl;
-    g_return_val_if_fail (itdb, 0);
-
-    for (gl=itdb->tracks; gl; gl=gl->next)
-    {
-	Itdb_Track *track = gl->data;
-	g_return_val_if_fail (track, 0);
-	if (!track->transferred)   ++n;
-    }
-    return n;
-}
-
-
-
-/* Creates a new Itdb_iTunesDB with the unknowns filled in to reasonable
-   values */
-Itdb_iTunesDB *itdb_new (void)
-{
-    GRand *grand = g_rand_new ();
-
-    Itdb_iTunesDB *itdb = g_new0 (Itdb_iTunesDB, 1);
-    itdb->version = 0x09;
-    itdb->id = ((guint64)g_rand_int (grand) << 32) |
-	((guint64)g_rand_int (grand));
-    return itdb;
-}
-
-/* Returns the type of the mhod and the length *ml. *ml is set to -1
- * on error (e.g. because there's no mhod at @seek). */
-/* A return value of -1 and no error set means that no mhod was found
-   at @seek */
-static gint32 get_mhod_type (FContents *cts, glong seek, gint32 *ml)
-{
-    gint32 type = -1;
-
-#if ITUNESDB_DEBUG
-    fprintf(stderr, "get_mhod_type seek: %x\n", (int)seek);
-#endif
-
-    if (ml) *ml = -1;
-
-    if (cmp_n_bytes_seek (cts, "mhod", seek, 4))
-    {
-	guint32 len = get32lint (cts, seek+8);    /* total length */
-	if (cts->error) return -1;
-	if (ml) *ml = len;
-	type = get32lint (cts, seek+12);          /* mhod_id      */
-	if (cts->error) return -1;
-    }
-    return type;
-}
-
-/* Returns a pointer to the data contained in the mhod at position
-   @seek. This can be a simple string or something more complicated as
-   in the case for SPLPREF or SPLRULES. *ml is set to the total length
-   of the mhod (-1 in case of an error), *mty is set to the type of
-   the mhod.
-   On error NULL is returned and cts->error is set appropriately. */
-static void *get_mhod (FContents *cts, gulong mhod_seek,
-		       gint32 *ml, gint32 *mty)
-{
-  gunichar2 *entry_utf16 = NULL;
-  SPLPref *splp = NULL;
-  guint8 limitsort_opposite;
-  void *result = NULL;
-  gint32 xl, len;
-  gint32 header_length;
-  gulong seek;
-
-  g_return_val_if_fail (ml, NULL);
-  g_return_val_if_fail (mty, NULL);
-  g_return_val_if_fail (cts, NULL);
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "get_mhod seek: %ld\n", mhod_seek);
-#endif
-
-  g_return_val_if_fail (cts, NULL);
-
-  *ml = -1;
-
-  g_return_val_if_fail (!cts->error, NULL);
-
-  *mty = get_mhod_type (cts, mhod_seek, &len);
-  if (*mty == -1)
-  {
-      if (!cts->error)
-      {   /* set error */
-	  g_set_error (&cts->error,
-		       ITDB_FILE_ERROR,
-		       ITDB_FILE_ERROR_CORRUPT,
-		       _("iTunesDB corrupt: no MHOD at offset %ld in file '%s'."),
-		       mhod_seek, cts->filename);
-      }
-      return NULL;
-  }
-  header_length = get32lint (cts, mhod_seek+4); /* header length  */
-  if (cts->error) return NULL;
-
-  seek = mhod_seek + header_length;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "ml: %x mty: %x\n", *ml, *mty);
-#endif
-
-  switch ((enum MHOD_ID)*mty)
-  {
-  case MHOD_ID_MHYP:
-      /* this is not yet supported */
-  case MHOD_ID_PLAYLIST:
-      /* return the position indicator */
-      result = (void *)get32lint (cts, mhod_seek+24);
-      if (cts->error) return NULL;
-      break;
-  case MHOD_ID_TITLE:
-  case MHOD_ID_PATH:
-  case MHOD_ID_ALBUM:
-  case MHOD_ID_ARTIST:
-  case MHOD_ID_GENRE:
-  case MHOD_ID_FDESC:
-  case MHOD_ID_COMMENT:
-  case MHOD_ID_COMPOSER:
-  case MHOD_ID_GROUPING:
-      xl = get32lint (cts, seek+4);   /* entry length   */
-      if (cts->error) return NULL;
-      entry_utf16 = g_new0 (gunichar2, (xl+2)/2);
-      if (seek_get_n_bytes (cts, (gchar *)entry_utf16, seek+16, xl))
-      {
-	  result = fixup_little_utf16 (entry_utf16);
-      }
-      else
-      {   /* error */
-	  g_free (entry_utf16);
-	  return NULL;
-      }
-      break;
-  case MHOD_ID_SPLPREF:  /* Settings for smart playlist */
-      splp = g_new0 (SPLPref, 1);
-      splp->liveupdate = get8int (cts, seek);
-      if (cts->error) return NULL;
-      splp->checkrules = get8int (cts, seek+1);
-      if (cts->error) return NULL;
-      splp->checklimits = get8int (cts, seek+2);
-      if (cts->error) return NULL;
-      splp->limittype = get8int (cts, seek+3);
-      if (cts->error) return NULL;
-      splp->limitsort = get8int (cts, seek+4);
-      if (cts->error) return NULL;
-      splp->limitvalue = get32lint (cts, seek+8);
-      if (cts->error) return NULL;
-      splp->matchcheckedonly = get8int (cts, seek+12);
-      if (cts->error) return NULL;
-      limitsort_opposite = get8int (cts, seek+13);
-      if (cts->error) return NULL;
-      /* if the opposite flag is on, set limitsort's high bit -- see
-	 note in itunesdb.h for more info */
-      if (limitsort_opposite)
-	  splp->limitsort |= 0x80000000;
-      result = splp;
-      break;
-  case MHOD_ID_SPLRULES:  /* Rules for smart playlist */
-      if (cmp_n_bytes_seek (cts, "SLst", seek, 4))
-      {
-	  /* !!! for some reason the SLst part is the only part of the
-	     iTunesDB with big-endian encoding, including UTF16
-	     strings */
-	  gint i;
-	  guint32 numrules;
-	  SPLRules *splrs = g_new0 (SPLRules, 1);
-	  splrs->unk004 = get32bint (cts, seek+4);
-	  if (cts->error) return NULL;
-	  numrules = get32bint (cts, seek+8);
-	  if (cts->error) return NULL;
-	  splrs->match_operator = get32bint (cts, seek+12);
-	  if (cts->error) return NULL;
-	  seek += 136;  /* I can't find this value stored in the
-			   iTunesDB :-( */
-	  for (i=0; i<numrules; ++i)
-	  {
-	      guint32 length;
-	      SPLRule *splr = g_new0 (SPLRule, 1);
-	      splr->field = get32bint (cts, seek);
-	      if (cts->error) return NULL;
-	      splr->action = get32bint (cts, seek+4);
-	      if (cts->error) return NULL;
-	      seek += 52;
-	      length = get32bint (cts, seek);
-	      if (cts->error) return NULL;
-	      if (itdb_spl_action_known (splr->action))
-	      {
-		  gint ft = itdb_splr_get_field_type (splr);
-		  if (ft == splft_string)
-		  {
-		      gunichar2 *string_utf16 = g_new0 (gunichar2,
-							(length+2)/2);
-		      if (!seek_get_n_bytes (cts, (gchar *)string_utf16,
-					     seek+4, length))
-		      {
-			  g_free (string_utf16);
-			  g_free (splr);
-			  return NULL;
-		      }
-		      fixup_big_utf16 (string_utf16);
-		      splr->string = g_utf16_to_utf8 (
-			  string_utf16, -1, NULL, NULL, NULL);
-		      g_free (string_utf16);
-		  }
-		  else
-		  {
-		      if (length != 0x44)
-		      {
-			  g_warning (_("Length of smart playlist rule field (%d) not as expected. Trying to continue anyhow.\n"), length);
-		      }
-		      splr->fromvalue = get64bint (cts, seek+4);
-		      if (cts->error) return NULL;
-		      splr->fromdate = get64bint (cts, seek+12);
-		      if (cts->error) return NULL;
-		      splr->fromunits = get64bint (cts, seek+20);
-		      if (cts->error) return NULL;
-		      splr->tovalue = get64bint (cts, seek+28);
-		      if (cts->error) return NULL;
-		      splr->todate = get64bint (cts, seek+36);
-		      if (cts->error) return NULL;
-		      splr->tounits = get64bint (cts, seek+44);
-		      if (cts->error) return NULL;
-		      /* SPLFIELD_PLAYLIST seem to use these unknowns*/
-		      splr->unk052 = get32bint (cts, seek+52);
-		      if (cts->error) return NULL;
-		      splr->unk056 = get32bint (cts, seek+56);
-		      if (cts->error) return NULL;
-		      splr->unk060 = get32bint (cts, seek+60);
-		      if (cts->error) return NULL;
-		      splr->unk064 = get32bint (cts, seek+64);
-		      if (cts->error) return NULL;
-		      splr->unk068 = get32bint (cts, seek+68);
-		      if (cts->error) return NULL;
-		  }  
-		  seek += length+4;
-	      }
-	      else
-	      {
-		  g_free (splr);
-		  splr = NULL;
-	      }
-	      if (splr)
-	      {
-		  splrs->rules = g_list_append (splrs->rules, splr);
-	      }
-	  }
-	  result = splrs;
-      }
-      else
-      {
-	  if (!cts->error)
-	      g_warning (_("Did not find SLst hunk as expected. Trying to continue.\n"));
-	  else
-	      return NULL;
-      }
-      break;
-  default:
-      g_warning (_("Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n\n"), *mty);
-      break;
-  }
-  *ml = len;
-  return result;
-}
-
-/* Returns the value of a string type mhod. return the length of the
-   mhod *ml, the mhod type *mty, and a string with the entry (in
-   UTF16). After use you must free the string with g_free(). Returns
-   NULL if no string is avaible. *ml is set to -1 in case of error and
-   cts->error is set appropriately. */
-static gunichar2 *get_mhod_string (FContents *cts, glong seek, gint32 *ml, gint32 *mty)
-{
-    gunichar2 *result = NULL;
-
-    *mty = get_mhod_type (cts, seek, ml);
-    if (cts->error) return NULL;
-
-    if (*ml != -1) switch ((enum MHOD_ID)*mty)
-    {
-    case MHOD_ID_TITLE:
-    case MHOD_ID_PATH:
-    case MHOD_ID_ALBUM:
-    case MHOD_ID_ARTIST:
-    case MHOD_ID_GENRE:
-    case MHOD_ID_FDESC:
-    case MHOD_ID_COMMENT:
-    case MHOD_ID_COMPOSER:
-    case MHOD_ID_GROUPING:
-	result = get_mhod (cts, seek, ml, mty);
-	break;
-    case MHOD_ID_SPLPREF:
-    case MHOD_ID_SPLRULES:
-    case MHOD_ID_MHYP:
-    case MHOD_ID_PLAYLIST:
-	/* these do not have a string entry */
-	break;
-    }
-    return result;
-}
-
-
-
-/* Get a playlist. Returns the position where the next playlist should
-   be. On error -1 is returned and fimp->error is set appropriately. */
-static glong get_playlist (FImport *fimp, glong seek)
-{
-  gint pos_comp (gpointer a, gpointer b)
-      {
-	  return ((gint)a - (gint)b);
-      }
-  gunichar2 *plname_utf16 = NULL;
-  guint32 i, type, tracknum, mhod_num;
-  glong nextseek;
-  guint32 hlen;
-  Itdb_Playlist *plitem = NULL;
-  FContents *cts;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "mhyp seek: %x\n", (int)seek);
-#endif
-  g_return_val_if_fail (fimp, -1);
-  g_return_val_if_fail (fimp->idtree, -1);
-
-  cts = fimp->itunesdb;
-
-  if (!cmp_n_bytes_seek (cts, "mhyp", seek, 4))
-  {
-      if (cts->error)
-	  g_propagate_error (&fimp->error, cts->error);
-      return -1;
-  }
-  hlen = get32lint (cts, seek+4); /* length of header */
-  CHECK_ERROR (fimp, -1);
-  if (hlen == 0)
-  {
-      g_set_error (&fimp->error,
-		   ITDB_FILE_ERROR,
-		   ITDB_FILE_ERROR_CORRUPT,
-		   _("iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."),
-		   seek, cts->filename);
-      return -1;
-  }
-  nextseek = seek + get32lint (cts, seek+8);/* possible begin of next PL */
-  CHECK_ERROR (fimp, -1);
-  mhod_num = get32lint (cts, seek+12); /* number of MHODs we expect */
-  CHECK_ERROR (fimp, -1);
-  tracknum = get32lint (cts, seek+16); /* number of tracks in playlist */
-  CHECK_ERROR (fimp, -1);
-  plitem = itdb_playlist_new (NULL, FALSE);
-  /* Some Playlists have added 256 to their type -- I don't know what
-     it's for, so we just ignore it for now -> & 0xff */
-  plitem->type = get32lint (cts, seek+20) & 0xff;
-  CHECK_ERROR (fimp, -1);
-  plitem->id = get64lint (cts, seek+28);
-  CHECK_ERROR (fimp, -1);
-  plitem->unk036 = get32lint (cts, seek+36);
-  CHECK_ERROR (fimp, -1);
-  plitem->unk040 = get32lint (cts, seek+40);
-  CHECK_ERROR (fimp, -1);
-  plitem->unk044 = get32lint (cts, seek+44);
-  CHECK_ERROR (fimp, -1);
-  for (i=0; i < mhod_num; ++i)
-  {
-      gunichar2 *plname_utf16_maybe;
-      SPLPref *splpref = NULL;
-      SPLRules *splrules = NULL;
-
-      seek += hlen;
-      type = get_mhod_type (cts, seek, &hlen);
-      CHECK_ERROR (fimp, -1);
-      if (hlen != -1) switch ((enum MHOD_ID)type)
-      {
-      case MHOD_ID_PLAYLIST:
-	  /* here we could do something about the playlist settings */
-	  break;
-      case MHOD_ID_TITLE:
-	  plname_utf16_maybe = get_mhod (cts, seek, &hlen, &type);
-	  CHECK_ERROR (fimp, -1);
-	  if (plname_utf16_maybe)
-	  {
-	      /* sometimes there seem to be two mhod TITLE headers */
-	      g_free (plname_utf16);
-	      plname_utf16  = plname_utf16_maybe;
-	  }
-	  break;
-      case MHOD_ID_SPLPREF:
-	  splpref = get_mhod (cts, seek, &hlen, &type);
-	  CHECK_ERROR (fimp, -1);
-	  if (splpref)
-	  {
-	      plitem->is_spl = TRUE;
-	      memcpy (&plitem->splpref, splpref, sizeof (SPLPref));
-	      g_free (splpref);
-	      splpref = NULL;
-	  }
-	  break;
-      case MHOD_ID_SPLRULES:
-	  splrules = get_mhod (cts, seek, &hlen, &type);
-	  CHECK_ERROR (fimp, -1);
-	  if (splrules)
-	  {
-	      plitem->is_spl = TRUE;
-	      memcpy (&plitem->splrules, splrules, sizeof (SPLRules));
-	      g_free (splrules);
-	      splrules = NULL;
-	  }
-	  break;
-      case MHOD_ID_PATH:
-      case MHOD_ID_ALBUM:
-      case MHOD_ID_ARTIST:
-      case MHOD_ID_GENRE:
-      case MHOD_ID_FDESC:
-      case MHOD_ID_COMMENT:
-      case MHOD_ID_COMPOSER:
-      case MHOD_ID_GROUPING:
-	  /* these are not expected here */
-	  break;
-      case MHOD_ID_MHYP:
-	  /* this I don't know how to handle */
-	  break;
-      }
-  }
-
-  if (plname_utf16)
-  {
-      plitem->name = g_utf16_to_utf8 (plname_utf16, -1, NULL, NULL, NULL);
-      g_free (plname_utf16);
-  }
-  else
-  {   /* we did not read a valid mhod TITLE header -> */
-      /* we simply make up our own name */
-      if (plitem->type == ITDB_PL_TYPE_MPL)
-	  plitem->name = _("Master-PL");
-      else
-	  plitem->name = _("Playlist");
-  }
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "pln: %s(%d Itdb_Tracks) \n", plitem->name, (int)tracknum);
-#endif
-
-  /* add new playlist */
-  itdb_playlist_add (fimp->itdb, plitem, -1);
-
-  i=0; /* tracks read */
-  while (i<tracknum)
-  {
-      guint32 len = get32lint (cts, seek+8);
-#if ITUNESDB_DEBUG
-      fprintf(stderr, "  %lx: seeking track %d of %d\n", seek, i+1, (int)tracknum);
-#endif
-      CHECK_ERROR (fimp, -1);
-      /* We read the mhip headers and skip everything else (the mhips
-       * seem to come in pairs: mhip/mhod mhip/mhod ...). */
-      if (cmp_n_bytes_seek (cts, "mhyp", seek, 4))
-      {   /* This cannot be, let's abort... */
-	  g_set_error (&fimp->error,
-		       ITDB_FILE_ERROR,
-		       ITDB_FILE_ERROR_CORRUPT,
-		       _("iTunesDB corrupt: found mhyp at %ld in file '%s'."),
-		       seek, cts->filename);
-	  return -1;
-      }
-      if (cmp_n_bytes_seek (cts, "mhip", seek, 4))
-      {
-#if ITUNESDB_DEBUG
-      fprintf(stderr, "  %lx: mhit\n", seek);
-#endif
-	  Itdb_Track *tr;
-	  gint32 pos = -1;
-	  guint32 posid;
-	  gint32 mhod_type;
-	  gint32 mhod_len;
-	  guint32 mhit_len;
-	  guint32 ref;
-	  mhit_len = get32lint(cts, seek+4);
-	  CHECK_ERROR (fimp, -1);
-	  ref = get32lint(cts, seek+24);
-	  CHECK_ERROR (fimp, -1);
-	  /* the mhod that follows gives us the position in the
-	     playlist (type 100) */
-	  mhod_type = get_mhod_type (cts, seek+mhit_len, NULL);
-	  CHECK_ERROR (fimp, -1);
-	  if (mhod_type == MHOD_ID_PLAYLIST)
-	  {
-	      posid = (guint32)get_mhod (cts, seek+mhit_len,
-					 &mhod_len, &mhod_type);
-	      CHECK_ERROR (fimp, -1);
-	      /* The posids don't have to be in numeric order, but our
-		 database depends on the playlist members being sorted
-		 according to the order they appear in the
-		 playlist. Therefore we need to find out at which
-		 position to insert the track */
-	      fimp->pos_glist = g_list_insert_sorted (
-		  fimp->pos_glist, (gpointer)posid,
-		  (GCompareFunc)pos_comp);
-	      pos = g_list_index (fimp->pos_glist, (gpointer)posid);
-	      /* For performance reasons set pos to -1 if position is
-		 end of list */
-	      if (pos == i) pos = -1;
-	  }
-	  tr = itdb_track_id_tree_by_id (fimp->idtree, ref);
-	  if (tr)
-	  {
-	      itdb_playlist_add_track (plitem, tr, pos);
-	  }
-	  else
-	      g_warning (_("Itdb_Track ID '%d' not found.\n"), ref);
-	  ++i;
-      }
-      CHECK_ERROR (fimp, -1);
-      seek += len;
-  }
-  g_list_free (fimp->pos_glist);
-  fimp->pos_glist = NULL;
-  return nextseek;
-}
-
-
-/* returns a pointer to the next header or -1 on error. fimp->error is
-   set appropriately. If no "mhit" header is found at the location
-   specified, -1 is returned but no error is set. */
-static glong get_mhit (FImport *fimp, glong seek)
-{
-  Itdb_Track *track;
-  gchar *entry_utf8;
-  gunichar2 *entry_utf16;
-  gint32 type, zip;
-  struct playcount *playcount;
-  guint32 i, temp, mhod_nums;
-  FContents *cts;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "get_mhit seek: %x\n", (int)seek);
-#endif
-
-  g_return_val_if_fail (fimp, -1);
-
-  cts = fimp->itunesdb;
-
-  if (!cmp_n_bytes_seek (cts, "mhit", seek, 4))
-  {
-      if (cts->error)
-	  g_propagate_error (&fimp->error, cts->error);
-      return -1;
-  }
-
-  mhod_nums = get32lint (cts, seek+12);
-  CHECK_ERROR (fimp, -1);
-
-  track = itdb_track_new ();
-
-  track->id = get32lint(cts, seek+16);            /* iPod ID          */
-  CHECK_ERROR (fimp, -1);
-  track->unk020 = get32lint (cts, seek+20);
-  CHECK_ERROR (fimp, -1);
-  track->unk024 = get32lint (cts, seek+24);
-  CHECK_ERROR (fimp, -1);
-  temp = get32lint (cts, seek+28);
-  CHECK_ERROR (fimp, -1);
-  track->rating = (temp & 0xff000000) >> 24;      /* rating          */
-  track->compilation = (temp & 0x00ff0000) >> 16;
-  track->type = temp & 0x0000ffff;
-  track->time_added = get32lint(cts, seek+32);    /* time added       */
-  CHECK_ERROR (fimp, -1);
-  track->size = get32lint(cts, seek+36);          /* file size        */
-  CHECK_ERROR (fimp, -1);
-  track->tracklen = get32lint(cts, seek+40);      /* time             */
-  CHECK_ERROR (fimp, -1);
-  track->track_nr = get32lint(cts, seek+44);      /* track number     */
-  CHECK_ERROR (fimp, -1);
-  track->tracks = get32lint(cts, seek+48);        /* nr of tracks     */
-  CHECK_ERROR (fimp, -1);
-  track->year = get32lint(cts, seek+52);          /* year             */
-  CHECK_ERROR (fimp, -1);
-  track->bitrate = get32lint(cts, seek+56);       /* bitrate          */
-  CHECK_ERROR (fimp, -1);
-  track->samplerate = get32lint(cts,seek+60)>>16; /* sample rate      */
-  CHECK_ERROR (fimp, -1);
-  track->volume = get32lint(cts, seek+64);        /* volume adjust    */
-  CHECK_ERROR (fimp, -1);
-  track->starttime = get32lint (cts, seek+68);
-  CHECK_ERROR (fimp, -1);
-  track->stoptime = get32lint (cts, seek+72);
-  CHECK_ERROR (fimp, -1);
-  track->soundcheck = get32lint (cts, seek+76);   /* soundcheck       */
-  CHECK_ERROR (fimp, -1);
-  track->playcount = get32lint (cts, seek+80);    /* playcount        */
-  CHECK_ERROR (fimp, -1);
-  track->unk084 = get32lint (cts, seek+84);
-  CHECK_ERROR (fimp, -1);
-  track->time_played = get32lint(cts, seek+88);   /* last time played */
-  CHECK_ERROR (fimp, -1);
-  track->cd_nr = get32lint(cts, seek+92);         /* CD nr            */
-  CHECK_ERROR (fimp, -1);
-  track->cds = get32lint(cts, seek+96);           /* CD nr of..       */
-  CHECK_ERROR (fimp, -1);
-  track->unk100 = get32lint (cts, seek+100);
-  CHECK_ERROR (fimp, -1);
-  track->time_modified = get32lint(cts, seek+104);/* last mod. time   */
-  CHECK_ERROR (fimp, -1);
-  track->bookmark_time = get32lint (cts, seek+108); /* time bookmarked */
-  CHECK_ERROR (fimp, -1);
-  track->dbid = get64lint (cts, seek+112);
-  CHECK_ERROR (fimp, -1);
-  temp = get32lint (cts, seek+120);
-  CHECK_ERROR (fimp, -1);
-  track->BPM = temp >> 16;
-  track->app_rating = (temp & 0xff00)>> 8;/* The rating set by * the
-					     application, as opposed to
-					     the rating set on the iPod
-					     itself */
-  track->checked = temp & 0xff;           /* Checked/Unchecked: 0/1 */
-  track->unk124 = get32lint (cts, seek+124);
-  CHECK_ERROR (fimp, -1);
-  track->unk128 = get32lint (cts, seek+128);
-  CHECK_ERROR (fimp, -1);
-  track->unk132 = get32lint (cts, seek+132);
-  CHECK_ERROR (fimp, -1);
-  track->unk136 = get32lint (cts, seek+136);
-  CHECK_ERROR (fimp, -1);
-  track->unk140 = get32lint (cts, seek+140);
-  CHECK_ERROR (fimp, -1);
-  track->unk144 = get32lint (cts, seek+144);
-  CHECK_ERROR (fimp, -1);
-  track->unk148 = get32lint (cts, seek+148);
-  CHECK_ERROR (fimp, -1);
-  track->unk152 = get32lint (cts, seek+152);
-  CHECK_ERROR (fimp, -1);
-
-  track->transferred = TRUE;                   /* track is on iPod! */
-
-#if ITUNESDB_MHIT_DEBUG
-time_t time_mac_to_host (guint32 mactime);
-gchar *time_time_to_string (time_t time);
-#define printf_mhit(sk, str)  printf ("%3d: %d (%s)\n", sk, get32lint (file, seek+sk), str);
-#define printf_mhit_time(sk, str) { gchar *buf = time_time_to_string (itunesdb_time_mac_to_host (get32lint (file, seek+sk))); printf ("%3d: %s (%s)\n", sk, buf, str); g_free (buf); }
-  {
-      printf ("\nmhit: seek=%lu\n", seek);
-      printf_mhit (  4, "header size");
-      printf_mhit (  8, "mhit size");
-      printf_mhit ( 12, "nr of mhods");
-      printf_mhit ( 16, "iPod ID");
-      printf_mhit ( 20, "?");
-      printf_mhit ( 24, "?");
-      printf (" 28: %u (type)\n", get32lint (file, seek+28) & 0xffffff);
-      printf (" 28: %u (rating)\n", get32lint (file, seek+28) >> 24);
-      printf_mhit ( 32, "timestamp file");
-      printf_mhit_time ( 32, "timestamp file");
-      printf_mhit ( 36, "size");
-      printf_mhit ( 40, "tracklen (ms)");
-      printf_mhit ( 44, "track_nr");
-      printf_mhit ( 48, "total tracks");
-      printf_mhit ( 52, "year");
-      printf_mhit ( 56, "bitrate");
-      printf_mhit ( 60, "sample rate");
-      printf (" 60: %u (sample rate LSB)\n", get32lint (file, seek+60) & 0xffff);
-      printf (" 60: %u (sample rate HSB)\n", (get32lint (file, seek+60) >> 16));
-      printf_mhit ( 64, "?");
-      printf_mhit ( 68, "?");
-      printf_mhit ( 72, "?");
-      printf_mhit ( 76, "?");
-      printf_mhit ( 80, "playcount");
-      printf_mhit ( 84, "?");
-      printf_mhit ( 88, "last played");
-      printf_mhit_time ( 88, "last played");
-      printf_mhit ( 92, "CD");
-      printf_mhit ( 96, "total CDs");
-      printf_mhit (100, "?");
-      printf_mhit (104, "?");
-      printf_mhit_time (104, "?");
-      printf_mhit (108, "?");
-      printf_mhit (112, "?");
-      printf_mhit (116, "?");
-      printf_mhit (120, "?");
-      printf_mhit (124, "?");
-      printf_mhit (128, "?");
-      printf_mhit (132, "?");
-      printf_mhit (136, "?");
-      printf_mhit (140, "?");
-      printf_mhit (144, "?");
-      printf_mhit (148, "?");
-      printf_mhit (152, "?");
-  }
-#undef printf_mhit_time
-#undef printf_mhit
-#endif
-
-  seek += get32lint (cts, seek+4);             /* 1st mhod starts here! */
-  CHECK_ERROR (fimp, -1);
-
-  for (i=0; i<mhod_nums; ++i)
-  {
-      entry_utf16 = get_mhod_string (cts, seek, &zip, &type);
-      CHECK_ERROR (fimp, -1);
-      if (entry_utf16 != NULL)
-      {
-	  entry_utf8 = g_utf16_to_utf8 (entry_utf16, -1, NULL, NULL, NULL);
-	  switch ((enum MHOD_ID)type)
-	  {
-	  case MHOD_ID_ALBUM:
-	      track->album = entry_utf8;
-	      break;
-	  case MHOD_ID_ARTIST:
-	      track->artist = entry_utf8;
-	      break;
-	  case MHOD_ID_TITLE:
-	      track->title = entry_utf8;
-	      break;
-	  case MHOD_ID_GENRE:
-	      track->genre = entry_utf8;
-	      break;
-	  case MHOD_ID_PATH:
-	      track->ipod_path = entry_utf8;
-	      break;
-	  case MHOD_ID_FDESC:
-	      track->fdesc = entry_utf8;
-	      break;
-	  case MHOD_ID_COMMENT:
-	      track->comment = entry_utf8;
-	      break;
-	  case MHOD_ID_COMPOSER:
-	      track->composer = entry_utf8;
-	      break;
-	  case MHOD_ID_GROUPING:
-	      track->grouping = entry_utf8;
-	      break;
-	  default: /* unknown entry -- discard */
-	      g_free (entry_utf8);
-	      break;
-	  }
-	  g_free (entry_utf16);
-      }
-      seek += zip;
-  }
-
-  playcount = playcount_get_next (fimp);
-  if (playcount)
-  {
-      if (playcount->rating != NO_PLAYCOUNT)
-	  track->rating = playcount->rating;
-	  
-      if (playcount->time_played)
-	  track->time_played = playcount->time_played;
-
-      if (playcount->bookmark_time)
-	  track->bookmark_time = playcount->bookmark_time;
-
-      track->playcount += playcount->playcount;
-      track->recent_playcount = playcount->playcount;
-      g_free (playcount);
-  }
-  itdb_track_add (fimp->itdb, track, -1);
-  return seek;
-}
-
-
-/* Called by read_OTG_playlists(): OTG playlist stored in @cts by
- * adding a new playlist (named @plname) with the tracks specified in
- * @cts. If @plname is NULL, a standard name will be substituted */
-/* Returns FALSE on error, TRUE on success. On error @fimp->error will
- * be set apropriately. */
-static gboolean process_OTG_file (FImport *fimp, FContents *cts,
-				  const gchar *plname)
-{
-    guint32 header_length, entry_length, entry_num;
-
-    g_return_val_if_fail (fimp && cts, FALSE);
-    g_return_val_if_fail (fimp->itdb, FALSE);
-
-    if (!plname) plname = _("OTG Playlist");
-
-    if (!cmp_n_bytes_seek (cts, "mhpo", 0, 4))
-    {
-	if (cts->error)
-	{
-	    g_propagate_error (&fimp->error, cts->error);
-	}
-	else
-	{   /* set error */
-	    g_return_val_if_fail (cts->filename, FALSE);
-	    g_set_error (&fimp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_CORRUPT,
-			 _("Not a OTG playlist file: '%s' (missing mhpo header)."),
-			 cts->filename);
-	}
-	return FALSE;
-    }
-    header_length = get32lint (cts, 4);
-    CHECK_ERROR (fimp, FALSE);
-    /* all the headers I know are 0x14 long -- if this one is
-       longer we can simply ignore the additional information */
-    if (header_length < 0x14)
-    {
-	g_set_error (&fimp->error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_CORRUPT,
-		     _("OTG playlist file ('%s'): header length smaller than expected (%d<20)."),
-		     cts->filename, header_length);
-	return FALSE;
-    }
-    entry_length = get32lint (cts, 8);
-    CHECK_ERROR (fimp, FALSE);
-    /* all the entries I know are 0x04 long */
-    if (entry_length < 0x04)
-    {
-	g_set_error (&fimp->error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_CORRUPT,
-		     _("OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."),
-		     cts->filename, entry_length);
-	return FALSE;
-    }
-    /* number of entries */
-    entry_num = get32lint (cts, 12);
-    CHECK_ERROR (fimp, FALSE);
-
-    if (entry_num > 0)
-    {
-	gint i;
-	Itdb_Playlist *pl;
-
-	pl = itdb_playlist_new (plname, FALSE);
-	/* Add new playlist */
-	itdb_playlist_add (fimp->itdb, pl, -1);
-
-	/* Add items */
-	for (i=0; i<entry_num; ++i)
-	{
-	    Itdb_Track *track;
-	    guint32 num = get32lint (cts,
-				     header_length + entry_length *i);
-	    CHECK_ERROR (fimp, FALSE);
-
-	    track = g_list_nth_data (fimp->itdb->tracks, num);
-	    if (track)
-	    {
-		itdb_playlist_add_track (pl, track, -1);
-	    }
-	    else
-	    {
-		g_set_error (&fimp->error,
-			     ITDB_FILE_ERROR,
-			     ITDB_FILE_ERROR_CORRUPT,
-			     _("OTG playlist file '%s': reference to non-existent track (%d)."),
-			     cts->filename, num);
-		return FALSE;
-	    }
-	}
-    }
-    return TRUE;
-}
-
-
-
-
-/* Add the On-The-Go Playlist(s) to the database */
-/* The OTG-Files are located in the directory given by
-   fimp->itdb->itdb_filename.
-   On error FALSE is returned and fimp->error is set accordingly. */
-static gboolean read_OTG_playlists (FImport *fimp)
-{
-    gchar *db[] = {"OTGPlaylistInfo", NULL};
-    gchar *dirname, *otgname;
-
-    g_return_val_if_fail (fimp, FALSE);
-    g_return_val_if_fail (fimp->itdb, FALSE);
-    g_return_val_if_fail (fimp->itdb->filename, FALSE);
-
-    dirname = g_path_get_dirname (fimp->itdb->filename);
-
-    otgname = itdb_resolve_path (dirname, (const gchar **)db);
-
-
-    /* only parse if "OTGPlaylistInfo" exists */
-    if (otgname)
-    {
-	gchar *filename;
-	gint i=1;
-	do
-	{
-	    db[0] = g_strdup_printf ("OTGPlaylistInfo_%d", i);
-	    filename = itdb_resolve_path (dirname, (const gchar **)db);
-	    g_free (db[0]);
-	    if (filename)
-	    {
-		FContents *cts = fcontents_read (filename, &fimp->error);
-		if (cts)
-		{
-		    gchar *plname = g_strdup_printf (_("OTG Playlist %d"), i);
-		    process_OTG_file (fimp, cts, plname);
-		    g_free (plname);
-		    fcontents_free (cts);
-		}
-		g_free (filename);
-	    }
-	    if (fimp->error) break;
-	    ++i;
-	} while (filename);
-	g_free (otgname);
-    }
-    g_free (dirname);
-    return TRUE;
-}
-
-
-
-static gboolean parse_fimp (FImport *fimp)
-{
-    glong seek=0, pl_mhsd=0;
-    guint32 i, zip, nr_tracks=0, nr_playlists=0;
-    gboolean swapped_mhsd = FALSE;
-    FContents *cts;
-
-    g_return_val_if_fail (fimp, FALSE);
-    g_return_val_if_fail (fimp->itdb, FALSE);
-    g_return_val_if_fail (fimp->itunesdb, FALSE);
-    g_return_val_if_fail (fimp->itunesdb->filename, FALSE);
-
-    cts = fimp->itunesdb;
-
-    if (!cmp_n_bytes_seek (cts, "mhbd", 0, 4))
-    {
-	if (cts->error)
-	{
-	    g_propagate_error (&fimp->error, cts->error);
-	}
-	else
-	{   /* set error */
-	    g_set_error (&fimp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_CORRUPT,
-			 _("Not a iTunesDB: '%s' (missing mhdb header)."),
-			 cts->filename);
-	}
-	return FALSE;
-    }
-    seek = get32lint (cts, 4);
-    CHECK_ERROR (fimp, FALSE);
-    /* all the headers I know are 0x68 long -- if this one is longer
-       we can could simply ignore the additional information */
-    /* Since we only need data from the first 32 bytes, don't complain
-     * unless it's smaller than that */
-    if (seek < 32)
-    {
-	g_set_error (&fimp->error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_CORRUPT,
-		     _("iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). Aborting."),
-		     cts->filename, seek);
-	return FALSE;
-    }
-
-    fimp->itdb->version = get32lint (cts, seek+16);
-    CHECK_ERROR (fimp, FALSE);
-    fimp->itdb->id = get64lint (cts, seek+24);
-    CHECK_ERROR (fimp, FALSE);
-
-    for (;;)
-    {
-	if (cmp_n_bytes_seek (cts, "mhsd", seek, 4))
-	{   /* mhsd header -> determine start of playlists */
-	    guint32 sth;
-	    guint32 len;
-	    len = get32lint (cts, seek+8);
-	    CHECK_ERROR (fimp, FALSE);
-	    sth = get32lint (cts, seek+12);
-	    CHECK_ERROR (fimp, FALSE);
-	    if (sth == 1)
-	    {   /* OK, tracklist, save start of playlists */
-		if (!swapped_mhsd)
-		    pl_mhsd = seek + len;
-	    }
-	    else if (sth == 2)
-	    {   /* bad: these are playlists... switch */
-		if (swapped_mhsd)
-		{ /* already switched once -> forget it */
-		    g_set_error (&fimp->error,
-				 ITDB_FILE_ERROR,
-				 ITDB_FILE_ERROR_CORRUPT,
-				 _("iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up."),
-				 cts->filename);
-		    return FALSE;
-		}
-		else
-		{
-		    pl_mhsd = seek;
-		    seek += len;
-		    swapped_mhsd = TRUE;
-		}
-	    }
-	    else
-	    { /* neither playlist nor track MHSD --> skip it */
-		seek += len;
-	    }
-	}
-	else
-	{   /* if the cmp_n_bytes_seek() failed we must check if it is
-	       because of an error */
-	    CHECK_ERROR (fimp, FALSE);
-	}
-	if (cmp_n_bytes_seek (cts, "mhlt", seek, 4))
-	{   /* mhlt header -> number of tracks */
-	    nr_tracks = get32lint (cts, seek+8);
-	    CHECK_ERROR (fimp, FALSE);
-	    if (nr_tracks == 0)
-	    {   /* no tracks -- skip directly to next mhsd */
-		break;
-	    }
-	}
-	else
-	{   /* if the cmp_n_bytes_seek() failed we must check if it is
-	       because of an error */
-	    CHECK_ERROR (fimp, FALSE);
-	}
-	if (cmp_n_bytes_seek (cts, "mhit", seek, 4))
-	{   /* mhit header -> start of tracks*/
-	    break;
-	}
-	zip = get32lint (cts, seek+4);
-	CHECK_ERROR (fimp, FALSE);
-	if (zip == 0)
-	{
-	    g_set_error (&fimp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_CORRUPT,
-			 _("iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."),
-			 seek, cts->filename);
-	    return FALSE;
-	}
-	seek += zip;
-    }
-    /* now we should be at the first MHIT */
-
-    /* get every file entry */
-    for (i=0; i<nr_tracks; ++i)
-    {
-	seek = get_mhit (fimp, seek);
-	if (fimp->error)  return FALSE;
-	if (seek == -1)
-	{   /* this should not be -- issue warning */
-	    g_warning (_("iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. Trying to continue.\n"));
-	    break;
-	}
-    }
-
-    /* next: playlists */
-    seek = pl_mhsd;
-    for (;;)
-    {   /* this is all a bit of magic to make sure we can handle
-	   slightly "off-standard" iTunesDBs as well. Normally we
-	   would expect hunks in the following order: <mhsd type 2>,
-	   <mhlp> containing the number of playlists, <mhyp>: first
-	   playlist header. Here we just scan everything until we find
-	   the first <mhyp> ignoring everything we don't know. */
-	zip = get32lint (cts, seek+4);
-	if (zip == 0)
-	{
-	    g_set_error (&fimp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_CORRUPT,
-			 _("iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."),
-			 seek, cts->filename);
-	    return FALSE;
-	}
-	CHECK_ERROR (fimp, FALSE);
-	if (cmp_n_bytes_seek (cts, "mhsd", seek, 4))
-	{   /* We just check if it's actually a playlist mhsd (type=2)
-	       or not (type = 1, should not be...) */
-	    guint32 len = get32lint (cts, seek+8);
-	    CHECK_ERROR (fimp, FALSE);
-	    guint32 type = get32lint (cts, seek+12);
-	    CHECK_ERROR (fimp, FALSE);
-	    if (type != 2)
-	    {  /* this is not a playlist MHSD -> skip it */
-		seek += len;
-		continue;
-	    }
-	    else
-	    {   /* jump to next hunk */
-		seek += zip;
-		continue;
-	    }
-	}
-	else
-	{
-	    CHECK_ERROR (fimp, FALSE);
-	}
-	if (cmp_n_bytes_seek (cts, "mhlp", seek, 4))
-	{ /* mhlp header -> number of playlists */
-	    nr_playlists = get32lint (cts, seek+8);
-	    CHECK_ERROR (fimp, FALSE);
-	    seek += zip;
-	    continue;
-	}
-	else
-	{
-	    CHECK_ERROR (fimp, FALSE);
-	}
-	if (cmp_n_bytes_seek (cts, "mhyp", seek, 4))
-	{ /* mhyp header -> start of playlists */
-	    break;
-	}
-	else
-	{
-	    CHECK_ERROR (fimp, FALSE);
-	}
-	seek += zip;
-    }
-
-#if ITUNESDB_DEBUG
-    fprintf(stderr, "iTunesDB part2 starts at: %x\n", (int)seek);
-#endif
-
-    /* Create track-id tree for quicker track lookup */
-    fimp->idtree = itdb_track_id_tree_create (fimp->itdb);
-    for (i=0; i<nr_playlists; ++i)
-    {
-	seek = get_playlist (fimp, seek);
-	if (fimp->error) return FALSE;
-	if (seek == -1)
-	{   /* this should not be -- issue warning */
-	    g_warning (_("iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. Trying to continue.\n"));
-	    break;
-	}
-    }
-    itdb_track_id_tree_destroy (fimp->idtree);
-    fimp->idtree = NULL;
-
-    return TRUE;
-}
-
-
-/* Parse the Itdb_iTunesDB.
-   Returns a pointer to the Itdb_iTunesDB struct holding the tracks and the
-   playlists.
-   "mp" should point to the mount point of the iPod,
-   e.g. "/media/ipod" and be in local encoding */
-Itdb_iTunesDB *itdb_parse (const gchar *mp, GError **error)
-{
-    gchar *filename;
-    Itdb_iTunesDB *itdb = NULL;
-    const gchar *db[] = {"iPod_Control","iTunes","iTunesDB",NULL};
-
-    filename = itdb_resolve_path (mp, db);
-    if (filename)
-    {
-	itdb = itdb_parse_file (filename, error);
-	if (itdb)
-	{
-	    itdb->mountpoint = g_strdup (mp);
-	}
-	g_free (filename);
-    }
-    else
-    {
-	gchar *str = g_build_filename (mp, db[0], db[1], db[2], db[3], NULL);
-	g_set_error (error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_NOTFOUND,
-		     _("File not found: '%s'."),
-		     str);
-	g_free (str);
-    }
-    return itdb;
-}
-
-
-/* Same as itunesdb_parse(), but filename is specified directly. */
-Itdb_iTunesDB *itdb_parse_file (const gchar *filename, GError **error)
-{
-    FImport *fimp;
-    Itdb_iTunesDB *itdb;
-    gboolean success = FALSE;
-
-    g_return_val_if_fail (filename, NULL);
-
-    fimp = g_new0 (FImport, 1);
-    itdb = itdb_new ();
-    itdb->filename = g_strdup (filename);
-    fimp->itdb = itdb;
-
-    fimp->itunesdb = fcontents_read (filename, error);
-
-    if (fimp->itunesdb)
-    {
-	if (playcounts_init (fimp))
-	{
-	    if (parse_fimp (fimp))
-	    {
-		if (read_OTG_playlists (fimp))
-		{
-		    success = TRUE;
-		}
-	    }
-	}
-    }
-
-    if (!success)
-    {
-	itdb_free (itdb);
-	itdb = NULL;
-	if (fimp->error)
-	    g_propagate_error (error, fimp->error);
-    }
-    itdb_free_fimp (fimp);
-    return itdb;
-}
-
-
-/* up to here we had the functions for reading the iTunesDB               */
-/* ---------------------------------------------------------------------- */
-/* from here on we have the functions for writing the iTunesDB            */
-
-/* Name of the device in utf16 */
-gunichar2 ipod_name[] = { 'g', 't', 'k', 'p', 'o', 'd', 0 };
-
-
-/* will expand @cts when necessary in order to accomodate @len bytes
-   starting at @seek */
-static void wcontents_maybe_expand (WContents *cts, gulong len,
-				    gulong seek)
-{
-    g_return_if_fail (cts);
-
-    while (cts->pos+len > cts->total)
-    {
-	cts->total += WCONTENTS_STEPSIZE;
-	cts->contents = g_realloc (cts->contents, cts->total);
-    }
-}
-
-
-/* Write @data, @n bytes long to position @seek. Will always be
- * successful because glib terminates when out of memory */
-static void put_data_seek (WContents *cts, gchar *data,
-			   gulong len, gulong seek)
-{
-    g_return_if_fail (cts);
-    g_return_if_fail (data);
-
-    if (len != 0)
-    {
-	wcontents_maybe_expand (cts, len, seek);
-
-	memcpy (&cts->contents[seek], data, len);
-	/* adjust end position if necessary */
-	if (seek+len > cts->pos)
-	    cts->pos = seek+len;
-    }
-}
-
-
-
-/* Write @data, @n bytes long to end of @cts. Will always be
- * successful because glib terminates when out of memory */
-static void put_data (WContents *cts, gchar *data, gulong len)
-{
-    g_return_if_fail (cts);
-
-    put_data_seek (cts, data, len, cts->pos);
-}
-
-
-/* Write 1-byte integer @n to @cts */
-static void put8int (WContents *cts, guint8 n)
-{
-    put_data (cts, (gchar *)&n, 1);
-}
-
-
-/* Write 2-byte integer @n to @cts in little endian order. */
-static void put16lint (WContents *cts, guint16 n)
-{
-#   if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    n = GUINT16_SWAP_LE_BE (n);
-#   endif
-    put_data (cts, (gchar *)&n, 2);
-}
-
-
-/* Write 4-byte integer @n to @cts in little endian order. */
-static void put32lint (WContents *cts, guint32 n)
-{
-#   if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    n = GUINT32_SWAP_LE_BE (n);
-#   endif
-    put_data (cts, (gchar *)&n, 4);
-}
-
-
-/* Append @n times 2-byte-long zeros */
-static void put16_n0 (WContents *cts, gulong n)
-{
-    g_return_if_fail (cts);
-
-    if (n>0)
-    {
-	wcontents_maybe_expand (cts, 2*n, cts->pos);
-	memset (&cts->contents[cts->pos], 0, 2*n);
-	cts->pos += 2*n;
-    }
-}
-
-/* Write 3-byte integer @n to @cts in big endian order. */
-static void put24bint (WContents *cts, guint32 n)
-{
-    gchar buf[3] ;
-    buf[0] = (n >> 16) & 0xff ;
-    buf[1] = (n >> 8)  & 0xff ;
-    buf[2] = (n >> 0)  & 0xff ;
-    put_data (cts, buf, 3);
-}
-
-
-/* Write 4-byte integer @n to @cts at position @seek in little
-   endian order. */
-static void put32lint_seek (WContents *cts, guint32 n, gulong seek)
-{
-#   if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    n = GUINT32_SWAP_LE_BE (n);
-#   endif
-    put_data_seek (cts, (gchar *)&n, 4, seek);
-}
-
-
-/* Write 8-byte integer @n to @cts in big little order. */
-static void put64lint (WContents *cts, guint64 n)
-{
-#   if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    n = GUINT64_SWAP_LE_BE (n);
-#   endif
-    put_data (cts, (gchar *)&n, 8);
-}
-
-
-/* Write 4-byte integer @n to @cts in big endian order. */
-static void put32bint (WContents *cts, guint32 n)
-{
-#   if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-    n = GUINT32_SWAP_LE_BE (n);
-#   endif
-    put_data (cts, (gchar *)&n, 4);
-}
-
-
-/* Write 8-byte integer @n to cts in big endian order. */
-static void put64bint (WContents *cts, guint64 n)
-{
-#   if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-    n = GUINT64_SWAP_LE_BE (n);
-#   endif
-    put_data (cts, (gchar *)&n, 8);
-}
-
-
-#if 0
-/* Write 4-byte integer @n to @cts at position @seek in big endian
-   order. */
-static void put32bint_seek (WContents *cts, guint32 n, gulong seek)
-{
-#   if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-    n = GUINT32_SWAP_LE_BE (n);
-#   endif
-    put_data_seek (cts, (gchar *)&n, 4, seek);
-}
-
-/* Write 8-byte integer @n to @cts at position @seek in big endian
-   order. */
-static void put64bint_seek (WContents *cts, guint64 n, gulong seek)
-{
-#   if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-    n = GUINT64_SWAP_LE_BE (n);
-#   endif
-    put_data_seek (cts, (gchar *)&n, 8, seek);
-}
-#endif
-
-
-/* Append @n times 4-byte-long zeros */
-static void put32_n0 (WContents *cts, gulong n)
-{
-    g_return_if_fail (cts);
-
-    if (n>0)
-    {
-	wcontents_maybe_expand (cts, 4*n, cts->pos);
-	memset (&cts->contents[cts->pos], 0, 4*n);
-	cts->pos += 4*n;
-    }
-}
-
-
-
-/* Write out the mhbd header. Size will be written later */
-static void mk_mhbd (FExport *fexp)
-{
-  WContents *cts;
-
-  g_return_if_fail (fexp);
-  g_return_if_fail (fexp->itdb);
-  g_return_if_fail (fexp->itunesdb);
-
-  cts = fexp->itunesdb;
-
-  put_data (cts, "mhbd", 4);
-  put32lint (cts, 104); /* header size */
-  put32lint (cts, -1);  /* size of whole mhdb -- fill in later */
-  put32lint (cts, 1);   /* ? */
-  if (fexp->itdb->version < 0x09) fexp->itdb->version = 0x09;
-  /* Version number: 0x01: iTunes 2
-                     0x02: iTunes 3
-		     0x09: iTunes 4.2
-		     0x0a: iTunes 4.5
-		     0x0b: iTunes 4.7
-		     0x0c: iTunes 4.71/4.8 (required for shuffle)
-                     0x0d: iTunes 4.9 */
-  fexp->itdb->version = 0x0d;
-  put32lint (cts, fexp->itdb->version);
-  put32lint (cts, 2);   /* 2 children (track list and playlist list) */
-  put64lint (cts, fexp->itdb->id);
-  put32lint (cts, 2);   /* ? */
-  put32_n0 (cts, 17);   /* dummy space */
-}
-
-/* Fill in the length of a standard header */
-static void fix_header (WContents *cts, gulong header_seek)
-{
-  put32lint_seek (cts, cts->pos-header_seek, header_seek+8);
-}
-
-
-/* Write out the mhsd header. Size will be written later */
-static void mk_mhsd (FExport *fexp, guint32 type)
-{
-  WContents *cts;
-
-  g_return_if_fail (fexp);
-  g_return_if_fail (fexp->itdb);
-  g_return_if_fail (fexp->itunesdb);
-
-  cts = fexp->itunesdb;
-
-  put_data (cts, "mhsd", 4);
-  put32lint (cts, 96);   /* Headersize */
-  put32lint (cts, -1);   /* size of whole mhsd -- fill in later */
-  put32lint (cts, type); /* type: 1 = track, 2 = playlist */
-  put32_n0 (cts, 20);      /* dummy space */
-}
-
-
-/* Write out the mhlt header. */
-static void mk_mhlt (FExport *fexp, guint32 num)
-{
-  WContents *cts;
-
-  g_return_if_fail (fexp);
-  g_return_if_fail (fexp->itdb);
-  g_return_if_fail (fexp->itunesdb);
-
-  cts = fexp->itunesdb;
-
-  put_data (cts, "mhlt", 4);
-  put32lint (cts, 92);       /* Headersize */
-  put32lint (cts, num);      /* tracks in this itunesdb */
-  put32_n0 (cts, 20);        /* dummy space */
-}
-
-
-/* Write out the mhit header. Size will be written later */
-static void mk_mhit (WContents *cts, Itdb_Track *track)
-{
-  g_return_if_fail (cts);
-  g_return_if_fail (track);
-
-  put_data (cts, "mhit", 4);
-  put32lint (cts, 156);  /* header size */
-  put32lint (cts, -1);   /* size of whole mhit -- fill in later */
-  put32lint (cts, -1);   /* nr of mhods in this mhit -- later   */
-  put32lint (cts, track->id); /* track index number
-					* */
-  put32lint (cts, track->unk020);
-  put32lint (cts, track->unk024);
-  /* rating, compil., type */
-  put32lint (cts, ((guint32)track->rating << 24) |
-	     ((guint32)track->compilation << 16) |
-	     ((guint32)track->type & 0x0000ffff));
-
-  put32lint (cts, track->time_added); /* timestamp             */
-  put32lint (cts, track->size);    /* filesize                  */
-  put32lint (cts, track->tracklen); /* length of track in ms     */
-  put32lint (cts, track->track_nr);/* track number               */
-  put32lint (cts, track->tracks);  /* number of tracks           */
-  put32lint (cts, track->year);    /* the year                   */
-  put32lint (cts, track->bitrate); /* bitrate                    */
-  put32lint (cts, track->samplerate << 16);
-  put32lint (cts, track->volume);  /* volume adjust              */
-  put32lint (cts, track->starttime);
-  put32lint (cts, track->stoptime);
-  put32lint (cts, track->soundcheck);
-  put32lint (cts, track->playcount);/* playcount                 */
-  put32lint (cts, track->unk084);
-  put32lint (cts, track->time_played); /* last time played       */
-  put32lint (cts, track->cd_nr);   /* CD number                  */
-  put32lint (cts, track->cds);     /* number of CDs              */
-  put32lint (cts, track->unk100);
-  put32lint (cts, track->time_modified); /* timestamp            */
-  put32lint (cts, track->bookmark_time);
-  put64lint (cts, track->dbid);
-  if (track->checked)   put8int (cts, 1);
-  else                  put8int (cts, 0);
-  put8int (cts, track->app_rating);
-  put16lint (cts, track->BPM);
-  put32lint (cts, track->unk124);
-  put32lint (cts, track->unk128);
-  put32lint (cts, track->unk132);
-  put32lint (cts, track->unk136);
-  put32lint (cts, track->unk140);
-  put32lint (cts, track->unk144);
-  put32lint (cts, track->unk148);
-  put32lint (cts, track->unk152);
-}
-
-
-/* Fill in the missing items of the mhit header:
-   total size and number of mhods */
-static void fix_mhit (WContents *cts, gulong mhit_seek, guint32 mhod_num)
-{
-  g_return_if_fail (cts);
-
-  /* size of whole mhit */
-  put32lint_seek (cts, cts->pos-mhit_seek, mhit_seek+8);
-  /* nr of mhods */
-  put32lint_seek (cts, mhod_num, mhit_seek+12);
-}
-
-
-/* Write out one mhod header.
-     type: see enum of MHMOD_IDs;
-     data: utf8 string for text items
-           position indicator for MHOD_ID_PLAYLIST
-           SPLPref for MHOD_ID_SPLPREF
-	   SPLRules for MHOD_ID_SPLRULES */
-static void mk_mhod (WContents *cts, enum MHOD_ID type, void *data)
-{
-  g_return_if_fail (cts);
-
-  switch (type)
-  {
-  case MHOD_ID_TITLE:
-  case MHOD_ID_PATH:
-  case MHOD_ID_ALBUM:
-  case MHOD_ID_ARTIST:
-  case MHOD_ID_GENRE:
-  case MHOD_ID_FDESC:
-  case MHOD_ID_COMMENT:
-  case MHOD_ID_COMPOSER:
-  case MHOD_ID_GROUPING:
-      g_return_if_fail (data);
-      {
-	  /* convert to utf16  */
-	  gunichar2 *entry_utf16 = g_utf8_to_utf16 ((gchar *)data, -1,
-						    NULL, NULL, NULL);
-	  guint32 len = utf16_strlen (entry_utf16);
-	  fixup_little_utf16 (entry_utf16);
-	  put_data (cts, "mhod", 4);  /* header                     */
-	  put32lint (cts, 24);        /* size of header             */
-	  put32lint (cts, 2*len+40);  /* size of header + body      */
-	  put32lint (cts, type);      /* type of the entry          */
-	  put32_n0 (cts, 2);            /* unknown                    */
-	  /* end of header, start of data */
-	  put32lint (cts, 1);         /* always 1 for these MHOD_IDs*/
-	  put32lint (cts, 2*len);     /* size of string             */
-	  put32_n0 (cts, 2);          /* unknown                    */
-	  put_data (cts, (gchar *)entry_utf16, 2*len); /* the string */
-	  g_free (entry_utf16);
-      }
-      break;
-  case MHOD_ID_PLAYLIST:
-      put_data (cts, "mhod", 4);  /* header                     */
-      put32lint (cts, 24);        /* size of header             */
-      put32lint (cts, 44);        /* size of header + body      */
-      put32lint (cts, type);      /* type of the entry          */
-      put32_n0 (cts, 2);          /* unknown                    */
-      /* end of header, start of data */
-      put32lint (cts, (guint32)data);/* position of track in playlist */
-      put32_n0 (cts, 4);             /* unknown                    */
-      break;
-  case MHOD_ID_SPLPREF:
-      g_return_if_fail (data);
-      {
-	  SPLPref *splp = data;
-	  put_data (cts, "mhod", 4); /* header                 */
-	  put32lint (cts, 24);       /* size of header         */
-	  put32lint (cts, 96);       /* size of header + body  */
-	  put32lint (cts, type);     /* type of the entry      */
-	  put32_n0 (cts, 2);           /* unknown                */
-	  /* end of header, start of data */
-	  put8int (cts, splp->liveupdate);
-	  put8int (cts, splp->checkrules? 1:0);
-	  put8int (cts, splp->checklimits);
-	  put8int (cts, splp->limittype);
-	  put8int (cts, splp->limitsort & 0xff);
-	  put8int (cts, 0);          /* unknown                */
-	  put8int (cts, 0);          /* unknown                */
-	  put8int (cts, 0);          /* unknown                */
-	  put32lint (cts, splp->limitvalue);
-	  put8int (cts, splp->matchcheckedonly);
-	  /* for the following see note at definitions of limitsort
-	     types in itunesdb.h */
-	  put8int (cts, (splp->limitsort & 0x80000000) ? 1:0);
-	  put8int (cts, 0);          /* unknown                */
-	  put8int (cts, 0);          /* unknown                */
-	  put32_n0 (cts, 14);          /* unknown                */
-      }
-      break;
-  case MHOD_ID_SPLRULES:
-      g_return_if_fail (data);
-      {
-	  SPLRules *splrs = data;
-	  gulong header_seek = cts->pos; /* needed to fix length */
-	  GList *gl;
-	  gint numrules = g_list_length (splrs->rules);
-
-	  put_data (cts, "mhod", 4); /* header                   */
-	  put32lint (cts, 24);       /* size of header           */
-	  put32lint (cts, -1);       /* total length, fix later  */
-	  put32lint (cts, type);     /* type of the entry        */
-	  put32_n0 (cts, 2);           /* unknown                  */
-	  /* end of header, start of data */
-	  /* For some reason this is the only part of the iTunesDB
-	     that uses big endian */
-	  put_data (cts, "SLst", 4);      /* header               */
-	  put32bint (cts, splrs->unk004); /* unknown              */
-	  put32bint (cts, numrules);
-	  put32bint (cts, splrs->match_operator);
-	  put32_n0 (cts, 30);              /* unknown              */
-	  /* end of header, now follow the rules */
-	  for (gl=splrs->rules; gl; gl=gl->next)
-	  {
-	      SPLRule *splr = gl->data;
-	      gint ft;
-	      g_return_if_fail (splr);
-	      ft = itdb_splr_get_field_type (splr);
-/*	      printf ("%p: field: %d ft: %d\n", splr, splr->field, ft);*/
-	      itdb_splr_validate (splr);
-	      put32bint (cts, splr->field);
-	      put32bint (cts, splr->action);
-	      put32_n0 (cts, 11);          /* unknown              */
-	      if (ft == splft_string)
-	      {   /* write string-type rule */
-		  gunichar2 *entry_utf16 =
-		      g_utf8_to_utf16 (splr->string, -1,NULL,NULL,NULL);
-		  gint len = utf16_strlen (entry_utf16);
-		  fixup_big_utf16 (entry_utf16);
-		  put32bint (cts, 2*len); /* length of string     */
-		  put_data (cts, (gchar *)entry_utf16, 2*len);
-		  g_free (entry_utf16);
-	      }
-	      else
-	      {   /* write non-string-type rule */
-		  put32bint (cts, 0x44); /* length of data        */
-		  /* data */
-		  put64bint (cts, splr->fromvalue);
-		  put64bint (cts, splr->fromdate);
-		  put64bint (cts, splr->fromunits);
-		  put64bint (cts, splr->tovalue);
-		  put64bint (cts, splr->todate);
-		  put64bint (cts, splr->tounits);
-		  put32bint (cts, splr->unk052);
-		  put32bint (cts, splr->unk056);
-		  put32bint (cts, splr->unk060);
-		  put32bint (cts, splr->unk064);
-		  put32bint (cts, splr->unk068);
-	      }
-	  }
-	  /* insert length of mhod junk */
-	  fix_header (cts, header_seek);
-      }
-      break;
-  case MHOD_ID_MHYP:
-      g_warning (_("Cannot write mhod of type %d\n"), type);
-      break;
-  }
-}
-
-
-/* Write out the mhlp header. Size will be written later */
-static void mk_mhlp (FExport *fexp)
-{
-  WContents *cts;
-
-  g_return_if_fail (fexp);
-  g_return_if_fail (fexp->itunesdb);
-
-  cts = fexp->itunesdb;
-
-  put_data (cts, "mhlp", 4);       /* header                   */
-  put32lint (cts, 92);             /* size of header           */
-  /* playlists on iPod (including main!) */
-  put32lint (cts, g_list_length (fexp->itdb->playlists));
-  put32_n0 (cts, 20);               /* dummy space              */
-}
-
-
-/* Write out the long MHOD_ID_PLAYLIST mhod header.
-   This seems to be an itunespref thing.. dunno know this
-   but if we set everything to 0, itunes doesn't show any data
-   even if you drag an mp3 to your ipod: nothing is shown, but itunes
-   will copy the file!
-   .. so we create a hardcoded-pref.. this will change in future
-   Seems to be a Preferences mhod, every PL has such a thing
-   FIXME !!! */
-static void mk_long_mhod_id_playlist (FExport *fexp, Itdb_Playlist *pl)
-{
-  WContents *cts;
-
-  g_return_if_fail (fexp);
-  g_return_if_fail (fexp->itunesdb);
-  g_return_if_fail (pl);
-
-  cts = fexp->itunesdb;
-
-  put_data (cts, "mhod", 4);         /* header                   */
-  put32lint (cts, 0x18);             /* size of header  ?        */
-  put32lint (cts, 0x0288);           /* size of header + body    */
-  put32lint (cts, MHOD_ID_PLAYLIST); /* type of the entry        */
-  put32_n0 (cts, 6);
-  put32lint (cts, 0x010084);         /* ? */
-  put32lint (cts, 0x05);             /* ? */
-  put32lint (cts, 0x09);             /* ? */
-  put32lint (cts, 0x03);             /* ? */
-  put32lint (cts, 0x120001);         /* ? */
-  put32_n0 (cts, 3);
-  put32lint (cts, 0xc80002);         /* ? */
-  put32_n0 (cts, 3);
-  put32lint (cts, 0x3c000d);         /* ? */
-  put32_n0 (cts, 3);
-  put32lint (cts, 0x7d0004);         /* ? */
-  put32_n0 (cts, 3);
-  put32lint (cts, 0x7d0003);         /* ? */
-  put32_n0 (cts, 3);
-  put32lint (cts, 0x640008);         /* ? */
-  put32_n0 (cts, 3);
-  put32lint (cts, 0x640017);         /* ? */
-  put32lint (cts, 0x01);             /* bool? (visible? / colums?) */
-  put32_n0 (cts, 2);
-  put32lint (cts, 0x500014);         /* ? */
-  put32lint (cts, 0x01);             /* bool? (visible?) */
-  put32_n0 (cts, 2);
-  put32lint (cts, 0x7d0015);         /* ? */
-  put32lint (cts, 0x01);             /* bool? (visible?) */
-  put32_n0 (cts, 114);
-}
-
-
-
-/* Header for new PL item */
-/* @pos: position in playlist */
-static void mk_mhip (FExport *fexp, guint32 pos, guint32 id)
-{
-  WContents *cts;
-
-  g_return_if_fail (fexp);
-  g_return_if_fail (fexp->itunesdb);
-
-  cts = fexp->itunesdb;
-
-  put_data (cts, "mhip", 4);
-  put32lint (cts, 76);                              /*  4 */
-  put32lint (cts, -1);  /* fill in later */         /*  8 */
-  put32lint (cts, 1);   /* number of children */    /* 12 */
-  put32lint (cts, 0);   /* unknown */               /* 16 */
-  put32lint (cts, 0);   /* unknown */               /* 20 */
-  put32lint (cts, id);  /* id */                    /* 24 */
-  put32_n0 (cts, 12);                               /* 28 */
-}
-
-
-/* Write first mhsd hunk. Return FALSE in case of error and set
- * fexp->error */
-static gboolean write_mhsd_one(FExport *fexp)
-{
-    GList *gl;
-    gulong mhsd_seek;
-    WContents *cts;
-
-    g_return_val_if_fail (fexp, FALSE);
-    g_return_val_if_fail (fexp->itdb, FALSE);
-    g_return_val_if_fail (fexp->itunesdb, FALSE);
-
-    cts = fexp->itunesdb;
-    
-    mhsd_seek = cts->pos;      /* get position of mhsd header  */
-    mk_mhsd (fexp, 1);         /* write header: type 1: tracks */
-    /* write header with nr. of tracks */
-    mk_mhlt (fexp, g_list_length (fexp->itdb->tracks));
-    for (gl=fexp->itdb->tracks; gl; gl=gl->next)  /* Write each track */
-    {
-	Itdb_Track *track = gl->data;
-	guint32 mhod_num = 0;
-	gulong mhit_seek = cts->pos;
-	if (!track)
-	{
-	    g_set_error (&fexp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_ITDB_CORRUPT,
-			 _("Database in memory corrupt (track pointer == NULL). Aborting export."));
-	    return FALSE;
-	}
-	mk_mhit (cts, track);
-	if (track->title && *track->title)
-	{
-	    mk_mhod (cts, MHOD_ID_TITLE, track->title);
-	    ++mhod_num;
-	}
-	if (track->ipod_path && *track->ipod_path)
-	{
-	    mk_mhod (cts, MHOD_ID_PATH, track->ipod_path);
-	    ++mhod_num;
-	}
-	if (track->album && *track->album)
-	{
-	    mk_mhod (cts, MHOD_ID_ALBUM, track->album);
-	    ++mhod_num;
-	}
-	if (track->artist && *track->artist)
-	{
-	    mk_mhod (cts, MHOD_ID_ARTIST, track->artist);
-	    ++mhod_num;
-	}
-	if (track->genre && *track->genre)
-	{
-	    mk_mhod (cts, MHOD_ID_GENRE, track->genre);
-	    ++mhod_num;
-	}
-	if (track->fdesc && *track->fdesc)
-	{
-	    mk_mhod (cts, MHOD_ID_FDESC, track->fdesc);
-	    ++mhod_num;
-	}
-	if (track->comment && *track->comment)
-	{
-	    mk_mhod (cts, MHOD_ID_COMMENT, track->comment);
-	    ++mhod_num;
-	}
-	if (track->composer && *track->composer)
-	{
-	    mk_mhod (cts, MHOD_ID_COMPOSER, track->composer);
-	    ++mhod_num;
-	}
-	if (track->grouping && *track->grouping)
-	{
-	    mk_mhod (cts, MHOD_ID_GROUPING, track->grouping);
-	    ++mhod_num;
-	}
-        /* Fill in the missing items of the mhit header */
-	fix_mhit (cts, mhit_seek, mhod_num);
-    }
-    fix_header (cts, mhsd_seek);
-    return TRUE;
-}
-
-/* corresponds to mk_mhyp */
-/* Return FALSE in case of error and set fexp->error */
-static gboolean write_playlist(FExport *fexp, Itdb_Playlist *pl)
-{
-    GList *gl;
-    gulong mhyp_seek, mhip_seek;
-    guint32 i;
-    WContents *cts;
-
-    g_return_val_if_fail (fexp, FALSE);
-    g_return_val_if_fail (fexp->itdb, FALSE);
-    g_return_val_if_fail (fexp->itunesdb, FALSE);
-    g_return_val_if_fail (pl, FALSE);
-
-    cts = fexp->itunesdb;
-    mhyp_seek = cts->pos;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "Playlist: %s (%d tracks)\n", pl->name, g_list_length (pl->members));
-#endif
-
-    put_data (cts, "mhyp", 4);    /* header                    */
-    put32lint (cts, 108);          /* length		        */
-    put32lint (cts, -1);           /* size -> later             */
-    if (pl->is_spl)
-	put32lint (cts, 4);        /* nr of mhods               */
-    else
-	put32lint (cts, 2);        /* nr of mhods               */
-    /* number of tracks in plist */
-    put32lint (cts, g_list_length (pl->members));
-    put32lint (cts, pl->type);     /* 1 = main, 0 = visible     */
-    put32lint (cts, 0);            /* some timestamp            */
-    put64lint (cts, pl->id);       /* 64 bit ID                 */
-    put32lint (cts, pl->unk036);
-    put32lint (cts, pl->unk040);
-    put32lint (cts, pl->unk044);
-    put32_n0 (cts, 15);            /* ?                         */
-
-    mk_mhod (cts, MHOD_ID_TITLE, pl->name);
-    mk_long_mhod_id_playlist (fexp, pl);
-
-    if (pl->is_spl)
-    {  /* write the smart rules */
-	mk_mhod (cts, MHOD_ID_SPLPREF, &pl->splpref);
-	mk_mhod (cts, MHOD_ID_SPLRULES, &pl->splrules);
-    }
-
-    /* write hard-coded tracks */
-    i=0;
-    for (gl=pl->members; gl; gl=gl->next)
-    {
-	Itdb_Track *track = gl->data;
-	if (!track)
-	{
-	    g_set_error (&fexp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_ITDB_CORRUPT,
-			 _("Database in memory corrupt (track pointer == NULL). Aborting export."));
-	    return FALSE;
-	}
-	mhip_seek = cts->pos;
-	mk_mhip (fexp, i, track->id);
-	mk_mhod (cts, MHOD_ID_PLAYLIST, (void *)i);
-	/* note: with iTunes 4.9 the mhod is counted as a child to
-	   mhip, so we fill have put the total length of the mhip and
-	   mhod into the mhip header */
-	fix_header (cts, mhip_seek);
-	++i;
-    }
-    fix_header (cts, mhyp_seek);
-    return TRUE;
-}
-
-
-
-/* Expects the master playlist to be the first in the list */
-/* Return FALSE in case of error and set fexp->error */
-static gboolean write_mhsd_two(FExport *fexp)
-{
-    GList *gl;
-    glong mhsd_seek;
-    WContents *cts;
-
-    g_return_val_if_fail (fexp, FALSE);
-    g_return_val_if_fail (fexp->itdb, FALSE);
-    g_return_val_if_fail (fexp->itunesdb, FALSE);
-
-    cts = fexp->itunesdb;
-    mhsd_seek = cts->pos;      /* get position of mhsd header */
-    mk_mhsd (fexp, 2);         /* write header: type 2: playlists  */
-    /* write header with nr. of playlists */
-    mk_mhlp (fexp);
-    for(gl=fexp->itdb->playlists; gl; gl=gl->next)
-    {
-	Itdb_Playlist *pl = gl->data;
-	if (!pl)
-	{
-	    g_set_error (&fexp->error,
-			 ITDB_FILE_ERROR,
-			 ITDB_FILE_ERROR_ITDB_CORRUPT,
-			 _("Database in memory corrupt (playlist pointer == NULL). Aborting export."));
-	    return FALSE;
-	}
-	write_playlist (fexp, pl);
-	if (fexp->error)  return FALSE;
-    }
-    fix_header (cts, mhsd_seek);
-    return TRUE;
-}
-
-
-/* create a WContents structure */
-static WContents *wcontents_new (const gchar *filename)
-{
-    WContents *cts;
-
-    g_return_val_if_fail (filename, NULL);
-
-    cts = g_new0 (WContents, 1);
-    cts->filename = g_strdup (filename);
-
-    return cts;
-}
-
-
-/* write the contents of WContents. Return FALSE on error and set
- * cts->error accordingly. */
-static gboolean wcontents_write (WContents *cts)
-{
-    int fd;
-
-    g_return_val_if_fail (cts, FALSE);
-    g_return_val_if_fail (cts->filename, FALSE);
-
-    fd = creat (cts->filename, S_IRWXU|S_IRWXG|S_IRWXO);
-
-    if (fd == -1)
-    {
-	cts->error = g_error_new (G_FILE_ERROR,
-				  g_file_error_from_errno (errno),
-				  _("Opening of '%s' for writing failed."),
-				  cts->filename);
-	return FALSE;
-    }
-    if (cts->contents && cts->pos)
-    {
-	ssize_t written = write (fd, cts->contents, cts->pos);
-	if (written == -1)
-	{
-	    cts->error = g_error_new (G_FILE_ERROR,
-				      g_file_error_from_errno (errno),
-				      _("Writing to '%s' failed."),
-				      cts->filename);
-	    close (fd);
-	    return FALSE;
-	}
-    }
-    fd = close (fd);
-    if (fd == -1)
-    {
-	cts->error = g_error_new (G_FILE_ERROR,
-				  g_file_error_from_errno (errno),
-				  _("Writing to '%s' failed (%s)."),
-				  cts->filename, g_strerror (errno));
-	return FALSE;
-    }
-    return TRUE;
-}
-
-
-/* Free memory associated with WContents @cts */
-static void wcontents_free (WContents *cts)
-{
-    if (cts)
-    {
-	g_free (cts->filename);
-	g_free (cts->contents);
-	/* must not g_error_free (cts->error) because the error was
-	   propagated -> might free the error twice */
-	g_free (cts);
-    }
-}
-
-
-/* reassign the iPod IDs and make sure the itdb->tracks are in the
-   same order as the mpl */
-static void reassign_ids (Itdb_iTunesDB *itdb)
-{
-    guint32 id = 52;
-    GList *gl;
-    Itdb_Playlist *mpl;
-
-    g_return_if_fail (itdb);
-
-    /* copy mpl->members to itdb->tracks to make sure they are in the
-       same order (otherwise On-The-Go Playlists will not show the
-       correct content) */
-    mpl = itdb_playlist_mpl (itdb);
-    g_return_if_fail (mpl);
-    g_return_if_fail (g_list_length (mpl->members) == g_list_length (itdb->tracks));
-    g_list_free (itdb->tracks);
-    itdb->tracks = g_list_copy (mpl->members);
-
-    /* assign unique IDs */
-    for (gl=itdb->tracks; gl; gl=gl->next)
-    {
-	Track *track = gl->data;
-	g_return_if_fail (track);
-	track->id = id++;
-    }
-}
-
-
-
-/* Do the actual writing to the iTunesDB */
-/* If @filename==NULL, itdb->filename is tried */
-gboolean itdb_write_file (Itdb_iTunesDB *itdb, const gchar *filename,
-			  GError **error)
-{
-    FExport *fexp;
-    gulong mhbd_seek = 0;
-    WContents *cts;
-    gboolean result = TRUE;;
-
-    g_return_val_if_fail (itdb, FALSE);
-    g_return_val_if_fail (filename || itdb->filename, FALSE);
-
-    if (!filename) filename = itdb->filename;
-
-    reassign_ids (itdb);
-
-    fexp = g_new0 (FExport, 1);
-    fexp->itdb = itdb;
-    fexp->itunesdb = wcontents_new (filename);
-    cts = fexp->itunesdb;
-
-    mk_mhbd (fexp);
-    if (write_mhsd_one(fexp))
-    {   /* write playlists mhsd */
-	if (write_mhsd_two(fexp))
-	{
-	    fix_header (cts, mhbd_seek);
-	}
-    }
-    if (!fexp->error)
-    {
-	if (!wcontents_write (cts))
-	    g_propagate_error (&fexp->error, cts->error);
-    }
-    if (fexp->error)
-    {
-	g_propagate_error (error, fexp->error);
-	result = FALSE;
-    }
-    wcontents_free (cts);
-    g_free (fexp);
-    if (result == TRUE)
-    {
-	gchar *fn = g_strdup (filename);
-	g_free (itdb->filename);
-	itdb->filename = fn;
-    }
-    return result;
-}
-
-/* Write out an iTunesDB.
-
-   First reassigns unique IDs to all tracks.
-
-   An existing "Play Counts" file is renamed to "Play Counts.bak" if
-   the export was successful.
-
-   An existing "OTGPlaylistInfo" file is removed if the export was
-   successful.
-
-   Returns TRUE on success, FALSE on error, in which case @error is
-   set accordingly.
-
-   @mp must point to the mount point of the iPod, e.g. "/media/ipod" and
-   be in local encoding. If mp==NULL, itdb->mountpoint is tried. */
-gboolean itdb_write (Itdb_iTunesDB *itdb, const gchar *mp, GError **error)
-{
-    gchar *itunes_filename, *itunes_path;
-    const gchar *db[] = {"iPod_Control","iTunes",NULL};
-    gboolean result = FALSE;
-
-    g_return_val_if_fail (itdb, FALSE);
-    g_return_val_if_fail (mp || itdb->mountpoint, FALSE);
-
-    if (!mp) mp = itdb->mountpoint;
-
-    itunes_path = itdb_resolve_path (mp, db);
-    
-    if(!itunes_path)
-    {
-	gchar *str = g_build_filename (mp, db[0], db[1], db[2], NULL);
-	g_set_error (error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_NOTFOUND,
-		     _("Path not found: '%s'."),
-		     str);
-	g_free (str);
-	return FALSE;
-    }
-
-    itunes_filename = g_build_filename (itunes_path, "iTunesDB", NULL);
-
-    result = itdb_write_file (itdb, itunes_filename, error);
-
-    g_free(itunes_filename);
-    g_free(itunes_path);
-
-    if (result == TRUE)
-	result = itdb_rename_files (mp, error);
-
-    if (result == TRUE)
-    {
-	gchar *mnp = g_strdup (mp);
-	g_free (itdb->mountpoint);
-	itdb->mountpoint = mnp;
-    }
-
-    return result;
-}
-
-
-/* from here on we have the functions for writing the iTunesDB          */
-/* -------------------------------------------------------------------- */
-/* up to here we had the functions for writing the iTunesSD             */
-
-/*
-|  Copyright (C) 2005 Jorg Schuler <jcsjcs at users.sourceforge.net>
-|  Part of the gtkpod project.
-|
-|  Based on itunessd.c written by Steve Wahl for gtkpod-0.88:
-|
-|  Copyright 2005 Steve Wahl <steve at pro-ns dot net>
-|
-|  This file contains routines to create the iTunesSD file, as
-|  used by the ipod shuffle.
-|
-|  Like itunesdb.c, it is derived from the perl script "mktunes.pl"
-|  (part of the gnupod-tools collection) written by Adrian
-|  Ulrich <pab at blinkenlights.ch>.
-|
-|  Small(?) portions derived from itunesdb.c, so Jorg Schuler probably
-|  has some copyright ownership in this file as well.
-|
-|  The code contained in this file is free software; you can redistribute
-|  it and/or modify it under the terms of the GNU Lesser General Public
-|  License as published by the Free Software Foundation; either version
-|  2.1 of the License, or (at your option) any later version.
-|
-|  This file is distributed in the hope that it will be useful,
-|  but WITHOUT ANY WARRANTY; without even the implied warranty of
-|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-|  Lesser General Public License for more details.
-|
-|  You should have received a copy of the GNU Lesser General Public
-|  License along with this code; if not, write to the Free Software
-|  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-|
-|  iTunes and iPod are trademarks of Apple
-|
-|  This product is not supported/written/published by Apple!
-|
-*/
-
-/* notes:
-
-  All software currently seems to write iTunesDB as well as iTunesSD
-  on the iPod shuffle.  I assume that reading from the iTunesSD file
-  is not necessary.  The iTunesStats file is different, but I leave
-  that for another day.
-
-  The iTunesSD file format is as follows (taken from WikiPodLinux, feb
-  '05):
-
-    Offset Field         Bytes   Value
-     (hex)               (dec)
-
-  iTunesSD header (occurs once, at beginning of file):
-
-    00      num_songs     3       number of song entries in the file
-
-    03      unknown       3       always(?) 0x010600
-    06      header size   3       size of the header (0x12, 18 bytes)
-    09      unknown       3       possibly zero padding
-
-  iTunesSD song entry format (occurs once for each song)
-
-   000      size of entry 3       always(?) 0x00022e (558 bytes)
-   003      unk1          3       unknown, always(?) 0x5aa501
-   006      starttime     3       Start Time, in 256 ms increments
-                                  e.g. 60s = 0xea (234 dec)
-   009      unk2          3       unknown (always 0?)
-   00C      unk3          3       unknown, some relationship to starttime
-   00F      stoptime      3       Stop Time, also in 256 ms increments.
-                                  Zero means play to end of file.
-   012      unk4          3       Unknown.
-   015      unk5          3       Unknown, but associated with stoptime?
-   018      volume        3       Volume - ranges from 0x00 (-100%) to 0x64
-                                  (0%) to 0xc8 (100%)
-   01B      file_type     3       0x01 = MP3, 0x02 = AAC, 0x04=WAV
-   01E      unk6          3       unknown (always 0x200?)
-   021      filename      522     filename of the song, padded at the end
-                                  with 0's.  Note: forward slashes are used
-                                  here, not colons like in the iTunesDB --
-                                  for example,
-                                  "/iPod_Control/Music/F00/Song.mp3"
-   22B      shuffleflag   1       If this value is 0x00, the song will be
-                                  skipped while the player is in shuffle
-                                  mode.  Any other value will allow it to be
-                                  played in both normal and shuffle modes.
-                                  iTunes 4.7.1 sets this to 0 for audio books.
-   22C      bookmarkflag  1       If this flag is 0x00, the song will not be
-                                  bookmarkable (i.e. its playback position
-                                  won't be saved when switching to a different
-                                  song). Any other value wil make it
-                                  Bookmarkable.  Unlike hard drive based iPods,
-                                  all songs can be marked as bookmarkable,
-                                  not just .m4b and .aa
-   22D      unknownflag   1       unknown, always? 0x00.
-
-All integers in the iTunesSD file are in BIG endian form...
-
-*/
-
-
-/* Write out an iTunesSD for the Shuffle.
-
-   First reassigns unique IDs to all tracks.
-
-   An existing "Play Counts" file is renamed to "Play Counts.bak" if
-   the export was successful.
-
-   An existing "OTGPlaylistInfo" file is removed if the export was
-   successful.
-
-   Returns TRUE on success, FALSE on error, in which case @error is
-   set accordingly.
-
-   @mp must point to the mount point of the iPod, e.g. "/media/ipod" and
-   be in local encoding. If mp==NULL, itdb->mountpoint is tried. */
-
-
-gboolean itdb_shuffle_write (Itdb_iTunesDB *itdb,
-			     const gchar *mp, GError **error)
-{
-    gchar *itunes_filename, *itunes_path;
-    const gchar *db[] = {"iPod_Control","iTunes",NULL};
-    gboolean result = FALSE;
-
-    g_return_val_if_fail (itdb, FALSE);
-    g_return_val_if_fail (mp || itdb->mountpoint, FALSE);
-
-    if (!mp) mp = itdb->mountpoint;
-
-    itunes_path = itdb_resolve_path (mp, db);
-    
-    if(!itunes_path)
-    {
-	gchar *str = g_build_filename (mp, db[0], db[1], db[2], NULL);
-	g_set_error (error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_NOTFOUND,
-		     _("Path not found: '%s'."),
-		     str);
-	g_free (str);
-	return FALSE;
-    }
-
-    itunes_filename = g_build_filename (itunes_path, "iTunesSD", NULL);
-
-    result = itdb_shuffle_write_file (itdb, itunes_filename, error);
-
-    g_free(itunes_filename);
-    g_free(itunes_path);
-
-    if (result == TRUE)
-	result = itdb_rename_files (mp, error);
-
-    if (result == TRUE)
-    {
-	gchar *mnp = g_strdup (mp);
-	g_free (itdb->mountpoint);
-	itdb->mountpoint = mnp;
-    }
-
-    return result;
-}
-
-
-/* Do the actual writing to the iTunesSD */
-/* If @filename cannot be NULL */
-gboolean itdb_shuffle_write_file (Itdb_iTunesDB *itdb,
-				  const gchar *filename, GError **error)
-{
-    FExport *fexp;
-    GList *gl;
-    WContents *cts;
-    gboolean result = TRUE;;
-
-    g_return_val_if_fail (itdb, FALSE);
-    g_return_val_if_fail (filename, FALSE);
-
-    reassign_ids (itdb);
-
-    fexp = g_new0 (FExport, 1);
-    fexp->itdb = itdb;
-    fexp->itunesdb = wcontents_new (filename);
-    cts = fexp->itunesdb;
-
-    put24bint (cts, itdb_tracks_number (itdb));
-    put24bint (cts, 0x010600);
-    put24bint (cts, 0x12);	/* size of header */
-    put24bint (cts, 0x0);	/* padding? */
-    put24bint (cts, 0x0);
-    put24bint (cts, 0x0);
-
-    for (gl=itdb->tracks; gl; gl=gl->next)
-    {
-	gboolean haystack (gchar *fdesc, gchar **desclist)
-	    {
-		gchar **dlp;
-		if (!fdesc || !desclist) return FALSE;
-		for (dlp=desclist; *dlp; ++dlp)
-		{
-		    if (strstr (fdesc, *dlp)) return TRUE;
-		}
-		return FALSE;
-	    }
-	Itdb_Track *tr = gl->data;
-	gchar *path;
-	gunichar2 *path_utf16;
-	guint32 pathlen;
-	gchar *mp3_desc[] = {"MPEG", "MP3", "mpeg", "mp3", NULL};
-	gchar *mp4_desc[] = {"AAC", "MP4", "aac", "mp4", NULL};
-	gchar *wav_desc[] = {"WAV", "wav", NULL};
-
-	g_return_val_if_fail (tr, FALSE);
-
-	put24bint (cts, 0x00022e);
-	put24bint (cts, 0x5aa501);
-	/* starttime is in 256 ms incr. for shuffle */
-	put24bint (cts, tr->starttime / 256);
-	put24bint (cts, 0);
-	put24bint (cts, 0);
-	put24bint (cts, tr->stoptime / 256);
-	put24bint (cts, 0);
-	put24bint (cts, 0);
-	/* track->volume ranges from -255 to +255 */
-	/* we want 0 - 200 */
-	put24bint (cts, ((tr->volume + 255) * 201) / 511);
-
-	/* The next one should be 0x01 for MP3,
-	** 0x02 for AAC, and 0x04 for WAV, but I can't find
-	** a suitable indicator within the track structure? */
-	/* JCS: let's do heuristic on tr->fdesc which would contain
-	   "MPEG audio file", "AAC audio file", "Protected AAC audio
-	   file", "AAC audio book file", "WAV audio file" (or similar
-	   if not written by gtkpod */
-
-	if (haystack (tr->fdesc, mp3_desc))
-	    put24bint (cts, 0x01);
-	else if (haystack (tr->fdesc, mp4_desc))
-	    put24bint (cts, 0x02);
-	else if (haystack (tr->fdesc, wav_desc))
-	    put24bint (cts, 0x04);
-	else
-	    put24bint (cts, 0x01);  /* default to mp3 */
-
-	put24bint (cts, 0x200);
-		
-	/* shuffle uses forward slash separator, not colon */
-	path = g_strdup (tr->ipod_path);
-	itdb_filename_ipod2fs (path);
-	path_utf16 = g_utf8_to_utf16 (path, -1, NULL, NULL, NULL);
-	pathlen = utf16_strlen (path_utf16);
-	if (pathlen > 261) pathlen = 261;
-	fixup_little_utf16 (path_utf16);
-	put_data (cts, (gchar *)path_utf16, 2*pathlen);
-	/* pad to 522 bytes */
-	put16_n0 (cts, 261-pathlen);
-	g_free(path);
-	g_free(path_utf16);
-
-	/* XXX FIXME: should depend on something, not hardcoded */
-	put8int (cts, 0x1); /* song used in shuffle mode */
-	put8int (cts, 0);   /* song will not be bookmarkable */
-	put8int (cts, 0);
-    }
-    if (!fexp->error)
-    {
-	if (!wcontents_write (cts))
-	    g_propagate_error (&fexp->error, cts->error);
-    }
-    if (fexp->error)
-    {
-	g_propagate_error (error, fexp->error);
-	result = FALSE;
-    }
-    wcontents_free (cts);
-    g_free (fexp);
-    return result;
-}
-
-
-
-
-
-
-
-
-
-
-
-/*------------------------------------------------------------------*\
- *                                                                  *
- *                  Other file/filename stuff                       *
- *                                                                  *
-\*------------------------------------------------------------------*/
-
-
-/* (Renames/removes some files on the iPod (Playcounts, OTG
-   semaphore). May have to be called if you write the iTunesDB not
-   directly to the iPod but to some other location and then manually
-   copy the file from there to the iPod. */
-/* Returns FALSE on error and sets @error accordingly */
-gboolean itdb_rename_files (const gchar *mp, GError **error)
-{
-    const gchar *db_itd[] =  {"iPod_Control", "iTunes", NULL};
-    const gchar *db_plc_o[] = {"Play Counts", NULL};
-    const gchar *db_otg[] = {"OTGPlaylistInfo", NULL};
-    gchar *itunesdir;
-    gchar *plcname_o;
-    gchar *plcname_n;
-    gchar *otgname;
-    gboolean result = TRUE;
-
-    itunesdir = itdb_resolve_path (mp, db_itd);
-    if(!itunesdir)
-    {
-	gchar *str = g_build_filename (mp, db_itd[0],
-				       db_itd[1], db_itd[2], NULL);
-	g_set_error (error,
-		     ITDB_FILE_ERROR,
-		     ITDB_FILE_ERROR_NOTFOUND,
-		     _("Path not found: '%s'."),
-		     str);
-	g_free (str);
-	return FALSE;
-    }
-
-
-    plcname_o = itdb_resolve_path (itunesdir, db_plc_o);
-    plcname_n = g_build_filename (itunesdir, 
-					 "Play Counts.bak", NULL);
-    otgname = itdb_resolve_path (itunesdir, db_otg);
-
-    /* rename "Play Counts" to "Play Counts.bak" */
-    if (plcname_o)
-    {
-	if (rename (plcname_o, plcname_n) == -1)
-	{   /* an error occured */
-	    g_set_error (error,
-			 G_FILE_ERROR,
-			 g_file_error_from_errno (errno),
-			 _("Error renaming '%s' to '%s' (%s)."),
-			 plcname_o, plcname_n, g_strerror (errno));
-	    result = FALSE;
-	}
-    }
-
-    /* remove "OTGPlaylistInfo" (the iPod will remove the remaining
-     * files */
-    if (otgname)
-    {
-	if (unlink (otgname) == -1)
-	{
-	    if (error && !*error)
-	    {   /* don't overwrite previous error */
-	    g_set_error (error,
-			 G_FILE_ERROR,
-			 g_file_error_from_errno (errno),
-			 _("Error removing '%s' (%s)."),
-			 otgname, g_strerror (errno));
-	    }
-	    result = FALSE;
-	}
-    }
-
-    g_free (plcname_o);
-    g_free (plcname_n);
-    g_free (otgname);
-    g_free (itunesdir);
-
-    return result;
-}
-
-
-/* Convert string from casual PC file name to iPod iTunesDB format
- * using ':' instead of slashes
- */
-void itdb_filename_fs2ipod (gchar *ipod_file)
-{
-    g_strdelimit (ipod_file, G_DIR_SEPARATOR_S, ':');
-}
-
-/* Convert string from iPod iTunesDB format to casual PC file name
- * using slashes instead of ':'
- */
-void itdb_filename_ipod2fs (gchar *ipod_file)
-{
-    g_strdelimit (ipod_file, ":", G_DIR_SEPARATOR);
-}
-
-
-
-/* Copy one track to the iPod. The PC filename is @filename
-   and is taken literally.
-   @path is the mountpoint of the iPod (in local encoding).
-
-   If @track->transferred is set to TRUE, nothing is done. Upon
-   successful transfer @track->transferred is set to TRUE.
-
-   For storage, the directories "f00 ... f19" will be
-   cycled through.
-
-   The filename is constructed as "gtkpod"<random number> and copied
-   to @track->ipod_path. If this file already exists, <random number>
-   is adjusted until an unused filename is found.
-
-   If @track->ipod_path is already set, this one will be used
-   instead. If a file with this name already exists, it will be
-   overwritten. */
-gboolean itdb_cp_track_to_ipod (const gchar *mp, Itdb_Track *track,
-				gchar *filename, GError **error)
-{
-  static gint dir_num = -1;
-  gchar *track_db_path, *ipod_fullfile;
-  gboolean success;
-  gint mplen = 0;
-
-  g_return_val_if_fail (mp, FALSE);
-  g_return_val_if_fail (track, FALSE);
-  g_return_val_if_fail (filename, FALSE);
-
-  if(track->transferred)  return TRUE; /* nothing to do */ 
-
-  /* If track->ipod_path exists, we use that one instead. */
-  ipod_fullfile = itdb_filename_on_ipod (mp, track);
-
-  if (!ipod_fullfile)
-  {
-      gchar *dest_components[] = {"iPod_Control", "Music",
-				  NULL, NULL, NULL};
-      gchar *parent_dir_filename;
-      gchar *original_suffix;
-      gchar dir_num_str[5];
-      gint32 oops = 0;
-      gint32 rand = g_random_int_range (0, 899999); /* 0 to 900000 */
-
-      if (dir_num == -1) dir_num = g_random_int_range (0, 20);
-      else dir_num = (dir_num + 1) % 20;
-  
-      g_snprintf (dir_num_str, 5, "F%02d", dir_num);
-      dest_components[2] = dir_num_str;
-  
-      parent_dir_filename =
-	  itdb_resolve_path (mp, (const gchar **)dest_components);
-
-      if(parent_dir_filename == NULL)
-      {
-	  /* Can't find the F%02d directory */
-	  gchar *str = g_build_filename (mp, dest_components[0],
-					 dest_components[1],
-					 dest_components[2],
-					 dest_components[3], NULL);
-	  g_set_error (error,
-		       ITDB_FILE_ERROR,
-		       ITDB_FILE_ERROR_NOTFOUND,
-		       _("Path not found: '%s'."),
-		       str);
-	  g_free (str);
-	  return FALSE;
-      }
-
-      /* we need the original suffix of pcfile to construct a correct ipod
-	 filename */
-      original_suffix = strrchr (filename, '.');
-      /* If there is no ".mp3", ".m4a" etc, set original_suffix to empty
-	 string. Note: the iPod will most certainly ignore this file... */
-      if (!original_suffix) original_suffix = "";
-
-      do
-      {   /* we need to loop until we find an unused filename */
-	  dest_components[3] = 
-	      g_strdup_printf("gtkpod%06d%s",
-			      rand + oops, original_suffix);
-	  ipod_fullfile = itdb_resolve_path (
-	      parent_dir_filename,
-	      (const gchar **)&dest_components[3]);
-	  if(ipod_fullfile)
-	  {   /* already exists -- try next */
-              g_free(ipod_fullfile);
-              ipod_fullfile = NULL;
-	  }
-	  else
-	  {   /* found unused file -- build filename */
-	      ipod_fullfile = g_build_filename (parent_dir_filename,
-					        dest_components[3], NULL);
-	  }
-	  g_free (dest_components[3]);
-	  ++oops;
-      } while (!ipod_fullfile);
-      g_free(parent_dir_filename);
-  }
-  /* now extract filepath for track->ipod_path from ipod_fullfile */
-  /* ipod_path must begin with a '/' */
-  mplen = strlen (mp); /* length of mountpoint in bytes */
-  if (ipod_fullfile[mplen] == G_DIR_SEPARATOR)
-  {
-      track_db_path = g_strdup (&ipod_fullfile[mplen]);
-  }
-  else
-  {
-      track_db_path = g_strdup_printf ("%c%s", G_DIR_SEPARATOR,
-				       &ipod_fullfile[mplen]);
-  }
-  /* convert to iPod type */
-  itdb_filename_fs2ipod (track_db_path);
-  
-/* 	printf ("ff: %s\ndb: %s\n", ipod_fullfile, track_db_path); */
-
-  success = itdb_cp (filename, ipod_fullfile, error);
-  if (success)
-  {
-      track->transferred = TRUE;
-      g_free (track->ipod_path);
-      track->ipod_path = g_strdup (track_db_path);
-  }
-
-  g_free (track_db_path);
-  g_free (ipod_fullfile);
-  return success;
-}
-
-
-/* Return the full iPod filename as stored in @track. Return value
-   must be g_free()d after use.
-   @mp: mount point of the iPod file system (in local encoding)
-   @track: track
-   Return value: full filename to @track on the iPod or NULL if no
-   filename is set in @track.
-
-   NOTE: NULL is returned when the file does not exist.
-
-   NOTE: this code works around a problem on some systems (see
-   itdb_resolve_path() ) and might return a filename with different
-   case than the original filename. Don't copy it back to @track
-   unless you must */
-gchar *itdb_filename_on_ipod (const gchar *mp, Itdb_Track *track)
-{
-    gchar *result = NULL;
-
-    g_return_val_if_fail (track, NULL);
-
-    if(track->ipod_path && *track->ipod_path)
-    {
-	gchar *buf = g_strdup (track->ipod_path);
-	itdb_filename_ipod2fs (buf);
-	result = g_build_filename (mp, buf, NULL);
-	g_free (buf);
-	if (!g_file_test (result, G_FILE_TEST_EXISTS))
-	{
-	    gchar **components = g_strsplit (track->ipod_path,":",10);
-	    g_free (result);
-	    result = itdb_resolve_path (mp, (const gchar **)components);
-	    g_strfreev (components);
-	}
-    }
-    return result;
-}
-
-
-/* Copy file "from_file" to "to_file".
-   Returns TRUE on success, FALSE otherwise */
-gboolean itdb_cp (const gchar *from_file, const gchar *to_file,
-		  GError **error)
-{
-    gchar *data;
-    glong bread, bwrite;
-    FILE *file_in = NULL;
-    FILE *file_out = NULL;
-
-#if ITUNESDB_DEBUG
-    fprintf(stderr, "Entered itunesdb_cp: '%s', '%s'\n", from_file, to_file);
-#endif
-
-    g_return_val_if_fail (from_file, FALSE);
-    g_return_val_if_fail (to_file, FALSE);
-
-    data = g_malloc (ITUNESDB_COPYBLK);
-
-    file_in = fopen (from_file, "r");
-    if (file_in == NULL)
-    {
-	g_set_error (error,
-		     G_FILE_ERROR,
-		     g_file_error_from_errno (errno),
-		     _("Error opening '%s' for reading (%s)."),
-		     from_file, g_strerror (errno));
-	goto err_out;
-    }
-
-    file_out = fopen (to_file, "w");
-    if (file_out == NULL)
-    {
-	g_set_error (error,
-		     G_FILE_ERROR,
-		     g_file_error_from_errno (errno),
-		     _("Error opening '%s' for writing (%s)."),
-		     to_file, g_strerror (errno));
-	goto err_out;
-    }
-
-    do {
-	bread = fread (data, 1, ITUNESDB_COPYBLK, file_in);
-#if ITUNESDB_DEBUG
-	fprintf(stderr, "itunesdb_cp: read %ld bytes\n", bread);
-#endif
-	if (bread == 0)
-	{
-	    if (feof (file_in) == 0)
-	    {   /* error -- not end of file! */
-		g_set_error (error,
-			     G_FILE_ERROR,
-			     g_file_error_from_errno (errno),
-			     _("Error while reading from '%s' (%s)."),
-			     from_file, g_strerror (errno));
-		goto err_out;
-	    }
-	}
-	else
-	{
-	    bwrite = fwrite (data, 1, bread, file_out);
-#if ITUNESDB_DEBUG
-	    fprintf(stderr, "itunesdb_cp: wrote %ld bytes\n", bwrite);
-#endif
-	    if (bwrite != bread)
-	    {
-		g_set_error (error,
-			     G_FILE_ERROR,
-			     g_file_error_from_errno (errno),
-			     _("Error while writing to '%s' (%s)."),
-			     to_file, g_strerror (errno));
-		goto err_out;
-	    }
-	}
-    } while (bread != 0);
-
-    if (fclose (file_in) != 0)
-    {
-	file_in = NULL;
-	g_set_error (error,
-		     G_FILE_ERROR,
-		     g_file_error_from_errno (errno),
-		     _("Error when closing '%s' (%s)."),
-		     from_file, g_strerror (errno));
-	goto err_out;
-    }
-    if (fclose (file_out) != 0)
-    {
-	file_out = NULL;
-	g_set_error (error,
-		     G_FILE_ERROR,
-		     g_file_error_from_errno (errno),
-		     _("Error when closing '%s' (%s)."),
-		     to_file, g_strerror (errno));
-	goto err_out;
-    }
-    g_free (data);
-    return TRUE;
-
-  err_out:
-    if (file_in)  fclose (file_in);
-    if (file_out) fclose (file_out);
-    remove (to_file);
-    g_free (data);
-    return FALSE;
-}
-
-
-
-
-
-
-/*------------------------------------------------------------------*\
- *                                                                  *
- *                       Timestamp stuff                            *
- *                                                                  *
-\*------------------------------------------------------------------*/
-
-guint64 itdb_time_get_mac_time (void)
-{
-    GTimeVal time;
-
-    g_get_current_time (&time);
-    return itdb_time_host_to_mac (time.tv_sec);
-}
-
-
-/* convert Macintosh timestamp to host system time stamp -- modify
- * this function if necessary to port to host systems with different
- * start of Epoch */
-/* A "0" time will not be converted */
-time_t itdb_time_mac_to_host (guint64 mactime)
-{
-    if (mactime != 0)  return (time_t)(mactime - 2082844800);
-    else               return (time_t)mactime;
-}
-
-
-/* convert host system timestamp to Macintosh time stamp -- modify
- * this function if necessary to port to host systems with different
- * start of Epoch */
-guint64 itdb_time_host_to_mac (time_t time)
-{
-    return (guint64)(((gint64)time) + 2082844800);
-}

Deleted: gtkpod/trunk/src/itdb_playlist.c
===================================================================
--- gtkpod/trunk/src/itdb_playlist.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/itdb_playlist.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,1276 +0,0 @@
-/* Time-stamp: <2005-07-09 15:48:30 jcs>
-|
-|  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
-|  Part of the gtkpod project.
-| 
-|  URL: http://www.gtkpod.org/
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  The code contained in this file is free software; you can redistribute
-|  it and/or modify it under the terms of the GNU Lesser General Public
-|  License as published by the Free Software Foundation; either version
-|  2.1 of the License, or (at your option) any later version.
-|
-|  This file is distributed in the hope that it will be useful,
-|  but WITHOUT ANY WARRANTY; without even the implied warranty of
-|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-|  Lesser General Public License for more details.
-|
-|  You should have received a copy of the GNU Lesser General Public
-|  License along with this code; if not, write to the Free Software
-|  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-|
-|  iTunes and iPod are trademarks of Apple
-|
-|  This product is not supported/written/published by Apple!
-|
-|  $Id: itdb_playlist.c,v 1.19 2005/07/09 06:53:26 jcsjcs Exp $
-*/
-
-#include "itdb_private.h"
-#include <glib/gi18n-lib.h>
-#include <string.h>
-
-/* spl_action_known(), itb_splr_get_field_type(),
- * itb_splr_get_action_type() are adapted from source provided by
- * Samuel "Otto" Wood (sam dot wood at gmail dot com). These part can
- * also be used under a FreeBSD license. You may also contact Samuel
- * for a complete copy of his original C++-classes.
- * */
-
-/* return TRUE if the smart playlist action @action is
-   known. Otherwise a warning is displayed and FALSE is returned. */
-gboolean itdb_spl_action_known (SPLAction action)
-{
-    gboolean result = FALSE;
-
-    switch (action)
-    {
-    case SPLACTION_IS_INT:
-    case SPLACTION_IS_GREATER_THAN:
-    case SPLACTION_IS_NOT_GREATER_THAN:
-    case SPLACTION_IS_LESS_THAN:
-    case SPLACTION_IS_NOT_LESS_THAN:
-    case SPLACTION_IS_IN_THE_RANGE:
-    case SPLACTION_IS_NOT_IN_THE_RANGE:
-    case SPLACTION_IS_IN_THE_LAST:
-    case SPLACTION_IS_STRING:
-    case SPLACTION_CONTAINS:
-    case SPLACTION_STARTS_WITH:
-    case SPLACTION_DOES_NOT_START_WITH:
-    case SPLACTION_ENDS_WITH:
-    case SPLACTION_DOES_NOT_END_WITH:
-    case SPLACTION_IS_NOT_INT:
-    case SPLACTION_IS_NOT_IN_THE_LAST:
-    case SPLACTION_IS_NOT:
-    case SPLACTION_DOES_NOT_CONTAIN:
-	result = TRUE;
-    }
-    if (result == FALSE)
-    {	/* New action! */
-	g_warning (_("Unknown action (%d) in smart playlist will be ignored.\n"), action);
-    }
-    return result;
-}
-
-/* return the logic type (string, int, date...) of the action field */
-SPLFieldType itdb_splr_get_field_type (const SPLRule *splr)
-{
-    g_return_val_if_fail (splr != NULL, splft_unknown);
-
-    switch(splr->field)
-    {
-    case SPLFIELD_SONG_NAME:
-    case SPLFIELD_ALBUM:
-    case SPLFIELD_ARTIST:
-    case SPLFIELD_GENRE:
-    case SPLFIELD_KIND:
-    case SPLFIELD_COMMENT:
-    case SPLFIELD_COMPOSER:
-    case SPLFIELD_GROUPING:
-	return(splft_string);
-    case SPLFIELD_BITRATE:
-    case SPLFIELD_SAMPLE_RATE:
-    case SPLFIELD_YEAR:
-    case SPLFIELD_TRACKNUMBER:
-    case SPLFIELD_SIZE:
-    case SPLFIELD_PLAYCOUNT:
-    case SPLFIELD_DISC_NUMBER:
-    case SPLFIELD_BPM:
-    case SPLFIELD_RATING:
-    case SPLFIELD_TIME: /* time is the length of the track in
-			   milliseconds */
-	return(splft_int);
-    case SPLFIELD_COMPILATION:
-	return(splft_boolean);
-    case SPLFIELD_DATE_MODIFIED:
-    case SPLFIELD_DATE_ADDED:
-    case SPLFIELD_LAST_PLAYED:
-	return(splft_date);
-    case SPLFIELD_PLAYLIST:
-	return(splft_playlist);
-    }
-    return(splft_unknown);
-}
-
-
-/* return the type (range, date, string...) of the action field */
-SPLActionType itdb_splr_get_action_type (const SPLRule *splr)
-{
-    SPLFieldType fieldType;
-
-    g_return_val_if_fail (splr != NULL, splft_unknown);
-
-    fieldType = itdb_splr_get_field_type (splr);
-
-    switch(fieldType)
-    {
-    case splft_string:
-	switch (splr->action)
-	{
-	case SPLACTION_IS_STRING:
-	case SPLACTION_IS_NOT:
-	case SPLACTION_CONTAINS:
-	case SPLACTION_DOES_NOT_CONTAIN:
-	case SPLACTION_STARTS_WITH:
-	case SPLACTION_DOES_NOT_START_WITH:
-	case SPLACTION_ENDS_WITH:
-	case SPLACTION_DOES_NOT_END_WITH:
-	    return splat_string;
-	case SPLACTION_IS_NOT_IN_THE_RANGE:
-	case SPLACTION_IS_INT:
-	case SPLACTION_IS_NOT_INT:
-	case SPLACTION_IS_GREATER_THAN:
-	case SPLACTION_IS_NOT_GREATER_THAN:
-	case SPLACTION_IS_LESS_THAN:
-	case SPLACTION_IS_NOT_LESS_THAN:
-	case SPLACTION_IS_IN_THE_RANGE:
-	case SPLACTION_IS_IN_THE_LAST:
-	case SPLACTION_IS_NOT_IN_THE_LAST:
-	    return splat_invalid;
-	default:
-	    /* Unknown action type */
-	    g_warning ("Unknown action type %d\n\n", splr->action);
-	    return splat_unknown;
-	}
-	break;
-
-    case splft_int:
-	switch (splr->action)
-	{
-	case SPLACTION_IS_INT:
-	case SPLACTION_IS_NOT_INT:
-	case SPLACTION_IS_GREATER_THAN:
-	case SPLACTION_IS_NOT_GREATER_THAN:
-	case SPLACTION_IS_LESS_THAN:
-	case SPLACTION_IS_NOT_LESS_THAN:
-	    return splat_int;
-	case SPLACTION_IS_NOT_IN_THE_RANGE:
-	case SPLACTION_IS_IN_THE_RANGE:
-	    return splat_range_int;
-	case SPLACTION_IS_STRING:
-	case SPLACTION_CONTAINS:
-	case SPLACTION_STARTS_WITH:
-	case SPLACTION_DOES_NOT_START_WITH:
-	case SPLACTION_ENDS_WITH:
-	case SPLACTION_DOES_NOT_END_WITH:
-	case SPLACTION_IS_IN_THE_LAST:
-	case SPLACTION_IS_NOT_IN_THE_LAST:
-	case SPLACTION_IS_NOT:
-	case SPLACTION_DOES_NOT_CONTAIN:
-	    return splat_invalid;
-	default:
-	    /* Unknown action type */
-	    g_warning ("Unknown action type %d\n\n", splr->action);
-	    return splat_unknown;
-	}
-	break;
-
-    case splft_boolean:
-	return splat_none;
-
-    case splft_date:
-	switch (splr->action)
-	{
-	case SPLACTION_IS_INT:
-	case SPLACTION_IS_NOT_INT:
-	case SPLACTION_IS_GREATER_THAN:
-	case SPLACTION_IS_NOT_GREATER_THAN:
-	case SPLACTION_IS_LESS_THAN:
-	case SPLACTION_IS_NOT_LESS_THAN:
-	    return splat_date;
-	case SPLACTION_IS_IN_THE_LAST:
-	case SPLACTION_IS_NOT_IN_THE_LAST:
-	    return splat_inthelast;
-	case SPLACTION_IS_IN_THE_RANGE:
-	case SPLACTION_IS_NOT_IN_THE_RANGE:
-	    return splat_range_date;
-	case SPLACTION_IS_STRING:
-	case SPLACTION_CONTAINS:
-	case SPLACTION_STARTS_WITH:
-	case SPLACTION_DOES_NOT_START_WITH:
-	case SPLACTION_ENDS_WITH:
-	case SPLACTION_DOES_NOT_END_WITH:
-	case SPLACTION_IS_NOT:
-	case SPLACTION_DOES_NOT_CONTAIN:
-	    return splat_invalid;
-	default:
-	    /* Unknown action type */
-	    g_warning ("Unknown action type %d\n\n", splr->action);
-	    return splat_unknown;
-	}
-	break;
-
-    case splft_playlist:
-	switch (splr->action)
-	{
-	case SPLACTION_IS_INT:
-	case SPLACTION_IS_NOT_INT:
-	    return splat_playlist;
-	case SPLACTION_IS_GREATER_THAN:
-	case SPLACTION_IS_NOT_GREATER_THAN:
-	case SPLACTION_IS_LESS_THAN:
-	case SPLACTION_IS_NOT_LESS_THAN:
-	case SPLACTION_IS_IN_THE_LAST:
-	case SPLACTION_IS_NOT_IN_THE_LAST:
-	case SPLACTION_IS_IN_THE_RANGE:
-	case SPLACTION_IS_NOT_IN_THE_RANGE:
-	case SPLACTION_IS_STRING:
-	case SPLACTION_CONTAINS:
-	case SPLACTION_STARTS_WITH:
-	case SPLACTION_DOES_NOT_START_WITH:
-	case SPLACTION_ENDS_WITH:
-	case SPLACTION_DOES_NOT_END_WITH:
-	case SPLACTION_IS_NOT:
-	case SPLACTION_DOES_NOT_CONTAIN:
-	    return splat_invalid;
-	default:
-	    /* Unknown action type */
-	    g_warning ("Unknown action type %d\n\n", splr->action);
-	    return splat_unknown;
-	}
-
-    case splft_unknown:
-	    /* Unknown action type */
-	    g_warning ("Unknown action type %d\n\n", splr->action);
-	    return splat_unknown;
-    }
-    return splat_unknown;
-}
-
-/* -------------------------------------------------------------------
- *
- * smart playlist stuff, adapted from source provided by Samuel "Otto"
- * Wood (sam dot wood at gmail dot com). This part can also be used
- * under a FreeBSD license. You can also contact Samuel for a complete
- * copy of his original C++-classes.
- *
- */
-
-
-/* function to evaluate a rule's truth against a track */
-gboolean itdb_splr_eval (Itdb_iTunesDB *itdb, SPLRule *splr, Itdb_Track *track)
-{
-    SPLFieldType ft;
-    SPLActionType at;
-    gchar *strcomp = NULL;
-    gint64 intcomp = 0;
-    gboolean boolcomp = FALSE;
-    guint32 datecomp = 0;
-    Itdb_Playlist *playcomp = NULL;
-    time_t t;
-    guint64 mactime;
-
-    g_return_val_if_fail (splr != NULL, FALSE);
-    g_return_val_if_fail (track != NULL, FALSE);
-
-    ft = itdb_splr_get_field_type (splr);
-    at = itdb_splr_get_action_type (splr);
-
-    g_return_val_if_fail (at != splat_invalid, FALSE);
-
-    /* find what we need to compare in the track */
-    switch (splr->field)
-    {
-    case SPLFIELD_SONG_NAME:
-	strcomp = track->title;
-	break;
-    case SPLFIELD_ALBUM:
-	strcomp = track->album;
-	break;
-    case SPLFIELD_ARTIST:
-	strcomp = track->artist;
-	break;
-    case SPLFIELD_GENRE:
-	strcomp = track->genre;
-	break;
-    case SPLFIELD_KIND:
-	strcomp = track->fdesc;
-	break;
-    case SPLFIELD_COMMENT:
-	strcomp = track->comment;
-	break;
-    case SPLFIELD_COMPOSER:
-	strcomp = track->composer;
-	break;
-    case SPLFIELD_GROUPING:
-	strcomp = track->grouping;
-	break;
-    case SPLFIELD_BITRATE:
-	intcomp = track->bitrate;
-	break;
-    case SPLFIELD_SAMPLE_RATE:
-	intcomp = track->samplerate;
-	break;
-    case SPLFIELD_YEAR:
-	intcomp = track->year;
-	break;
-    case SPLFIELD_TRACKNUMBER:
-	intcomp = track->track_nr;
-	break;
-    case SPLFIELD_SIZE:
-	intcomp = track->size;
-	break;
-    case SPLFIELD_PLAYCOUNT:
-	intcomp = track->playcount;
-	break;
-    case SPLFIELD_DISC_NUMBER:
-	intcomp = track->cd_nr;
-	break;
-    case SPLFIELD_BPM:
-	intcomp = track->BPM;
-	break;
-    case SPLFIELD_RATING:
-	intcomp = track->rating;
-	break;
-    case SPLFIELD_TIME:
-	intcomp = track->tracklen/1000;
-	break;
-    case SPLFIELD_COMPILATION:
-	boolcomp = track->compilation;
-	break;
-    case SPLFIELD_DATE_MODIFIED:
-	datecomp = track->time_modified;
-	break;
-    case SPLFIELD_DATE_ADDED:
-	datecomp = track->time_added;
-	break;
-    case SPLFIELD_LAST_PLAYED:
-	datecomp = track->time_played;
-	break;
-    case SPLFIELD_PLAYLIST:
-	playcomp = itdb_playlist_by_id (itdb, splr->fromvalue);
-	break;
-    default: /* unknown field type */
-	g_return_val_if_fail (FALSE, FALSE);
-    }
-
-    /* actually do the comparison to our rule */
-    switch (ft)
-    {
-    case splft_string:
-	if(strcomp && splr->string)
-	{
-	    gint len1 = strlen (strcomp);
-	    gint len2 = strlen (splr->string);
-	    switch (splr->action)
-	    {
-	    case SPLACTION_IS_STRING:
-		return (strcmp (strcomp, splr->string) == 0);
-	    case SPLACTION_IS_NOT:
-		return (strcmp (strcomp, splr->string) != 0);
-	    case SPLACTION_CONTAINS:
-		return (strstr (strcomp, splr->string) != NULL);
-	    case SPLACTION_DOES_NOT_CONTAIN:
-		return (strstr (strcomp, splr->string) == NULL);
-	    case SPLACTION_STARTS_WITH:
-		return (strncmp (strcomp, splr->string, len2) == 0);
-	    case SPLACTION_ENDS_WITH:
-	    if (len2 > len1)  return FALSE;
-	    return (strncmp (strcomp+len1-len2,
-			     splr->string, len2) == 0);
-	    case SPLACTION_DOES_NOT_START_WITH:
-		return (strncmp (strcomp, splr->string,
-				 strlen (splr->string)) != 0);
-	    case SPLACTION_DOES_NOT_END_WITH:
-		if (len2 > len1)  return TRUE;
-		return (strncmp (strcomp+len1-len2,
-				 splr->string, len2) != 0);
-	    };
-	}
-	return FALSE;
-    case splft_int:
-	switch(splr->action)
-	{
-	case SPLACTION_IS_INT:
-	    return (intcomp == splr->fromvalue);
-	case SPLACTION_IS_NOT_INT:
-	    return (intcomp != splr->fromvalue);
-	case SPLACTION_IS_GREATER_THAN:
-	    return (intcomp > splr->fromvalue);
-	case SPLACTION_IS_LESS_THAN:
-	    return (intcomp < splr->fromvalue);
-	case SPLACTION_IS_IN_THE_RANGE:
-	    return ((intcomp <= splr->fromvalue &&
-		     intcomp >= splr->tovalue) ||
-		    (intcomp >= splr->fromvalue &&
-		     intcomp <= splr->tovalue));
-	case SPLACTION_IS_NOT_IN_THE_RANGE:
-	    return ((intcomp < splr->fromvalue &&
-		     intcomp < splr->tovalue) ||
-		    (intcomp > splr->fromvalue &&
-		     intcomp > splr->tovalue));
-	}
-	return FALSE;
-    case splft_boolean:
-	switch (splr->action)
-	{
-	case SPLACTION_IS_INT:	    /* aka "is set" */
-	    return (boolcomp != 0);
-	case SPLACTION_IS_NOT_INT:  /* aka "is not set" */
-	    return (boolcomp == 0);
-	}
-	return FALSE;
-    case splft_date:
-	switch (splr->action)
-	{
-	case SPLACTION_IS_INT:
-	    return (datecomp == splr->fromvalue);
-	case SPLACTION_IS_NOT_INT:
-	    return (datecomp != splr->fromvalue);
-	case SPLACTION_IS_GREATER_THAN:
-	    return (datecomp > splr->fromvalue);
-	case SPLACTION_IS_LESS_THAN:
-	    return (datecomp < splr->fromvalue);
-	case SPLACTION_IS_NOT_GREATER_THAN:
-	    return (datecomp <= splr->fromvalue);
-	case SPLACTION_IS_NOT_LESS_THAN:
-	    return (datecomp >= splr->fromvalue);
-	case SPLACTION_IS_IN_THE_LAST:
-	    time (&t);
-	    t += (splr->fromdate * splr->fromunits);
-	    mactime = itdb_time_host_to_mac (t);
-	    return (datecomp > mactime);
-	case SPLACTION_IS_NOT_IN_THE_LAST:
-	    time (&t);
-	    t += (splr->fromdate * splr->fromunits);
-	    mactime = itdb_time_host_to_mac (t);
-	    return (datecomp <= mactime);
-	case SPLACTION_IS_IN_THE_RANGE:
-	    return ((datecomp <= splr->fromvalue &&
-		     datecomp >= splr->tovalue) ||
-		    (datecomp >= splr->fromvalue &&
-		     datecomp <= splr->tovalue));
-	case SPLACTION_IS_NOT_IN_THE_RANGE:
-	    return ((datecomp < splr->fromvalue &&
-		     datecomp < splr->tovalue) ||
-		    (datecomp > splr->fromvalue &&
-		     datecomp > splr->tovalue));
-	}
-	return FALSE;
-    case splft_playlist:
-	/* if we didn't find the playlist, just exit instead of
-	   dealing with it */
-	if (playcomp == NULL) return FALSE;
-
-	switch(splr->action)
-	{
-	case SPLACTION_IS_INT:	  /* is this track in this playlist? */
-	    return (itdb_playlist_contains_track (playcomp, track));
-	case SPLACTION_IS_NOT_INT:/* NOT in this playlist? */
-	    return (!itdb_playlist_contains_track (playcomp, track));
-	}
-	return FALSE;
-    case splft_unknown:
-	g_return_val_if_fail (ft != splft_unknown, FALSE);
-	return FALSE;
-    default: /* new type: warning to change this code */
-	g_return_val_if_fail (FALSE, FALSE);
-	return FALSE;
-    }
-    /* we should never make it out of the above switches alive */
-    g_return_val_if_fail (FALSE, FALSE);
-    return FALSE;
-}
-
-/* local functions to help with the sorting of the list of tracks so
- * that we can do limits */
-static gint compTitle (Itdb_Track *a, Itdb_Track *b)
-{
-    return strcmp (a->title, b->title);
-}
-static gint compAlbum (Itdb_Track *a, Itdb_Track *b)
-{
-    return strcmp (a->album, b->album);
-}
-static gint compArtist (Itdb_Track *a, Itdb_Track *b)
-{
-    return strcmp (a->artist, b->artist);
-}
-static gint compGenre (Itdb_Track *a, Itdb_Track *b)
-{
-    return strcmp (a->genre, b->genre);
-}
-static gint compMostRecentlyAdded (Itdb_Track *a, Itdb_Track *b)
-{
-    return b->time_added - a->time_added;
-}
-static gint compLeastRecentlyAdded (Itdb_Track *a, Itdb_Track *b)
-{
-    return a->time_added - b->time_added;
-}
-static gint compMostOftenPlayed (Itdb_Track *a, Itdb_Track *b)
-{
-    return b->time_added - a->time_added;
-}
-static gint compLeastOftenPlayed (Itdb_Track *a, Itdb_Track *b)
-{
-    return a->time_added - b->time_added;
-}
-static gint compMostRecentlyPlayed (Itdb_Track *a, Itdb_Track *b)
-{
-    return b->time_played - a->time_played;
-}
-static gint compLeastRecentlyPlayed (Itdb_Track *a, Itdb_Track *b)
-{
-    return a->time_played - b->time_played;
-}
-static gint compHighestRating (Itdb_Track *a, Itdb_Track *b)
-{
-    return b->rating - a->rating;
-}
-static gint compLowestRating (Itdb_Track *a, Itdb_Track *b)
-{
-    return a->rating - b->rating;
-}
-
-/* Randomize the order of the members of the GList @list */
-/* Returns a pointer to the new start of the list */
-static GList *randomize_glist (GList *list)
-{
-    gint32 nr = g_list_length (list);
-
-    while (nr > 1)
-    {
-	/* get random element among the first nr members */
-	gint32 rand = g_random_int_range (0, nr);
-	GList *gl = g_list_nth (list, rand);
-	/* remove it and add it at the end */
-	list = g_list_remove_link (list, gl);
-	list = g_list_concat (list, gl);
-	--nr;
-    }
-    return list;
-}
-
-
-/* Duplicate a GList */
-static GList *glist_duplicate (GList *list)
-{
-    void gl_dup_fe (gpointer data, GList **dup)
-	{
-	    *dup = g_list_append (*dup, data);
-	}
-    GList *dup = NULL;
-    g_list_foreach (list, (GFunc)gl_dup_fe, &dup);
-    return dup;
-}
-
-/* Randomizes a playlist */
-void itdb_playlist_randomize (Itdb_Playlist *pl)
-{
-    g_return_if_fail (pl);
-
-    pl->members = randomize_glist (pl->members);
-}
-
-
-void itdb_spl_update (Itdb_iTunesDB *itdb, Itdb_Playlist *spl)
-{
-    GList *gl;
-    GList *sel_tracks = NULL;
-
-    g_return_if_fail (spl);
-    g_return_if_fail (itdb);
-
-    /* we only can populate smart playlists */
-    if (!spl->is_spl) return;
-
-    /* clear this playlist */
-    g_list_free (spl->members);
-    spl->members = NULL;
-    spl->num = 0;
-
-    for (gl=itdb->tracks; gl ; gl=gl->next)
-    {
-	Itdb_Track *t = gl->data;
-	g_return_if_fail (t);
-	/* skip non-checked songs if we have to do so (this takes care
-	   of *all* the match_checked functionality) */
-	if (spl->splpref.matchcheckedonly && (t->checked == 0))
-	    continue;
-	/* first, match the rules */
-	if (spl->splpref.checkrules)
-	{   /* if we are set to check the rules */
-	    /* start with true for "match all",
-	       start with false for "match any" */
-	    gboolean matchrules;
-	    GList *gl;
-
-	    if (spl->splrules.match_operator == SPLMATCH_AND)
-		 matchrules = TRUE;
-	    else matchrules = FALSE;
-	    /* assume everything matches with no rules */
-	    if (spl->splrules.rules == NULL) matchrules = TRUE;
-	    /* match all rules */
-	    for (gl=spl->splrules.rules; gl; gl=gl->next)
-	    {
-		SPLRule* splr = gl->data;
-		gboolean ruletruth = itdb_splr_eval (itdb, splr, t);
-		if (spl->splrules.match_operator == SPLMATCH_AND)
-		{
-		    if (!ruletruth)
-		    {   /* one rule did not match -- we can stop */
-			matchrules = FALSE;
-			break;
-		    }
-		}
-		else if (spl->splrules.match_operator == SPLMATCH_OR)
-		{
-		    if (ruletruth)
-		    {   /* one rule matched -- we can stop */
-			matchrules = TRUE;
-			break;
-		    }
-		}
-	    }
-	    if (matchrules)
-	    {   /* we have a track that matches the ruleset, append to
-		 * playlist for now*/
-		sel_tracks = g_list_append (sel_tracks, t);
-	    }
-	}
-	else
-	{   /* we aren't checking the rules, so just append to
-	       playlist */
-		sel_tracks = g_list_append (sel_tracks, t);
-	}
-    }
-    /* no reason to go on if nothing matches so far */
-    if (g_list_length (sel_tracks) == 0) return;
-
-    /* do the limits */
-    if (spl->splpref.checklimits)
-    {
-	/* use a double because we may need to deal with fractions
-	 * here */
-	gdouble runningtotal = 0;
-	guint32 trackcounter = 0;
-	guint32 tracknum = g_list_length (sel_tracks);
-
-/* 	printf("limitsort: %d\n", spl->splpref.limitsort); */
-
-	/* limit to (number) (type) selected by (sort) */
-	/* first, we sort the list */
-	switch(spl->splpref.limitsort)
-	{
-	case LIMITSORT_RANDOM:
-	    sel_tracks = randomize_glist (sel_tracks);
-	    break;
-	case LIMITSORT_SONG_NAME:
-	    sel_tracks = g_list_sort (sel_tracks, (GCompareFunc)compTitle);
-	    break;
-	case LIMITSORT_ALBUM:
-	    sel_tracks = g_list_sort (sel_tracks, (GCompareFunc)compAlbum);
-		break;
-	case LIMITSORT_ARTIST:
-	    sel_tracks = g_list_sort (sel_tracks, (GCompareFunc)compArtist);
-	    break;
-	case LIMITSORT_GENRE:
-	    sel_tracks = g_list_sort (sel_tracks, (GCompareFunc)compGenre);
-	    break;
-	case LIMITSORT_MOST_RECENTLY_ADDED:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compMostRecentlyAdded);
-	    break;
-	case LIMITSORT_LEAST_RECENTLY_ADDED:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compLeastRecentlyAdded);
-	    break;
-	case LIMITSORT_MOST_OFTEN_PLAYED:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compMostOftenPlayed);
-	    break;
-	case LIMITSORT_LEAST_OFTEN_PLAYED:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compLeastOftenPlayed);
-	    break;
-	case LIMITSORT_MOST_RECENTLY_PLAYED:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compMostRecentlyPlayed);
-	    break;
-	case LIMITSORT_LEAST_RECENTLY_PLAYED:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compLeastRecentlyPlayed);
-	    break;
-	case LIMITSORT_HIGHEST_RATING:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compHighestRating);
-	    break;
-	case LIMITSORT_LOWEST_RATING:
-	    sel_tracks = g_list_sort (sel_tracks,
-			 (GCompareFunc)compLowestRating);
-	    break;
-	default:
-	    g_warning ("Programming error: should not reach this point (default of switch (spl->splpref.limitsort)\n");
-	    break;
-	}
-	/* now that the list is sorted in the order we want, we
-	   take the top X tracks off the list and insert them into
-	   our playlist */
-
-	while ((runningtotal < spl->splpref.limitvalue) &&
-	       (trackcounter < tracknum))
-	{
-	    gdouble currentvalue=0;
-	    Itdb_Track *t = g_list_nth_data (sel_tracks, trackcounter);
-
-/* 	    printf ("track: %d runningtotal: %lf, limitvalue: %d\n", */
-/* 		    trackcounter, runningtotal, spl->splpref.limitvalue); */
-
-	    /* get the next song's value to add to running total */
-	    switch (spl->splpref.limittype)
-	    {
-	    case LIMITTYPE_MINUTES:
-		currentvalue = (double)(t->tracklen)/(60*1000);
-		break;
-	    case LIMITTYPE_HOURS:
-		currentvalue = (double)(t->tracklen)/(60*60*1000);
-		break;
-	    case LIMITTYPE_MB:
-		currentvalue = (double)(t->size)/(1024*1024);
-		break;
-	    case LIMITTYPE_GB:
-		currentvalue = (double)(t->size)/(1024*1024*1024);
-		break;
-	    case LIMITTYPE_SONGS:
-		currentvalue = 1;
-		break;
-	    default:
-		g_warning ("Programming error: should not reach this point (default of switch (spl->splpref.limittype)\n");
-		break;
-	    }
-	    /* check to see that we won't actually exceed the
-	     * limitvalue */
-	    if (runningtotal + currentvalue <=
-		spl->splpref.limitvalue)
-	    {
-		runningtotal += currentvalue;
-		/* Add the playlist entry */
-		itdb_playlist_add_track (spl, t, -1);
-	    }
-	    /* increment the track counter so we can look at the next
-	       track */
-	    trackcounter++;
-/* 	    printf ("  track: %d runningtotal: %lf, limitvalue: %d\n", */
-/* 		    trackcounter, runningtotal, spl->splpref.limitvalue); */
-	}	/* end while */
-	/* no longer needed */
-	g_list_free (sel_tracks);
-	sel_tracks = NULL;
-    } /* end if limits enabled */
-    else
-    {   /* no limits, so stick everything that matched the rules into
-	   the playlist */
-	spl->members = sel_tracks;
-	spl->num = g_list_length (sel_tracks);
-	sel_tracks = NULL;
-    }
-}
-
-
-/* update all smart playlists */
-void itdb_spl_update_all (Itdb_iTunesDB *itdb)
-{
-    void spl_update (Itdb_Playlist *playlist, Itdb_iTunesDB *itdb)
-	{
-	    g_return_if_fail (playlist);
-	    itdb_spl_update (itdb, playlist);
-	}
-
-
-    g_return_if_fail (itdb);
-
-    g_list_foreach (itdb->playlists, (GFunc)spl_update, itdb);
-}
-
-
-
-/* end of code based on Samuel Wood's work */
-/* ------------------------------------------------------------------- */
-
-
-/* Validate a rule */
-void itdb_splr_validate (SPLRule *splr)
-{
-    SPLActionType at;
-
-    g_return_if_fail (splr != NULL);
-
-    at = itdb_splr_get_action_type (splr);
-
-    g_return_if_fail (at != splat_unknown);
-
-    switch (at)
-    {
-    case splat_int:
-    case splat_playlist:
-    case splat_date:
-	splr->fromdate = 0;
-	splr->fromunits = 1;
-	splr->tovalue = splr->fromvalue;
-	splr->todate = 0;
-	splr->tounits = 1;
-	break;
-    case splat_range_int:
-    case splat_range_date:
-	splr->fromdate = 0;
-	splr->fromunits = 1;
-	splr->todate = 0;
-	splr->tounits = 1;
-	break;
-    case splat_inthelast:
-	splr->fromvalue = SPLDATE_IDENTIFIER;
-	splr->tovalue = SPLDATE_IDENTIFIER;
-	break;
-    case splat_none:
-    case splat_string:
-	splr->fromvalue = 0;
-	splr->fromdate = 0;
-	splr->fromunits = 0;
-	splr->tovalue = 0;
-	splr->todate = 0;
-	splr->tounits = 0;
-	break;
-    case splat_invalid:
-    case splat_unknown:
-	g_return_if_fail (FALSE);
-	break;
-    }
-
-}
-
-
-/* Free memory of SPLRule @splr */
-static void itdb_splr_free (SPLRule *splr)
-{
-    if (splr)
-    {
-	g_free (splr->string);
-	g_free (splr);
-    }
-}
-
-/* remove @splr from playlist @pl */
-void itdb_splr_remove (Itdb_Playlist *pl, SPLRule *splr)
-{
-    g_return_if_fail (pl);
-    g_return_if_fail (splr);
-
-    pl->splrules.rules = g_list_remove (pl->splrules.rules, splr);
-    itdb_splr_free (splr);
-}
-
-/* add smart rule @splr to playlist @pl at position @pos */
-void itdb_splr_add (Itdb_Playlist *pl, SPLRule *splr, gint pos)
-{
-    g_return_if_fail (pl);
-    g_return_if_fail (splr);
-
-    pl->splrules.rules = g_list_insert (pl->splrules.rules,
-					splr, pos);
-}
-
-
-/* Create new default rule */
-SPLRule *itdb_splr_new (void)
-{
-    SPLRule *splr = g_new0 (SPLRule, 1);
-
-    splr->field = SPLFIELD_ARTIST;
-    splr->action = SPLACTION_CONTAINS;
-    splr->fromvalue = 0;
-    splr->fromdate = 0;
-    splr->fromunits = 0;
-    splr->tovalue = 0;
-    splr->todate = 0;
-    splr->tounits = 0;
-
-    return splr;
-}
-
-
-/* create a new smart rule and insert it at position @pos of playlist
- * @pl. A pointer to the newly created rule is returned. */
-SPLRule *itdb_splr_add_new (Itdb_Playlist *pl, gint pos)
-{
-    SPLRule *splr;
-
-    g_return_val_if_fail (pl, NULL);
-
-    splr = itdb_splr_new ();
-    itdb_splr_add (pl, splr, pos);
-    return splr;
-}
-
-/* Duplicate SPLRule @splr */
-SPLRule *splr_duplicate (SPLRule *splr)
-{
-    SPLRule *dup = NULL;
-    if (splr)
-    {
-	dup = g_malloc (sizeof (SPLRule));
-	memcpy (dup, splr, sizeof (SPLRule));
-
-	/* Now copy the strings */
-	dup->string = g_strdup (splr->string);
-    }
-    return dup;
-}
-
-
-/* Duplicate an existing playlist */
-Itdb_Playlist *itdb_playlist_duplicate (Itdb_Playlist *pl)
-{
-    Itdb_Playlist *pl_dup;
-    GList *gl;
-
-    g_return_val_if_fail (pl, NULL);
-    g_return_val_if_fail (!pl->userdata || pl->userdata_duplicate, NULL);
-
-    pl_dup = g_new0 (Itdb_Playlist, 1);
-    memcpy (pl_dup, pl, sizeof (Itdb_Playlist));
-    /* clear list heads */
-    pl_dup->members = NULL;
-    pl_dup->splrules.rules = NULL;
-
-    /* clear itdb pointer */
-    pl_dup->itdb = NULL;
-
-    /* Now copy strings */
-    pl_dup->name = g_strdup (pl->name);
-
-    /* Copy members */
-    pl_dup->members = glist_duplicate (pl->members);
-
-    /* Copy rules */
-    for (gl=pl->splrules.rules; gl; gl=gl->next)
-    {
-	SPLRule *splr_dup = splr_duplicate (gl->data);
-	pl_dup->splrules.rules = g_list_append (
-	    pl_dup->splrules.rules, splr_dup);
-    }
-
-    /* Copy userdata */
-    if (pl->userdata)
-	pl_dup->userdata = pl->userdata_duplicate (pl->userdata);
-
-    return pl_dup;
-}
-
-
-/* copy all relevant information for smart playlist from playlist @src
-   to playlist @dest. Already available information is
-   overwritten/deleted. */
-void itdb_spl_copy_rules (Itdb_Playlist *dest, Itdb_Playlist *src)
-{
-    GList *gl;
-
-    g_return_if_fail (dest);
-    g_return_if_fail (src);
-    g_return_if_fail (dest->is_spl);
-    g_return_if_fail (src->is_spl);
-
-    /* remove existing rules */
-    g_list_foreach (dest->splrules.rules, (GFunc)(itdb_splr_free), NULL);
-    g_list_free (dest->splrules.rules);
-
-    /* copy general spl settings */
-    memcpy (&dest->splpref, &src->splpref, sizeof (SPLPref));
-    memcpy (&dest->splrules, &src->splrules, sizeof (SPLRules));
-    dest->splrules.rules = NULL;
-
-    /* Copy rules */
-    for (gl=src->splrules.rules; gl; gl=gl->next)
-    {
-	SPLRule *splr_dup = splr_duplicate (gl->data);
-	dest->splrules.rules = g_list_append (
-	    dest->splrules.rules, splr_dup);
-    }
-}
-
-
-
-/* Generate a new playlist structure. If @spl is TRUE, a smart
- * playlist is generated. */
-Itdb_Playlist *itdb_playlist_new (const gchar *title, gboolean spl)
-{
-    GRand *grand = g_rand_new ();
-    Itdb_Playlist *pl = g_new0 (Itdb_Playlist, 1);
-
-    pl->type = ITDB_PL_TYPE_NORM;
-    pl->name = g_strdup (title);
-    pl->is_spl = spl;
-    pl->id = ((guint64)g_rand_int (grand) << 32) |
-	((guint64)g_rand_int (grand));
-    /* FIXME: make sure this id is really unique (with 100 playlists the
-     * chance to create a duplicate is 1 in 184,467,440,737,095,516.16) */
-    if (spl)
-    {
-	pl->splpref.liveupdate = TRUE;
-	pl->splpref.checkrules = TRUE;
-	pl->splpref.checklimits = FALSE;
-	pl->splpref.limittype = LIMITTYPE_HOURS;
-	pl->splpref.limitsort = LIMITSORT_RANDOM;
-	pl->splpref.limitvalue = 2;
-	pl->splpref.matchcheckedonly = FALSE;
-	pl->splrules.match_operator = SPLMATCH_AND;
-	/* add at least one rule */
-	itdb_splr_add_new (pl, 0);
-    }
-    return pl;
-}
-
-
-/* Free the memory taken by playlist @pl. */
-void itdb_playlist_free (Itdb_Playlist *pl)
-{
-    g_return_if_fail (pl);
-
-    g_free (pl->name);
-    g_list_free (pl->members);
-    g_list_foreach (pl->splrules.rules,
-		    (GFunc)(itdb_splr_free), NULL);
-    g_list_free (pl->splrules.rules);
-    if (pl->userdata && pl->userdata_destroy)
-	(*pl->userdata_destroy) (pl->userdata);
-    g_free (pl);
-}
-
-
-
-/* add playlist @pl to the database @itdb at position @pos (-1 for
- * "append to end") */
-/* a critical message is logged if either itdb or pl is NULL */
-void itdb_playlist_add (Itdb_iTunesDB *itdb, Itdb_Playlist *pl, gint32 pos)
-{
-    g_return_if_fail (itdb);
-    g_return_if_fail (pl);
-    g_return_if_fail (!pl->userdata || pl->userdata_duplicate);
-
-    pl->itdb = itdb;
-
-    if (pos == -1)  itdb->playlists = g_list_append (itdb->playlists, pl);
-    else  itdb->playlists = g_list_insert (itdb->playlists, pl, pos);
-}
-
-
-
-/* move playlist @pl to position @pos */
-void itdb_playlist_move (Itdb_Playlist *pl, guint32 pos)
-{
-    Itdb_iTunesDB *itdb;
-
-    g_return_if_fail (pl);
-    itdb = pl->itdb;
-    g_return_if_fail (itdb);
-
-    itdb->playlists = g_list_remove (itdb->playlists, pl);
-    itdb->playlists = g_list_insert (itdb->playlists, pl, pos);
-}
-
-
-/* Remove playlist @pl and free memory */
-void itdb_playlist_remove (Itdb_Playlist *pl)
-{
-    Itdb_iTunesDB *itdb;
-
-    g_return_if_fail (pl);
-    itdb = pl->itdb;
-    g_return_if_fail (itdb);
-
-    itdb->playlists = g_list_remove (itdb->playlists, pl);
-    itdb_playlist_free (pl);
-}
-
-
-/* Remove playlist @pl but do not free memory */
-/* pl->itdb is set to NULL */
-void itdb_playlist_unlink (Itdb_Playlist *pl)
-{
-    Itdb_iTunesDB *itdb;
-
-    g_return_if_fail (pl);
-    itdb = pl->itdb;
-    g_return_if_fail (itdb);
-
-    itdb->playlists = g_list_remove (itdb->playlists, pl);
-    pl->itdb = NULL;
-}
-
-
-/* Return TRUE if the playlist @pl exists, FALSE otherwise */
-gboolean itdb_playlist_exists (Itdb_iTunesDB *itdb, Itdb_Playlist *pl)
-{
-    g_return_val_if_fail (itdb, FALSE);
-    g_return_val_if_fail (pl, FALSE);
-
-    if (g_list_find (itdb->playlists, pl))  return TRUE;
-    else                                    return FALSE;
-}
-
-
-/* add @track to playlist @pl position @pos (-1 for "append to
- * end") */
-/* a critical message is logged if either @itdb, @pl or @track is
-   NULL */
-void itdb_playlist_add_track (Itdb_Playlist *pl,
-			      Itdb_Track *track, gint32 pos)
-{
-    g_return_if_fail (pl);
-    g_return_if_fail (pl->itdb);
-    g_return_if_fail (track);
-
-    track->itdb = pl->itdb;
-
-    if (pos == -1)  pl->members = g_list_append (pl->members, track);
-    else  pl->members = g_list_insert (pl->members, track, pos);
-}
-
-
-
-/* Remove track @track from playlist *pl. If @pl == NULL remove from
- * master playlist. */
-void itdb_playlist_remove_track (Itdb_Playlist *pl, Itdb_Track *track)
-{
-    g_return_if_fail (track);
-
-    if (pl == NULL)
-	pl = itdb_playlist_mpl (track->itdb);
-
-    g_return_if_fail (pl);
-
-    pl->members = g_list_remove (pl->members, track);
-}
-
-
-/* Returns the playlist with the ID @id or NULL if the ID cannot be
- * found. */
-Itdb_Playlist *itdb_playlist_by_id (Itdb_iTunesDB *itdb, guint64 id)
-{
-    GList *gl;
-
-    g_return_val_if_fail (itdb, NULL);
-
-    for (gl=itdb->playlists; gl; gl=gl->next)
-    {
-	Itdb_Playlist *pl = gl->data;
-	if (pl->id == id)  return pl;
-    }
-    return NULL;
-}
-
-
-/* Return playlist at position @num in @itdb */
-Itdb_Playlist *itdb_playlist_by_nr (Itdb_iTunesDB *itdb, guint32 num)
-{
-    g_return_val_if_fail (itdb, NULL);
-    Itdb_Playlist *pl = g_list_nth_data (itdb->playlists, num);
-    g_return_val_if_fail (pl, NULL);
-    return pl;
-}
-
-
-/* Return first playlist with name @name. */
-Itdb_Playlist *itdb_playlist_by_name (Itdb_iTunesDB *itdb, gchar *name)
-{
-    GList *gl;
-    g_return_val_if_fail (itdb, NULL);
-    g_return_val_if_fail (name, NULL);
-
-    for (gl=itdb->playlists; gl; gl=gl->next)
-    {
-	Playlist *pl = gl->data;
-	g_return_val_if_fail (pl, NULL);
-	if (pl->name && (strcmp (pl->name, name) == 0))
-	    return pl;
-    }
-    return NULL;
-}
-
-
-/* return the master playlist of @itdb */
-Itdb_Playlist *itdb_playlist_mpl (Itdb_iTunesDB *itdb)
-{
-    Itdb_Playlist *pl;
-
-    g_return_val_if_fail (itdb, NULL);
-
-    pl = g_list_nth_data (itdb->playlists, 0);
-    g_return_val_if_fail (pl, NULL);
-
-    /* mpl is guaranteed to be at first position... */
-    g_return_val_if_fail (pl->type == ITDB_PL_TYPE_MPL, NULL);
-
-    return pl;
-}
-
-
-/* checks if @track is in playlist @pl. TRUE, if yes, FALSE
-   otherwise. If @pl is NULL, the */
-gboolean itdb_playlist_contains_track (Itdb_Playlist *pl, Itdb_Track *tr)
-{
-    g_return_val_if_fail (tr, FALSE);
-
-    if (pl == NULL)
-	pl = itdb_playlist_mpl (tr->itdb);
-
-    g_return_val_if_fail (pl, FALSE);
-
-    if (g_list_find (pl->members, tr))  return TRUE;
-    else                                return FALSE;
-}
-
-
-/* returns in how many playlists (other than the MPL) @track is a
-   member of */
-guint32 itdb_playlist_contain_track_number (Itdb_Track *tr)
-{
-    iTunesDB *itdb;
-    guint32 num = 0;
-    GList *gl;
-
-    g_return_val_if_fail (tr, 0);
-    itdb = tr->itdb;
-    g_return_val_if_fail (itdb, 0);
-
-    /* start with 2nd playlist (skip MPL) */
-    gl = g_list_nth (itdb->playlists, 1);
-    while (gl)
-    {
-	g_return_val_if_fail (gl->data, num);
-	if (itdb_playlist_contains_track (gl->data, tr)) ++num;
-	gl = gl->next;
-    }
-    return num;
-}
-
-
-
-/* return number of tracks in playlist */
-guint32 itdb_playlist_tracks_number (Itdb_Playlist *pl)
-{
-    g_return_val_if_fail (pl, 0);
-
-    return g_list_length (pl->members);
-}

Deleted: gtkpod/trunk/src/itdb_private.h
===================================================================
--- gtkpod/trunk/src/itdb_private.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/itdb_private.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,100 +0,0 @@
-/* Time-stamp: <2005-07-09 15:48:29 jcs>
-|
-|  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
-|  Part of the gtkpod project.
-| 
-|  URL: http://www.gtkpod.org/
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  The code contained in this file is free software; you can redistribute
-|  it and/or modify it under the terms of the GNU Lesser General Public
-|  License as published by the Free Software Foundation; either version
-|  2.1 of the License, or (at your option) any later version.
-|
-|  This file is distributed in the hope that it will be useful,
-|  but WITHOUT ANY WARRANTY; without even the implied warranty of
-|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-|  Lesser General Public License for more details.
-|
-|  You should have received a copy of the GNU Lesser General Public
-|  License along with this code; if not, write to the Free Software
-|  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-|
-|  iTunes and iPod are trademarks of Apple
-|
-|  This product is not supported/written/published by Apple!
-|
-|  $Id: itdb_private.h,v 1.4 2005/07/09 06:53:26 jcsjcs Exp $
-*/
-
-#ifndef __ITDB_PRIVATE_H__
-#define __ITDB_PRIVATE_H__
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include "itdb.h"
-
-/* keeps the contents of one disk file (read) */
-typedef struct
-{
-    gchar *filename;
-    gchar *contents;
-    gsize length;
-    GError *error;
-} FContents;
-
-
-/* struct used to hold all necessary information when importing a
-   Itdb_iTunesDB */
-typedef struct
-{
-    Itdb_iTunesDB *itdb;
-    FContents *itunesdb;
-    GList *pos_glist;    /* temporary list to store position indicators */
-    GList *playcounts;   /* contents of Play Counts file */
-    GTree *idtree;       /* temporary tree with track id tree */
-    GError *error;       /* where to report errors to */
-} FImport;
-
-/* data of playcounts GList above */
-struct playcount {
-    guint32 playcount;
-    guint32 time_played;
-    guint32 bookmark_time;
-    gint32 rating;
-    gint32 unk16;
-};
-
-/* value to indicate that playcount was not set in struct playcount
-   above */
-#define NO_PLAYCOUNT (-1)
-
-
-/* keeps the contents of the output file (write) */
-typedef struct
-{
-    gchar *filename;
-    gchar *contents;     /* pointer to contents */
-    gulong pos;          /* current write position ("end of file") */
-    gulong total;        /* current total size of *contents array  */
-    GError *error;       /* place to report errors to */
-} WContents;
-
-/* size of memory by which the total size of above WContents gets
- * increased (1.5 MB) */
-#define WCONTENTS_STEPSIZE 1572864
-
-/* struct used to hold all necessary information when exporting a
- * Itdb_iTunesDB */
-typedef struct
-{
-    Itdb_iTunesDB *itdb;
-    WContents *itunesdb;
-    GError *error;       /* where to report errors to */
-} FExport;
-
-
-gboolean itdb_spl_action_known (SPLAction action);
-#endif

Deleted: gtkpod/trunk/src/itdb_track.c
===================================================================
--- gtkpod/trunk/src/itdb_track.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/itdb_track.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,205 +0,0 @@
-/* Time-stamp: <2005-06-17 22:12:16 jcs>
-|
-|  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
-|  Part of the gtkpod project.
-| 
-|  URL: http://www.gtkpod.org/
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  The code contained in this file is free software; you can redistribute
-|  it and/or modify it under the terms of the GNU Lesser General Public
-|  License as published by the Free Software Foundation; either version
-|  2.1 of the License, or (at your option) any later version.
-|
-|  This file is distributed in the hope that it will be useful,
-|  but WITHOUT ANY WARRANTY; without even the implied warranty of
-|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-|  Lesser General Public License for more details.
-|
-|  You should have received a copy of the GNU Lesser General Public
-|  License along with this code; if not, write to the Free Software
-|  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-|
-|  iTunes and iPod are trademarks of Apple
-|
-|  This product is not supported/written/published by Apple!
-|
-|  $Id: itdb_track.c,v 1.10 2005/06/17 13:30:03 jcsjcs Exp $
-*/
-
-#include "itdb_private.h"
-#include <string.h>
-
-/* Generate a new Itdb_Track structure */
-Itdb_Track *itdb_track_new (void)
-{
-    Itdb_Track *track = g_new0 (Itdb_Track, 1);
-
-    track->unk020 = 1;
-    return track;
-}
-
-
-/* Add @track to @itdb->tracks at position @pos (or at the end if pos
-   is -1). Application is responsible to also add it to the master
-   playlist. */
-void itdb_track_add (Itdb_iTunesDB *itdb, Itdb_Track *track, gint32 pos)
-{
-    g_return_if_fail (itdb);
-    g_return_if_fail (track);
-    g_return_if_fail (!track->userdata || track->userdata_duplicate);
-
-    track->itdb = itdb;
-
-    if (pos == -1)  itdb->tracks = g_list_append (itdb->tracks, track);
-    else  itdb->tracks = g_list_insert (itdb->tracks, track, pos);
-}
-
-/* Free the memory taken by @track */
-void itdb_track_free (Itdb_Track *track)
-{
-    g_return_if_fail (track);
-
-    g_free (track->album);
-    g_free (track->artist);
-    g_free (track->title);
-    g_free (track->genre);
-    g_free (track->comment);
-    g_free (track->composer);
-    g_free (track->fdesc);
-    g_free (track->grouping);
-    g_free (track->ipod_path);
-    if (track->userdata && track->userdata_destroy)
-	(*track->userdata_destroy) (track->userdata);
-    g_free (track);
-}
-
-/* Remove track @track and free memory */
-void itdb_track_remove (Itdb_Track *track)
-{
-    Itdb_iTunesDB *itdb;
-
-    g_return_if_fail (track);
-    itdb = track->itdb;
-    g_return_if_fail (itdb);
-
-    itdb->tracks = g_list_remove (itdb->tracks, track);
-    itdb_track_free (track);
-}
-
-/* Remove track @track but do not free memory */
-/* track->itdb is set to NULL */
-void itdb_track_unlink (Itdb_Track *track)
-{
-    Itdb_iTunesDB *itdb;
-
-    g_return_if_fail (track);
-    itdb = track->itdb;
-    g_return_if_fail (itdb);
-
-    itdb->tracks = g_list_remove (itdb->tracks, track);
-    track->itdb = NULL;
-}
-
-/* Duplicate an existing track */
-Itdb_Track *itdb_track_duplicate (Itdb_Track *tr)
-{
-    Itdb_Track *tr_dup;
-
-    g_return_val_if_fail (tr, NULL);
-    g_return_val_if_fail (!tr->userdata || tr->userdata_duplicate, NULL);
-
-    tr_dup = g_new0 (Itdb_Track, 1);
-    memcpy (tr_dup, tr, sizeof (Itdb_Track));
-
-    /* clear itdb pointer */
-    tr_dup->itdb = NULL;
-
-    /* copy strings */
-    tr_dup->album = g_strdup (tr->album);
-    tr_dup->artist = g_strdup (tr->artist);
-    tr_dup->title = g_strdup (tr->title);
-    tr_dup->genre = g_strdup (tr->genre);
-    tr_dup->comment = g_strdup (tr->comment);
-    tr_dup->composer = g_strdup (tr->composer);
-    tr_dup->fdesc = g_strdup (tr->fdesc);
-    tr_dup->grouping = g_strdup (tr->grouping);
-    tr_dup->ipod_path = g_strdup (tr->ipod_path);
-
-    /* Copy userdata */
-    if (tr->userdata)
-	tr_dup->userdata = tr->userdata_duplicate (tr->userdata);
-
-    return tr_dup;
-}
-
-
-
-/* Returns the track with the ID @id or NULL if the ID cannot be
- * found. */
-/* Looking up tracks by ID is not really a good idea because the IDs
-   are created by itdb just before export. The functions are here
-   because they are needed during import of the iTunesDB which is
-   referencing tracks by IDs */
-/* This function is very slow -- if you need to lookup many IDs use
-   the functions itdb_track_id_tree_create(),
-   itdb_track_id_tree_destroy(), and itdb_track_id_tree_by_id() below. */
-Itdb_Track *itdb_track_by_id (Itdb_iTunesDB *itdb, guint32 id)
-{
-    GList *gl;
-
-    g_return_val_if_fail (itdb, NULL);
-
-    for (gl=itdb->tracks; gl; gl=gl->next)
-    {
-	Itdb_Track *track = gl->data;
-	if (track->id == id)  return track;
-    }
-    return NULL;
-}
-
-static gint track_id_compare (gconstpointer a, gconstpointer b)
-{
-    if (*(guint32*) a == *(guint32*) b)
-	return 0;
-    if (*(guint32*) a > *(guint32*) b)
-	return 1;
-    return -1;
-}
-
-
-/* Creates a balanced-binary tree for quick ID lookup that is used in
-   itdb_track_by_id_tree() function below */
-GTree *itdb_track_id_tree_create (Itdb_iTunesDB *itdb)
-{
-    GTree *idtree;
-    GList *gl;
-
-    g_return_val_if_fail (itdb, NULL);
-
-    idtree = g_tree_new (track_id_compare);
-
-    for (gl=itdb->tracks; gl; gl=gl->next)
-    {
-	Itdb_Track *tr = gl->data;
-	g_return_val_if_fail (tr, NULL);
-	g_tree_insert (idtree, &tr->id, tr);
-    }
-    return idtree;
-}
-
-/* free memory of @idtree */
-void itdb_track_id_tree_destroy (GTree *idtree)
-{
-    g_return_if_fail (idtree);
-
-    g_tree_destroy (idtree);
-}
-
-/* lookup track by @id using @idtree for quicker reference */
-Itdb_Track *itdb_track_id_tree_by_id (GTree *idtree, guint32 id)
-{
-    g_return_val_if_fail (idtree, NULL);
-
-    return (Itdb_Track *)g_tree_lookup (idtree, &id);
-}

Modified: gtkpod/trunk/src/main.c
===================================================================
--- gtkpod/trunk/src/main.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/main.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-08 23:04:28 jcs>
+/* Time-stamp: <2005-11-25 23:52:12 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: main.c,v 1.45 2005/07/09 06:53:26 jcsjcs Exp $
+|  $Id: main.c,v 1.47 2005/11/26 13:44:41 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -39,8 +39,8 @@
 #include "prefs.h"
 #include "misc.h"
 #include "file.h"
+//#include "podcast.h"
 
-
 /* path to gtkpod.glade */
 gchar *xml_file;
 
@@ -120,7 +120,7 @@
 
   glade_xml_signal_autoconnect (main_window_xml);
   
-  gtkpod_window = glade_xml_get_widget (main_window_xml, "gtkpod");
+  gtkpod_window = gtkpod_xml_get_widget (main_window_xml, "gtkpod");
   
   if (!read_prefs (gtkpod_window, argc, argv)) return 0;
 

Modified: gtkpod/trunk/src/misc.c
===================================================================
--- gtkpod/trunk/src/misc.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,5 +1,5 @@
 /* -*- coding: utf-8; -*-
-|  Time-stamp: <2005-07-15 23:37:16 jcs>
+|  Time-stamp: <2005-12-11 00:15:39 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -25,7 +25,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc.c,v 1.181 2005/07/15 14:39:37 jcsjcs Exp $
+|  $Id: misc.c,v 1.192 2005/12/10 17:04:28 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -71,16 +71,16 @@
 
   about_xml = glade_xml_new (xml_file, "gtkpod_about_window", NULL);
   glade_xml_signal_autoconnect (about_xml);
-  about_window = glade_xml_get_widget (about_xml, "gtkpod_about_window");
+  about_window = gtkpod_xml_get_widget (about_xml, "gtkpod_about_window");
   
   
-  about_label = GTK_LABEL (glade_xml_get_widget (about_xml, "about_label"));
+  about_label = GTK_LABEL (gtkpod_xml_get_widget (about_xml, "about_label"));
   label_text = g_strdup_printf (_("gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm)."), VERSION);
   gtk_label_set_text (about_label, label_text);
   g_free (label_text);
   {
       gchar *text[] = {_("\
-(C) 2002 - 2003\n\
+(C) 2002 - 2005\n\
 Jorg Schuler (jcsjcs at users dot sourceforge dot net)\n\
 Corey Donohoe (atmos at atmos dot org)\n\
 \n\
@@ -151,7 +151,21 @@
 Clinton Gormley: sync scripts for thunderbird\n"),
 		       "\n",
 		       _("\
-Icons of buttons were made by Nicolas Chariot.\n\
+Sebastien Beridot: sync script for ldif addressbook format\n"),
+		       "\n",
+		       _("\
+Sebastian Scherer: sync script for kNotes\n"),
+		       "\n",
+		       _("\
+Nick Piper: sync script for Palm, type-ahead search\n"),
+		       "\n",
+		       _("\
+Uwe Hermann: help with support for iPod Video\n"),
+		       "\n",
+		       _("\
+Iain Benson: support for compilation tag in mp3 files and separate display of compilations in the sort tab.\n"),
+		       _("\
+Nicolas Chariot: icons of buttons\n\
 \n\
 \n"),
 		       _("\
@@ -169,7 +183,7 @@
 The GUI was created with the help of glade-2 (http://glade.gnome.org/).\n"),
 		       NULL };
       gchar **strp = text;
-      textview = GTK_TEXT_VIEW (glade_xml_get_widget (about_xml, "credits_textview"));
+      textview = GTK_TEXT_VIEW (gtkpod_xml_get_widget (about_xml, "credits_textview"));
       tb = gtk_text_view_get_buffer (textview);
       while (*strp)
       {
@@ -196,7 +210,7 @@
 Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)\n"),
 				     NULL };
       gchar **strp = text;
-      textview = GTK_TEXT_VIEW (glade_xml_get_widget (about_xml, "translators_textview"));
+      textview = GTK_TEXT_VIEW (gtkpod_xml_get_widget (about_xml, "translators_textview"));
       tb = gtk_text_view_get_buffer (textview);
       while (*strp)
       {
@@ -322,16 +336,14 @@
 }
 
 
-/* used by glist_duplicate */
-static void gl_dup_fe (gpointer data, GList **dup)
-{
-    *dup = g_list_append (*dup, data);
-}
-
-
-/* Duplicate a GList */
+/* Duplicate a GList (shallow copy) */
 GList *glist_duplicate (GList *list)
 {
+    auto void gl_dup_fe (gpointer data, GList **dup);
+    void gl_dup_fe (gpointer data, GList **dup)
+	{
+	    *dup = g_list_append (*dup, data);
+	}
     GList *dup = NULL;
     g_list_foreach (list, (GFunc)gl_dup_fe, &dup);
     return dup;
@@ -347,6 +359,8 @@
  * does not check prefs to see if the current prefs want gtkpod itself to
  * mount the ipod drive, that should be checked before making this call.
  */
+#include <sys/param.h>   /* seems to be needed for FreeBSD 5.4
+			    otherwise sys/mount.h throws an error */
 #include <sys/mount.h>
 #include <errno.h>
 #include <stdio.h>
@@ -545,7 +559,7 @@
 
 /* compare @str1 and @str2 case-sensitively or case-insensitively
  * depending on prefs settings */
-gint compare_string (gchar *str1, gchar *str2)
+gint compare_string (const gchar *str1, const gchar *str2)
 {
     if (prefs_get_case_sensitive ())
 	return strcmp (str1, str2);
@@ -613,7 +627,7 @@
 /* compare @str1 and @str2 case-sensitively or case-insensitively
  * depending on prefs settings, and ignoring certain initial articles 
  * ("the", "le"/"la", etc) */
-gint compare_string_fuzzy (gchar *str1, gchar *str2)
+gint compare_string_fuzzy (const gchar *str1, const gchar *str2)
 {
     gchar *tempStr;
     gint   result;
@@ -621,8 +635,8 @@
     gchar *cleanStr1 = g_utf8_casefold (str1, -1);
     gchar *cleanStr2 = g_utf8_casefold (str2, -1);
 
-    gchar *pstr1 = str1;
-    gchar *pstr2 = str2;
+    const gchar *pstr1 = str1;
+    const gchar *pstr2 = str2;
     gchar *pcleanStr1 = cleanStr1;
     gchar *pcleanStr2 = cleanStr2;
     
@@ -685,7 +699,7 @@
 
 /* compare @str1 and @str2 case-sensitively or case-insensitively
  * depending on prefs settings */
-gint compare_string_case_insensitive (gchar *str1, gchar *str2)
+gint compare_string_case_insensitive (const gchar *str1, const gchar *str2)
 {
     gchar *string1 = g_utf8_casefold (str1, -1);
     gchar *string2 = g_utf8_casefold (str2, -1);
@@ -695,7 +709,31 @@
     return result;
 }
 
+/* todo: optionally ignore 'the', 'a,' etc. */
+gboolean compare_string_start_case_insensitive (const gchar *haystack, const gchar *needle)
+{
+  gint cmp = 0;
+  gchar *nhaystack = g_utf8_normalize(haystack, -1, G_NORMALIZE_ALL);
+  gchar *lhaystack = g_utf8_casefold(nhaystack,-1);
+  gchar *nneedle = g_utf8_normalize(needle, -1, G_NORMALIZE_ALL);
+  gchar *lneedle = g_utf8_casefold(nneedle,-1);
 
+
+  cmp = strncmp(lhaystack, lneedle, strlen(lneedle));
+
+  /*
+    printf("searched for %s , matching against %s with %d bytes. say=%d\n", 
+    lneedle, lhaystack, strlen(lneedle), cmp);
+  */
+  
+  g_free(nhaystack);
+  g_free(lhaystack);
+  g_free(nneedle);
+  g_free(lneedle);
+  return cmp;
+};
+
+
 /* ------------------------------------------------------------
 ------------------------------------------------------------------
 --------                                                 ---------
@@ -769,7 +807,7 @@
 	prefs_set_int_value (prefs_string, 0);
 	wnum = 0;
     }
-    w = glade_xml_get_widget (win_xml, widgets[wnum]);
+    w = gtkpod_xml_get_widget (win_xml, widgets[wnum]);
     if (w)
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), TRUE);
 }
@@ -787,7 +825,7 @@
 
     for (i=0; widgets[i]; ++i)
     {
-	GtkWidget *w = glade_xml_get_widget (win_xml, widgets[i]);
+	GtkWidget *w = gtkpod_xml_get_widget (win_xml, widgets[i]);
 	if (w)
 	{
 	    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w)))
@@ -889,7 +927,7 @@
     if (!string)
 	string = g_strdup (dflt);
 
-    entry = glade_xml_get_widget (win_xml, name);
+    entry = gtkpod_xml_get_widget (win_xml, name);
 
     if (entry)
 	gtk_entry_set_text(GTK_ENTRY(entry), string);
@@ -909,7 +947,7 @@
 
     g_return_if_fail (win_xml && name);
 
-    entry = glade_xml_get_widget (win_xml, name);
+    entry = gtkpod_xml_get_widget (win_xml, name);
 
     if (entry)
     {
@@ -934,7 +972,7 @@
     if (!prefs_get_int_value (name, &active))
 	active = dflt;
 
-    button = glade_xml_get_widget (win_xml, name);
+    button = gtkpod_xml_get_widget (win_xml, name);
 
     if (button)
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(button),
@@ -952,7 +990,7 @@
 
     g_return_val_if_fail (win_xml && name, active);
 
-    button = glade_xml_get_widget (win_xml, name);
+    button = gtkpod_xml_get_widget (win_xml, name);
 
     if (button)
     {
@@ -1019,7 +1057,10 @@
 /* Match a list of templates @p separated by ';' with the type of the
    filename. E.g. '%s.mp3;%t.wav' will return '%s.mp3' if @track is an
    mp3 file, or '%t.wav' if @track is a wav file. If no template can
-   be matched, an empty string is returned. */
+   be matched, an empty string is returned.
+
+   String be freed after use.
+*/
 static gchar *select_template (Track *track, const gchar *p)
 {
     gchar **templates, **tplp;
@@ -1067,56 +1108,38 @@
 }
 
 
-/* Return a string for @track built according to @full_template.
-   @full_template can contain several templates separated by ';',
-   e.g. '%s.mp3;%t.wav'. The correct one is selected using
-   select_template() defined above.
-   If @is_filename is TRUE, potentially harmful characters are
-   replaced in an attempt to create a valid filename.
-   If @is_filename is FALSE, the extension (e.g. '.mp3' will be
-   removed). */
+/* Return a string for @track built according to @template.
+
+   @is_filename: if TRUE, remove potentially harmful characters.*/
 gchar *get_string_from_template (Track *track,
-				 const gchar *full_template,
+				 const gchar *template,
 				 gboolean is_filename)
 {
     GString *result;
-    gchar *p, *res_utf8;
+    gchar *res_utf8;
+    const gchar *p;
     gchar *basename = NULL;
-    gchar *template;
+    gchar *basename_noext = NULL;
     ExtraTrackData *etr;
 
-    g_return_val_if_fail (track && full_template, NULL);
+    g_return_val_if_fail (track, NULL);
+    g_return_val_if_fail (template, NULL);
     etr = track->userdata;
     g_return_val_if_fail (etr, NULL);
 
-    template = select_template (track, full_template);
-
-    if (!template)
-    {
-	gchar *fn = get_file_name (track);
-	gtkpod_warning (_("Template ('%s') does not match file type '%s'\n"), full_template, fn ? fn:"");
-	g_free (fn);
-	return NULL;
-    }
-
-    if (!is_filename)
-    {   /* remove an extension, if present ('.???' or '.????'  at the
-	   end) */
-	gchar *pnt = strrchr (template, '.');
-	if (pnt)
-	{
-	    if (pnt == template+strlen(template)-3)
-		*pnt = 0;
-	    if (pnt == template+strlen(template)-4)
-		*pnt = 0;
-	}
-    }
-
     result = g_string_new ("");
 
     /* try to get the original filename */
     if (etr->pc_path_utf8)
 	basename = g_path_get_basename (etr->pc_path_utf8);
+    /* get original filename without extension */
+    if (basename)
+    {
+	gchar *ptr;
+	basename_noext = g_strdup (basename);
+	ptr = strrchr (basename_noext, '.');
+	if (ptr) *ptr = '\0';
+    }
 
     p=template;
     while (*p != '\0') {
@@ -1132,6 +1155,12 @@
 		    tmp = basename;
 		}
 		break;
+	    case 'O':
+		if (basename_noext)
+		{
+		    tmp = basename_noext;
+		}
+		break;
 	    case 'p':
 		pl = pm_get_selected_playlist ();
 		if (pl)
@@ -1236,10 +1265,65 @@
 	}
     }
 
+    g_free (basename);
+    g_free (basename_noext);
+
     return res_utf8;
 }
 
 
+
+/* Return a string for @track built according to @full_template.
+   @full_template can contain several templates separated by ';',
+   e.g. '%s.mp3;%t.wav'. The correct one is selected using
+   select_template() defined above.
+
+   If @is_filename is TRUE, potentially harmful characters are
+   replaced in an attempt to create a valid filename.
+
+   If @is_filename is FALSE, the extension (e.g. '.mp3' will be
+   removed). */
+gchar *get_string_from_full_template (Track *track,
+				      const gchar *full_template,
+				      gboolean is_filename)
+{
+    gchar *res_utf8;
+    gchar *template;
+
+    g_return_val_if_fail (track, NULL);
+    g_return_val_if_fail (full_template, NULL);
+
+    template = select_template (track, full_template);
+
+    if (!template)
+    {
+	gchar *fn = get_file_name (track);
+	gtkpod_warning (_("Template ('%s') does not match file type '%s'\n"), full_template, fn ? fn:"");
+	g_free (fn);
+	return NULL;
+    }
+
+    if (!is_filename)
+    {   /* remove an extension, if present ('.???' or '.????'  at the
+	   end) */
+	gchar *pnt = strrchr (template, '.');
+	if (pnt)
+	{
+	    if (pnt == template+strlen(template)-3)
+		*pnt = 0;
+	    if (pnt == template+strlen(template)-4)
+		*pnt = 0;
+	}
+    }
+
+    res_utf8 = get_string_from_template (track, template, is_filename);
+
+    g_free (template);
+
+    return res_utf8;
+}
+
+
 /**
  * which - run the shell command which, useful for querying default values
  * for executable,
@@ -1267,3 +1351,87 @@
     g_free(which_exec);
     return(result);
 }
+
+/**
+ * Recursively make directories.
+ * @return FALSE is this is not possible.
+ */
+gboolean mkdirhier(const gchar *dirname)
+{
+    gchar *dn, *p;
+
+    g_return_val_if_fail (dirname && *dirname, FALSE);
+
+    if (strncmp ("~/", dirname, 2) == 0)
+	 dn = g_build_filename (g_get_home_dir(), dirname+2, NULL);
+    else dn = g_strdup (dirname);
+
+    p = dn;
+
+    do
+    {
+	++p;
+	p = index (p, G_DIR_SEPARATOR);
+
+	if (p)   *p = '\0';
+
+	if (!g_file_test(dn, G_FILE_TEST_EXISTS))
+	{
+	    if (mkdir(dn, 0777) == -1)
+	    {
+		gtkpod_warning (_("Error creating %s: %s\n"),
+				dn, g_strerror(errno));
+		g_free (dn);
+		return FALSE;
+	    }
+	}
+	if (p)   *p = G_DIR_SEPARATOR;
+    } while (p);
+
+    g_free (dn);
+    return TRUE;
+}
+
+/**
+ * Recursively make directories in the given filename.
+ * @return FALSE is this is not possible.
+ */
+gboolean mkdirhierfile(const gchar *filename)
+{
+    gboolean result;
+    gchar *dirname = g_path_get_dirname (filename);
+    result = mkdirhier (dirname);
+    g_free (dirname);
+    return result;
+}
+
+
+/**
+ * Convert "~/" to "/home/.../"
+ *
+ * g_free() return value when no longer needed.
+ */
+gchar *convert_filename (const gchar *filename)
+{
+    if (strncmp ("~/", filename, 2) == 0)
+	 return g_build_filename (g_get_home_dir(), filename+2, NULL);
+    else return g_strdup (filename);
+}
+
+
+
+/**
+ * Wrapper for gtkpod_xml_get_widget() giving out a warning if widget
+ * could not be found.
+ *
+ **/
+GtkWidget *gtkpod_xml_get_widget (GladeXML *xml, const gchar *name)
+{
+    GtkWidget *w=glade_xml_get_widget (xml, name);
+
+    if (!w)
+	fprintf (stderr, "*** Programming error: Widget not found: '%s'\n",
+		 name);
+
+    return w;
+}

Modified: gtkpod/trunk/src/misc.h
===================================================================
--- gtkpod/trunk/src/misc.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-09 14:32:12 jcs>
+/* Time-stamp: <2005-12-11 00:15:38 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc.h,v 1.100 2005/07/09 06:53:26 jcsjcs Exp $
+|  $Id: misc.h,v 1.107 2005/12/10 17:04:29 jcsjcs Exp $
 */
 
 #ifndef __MISC_H__
@@ -40,7 +40,6 @@
 #include <stdio.h>
 #include "file.h"
 #include "display_itdb.h"
-#include "itdb.h"
 #include "display.h"
 #include "confirmation.h"
 #include "time.h"
@@ -125,16 +124,19 @@
 time_t time_string_to_time (const gchar *str);
 time_t time_string_to_fromtime (const gchar *str);
 time_t time_string_to_totime (const gchar *str);
-time_t time_get_time (Track *track, TM_item tm_item);
-gchar *time_field_to_string (Track *track, TM_item tm_item);
-void time_set_time (Track *track, time_t t, TM_item tm_item);
+time_t time_get_time (Track *track, T_item t_item);
+gchar *time_field_to_string (Track *track, T_item t_item);
+void time_set_time (Track *track, time_t t, T_item t_item);
 
 gchar *get_filesize_as_string (double size);
 
-gint compare_string (gchar *str1, gchar *str2);
+gint compare_string (const gchar *str1, const gchar *str2);
 void compare_string_fuzzy_generate_keys (void);
-gint compare_string_fuzzy (gchar *str1, gchar *str2);
-gint compare_string_case_insensitive (gchar *str1, gchar *str2);
+gint compare_string_fuzzy (const gchar *str1, const gchar *str2);
+gint compare_string_case_insensitive (const gchar *str1,
+				      const gchar *str2);
+gint compare_string_start_case_insensitive (const gchar *haystack,
+					    const gchar *needle);
 
 gchar *filename_from_uri (const char *uri,
 			  char      **hostname,
@@ -161,6 +163,10 @@
 
 void check_db (iTunesDB *db);
 
+gboolean mkdirhier(const gchar *dirname);
+gboolean mkdirhierfile(const gchar *filename);
+gchar *convert_filename (const gchar *filename);
+
 guint32 replaygain_to_soundcheck (gdouble gain);
 gdouble soundcheck_to_replaygain (guint32 soundcheck);
 
@@ -195,10 +201,15 @@
 				   const gchar *name);
 
 gchar *get_string_from_template (Track *track,
-				 const gchar *full_template,
+				 const gchar *template,
 				 gboolean is_filename);
+gchar *get_string_from_full_template (Track *track,
+				      const gchar *full_template,
+				      gboolean is_filename);
 
 GList *glist_duplicate (GList *list);
 
 gchar *which (const gchar *exe);
+
+GtkWidget *gtkpod_xml_get_widget (GladeXML *xml, const gchar *name);
 #endif

Modified: gtkpod/trunk/src/misc_confirm.c
===================================================================
--- gtkpod/trunk/src/misc_confirm.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc_confirm.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-16 01:51:01 jcs>
+/* Time-stamp: <2005-12-09 23:52:06 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc_confirm.c,v 1.19 2005/07/15 16:58:42 jcsjcs Exp $
+|  $Id: misc_confirm.c,v 1.25 2005/12/09 14:55:34 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -536,11 +536,18 @@
 		gp_playlist_remove_track (dd->pl, dd->pl->members->data,
 					  dd->deleteaction);
 	    }
-	    if (dd->pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (dd->pl))
 	    {
 		msg = g_strdup_printf (_("Removed all %d tracks from the iPod"), n);
 		display_reset (0);
 	    }
+	    else if (itdb_playlist_is_podcasts (dd->pl))
+	    {
+		msg = g_strdup_printf (_("Removed all podcasts from the iPod"));
+		if (pm_get_selected_playlist () == dd->pl)
+		    st_redisplay (0);
+//		display_reset (0);
+	    }
 	    else
 	    {
 		/* remove playlist */
@@ -553,7 +560,7 @@
 	    }
 	    break;
 	case DELETE_ACTION_PLAYLIST:
-	    if (dd->pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (dd->pl))
 	    {	/* not allowed -- programming error */
 		g_return_if_reached ();
 	    }
@@ -576,7 +583,7 @@
 	switch (dd->deleteaction)
 	{
 	case DELETE_ACTION_LOCAL:
-	    if (dd->pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (dd->pl))
 	    {   /* for safety reasons this is not implemented (would
 		   remove all tracks from your local harddisk */
 		g_return_if_reached ();
@@ -606,7 +613,7 @@
 		gp_playlist_remove_track (dd->pl, dd->pl->members->data,
 					  dd->deleteaction);
 	    }
-	    if (dd->pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (dd->pl))
 	    {
 		msg = g_strdup_printf (_("Removed all %d tracks from the database"), n);
 		display_reset (0);
@@ -623,7 +630,7 @@
 	    }
 	    break;
 	case DELETE_ACTION_PLAYLIST:
-	    if (dd->pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (dd->pl))
 	    {	/* not allowed -- programming error */
 		g_return_if_reached ();
 	    }
@@ -681,10 +688,15 @@
 	switch (deleteaction)
 	{
 	case DELETE_ACTION_IPOD:
-	    if (pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (pl))
 	    {
 		label = g_strdup_printf (_("Are you sure you want to remove all tracks from your iPod?"));
 	    }
+	    else if (itdb_playlist_is_podcasts (pl))
+	    {   /* podcasts playlist */
+		dd->selected_tracks = g_list_copy (pl->members);
+		label = g_strdup_printf (_("Are you sure you want to remove all podcasts from your iPod?"));
+	    }
 	    else 
 	    {   /* normal playlist */
 		/* we set selected_tracks to get a list printed by
@@ -696,7 +708,7 @@
 	    }
 	    break;
 	case DELETE_ACTION_PLAYLIST:
-	    if (pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (pl))
 	    {	/* not allowed -- programming error */
 		g_return_if_reached ();
 	    }
@@ -717,7 +729,7 @@
 	switch (deleteaction)
 	{
 	case DELETE_ACTION_LOCAL:
-	    if (pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (pl))
 	    {   /* for safety reasons this is not implemented (would
 		   remove all tracks from your local harddisk */
 		g_return_if_reached ();
@@ -734,7 +746,7 @@
 	    }
 	    break;
 	case DELETE_ACTION_DATABASE:
-	    if (pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (pl))
 	    {
 		label = g_strdup_printf (_("Are you sure you want to remove all tracks from the database?"));
 		
@@ -751,7 +763,7 @@
 	    }
 	    break;
 	case DELETE_ACTION_PLAYLIST:
-	    if (pl->type == ITDB_PL_TYPE_MPL)
+	    if (itdb_playlist_is_mpl (pl))
 	    {	/* not allowed -- programming error */
 		g_return_if_reached ();
 	    }
@@ -864,56 +876,67 @@
 	pbuf = g_build_filename (mp, "Calendars", NULL);
 	if (!g_file_test (pbuf, G_FILE_TEST_EXISTS))
 	{
-	    if((mkdir(pbuf, 0755) != 0))
+	    if((mkdir(pbuf, 0777) != 0))
 		errordir = pbuf;
-	    else
-		g_free (pbuf);
 	}
+	if (!errordir)
+	    g_free (pbuf);
     }
     if (!errordir)
     {
 	pbuf = g_build_filename (mp, "Contacts", NULL);
 	if (!g_file_test (pbuf, G_FILE_TEST_EXISTS))
 	{
-	    if((mkdir(pbuf, 0755) != 0))
+	    if((mkdir(pbuf, 0777) != 0))
 		errordir = pbuf;
-	    else
-		g_free (pbuf);
 	}
+	if (!errordir)
+	    g_free (pbuf);
     }
     if (!errordir)
     {
 	pbuf = g_build_filename (mp, "iPod_Control", NULL);
 	if (!g_file_test (pbuf, G_FILE_TEST_EXISTS))
 	{
-	    if((mkdir(pbuf, 0755) != 0))
+	    if((mkdir(pbuf, 0777) != 0))
 		errordir = pbuf;
-	    else
-		g_free (pbuf);
 	}
+	if (!errordir)
+	    g_free (pbuf);
     }
     if (!errordir)
     {
 	pbuf = g_build_filename (mp, "iPod_Control", "Music", NULL);
 	if (!g_file_test (pbuf, G_FILE_TEST_EXISTS))
 	{
-	    if((mkdir(pbuf, 0755) != 0))
+	    if((mkdir(pbuf, 0777) != 0))
 		errordir = pbuf;
-	    else
-		g_free (pbuf);
 	}
+	if (!errordir)
+	    g_free (pbuf);
     }
     if (!errordir)
     {
 	pbuf = g_build_filename (mp, "iPod_Control", "iTunes", NULL);
 	if (!g_file_test (pbuf, G_FILE_TEST_EXISTS))
 	{
-	    if((mkdir(pbuf, 0755) != 0))
+	    if((mkdir(pbuf, 0777) != 0))
 		errordir = pbuf;
-	    else
-		g_free (pbuf);
 	}
+	if (!errordir)
+	    g_free (pbuf);
     }
+    if (!errordir)
+    {
+	pbuf = g_build_filename (mp, "iPod_Control", "Artwork", NULL);
+	if (!g_file_test (pbuf, G_FILE_TEST_EXISTS))
+	{
+	    if((mkdir(pbuf, 0777) != 0))
+		errordir = pbuf;
+	}
+	if (!errordir)
+	    g_free (pbuf);
+    }
     dirnum = ipod_directories_number (mp);
     for(i = 0; i < dirnum; i++)
     {
@@ -924,12 +947,12 @@
 				     "iPod_Control", "Music", num, NULL);
 	    if (!g_file_test (pbuf, G_FILE_TEST_EXISTS))
 	    {
-		if((mkdir(pbuf, 0755) != 0))
+		if((mkdir(pbuf, 0777) != 0))
 		    errordir = pbuf;
-		else
-		    g_free (pbuf);
 		g_free (num);
 	    }
+	    if (!errordir)
+		g_free (pbuf);
 	}
     }
 

Modified: gtkpod/trunk/src/misc_conversion.c
===================================================================
--- gtkpod/trunk/src/misc_conversion.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc_conversion.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-02 00:37:36 jcs>
+/* Time-stamp: <2005-12-03 20:39:08 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc_conversion.c,v 1.19 2005/07/01 16:53:44 jcsjcs Exp $
+|  $Id: misc_conversion.c,v 1.25 2005/12/03 16:36:26 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -64,7 +64,7 @@
     N_("Genre"),
     N_("Comment"),           /*  5 */
     N_("Composer"),
-    N_("Kind"),
+    N_("File type"),
     N_("PC File"),
     N_("iPod File"),
     N_("iPod ID"),           /* 10 */
@@ -86,6 +86,13 @@
     N_("CD Nr"),
     N_("Grouping"),
     N_("Compilation"),
+    N_("Category"),
+    N_("Description"),       /* 30 */
+    N_("Podcast URL"),
+    N_("Podcast RSS"),
+    N_("Subtitle"),
+    N_("Date released"),
+    N_("Checked"),           /* 35 */
     NULL };
 
 /* Tooltips for prefs window */
@@ -121,7 +128,16 @@
     NULL,                                              /* 25 */
     N_("CD Nr. and total number of CDS in set"),
     NULL,
-    NULL };
+    NULL,
+    N_("The category (e.g. 'Technology' or 'Music') where the podcast was located."),
+    N_("Accessible by selecting the center button on the iPod."), /* 30 */
+    NULL,
+    NULL,
+    NULL,
+    N_("Release date (for podcasts displayed next to the title on the iPod)"),
+    NULL,   /* 35 */
+    NULL
+ };
 
 
 /* translates a TM_COLUMN_... (defined in display.h) into a
@@ -136,7 +152,7 @@
     case TM_COLUMN_ALBUM:         return T_ALBUM;
     case TM_COLUMN_GENRE:         return T_GENRE;
     case TM_COLUMN_COMPOSER:      return T_COMPOSER;
-    case TM_COLUMN_FDESC:         return T_FDESC;
+    case TM_COLUMN_FILETYPE:      return T_FILETYPE;
     case TM_COLUMN_GROUPING:      return T_GROUPING;
     case TM_COLUMN_TRACK_NR:      return T_TRACK_NR;
     case TM_COLUMN_CD_NR:         return T_CD_NR;
@@ -158,6 +174,13 @@
     case TM_COLUMN_SOUNDCHECK:    return T_SOUNDCHECK;
     case TM_COLUMN_YEAR:          return T_YEAR;
     case TM_COLUMN_COMPILATION:   return T_COMPILATION;
+    case TM_COLUMN_COMMENT:       return T_COMMENT;
+    case TM_COLUMN_CATEGORY:      return T_CATEGORY;
+    case TM_COLUMN_DESCRIPTION:   return T_DESCRIPTION;
+    case TM_COLUMN_PODCASTURL:    return T_PODCASTURL;
+    case TM_COLUMN_PODCASTRSS:    return T_PODCASTRSS;
+    case TM_COLUMN_SUBTITLE:      return T_SUBTITLE;
+    case TM_COLUMN_TIME_RELEASED: return T_TIME_RELEASED;
     case TM_NUM_COLUMNS:          return -1;
     }
     return -1;
@@ -191,8 +214,9 @@
 {
     T_item t = TM_to_T (tm);
 
-    if (t != -1)   return t_strings[t];
-    else           return ("");
+    g_return_val_if_fail (t != -1, "");
+
+    return t_strings[t];
 }
 
 
@@ -203,8 +227,9 @@
 {
     T_item t = TM_to_T (tm);
 
-    if (t != -1)   return t_tooltips[t];
-    else           return ("");
+    g_return_val_if_fail (t != -1, "");
+
+    return t_tooltips[t];
 }
 
 
@@ -213,8 +238,9 @@
  * buttons or column headers). */
 const gchar *get_t_string (T_item t)
 {
-    if (t != -1)   return t_strings[t];
-    else           return ("");
+    g_return_val_if_fail (t>=0 && t<T_ITEM_NUM, "");
+
+    return t_strings[t];
 }
 
 
@@ -317,7 +343,7 @@
 
 
 /* convert the string @str to a time stamp, assuming 0:00:00 if no
- * time is given */
+ * time is given. Returns 0 if @str is "--" */
 time_t time_string_to_fromtime (const gchar *str)
 {
     time_t t;
@@ -325,6 +351,8 @@
 
     g_return_val_if_fail (str, -1);
 
+    if (strcmp (str, "--") == 0)  return 0;
+
     t = time (NULL);
     localtime_r (&t, &tm);
     tm.tm_sec = 0;
@@ -356,22 +384,25 @@
 }
 
 
-/* get the timestamp TM_COLUMN_TIME_CREATE/PLAYED/MODIFIED */
-time_t time_get_time (Track *track, TM_item tm_item)
+/* get the timestamp TM_COLUMN_TIME_CREATE/PLAYED/MODIFIED/RELEASED */
+time_t time_get_time (Track *track, T_item t_item)
 {
     guint32 mactime = 0;
 
-    if (track) switch (tm_item)
+    if (track) switch (t_item)
     {
-    case TM_COLUMN_TIME_ADDED:
+    case T_TIME_ADDED:
 	mactime = track->time_added;
 	break;
-    case TM_COLUMN_TIME_PLAYED:
+    case T_TIME_PLAYED:
 	mactime = track->time_played;
 	break;
-    case TM_COLUMN_TIME_MODIFIED:
+    case T_TIME_MODIFIED:
 	mactime = track->time_modified;
 	break;
+    case T_TIME_RELEASED:
+	mactime = track->time_released;
+	break;
     default:
 	mactime = 0;
 	break;
@@ -381,28 +412,31 @@
 
 
 /* hopefully obvious */
-gchar *time_field_to_string (Track *track, TM_item tm_item)
+gchar *time_field_to_string (Track *track, T_item t_item)
 {
-    return (time_time_to_string (time_get_time (track, tm_item)));
+    return (time_time_to_string (time_get_time (track, t_item)));
 }
 
 
-/* get the timestamp TM_COLUMN_TIME_CREATE/PLAYED/MODIFIED */
-void time_set_time (Track *track, time_t time, TM_item tm_item)
+/* get the timestamp TM_COLUMN_TIME_CREATE/PLAYED/MODIFIED/RELEASED */
+void time_set_time (Track *track, time_t time, T_item t_item)
 {
     guint32 mactime = itdb_time_host_to_mac (time);
 
-    if (track) switch (tm_item)
+    if (track) switch (t_item)
     {
-    case TM_COLUMN_TIME_ADDED:
+    case T_TIME_ADDED:
 	track->time_added = mactime;
 	break;
-    case TM_COLUMN_TIME_PLAYED:
+    case T_TIME_PLAYED:
 	track->time_played = mactime;
 	break;
-    case TM_COLUMN_TIME_MODIFIED:
+    case T_TIME_MODIFIED:
 	track->time_modified = mactime;
 	break;
+    case T_TIME_RELEASED:
+	track->time_released = mactime;
+	break;
     default:
 	break;
     }

Modified: gtkpod/trunk/src/misc_input.c
===================================================================
--- gtkpod/trunk/src/misc_input.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc_input.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:12:15 jcs>
+/* Time-stamp: <2005-11-25 23:52:11 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc_input.c,v 1.11 2005/06/17 13:30:04 jcsjcs Exp $
+|  $Id: misc_input.c,v 1.12 2005/11/26 13:44:41 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -264,7 +264,7 @@
     GtkWidget *w;
     struct blocked_widget *bw;
 
-    if((w = glade_xml_get_widget (main_window_xml,  name)))
+    if((w = gtkpod_xml_get_widget (main_window_xml,  name)))
     {
 	bw = g_malloc0 (sizeof (struct blocked_widget));
 	bw->widget = w;

Modified: gtkpod/trunk/src/misc_playlist.c
===================================================================
--- gtkpod/trunk/src/misc_playlist.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc_playlist.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-16 15:42:28 jcs>
+/* Time-stamp: <2005-11-21 00:27:51 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc_playlist.c,v 1.23 2005/07/16 07:13:50 jcsjcs Exp $
+|  $Id: misc_playlist.c,v 1.27 2005/11/23 04:16:12 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -173,7 +173,7 @@
 	Track *track = gl->data;
 	Playlist *cat_pl = NULL;
 	gchar *category = NULL;
-	gchar *track_cat;
+	const gchar *track_cat;
 
 	track_cat = track_get_item (track, cat);
 
@@ -638,7 +638,7 @@
 /* Insert function: determines whether a track is entered into the playlist */
 static gboolean All_Ratings_IF (Track *track, gpointer user_data)
 {
-    gint playlist_nr = (gint)user_data;
+    guint playlist_nr = GPOINTER_TO_UINT(user_data);
     if (track) return (track->rating == playlist_nr*20);
     return FALSE;
 }
@@ -647,7 +647,7 @@
 void each_rating_pl(iTunesDB *itdb)
 {
     gchar *str;
-    gint playlist_nr;
+    guint playlist_nr;
 
     g_return_if_fail (itdb);
     str = _("Unrated tracks");
@@ -659,7 +659,7 @@
 	} 
     	update_ranked_playlist (itdb, str, 0,
 				All_Ratings_IF, All_Ratings_CF,
-				(gpointer)playlist_nr);
+				GUINT_TO_POINTER(playlist_nr));
     }
     g_free (str);
 }
@@ -765,10 +765,7 @@
  *  can happen... didn't check yet
  ******************************************************************************/
 
-#define IPOD_MUSIC_DIRS 20
-#define IPOD_CONTROL_DIR "iPod_Control"
 
-
 /* compare @str1 and @str2 case-sensitively only */
 gint str_cmp (gconstpointer str1, gconstpointer str2, gpointer data)
 {
@@ -1032,19 +1029,35 @@
 	Track *track = gl->data;
         gint ntok=0;
 	g_return_if_fail (track);
-        /* we don't want to report non-transferred files as dandgling */
+        /* we don't want to report non-transferred files as dangling */
 	if (!track->transferred) continue; 
 	tokens = g_strsplit(track->ipod_path,":",(track->ipod_path[0]==':'?4:3));
         ntok=ntokens(tokens);
 	if (ntok>=3)
+	{
 	    pathtrack=g_strdup (tokens[ntok-1]);
+	}
 	else
-	    fprintf(stderr, "Report the bug please: shouldn't be 0 at %s:%d\n",__FILE__,__LINE__);
+	{
+	    /* illegal ipod_path */
+	    /* the track has NO ipod_path, so we want the item to
+	       ultimately be deleted from DB, * however, we need to
+	       add it to tree it such a way that:
+               a) it will be unique
+               b) it won't match to any existing file on the ipod
+
+               so use something invented using the pointer to the
+               track structure as a way to generate uniqueness
+            */
+           pathtrack=g_strdup_printf ("NOFILE-%p", track);
+	}
+
         if (localdebug)
+	{
             fprintf(stdout,"File %s\n", pathtrack);
+	    fflush(stdout);
+	}
 
-	fflush(stdout);
-
 	g_tree_insert (files_known, pathtrack, track);
 	g_strfreev(tokens);
     }
@@ -1053,10 +1066,9 @@
     gtkpod_tracks_statusbar_update();
     process_gtk_events_blocked();
 
-    for(h=0;h<IPOD_MUSIC_DIRS;h++)
+    for(h=0; h<itdb_musicdirs_number (itdb); h++)
     {
 	/* directory name */
-	/* FIXME: should not depend on IPOD_MUSIC_DIRS */
 	gchar *ipod_dir=g_strdup_printf("F%02d",h); /* just directory name */
 	gchar *ipod_fulldir;
 	const gchar * music[] = {"iPod_Control","Music", NULL, NULL,};

Modified: gtkpod/trunk/src/misc_track.c
===================================================================
--- gtkpod/trunk/src/misc_track.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc_track.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-20 23:08:22 jcs>
+/* Time-stamp: <2005-12-11 02:00:14 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc_track.c,v 1.21 2005/06/20 14:32:06 jcsjcs Exp $
+|  $Id: misc_track.c,v 1.33 2005/12/10 17:04:29 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -39,6 +39,7 @@
 #include "info.h"
 #include "charset.h"
 #include <math.h>
+#include <stdlib.h>
 #include <string.h>
 
 
@@ -270,8 +271,8 @@
        /* Set rating */
        if (oldtrack->rating && track->rating)
 	   oldtrack->rating =
-	       floor((double)(oldtrack->rating + track->rating + RATING_STEP) /
-		     (2 * RATING_STEP)) * RATING_STEP;
+	       floor((double)(oldtrack->rating + track->rating + ITDB_RATING_STEP) /
+		     (2 * ITDB_RATING_STEP)) * ITDB_RATING_STEP;
        else
 	   oldtrack->rating = MAX (oldtrack->rating, track->rating);
        /* Set 'modified' timestamp */
@@ -413,7 +414,7 @@
 	    gchar *ipod_path;
 	    g_return_val_if_fail (track, NULL);
 	    mount = charset_from_utf8 (prefs_get_ipod_mount ());
-	    ipod_path = itdb_filename_on_ipod (mount, track);
+	    ipod_path = itdb_filename_on_ipod (track);
 	    g_free (mount);
 	    if (ipod_path)
 	    {
@@ -485,27 +486,71 @@
     case T_COMPOSER:
 	result = &track->composer;
 	break;
-    case T_FDESC:
-	result = &track->fdesc;
+    case T_FILETYPE:
+	result = &track->filetype;
 	break;
-    case T_GROUPING:
-	result = &track->grouping;
-	break;
     case T_IPOD_PATH:
 	result = &track->ipod_path;
 	break;
+    case T_PC_PATH:
+	result = &etr->pc_path_utf8;
+	break;
     case T_YEAR:
 	result = &etr->year_str;
 	break;
-    default:
+    case T_GROUPING:
+	result = &track->grouping;
+	break;
+    case T_CATEGORY:
+	result = &track->category;
+	break;
+    case T_DESCRIPTION:
+	result = &track->description;
+	break;
+    case T_PODCASTURL:
+	result = &track->podcasturl;
+	break;
+    case T_PODCASTRSS:
+	result = &track->podcastrss;
+	break;
+    case T_SUBTITLE:
+	result = &track->subtitle;
+	break;
+    case T_ALL:
+    case T_IPOD_ID:
+    case T_TRACK_NR:
+    case T_TRANSFERRED:
+    case T_SIZE:
+    case T_TRACKLEN:
+    case T_BITRATE:
+    case T_SAMPLERATE:
+    case T_BPM:
+    case T_PLAYCOUNT:
+    case T_RATING:
+    case T_TIME_ADDED:
+    case T_TIME_PLAYED:
+    case T_TIME_MODIFIED:
+    case T_TIME_RELEASED:
+    case T_VOLUME:
+    case T_SOUNDCHECK:
+    case T_CD_NR:
+    case T_COMPILATION:
+    case T_CHECKED:
+    case T_ITEM_NUM:
 	g_return_val_if_reached (NULL);
     }
     return result;
 }
 
+
+
+
+
+
+
 /* return the UTF8 item @t_item. @t_item is one of
    (the applicable) T_* defined in track.h */
-gchar *track_get_item (Track *track, T_item t_item)
+const gchar *track_get_item (Track *track, T_item t_item)
 {
     gchar **ptr;
 
@@ -518,6 +563,187 @@
 }
 
 
+/* Copy item @item from @frtrack to @totrack.
+   Return value:
+     TRUE: @totrack was changed
+     FALSE: @totrack is unchanged
+*/
+gboolean track_copy_item (Track *frtrack, Track *totrack, T_item item)
+{
+    gboolean changed = FALSE;
+    const gchar *fritem;
+    gchar **toitem_ptr;
+
+    g_return_val_if_fail (frtrack, FALSE);
+    g_return_val_if_fail (totrack, FALSE);
+    g_return_val_if_fail ((item > 0) && (item < T_ITEM_NUM), FALSE);
+
+    if (frtrack == totrack) return FALSE;
+
+    switch (item)
+    {
+    case T_ALBUM:
+    case T_ARTIST:
+    case T_TITLE:
+    case T_GENRE:
+    case T_COMMENT:
+    case T_COMPOSER:
+    case T_FILETYPE:
+    case T_IPOD_PATH:
+    case T_PC_PATH:
+    case T_YEAR:
+    case T_GROUPING:
+    case T_CATEGORY:
+    case T_DESCRIPTION:
+    case T_PODCASTURL:
+    case T_PODCASTRSS:
+    case T_SUBTITLE:
+	fritem = track_get_item (frtrack, item);
+	toitem_ptr = track_get_item_pointer (totrack, item);
+	g_return_val_if_fail (fritem, FALSE);
+	g_return_val_if_fail (toitem_ptr, FALSE);
+	if ((*toitem_ptr == NULL) || (strcmp (fritem, *toitem_ptr) != 0))
+	{
+	    g_free (*toitem_ptr);
+	    *toitem_ptr = g_strdup (fritem);
+	    changed = TRUE;
+	}
+	break;
+    case T_IPOD_ID:
+	if (frtrack->id != totrack->id)
+	{
+	    totrack->id = frtrack->id;
+	    changed = TRUE;
+	}
+	break;
+    case T_TRACK_NR:
+	if (frtrack->track_nr != totrack->track_nr)
+	{
+	    totrack->track_nr = frtrack->track_nr;
+	    changed = TRUE;
+	}
+	if (frtrack->tracks != totrack->tracks)
+	{
+	    totrack->tracks = frtrack->tracks;
+	    changed = TRUE;
+	}
+	break;
+    case T_TRANSFERRED:
+	if (frtrack->transferred != totrack->transferred)
+	{
+	    totrack->transferred = frtrack->transferred;
+	    changed = TRUE;
+	}
+	break;
+    case T_SIZE:
+	if (frtrack->size != totrack->size)
+	{
+	    totrack->size = frtrack->size;
+	    changed = TRUE;
+	}
+	break;
+    case T_TRACKLEN:
+	if (frtrack->tracklen != totrack->tracklen)
+	{
+	    totrack->tracklen = frtrack->tracklen;
+	    changed = TRUE;
+	}
+	break;
+    case T_BITRATE:
+	if (frtrack->bitrate != totrack->bitrate)
+	{
+	    totrack->bitrate = frtrack->bitrate;
+	    changed = TRUE;
+	}
+	break;
+    case T_SAMPLERATE:
+	if (frtrack->samplerate != totrack->samplerate)
+	{
+	    totrack->samplerate = frtrack->samplerate;
+	    changed = TRUE;
+	}
+	break;
+    case T_BPM:
+	if (frtrack->BPM != totrack->BPM)
+	{
+	    totrack->BPM = frtrack->BPM;
+	    changed = TRUE;
+	}
+	break;
+    case T_PLAYCOUNT:
+	if (frtrack->playcount != totrack->playcount)
+	{
+	    totrack->playcount = frtrack->playcount;
+	    changed = TRUE;
+	}
+	break;
+    case T_RATING:
+	if (frtrack->rating != totrack->rating)
+	{
+	    totrack->rating = frtrack->rating;
+	    changed = TRUE;
+	}
+	break;
+    case T_TIME_ADDED:
+    case T_TIME_PLAYED:
+    case T_TIME_MODIFIED:
+    case T_TIME_RELEASED:
+	if (time_get_time (frtrack, item) !=
+	    time_get_time (totrack, item))
+	{
+	    time_set_time (totrack, time_get_time (frtrack, item), item);
+	    changed = TRUE;
+	}
+	break;
+    case T_VOLUME:
+	if (frtrack->volume != totrack->volume)
+	{
+	    totrack->volume = frtrack->volume;
+	    changed = TRUE;
+	}
+	break;
+    case T_SOUNDCHECK:
+	if (frtrack->soundcheck != totrack->soundcheck)
+	{
+	    totrack->soundcheck = frtrack->soundcheck;
+	    changed = TRUE;
+	}
+	break;
+    case T_CD_NR:
+	if (frtrack->cd_nr != totrack->cd_nr)
+	{
+	    totrack->cd_nr = frtrack->cd_nr;
+	    changed = TRUE;
+	}
+	if (frtrack->cds != totrack->cds)
+	{
+	    totrack->cds = frtrack->cds;
+	    changed = TRUE;
+	}
+	break;
+    case T_COMPILATION:
+	if (frtrack->compilation != totrack->compilation)
+	{
+	    totrack->compilation = frtrack->compilation;
+	    changed = TRUE;
+	}
+	break;
+    case T_CHECKED:
+	if (frtrack->checked != totrack->checked)
+	{
+	    totrack->checked = frtrack->checked;
+	    changed = TRUE;
+	}
+	break;
+    case T_ITEM_NUM:
+    case T_ALL:
+	g_return_val_if_reached (FALSE);
+
+    }	
+    return changed;
+}
+
+
 /* return a pointer to the specified timestamp. @t_item is one of (the
    applicable) T_* defined in track.h.  If the parameters are illegal,
    "0" is returned. */
@@ -531,6 +757,8 @@
 	return &track->time_played;
     case T_TIME_MODIFIED:
 	return &track->time_modified;
+    case T_TIME_RELEASED:
+	return &track->time_released;
     case T_TIME_ADDED:
 	return &track->time_added;
     default:
@@ -544,14 +772,327 @@
    illegal, "0" is returned. */
 guint32 track_get_timestamp (Track *track, T_item t_item)
 {
+    guint32 *ptr;
     g_return_val_if_fail (track, 0);
 
-    guint32 *ptr = track_get_timestamp_ptr (track, t_item);
+    ptr = track_get_timestamp_ptr (track, t_item);
     if (ptr)  return *ptr;
     else      return 0;
 }
 
 
+/* Return text for display. g_free() after use. */
+gchar *track_get_text (Track *track, T_item item)
+{
+    gchar *text = NULL;
+    ExtraTrackData *etr;
+    iTunesDB *itdb;
+
+    g_return_val_if_fail ((item > 0) && (item < T_ITEM_NUM), NULL);
+    g_return_val_if_fail (track, NULL);
+    etr = track->userdata;
+    g_return_val_if_fail (etr, NULL);
+    itdb = track->itdb;
+    g_return_val_if_fail (itdb, NULL);
+
+    switch (item)
+    {
+    case T_TITLE:
+    case T_ARTIST:
+    case T_ALBUM:
+    case T_GENRE:
+    case T_COMPOSER:
+    case T_COMMENT:
+    case T_FILETYPE:
+    case T_GROUPING:
+    case T_CATEGORY:
+    case T_DESCRIPTION:
+    case T_PODCASTURL:
+    case T_PODCASTRSS:
+    case T_SUBTITLE:
+	text = g_strdup (track_get_item (track, item));
+	break;
+    case T_TRACK_NR:
+	if (track->tracks == 0)
+	    text = g_strdup_printf ("%d", track->track_nr);
+	else
+	    text = g_strdup_printf ("%d/%d",
+				    track->track_nr, track->tracks);
+	break;
+    case T_CD_NR:
+	if (track->cds == 0)
+	    text = g_strdup_printf ("%d", track->cd_nr);
+	else
+	    text = g_strdup_printf ("%d/%d", track->cd_nr, track->cds);
+	break;
+    case T_IPOD_ID:
+	if (track->id != -1)
+	    text = g_strdup_printf ("%d", track->id);
+	else
+	    text = g_strdup ("--");
+	break;
+    case T_PC_PATH:
+	text = g_strdup (etr->pc_path_utf8);
+	break;
+    case T_IPOD_PATH:
+	if (itdb->usertype & GP_ITDB_TYPE_IPOD)
+	{
+	    text = g_strdup (track->ipod_path);
+	}
+	if (itdb->usertype & GP_ITDB_TYPE_LOCAL)
+	{
+	    text = g_strdup (_("Local Database"));
+	}
+	break;
+    case T_SIZE:
+	text = g_strdup_printf ("%d", track->size);
+	break;
+    case T_TRACKLEN:
+	text = g_strdup_printf ("%d:%02d",
+				track->tracklen/60000,
+				(track->tracklen/1000)%60);
+	break;
+    case T_BITRATE:
+	text = g_strdup_printf ("%dk", track->bitrate);
+	break;
+    case T_SAMPLERATE:
+	text = g_strdup_printf ("%d", track->samplerate);
+	break;
+    case T_BPM:
+	text = g_strdup_printf ("%d", track->BPM);
+	break;
+    case T_PLAYCOUNT:
+	text = g_strdup_printf ("%d", track->playcount);
+	break;
+    case T_YEAR:
+	text = g_strdup_printf ("%d", track->year);
+	break;
+    case T_RATING:
+	text = g_strdup_printf ("%d", track->rating/ITDB_RATING_STEP);
+	break;
+    case T_TIME_PLAYED:
+    case T_TIME_MODIFIED:
+    case T_TIME_ADDED:
+    case T_TIME_RELEASED:
+	text = time_field_to_string (track, item);
+	break;
+    case T_VOLUME:
+	text = g_strdup_printf ("%d", track->volume);
+	break;
+    case T_SOUNDCHECK:
+	text = g_strdup_printf ("%0.2f", soundcheck_to_replaygain (track->soundcheck));
+	break;
+    case T_TRANSFERRED:
+    case T_COMPILATION:
+    case T_ALL:
+    case T_CHECKED:
+    case T_ITEM_NUM:
+	break;
+    }
+    return text;
+}
+
+
+
+/* Set track data according to @new_text
+
+   Return value: TRUE, if the track data was modified, FALSE otherwise
+*/
+gboolean track_set_text (Track *track, const gchar *new_text, T_item item)
+{
+    gboolean changed = FALSE;
+    gchar **itemp_utf8;
+    const gchar *str;
+    ExtraTrackData *etr;
+    gint32 nr;
+    time_t t;
+
+    g_return_val_if_fail (track, FALSE);
+    g_return_val_if_fail (new_text, FALSE);
+
+    etr = track->userdata;
+    g_return_val_if_fail (etr, FALSE);
+
+
+    switch(item)
+    {
+    case T_TITLE:
+    case T_ALBUM:
+    case T_ARTIST:
+    case T_GENRE:
+    case T_COMPOSER:
+    case T_COMMENT:
+    case T_FILETYPE:
+    case T_GROUPING:
+    case T_CATEGORY:
+    case T_DESCRIPTION:
+    case T_PODCASTURL:
+    case T_PODCASTRSS:
+    case T_SUBTITLE:
+        itemp_utf8 = track_get_item_pointer (track, item);
+        if (g_utf8_collate (*itemp_utf8, new_text) != 0)
+        {
+	    g_free (*itemp_utf8);
+	    *itemp_utf8 = g_strdup (new_text);
+	    changed = TRUE;
+        }
+        break;
+    case T_TRACK_NR:
+        nr = atoi (new_text);
+        if ((nr >= 0) && (nr != track->track_nr))
+        {
+	    track->track_nr = nr;
+	    changed = TRUE;
+        }
+	str = strrchr (new_text, '/');
+	if (str)
+	{
+	    nr = atoi (str+1);
+	    if ((nr >= 0) && (nr != track->tracks))
+	    {
+		track->tracks = nr;
+		changed = TRUE;
+	    }
+	}
+        break;
+    case T_CD_NR:
+        nr = atoi (new_text);
+        if ((nr >= 0) && (nr != track->cd_nr))
+        {
+	    track->cd_nr = nr;
+	    changed = TRUE;
+        }
+	str = strrchr (new_text, '/');
+	if (str)
+	{
+	    nr = atoi (str+1);
+	    if ((nr >= 0) && (nr != track->cds))
+	    {
+		track->cds = nr;
+		changed = TRUE;
+	    }
+	}
+        break;
+    case T_YEAR:
+        nr = atoi (new_text);
+        if ((nr >= 0) && (nr != track->year))
+        {
+	    g_free (etr->year_str);
+	    etr->year_str = g_strdup_printf ("%d", nr);
+	    track->year = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_PLAYCOUNT:
+        nr = atoi (new_text);
+        if ((nr >= 0) && (nr != track->playcount))
+        {
+	    track->playcount = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_RATING:
+        nr = atoi (new_text);
+        if ((nr >= 0) && (nr <= 5) && (nr != track->rating))
+        {
+	    track->rating = nr*ITDB_RATING_STEP;
+	    changed = TRUE;
+        }
+        break;
+    case T_TIME_ADDED:
+    case T_TIME_PLAYED:
+    case T_TIME_MODIFIED:
+    case T_TIME_RELEASED:
+	t = time_string_to_time (new_text);
+	if ((t != -1) && (t != time_get_time (track, item)))
+	{
+	    time_set_time (track, t, item);
+	    changed = TRUE;
+	}
+	break;
+    case T_VOLUME:
+        nr = atoi (new_text);
+        if (nr != track->volume)
+        {
+	    track->volume = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_SOUNDCHECK:
+	nr = replaygain_to_soundcheck (atof (new_text));
+/* 	printf("%d : %f\n", nr, atof (new_text)); */
+        if (nr != track->soundcheck)
+        {
+	    track->soundcheck = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_SIZE:
+        nr = atoi (new_text);
+        if (nr != track->size)
+        {
+	    track->size = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_BITRATE:
+        nr = atoi (new_text);
+        if (nr != track->bitrate)
+        {
+	    track->bitrate = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_SAMPLERATE:
+        nr = atoi (new_text);
+        if (nr != track->samplerate)
+        {
+	    track->samplerate = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_BPM:
+        nr = atoi (new_text);
+        if (nr != track->BPM)
+        {
+	    track->BPM = nr;
+	    changed = TRUE;
+        }
+        break;
+    case T_TRACKLEN:
+	str = strrchr (new_text, ':');
+	if (str)
+	{   /* MM:SS */
+	    nr = 1000 * (60 * atoi (new_text) + atoi (str+1));
+	}
+	else
+	{   /* SS */
+	    nr = 1000 * atoi (new_text);
+	}
+	if (nr != track->tracklen)
+	{
+	    track->tracklen = nr;
+	    changed = TRUE;
+	}
+	break;
+    case T_PC_PATH:
+    case T_IPOD_PATH:
+    case T_IPOD_ID:
+    case T_TRANSFERRED:
+    case T_COMPILATION:
+    case T_CHECKED:
+    case T_ALL:
+    case T_ITEM_NUM:
+	gtkpod_warning ("Programming error: track_set_text() called with illegal argument (item: %d)\n", item);
+	break;
+    }
+
+    return changed;
+}
+
+
+
+
 /* Fills @size with the size and @num with the number of
    non-transferred tracks. The size is in Bytes, minus the space taken
    by tracks that will be overwritten. */
@@ -607,11 +1148,32 @@
 /* 	    printf ("add tr %p to pl: %p\n", track, pl); */
 	    if (from_itdb == to_itdb)
 	    {   /* DND within the same itdb */
-		if (pl->type == ITDB_PL_TYPE_NORM)
-		{   /* not necessary to add to MPL as track has to be
-		     * present already */
-		    gp_playlist_add_track (pl, track, TRUE);
+
+		/* set flags to 'podcast' if adding to podcast list */
+		if (itdb_playlist_is_podcasts (pl))
+		    gp_track_set_flags_podcast (track);
+
+		if (!itdb_playlist_contains_track (to_mpl, track))
+		{   /* add to MPL if not already present (will happen
+		     * if dragged from the podcasts playlist */
+		    gp_playlist_add_track (to_mpl, track, TRUE);
 		}
+		if (!itdb_playlist_is_mpl (pl))
+		{
+		    /* add to designated playlist -- unless adding
+		     * to podcasts list and track already exists there */
+		    if (itdb_playlist_is_podcasts (pl) &&
+			g_list_find (pl->members, track))
+		    {
+			gchar *buf = get_track_info (track, FALSE);
+			gtkpod_warning (_("Podcast already present: '%s'\n\n"), buf);
+			g_free (buf);
+		    }
+		    else
+		    {
+			gp_playlist_add_track (pl, track, TRUE);
+		    }
+		}
 	    }
 	    else
 	    {   /* DND between different itdbs -- need to duplicate the
@@ -623,14 +1185,50 @@
 		   same track already exists in the database, the already
 		   existing track is returned and @duptr is freed */
 		addtr = gp_track_add (to_itdb, duptr);
-		/* check if we need to add to the MPL */
+
+		/* set flags to 'podcast' if adding to podcast list */
+		if (itdb_playlist_is_podcasts (pl))
+		    gp_track_set_flags_podcast (addtr);
+
 		if (addtr == duptr)
-		{
-		    itdb_playlist_add_track (to_mpl, addtr, -1);
+		{   /* no duplicate */
+		    /* we need to add to the MPL if the track is no
+		       duplicate and will not be added to the podcasts
+		       playlist */
+		    if (!itdb_playlist_is_podcasts (pl))
+		    {   /* don't add to mpl if we add to the podcasts
+			   playlist */
+			gp_playlist_add_track (to_mpl, addtr, TRUE);
+		    }
 		}
-		if (pl->type == ITDB_PL_TYPE_NORM)
+		else
+		{   /* duplicate */
+		    /* we also need to add to the MPL if the track is a
+		       duplicate, does not yet exist in the MPL and will
+		       not be added to a podcast list (this happens if
+		       it's already in the podcast list) */
+		    if ((!itdb_playlist_contains_track (to_mpl, addtr)) &&
+			(!itdb_playlist_is_podcasts (pl)))
+		    {
+			gp_playlist_add_track (to_mpl, addtr, TRUE);
+		    }
+		}
+		/* add to designated playlist (if not mpl) -- unless
+		 * adding to podcasts list and track already * exists
+		 * there */
+		if (!itdb_playlist_is_mpl (pl))
 		{
-		    gp_playlist_add_track (pl, addtr, TRUE);
+		    if (itdb_playlist_is_podcasts (pl) &&
+			g_list_find (pl->members, addtr))
+		    {
+			gchar *buf = get_track_info (addtr, FALSE);
+			gtkpod_warning (_("Podcast already present: '%s'\n\n"), buf);
+			g_free (buf);
+		    }
+		    else
+		    {
+			gp_playlist_add_track (pl, addtr, TRUE);
+		    }
 		}
 	    }
 	}
@@ -755,7 +1353,7 @@
 		}
 		if (g_file_test (decoded_file, G_FILE_TEST_IS_REGULAR))
 		{   /* regular file */
-		    gint ftype = determine_file_type (decoded_file);
+		    FileType ftype = determine_file_type (decoded_file);
 		    switch (ftype)
 		    {
 		    case FILE_TYPE_MP3:
@@ -763,6 +1361,10 @@
 		    case FILE_TYPE_M4P:
 		    case FILE_TYPE_M4B:
 		    case FILE_TYPE_WAV:
+		    case FILE_TYPE_M4V:
+		    case FILE_TYPE_MP4:
+		    case FILE_TYPE_MOV:
+		    case FILE_TYPE_MPG:
 			if (!pl)
 			{  /* no playlist yet -- create new one */
 			    pl = add_new_pl_user_name (itdb, NULL,
@@ -782,6 +1384,7 @@
 			added = TRUE;
 			break;
 		    case FILE_TYPE_UNKNOWN:
+		    case FILE_TYPE_IMAGE:
 			break;
 		    }
 		}
@@ -810,7 +1413,34 @@
     return NULL;
 }
 
+/*------------------------------------------------------------------*\
+ *                                                                  *
+ * Functions setting default values on tracks                       *
+ *                                                                  *
+\*------------------------------------------------------------------*/
 
+/* set podcast-specific flags for @track */
+void gp_track_set_flags_podcast (Track *track)
+{
+    g_return_if_fail (track);
+    track->flag1 = 0x02;  /* unknown */
+    track->flag2 = 0x01;  /* skip when shuffling */
+    track->flag3 = 0x01;  /* remember playback position */
+    track->flag4 = 0x01;  /* Show Title/Album on the 'Now Playing' page */
+}
+
+/* set podcast-specific flags for @track */
+void gp_track_set_flags_default (Track *track)
+{
+    g_return_if_fail (track);
+    track->flag1 = 0x02;  /* unknown */
+    track->flag2 = 0x00;  /* do not skip when shuffling */
+    track->flag3 = 0x00;  /* do not remember playback position */
+    track->flag4 = 0x00;  /* Show Title/Album/Artist on the 'Now
+			     Playing' page */
+}
+
+
 /*------------------------------------------------------------------*\
  *                                                                  *
  *  Generic functions to "do" things on selected playlist / entry   *

Modified: gtkpod/trunk/src/misc_track.h
===================================================================
--- gtkpod/trunk/src/misc_track.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/misc_track.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:12:14 jcs>
+/* Time-stamp: <2005-12-03 20:08:42 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: misc_track.h,v 1.11 2005/06/17 13:30:04 jcsjcs Exp $
+|  $Id: misc_track.h,v 1.14 2005/12/03 16:36:26 jcsjcs Exp $
 */
 
 #ifndef __MISC_TRACK_H__
@@ -40,9 +40,13 @@
 void gp_md5_free_hash (void);
 Track *gp_track_by_filename (iTunesDB *itdb, gchar *filename);
 gchar **track_get_item_pointer (Track *track, T_item t_item);
-gchar *track_get_item (Track *track, T_item t_item);
+const gchar *track_get_item (Track *track, T_item t_item);
 guint32 *track_get_timestamp_ptr (Track *track, T_item t_item);
 guint32 track_get_timestamp (Track *track, T_item t_item);
+gchar *track_get_text (Track *track, T_item item);
+gboolean track_set_text (Track *track,
+			 const gchar *new_text, T_item item);
+gboolean track_copy_item (Track *frtrack, Track *totrack, T_item item);
 void gp_info_nontransferred_tracks (iTunesDB *itdb,
 				    gdouble *size, guint32 *num);
 
@@ -56,5 +60,7 @@
 void gp_do_selected_entry (void (*do_func)(GList *tracks), gint inst);
 void gp_do_selected_playlist (void (*do_func)(GList *tracks));
 
+void gp_track_set_flags_podcast (Track *track);
+void gp_track_set_flags_default (Track *track);
 
 #endif

Modified: gtkpod/trunk/src/mp3file.c
===================================================================
--- gtkpod/trunk/src/mp3file.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/mp3file.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:12:13 jcs>
+/* Time-stamp: <2005-11-23 02:36:10 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: mp3file.c,v 1.54 2005/06/17 13:30:04 jcsjcs Exp $
+|  $Id: mp3file.c,v 1.58 2005/11/23 04:16:12 jcsjcs Exp $
 */
 
 /* The code in the first section of this file is taken from the
@@ -63,6 +63,12 @@
     /* CD/disc number handling */
     gchar *cdnostring;    /* Position of disc in the album */
     gchar *cdno_total;    /* The number of discs in the album (ex: 1/2) */
+    gchar *compilation;   /* The track is a member of a compilation */
+    gchar *podcasturl;    /* The following are mainly used for podcasts */
+    gchar *description;
+    gchar *podcastrss;
+    gchar *time_released;
+    gchar *subtitle;
 };
 
 /* This code is taken from the mp3info code. Only the code needed for
@@ -928,40 +934,60 @@
 #include <id3tag.h>
 #include "prefs.h"
 
+#ifndef ID3_FRAME_GROUP
+#define ID3_FRAME_GROUP "TPE2"
+#endif
 
+
+
 static gchar* id3_get_string (struct id3_tag *tag, char *frame_name)
 {
-    const id3_ucs4_t *string;
+    const id3_ucs4_t *string = NULL;
+    const id3_byte_t *binary = NULL;
+    id3_length_t len = 0;
     struct id3_frame *frame;
     union id3_field *field;
     gchar *utf8 = NULL;
     enum id3_field_textencoding encoding = ID3_FIELD_TEXTENCODING_ISO_8859_1;
 
     frame = id3_tag_findframe (tag, frame_name, 0);
+/*     printf ("frame: %p\n", frame); */
+
     if (!frame) return NULL;
 
     /* Find the encoding used for the field */
     field = id3_frame_field (frame, 0);
 /*     printf ("field: %p\n", field); */
+
     if (field && (id3_field_type (field) == ID3_FIELD_TYPE_TEXTENCODING))
     {
 	encoding = field->number.value;
 /*	printf ("encoding: %d\n", encoding); */
     }
 
-    if (frame_name == ID3_FRAME_COMMENT)
-	field = id3_frame_field (frame, 3);
-    else
-	field = id3_frame_field (frame, 1);
+    /* The last field contains the data */
+    field = id3_frame_field (frame, frame->nfields-1);
 
 /*     printf ("field: %p\n", field); */
 
     if (!field) return NULL;
 
-    if (frame_name == ID3_FRAME_COMMENT)
+    switch (field->type)
+    {
+    case ID3_FIELD_TYPE_STRINGLIST:
+	string = id3_field_getstrings (field, 0);
+	break;
+    case ID3_FIELD_TYPE_STRINGFULL:
 	string = id3_field_getfullstring (field);
-    else
-	string = id3_field_getstrings (field, 0);
+	break;
+    case ID3_FIELD_TYPE_BINARYDATA:
+	binary = id3_field_getbinarydata(field, &len);
+	if (len > 0)
+	    return charset_to_utf8 (binary+1);
+	break;
+    default:
+	break;
+    }
 
 /*     printf ("string: %p\n", string); */
 
@@ -1122,13 +1148,25 @@
     if ((id3tag = id3_file_tag(id3file)))
     {
 	tag->title = id3_get_string (id3tag, ID3_FRAME_TITLE);
-	tag->artist = id3_get_string (id3tag, ID3_FRAME_ARTIST);
+	tag->artist = id3_get_string (id3tag, ID3_FRAME_GROUP);
+	if (!tag->artist || !*tag->artist)
+	{
+	    g_free (tag->artist);
+	    tag->artist = id3_get_string (id3tag, ID3_FRAME_ARTIST);
+	}
 	tag->album = id3_get_string (id3tag, ID3_FRAME_ALBUM);
 	tag->year = id3_get_string (id3tag, ID3_FRAME_YEAR);
 	tag->composer = id3_get_string (id3tag, "TCOM");
 	tag->comment = id3_get_string (id3tag, ID3_FRAME_COMMENT);
 	tag->genre = id3_get_string (id3tag, ID3_FRAME_GENRE);
+	tag->compilation = id3_get_string (id3tag, "TCMP");
+	tag->subtitle = id3_get_string (id3tag, "TIT3");
 
+	tag->podcasturl = id3_get_string (id3tag, "YTID");
+	tag->podcastrss = id3_get_string (id3tag, "YWFD");
+	tag->description = id3_get_string (id3tag, "YTDS");
+	tag->time_released = id3_get_string (id3tag, "YTDR");
+
 	string = id3_get_string (id3tag, "TLEN");
 	if (string)
 	{
@@ -1206,6 +1244,34 @@
 }
 
 
+/* I'm not really sure about this: The original TAG identifier was
+   "TID", but no matter what I do I end up writing "YTID" */
+void set_uncommon_tag (struct id3_tag *id3tag,
+		       const gchar *id,
+		       const gchar *text,
+		       enum id3_field_textencoding encoding)
+{
+#if 0
+    struct id3_frame *frame;
+
+    frame = id3_tag_findframe (id3tag, id, 0);
+	union id3_field *field;
+	frame->flags = 0;
+	field = id3_frame_field (frame, 0);
+	    if (field)
+	    {
+		string1 = g_strdup_printf ("%c%s", '\0',
+					   track->podcasturl);
+		id3_field_setbinarydata (field, string1,
+					 strlen(track->podcasturl)+1);
+		g_free (string1);
+	    }
+
+#endif
+}
+
+
+
 /**
  * Write the ID3 tags to the file.
  * @returns: TRUE on success, else FALSE.
@@ -1255,6 +1321,12 @@
 	id3_set_string (id3tag, ID3_FRAME_ALBUM, track->album, encoding);
 	id3_set_string (id3tag, ID3_FRAME_GENRE, track->genre, encoding);
 	id3_set_string (id3tag, ID3_FRAME_COMMENT, track->comment, encoding);
+	id3_set_string (id3tag, "TIT3", track->subtitle, encoding);
+
+	set_uncommon_tag (id3tag, "YTID", track->podcasturl, encoding);
+	set_uncommon_tag (id3tag, "YTDS", track->description, encoding);
+	set_uncommon_tag (id3tag, "YWFD", track->podcastrss, encoding);
+
 	id3_set_string (id3tag, "TCOM", track->composer, encoding);
 
 	if (track->tracks)
@@ -1272,6 +1344,10 @@
 	    string1 = g_strdup_printf ("%d", track->cd_nr);
 	id3_set_string (id3tag, "TPOS", string1, encoding);
 	g_free(string1);
+        
+       string1 = g_strdup_printf ("%d", track->compilation);
+       id3_set_string (id3tag, "TCMP", string1, encoding);
+       g_free(string1);
     } 
 
     if (id3_file_update(id3file) != 0)
@@ -1349,7 +1425,10 @@
 }
 
 
-static void read_lame_replaygain(char buf[], Track *track, int gain_adjust) {
+/* buf[] must be declared unsigned -- otherwise the casts, shifts and
+   additions below produce funny results */             
+static void read_lame_replaygain(unsigned char buf[],
+				 Track *track, int gain_adjust) {
 	char oc, nc;
 	gint gain;
 	ExtraTrackData *etr;
@@ -1358,6 +1437,13 @@
 	etr = track->userdata;
 	g_return_if_fail (etr);
 
+	/* buf[0] and buf[1] are a bit field:
+	   3 bits: name  (mask: 0xe0 = 11100000)
+	   3 bits: originator (mask: 0x1c = 00011100)
+	   1 bit: negative if set (mask: 0x02 = 00000010)
+	   9 bits: value
+	*/
+
 	/* check originator */
 	oc = (buf[0] & 0x1c) >> 2;
 	if ((oc <= 0) || (oc > 3)) return;
@@ -1366,7 +1452,7 @@
 	nc = buf[0] & 0xe0;
 	if (!((nc == 0x20) || (nc == 0x40))) return;
 	
-	gain = ((buf[0] & 0x1) << 8) + buf[1];
+	gain = ((((guint)buf[0]) & 0x1) << 8) + buf[1];
 	
 	/* This would be a value of -0.
 	 * That value however is illegal by current standards and reserved for
@@ -1955,7 +2041,7 @@
     track = gp_track_new ();
     if (prefs_get_readtags() && (id3_tag_read (name, &filetag) == TRUE))
     {
-	track->fdesc = g_strdup ("MPEG audio file");
+	track->filetype = g_strdup ("MPEG audio file");
 
 	if (filetag.album)
 	{
@@ -1986,6 +2072,27 @@
 	{
 	    track->comment = filetag.comment;
 	}
+
+	if (filetag.podcasturl)
+	{
+	    track->podcasturl = filetag.podcasturl;
+	}
+
+	if (filetag.podcastrss)
+	{
+	    track->podcastrss = filetag.podcastrss;
+	}
+
+	if (filetag.subtitle)
+	{
+	    track->subtitle = filetag.subtitle;
+	}
+
+	if (filetag.description)
+	{
+	    track->description = filetag.description;
+	}
+
 	if (filetag.year == NULL)
 	{
 	    track->year = 0;
@@ -2035,6 +2142,16 @@
 	    track->cds = atoi(filetag.cdno_total);
 	    g_free (filetag.cdno_total);
 	}
+
+	if (filetag.compilation == NULL)
+	{
+	    track->compilation = 0;
+	}
+	else
+	{
+	    track->compilation = atoi(filetag.compilation);
+	    g_free (filetag.compilation);
+	}
     }
 
     mp3_read_gain (name, track);

Modified: gtkpod/trunk/src/mp4file.c
===================================================================
--- gtkpod/trunk/src/mp4file.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/mp4file.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:12:13 jcs>
+/* Time-stamp: <2005-11-22 22:34:20 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: mp4file.c,v 1.23 2005/06/17 13:30:04 jcsjcs Exp $
+|  $Id: mp4file.c,v 1.26 2005/11/30 14:21:37 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -54,8 +54,15 @@
    gchar   *genre;            /+ genre (utf8)          +/
    gchar   *comment;          /+ comment (utf8)        +/
    gchar   *composer;         /+ Composer (utf8)       +/
-   gchar   *fdesc;            /+ Format description (utf8) +/
-   gchar   *charset;          /+ charset used for tags +/
+   gchar   *fdesc;            /+ Format description (utf8)   +/
+   gchar   *charset;          /+ charset used for tags       +/
+   gchar   *description;      /+ Description text (podcasts) +/
+   gchar   *podcasturl;       /+ URL/Title (podcasts)        +/
+   gchar   *podcastrss;       /+ Podcast RSS                 +/
+   gchar   *subtitle;         /+ Subtitle (podcasts)         +/
+   guint32 time_released;     /+ For podcasts: release date as
+				 displayed next to the title in the
+				 Podcast playlist  +/
    gint32  cd_nr;             /+ CD number             +/
    gint32  cds;               /+ number of CDs         +/
    gint32  track_nr;          /+ track number          +/
@@ -72,8 +79,8 @@
    gboolean peak_signal_set;  /+ has the peak signal been set?       +/
    gboolean radio_gain_set;   /+ has the radio gain been set?        +/
    gboolean audiophile_gain_set;/+ has the audiophile gain been set? +/
+   gboolean compilation;      /+ Track is part of a compilation CD   +/
 
-
    If prefs_get_tag_readtags() returns FALSE you only should fill in
    tracklen, bitrate and fdesc
 
@@ -152,7 +159,7 @@
 
 	trackId = MP4FindTrackId(mp4File, 0, NULL, 0);
 	trackType = MP4GetTrackType(mp4File, trackId);
-	if (trackType && (strcmp(trackType, MP4_AUDIO_TRACK_TYPE) == 0))
+	if (trackType && ((strcmp(trackType, MP4_AUDIO_TRACK_TYPE) == 0) || (strcmp(trackType, MP4_VIDEO_TRACK_TYPE) == 0)))
 	{
 	    gchar *value;
 	    guint16 numvalue, numvalue2;
@@ -173,11 +180,13 @@
 	    if (value)
 	    {
 		if (g_strcasecmp (value, ".m4a") == 0)
-		    track->fdesc = g_strdup ("AAC audio file");
+		    track->filetype = g_strdup ("AAC audio file");
 		if (g_strcasecmp (value, ".m4p") == 0)
-		    track->fdesc = g_strdup ("Protected AAC audio file");
+		    track->filetype = g_strdup ("Protected AAC audio file");
 		if (g_strcasecmp (value, ".m4b") == 0)
-		    track->fdesc = g_strdup ("AAC audio book file");
+		    track->filetype = g_strdup ("AAC audio book file");
+		if (g_strcasecmp (value, ".mp4") == 0)
+		    track->filetype = g_strdup ("MP4 video file");
 	    }
 	    if (prefs_get_readtags ())
 	    {
@@ -262,7 +271,7 @@
 
 	trackId = MP4FindTrackId(mp4File, 0, NULL, 0);
 	trackType = MP4GetTrackType(mp4File, trackId);
-	if (trackType && (strcmp(trackType, MP4_AUDIO_TRACK_TYPE) == 0))
+	if (trackType && ((strcmp(trackType, MP4_AUDIO_TRACK_TYPE) == 0)||(strcmp(trackType, MP4_VIDEO_TRACK_TYPE) == 0)))
 	{
 	    gchar *value;
 

Copied: gtkpod/trunk/src/podcast.c (from rev 91, gtkpod/branches/upstream/current/src/podcast.c)

Copied: gtkpod/trunk/src/podcast.h (from rev 91, gtkpod/branches/upstream/current/src/podcast.h)

Modified: gtkpod/trunk/src/prefs.c
===================================================================
--- gtkpod/trunk/src/prefs.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/prefs.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-16 16:11:00 jcs>
+/* Time-stamp: <2005-12-14 23:13:45 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: prefs.c,v 1.146 2005/07/16 07:13:50 jcsjcs Exp $
+|  $Id: prefs.c,v 1.155 2005/12/10 17:04:29 jcsjcs Exp $
 */
 
 /* -------------------------------------------------------------------
@@ -102,6 +102,7 @@
 #include "misc.h"
 #include "misc_track.h"
 #include "prefs.h"
+#include "podcast.h"
 
 /* static function declarations */
 static void prefs_write_hash_values (FILE *fp);
@@ -140,23 +141,23 @@
 {
     struct cfg *mycfg = NULL;
     gchar curdir[PATH_MAX], *str;
+    gchar *cfgdir;
     gint i;
 
+    cfgdir = prefs_get_cfgdir ();
+
     mycfg = g_malloc0 (sizeof (struct cfg));
     if(getcwd(curdir, PATH_MAX))
     {
-	mycfg->last_dir.browse = g_strdup_printf ("%s/", curdir);
+	mycfg->last_dir.browse = g_strdup (curdir);
     }
     else
     {
-	mycfg->last_dir.browse = g_strdup ("~/");
+	mycfg->last_dir.browse = convert_filename ("~/");
     }
     if((str = getenv("IPOD_MOUNTPOINT")))
     {
-	if (strncmp ("~/", str, 2) == 0)
-	    mycfg->ipod_mount = g_build_filename (g_get_home_dir(),
-						  str+2, NULL);
-	else mycfg->ipod_mount = g_strdup(str);
+	mycfg->ipod_mount = convert_filename (str);
     }
     else
     {
@@ -231,6 +232,8 @@
     mycfg->parsetags = FALSE;
     mycfg->parsetags_overwrite = FALSE;
     mycfg->parsetags_template = g_strdup ("%a - %A/%T %t.mp3;%t.wav");
+    mycfg->coverart = TRUE;
+    mycfg->coverart_template = g_strdup ("%A;folder.jpg");
     for (i=0; i<PANED_NUM; ++i)
     {
 	mycfg->paned_pos[i] = -1;  /* -1 means: let gtk worry about position */
@@ -292,6 +295,22 @@
     mycfg->mserv_report_probs = TRUE;
     mycfg->mserv_username = g_strdup ("");
 
+    mycfg->pc_dir = g_build_filename (cfgdir, "podcasts", NULL);
+    mycfg->pc_del_age = FALSE;
+    mycfg->pc_del_age_val = 1;
+    mycfg->pc_del_copied = FALSE;
+    mycfg->pc_auto_fetch = FALSE;
+    mycfg->pc_log = TRUE;
+    mycfg->pc_log_file = g_build_filename (cfgdir, "podcast.log", NULL);
+    mycfg->pc_auto_sync = FALSE;
+    mycfg->pc_ipod_del_age = FALSE;
+    mycfg->pc_ipod_del_age_val = 1;
+    mycfg->pc_ipod_del_played = FALSE;
+    mycfg->pc_ipod_inc_date = FALSE;
+    mycfg->pc_change_genre = FALSE;
+
+    g_free (cfgdir);
+
     return(mycfg);
 }
 
@@ -635,6 +654,14 @@
 	  {
 	      prefs_set_parsetags_template(strdup(arg));
 	  }
+	  else if(g_ascii_strcasecmp (line, "coverart") == 0)
+	  {
+	      prefs_set_coverart((gboolean)atoi(arg));
+	  }
+	  else if(g_ascii_strcasecmp (line, "coverart_template") == 0)
+	  {
+	      prefs_set_coverart_template(strdup(arg));
+	  }
 	  else if(arg_comp (line, "col_visible", &off) == 0)
 	  {
 	      gint i = atoi (line+off);
@@ -658,6 +685,10 @@
 	  {
 	      prefs_set_sort_tab_num(atoi(arg), FALSE);
 	  }
+	  else if(g_ascii_strcasecmp (line, "group_compilations") == 0)
+	  {
+	      prefs_set_group_compilations((gboolean)atoi(arg), FALSE);
+	  }
 	  else if(g_ascii_strcasecmp (line, "toolbar_style") == 0)
 	  {
 	      prefs_set_toolbar_style(atoi(arg));
@@ -899,6 +930,59 @@
 	  {
 	      prefs_set_mserv_username (arg);
 	  }
+	  else if(g_ascii_strcasecmp (line, "pc_dir") == 0)
+	  {
+	      prefs_set_pc_dir (arg);
+	  }
+          else if(g_ascii_strcasecmp (line, "pc_del_age") == 0)
+          {
+              prefs_set_pc_del_age ((gboolean)atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_del_age_val") == 0)
+          {
+              prefs_set_pc_del_age_val (atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_del_copied") == 0)
+          {
+              prefs_set_pc_del_copied ((gboolean)atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_auto_fetch") == 0)
+          {
+              prefs_set_pc_auto_fetch ((gboolean)atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_log") == 0)
+          {
+              prefs_set_pc_log ((gboolean)atoi(arg));
+          }
+	  else if(g_ascii_strcasecmp (line, "pc_log_file") == 0)
+	  {
+	      prefs_set_pc_log_file (arg);
+	  }
+          else if(g_ascii_strcasecmp (line, "pc_auto_sync") == 0)
+          {
+              prefs_set_pc_auto_sync ((gboolean)atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_ipod_del_age") == 0)
+          {
+              prefs_set_pc_ipod_del_age ((gboolean)atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_ipod_del_age_val") == 0)
+          {
+              prefs_set_pc_ipod_del_age_val (atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_ipod_del_played") == 0)
+          {
+              prefs_set_pc_ipod_del_played ((gboolean)atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_ipod_inc_date") == 0)
+          {
+              prefs_set_pc_ipod_inc_date ((gboolean)atoi(arg));
+          }
+          else if(g_ascii_strcasecmp (line, "pc_change_genre") == 0)
+          {
+              prefs_set_pc_change_genre ((gboolean)atoi(arg));
+          }
+
 	  else
 	  {   /* All leftover options will be stored into the prefs
 		 setting hash (generic options -- should have had this
@@ -926,32 +1010,32 @@
 read_prefs_defaults(void)
 {
   gchar *cfgdir = NULL;
-  gchar filename[PATH_MAX+1];
+  gchar *filename;
   FILE *fp = NULL;
   gboolean have_prefs = FALSE;
 
   cfgdir = prefs_get_cfgdir ();
-  if (cfgdir)
+
+  filename = g_build_filename (cfgdir, "prefs", NULL);
+  if(g_file_test(filename, G_FILE_TEST_EXISTS))
   {
-      snprintf(filename, PATH_MAX, "%s/prefs", cfgdir);
-      filename[PATH_MAX] = 0;
-      if(g_file_test(filename, G_FILE_TEST_EXISTS))
+      if((fp = fopen(filename, "r")))
       {
-	  if((fp = fopen(filename, "r")))
-	  {
-	      read_prefs_from_file_desc(fp);
-	      fclose(fp);
-	      have_prefs = TRUE; /* read prefs */
+	  read_prefs_from_file_desc(fp);
+	  fclose(fp);
+	  have_prefs = TRUE; /* read prefs */
+      }
+      else
+      {
+	  gtkpod_warning(_("Unable to open config file '%s' for reading\n"), filename);
 	  }
-	  else
-	  {
-	      gtkpod_warning(_("Unable to open config file '%s' for reading\n"), filename);
-	  }
-      }
   }
+  g_free (filename);
+
   if (!have_prefs)
   {
-      snprintf (filename, PATH_MAX, "/etc/gtkpod/prefs");
+      filename = g_build_filename ("/etc", "gtkpod", "prefs", NULL);
+
       if (g_file_test (filename, G_FILE_TEST_EXISTS))
       {
 	  if((fp = fopen(filename, "r")))
@@ -961,8 +1045,9 @@
 	      have_prefs = TRUE; /* read prefs */
 	  }
       }
+      g_free (filename);
   }
-  C_FREE (cfgdir);
+  g_free (cfgdir);
   /* set version of the prefs file to "current" if none was read */
   if (!have_prefs)   cfg->version = g_ascii_strtod (VERSION, NULL);
 
@@ -1054,7 +1139,12 @@
 	  exit(1);
       }
   }
-  menu = GTK_CHECK_MENU_ITEM (glade_xml_get_widget (main_window_xml, "offline_menu"));
+
+/* FIXME: PODCASTS: remove Podcast menu */
+/*   podcast_read_from_file(); */
+/*   podcast_file_read_from_file(); */
+
+  menu = GTK_CHECK_MENU_ITEM (gtkpod_xml_get_widget (main_window_xml, "offline_menu"));
   gtk_check_menu_item_set_active (menu, prefs_get_offline ());
   return result;
 }
@@ -1140,12 +1230,15 @@
     fprintf(fp, "parsetags=%d\n", prefs_get_parsetags());
     fprintf(fp, "parsetags_overwrite=%d\n", prefs_get_parsetags_overwrite());
     fprintf(fp, "parsetags_template=%s\n",cfg->parsetags_template);
+    fprintf(fp, "coverart=%d\n", prefs_get_coverart());
+    fprintf(fp, "coverart_template=%s\n",cfg->coverart_template);
     fprintf(fp, _("# position of sliders (paned): playlists, above tracks,\n# between sort tabs, and in statusbar.\n"));
     for (i=0; i<PANED_NUM; ++i)
     {
 	fprintf(fp, "paned_pos_%d=%d\n", i, prefs_get_paned_pos (i));
     }
     fprintf(fp, "sort_tab_num=%d\n",prefs_get_sort_tab_num());
+    fprintf(fp, "group_compilations=%d\n",prefs_get_group_compilations());
     fprintf(fp, "last_prefs_page=%d\n",prefs_get_last_prefs_page());
     fprintf(fp, "offline=%d\n",prefs_get_offline());
     fprintf(fp, "extended_info=%d\n",prefs_get_write_extended_info());
@@ -1198,38 +1291,46 @@
     fprintf (fp, "startup_messages=%d\n", cfg->startup_messages);
     fprintf (fp, "mserv_use=%d\n", cfg->mserv_use);
     fprintf (fp, "mserv_report_probs=%d\n", cfg->mserv_report_probs);
-    fprintf(fp, "mserv_username=%s\n", cfg->mserv_username);
+    fprintf(fp, "pc_dir=%s\n", cfg->pc_dir);
+    fprintf(fp, "pc_del_age=%d\n", cfg->pc_del_age);
+    fprintf(fp, "pc_del_age_val=%d\n", cfg->pc_del_age_val);
+    fprintf(fp, "pc_del_copied=%d\n", cfg->pc_del_copied);
+    fprintf(fp, "pc_auto_fetch=%d\n", cfg->pc_auto_fetch);
+    fprintf(fp, "pc_log=%d\n", cfg->pc_log);
+    fprintf(fp, "pc_log_file=%s\n", cfg->pc_log_file);
+    fprintf(fp, "pc_auto_sync=%d\n", cfg->pc_auto_sync);
+    fprintf(fp, "pc_ipod_del_age=%d\n", cfg->pc_ipod_del_age);
+    fprintf(fp, "pc_ipod_del_age_val=%d\n", cfg->pc_ipod_del_age_val);
+    fprintf(fp, "pc_ipod_del_played=%d\n", cfg->pc_ipod_del_played);
+    fprintf(fp, "pc_ipod_inc_date=%d\n", cfg->pc_ipod_inc_date);
+    fprintf(fp, "pc_change_genre=%d\n", cfg->pc_change_genre);
 /*     fprintf (fp, "unused_gboolean3=%d\n", cfg->unused_gboolean3); */
 }
 
+
 void
 write_prefs (void)
 {
-    gchar filename[PATH_MAX+1];
+    gchar *filename;
     gchar *cfgdir;
     FILE *fp = NULL;
 
     cfgdir = prefs_get_cfgdir ();
-    if(!cfgdir)
-      {
-	gtkpod_warning (_("Settings are not saved.\n"));
-      }
+
+    filename = g_build_filename (cfgdir, "prefs", NULL);
+    if((fp = fopen(filename, "w")))
+    {
+	write_prefs_to_file_desc(fp);
+	fclose(fp);
+    }
     else
-      {
-	snprintf(filename, PATH_MAX, "%s/prefs", cfgdir);
-	filename[PATH_MAX] = 0;
-	if((fp = fopen(filename, "w")))
-	  {
-	    write_prefs_to_file_desc(fp);
-	    fclose(fp);
-	  }
-	else
-	  {
-	    gtkpod_warning (_("Unable to open '%s' for writing\n"),
-			    filename);
-	  }
-      }
-    C_FREE (cfgdir);
+    {
+	gtkpod_warning (_("Unable to open '%s' for writing\n"),
+			filename);
+    }
+
+    g_free (filename);
+    g_free (cfgdir);
 }
 
 
@@ -1269,24 +1370,12 @@
 static gchar *
 get_dirname_of_filename(const gchar *file)
 {
-    gint len;
-    gchar *buf, *result = NULL;
-
     if (!file) return NULL;
 
     if (g_file_test(file, G_FILE_TEST_IS_DIR))
-	buf = g_strdup (file);
+	return g_strdup (file);
     else
-	buf = g_path_get_dirname (file);
-
-    len = strlen (buf);
-    if (len && (buf[len-1] == '/'))	result = buf;
-    else
-    {
-	result = g_strdup_printf ("%s/", buf);
-	g_free (buf);
-    }
-    return result;
+	return g_path_get_dirname (file);
 }
 
 
@@ -1319,9 +1408,7 @@
     if(cfg->ipod_mount) g_free(cfg->ipod_mount);
     /* if new mount point starts with "~/", we replace it with the
        home directory */
-    if (strncmp ("~/", mp, 2) == 0)
-      cfg->ipod_mount = g_build_filename (g_get_home_dir (), mp+2, NULL);
-    else cfg->ipod_mount = g_strdup(mp);
+    cfg->ipod_mount = convert_filename (mp);
     /* need to notify the info thread of new mount point */
     space_set_ipod_mount (cfg->ipod_mount);
     gp_itdb_set_mountpoint (cfg->ipod_mount);
@@ -1504,7 +1591,10 @@
 	for (i=0; i<PATH_NUM; ++i)
 	    result->path[i] = g_strdup (cfg->path[i]);
 	result->parsetags_template = g_strdup(cfg->parsetags_template);
+	result->coverart_template = g_strdup(cfg->coverart_template);
 	result->mserv_username = g_strdup(cfg->mserv_username);
+	result->pc_dir = g_strdup(cfg->pc_dir);
+	result->pc_log_file = g_strdup(cfg->pc_log_file);
     }
     return(result);
 }
@@ -1624,25 +1714,24 @@
 }
 
 
-/* Returns "$HOME/.gtkpod" or NULL if dir does not exist and cannot be
-   created. You must g_free the string after use */
+/* Returns "$HOME/.gtkpod" and tries to create it if it does not
+   exist. */
 gchar *prefs_get_cfgdir (void)
 {
   G_CONST_RETURN gchar *str;
   gchar *cfgdir=NULL;
 
   if((str = g_get_home_dir ()))
-    {
+  {
       cfgdir = g_build_filename (str, ".gtkpod", NULL);
       if(!g_file_test(cfgdir, G_FILE_TEST_IS_DIR))
-	{
-	  if(mkdir(cfgdir, 0755) == -1)
-	    {
+      {
+	  if(mkdir(cfgdir, 0777) == -1)
+	  {
 	      gtkpod_warning(_("Unable to 'mkdir %s'\n"), cfgdir);
-	      C_FREE (cfgdir); /*defined in misc.h*/
-	    }
-	}
-    }
+	  }
+      }
+  }
   return cfgdir;
 }
 
@@ -1829,7 +1918,30 @@
     }
 }
 
+void prefs_set_coverart(gboolean active)
+{
+  cfg->coverart = active;
+}
 
+gboolean prefs_get_coverart(void)
+{
+  return cfg->coverart;
+}
+
+const gchar *prefs_get_coverart_template (void)
+{
+    return cfg->coverart_template;
+}
+
+void prefs_set_coverart_template (const gchar *tpl)
+{
+    if (tpl)
+    {
+	g_free(cfg->coverart_template);
+	cfg->coverart_template = g_strdup (tpl);
+    }
+}
+
 /* Display column tm_item @visible: new value */
 void prefs_set_col_visible (TM_item tm_item, gboolean visible)
 {
@@ -2014,6 +2126,17 @@
     }
 }
 
+gboolean prefs_get_group_compilations (void)
+{
+    return cfg->group_compilations;
+}
+
+void prefs_set_group_compilations (gboolean val, gboolean update_display)
+{
+    cfg->group_compilations = val;
+    if (update_display) st_show_visible ();
+}
+
 GtkToolbarStyle prefs_get_toolbar_style (void)
 {
     return cfg->toolbar_style;
@@ -2658,6 +2781,145 @@
     cfg->unused_gboolean3 = val;
 }
 
+void prefs_set_pc_dir (const gchar *str)
+{
+    g_return_if_fail (str);
+
+    g_free (cfg->pc_dir);
+    cfg->pc_dir = convert_filename (str);
+}
+
+/* g_free() after use */
+gchar *prefs_get_pc_dir (void)
+{
+    return g_strdup (cfg->pc_dir);
+}
+
+void prefs_set_pc_del_age(gboolean val)
+{
+    cfg->pc_del_age = val;
+}
+
+gboolean prefs_get_pc_del_age(void)
+{
+    return cfg->pc_del_age;
+}
+
+void prefs_set_pc_del_age_val(gint val)
+{
+    cfg->pc_del_age_val = val;
+}
+
+gint prefs_get_pc_del_age_val(void)
+{
+    return cfg->pc_del_age_val;
+}
+
+void prefs_set_pc_del_copied(gboolean val)
+{
+    cfg->pc_del_copied = val;
+}
+
+gboolean prefs_get_pc_del_copied(void)
+{
+    return cfg->pc_del_copied;
+}
+
+void prefs_set_pc_auto_fetch(gboolean val)
+{
+    cfg->pc_auto_fetch = val;
+}
+
+gboolean prefs_get_pc_auto_fetch(void)
+{
+    return cfg->pc_auto_fetch;
+}
+
+void prefs_set_pc_log(gboolean val)
+{
+    cfg->pc_log = val;
+}
+
+gboolean prefs_get_pc_log(void)
+{
+    return cfg->pc_log;
+}
+
+void prefs_set_pc_log_file(const gchar *str)
+{
+    if (str)
+    {
+        g_free (cfg->pc_log_file);
+        cfg->pc_log_file = convert_filename (str);
+    }
+}
+
+/* g_free() after use */
+gchar *prefs_get_pc_log_file(void)
+{
+    return g_strdup (cfg->pc_log_file);
+}
+
+void prefs_set_pc_auto_sync(gboolean val)
+{
+    cfg->pc_auto_sync = val;
+}
+
+gboolean prefs_get_pc_auto_sync(void)
+{
+    return cfg->pc_auto_sync;
+}
+
+void prefs_set_pc_ipod_del_age(gboolean val)
+{
+    cfg->pc_ipod_del_age = val;
+}
+
+gboolean prefs_get_pc_ipod_del_age(void)
+{
+    return cfg->pc_ipod_del_age;
+}
+
+void prefs_set_pc_ipod_del_age_val(gint val)
+{
+    cfg->pc_ipod_del_age_val = val;
+}
+
+gint prefs_get_pc_ipod_del_age_val(void)
+{
+    return cfg->pc_ipod_del_age_val;
+}
+
+void prefs_set_pc_ipod_del_played(gboolean val)
+{
+    cfg->pc_ipod_del_played = val;
+}
+
+gboolean prefs_get_pc_ipod_del_played(void)
+{
+    return cfg->pc_ipod_del_played;
+}
+
+void prefs_set_pc_ipod_inc_date(gboolean val)
+{
+    cfg->pc_ipod_inc_date = val;
+}
+
+gboolean prefs_get_pc_ipod_inc_date(void)
+{
+    return cfg->pc_ipod_inc_date;
+}
+
+void prefs_set_pc_change_genre(gboolean val)
+{
+    cfg->pc_change_genre = val;
+}
+
+gboolean prefs_get_pc_change_genre(void)
+{
+    return cfg->pc_change_genre;
+}
+
 /* ------------------------------------------------------------
 
    Functions for generic preferences settings

Modified: gtkpod/trunk/src/prefs.h
===================================================================
--- gtkpod/trunk/src/prefs.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/prefs.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-01 23:16:54 jcs>
+/* Time-stamp: <2005-12-10 22:46:54 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: prefs.h,v 1.97 2005/07/01 16:53:44 jcsjcs Exp $
+|  $Id: prefs.h,v 1.102 2005/12/10 17:04:29 jcsjcs Exp $
 */
 
 #ifndef __PREFS_H__
@@ -131,6 +131,8 @@
   gboolean parsetags;           /* Get tags by parsing filename? */
   gchar   *parsetags_template;  /* template for parsing tags */
   gboolean parsetags_overwrite; /* Overwrite tags already set? */
+  gboolean coverart;            /* Read coverart when adding files? */
+  gchar *coverart_template;     /* template for coverart filename   */
   gboolean autosettags[TM_NUM_TAGS_PREFS]; /* autoset empty tags to filename?*/
   gint paned_pos[PANED_NUM];    /* position of the GtkPaned elements */
 
@@ -147,6 +149,7 @@
   gboolean write_charset;       /* Use selected charset when writing track? */
   gboolean add_recursively;     /* Add directories recursively? */
   gint sort_tab_num;            /* number of sort tabs displayed */
+  gboolean group_compilations;  /* group compilations when browsing */
   guint32 statusbar_timeout;    /* timeout for statusbar messages */
   gint last_prefs_page;         /* last page selected in prefs window */
   gchar *path[PATH_NUM];    /* path for 'Play Now...' (see PathType) */
@@ -161,6 +164,20 @@
   gchar *mserv_username;        /* username for mserv? */
   gboolean unused_gboolean3;    /* unused */
   float version;                /* version of gtkpod writing the cfg file */
+
+  gchar *pc_dir;                /* directory to store podcasts */
+  gboolean pc_del_age;          /* whether to delete old podcasts */
+  gint pc_del_age_val;          /* how old a podcast must be to be deleted */
+  gboolean pc_del_copied;       /* whether to delete once copied to iPod */
+  gboolean pc_auto_fetch;       /* whether to fetch podcasts automatically */
+  gboolean pc_log;              /* whether to log podcast information */
+  gchar *pc_log_file;           /* where to log to */
+  gboolean pc_auto_sync;        /* whether to automatically sync podcasts */
+  gboolean pc_ipod_del_age;     /* whether to delete old podcasts from iPod */
+  gint pc_ipod_del_age_val;     /* how old a podcast must be to be deleted */
+  gboolean pc_ipod_del_played;  /* whether to delete played podcasts */
+  gboolean pc_ipod_inc_date;    /* whether to include date in iPod metadata */
+  gboolean pc_change_genre;     /* whether to change genres to 'Podcast' */
 };
 
 
@@ -214,6 +231,10 @@
 gboolean prefs_get_autosettags (gint category);
 void prefs_set_parsetags_template (const gchar *tpl);
 const gchar *prefs_get_parsetags_template (void);
+void prefs_set_coverart (gboolean active);
+gboolean prefs_get_coverart(void);
+void prefs_set_coverart_template (const gchar *tpl);
+const gchar *prefs_get_coverart_template (void);
 void prefs_set_last_dir_browse (const gchar * dir);
 const gchar *prefs_get_last_dir_browse (void);
 void prefs_set_charset (gchar *charset);
@@ -298,6 +319,8 @@
 void prefs_set_case_sensitive (gboolean val);
 gint prefs_get_sort_tab_num (void);
 void prefs_set_sort_tab_num (gint i, gboolean update_display);
+gboolean prefs_get_group_compilations (void);
+void prefs_set_group_compilations (gboolean val, gboolean update_display);
 GtkToolbarStyle prefs_get_toolbar_style (void);
 void prefs_set_toolbar_style (GtkToolbarStyle i);
 gint prefs_get_last_prefs_page (void);
@@ -351,6 +374,34 @@
 gboolean prefs_get_autoimport_commandline(void);
 void prefs_set_autoimport_commandline(gboolean val);
 
+/* Podcast preferences */
+void prefs_set_pc_dir(const gchar *str);
+gchar *prefs_get_pc_dir(void);
+void prefs_set_pc_del_age(gboolean val);
+gboolean prefs_get_pc_del_age(void);
+void prefs_set_pc_del_age_val(gint val);
+gint prefs_get_pc_del_age_val(void);
+void prefs_set_pc_del_copied(gboolean val);
+gboolean prefs_get_pc_del_copied(void);
+void prefs_set_pc_auto_fetch(gboolean val);
+gboolean prefs_get_pc_auto_fetch(void);
+void prefs_set_pc_log(gboolean val);
+gboolean prefs_get_pc_log(void);
+void prefs_set_pc_log_file(const gchar *str);
+gchar *prefs_get_pc_log_file(void);
+void prefs_set_pc_auto_sync(gboolean val);
+gboolean prefs_get_pc_auto_sync(void);
+void prefs_set_pc_ipod_del_age(gboolean val);
+gboolean prefs_get_pc_ipod_del_age(void);
+void prefs_set_pc_ipod_del_age_val(gint val);
+gint prefs_get_pc_ipod_del_age_val(void);
+void prefs_set_pc_ipod_del_played(gboolean val);
+gboolean prefs_get_pc_ipod_del_played(void);
+void prefs_set_pc_ipod_inc_date(gboolean val);
+gboolean prefs_get_pc_ipod_inc_date(void);
+void prefs_set_pc_change_genre(gboolean val);
+gboolean prefs_get_pc_change_genre(void);
+
 gboolean prefs_get_disable_sorting(void);
 
 void prefs_set_string_value (const gchar *key, const gchar *value);

Modified: gtkpod/trunk/src/prefs_window.c
===================================================================
--- gtkpod/trunk/src/prefs_window.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/prefs_window.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-07-02 01:28:41 jcs>
+/* Time-stamp: <2005-12-14 23:22:13 jcs>
 |
 |  Copyright (C) 2002 Corey Donohoe <atmos at atmos.org>
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
@@ -25,7 +25,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: prefs_window.c,v 1.102 2005/07/01 16:53:44 jcsjcs Exp $
+|  $Id: prefs_window.c,v 1.112 2005/12/11 08:52:30 jcsjcs Exp $
 */
 
 #include <stdio.h>
@@ -37,6 +37,7 @@
 #include "misc_track.h"
 #include "prefs.h"
 #include "prefs_window.h"
+#include "podcast.h"
 
 GladeXML *prefs_window_xml;
 GladeXML *sort_window_xml;
@@ -57,6 +58,17 @@
 static void prefs_window_set_path (PathType i, const gchar *path);
 static void prefs_window_set_sort_tab_num (gint num);
 
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+static void on_pc_subs_list_row_activated (GtkTreeView *view,
+                                           GtkTreePath *path,
+                                           GtkTreeViewColumn *col,
+                                           gpointer user_data);
+
+
+/* Pointer to the treeview that holds the podcast subscriptions */
+static GtkTreeView *pc_subs_list = NULL;
+#endif
 /* Definition of path button names.
    E.g. path_button_names[PATH_PLAY_ENQUEUE] is
    "play_enqueue_path_button".
@@ -112,6 +124,7 @@
     -1
 };
 
+
 /* pointers to fileselectors */
 static GtkWidget *path_filechooser[PATH_NUM];
 
@@ -120,7 +133,7 @@
 					  gpointer         user_data)
 {
     prefs_window_set_st_autoselect (
-	(guint32)user_data,
+	GPOINTER_TO_UINT(user_data),
 	gtk_toggle_button_get_active(togglebutton));
 }
 
@@ -128,7 +141,7 @@
 					gpointer         user_data)
 {
     prefs_window_set_autosettags (
-	(guint32)user_data,
+	GPOINTER_TO_UINT(user_data),
 	gtk_toggle_button_get_active(togglebutton));
 }
 
@@ -137,7 +150,7 @@
 					gpointer         user_data)
 {
     prefs_window_set_col_visible (
-	(guint32)user_data,
+	GPOINTER_TO_UINT(user_data),
 	gtk_toggle_button_get_active(togglebutton));
 }
 
@@ -178,7 +191,7 @@
 	else
 	    newpath = g_strdup (npath);
 
-	if ((w = glade_xml_get_widget (prefs_window_xml, path_entry_names[i])))
+	if ((w = gtkpod_xml_get_widget (prefs_window_xml, path_entry_names[i])))
 	{
 	    gchar *newpath_utf8 = g_filename_to_utf8 (newpath, -1, NULL, NULL, NULL);
 	    gtk_entry_set_text(GTK_ENTRY(w), newpath_utf8);
@@ -314,7 +327,7 @@
 
     if (!prefs_window)   return; /* we may get called even when window
 				    is not open */
-    tooltipsdata = gtk_tooltips_data_get (glade_xml_get_widget (prefs_window_xml, "cfg_write_extended"));
+    tooltipsdata = gtk_tooltips_data_get (gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_extended"));
     g_return_if_fail (tooltipsdata);
     tt = tooltipsdata->tooltips;
     g_return_if_fail (tt);
@@ -323,13 +336,26 @@
 }
 
 
+/* Opens the podcasts options */
+void prefs_window_podcasts ()
+{
+    prefs_window_create (5);
+}
+
+
+
 /**
  * create_gtk_prefs_window
  * Create, Initialize, and Show the preferences window
  * allocate a static cfg struct for temporary variables
+ *
+ * If the window is already open, it is raised to the front and @page
+ * is selected (unless it's -1).
+ *
+ * @page: -1 for 'last page'.
  */
 void
-prefs_window_create(void)
+prefs_window_create (gint page)
 {
     gint i;
     gint defx, defy;
@@ -340,6 +366,14 @@
     if (prefs_window)
     {   /* prefs window already open -- raise to the top */
 	gdk_window_raise (prefs_window->window);
+	if (page != -1)
+	{
+	    g_return_if_fail (prefs_window_xml);
+	    if ((w = gtkpod_xml_get_widget (prefs_window_xml, "notebook")))
+	    {
+		gtk_notebook_set_current_page (GTK_NOTEBOOK (w), page);
+	    }
+	}
 	return;
     }
 
@@ -357,11 +391,11 @@
     prefs_window_xml = glade_xml_new (xml_file, "prefs_window", NULL);
     glade_xml_signal_autoconnect (prefs_window_xml);
 
-    prefs_window = glade_xml_get_widget(prefs_window_xml,"prefs_window");
+    prefs_window = gtkpod_xml_get_widget(prefs_window_xml,"prefs_window");
 
     g_return_if_fail (prefs_window);
 		
-    tooltipsdata = gtk_tooltips_data_get (glade_xml_get_widget (prefs_window_xml, "cfg_write_extended"));
+    tooltipsdata = gtk_tooltips_data_get (gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_extended"));
     g_return_if_fail (tooltipsdata);
     tt = tooltipsdata->tooltips;
     g_return_if_fail (tt);
@@ -369,7 +403,12 @@
     prefs_get_size_prefs (&defx, &defy);
     gtk_window_set_default_size (GTK_WINDOW (prefs_window), defx, defy);
 
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mount_point")))
+/* Code to add subscriptions list box */
+
+    /* FIXME: PODCASTS: remove Podcast menu */
+/*     create_subs_treeview(); */
+
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_mount_point")))
     {
 	if (tmpcfg->ipod_mount)
 	{  /* we should copy the new path first because by setting
@@ -380,234 +419,196 @@
 	    g_free (buf);
 	}
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "charset_combo")))
-    {
-	charset_init_combo (GTK_COMBO (w));
-    }
+    w = gtkpod_xml_get_widget (prefs_window_xml, "charset_combo");
+    charset_init_combo (GTK_COMBO (w));
     
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_md5tracks")))
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_md5tracks");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->md5tracks);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_update_existing");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->update_existing);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_duplicates");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->show_duplicates);
+    if (!tmpcfg->md5tracks) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_updated");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->show_updated);
+    if (!tmpcfg->update_existing) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_non_updated");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->show_non_updated);
+    if (!tmpcfg->update_existing) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_sync_dirs");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->show_sync_dirs);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_sync_remove");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->sync_remove);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_display_toolbar");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->display_toolbar);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_icons");
+    if (tmpcfg->toolbar_style == GTK_TOOLBAR_ICONS)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
+    if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_text");
+    if (tmpcfg->toolbar_style == GTK_TOOLBAR_TEXT)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
+    if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_both");
+    if (tmpcfg->toolbar_style == GTK_TOOLBAR_BOTH)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
+    if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_display_tooltips_main");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->display_tooltips_main);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_display_tooltips_prefs");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->display_tooltips_prefs);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_multi_edit");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->multi_edit);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_not_played_track");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->not_played_track);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_misc_track_nr");
+    gtk_spin_button_set_range (GTK_SPIN_BUTTON (w), 0, 0xffffffff);
+    gtk_spin_button_set_value (GTK_SPIN_BUTTON (w),
+			       prefs_get_misc_track_nr ());
+    tmpcfg->misc_track_nr = tmpcfg->misc_track_nr;
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_multi_edit_title");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->multi_edit_title);
+    gtk_widget_set_sensitive (w, tmpcfg->multi_edit);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_update_charset");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->update_charset);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_block_display");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->block_display);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_id3_write");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->id3_write);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->id3_write_id3v24);
+    if (!tmpcfg->id3_write) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_charset");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->write_charset);
+    if (!tmpcfg->id3_write) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_add_recursively");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->add_recursively);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_delete_track_from_playlist");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->deletion.track);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_delete_track_from_ipod");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->deletion.ipod_file);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_track_local_file_deletion");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->deletion.local_file);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_track_database_deletion");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->deletion.database);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_sync_remove_confirm");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->deletion.syncing);
+    gtk_widget_set_sensitive (w, tmpcfg->sync_remove);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_sync_remove_confirm2");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->deletion.syncing);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml,  "cfg_autoimport");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->autoimport);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "autoselect_hbox");
+    for (i=0; i<SORT_TAB_MAX; ++i)
     {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->md5tracks);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_update_existing")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->update_existing);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_duplicates")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->show_duplicates);
-	if (!tmpcfg->md5tracks) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_updated")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->show_updated);
-	if (!tmpcfg->update_existing) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_non_updated")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->show_non_updated);
-	if (!tmpcfg->update_existing) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_sync_dirs")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->show_sync_dirs);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_sync_remove")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->sync_remove);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_display_toolbar")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->display_toolbar);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_icons")))
-    {
-	if (tmpcfg->toolbar_style == GTK_TOOLBAR_ICONS)
-	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
-	if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_text")))
-    {
-	if (tmpcfg->toolbar_style == GTK_TOOLBAR_TEXT)
-	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
-	if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_both")))
-    {
-	if (tmpcfg->toolbar_style == GTK_TOOLBAR_BOTH)
-	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
-	if (!tmpcfg->display_toolbar) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_display_tooltips_main")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->display_tooltips_main);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_display_tooltips_prefs")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->display_tooltips_prefs);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_multi_edit")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->multi_edit);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_not_played_track")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->not_played_track);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_misc_track_nr")))
-    {
-	gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
-				   0, 0xffffffff);
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (w),
-				   prefs_get_misc_track_nr ());
-	tmpcfg->misc_track_nr = tmpcfg->misc_track_nr;
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_multi_edit_title")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->multi_edit_title);
-	gtk_widget_set_sensitive (w, tmpcfg->multi_edit);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_update_charset")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->update_charset);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_block_display")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->block_display);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_id3_write")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->id3_write);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->id3_write_id3v24);
-	if (!tmpcfg->id3_write) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_write_charset")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->write_charset);
-	if (!tmpcfg->id3_write) gtk_widget_set_sensitive (w, FALSE);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_add_recursively")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->add_recursively);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_delete_track_from_playlist")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->deletion.track);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_delete_track_from_ipod")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->deletion.ipod_file);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_track_local_file_deletion")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->deletion.local_file);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_track_database_deletion")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->deletion.database);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_sync_remove_confirm")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->deletion.syncing);
-	gtk_widget_set_sensitive (w, tmpcfg->sync_remove);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_sync_remove_confirm2")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->deletion.syncing);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml,  "cfg_autoimport")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->autoimport);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "autoselect_hbox")))
-    {
-	for (i=0; i<SORT_TAB_MAX; ++i)
-	{
-	    gchar *buf;
-	    GtkWidget *as;
-	    gint padding;
+	gchar *buf;
+	GtkWidget *as;
+	gint padding;
 	    
-	    buf = g_strdup_printf ("%d", i+1);
-	    as = gtk_check_button_new_with_mnemonic (buf);
-	    autoselect_widget[i] = as;
-	    gtk_widget_show (as);
-	    if (i==0) padding = 0;
-	    else      padding = 5;
-	    gtk_box_pack_start (GTK_BOX (w), as, FALSE, FALSE, padding);
-	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(as),
-					 tmpcfg->st[i].autoselect);
-	    g_signal_connect ((gpointer)as,
-			      "toggled",
-			      G_CALLBACK (on_cfg_st_autoselect_toggled),
-			      (gpointer)i);
-	    g_free (buf);
-	}
+	buf = g_strdup_printf ("%d", i+1);
+	as = gtk_check_button_new_with_mnemonic (buf);
+	autoselect_widget[i] = as;
+	gtk_widget_show (as);
+	if (i==0) padding = 0;
+	else      padding = 5;
+	gtk_box_pack_start (GTK_BOX (w), as, FALSE, FALSE, padding);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(as),
+				     tmpcfg->st[i].autoselect);
+	g_signal_connect ((gpointer)as,
+			  "toggled",
+			  G_CALLBACK (on_cfg_st_autoselect_toggled),
+			  GUINT_TO_POINTER(i));
+	g_free (buf);
     }
     /* connect signals for path entrys and selectors */
     for (i=0; i<PATH_NUM; ++i)
     {
-	if ((w = glade_xml_get_widget (prefs_window_xml, path_button_names[i])))
-	{
-	    g_signal_connect ((gpointer)w,
-			      "clicked",
-			      G_CALLBACK (on_path_button_pressed),
-			      (gpointer)i);
+	w = gtkpod_xml_get_widget (prefs_window_xml, path_button_names[i]);
+	g_signal_connect ((gpointer)w,
+			  "clicked",
+			  G_CALLBACK (on_path_button_pressed),
+			  GUINT_TO_POINTER(i));
+
+	w = gtkpod_xml_get_widget (prefs_window_xml, path_entry_names[i]);
+	if (tmpcfg->path[i])
+	{  /* we should copy the new path first because by setting
+	      the text we might get a callback destroying the old
+	      value... */
+	    gchar *buf = g_strdup (tmpcfg->path[i]);
+	    gtk_entry_set_text(GTK_ENTRY(w), buf);
+	    g_free (buf);
 	}
-	if ((w = glade_xml_get_widget (prefs_window_xml, path_entry_names[i])))
-	{
-	    if (tmpcfg->path[i])
-	    {  /* we should copy the new path first because by setting
-		  the text we might get a callback destroying the old
-		  value... */
-		gchar *buf = g_strdup (tmpcfg->path[i]);
-		gtk_entry_set_text(GTK_ENTRY(w), buf);
-		g_free (buf);
-	    }
-	    g_signal_connect ((gpointer)w,
-			      "changed",
-			      G_CALLBACK (on_path_entry_changed),
-			      (gpointer)i);
-	}
+	g_signal_connect ((gpointer)w,
+			  "changed",
+			  G_CALLBACK (on_path_entry_changed),
+			  GUINT_TO_POINTER(i));
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mpl_autoselect")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->mpl_autoselect);
-    }
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_mpl_autoselect");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->mpl_autoselect);
+
     for (i=0; i<TM_NUM_TAGS_PREFS; ++i)
     {
 	gchar *buf;
 	buf = g_strdup_printf ("tag_autoset%d", i);
-	if((w = glade_xml_get_widget (prefs_window_xml, buf)))
+	if((w = gtkpod_xml_get_widget (prefs_window_xml, buf)))
 	{
 	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 					 tmpcfg->autosettags[i]);
@@ -617,43 +618,54 @@
 	    g_signal_connect ((gpointer)w,
 			      "toggled",
 			      G_CALLBACK (on_cfg_autosettags_toggled),
-			      (gpointer)i);
+			      GUINT_TO_POINTER(i));
 	}
 	g_free (buf);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "readtags")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->readtags);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "readtags");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->readtags);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->parsetags);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_overwrite");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->parsetags_overwrite);
+    gtk_widget_set_sensitive (w, tmpcfg->parsetags);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_template");
+    if (tmpcfg->parsetags_template)
+    {  /* we should copy the new path first because by setting
+	  the text we might get a callback destroying the old
+	  value... */
+	gchar *buf = g_strdup (tmpcfg->parsetags_template);
+	gtk_entry_set_text(GTK_ENTRY(w), buf);
+	g_free (buf);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->parsetags);
+    gtk_widget_set_sensitive (w, tmpcfg->parsetags);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "coverart");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->coverart);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "coverart_template");
+    if (tmpcfg->coverart_template)
+    {  /* we should copy the new path first because by setting
+	  the text we might get a callback destroying the old
+	  value... */
+	gchar *buf = g_strdup (tmpcfg->coverart_template);
+	gtk_entry_set_text(GTK_ENTRY(w), buf);
+	g_free (buf);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_overwrite")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->parsetags_overwrite);
-	gtk_widget_set_sensitive (w, tmpcfg->parsetags);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_template")))
-    {
-	if (tmpcfg->parsetags_template)
-	{  /* we should copy the new path first because by setting
-	      the text we might get a callback destroying the old
-	      value... */
-	    gchar *buf = g_strdup (tmpcfg->parsetags_template);
-	    gtk_entry_set_text(GTK_ENTRY(w), buf);
-	    g_free (buf);
-	}
-	gtk_widget_set_sensitive (w, tmpcfg->parsetags);
-    }
+    gtk_widget_set_sensitive (w, tmpcfg->coverart);
 
     for (i=0; i<TM_NUM_COLUMNS; ++i)
     {
 	gchar *buf = g_strdup_printf ("col_visible%d", i);
-	if((w = glade_xml_get_widget (prefs_window_xml, buf)))
+	if((w = gtkpod_xml_get_widget (prefs_window_xml, buf)))
 	{
 	    /* set label */
 	    gtk_button_set_label (GTK_BUTTON (w),
@@ -673,28 +685,22 @@
 	    g_signal_connect ((gpointer)w,
 			      "toggled",
 			      G_CALLBACK (on_cfg_col_visible_toggled),
-			      (gpointer)i);
+			      GUINT_TO_POINTER(i));
 	}
 	g_free (buf);
     }
     
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_write_extended")))
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_extended");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->write_extended_info);
+
+
+if ((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_automount_ipod")))
     {
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->write_extended_info);
-    }
-    
-    if ((w = glade_xml_get_widget (prefs_window_xml, "notebook")))
-    {
-	gtk_notebook_set_current_page (GTK_NOTEBOOK (w),
-				       prefs_get_last_prefs_page ());
-    }
-    if ((w = glade_xml_get_widget (prefs_window_xml, "cfg_automount_ipod")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 				     prefs_get_automount());
     }
-    if ((w = glade_xml_get_widget (prefs_window_xml, "cfg_sort_tab_num_sb")))
+    if ((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_sort_tab_num_sb")))
     {
 	gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
 				   0, SORT_TAB_MAX);
@@ -702,53 +708,137 @@
 				   prefs_get_sort_tab_num ());
 	prefs_window_set_sort_tab_num (tmpcfg->sort_tab_num);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "concal_autosync")))
+    if ((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_group_compilations")))
     {
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->concal_autosync);
+				     prefs_get_group_compilations());
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_tmp_disable_sort")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->tmp_disable_sort);
+    w = gtkpod_xml_get_widget (prefs_window_xml, "concal_autosync");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->concal_autosync);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_tmp_disable_sort");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->tmp_disable_sort);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_startup_messages");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->startup_messages);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_mserv_use");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->mserv_use);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_mserv_report_probs");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->mserv_report_probs);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "mserv_username_entry");
+    if (tmpcfg->mserv_username)
+    {  /* we should copy the new path first because by setting
+	  the text we might get a callback destroying the old
+	  value... */
+	gchar *buf = g_strdup (tmpcfg->mserv_username);
+	gtk_entry_set_text(GTK_ENTRY(w), buf);
+	g_free (buf);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_startup_messages")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->startup_messages);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_dir");
+    if (tmpcfg->pc_dir)
+    {  /* we should copy the new path first because by setting
+	  the text we might get a callback destroying the old
+	  value... */
+	gchar *buf = g_strdup (tmpcfg->pc_dir);
+	gtk_entry_set_text(GTK_ENTRY(w), buf);
+	g_free (buf);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mserv_use")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->mserv_use);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_age");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_del_age);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_age_val");
+    gtk_spin_button_set_range (GTK_SPIN_BUTTON (w),
+			       0, 255);
+    gtk_spin_button_set_value (GTK_SPIN_BUTTON (w),
+			       prefs_get_pc_del_age_val ());
+    if (!tmpcfg->pc_del_age) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_copied");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_del_copied);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_auto_fetch");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_auto_fetch);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_log");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_log);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_log_file");
+    if (tmpcfg->pc_log_file)
+    {  /* we should copy the new path first because by setting
+	  the text we might get a callback destroying the old
+	  value... */
+	gchar *buf = g_strdup (tmpcfg->pc_log_file);
+	gtk_entry_set_text(GTK_ENTRY(w), buf);
+	g_free (buf);
     }
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_mserv_report_probs")))
-    {
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
-				     tmpcfg->mserv_report_probs);
-    }
-    if((w = glade_xml_get_widget (prefs_window_xml, "mserv_username_entry")))
-    {
-	if (tmpcfg->mserv_username)
-	{  /* we should copy the new path first because by setting
-	      the text we might get a callback destroying the old
-	      value... */
-	    gchar *buf = g_strdup (tmpcfg->mserv_username);
-	    gtk_entry_set_text(GTK_ENTRY(w), buf);
-	    g_free (buf);
-	}
-    }
+    if (!tmpcfg->pc_log) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_auto_sync");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_auto_sync);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_del_age");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_ipod_del_age);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_del_age_val");
+    gtk_spin_button_set_range (GTK_SPIN_BUTTON (w), 0, 255);
+    gtk_spin_button_set_value (GTK_SPIN_BUTTON (w),
+			       prefs_get_pc_ipod_del_age_val ());
+    if (!tmpcfg->pc_ipod_del_age) gtk_widget_set_sensitive (w, FALSE);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_del_played");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_ipod_del_played);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_inc_date");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_ipod_inc_date);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_change_genre");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+				 tmpcfg->pc_change_genre);
+
+
+
 /* 	if((w = lookup_widget(prefs_window, "cfg_unused_gboolean3"))) */
 /* 	{ */
 /* 	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), */
 /* 					 tmpcfg->unused_gboolean3); */
 /* 	} */
-    if((w = glade_xml_get_widget (prefs_window_xml, "concal_label")))
+    w = gtkpod_xml_get_widget (prefs_window_xml, "prefs_label_syncexamples");
+    gchar *str = g_markup_printf_escaped (_("<i>Have a look at the scripts provided in '%s'. If you write a new script, please send it to jcsjcs at users.sourceforge.net for inclusion into the next release.</i>"), PACKAGE_DATA_DIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S "scripts" G_DIR_SEPARATOR_S);
+    gtk_label_set_markup (GTK_LABEL (w), str);
+    g_free (str);
+
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "notebook");
+    if (page == -1)
     {
-	gchar *str = g_strdup_printf (_("Have a look at the scripts provided in '%s'. If you write a new script, please send it to jcsjcs at users.sourceforge.net for inclusion into the next release."), PACKAGE_DATA_DIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S "scripts" G_DIR_SEPARATOR_S);
-	gtk_label_set_text (GTK_LABEL (w), str);
-	g_free (str);
+	gtk_notebook_set_current_page (GTK_NOTEBOOK (w),
+				       prefs_get_last_prefs_page ());
     }
+    else
+    {
+	gtk_notebook_set_current_page (GTK_NOTEBOOK (w), page);
+    }
+    /* FIXME: PODCASTS: remove Podcast options */
+    gtk_notebook_remove_page (GTK_NOTEBOOK (w), -1);
+
     prefs_window_show_hide_tooltips ();
     gtk_widget_show(prefs_window);
 }
@@ -788,6 +878,8 @@
 	prefs_set_parsetags(tmpcfg->parsetags);
 	prefs_set_parsetags_overwrite(tmpcfg->parsetags_overwrite);
 	prefs_set_parsetags_template(tmpcfg->parsetags_template);
+	prefs_set_coverart(tmpcfg->coverart);
+	prefs_set_coverart_template(tmpcfg->coverart_template);
 	for (i=0; i<TM_NUM_COLUMNS; ++i)
 	{
 	    prefs_set_col_visible (i, tmpcfg->col_visible[i]);
@@ -808,6 +900,7 @@
 	prefs_set_update_existing(tmpcfg->update_existing);
 	prefs_set_block_display(tmpcfg->block_display);
 	prefs_set_sort_tab_num(tmpcfg->sort_tab_num, TRUE);
+	prefs_set_group_compilations(tmpcfg->group_compilations, TRUE);
 	prefs_set_sync_remove(tmpcfg->sync_remove);
 	prefs_set_toolbar_style(tmpcfg->toolbar_style);
 	prefs_set_display_toolbar(tmpcfg->display_toolbar);
@@ -827,6 +920,19 @@
 	prefs_set_mserv_use(tmpcfg->mserv_use);
 	prefs_set_mserv_report_probs(tmpcfg->mserv_report_probs);
 	prefs_set_mserv_username(tmpcfg->mserv_username);
+	prefs_set_pc_dir(tmpcfg->pc_dir);
+	prefs_set_pc_del_age(tmpcfg->pc_del_age);
+	prefs_set_pc_del_age_val(tmpcfg->pc_del_age_val);
+	prefs_set_pc_del_copied(tmpcfg->pc_del_copied);
+	prefs_set_pc_auto_fetch(tmpcfg->pc_auto_fetch);
+	prefs_set_pc_log(tmpcfg->pc_log);
+	prefs_set_pc_log_file(tmpcfg->pc_log_file);
+	prefs_set_pc_auto_sync(tmpcfg->pc_auto_sync);
+	prefs_set_pc_ipod_del_age(tmpcfg->pc_ipod_del_age);
+	prefs_set_pc_ipod_del_age_val(tmpcfg->pc_ipod_del_age_val);
+	prefs_set_pc_ipod_del_played(tmpcfg->pc_ipod_del_played);
+	prefs_set_pc_ipod_inc_date(tmpcfg->pc_ipod_inc_date);
+	prefs_set_pc_change_genre(tmpcfg->pc_change_genre);
 	prefs_set_unused_gboolean3(tmpcfg->unused_gboolean3);
 
 	tm_show_preferred_columns();
@@ -893,7 +999,7 @@
     origcfg = NULL;
 
     /* save current notebook page */
-    nb = glade_xml_get_widget (prefs_window_xml, "notebook");
+    nb = gtkpod_xml_get_widget (prefs_window_xml, "notebook");
     prefs_set_last_prefs_page (gtk_notebook_get_current_page (
 				   GTK_NOTEBOOK (nb)));
 
@@ -928,13 +1034,16 @@
     origcfg = NULL;
 
     /* save current notebook page */
-    nb = glade_xml_get_widget (prefs_window_xml, "notebook");
+    nb = gtkpod_xml_get_widget (prefs_window_xml, "notebook");
     prefs_set_last_prefs_page (gtk_notebook_get_current_page (
 				   GTK_NOTEBOOK (nb)));
 
     /* save current window size */
     gtk_window_get_size (GTK_WINDOW (prefs_window), &defx, &defy);
     prefs_set_size_prefs (defx, defy);
+    /* FIXME: PODCASTS: remove Podcast menu */
+/*     GtkListStore *store = GTK_LIST_STORE(gtk_tree_view_get_model(pc_subs_list)); */
+/*     podcast_write_from_store(store); */
 
     /* close the window */
     if(prefs_window)
@@ -959,30 +1068,172 @@
     /* reset the validated path entries */
     for (i=0; i<PATH_NUM; ++i)
     {
-	if((w = glade_xml_get_widget (prefs_window_xml, path_entry_names[i])))
+	if((w = gtkpod_xml_get_widget (prefs_window_xml, path_entry_names[i])))
 	{
 	    gtk_entry_set_text(GTK_ENTRY(w), tmpcfg->path[i]);
 	    /* tmpcfg gets set by the "changed" callback */
 	}
     }
 
-    if((w = glade_xml_get_widget (prefs_window_xml, "mserv_username_entry")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "mserv_username_entry")))
     {
 	gtk_entry_set_text(GTK_ENTRY(w), prefs_get_mserv_username ());
 	/* tmpcfg gets set by the "changed" callback */
     }
 
     /* save current notebook page */
-    nb = glade_xml_get_widget (prefs_window_xml, "notebook");
+    nb = gtkpod_xml_get_widget (prefs_window_xml, "notebook");
     prefs_set_last_prefs_page (gtk_notebook_get_current_page (
 				   GTK_NOTEBOOK (nb)));
 
     /* save current window size */
     gtk_window_get_size (GTK_WINDOW (prefs_window), &defx, &defy);
     prefs_set_size_prefs (defx, defy);
+
+    /* FIXME: PODCASTS: remove Podcast menu */
+/*     GtkListStore *store = GTK_LIST_STORE(gtk_tree_view_get_model(pc_subs_list)); */
+/*     podcast_write_from_store(store); */
 }
 
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+void create_subs_treeview ()
+{
+    GtkCellRenderer     *renderer;
+    GtkTreeModel        *model;
 
+    pc_subs_list = GTK_TREE_VIEW(gtk_tree_view_new ());
+    gtk_widget_set_size_request(GTK_WIDGET (pc_subs_list), 270, 105);
+
+    renderer = gtk_cell_renderer_text_new ();
+    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (pc_subs_list),
+                                                 -1,      
+                                                 "Name",  
+                                                 renderer,
+                                                 "text", PC_SUBS_NAME,
+                                                 NULL);
+
+    renderer = gtk_cell_renderer_text_new ();
+    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (pc_subs_list),
+                                                 -1,
+                                                 "URL",
+                                                 renderer,
+                                                 "text", PC_SUBS_URL,
+                                                 NULL);
+
+    model = GTK_TREE_MODEL(gtk_list_store_new (PC_SUBS_NUM_COLS, G_TYPE_STRING, G_TYPE_STRING));
+    podcast_read_into_store (GTK_LIST_STORE(model));
+    gtk_tree_view_set_model (GTK_TREE_VIEW (pc_subs_list), model);
+
+    /* The tree view has acquired its own reference to the
+     *  model, so we can drop ours. That way the model will
+     *  be freed automatically when the tree view is destroyed */
+
+    g_object_unref (model);
+
+    g_signal_connect(pc_subs_list, "row-activated", G_CALLBACK(on_pc_subs_list_row_activated), NULL);
+
+    GtkWidget *pc_subs_window = gtkpod_xml_get_widget (prefs_window_xml, "pc_subs_window");
+
+    gtk_container_add (GTK_CONTAINER (pc_subs_window), GTK_WIDGET(pc_subs_list));
+
+    gtk_widget_show_all (pc_subs_window);
+}
+#endif
+
+void on_pc_add_button_clicked          (GtkButton *button,
+                                        gpointer user_data)
+{
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+    gchar *text[2];
+    GtkEditable *w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, "pc_name"));
+    text[0] = gtk_editable_get_chars(w, 0, -1);
+    gtk_editable_delete_text(w, 0, -1);
+    w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, "pc_url"));
+    text[1] = gtk_editable_get_chars(w, 0, -1);
+    gtk_editable_delete_text(w, 0, -1);
+
+    GtkListStore *model = GTK_LIST_STORE(gtk_tree_view_get_model(pc_subs_list));
+    GtkTreeIter iter;
+
+    gtk_list_store_append (model, &iter);
+    gtk_list_store_set (model, &iter,
+                        PC_SUBS_NAME, text[0],
+                        PC_SUBS_URL, text[1],
+                        -1);
+#endif
+}
+
+void on_pc_delete_button_clicked       (GtkButton *button,
+                                        gpointer user_data)
+{
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+    GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pc_subs_list));
+    GtkTreeModel     *model = gtk_tree_view_get_model(pc_subs_list);
+    GtkTreeIter       iter;
+
+    if (gtk_tree_selection_get_selected(selection, &model, &iter))
+        gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
+#endif
+}
+
+void on_pc_update_button_clicked       (GtkButton *button,
+                                        gpointer user_data)
+{
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+    GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pc_subs_list));
+    GtkTreeModel     *model = gtk_tree_view_get_model(pc_subs_list);
+    GtkTreeIter       iter;
+
+    if (gtk_tree_selection_get_selected(selection, &model, &iter) || 1)
+    {
+        gchar *text[2];
+        GtkEditable *w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, "pc_name"));
+        text[0] = gtk_editable_get_chars(w, 0, -1);
+        gtk_editable_delete_text(w, 0, -1);
+        w = GTK_EDITABLE(gtkpod_xml_get_widget (prefs_window_xml, "pc_url"));
+        text[1] = gtk_editable_get_chars(w, 0, -1);
+        gtk_editable_delete_text(w, 0, -1);
+
+        gtk_list_store_set (GTK_LIST_STORE(model), &iter,
+                            PC_SUBS_NAME, text[0],
+                            PC_SUBS_URL, text[1],
+                            -1);
+    }
+#endif
+}
+
+
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+static void on_pc_subs_list_row_activated       (GtkTreeView *view,
+                                          GtkTreePath *path,
+                                          GtkTreeViewColumn *col,
+                                          gpointer user_data)
+{
+    GtkTreeModel *model;
+    GtkTreeIter   iter;
+    gchar *text[2];
+
+    model = gtk_tree_view_get_model(view);
+    gtk_tree_model_get_iter(model, &iter, path);
+    gtk_tree_model_get (model, &iter,
+                        PC_SUBS_NAME, &text[0],
+                        PC_SUBS_URL, &text[1],
+                        -1);
+
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "pc_name");
+    gtk_entry_set_text(GTK_ENTRY (w), text[0]);
+
+    w = gtkpod_xml_get_widget (prefs_window_xml, "pc_url");
+    gtk_entry_set_text(GTK_ENTRY (w), text[1]);
+}
+#endif
+
+
 /* -----------------------------------------------------------------
 
    Callbacks
@@ -1039,7 +1290,7 @@
 					gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active(togglebutton);
-    GtkWidget *w = glade_xml_get_widget (prefs_window_xml, "cfg_show_duplicates");
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_duplicates");
 
     tmpcfg->md5tracks = val;
     if(w)	gtk_widget_set_sensitive (w, val);
@@ -1061,9 +1312,9 @@
 
     tmpcfg->update_existing = val;
 
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_updated")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_updated")))
 	gtk_widget_set_sensitive (w, val);
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_show_non_updated")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_show_non_updated")))
 	gtk_widget_set_sensitive (w, val);
 }
 
@@ -1075,9 +1326,9 @@
     GtkWidget *w;
 
     tmpcfg->id3_write = val;
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_id3_write_id3v24")))
 	gtk_widget_set_sensitive (w, val);
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_write_charset")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_write_charset")))
 	gtk_widget_set_sensitive (w, val);
 }
 
@@ -1227,10 +1478,10 @@
     GtkWidget *w;
 
     tmpcfg->parsetags = val;
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_overwrite")))
-	gtk_widget_set_sensitive (w, val);
-    if((w = glade_xml_get_widget (prefs_window_xml, "parsetags_template")))
-	gtk_widget_set_sensitive (w, val);
+    w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_overwrite");
+    gtk_widget_set_sensitive (w, val);
+    w = gtkpod_xml_get_widget (prefs_window_xml, "parsetags_template");
+    gtk_widget_set_sensitive (w, val);
 }
 
 void
@@ -1243,12 +1494,32 @@
 
 void
 on_parsetags_template_changed             (GtkEditable     *editable,
-					gpointer         user_data)
+					   gpointer         user_data)
 {
     g_free (tmpcfg->parsetags_template);
     tmpcfg->parsetags_template = gtk_editable_get_chars (editable,0, -1);
 }
 
+void
+on_coverart_toggled                   (GtkToggleButton *togglebutton,
+				       gpointer         user_data)
+{
+    gboolean val = gtk_toggle_button_get_active(togglebutton);
+    GtkWidget *w;
+
+    tmpcfg->coverart = val;
+    w = gtkpod_xml_get_widget (prefs_window_xml, "coverart_template");
+    gtk_widget_set_sensitive (w, val);
+}
+
+void
+on_coverart_template_changed             (GtkEditable     *editable,
+					gpointer         user_data)
+{
+    g_free (tmpcfg->coverart_template);
+    tmpcfg->coverart_template = gtk_editable_get_chars (editable,0, -1);
+}
+
 void prefs_window_set_col_visible (gint column, gboolean visible)
 {
     if (column < TM_NUM_COLUMNS)
@@ -1295,7 +1566,7 @@
     GtkWidget *w;
 
     tmpcfg->sync_remove = val;
-    if((w = glade_xml_get_widget (prefs_window_xml, "cfg_sync_remove_confirm")))
+    if((w = gtkpod_xml_get_widget (prefs_window_xml, "cfg_sync_remove_confirm")))
 	gtk_widget_set_sensitive (w, val);
 }
 
@@ -1321,9 +1592,9 @@
 					gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active (togglebutton);
-    GtkWidget *w1 = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_icons");
-    GtkWidget *w2 = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_text");
-    GtkWidget *w3 = glade_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_both");
+    GtkWidget *w1 = gtkpod_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_icons");
+    GtkWidget *w2 = gtkpod_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_text");
+    GtkWidget *w3 = gtkpod_xml_get_widget (prefs_window_xml, "cfg_toolbar_style_both");
 
     tmpcfg->display_toolbar = val;
 
@@ -1337,7 +1608,7 @@
 					gpointer         user_data)
 {
     gboolean val = gtk_toggle_button_get_active (togglebutton);
-    GtkWidget *w = glade_xml_get_widget  (prefs_window_xml, "cfg_multi_edit_title");
+    GtkWidget *w = gtkpod_xml_get_widget  (prefs_window_xml, "cfg_multi_edit_title");
 
     tmpcfg->multi_edit = val;
     gtk_widget_set_sensitive (w, val);
@@ -1409,6 +1680,13 @@
 }
 
 void
+on_cfg_group_compilations_toggled      (GtkToggleButton *togglebutton,
+					gpointer         user_data)
+{
+    tmpcfg->group_compilations = gtk_toggle_button_get_active (togglebutton);
+}
+
+void
 on_cfg_toolbar_style_both_toggled      (GtkToggleButton *togglebutton,
 					gpointer         user_data)
 {
@@ -1548,12 +1826,12 @@
     {
 	gchar *buf = g_strdup_printf ("sort_ign_field_%d",
 				      sort_ign_fields[i]);
-	GtkWidget *w = glade_xml_get_widget (sort_window_xml, buf);
+	GtkWidget *w = gtkpod_xml_get_widget (sort_window_xml, buf);
 	g_return_if_fail (w);
 	scfg->tmp_sort_ign_fields = g_list_append (
 	    scfg->tmp_sort_ign_fields,
-	    (gpointer) gtk_toggle_button_get_active (
-		GTK_TOGGLE_BUTTON (w)));
+	    GUINT_TO_POINTER( gtk_toggle_button_get_active (
+		GTK_TOGGLE_BUTTON (w))));
 	g_free (buf);
     }
 
@@ -1562,7 +1840,7 @@
     scfg->tmp_sort_ign_strings = NULL;
 
     /* read new ignore strings */
-    tv = GTK_TEXT_VIEW (glade_xml_get_widget (sort_window_xml,
+    tv = GTK_TEXT_VIEW (gtkpod_xml_get_widget (sort_window_xml,
 					      "sort_ign_strings"));
     g_return_if_fail (tv);
     tb = gtk_text_view_get_buffer (tv);
@@ -1606,14 +1884,14 @@
 	sort_window_xml = glade_xml_new (xml_file, "sort_window", NULL);
 	glade_xml_signal_autoconnect (sort_window_xml);
 
-	sort_window = glade_xml_get_widget (sort_window_xml, "sort_window");
+	sort_window = gtkpod_xml_get_widget (sort_window_xml, "sort_window");
 
 	/* label the ignore-field checkbox-labels */
 	for (i=0; sort_ign_fields[i] != -1; ++i)
 	{
 	    gchar *buf = g_strdup_printf ("sort_ign_field_%d",
 					  sort_ign_fields[i]);
-	    GtkWidget *w = glade_xml_get_widget (sort_window_xml, buf);
+	    GtkWidget *w = gtkpod_xml_get_widget (sort_window_xml, buf);
 	    g_return_if_fail (w);
 	    gtk_button_set_label (
 		GTK_BUTTON (w),
@@ -1632,7 +1910,7 @@
 	    g_free (buf);
 	}
 	/* set the ignore strings */
-	tv = GTK_TEXT_VIEW (glade_xml_get_widget (sort_window_xml,
+	tv = GTK_TEXT_VIEW (gtkpod_xml_get_widget (sort_window_xml,
 						  "sort_ign_strings"));
 	tb = gtk_text_view_get_buffer (tv);
 	if (!tb)
@@ -1694,7 +1972,7 @@
 					     gettext (get_tm_string (col)));
 	    }
 	}
-	w = glade_xml_get_widget (sort_window_xml, "sort_combo");
+	w = gtkpod_xml_get_widget (sort_window_xml, "sort_combo");
 	gtk_combo_set_popdown_strings (GTK_COMBO (w), collist);
 	g_list_free (collist);
 	collist = NULL;
@@ -1725,13 +2003,13 @@
 	switch (tmpsortcfg->pm_sort)
 	{
 	case SORT_ASCENDING:
-	    w = glade_xml_get_widget (sort_window_xml, "pm_ascend");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "pm_ascend");
 	    break;
 	case SORT_DESCENDING:
-	    w = glade_xml_get_widget (sort_window_xml, "pm_descend");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "pm_descend");
 	    break;
 	case SORT_NONE:
-	    w = glade_xml_get_widget (sort_window_xml, "pm_none");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "pm_none");
 	    break;
 	}
 	if (w)
@@ -1741,13 +2019,13 @@
 	switch (tmpsortcfg->st_sort)
 	{
 	case SORT_ASCENDING:
-	    w = glade_xml_get_widget (sort_window_xml, "st_ascend");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "st_ascend");
 	    break;
 	case SORT_DESCENDING:
-	    w = glade_xml_get_widget (sort_window_xml, "st_descend");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "st_descend");
 	    break;
 	case SORT_NONE:
-	    w = glade_xml_get_widget (sort_window_xml, "st_none");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "st_none");
 	    break;
 	}
 	if (w)
@@ -1756,36 +2034,36 @@
 	switch (tmpsortcfg->tm_sort)
 	{
 	case SORT_ASCENDING:
-	    w = glade_xml_get_widget (sort_window_xml, "tm_ascend");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "tm_ascend");
 	    break;
 	case SORT_DESCENDING:
-	    w = glade_xml_get_widget (sort_window_xml, "tm_descend");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "tm_descend");
 	    break;
 	case SORT_NONE:
-	    w = glade_xml_get_widget (sort_window_xml, "tm_none");
+	    w = gtkpod_xml_get_widget (sort_window_xml, "tm_none");
 	    break;
 	}
 	if (w)
 	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
 
-	w = glade_xml_get_widget (sort_window_xml, "pm_autostore");
+	w = gtkpod_xml_get_widget (sort_window_xml, "pm_autostore");
 	if (w)
 	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 					 tmpsortcfg->pm_autostore);
 
-	w = glade_xml_get_widget (sort_window_xml, "tm_autostore");
+	w = gtkpod_xml_get_widget (sort_window_xml, "tm_autostore");
 	if (w)
 	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 					 tmpsortcfg->tm_autostore);
 
-	if((w = glade_xml_get_widget (sort_window_xml, "cfg_case_sensitive")))
+	if((w = gtkpod_xml_get_widget (sort_window_xml, "cfg_case_sensitive")))
 	{
 	    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
 					 tmpsortcfg->case_sensitive);
 	}
 	/* set standard entry in combo */
 	str = gettext (get_tm_string (prefs_get_tm_sortcol ()));
-	w = glade_xml_get_widget (sort_window_xml, "sort_combo");
+	w = gtkpod_xml_get_widget (sort_window_xml, "sort_combo");
 	gtk_entry_set_text (GTK_ENTRY (GTK_COMBO (w)->entry), str);
     }
 }
@@ -1814,7 +2092,7 @@
     {
 	GtkTooltips *tt;
 	GtkTooltipsData *tooltips_data;
-	tooltips_data = gtk_tooltips_data_get (glade_xml_get_widget (sort_window_xml, "sort_combo-entry"));
+	tooltips_data = gtk_tooltips_data_get (gtkpod_xml_get_widget (sort_window_xml, "sort_combo-entry"));
 	tt = tooltips_data->tooltips;
 	if (tt)
 	{
@@ -1836,7 +2114,7 @@
     GtkWidget *w;
     gint i = -1;
 
-    w = glade_xml_get_widget (sort_window_xml, "sort_combo");
+    w = gtkpod_xml_get_widget (sort_window_xml, "sort_combo");
     str = gtk_entry_get_text (GTK_ENTRY (GTK_COMBO (w)->entry));
     /* Check which string is selected in the combo */
     if (str)
@@ -1881,8 +2159,8 @@
 				      sort_ign_fields[i]);
 	prefs_set_int_value (
 	    buf,
-	    (gint)g_list_nth_data (
-		scfg->tmp_sort_ign_fields, i));
+	    GPOINTER_TO_UINT(g_list_nth_data (
+		scfg->tmp_sort_ign_fields, i)));
 	g_free (buf);
     }
     /* clean up old sort strings */
@@ -2064,6 +2342,112 @@
 
 
 void
+on_pc_dir_changed                      (GtkEditable     *editable,
+                                        gpointer         user_data)
+{
+    g_free (tmpcfg->pc_dir);
+    tmpcfg->pc_dir = gtk_editable_get_chars(editable,0, -1);
+}
+
+void
+on_pc_del_age_toggled                  (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    gboolean val = gtk_toggle_button_get_active (togglebutton);
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "pc_del_age_val");
+
+    tmpcfg->pc_del_age = val;
+    if(w)       gtk_widget_set_sensitive (w, val);
+}
+
+void
+on_pc_del_age_val_value_changed        (GtkSpinButton   *spinbutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_del_age_val = gtk_spin_button_get_value  (spinbutton);
+}
+
+void
+on_pc_del_copied_toggled               (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_del_copied = gtk_toggle_button_get_active (togglebutton);
+}
+
+void
+on_pc_auto_fetch_toggled               (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_auto_fetch = gtk_toggle_button_get_active (togglebutton);
+}
+
+void
+on_pc_log_toggled                      (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    gboolean val = gtk_toggle_button_get_active (togglebutton);
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "pc_log_file");
+
+    tmpcfg->pc_log = val;
+    if(w)       gtk_widget_set_sensitive (w, val);
+}
+
+void
+on_pc_log_file_changed                 (GtkEditable     *editable,
+                                        gpointer         user_data)
+{
+    g_free (tmpcfg->pc_log_file);
+    tmpcfg->pc_log_file = gtk_editable_get_chars(editable,0, -1);
+}
+
+void
+on_pc_auto_sync_toggled                (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_auto_sync = gtk_toggle_button_get_active (togglebutton);
+}
+
+void
+on_pc_ipod_del_age_toggled             (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    gboolean val = gtk_toggle_button_get_active (togglebutton);
+    GtkWidget *w = gtkpod_xml_get_widget (prefs_window_xml, "pc_ipod_del_age_val");
+
+    tmpcfg->pc_ipod_del_age = val;
+    if(w)       gtk_widget_set_sensitive (w, val);
+}
+
+void
+on_pc_ipod_del_age_val_value_changed   (GtkSpinButton   *spinbutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_ipod_del_age_val = gtk_spin_button_get_value  (spinbutton);
+}
+
+void
+on_pc_ipod_del_played_toggled          (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_ipod_del_played = gtk_toggle_button_get_active (togglebutton);
+}
+
+void
+on_pc_ipod_inc_date_toggled            (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_ipod_inc_date = gtk_toggle_button_get_active (togglebutton);
+}
+
+void
+on_pc_change_genre_toggled             (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
+{
+    tmpcfg->pc_change_genre = gtk_toggle_button_get_active (togglebutton);
+}
+
+
+void
 on_sort_apply_clicked                  (GtkButton       *button,
 					gpointer         user_data)
 {

Modified: gtkpod/trunk/src/prefs_window.h
===================================================================
--- gtkpod/trunk/src/prefs_window.h	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/prefs_window.h	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 21:01:39 jcs>
+/* Time-stamp: <2005-11-12 17:16:12 jcs>
 |
 |  Copyright (C) 2002 Corey Donohoe <atmos at atmos.org>
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
@@ -25,14 +25,13 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: prefs_window.h,v 1.65 2005/06/17 13:30:05 jcsjcs Exp $
+|  $Id: prefs_window.h,v 1.68 2005/11/12 08:54:31 jcsjcs Exp $
 */
 #ifndef _GTKPOD_PREFS_WINDOW_H
 #define _GTKPOD_PREFS_WINDOW_H
 
 #include <gtk/gtk.h>
 #include "prefs.h"
-
 extern const gchar *path_entry_names[];
 
 void prefs_window_update_default_sizes (void);
@@ -42,8 +41,9 @@
 void prefs_window_ok (void);
 void prefs_window_apply (void);
 void prefs_window_cancel (void);
-void prefs_window_create (void);
+void prefs_window_create (gint page);
 void prefs_window_delete (void);
+void prefs_window_podcasts (void);
 
 void prefs_window_set_unused_gboolean3 (gboolean val);
 
@@ -63,4 +63,7 @@
 void sort_window_set_tm_sort (gint val);
 void sort_window_set_case_sensitive (gboolean val);
 void sort_window_update (void);
+
+void create_subs_treeview (void);
 #endif
+

Modified: gtkpod/trunk/src/tools.c
===================================================================
--- gtkpod/trunk/src/tools.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/tools.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: tools.c,v 1.41 2005/07/15 16:58:42 jcsjcs Exp $
+|  $Id: tools.c,v 1.42 2005/10/18 14:29:55 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -95,7 +95,7 @@
    mutex_data = TRUE; /* signal that thread will end */
    g_cond_signal (cond);
    g_mutex_unlock (mutex);
-   return (gpointer)gain;
+   return GUINT_TO_POINTER(gain);
 }
 #endif
 
@@ -257,7 +257,7 @@
 	     g_cond_timed_wait (cond, mutex, &gtime);
 	 }
 	 while(!mutex_data);
-	 new_soundcheck = (gint)g_thread_join (thread);
+	 new_soundcheck = GPOINTER_TO_UINT(g_thread_join (thread));
 	 g_mutex_unlock (mutex);
      }
      else

Modified: gtkpod/trunk/src/wavfile.c
===================================================================
--- gtkpod/trunk/src/wavfile.c	2005-12-30 07:25:41 UTC (rev 93)
+++ gtkpod/trunk/src/wavfile.c	2005-12-30 07:31:41 UTC (rev 94)
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-06-17 22:12:12 jcs>
+/* Time-stamp: <2005-09-17 21:55:20 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -24,7 +24,7 @@
 |
 |  This product is not supported/written/published by Apple!
 |
-|  $Id: wavfile.c,v 1.8 2005/06/17 13:30:05 jcsjcs Exp $
+|  $Id: wavfile.c,v 1.9 2005/09/20 09:50:13 jcsjcs Exp $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -165,7 +165,7 @@
     track->samplerate = wav_file->samples_per_sec;
     track->tracklen = 1000 * ((double)8*len / track->bitrate);
     track->bitrate /= 1000; /* change to kbps */
-    track->fdesc = g_strdup ("WAV audio file");
+    track->filetype = g_strdup ("WAV audio file");
 
     fclose(wav_file->file);
     g_free(wav_file);




More information about the Pkg-gtkpod-devel mailing list