[Pkg-gtkpod-devel] r90 - in gtkpod/branches/upstream/current: . po scripts src

Frank Lichtenheld djpig at costa.debian.org
Thu Dec 29 16:41:50 UTC 2005


Author: djpig
Date: 2005-12-29 16:40:29 +0000 (Thu, 29 Dec 2005)
New Revision: 90

Added:
   gtkpod/branches/upstream/current/scripts/ldif2vcf.sh
   gtkpod/branches/upstream/current/scripts/sync-knotes.sh
   gtkpod/branches/upstream/current/scripts/sync-ldif.sh
   gtkpod/branches/upstream/current/scripts/sync-palm-jppy.py
   gtkpod/branches/upstream/current/src/details.c
   gtkpod/branches/upstream/current/src/details.h
   gtkpod/branches/upstream/current/src/podcast.c
   gtkpod/branches/upstream/current/src/podcast.h
Removed:
   gtkpod/branches/upstream/current/src/callbacks.c
   gtkpod/branches/upstream/current/src/callbacks.h
   gtkpod/branches/upstream/current/src/dirbrowser.c
   gtkpod/branches/upstream/current/src/dirbrowser.h
   gtkpod/branches/upstream/current/src/interface.c
   gtkpod/branches/upstream/current/src/interface.h
   gtkpod/branches/upstream/current/src/itdb_itunesdb.c
   gtkpod/branches/upstream/current/src/itdb_playlist.c
   gtkpod/branches/upstream/current/src/itdb_private.h
   gtkpod/branches/upstream/current/src/itdb_track.c
   gtkpod/branches/upstream/current/src/itunesdb.c
   gtkpod/branches/upstream/current/src/itunesdb.h
   gtkpod/branches/upstream/current/src/itunessd.c
   gtkpod/branches/upstream/current/src/itunessd.h
   gtkpod/branches/upstream/current/src/playlist.c
   gtkpod/branches/upstream/current/src/playlist.h
   gtkpod/branches/upstream/current/src/support.c
   gtkpod/branches/upstream/current/src/support.h
   gtkpod/branches/upstream/current/src/track.c
   gtkpod/branches/upstream/current/src/track.h
Modified:
   gtkpod/branches/upstream/current/COPYING
   gtkpod/branches/upstream/current/ChangeLog
   gtkpod/branches/upstream/current/INSTALL
   gtkpod/branches/upstream/current/Makefile.am
   gtkpod/branches/upstream/current/Makefile.in
   gtkpod/branches/upstream/current/README
   gtkpod/branches/upstream/current/TODOandBUGS.txt
   gtkpod/branches/upstream/current/TROUBLESHOOTING
   gtkpod/branches/upstream/current/config.h.in
   gtkpod/branches/upstream/current/configure
   gtkpod/branches/upstream/current/configure.in
   gtkpod/branches/upstream/current/gtkpod.glade
   gtkpod/branches/upstream/current/po/POTFILES.in
   gtkpod/branches/upstream/current/po/de.gmo
   gtkpod/branches/upstream/current/po/de.po
   gtkpod/branches/upstream/current/po/fr.gmo
   gtkpod/branches/upstream/current/po/fr.po
   gtkpod/branches/upstream/current/po/gtkpod.pot
   gtkpod/branches/upstream/current/po/he.gmo
   gtkpod/branches/upstream/current/po/he.po
   gtkpod/branches/upstream/current/po/it.gmo
   gtkpod/branches/upstream/current/po/it.po
   gtkpod/branches/upstream/current/po/ja.gmo
   gtkpod/branches/upstream/current/po/ja.po
   gtkpod/branches/upstream/current/po/sv.gmo
   gtkpod/branches/upstream/current/po/sv.po
   gtkpod/branches/upstream/current/scripts/Makefile.am
   gtkpod/branches/upstream/current/scripts/Makefile.in
   gtkpod/branches/upstream/current/scripts/sync-thunderbird.sh
   gtkpod/branches/upstream/current/src/Makefile.am
   gtkpod/branches/upstream/current/src/Makefile.in
   gtkpod/branches/upstream/current/src/confirmation.c
   gtkpod/branches/upstream/current/src/context_menus.c
   gtkpod/branches/upstream/current/src/display.c
   gtkpod/branches/upstream/current/src/display.h
   gtkpod/branches/upstream/current/src/display_itdb.c
   gtkpod/branches/upstream/current/src/display_itdb.h
   gtkpod/branches/upstream/current/src/display_playlists.c
   gtkpod/branches/upstream/current/src/display_private.h
   gtkpod/branches/upstream/current/src/display_songs.c
   gtkpod/branches/upstream/current/src/display_sorttabs.c
   gtkpod/branches/upstream/current/src/display_spl.c
   gtkpod/branches/upstream/current/src/file.c
   gtkpod/branches/upstream/current/src/file.h
   gtkpod/branches/upstream/current/src/file_export.c
   gtkpod/branches/upstream/current/src/file_itunesdb.c
   gtkpod/branches/upstream/current/src/fileselection.c
   gtkpod/branches/upstream/current/src/fileselection.h
   gtkpod/branches/upstream/current/src/info.c
   gtkpod/branches/upstream/current/src/info.h
   gtkpod/branches/upstream/current/src/itdb.h
   gtkpod/branches/upstream/current/src/main.c
   gtkpod/branches/upstream/current/src/misc.c
   gtkpod/branches/upstream/current/src/misc.h
   gtkpod/branches/upstream/current/src/misc_confirm.c
   gtkpod/branches/upstream/current/src/misc_conversion.c
   gtkpod/branches/upstream/current/src/misc_input.c
   gtkpod/branches/upstream/current/src/misc_playlist.c
   gtkpod/branches/upstream/current/src/misc_track.c
   gtkpod/branches/upstream/current/src/misc_track.h
   gtkpod/branches/upstream/current/src/mp3file.c
   gtkpod/branches/upstream/current/src/mp4file.c
   gtkpod/branches/upstream/current/src/prefs.c
   gtkpod/branches/upstream/current/src/prefs.h
   gtkpod/branches/upstream/current/src/prefs_window.c
   gtkpod/branches/upstream/current/src/prefs_window.h
   gtkpod/branches/upstream/current/src/tools.c
   gtkpod/branches/upstream/current/src/wavfile.c
Log:
Load /tmp/tmp.PiwDpV/gtkpod-0.99.2 into
gtkpod/branches/upstream/current.


Modified: gtkpod/branches/upstream/current/COPYING
===================================================================
--- gtkpod/branches/upstream/current/COPYING	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/COPYING	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/ChangeLog
===================================================================
--- gtkpod/branches/upstream/current/ChangeLog	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/ChangeLog	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/INSTALL
===================================================================
--- gtkpod/branches/upstream/current/INSTALL	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/INSTALL	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/Makefile.am
===================================================================
--- gtkpod/branches/upstream/current/Makefile.am	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/Makefile.am	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/Makefile.in
===================================================================
--- gtkpod/branches/upstream/current/Makefile.in	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/Makefile.in	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/README
===================================================================
--- gtkpod/branches/upstream/current/README	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/README	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 /mnt/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 /mnt/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/branches/upstream/current/TODOandBUGS.txt
===================================================================
--- gtkpod/branches/upstream/current/TODOandBUGS.txt	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/TODOandBUGS.txt	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/TROUBLESHOOTING
===================================================================
--- gtkpod/branches/upstream/current/TROUBLESHOOTING	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/TROUBLESHOOTING	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/config.h.in
===================================================================
--- gtkpod/branches/upstream/current/config.h.in	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/config.h.in	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/configure
===================================================================
--- gtkpod/branches/upstream/current/configure	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/configure	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/configure.in
===================================================================
--- gtkpod/branches/upstream/current/configure.in	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/configure.in	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/gtkpod.glade
===================================================================
--- gtkpod/branches/upstream/current/gtkpod.glade	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/gtkpod.glade	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 '/mnt/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/branches/upstream/current/po/POTFILES.in
===================================================================
--- gtkpod/branches/upstream/current/po/POTFILES.in	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/POTFILES.in	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/po/de.gmo
===================================================================
--- gtkpod/branches/upstream/current/po/de.gmo	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/de.gmo	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,106 +1,101 @@
-Þ•    †     L  ½  |8      pK     qK     sK     xK     ~K  n   …K  €   ôK  E   uL  I   »L     M     M     0M     OM  ;   nM  %   ªM  3   ÐM  À   N  4   ÅN     úN     O     O     O  *   $O  
-   OO  H   ]O     ¦O     ¿O  
-   ×O     åO     ùO     ûO  &   P     AP  _   XP  9   ¸P  *   òP  ,   Q  q   JQ     ¼Q     ÕQ  /   ÝQ  +   
-R     9R     OR     iR  ,   ƒR     °R  %   ÎR  ,   ôR  -   !S      OS  &   pS     —S     ·S  -   ×S  &   T  +   ,T  &   XT  "   T  '   ¢T  $   ÊT     ïT  '   
-U  +   5U  R   aU  .   ´U  ,   ãU     V  p   &V     —V     ™V     ›V     ŸV  
-   «V     ¶V     ÐV     îV     W     W     W     W     	W     W     
-W     W     .W     NW     mW  !   ˆW     ªW  
-   ÇW     ÕW     áW     íW     ÿW     X     X     3X     FX     UX     eX     zX     –X     £X     §X  "   «X     ÎX     ÚX     çX  	   Y     
-Y  
-   &Y     4Y  
-   CY  
-   NY     \Y     xY     Y     •Y  F   ­Y     ôY     
-Z     Z     3Z  	   7Z     AZ  !   ^Z  %   €Z     ¦Z  9   ²Z  /   ìZ  J   [  G   g[     ¯[     ¸[     É[     Ý[  ]  ó[  _  Q]  _  ±^  C  `  ;  Ua  2   ‘b  =   Äb  :   c  O  =c  ˜   d  2   &e     Ye  R   `e  R   ³e  	   f  
-   f  $   f     @f  (   Yf     ‚f  ‹   šf     &g     (g     ,g     Ag     Ug  3   kg  /   Ÿg  A   Ïg  @   h  (   Rh  $   {h  .    h     Ïh     ßh     ñh  <   ùh     6i     =i     @i  %   Fi     li     pi     yi  .   i     ¿i     Þi     åi     j  ¤   j     Äj  
-   âj     íj     k     k     ;k  0   [k  -   Œk     ºk     ×k     ók      l  ;   /l  T   kl  P   Àl  .   m     @m     Em     am     ~m     •m  -   ­m  *   Ûm      n     'n     /n     5n     An     Jn     in     …n     ¢n     ¸n     Ôn     ën     o  6   "o  .   Yo  !   ˆo  %   ªo  *   Ðo  #   ûo  .   p  D  Np  o   “q     r  /   #r  9   Sr  -   r  =   »r  !   ùr  '   s  =   Cs  2   s  !   ´s     Ös     ês     ÿs     t     -t  ;   At  J   }t  A   Èt     
-u     )u  #   1u  #   Uu     yu     Œu     ¢u     ¸u     Êu     âu     üu  ;   v     Tv  .   dv  1   “v  7   Åv  <   ýv  G   :w  D   ‚w  
-   Çw  "   Òw  *   õw  (    x  0   Ix  
-   zx     ˆx     ”x     «x     Àx     Õx     êx     ÿx     y  "   (y  "   Ky  E   ny  8   ´y  $   íy  H   z  M   [z  ?   ©z     éz  `   ÿz  x   `{  G   Ù{     !|  
-   0|  ’  ;|    Î}  8   l     ¥     ª     ¶  8   ¾  3   ÷  &   +€  %   R€  !   x€  (   š€  J   À          !      A  5   b     ˜     ©     Ł  5   ⁠ ;   ‚     T‚  %   h‚  ,   Ž‚     »‚     À‚  \   Ô‚     1ƒ     Fƒ  J   Uƒ      ƒ     ³ƒ  3   »ƒ  R   ïƒ      B„  2   c„     –„  $   ­„  $   Ò„     ÷„  !   …     3…     P…  &   n…  #   •…     ¹…  !   Ø…     ú…  3   †  (   F†  #   o†  
-   “†  7   ¡†  (   Ù†      ‡  X   #‡  +   |‡     ¨‡     ¼‡  *   Õ‡  	    ˆ     
-ˆ  	    ˆ     *ˆ     >ˆ     Zˆ     lˆ  s   rˆ     æˆ  d   ‰  ^   g‰  .   Ɖ  6   õ‰  2   ,Š     _Š     bŠ     fŠ     nŠ  A   tŠ  ^   ¶Š     ‹     (‹     =‹  (   F‹  :   o‹  .   ª‹     Ù‹  ž   ö‹     •Œ     ¦Œ  0   ¼Œ  /  íŒ  9   Ž     WŽ     ZŽ  1   ]Ž  p   Ž  z      K  {  z   ǐ  G   B‘     Š‘  ƒ   ’  A   Ÿ’  5   á’     “     “     ¯“     =”     Z”  š   f”  N   •     P•  ]   o•     Í•     ß•     ö•     –     *–  E   @–  +   †–  F   ²–     ù–  [   —     t—     y—  
-   ‰—     ——  	   £—     ­—  U   ¹—     ˜     ˜     $˜      3˜  $   T˜  $   y˜     ž˜     ¼˜     ɘ     ̘     è˜  	   ý˜     ™     #™     ?™     Z™     _™     h™     {™     —™     ·™     Ù      Й     ñ™     
-š  #   š     =š     \š     cš  Ø   pš     I›  I  a›      «œ     Ìœ  *   ßœ     
-  ƒ        ž     ³  )   ɝ     ó     
-ž     ž     1ž  4   Až     vž     ’ž     ©ž     ®ž  *   Þ  /   îž  	   Ÿ  5   (Ÿ  7   ^Ÿ     –Ÿ  «  ¥Ÿ  Ú  Q¡  á  ,£  
-   ¥  4   ¥  3   N¥  +   ‚¥     ®¥     Â¥    Ô¥  $   ܦ     §  )   §     ?§  (   P§  †   y§  '    ¨  ,   (¨     U¨     b¨  =   r¨  F   °¨  I   ÷¨  '   A©  +   i©  +   •©     Á©  ×   Ä©     œª     ¯ª     ê     Ùª     ìª      «  #   «     6«  #   ?«  $   c«      ˆ«     ©«  ]   ±«     ¬  D   %¬  E   j¬     °¬  	   ¹¬  	   ì  0   ͬ  	   þ¬     ­     ­     ­     '­  	   6­  (   @­  !   i­  #   ‹­  $   ¯­  &   Ô­  &   û­  $   "®     G®  Z   f®     Á®     È®     Ô®     è®      ¯  ?   ¯  &   W¯     ~¯     Ž¯  C   ¡¯     å¯  %   ñ¯     °     2°     ;°     B°  %   G°  9   m°     §°     ¯°  0   »°  <   ì°     )±     I±  8   e±     ž±  '   ¹±  #   á±     ²  2   ²     Q²  F   W²  
-   ž²     ©²     ɲ  #   è²  #   ³  %   0³  )   V³     €³     ’³     ¢³     ¶³     ɳ     Ú³  4   ó³     (´  )   -´  8   W´  .   ´     ¿´     δ  &   Ö´  ?   ý´     =µ     ε     N¶  5   k¶  	   ¡¶     «¶     ƶ     ζ     Þ¶  	   õ¶     ÿ¶  
-   ·     ·     ·     7·  j   ?·     ª·     »·     Ó·  D   ï·     4¸     9¸     M¸     e¸  .   ~¸  S   ­¸  >   ¹     @¹     E¹  	   `¹  .   j¹  (   ™¹     ¹     Ò¹     ç¹     ü¹     º     $º     <º     Lº  $   _º  '   „º     ¬º     ú     Òº     Õº  .   Ạ    »  I   *»     t»  W   ƒ»  H   Û»  2   $¼     W¼  9   o¼  Ï   ©¼  ×   y½    Q¾  1   d¿  d   –¿  ˜   û¿     ”À  q   ¯À  G   !Á  Y   iÁ  D   ÃÁ  U     N   ^  7   ­Â  '   å  €   
-à  -   ŽÃ  S   ¼Ã  9   Ä  v   JÄ  8   ÁÄ  K  úÄ  ¤   FÆ  9   ëÆ  7   %Ç  ¦  ]Ç     Ê     	Ê     Ê     Ê     Ê     &Ê  
-   3Ê     AÊ  1   GÊ  
-   yÊ     ‡Ê  *   ”Ê  
-   ¿Ê     ÍÊ     ÚÊ     áÊ     ÿÊ     Ë     Ë     Ë     1Ë     FË     ]Ë      sË      ”Ë  ,   µË     âË     õË     Ì     Ì     .Ì     >Ì     NÌ  7   VÌ     ŽÌ  %   ¢Ì  $   ÈÌ  %   íÌ      Í     4Í     CÍ     JÍ  (   gÍ  -   Í  ,   ¾Í     ëÍ     ÷Í  %   Î  %   *Î  &   PÎ  1   wÎ  4   ©Î  P   ÞÎ  >   /Ï  >   nÏ  :   ­Ï  :   èÏ  7   #Ð  8   [Ð  .   ”Ð  	   ÃÐ  
-   ÍÐ  Ÿ   ØÐ     xÑ     ŒÑ     ¦Ñ     ÁÑ     ÆÑ     ÍÑ  R   âÑ  `   5Ò     –Ò     žÒ     °Ò     ÅÒ     ÛÒ  W   òÒ  V   JÓ    ¡Ó     »Ô  J   ÔÔ  @   Õ  .   `Õ     Õ  .   ªÕ  M   ÙÕ     'Ö     DÖ     \Ö  :   `Ö     ›Ö  l    Ö  $  
-×    2Ø  
-  IÙ     TÛ     [Û     gÛ     zÛ     ‘Û     ¥Û     ·Û     ÒÛ     êÛ     Ü     Ü     "Ü     (Ü     :Ü     CÜ     `Ü     fÜ  
-   lÜ     zÜ  
-   ‡Ü     •Ü  	   ¥Ü     ¯Ü     ¶Ü     »Ü     ËÜ     ßÜ     ñÜ     Ý     Ý  	   Ý  
-   Ý     -Ý     <Ý     XÝ     aÝ     zÝ     ƒÝ  	   ŠÝ     ”Ý     ­Ý     ³Ý     ¹Ý     ¿Ý    ÆÝ     ÎÞ  
-   ×Þ     âÞ     çÞ     óÞ     ß  	   !ß     +ß     :ß     Oß     Uß     \ß  N   hß  Ø   ·ß     à     Ÿà     ¹à     Èà     Îà  #   íà     á  #   %á  	   Iá     Sá     [á  W   ná  E   Æá  ¢   â  U   ¯â  1   ã  =   7ã  5   uã  ^   «ã  [   
-ä     fä     rä     uä  	   ~ä     ˆä     ˜ä     ¨ä     µä  
-   ¼ä     Çä     Îä     Ñä     Öä     Þä     ñä     å  
-   å  ¦   *å     Ñå     Ùå     àå     òå     æ     æ     !æ     -æ  1   :æ     læ  ?   ‰æ     Éæ     Íæ     Ñæ     çæ     ÷æ  -   ÿæ  4   -ç     bç     wç     „ç  #   ‰ç     ­ç     ¹ç     ¿ç     Âç     Éç     Ïç  `  ×ç     8é     :é     ?é     Eé  s   Ké  –   ¿é  E   Vê  R   œê     ïê     ë     ë     8ë  1   Së  %   …ë  -   «ë  ä   Ùë  =   ¾ì     üì     í     í     í  5   !í  
-   Wí  _   eí  !   Åí     çí      î     î     %î  )   'î  ;   Qî  #   î  l   ±î  K   ï  6   jï  ,   ¡ï  ­   Îï     |ð     •ð  4   ð  2   Òð     ñ  &   ñ  "   Bñ  .   eñ  #   ”ñ  +   ¸ñ  .   äñ  1   ò  &   Eò  +   lò  $   ˜ò  $   ½ò  ,   âò  -   ó  ;   =ó  /   yó  .   ©ó  #   Øó  '   üó     $ô  .   Aô  D   pô  i   µô  K   õ  J   kõ     ¶õ  p   Êõ     ;ö     =ö     ?ö     Cö     Rö     ^ö     vö     ”ö     ¦ö     ¨ö     ªö     ¬ö     ®ö     °ö     ²ö  +   ´ö  .   àö     ÷  '   ,÷     T÷  &   t÷     ›÷     ®÷     Ã÷     Õ÷     ð÷     ø     ø     -ø     Cø     Rø     bø      ø     ¢ø     ¯ø     ³ø  -   ¸ø     æø     óø  "    ù     #ù  ;   5ù     qù     ù     ¨ù     »ù  "   Øù  %   ûù     !ú  $   .ú  T   Sú     ¨ú     ¸ú  *   ¾ú     éú  
-   îú     ùú  &   û  .   5û  	   dû  \   nû  4   Ëû  c    ü  S   dü     ¸ü     Åü     Øü     îü  ¬  ý  ¿  ³þ  ´  s  Ž  ( v  · D   . J   s A   ¾ š    »   › ?   W 	   — b   ¡ a   	    f	    r	 G   	 '   É	 6   ñ	    (
- ¤   <
-    á
-    ã
-    ç
-    þ
-     N   , (   { J   ¤ I   ï 2   9 (   l +   • 
-   Á    Ï    è p   ð    a
-    m
-    p
- '   v
-    ž
-    ¢
- "   «
- 7   Î
- )    	   0 5   : -   p —   ž >   6    u        ˜    ´     Ó ?   ô 0   4 "   e !   ˆ     ª &   Ë @   ò X   3 \   Œ ;   é    % -   * $   X &   }    ¤ +   à )   ï '    	   A    K    Q 	   Y *   c #   Ž #   ²    Ö    é !       )    F I   e I   ¯ %   ù 1    1   Q -   ƒ :   ± ‚  ì |   o ,   ì N    X   h B   Á O    4   T >   ‰ _   È ?   ( )   h    ’    ±     Ñ "   ò     T   4 ^   ‰ T   è +   = 
-   i     t /   •    Å    Ú    ò    
-        8    U O   t    Ä L   Ö L   # G   p P   ¸ d   	 [   n    Ê .   × .     ,   5  6   b     ™     ¥     ¶  !   Õ     ÷     ! !   /!    Q!    e! *   „! +   ¯! p   Û! H   L" &   •" o   ¼" Z   ,# b   ‡#    ê# w   
-$ ª   ‚$ h   -%    –% 
-   ©% ­  ´% ç  b' a   J) 
-   ¬) 	   º)    Ä) _   Ì) w   ,* -   ¤* 8   Ò* 2   + ;   >+ ]   z+    Ø+ !   ì+ )   , @   8,    y,    Œ, +   ¦, 6   Ò, I   	-    S- *   e- -   - 
-   ¾- &   É- u   ð-    f.    |. f   ’.    ù.    
-/ 5   %/ [   [/ -   ·/ =   å/ #   #0 ,   G0 0   t0 $   ¥0 /   Ê0 (   ú0 +   #1 6   O1     †1 ,   §1 -   Ô1 )   2 >   ,2 #   k2 *   2    º2 8   Î2 6   3 1   >3 n   p3 F   ß3    &4    D4 6   d4    ›4    ¨4    Ä4    Ñ4     ê4    5    $5 ‹   ,5    ¸5 …   Ô5 Z   Z6 ;   µ6 @   ñ6 6   27    i7    l7 	   p7    z7 E   €7 o   Æ7    68    N8    h8 %   t8 r   š8 M   
-9 E   [9 ä   ¡9    †:    ›: 4   µ: þ  ê: D   é<    .=    1= >   4= ˆ   s= ±   ü= ®  ®> ‡   ]@ G   å@ ¹   -A ¯   çA B   —B 9   ÚB    C µ    C ³   ÖC !   ŠD    ¬D §   ¸D P   `E #   ±E [   ÕE    1F    DF    \F "   rF    •F H   ®F )   ÷F X   !G *   zG g   ¥G    
-H    H    %H    9H    JH    RH „   cH    èH    õH    ûH 1   I 6   >I -   uI (   £I 
-   ÌI    ÚI    ÝI    ûI    J    "J %   =J %   cJ 
-   ‰J    —J    £J    °J +   ÊJ    öJ    K &   1K    XK    tK "   €K    £K    ÃK    ËK   àK )   ÿL ª  )M '   ÔN    üN ;   O    VO š   jO !   P "   'P J   JP    •P    ¯P    ÉP    äP N   ÷P "   FQ    iQ    „Q    ŠQ ;   ¡Q ;   ÝQ    R +   3R S   _R     ³R L  ÔR {  !U •  W    3Z F   EZ 2   ŒZ .   ¿Z     îZ    [ 6  ([ "   _\    ‚\ ,   ž\    Ë\ 3   Þ\ Ò   ] 3   å] 6   ^    P^    d^ a   {^ Y   Ý^ _   7_ 6   —_ ;   Î_ 7   
-`    B` Ø   E`    a    4a    Na    ja    €a    ™a 8   ®a    ça /   ða /    b )   Pb    zb ]   ƒb    áb L   üb D   Ic 
-   Žc 	   œc 	   ¦c '   °c 	   Øc    âc    ëc    ûc    d    .d =   ?d ,   }d (   ªd    Ód *   ód #   e "   Be    ee U   we    Íe 
-   Ôe $   âe *   f    2f _   Qf D   ±f    öf    g G   g    _g $   ng ,   “g 
-   Àg    Îg    Õg 7   Þg 8   h    Oh    Xh <   eh b   ¢h (   i    .i T   Ni +   £i 1   Ïi (   j    *j ;   >j    zj M   j 
-   Ïj )   Új )   k 3   .k )   bk 1   Œk 2   ¾k    ñk    l    #l    >l    \l !   rl T   ”l    él 9   öl f   0m ?   —m    ×m    ôm 2   üm K   /n ²   {n “   .o $   Âo I   ço 	   1p    ;p 
-   Sp    ^p .   np 
-   p 	   ¨p 
-   ²p    ½p    Åp    âp u   êp    `q    rq    ‘q T   ­q    r $   r    -r '   Hr @   pr `   ±r A   s 
-   Ts    _s    }s .   –s )   Ås    ïs    ÿs    t    't    :t    Ot    ht    ~t *   t ,   »t !   èt    
-u    u     u 5   /u    eu j   ‚u    íu U   üu c   Rv 1   ¶v    èv D   w :  Jw 5  …x Q  »y 4   
-{ v   B{ ¾   ¹{    x| ‹   | Q   } m   n} N   Ü} o   +~ S   ›~ ?   ï~ ,   / ”   \ /   ñ o   !€ ?   ‘€ ™   Ñ€ R   k Û  ¾ »   šƒ W   V„ 7   ®„   æ„    ˆ    ˆ    ˆ    ˆ    ˆ    #ˆ    4ˆ    Fˆ 3   Mˆ    ˆ 
-   ™ˆ .   §ˆ 
-   Öˆ    ሠ   íˆ    õˆ    ‰    !‰    -‰    9‰    M‰    d‰ "   }‰ #    ‰ '   ĉ 3   ì‰     Š    3Š    FŠ    YŠ    lŠ    |Š 	   ŒŠ H   –Š    ߊ .   öŠ -   %‹ ,   S‹ !   €‹ 
-   ¢‹ 
-   ­‹    »‹ 6   Ö‹ X   
-Œ N   fŒ    µŒ    ÇŒ /   ÔŒ .    .   3 9   b 9   œ o   ֍ Y   FŽ W    Ž g   øŽ e   ` E   Ə G    I   T 
-   ž    ¬ Ö   »    ’‘    ©‘ !   Æ‘    è‘    î‘    ó‘ Y   
-’ 8   g’     ’    ¨’    »’    Ñ’    è’ b    “ a   c“ ‹  Å“     Q• ?   r• ;   ²• 8   î• 1   '– X   Y– \   ²– 4   — (   D—    m— G   q—    ¹— Š   ¾— –  I˜ ~  à™ x  _›    ؝ 
-   ߝ    í    ž    !ž    <ž #   Xž ,   |ž    ©ž    Éž    Òž    æž    òž    Ÿ &   Ÿ    AŸ    HŸ    OŸ 
-   gŸ    uŸ    †Ÿ    ™Ÿ    ©Ÿ    °Ÿ    µŸ    ÅŸ    àŸ    ûŸ              "     3     E  /   [     ‹     —     ±  
-   º  	   Å  !   Ï     ñ     ú      ¡ 	   ¡ 8  ¡    I¢ 
-   R¢    ]¢    b¢    €¢    ¢ 	   ®¢    ¸¢    Í¢ 	   ì¢    ö¢    ý¢ [   	£ (  e£    Ž¤    ž¤    ¸¤    ˤ -   Ó¤ 3   ¥    5¥ +   P¥ 
-   |¥    ‡¥    ¥ b   ¢¥ Y   ¦ ú   _¦ Y   Z§ A   ´§ T   ö§ =   K¨ |   ‰¨ s   ©    z©    ‰©    ©    š©    ¦© 
-   ·©    Å© 	   Õ©    ß©    ñ©    ý©     ª    ª    
-ª    #ª     7ª    Xª Å   mª    3«    ;«    B«    Z«    o«    €«    †«    ž« 1   ·« )   é« E   ¬    Y¬    ]¬ &   a¬    ˆ¬    ¬ 8   ¥¬ 9   Þ¬    ­    5­    L­ $   Q­    v­    ‚­    ˆ­    Œ­    ”­    ›­    !  ¥  >  -  g  ƒ  ½  †  ¸   ¸  €        Ë    ,  w  “  ú   v   a      e    ®   
-      C  8  ”  ò     W            6  i                  F      G       ï  N   O   P   Q   R   S   j  Ï       T     =  Ü     '    ¬   Ÿ   ˆ          Î  D  $         ‰  ì  Œ  0  Ñ  X  …  H  š      ¶      |      ~  /    :      ×          —   ‚    F      G  ã  {  Œ     ø  •  *          á          ™       R      o  í  m            Î         ë  7           e   :  Ý           "   R  A       Ä       Ò   e  ˜  !      Ï  ×  ;       Ø       #  Å   ×   :  ¾          ä          ¾   7      ¶          í   O  §       à   ~   U   ¤  	  k  ©          ¥  ~  º  †         0     ;  ¼  Á          Z  †  ó                 .  >  X   Ý          *   5      U    I  1                  Œ  M      ‹  õ   (  Ù         ô  œ   f   å      ?  Ý  ®      x   q      ù          `  ö  `  o   ¹  ú  k   „  M  ˆ  n  «  É   ¯  ²   „   ˜   ý   ƒ  Õ             Ü  ‡   p  …       Õ  b  
-           ¤   æ   ³   ð  |   ·  À  ´     Þ  ø  Ä  Ô   è       8          ¹   ó      Ú   6   %  /  r  
-  Ç  ‡  Z   ¬  €  S  '  É         
-  ß  Ÿ  2     ÿ          Å  p   ¢    ”          º          G      _  ÷  <   y    K       T  Ô  +    à      ú                    w   %  W    û      ²  1  ¬  `          [  Þ   2  ‰   œ  ]  ©  F     n    j  4                 õ  ·  6  –  V  ß  (  è  ]              ’   º           «  ¯       î       ó  }  ]    ¤          	   –  u      N  ›     C           –      h  @      @      H   ž  z  ;     ï  =          Ñ   È  À   ¡            Ö      ò  )       l       R  ±       -      q   -    §  D   ¦    £         ^  l              1   å         ‘  &   û       !       ‘   :   ð     c    Í  o     Í  Û   Á  Ä          Õ             Ó      ½  %  ã  ‰          Æ  #  l      Y   V  b   s  D                t              ž   ¥   z    ±  í      7    g      à         ñ      -             v  ˜      Ü    ‡  X                     æ          B  ,   Í       q  ¼   !  Ž  ¯  2  Ê      <      ;          Z                ç      Ì  T  £   L  ¦  Ñ  Û      ÿ       î  [   ›  }  ¨   m      I   o      ê      Î  ­  Ù      ²  0  y        Ð       H  á  ÷   N      É  u   8  é  t    °  a  U  E   ý  j       J      _          #  {      m           š      }              ö  ä         r        Ø        ï   /               Y  ·         +  ž          ‚      4  •      ­   ö   ™  d  b  ¢         3          …        Y  ‚    l  ®  C  ¶   w  ñ      p  ÷  þ   *  Ê   ¾      £  Q     þ          »       ‚   Æ   Y     3          &  u  r            K          ê   M  ä  [  ô   }               ü            È   L  \           8       æ      d  Ù      9     ¢      é          Ô  ì     Š  ,  (    û      ¼          ù    z         #   5  Å        	  ?    .  @  g   €   Ê             I  (          >           "  &  Ë  [  P      +   à  ³    Ö        ?      _     Ž  ’  .       7  ‹         y   å  |  w    S  ^  6  »  Ì  V  ‹      {        p  ª          n      â   "        <  \    K  ¨  <      ™  ë      =   è        Z  â        t      c   {     µ   õ      y             à   ¿  Ú  ‘  m  ƒ  4  4  Ï   k  ù          @   “   h  f      f          À            C  ð  Š       Ð                L       d   h       î  )  ˆ   h              “  v      X  ì  a       M   =  ¹  Ø        
-       E  $     Ž       t   %   Ó  ”   J           ±      ¨  „  '       Ë   G  ,          j  Q  ³      A  ¡   ß   Ì   B  ½         /  ý          ]   Š  •              Ò  ¸  z   H    P  Þ  s  	  Û  Ç     ç       r   9  Ö         >  n   ’  
-  x  c      i   „  e    œ  O      x        W  ã      °        ¿   P  Ç                c  q  I  W  ¿      ¡  5       ô  Ÿ      f      T  $    K  .  J  E  à  ë   3      O  9   |               2  …          J      _   Ð  3  ¦   ª  ñ   ÿ      s   A      é   B  Ú  v  5  E  "  +  N  a  B   ƒ   €  A      i      Ò  ´       Æ  ~      
-  ?   9  F  ç  †       $     š   ^  Ó  g  s        °        V     D  »  *      )   ê      §  —  á   ©         Á   i  —  ­      
-     ò   «   ^   L      µ  `           È        '      x      ø   &  Q  b      ›   d  U  ª       ´      )        k  0       \      S  u      1  ü  \  µ  â  ü           þ                           gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
+Þ•    ‚     ,  ±  <8       K     K     K     K     K     K  n   K  €   ‡K  E   L  I   NL     ˜L     ¤L     ÃL     âL  ;   M  %   =M  3   cM  À   —M  4   XN     N     –N     ¢N     ®N  
+   ·N  H   ÅN  	   O  
+   O     &O     (O  &   GO     nO  _   …O  9   åO  *   P  ,   JP  q   wP     éP     ìP     Q  /   
+Q  +   =Q     iQ     Q     ™Q  ,   ³Q     àQ  %   þQ  ,   $R  -   QR      R  &    R     ÇR     çR  -   S  &   5S  +   \S  &   ˆS  "   ¯S  '   ÒS  $   úS     T  '   =T  +   eT  R   ‘T  .   äT  ,   U     @U  p   VU     ÇU     ÉU     ËU  
+   ×U     âU     üU     V  	   -V     7V     9V     ;V     =V     ?V     AV     CV     EV     dV     sV     “V     ²V  !   ÍV     ïV     ÿV     W  
+   0W     >W     JW     VW     hW     yW     …W     œW     ¯W     ¾W     ÎW     ãW     ÿW     X  
+    X  ¥   +X     ÑX     ÕX     ÙX  "   èX     Y     Y  6   $Y     [Y     _Y  	   {Y     …Y  
+   žY     ¬Y  
+   »Y  
+   ÆY  2   ÔY     Z     #Z     :Z  F   @Z     ‡Z      Z     ¦Z     ÆZ  	   ÊZ     ÔZ  !   ñZ  %   [     9[  9   E[  /   [  J   ¯[  G   ú[     B\     K\     \\     p\  ]  †\  _  ä]  _  D_  C  ¤`  ;  èa  2   $c  <   Wc  =   ”c  :   Òc  O  
+d  ˜   ]e  2   öe     )f  R   0f  	   ƒf  
+   f  $   ˜f  (   ½f  ‹   æf     rg     tg     xg     g     ¡g  3   ·g  @   ëg  (   ,h  $   Uh  .   zh     ©h     ¹h     Ëh  <   Óh     i     i     i  %    i     Fi     Ji     Si  .   ji     ™i     ¸i     ¿i     ßi  ¤   ùi     žj  
+   §j     ²j     Çj     âj      k       k  0   Ak     rk  -   zk     ¨k     Åk     ák      ük  ;   l  T   Yl  P   ®l  .   ÿl     .m     3m     Jm     bm     jm     pm     |m     ‰m     ’m     ±m     Îm     äm     ûm     n  6   2n  .   in  !   ˜n  %   ºn  *   àn  #   o  .   /o  D  ^o  o   £p     q  /   3q  9   cq  -   q  =   Ëq  !   	r  '   +r  =   Sr  2   ‘r  !   Är     ær     ìr      s     s     +s     Cs  ;   Ws  J   “s  A   Þs      t     ?t  #   Gt  #   kt     t     ¢t     ¸t     Ît     àt     øt     u  ;   .u     ju  .   zu  1   ©u  7   Ûu  <   v  
+   Pv  "   [v  *   ~v  (   ©v  0   Òv  
+   w     w  
+   w     +w     2w     Iw     ^w     sw     ˆw     ™w  "   ±w  "   Ôw  E   ÷w  8   =x     vx  $   x  H   ²x  M   ûx  ?   Iy     ‰y  `   Ÿy  x    z  G   yz     Áz  
+   Ðz     Ûz     çz  ’  ïz    ‚|  v   ~     —     œ  8   ¨  3   á  &   €  %   <€  !   b€  (   „€  J   ­€     ø€           +  5   L     ‚     “  5   °  F   æ     -‚  %   A‚  ,   g‚     ”‚     ™‚     ¦‚  &   º‚  \   á‚     >ƒ     Sƒ     bƒ     uƒ  3   }ƒ  R   ±ƒ      „  2   %„     X„     o„  &   Œ„     ³„     Ò„  3   ê„  #   …  
+   B…  7   P…  (   ˆ…      ±…  X   Ò…  +   +†     W†     k†     ‰†  *   ¢†  	   ͆  	   ׆     ᆠ    õ†  	   ‡     ‡     -‡  s   3‡  ;   §‡     ㇠ d   ÿ‡  ^   dˆ  .   È  6   òˆ  2   )‰     \‰     _‰     c‰  A   i‰  ^   «‰     
+Š     Š      2Š     SŠ  (   \Š  :   …Š  .   ÀŠ     ïŠ     ‹     ‹  0   3‹  /  d‹  9   ”Œ     ÎŒ     ÑŒ  l   ÔŒ  p   A  z   ²  K  -Ž  z   y  G   ô  š   <     א  ƒ   h‘  A   ì‘     .’     ¿’     M“     j“  š   v“  N   ”  ]   `”     ¾”     Д     ç”     ü”     •  E   1•  +   w•  F   £•     ê•  [   	–  C   e–     ©–     ®–  
+   ¾–     Ì–  	   Ø–     â–     î–     ý–     —      —  $   3—  $   X—     }—     ›—     ¨—     «—     Ç—     Ü—     ø—     ˜  $   /˜     T˜     ]˜     p˜     Œ˜     ¬˜      ¸˜     Ù˜     ò˜     ù˜  #   ™     ,™     K™     R™  4   _™  $   ”™  Ø   ¹™     ’š  I  ªš      ô›     œ  *   (œ     Sœ  ƒ   cœ     çœ     üœ  )        <     S     f     z  4   Š     ¿     ۝     ò     ÷  0   ž  5   =ž  	   sž  5   }ž  7   ³ž     ëž  «  úž  Ú  ¦   á  ¢  
+   c¤     n¤     ‚¤  $   ”¤     ¹¤  )   ͤ     ÷¤  (   ¥  †   1¥  '   ¸¥  ,   ॠ '   
+¦  +   5¦  +   a¦     ¦  ×   ¦     h§     {§     §     ¥§     ¸§     ̧     Þ§  #   ç§      ¨     ,¨  ]   4¨     ’¨  	   ›¨  	   ¥¨  0   ¯¨  	   ਠ    ê¨     ñ¨     ú¨     	©  	   ©  (   "©  !   K©  #   m©  $   ‘©  &   ¶©  &   Ý©  $   ª     )ª  Z   Hª     £ª     ªª     ¶ª     ª     ⪠    ëª      «     «      «     8«  ?   O«  &   «     ¶«     Æ«  C   Ù«     ¬  %   )¬     O¬     j¬     s¬     z¬  %   ¬  9   ¥¬     ߬  C   ë¬     /­  <   8­     u­     “­     ³­     Ï­  8   à­  -   ®     G®  B   b®  F   ¥®  B   ì®  '   /¯  #   W¯  "   {¯     ž¯  2   ·¯     ê¯     ï¯  F   õ¯  
+   <°  *   G°  ;   r°     ®°     ΰ  #   í°  #   ±  %   5±  )   [±     …±     —±     §±     »±     α  '   ß±  '   ²  #   /²  '   S²     {²  0   ²  0   ¾²  ,   ï²     ³     :³     X³     r³  	   ³  
+   š³  4   ¨³     ݳ  )   â³  8   ´  .   E´     t´     ƒ´  &   ‹´  ?   ²´     ò´     ƒµ     ¶  5    ¶     V¶     q¶     ¶  	   ˜¶     ¢¶  
+   «¶     ¶¶     ¾¶     Ú¶  j   ⶠ    M·     ^·     v·  D   ’·     ×·     Ü·     ð·     ù·     ¸  .   *¸  S   Y¸  >   ­¸     ì¸  	   ñ¸  .   û¸  (   *¹     S¹     c¹     x¹     ¹     Ÿ¹     µ¹     ͹     ݹ  $   ð¹  '   º     =º     Tº     cº  .   fº     •º  I   ¯º     ùº  W   »  H   `»  2   ©»     Ü»  9   ô»  J   .¼  Ï   y¼  ×   I½    !¾  1   4¿  d   f¿  ˜   Ë¿     dÀ  q   À  G   ñÀ  Y   9Á  D   “Á  U   ØÁ  N   .  7   }  '   µÂ  €   Ý  -   ^à  S   ŒÃ  9   àà  v   Ä  8   ‘Ä  K  ÊÄ  9   Æ  7   PÆ  ¦  ˆÆ     /É     4É     :É     @É  
+   MÉ     [É  1   aÉ     “É  *    É     ËÉ     ØÉ     ßÉ     ýÉ     Ê     8Ê     DÊ     PÊ     XÊ     jÊ     Ê     –Ê      ¬Ê      ÍÊ  ,   îÊ     Ë     .Ë     AË     TË     gË     wË     ‡Ë     Ë  %   £Ë  $   ÉË  %   îË      Ì     5Ì     DÌ     KÌ     [Ì  (   xÌ  -   ¡Ì  ,   ÏÌ     üÌ     Í  %   Í  &   ;Í  4   bÍ  9   —Í  #   ÑÍ  +   õÍ  1   !Î  P   SÎ  ?   ¤Î  ;   äÎ  8    Ï  .   YÏ  	   ˆÏ  Ÿ   ’Ï  .   2Ð     aÐ     uÐ     Ð     ªÐ     ¯Ð  R   ¶Ð  `   	Ñ     jÑ     rÑ     „Ñ     ™Ñ     ¯Ñ  V   ÆÑ    Ò     7Ó  J   PÓ  @   ›Ó  .   ÜÓ     Ô  .   &Ô  N   UÔ  0   ¤Ô     ÕÔ  :   ÙÔ     Õ  l   Õ  $  †Õ    «Ö  
+  Â×     ÍÙ     ÔÙ     àÙ     óÙ     Ú     Ú     4Ú     <Ú     EÚ     WÚ     ]Ú     oÚ     ‡Ú     Ú     ­Ú     ³Ú     ¼Ú  
+   ÂÚ     ÐÚ     ÝÚ  	   íÚ     ÷Ú     þÚ     Û     Û     'Û     9Û     OÛ     XÛ     _Û  	   dÛ  
+   nÛ     |Û     ‹Û     §Û     °Û     ÉÛ     ÒÛ  	   ÙÛ     ãÛ  	   ïÛ     ùÛ     Ü     Ü     $Ü     *Ü     0Ü    7Ü     ?Ý  
+   HÝ     SÝ     XÝ     dÝ     uÝ  	   ’Ý     œÝ     «Ý  
+   ²Ý     ½Ý     ÏÝ     äÝ     êÝ     ñÝ  N   ýÝ  Ø   LÞ     %ß     4ß     Nß     ]ß     cß  #   ‚ß     ¦ß  #   ºß  	   Þß     èß     ðß  W   à  ¢   [à     þà     
+á     
+á  	   á      á     0á     @á     Má  
+   Tá     _á     fá     iá     ná     vá     ‰á     žá  
+   ´á  ¦   Âá     iâ     qâ     xâ     Šâ     žâ     ³â  1   ¿â     ñâ  ?   ã     Nã     Rã     Vã     lã     |ã  -   „ã  4   ²ã     çã     üã     	ä  #   ä     2ä     >ä     Dä     Gä     Nä     Tä  `  \ä     ½å     Àå     Âå     Çå     Íå  s   Óå  –   Gæ  E   Þæ  R   $ç     wç     Šç     ¥ç     Àç  1   Ûç  %   
+è  -   3è  ä   aè  =   Fé     „é     é     –é     ¢é  
+   ©é  _   ·é     ê      ê     1ê  )   3ê  ;   ]ê  #   ™ê  l   ½ê  K   *ë  6   vë  ,   ­ë  ­   Úë     ˆì     ‹ì     ¤ì  4   ¬ì  2   áì     í  &   *í  "   Qí  .   tí  #   £í  +   Çí  .   óí  1   "î  &   Tî  +   {î  $   §î  $   Ìî  ,   ñî  -   ï  ;   Lï  /   ˆï  .   ¸ï  #   çï  '   ð     3ð  .   Pð  D   ð  i   Äð  K   .ñ  J   zñ     Åñ  q   Ùñ     Kò     Mò     Oò     ^ò     jò     ‚ò      ò  	   ²ò     ¼ò     ¾ò     Àò     Âò     Äò     Æò     Èò  +   Êò     öò  .   ó     4ó  '   Qó     yó     ™ó     ªó  &   Àó     çó     úó     ô     !ô     <ô     Oô     aô     yô     ô     žô     ®ô      Íô     îô     õ  
+   õ  ë   õ     ö     ö     ö  -   "ö     Pö     ]ö  D   jö     ¯ö  "   »ö     Þö  ;   ðö     ,÷     H÷     c÷     v÷  3   “÷  "   Ç÷  %   ê÷     ø  T   ø     rø     ‚ø  *   ˆø     ³ø  
+   ¸ø     Ãø  &   Øø  .   ÿø  	   .ù  \   8ù  4   •ù  c   Êù  S   .ú     ‚ú     ú     ¢ú     ¸ú  ¬  Ðú  ¿  }ü  ´  =þ  Ž  òÿ  v   D   ø B   = J   € A   Ë š  
+ »   ¨ ?   d 	   ¤ b   ®         G   , 6   t ¤   «    P    R    V    m    ƒ N   › I   ê 2   4	 (   g	 +   	 
+   ¼	    Ê	    ã	 p   ë	    \
+    h
+    k
+ '   q
+    ™
+    
+ "   ¦
+ 7   É
+ )    	   + 5   5 -   k —   ™ 	   1    ;    G    ^    z     ™ "   º ?   Ý    
+ 0   )
+ "   Z
+ !   }
+     Ÿ
+ &   À
+ @   ç
+ X   ( \    ;   Þ     &       F 	   e    o    u    } 	   … *    #   º    Þ !   ñ        0 I   O I   ™ %   ã 1   	 1   ; -   m :   › ‚  Ö |   Y ,   Ö N    X   R B   « O   î 4   > >   s _   ² ?    )   R    |    „    £     à "   ä     T   & ^   { T   Ú +   / 
+   [     f /   ‡    ·    Ì    ä    ü        *    G O   f    ¶ L   È L    G   b P   ª    û .    .   7 ,   f 6   “    Ê    Ö    ç    ÿ        '    C !   _        • *   ´ +   ß p    H   |    Å &   Þ o    Z   u b   Ð    3 w   S ª   Ë h   v     ß  
+   ò     ý     
+! ­  ! ç  À"   ¨$ 
+   À& 	   Î& _   Ø& w   8' -   °' 8   Þ' 2   ( ;   J( ]   †(    ä( !   ø( )   ) @   D)    …) +   ˜) 6   Ä) U   û)    Q* *   c* -   Ž* 
+   ¼*    Ç* &   Ù* 4    + u   5+    «+    Á+    ×+    ë+ 5   , [   9, -   •, =   Ã, #   - (   %- 6   N- ,   …- )   ²- >   Ü- *   .    F. 8   Z. 6   “. 1   Ê. n   ü. F   k/    ²/ !   Ð/    ò/ 6   0    I0    V0    c0     |0    0    ¦0    ¿0 ‹   Ç0 D   S1    ˜1 …   ´1 Z   :2 ;   •2 @   Ñ2 6   3    I3    L3    P3 E   V3 o   œ3    4    $4 $   >4    c4 %   o4 r   •4 M   5 E   V5    œ5    ±5 4   Ë5 þ   6 D   ÿ7    D8    G8 m   J8 ˆ   ¸8 ±   A9 ®  ó9 ‡   ¢; G   *< Å   r< ¹   8= ¯   ò= B   ¢> µ   å> ³   ›? !   O@    q@ §   }@ P   %A [   vA    ÒA    åA    ýA "   B    6B H   OB )   ˜B X   ÂB *   C g   FC A   ®C    ðC    ôC    D    D    -D    5D    FD    SD    YD 1   jD 6   œD -   ÓD (   E 
+   *E    8E    ;E    YE    wE %   ’E %   ¸E .   ÞE    
+F    F    &F +   @F    lF &   ‰F    °F    ÌF    ÓF "   ßF    G    "G    *G A   ?G &   G   ¨G )   ÇH ª  ñH '   œJ    ÄJ ;   âJ    K š   2K !   ÍK "   ïK J   L    ]L    wL    ‘L    ¬L N   ¿L "   M    1M    LM    RM @   iM A   ªM    ìM +   N S   2N     †N L  §N {  ôP •  pS    V     V    9V "   RV    uV ,   ‘V    ¾V 3   ÑV Ò   W 3   ØW 6   X 6   CX ;   zX 7   ¶X    îX Ø   ñX    ÊY    àY    úY    Z    ,Z    EZ    ZZ /   cZ )   “Z    ½Z ]   ÆZ 
+   $[ 	   2[ 	   <[ '   F[ 	   n[    x[    [    ‘[    «[    Ä[ =   Õ[ ,   \ (   @\    i\ *   ‰\ #   ´\ "   Ø\    û\ U   
+]    c]    j]    v] $   ‚]    §]    °] 
+   Ç] $   Õ] *   ú]    %^ _   D^ D   ¤^    é^    ø^ G   
+_    R_ $   a_ ,   †_ 
+   ³_ 	   Á_    Ë_ 7   Ô_ 8   `    E` R   R`    ¥` b   µ`     a (   9a    ba    ‚a T   ”a 4   éa +   b Y   Jb T   ¤b J   ùb 1   Dc (   vc &   Ÿc    Æc ;   Úc    d    d M   $d 
+   rd 9   }d J   ·d )   e )   ,e 3   Ve )   Še 1   ´e 2   æe    f    6f    Kf    ff    „f 2   šf *   Íf !   øf 0   g    Kg J   ig K   ´g A    h &   Bh '   ih    ‘h ,   ¯h    Üh    íh T   üh    Qi 9   ^i f   ˜i ?   ÿi    ?j    \j 2   dj K   —j ²   ãj “   –k $   *l I   Ol    ™l    ±l .   Ál 
+   ðl 	   ûl 
+   m    m    m    5m u   =m    ³m    Åm    äm T    n    Un $   [n 
+   €n    ‹n '   ¦n @   În `   o A   po 
+   ²o    ½o .   Öo )   p    /p    ?p    Sp    gp    zp    p    ¨p    ¾p *   Ðp ,   ûp !   (q    Jq    ]q 5   `q    –q j   ³q    r U   -r c   ƒr 1   çr    s D   6s O   {s :  Ës 5  u Q  <v 4   Žw v   Ãw ¾   :x    ùx ‹   y Q   y m   ïy N   ]z o   ¬z S   { ?   p{ ,   °{ ”   Ý{ /   r| o   ¢| ?   } ™   R} R   ì} Û  ?~ W   € 7   s€   «€    ƃ    ˃    у    ׃    èƒ    úƒ 3   „ 
+   5„ .   C„    r„    ~„    †„ %   ¦„ )   Ì„    ö„    …    …    …    .…    E… "   ^… #   … '   ¥… 3   Í…    †    †    '†    :†    M†    ]† 	   m†    w† .   Ž† -   ½† ,   ë† !   ‡ 
+   :‡ 
+   E‡    S‡    e‡ 6   €‡ X   ·‡ N   ˆ    _ˆ    qˆ /   ~ˆ .   ®ˆ ?   ݈ =   ‰ '   [‰ /   ƒ‰ 9   ³‰ o   í‰ V   ]Š b   ´Š G   ‹ I   _‹ 
+   ©‹ Ö   ·‹ 1   ŽŒ    ÀŒ    ׌ !   ôŒ         Y   ! 8   {    ´    ¼    ύ    å    ü a   Ž ‹  vŽ      ?   # ;   c 8   Ÿ 1   ؐ X   
+‘ Z   c‘ =   ¾‘    ü‘ G    ’    H’ Š   M’ –  Ø’ ~  o” x  î•    g˜ 
+   n˜    |˜    ˜    «˜ #   ǘ 	   ë˜    õ˜    þ˜    ™    ™    -™    K™ &   d™    ‹™ 
+   ’™    ™    ¤™ 
+   ¼™    Ê™    Ý™    í™    ô™    ù™    	š    $š    ?š    Xš    aš    jš    oš    €š    ’š /   ¨š    Øš    äš    þš 
+   › 	   ›    ›    (›    <› !   P›    r›    {›    › 	   ‡› 8  ‘›    Êœ 
+   Óœ    Þœ    㜠        	   /    9    N 
+   U    `    r 	   ‘    ›    ¢ [   ® (  
+ž    3Ÿ    CŸ    ]Ÿ    pŸ -   xŸ 3   ¦Ÿ    ÚŸ +   õŸ 
+   !     ,     4  b   G  ú   ª     ¥¡    ´¡    ¸¡    Å¡    Ñ¡ 
+   â¡    ð¡ 	    ¢    
+¢    ¢    (¢    +¢    0¢    8¢    N¢     b¢    ƒ¢ Å   ˜¢    ^£    f£    m£    …£    š£    «£ 1   ã )   õ£ E   ¤    e¤    i¤ &   m¤    ”¤    ©¤ 8   ±¤ 9   ê¤    $¥    A¥    X¥ $   ]¥    ‚¥    Ž¥    ”¥    ˜¥     ¥    §¥    q        Ì  Ä    N  £      ö   >   I  º   1  t  ¢  *      £  f      ñ     :   Ä  9  g      {  [  o         K     G  H         ‹  Ñ   é  E   ¥  9   &  ø   M   N   O   P   Q   R      y  à  ›  S         ²      š     =  ¥            à         ƒ  ’  ^  Æ  #  g    A   7      :          c  ÿ    T   F   ë       ‘  (  ©   ¯  ä        V  ¿       H      3  	      ‡  „  £   ý  á         B  Ò      ©      þ   Ê     h           l      ú      9  ã       ¢      H   §  S  ?    ®          *  â  Î     Z      }  Û  S      T    
+  6  (  d  “  D          •  ”  *  ç   '             C   s   “      N  i      Ç           Ô      r  )  
+          u             Z  ¯   +    G  <  =  8  .  .  ·  Ÿ       ×   »   Œ  ö  "                     U  ó   é      ô       ÷      ñ          Î   `       €    
+  ¡   Ó      ¦     Ø  (  /      w       •   ¨  6          …   ô                   »  A    Ê  x  @  Ë       S  -  }  l           V  ×  Ù  Y   r  4     ƒ  s  |      ±          ß  $      +      ™  Y  Õ  0              †      Ñ  	  ×  t       î            ¨   ï  
+   æ  À   Ë  Ï   k  ß   
+      R  œ  k  t   <    t  ›    ª   Û   Ø  Ñ  è    v                  ´  ð                ˆ  ˆ           W      Æ   5       Ý          A      ‰  €  -   —    €      Š   ¥  l            [   h  Õ   °              È   Ò   Ü  \   ¦  +   [            4  1  Ž  â           ‹  ~  W        Õ  a   î   ü      å  F  d   |   H  O      i  À      &  a  Ð  J      ß          d                      D       Á   O  ê  Y  >      è   e       Œ   0  ý   |  ë  \  Ö           Ú   ½  3      º  ·   ¨  „   ^   :  ô      ®      r      ›   †    ¼  ™  ‚  ë      ¾     ]  —  ­      D  	   Ç  ³  ‚                  n      ò  "    ´      §  û   Ë      ’   `          Ê    
+   <  j  í  )   ±  ã  C  Þ  Å  '  ³        "  +  L  7      E    b   Ž   x  ï   ¤  }  M        ‚  ²   ?  f       ù   ]  z  ç  V   ?           U     z      v      ù  Q              à  e  c    ¢   ¡                  Ô      Î  @          —   m  ê  Š      ¸  q   º  p  ¬      i   ”   X  \  o  ¶  Á  (   ‡     °   ä  6  ;  j          ­  Í  ]   o   N  O        þ      ¿  ì  >  P      I  ¼   F      ¼  I   _      Ä   «      P      Ü  Ì       à             G       °    b                ÿ   ¾   ½   E  %   $  s  ˜  /      Ý  ;     J  ò      Ý      @   X  Æ          w     ·  M          z   8  
+            K      œ       R  ú         µ     ž          -  %      T  »  Ò  _       Í                 X           ©  –   5  !  	  é       ¸   ~     ‡  ¯  þ      í   m  2  =  ²        `  Þ       K   Ü   ?    û  {      4  8   &   p  ö  c  ¬  ª          v        Ç      h      Þ      $      ˜  q  ¹            m    k      W       ¹  V             å         Ï  }   \  2  Ö  à  #  
+  U  4  ð      P        a  W                ð             7   š  Ú  õ  5  ¶   õ       Ž      f      ,  î  Œ  Í  ‰       6  Ÿ  ¾  É  n  f  8    Å   §              Š  ó    .  K  3     %      ;   Y  L      ¡              õ          0      J      e  æ              #  ¤  ¦      s  !  _          ý      {   è      j    ®           1     Ó   B  j   ø      ó             Ï      )       •  È     ï  Z               l      ­       )  o      –  !  ^  $      ±   È  ”        ¸  d      ‚   ,  á  ;            k   Q              -  á     æ       Û    L           "   x  ø  '           h             ,  u    ‘   À                2  r   ™   q      3      M      ’  c   ñ   ˜     å  U  ã      R  {  p  ¹   [  X  /  y  v        Á  ì   ½      ê   G    Ú     ‹   2               Ø   B              Ù        ü   z  7    >  *       Ù       Å  ƒ   1  F          Ð  «  Ð       †       _  „  ~          ~  B   ü          =   g       p   ä  y   É  u      š       ž  5  –      `  @  ª  “   D  |          w      !   i  #   /   ¤   '  I  A  w  µ   m   ,       …  b      ˆ      à               L      µ  e      <       œ  ÷  ò     x     ž     Q  Ó  Ö      ³       û  ù  &     u  C  ´   «      í      ¿    Z  …  ‰  y      ^          Ì  a      â   g                    J   0   ì  9  ÷   n  C      Ÿ  ú  E      ¶  ¬   b  :          ‘  Ô  ]      ÿ    É   T  %      €       n       ç  .      
+
+                         gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
      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.
      mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)
      xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)
@@ -114,8 +109,8 @@
                 but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is
                 used with 'Offline' deactivated.
    -p <filename>:increment playcount for file by one
-  %s Free  %s Pending  <= cts <=   Logic:   Number of tracks in generated playlists:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
-  _Charset (ID3, files):   _Number of sort tabs:   disconnected  iPod Mount _Point: # # autoselect master playlist?
+  %s Free  %s Pending  <= cts <=   Logic:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
+  days old  disconnected # # autoselect master playlist?
  # autoset: set empty tag to filename?
  # delete confirmation
  # position of sliders (paned): playlists, above tracks,
@@ -125,7 +120,7 @@
  # track_nr=5, ipod_id, pc_path, transferred
  # window sizes: main window, confirmation scrolled,
 #               confirmation non-scrolled, dirbrowser, prefs
- %d%% (%d:%02d:%02d left) %s - %s %s does not appear to be a supported wav file.
+ %A %d%% (%d:%02d:%02d left) %s - %s %s does not appear to be a supported wav file.
  %s:
 Expected "itunesdb_hash=" but got:"%s"
  %s:
@@ -155,33 +150,32 @@
  '%s': only '%%[%s]' allowed.
  '%s-%s' (%s) could not be normalized.
 
- 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: (C) 2002 - 2003
+ 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: (C) 2002 - 2005
 Jorg Schuler (jcsjcs at users dot sourceforge dot net)
 Corey Donohoe (atmos at atmos dot org)
 
 
- + - ... ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Ignore Frequent Words</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Order</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> <b>mserv</b> AL: AR: Aborted writing of extended info.
- Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adding/Updating/Syncing Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
+ + - ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist ../%A.jpg 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Artwork</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Examples</b> <b>File options</b> <b>Ignore Frequent Words</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Order</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> <b>iPod options</b> <b>mserv</b> <b>n/a</b> <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> AL: AR: Abort selected Aborted writing of extended info.
+ Aborting... About gtkpod Accessible by selecting the center button on the iPod. Add Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add artwork from file using the following template Add directories recursively Add playlist from file Added Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
  Advanced Sorting Options Album Alex Tribble: iPod eject patch
  All All (AND) All Tracks Never Listened To All Tracks Played Since Last Time All Tracks not Listed in any Playlist Alphabetize Also include tracks never played in "Best Rated" playlist Always write ID3v2.4 tags (only applies to MP3) Andrew Huntwork: Filename case sensitivity fix and various other bugfixes
  Another instance of gtkpod was detected. Playcount server not started.
- Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from the database? The number of playlists the tracks are member of is indicated in parentheses. 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your iPod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Are you sure you want to remove all tracks from the database? Are you sure you want to remove all tracks from your iPod? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to remove the following track from the playlist "%s"? Are you sure you want to remove the following tracks from the playlist "%s"? Armando Atienza: Support with external playcounts
+ Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from the database? The number of playlists the tracks are member of is indicated in parentheses. 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your iPod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Are you sure you want to remove all podcasts from your iPod? Are you sure you want to remove all tracks from the database? Are you sure you want to remove all tracks from your iPod? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to remove the following track from the playlist "%s"? Are you sure you want to remove the following tracks from the playlist "%s"? Armando Atienza: Support with external playcounts
  Artist As a last resort set the following tags to the
-filename if they are (still) empty: As a last resort set the following tags to the filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
+filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
 
- Auto-Generated Playlists Automatically import iTunesDB on startup Automatically select... Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely from the iPod Before removing tracks completely when
- synchronizing directories Before removing tracks completely when
+ Automatically import iTunesDB on startup Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely when
 synchronizing directories Before removing tracks from the harddisk Before removing tracks from the iPod Before removing tracks from the local database Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
  entry (faster!) Browse CD CD Nr CD Nr. and total number of CDS in set CO: Calendar Calendar sync command: Call automatically when synchronizing iTunesDB Can't reorder sorted treeview. Cancel Cannot open '%s' for reading.
 
  Cannot remove entry 'All' Cannot unsort track view because of a bug in the GTK lib you are using (%d.%d.%d < 2.5.4). Once you sort the track view, you cannot go back to the unsorted state.
 
- Cannot write mhod of type %d
- Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Check for existing files when copying from iPod. Checking iPOD files against known files in DB Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Chris Cutler: automatic creation of various playlist types
+ Category Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Change all tracks
+simultaneously Check for existing files when copying from iPod. Checked Checking iPOD files against known files in DB Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Chris Cutler: automatic creation of various playlist types
  Chris Micacchi: when sorting ignore 'the' and similar at the beginning of the title
  Christoph Kunz: address compatibility issues when writing id3v2.4 type mp3 tags
  Clinton Gormley: sync scripts for thunderbird
- Cmpl Command Line for 'Enqueue': Command Line for 'Play Now': Command for 'Enqueue': Command for 'Play now': Command to be called to synchronize calendar: Command to be called to synchronize notes: Command to synchronize contacts: Comment Comp. Compilation Composer Confirm before removing tracks Confirm list of directories Confirm lists of directories Confirmation Dialogue Contacts / Calendar / Notes Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
+ Cmpl Command for 'Enqueue': Command for 'Play now': Comment Comp. Compilation Compilations Composer Confirm before removing tracks Confirm lists of directories Confirmation Dialogue Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
  Could not create hash value from itunesdb
  Could not delete backup file: "%s"
  Could not find command '%s' specified for '%s' Could not find mp3gain. I tried to use the following executable: '%s'.
@@ -203,43 +197,37 @@
  Could not open '%s' for writing, or file is not an mp4 file.
  Could not open '%s' to calculate MD5 checksum: %s
  Couldn't change tags of file: %s
- Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently no iPod database selected Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
+ Cover Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently no iPod database selected Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
  Dangling Tracks Dangling tracks with files on PC were handled. Dangling tracks with no files on PC were removed. Daniel Kercher: sync scripts for abook and webcalendar
  Data has been changed and not been saved.
-OK to exit gtkpod? Database in memory corrupt (playlist pointer == NULL). Aborting export. Database in memory corrupt (track pointer == NULL). Aborting export. Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
- Date modified Date played Delete But Keep Tracks Delete Confirmation  Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending 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 '%': %%. 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 '%': %%. Did not find SLst hunk as expected. Trying to continue.
- Dirs Disc number Display Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
-Tracks Displayed Track Attributes  Don't allow file duplication Drag from iPod database not possible in offline mode. Duplicate Recognition is based on a md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
+OK to exit gtkpod? Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
+ Date modified Date played Date released Delete Delete But Keep Tracks Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete from iPod when  Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending Description Details 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 '%': %%. 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 '%': %%. 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 '%': %%. Dirs Disc number Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
+Tracks Don't allow file duplication Drag from iPod database not possible in offline mode. Duplicate Recognition is based on a (modified) md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
  ERROR while writing tag to file: '%s' (%s).
- Edit Edit Smart Playlist Edward Matteucci: debugging, special playlist creation, most of the volume normalizing code
- Effective free space Empty Playlist Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.
-
- English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
+ Edit Edit Details Edit Smart Playlist Edit selected entry of which sort tab? Edward Matteucci: debugging, special playlist creation, most of the volume normalizing code
+ Effective free space Empty Playlist English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
  Error copying '%s' to '%s' (%s)
  Error copying '%s' to '%s': Permission Error (%s)
  Error creating %s: %s
- Error opening '%s' for reading (%s). Error opening '%s' for writing (%s). Error removing '%s' (%s). Error renaming '%s' to '%s' (%s). Error setting ID3 field: %s
- Error when closing '%s' (%s). Error while reading extended info: %s
- Error while reading from '%s' (%s). Error while reading prefs: %s
- Error while writing to '%s' (%s). Error writing to '%s'.
- Error: drag from iPod not possible in offline mode. Exact path for the 'mp3gain' executable: Execution of mp3gain ('%s') failed. Export Tracks Export from iPod database not possible in offline mode. Export selected entry of which sort tab? Extended info will not be used.
+ Error setting ID3 field: %s
+ Error while reading extended info: %s
+ Error while reading prefs: %s
+ Error writing to '%s'.
+ Error: drag from iPod not possible in offline mode. Execution of mp3gain ('%s') failed. Export Tracks Export from iPod database not possible in offline mode. Export selected entry of which sort tab? Extended info will not be used.
  Extended info will not be used. If you have non-transferred tracks,
 these will be lost.
- Extended information file not deleted: '%s' Failed Track Update Failed to write '%s-%s'
+ Extended information file not deleted: '%s' Failed Track Update Failed to set cover art: '%s' Failed to write '%s-%s'
  File "%s" has zero play length. Ignoring.
- File Size File not found: '%s'. File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
+ File Size File size File size (deleted) File size (non-transferred) File type Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i> Flavio Stanchina: bugfixes
  For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing. For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist. Found %d orphaned and %d dangling files. Done. Found %d orphaned and %d dangling files. Processing... French:   David Le Brun (david at dyn-ns dot net)
- GB GE: General Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+ GB GE: Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
  Graeme Wilford: reading and writing of the 'Composer' ID3 tags, progress dialogue during sync
- Greek (ISO-8859-7) Greek (Windows-1253) Grouping Handle mounting/unmounting of iPod drive Handling of dangling tracks with files on PC was canceled. Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
- 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. Hebrew (IBM-862) Hebrew (Windows-1255) Hebrew: Assaf Gillat (gillata at gmail dot com)
+ Greek (ISO-8859-7) Greek (Windows-1253) Group artists on compilation CDs Grouping Handle mounting/unmounting of iPod drive Handling of dangling tracks with files on PC was canceled. Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
+ Hebrew (IBM-862) Hebrew (Windows-1255) Hebrew: Assaf Gillat (gillata at gmail dot com)
  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). Hiroshi Kawashima: Japanese charset autodetecion feature
- Hz ID Icons of buttons were made by Nicolas Chariot.
-
-
- If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Ignore these words when at the beginning of the following fields: Illegal seek to offset %ld (length %ld) in file '%s'. Import Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
+ Hz ID Iain Benson: support for compilation tag in mp3 files and separate display of compilations in the sort tab.
+ If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. 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. Ignore these words when at the beginning of the following fields: Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
  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. Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
- Itdb_Track ID '%d' not found.
  James Ligget: replacement of old GTK file selection dialogs with new GTK filechooser dialogs
  Japanese (EUC-JP) Japanese (ISO-2022-JP) Japanese (Shift_JIS) Japanese (automatic detection) Japanese: Ayako Sano
  Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
@@ -247,14 +235,17 @@
  Jens Taprogge: Support for LAME's replay gain tag to normalize volume
  Jim Hall: Decent INSTALL file
  Juergen Helmers, Markus Gaugusch: Conversion scripts to sync calendar/contacts to the iPod
- Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Length of smart playlist rule field (%d) not as expected. Trying to continue anyhow.
- Live _updating Local Local Database Local database import failed: 
+ Keeps all compilation CDs grouped together in the artists sort tab. Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Live _updating Local Local Database Local database import failed: 
 
  Local database import failed: '%s'
 
  Local database successfully imported Local filename not valid (%s) Lower Margin MB Malformed line in '%s': %s
- Manual volume adjust Master-PL Match al_l of the following Match an_y of the following Match only _checked tracks Misc Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Music Root:  Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+ Manual volume adjust Match al_l of the following Match an_y of the following Match only _checked tracks Matching MD5 checksum for file %d/%d Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Name of file on PC, if available Name of file on the iPod Name:  Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist Nick Piper: sync script for Palm, type-ahead search
+ Nicolas Chariot: icons of buttons
 
+
+ No MD5 checksums on individual tracks are available.
+
 To avoid this situation in the future either switch on duplicate detection (will provide MD5 checksums) or avoid using the iPod with programs other than gtkpod.
 
  No command set for '%s' No directory names were stored. Make sure that you enable 'Write extended information' in the Export section of the preferences at the time of importing files.
@@ -263,36 +254,40 @@
  No entry selected in Sort Tab %d No entry selected. No information found for user '%s' in '%s' No lower margin No mserv information could be retrieved for the following track No mserv information could be retrieved for the following %d tracks No playlist selected No playlist selected. No tracks available, playlist not created No tracks in selection No tracks selected No tracks selected. No upper margin No valid directories have been found. Sync aborted.
  No valid filename for: %s
 
- Non-transferred tracks None Nordic (ISO-8859-10) Normalization failed: file not available.
- Normalization failed: file type not supported.
- Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Not a OTG playlist file: '%s' (missing mhpo header). Not a Play Counts file: '%s' (missing mhdp header). Not a iTunesDB: '%s' (missing mhdb header). Notes sync command: Nothing to update 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. Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? OTG Playlist OTG Playlist %d OTG playlist file '%s': reference to non-existent track (%d). OTG playlist file ('%s'): header length smaller than expected (%d<20). OTG playlist file file ('%s'): entry length smaller than expected (%d<4). Offline iPod database import failed: 
+ Non-transferred tracks None Nordic (ISO-8859-10) Normalization failed: file not available (%s).
 
+ Normalization failed: file type not supported (%s).
+
+ Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Notes sync command: Nothing to update Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? Offline iPod database import failed: 
+
  Offline iPod database import failed: '%s'
 
- Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Opening of '%s' for writing failed. Orphaned Overwrite tags that are already set Overwrite tags that are already set. Overwriting existing file: '%s'
+ Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Orphaned Overwrite tags that are already set Overwriting existing file: '%s'
  PC File Patches were supplied by the following people (list may be incomplete -- please contact me)
 
- Path not found: '%s'. Play Counts file ('%s'): entry length smaller than expected (%d<12). Play Counts file ('%s'): header length smaller than expected (%d<96). Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
- Plycnt Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
+ Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
+ Plycnt Podcast RSS Podcast URL Podcast already present: '%s'
+
+ Podcasts Podcasts Preferences Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
 Export can be continued at a later time. Problem creating iPod directory: '%s'. Processing '%s' Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
- Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Reading Recent (%d) Relative volume adjustment between -100 and +100 Removal of dangling tracks with no files on PC was canceled. Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove offline playcounts? Removed all %d tracks from the database Removed all %d tracks from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
- Samplerate Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Select the mserv music root directory Select the mserv trackinfo root directory Selected
+ Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Recent (%d) Release date (for podcasts displayed next to the title on the iPod) Released Removal of dangling tracks with no files on PC was canceled. Remove All Podcasts from iPod Remove All Tracks from Database Remove All Tracks from iPod Remove Cover Art Remove Track From Playlist? Remove Tracks From Playlist? Remove entry of which sort tab from database? Remove offline playcounts? Remove tracks in selected entry of which filter tab from playlist? Remove tracks in selected entry of which filter tab from the harddisk? Remove tracks in selected entry of which filter tab from the iPod? Removed all %d tracks from the database Removed all %d tracks from the iPod Removed all podcasts from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rtng Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
+ Samplerate Sebastian Scherer: sync script for kNotes
+ Sebastien Beridot: sync script for ldif addressbook format
+ Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Select the mserv music root directory Select the mserv trackinfo root directory Selected
 Playlist Selected
-Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Settings are not saved.
- Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
+Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Selected filter tab entry from database Selected filter tab entry from harddisk Selected filter tab entry from iPod Selected filter tab entry from playlist Selected playlist Selected playlist including tracks from database Selected playlist including tracks from harddisk Selected playlist including tracks from iPod Selected tracks from database Selected tracks from harddisk Selected tracks from iPod Selected tracks from playlist Set Cover Set Cover Art Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
  Skipping '%s' to avoid adding playlist file recursively
  Skipping existing file with same length: '%s'
  Smart Playlist Sndchk. Some files were not added successfully Some tracks could not be deleted from the iPod. Export aborted! 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. Some tracks were not copied to your harddisk. Only the copied tracks will be included in the current drag and drop operation.
 
- Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort Tabs Sort tracks according to:  Sorting Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
- Stop Stop Display Update Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
- Sync Sync (Writing of iTunesDB) Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Tag Reading Template ('%s') does not match file type '%s'
+ Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort tracks according to:  Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
+ Stop Stop Display Update Subtitle Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
+ Sync Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Template ('%s') does not match file type '%s'
  Template for info field:  Temporarily disable sorting when changing playlist
 or tab entry (faster!) Thai (TIS-620) The (former) contents of the following directories will be removed from the database:
 
  The GUI was created with the help of glade-2 (http://glade.gnome.org/).
- The URI '%s' contains invalidly escaped characters The URI '%s' is invalid The URI '%s' is not an absolute URI using the file scheme 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). The following dangling track doesn't have file on PC. 
+ The URI '%s' contains invalidly escaped characters The URI '%s' is invalid The URI '%s' is not an absolute URI using the file scheme The category (e.g. 'Technology' or 'Music') where the podcast was located. 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). The following dangling track doesn't have file on PC. 
 Press OK to remove it, CANCEL to leave it as is. The following %d dangling tracks do not have files on PC. 
 Press OK to remove them, CANCEL to leave them. as is The following dangling track has a file on PC.
 Press OK to have them transfered from the file on next Sync, CANCEL to leave it as is. The following %d dangling tracks have files on PC.
@@ -306,7 +301,7 @@
  The following track could not be processed (filetype unknown): '%s'
  The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The following tracks have to be copied to your harddisk The hostname of the URI '%s' is invalid The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed. The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). The track on the iPod is referenced in the playlist file. This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
 
- This is the same option as in 'Edit/Delete Confirmation' 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. 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
+ This is the same option as in 'Edit/Delete Confirmation' 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
 This program 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 General Public License for more details.
@@ -314,56 +309,55 @@
 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
 
- Time Time: Title Toolbar Tooltips Total
+ Time Time: Title Total
 (iPod) Total
-(local) Track Track (%s) not in mserv music root directory (%s) Track Editing Track Nr (#) Track Nr. and total number of tracks on CD Track Playing Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
+(local) Track Track (%s) not in mserv music root directory (%s) Track Nr (#) Track Nr. and total number of tracks on CD Track number Tracks Tracks Most Often Listened To Tracks in Selected Tab _Entry Tracks in Selected _Playlist Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
  Unable to open '%s' for reading
  Unable to open '%s' for writing
  Unable to open config file '%s' for reading
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown action (%d) in smart playlist will be ignored.
- Unknown option: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown option: %s
  Unknown token '%%%c' in template '%s' Unknown token '%s' in template '%s'
- Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for track selections Use 'Multi-Edit' for tracks selections Use mserv database to fill additional information Use mserv database to fill in additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
-for this filename. Use selected charset (on the 'General' page)
-when writing tags Use selected charset (on the 'Import' page)
- when writing tags Use selected charset also when updating
- or syncing tracks Use selected charset also when updating 
-or syncing tracks Use this template to parse filename for tag information Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: Username:  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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume Normalization Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
+ Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update Podcasts Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for tracks selections Use <i>&lt;Album&gt;.jpg</i> in the parent directory Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>... Use <i>folder.jpg</i> as cover art. Use <i>folder.jpg</i>, <i>folder.png</i>... Use mserv database to fill additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
+for this filename. Use selected encoding (on the 'General' page)
+when writing tags Use selected encoding also when updating 
+or syncing tracks Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: 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). Uwe Hermann: help with support for iPod Video
+ Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
  Warning Western (IBM-850) Western (ISO-8859-1) Western (ISO-8859-15) Western (Windows-1252) When adding dirs/files, update information of
- existing tracks with identical filenames When adding dirs/files, update information of
 existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod Write extended information (PC filenames,
- MD5 hashes, charset). Recommended. Writing to '%s' failed (%s). Writing to '%s' failed. YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
+ MD5 hashes, encoding). Recommended. Writing to video files not yet supported (%s).
+
+ YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
  Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. You did not import the existing iTunesDB ('%s'). This is most likely incorrect and will result in the loss of the existing database.
 
 Press 'OK' if you want to proceed anyhow or 'Cancel' to skip storing. If you cancel, you can import the existing database before calling this function again.
  You did not import the existing iTunesDB. This is most likely incorrect and will result in the loss of the existing database.
 
 Press 'OK' if you want to proceed anyhow or 'Cancel' to abort. If you cancel, you can import the existing database before calling this function again.
- 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. _About _All Tracks _Arrange Sort Tabs _Charset (ID3, files): _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete But Keep Tracks _Delete Completely From iPod _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _Export Tracks from Database _File _Help _Ignore rules _Info Window _Input/Output _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
- ends with file not found format not supported genre gtkpod gtkpod Info gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm). 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 options gtkpod version %s usage:
+ 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. _About _All Tracks _Arrange Sort Tabs _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete _Display _Displayed Tracks _Edit _Edit Preferences _Encoding (ID3, files): _Enqueue _Export Tracks from Database _File _General _Help _Ignore rules _Info Window _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _Other _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Track Info _Undo All _Undo Track _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
+ ends with file not found folder folder.jpg folder.jpg;%a.jpg format not supported genre gtkpod gtkpod Info gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm). 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 options gtkpod version %s usage:
  highest rating hours iPod Database Import Failed.
 
  iPod Database Import Failed: '%s'
 
  iPod Database Saved iPod Database Successfully Imported iPod File iPod ID iPod Mount _Point: iPod directory structure must be present before synching to the iPod can be performed.
- iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up. iTunesDB '%s' does not match checksum in extended information file '%s'
+ iTunesDB '%s' does not match checksum in extended information file '%s'
 gtkpod will try to match the information using MD5 checksums. This may take a long time.
 
- iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). Aborting. iTunesDB corrupt: found mhyp at %ld in file '%s'. iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'. iTunesDB corrupt: no MHOD at offset %ld in file '%s'. iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. Trying to continue.
- iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. Trying to continue.
  in the last is is after is before is greater than is in the range is less than is not is not set is set kB kbps label21 least often played least recently added least recently played lowest rating 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.
- minutes months most often played most recently added most recently played mserv mserv Root: mserv Root:  mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
+ minutes months most often played most recently added most recently played mserv Root: mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
  prefs_set_toolbar_style: illegal style '%d' ignored
  preparing to copy... random order secs special_sorttab -- Don't translate! starts with title to tracks weeks window1 Project-Id-Version: gtkpod 0.52
 Report-Msgid-Bugs-To: 
-POT-Creation-Date: 2005-07-16 16:18+0900
-PO-Revision-Date: 2005-07-16 15:42+0900
+POT-Creation-Date: 2005-12-14 23:51+0900
+PO-Revision-Date: 2005-12-14 23:22+0900
 Last-Translator: Jörg Schuler <jcsjcs at users.sourceforge.net>
 Language-Team: none
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 Plural-Forms: nplurals=2; plural=n != 1;
+ 
+
                         gnutools: (mktunes.pl, nach C portiert) Schreiben und Lesen der iTunesDB (http://www.gnu.org/software/gnupod/)
      iPod.cpp, iPod.h von Samuel Wood (sam dot wood at gmail dot com): einiger Code für intelligente Wiedergabelisten basiert auf seinen C++-Klassen.
      mp3info:  MP3-Spielzeit-Ermittlung (http://ibiblio.org/mp3info/)
@@ -378,8 +372,8 @@
              geschrieben, sondern nach '~/.gtkpod/'. Der iPod wird aktualisiert,
              wenn nicht im Offline-Modus die iTunesDB abgeglichen wird.
    -p <Dateiname>:Playcount für 'Datainame' um eins erhöhen
-  %s frei  %s voll  <= num <=  Logik:  Anzahl der Stücke in generierten Wiedergabelisten:   P:%d S:%d/%d  Voreinstellungen: Kategorie (%d<%d?) oder SortTab (%d<%d?) außerhalb des erlaubten Bereichs.
-  _Zeichensatz (ID3, Dateinamen):   _Anzahl der Sort Tabs:   nicht verbunden  iPod Mount _Point: # # Hauptplayliste automatisch auswählen?
+  %s frei  %s voll  <= num <=  Logik:  P:%d S:%d/%d  Voreinstellungen: Kategorie (%d<%d?) oder SortTab (%d<%d?) außerhalb des erlaubten Bereichs.
+ Tage alt  nicht verbunden # # Hauptplayliste automatisch auswählen?
  # autoset: Leere ID3-Tags mit dem Filenamen initialiseren?
  # Sicherheitsabfrage beim Löschen
  # Position der Schiebeelemente (paned): Wiedergabelisten,
@@ -390,7 +384,7 @@
  # Fenstergrößen: Hauptfenster, Bestätigungsfenster (gescrollt),
 #                Bestätigungsfenster (ungescrollt), Verzeichnisbaum
 #                Einstellungsfenster
- %d%% (noch %d:%02d:%02d) %s - %s '%s' scheint keine unterstützte WAV-Datei zu sein.
+ %A %d%% (noch %d:%02d:%02d) %s - %s '%s' scheint keine unterstützte WAV-Datei zu sein.
  %s:
 'itunesdb_hash=' erwartet, aber '%s' gefunden
  %s:
@@ -419,33 +413,31 @@
  '%s': nur '%%[%s]' erlaubt.
  '%s-%s (%s) konnte nicht normalisiert werden.
  Die Bedingung 'Hinzugefügt' wurde aufgrund eines Fehlers ignoriert. z.B. 'TT/MM/JJJJ SS:MM < d < TT/MM/JJJJ SS:MM' oder ähnliches. Nach der Eingabe bitte 'Return' drücken. Die Bedingung 'Zuletzt modifiziert' wurde aufgrund eines Fehlers ignoriert. Die Bedingung 'Zuletzt abgespielt' wurde aufgrund eines Fehlers ignoriert. 'mp3gain'-Programm: (C) 2002 - 2003
-Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+Jörg Schuler (jcsjcs at users dot sourceforge dot net)
 Corey Donohoe (atmos at atmos dot org)
 
 
- + - ... ...als Graphik ...als Text ...als Text und Graphik Eintrag 'Alle' im Sort Tab... ...Hauptplayliste 0 1 2 3 4 5 : <b>Hinzufügen/Aktualisieren/Abgleichen</b> <b>Automatisch generierte Wiedergabelisten</b> <b>Wähle automatisch...</b> <b>Sicherheitsabfrage beim Löschen</b> <b>Angezeigte Informationen</b> <b>Ignoriere oftverwendete Wörter</b> <b>Importieren</b> <b>Verschiedenes</b> <b>Wiedergabe</b> <b>Sortier-Reihenfolge</b> <b>Filter-Tabs</b> <b>Abgleichen</b> <b>Synchronisierung</b> <b>Lesen von Tags</b> <b>Toolbar</b> <b>Tooltips</b> <b>Bearbeiten von Stücken</b> <b>Lautstärkenormalisierung</b> <b>mserv</b> Al: Kü: Schreiben der erweiterten Infos abgebrochen.
- Breche ab... Über gtkpod Verzeichnisse rekursiv hinzufügen Files hinzufügen Wählen Sie hinzuzufügende Dateien oder Verzeichnisse aus. Wiedergabeliste hinzufügen _Verzeichnisse hinzufügen _Files hinzufügen _Wiedergabeliste hinzufügen Verzeichnisse rekursiv hinzufügen Wiedergabeliste aus Datei hinzufügen Hinzugefügt Hinzufügen/Aktualisieren/Abgleichen Adrian Ulrich: Portierung des Wiedergabelisten-Codes von mktunes.pl nach itunesdb.c
+ + - ...als Graphik ...als Text ...als Text und Graphik Eintrag 'Alle' im Sort Tab... ...Hauptplayliste ../%A.jpg 0 1 2 3 4 5 : <b>Hinzufügen/Aktualisieren/Abgleichen</b> <b>Artwork</b> <b>Automatisch generierte Wiedergabelisten</b> <b>Wähle automatisch...</b> <b>Sicherheitsabfrage beim Löschen</b> <b>Angezeigte Informationen</b> <b>Beispiele</b> <b>Datei-Optionen</b> <b>Ignoriere oftverwendete Wörter</b> <b>Importieren</b> <b>Verschiedenes</b> <b>Wiedergabe</b> <b>Sortier-Reihenfolge</b> <b>Filter-Tabs</b> <b>Abgleichen</b> <b>Synchronisierung</b> <b>Lesen von Tags</b> <b>Toolbar</b> <b>Tooltips</b> <b>Bearbeiten von Stücken</b> <b>Lautstärkenormalisierung</b> <b>iPod Optionen</b> <b>mserv</b> <b>---</b> <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> Al: Kü: Abrechen gewählt Schreiben der erweiterten Infos abgebrochen.
+ Breche ab... Über gtkpod Wird angezeigt, wenn der mittlere Knopf auf dem iPod gedrückt wird. Hinzufügen Verzeichnisse rekursiv hinzufügen Files hinzufügen Wählen Sie hinzuzufügende Dateien oder Verzeichnisse aus. Wiedergabeliste hinzufügen _Verzeichnisse hinzufügen _Files hinzufügen _Wiedergabeliste hinzufügen Artwork nach folgender Schablone aus Datei einlesen Verzeichnisse rekursiv hinzufügen Wiedergabeliste aus Datei hinzufügen Hinzugefügt Adrian Ulrich: Portierung des Wiedergabelisten-Codes von mktunes.pl nach itunesdb.c
  Sortieroptionen Album Alex Tribble: Patch zum Auswurf des iPods
  Alle Alle (UND) Nie gehörte Stücke Seit dem letzten Mal gespielte Stücke In keiner Wiedergabeliste aufgeführte Stücke Sortieren Auch Stücke in die 'am besten bewertete' Wiedergabeliste aufnehmen,
 die nie gespielt wurden Immer ID3v2.4 Tags schreiben (trifft nur auf MP3 zu) Andrew Huntwork: Fix zur Groß-/Kleinschreibung von Dateinamen und verschiedene Andere Korrekturen
  Eine Instanz von gtkpod läuft bereits. Der Playcount-Server wird nicht gestartet.
- Eines (ODER) Arabisch (IBM-864) Arabisch (ISO-8859-6) Arabisch (Windows-1256) Sind Sie sicher, daß Sie die Wiedergabeliste '%s' und das folgende Stück aus der Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die die Wiedergabeliste '%s' und die folgenden Stücke aus der Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie die Wiedergabeliste '%s' und das folgende Stück von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die die Wiedergabeliste '%s' und die folgenden Stücke vollständig von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie die Wiedergabeliste '%s' und das folgende Stück vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die die Wiedergabeliste '%s' und die folgenden Stücke vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie das folgende Stück vollständig von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die folgenden Stücke vollständig von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie das folgende Stück vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die folgenden Stücke vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie die Wiedergabeliste "%s" entfernen wollen? Sind Sie sicher, daß Sie alle Stücke von der Datenbank entfernen wollen? Sind Sie sicher, daß sie alle Stücke vom iPod entfernen wollen? Sind Sie sicher, daß Sie das folgende Stück vollständig aus der lokalen Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die folgenden Stücke vollständig aus Ihrer lokalen Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie das folgende Stück von der Wiedergabeliste "%s" entfernen wollen? Sind Sie sicher, daß Sie die folgenden Stücke von der Wiedergabeliste "%s" entfernen wollen? Armando Atienza: Unterstützung bezüglich externer Playcounts
+ Eines (ODER) Arabisch (IBM-864) Arabisch (ISO-8859-6) Arabisch (Windows-1256) Sind Sie sicher, daß Sie die Wiedergabeliste '%s' und das folgende Stück aus der Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die die Wiedergabeliste '%s' und die folgenden Stücke aus der Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie die Wiedergabeliste '%s' und das folgende Stück von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die die Wiedergabeliste '%s' und die folgenden Stücke vollständig von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie die Wiedergabeliste '%s' und das folgende Stück vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die die Wiedergabeliste '%s' und die folgenden Stücke vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie das folgende Stück vollständig von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die folgenden Stücke vollständig von Ihrer Festplatte entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie das folgende Stück vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die folgenden Stücke vollständig vom iPod entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie die Wiedergabeliste "%s" entfernen wollen? Sind Sie sicher, daß sie alle Podcasts vom iPod entfernen wollen? Sind Sie sicher, daß Sie alle Stücke von der Datenbank entfernen wollen? Sind Sie sicher, daß sie alle Stücke vom iPod entfernen wollen? Sind Sie sicher, daß Sie das folgende Stück vollständig aus der lokalen Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen das Stück geführt wird, ist in Klammern angegeben. Sind Sie sicher, daß Sie die folgenden Stücke vollständig aus Ihrer lokalen Datenbank entfernen wollen? Die Anzahl der Wiedergabelisten, in denen die Stücke jeweils geführt werden, ist in Klammern angegeben. Sind Sie sicher, daß Sie das folgende Stück von der Wiedergabeliste "%s" entfernen wollen? Sind Sie sicher, daß Sie die folgenden Stücke von der Wiedergabeliste "%s" entfernen wollen? Armando Atienza: Unterstützung bezüglich externer Playcounts
  Künstler Falls Tags (immer noch) nicht gesetzt sind, die 
-folgenden Tags mit dem Dateinamen initialisieren: Falls Tags (immer noch) nicht gesetzt sind, die folgenden Tags mit dem Dateinamen initialisieren: Aufsteigend Auto-Speichern Automatisch Speichern der Reihenfolge der Trackanzeige ausgeschaltet.
+folgenden Tags mit dem Dateinamen initialisieren: Aufsteigend Auto-Speichern Automatisch Speichern der Reihenfolge der Trackanzeige ausgeschaltet.
 
- Automatisch generierte Wiedergabelisten Beim Starten iTunes-Datenbank automatisch importieren? Wähle automatisch  Die Anzeige der Stücke, welche die oben genannten Kriterien erfüllen, automatisch starten. Wenn diese Option nicht aktiviert ist, müssen Sie 'Anzeigen' drücken. B BPM Baltisch (ISO-8859-13) Baltisch (ISO-8859-4) Baltisch (Windows-1257) Vor dem Entfernen von Wiedergabelisten oder Stücken aus einer Wiedergabeliste Vor dem vollständigen Löschen vom iPod Vor dem vollständigen Löschen vom iPod beim
- Abgleich von Verzeichnissen Vor dem vollständigen Löschen vom iPod beim
+ Beim Starten iTunes-Datenbank automatisch importieren? Die Anzeige der Stücke, welche die oben genannten Kriterien erfüllen, automatisch starten. Wenn diese Option nicht aktiviert ist, müssen Sie 'Anzeigen' drücken. B BPM Baltisch (ISO-8859-13) Baltisch (ISO-8859-4) Baltisch (Windows-1257) Vor dem Entfernen von Wiedergabelisten oder Stücken aus einer Wiedergabeliste Vor dem vollständigen Löschen vom iPod beim
 Abgleich von Verzeichnissen Vor dem vollständigen Löschen auf der Festplatte Vor dem vollständigen Löschen vom iPod Vor dem Entfernen aus der lokalen Datenbank Gewertet (%d) Höchstgewertete Stücke Bitrate Anzeige nicht aktualisieren wenn eine neue Wiedergabeliste
 oder ein neuer Tab-Eintrag gewählt wird (schneller!) Durchsuchen CD CD Nr CD-Nummer und Gesamtzahl der CDs im Set Ko: Kalender Befehl zum Abgleich des Kalenders: Automatisch aufrufen wenn die iTunesDB abgeglichen wird Die Anzeige kann nicht umgeordnet werden. Abbrechen Datei '%s' konnte nicht zum Lesen geöffnet werden.
 
  Der Eintrag 'Alle' kann nicht entfernt werden Aufgrund eines Fehlers in der GTK-Bibliothek (%d.%d.%d < 2.5.4) ist es nicht möglich, die Track-Ansicht in den unsortierten Zustand zurückzusetzen.
 
- Schreiben eines mhod-Hunks vom Typ %d ist nicht unterstützt.
- Kategorie:  Keltisch (ISO-8859-14) Mitteleuropäisch (IBM-852) Mitteleuropäisch (ISO-8859-2) Mitteleuropäisch (Windows-1250) Bei Kopieren vom iPod Überprüfen, ob Datei bereits existiert. Vergleiche Dateien auf dem iPod mit der iTunesDB Vereinfachtes Chinesisch (GB18030) Vereinfachtes Chinesisch (GB2312) Traditionelles Chinesisch (Big5) Traditionelles Chinesisch (Big5-HKSCS) Chris Cutler: automatische Erstellung diverser Wiedergabelisten
+ Kategorie Kategorie:  Keltisch (ISO-8859-14) Mitteleuropäisch (IBM-852) Mitteleuropäisch (ISO-8859-2) Mitteleuropäisch (Windows-1250) Alle Stücke simultan modifizieren Bei Kopieren vom iPod Überprüfen, ob Datei bereits existiert. Ausgewählt Vergleiche Dateien auf dem iPod mit der iTunesDB Vereinfachtes Chinesisch (GB18030) Vereinfachtes Chinesisch (GB2312) Traditionelles Chinesisch (Big5) Traditionelles Chinesisch (Big5-HKSCS) Chris Cutler: automatische Erstellung diverser Wiedergabelisten
  Chris Micacchi: beim Sortieren wird "the" und ähnliches am Beginn des Titels ignoriert
  Christoph Kunz: Beiträge zur Kompatibilität wenn MP3-Tags als id3v2.4 geschrieben werden.
  Clinton Gormley: Snychronisationsskripte für 'tunderbird'
- Smpl Kommandozeile für 'Zum Abspielen Vormerken': Kommandozeile für 'Jetzt abspielen' Befehl für 'Zum Abspielen Vormerken': Befehl für 'Jetzt abspielen': Kommandozeile zum Abgleichen des Kalenders: Kommandozeile zum Abgleichen der Notizen: Kommandozeile um Kontakte abzugleichen: Kommentar Komp. Sampler Komponist Vor dem Entfernen von Stücken bestätigen Liste der Verzeichnisse bestätigen Liste der Verzeichnisse bestätigen Sicherheitsabfrage Kontakte / Kalender / Notizen Befehl zum Abgleich der Kontakte: Aus den angezeigten Stücken Aus den ausgewählten Stücken %d von insgesamt %d Stück kopiert. %d von insgesamt %d Stücken kopiert. %d von insgesamt %d Stück kopiert. %d von insgesamt %d Stücken kopiert. Ein Stück kopiert %d Stücke kopiert Konnte Datei für '%s' auf dem iPod nicht finden
+ Smpl Befehl für 'Zum Abspielen Vormerken': Befehl für 'Jetzt abspielen': Kommentar Komp. Sampler Sampler Komponist Vor dem Entfernen von Stücken bestätigen Liste der Verzeichnisse bestätigen Sicherheitsabfrage Befehl zum Abgleich der Kontakte: Aus den angezeigten Stücken Aus den ausgewählten Stücken %d von insgesamt %d Stück kopiert. %d von insgesamt %d Stücken kopiert. %d von insgesamt %d Stück kopiert. %d von insgesamt %d Stücken kopiert. Ein Stück kopiert %d Stücke kopiert Konnte Datei für '%s' auf dem iPod nicht finden
  Konnte keine Checksumme für die iTunesDB bilden
  Konnte Sicherheitskopie nicht löschen: '%s'
  Konnte das Kommando '%s' nicht finden (gesetzt für '%s'). 'mp3gain' konnte nicht gefunden werden. Es wurde versucht, das folgende Programm zu starten: '%s'.
@@ -467,42 +459,36 @@
  '%s' konnte nicht zum Schreiben geöffnet werden, oder die Datei ist keine gültige mp4-Datei.
  Konnte '%s' zum Berechnen der MD5-Prüfsumme nicht öffnen: %s
  Konnte Tags der Datei '%s' nicht ändern
- Neue Wiedergabeliste erstellen Wiedergabelistendatei erstellen _Wiedergabelistendatei erstellen iPod-Verzeichnisstruktur erstellen Neue Wiedergabeliste erstellen Datei mit Wiedergabeliste für ausgewählten Eintrag aus welchem Sort Tab erstellen? Wiedergabeliste '%s' mit einem Stück erstellt. Wiedergabeliste '%s' mit %d Stücken erstellt. Wiedergabeliste mit einem Stück erstellt. Wiedergabeliste mit %d Stücken erstellt. Erstelle eine Liste der vorhandenen Dateien Danksagung Keine iPod Datenbank ausgewählt Gegenwärtig wird nur 'Bewertung' unterstützt. Kyrillisch (IBM-855) Kyrillisch (ISO-8859-5) Kyrillisch (ISO-IR-111) Kyrillisch (KOI8-R) Kyrillisch (Windows-1251) Kyrillisch/Russisch (CP-866) Kyrillisch/Ukrainisch (KOI8-U) D.L. Sharp: Unterstützung von m4b Dateien (AAC Dateien mit Bookmark-Funktion)
+ Artwork Neue Wiedergabeliste erstellen Wiedergabelistendatei erstellen _Wiedergabelistendatei erstellen iPod-Verzeichnisstruktur erstellen Neue Wiedergabeliste erstellen Datei mit Wiedergabeliste für ausgewählten Eintrag aus welchem Sort Tab erstellen? Wiedergabeliste '%s' mit einem Stück erstellt. Wiedergabeliste '%s' mit %d Stücken erstellt. Wiedergabeliste mit einem Stück erstellt. Wiedergabeliste mit %d Stücken erstellt. Erstelle eine Liste der vorhandenen Dateien Danksagung Keine iPod Datenbank ausgewählt Gegenwärtig wird nur 'Bewertung' unterstützt. Kyrillisch (IBM-855) Kyrillisch (ISO-8859-5) Kyrillisch (ISO-IR-111) Kyrillisch (KOI8-R) Kyrillisch (Windows-1251) Kyrillisch/Russisch (CP-866) Kyrillisch/Ukrainisch (KOI8-U) D.L. Sharp: Unterstützung von m4b Dateien (AAC Dateien mit Bookmark-Funktion)
  Verlorene Stücke Verlorene Stücke mit zugehöriger Datei auf dem Computer wurden korrigiert. Verlorene Stücke ohne entsprechende Datei auf dem Computer wurden entfernt. Daniel Kercher: Synchronisationsskripte für 'abook' und 'webcalendar'
  Änderungen wurden noch nicht gespeichert.
-Wollen Sie gtkpod trotzdem verlassen? Datenbank im Speicher beschädigt (Zeiger auf Wiedergabeliste == NULL). Der Export wird abgebrochen. Datenbank im Speicher beschädigt (Zeiger auf Stück == NULL). Der Export wird abgebrochen. Hinzugefügt Zeitpunkt zu dem das Stück hinzugefügt wurde Zeitpunkt der letzten Modifikation des Stücks Zeitpunkt des letzten Abspielens des Stücks Datums Formatvorgabefehler: unbekanntes Zeichen: '%s'
- Modifiziert Zuletzt Gespielt Löschen aber Stücke behalten Sicherheitsabfrage beim Löschen  Aus der Datenbank entfernen Von der Festplatte löschen Von der Wiedergabeliste entfernen Vom iPod entfernen  Löschen inklusive der Stücke Löschen inklusive der Stücke (Datenbank) Löschen inklusive der Stücke (Festplatte) Soll das Stück vollständig vom iPod entfernt werden? Sollen die Stücke vollständig vom iPod entfernt werden? Stück von der Festplatte löschen? Stücke von der Festplatte löschen? Stücke, die entfernt wurden, löschen %d Stück wurde von der Wiedergabeliste '%s' entfernt. %d Stücke wurden von der Wiedergabeliste '%s' entfernt. Ein Stück wurde komplett vom iPod entfernt. %d Stücke wurden komplett vom iPod entfernt. Ein Stück wurde von Ihrer Festplatte gelöscht. %d Stücke wurden von Ihrer Festplatte gelöscht. Wiedergabeliste '%s' gelöscht. Wiedergabeliste '%s' einschließlich eines Stückes gelöscht Wiedergabeliste '%s' einschließlich %d Stücken entfernt Wiedergabeliste '%s' wurde einschließlich eines Stückes auf der Festplatte gelöscht Wiedergabeliste '%s' wurde einschließlich %d Stücken auf der Festplatte gelöscht Stück wurde aus der der lokalen Datenbank entfernt %d Stücke wurden aus der lokalen Datenbank entfernt Gelöschte Stücke Absteigend Bestimmt, wie der Text des Info-Feldes erstellt werden soll, z.B. '%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, das Zeichen '%': %%. 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, die aktuelle Wiedergabelist: %p, das Zeichen '%': %%. Es wurde nicht wie erwarted ein 'SLst'-Hunk gefunden. Es wird trotzdem versucht, weiterzumachen.
- Verzeichnisse CD-Nummer Anzeige Nach dem Aktualisieren eine Liste derer Stücke anzeigen, die tatsächlich aktualisiert wurden. Nach dem Aktualisieren eine Liste derer Stücke anzeigen, bei denen die Aktualisierung nicht vorgenommen werden konnte. Information über erkannte Duplikate anzeigen Informationen über nicht aktualisierte Stücke anzeigen Informationen über aktualisierte Stücke anzeigen Nachrichten und Warnungen beim Start des Programms anzeigen Eine Liste der Duplikate anzeigen, die während des Hinzufügens von Stücken erkannt wurden. Toolbar anzeigen... Tooltips im Hauptfenster anzeigen Tooltips im Einstellungs-Fenster anzeigen Stücke anzeigen, welche die oben genannten Kriterien erfüllen. Angezeigte
-Stücke Angezeigte Informationen  Mehrfaches Einlesen von Stücken verhindern Ein Drag vom iPod ist im Offline-Modus nicht möglich. Die Duplikatenerkennung basiert auf einem md5-Hash über die mp3-Stücke. Duplikaterkennung FEHLER beim Öffnen der Datei: '%s' (%s).
+Wollen Sie gtkpod trotzdem verlassen? Hinzugefügt Zeitpunkt zu dem das Stück hinzugefügt wurde Zeitpunkt der letzten Modifikation des Stücks Zeitpunkt des letzten Abspielens des Stücks Datums Formatvorgabefehler: unbekanntes Zeichen: '%s'
+ Modifiziert Zuletzt Gespielt Veröffentlichungsdatum Löschen Löschen aber Stücke behalten Aus der Datenbank entfernen Von der Festplatte löschen Von der Wiedergabeliste entfernen Vom iPod entfernen  Löschen inklusive der Stücke Löschen inklusive der Stücke (Datenbank) Löschen inklusive der Stücke (Festplatte) Soll das Stück vollständig vom iPod entfernt werden? Sollen die Stücke vollständig vom iPod entfernt werden? Stück von der Festplatte löschen? Stücke von der Festplatte löschen? Vom iPod entfernen wenn  Stücke, die entfernt wurden, löschen %d Stück wurde von der Wiedergabeliste '%s' entfernt. %d Stücke wurden von der Wiedergabeliste '%s' entfernt. Ein Stück wurde komplett vom iPod entfernt. %d Stücke wurden komplett vom iPod entfernt. Ein Stück wurde von Ihrer Festplatte gelöscht. %d Stücke wurden von Ihrer Festplatte gelöscht. Wiedergabeliste '%s' gelöscht. Wiedergabeliste '%s' einschließlich eines Stückes gelöscht Wiedergabeliste '%s' einschließlich %d Stücken entfernt Wiedergabeliste '%s' wurde einschließlich eines Stückes auf der Festplatte gelöscht Wiedergabeliste '%s' wurde einschließlich %d Stücken auf der Festplatte gelöscht Stück wurde aus der der lokalen Datenbank entfernt %d Stücke wurden aus der lokalen Datenbank entfernt Gelöschte Stücke Absteigend Beschreibung Details Bestimmt, wie der Text des Info-Feldes erstellt werden soll, z.B. '%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, das Zeichen '%': %%. 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, die aktuelle Wiedergabelist: %p, das Zeichen '%': %%. 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 '%': %%. Verzeichnisse CD-Nummer Nach dem Aktualisieren eine Liste derer Stücke anzeigen, die tatsächlich aktualisiert wurden. Nach dem Aktualisieren eine Liste derer Stücke anzeigen, bei denen die Aktualisierung nicht vorgenommen werden konnte. Information über erkannte Duplikate anzeigen Informationen über nicht aktualisierte Stücke anzeigen Informationen über aktualisierte Stücke anzeigen Nachrichten und Warnungen beim Start des Programms anzeigen Eine Liste der Duplikate anzeigen, die während des Hinzufügens von Stücken erkannt wurden. Toolbar anzeigen... Tooltips im Hauptfenster anzeigen Tooltips im Einstellungs-Fenster anzeigen Stücke anzeigen, welche die oben genannten Kriterien erfüllen. Angezeigte
+Stücke Mehrfaches Einlesen von Stücken verhindern Ein Drag vom iPod ist im Offline-Modus nicht möglich. Die Duplikatenerkennung basiert auf einem (modifizierten) md5-Hash über die Dateien. Duplikaterkennung FEHLER beim Öffnen der Datei: '%s' (%s).
  FEHLER beim Schreiben eines Tags: '%s' (%s).
- Bearbeiten Intelligente Wiedergabeliste editieren Edward Matteucci: Debugging, diverse Wiedergabelistengenerierung, Hauptteil des Codes für Lautstärkenormalisierung
- Effektiv freier Platz Leere Wiedergabeliste Unbekannter MHOD-Typ (%d) während des Parsens der iTunesDB gefunden. Es wird versucht fortzufahren.
-
- Englisch (US-ASCII) Zum Abspielen Vormerken Stücke aus welchem Sort Tab zum abspielen vormerken? Ero Carrera: Dateinamenverifizierung und Schnellabgleich beim Kopieren von Tracks vom iPod
+ Bearbeiten Details editieren Intelligente Wiedergabeliste editieren Markierten Eintrag aus welchem Filter-Tab editieren? Edward Matteucci: Debugging, diverse Wiedergabelistengenerierung, Hauptteil des Codes für Lautstärkenormalisierung
+ Effektiv freier Platz Leere Wiedergabeliste Englisch (US-ASCII) Zum Abspielen Vormerken Stücke aus welchem Sort Tab zum abspielen vormerken? Ero Carrera: Dateinamenverifizierung und Schnellabgleich beim Kopieren von Tracks vom iPod
  Fehler beim Kopieren von '%s' nach '%s' (%s)
  Fehler beim Kopieren von '%s' nach '%s': Zugriffsfehler (%s)
  Fehler beim Erstellen von '%s': %s
- Fehler beim Öffnen von '%s' zum Lesen (%s). Fehler beim Öffnen von '%s' zum Schreiben (%s). Fehler beim Entfernen von '%s' (%s). Fehler beim Umbenennen von '%s' nach '%s' (%s). Fehler beim Setzen des ID3 Feldes: '%s'
- Fehler beim Schließen der Datei '%s' (%s). Fehler beim Lesen der erweiterten Informationen: '%s'
- Fehler beim Lesen aus '%s' (%s). Fehler beim Lesen der Vor-Einstellungen: %s
- Fehler beim Schreiben in die Datei '%s' (%s). Fehler beim Schreiben in die Datei '%s'.
- Fehler: Ein Drag vom iPod ist im Offline-Modus nicht möglich. Genauer Pfad des mp3gain-Programms: Der Aufruf von mp3gain ('%s') schlug fehl. Stücke Exportieren Ein Export vom iPod ist im Offline-Modus nicht möglich. Markierten Eintrag aus welchem Sort Tab aktualisieren? Erweiterte Informationen werden nicht verwendet.
+ Fehler beim Setzen des ID3 Feldes: '%s'
+ Fehler beim Lesen der erweiterten Informationen: '%s'
+ Fehler beim Lesen der Vor-Einstellungen: %s
+ Fehler beim Schreiben in die Datei '%s'.
+ Fehler: Ein Drag vom iPod ist im Offline-Modus nicht möglich. Der Aufruf von mp3gain ('%s') schlug fehl. Stücke Exportieren Ein Export vom iPod ist im Offline-Modus nicht möglich. Markierten Eintrag aus welchem Sort Tab aktualisieren? Erweiterte Informationen werden nicht verwendet.
  Die erweiterten Informationen werden nicht verwendet. Nicht auf den iPod übertragene Stücke gehen verloren.
- Die Datei mit den erweiterten Informationen wurde nicht gefunden: '%s' Aktualisierung fehlgeschlagen Konnte '%s-%s' nicht schreiben
+ Die Datei mit den erweiterten Informationen wurde nicht gefunden: '%s' Aktualisierung fehlgeschlagen Konnte Artwork nicht setzen: '%s' Konnte '%s-%s' nicht schreiben
  Die Datei '%s' hat Null-Spielzeit und wird ignoriert.
- Dateigröße Datei nicht gefunden: '%s'. Dateigröße Dateigröße (gelöscht) Dateigröße (nicht übertragen) Format für Dateinamen:  Dateien 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 Flavio Stanchina: Bugfixes
+ Dateigröße Dateigröße Dateigröße (gelöscht) Dateigröße (nicht übertragen) Dateityp Format für Dateinamen:  Dateien 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 Versuche zuerst <i>folder.jpg</i>, dann <i>&lt;Künstler&gt;.jpg</i> Flavio Stanchina: Bugfixes
  'xmms %s', z.B., löscht die aktuelle Wiedergabeliste von xmms, fügt die ausgewählten Stücke hinzu und beginnt mit der Wiedergabe. 'xmms -e %s', z.B., fügt die ausgewählten Stücke zur aktuellen Playlist von xmms hinzu. '%d' verwaiste und '%d' verlorene Dateien gefunden. Fertig. '%d' verwaiste und '%d' verlorene Dateien gefunden. Bearbeite... Französisch: David Le Brun (david at dyn-ns dot net)
- GB Ge: Allgemein Genre Deutsch:     Jörg Schuler (jcsjcs at users dot sourceforge dot net)
+ GB Ge: Genre Deutsch:     Jörg Schuler (jcsjcs at users dot sourceforge dot net)
  Graeme Wilford: Lesen und Schreiben der 'Komponisten' ID3-Tags, Fortschrittsbalken während iTunesDB-Abgleich.
- Griechisch (ISO-8859-7) Griechisch (Windows-1253) Gruppierung Mount/Unmount des iPod-Verzeichnisses Das Bearbeiten von verlorenen Stücken, deren zugehörige Datei auf dem Computer vorhanden ist, wurde abgebrochen. %d von insgesamt %d Stück indiziert. %d von insgesamt %d Stücken indiziert. Das Files, für das eine Prüfsumme berechnet werden soll, ist leer.
- 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. Hebräisch (IBM-862) Hebräisch (Windows-1255) Hebräisch: Assaf Gillat (gillata at gmail dot com)
+ Griechisch (ISO-8859-7) Griechisch (Windows-1253) Künstler auf Sampler-CDs gruppieren Gruppierung Mount/Unmount des iPod-Verzeichnisses Das Bearbeiten von verlorenen Stücken, deren zugehörige Datei auf dem Computer vorhanden ist, wurde abgebrochen. %d von insgesamt %d Stück indiziert. %d von insgesamt %d Stücken indiziert. Das Files, für das eine Prüfsumme berechnet werden soll, ist leer.
+ Hebräisch (IBM-862) Hebräisch (Windows-1255) Hebräisch: Assaf Gillat (gillata at gmail dot com)
  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). Hiroshi Kawashima: Automatische Erkennung japanischer Zeichensätze
- Hz ID Icons der Druckknöpfe wurden von Nicolas Chariot erstellt.
-
-
- Wenn verfügbar, die lokale Kopie des Tracks wird in die Wiedergabeliste eingetragen. Andernfalls die Datei auf dem iPod wird verwendet. Wenn diese Option aktiviert ist, wird beim Sortieren die Groß-/Kleinschreibung beachtet. Mit den meisten Zeichensätzen funktioniert diese Funktion jedoch nicht wie gewünscht. 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. Wenn Sie diese Option wählen, werden Stücke, die aus den abzugleichenden Verzeichnissen entfernt wurden, auch auf dem iPod gelöscht. Wenn Sie diese Option wählen werden Verzeichnisse rekursiv eingelesen. 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ß. 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. Ignoriere folgende Wörter, wenn Sie am Anfang von Feldern stehen: Illegaler seek bei Offset %ld (Länge %ld) in Datei '%s'. Importieren Einlesen des Stücks '%s' fehlgeschlagen: m4a/m4p/m4b-Dateien werden ohne die mp4v2 Bibliothek nicht unterstützt. Sie müssen gtkpod zusammen mit der mp4v2 Bibliothek übersetzen.
+ Hz ID Iain Benson: Unterstützung für Sampler-Tags in mp3 Dateien und Darstellung von Sampler in den Filter-Tabs.
+ Wenn verfügbar, die lokale Kopie des Tracks wird in die Wiedergabeliste eingetragen. Andernfalls die Datei auf dem iPod wird verwendet. Wenn diese Option aktiviert ist, wird beim Sortieren die Groß-/Kleinschreibung beachtet. Mit den meisten Zeichensätzen funktioniert diese Funktion jedoch nicht wie gewünscht. 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. Wenn Sie diese Option wählen, werden Stücke, die aus den abzugleichenden Verzeichnissen entfernt wurden, auch auf dem iPod gelöscht. Wenn Sie diese Option wählen werden Verzeichnisse rekursiv eingelesen. 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. 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ß. 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. Ignoriere folgende Wörter, wenn Sie am Anfang von Feldern stehen: Einlesen des Stücks '%s' fehlgeschlagen: m4a/m4p/m4b-Dateien werden ohne die mp4v2 Bibliothek nicht unterstützt. Sie müssen gtkpod zusammen mit der mp4v2 Bibliothek übersetzen.
  Um die angezeigte Reihenfolge der Stücke zu speichern, benutzen Sie 'Dargestellte Reihenfolge speichern' im 'Bearbeiten'-Menü oder wählen die Option "Auto-Speichern" unten aus. Playcount für '%s' wurde erhöht Information Es ist deutlich schneller, die Sortierung vorzunehmen nachdem alle Tracks hinzugefügt wurde. Wen dieses Verhalten irritiert, sollte diese Option jedoch nicht wählen. Italienisch: Edward Matteucci (edward_matteucc at users dot sourceforge dot net
- Itdb_Track ID '%d' nicht gefunden.
  James Ligget: Ersetzen der alten GTK Dateidialoge durch die neuen GTK Filechooser-Dialoge.
  Japanisch (EUC-JP) Japanisch (ISO-2022-JP) Japanisch (Shift_JIS) Japanisch (automatische Detektion) Japanisch:   Ayako Sano
  Japanisch:   Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
@@ -510,14 +496,17 @@
  Jens Taprogge: Unterstützung für LAMEs Replay-Gain-Tag zur Lautstärkenormalisierung.
  Jim Hall: Ausführliche INSTALL Anleitung
  Jürgen Helmers, Markus Gaugusch: Skripte zum Export des Terminkalenders und der Kontakte auf den iPod
- Art Koreanisch (EUC-KR) Zuletzt Modifiziert Zuletzt Gespielt Zuletzt Zuletzt Gespielt Die Länge einer Regel (%d) einer intelligenten Wiedergabeliste weicht von der erwarteten Länge ab. Es wird versucht fortzufahren.
- _Live-Update Lokal Lokale Datenbank Das Einlesen der lokalen Datenbank schlug fehl:
+ Alle Sampler-CDs im Künstler-Filtertab als 'Sampler' gruppieren. Art Koreanisch (EUC-KR) Zuletzt Modifiziert Zuletzt Gespielt Zuletzt Zuletzt Gespielt _Live-Update Lokal Lokale Datenbank Das Einlesen der lokalen Datenbank schlug fehl:
 
  Das Einlesen der lokalen Datenbank schlug fehl: '%s'
 
  Lokale Datenbank wurde erfolgreich eingelesen Lokaler Dateiname ist nicht gültig (%s) Untere Grenze MB Ungültige Zeile in '%s': %s
- Manuelle Lautstärkeanpassung Haupt-PL _Alle der folgenden Regeln Mindestens _eine der folgenden Regeln _Nur ausgewählte Stücke einbeziehen Verschiedenes Modifiziert Häufig (%d) Zuletzt gespielte Stücke Ein Stück verschoben %d Stücke verschoben Stammverzeichnis für Musik: Stammverzeichnis für Musik:  Dateiname auf dem PC, falls verfügbar Name der Datei auf dem iPod Nie gehört Beim Abgleich nie Dateien löschen Diesen Dialog nie wieder zeigen Neue PL Neue Wiedergabeliste Es stehen keine MD5 Prüfsummen für die einzelnen Stücke zur Verfügung.
+ Manuelle Lautstärkeanpassung _Alle der folgenden Regeln Mindestens _eine der folgenden Regeln _Nur ausgewählte Stücke einbeziehen Suche passende MD5 Prüfsumme für Datei %d/%d Modifiziert Häufig (%d) Zuletzt gespielte Stücke Ein Stück verschoben %d Stücke verschoben Stammverzeichnis für Musik: Dateiname auf dem PC, falls verfügbar Name der Datei auf dem iPod Name:  Nie gehört Beim Abgleich nie Dateien löschen Diesen Dialog nie wieder zeigen Neue PL Neue Wiedergabeliste Nick Piper: Synchronisationsskript für Palm, 'type-ahead' Suche
+ Nicolas Chariot: Icons für Knöpfe
 
+
+ Es stehen keine MD5 Prüfsummen für die einzelnen Stücke zur Verfügung.
+
 Um dieses Problem in Zukunft zu vermeiden, schalten Sie bitte die Duplikaterkennung ein (dies erzeugt MD5 Prüfsummen), oder vermeiden Sie, den iPod außer mit gtkpod noch mit anderen Programmen zu verwenden.
 
  Keine Befehlszeile spezifiziert für '%s' Es wurden keine Verzeichnisnamen gespeichert. Stellen Sie sicher, daß die Option 'Erweiterte Informationen Schreiben' in der Export-Sektion der Einstellungen zum Zeitpunkt des Dateiimports aktiviert ist.
@@ -526,36 +515,38 @@
  Kein Eintrag im Sort Tab %d ausgewählt Kein Tab-Eintrag ausgewählt. Keine Informationen für den Benutzer '%s' gefunden in '%s' Keine untere Grenze Für das folgende Stück konnten keine mserv-Informationen gefunden werden Für die folgenden %d Stücke konnten keine mserv-Informationen gefunden werden Keine Wiedergabeliste ausgewählt Keine Wiedergabeliste ausgewählt. Keine passenden Stücke vorhanden -- Wiedergabeliste wurde nicht erstellt. Keine Stücke ausgewählt Keine Stücke ausgewählt Keine Stücke ausgewählt. Keine obere Grenze Es wurden keine gültigen Verzeichnisse gefunden. Abgleich wurde abgebrochen.
  Kein gültiger Dateiname für %s
 
- Nicht übertragene Stücke Keine Nordisch (ISO-8859-10) Normalisierung fehlgeschlagen: Datei ist nicht verfügbar.
- Normalisierung fehlgeschlagen: Filetyp nicht unterstützt.
- Lautstärkenormalisierung Stücke aus welchem Sort Tab normalisieren? %d von insgesamt %d Stück normalisiert. %d von insgesamt %d Stücken normalisiert. Lautstärke wird normalisiert... Normalerweise wird der Zeichensatz, der beim ersten Einlesen spezifiziert wurde, auch für den Dateinamen verwendet. Wenn Sie diese Option aktivieren, können Sie einen anderen Zeichensatz auswählen (Einstellungen/'Hinzufügen/Aktualisieren/Abgleichen'). Bitte beachten Sie: die Information über den verwendeten Zeichensatz wird mit den erweiterten Informationen gespeichert (siehe Einstellungen/'Schreiben der iTunesDB'). Stücke, die vor Version 0.51 eingelesen wurden, haben keine Informationen über den Zeichensatz gespeichert und der oben spezifizierte Zeichensatz wird verwendet. 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. 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. Nicht eingetragen Keine OTG (On-The-Go) Wiedergabelistendatei: '%s' (mhpo-Header fehlt). Keine Play Counts Datei: '%s' (mhdp-Header fehlt). Keine iTunesDB Datei: '%s' (kein mhdb-Header). Befehl zum Abgleich der Notizen: Nichts zum Aktualisieren 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. Schreibe iTunesDB. Bitte warten... Anzahl der Wiedergabelisten Wie oft dieses Stück bereits gespielt wurde Anzahl der Stücke Anzahl der Stücke in generierten Wiedergabelisten: 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. Sollen die folgenden Verzeichnisse erstellt werden? Sollen die folgenden Verzeichnisse abgeglichen werden? OTG-Wiedergabeliste OTG-Wiedergabeliste %d OTG (On-The-Go) Wiedergabelistendateii '%s' bezieht sich auf ein nicht existierendes Stück (%d). OTG (On-The-Go) Wiedergabelistendatei ('%s'): Headerlänger kleiner als erwartet (%d<20). OTG (On-The-Go) Wiedergabelistendatei ('%s'): Länge der Einträge kleiner als erwartet (%d<4). Das Einlesen der Offline-iPod-Datenbank schlug fehl:
+ Nicht übertragene Stücke Keine Nordisch (ISO-8859-10) Normalisierung fehlgeschlagen: Datei ist nicht verfügbar (%s).
+ Normalisierung fehlgeschlagen: Dateityp nicht unterstützt (%s).
+ Lautstärkenormalisierung Stücke aus welchem Sort Tab normalisieren? %d von insgesamt %d Stück normalisiert. %d von insgesamt %d Stücken normalisiert. Lautstärke wird normalisiert... Normalerweise wird der Zeichensatz, der beim ersten Einlesen spezifiziert wurde, auch für den Dateinamen verwendet. Wenn Sie diese Option aktivieren, können Sie einen anderen Zeichensatz auswählen (Einstellungen/'Hinzufügen/Aktualisieren/Abgleichen'). Bitte beachten Sie: die Information über den verwendeten Zeichensatz wird mit den erweiterten Informationen gespeichert (siehe Einstellungen/'Schreiben der iTunesDB'). Stücke, die vor Version 0.51 eingelesen wurden, haben keine Informationen über den Zeichensatz gespeichert und der oben spezifizierte Zeichensatz wird verwendet. 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. 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. Nicht eingetragen Befehl zum Abgleich der Notizen: Nichts zum Aktualisieren Schreibe iTunesDB. Bitte warten... Anzahl der Wiedergabelisten Wie oft dieses Stück bereits gespielt wurde Anzahl der Stücke Anzahl der Stücke in generierten Wiedergabelisten: 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. Sollen die folgenden Verzeichnisse erstellt werden? Sollen die folgenden Verzeichnisse abgeglichen werden? Das Einlesen der Offline-iPod-Datenbank schlug fehl:
 
  Das Einlesen der Offline-iPod-Datenbank schlug fehl: '%s'
 
- Die Offline-iPod-Datenbank wurde erfolgreich eingelesen OK 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'. Eine für jedes Album Eine für jeden Künstler Eine für jeden Komponisten Eine für jedes Genre Eine für jede Bewertung Eine für jedes Jahr Öffnen der Datei '%s' zum Schreiben ist fehlgeschlagen. Verwaist Tags, die bereits gesetzt sind, überschreiben. Tags, die bereits gesetzt sind, überschreiben. Überschreibe die vorhandene Datei: '%s'
+ Die Offline-iPod-Datenbank wurde erfolgreich eingelesen OK 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'. Eine für jedes Album Eine für jeden Künstler Eine für jeden Komponisten Eine für jedes Genre Eine für jede Bewertung Eine für jedes Jahr Verwaist Tags, die bereits gesetzt sind, überschreiben. Überschreibe die vorhandene Datei: '%s'
  PC Datei Patches were supplied by the following people (list may be incomplete -- please contact me)
 
- Pfad nicht gefunden: '%s'. Play Counts Datei ('%s'): Länge der Einträge kleiner als erwartet (%d<12). Play Counts Datei ('%s'): Headerlänge kleiner als erwarted (%d<96). Jetzt Spielen Spielzeit Spielzeit Stücke aus welchem Sort Tab abspielen? Playcount Gespielt Wiedergabeliste Name der Wiedergabeliste: Art der Wiedergabeliste: Wiedergabelisten Bitte geben Sie einen Namen für die neue Wiedergabeliste ein Bitte beachten Sie den Hinweis weiter unten. Programm für 'Zum Abspielen Vormerken': Programm für 'Jetzt abspielen' Skript zum Exportieren des Terminkalenders Skript zum Exportieren der Kontakte Genauer Pfad des mp3gain-Programms Intervall angeben Bitte geben Sie das aufzurufene Programm im Einstellungsdialog unter 'Werkzeuge' an.
- Plycnt Einstellungen Die Einstellungen wurden übernommen Die Einstellungen wurden nicht übernommen Zum Abbrechen bitte anklicken. Zum Abbrechen bitte anklicken.
+ Jetzt Spielen Spielzeit Spielzeit Stücke aus welchem Sort Tab abspielen? Playcount Gespielt Wiedergabeliste Name der Wiedergabeliste: Art der Wiedergabeliste: Wiedergabelisten Bitte geben Sie einen Namen für die neue Wiedergabeliste ein Bitte beachten Sie den Hinweis weiter unten. Programm für 'Zum Abspielen Vormerken': Programm für 'Jetzt abspielen' Skript zum Exportieren des Terminkalenders Skript zum Exportieren der Kontakte Genauer Pfad des mp3gain-Programms Intervall angeben Bitte geben Sie das aufzurufene Programm im Einstellungsdialog unter 'Werkzeuge' an.
+ Plycnt Podcast RSS Podcast-URL Podcast ist bereits vorhanden: '%s'
+ Podcasts Podcasts Einstellungen Einstellungen Die Einstellungen wurden übernommen Die Einstellungen wurden nicht übernommen Zum Abbrechen bitte anklicken. Zum Abbrechen bitte anklicken.
 Der Export kann zu einem späteren Zeitpunkt fortgesetzt werden. Es trat ein Problem beim Erzeugen des iPod-Verzeichnisses auf: '%s'. Bearbeite '%s' Bearbeite '%s'... Ramesh Dharan: 'Multi-Edit' (Tags mehrerer Stücke auf einmal ändern)
- Zufällig (%d) Zufällig aus den angezeigten Tracks Aktuelle Wiedergabeliste zufällig sortieren Bewertet (%d) Bwrtng Einlesen iTunes Datenbank von der Festplatte / dem iPod einlesen Tags aus der Datei lesen (z.B. ID3 Tags bei MP3 Dateien) Einlesen Zuletzt (%d) Einstellung der relativen Lautstärke zwischen -100 und +100 Das Entfernen von verlorenen Stücken ohne entsprechende Datei auf dem Computer wurde abgebrochen. Alle Stücke aus der Datenbank entfernen Alle Stücke vom iPod entfernen Stück von der Wiedergabeliste entfernen? Stücke von der Wiedergabeliste entfernen? Sollen Offline-Playcounts gelöscht werden? Alle %d Stücke wurden aus der Datenbank entfernt Alle %d Stücke wurden vom iPod entfernt Hole mserv Daten %s Stammverzeichnis für die mserv Datenbank (trackinfo root). Regeln Sam Clegg: benutzerdefinierte Dateinamen beim Kopieren von Stücken vom iPod
- Samplerate '-1' wählen für 'keine obere Schranke'. '0' wählen für 'keine untere Schranke'. Wählen Sie das Zielverzeichnis für den Export aus Wählen Sie Verzeichnisse zum Hinzufügen Wählen Sie das mserv Stammverzeichnis für Musik Wählen Sie das mserv Stammverzeichnis (trackinfo) Ausgewählte
+ Zufällig (%d) Zufällig aus den angezeigten Tracks Aktuelle Wiedergabeliste zufällig sortieren Bewertet (%d) Bewertung Einlesen iTunes Datenbank von der Festplatte / dem iPod einlesen Tags aus der Datei lesen (z.B. ID3 Tags bei MP3 Dateien) Zuletzt (%d) Veröffentlichungsdatum (wird bei Podcasts auf dem iPod neben dem Titel angezeigt) Veröffentlicht Das Entfernen von verlorenen Stücken ohne entsprechende Datei auf dem Computer wurde abgebrochen. Alle Podcasts vom iPod entfernen Alle Stücke aus der Datenbank entfernen Alle Stücke vom iPod entfernen Artwork entfernen Stück von der Wiedergabeliste entfernen? Stücke von der Wiedergabeliste entfernen? Markierten Eintrag aus welchem Filter-Tab entfernen? Sollen Offline-Playcounts gelöscht werden? Stücke im ausgewählten Eintrag aus welchem Filter-Tab von der Wiedergabeliste löschen? Stücke im ausgewählten Eintrag aus welchem Filter-Tab von der Festplatte löschen? Stücke im ausgewählten Eintrag aus welchem Filter-Tab vom iPod löschen? Alle %d Stücke wurden aus der Datenbank entfernt Alle %d Stücke wurden vom iPod entfernt Alle Podcasts wurden vom iPod entfernt Hole mserv Daten %s Stammverzeichnis für die mserv Datenbank (trackinfo root). Bwrtng Regeln Sam Clegg: benutzerdefinierte Dateinamen beim Kopieren von Stücken vom iPod
+ Samplerate Sebastian Scherer: Synchronisationsskripte für 'kNotes'
+ Sebastien Beridot: Snychronisationsskripte für das ldif Adressbuchformat
+ '-1' wählen für 'keine obere Schranke'. '0' wählen für 'keine untere Schranke'. Wählen Sie das Zielverzeichnis für den Export aus Wählen Sie Verzeichnisse zum Hinzufügen Wählen Sie das mserv Stammverzeichnis für Musik Wählen Sie das mserv Stammverzeichnis (trackinfo) Ausgewählte
 Wiedergabeliste Ausgewählte
-Stücke Ausgewählten _Tab Eintrag Ausgewählte _Wiedergabeliste Ausgewählte _Stücke Einstellungen nicht gespeichert.
- Informationen über Probleme während des Zugriffs auf die
+Stücke Ausgewählten _Tab Eintrag Ausgewählte _Wiedergabeliste Ausgewählte _Stücke Ausgewählten Filter-Tab aus der lokalen Datenbank Ausgwählten Filter-Tab von der Festplatte Ausgewählten Filter-Tab vom iPod Ausgewählten Filter-Tab von der Wiedergabeliste Ausgewählte _Wiedergabeliste Ausgewählte Wiedergabeliste einschließlich der Stücke von der Datenbank Ausgewählte Wiedergabeliste einschließlich der Stücke von der Festplatte Ausgewählte Wiedergabeliste einschließlich der Stücke vom iPod Ausgewählte Stücke von der Datenbank Ausgewählte Stücke von der Festplatte Ausgewählte Stücke vom iPod Ausgewählte Stücke von der Wiedergabeliste Cover auswählen Artwork setzen Informationen über Probleme während des Zugriffs auf die
 mserv-Datenbank anzeigen. Dateigröße Überspringe '%s' da es sich um ein Verzeichnis handelt.
  Ãœberspringe '%s' um eine Endloseschleife zu vermeiden (Playliste kann sich nicht selbst indizieren).
  Überspringe existierende Datei mit gleicher Dateilänge: '%s'
  Intelligente Wiedergabeliste Sndchk. Einige Dateien wurden nicht erfolgreich eingelesen Einige Dateien konnten nicht vom iPod gelöscht werden. Export abgebrochen! Einige offline gespielte Stücke konnten nicht in der iTunesDB gefunden werden. Wählen Sie 'OK', um diese aus der Playcount-Datei zu entfernen, 'Abbrechen' um sie beizubehalten. Einige Stücke wurden nicht auf Ihre Festplatte kopiert. Nur die kopierten Stücke werden in der momentanen Drag-And-Drop-Aktion beachtet werden.
 
- Einige Stücke wurden nicht kopiert. Einige Stücke wurden nicht auf den iPod übertragen. Export abgebrochen! Sort Tabs Sortiere Stücke nach:  Sortierung Sortieroptionen Beim Sortieren Groß-/Kleinschreibung beachten Sort Tab:  Sort Tabs Soundcheck Quelle: Südeuropäisch (ISO-8859-3) Spezial Geben sie den genauen Pfad einschließlich Kommandozeilenoptionen an. '%i' wird mit dem Mountpoint des iPods ersetzt. Intervall angeben Beurteilung von 0 bis 5 Sterne Anzeige automatisch starten Steve Jay: Verwendung von statvfs() anstelle von df (bessere Portierung, schneller)
- Stopp Aktualisierung der Anzeige abbrechen Aktualisierung erfolgreich Dateien wurden erfolgreich hinzugefügt Die iPod-Verzeichnisstruktur wurde erfolgreich in '%s' angelegt. Anscheinend ein Feld, das den iPod anweist, die Wiedergabe zu beschleunigen oder zu verlangsamen Schwedisch: Stefan Asserhall (stefan asserhall at comhem dot se)
- Abgleichen Sync (Schreiben der iTunesDB) Verzeichnisse abgleichen Verzeichnisse aus welchem Sort Tab abgleichen? Kontakte, Kalender und Notizen abgleichen Alle abgleichen Kalender abgleichen Kontakte abgleichen Notizen abgleichen _iTunesDB abgleichen Verzeichnisse abgleichen Abgleich abgebrochen. Abgleich beendet. Abgleich beendet. Keine Dateien gelöscht. Gleiche Kontakte, Kalender und Notizen ab... Verzeichnis '%s' wird abgeglichen System-Zeichensatz TB Lesen von Tags Schablone ('%s') paßt nicht auf den Dateinamen '%s'
+ Einige Stücke wurden nicht kopiert. Einige Stücke wurden nicht auf den iPod übertragen. Export abgebrochen! Sortiere Stücke nach:  Sortieroptionen Beim Sortieren Groß-/Kleinschreibung beachten Sort Tab:  Sort Tabs Soundcheck Quelle: Südeuropäisch (ISO-8859-3) Spezial Geben sie den genauen Pfad einschließlich Kommandozeilenoptionen an. '%i' wird mit dem Mountpoint des iPods ersetzt. Intervall angeben Beurteilung von 0 bis 5 Sterne Anzeige automatisch starten Steve Jay: Verwendung von statvfs() anstelle von df (bessere Portierung, schneller)
+ Stopp Aktualisierung der Anzeige abbrechen Untertitel Aktualisierung erfolgreich Dateien wurden erfolgreich hinzugefügt Die iPod-Verzeichnisstruktur wurde erfolgreich in '%s' angelegt. Anscheinend ein Feld, das den iPod anweist, die Wiedergabe zu beschleunigen oder zu verlangsamen Schwedisch: Stefan Asserhall (stefan asserhall at comhem dot se)
+ Abgleichen Verzeichnisse abgleichen Verzeichnisse aus welchem Sort Tab abgleichen? Kontakte, Kalender und Notizen abgleichen Alle abgleichen Kalender abgleichen Kontakte abgleichen Notizen abgleichen _iTunesDB abgleichen Verzeichnisse abgleichen Abgleich abgebrochen. Abgleich beendet. Abgleich beendet. Keine Dateien gelöscht. Gleiche Kontakte, Kalender und Notizen ab... Verzeichnis '%s' wird abgeglichen System-Zeichensatz TB Schablone ('%s') paßt nicht auf den Dateinamen '%s'
  Schablone für dieses Feld:  Sortieren vorübergehend deaktivieren wenn die
 Wiedergabeliste oder Tab Entry gewechselt wird (schneller!) Thai (TIS-620) Die (ehemaligen) Inhalte folgender Verzeichnisse werden aus der Datenbank entfernt:
 
  Die graphische Benutzeroberfläche wurde mit Hilfe von glade-2 (http://glade.gnome.org/) erstellt.
- Der URI »%s« enthält ungültige Escape-Zeichen Der URI »%s« ist ungültig Der URI »%s« ist kein absoluter URI, der das Dateischema verwendet 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). Der folgende verlorene Track ist auch auf dem PC nicht mehr vorhanden.
+ Der URI »%s« enthält ungültige Escape-Zeichen Der URI »%s« ist ungültig Der URI »%s« ist kein absoluter URI, der das Dateischema verwendet Die Kategorie (z.B. 'Technologie' oder 'Musik') wo das Podcast eingeordnet war. 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). Der folgende verlorene Track ist auch auf dem PC nicht mehr vorhanden.
 Klicken Sie auf OK, um das Stück zu löschen oder auf 'Abbrechen' um nichts zu tun. Die folgenden %d Tracks sind auch auf dem PC nicht mehr vorhanden.
 Klicken Sie auf OK, um die Stücke zu löschen, oder auf 'Abbrechen' um nichts zu tun. Das folgende verlorene Stück ist noch auf dem PC vorhanden.
 Klicken Sie auf OK, um es beim nächsten Abgleich zu übertragen oder auf 'Abbrechen' um nichts zu tun. Die folgenden %d verlorenen Stücke sind noch auf dem PC vorhanden.
@@ -569,7 +560,7 @@
  Das folgende Stück konnte nicht bearbeitet werden (Dateityp unbekannt): '%s'
  Das folgende Stück konnte nicht aktualisiert werden Die folgenden %d Stücke konnten nicht aktualisiert werden Das folgende Stück wurde aktualisiert Die folgenden %d Stücke wurden aktualisiert Die folgende Stücke müssen auf Ihre Festplatte kopiert werden Der Rechnername der URI »%s« ist ungültig Die lokale Kopie des Tracks wird in der Wiedergabeliste eingetragen. Falls der Track lokal nicht verfügbar ist, wird eine Fehlermeldung ausgegeben. Der lokale URI »%s« darf kein »#« enthalten Die Tags werden in die Originalfiles auf der Festplatte und auch auf dem iPod (wenn angeschlossen) geschrieben. Die Datei auf dem iPod wird in die Wiedergabeliste eingetragen. Diese Art von Drag-and-Drop (%d) wird (noch) nicht unterstützt. Wenn Sie denken eine Unterstützung wäre sinnvoll, kontaktieren Sie bitten den Autor.
 
- Diese Option ist identisch zu der in 'Bearbeiten/Sicherheitsabfrage beim Löschen' 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. 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. Diese Option wird automatisch aktiviert, wenn ein Update von gtkpod durchgeführt wird. Dieses Programm verwendet Code der folgenden Projekte:
+ Diese Option ist identisch zu der in 'Bearbeiten/Sicherheitsabfrage beim Löschen' 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. Diese Option wird automatisch aktiviert, wenn ein Update von gtkpod durchgeführt wird. Dieses Programm verwendet Code der folgenden Projekte:
  Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
 
 Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
@@ -577,44 +568,39 @@
 Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
 
- Zeit Zeit: Titel Toolbar Tooltips Insgesamt
+ Zeit Zeit: Titel Insgesamt
 (iPod) Insgesamt
-(lokal) Stück Track (%s) ist nicht im mserv Root-Verzeichnis (%s) Bearbeiten von Stücken Stück Nr (#) Track-Nr. und Gesamtzahl der Tracks auf der CD Wiedergabe Tracknummer Stücke Am häufigsten gehörte Stücke Übertragen Übersetzer Übertragen Türkisch (IBM-857) Türkisch (ISO-8859-9) Türkisch (Windows-1254) Kann 'mkdir %s' nicht ausführen.
+(lokal) Stück Track (%s) ist nicht im mserv Root-Verzeichnis (%s) Stück Nr (#) Track-Nr. und Gesamtzahl der Tracks auf der CD Tracknummer Stücke Am häufigsten gehörte Stücke Stücke im ausgewählten _Tab Eintrag Stücke in ausgewählter _Wiedergabeliste Übertragen Übersetzer Übertragen Türkisch (IBM-857) Türkisch (ISO-8859-9) Türkisch (Windows-1254) Kann 'mkdir %s' nicht ausführen.
  Kann '%s' nicht zum Lesen öffnen.
  Kann '%s' nicht zum schreiben öffnen.
  Kann Datei '%s' mit den Einstellungen nicht lesen.
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unbekannt Unbekannte Aktion (%d) in intelligenter Wiedergabeliste wird ignoriert.
- Unbekannte Option: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unbekannt Unbekannte Option: %s
  Unbekanntes Token '%%%c' in der Schablone '%s' Unbekanntes Token '%s' in der Schablone '%s'
- Unmount von '%s' (%s) war nicht erfolgreich. Unmount von '%s' war erfolgreich. Unbewertet Aktualisieren _mserv-Daten aktualisieren Markierten Eintrag aus welchem Sort Tab aktualisieren? Die ausgewählten Stücke wurden mit Informationen aus der mserv-Datenbank aktualisiert. Die ausgewählten Stücke wurden mit Informationen aus der Datei aktualisiert. Aktualisiere '%s' Obere Grenze 'Multi-Edit' auch für das Titel-Feld verwenden 'Multi-Edit' bei markierten Stücken verwenden 'Multi-Edit' bei markierten Stücken verwenden mserv Datenbank für zusätzliche Informationen verwenden mserv Datenbank verwenden für zusätzliche Informationen Gewählten Zeichensatz (Einstellungen/'Hinzufügen/Aktualisieren/Abgleichen') für diesen Dateinamen verwenden. Ausgewählten Zeichensatz (auf der Allgemein-Seite)
-beim Schreiben von ID3-Tags verwenden Ausgewählten Zeichensatz (auf der Import-Seite)
- beim Schreiben von ID3-Tags verwenden Gewählten Zeichensatz auch verwenden wenn Stücke
- aktualisiert oder Verzeichnisse abgeglichen
- werden Gewählten Zeichensatz auch verwenden wenn Stücke
-aktualisiert oder Verzeichnisse abgeglichen werden Diese Schablone verwenden, um aus dem Dateinamen die Tags zu erhalten Diese Schablone verwenden, um aus dem Dateinamen die Tags zu bestimmen: Benutzername, der zum Nachschlagen in der mserv-Datenbank verwendet wird. Benutzername: Benutzername:  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. Vietnamesisch (VISCII) Vietnamesisch (Windows-1258) Visuelles Hebräisch (ISO-8859-8) Ltst. Vol. Lautstärkenormalisierung Lautstärkeanpassung in dB (replay gain) -- 'Soundcheck' muß auf dem iPod aktiviert sein Walter Bell: Korrekte Handhabung der kodierten DND URIs
+ Unmount von '%s' (%s) war nicht erfolgreich. Unmount von '%s' war erfolgreich. Unbewertet Aktualisieren Podcasts erneuern _mserv-Daten aktualisieren Markierten Eintrag aus welchem Sort Tab aktualisieren? Die ausgewählten Stücke wurden mit Informationen aus der mserv-Datenbank aktualisiert. Die ausgewählten Stücke wurden mit Informationen aus der Datei aktualisiert. Aktualisiere '%s' Obere Grenze 'Multi-Edit' auch für das Titel-Feld verwenden 'Multi-Edit' bei markierten Stücken verwenden Benutze <i>&lt;Album&gt;.jpg</i> im übergeordneten Verzeichnis Benutze <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>... Benutze <i>folder.jpg</i> als Cover-Art Benutze <i>folder.jpg</i>, <i>folder.png</i>... mserv Datenbank für zusätzliche Informationen verwenden Gewählten Zeichensatz (Einstellungen/'Hinzufügen/Aktualisieren/Abgleichen') für diesen Dateinamen verwenden. Ausgewählte Kodierung (auf der Allgemein-Seite)
+beim Schreiben von ID3-Tags verwenden Gewählte Kodierung auch verwenden wenn Stücke
+aktualisiert oder Verzeichnisse abgeglichen werden Diese Schablone verwenden, um aus dem Dateinamen die Tags zu bestimmen: Benutzername, der zum Nachschlagen in der mserv-Datenbank verwendet wird. Benutzername: 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. Uwe Hermann: Hilfe mit iPod Video Unterstützung
+ Vietnamesisch (VISCII) Vietnamesisch (Windows-1258) Visuelles Hebräisch (ISO-8859-8) Ltst. Vol. Lautstärkeanpassung in dB (replay gain) -- 'Soundcheck' muß auf dem iPod aktiviert sein Walter Bell: Korrekte Handhabung der kodierten DND URIs
  Warnung Westlich (IBM-850) Westlich (ISO-8859-1) Westlich (ISO-8859-15) Westlich (Windows-1252) Beim Hinzufügen von Stücken bereits eingelesene
-Stücke mit dem selben Dateinamen aktualisieren. Beim Hinzufügen von Stücken bereits eingelesene
 Stücke mit demselben Dateinamen aktualisieren. Wenn ein Stück vom iPod kopiert wird, wird normalerweise nicht überprüft, ob die Datei im Zielverzeichnis bereits vorhanden ist. Wenn Sie diese Option aktivieren, wird gtkpod anhand der Dateigröße überprüfen, ob die Datei bereits existiert. Wenn ja, wird das Kopieren übersprungen. Dies erlaubt es, einen schnellen Abgleich der Daten auf Ihrer Festplatte mit denen des iPods vorzunehmen. Beim Abgleich von Verzeichnissen Wo ist Ihr iPod gemountet? Für gewöhnlich unter '/mnt/ipod/'. Ob die Datei bereits zum iPod übertragen wurde oder nicht. Abbruch erfolgt nachdem der mp3gain-Prozeß beendet ist. Änderungen auf Festplatte / den iPod übertragen ID3 Tags bei Änderungen in gtkpod ebenfalls auf
 der Festplatte und auf dem iPod ändern Erweiterte Informationen schreiben (PC Dateinamen,
-MD5-Prüfsummen, Zeichensatz). Empfohlen. Schreiben in die Datei '%s' ist fehlgeschlagen (%s). Fehler beim Schreiben in die Datei '%s'. Ja: Yaroslav Halchenko: Bearbeitung von verwaisten und verlorenen Stücken
+MD5-Prüfsummen, Kodierung). Empfohlen. Schreiben in Videodateien wird noch nicht unterstützt (%s).
+ Ja: Yaroslav Halchenko: Bearbeitung von verwaisten und verlorenen Stücken
  Jahr Sie können auch die Spaltenköpfe anklicken, aber diese Option ermöglicht es auch nach Spalten zu sortieren, die nicht angezeigt werden. Sie haben die bereits bestehende iTunesDB ('%s') nicht eingelesen. Dies ist wahrscheinlich nicht was Sie beabsichtigen, da auf diese Weise die existierende Datenbank überschrieben wird.
 
 Klicken Sie auf 'OK', wenn Sie trotzdem fortfahren wollen, oder auf 'Abbrechen', um jetzt nicht zu speichern. Wenn Sie den Vorgang abbrechen, können Sie die existierende Datenbank einlesen und dann erneut abgleichen.
  Sie haben die bereits bestehende iTunesDB nicht eingelesen. Dies ist wahrscheinlich nicht was Sie beabsichtigen, da auf diese Weise die existierende Datenbank verloren geht.
 
 Klicken Sie auf 'OK', wenn Sie trotzdem fortfahren wollen, oder auf 'Abbrechen', um abzubrechen. Wenn Sie den Vorgang abbrechen, können Sie die existierende Datenbank einlesen, bevor Sie erneut abgleichen.
- 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. _Über _Alle Stücke Sort Tabs _Anordnen _Zeichensatz (ID3, Dateinamen): iPod Dateien _überprüfen _Wiedergabelisten erstellen iPod-_Verzeichnisstruktur erstellen _Löschen aber Stücke auf dem iPod behalten _Vollständig vom iPod löschen _Anzeige _Angezeigte Stücke _Bearbeiten _Einstellungen Zum Abspielen _Vormerken Stücke aus der Datenbank _exportieren _Datei _Hilfe _Regeln nicht verwenden _Info Fenster _Eingabe/Ausgabe _Weniger Sort Tabs _Limitieren auf _Lokal _M3U _Mehr Sort Tabs _Neu hinzugefügte Stücke _Lautstärke normalisieren _Anzahl der Filter-Tabs: _Offline _PLS _Jetzt Abspielen Lokal _bevorzugen iTunesDB _importieren _Dargestellte Reihenfolge der Stücke speichern _Sortierung _Verzeichnisse abgleichen _Toolbar _Werkzeuge _Tooltips _Aktualiere Stücke aus der Datei _Ansicht _iPod Album Künstler 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'. enthält kopiere... Tage Entferne gelöschte Tracks... enthält nicht Drag und Drop: '%s' ignoriert
- endet mit Datei nicht gefunden Format wird nicht unterstützt Kategorie gtkpod gtkpod Info gtkpod Version %s: Plattformübergreifendes internationalisiertes GUI für Apples iPod(tm). 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 Optionen Benutzung von gtkpod %s:
+ 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. _Über _Alle Stücke Sort Tabs _Anordnen iPod Dateien _überprüfen _Wiedergabelisten erstellen iPod-_Verzeichnisstruktur erstellen _Löschen _Anzeige _Angezeigte Stücke _Bearbeiten _Einstellungen _Kodierung (ID3, Dateinamen): Zum Abspielen _Vormerken Stücke aus der Datenbank _exportieren _Datei _Allgemein _Hilfe _Regeln nicht verwenden _Info Fenster _Weniger Sort Tabs _Limitieren auf _Lokal _M3U _Mehr Sort Tabs _Neu hinzugefügte Stücke _Lautstärke normalisieren _Anzahl der Filter-Tabs: _Offline _Anderes _PLS _Jetzt Abspielen Lokal _bevorzugen iTunesDB _importieren _Dargestellte Reihenfolge der Stücke speichern _Sortierung _Verzeichnisse abgleichen _Toolbar _Werkzeuge _Tooltips _Meta-Infos _Alles Rückgängig _Track Rückgängig _Aktualiere Stücke aus der Datei _Ansicht _iPod Album Künstler 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'. enthält kopiere... Tage Entferne gelöschte Tracks... enthält nicht Drag und Drop: '%s' ignoriert
+ endet mit Datei nicht gefunden folder folder.jpg folder.jpg;%a.jpg Format wird nicht unterstützt Kategorie gtkpod gtkpod Info gtkpod Version %s: Plattformübergreifendes internationalisiertes GUI für Apples iPod(tm). 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 Optionen Benutzung von gtkpod %s:
  höchste Bewertung Stunden Das Einlesen der iPod Datenbank schlug fehl
 
  Das Einlesen der iPod Datenbank schlug fehl: '%s'
 
  iPod Datenbank gespeichert iPod Datenbank wurde erfolgreich eingelesen iPod Datei iPod ID iPod Mount _Point: Die iPod Verzeichnisstruktur muß vorhanden sein bevor Daten auf den iPod kopiert werden können.
- iTunesDB '%s' beschädigt: bereits zwei Wiedergabelisten mhsds-Hunks gefunden. Breche ab. Die Prüfsumme der iTunesDB '%s' entspricht nicht der Prüfsumme, die in den erweiterten Informationen '%s' abgelegt ist. gtkpod wird probieren, die Informationen mittels der MD5 Prüfsummen zuzuordnen. Dies kann eine lange Zeit in Anspruch nehmen.
+ Die Prüfsumme der iTunesDB '%s' entspricht nicht der Prüfsumme, die in den erweiterten Informationen '%s' abgelegt ist. gtkpod wird probieren, die Informationen mittels der MD5 Prüfsummen zuzuordnen. Dies kann eine lange Zeit in Anspruch nehmen.
 
- iTunesDB ('%s'): Headerlänge des mhsd-Hunks is kleiner als erwartet (%ld<32). Breche ab. iTunesDB beschädigt: mhyp bei Offset %ld in Datei '%s' gefunden. iTunesDB beschädigt: Hunklänge ist Null für den Hunk an Offset %ld in Datei '%s'. iTunesDB beschädigt: kein MHOD bei Offset %ld in Datei '%s'. iTunesDB möglicherweise beschädigt: Anzahl der Wiedergabelisten (mhyp-Hunks) ist nicht konsistent. Versuche fortzufahren.
- iTunesDB möglicherweise beschädigt: Anzahl der Stücke (mhit-Hunks) ist nicht konsistent. Versuche fortzufahren.
  in den letzten ist ist nach dem ist vor dem ist größer als ist innerhalb ist kleiner als ist nicht ist nicht gesetzt ist gesetzt kB kbps label21 am wenigsten gespielt zuerst hinzugefügt am längsten nicht mehr gespielt niedrigste Bewertung Schreiben von m4a/m4p Metadaten für '%s' fehlgeschlagen: m4a/m4p/m4b-Dateien werden ohne die mp4v2 Bibliothek nicht unterstützt. Sie müssen gtkpod zusammen mit der mp4v2 Bibliothek übersetzen.
- Minuten Monate am häufigsten gespielt zuletzt hinzugefügt zuletzt gespielt mserv mserv Stammverzeichnis: mserv Stammverzeichnis:  mserv Datei (%s) nicht verfügbar für Track (%s) Problem beim Nachschlagen der mserv Daten Die mserv Datenbank wird für Tracks in diesem Verzeichnis verwendet. --- --- Es steht kein Dateiname zur Verfügung nicht in den letzten offline prefs_set_toolbar_style: ungültiger Typ '%d' ignoriert
+ Minuten Monate am häufigsten gespielt zuletzt hinzugefügt zuletzt gespielt mserv Stammverzeichnis: mserv Datei (%s) nicht verfügbar für Track (%s) Problem beim Nachschlagen der mserv Daten Die mserv Datenbank wird für Tracks in diesem Verzeichnis verwendet. --- --- Es steht kein Dateiname zur Verfügung nicht in den letzten offline prefs_set_toolbar_style: ungültiger Typ '%d' ignoriert
  prefs_set_toolbar_style: ungültiger Stil '%d' ignoriert
  Vorbereitung zum Kopieren... zufällige Reihenfolge Sek. special_sorttab -- Don't translate!" beginnt mit Titel bis Stücke Wochen window1 
\ No newline at end of file

Modified: gtkpod/branches/upstream/current/po/de.po
===================================================================
--- gtkpod/branches/upstream/current/po/de.po	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/de.po	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 '/mnt/ipod/' or similar."
-msgstr "Wo ist Ihr iPod gemountet? Für gewöhnlich unter '/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 ""
-"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/branches/upstream/current/po/fr.gmo
===================================================================
--- gtkpod/branches/upstream/current/po/fr.gmo	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/fr.gmo	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,83 +1,76 @@
-Þ•         t    Ì0      A     	A     A     A  n   A  €   ‡A  E   B  I   NB     ˜B     ¤B     ÃB     âB  ;   C  %   =C  3   cC  À   —C  4   XD     D     –D     ¢D     ®D  *   ·D  H   âD     +E     DE  
-   \E     jE     ~E     €E  &   ŸE     ÆE  _   ÝE  9   =F  *   wF  ,   ¢F  q   ÏF     AG     ZG  /   bG  +   ’G     ¾G     ÔG     îG  ,   H     5H  %   SH  ,   yH  -   ¦H      ÔH  &   õH     I     <I  -   \I  &   ŠI  +   ±I  &   ÝI  "   J  '   'J  $   OJ     tJ  '   ’J  R   ºJ  .   
-K  ,   <K  p   iK     ÚK     ÜK     ÞK     âK  
-   îK     ùK     L     1L     DL     FL     HL     JL     LL     NL     PL     RL     VL  "   ZL     }L     ‰L     –L     ²L     ËL  
-   ÚL  
-   åL     óL     M     &M  F   >M     …M     ‹M     «M  	   ¯M     ¹M  !   ÖM  %   øM     N  9   *N  /   dN  J   ”N  G   ßN     'O     0O     AO     UO  _  kO  2   ËP  2   þP     1Q  R   8Q  R   ‹Q  	   ÞQ  
-   èQ  $   óQ     R  (   1R     ZR  ‹   rR     þR      S     S     S     -S  3   CS  /   wS  A   §S     éS     ùS     T  <   T     PT     ST  %   YT     T     ƒT  .   ŒT     »T     ÂT     âT  ¤   üT     ¡U  
-   ¿U     ÊU     ßU     úU     V  0   8V  -   iV     —V     ´V     ÐV      ëV  ;   W  T   HW     W     ¢W     ¾W  -   ÛW  *   	X      4X     UX     ]X     cX     oX     xX     —X     ³X     ÉX     åX     Y  6   Y  .   SY  !   ‚Y  *   ¤Y  #   ÏY  .   óY  D  "Z  o   g[     ×[  /   ÷[  9   '\  -   a\  =   \  !   Í\  '   ï\  =   ]  2   U]  !   ˆ]     ª]     ¾]     Ó]     é]     ^  ;   ^  J   Q^  A   œ^     Þ^     ý^  #   _     )_     <_     R_     h_     z_     ’_     ¬_  ;   È_     `  .   `  1   C`  <   u`  G   ²`  D   ú`  
-   ?a  0   Ja  
-   {a     ‰a      a     µa     Êa     Ûa  $   óa  M   b     fb  `   |b     Ýb  
-   ìb  ’  ÷b  8   Šd     Ãd     Èd  8   Ôd  3   
-e  &   Ae  %   he  !   Že  (   °e  J   Ùe     $f     7f      Wf  5   xf     ®f     ¿f     Ûf  ;   øf     4g  %   Hg  ,   ng     ›g      g  \   ´g     h  J    h     kh     ~h  3   †h  R   ºh      
-i  2   .i     ai  $   xi  $   i     Âi  !   Üi     þi     j  &   9j  #   `j     „j  !   £j     Åj  (   Ýj  #   k  (   *k      Sk  X   tk  +   Ík     ùk     
-l  *   &l  	   Ql     [l  	   ql     {l     l     «l     ½l  s   Ãl     7m  d   Sm  ^   ¸m  .   n  6   Fn  2   }n     °n     ³n     ·n  A   ½n  ^   ÿn     ^o     qo     †o  (   o  :   ¸o  .   óo     "p  ž   ?p     Þp     ïp  /  q  9   5r     or     rr  1   ur  p   §r  z   s  K  “s  z   ßt  G   Zu     ¢u  ƒ   3v  5   ·v     ív     ôv     …w     ¢w  š   ®w  N   Ix     ˜x     ·x     Éx     àx     õx     y  E   *y  +   py  F   œy     ãy  [   z     ^z     cz  
-   sz     z  	   z     —z  U   £z     ùz     {     {     ,{     9{     <{     X{  	   m{     w{     “{     ¯{     Ê{     Ï{     Ø{     ë{     |     '|      4|     U|     n|  #   }|     ¡|     À|     Ç|  Ø   Ô|     ­}  I  Å}           0  *   C     n  ƒ   ~     €     €  )   -€     W€     n€     €     •€  4   ¥€     Ú€     ö€     
-       *   '  /   R  	   ‚  5   Œ  7        ú  «  	‚  Ú  µƒ  á  …  
-   r‡  4   }‡  3   ²‡  +   æ‡     ˆ    $ˆ  $   ,‰     Q‰  )   e‰     ‰  †    ‰  '   'Š  ,   OŠ     |Š     ‰Š  =   ™Š  F   ׊  I   ‹  '   h‹  +   ‹     ¼‹  ×   ¿‹     —Œ     ªŒ     ¾Œ     ÔŒ     çŒ     ûŒ  #   
-     1  $   :     _  ]   g     ō  D   ۍ  E    Ž     fŽ  	   oŽ  	   yŽ  0   ƒŽ  	   ´Ž     ¾Ž     ÅŽ     ÎŽ     ÝŽ  	   ìŽ  (   öŽ  !     #   A  $   e  &   Š  &   ±  $   ؏     ý  Z        w     ~     Š     ž     ¶  ?   ͐     
-‘  C    ‘     d‘  %   p‘     –‘     ±‘     º‘     Á‘  %   Æ‘  9   ì‘     &’  0   2’  <   c’      ’     »’  2   Ô’     “  F   
-“  
-   T“     _“     “  #   ž“  #   “  %   æ“  )   ”     6”     H”     X”     l”     ”     ”  4   ©”     Þ”     ã”     ò”  ?   ú”     :•     Ë•  5   è•  	   –     (–     C–     K–     [–  	   r–     |–  
-   …–     –     ˜–     ´–  j   ¼–     '—     8—     P—  D   l—     ±—     ¶—     Ê—  .   â—  S   ˜  >   e˜     ¤˜     ©˜  	   Ę  .   Θ  (   ý˜     &™     6™     K™     `™     r™     ˆ™      ™     °™  $   Ù  '   è™     š     'š     6š     9š  .   Eš     tš  I   Žš     Øš  H   çš  2   0›     c›  9   {›  Ï   µ›  ×   …œ    ]  d   pž  ˜   Õž     nŸ  q   ‰Ÿ  U   ûŸ  N   Q   '       €   È   -   I¡  S   w¡  9   Ë¡  v   ¢  8   |¢  K  µ¢  ¤   ¤  9   ¦¤  7   ठ ¦  ¥     ¿§     ħ     ʧ     Ч     ا     ᧠ 
-   î§     ü§  1   ¨  
-   4¨     B¨  *   O¨  
-   z¨     ˆ¨     •¨     œ¨     º¨     ƨ     Ò¨     Ú¨     ì¨     ©     ©      .©      O©  ,   p©     ©     °©     é     Ö©     é©     ù©     	ª  7   ª     Iª  %   ]ª  $   ƒª     ¨ª     ·ª     ¾ª  (   Ûª  -   «  ,   2«     _«     k«  %   x«  %   ž«  4   Ä«  P   ù«  >   J¬  :   ‰¬  7   Ĭ  .   ü¬  
-   +­  Ÿ   6­     Ö­     ê­     ®     ®     $®     +®  R   @®  `   “®     ô®     ü®     ¯     #¯     9¯  W   P¯    ¨¯     °  J   Û°  @   &±  .   g±     –±  .   ±±  M   à±     .²     K²     c²  :   g²     ¢²  l   §²    ³  
-  +´     6¶     =¶     I¶     \¶     p¶     ‚¶     ¶     µ¶     Ò¶     Û¶     í¶     ó¶     ·     ·     ·  
-   ·     (·  
-   5·     C·  	   S·     ]·     d·     i·     y·     ·     Ÿ·     ¨·  	   ­·  
-   ··     Å·     Ô·     ð·     ù·     ¸     ¸  	   "¸     ,¸     E¸     K¸     Q¸     W¸    ^¸     f¹  
-   o¹     z¹     ¹     ‹¹     œ¹  	   ¹¹     ù     Ò¹     ç¹     í¹     ô¹  N    º  Ø   Oº     (»     7»     Q»     `»     f»  #   …»     ©»  #   ½»  	   á»     ë»  W   ó»  E   K¼  ¢   ‘¼  U   4½  1   Š½  =   ¼½  5   ú½  ^   0¾  [   ¾     ë¾     ÷¾     ú¾  	   ¿     
-¿     ¿     -¿     :¿  
-   A¿     L¿     S¿     V¿     [¿     c¿     v¿     ‹¿  
-   ¡¿  ¦   ¯¿     VÀ     ^À     eÀ     wÀ     ‹À      À     ¦À  1   ³À     åÀ  ?   Á     BÁ     FÁ     JÁ     `Á     pÁ  -   xÁ  4   ¦Á     ÛÁ     ðÁ     ýÁ                              $  R  ,     à     Ã     ‡Ã  t   ŽÃ  ›   Ä  J   ŸÄ  E   êÄ  
-   0Å  "   >Å  "   aÅ  "   „Å  L   §Å  #   ôÅ  :   Æ  ñ   SÆ  =   EÇ     ƒÇ     Ç  
-   Ç     ¨Ç  <   ¾Ç  O   ûÇ  $   KÈ     pÈ     ‰È     –È     ²È  9   ´È  D   îÈ     3É     RÉ  A   ÒÉ  .   Ê  ,   CÊ  ˜   pÊ     	Ë     %Ë  0   -Ë  /   ^Ë     ŽË     ¨Ë     ÄË  /   áË     Ì  '   .Ì  0   VÌ  -   ‡Ì     µÌ  (   ÕÌ     þÌ     Í  $   >Í  $   cÍ  3   ˆÍ  *   ¼Í  (   çÍ  *   Î  )   ;Î  %   eÎ  ,   ‹Î  W   ¸Î  7   Ï  4   HÏ  p   }Ï     îÏ     ðÏ     òÏ     öÏ     Ð     4Ð  (   TÐ     }Ð     œÐ     žÐ      Ð     ¢Ð     ¤Ð     ¦Ð     ¨Ð     ªÐ     ®Ð  +   ²Ð  
-   ÞÐ     ìÐ  '   ÿÐ  $   'Ñ     LÑ     dÑ     zÑ  '   ˜Ñ     ÀÑ  "   ÝÑ  K    Ò     LÒ  "   RÒ     uÒ     zÒ  7   }Ò  6   µÒ  ?   ìÒ     ,Ó  p   2Ó  @   £Ó  G   äÓ  O   ,Ô     |Ô     Ô     Ô     ¢Ô  f  ·Ô  ?   Ö  A   ^Ö      Ö  l   ¨Ö  l   ×  	   ‚×     Œ×  3   £×  -   ××  7   Ø     =Ø     WØ     åØ     çØ     ëØ     ÿØ     Ù  @   'Ù  7   hÙ  X    Ù     ùÙ  '   Ú     3Ú  W   :Ú     ’Ú  	   •Ú     ŸÚ     ¿Ú  
-   ÃÚ  D   ÎÚ     Û  ,   Û      HÛ  ¢   iÛ  %   Ü     2Ü     ?Ü     SÜ     mÜ     ŠÜ  I   ©Ü  H   óÜ     <Ý     YÝ     uÝ  !   ‘Ý  @   ³Ý  A   ôÝ     6Þ  7   ;Þ  *   sÞ  2   žÞ  .   ÑÞ  1    ß     2ß     >ß     Dß     Pß  +   \ß  #   ˆß     ¬ß     Äß      âß  %   à  M   )à  6   wà  %   ®à  4   Ôà  /   	á  >   9á  z  xá  i   óâ     ]ã  ?   }ã  H   ½ã  5   ä  >   <ä  +   {ä  0   §ä  =   Øä  ;   å  (   Rå     {å     —å     ²å  !   Îå     ðå  <   
-æ  ^   Gæ  T   ¦æ  .   ûæ     *ç  /   3ç     cç     xç     ç     ¨ç     ¼ç     Öç     ðç  %   è     4è  V   Eè  O   œè  W   ìè  W   Dé  T   œé  
-   ñé  8   üé     5ê  "   Aê     dê      €ê     ¡ê     µê  -   Ñê  G   ÿê     Gë  d   fë     Ëë     ßë  Æ  ìë  G   ³í     ûí     î  =   î  D   Xî  (   î  ?   Æî  +   ï  5   2ï  E   hï     ®ï  3   Ìï  :    ð  =   ;ð     yð      Œð  (   ­ð  N   Öð     %ñ  -   ;ñ  7   iñ     ¡ñ     ªñ  i   Èñ     2ò  L   7ò     „ò     —ò  _   µò  W   ó  1   mó  @   Ÿó  $   àó  /   ô  1   5ô  +   gô  )   “ô  '   ½ô  !   åô  2   õ  0   :õ  *   kõ  "   –õ  $   ¹õ  #   Þõ  *   ö  9   -ö  .   gö  q   –ö  -   ÷  $   6÷     [÷  .   y÷     ¨÷     º÷     Õ÷      ç÷  &   ø     /ø     Lø  •   Uø  '   ëø  {   ù  ]   ù  2   íù  ;    ú  3   \ú     ú     “ú     —ú  A   ú  e   ßú     Eû     Wû     kû  6   tû  U   «û  7   ü     9ü  ç   Nü     6ý     Hý    _ý  Q   ~þ     Ðþ     Óþ  C   Öþ  €   ÿ  w   ›ÿ  Q    ~   e R   ä ·   7 „   ï C   t    ¸ s   ¿ *   3    ^ ¼   j M   '     u    –    ¨    ¿ !   Ô    ö E    <   R N    "   Þ T       V    \    m    …    š    © o   ¾    .    G "   M    p    ‚     …    ¦         Ó    ô    	    3	    :	    F	 +   ^	 +   Š	    ¶	 '   È	    ð	    
-
- 8   
-    T
-    p
-    
- 
-  ™
- %   ¤ t  Ê 4   ?
-    t
- -   “
-    Á
-    Ú
- &   j &   ‘ 6   ¸    ï        '    D >   ] (   œ    Å    ß    å 4   ü ;   1 
-   m K   x N   Ä     ñ  $ 4   "  K    n J    >   Ê :   	    D 6  [ 4   ’    Ç +   ã     v   " "   ™ 1   ¼    î     E    C   a Q   ¥ A   ÷ E   9     ë   ‚ 	   n    x    „ 	   ”    ž 
-   § +   ²    Þ #   ç 
-    |       “ R   ® S       U    f    x F   ‰    Ð    Ý    æ    ÷           -   )  '   W  6     )   ¶  1   à  0   ! "   C! !   f! e   ˆ! 	   î! 
-   ø!    "    "" &   B" M   i"    ·" [   Í"    )# /   =# 1   m# 	   Ÿ#    ©#    ®#     ³# L   Ô# 
-   !$ /   /$ Z   _$ /   º$ $   ê$    %    /% Q   7% 
-   ‰% /   —% .   Ç% 4   ö% 6   +& 4   b& 1   —&    É&    é&    '     '    ?'    X' ;   p'    ¬'    ³' 	   À' G   Ê' ‘   ( )   ¤( @   Î(    )    )    8)    <) "   K)    n) 
-   {)    ‰)    š)    ¢)    ½)    Æ)    F*    _*    ~* B   —*    Ú* &   æ*    
-+ 8   !+ ]   Z+ ?   ¸+    ø+ '   ,    -, Q   K, -   ,    Ë,    Ý,    ø,    -    )-    H-    f-    - 1   š- 3   Ì- $    .    %.    D.    G. <   X.    •. F   ³.    ú. Y   
-/ =   d/    ¢/ C   º/ ã   þ/   â0 A  þ1 w   @3 ¤   ¸3 !   ]4 u   4 l   õ4 U   b5 )   ¸5 y   â5 6   \6 X   “6 J   ì6 |   77 D   ´7 Ö   ù7 »   Ð8 =   Œ9 4   Ê9 ¦  ÿ9    ¦<    ­<    ³<    ¹< 
-   È<    Ó< 
-   à<    î< C   ö<    :=    N= ,   _=    Œ=    ¡=    ²= )   »=    å=    ñ=    ý=    	>    >    *>     >> $   _> &   „> ;   «>    ç>    ú>    
-?     ?    3?    C?    S? A   [?    ? 6   ²? 0   é?    @    .@ 9   =@ ?   w@ O   ·@ I   A    QA    mA 2   A =   ²A ;   ðA |   ,B ]   ©B j   C F   rC /   ¹C    éC Š   öC    D    •D    ¯D    ËD    ÐD    ×D \   ïD X   LE 	   ¥E    ¯E    ÌE     ìE !   
-F s   /F c  £F +   H 6   3H ,   jH =   —H '   ÕH H   ýH t   FI %   »I #   áI    J G   	J    QJ v   XJ -  ÏJ   ýK 	   N    N    #N "   ?N    bN +   N #   «N !   ÏN 
-   ñN    üN 	   O    O    )O    GO    PO    VO    tO    †O    –O    ±O    ½O    ÅO    ÊO    ãO    ÿO    P    (P    -P    ?P #   WP -   {P    ©P    ®P    ÍP    ÝP    åP 3   ñP 
-   %Q    0Q    6Q    <Q   DQ    TR    ]R    fR    lR    {R    ‹R 	   «R    µR    ÉR    ÞR    äR    ëR U   ÷R õ   MS    CT    RT    lT    }T *   „T 0   ¯T    àT 0   üT    -U    :U [   BU L   žU Ó   ëU [   ¿V ;   W 9   WW D   ‘W k   ÖW n   BX    ±X    ÀX 
-   ÄX 	   ÏX    ÙX    ìX    Y 	   Y    Y 
-   0Y    ;Y    >Y    CY    KY    dY    xY    Y Ž   ¦Y    5Z    =Z    BZ    ZZ    qZ    †Z 
-   ŒZ @   šZ .   ÛZ >   
-[    I[    K[     O[    p[    …[ *   ’[ 0   ½[    î[    
-\    \     \    -\    3\    6\    ?\    H\    ç  Ž  
-  p   +       `  Q  û    Ò  ”  Ð        m   ¹  Ò  Ü  Ô   +         þ  Å   À      «  ß                    ù  ¹     '        ÿ  B   ‡   $       z   J   K   L   M   N   O   Ê   Ë      ¦   P   ™              }      &  |   s  ‡  ´       U  '      ó                  Ñ   t  Ö      Ç  0  L      o   A  ^  D   C   Ï    z  ¤       É      H      ˆ   Ù  Ô      D  ã      Û  µ        þ   â  º  Í   —          	  h      H  ”   g  e   !  Þ    y           ù  ð  ;   7    2       d  i        ©   l   Ç   À  \  V       Í  ì    #   Ø      Ù  "           C    ô   ³   3  Ð     ó   r             4          à      g   Ý               Æ   }  «      8   Ú  ò      Î  ;  õ  ¥  d   ?  ž  ë       Ë    ú  ä  1  Î  *              ï   f  å   Ö  d    å  T  ò  T       ¦  Å    ¸  X      Ô          ¤  á  (  >      M  æ       v    m  ž  ö      W      é      ¸   Q   —   ›   …   ‹  Ø      ï  e          ^      ,       Ä  ¼     ˜  Œ  K      G  È  ®              æ        c  b   8    L  ½  æ  µ   A   B  k  ×  i  ²  D  ý  þ            l    :  Û   6       Œ  œ  ÿ   õ  Œ   k   3   	   1  ÷        ]       §   V      ™  $  P  Í  -         s         ü  O      È  ž   
-      ª   Z    €   y  R           ¯  Š           Ä   {  Ì   Ë  Ÿ  ¬  5  Æ  ã  ‘  ä          ª  "         Z       b  j    a  ‰     é      9  -  ²  „     À   ¤  ·  ê  “               œ   g  ƒ  b  ñ   E          %   ’   t  ¶  U  p  M  ”      ¨          ¿   ¿  %  ÷           B  ±         n   S  ¨  o    ÷   [      :  Æ  -   p  8  à  è  |  ø  9  ò       ,      {    Z  2  ú        Ñ  J  <     ¬       ’              ˆ  ¾     ?          w  Ï  j  ±  u     Ê                          F      Ä  à  ­   /  ¾        *  ¯   ¯  §  >  š  )                           ð      #  Y  ´    ›         Õ  ë  ‰  	     )  ô    /  N  ö            .       \    E       Ù   =  R          š       X   º      f   ´          ˜         ¼  é       å  %  ³          ð     Y  E      °  (   ·   ³          t           ‡  Ý      1   ;    <                      Ó   6      }   –       @   "  
-   ê   ™       –               í     Ž      F          Ç  h   •          °  Å      ?       £    »       ~      ·  z  Û  à  j   û      c   .      :   >           ¡   =   ±          ½         ]  Ÿ   ‚  †  €  ­  ²   R  ˜      m  —      ÿ  ñ    ª  à     s   [         ¶   {   Ö   Ñ      A    Y           &   Ÿ        5   n  €  â             +  ø  7  ô  ù   †  ä       »  ­      …  ç                 µ          S   P          Õ   W      
-   n                      Š      ,  õ       l      O  	  U       ¿          !      c      ˆ  Ó         º  ø   ú     ½          ‘  v  Á  š  x  ü       Ž  Ì  Ú  #          !       ^  ‚   *   T   †                  ~  è  ¡  (  _   ¨   ì   Ò   ×   ñ  ‰  [   w       y  0  ¬  î  @                      2      '   ‹       a   •      Á   N      ×  ß   §  ®  ó      `   ç         ’  r   ]  ë  ö   Ø        w      q  X    ¹   i   ¢  ï              ¢   ý   q  à             =  ß    I   _          £  I  k      °   ¶  Î   á   ®   )     /   3  á  Ü  I      F   q       C  H       »       
-  Q    ƒ  <   È       „          ¸  u         ¾         í          î   ¢     r  œ               ¡  Ü       ¥  ‘   9   Ý      ©  4   7   
-  h  G   ý        _  
-  “    @  Á      6      Ï   û       &  5  K  .  a  ¼      W   `  ü      ‹     ¦  Õ  e  4      ƒ   ‚  x   f  ì         Ó      Ð  o  â              î  J    u  G  ~   Þ   0       \       v   |  x  V  ©  í          ›  «       £       É  $  Þ      Ê         S  è   ã                           –      É   „      “      •   …      Š     Ú   ¥   ê    Ì                          gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
+Þ•           '  ì1      ˆB     ‰B     ‹B     B     –B  n   B  €   C  E   C  I   ÓC     D     )D     HD     gD  ;   †D  %   ÂD  3   èD  À   E  4   ÝE     F     F     'F     3F  
+   <F  H   JF  
+   “F     ¡F     £F  &   ÂF     éF  _    G  9   `G  *   šG  ,   ÅG  q   òG     dH     }H  /   …H  +   µH     áH     ÷H     I  ,   +I     XI  %   vI  ,   œI  -   ÉI      ÷I  &   J     ?J     _J  -   J  &   ­J  +   ÔJ  &    K  "   'K  '   JK  $   rK     —K  +   µK  R   áK  .   4L  ,   cL     L     ¦L     ¨L     ªL  
+   ¶L     ÁL     ÛL     ùL     M     M     M     M     M     M     M     M     9M     YM     xM  !   “M     µM  
+   ÒM     àM     ìM     øM     
+N     N     'N     >N     QN     `N     pN     …N     ¡N     ®N     ²N  "   ¶N     ÙN     åN     òN  	   O     O  
+   1O     ?O  
+   NO  
+   YO     gO     ƒO     šO  F    O     çO      P     P     &P  	   *P     4P  !   QP  %   sP     ™P  9   ¥P  /   ßP  J   Q  G   ZQ     ¢Q     «Q     ¼Q     ÐQ  ]  æQ  _  DS  _  ¤T  C  V  ;  HW  2   „X  =   ·X  :   õX  O  0Y  ˜   €Z  2   [     L[  R   S[  	   ¦[  
+   °[  $   »[  (   à[  ‹   	\     •\     —\     ›\     °\     Ä\  3   Ú\  @   ]  (   O]  $   x]  .   ]     Ì]     Ü]     î]  <   ö]     3^     :^     =^  %   C^     i^     m^     v^  .   ^     ¼^     Û^     â^     _  ¤   _  
+   Á_     Ì_     á_     ü_     `  0   :`  -   k`     ™`     ¶`     Ò`      í`  ;   a  T   Ja  P   Ÿa  .   ða     b     $b     ;b     Sb     [b     ab     mb     vb     •b     ²b     Èb     ßb     ûb  6   c  .   Mc  !   |c  %   žc  *   Äc  #   ïc  .   d  D  Bd  o   ‡e     ÷e  /   f  9   Gf  -   f  =   ¯f  !   íf  '   g  =   7g  2   ug  !   ¨g     Êg     Þg     óg     	h     !h  ;   5h  J   qh  A   ¼h     þh     i  #   %i  #   Ii     mi     €i     –i     ¬i     ¾i     Öi     ði  ;   j     Hj  .   Xj  1   ‡j  7   ¹j  <   ñj  
+   .k  "   9k  *   \k  (   ‡k  0   °k  
+   ák     ïk     ûk     l     'l     <l     Ql     bl  "   zl  "   l  E   Àl  8   m  $   ?m  H   dm  M   ­m  ?   ûm     ;n  `   Qn  x   ²n  G   +o     so  
+   ‚o  ’  o     q     ¾r     Ãr  8   Ïr  3   s  &   <s  %   cs  !   ‰s  (   «s  J   Ôs     t     2t      Rt  5   st     ©t     ºt  5   ×t     
+u  %   !u  ,   Gu     tu     yu  \   u     êu     ÿu     v     !v  3   )v  R   ]v      °v  2   Ñv     w     w  &   8w     _w     ~w  3   –w  #   Êw  
+   îw  7   üw  (   4x      ]x  X   ~x  +   ×x     y     y  *   0y  	   [y  	   ey     oy     ƒy     Ÿy     ±y  s   ·y     +z  .   Gz  6   vz  2   ­z     àz     ãz     çz  A   íz  ^   /{     Ž{     ¡{     ¶{  (   ¿{  :   è{  .   #|     R|     o|     €|  0   –|  /  Ç|  9   ÷}     1~     4~  p   7~  z   ¨~  K  #  z   o€  G   ê€     2  ƒ   Á  A   G‚     ‰‚     ƒ     ¨ƒ     Ń  š   у  N   l„  ]   »„     …     +…     B…     W…     v…  E   Œ…  +   Ò…  F   þ…     E†  [   d†     À†     ņ  
+   Õ†     ㆠ 	   ï†     ù†     ‡     ‡     ‡      )‡  $   J‡  $   o‡     ”‡     ²‡     ¿‡     ‡     Þ‡     ó‡     ˆ     +ˆ     Fˆ     Oˆ     bˆ     ~ˆ     žˆ      ªˆ     ˈ     äˆ  #   óˆ     ‰     6‰     =‰  Ø   J‰     #Š  I  ;Š      …‹     ¦‹  *   ¹‹     ä‹  ƒ   ô‹     xŒ     Œ  )   £Œ     ÍŒ     äŒ     ÷Œ       4        P     l     ƒ     ˆ  	     5   §  7   ݍ     Ž  «  $Ž  Ú  Џ  á  «‘  
+   “     ˜“     ¬“  $   ¾“     ã“  )   ÷“     !”  (   2”  †   [”  '   â”  ,   
+•  '   7•  +   _•  +   ‹•     ·•  ×   º•     ’–     ¥–     ¹–     Ï–     â–     ö–     —  #   —      5—     V—  ]   ^—     ¼—  	   Å—  	   Ï—  0   Ù—  	   
+˜     ˜     ˜     $˜     3˜  	   B˜  (   L˜  !   u˜  #   —˜  $   »˜  &   à˜  &   ™  $   .™     S™  Z   r™     Í™     Ô™     à™     ô™     š  ?   #š  &   cš     Šš     šš  C   ­š     ñš  %   ýš     #›     >›     G›     N›  %   S›  9   y›     ³›  <   ¿›     ü›     œ  8   8œ  D   qœ     ¶œ  '   Ñœ  #   ùœ       2   6     i  F   o  
+   ¶     Á     ᝠ #    ž  #   $ž  %   Hž  )   nž     ˜ž     ªž     ºž     Ξ     áž  4   òž     'Ÿ  )   ,Ÿ  8   VŸ  .   Ÿ     ¾Ÿ     ÍŸ  &   ÕŸ  ?   üŸ     <      Í      M¡  5   j¡      ¡     »¡     Ë¡  	   â¡     ì¡  
+   õ¡      ¢     ¢     $¢  j   ,¢     —¢     ¨¢     À¢  D   Ü¢     !£     &£     :£     R£  .   k£  S   š£  >   î£     -¤  	   2¤  .   <¤  (   k¤     ”¤     ¤¤     ¹¤     Τ     ठ    ö¤     ¥     ¥  $   1¥  '   V¥     ~¥     •¥     ¤¥  .   §¥     Ö¥  I   ð¥     :¦  W   I¦  H   ¡¦  2   ê¦     §  9   5§  Ï   o§  ×   ?¨    ©  1   *ª  d   \ª  ˜   Áª     Z«  q   u«  G   ç«  Y   /¬  D   ‰¬  U   ά  N   $­  7   s­  '   «­  €   Ó­  -   T®  S   ‚®  9   Ö®  v   ¯  8   ‡¯  K  À¯  9   ±  7   F±  ¦  ~±     %´     *´     0´     6´  
+   C´     Q´  1   W´     ‰´  *   –´     Á´     δ     Õ´     ó´     ÿ´     µ     µ     %µ     :µ     Qµ      gµ      ˆµ  ,   ©µ     Öµ     éµ     üµ     ¶     "¶     2¶     B¶     J¶  %   ^¶  $   „¶  %   ©¶      ϶     ð¶     ÿ¶     ·  (   #·  -   L·  ,   z·     §·     ³·  %   À·  &   æ·  1   
+¸  P   ?¸  8   ¸  .   ɸ  	   ø¸  Ÿ   ¹     ¢¹     ¶¹     й     ë¹     ð¹  R   ÷¹  `   Jº     «º     ³º     ź     Úº     ðº  V   »    ^»     x¼  J   ‘¼  @   ܼ  .   ½     L½  .   g½     –½  :   š½     Õ½  l   Ú½  $  G¾    l¿  
+  ƒÀ     ŽÂ     •Â     ¡Â     ´Â     È     Ú     õ     þ     à     à     (à     1à     Nà     Tà  
+   Zà     hà     uà  	   …à     Ã     –à     ›Ã     «Ã     ¿Ã     Ñà     çà     ðà  	   õà  
+   ÿÃ     
+Ä     Ä     8Ä     AÄ     ZÄ     cÄ  	   jÄ     tÄ     Ä     “Ä     ™Ä     ŸÄ    ¦Ä     ®Å  
+   ·Å     ÂÅ     ÇÅ     ÓÅ     äÅ  	   Æ     Æ     Æ     /Æ     5Æ     <Æ  N   HÆ  Ø   —Æ     pÇ     Ç     ™Ç     ¨Ç     ®Ç  #   ÍÇ     ñÇ  #   È  	   )È     3È     ;È  W   NÈ  ¢   ¦È     IÉ     UÉ     XÉ  	   aÉ     kÉ     {É     ‹É     ˜É  
+   ŸÉ     ªÉ     ±É     ´É     ¹É     ÁÉ     ÔÉ     éÉ  
+   ÿÉ  ¦   
+Ê     ´Ê     ¼Ê     ÃÊ     ÕÊ     éÊ     þÊ  1   
+Ë     <Ë  ?   YË     ™Ë     Ë     ¡Ë     ·Ë     ÇË  -   ÏË  4   ýË     2Ì     GÌ     TÌ     YÌ     eÌ     kÌ     nÌ     uÌ     {Ì  R  ƒÌ     ÖÍ     ØÍ     ÞÍ     äÍ  v   ëÍ     bÎ  L    Ï  G   MÏ     •Ï  &   ¥Ï  '   ÌÏ  &   ôÏ  P   Ð  %   lÐ  =   ’Ð  ú   ÐÐ  @   ËÑ     Ò     Ò  
+   &Ò     1Ò     IÒ  S   VÒ     ªÒ     ·Ò  ;   ¹Ò  M   õÒ     CÓ     bÓ  G   âÓ  .   *Ô  ,   YÔ     †Ô     $Õ     BÕ  0   JÕ  1   {Õ     ­Õ     ÉÕ     çÕ  2   Ö     9Ö  -   WÖ  2   …Ö  3   ¸Ö  %   ìÖ  ,   ×  #   ?×  #   c×  (   ‡×  $   °×  3   Õ×  *   	Ø  *   4Ø  ,   _Ø  -   ŒØ  +   ºØ  8   æØ  W   Ù  9   wÙ  6   ±Ù  &   èÙ     Ú     Ú     Ú     1Ú      QÚ  *   rÚ     Ú     ¼Ú     ¾Ú     ÀÚ     ÂÚ     ÄÚ     ÆÚ     ÈÚ  )   ÊÚ  4   ôÚ      )Û  "   JÛ  '   mÛ      •Û     ¶Û  
+   ÆÛ     ÔÛ     áÛ     õÛ     	Ü     Ü     4Ü     QÜ     gÜ     yÜ     ”Ü     ³Ü     ÀÜ     ÆÜ  +   ÌÜ  
+   øÜ     Ý  '   Ý     AÝ  $   VÝ     {Ý     ˜Ý     °Ý     ÆÝ  '   äÝ     Þ     )Þ  M   1Þ     Þ     ˜Þ  $   žÞ     ÃÞ     ÈÞ  7   ËÞ  6   ß  ?   :ß     zß  p   €ß  E   ñß  I   7à  O   à     Ñà     Ôà     äà     ÷à  p  á  d  }â  X  âã  G  ;å  8  ƒæ  B   ¼ç  P   ÿç  G   Pè  _  ˜è  š   øé  C   “ê     ×ê  x   ßê  	   Xë     bë  3   yë  7   ­ë     åë     sì     uì     yì     ì      ì  @   µì  X   öì  ;   Oí  7   ‹í  K   Ãí     î  '   !î     Iî  W   Pî  	   ¨î     ²î  	   µî     ¿î     ßî  
+   åî  1   ðî  C   "ï  7   fï     žï  ,   ¦ï  "   Óï  ¢   öï     ™ð     ¨ð     ¼ð     Öð     óð  I   ñ  H   \ñ     ¥ñ     Âñ     Þñ  !   úñ  B   ò  C   _ò  E   £ò  ?   éò     )ó  ;   .ó  .   jó     ™ó     ¥ó     «ó     ·ó  +   Ãó  #   ïó     ô  0   +ô      \ô  %   }ô  M   £ô  6   ñô  %   (õ  8   Nõ  4   ‡õ  1   ¼õ  A   îõ  |  0ö  i   ­÷  !   ø  A   9ø  H   {ø  7   Äø  @   üø  -   =ù  2   kù  ?   žù  ?   Þù  /   ú     Nú     jú     …ú  !   ¡ú     Ãú  =   Ýú  b   û  T   ~û  .   Óû     ü  +   ü  /   7ü     gü     |ü     ”ü     ¬ü     Àü     Úü     ôü  '   ý     :ý  V   Ký  O   ¢ý  B   òý  X   5þ  
+   Žþ  #   ™þ  1   ½þ  .   ïþ  >   ÿ     ]ÿ     iÿ  "   ~ÿ      ¡ÿ     Âÿ      Úÿ     ûÿ       0   +  *   \  M   ‡  M   Õ  -   # g   Q G   ¹ G        I f   j Œ   Ñ f   ^    Å    Ù Æ  æ Ì  ­    z    ‡ =   ™ D   × (    ?   E +   … 5   ± E   ç    -	 3   K	 :   	 =   º	    ø	 (   
+ H   4
+    }
+ 1   “
+ ?   Å
+         k   ,    ˜    ®    ³    Æ `   ä Y   E 7   Ÿ F   × $   
+ )   C
+ 4   m
+ ,   ¢
+ &   Ï
+ G   ö
+ +   >    j L   € :   Í .    q   7 1   © $   Û      .        O    a     s &   ”    »    Ú •   ã )   y 2   £ ;   Ö H       [    ^    d C   j g   ®        (    < 6   E U   | 7   Ò    
+        1 3   H #  | S        ô    ÷ €   ú w   { S  ó ~   G R   Æ ·    ‰   Ñ 1   [ u    ¿    ,   à    ð ¼   ü O   ¹ _   	    i    {    ’ !   §    É G   á >   ) P   h $   ¹ V   Þ    5    ;    L    d    y    ˆ        ¶    ¼ 3   Ô :     9   C  "   }           ²  $   µ     Ú  !   ö     !    8!    X!    d! +   |! +   ¨!    Ô! '   æ!    "    (" 8   9"    r"    Ž"    " 
+  ·" '   Â# t  ê# 4   _%    ”% 1   ³%    å%    þ% &   Ž& '   µ& 6   Ý&    '    0'    L'    i' >   ‚' )   Á'    ë'    (    ( 
+   "( L   -( N   z(    É( ó  Ú( 6  Î* $  -    */ -   ;/    i/ 4   €/    µ/ +   Ñ/    ý/ <   0 v   M0 #   Ä0 1   è0 N   1 F   i1 P   °1    2 ë   2 	   ð2    ú2    3 	   3     3 
+   )3    43 '   =3 )   e3 
+   3 |   š3    4    (4    :4 G   K4    “4     4    ©4    º4    Í4    Þ4 -   ð4 '   5 8   F5 +   5 1   «5 0   Ý5 #   6 !   26 e   T6 	   º6 
+   Ä6    Ò6    î6 &   7 M   57 =   ƒ7    Á7    Ö7 ]   î7    L8 /   `8 1   8 	   Â8    Ì8    Ñ8     Ö8 V   ÷8 
+   N9 Z   \9 2   ·9 #   ê9 _   : m   n: /   Ü: 2   ; %   ?; $   e;    Š;    ª; S   ²; 
+   < 1   < 0   F< 4   w< 6   ¬< 4   ã< 1   =    J=    j=    ƒ=     Ÿ=    À= ;   Ù=    > 4   > I   Q> 3   ›>    Ï> 	   Ü> %   æ> G   ? ‘   T? ’   æ? *   y@ @   ¤@    å@    A "   A    5A    DA    TA 	   eA    oA    ŠA    “A    B    ,B    KB D   dB    ©B &   µB    ÜB $   ðB :   C ]   PC A   ®C    ðC    ýC R   D -   nD    œD    ®D    ÉD    ãD    úD    E    7E    PE 1   kE 3   E &   ÑE    øE    F >   F    YF F   yF    ÀF X   ÐF Y   )G ?   ƒG    ÃG E   ÝG ã   #H   I A  #J 2   eK w   ˜K ¤   L #   µL w   ÙL N   QM j    M S   N l   _N U   ÌN @   "O +   cO y   O 8   	P X   BP J   ›P ‰   æP G   pQ Û   ¸Q =   ”R 6   ÒR ¦  	S    °U    ·U    ÀU    ÆU 
+   ÓU    áU C   éU    -V ,   >V    kV    |V )   …V    ¯V    »V    ÇV    ÓV    âV    ôV "   W &   +W (   RW =   {W    ¹W    ÌW    ßW    òW    X    X    %X    -X :   DX 4   X #   ´X    ØX    ÷X    Y 9   Y @   TY O   •Y I   åY    /Z    KZ 4   ]Z ?   ’Z ;   ÒZ ~   [ N   [ /   Ü[    \ Š   \    ¦\    º\    Ô\    ð\    õ\ \   ü\ Z   Y] 	   ´]    ¾]    Û]     û] !   ^ r   >^ c  ±^ +   ` 8   A` ,   z` =   §` '   å` M   
+a    [a I   aa    «a v   ²a *  )b -  Tc 
+  ‚d 	   f    —f    ªf "   Æf    éf +   g 
+   2g    =g 	   Qg    [g    jg -   ˆg    ¶g    ¿g    Åg    äg    ög    h    h    %h    *h    Ch    _h    uh    h    £h    ¨h    ºh #   Òh -   öh    $i    )i    Hi    Xi    `i 3   li 
+    i    «i    ±i    ·i   ¿i    Ðj    Ùj    âj    èj    ÷j #   k 	   +k    5k    Ik    ^k    dk    kk W   wk ú   Ïk    Êl    Ùl    õl    m *   
+m 1   8m    jm 0   †m    ·m    Äm    Ìm [   êm Ó   Fn    o    )o 
+   -o 	   8o    Bo    Uo    ko 	   ~o    ˆo 
+   ™o    ¤o    §o    ¬o    ´o    Ío    áo    ùo    p     p    ¨p    ­p    Åp    Üp    ñp @   q .   Bq ?   qq    ±q    ³q     ·q    Øq    íq .   úq 4   )r    ^r    zr    ‹r    r    r    £r    ¦r    ¯r    ¸r    x      à   Ö  ×          ‡   ­  d      N      ¹  á  E  í  Q      »  ¯      Ê  ú         µ  "  ~    i     ˆ   .      E    «  Õ     P     @   Ÿ  A         G   H   I   J   K   L       r  è  k   M                     `  à   ”   Y  Ç        ­   ñ  s      <  ô  £   w                              ž   1   
+  þ  Œ   ª   Ç       ´  \  Ñ            ¡     ¨  I  ú  F  ›         0  ‹  *   å   ;  %       B   W  Š   
+   t      M       m    À   ¹  "  }             3     j      ò  j     k      N   ¡         º      ,   :      [  H  e  ‘         ø           ý   Æ                     h  ù           _      …  ™  +  å  ‚  ç   Q     Ë    á   Ï  [  ß  c      ·       Å              â           @            N             Ú         ^  %    û            ¾   p   
+     ,      ¢  Ü  _  ´   W  E   n       l     ¯   ‡  „  g  )   U  ‘      
+   ¬  a      Ó  w   q     Z  ï  ù    K          Ò   Q   $              ö         ¸  Ê  V   w         Þ  ›              	   z  á    M     ×       ¬       2           !  =   v  Ô   X   ˜          ¨   Ï   ü      Ð  ‹       O             q   ë   6  Å  Æ      4   ÷     ‚   Û   S       ª  #     z  ½  &       ƒ      Ï      R        ’  f  O                  ³  V          )         t  µ  ^  „              ‰        Ù  4  `   »                 #  /             Í       ]  A      ²              U         c      †  S                      )  G  •     7   3   ¦   u   t   Ç  ~     B  ¯  s       @  .  ‹  Ò  Ž          	    o   Ú  ™       ý              /        Œ  Û      D        µ       ‚        ë  Þ   ž      p  ¸      Ò  «                     L  ‡  !  é  Š          ¼  ð   H  Ð   9   à  û   g                   0           ·  e  <       ¼    Ø   Ê   Æ      —       Ì    Z   :  y           =          ’             '   Þ  ö      0    .  ®   4  ‰   à      |       “  ”          B              ä  å  ¿  {      e   }   ÿ   ²  Ö   	          q  É          Û              f  Ž  ß         ã      5  Ý  h   s  S      (      1  F   
+  ì   ê       Í      §  –             `  z   >      ;  n  ]  ª  Ô  2  Ú  ž  ¾  u     ±  É  ‰  ä       œ       í      k  “     n          "   Î      [   ©      š       ð          Ø  ¶   €  º   ?   Í  Á  x   ¡  T  |      C   Á   š  -  ?      L              ³  =  ï   8          •      (                 †  m         ä    +   ˆ    b  Õ     ÿ  g  ý  Ý       7  §           é   l      Ø  9  ß   R   „   '  â    ©  Ä  j  ™      ã       €   <  u  ±       €  œ  æ  Ö  ¶            »          ¤  ê  †       
+  ¨  $   ñ       Õ  o          Ë   ˆ      è  X  ¤   C  ø      è   þ  9  ¥  b  ©   Ù  ¬  ’      ¶  È  Á  D          D  /          –    ã  X      Ð  a  õ      ´      Ó   2    Ä  K  â    ë  v   ø  %       £  ²   i       Š  À      é          ]   ^             Ù   ¿   {  d   ;   Œ          î  h  _   !   *  i                 Î  d  {      Ì  ˜   Ÿ   î   œ    ô     õ   ®          —  &  ‘  J        ¾  ú  À  T   ¦  ¥   	      ~     Ñ       ×  È       ê  >   ô   J  ¸   +  7      ®    þ   F      -            ì          P   ì  ñ  y  x  à  Y        &  Ÿ      T      \             æ   ƒ    «  ü      :         ö     Ü  
+  (      š      a                       P  …   Ô  '      G  m   Z    ¼   Ý  \  ·  W   r        É   ¢  f   ¹   –  ¦      ˜  5   Ü   …    A      ü   8   ó  î      Ñ      ï     V  $    c       l  ³   õ        ¥  y  “  ›     ð  8    û  I      ç  ­      °    æ             È  ÿ  }  ò       Ž   ó   Î       ½  ÷      í      
+      §  >  b   R        ó  ±  ò  o  ù  ¢   ç  U    ÷  Y   ,  º      Ì   v    6                •      ¿  —  ¤  |  ?    ƒ   ½   #  p    1  °  -   Å   *  O  Ã  Ë  6       C  ”  r   Ä       £  3      Ó  5  °                                gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
      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.
      mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)
      xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)
@@ -91,8 +84,8 @@
                 but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is
                 used with 'Offline' deactivated.
    -p <filename>:increment playcount for file by one
-  %s Free  %s Pending  <= cts <=   Logic:   Number of tracks in generated playlists:   Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
-  _Charset (ID3, files):   _Number of sort tabs:   disconnected  iPod Mount _Point: # # autoselect master playlist?
+  %s Free  %s Pending  <= cts <=   Logic:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
+  disconnected # # autoselect master playlist?
  # autoset: set empty tag to filename?
  # delete confirmation
  # position of sliders (paned): playlists, above tracks,
@@ -130,32 +123,27 @@
 %s
  '%s': no arguments (%%...) allowed.
  '%s': only '%%[%s]' allowed.
- '%s-%s' (%s) could not be normalized.
-
- 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. (C) 2002 - 2003
-Jorg Schuler (jcsjcs at users dot sourceforge dot net)
-Corey Donohoe (atmos at atmos dot org)
-
-
- + - ... ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : AL: AR: Aborted writing of extended info.
- Aborting... About gtkpod Add Directories Recursively Add Files or Directories Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Adding/Updating/Syncing Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
- Album Alex Tribble: iPod eject patch
+ 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: + - ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Ignore Frequent Words</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Order</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> <b>mserv</b> AL: AR: Aborted writing of extended info.
+ Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
+ Advanced Sorting Options Album Alex Tribble: iPod eject patch
  All All (AND) All Tracks Never Listened To All Tracks Played Since Last Time All Tracks not Listed in any Playlist Alphabetize Also include tracks never played in "Best Rated" playlist Always write ID3v2.4 tags (only applies to MP3) Andrew Huntwork: Filename case sensitivity fix and various other bugfixes
  Another instance of gtkpod was detected. Playcount server not started.
- Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Armando Atienza: Support with external playcounts
+ Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from the database? The number of playlists the tracks are member of is indicated in parentheses. 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your iPod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Are you sure you want to remove all tracks from the database? Are you sure you want to remove all tracks from your iPod? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to remove the following track from the playlist "%s"? Are you sure you want to remove the following tracks from the playlist "%s"? Armando Atienza: Support with external playcounts
  Artist As a last resort set the following tags to the
-filename if they are (still) empty: As a last resort set the following tags to the filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
+filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
 
- Auto-Generated Playlists Automatically import iTunesDB on startup Automatically select... Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely from the iPod Before removing tracks completely when
- synchronizing directories Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
- entry (faster!) CD CD Nr CD Nr. and total number of CDS in set CO: Calendar Call automatically when synchronizing iTunesDB Cancel Cannot open '%s' for reading.
+ Automatically import iTunesDB on startup Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely when
+synchronizing directories Before removing tracks from the harddisk Before removing tracks from the iPod Before removing tracks from the local database Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
+ entry (faster!) Browse CD CD Nr CD Nr. and total number of CDS in set CO: Calendar Calendar sync command: Call automatically when synchronizing iTunesDB Can't reorder sorted treeview. Cancel Cannot open '%s' for reading.
 
  Cannot remove entry 'All' Cannot unsort track view because of a bug in the GTK lib you are using (%d.%d.%d < 2.5.4). Once you sort the track view, you cannot go back to the unsorted state.
 
- Cannot write mhod of type %d
  Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Check for existing files when copying from iPod. Checking iPOD files against known files in DB Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Chris Cutler: automatic creation of various playlist types
  Chris Micacchi: when sorting ignore 'the' and similar at the beginning of the title
- Cmpl Command Line for 'Enqueue': Command Line for 'Play Now': Command to be called to synchronize calendar: Command to be called to synchronize notes: Command to synchronize contacts: Comment Comp. Compilation Composer Confirm before removing tracks Confirm list of directories Confirmation Dialogue Contacts / Calendar / Notes Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could not create hash value from itunesdb
+ Christoph Kunz: address compatibility issues when writing id3v2.4 type mp3 tags
+ Clinton Gormley: sync scripts for thunderbird
+ Cmpl Command for 'Enqueue': Command for 'Play now': Comment Comp. Compilation Composer Confirm before removing tracks Confirm lists of directories Confirmation Dialogue Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
+ Could not create hash value from itunesdb
  Could not delete backup file: "%s"
  Could not find command '%s' specified for '%s' Could not find mp3gain. I tried to use the following executable: '%s'.
 
@@ -176,51 +164,50 @@
  Could not open '%s' for writing, or file is not an mp4 file.
  Could not open '%s' to calculate MD5 checksum: %s
  Couldn't change tags of file: %s
- Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
- Dangling Tracks Dangling tracks with files on PC were handled. Dangling tracks with no files on PC were removed. Data has been changed and not been saved.
-OK to exit gtkpod? Database in memory corrupt (playlist pointer == NULL). Aborting export. Database in memory corrupt (track pointer == NULL). Aborting export. Date added Date format error: unrecognized character: '%s'
- Date modified Delete But Keep Tracks Delete Confirmation  Delete From Playlist Delete From iPod Delete Including Tracks Delete tracks that have been removed Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted tracks Descending 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 '%': %%. Did not find SLst hunk as expected. Trying to continue.
- Dirs Disc number Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
-Tracks Displayed Track Attributes  Don't allow file duplication Duplicate Recognition is based on a md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
+ Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently no iPod database selected Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
+ Dangling Tracks Dangling tracks with files on PC were handled. Dangling tracks with no files on PC were removed. Daniel Kercher: sync scripts for abook and webcalendar
+ Data has been changed and not been saved.
+OK to exit gtkpod? Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
+ Date modified Date played Delete But Keep Tracks Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending 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 '%': %%. 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 '%': %%. Dirs Disc number Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
+Tracks Don't allow file duplication Drag from iPod database not possible in offline mode. Duplicate detection ERROR while opening file: '%s' (%s).
  ERROR while writing tag to file: '%s' (%s).
  Edit Edit Smart Playlist Edward Matteucci: debugging, special playlist creation, most of the volume normalizing code
- Empty Playlist Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.
-
- English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
+ Effective free space Empty Playlist English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
  Error copying '%s' to '%s' (%s)
  Error copying '%s' to '%s': Permission Error (%s)
  Error creating %s: %s
- Error opening '%s' for reading (%s). Error opening '%s' for writing (%s). Error removing '%s' (%s). Error renaming '%s' to '%s' (%s). Error setting ID3 field: %s
- Error when closing '%s' (%s). Error while reading extended info: %s
- Error while reading from '%s' (%s). Error while reading prefs: %s
- Error while writing to '%s' (%s). Error writing to '%s'.
- Exact path for the 'mp3gain' executable: Execution of mp3gain ('%s') failed. Export selected entry of which sort tab? Extended info will not be used.
+ Error setting ID3 field: %s
+ Error while reading extended info: %s
+ Error while reading prefs: %s
+ Error writing to '%s'.
+ Error: drag from iPod not possible in offline mode. Execution of mp3gain ('%s') failed. Export Tracks Export from iPod database not possible in offline mode. Export selected entry of which sort tab? Extended info will not be used.
  Extended info will not be used. If you have non-transferred tracks,
 these will be lost.
  Extended information file not deleted: '%s' Failed Track Update Failed to write '%s-%s'
  File "%s" has zero play length. Ignoring.
- File Size File not found: '%s'. File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
- For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing. For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist. Found %d orphaned and %d dangling files. Done. Found %d orphaned and %d dangling files. Processing... French:   David Le Brun (david at dyn-ns dot net)
+ File Size File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
+ Found %d orphaned and %d dangling files. Done. Found %d orphaned and %d dangling files. Processing... French:   David Le Brun (david at dyn-ns dot net)
  GB GE: Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
  Graeme Wilford: reading and writing of the 'Composer' ID3 tags, progress dialogue during sync
  Greek (ISO-8859-7) Greek (Windows-1253) Grouping Handle mounting/unmounting of iPod drive Handling of dangling tracks with files on PC was canceled. Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
- 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. Hebrew (IBM-862) Hebrew (Windows-1255) 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). Hiroshi Kawashima: Japanese charset autodetecion feature
- Hz ID Icons of buttons were made by Nicolas Chariot.
-
-
- If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Illegal seek to offset %ld (length %ld) in file '%s'. Import Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
- Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
- Itdb_Track ID '%d' not found.
+ Hebrew (IBM-862) Hebrew (Windows-1255) Hebrew: Assaf Gillat (gillata at gmail dot com)
+ 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). Hiroshi Kawashima: Japanese charset autodetecion feature
+ Hz ID If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Ignore these words when at the beginning of the following fields: Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
+ 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. Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
+ James Ligget: replacement of old GTK file selection dialogs with new GTK filechooser dialogs
  Japanese (EUC-JP) Japanese (ISO-2022-JP) Japanese (Shift_JIS) Japanese (automatic detection) Japanese: Ayako Sano
  Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
  Jens Lautenbach: some optical improvements
  Jens Taprogge: Support for LAME's replay gain tag to normalize volume
  Jim Hall: Decent INSTALL file
  Juergen Helmers, Markus Gaugusch: Conversion scripts to sync calendar/contacts to the iPod
- Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Length of smart playlist rule field (%d) not as expected. Trying to continue anyhow.
- Live _updating Local Local filename not valid (%s) Lower Margin MB Malformed line in '%s': %s
- Manual volume adjust Master-PL Match al_l of the following Match an_y of the following Match only _checked tracks Misc Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root:  Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+ Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Live _updating Local Local Database Local database import failed: 
 
+ Local database import failed: '%s'
+
+ Local database successfully imported Local filename not valid (%s) Lower Margin MB Malformed line in '%s': %s
+ Manual volume adjust Match al_l of the following Match an_y of the following Match only _checked tracks Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+
 To avoid this situation in the future either switch on duplicate detection (will provide MD5 checksums) or avoid using the iPod with programs other than gtkpod.
 
  No command set for '%s' No directory names were stored. Make sure that you enable 'Write extended information' in the Export section of the preferences at the time of importing files.
@@ -229,37 +216,46 @@
  No entry selected in Sort Tab %d No entry selected. No information found for user '%s' in '%s' No lower margin No mserv information could be retrieved for the following track No mserv information could be retrieved for the following %d tracks No playlist selected No playlist selected. No tracks available, playlist not created No tracks in selection No tracks selected No tracks selected. No upper margin No valid directories have been found. Sync aborted.
  No valid filename for: %s
 
- Non-transferred tracks None Nordic (ISO-8859-10) Normalization failed: file not available.
- Normalization failed: file type not supported.
- Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Not a OTG playlist file: '%s' (missing mhpo header). Not a Play Counts file: '%s' (missing mhdp header). Not a iTunesDB: '%s' (missing mhdb header). Nothing to update 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. Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? OTG Playlist OTG Playlist %d OTG playlist file '%s': reference to non-existent track (%d). OTG playlist file ('%s'): header length smaller than expected (%d<20). OTG playlist file file ('%s'): entry length smaller than expected (%d<4). Offline iPod database import failed: 
+ Non-transferred tracks None Nordic (ISO-8859-10) Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Notes sync command: Nothing to update Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? Offline iPod database import failed: 
 
  Offline iPod database import failed: '%s'
 
- Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Opening of '%s' for writing failed. Orphaned Overwrite tags that are already set. PC File Patches were supplied by the following people (list may be incomplete -- please contact me)
+ Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Orphaned Overwrite tags that are already set Overwriting existing file: '%s'
+ PC File Patches were supplied by the following people (list may be incomplete -- please contact me)
 
- Path not found: '%s'. Play Counts file ('%s'): entry length smaller than expected (%d<12). Play Counts file ('%s'): header length smaller than expected (%d<96). Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
+ Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
  Plycnt Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
-Export can be continued at a later time. Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
- Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Recent (%d) Relative volume adjustment between -100 and +100 Removal of dangling tracks with no files on PC was canceled. Remove offline playcounts? Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
+Export can be continued at a later time. Problem creating iPod directory: '%s'. Processing '%s' Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
+ Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Recent (%d) Removal of dangling tracks with no files on PC was canceled. Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove Track from Local Database? Remove Tracks from Local Database? Remove offline playcounts? Removed all %d tracks from the database Removed all %d tracks from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
  Samplerate Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Select the mserv music root directory Select the mserv trackinfo root directory Selected
 Playlist Selected
-Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Settings are not saved.
- Show information about problems when accessing mserv Size Smart Playlist Sndchk. Some tracks could not be deleted from the iPod. Export aborted! 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. Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort Tabs Sort tracks according to:  Sorting Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
- Stop Stop Display Update Successful Track Update Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
- Sync Sync (Writing of iTunesDB) Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Tag Reading Template ('%s') does not match file type '%s'
+Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
+ Skipping '%s' to avoid adding playlist file recursively
+ Skipping existing file with same length: '%s'
+ Smart Playlist Sndchk. Some files were not added successfully Some tracks could not be deleted from the iPod. Export aborted! 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. Some tracks were not copied to your harddisk. Only the copied tracks will be included in the current drag and drop operation.
+
+ Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort tracks according to:  Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
+ Stop Stop Display Update Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
+ Sync Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Template ('%s') does not match file type '%s'
  Template for info field:  Temporarily disable sorting when changing playlist
-or tab entry (faster!) Thai (TIS-620) The GUI was created with the help of glade-2 (http://glade.gnome.org/).
+or tab entry (faster!) Thai (TIS-620) The (former) contents of the following directories will be removed from the database:
+
+ The GUI was created with the help of glade-2 (http://glade.gnome.org/).
  The URI '%s' contains invalidly escaped characters The URI '%s' is invalid The URI '%s' is not an absolute URI using the file scheme 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). The following dangling track doesn't have file on PC. 
 Press OK to remove it, CANCEL to leave it as is. The following %d dangling tracks do not have files on PC. 
 Press OK to remove them, CANCEL to leave them. as is The following dangling track has a file on PC.
 Press OK to have them transfered from the file on next Sync, CANCEL to leave it as is. The following %d dangling tracks have files on PC.
-Press OK to have them transfered from the files on next Sync, CANCEL to leave them as is. The following duplicate track has been removed. The following %d duplicate tracks have been removed. The following duplicate track has not been added to the master play list. The following %d duplicate tracks have not been added to the master play list. The following has occured: The following orphaned file had already been added to the iPod again. It will be removed with the next sync:
+Press OK to have them transfered from the files on next Sync, CANCEL to leave them as is. The following directories will be synchronized:
+
+ The following duplicate track has been removed. The following %d duplicate tracks have been removed. The following duplicate track has not been added to the master play list. The following %d duplicate tracks have not been added to the master play list. The following has occured: The following orphaned file had already been added to the iPod again. It will be removed with the next sync:
 %s
 
- The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The hostname of the URI '%s' is invalid The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed. The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). The track on the iPod is referenced in the playlist file. This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
+ The following track could not be processed (file does not exist): '%s'
+ The following track could not be processed (filetype is known but analysis failed): '%s'
+ The following track could not be processed (filetype unknown): '%s'
+ The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The following tracks have to be copied to your harddisk The hostname of the URI '%s' is invalid The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed. The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). The track on the iPod is referenced in the playlist file. This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
 
- This is the same option as in 'Edit/Delete Confirmation' 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. 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
+ This is the same option as in 'Edit/Delete Confirmation' 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
 This program 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 General Public License for more details.
@@ -267,132 +263,125 @@
 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
 
- Time Time: Title Toolbar Tooltips Total
+ Time Time: Title Total
 (iPod) Total
-(local) Track Track (%s) not in mserv music root directory (%s) Track Editing Track Nr (#) Track Nr. and total number of tracks on CD Track Playing Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
+(local) Track Track (%s) not in mserv music root directory (%s) Track Nr (#) Track Nr. and total number of tracks on CD Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
  Unable to open '%s' for reading
  Unable to open '%s' for writing
  Unable to open config file '%s' for reading
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown action (%d) in smart playlist will be ignored.
- Unknown option: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown option: %s
  Unknown token '%%%c' in template '%s' Unknown token '%s' in template '%s'
- Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for track selections Use mserv database to fill in additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
-for this filename. Use selected charset (on the 'Import' page)
- when writing tags Use selected charset also when updating
- or syncing tracks Use this template to parse filename for tag information Username to be used for mserv database lookup. Username:  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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume Normalization Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
+ Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for tracks selections Use mserv database to fill additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
+for this filename. Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: 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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
  Warning Western (IBM-850) Western (ISO-8859-1) Western (ISO-8859-15) Western (Windows-1252) When adding dirs/files, update information of
- existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod Write extended information (PC filenames,
- MD5 hashes, charset). Recommended. Writing to '%s' failed (%s). Writing to '%s' failed. YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
- Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. You did not import the existing iTunesDB. This is most likely incorrect and will result in the loss of the existing database.
+existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
+ Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. You did not import the existing iTunesDB ('%s'). This is most likely incorrect and will result in the loss of the existing database.
 
+Press 'OK' if you want to proceed anyhow or 'Cancel' to skip storing. If you cancel, you can import the existing database before calling this function again.
+ You did not import the existing iTunesDB. This is most likely incorrect and will result in the loss of the existing database.
+
 Press 'OK' if you want to proceed anyhow or 'Cancel' to abort. If you cancel, you can import the existing database before calling this function again.
- 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. _About _All Tracks _Arrange Sort Tabs _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete But Keep Tracks _Delete Completely From iPod _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _File _Help _Ignore rules _Info Window _Input/Output _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
+ 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. _About _All Tracks _Arrange Sort Tabs _Check iPod's Files _Create Playlists _Create iPod's Directories _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _Export Tracks from Database _File _Help _Ignore rules _Info Window _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
  ends with file not found format not supported genre gtkpod gtkpod Info gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm). 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 options gtkpod version %s usage:
  highest rating hours iPod Database Import Failed.
 
  iPod Database Import Failed: '%s'
 
- iPod Database Saved iPod Database Successfully Imported iPod File iPod ID iPod directory structure must be present before synching to the iPod can be performed.
- iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up. iTunesDB '%s' does not match checksum in extended information file '%s'
+ iPod Database Saved iPod Database Successfully Imported iPod File iPod ID iPod Mount _Point: iPod directory structure must be present before synching to the iPod can be performed.
+ iTunesDB '%s' does not match checksum in extended information file '%s'
 gtkpod will try to match the information using MD5 checksums. This may take a long time.
 
- iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). Aborting. iTunesDB corrupt: found mhyp at %ld in file '%s'. iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'. iTunesDB corrupt: no MHOD at offset %ld in file '%s'. iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. Trying to continue.
- iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. Trying to continue.
  in the last is is after is before is greater than is in the range is less than is not is not set is set kB kbps label21 least often played least recently added least recently played lowest rating 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.
- minutes months most often played most recently added most recently played mserv mserv Root:  mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
+ minutes months most often played most recently added most recently played mserv Root: mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
  prefs_set_toolbar_style: illegal style '%d' ignored
- preparing to copy... random order secs starts with title to tracks weeks window1 Project-Id-Version: gtkpod 0.87-CVS
+ preparing to copy... random order secs starts with title to tracks weeks window1 Project-Id-Version: gtkpod 0.94
 Report-Msgid-Bugs-To: 
-POT-Creation-Date: 2005-07-16 16:18+0900
-PO-Revision-Date: 2005-06-20 23:24+0900
-Last-Translator: David Le Brun <david at dyn-ns.net>
-Language-Team: none
+POT-Creation-Date: 2005-12-14 23:51+0900
+PO-Revision-Date: 2005-09-14 21:46+0900
+Last-Translator: Éric Lassauge <lassauge at users.sf.net>
+Language-Team: FR
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 Plural-Forms: nplurals=2; plural=n>1;
-                    gnupod: (mktunes.pl porté en C) pour la lecture et écriture de iTunesDB (http://www.gnu.org/software/gnupod/)
-     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++.
-     mp3info: détection de la durée du mp3 (http://ibiblio.org/mp3info/)
-     xmms: explorateur, détection de la durée (http://www.xmms.org)
-    Trier par:   --auto:       identique a '-a'.
-   --mountpoint: identique a '-m'.
-   --offline:    identique a '-o'.
-   -a:           importe les donnees de l'iPod automatiquement au demarrage.
-   -h, --help:   affiche ce message
-   -m chemin:    definit le point de montage de votre iPod
-   -o:           mode deconnecte. Aucun changement ne sera exporte vers 
-                l'iPod, mais vers ~/.gtkpod/. L'iPod sera mis a jour si 
-                "Exporter" est appele et le mode "deconnecte" n'est 
-                pas active
-   -p <fichier>: incremente le compteur de lecture du fichier
-  %s de libre  %s en cours  <= et <=   Opérateur logique:   Nombre de morceaux dans les listes de lecture générées:   Préférences: N° de catégorie (%d<%d?) ou n° de zone (%d<%d?) inexistant.
- Jeu de _caractères (ID3, fichiers): _Nombre de zones de tri: déconnecté Point de montage de l'iPod: # # sélection automatique de liste de lecture principale?
- # Définition automatique: mettre à vide les tags dans le fichier?
+                          gnupod : (mktunes.pl porté en C) pour la lecture et écriture de iTunesDB (http://www.gnu.org/software/gnupod/)
+     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++.
+     mp3info : détection de la durée du mp3 (http://ibiblio.org/mp3info/)
+     xmms : explorateur, détection de la durée (http://www.xmms.org)
+    Trier par :   --auto :       identique à «-a».
+   --mountpoint : identique à «-m».
+   --offline     identique à «-o».
+   -a :           importe les données de l'iPod automatiquement au démarrage.
+   -h, --help :   affiche ce message
+   -m chemin :    définit le point de montage de votre iPod
+   -o :           mode déconnecté. Aucun changement ne sera exporté vers 
+                l'iPod, mais vers ~/.gtkpod/. L'iPod sera mis à jour si 
+                "Exporter" est appelé et le mode "deconnecté" n'est 
+                pas activé
+   -p <fichier> : incrémente le compteur de lecture du fichier
+  %s de libre  %s en cours  <= et <=   Opérateur logique :  L:%d M:%d/%d  Préférences : N° de catégorie (%d<%d?) ou n° de zone (%d<%d ?) inexistant.
+ déconnecté # # sélection automatique de liste de lecture principale ?
+ # Définition automatique : mettre à vide les attributs dans le fichier ?
  # confirmation de suppression
- # position des sliders (dans le panneau): listes de lecture, parmi les morceaux,
-# entre les zones et dans la barre de statut.
- # zones: choix 'All', dernière page sélectionnée (=categorie)
+ # position des sliders (dans le panneau) : listes de lecture, parmi les morceaux,
+# entre les zones et dans la barre d'état.
+ # zones : choix «Tous», dernière page sélectionnée (=catégorie)
  # titre=0, artiste, album, genre, compositeur
  # no_piste=5, ipod_id, pc_path, transféré
- # tailles de fenêtre: fenêtre principale, confirmation avec défilement,
-#                     confirmation sans défilement, explorateur de fichiers
- %d%% (%d:%02d:%02d restant) %s - %s %s ne semble pas être un format wav supporté.
+ # tailles de fenêtres : fenêtre principale, confirmation avec défilement,
+#                       confirmation sans défilement, explorateur de fichiers
+ %d%% (%d:%02d :%02d restant) %s - %s %s ne semble pas être un format wav supporté.
  %s:
-"itunesdb_hash=" attendue mais reçue:"%s"
+"itunesdb_hash=" attendue mais reçue :"%s"
  %s:
-Erreur de format: %s
- %s: option -- %c interdite
- %s: option -- %c non valide
- %s: option `%c%s' ne nécessite pas d'argument
- %s: option `%s' est ambigue
- %s: option `%s' nécessite un argument
- %s: option `--%s' ne nécessite pas d'arguement
- %s: option `-W %s' n'autorise pas d'argument
- %s: option `-W %s' est ambigue
- %s: option -- %c nécessite un argument
- %s: option `%c%s' non reconnue
- %s: option `--%s' non reconnue
- '%s' n'est pas un fichier audio mp4
+Erreur de format : %s
+ %s : option -- %c interdite
+ %s : option -- %c non valide
+ %s : l'option «%c%s» n'autorise pas d'argument
+ %s : option «%s» ambigüe
+ %s : l'option «%s» nécessite un argument
+ %s : l'option «--%s» n'autorise pas d'argument
+ %s : l'option «-W %s» n'autorise pas d'argument
+ %s : l'option «-W %s» est ambigue
+ %s : l'option -- %c nécessite un argument
+ %s : option «%c%s» non reconnue
+ %s : option «--%s» non reconnue
+ «%s» n»est pas un fichier audio mp4.
  '%s' n'existe pas. Import annulé.
 
  '%s' est un répertoire, pas un fichier de liste.
 
  '%s' n'est pas un fichier connu de liste
 
- '%s' n'est pas un répertoire. Ignoré.
- '%s' a retourné le résultat suivant:
+ «%s» n'est pas un répertoire. Ignoré.
+ '%s' a retourné le résultat suivant :
 %s
- '%s': aucun argument autorisé (%%s...).
- '%s': seulement '%%s[%s]' autorisé.
- '%s-%s' (%s) ne peut pas être normalisé.
-
- 'JJ/MM/AAAA HH:MM < d < JJ/MM/AAAA HH:MM' ou similaire. Appuyez 'Entrée' pour valider. Condition 'Modifié le' ignorée à cause d'une erreur. Condition 'Joué le' ignorée à cause d'une erreur. (C) 2002 - 2003
-Jorg Schuler (jcsjcs at users dot sourceforge dot net)
-Corey Donohoe (atmos at atmos dot org)
-
-
- + - ... ... avec seulement les icones ...avec seulement les libellés ...avec les icones et libellés ...onglet 'Tous' dans l'onglet de tri... ...liste de lecture principale 0 1 2 3 4 5 : AL: AR: Écriture des infos étendues interrompue.
- Annulation... A propos de gtkpod Ajouter récursivement des répertoires Ajouter des fichiers ou répertoires Ajouter un _répertoire Ajouter des _fichiers Ajouter une _liste de lecture Ajouter les répertoires récursivement Ajouter une liste de lecture Ajout/Mise à jour/Synchronisation Adrian Ulrich: portage du code de liste de lecture à partir de mktunes.pl
- Album Alex Tribble: éjection de l'iPod
+ «%s» : aucun argument autorisé (%%s...).
+ «%s» : seulement «%%s[%s]» autorisé.
+ Condition «Ajouté le» ignorée à cause d'une erreur. 'JJ/MM/AAAA HH:MM < d < JJ/MM/AAAA HH:MM' ou similaire. Appuyez 'Entrée' pour valider. Condition «Modifié le» ignorée à cause d'une erreur. Condition «Joué le» ignorée à cause d'une erreur. Chemin de l'exécutable «mp3gain» : + - ...avec seulement les icônes ...avec seulement les libellés ...avec les icônes et libellés ...onglet «Tous» dans l'onglet de tri... ...liste de lecture principale 0 1 2 3 4 5 : <b>Ajout/Mise à jour/Synchronisation</b> <b>Listes de lecture générées automatiquement</b> <b>Sélection automatique...</b> <b>Confirmation de suppression</b> <b>Attributs des morceaux affichés</b> <b>Ignorer les mots courants</b> <b>Importer</b> <b>Divers</b> <b>Jouer</b> <b>Ordre de tri</b> <b>Zones de tri</b> <b>Synchroniser</b> <b>Synchronization</b> <b>Lecture des attributs</b> <b>Barre d'outils</b> <b>Infobulles</b> <b>Édition de morceau</b> <b>Normalisation du volume</b> <b>mserv</b> AL : AR : Écriture des infos étendues interrompue.
+ Annulation... A propos de gtkpod Ajouter récursivement des répertoires Ajouter des fichiers Ajouter des fichiers ou répertoires Ajouter une liste de lecture Ajouter un _répertoire Ajouter des _fichiers Ajouter une _liste de lecture Ajouter les répertoires récursivement Ajouter une liste de lecture Ajouté Adrian Ulrich : portage du code de liste de lecture à partir de mktunes.pl
+ Options de tri avancées Album Alex Tribble : éjection de l'iPod
  Tous Et Contenant les morceaux qui n'ont jamais été écoutés Contenant les morceaux joués depuis la dernière fois Contenant tous les morceaux qui n'appartiennent à aucune liste Trier Inclure aussi les morceaux qui n'ont jamais été joués dans la liste de 
-lecture des morceaux les mieux notés Toujours écrire les tags ID3v2.4 (s'applique seulement aux MP3) Andrew Huntwork: gestion de la casse des noms de fichier et correctifs
+lecture des morceaux les mieux notés Toujours écrire les attributs ID3v2.4 (s'applique seulement aux MP3) Andrew Huntwork : gestion de la casse des noms de fichier et correctifs
  Une autre instance de gtkpod tourne déjà. Serveur de compteur non démarré.
- Ou Arabe (IBM-864) Arabe (ISO-8859-6) Arabe (Windows-1256) Ê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 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 de lecture '%s' ? Armando Atienza: Suppport pour les compteurs de lecture externes
- Artiste Mettre un tag par défaut au cas où les tags restent vides après l'extraction à partir du nom de fichier: Mettre un tag par défaut au cas où les tags restent vides après l'extraction à partir du nom de fichier: Croissant Sauver automatiquement Mémorisation automatique de la vue désactivée.
+ Ou Arabe (IBM-864) Arabe (ISO-8859-6) Arabe (Windows-1256) Ê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. Ê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. Ê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. Ê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. Ê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. Ê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. Ê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. Ê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. Ê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 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 la liste de lecture «%s» ? Êtes-vous sûr de vouloir supprimer tous les morceaux de la base de données ? Êtes-vous sûr de vouloir supprimer tous les morceaux de votre iPod ? Ê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. Ê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. Êtes-vous sûr de vouloir supprimer le morceau suivant de la liste "%s" ? Êtes-vous sûr de vouloir supprimer les morceaux suivants de la liste "%s" ? Armando Atienza : Suppport pour les compteurs de lecture externes
+ Artiste Mettre un attribut par défaut au cas où les attributs restent
+vides après l'extraction à partir du nom de fichier : Croissant Sauver automatiquement Mémorisation automatique de la vue désactivée.
 
- Listes de lecture générées automatiquement Importer les données de l'iPod au démarrage de gtkpod Sélection automatique... Affiche automatiquement les morceaux qui correspondent aux critères saisis.En désactivant cette option, vous devrez appuyer sur 'Afficher'. o BPM Balte (ISO-8859-13) Balte (ISO-8859-4) Balte (Windows-1257) Avant de supprimer les listes ou morceaux d'une liste de lecture Avant de supprimer complètement les morceaux de l'iPod Avant de supprimer complètement les morceaux lors des synchronisations des
-répertoires Mieux notés (%d) Contenant les morceaux les mieux notés Débit Bloquer l'affichage lors du changement de liste de lecture ou d'entrée
-(plus rapide !) CD N° de CD N° de CD et nombre total de CD CO: Calendrier Éxécuter en même temps que la synchronisation de la base iTunesDB Annuler Ne peut ouvrir en lecture le fichier '%s'.
+ Importer les données de l'iPod au démarrage de gtkpod Affiche automatiquement les morceaux qui correspondent aux critères saisis.En désactivant cette option, vous devrez appuyer sur 'Afficher'. o BPM Balte (ISO-8859-13) Balte (ISO-8859-4) Balte (Windows-1257) Avant de supprimer les listes ou morceaux d'une liste de lecture Avant de supprimer complètement les morceaux lors
+des synchronisations des répertoires Avant de supprimer complètement les morceaux du disque dur Avant de supprimer complètement les morceaux de l'iPod Avant de supprimer complètement les morceaux de la base de données locale Mieux notés (%d) Contenant les morceaux les mieux notés Débit Bloquer l'affichage lors du changement de liste de lecture ou d'entrée
+(plus rapide !) Parcourir CD N° de CD N° de CD et nombre total de CD CO : Calendrier Commande pour la synchronisation du calendrier : Exécuter en même temps que la synchronisation de la base iTunesDB Impossíble de réorganiser la vue arborescente triée. Annuler Ne peut ouvrir en lecture le fichier '%s'.
 
- Ne peut enlever l'entrée 'Tous' La biblitohèque GTK que vous utilisez (%d.%d.%d < 2.5.4) contient un bogue. Une fois que vous triez par morceau, vous ne pouvez pas revenir au tri précédent.
+ Ne peut enlever l'entrée «Tous» La biblitohèque GTK que vous utilisez (%d.%d.%d < 2.5.4) contient un bogue. Une fois que vous triez par morceau, vous ne pouvez pas revenir au tri précédent.
 
- Impossible d'écrire mhod du type %d
- Catégorie:  Celte (ISO-8859-14) Europe centrale (IBM-852) Europe centrale (ISO-8859-2) Europe centrale (Windows-1250) Contrôler l'existence des fichiers lors de la copie à partir de l'ipod. Contrôle des fichiers sur l'iPod par rapport a ceux de la base iTunesDB Chinois simplifié (GB18030) Chinois simplifié (GB2312) Chinois traditionnel (Big5) Chinois traditionnel (Big5-HKSCS) Chris Cutler: création automatique de divers listes de lecture
- Chris Micacchi: lors du tri, gestion de 'the' au début du titre
- Cmpl Ligne de commande pour 'Mettre dans la file d'attente': Ligne de commande pour 'Jouer maintenant': Ligne de commande pour synchroniser le calendrier: Ligne de commande pour synchroniser les notes: Ligne de commande pour synchroniser les contacts: Commentaire Comp. Compilation Compositeur Confirmer avant la suppression des morceaux Confirmer la liste des répertoires Message de confirmation Contacts / Calendrier / Notes Contenant les morceaux affichés Contenant les morceaux sélectionnés %d sur %d du nouveau morceau copié. %d sur %d des nouveaux morceaux copiés. %d morceau copiés sur %d. %d morceaux copiés sur %d. Un morceau copié %d morceaux copiés Ne peut pas créer de hachage à partir de itunesdb
- Ne peut effacer le fichier de sauvegarde: "%s"
- Impossible d'éxécuter la commande '%s' spécifiée pour '%s' Impossible de trouver mp3gain. Éxecutable testé: '%s'.
+ Catégorie :  Celte (ISO-8859-14) Europe centrale (IBM-852) Europe centrale (ISO-8859-2) Europe centrale (Windows-1250) Contrôler l'existence des fichiers lors de la copie à partir de l'ipod. Contrôle des fichiers sur l'iPod par rapport a ceux de la base iTunesDB Chinois simplifié (GB18030) Chinois simplifié (GB2312) Chinois traditionnel (Big5) Chinois traditionnel (Big5-HKSCS) Chris Cutler : création automatique de divers listes de lecture
+ Chris Micacchi : lors du tri, gestion de 'the' au début du titre
+ Christoph Kunz : compatibilité des adresses pour attributs id3v2.4
+ Clinton Gormley : scripts de synchronisation pour thunderbird
+ Cmpl Ligne de commande pour «Mettre dans la file d'attente» : Ligne de commande pour «Jouer maintenant» : Commentaire Comp. Compilation Compositeur Confirmer avant la suppression des morceaux Confirmer la liste des répertoires Message de confirmation Commande pour la synchronisation des contacts : Contenant les morceaux affichés Contenant les morceaux sélectionnés %d sur %d du nouveau morceau copié. %d sur %d des nouveaux morceaux copiés. %d morceau copiés sur %d. %d morceaux copiés sur %d. Un morceau copié %d morceaux copiés Impossible de trouver le fichier pour «%s» sur l'iPod
+ Ne peut pas créer de hachage à partir de itunesdb
+ Ne peut effacer le fichier de sauvegarde : "%s"
+ Impossible d'exécuter la commande «%s» spécifiée pour «%s» Impossible de trouver mp3gain. Éxecutable testé : '%s'.
 
 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' des préférences.
 
@@ -400,99 +389,108 @@
 
 Veuillez contrôler la section 'Outils' dans les préférences.
 
- Impossible de verrouiller '%s'
- Ne peut ouvrir en écriture le fichier d'infos étendues "%s".
+ Impossible de verrouiller «%s»
+ Ne peut ouvrir en écriture le fichier d'infos étendues «%s».
  Ne peut ouvrir le fichier "iTunesDB.ext" pour lire les infos étendues.
- Ne peut ouvrir en lecture/écriture le fichier '%s'.
- Ne peut pas lire le fichier '%s' ou n'est pas un fichier mp4.
- Ne peut ouvrir en lecture le fichier '%s'.
- Ne peut ouvrir en lecture le fichier '%s' (%s).
- Ne peut écrire le fichier '%s' ou n'est pas un fichier mp4.
- N'arrive pas à lire '%s' pour calculer le hachage MD5: %s
- Ne peut changer les tags du fichier: %s
- Créer une liste de lecture Créer un fichier de liste Créer un _fichier de liste Créer les répertoires de l'iPod Créer une nouvelle liste Créer un fichier de liste à partir de quelle zone de tri ? Liste de lecture '%s' créée avec %d morceau. Liste de lecture '%s' créée avec %d morceaux. Liste de lecture créée avec un morceau. Liste de lecture créée avec %d morceaux. Création l'arborescence des fichiers reconnus Crédits Actuellement, seule la notation est supportée. Cyrillique (IBM-855) Cyrillique (ISO-8859-5) Cyrillique (ISO-IR-111) Cyrillique (KOI8-R) Cyrillique (Windows-1251) Cyrillique/Russe (CP-866) Cyrillique/Ukrainien (KOI8-U) D.L. Sharp: Support des fichiers m4b
- Morceaux fictifs Les morceaux fictifs avec leur fichier correspondant sur le PC ont été récupérés. Les morceaux fictifs sans fichier correspondant sur le PC ont été supprimés. Des données modifiées n'ont pas été sauvées.
-Voulez-vous vraiment quitter gtkpod ? Base de données en mémoire corrompue (playlist pointer == NULL). Abandon de l'export. Base de données en mémoire corrompue (track pointer == NULL). Abandon de l'export. Ajouté le Erreur dans le format de date: caractère inconnu: '%s'
- Modifié le Supprimer mais garder les morceaux Confirmation de suppression Supprimer de la liste de lecture Supprimer de l'iPod Supprimer avec les morceaux Supprimer les morceaux qui ont été enlevés Suppression d'un morceau de l'iPod Suppression de %d morceaux de l'iPod Liste de lecture effacée '%s' Liste de lecture '%s' supprimée avec %d morceau. Liste de lecture '%s' supprimée avec %d morceaux. Morceaux supprimés Décroissant Détermine comment le champ d'information doit être construit, par exemple '%a/%A/%T - %t' or '%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 fichier original (nécessite le fichier d'infos étendues): %o, le caractère '%': %%. Ne peut trouver le SLst attendu. Tentative pour continuer quand même.
- Répertoires Numéro de disque Afficher la liste des morceaux qui peuvent être mis à jour. Afficher la liste des morceaux qui ne peuvent pas être mis à jour. Afficher les infos au sujet des doublons Afficher les infos des morceaux qui n'ont pas été mis à jour Afficher les infos des morceaux mis à jour Afficher les messages et avertissements au démarrage Afficher la liste des doublons détectés lors de l'ajout de fichier. Afficher la barre d'outils... Afficher les infobulles dans la fenêtre principale Afficher les infobulles dans la fenêtre des préférences Afficher les morceaux qui correspondent aux critères saisis. Morceaux
-Affichés Attributs des morceaux affichés Ne pas autoriser de doublons de fichiers La détection de doublons est basé sur la somme de contrôle md5 des fichiers Détection de doublon Erreur à l'ouverture du fichier: '%s' (%s).
- ERREUR pour écrire le tag dans le fichier: '%s' (%s).
- Édition Éditer la liste intelligente Edward Matteucci: debogage, création de liste de lectures, majeure partie de la normalisation du volume
- Vide Type MHOD inconnu (%d) lors du parcours de iTunesDB. Ignorance de l'erreur.
- Anglais (US-ASCII) Mettre dans la file d'attente Ajouter dans la file d'attente les morceaux de l'entrée sélectionnée de quelle zone de tri ? Ero Carrera: Validation du nom de fichier et synchro rapide lors de la copie de l'iPod
- Impossible de copier '%s' vers '%s' (erreur: %s)
- Impossible de copier '%s' vers '%s': Autorisation refusée (%s)
+ Ne peut ouvrir en lecture/écriture le fichier «%s».
+ Ne peut pas lire le fichier «%s» ou n'est pas un fichier mp4.
+ Ne peut ouvrir en lecture le fichier «%s».
+ Ne peut ouvrir en lecture le fichier «%s» (%s).
+ Ne peut écrire le fichier «%s» ou n'est pas un fichier mp4.
+ N'arrive pas à lire «%s» pour calculer le hachage MD5 : %s
+ Ne peut changer les attributs du fichier : %s
+ Créer une liste de lecture Créer un fichier de liste Créer un _fichier de liste Créer les répertoires de l'iPod Créer une nouvelle liste Créer un fichier de liste à partir de quelle zone de tri ? Liste de lecture «%s» créée avec %d morceau. Liste de lecture «%s» créée avec %d morceaux. Liste de lecture créée avec un morceau. Liste de lecture créée avec %d morceaux. Création l'arborescence des fichiers reconnus Crédits Pas de base de données iPod sélectionnée Actuellement, seule la notation est supportée. Cyrillique (IBM-855) Cyrillique (ISO-8859-5) Cyrillique (ISO-IR-111) Cyrillique (KOI8-R) Cyrillique (Windows-1251) Cyrillique/Russe (CP-866) Cyrillique/Ukrainien (KOI8-U) D.L. Sharp : Support des fichiers m4b
+ Morceaux fictifs Les morceaux fictifs avec leur fichier correspondant sur le PC ont été récupérés. Les morceaux fictifs sans fichier correspondant sur le PC ont été supprimés. Daniel Kercher : scripts de synchronisation abook et webcalendar
+ Des données modifiées n'ont pas été sauvées.
+Voulez-vous vraiment quitter gtkpod ? Ajouté le Date et heure de l'ajout du morceau La dernière fois que le fichier a été modifié La dernière fois que le fichier a été joué Erreur dans le format de date : caractère inconnu : «%s»
+ Modifié le Dernière fois joué Supprimer mais garder les morceaux Supprimer de la base de données Supprimer du disque dur Supprimer de la liste de lecture Supprimer de l'iPod Supprimer avec les morceaux Supprimer les morceaux inclus (base de données) Supprimer les morceaux inclus (disque dur) Suppression d'un morceau de l'iPod ? Suppression de %d morceaux de l'iPod ? Supprimer le morceau du disque dur ? Supprimer les morceaux du disque dur ? Supprimer les morceaux qui ont été enlevés %d morceau supprimé de la liste de lecture «%s» %d morceaux supprimés de la liste de lecture «%s» Suppression d'un morceau de l'iPod Suppression de %d morceaux de l'iPod %d morceau supprimé du disque dur %d morceaux supprimés du disque dur Liste de lecture effacée «%s» Liste de lecture «%s» supprimée avec %d morceau Liste de lecture «%s» supprimée avec %d morceaux Liste de lecture «%s» supprimée avec %d morceau sur le disque dur. Liste de lecture «%s» supprimée avec %d morceaux sur le disque dur. 1 morceau supprimé de la base de données locale %d morceaux supprimés de la base de données locale Morceaux supprimés Décroissant Détermine comment le champ d'information doit être construit, par exemple '%a/%A/%T - %t' or '%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 fichier original (nécessite le fichier d'infos étendues): %o, le caractère '%': %%. 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 '%': %%. Répertoires Numéro de disque Afficher la liste des morceaux qui peuvent être mis à jour. Afficher la liste des morceaux qui ne peuvent pas être mis à jour. Afficher les infos au sujet des doublons Afficher les infos des morceaux qui n'ont pas été mis à jour Afficher les infos des morceaux mis à jour Afficher les messages et avertissements au démarrage Afficher la liste des doublons détectés lors de l'ajout de fichier. Afficher la barre d'outils... Afficher les infobulles dans la fenêtre principale Afficher les infobulles dans la fenêtre des préférences Afficher les morceaux qui correspondent aux critères saisis. Morceaux
+Affichés Ne pas autoriser de doublons de fichiers Glisser depuis la base de données iPod impossible en mode déconnecté. Détection de doublon Erreur à l'ouverture du fichier : «%s» (%s).
+ ERREUR pour écrire l'attribut dans le fichier : «%s» (%s).
+ Édition Éditer la liste intelligente Edward Matteucci : debogage, création de liste de lectures, majeure partie de la normalisation du volume
+ Espace libre effectif Vide Anglais (US-ASCII) Mettre dans la file d'attente Ajouter dans la file d'attente les morceaux de l'entrée sélectionnée de quelle zone de tri ? Ero Carrera : Validation du nom de fichier et synchro rapide lors de la copie de l'iPod
+ Impossible de copier «%s» vers «%s» (erreur : %s)
+ Impossible de copier «%s» vers «%s» : Autorisation refusée (%s)
  Erreur à la création de "%s" (%s)
- Ne peut ouvrir en lecture le fichier '%s' (%s). Ne peut ouvrir en écriture le fichier '%s' (%s). Erreur de suppression du fichier '%s' (%s). Impossible de renommer '%s' en '%s' (%s). Erreur en remplissant le champ ID3: %s
- Erreur à la fermeture '%s' (%s). Erreur lors de la lecture des infos étendues: %s
- Erreur lors de la lecture à partir de: %s (%s). Erreur lors de la lecture des options: %s
- Erreur d'écriture dans '%s' (%s). Erreur d'écriture du fichier '%s'.
- Chemin de l'éxécutable 'mp3gain': Échec de l'éxécution de mp3gain ('%s'). Exporter l'entrée sélectionnée de quelle zone de tri ? Les infos étendues ne seront pas utilisées.
+ Erreur en remplissant le champ ID3 : %s
+ Erreur lors de la lecture des infos étendues : %s
+ Erreur lors de la lecture des options : %s
+ Erreur d'écriture du fichier «%s».
+ Erreur : glisser-déposer depuis l'iPod impossible en mode hors-ligne. Échec de l'exécution de mp3gain («%s»). Exporter les morceaux Exportation depuis la base de données iPod impossible en mode déconnecté. Exporter l'entrée sélectionnée de quelle zone de tri ? Les infos étendues ne seront pas utilisées.
  Les infos étendues ne seront pas utilisées. Si vous avez des morceaux non,
 transférés, elles seront perdues.
- Fichier d'infos étendues non supprimé: '%s' Échec de la mise à jour du morceau Impossible d'écrire '%s-%s'
+ Fichier d'infos étendues non supprimé : «%s» Échec de la mise à jour du morceau Impossible d'écrire «%s-%s»
  Fichier "%s" à une durée de zéro. Ignoré.
- Taille du fichier Fichier introuvable: '%s'. Taille du fichier Taille des fichiers (supprimés) Taille des fichiers (non transférés) Format du nom des fichiers:  Fichiers Trouver les fichiers orphelins (fichiers sans entrée dans la base iTunesDB) et les morceaux fictifs (morceaux sans fichier correspondant sur l'iPod) Flavio Stanchina: correction de bogues
- Par exemple 'xmms %s' videra la liste de lecture actuelle et ajoutera les morceaux sélectionnés et commencera la lecture. Par exemple 'xmms -e %s' ajoutera à la liste de lecture de xmms les morceaux sélectionnés. Trouvé %d orphelins et %d morceaux fictifs. Fini. %d orphelins et %d morceaux fictifs. Traitement en cours... Français: David Le Brun (david at dyn-ns dot net)
- Go GE: Genre Allemand: Jorg Schuler (jcsjcs at users dot sourceforge dot net)
- Graeme Wilford: lecture et écriture des tags 'Compositeur', barre de progression durant les synchro
+ Taille du fichier Taille du fichier Taille des fichiers (supprimés) Taille des fichiers (non transférés) Format du nom des fichiers :  Fichiers Trouver les fichiers orphelins (fichiers sans entrée dans la base iTunesDB) et les morceaux fictifs (morceaux sans fichier correspondant sur l'iPod) Flavio Stanchina : correction de bogues
+ Trouvé %d orphelins et %d morceaux fictifs. Fini. %d orphelins et %d morceaux fictifs. Traitement en cours... Français : Éric Lassauge (lassauge at users dot sourceforge dot net)
+ Go GE : Genre Allemand : Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+ Graeme Wilford : lecture et écriture des tags 'Compositeur', barre de progression durant les synchro
  Grec (ISO-8859-7) Grec (Windows-1253) Grouping Gérer automatiquement le montage/démontage de l'iPod La récupération des morceaux fictifs à partir des fichiers du PC a été annulée. %d morceau traité sur %d. %d morceaux traités sur %d. Le fichier est vide
- 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. Hébreu (IBM-862) Hébreu (Windows-1255) 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. Hiroshi Kawashima: détection automatique du type de jeu de caractères japonais
- Hz Id Les icones des boutons ont été réalisés par Nicolas Chariot.
+ Hébreu (IBM-862) Hébreu (Windows-1255) Hébreu : Assaf Gillat (gillata at gmail dot com)
+ 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. Hiroshi Kawashima : détection automatique du type de jeu de caractères japonais
+ Hz Id 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é. En cochant cette option, le tri tiendra compte de la casse (minuscule/majuscule). Le tri dépend du jeu de caractères. 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) En cochant cette option, les morceaux qui ont été enlevés des répertoires synchronisés seront supprimés de l'iPod aussi. Si vous cochez cette case, gtkpod parcourera les sous-répertoires récursivement. 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. Si vous sélectionnez plusieurs chansons et éditez le tag du premier morceau les attributs des autres morceaux seront aussi mis à jour. Ignorer ces mots au début des champs suivants : Import de '%s' annulé : pas de support des formats m4a/m4p.Vous devez compiler gtkpod avec la bibliothèque mp4v2.
+ 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. Compteur de lecture incrémenté pour «%s» Information 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. Italien : Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
+ James Ligget : remplacement de l'ancien dialogue GTK de sélection de fichiers par le nouveau
+ Japonais (EUC-JP) Japonais (ISO-2022-JP) Japonais (Shift_JIS) Japonais (détection automatique) Japonais : Ayako Sano
+ Japonais : Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
+ Jens Lautenbach : améliorations esthétiques de l'interface
+ Jens Taprogge : Support du tag 'replay gain' de LAME pour normaliser le volume
+ Jim Hall : Fichier INSTALL décent
+ Juergen Helmers, Markus Gaugusch : Scripts de conversion pour le calendrier/contacts
+ Sorte Coréen (EUC-KR) Dernière fois modifié Dernière fois joué Dernière fois Dernière fois joué Mise à jour automatique Local Base de données locale Échec de l'import de la base données locale : 
 
+ Échec de l'import de la base de données locale : '%s'
 
- 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é. En cochant cette option, le tri tiendra compte de la casse (minuscule/majuscule). Le tri dépend du jeu de caractères. 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) En cochant cette option, les morceaux qui ont été enlevés des répertoires synchronisés seront supprimés de l'iPod aussi. Si vous cochez cette case, gtkpod parcourera les sous-répertoires récursivement. 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. Si vous sélectionnez plusieurs chansons et éditez le tag du premier morceau les tags des autres morceaux seront aussi mis à jour. Erreur de flux à l'offset %ld (longueur %ld) dans le fichier '%s'. Import Import de '%s' annulé: pas de support des formats m4a/m4p.Vous devez compiler gtkpod avec la bibliothèque mp4v2.
- Compteur de lecture incrémenté pour '%s' Information 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. Italien: Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
- Itdb_Track ID '%d' non trouvé.
- Japonais (EUC-JP) Japonais (ISO-2022-JP) Japonais (Shift_JIS) Japonais (détection automatique) Japonais: Ayako Sano
- Japonais: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
- Jens Lautenbach: améliorations esthétiques de l'interface
- Jens Taprogge: Support du tag 'replay gain' de LAME pour normaliser le volume
- Jim Hall: Fichier INSTALL décent
- Juergen Helmers, Markus Gaugusch: Scripts de conversion pour le calendrier/contacts
- Sorte Coréen (EUC-KR) Dernière fois modifié Dernière fois joué Dernière fois Dernière fois joué Longueur du champ de la règle (%d) de la liste intelligente inattendue. Tentative pour continuer quand même.
- Mise à jour automatique Local Nom de fichier local invalide (%s) Borne inférieure Mo Ligne incomplète dans '%s': %s
- Ajustement manuel du volume Liste principale Répondant à toutes les règles Répondant à quelques règles Seulement les morceaux _cochés Divers Modifié le Les plus écoutés (%d) Contenant les morceaux dernièrement joués Un morceau déplacé %d morceaux déplacés Rép. de musique: Nom du fichier sur le PC, si disponible Nom du fichier sur l'iPod Jamais écoutés Ne jamais effacer les fichiers lors des synchronisations Ne plus afficher ce message Nouvelle liste Nouvelle liste de lecture Pas de sommes de contrôle MD5 disponibles pour les morceaux.
+ La base de données locale a été importée avec succès Nom de fichier local invalide (%s) Borne inférieure Mo Ligne incomplète dans «%s» : %s
+ Ajustement manuel du volume Répondant à toutes les règ_les Répondant à quelques _règles Seulement les morceaux _cochés Modifié le Les plus écoutés (%d) Contenant les morceaux dernièrement joués Un morceau déplacé %d morceaux déplacés Racine musique : Nom du fichier sur le PC, si disponible Nom du fichier sur l'iPod Jamais écoutés Ne jamais effacer les fichiers lors des synchronisations Ne plus afficher ce message Nouvelle liste Nouvelle liste de lecture Pas de sommes de contrôle MD5 disponibles pour les morceaux.
 
 Pour éviter cette situation dans le futur, activer la détection des doublons (afin de générer les sommes de contrôle MD5) ou bien éviter d'utiliser votre iPod avec d'autres programmes que gtkpod.
 
- Aucune commande renseignée pour '%s' Aucun nom de répertoire n'est stocké. Soyez sûr que vous avez activé 'Écriture des infos étendues' dans l'onglet Export des préférences lors de l'import des fichiers.
+ Aucune commande renseignée pour «%s» Aucun nom de répertoire n'est stocké. Soyez sûr que vous avez activé 'Écriture des infos étendues' dans l'onglet Export des préférences lors de l'import des fichiers.
 
 Maintenant, pour synchroniser les répertoires, activez la 'détection des doublons' dans l'onglet Import des préférences et ajoutez les répertoires que vous souhaitez synchroniser de nouveau.
- Aucune entrée sélectionnée dans la zone de tri %d Aucun élément sélectionné. Aucune info pour l'utilisateur '%s' dans '%s' Pas de borne inférieure Aucune info mserv n'a pû être récupérée pour le morceau suivant Aucune info mserv n'a pû être récupérée pour les %d fichiers suivants Aucune liste de lecture sélectionnée Pas de liste de lecture sélectionnée Aucun morceau disponible, liste de lecture non créée Aucun morceau sélectionné Aucun morceau sélectionné Aucun morceau sélectionné. Pas de borne supérieure Aucun répertoire valide n'a été trouvé. Synchro annulée.
- Pas de nom de fichier valide pour : %s
+ Aucune entrée sélectionnée dans la zone de tri %d Aucun élément sélectionné. Aucune info pour l'utilisateur «%s» dans «%s» Pas de borne inférieure Aucune info mserv n'a pû être récupérée pour le morceau suivant Aucune info mserv n'a pû être récupérée pour les %d fichiers suivants Aucune liste de lecture sélectionnée Pas de liste de lecture sélectionnée. Aucun morceau disponible, liste de lecture non créée Aucun morceau sélectionné Aucun morceau sélectionné Aucun morceau sélectionné. Pas de borne supérieure Aucun répertoire valide n'a été trouvé. Synchro annulée.
+ Pas de nom de fichier valide pour : %s
 
- Morceaux non transférés Aucun Nordique (ISO-8859-10) Échec de la normalisation: fichier non disponible.
- Échec de la normalisation: type de fichier non supporté.
- Normaliser Normaliser les morceaux de l'entrée sélectionnée de quelle zone de tri ? %d nouveau morceau normalisé sur %d. %d nouveaux morceaux normalisés sur %d. Normalisation... 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 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. 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. 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. Jamais écoutés Le fichier '%s' n'est pas un fichier de liste OTG (entête mhpo manquant). '%s' n'est pas un fichier de compteurs (entête mhdp manquant) '%s' n'est pas un fichier iTunesDB (entête mhdb manquant) Rien à mettre à jour Note: l'ordre des morceaux est toujours enregistré sur l'iPod lors du glisser/déposer utiliser pour les réarranger.
-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. Écriture de la base iTunesDB. Veuillez patienter... Nombre de listes de lecture Nombre de fois où le fichier a été joué Nombre de morceaux Nombre de morceaux dans les listes de lecture générées automatiquement.Mettre '0' pour ne pas spécifier de limite. Créer les répertoires suivants ? Prêt à synchroniser les répertoires suivants ? Liste de lecture OTG Liste de lecture OTG %d Fichier de liste OTG '%s': référence à un morceau inexistant (%d). Fichier de liste OTG ('%s'): entête plus petit que prévu (%d<20). Fichier de liste OTG ('%s'): longueur de données plus petite que prévue (%d<4). Échec de l'import de la base de l'iPod en mode déconnecté : 
+ Morceaux non transférés Aucun Nordique (ISO-8859-10) Normaliser Normaliser les morceaux de l'entrée sélectionnée de quelle zone de tri ? %d nouveau morceau normalisé sur %d. %d nouveaux morceaux normalisés sur %d. Normalisation... 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 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. 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. 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. Jamais écoutés Commande pour la synchronisation des notes : Rien à mettre à jour Écriture de la base iTunesDB. Veuillez patienter... Nombre de listes de lecture Nombre de fois où le fichier a été joué Nombre de morceaux Nombre de morceaux dans les listes de lecture générées : Nombre de morceaux dans les listes de lecture générées automatiquement.Mettre '0' pour ne pas spécifier de limite. Créer les répertoires suivants ? Prêt à synchroniser les répertoires suivants ? Échec de l'import de la base de données de l'iPod en mode déconnecté : 
 
- Échec de l'import de la base de l'iPod en mode déconnecté : '%s'
+ Échec de l'import de la base de l'iPod en mode déconnecté : '%s'
 
- Ok 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. Par album Par artiste Par compositeur Par genre Par note Par année Échec de l'ouverture en écriture de '%s'. Orphelin Écraser les tags déjà présents. Fichier PC Les personnes suivantes ont fournies des corrections ou évolutions (liste peut-être incomplète - veuillez me contacter)
+ La base de données de l'iPod (mode déconnecté) a été importée avec succès Ok 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. Par album Par artiste Par compositeur Par genre Par note Par année Orphelin Écraser les attributs déjà présents Ecrasement du fichier existant : «%s»
+ Fichier PC Les personnes suivantes ont fournies des corrections ou évolutions (liste peut-être incomplète - veuillez me contacter)
 
- Chemin non trouvé : '%s'. Fichier de compteur ('%s'): longueur des données plus petite que prévue (%d<12). Fichier de compteurs ('%s'): longueur de l'entête plus petite que prévue (%d<96). Jouer maintenant Durée de lecture Temps de lecture Jouer les morceaux de l'entrée sélectionnée de quelle zone de tri ? Cpt. lecture Joué le Liste de lecture Nom de la liste: Type de liste: Listes de lecture Entrer le nom de la nouvelle liste de lecture Référez vous à la règle ci-dessous. Ligne de commande pour 'Mettre dans la file d'attente' Ligne de commande pour 'Jouer maintenant' Ligne de commande pour synchroniser le calendrier Ligne de commande pour synchroniser les contacts Chemin de l'éxécutable 'mp3gain' Spécifiez un intervalle de temps Veuillez renseigner la commande à appeler dans la section 'Outils' de la fenêtre de préférences.
+ Jouer maintenant Durée de lecture Temps de lecture Jouer les morceaux de l'entrée sélectionnée de quelle zone de tri ? Cpt. lecture Joué le Liste de lecture Nom de la liste : Type de liste : Listes de lecture Entrer le nom de la nouvelle liste de lecture Référez vous à la règle ci-dessous. Ligne de commande pour «Mettre dans la file d'attente» Ligne de commande pour «Jouer maintenant» Ligne de commande pour synchroniser le calendrier Ligne de commande pour synchroniser les contacts Chemin de l'exécutable «mp3gain» Spécifiez un intervalle de temps Veuillez renseigner la commande à appeler dans la section 'Outils' de la fenêtre de préférences.
  Cpt. lect Préférences Préférences mises à jour Préférences non mises à jour Appuyer sur le bouton pour interrompre Appuyer sur le bouton pour Interrompre.
-L'export peut être repris plus tard. Traitement de '%s'... Ramesh Dharan: 'Édition multiple' (édition de tags de plusieurs fichiers en même temps)
- Aléatoirement (%d) Contenant les morceaux affichés aléatoirement Mélanger l'ordre de la liste de lecture actuelle Notés %d Note Lire Lire les données du disque/iPod Lire les tags à partir du contenu des fichiers (tags ID3 dans les fichiers) Récents (%d) Ajustement relatif du volume entre -100 et +100 La suppression des morceaux fictifs sans fichier correspondant sur le PC a été annulée. Supprimer les compteurs de lecture hors-ligne ? Récupération des données mserv %s Rép. de la base mserv (infos). Règles Sam Clegg: définition par un masque des noms de fichier à l'export de morceaux
- Tx d'échant. Choisissez '-1' pour aucune limite supérieure. Choisissez '0' pour aucune limite inférieure. Sélectionner le répertoire de destination d'export Sélectionner un répertoire à ajouter récursivement Sélectionner le répertoire racine de musique mserv Sélectionner le répertoire racine d'infos mserv Liste de lecture
+L'export peut être repris plus tard. Problème à la création du répertoire de l'iPod : «%s». Traitement de «%s» Traitement de «%s»... Ramesh Dharan : 'Édition multiple' (édition de tags de plusieurs fichiers en même temps)
+ Aléatoirement (%d) Contenant les morceaux affichés aléatoirement Mélanger l'ordre de la liste de lecture actuelle Notés %d Note Lire Lire les données du disque/iPod Lire les attributs à partir du contenu des fichiers (attributs ID3 dans les fichiers) Récents (%d) La suppression des morceaux fictifs sans fichier correspondant sur le PC a été annulée. Supprimer tout les morceaux de la base de données Supprimer tout les morceaux du iPod Supprimer le morceau de la liste de lecture ? Supprimer les morceaux de la liste de lecture ? Supprimer un morceau de la base de données locale ? Supprimer des morceaux de la base de données locale ? Supprimer les compteurs de lecture hors-ligne ? Suppression des %d morceaux de la base de données Suppression des %d morceaux de l'iPod Récupération des données mserv %s Rép. de la base mserv (infos). Règles Sam Clegg : définition par un masque des noms de fichier à l'export de morceaux
+ Tx d'échant. Choisissez «-1» pour aucune limite supérieure. Choisissez «0» pour aucune limite inférieure. Sélectionner le répertoire de destination d'export Sélectionner un répertoire à ajouter récursivement Sélectionner le répertoire racine de musique mserv Sélectionner le répertoire racine d'infos mserv Liste de lecture
 Sélectionnée Morceaux
-Sélec_tionnés Zon_e de tri sélectionnée _Liste de lecture sélectionnée Morceaux sélec_tionnés Réglages non sauvés.
- Afficher les informations sur les problèmes liés à mserv Taille Intelligente Ctrl. Son Des morceaux ne peuvent pas être supprimés de l'iPod. Export annulé! Certains morceaux joués hors-ligne ne peuvent être trouvés dans iTunesDB.
-OK pour les supprimer du fichier de compteur de lecture hors-ligne ? Certains morceaux n'ont pas été copié. Des morceaux n'ont pas été copiés sur l'iPod. Export annulé! Zones de tri Trier les morceaux suivant: Tri Options de tri Trier en tenant compte de la casse Zone de tri: Zones de tri: Contrôle du son Source: Europe du sud (ISO-8859-3) Spécial Indiquer le chemin exact ainsi que les paramètres de ligne de commande. '%i' sera remplacé par le point de montage de l'iPod. Spécifier un intervalle Notation en étoiles de 0 à 5 Afficher automatiquement Steve Jay: utilisation de statvfs pour une meilleure portabilité
- Interrompre Annuler la mise à jour de l'affichage Morceau mis à jour Création réussie des répertoires de l'iPod dans '%s'. Un réglage qui est supposé indiquer à l'iPod d'augmenter ou diminuer la vitesse de lecture Suèdois: Stefan Asserhall (stefan asserhall at comhem dot se)
- Synchroniser Synchronisation (Écriture de iTunesDB) Synchroniser les répertoires Synchroniser les répertoires de l'entrée sélectionnée de quelle zone de tri ? Synchroniser le calendrier, contacts et notes Tout synchroniser Synchroniser le calendrier Synchroniser les contacts Synchroniser les notes Synchroniser la base _iTunesDB Synchroniser les répertoires Synchronisation annulée Synchronisation terminée. Synchronisation terminée. Aucun fichier effacé. Synchronisation du calendrier, contacts et notes... Synchronisation du répertoires '%s' Jeu de caractères du système To Lecture des tags Le modèle ('%s') ne correspond pas au type de fichier '%s'
- Modèle pour le champ d'info: Bloquer le tri lors du changement de liste
-ou d'onglet (plus rapide !) Thaï (TIS-620) L'interface utilisateur a été créée avec l'aide de glade-2 (http://glade.gnome.org).
- L'URI '%s' contient des caractères d'échappements invalides L'URI '%s' est invalide L'URI '%s' n'est pas une URI absolue utilisant le schema de fichier 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). Le morceau fictif suivant n'a pas de fichier correspondant sur le PC.
+Sélec_tionnés Zon_e de tri sélectionnée _Liste de lecture sélectionnée Morceaux sélec_tionnés Afficher les informations sur les problèmes liés à mserv Taille Saut de «%s» parce qu'il s'agit d'un répertoire.
+ Saut de  '%s' pour éviter d'ajouter une liste de lecture récursivement
+ Saut du fichier existant de même taille : «%s»
+ Intelligente Ctrl. Son Echec de l'ajout de quelques fichiers Des morceaux ne peuvent pas être supprimés de l'iPod. Export annulé! Certains morceaux joués hors-ligne ne peuvent être trouvés dans iTunesDB.
+OK pour les supprimer du fichier de compteur de lecture hors-ligne ? 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.
+
+ Certains morceaux n'ont pas été copiés. Des morceaux n'ont pas été copiés sur l'iPod. Export annulé! Trier les morceaux suivant : Options de tri Trier en tenant compte de la casse Zone de tri : Zones de tri : Contrôle du son Source : Europe du sud (ISO-8859-3) Spécial Indiquer le chemin exact ainsi que les paramètres de ligne de commande. '%i' sera remplacé par le point de montage de l'iPod. Spécifier un intervalle Notation en étoiles de 0 à 5 Afficher automatiquement Steve Jay : utilisation de statvfs pour une meilleure portabilité
+ Interrompre Annuler la mise à jour de l'affichage Morceau mis à jour Les fichiers ont bien été ajoutés Création réussie des répertoires de l'iPod dans «%s». Un réglage qui est supposé indiquer à l'iPod d'augmenter ou diminuer la vitesse de lecture Suèdois : Stefan Asserhall (stefan asserhall at comhem dot se)
+ Synchroniser Synchroniser les répertoires Synchroniser les répertoires de l'entrée sélectionnée de quelle zone de tri ? Synchroniser le calendrier, contacts et notes Tout synchroniser Synchroniser le calendrier Synchroniser les contacts Synchroniser les notes Synchroniser la base _iTunesDB Synchroniser les répertoires Synchronisation annulée Synchronisation terminée. Synchronisation terminée. Aucun fichier effacé. Synchronisation du calendrier, contacts et notes... Synchronisation du répertoires «%s» Jeu de caractères du système To Le modèle ('%s') ne correspond pas au type de fichier «%s»
+ Modèle pour le champ d'info : Bloquer le tri lors du changement de liste
+ou d'onglet (plus rapide !) Thaï (TIS-620) Le contenu (actuel) des répertoires suivants sera éliminé de la base de données :
+
+ L'interface utilisateur a été créée avec l'aide de glade-2 (http://glade.gnome.org).
+ L'URI «%s» contient des caractères d'échappements invalides L'URI «%s» est invalide L'URI «%s» n'est pas une URI absolue utilisant le schema de fichier 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). Le morceau fictif suivant n'a pas de fichier correspondant sur le PC.
 Choisissez OK pour le supprimer, Annuler pour le laisser tel quel. Les %d morceaux fictifs suivant n'ont pas de fichier correspondant sur le PC.
 Choisissez OK pour les supprimer, Annuler pour les laisser tel quel. Le morceau fictif suivant a son fichier correspondant sur le PC.
 Choisissez OK pour le transférer à la prochaine synchro, Annuler pour laisser tel quel. Les %d morceaux fictifs suivant ont leurs fichiers correspondants sur le PC.
-Choisissez OK pour le transférer à la prochaine synchro, Annuler pour laisser tel quel. Le morceau suivant est en double et a été supprimé. Les %d morceaux suivants sont en double et ont été supprimés. Le morceau (doublon) n'a pas été ajouté à la liste de lecture principale. Les %d morceaux (doublons) n'ont pas été ajoutés à la liste de lecture principale. Le problème suivant est survenu: Le fichier orphelin suivant a déjà été ajouté à l'iPod. Il sera supprimé à la prochaine synchronisation:
+Choisissez OK pour le transférer à la prochaine synchro, Annuler pour laisser tel quel. Les répertoires suivant seront synchronisés :
+
+ Le morceau suivant est en double et a été supprimé. Les %d morceaux suivants sont en double et ont été supprimés. Le morceau (doublon) n'a pas été ajouté à la liste de lecture principale. Les %d morceaux (doublons) n'ont pas été ajoutés à la liste de lecture principale. Le problème suivant est survenu : Le fichier orphelin suivant a déjà été ajouté à l'iPod. Il sera supprimé à la prochaine synchronisation :
 %s
 
- Le morceau suivant ne peut pas être mis à jour. Les %d morceaux suivants ne peuvent pas être mis à jour. Le morceau suivant a été mis à jour Les %d morceaux suivants ont été mis à jour Le nom d'hôte de l'URI '%s' est invalide Le fichier local du morceau est référencé dans la liste. Si le fichier n'existe pas, un message d'erreur est affiché. L'URI de fichier local '%s' peut ne pas inclure un '#' Les tags ID3 seront écrits dans les fichiers sur votre disque et l'iPod (si disponible) Le morceau de l'iPod est référencé dans le fichier de liste de lecture. Ce type de DND (%d) n'est pas (encore) supporté. Si vous vous sentez prêt à l'implémenter, veuillez contacter l'auteur.
- C'est la même option que dans 'Édition/Confirmation de suppression 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. 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'. Cette option se réactivera quans vous mettrez à jour gtkpod Ce programme emprunte du code des projets suivants:
+ Le morceau suivant ne peut pas être mis à jour (fichier inexistant) : '%s'
+ Le morceau suivant ne peut pas être mis à jour (type de fichier connu mais échec de l'analyse) : '%s'
+ Le morceau suivant ne peut pas être mis à jour (type de fichier inconnu) : '%s'
+ Le morceau suivant ne peut pas être mis à jour. Les %d morceaux suivants ne peuvent pas être mis à jour. Le morceau suivant a été mis à jour Les %d morceaux suivants ont été mis à jour Les morceaux suivants doivent être copiés sur votre disque dur Le nom d'hôte de l'URI «%s» est invalide Le fichier local du morceau est référencé dans la liste. Si le fichier n'existe pas, un message d'erreur est affiché. L'URI de fichier local «%s» peut ne pas inclure un '#' Les tags ID3 seront écrits dans les fichiers sur votre disque et l'iPod (si disponible) Le morceau de l'iPod est référencé dans le fichier de liste de lecture. 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.
+ C'est la même option que dans «Édition/Confirmation de suppression» 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. Cette option se réactivera quans vous mettrez à jour gtkpod Ce programme emprunte du code des projets suivants :
  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
 This program 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 General Public License for more details.
@@ -500,37 +498,35 @@
 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
 
- Durée Heure Titre Barre d'outils Infobulles Total
+ Durée Heure : Titre Total
 (iPod) Total
-(local) Morceau Morceau (%s) non présent dans le répertoire de musique mserv (%s) Édition de morceau N° de piste (#) N° de piste et nombre total de pistes du CD Lecture des morceaux Numéro de piste Morceaux Contenant les morceaux les plus écoutés Transféré Traducteurs Transféré Turc (IBM-857) Turc (ISO-8859-9) Turc (Windows-1254) Impossible de lancer 'mkdir %s'
- Impossible d'ouvrir le fichier '%s'
- Impossible d'ouvrir en écriture "%s"
- Impossible d'ouvrir en lecture le fichier des options '%s'
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Inconnu L'action inconnue (%d) dans la liste intelligente sera ignorée.
- Option inconnue: %s
- Le paramêtre '%%%c' dans le modèle '%s' n'existe pas Paramètre '%s' dans le modèle '%s' inexistant
- Morceaux non notés Mettre à jour _Mettre à jour les données mserv à partir des fichiers Mettre à jour l'entrée sélectionnée de quelle zone de tri ? Les morceaux sélectionnés ont été mis à jour à partir des données mserv. Les morceaux sélectionnés ont été mis à jour à partir des fichiers. %s en cours de mise à jour Borne supérieure Utiliser 'Édition multiple' aussi pour les titres Utiliser 'Édition multiple' pour les morceaux sélectionnés Utiliser la base mserv pour remplir les autres informations Utilise le jeu de caractère sélectionné pour ce fichier
-(voir la section ci-dessus: 'Ajout/Mise à jour/Synchronisation') Utiliser le jeu de caractère sélectionné (sur l'onglet 'Import') pour l'écriture des tags Le jeu de caractères sélectionné sera utilisé pour la mise à jour ou la 
-synchronisation des morceaux Utiliser ce masque pour générer les tags à partir du nom de fichier Utilisateur pour se connecter à la base mserv. Utilisateur: Généralement, vous ne devriez pas avoir à utiliser cette option, car elle peut avoir des effets inattendus (pas d'annulation possible). Vietnamien (VISCII) Vietnamien (Windows-1258) Hébreu visuel (ISO-8859-8) Vol. Volume Normalisation du volume Ajustement du volume en dB (replay gain) -- vous devez activer 'Contrôle du son' sur l'iPod Walter Bell: correction de la manipulation des URIs avec des caractères d'échappement
- Attention Europe occidentale (IBM-850) Europe occidentale (ISO-8859-1) Europe occidentale (ISO-8859-15) Europe occidentale (Windows-1252) Lors de l'ajout de fichiers/répertoires, mettre à jour les informations des
- morceaux existants avec les doublons Lors de la copie de morceaux à partir de l'iPod, aucun contrôle n'est fait pour déterminer si le fichier existe déjà. En activant cette option, gtkpod vérifiera que la taille du fichier de destination est identique à la taille 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. Lors de la synchronisation des répertoires Point de montage de l'iPod. Habituellement '/mnt/ipod' Fichier déjà transféré sur l'iPod ou non S'interrompra après la fin du traitement courant de mp3gain. Écrire les données sur le disque/iPod Écrire les tags ID3 sur le disque lors de leur modification dans gtkpod Écrire les infos supplémentaires (noms de fichiers PC, somme de contrôle MD5,
- jeu des caractères). Recommandé. Échec de l'écriture dans '%s' (%s). Erreur d'écriture du fichier '%s'. AN: Yaroslav Halchenko: gestion des fichiers orphelins et morceaux fictifs
- Année Vous pouvez aussi utiliser le tableau des entêtes, mais cela permet de trier sur une colonne qui n'est pas affichée. 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.
+(local) Morceau Morceau (%s) non présent dans le répertoire de musique mserv (%s) N° de piste (#) N° de piste et nombre total de pistes du CD Numéro de piste Morceaux Contenant les morceaux les plus écoutés Transféré Traducteurs Transféré Turc (IBM-857) Turc (ISO-8859-9) Turc (Windows-1254) Impossible de lancer «mkdir %s»
+ Impossible d'ouvrir le fichier «%s»
+ Impossible d'ouvrir en écriture «%s»
+ Impossible d'ouvrir en lecture le fichier des options «%s»
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Inconnu Option inconnue : %s
+ Le paramêtre «%%%c» dans le modèle «%s» n'existe pas Paramètre «%s» dans le modèle «%s» inexistant
+ Echec du démontage de «%s» (%s). Echec du démontage de «%s». Morceaux non notés Mettre à jour _Mettre à jour les données mserv à partir des fichiers Mettre à jour l'entrée sélectionnée de quelle zone de tri ? Les morceaux sélectionnés ont été mis à jour à partir des données mserv. Les morceaux sélectionnés ont été mis à jour à partir des fichiers. %s en cours de mise à jour Borne supérieure Utiliser «Édition multiple» aussi pour les titres Utiliser «Édition multiple» pour les morceaux sélectionnés Utiliser la base mserv pour remplir les autres informations Utilise le jeu de caractère sélectionné pour ce fichier
+(voir la section ci-dessus : 'Ajout/Mise à jour/Synchronisation') Utiliser ce masque pour générer les attributs à partir du nom de fichier : Utilisateur pour se connecter à la base mserv. Utilisateur : Généralement, vous ne devriez pas avoir à utiliser cette option, car elle peut avoir des effets inattendus (pas d'annulation possible). Vietnamien (VISCII) Vietnamien (Windows-1258) Hébreu visuel (ISO-8859-8) Vol. Volume Ajustement du volume en dB (replay gain) -- vous devez activer 'Contrôle du son' sur l'iPod Walter Bell : correction de la manipulation des URIs avec des caractères d'échappement
+ Attention Europe occidentale (IBM-850) Europe occidentale (ISO-8859-1) Europe occidentale (ISO-8859-15) Europe occidentale (Windows-1252) Lors de l'ajout de fichiers/répertoires, mettre à jour
+les informations des morceaux existants avec les doublons Lors de la copie de morceaux à partir de l'iPod, aucun contrôle n'est fait pour déterminer si le fichier existe déjà. En activant cette option, gtkpod vérifiera que la taille du fichier de destination est identique à la taille 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. Lors de la synchronisation des répertoires Point de montage de l'iPod. Habituellement «/mnt/ipod» Fichier déjà transféré sur l'iPod ou non S'interrompra après la fin du traitement courant de mp3gain. Écrire les données sur le disque/iPod Écrire les attributs ID3 sur le disque lors de leur modification dans gtkpod AN : Yaroslav Halchenko : gestion des fichiers orphelins et morceaux fictifs
+ Année Vous pouvez aussi utiliser le tableau des entêtes, mais cela permet de trier sur une colonne qui n'est pas affichée. Vous n'avez pas importé la base iTunesDB ('%s') existante. C'est souvent une erreur et cela impliquera la perte de la base existante.
 
 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.
- 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. A _propos _Tous les morceaux _Organiser les zones de tri _Contrôler les fichiers de l'iPod _Créer une liste de lecture _Créer les répertoires système de l'iPod S_upprimer mais garder les morceaux S_upprimer ainsi que les morceaux _Affichage _Morceaux affichés _Édition _Préférences _Ajouter à la file d'attente _Fichier A_ide Ne respectant pas les règles _Fenêtre d'infos Entrée/_Sortie _Supprimer une zone de tri _Limiter à _Locale _M3U _Ajouter une zone de tri _Nouveaux morceaux ajoutés _Normaliser le volume M_ode Déconnecté _PLS _Jouer maintenant Locale de _préférence _Lire les infos de la base iTunesDB _Sauver l'ordre de tri des morceaux affichés _Tri _Synchroniser les répertoires _Barre d'outils _Outils _Infobulles _Mettre à jour les morceaux à partir des fichiers _Affichage _iPod album artiste 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'. contient copie... jours suppression... ne contient pas Glisser/déposer: ignoré '%s'
- finit par fichier introuvable format non supporté genre gtkpod Info gtkpod gtkpod Version %s: Interface multilingue et multi-plateforme pour l'iPod(tm) d'Apple. 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. Options gtkpod gtkpod version %s usage:
+ 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.
+
+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.
+ 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. A _propos _Tous les morceaux _Organiser les zones de tri _Contrôler les fichiers de l'iPod _Créer une liste de lecture _Créer les répertoires système de l'iPod _Affichage _Morceaux affichés _Édition _Préférences _Ajouter à la file d'attente _Exporter les morceaux de la base de données _Fichier A_ide Ne respectant _pas les règles _Fenêtre d'infos _Supprimer une zone de tri _Limiter à _Locale _M3U _Ajouter une zone de tri _Nouveaux morceaux ajoutés _Normaliser le volume _Nombre de zones de tri : M_ode Déconnecté _PLS _Jouer maintenant Locale de _préférence _Lire les infos de la base iTunesDB _Sauver l'ordre de tri des morceaux affichés _Tri _Synchroniser les répertoires _Barre d'outils _Outils _Infobulles _Mettre à jour les morceaux à partir des fichiers _Affichage _iPod album artiste 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'. contient copie... jours suppression... ne contient pas Glisser/déposer : «%s» ignoré
+ finit par fichier introuvable format non supporté genre gtkpod Info gtkpod gtkpod Version %s : Interface multilingue et multi-plateforme pour l'iPod(tm) d'Apple. 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. Options gtkpod gtkpod version %s usage :
  les mieux notés heures Échec de l'import de la base de l'iPod.
 
- Échec de l'import de la base de l'iPod : '%s'
+ Échec de l'import de la base de l'iPod : '%s'
 
- Base de l'iPod sauvegardée La base de l'iPod a été importée avec succès Fichier iPod Id iPod Les répertoires systèmes de l'iPod doivent exister avant de pouvoir synchroniser l'ipod.
- Corruption de iTunesDB ('%s'): déjà trouvés deux listes mhsds -- abandon. La base iTunesDB '%s' ne correspond pas au hachage MD5 des infos étendues du fichier '%s'
+ Base de l'iPod sauvegardée La base de l'iPod a été importée avec succès Fichier iPod Id iPod Point de montage de l'iPod : Les répertoires systèmes de l'iPod doivent exister avant de pouvoir synchroniser l'ipod.
+ La base iTunesDB '%s' ne correspond pas au hachage MD5 des infos étendues du fichier '%s'
 gtkpod essaiera de faire concorder l'information en utilisant les sommes de contrôle MD5. Cela peut prendre du temps.
 
- iTunesDB ('%s'): longueur de l'entête mhsd plus petite que prévue (%ld<32). Interruption. Corruption d'iTunesDB: trouvé mhyp à %ld du fichier '%s'. Corruption d'iTunesDB: longueur 0 à %ld du fichier '%s'. Corruption d'iTunesDB : pas de MHOD à l'offset %ld du fichier '%s'. Corruption possible d'iTunesDB: nombre de listes (mhyp) incohérent. Tentative pour continuer quand même.
- Corruption possible de iTunesDB: nombre de fichiers (mhit) incohérent. Tentative pour continuer quand même.
- est le dernier est est après est avant est plus grand que est dans l'intervalle est plus petit que n'est pas n'est pas rempli est rempli ko kbps label21 les moins souvent joués ajoutés en premier joués il y a longtemps les moins bien notés 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.
- minutes mois les plus souvent joués dernièrement ajoutés dernièrement joués mserv Racine mserv: Fichier de données mserv (%s) non présent pour le morceau (%s) problème de récupération des données mserv La base mserv utilise ce répertoire pour chercher une musique - n/c pas de nom de fichier disponible n'est pas le dernier déconnecté prefs_set_pm_sort: style '%d' non reconnu
- prefs_set_toolbar_style: style '%d' non reconnu
+ est le dernier est est après est avant est plus grand que est dans l'intervalle est plus petit que n'est pas n'est pas rempli est rempli ko kbps label21 les moins souvent joués ajoutés en premier joués il y a longtemps les moins bien notés 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.
+ minutes mois les plus souvent joués dernièrement ajoutés dernièrement joués Racine mserv : Fichier de données mserv (%s) non présent pour le morceau (%s) problème de récupération des données mserv La base mserv utilise ce répertoire pour chercher une musique. - n/c pas de nom de fichier disponible n'est pas le dernier déconnecté prefs_set_pm_sort : style «%d» non reconnu
+ prefs_set_toolbar_style : style «%d» non reconnu
  préparation de la copie... ordre aléatoire secs commence par titre à morceaux semaines window1 
\ No newline at end of file

Modified: gtkpod/branches/upstream/current/po/fr.po
===================================================================
--- gtkpod/branches/upstream/current/po/fr.po	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/fr.po	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 '/mnt/ipod/' or similar."
-msgstr "Point de montage de l'iPod. Habituellement '/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 ""
-"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/branches/upstream/current/po/gtkpod.pot
===================================================================
--- gtkpod/branches/upstream/current/po/gtkpod.pot	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/gtkpod.pot	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 '/mnt/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/branches/upstream/current/po/he.gmo
===================================================================
--- gtkpod/branches/upstream/current/po/he.gmo	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/he.gmo	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,112 +1,94 @@
-Þ•    {     ô  ©  Ì7      pJ     qJ     sJ     xJ     ~J  n   …J  €   ôJ  E   uK  I   »K     L     L     0L     OL  ;   nL  %   ªL  3   ÐL  À   M  4   ÅM     úM     N     N     N  *   $N  
-   ON  H   ]N     ¦N     ¿N  
-   ×N     åN     ùN     ûN  &   O     AO  _   XO  9   ¸O  *   òO  ,   P  q   JP     ¼P     ÕP  /   ÝP  +   
-Q     9Q     OQ     iQ  ,   ƒQ     °Q  %   ÎQ  ,   ôQ  -   !R      OR  &   pR     —R     ·R  -   ×R  &   S  +   ,S  &   XS  "   S  '   ¢S  $   ÊS     ïS  '   
-T  +   5T  R   aT  .   ´T  ,   ãT     U  p   &U     —U     ™U     ›U     ŸU  
-   «U     ¶U     ÐU     îU     V     V     V     V     	V     V     
-V     V     .V     NV     mV  !   ˆV  
-   ªV     ¸V     ÄV     ÐV     áV     íV     W     W     &W     6W     KW     gW     tW     xW  "   |W     ŸW     «W     ¸W  	   ÔW     ÞW  
-   ÷W     X  
-   X  
-   X     -X     IX     `X     fX  F   ~X     ÅX     ÞX     äX     Y  	   Y     Y  !   /Y  %   QY     wY  9   ƒY  /   ½Y  J   íY  G   8Z     €Z     ‰Z     šZ     ®Z  ]  ÄZ  _  "\  _  ‚]  C  â^  ;  &`  2   ba  =   •a  :   Óa  O  b  ˜   ^c  2   ÷c     *d  R   1d  R   „d  	   ×d  
-   ád  $   ìd     e  (   *e     Se  ‹   ke     ÷e     ùe     ýe     f     &f  3   <f  /   pf  A    f  @   âf  (   #g  $   Lg  .   qg      g     °g     Âg  <   Êg     h     h     h  %   h     =h     Ah     Jh  .   ah     h     ¯h     ¶h     Öh  ¤   ðh     •i  
-   ³i     ¾i     Ói     îi     j  0   ,j  -   ]j     ‹j     ¨j     Äj      ßj  ;    k  T   <k  P   ‘k  .   âk     l     l     2l     Ol     fl  -   ~l  *   ¬l      ×l     øl      m     m     m     m     :m     Vm     sm     ‰m     ¥m     ¼m     Øm  6   óm  .   *n  !   Yn  %   {n  *   ¡n  #   Ìn  .   ðn  D  o  o   dp     Ôp  /   ôp  9   $q  -   ^q  =   Œq  !   Êq  '   ìq  =   r  2   Rr  !   …r     §r     »r     Ðr     ær     þr  ;   s  J   Ns  A   ™s     Ûs     ús  #   t  #   &t     Jt     ]t     st     ‰t     ›t     ³t     Ít  ;   ét     %u  .   5u  1   du  7   –u  <   Îu  G   v  D   Sv  
-   ˜v  "   £v  *   Æv  (   ñv  0   w  
-   Kw     Yw     ew     |w     ‘w     ¦w     »w     Ðw     áw  "   ùw  "   x  E   ?x  8   …x  $   ¾x  H   ãx  M   ,y  ?   zy     ºy  `   Ðy  x   1z  G   ªz     òz  
-   {  ’  {    Ÿ|  8   =~     v~     {~     ‡~  8   ~  3   È~  &   ü~  %   #  !   I  (   k  J   ”     ß     ò      €  5   3€     i€     z€     –€  ;   ³€     ï€  %     ,   )     V     [  \   o     ́     ၠ J   ð     ;‚     N‚  3   V‚  R   Š‚      Ý‚  2   þ‚     1ƒ  $   Hƒ  $   mƒ     ’ƒ  !   ¬ƒ     ΃     ëƒ  &   	„  #   0„     T„  !   s„     •„  (   ­„  #   Ö„  (   ú„      #…  X   D…  +   …     É…     Ý…  *   ö…  	   !†     +†  	   A†     K†     _†     {†     †  s   “†     ‡  d   #‡  ^   ˆ‡  .   ç‡  6   ˆ  2   Mˆ     €ˆ     ƒˆ     ‡ˆ     ˆ  A   •ˆ  ^   ׈     6‰     I‰     ^‰  (   g‰  :   ‰  .   ˉ     ú‰  ž   Š     ¶Š     ÇŠ  /  ÝŠ  9   
-Œ     GŒ     JŒ  1   MŒ  p   Œ  z   ðŒ  K  k  z   ·Ž  G   2     z  ƒ     5        Ő     ̐     ]‘     z‘  š   †‘  N   !’     p’  ]   ’     í’     ÿ’     “     +“     J“  E   `“  +   ¦“  F   Ò“     ”  [   8”     ””     ™”  
-   ©”     ·”  	   Ô     Í”  U   Ù”     /•     >•     D•      S•  $   t•  $   ™•     ¾•     Ü•     é•     ì•     –  	   –     '–     C–     _–     z–     –     ˆ–     ›–     ·–     ×–     ã–      ð–     —     *—  #   9—     ]—     |—     ƒ—  Ø   —     i˜  I  ˜      Ë™     ì™  *   ÿ™     *š  ƒ   :š     ¾š     Óš  )   éš     ›     *›     =›     Q›  4   a›     –›     ²›     É›     Λ  *   ã›  /   œ  	   >œ  5   Hœ  7   ~œ     ¶œ  «  Åœ  Ú  qž  á  L   
-   .¢  4   9¢  3   n¢  +   ¢¢     ΢     ⢠   ô¢  $   ü£     !¤  )   5¤     _¤  (   p¤  †   ™¤  '    ¥  ,   H¥     u¥     ‚¥  =   ’¥  F   Ð¥  I   ¦  '   a¦  +   ‰¦  +   µ¦     ᦠ ×   ä¦     ¼§     ϧ     㧠    ù§     ¨      ¨  #   2¨     V¨  #   _¨  $   ƒ¨      ¨¨     ɨ  ]   Ѩ     /©  D   E©  E   Š©     Щ  	   Ù©  	   ã©  0   í©  	   ª     (ª     /ª     8ª     Gª  	   Vª  (   `ª  !   ‰ª  #   «ª  $   Ϫ  &   ôª  &   «  $   B«     g«  Z   †«     á«     è«     ô«     ¬      ¬  ?   7¬  &   w¬     ž¬  C   ±¬     õ¬  %   ­     '­     B­     K­     R­  %   W­  9   }­     ·­     ¿­  0   Ë­  <   ü­     9®     Y®  8   u®  D   ®®     ó®  '   ¯  #   6¯     Z¯  2   s¯     ¦¯  F   ¬¯  
-   ó¯     þ¯     °  #   =°  #   a°  %   …°  )   «°     Õ°     ç°     ÷°     ±     ±     /±  4   H±     }±  )   ‚±  8   ¬±  .   å±     ²     #²  &   +²  ?   R²     ’²     #³     £³  5   À³  	   ö³      ´     ´     #´     3´  	   J´     T´  
-   ]´     h´     p´     Œ´  j   ”´     ÿ´     µ     (µ  D   Dµ     ‰µ     Žµ     ¢µ     ºµ  .   Óµ  S   ¶  >   V¶     •¶     š¶  	   µ¶  .   ¿¶  (   î¶     ·     '·     <·     Q·     c·     y·     ‘·     ¡·  $   ´·  '   Ù·     ¸     ¸     '¸     *¸  .   6¸     e¸  I   ¸     ɸ  W   ظ  H   0¹  2   y¹     ¬¹  9   Ĺ  Ï   þ¹  ×   κ    ¦»  1   ¹¼  d   ë¼  ˜   P½     é½  q   ¾  G   v¾  Y   ¾¾  D   ¿  U   ]¿  N   ³¿  7   À  '   :À  €   bÀ  -   ãÀ  S   Á  9   eÁ  v   ŸÁ  8     K  O  ¤   ›Ã  9   @Ä  7   zÄ     ²Ä     ·Ä     ½Ä     ÃÄ     ËÄ     ÔÄ  
-   áÄ     ïÄ  1   õÄ  
-   'Å     5Å  *   BÅ  
-   mÅ     {Å     ˆÅ     Å     ­Å     ¹Å     ÅÅ     ÍÅ     ßÅ     ôÅ     Æ      !Æ      BÆ  ,   cÆ     Æ     £Æ     ¶Æ     ÉÆ     ÜÆ     ìÆ     üÆ  7   Ç     <Ç  %   PÇ  $   vÇ  %   ›Ç      ÁÇ     âÇ     ñÇ     øÇ  (   È  -   >È  ,   lÈ     ™È     ¥È  %   ²È  %   ØÈ  &   þÈ  1   %É  4   WÉ  P   ŒÉ  >   ÝÉ  >   Ê  :   [Ê  :   –Ê  7   ÑÊ  8   	Ë  .   BË  	   qË  
-   {Ë  Ÿ   †Ë     &Ì     :Ì     TÌ     oÌ     tÌ     {Ì  R   Ì  `   ãÌ     DÍ     LÍ     ^Í     sÍ     ‰Í  W    Í  V   øÍ    OÎ     iÏ  J   ‚Ï  @   ÍÏ  .   Ð     =Ð  .   XÐ  M   ‡Ð     ÕÐ     òÐ     
-Ñ  :   Ñ     IÑ  l   NÑ  $  »Ñ    àÒ  
-  ÷Ó     Ö     	Ö     Ö     (Ö     ?Ö     SÖ     eÖ     €Ö     ˜Ö     µÖ     ¾Ö     ÐÖ     ÖÖ     èÖ     ñÖ     ÷Ö  
-   ýÖ     ×  
-   ×     &×  	   6×     @×     G×     L×     \×     p×     ‚×     ˜×     ¡×  	   ¦×  
-   °×     ¾×     Í×     é×     ò×     Ø     Ø  	   Ø     %Ø     >Ø     DØ     JØ     PØ    WØ     _Ù  
-   hÙ     sÙ     xÙ     „Ù     •Ù  	   ²Ù     ¼Ù     ËÙ     àÙ     æÙ     íÙ  N   ùÙ  Ø   HÚ     !Û     0Û     JÛ     YÛ     _Û  #   ~Û     ¢Û  #   ¶Û  	   ÚÛ     äÛ     ìÛ  W   ÿÛ  E   WÜ  ¢   Ü  U   @Ý  1   –Ý  =   ÈÝ  5   Þ  ^   <Þ  [   ›Þ     ÷Þ     ß     ß  	   ß     ß     )ß     9ß     Fß  
-   Mß     Xß     _ß     bß     gß     oß     ‚ß     —ß  
-   ­ß  ¦   »ß     bà     jà     qà     ƒà     —à     ¬à     ²à     ¾à  1   Ëà     ýà  ?   á     Zá     ^á     bá     xá     ˆá  -   á  4   ¾á     óá     â     â  #   â     >â     Jâ     Pâ     Sâ     Zâ     `â  ˆ  hâ     ñã     óã     øã     þã  n   ä  €   tä  E   õä  I   ;å     …å     œå     »å     Úå  ;   ùå  %   5æ  3   [æ  À   æ  4   Pç     …ç     ’ç     ¡ç     ­ç  E   ¼ç  
-   è  v   è  (   ‡è  -   °è     Þè  $   êè     é  G   é  @   Yé     šé     ³é  ]   Aê  ;   Ÿê  E   Ûê  …   !ë     §ë     Æë  <   Îë  <   ì     Hì  &   eì  &   Œì  9   ³ì  /   íì  0   í  9   Ní  =   ˆí  2   Æí  1   ùí  (   +î  (   Tî  <   }î  '   ºî  @   âî  ;   #ï  +   _ï  :   ‹ï  4   Æï     ûï  ,   ð  4   Gð  ^   |ð  2   Ûð  4   ñ  !   Cñ  }   eñ     ãñ     åñ     çñ     ëñ     ò  +   ò  7   Cò  #   {ò     Ÿò     ¡ò     £ò     ¥ò     §ò     ©ò     «ò  )   ­ò  ?   ×ò  %   ó     =ó  +   \ó     ˆó  
-   šó  
-   ¨ó      ¶ó     ×ó     ëó     ÿó     ô     5ô     Rô  #   qô     •ô  	   ¢ô     ¬ô  +   ¸ô     äô     ðô  *   õ     -õ  '   Cõ      kõ     Œõ     ¥õ  #   ¼õ  5   àõ  +   ö  
-   Bö  "   Mö  b   pö  (   Óö     üö  .   ÷     4÷     ;÷  ;   K÷  A   ‡÷  F   É÷     ø  n   &ø  9   •ø  “   Ïø  T   cù     ¸ù     Ëù     àù     øù    ú    ü  é  þ  ½    Ÿ  Æ T   f e   » W   ! ×  y Û   Q O   - 
-   } p   ˆ q   ù    k    t H    7   Ù <   	    N	 é   m	    W
-    `
-    d
-    }
-    •
- S   ¯
- 6    L   : P   ‡ 6   Ø (    C   8    | (   ˜    Á g   Õ    =
-    F
-    V
- E   o
- 	   µ
-    ¿
- #   È
- 6   ì
- 0   # 
-   T 4   _ .   ” ò   Ã -   ¶    ä    ô !   
- $   / &   T ?   { Y   » !        7     X &   y d     ‹    t   ‘ S    
-   Z *   e (    (   ¹ (   â *    ,   6 1   c    • 
-   ž 
-   ©    ´ '   ½     å %    !   , '   N *   v $   ¡ &   Æ e   í O   S ;   £ ;   ß =    5   Y J    š  Ú —   u /   
- @   = O   ~ >   Î b   
- 3   p 7   ¤ b   Ü T   ? 2   ” )   Ç )   ñ *       F )   c j    u   ø o   n *   Þ 
-   	 7    1   L    ~    —    ³    Ï    ç "     *   (  H   S     œ  D   º  F   ÿ  K   F! ?   ’! n   Ò! c   A"    ¥" -   »" <   é" >   &# ;   e#    ¡#    ·# #   Í#    ñ#    $    &$     E$    f$    w$ 2   ”$ 0   Ç$ _   ø$ e   X% !   ¾% q   à% ^   R& g   ±&    ' {   4' «   °' z   \(    ×(    ñ( ô  ú( *  ï* C   -    ^-    k- 
-   }- C   ˆ- H   Ì- 8   . X   N. 8   §. @   à. V   !/    x/ 2   –/ :   É/ X   0    ]0     w0 .   ˜0 ]   Ç0    %1 4   A1 ;   v1 
-   ²1 '   ½1 ˆ   å1     n2    2 `   ®2    3    '3 c   93 n   3 (   4 ?   54    u4 -   “4 -   Á4    ï4 -   
-5 '   ;5 '   c5 5   ‹5 *   Á5 0   ì5 *   6    H6 7   h6 (    6 K   É6 0   7 }   F7 0   Ä7    õ7 %   8 2   :8    m8    8    8    ¯8 #   Ì8    ð8 
-   9 »   9 5   Î9 œ   : z   ¡: R   ; T   o; E   Ä;    
-<    <    < 
-   !< L   ,< ˆ   y<    =    = 
-   8= 4   C= Q   x= i   Ê= 6   4> Î   k>    :?    O? «  i? `   A    vA    }A T   †A ‹   ÛA °   gB ”  C ~   ­D c   ,E Ï   E Å   `F G   &G    nG ¯   wG 2   'H    ZH ã   cH _   GI (   §I ƒ   ÐI    TJ    hJ    J &   ˜J     ¿J R   àJ C   3K L   wK 1   ÄK    öK    vL    }L    —L    ¯L    ÉL    áL }   ûL    yM 
-   ŠM    •M :   ´M >   ïM 4   .N +   cN    N    «N &   ±N '   ØN     O    O %   5O *   [O    †O    O    –O 3   ¶O ;   êO    &P    ?P )   XP    ‚P    ŸP 4   »P 2   ðP    #Q    2Q 1  QQ &   ƒR ‚  ªR 9   -T    gT 1   ƒT "   µT ‡   ØT %   `U &   †U E   ­U     óU    V    1V "   OV B   rV %   µV     ÛV    üV    W -   W 4   LW 
-   W X   ŒW S   åW 
-   9X   GX ë  ×Z „  Ã] 
-   H` Y   V` K   °` 8   ü` /   5a    ea ‰  |a ,   c "   3c 1   Vc    ˆc 0   žc Ð   Ïc 1    d 3   Òd    e     e S   =e ]   ‘e Z   ïe I   Jf M   ”f D   âf 
-   'g   2g    :h    Qh    hh    h    ˜h    ±h (   Æh    ïh )   øh *   "i &   Mi    ti “   €i    j W   2j Y   Šj    äj    öj    k V   k    qk 
-   ‰k    ”k    ªk    Èk    èk G    l ,   Hl 3   ul 3   ©l 4   Ýl ;   m 5   Nm !   „m o   ¦m    n    (n    5n    On &   nn Y   •n 0   ïn     o n   1o     o @   °o 1   ño 
-   #p 
-   1p    <p @   Cp U   „p 
-   Úp    åp ;   ùp T   5q 7   Šq )   Âq i   ìq    Vr /   Ör :   s +   As    ms Q   Œs 
-   Þs r   és    \t 4   nt 3   £t %   ×t 3   ýt 2   1u 6   du $   ›u    Àu )   Úu %   v    *v "   Ev 3   hv    œv 3   ¥v i   Ùv ;   Cw    w    žw 0   °w N   áw è   0x ª   y (   Äy A   íy    /z    Iz    gz    pz (   Šz    ³z    Îz    èz 	   úz $   { 
-   ){ “   4{    È{ *   Ü{ $   | ™   ,|    Æ|    Ï| &   î| "   } 7   8} f   p} I   ×} 
-   !~ %   ,~    R~ Z   l~ 1   Ç~    ù~            :    P    g        — 6   ° 6   ç    € '   =€    e€    k€ ?   € &   Á€ p   è€    Y Z   t Y   ρ 9   )‚ $   c‚ T   ˆ‚ '  Ý‚ r  „ ž  x… -   ‡ k   E‡ À   ±‡    rˆ h   ˆ S   ùˆ q   M‰ X   ¿‰ |   Š L   •Š ]   ⊠8   @‹ ¡   y‹ I   Œ a   eŒ J   ÇŒ ¦    N   ¹ Ð  Ž Å   ُ G   Ÿ C   ç    +‘    2‘ 
-   :‘    E‘    W‘    m‘    €‘ 
-   ™‘ K   ¤‘    ð‘    ’ N   ’    m’    …’    ™’ -   ¦’ 
-   Ô’    ß’ 
-   î’    ù’    “    *“ $   F“ 0   k“ +   œ“ R   È“    ”    5”    O”    i”    ƒ”    š” 
-   ±” S   ¿” !   • 3   5• 0   i• 0   š• +   Ë•    ÷• 
-   – '   – K   G– A   “– >   Õ– 
-   —    "— E   >— F   „— F   Ë— R   ˜ T   e˜ ƒ   º˜ f   >™ k   ¥™ d   š c   vš L   Úš Z   '› K   ‚›    Λ    ß› ó   ð›    äœ !     (   " 
-   K    V    h v   … ›   ü 
-   ˜ž    £ž    ¸ž    О    éž €   Ÿ †   „Ÿ K       W¡ r   Y¡ :   Ì¡ 6   ¢ ,   >¢ G   k¢ m   ³¢ #   !£    E£    d£ V   l£    ã Ž   Ê£ ~  Y¤ q  Ø¥ õ  J§    @ª    Lª !   aª '   ƒª    «ª #   Ū    éª $   «    ,«    I«    U«    l«    x«    ‘« 	   ¤« 	   ®«    ¸«    Ñ«    ä« #   ó«    ¬    $¬    0¬ #   5¬ %   Y¬    ¬ &   ›¬    ¬    ά    ׬    ê¬    ÿ¬ *   ­ 	   >­    H­    c­ 	   v­    €­ %   —­    ½­    É­    Ï­ 
-   Ø­ [  ã­    ?¯ 
-   H¯    V¯    _¯ 
-   k¯ ,   y¯    ¦¯    ·¯    Я 
-   ë¯    ö¯    ý¯ f   
-° h  t°    ݱ %   ø±    ²    =² 9   F² =   €² &   ¾² 4   å² 
-   ³ 
-   (³ &   6³ a   ]³ b   ¿³ ô   "´ g   µ 8   µ K   ¸µ >   ¶ ˆ   C¶ }   ̶ 
-   J·    U·    ^·    g·    p·    }· 
-   ‰· 
-   ”·    ¢· 
-   ²·    ½·    ÷    Ë· $   Ó·    ø·    ¸    6¸ è   U¸    >¹    G¹ $   T¹    y¹    “¹    ­¹    ³¹    ƹ C   ݹ %   !º b   Gº    ªº    °º    ´º    ˺    Ûº >   ëº I   *»    t»    ‘» 
-   £» #   ®»    Ò» 
-   á»    ì»    ò»    ÿ» 	   ¼    Ó  v     Ù  5   ÿ  §   Ô  o      !      M  Ä  Ñ        f   v  Ê     ‚   µ      ¿  _  “   ´  †  O                O              ×  ú  É  F       G   o  à   N   O   P   Q   R   S       ¹      
-   T   !  ,  &  ~  «        |   ®  Õ   h  "   ç   Æ  ó               '   Ç           È   ô         ù  ¨  ‰  ð       2   «   W  ‘   €  Š  æ  ã       '  i              Ð             ;  :      "  Ú  V  g   è           T     y  C    :           º  m               
-  ;   %  —  ý  ±  Ì  ø        Q  h  ^             Ž  M     R  £      ’      É  ¨    ¾              è  Û   ©  :  ˆ   Ý   –  ™  õ      í  ö  6  4  t  O              [    \  .   É   š  ?  n   Z  ³  H  4   4     B  @               È  Ü   [   =          "  ­  Ì  c  æ     ¹  0  Ø      p      {  x   €      Ý  b      Y                      º  T  Ô  µ  ž  ß     ½    ±  Ð  Æ  ®  ×   P  u  ê      Ú       P          3       *    ²   -  œ        ¤      ]   W   ‚  •   À      ¬    U  ?  å       ó  ‹  -          n      À  u   ;  ›  w        œ  {  $  ¡      í  „       ¤      À   »         a  ¾      (       ö   Y  Ÿ          ;  ½   Y      +         X   ã  H    ø           û       Ú      Í      º   5      ¿          *           9   N      ˆ  Û  (  ]    ž       Y  $  i    _    »      þ         Ö       <  —       n  <      b  H  ç          e       ”  Ô     á   Œ  m  ¿   ¬  ²    p   Z            r    2  ¯  °  ¥  é  ²      ~     Ü  £  ‡      Ï   ‡   Î  Ó  W  K  ˆ  F  `  ï    +  8    ä               R    J          ý      ƒ   Õ  3  q      ª          ‹   f          ¸      K     ­        ß  k  £       b               «  L                  }   |  n  Ñ      	  ô             )  B   A  ë  ¬     Ÿ  o      7  –   ë      Í  z  U  Q      	   a  ö     Ë   â  ¶                    j       7  %  †            ò  9      -   à   e        ¢  p  ª           ê  B  %   j  !       m                 
-  5          f  °             d  ·         +      å           ¹       ¦               ¡  Ì     Ê  C      #       z             X  Š  ¼   q  g  -  õ          _   x      î   Æ   ü         ,        0      /  4  h   s  ]  D  u      S    ·    I   Å      ³   å     Ø   H   J          y   .  î  ×        à  d  7  ¨       d   (  8   î  q  Ç  ¢   ÷         ´  _          }  Ý  ©   7   ÿ      ¼  x      Ï       Ø     Š       Û  e      ¾   è  a   `   †                —  ã            F  ’  l  h    1   [  ›       ,      á  ¸               §  ž  w              Ó   ò   6  ˜       N  Ä     
-      ¶  ù   q       ›  ê   l               u    }          x  »       J  ?  –  &      s  +  ³  Ò  D  `  Ï         F  i   {    2    v  „  û  d      <  à            P      :  ‰  G  Å      g  B  M      ä      Ÿ   µ       Å       S  k   j  N  8  V       ¯   C      ˜  ü  Î   ø      “  $   b  %     /   I        \                     ™  ª  •  æ  9  1      s  j      ƒ  ñ  \  =  K  `  
-          I  ú  A  ì       ¦      Ò  Þ    U   ¡   E  Ã  
-  6  L   *  Á  1      y      &  È             €  Á     ï   y      ”         #  K   w  Ù   ¸          Z       ¼         "  W          r      Ò   C      c      ì  r   &   '  ë       .      ü         à    Z  Ë  
-           >  ï  D  V  ¯          á     D   8  ˜  5  Œ               é   )  A  í     0  z      ‰   ­       Ž   Õ  ÷  Ö    …          œ   …      S          V  m  >  )  *  Á  ¦  X      #  M   ‘  k      2  ä  ú     p  c         ^  0      3      <   ‚    R  3  {   /      ©      Þ      ”      E    ð  .  t  )           ~      6   ¥   	             ^  @      g  ´   l    z                     Ë  !  ç  A       G     â      |      $      â       	          c      Ö  ò                  9  v  #  Ç  ƒ          G  ñ  ½      k      Ü      „  ì            =      “  J  ñ       l      ]  þ   ?       ù  @     U  I  E     Ê  a  r      e      E       \  ^  ¤   ‘      Í       t   š      =      ÷  f  …   Œ      ó  °             ý   
-      þ      ð  X  Î  ¶   /      @  (  1  t          ®   Ž  i  ,  L         ’   Ä  Ù  '         L  û  ‡    T  š     Q  ÿ           ™       §    [  Ð      ß    s   ¥  ·     o   w   ô  •      ‹      ¢  >   Þ   >  ±   é  Ñ   õ                            gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
+Þ•            -  2      ÐB     ÑB     ÓB     ØB     ÞB  n   åB  €   TC  E   ÕC  I   D     eD     qD     D     ¯D  ;   ÎD  %   
+E  3   0E  À   dE  4   %F     ZF     cF     oF     {F  
+   „F  H   ’F  
+   ÛF     éF     ëF  &   
+G     1G  _   HG  9   ¨G  *   âG  ,   
+H  q   :H     ¬H     ÅH  /   ÍH  +   ýH     )I     ?I     YI  ,   sI      I  %   ¾I  ,   äI  -   J      ?J  &   `J     ‡J     §J  -   ÇJ  &   õJ  +   K  &   HK  "   oK  '   ’K  $   ºK     ßK  '   ýK  +   %L  R   QL  .   ¤L  ,   ÓL      M     M     M     M  
+   &M     1M     KM     iM     |M     ~M     €M     ‚M     „M     †M     ˆM     ŠM     ©M     ÉM     èM  !   N     %N  
+   BN     PN     \N     hN     zN     ‹N     —N     ®N     ÁN     ÐN     àN     õN     O     O     "O  "   &O     IO     UO     bO  	   ~O     ˆO  
+   ¡O     ¯O  
+   ¾O  
+   ÉO     ×O     óO     
+P  F   P     WP     pP     vP     –P  	   šP     ¤P  !   ÁP  %   ãP     	Q  9   Q  /   OQ  J   Q  G   ÊQ     R     R     ,R     @R  ]  VR  _  ´S  _  U  C  tV  ;  ¸W  2   ôX  =   'Y  :   eY  O   Y  ˜   ðZ  2   ‰[     ¼[  R   Ã[  	   \  
+    \  $   +\  (   P\  ‹   y\     ]     ]     ]      ]     4]  3   J]  @   ~]  (   ¿]  $   è]  .   
+^     <^     L^     ^^  <   f^     £^     ª^     ­^  %   ³^     Ù^     Ý^     æ^  .   ý^     ,_     K_     R_     r_  ¤   Œ_  
+   1`     <`     Q`     l`     Š`  0   ª`  -   Û`     	a     &a     Ba      ]a  ;   ~a  T   ºa  P   b  .   `b     b     ”b     «b     Ãb     Ëb     Ñb     Ýb     æb     c     "c     8c     Oc     kc  6   †c  .   ½c  !   ìc  %   d  *   4d  #   _d  .   ƒd  D  ²d  o   ÷e     gf  /   ‡f  9   ·f  -   ñf  =   g  !   ]g  '   g  =   §g  2   åg  !   h     :h     Nh     ch     yh     ‘h  ;   ¥h  J   áh  A   ,i     ni     i  #   •i  #   ¹i     Ýi     ði     j     j     .j     Fj     `j  ;   |j     ¸j  .   Èj  1   ÷j  7   )k  <   ak  
+   žk  "   ©k  *   Ìk  (   ÷k  0    l  
+   Ql     _l     kl     ‚l     —l     ¬l     Ál     Òl  "   êl  "   
+m  E   0m  8   vm  $   ¯m  H   Ôm  M   n  ?   kn     «n  `   Án  x   "o  G   ›o     ão  
+   òo  ’  ýo    q     .s     3s  8   ?s  3   xs  &   ¬s  %   Ós  !   ùs  (   t  J   Dt     t     ¢t      Ât  5   ãt     u     *u  5   Gu     }u  %   ‘u  ,   ·u     äu     éu  \   ýu     Zv     ov     ~v     ‘v  3   ™v  R   Ív       w  2   Aw     tw     ‹w  &   ¨w     Ïw     îw  3   x  #   :x  
+   ^x  7   lx  (   ¤x      Íx  X   îx  +   Gy     sy     ‡y  *    y  	   Ëy  	   Õy     ßy     óy     z     !z  s   'z     ›z  d   ·z  ^   {  .   {{  6   ª{  2   á{     |     |     |  A   !|  ^   c|     Â|     Õ|     ê|  (   ó|  :   }  .   W}     †}     £}     ´}  0   Ê}  /  û}  9   +     e     h  p   k  z   Ü  K  W€  z   £  G   ‚     f‚  ƒ   ÷‚  A   {ƒ     ½ƒ     N„     Ü„     ù„  š   …  N    …  ]   ï…     M†     _†     v†     ‹†     ª†  E   À†  +   ‡  F   2‡     y‡  [   ˜‡     ô‡     ù‡  
+   	ˆ     ˆ  	   #ˆ     -ˆ     9ˆ     Hˆ     Nˆ      ]ˆ  $   ~ˆ  $   £ˆ     Ȉ     æˆ     óˆ     öˆ     ‰     '‰     C‰     _‰     z‰     ƒ‰     –‰     ²‰     Ò‰      Þ‰     ÿ‰     Š  #   'Š     KŠ     jŠ     qŠ  Ø   ~Š     W‹  I  o‹      ¹Œ     ÚŒ  *   íŒ       ƒ   (     ¬     Á  )   ׍     Ž     Ž     +Ž     ?Ž  4   OŽ     „Ž      Ž     ·Ž     ¼Ž  	   ÑŽ  5   ÛŽ  7        I  «  X  Ú  ‘  á  ß’  
+   Á”     Ì”     à”  $   ò”     •  )   +•     U•  (   f•  †   •  '   –  ,   >–  '   k–  +   “–  +   ¿–     ë–  ×   î–     Æ—     Ù—     í—     ˜     ˜     *˜     <˜  #   E˜      i˜     Š˜  ]   ’˜     ð˜  	   ù˜  	   ™  0   
+™  	   >™     H™     O™     X™     g™  	   v™  (   €™  !   ©™  #   Ë™  $   ï™  &   š  &   ;š  $   bš     ‡š  Z   ¦š     ›     ›     ›     (›     @›  ?   W›  &   —›     ¾›     Λ  C   á›     %œ  %   1œ     Wœ     rœ     {œ     ‚œ  %   ‡œ  9   ­œ     çœ  <   óœ     0     P  8   l  D   ¥     ê  '   ž  #   -ž     Qž  2   jž     ž  F   £ž  
+   êž     õž     Ÿ  #   4Ÿ  #   XŸ  %   |Ÿ  )   ¢Ÿ     ÌŸ     ÞŸ     îŸ              4   &      [   )   `   8   Š   .   à     ò      ¡  &   	¡  ?   0¡     p¡     ¢     ¢  5   ž¢     Ô¢     ï¢     ÿ¢  	   £      £  
+   )£     4£     <£     X£  j   `£     Ë£     Ü£     ô£  D   ¤     U¤     Z¤     n¤     †¤  .   Ÿ¤  S   Τ  >   "¥     a¥  	   f¥  .   p¥  (   Ÿ¥     È¥     Ø¥     í¥     ¦     ¦     *¦     B¦     R¦  $   e¦  '   Š¦     ²¦     ɦ     ئ  .   Û¦     
+§  I   $§     n§  W   }§  H   Õ§  2   ¨     Q¨  9   i¨  Ï   £¨  ×   s©    Kª  1   ^«  d   «  ˜   õ«     Ž¬  q   ©¬  G   ­  Y   c­  D   ½­  U   ®  N   X®  7   §®  '   ß®  €   ¯  -   ˆ¯  S   ¶¯  9   
+°  v   D°  8   »°  K  ô°  9   @²  7   z²     ²²     ·²     ½²     ò  
+   в     Þ²  1   ä²     ³  *   #³     N³     [³     b³     €³     Œ³     ˜³      ³     ²³     dz     Þ³      ô³      ´  ,   6´     c´     v´     ‰´     œ´     ¯´     ¿´     Ï´     ×´  %   ë´  $   µ  %   6µ      \µ     }µ     Œµ     “µ  (   °µ  -   Ùµ  ,   ¶     4¶     @¶  %   M¶  &   s¶  1   š¶  P   ̶  8   ·  .   V·  	   …·  Ÿ   ·     /¸     C¸     ]¸     x¸     }¸  R   „¸  `   ׸     8¹     @¹     R¹     g¹     }¹  V   ”¹    ë¹     »  J   »  @   i»  .   ª»     Ù»  .   ô»     #¼  :   '¼     b¼  l   g¼  $  Ô¼    ù½  
+  ¿     Á     "Á     .Á     AÁ     UÁ     gÁ     ‚Á     ‹Á     Á     £Á     µÁ     ¾Á     ÛÁ     áÁ  
+   çÁ     õÁ       	             #     (     8     L     ^     t     }  	   ‚  
+   ŒÂ     šÂ     ©Â     Å     Π    ç     ð  	   ÷     à     à      à     &à     ,à    3à     ;Ä  
+   DÄ     OÄ     TÄ     `Ä     qÄ  	   ŽÄ     ˜Ä     §Ä     ¼Ä     ÂÄ     ÉÄ  N   ÕÄ  Ø   $Å     ýÅ     Æ     &Æ     5Æ     ;Æ  #   ZÆ     ~Æ  #   ’Æ  	   ¶Æ     ÀÆ     ÈÆ  W   ÛÆ  ¢   3Ç     ÖÇ     âÇ     åÇ  	   îÇ     øÇ     È     È     %È  
+   ,È     7È     >È     AÈ     FÈ     NÈ     aÈ     vÈ  
+   ŒÈ  ¦   šÈ     AÉ     IÉ     PÉ     bÉ     vÉ     ‹É  1   —É     ÉÉ  ?   æÉ     &Ê     *Ê     .Ê     DÊ     TÊ  -   \Ê  4   ŠÊ     ¿Ê     ÔÊ     áÊ  #   æÊ     
+Ë     Ë     Ë     Ë     &Ë     ,Ë  m  4Ë     ¢Ì     ¤Ì     ©Ì     ¯Ì  n   ¶Ì  €   %Í  E   ¦Í  I   ìÍ     6Î     MÎ     lÎ     ‹Î  ;   ªÎ  %   æÎ  3   Ï  À   @Ï  4   Ð     6Ð     CÐ     RÐ     ^Ð  
+   mÐ  v   {Ð     òÐ     þÐ  G    Ñ  @   HÑ     ‰Ñ     ¢Ñ  ]   0Ò  <   ŽÒ  E   ËÒ  ƒ   Ó     •Ó     ´Ó  <   ¼Ó  <   ùÓ     6Ô  &   SÔ  &   zÔ  9   ¡Ô  /   ÛÔ  0   Õ  9   <Õ  =   vÕ  2   ´Õ  1   çÕ  (   Ö  (   BÖ  <   kÖ  '   ¨Ö  @   ÐÖ  ;   ×  +   M×  :   y×  4   ´×     é×  ,   Ø  4   5Ø  ^   jØ  2   ÉØ  4   üØ  !   1Ù     SÙ     UÙ     WÙ     nÙ  +   ƒÙ  7   ¯Ù  #   çÙ     Ú     
+Ú     Ú     Ú     Ú     Ú     Ú  )   Ú  ?   CÚ  %   ƒÚ     ©Ú  +   ÈÚ  +   ôÚ      Û  
+   2Û  
+   @Û     NÛ      eÛ     †Û     šÛ     ®Û     ËÛ     äÛ     Ü  #    Ü     DÜ  	   QÜ     [Ü  +   gÜ     “Ü     ŸÜ  *   ±Ü     ÜÜ  '   òÜ      Ý     ;Ý     TÝ  #   kÝ  5   Ý  +   ÅÝ  
+   ñÝ  b   üÝ  (   _Þ     ˆÞ  .   ‘Þ     ÀÞ     ÇÞ  ;   ×Þ  A   ß  F   Uß     œß  n   ²ß  9   !à  “   [à  T   ïà     Dá     Wá     lá     „á    žá    ¤ã  é  ªå  ½  ”ç  Ÿ  Ré  T   òê  e   Gë  W   ­ë  ×  ì  Û   Ýí  O   ¹î     	ï  p   ï     ï     Šï  H   ¦ï  <   ïï  é   ,ð     ñ     ñ     #ñ     <ñ     Tñ  S   nñ  P   Âñ  6   ò  (   Jò  C   sò     ·ò  (   Óò     üò  g   ó     xó     ó     ‘ó  E   ªó  	   ðó     úó  #   ô  6   'ô  0   ^ô  
+   ô  4   šô  .   Ïô  ò   þô     ñõ     ö  !   ö  $   <ö  &   aö  ?   ˆö  Y   Èö  !   "÷      D÷      e÷  &   †÷  d   ­÷     ø  t   £ø  S   ù  
+   lù  (   wù  (    ù     Éù  
+   Òù  
+   Ýù     èù  '   ñù  %   ú  !   ?ú  *   aú  $   Œú  &   ±ú  e   Øú  O   >û  ;   Žû  ;   Êû  =   ü  5   Dü  J   zü  š  Åü  —   `þ  /   øþ  @   (ÿ  O   iÿ  >   ¹ÿ  b   øÿ  3   [  7     b   Ç  T   * 2    )   ² )   Ü *       1 )   N j   x u   ã o   Y *   É 
+   ô 7   ÿ 1   7    i    ‚    ž    º    Ò "   ð *    H   >    ‡ D   ¥ F   ê K   1 ?   }    ½ -   Ó <    >   > ;   }    ¹    Ï #   å    	    (     G    h    y 2   – 0   É _   ú e   Z	     À	 q   á	 ^   S
+ g   ²
+     {   5 «   ± z   ]    Ø    ò î  û 5  ê         - C   ? H   ƒ 8   Ì X    8   ^ @   — V   Ø    / 2   M :   € X   »     .   . b   ]    À 4   Ü ;    
+   M '   X ˆ   €     	    *    I    a c   s n   × (   F ?   o    ¯ '   Í 5   õ 0   +    \ S   | (   Ð    ù ^    K   n 0   º }   ë 0   i    š %   ¹ 2   ß        $    6 #   S    w 
+   Ž »   ™ 5   U œ   ‹ z   ( R   £ T   ö C   K        • 
+    J   ¨ ˆ   ó    |    – 
+   ² 4   ½ Q   ò i   D  6   ®     å     ú  7   ! Ô  L! `   !#    ‚#    ‰# ‹   ’# °   $ ”  Ï$ ~   d& c   ã& á   G' Å   )( _   ï( ¯   O) Í   ÿ) 2   Í*     + á   	+ ^   ë+ ƒ   J,    Î,    â,    û, &   -     9- R   Z- C   ­- L   ñ- 1   >.    p.    ð.    ÷.    /    )/    C/    [/    u/ 
+   †/    ‘/ :   °/ >   ë/ 4   *0 +   _0    ‹0    §0 &   ­0 '   Ô0    ü0 %   1 *   A1    l1    u1 3   •1 ;   É1    2 )   2    H2    e2 4   2 2   ¶2    é2    ø2 1  3 &   I4 ‚  p4 9   ó5    -6 1   I6 "   {6 ‡   ž6 %   &7 &   L7 E   s7     ¹7    Ú7    ÷7 "   8 B   88 %   {8     ¡8    Â8    É8 
+   ä8 X   ï8 S   H9 
+   œ9 ®  ª9 ë  Y< „  E? 
+   ÊA /   ØA    B ,   B "   LB 1   oB    ¡B 0   ·B Ð   èB 1   ¹C 3   ëC I   D M   iD D   ·D 
+   üD   E    F    &F    ;F    RF    kF    „F    ™F )   ¢F &   ÌF    óF “   ÿF    “G    ¥G    ·G V   ÉG     H 
+   8H    CH    YH    wH    —H G   ¯H ,   ÷H 3   $I 3   XI 4   ŒI ;   ÁI 5   ýI !   3J o   UJ    ÅJ    ×J    äJ    þJ &   K Y   DK 0   žK 
+   ÏK    ÝK n   îK    ]L @   mL -   ®L 
+   ÜL 
+   êL    õL @   üL U   =M    “M T   §M 7   üM )   4N i   ^N    ÈN /   HO :   xO +   ³O    ßO Q   þO 
+   PP r   [P    ÎP 4   àP 3   Q %   IQ 3   oQ 2   £Q 6   ÖQ $   
+R    2R )   LR %   vR    œR 3   ·R    ëR 3   ôR i   (S ;   ’S    ÎS    íS 0   ÿS N   0T è   T ª   hU (   V A   <V    ~V    œV (   ¶V    ßV    úV    W 	   &W $   0W 
+   UW “   `W    ôW *   X $   3X ™   XX    òX    ûX &   Y "   AY 7   dY f   œY H   Z 
+   LZ    WZ Z   qZ 1   ÌZ    þZ    [    $[    ?[    U[    l[    †[    œ[ 6   µ[ 6   ì[    #\ '   B\    j\ ?   p\ &   °\ p   ×\    H] Z   c] Y   ¾] 9   ^ $   R^ T   w^ '  Ì^ r  ô_ ž  ga -   c k   4c À    c    ad h   d S   èd q   <e X   ®e |   f L   „f ]   Ñf 8   /g Ÿ   hg I   h a   Rh J   ´h ¦   ÿh N   ¦i Ð  õi G   Æk C   l    Rl    Yl    al    sl    †l 
+   Ÿl K   ªl    öl N   m    ]m    qm -   ~m 
+   ¬m    ·m 
+   Æm    Ñm    èm    n $   n 0   Cn +   tn R    n    ón    
+o    'o    Ao    [o    ro 
+   ‰o !   —o 3   ¹o 0   ío 0   p +   Op    {p 
+   ˜p '   £p K   Ëp A   q >   Yq 
+   ˜q    ¦q L   Âq F   r R   Vr ƒ   ©r Z   -s K   ˆs    Ôs ø   ås    Þt !   út (   u 
+   Eu    Pu v   bu ›   Ùu 
+   uv    €v    •v    ­v    Æv †   àv K  gw    ³x r   µx :   (y 6   cy ,   šy G   Çy    z V   z    nz Ž   uz ~  { q  ƒ| õ  õ}    ë€    ÷€ !       . #   H    l    Š    –    ­    ¹    ҁ .   å 	   ‚ 	   ‚    (‚    A‚ #   T‚    x‚    …‚    ‘‚ #   –‚ %   º‚    à‚ &   ü‚    #ƒ    /ƒ    4ƒ    Gƒ    \ƒ *   pƒ 	   ›ƒ    ¥ƒ    Àƒ 	   Óƒ    ݃ %   ôƒ    „    &„    ,„    5„ Y  <„    –… 
+   Ÿ…    ­…    ¶… 
+   Â… ,   Ð…    ý…    †    '† 
+   B†    M†    T† f   d† h  ˆ    4ˆ %   Oˆ    uˆ    ”ˆ 9   ˆ =   ׈ &   ‰ 4   <‰ 
+   q‰ 
+   ‰ &   ‰ a   ´‰ ô   Š 
+   ‹    ‹    ‹    (‹    1‹    >‹ 
+   J‹ 
+   U‹    c‹ 
+   s‹    ~‹    „‹    Œ‹ $   ”‹    ¹‹    Ø‹    ÷‹ è   Œ    ÿŒ     $       :    T    n C    %   ō b   ë    NŽ    TŽ    XŽ    oŽ    Ž >   Ž I   ÎŽ        5 
+   G #   R    v    …    —        ª 	   ·        ‘   E   ï  +  Î   Ø  ‹  q  ·   n  œ       +  ç  >      i   :  <   s   6   F  ã  ¼      O   H      å  8     î           ¼     *  ¬       A   º   B       H   I   J   K   L   M           ›      N             \  º  þ  ý   •   ã      }  ¯   ‡   ú   ž  p  ƒ   ‚  Ý  L      :       ­  Õ   ¾      U  y   Ÿ   ­  æ          ±  ”  ­   Ì   4  ï   °      ê    e  Ô  ‡  ª   ¸                 Û  ª  ˆ  d  !     {      Á      ~  l         ¨      m      é      €   P      Ü  l  G  á   ¤      ü   Í    ©   ¤     "    ™       ¦   9      Y    Ò  K          *  í   æ  ¥  x      ä  b  6  É       Ÿ        Á      
+  o  y      /   Ï    “  X      %   ³  ß      Î    t       Ô  –         ç  '  ›   ~   ®     ¼  a          Ç                í  	  N  Z             \  ¬  ¥  [     [  <  
+   <  Q  H    Ì  Ó  @   o      ’   d      …             |     |   ü  2     †      Ú   O  X              Š  J  ë  
+          É  ô         ˜      =  ‚     õ  |    =  Ú  z  ¶  ‹    1       0   	      À   ç   )  _      "  Z           Õ  û    Q  §   Å  u   ¿  Œ  `         w   »  É  g  Ö    7  ê   
+    7   x      +   ·  Û     à   °  a   G  Ä  Ü  È      ]    ô        F  Ñ  P   ,     Î  z   @  Ñ         ù       ù  ä   ð  œ      Ù  …    ó          j                  M      F   1      @  ¯            #   ñ  ö        G       ²  ë   à          é   Z       h   ,  Þ  
+  
+      ¸  P            œ  D  ÿ   ñ      r   E  ˆ   ;  ¬   ð   â  §  e   ¾  ®    3    A  ¨      ª              È      C      	  ’          £              â              9   k  š          ñ   ï          •  ‰  Š            §          _         n         Ž   à  ß   û   á  ý  ê  ÿ  S        ?      “  ^  ¶  C   ´  [      Ï       µ   ä  €  ú  t      S       ±   Ý  J  )             g  Ù      
+      m  ¹  A  T  ¢      *       „   w     ‚          ‡  -          .   ¦  «  õ      f         è    ü      ‰      Ö   ó  ½  -   Í  £   ³       î   '       Ê             Ê  T            u          l   ¤      Ø   K  (  Š   ø          #  ›              V  $  ò  n           Ú    Ø       ^   —  /  (  I        Í               Y   Ë  4     Ê  ¿  °   `                ì     R       ©  Ü   Á   h  ¹   Ñ   k  0          D   s  W       p   ¿   ²   b  ´      k                   ²  )  ·  &   Õ     ò  Ë      Ð  ?           5  z    O  ‘  ¨       à   •          ´                   !  Ë   ˜  £  ?  ¸          ã      m   –        â  ×       Æ      D         Þ  ¹  ˆ  Ö  Ç   ÿ    Y  †   X   `   ð  >        „  þ      r         t  —       ö              ¦     &  è  š   ù  ‘  U   ]       ½       i          ÷  7          \   Ä  ¶       -  /      –         ’  ì  í  Ò  .          1      !   õ  ‹   E  Ò           ½  þ                  ^  Æ     ô              2  ú  0      Æ             
+               q       å  Ù       ø  b         ™  R  å   ®       Å   ì  5  æ    r  …   g       î  Ç     ”      Û          o            ÷          ž    »       ™        i  «   ò   3   º  V   ¡          ;      p  µ  Å  {  ×  ©     9      }       a  4   ;   ƒ          à  5     Œ        e  ±  ×      w  —  Ý       8   :             ÷   L     ¢  à      ¾  „  T   c   }  á  Ð      I          R  Ð   ý      ¯  »  ö  C  c  ¢                 U  ž       d   é    Ä               v      Ÿ        ‰   8    6  u      W        f  _     M  c      À  ”   v  f       	         ³      y      v     3  È   S                      Ó       #            Ï      B  ¡   ¡  j  Þ     ,          µ    %  “                    ø   †      W        ˜   2      ó   Ô   s  $   À  ë      .  N  û  Ó      h  B  Ž  ß  ]  «  '  "   Ž  ƒ  V  Q   >                 š  €  Œ       è   ¥   {      x       &  Ì      (   q         $  j      %  =   ~                               gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
      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.
      mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)
      xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)
@@ -120,8 +102,8 @@
                 but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is
                 used with 'Offline' deactivated.
    -p <filename>:increment playcount for file by one
-  %s Free  %s Pending  <= cts <=   Logic:   Number of tracks in generated playlists:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
-  _Charset (ID3, files):   _Number of sort tabs:   disconnected  iPod Mount _Point: # # autoselect master playlist?
+  %s Free  %s Pending  <= cts <=   Logic:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
+  disconnected # # autoselect master playlist?
  # autoset: set empty tag to filename?
  # delete confirmation
  # position of sliders (paned): playlists, above tracks,
@@ -161,33 +143,26 @@
  '%s': only '%%[%s]' allowed.
  '%s-%s' (%s) could not be normalized.
 
- 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: (C) 2002 - 2003
-Jorg Schuler (jcsjcs at users dot sourceforge dot net)
-Corey Donohoe (atmos at atmos dot org)
-
-
- + - ... ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> <b>mserv</b> AL: AR: Aborted writing of extended info.
- Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adding/Updating/Syncing Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
+ 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: + - ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Ignore Frequent Words</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Order</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> <b>mserv</b> AL: AR: Aborted writing of extended info.
+ Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
  Advanced Sorting Options Album Alex Tribble: iPod eject patch
  All All (AND) All Tracks Never Listened To All Tracks Played Since Last Time All Tracks not Listed in any Playlist Alphabetize Also include tracks never played in "Best Rated" playlist Always write ID3v2.4 tags (only applies to MP3) Andrew Huntwork: Filename case sensitivity fix and various other bugfixes
  Another instance of gtkpod was detected. Playcount server not started.
  Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from the database? The number of playlists the tracks are member of is indicated in parentheses. 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your iPod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Are you sure you want to remove all tracks from the database? Are you sure you want to remove all tracks from your iPod? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to remove the following track from the playlist "%s"? Are you sure you want to remove the following tracks from the playlist "%s"? Armando Atienza: Support with external playcounts
  Artist As a last resort set the following tags to the
-filename if they are (still) empty: As a last resort set the following tags to the filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
+filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
 
- Auto-Generated Playlists Automatically import iTunesDB on startup Automatically select... Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely from the iPod Before removing tracks completely when
- synchronizing directories Before removing tracks completely when
+ Automatically import iTunesDB on startup Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely when
 synchronizing directories Before removing tracks from the harddisk Before removing tracks from the iPod Before removing tracks from the local database Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
  entry (faster!) Browse CD CD Nr CD Nr. and total number of CDS in set CO: Calendar Calendar sync command: Call automatically when synchronizing iTunesDB Can't reorder sorted treeview. Cancel Cannot open '%s' for reading.
 
  Cannot remove entry 'All' Cannot unsort track view because of a bug in the GTK lib you are using (%d.%d.%d < 2.5.4). Once you sort the track view, you cannot go back to the unsorted state.
 
- Cannot write mhod of type %d
  Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Check for existing files when copying from iPod. Checking iPOD files against known files in DB Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Chris Cutler: automatic creation of various playlist types
  Chris Micacchi: when sorting ignore 'the' and similar at the beginning of the title
  Christoph Kunz: address compatibility issues when writing id3v2.4 type mp3 tags
  Clinton Gormley: sync scripts for thunderbird
- Cmpl Command Line for 'Enqueue': Command Line for 'Play Now': Command for 'Enqueue': Command for 'Play now': Command to be called to synchronize calendar: Command to be called to synchronize notes: Command to synchronize contacts: Comment Comp. Compilation Composer Confirm before removing tracks Confirm list of directories Confirm lists of directories Confirmation Dialogue Contacts / Calendar / Notes Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
+ Cmpl Command for 'Enqueue': Command for 'Play now': Comment Comp. Compilation Composer Confirm before removing tracks Confirm lists of directories Confirmation Dialogue Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
  Could not create hash value from itunesdb
  Could not delete backup file: "%s"
  Could not find command '%s' specified for '%s' Could not find mp3gain. I tried to use the following executable: '%s'.
@@ -212,39 +187,33 @@
  Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently no iPod database selected Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
  Dangling Tracks Dangling tracks with files on PC were handled. Dangling tracks with no files on PC were removed. Daniel Kercher: sync scripts for abook and webcalendar
  Data has been changed and not been saved.
-OK to exit gtkpod? Database in memory corrupt (playlist pointer == NULL). Aborting export. Database in memory corrupt (track pointer == NULL). Aborting export. Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
- Date modified Date played Delete But Keep Tracks Delete Confirmation  Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending 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 '%': %%. 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 '%': %%. Did not find SLst hunk as expected. Trying to continue.
- Dirs Disc number Display Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
-Tracks Displayed Track Attributes  Don't allow file duplication Duplicate Recognition is based on a md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
+OK to exit gtkpod? Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
+ Date modified Date played Delete But Keep Tracks Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending 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 '%': %%. 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 '%': %%. Dirs Disc number Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
+Tracks Don't allow file duplication Drag from iPod database not possible in offline mode. Duplicate detection ERROR while opening file: '%s' (%s).
  ERROR while writing tag to file: '%s' (%s).
  Edit Edit Smart Playlist Edward Matteucci: debugging, special playlist creation, most of the volume normalizing code
- Effective free space Empty Playlist Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.
-
- English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
+ Effective free space Empty Playlist English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
  Error copying '%s' to '%s' (%s)
  Error copying '%s' to '%s': Permission Error (%s)
  Error creating %s: %s
- Error opening '%s' for reading (%s). Error opening '%s' for writing (%s). Error removing '%s' (%s). Error renaming '%s' to '%s' (%s). Error setting ID3 field: %s
- Error when closing '%s' (%s). Error while reading extended info: %s
- Error while reading from '%s' (%s). Error while reading prefs: %s
- Error while writing to '%s' (%s). Error writing to '%s'.
- Exact path for the 'mp3gain' executable: Execution of mp3gain ('%s') failed. Export selected entry of which sort tab? Extended info will not be used.
+ Error setting ID3 field: %s
+ Error while reading extended info: %s
+ Error while reading prefs: %s
+ Error writing to '%s'.
+ Error: drag from iPod not possible in offline mode. Execution of mp3gain ('%s') failed. Export Tracks Export from iPod database not possible in offline mode. Export selected entry of which sort tab? Extended info will not be used.
  Extended info will not be used. If you have non-transferred tracks,
 these will be lost.
  Extended information file not deleted: '%s' Failed Track Update Failed to write '%s-%s'
  File "%s" has zero play length. Ignoring.
- File Size File not found: '%s'. File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
+ File Size File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
  For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing. For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist. Found %d orphaned and %d dangling files. Done. Found %d orphaned and %d dangling files. Processing... French:   David Le Brun (david at dyn-ns dot net)
- GB GE: General Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+ GB GE: Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
  Graeme Wilford: reading and writing of the 'Composer' ID3 tags, progress dialogue during sync
  Greek (ISO-8859-7) Greek (Windows-1253) Grouping Handle mounting/unmounting of iPod drive Handling of dangling tracks with files on PC was canceled. Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
- 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. Hebrew (IBM-862) Hebrew (Windows-1255) 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). Hiroshi Kawashima: Japanese charset autodetecion feature
- Hz ID Icons of buttons were made by Nicolas Chariot.
-
-
- If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Illegal seek to offset %ld (length %ld) in file '%s'. Import Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
- Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
- Itdb_Track ID '%d' not found.
+ Hebrew (IBM-862) Hebrew (Windows-1255) Hebrew: Assaf Gillat (gillata at gmail dot com)
+ 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). Hiroshi Kawashima: Japanese charset autodetecion feature
+ Hz ID If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Ignore these words when at the beginning of the following fields: Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
+ 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. Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
  James Ligget: replacement of old GTK file selection dialogs with new GTK filechooser dialogs
  Japanese (EUC-JP) Japanese (ISO-2022-JP) Japanese (Shift_JIS) Japanese (automatic detection) Japanese: Ayako Sano
  Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
@@ -252,13 +221,12 @@
  Jens Taprogge: Support for LAME's replay gain tag to normalize volume
  Jim Hall: Decent INSTALL file
  Juergen Helmers, Markus Gaugusch: Conversion scripts to sync calendar/contacts to the iPod
- Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Length of smart playlist rule field (%d) not as expected. Trying to continue anyhow.
- Live _updating Local Local Database Local database import failed: 
+ Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Live _updating Local Local Database Local database import failed: 
 
  Local database import failed: '%s'
 
  Local database successfully imported Local filename not valid (%s) Lower Margin MB Malformed line in '%s': %s
- Manual volume adjust Master-PL Match al_l of the following Match an_y of the following Match only _checked tracks Misc Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Music Root:  Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+ Manual volume adjust Match al_l of the following Match an_y of the following Match only _checked tracks Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
 
 To avoid this situation in the future either switch on duplicate detection (will provide MD5 checksums) or avoid using the iPod with programs other than gtkpod.
 
@@ -268,31 +236,27 @@
  No entry selected in Sort Tab %d No entry selected. No information found for user '%s' in '%s' No lower margin No mserv information could be retrieved for the following track No mserv information could be retrieved for the following %d tracks No playlist selected No playlist selected. No tracks available, playlist not created No tracks in selection No tracks selected No tracks selected. No upper margin No valid directories have been found. Sync aborted.
  No valid filename for: %s
 
- Non-transferred tracks None Nordic (ISO-8859-10) Normalization failed: file not available.
- Normalization failed: file type not supported.
- Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Not a OTG playlist file: '%s' (missing mhpo header). Not a Play Counts file: '%s' (missing mhdp header). Not a iTunesDB: '%s' (missing mhdb header). Notes sync command: Nothing to update 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. Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? OTG Playlist OTG Playlist %d OTG playlist file '%s': reference to non-existent track (%d). OTG playlist file ('%s'): header length smaller than expected (%d<20). OTG playlist file file ('%s'): entry length smaller than expected (%d<4). Offline iPod database import failed: 
+ Non-transferred tracks None Nordic (ISO-8859-10) Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Notes sync command: Nothing to update Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? Offline iPod database import failed: 
 
  Offline iPod database import failed: '%s'
 
- Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Opening of '%s' for writing failed. Orphaned Overwrite tags that are already set Overwrite tags that are already set. Overwriting existing file: '%s'
+ Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Orphaned Overwrite tags that are already set Overwriting existing file: '%s'
  PC File Patches were supplied by the following people (list may be incomplete -- please contact me)
 
- Path not found: '%s'. Play Counts file ('%s'): entry length smaller than expected (%d<12). Play Counts file ('%s'): header length smaller than expected (%d<96). Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
+ Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
  Plycnt Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
-Export can be continued at a later time. Problem creating iPod directory: '%s'. Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
- Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Reading Recent (%d) Relative volume adjustment between -100 and +100 Removal of dangling tracks with no files on PC was canceled. Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove Track from Local Database? Remove Tracks from Local Database? Remove offline playcounts? Removed all %d tracks from the database Removed all %d tracks from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
+Export can be continued at a later time. Problem creating iPod directory: '%s'. Processing '%s' Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
+ Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Recent (%d) Removal of dangling tracks with no files on PC was canceled. Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove Track from Local Database? Remove Tracks from Local Database? Remove offline playcounts? Removed all %d tracks from the database Removed all %d tracks from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
  Samplerate Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Select the mserv music root directory Select the mserv trackinfo root directory Selected
 Playlist Selected
-Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Settings are not saved.
- Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
+Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
  Skipping '%s' to avoid adding playlist file recursively
  Skipping existing file with same length: '%s'
  Smart Playlist Sndchk. Some files were not added successfully Some tracks could not be deleted from the iPod. Export aborted! 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. Some tracks were not copied to your harddisk. Only the copied tracks will be included in the current drag and drop operation.
 
- Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort Tabs Sort tracks according to:  Sorting Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
+ Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort tracks according to:  Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
  Stop Stop Display Update Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
- Sync Sync (Writing of iTunesDB) Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Tag Reading Template ('%s') does not match file type '%s'
+ Sync Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Template ('%s') does not match file type '%s'
  Template for info field:  Temporarily disable sorting when changing playlist
 or tab entry (faster!) Thai (TIS-620) The (former) contents of the following directories will be removed from the database:
 
@@ -311,52 +275,43 @@
  The following track could not be processed (filetype unknown): '%s'
  The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The following tracks have to be copied to your harddisk The hostname of the URI '%s' is invalid The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed. The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). The track on the iPod is referenced in the playlist file. This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
 
- This is the same option as in 'Edit/Delete Confirmation' 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. 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
- Time Time: Title Toolbar Tooltips Total
+ This is the same option as in 'Edit/Delete Confirmation' 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
+ Time Time: Title Total
 (iPod) Total
-(local) Track Track (%s) not in mserv music root directory (%s) Track Editing Track Nr (#) Track Nr. and total number of tracks on CD Track Playing Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
+(local) Track Track (%s) not in mserv music root directory (%s) Track Nr (#) Track Nr. and total number of tracks on CD Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
  Unable to open '%s' for reading
  Unable to open '%s' for writing
  Unable to open config file '%s' for reading
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown action (%d) in smart playlist will be ignored.
- Unknown option: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown option: %s
  Unknown token '%%%c' in template '%s' Unknown token '%s' in template '%s'
- Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for track selections Use 'Multi-Edit' for tracks selections Use mserv database to fill additional information Use mserv database to fill in additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
-for this filename. Use selected charset (on the 'General' page)
-when writing tags Use selected charset (on the 'Import' page)
- when writing tags Use selected charset also when updating
- or syncing tracks Use selected charset also when updating 
-or syncing tracks Use this template to parse filename for tag information Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: Username:  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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume Normalization Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
+ Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for tracks selections Use mserv database to fill additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
+for this filename. Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: 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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
  Warning Western (IBM-850) Western (ISO-8859-1) Western (ISO-8859-15) Western (Windows-1252) When adding dirs/files, update information of
- existing tracks with identical filenames When adding dirs/files, update information of
-existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod Write extended information (PC filenames,
- MD5 hashes, charset). Recommended. Writing to '%s' failed (%s). Writing to '%s' failed. YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
+existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
  Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. You did not import the existing iTunesDB ('%s'). This is most likely incorrect and will result in the loss of the existing database.
 
 Press 'OK' if you want to proceed anyhow or 'Cancel' to skip storing. If you cancel, you can import the existing database before calling this function again.
  You did not import the existing iTunesDB. This is most likely incorrect and will result in the loss of the existing database.
 
 Press 'OK' if you want to proceed anyhow or 'Cancel' to abort. If you cancel, you can import the existing database before calling this function again.
- 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. _About _All Tracks _Arrange Sort Tabs _Charset (ID3, files): _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete But Keep Tracks _Delete Completely From iPod _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _File _Help _Ignore rules _Info Window _Input/Output _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
+ 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. _About _All Tracks _Arrange Sort Tabs _Check iPod's Files _Create Playlists _Create iPod's Directories _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _Export Tracks from Database _File _Help _Ignore rules _Info Window _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
  ends with file not found format not supported genre gtkpod gtkpod Info gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm). 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 options gtkpod version %s usage:
  highest rating hours iPod Database Import Failed.
 
  iPod Database Import Failed: '%s'
 
  iPod Database Saved iPod Database Successfully Imported iPod File iPod ID iPod Mount _Point: iPod directory structure must be present before synching to the iPod can be performed.
- iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up. iTunesDB '%s' does not match checksum in extended information file '%s'
+ iTunesDB '%s' does not match checksum in extended information file '%s'
 gtkpod will try to match the information using MD5 checksums. This may take a long time.
 
- iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). Aborting. iTunesDB corrupt: found mhyp at %ld in file '%s'. iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'. iTunesDB corrupt: no MHOD at offset %ld in file '%s'. iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. Trying to continue.
- iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. Trying to continue.
  in the last is is after is before is greater than is in the range is less than is not is not set is set kB kbps label21 least often played least recently added least recently played lowest rating 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.
- minutes months most often played most recently added most recently played mserv mserv Root: mserv Root:  mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
+ minutes months most often played most recently added most recently played mserv Root: mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
  prefs_set_toolbar_style: illegal style '%d' ignored
- preparing to copy... random order secs special_sorttab -- Don't translate! starts with title to tracks weeks window1 Project-Id-Version: gtkpod 0.93.1
+ preparing to copy... random order secs special_sorttab -- Don't translate! starts with title to tracks weeks window1 Project-Id-Version: gtkpod
 Report-Msgid-Bugs-To: 
-POT-Creation-Date: 2005-07-16 16:18+0900
-PO-Revision-Date: 2005-07-15 23:33+0900
-Last-Translator: Assaf Gillat <gillata at gmail.com>
+POT-Creation-Date: 2005-12-14 23:51+0900
+PO-Revision-Date: 2005-08-02 21:19+0300
+Last-Translator: Assaf Gillat
 Language-Team: HEBREW <kde-il at yahoogroups.com>
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -377,16 +332,16 @@
                 but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is
                 used with 'Offline' deactivated.
    -p <filename>:increment playcount for file by one
-  %s זמין  %s ממתין  <= cts <=   לוגיקה:  מספר הרצועות ברשימות ההשמעה הנוצרות:   P:%d T:%d/%d  העדפות: מספר קטגוריה (%d<%d?) או מספר כרטיסיית מיון (%d<%d?) מתוך לטווח.
-  _ערכת תווים (ID3, קבצים):  _מספר כרטיסיות ממויונות:  מנותק  נקודת עיגון של ה-iPod: # # בחירה אוטומטית של רשימת ראשית להשמעה?
+  %s זמין  %s ממתין  <= cts <=   לוגיקה:  P:%d T:%d/%d  העדפות: מספר קטגוריה (%d<%d?) או מספר כרטיסיית מיון (%d<%d?) מתוך לטווח.
+  מנותק # # בחירה אוטומטית של רשימת ראשית להשמעה?
  # קביעה אוטומטית: קבע תג ריקה לקובץ?
  # וידוא מחיקה
  # מיקום הגלילות : רשימות השמעה, מעל הרצועות,
 # בין כרטיסיות מיון, ובסרגל הסטטוס.
  # כרטיסיית מיון: בחר 'הכל', הדף הנבחר אחרון (=קטגוריה)
- # תיאור=0, ביצוע, כותר, סגנון, יוצר
+ # שם רצועה=0, אמן, כותר, סגנון, יוצר
  # מספר_רצועה=5, מזהה_ipod, נתיב_ב-PC, הועברו
- # גדלי חלונות: חלון ראשי, ווידוא לא נגלל, ווידוא נגלל, דפדפן תיקיות, הגדרות
+ # גדלי חלונות: חלון ראשי, ווידוא לא נגלל, ווידוא נגלל, סייר תיקיות, הגדרות
  %d%% (%d:%02d:%02d נותרו) %s - %s הקובץ %s הוא כנראה לא קובץ wav נתמך.
  %s:
 מצפים ל "itunesdb_hash=" אבל קיבלנו:"%s"
@@ -417,30 +372,24 @@
  רק '%%[%s]' מותר : '%s'
  אי אפשר לנרמל את '%s-%s' (%s)
 
- התעלמות ממצב 'הוספה' עקב תקלה תבנית 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' או דומה. לחץ 'enter' בסיום. התעלמות ממצב 'שונה' עקב תקלה התעלמות ממצב 'הושמע' עקב תקלה קובץ ריצה של 'mp3gain': (C) 2002 - 2003
-יורג שולר (jcsjcs at users dot sourceforge dot net)
-קורי דונהיו (atmos at atmos dot org)
-
-
- + - ... ...בתור סמלים ...בתור טקסט ...ביחד גם סמלים וגם טקסט ...רשומה 'הכל' בכרטיסיית המיון... ...רשימת השמעה ראשית 0 1 2 3 4 5 : <b>הוספה/עדכון/סנכרון</b> <b>יצירה אוטומטית של רשימות השמעה</b> <b>בחירה אוטומטית...</b> <b>ווידוא מחיקה</b> <b>מאפייני רצועה נראים</b> <b>ייבוא</b> <b>אחר</b> <b>נגן</b> <b>כרטיסיות מיון</b> <b>סנכרון</b> <b>סנכרון</b> <b>קריאת תגיות</b> <b>סרגל כלים</b> <b>תוויות מידע</b> <b>עריכת רצועות</b> <b>נרמול עוצמת קול</b> <b>mserv</b> כותר: ביצוע: כתיבת מידע מורחב בוטלה.
- מבטל... אודות gtkpod הוספת תיקיות רקורסיבית הוספת קבצים הוספת קבצים או תיקיות הוספת רשימת השמעה הוספת _תיקיות הוספת _קבצים הוספת _רשימות השמעה הוספת תיקיות בצורה רקורסיבית הוספת רשימת השמעה מקובץ הוספו מוסיף/מעדכן/מסנכרן אדריאן אלריך: הסבה של קוד רשימות השמעה מ mktunes.pl ל itunesdb.c
+ התעלמות ממצב 'הוספה' עקב תקלה תבנית 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' או דומה. לחץ 'enter' בסיום. התעלמות ממצב 'שונה' עקב תקלה התעלמות ממצב 'הושמע' עקב תקלה קובץ ריצה של 'mp3gain': + - ...בתור סמלים ...בתור טקסט ...ביחד גם סמלים וגם טקסט ...רשומה 'הכל' בכרטיסיית המיון... ...רשימת השמעה ראשית 0 1 2 3 4 5 : <b>הוספה/עדכון/סנכרון</b> <b>יצירה אוטומטית של רשימות השמעה</b> <b>בחירה אוטומטית...</b> <b>ווידוא מחיקה</b> <b>מאפייני רצועה נראים</b> <b>התעלם ממילים תכופות</b> <b>ייבוא</b> <b>אחר</b> <b>נגן</b> <b>סדר מיון</b> <b>כרטיסיות מיון</b> <b>סנכרון</b> <b>סנכרון</b> <b>קריאת תגיות</b> <b>סרגל כלים</b> <b>תוויות מידע</b> <b>עריכת רצועות</b> <b>נרמול עוצמת קול</b> <b>mserv</b> כותר: ביצוע: כתיבת מידע מורחב בוטלה.
+ מבטל... אודות gtkpod הוספת תיקיות רקורסיבית הוספת קבצים הוספת קבצים או תיקיות הוספת רשימת השמעה הוספת _תיקיות הוספת _קבצים הוספת _רשימות השמעה הוספת תיקיות בצורה רקורסיבית הוספת רשימת השמעה מקובץ הוספו אדריאן אלריך: הסבה של קוד רשימות השמעה מ mktunes.pl ל itunesdb.c
  אפשרויות מיון מתקדמות כותר אלכס טריבל: טלאי שחרור iPod
  הכל וגם (הכל) כל הרצועות שמעולם לא השמיעו אותן כל הרצועות שהושמעו מאז הפעם האחרונה כל הרצועות שלא מופיעות באף רשימת השמעה סדר אלפאבתי כלול גם רצועות שלעולם לא נוגנו ברשימת השמעה "הדירוג הכי גבוה" כתוב תמיד תגיות ID3v2.4 (תקף רק ל-MP3) אנדרו הנטוורק: טיפול בהבחנה באותיות גדולות/קטנות בשמות קבצים ומספר באגים נוספים
  עותק ריצה נוסף של gtkpod נמצא. שרת ספירה לא יופעל.
  או (כל אחד) ערבית (IBM-864) ערבית (ISO-8859-6) ערבית (Windows-1256) האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועה הבאה לגמרי ממסד הנתונים? מספר רשימות ההשמעה שהרצועה הזו חברה בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועות הבאות לגמרי ממסד הנתונים? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועה הבאה לגמרי מהדיסק הקשיח? מספר רשימות ההשמעה שהרצועה הזו חברה בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועות הבאות לגמרי מהדיסק הקשיח? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועה הבאה לגמרי מה-iPod? מספר רשימות ההשמעה שהרצועה הזו חברה בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את רשימת ההשמעה '%s' ואת הרצועות הבאות לגמרי מה-iPod? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את הרצועה הבאה לגמרי מהדיסק הקשיח? מספר רשימות ההשמעה שהרצועה הזו חברה בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את הרצועות הבאות לגמרי מהדיסק הקשיח? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את הרצועה הבאה לגמרי מה-iPod? מספר רשימות ההשמעה שהרצועה הזו חברה בהן מצוינת בסוגריים. האם אתה בטוח שברצונך למחוק את הרצועות הבאות לגמרי מה-iPod? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים. האם אתה בטח שאתה רוצה למחוק את רשימת ההשמעה '%s'? האם אתה בטוח שאתה רוצה להסיר את כל הרצועות ממסד הנתונים? האם אתה בטוח שאתה רוצה להסיר את כל הרצועות מה-iPod? האם אתה בטוח שברצונך למחוק את הרצועה הבאה לגמרי ממסד הנתונים המקומי? מספר רשימות ההשמעה שהרצועה הזו חברה בהן מצוינות בסוגריים. האם אתה בטוח שברצונך למחוק את הרצועות הבאות לגמרי ממסד הנתונים המקומי? מספר רשימות ההשמעה שהרצועות האלו חברות בהן מצוינות בסוגריים. האם אתה בטוח שברצונך להסיר את הרצועה הבאה מרשימת ההשמעה "%s"? האם אתה בטוח שברצונך להסיר את הרצועות הבאות מרשימת ההשמעה "%s"? ארמנדו אטיאנזה: תמיכה בספירה השמעה חיצונית
- ביצוע בתור אפשרות אחרונה קבע את התגיות לשם הקובץ
-אם הן (עדיין) ריקות: בתור אפשרות אחרונה קבע את התגיות לשם הקובץ, אם הן (עדיין) ריקות: עולה שמירה אוטומטית שמירה אוטומטית של תצוגת הרצועות בוטלה.
+ אמן בתור אפשרות אחרונה קבע את התגיות לשם הקובץ
+אם הן (עדיין) ריקות: עולה שמירה אוטומטית שמירה אוטומטית של תצוגת הרצועות בוטלה.
 
- רשימות השמעה הנוצרות-אוטומטית יבא אוטומטית iTunesDB בתחילת התוכנית בחירה אוטומטית... הצג אוטומטית רצועות שמתאימות לקריטריונים המוכנסים למעלה. אם אפשרות זו לא נבחרה, חובה עליך ללחוץ 'תצוגה' על מנת להראות את הרצועות. בתים BPM בלטית (ISO-8859-13) בלטית (ISO-8859-4) בלטית (Windows-1257) לפני הסרת רשימות השמעה או רצועות מרשימת השמעה לפני הסרת רצועות לגמרי מן ה-iPod לפני הסרת רצועות לגמרי בזמן סנכרון תיקיות לפני הסרת רצועות לגמרי כאשר מסנכרנים תיקיות לפני הסרת רצועות מהדיסק הקשיח לפני הסרת רצועות מה-iPod לפני הסרת רצועות ממסד הנתונים המקומי דורג הכי טוב (%d) הרצועות המדורגות בראש קצב סיביות חסום תצוגה בזמן החלפת רשימת השמעה או רשומת כרטיסיה (מהיר) דפדף דיסק שמע מזהה דיסק שמע מספר דיסק שמע וסך כל דיסקי השמע בקבוצה מחבר: יומן פקודת סנכרון ליומן: קרא אוטומטית בזמן סנכרון iTunesDB אי אפשר לסדר מחדש עץ ממוין. ביטול לא מסוגל לפתוח את '%s' לקריאה.
+ יבא אוטומטית iTunesDB בתחילת התוכנית הצג אוטומטית רצועות שמתאימות לקריטריונים המוכנסים למעלה. אם אפשרות זו לא נבחרה, חובה עליך ללחוץ 'תצוגה' על מנת להראות את הרצועות. בתים BPM בלטית (ISO-8859-13) בלטית (ISO-8859-4) בלטית (Windows-1257) לפני הסרת רשימות השמעה או רצועות מרשימת השמעה לפני הסרת רצועות לגמרי כאשר מסנכרנים תיקיות לפני הסרת רצועות מהדיסק הקשיח לפני הסרת רצועות מה-iPod לפני הסרת רצועות ממסד הנתונים המקומי דורג הכי טוב (%d) הרצועות המדורגות בראש קצב סיביות חסום תצוגה בזמן החלפת רשימת השמעה או רשומת כרטיסיה (מהיר) סייר דיסק שמע מזהה דיסק שמע מספר דיסק שמע וסך כל דיסקי השמע בקבוצה מחבר: יומן פקודת סנכרון ליומן: קרא אוטומטית בזמן סנכרון iTunesDB אי אפשר לסדר מחדש עץ ממוין. ביטול לא מסוגל לפתוח את '%s' לקריאה.
 
  לא מסוגל להסיר רשומה 'הכל' אי אפשר לבטל מיון של תצוגת העץ עקב באג בספרית ה-GTK הנמצאת בשימוש (%d.%d.%d < 2.5.4). ברגע שמיינת את תוגת העץ, אי אפשר לחזור חזרה למצב הלא ממוין.
 
- לא יכול לכתוב mhod של סוג %d
  קטגוריה: קלטית (ISO-8859-14) מרכז אירופאי (IBM-852) מרכז אירופאי (ISO-8859-2) מרכז אירופאי (Windows-1250) בדוק קבצים קיימים בזמן העתקה מה-iPod. בודק קבצים על ה-iPod כנגד קבצים ידועים במסד הנתונים סינית מופשטת (GB18030) סינית מופשטת (GB2312) סינית מסורתית (Big5) סינית מסורתית (Big5-HKSCS) כריס קוטלר: יצירת סוגים שונים של רשימות השמעה אוטומטית
- כריס מיקאצ'י: בזמן מיון התעלם מתחילות כגון ה' הידיעה (the) ואחרים בתחילת התיאור
+ כריס מיקאצ'י: בזמן מיון התעלם מתחילות כגון ה' הידיעה (the) ואחרים בתחילת שם הרצועה
  כריסטוף קונץ: טיפול בבעיות תאימות בזמן כתיבת תגיות id3v2.4 בקבצי mp3
  קלינטון גורמלי: קבצי אצווה לסינכרון עם thunderbird
- יצירה פקודה עבור 'הוספה לתור': פקודה עבור 'נגן עכשיו': פקודה עבור 'הכנס לתור': פקודה עבור 'נגן עכשיו': פקודה עבור סנכרון יומן: פקודה עבור סנכרון פתקים: פקודה עבור סנכרון אנשי קשר: הערה יצירה יצירה יוצר וודא לפני הסרת רצועות וודא רשימת תיקיות וודא רשימה של תיקיות תיבת דו שיח לאישור אנשי קשר / יומן / פתקים פקודת סנכרון לאנשי קשר: המכילה רצועות נראות המכילה רצועות נבחרות הועתקו %d מתוך %d רצועה חדשה. הועתקו %d מתוך %d רצועות חדשות. הועתק %d מתוך %d רצועה. הועתקו %d מתוך %d רצועות. רצועה אחת הועתקה הועתקו %d רצועות אי אפשר למצוא את הקובץ '%s' על ה-iPod
+ יצירה פקודה עבור 'הכנס לתור': פקודה עבור 'נגן עכשיו': הערה יצירה יצירה יוצר וודא לפני הסרת רצועות וודא רשימה של תיקיות תיבת דו שיח לאישור פקודת סנכרון לאנשי קשר: המכילה רצועות נראות המכילה רצועות נבחרות הועתקו %d מתוך %d רצועה חדשה. הועתקו %d מתוך %d רצועות חדשות. הועתק %d מתוך %d רצועה. הועתקו %d מתוך %d רצועות. רצועה אחת הועתקה הועתקו %d רצועות אי אפשר למצוא את הקובץ '%s' על ה-iPod
  אי אפשר ליצור ערך ערבוב עבור itunesdb
  לא מסוגל למחוק קובץ גיבוי: "%s"
  לא מסוגל למצוא פקודה '%s' אשר צוינה עבור '%s' לא מוצא את mp3gain. ניסיתי להשתמש בקובץ הריצה: '%s'.
@@ -465,58 +414,52 @@
  יצירת רשימת השמעה חדשה יצירת קובץ רשימת השמעה יצירת קובץ _רשימת השמעה יצירת תיקיות iPod יצירת רשימת השמעה חדשה באיזה כרטיסיית מיון של רשומה נבחרת ליצור קובץ רשימת השמעה? נוצרה רשימת השמעה '%s' עם רצועה %d. נוצרה רשימת השמעה '%s' עם %d רצועות. נוצרה רשימת השמעה עם רצועה אחת. נוצרה רשימת השמעה עם %d רצועות. יוצר עץ של קבצים ידועים קרדיט מסד נתונים של iPod לא נבחר עדיין. נכון לעכשיו רק המדרוג נתמך. קירילית (IBM-855) קירילית (ISO-8859-5) קירילית (ISO-IR-111) קירילית (KOI8-R) קירילית (Windows-1251) קירילית/רוסית (CP-866) קירילית/אוקראינית (KOI8-U) ד.ה. שרפ: תמיכה בקבצי m4b (קבצי AAC עם תגיות)
  רצועות מתנדנדות רצועות מתנדנדות עם קבצים על ה-PC טופלו. רצועות מתנדנדות ללא קבצים על ה-PC הוסרו. דניאל קרצר: קבצי סנכרון בשביל abook ו-webcalender
  המידע שונה ולא נשמר.
-האם לצאת מ-gtkpod? מסד הנתונים בזיכרון שבור (מצביע רשימת השמעה == NULL). מבטל ייצוא. מסד הנתונים בזיכרון שבור (מצביע רצועה == NULL). מבטל ייצוא. תאריך הוספה תאריך ושעה שהרצועה הוספה תאריך ושעה שהרצועה שונתה לאחרונה תאריך ושעה שהרצועה הושמעה לאחרונה פורמט תאריך שגוי: תו לא מזוהה: '%s'
- תאריך שינוי תאריך השמעה מחק אבל שמור רצועות וידוא מחיקה מחק ממסד הנתונים מחק מהדיסק הקשיח מחק מרשימת ההשמעה מחק מה-iPod מחק כולל רצועות מחק כולל רצועות (מסד נתונים) מחק כולל רצועות (דיסק קשיח) מחק את הרצועה לגמרי מה-iPod? מחק את הרצועות לגמרי מה-iPod? מחק את הרצועה מהדיסק הקשיח? מחק את הרצועות מהדיסק הקשיח? מחק רצועות שהוסרו. נמחקה %d רצועה מרשימת ההשמעה '%s' נמחקו %d רצועות מרשימת ההשמעה '%s' הרצועה נמחקה לגמרי מה-iPod הרצועות %d נמחקו לגמרי מה-iPod נמחקה רצועה אחת מהדיסק הקשיח נמחקו %d רצועות מהדיסק הקשיח נמחקה רשומה '%s' נמחקה רשימת השמעה '%s' כולל רצועה %d נמחקה רשימת השמעה '%s' כולל %d רצועות נמחקה רשימת השמעה '%s' כולל רצועה %d מהדיסק הקשיח נמחקה רשימת השמעה '%s' כולל %d רצועות מהדיסק הקשיח נמחקה רצועה ממסד הנתונים המקומי נמחקו %d רצועות ממסד הנתונים המקומי רצועות נמחקות יורד קובע איך מחרוזת המידע תבנה, לדוגמה:
-'%a/% A/%T - %t.mp3' או '%ס'
-אתה יכול להפריד מספר תבניות על ידי נקודה־פסיק. היישום gtkpod יקבע איזה מהם יבחר לשימוש על ידי הסיומת הניתנת. ביצוע: %a, כותר: %A, יוצר: %c, תיאור: %t, סגנון: %G, מספר רצועה: %T, מספר תקליטור: %C, שנה: %Y, שם מקורי (דרוש מידע מורחב): %o, הסימן '%': %%. קובע את שם הרצועה שאתה תעתיק מה-iPod. לדוגמה:
-'%a/%A/%T - %t.mp3' או '%o'.
-אתה יכול להפריד מספר תבנית על ידי נקודה־פסיק. היישום gtkpod יקבע איזה מהם יבחר לשימוש על ידי הסיומת הניתנת.
-ביצוע: %a, כותר: %A, יוצר: %c, תיאור: %t, סגנון: %G, מספר רצועה: %T, מספר תקליטור: %C, שנה: %Y, שם מקורי (דרוש מידע מורחב): %o, רשימת ההשמעה הנוכחית: %p, הסימן '%': %%. לא נמצאה חתיכת SLst כצפוי. מנסה להמשיך.
- תיקיות מספר דיסק תצוגה הצג רשימה של רצועות שאפשר לעדכן אותן. הצג רשימה של רצועות שאי אפשר לעדכן אותן. הצג מידע אודות כפילויות מזוהות הצג מידע על רצועות שלא עודכנו בזמן סנכרון תיקיות הצג מידע אודות רצועות מעודכנות הראה הודעות ואזהרות בתחילת התוכנית הצג את רשימת הכפילויות שזוהו אחרי הוספת הקבצים. הראה סרגל כלים... הצג תוויות מידע בחלון הראשי הצג תוויות מידע בחלון האפשרויות הצג רצועות המתאימות לקריטריונים המוכנסים למעלה. רצועות
-מוצגות הצג מאפייני רצועה אל תרשה כפילויות של קבצים זיהוי כפילויות מתבסס על חישוב קוד ערבוב md5 על הקובץ. זיהוי כפילויות שגיאה בזמן פתיחת קובץ: '%s' (%s).
+האם לצאת מ-gtkpod? תאריך הוספה תאריך ושעה שהרצועה הוספה תאריך ושעה שהרצועה שונתה לאחרונה תאריך ושעה שהרצועה הושמעה לאחרונה פורמט תאריך שגוי: תו לא מזוהה: '%s'
+ תאריך שינוי תאריך השמעה מחק אבל שמור רצועות מחק ממסד הנתונים מחק מהדיסק הקשיח מחק מרשימת ההשמעה מחק מה-iPod מחק כולל רצועות מחק כולל רצועות (מסד נתונים) מחק כולל רצועות (דיסק קשיח) מחק את הרצועה לגמרי מה-iPod? מחק את הרצועות לגמרי מה-iPod? מחק את הרצועה מהדיסק הקשיח? מחק את הרצועות מהדיסק הקשיח? מחק רצועות שהוסרו נמחקה %d רצועה מרשימת ההשמעה '%s' נמחקו %d רצועות מרשימת ההשמעה '%s' הרצועה נמחקה לגמרי מה-iPod הרצועות %d נמחקו לגמרי מה-iPod נמחקה רצועה אחת מהדיסק הקשיח נמחקו %d רצועות מהדיסק הקשיח נמחקה רשומה '%s' נמחקה רשימת השמעה '%s' כולל רצועה %d נמחקה רשימת השמעה '%s' כולל %d רצועות נמחקה רשימת השמעה '%s' כולל רצועה %d מהדיסק הקשיח נמחקה רשימת השמעה '%s' כולל %d רצועות מהדיסק הקשיח נמחקה רצועה ממסד הנתונים המקומי נמחקו %d רצועות ממסד הנתונים המקומי רצועות נמחקות יורד קובע איך מחרוזת המידע תבנה, לדוגמה:
+'%a/% A/%T - %t.mp3' or '%ס'
+אתה יכול להפריד מספר תבניות על ידי נקודה־פסיק. היישום gtkpod יקבע באיזה מהם להשתמש על ידי הסיומת הניתנת.
+אמן: a%, כותר: A%, יוצר: c%, שם הרצועה: t%, סגנון: G%, מספר רצועה: T%, מספר תקליטור: C%, שנה: Y%, שם מקורי (דרוש מידע מורחב): o%, הסימן '%': %%. קובע את שם הרצועה שאותה תעתיק מה-iPod. לדוגמה:
+'%a/%A/%T - %t.mp3' or '%o'.
+אתה יכול לציין מספר תבניות מופרדות על ידי נקודה־פסיק. היישום gtkpod יקבע באיזה יעשה שימוש על ידי הסיומת הניתנת.
+אמן: a%, כותר: A%, יוצר: c%, שם הרצועה: t%, סגנון: G%, מספר רצועה: T%, מספר תקליטור: C%, שנה: Y%, שם מקורי (דרוש מידע מורחב): o%, רשימת ההשמעה הנוכחית: p%, הסימן '%': %%. תיקיות מספר דיסק הצג רשימה של רצועות שאפשר לעדכן אותן. הצג רשימה של רצועות שאי אפשר לעדכן אותן. הצג מידע אודות כפילויות מזוהות הצג מידע על רצועות שלא עודכנו בזמן סנכרון תיקיות הצג מידע אודות רצועות מעודכנות הראה הודעות ואזהרות בתחילת התוכנית הצג את רשימת הכפילויות שזוהו אחרי הוספת הקבצים. הראה סרגל כלים... הצג תוויות מידע בחלון הראשי הצג תוויות מידע בחלון האפשרויות הצג רצועות המתאימות לקריטריונים המוכנסים למעלה. רצועות
+מוצגות אל תרשה כפילויות של קבצים גרירה ממסד הנתונים של ה-iPod היא לא אפשרית במצב לא מקוון. זיהוי כפילויות שגיאה בזמן פתיחת קובץ: '%s' (%s).
  שגיאה בזמן כתיבת תג לקובץ: '%s' (%s).
  עריכה ערוך רשימת השמעה חכמה אדוארד מאטוצ'י : דיבוג, יצירת רשימות השמעה מיוחדות, רוב הקוד של נירמול הקול.
- מקום פנוי אפקטיבי רשימת השמעה ריקה נתקלנו בסוג לא ידוע של MHOD (%d) בזמן ניתוח ה-iTuneDB. מתעלם.
-
- אנגלית (US-ASCII) הכנס לתור באיזה כרטיסיית מיון של רשומה נבחרת להוסיף רצועות לתור? אירו קאררה: בדיקת קבצים וסנכרון מהיר בזמן העתקת רצועות מה-iPod
+ מקום פנוי אפקטיבי רשימת השמעה ריקה אנגלית (US-ASCII) הכנס לתור באיזה כרטיסיית מיון של רשומה נבחרת להוסיף רצועות לתור? אירו קאררה: בדיקת קבצים וסנכרון מהיר בזמן העתקת רצועות מה-iPod
  תקלה בהעתקת '%s' ל '%s' (%s)
  תקלה בהעתקת '%s' ל '%s': תקלת הרשאות (%s)
  תקלה ביצירת %s: %s
- תקלה בפתיחת '%s' לקריאה (%s). תקלה בפתיחת '%s' לכתיבה (%s). תקלה בהסרת '%s' (%s) תקלה בשינוי שם '%s' ל '%s' (%s). שגיאה בקביעת שדה ID3: %s
- תקלה בזמן סגירה '%s' (%s). תקלה בזמן קריאת מידע מורחב: %s
- תקלה בזמן קריאה מ '%s' (%s). שגיאה בזמן קריאת העדפות: %s
- תקלה בזמן כתיבה ל '%s' (%s). תקלה בכתיבה ל-'%s'.
- נתיב מדויק לקובץ ריצה של 'mp3gain': ביצוע של mp3gain ('%s') נכשל. באיזה כרטיסיית מיון של רשומה נבחרת לייצא? מידע מורחב לא יהיה בשימוש.
+ שגיאה בקביעת שדה ID3: %s
+ תקלה בזמן קריאת מידע מורחב: %s
+ שגיאה בזמן קריאת העדפות: %s
+ תקלה בכתיבה ל-'%s'.
+ שגיאה: גרירה מה-iPod היא לא אפשרית במצב לא מקוון. ביצוע של mp3gain ('%s') נכשל. ייצא רצועות יצוא ממסד הנתונים של ה-iPod הוא לא אפשרי במצב לא מקוון. באיזה כרטיסיית מיון של רשומה נבחרת לייצא? מידע מורחב לא יהיה בשימוש.
  מידע מורחב לא יהיה בשימוש. אם יש לך רצועות שלא הועברו,
 הן ילכו לאיבוד.
  קובץ מידע מורחב לא נמחק: '%s' עדכון רצועה נכשל כישלון בכתיבה ל '%s-%s'
  הקובץ "%s" בעל זמן אפס. מתעלם.
- גודל קובץ קובץ לא קיים: '%s'. גודל קובץ גודל קובץ (נמחק) גודל קובץ (לא-מועבר) תבנית הקובץ: קבצים מצא קבצים יתומים (קבצים ללא מידע רצועה במסד הנתונים) ורצועות מתנדנדות (רצועות ללא קבצים מתאימים על ה-iPod) פלאביו סטאנצינה: תיקון באגים
- לדוגמא, 'xmms %s' ינקה את רשימת ההשמעה הנוכחית של xmms, יוסיף את הרצועות הנבחרות ויתחיל לנגן. לדוגמא, 'xmms -e %s' יוסיף את הרצועות הנבחרות לרשימת ההשמעה הנוכחית ב-xmms. נמצאו %d קבצים יתומים ו-%d קבצים מתנדנדים. בוצע. נמצאו %d קבצים יתומים ו-%d קבצים מתנדנדים. מעבד... צרפתית:   דיוויד לה-ברון (david at dyn-ns dot net)
- ג"ב סוג: כללי סגנון גרמנית:   יורג שולר (jcsjcs at users dot sourceforge dot net)
+ גודל קובץ גודל קובץ גודל קובץ (נמחק) גודל קובץ (לא-מועבר) תבנית הקובץ: קבצים מצא קבצים יתומים (קבצים ללא מידע רצועה במסד הנתונים) ורצועות מתנדנדות (רצועות ללא קבצים מתאימים על ה-iPod) פלאביו סטאנצינה: תיקון באגים
+ לדוגמא, 'xmms %s' ינקה את רשימת ההשמעה הנוכחית של xmms, יוסיף את הרצועות הנבחרות ויתחיל לנגן. לדוגמא, 'xmms -e %s' יוסיף את הרצועות הנבחרות לרשימת ההשמעה הנוכחית ב-xmms. נמצאו %d קבצים יתומים ו-%d קבצים מתנדנדים. בוצע. נמצאו %d קבצים יתומים ו-%d קבצים מתנדנדים. מעבד... צרפתית:	דיוויד לה-ברון (david at dyn-ns dot net)
+ ג"ב סוג: סגנון גרמנית:	יורג שולר (jcsjcs at users dot sourceforge dot net)
  גרהאם וילפורד: קריאה וכתיבה של תגיות הID3 של ה'יוצר', פקד התקדמות בזמן סנכרון
  יוונית (ISO-8859-7) יוונית (Windows-1253) קיבוץ טפל בעגינה/ניתוק של כונן ה-iPod טיפול ברצועות מתנדנדות ללא קבצים על ה-PC בוטל. בוצע ערבוב של %d מתוך %d רצועה. בוצע ערבוב של %d מתוך %d רצועות. קובץ מעורבב (Hashed) בעל גודל של 0
- הסתכל על קבצי האצווה המופיעים ב-'%s'. אם תכתוב קובץ אצווה חדש, שלח אותו בבקשה אל jcsjcs ב- users.sourceforge.net להכללה בגרסה הבאה. עברית (IBM-862) עברית (Windows-1255) מומלץ מאוד לייבוא מהיר כאשר מנצלים את מנגנון זיהוי כפילויות. בנוסף, אם ישנם הקבצים על ה-PC זה יאפשר כתיבת של תגיות ה-ID3 לדיסק הקשיח, ואפילו לבנות מחדש את תוכן ה-iPod במקרה של פגימה במערכת הקבצים (שינוי רשומות ה-"transferred" במסד הנתונים של הגיבוי). הירושי קאוואשימה: זיהוי אוטומטי של ערכת תווים יפנית.
- הרץ מזהה הסמלים על הכפתורים נעשו על ידי ניקולס צ'ריוט.
-
-
- אם זמין, העותק המקומי של הרצועה יקושר מרשימת ההשמעה. אחרת נשתמש בקובץ על ה-iPod. אם יסומן, המיון יבחין בין אותיות קטנות לגדולות. שים לב שהבחנה זאת לא תעבוד היטב ברוב ערכות התווים. אם הקובץ (נתיב מלא) של רצועה קיימת תואם את זה של רצועה להוספה, אפשרות זאת מאפשרת לך לעדכן את המידע על הרצועה הקיימת במקום רק לדלג על הרצועה בכלל. שום עדכון לא יתבצע אם הקובץ לא השתנה ובחרת באפשרות לא לאפשר כפילות בקבצים למעלה. אם תסמן אופציה זאת, רצועות שהוסרו מתיקיות מסונכרנות יוסרו מה-iPod גם כן. אם תסמן אופציה זו, gtkpod יכנס לתוך תיקיות משנה רקורסיבית. אם לא תבחר את רשימת ההשמעה הראשית אוטומטית, יבוא מסד הנתונים הראשוני יהיה יותר בעקבות כך שהתצוגה לא תצטרך להתעדכן. אם אתה בוחר מספר רצועות ברשימת הרצועות ועורך תגית של הרצועה הראשונה, התגיות ברצועות הממוינות מתעדכנות גם כן. חיפוש לא חוקי בהיסט %ld (אורך %ld) בקובץ '%s'. ייבא הייבוא של '%s' נכשל: m4a/m4p/m4b לא נתמך ללא הספריה mp4v2. אתה חייב להדר את קוד המקור gtkpod ביחד עם הספריה mp4v2.
- הועלתה ספירת השמעות עבור '%s' מידע זה יותר מהיר למיין את התצוגה אחרי שכל הרצועות הוספו. חלק מהאנשים ירגישו שהתנהגות זו מעצבנת וכנראה יבטלו את הסימון לאפשרות זו. איטלקית:  אדוארד מאטוצ'י (edward_matteucc at users dot sourceforge dot net)
- מזהה Itdb_Track '%d' לא נמצא.
+ עברית (IBM-862) עברית (Windows-1255) עברית:	אסף גילת (gillata at gmail dot com)
+ מומלץ מאוד לייבוא מהיר יותר ,כאשר מנצלים את מנגנון זיהוי הכפילויות. בנוסף, על ידי כך שקיים מידע שם הקובץ של הקבצים על ה-PC זה מאפשר כתיבת של תגיות ה-ID3 לדיסק הקשיח, ואפילו בניה מחדש של תוכן ה-iPod במקרה של בעיה במערכת הקבצים (שנה את שדה ה-"הועבר" במסד הנתונים המגובה). הירושי קאוואשימה: זיהוי אוטומטי של ערכת תווים יפנית.
+ הרץ מזהה אם זמין, העותק המקומי של הרצועה יקושר מרשימת ההשמעה. אחרת נשתמש בקובץ על ה-iPod. אם יסומן, המיון יבחין בין אותיות קטנות לגדולות. שים לב שהבחנה זאת לא תעבוד היטב ברוב ערכות התווים. אם הקובץ (נתיב מלא) של רצועה קיימת תואם את זה של רצועה להוספה, אפשרות זאת מאפשרת לך לעדכן את המידע על הרצועה הקיימת במקום רק לדלג על הרצועה בכלל. שום עדכון לא יתבצע אם הקובץ לא השתנה ובחרת באפשרות לא לאפשר כפילות בקבצים למעלה. אם תסמן אופציה זאת, רצועות שהוסרו מתיקיות מסונכרנות יוסרו מה-iPod גם כן. אם תסמן אופציה זו, gtkpod יכנס לתוך תיקיות משנה רקורסיבית. אם לא תבחר את רשימת ההשמעה הראשית אוטומטית, יבוא מסד הנתונים הראשוני יהיה יותר מהיר בעקבות כך שהתצוגה לא תהיה חייבת להתעדכן. אם אתה בוחר מספר רצועות ברשימת הרצועות ועורך תגית של הרצועה הראשונה, התגיות ברצועות הממוינות מתעדכנות גם כן. התעלם ממילים אלו כאשר הן מופיעות בתחילת השדות הבאים: הייבוא של '%s' נכשל: m4a/m4p/m4b לא נתמך ללא הספריה mp4v2. אתה חייב להדר את קוד המקור gtkpod ביחד עם הספריה mp4v2.
+ על מנת לשמור את סדר הרצועות הנראות אל ה-iPod בחר 'שמור סדר רצועות נראות' מתפריט ה-'עריכה' או בחר 'שמירה אוטומטית' למטה. הועלתה ספירת השמעות עבור '%s' מידע זה יותר מהיר למיין את התצוגה אחרי שכל הרצועות הוספו. חלק מהאנשים יחשבו שהתנהגות זו מעצבנת וכנראה יבטלו את הסימון לאפשרות זו. איטלקית:	אדוארד מאטוצ'י (edward_matteucc at users dot sourceforge dot net)
  ג'יימס ליגט: החלפה של מסכי בחירת הקבצים הישנים של GTK עם מסכים החדשים של GTK
- יפנית (EUC-JP) יפנית (ISO-2022-JP) יפנית (Shift_JIS) יפנית (זיהוי אוטומטי) יפנית: אייקו סאנו
- יפנית: קונטרו פוקוצ'י (fukuchi at users dot sourceforge dot net)
+ יפנית (EUC-JP) יפנית (ISO-2022-JP) יפנית (Shift_JIS) יפנית (זיהוי אוטומטי) יפנית:	אייקו סאנו
+ יפנית:	קונטרו פוקוצ'י (fukuchi at users dot sourceforge dot net)
  ז'אנס לאוטנבאך: מספר שיפורים אופטיים
  ז'אנס טאפרוג: תמיכה בנרמול עוצמת קול של LAME
  ג'ים הול: הליך התקנה נורמלי
  יורגן הלמרס, מרכוס גאוגושס: תסריטי המרה לסנכרון היומן/אנשי קשר אל ה-iPod
- סוג קוריאנית (EUC-KR) שונה לאחרונה הושמע לאחרונה בפעם האחרונה הושמע לאחרונה אורך שדה של חוק (%d) רשימת השמעה חכמה הוא לא כצפוי. מנסה להמשיך בכל זאת.
- עדכון _חי מקומי מסד נתונים מקומי כישלון ביבוא מסד נתונים מקומי: 
+ סוג קוריאנית (EUC-KR) שונה לאחרונה הושמע לאחרונה בפעם האחרונה הושמע לאחרונה עדכון _חי מקומי מסד נתונים מקומי כישלון ביבוא מסד נתונים מקומי: 
 
  כישלון ביבוא מסד נתונים מקומי: '%s'
 
  מסד נתונים מקומי יובא בהצלחה שם קובץ מקומי לא תקין (%s) שוליים תחתונים מ"ב שורה לא תקינה ב '%s' : %s
- שינוי עוצמת קול ידנית רשימת ראשית התאם את _כל הבאים התאם _כל אחד מן הבאים התאם רק רצועות _מסומנות אחר שונה הכי הרבה הושמע (%d) הרצועות שהושמעו הכי לאחרונה רצועה אחת הועברה הועברו %d רצועות שורש המוזיקה: שורש המוזיקה: שם הקובץ על ה-PC, אם קיים שם הקובץ על ה-iPod לא הושמע אף פעם בזמן סנכרון, אל תמחק שום קובץ אל תראה חלון דו-שיח זה בעתיד ר"ה חדשה רשימת השמעה חדשה לא נמצאו סכומי ביקורת (checksum) על רצועות יחידניות.
+ שינוי עוצמת קול ידנית התאם את _כל הבאים התאם _כל אחד מן הבאים התאם רק רצועות _מסומנות שונה הכי הרבה הושמע (%d) הרצועות שהושמעו הכי לאחרונה רצועה אחת הועברה הועברו %d רצועות שורש המוזיקה: שם הקובץ על ה-PC, אם קיים שם הקובץ על ה-iPod לא הושמע אף פעם בזמן סנכרון, אל תמחק שום קובץ אל תראה חלון דו-שיח זה בעתיד ר"ה חדשה רשימת השמעה חדשה לא נמצאו סכומי ביקורת (checksum) על רצועות יחידניות.
 על מנת למנוע שמצב זה לא יופיע בעתיד הפעל מצב זיהוי כפילויות (שייתן סכומי ביקורת) או הימנע משימוש בתוכנות אחרות מלבד gtkpod.
 
  אין רשימת פקודות ל-'%s' לא נשמרו שמות תיקיות. וודא שאפשרת 'כתיבת מידע מורחב' בחלק ייצוא של ההגדרות בזמן ייבוא קבצים.
@@ -525,31 +468,27 @@
  לא נבחרה רשומה בכרטיסיית מיון %d לא נבחרה רשומה. לא קיים מידע למשתמש '%s' ב- '%s' ללא שוליים תחתונים לא ניתן להשיג מידע mserv מהרצועה הבאה לא ניתן להשיג מידע mserv מ-%d הרצועות הבאות לא נבחרה רשימת השמעה לא נבחרה רשימת השמעה. רצועות לא זמינות, לא נוצרה רשימת השמעה אין רצועות בבחירה לא נבחרו רצועות לא נבחרו רצועות. ללא שוליים עליונים לא נמצאו תיקיות תקינות. סנכרון בוטל.
  קובץ לא תקין עבור: %s
 
- רצועות לא מועברות ללא נורדית (ISO-8859-10) נרמול נכשל: קובץ לא קיים.
- נרמול נכשל: סוג קובץ לא נתמך.
- נרמול באיזה כרטיסיית מיון של רשומה נבחרת לנרמל רצועות? נורמלו %d מתוך %d רצועות. נורמלו %d מתוך %d רצועות. מנרמל... באופן רגיל ערכת התווים המצוינת כאשר מייבאים לראשונה את הרצועות תהיה זו שיעשה בה שימוש לעדכן את שם הקובץ. אם בחרת ערכת תווים שגויה בעזרת בוחר ערכת התווים (העדפות 'הוספה/עדכון/סנכרון'). הערה: מידע ערכת התווים נשמר במידע המורחב (ראה העדפות כתיבה ל-iTunesDB). רצועות שיובאו לפני גרסה 0.51 לא תהיה להם ערכת תווים שמורה. במקום זאת ערכת התווים המצוינת למעלה תהיה זו שנשתמש בה אז. באופן רגיל ערכת התווים המצוינת כאשר מייבאים לראשונה את הרצועות תהיה זו שיעשה בה שימוש לעדכן את מידע הרצועה. אם בחרת ערכת תווים שגויה כאשר ייבאת לראשונה את הרצועה וברצונך לתקן זאת בעזרת 'עדכן רצועה', אתה תהיה חייב לסמן את האפשרות הזאת. הערה: מידע ערכת התווים נשמר במידע המורחב (ראה : כתיבה ל-iTunesDB למטה) ורצועות שיובאו לפני גרסה 0.51 לא תהיה להם ערכת תווים שמורה. במקום זאת ערכת התווים המצוינת למעלה תהיה זו שנשתמש בה אז. בדרך כלל יעשה שימוש בערכת התווים המצוינת בזמן ייבוא הרצועה לשם כתיבת התגיות. אם בחרת ערכת תווים שגויה בזמן ייבוא רצועה, אתה יכול לבחור אפשרות זו ביחד עם ערכת התווים הנכונה. הערה: משתמש בקובץ המידע המורחב לשמור את מידע ערכת התווים (ראה 'כתיבת iTunesDB' בעמוד קלט/פלט) ורצועות שיובאו לפני גרסה 0.51 לא תהייה להן ערכה שמורה -- הערכה המצוינת בעמוד קלט/פלט יעשה בה שימוש. לא רשום זהו לא קובץ רשימת השמעה OTG: '%s' (חסרה תחילת קובץ mhpo). זהו לא קובץ ספירת השמעה: '%s' (חסר תחילית mhdp) זהו לא iTunesDB: '%s' (חסרה תחילית mhdb). פקודת סנכרון לפתקאות (notes): אין מה לעדכן הודעה: סדר הרצועות תמיד ישמר על ה-iPod כאשר תשתמש בגרירה ושחרור על מנת לסדר את הרצועות.
-על מנת לשמור רצועות בסדר אלפביתי ל-iPod  אתה מוכרח לבחור באפשרות 'שמירת סדר רצועות נראות' מתפריט העריכה או לבחור 'שמירה אוטומטית' למעלה. כותב כעת iTunesDB. אנא המתן... מספר רשימות ההשמעה מספר הפעמים שהרצועה הושמעה מספר רצועות מספר הרצועות ברשימת השמעה: מספר הרצועות ברשימות ההשמעה הנוצרות 'המושמעים ביותר', 'הדירוג הכי גבוה' ו-'נוגנו הכי לאחרונה'. בחר '0' עבור 'ללא מגבלה'. האם ליצור את התיקיות הבאות? האם לסנכרן את התיקיות הבאות? רשימת השמעה OTG רשימת השמעה OTG %d רשימת השמעה OTG '%s': התייחסות לרצועה לא קיימת (%d). קובץ רשימת השמעה OTG ('%s'): גודל תחילית קטן מהצפוי (%d<20). קובץ רשימת השמעה OTG ('%s'): גודל רשומה קטן מהצפוי (%d<4). כישלון ביבוא מסד נתונים לא מקוון של iPod: 
+ רצועות לא מועברות ללא נורדית (ISO-8859-10) נרמול באיזה כרטיסיית מיון של רשומה נבחרת לנרמל רצועות? נורמלו %d מתוך %d רצועות. נורמלו %d מתוך %d רצועות. מנרמל... באופן רגיל ערכת התווים המצוינת כאשר מייבאים לראשונה את הרצועות תהיה זו שיעשה בה שימוש לעדכן את שם הקובץ. אם סמנת אפשרות זו תוכל לבחור ערכת תווים אחרת בעזרת בוחר ערכת התווים (העדפות 'הוספה/עדכון/סנכרון'). הערה: מידע ערכת התווים נשמר במידע המורחב (ראה העדפות כתיבה ל-iTunesDB). רצועות שיובאו לפני גרסה 0.51 לא תהיה להם ערכת תווים שמורה. במקום זאת ערכת התווים המצוינת למעלה תהיה זו שנשתמש בה. באופן רגיל ערכת התווים המצוינת כאשר מייבאים לראשונה את הרצועות תהיה זו שיעשה בה שימוש לעדכן את מידע הרצועה. אם בחרת ערכת תווים שגויה כאשר ייבאת לראשונה את הרצועה וברצונך לתקן זאת בעזרת 'עדכן רצועה', אתה תהיה חייב לסמן את האפשרות הזאת. הערה: מידע ערכת התווים נשמר במידע המורחב (ראה : כתיבה ל-iTunesDB למטה) ורצועות שיובאו לפני גרסה 0.51 לא תהיה להם ערכת תווים שמורה. במקום זאת ערכת התווים המצוינת למעלה תהיה זו שנשתמש בה אז. בדרך כלל יעשה שימוש בערכת התווים המצוינת בזמן ייבוא הרצועה לשם כתיבת התגיות. אם בחרת ערכת תווים שגויה בזמן ייבוא רצועה, אתה יכול לבחור אפשרות זו ביחד עם ערכת התווים הנכונה. הערה: משתמש בקובץ המידע המורחב לשמור את מידע ערכת התווים (ראה 'כתיבת iTunesDB' בעמוד קלט/פלט) ורצועות שיובאו לפני גרסה 0.51 לא תהייה להן ערכה שמורה -- הערכה המצוינת בעמוד קלט/פלט יעשה בה שימוש. לא רשום פקודת סנכרון לפתקאות (notes): אין מה לעדכן כותב כעת iTunesDB. אנא המתן... מספר רשימות ההשמעה מספר הפעמים שהרצועה הושמעה מספר רצועות מספר הרצועות ברשימת השמעה: מספר הרצועות ברשימות ההשמעה הנוצרות 'המושמעים ביותר', 'הדירוג הכי גבוה' ו-'נוגנו הכי לאחרונה'. בחר '0' עבור 'ללא מגבלה'. האם ליצור את התיקיות הבאות? האם לסנכרן את התיקיות הבאות? כישלון ביבוא מסד נתונים לא מקוון של iPod: 
 
  כישלון ביבוא מסד נתונים לא מקוון של iPod: '%s'
 
- מסד נתונים לא מקוון של iPod יובא בהצלחה. אישור בעליית התוכנית gtkpod יבצע 'mount <ipod mountpoint>' ביציאה תבוצע הפקודה 'umount <ipod mountpoint>'. עבור סידורים יותר מתוחכמים אנא השתמש בסקריפטים: ~/.gtkpod/gtkpod.in ~/.gtkpod/gtkpod.out אחת לכל כותר אחת לכל מבצע אחת לכל יוצר אחת לכל סגנון אחת לכל מדרוג אחת לכל שנה פתיחת '%s' לכתיבה נכשלה. יתום שכתב תגיות שכבר כתובות שכתב תגיות שכבר כתובות. כותב על קובץ קיים: '%s'
+ מסד נתונים לא מקוון של iPod יובא בהצלחה. אישור בעליית התוכנית gtkpod יבצע 'mount <ipod mountpoint>' ביציאה תבוצע הפקודה 'umount <ipod mountpoint>'. עבור סידורים יותר מתוחכמים אנא השתמש בסקריפטים: ~/.gtkpod/gtkpod.in ~/.gtkpod/gtkpod.out אחת לכל כותר אחת לכל אמן אחת לכל יוצר אחת לכל סגנון אחת לכל מדרוג אחת לכל שנה יתום שכתב תגיות שכבר כתובות כותב על קובץ קיים: '%s'
  קובץ PC טלאים סופקו על ידי האנשים הבאים (הרשימה עלולה להיות לא מושלמת -- אנא צרו איתי קשר)
 
- נתיב לא נמצא: '%s'. קובץ ספירת השמעה ('%s'): אורך רשומה קטן מהצפוי (%d<12). קובץ ספירת השמעה ('%s'): אורך תחילית קטן מהצפוי (%d<96). נגן עכשיו זמן השמעה זמן השמעה באיזה כרטיסיית מיון של רשומה נבחרת לנגן רצועות? מספור השמעות הושמע רשימת השמעה שם רשימת ההשמעה: סוג רשימת ההשמעה: רשימות השמעה הכנס בבקשה את השם של רשימת ההשמעה החדשה הסתכל בבקשה בהודעה למטה. בחר בבקשה פקודה ל 'הכנס לתור' בחר בבקשה פקודה ל 'נגן עכשיו' בחר בבקשה פקודה לסנכרון יומן בחר בבקשה פקודה לסנכרון אנשי קשר בחר בבקשה את קובץ ההרצה ל-mp3gain אנא ציין מרווח זמן אנא ציין את הפקודה שיקראו לה בחלק 'כלים' בחלון הדו-שיח העדפות.
+ נגן עכשיו זמן השמעה זמן השמעה באיזה כרטיסיית מיון של רשומה נבחרת לנגן רצועות? מספור השמעות הושמע רשימת השמעה שם רשימת ההשמעה: סוג רשימת ההשמעה: רשימות השמעה הכנס בבקשה את השם של רשימת ההשמעה החדשה הסתכל בבקשה בהודעה למטה. בחר בבקשה פקודה ל 'הכנס לתור' בחר בבקשה פקודה ל 'נגן עכשיו' בחר בבקשה פקודה לסנכרון יומן בחר בבקשה פקודה לסנכרון אנשי קשר בחר בבקשה את קובץ ההרצה ל-mp3gain אנא ציין מרווח זמן אנא ציין את הפקודה שיקראו לה בחלק 'כלים' בחלון הדו-שיח העדפות.
  ספירת שמע הגדרות העדפות עודכנו העדפות לא עודכנו לביטול לחץ על הכפתור. לחץ על הכפתור לביטול.
-בכל עת ניתן להמשיך את היצוא. בעיות ביצירת תיקיית iPod: '%s'. מעבד '%s'... רמס דהאראן: עריכה-מרובה (עריכת תגיות של מספר רצועות בו זמנית)
- אקראי (%d) רשימת השמעה אקראית מהרצועות הנראות יצירת רשימת השמעה רנדומלית דורגו %d מדרוג קרא קרא מסד נתונים קיים מהדיסק הקשיח/iPod קרא תגיות מתוכן הקובץ (כלומר תגיות ID3 של קבצי MP3) קריאה לאחרונה (%d) כיוון עוצמת קול יחסית בין -100 ל +100 הסרה של רצועות מתנדנדות ללא קבצים על ה-PC בוטלה. מחק את כל הרצועות ממסד הנתונים מחק את כל הרצועות מה-iPod הסר את הרצועה מרשימת ההשמעה? הסר את הרצועות מרשימת ההשמעה? הסר את הרצועה ממסד הנתונים המקומי? הסר את הרצועות ממסד הנתונים המקומי? הסר מספור השמעות לא מקוון? הסר את כל %d הרצועות ממסד הנתונים הוסרו כל %d הרצועות מה-iPod מאחזר נתוני mserv %s תיקיית שורש או מסד נתונים mserv (השורש של trackinfo). חוקים סאם קלאג: קביעת שמות קבצים על ידי משתמש בזמן ייצוא רצועות מה-iPod
+בכל עת ניתן להמשיך את היצוא. בעיות ביצירת תיקיית iPod: '%s'. מעבד '%s' מעבד '%s'... רמס דהאראן: עריכה-מרובה (עריכת תגיות של מספר רצועות בו זמנית)
+ אקראי (%d) רשימת השמעה אקראית מהרצועות הנראות יצירת רשימת השמעה אקראית דורגו %d מדרוג קרא קרא מסד נתונים קיים מהדיסק הקשיח/iPod קרא תגיות מתוכן הקובץ (כלומר תגיות ID3 של קבצי MP3) לאחרונה (%d) הסרה של רצועות מתנדנדות ללא קבצים על ה-PC בוטלה. מחק את כל הרצועות ממסד הנתונים מחק את כל הרצועות מה-iPod הסר את הרצועה מרשימת ההשמעה? הסר את הרצועות מרשימת ההשמעה? הסר את הרצועה ממסד הנתונים המקומי? הסר את הרצועות ממסד הנתונים המקומי? הסר מספור השמעות לא מקוון? הסר את כל %d הרצועות ממסד הנתונים הוסרו כל %d הרצועות מה-iPod מאחזר נתוני mserv %s תיקיית שורש או מסד נתונים mserv (השורש של trackinfo). חוקים סאם קלאג: קביעת שמות קבצים על ידי משתמש בזמן ייצוא רצועות מה-iPod
  קצב דגימה בחר '-1' עבור ביטול גבול עליון. בחר '0' עבור ביטול גבול תחתון. בחר נתיב תיקיית יצוא בחר תיקייה להוספה רקורסיבית בחר את תיקיית השורש ל mserv music בחר את תיקיית השורש ל mserv trackinfo רשימות השמעה
 נבחרות רצועות
-נבחרות רשומות _כרטיסיה נבחרות _רשימות השמעה נבחרות ר_צועות נבחרות אפשרויות לא נשמרו.
- הצג מידע על בעיות בגישה ל-mserv גודל מדלג על '%s' בגלל שהוא תיקייה.
+נבחרות רשומות _כרטיסיה נבחרות _רשימות השמעה נבחרות ר_צועות נבחרות הצג מידע על בעיות בגישה ל-mserv גודל מדלג על '%s' בגלל שהוא תיקייה.
  מדלג על '%s' על מנת להתחמק מהוספת קובץ רשימת השמעה רקורסיבי
  מדלג על קובץ קיים עם אורך זהה: '%s'
  רשימת השמעה חכמה בדיקת קול מספר קבצים לא הוספו בהצלחה מספר רצועות לא יכלו להימחק מה-iPod. יצוא בוטל! אי אפשר לאתר מספר רצועות שנוגנו בצורה לא מקוונת ב-iTunesDB. לחץ על 'אישור' להסיר אותן ממספור ההשמעה הלא מקוון, ועל 'ביטול' להשאיר אותן. מספר רצועות לא הועתקו לדיסק הקשיח שלך. רק הרצועות המועתקות יכללו בפעולת הגרור & שחרר הנוכחית.
 
- מספר רצועות לא הועתקו. מספר רצועות לא נכתבו ל-iPod. יצוא בוטל! כרטיסיות מיון מיין רצועות לפי: מיון אפשרויות מיון מיון עם תלות בגודל (case) כרטיסייה מיון: כרטיסיות מיון בדיקת קול מקור: דרום אירופאי (ISO-8859-3) מיוחד מציין נתיב מלא כולל אפשרויות שורת פקודה. המחרוזת '%i' תוחלף עם נקודת העגינה של ה-iPod. ציין מרווח דירוג כוכבים החל מ 0 עד 5 התחל תצוגה אוטומטית סטיב גאי: השתמש ב-statvfs() במקום ב-df (מהיר יותר, וניתן להמרה לפלטפורמות שונות בקלות יותר)
- עצור עצור עדכון תצוגה הרצועה עודכנה בהצלחה קבצים הוספו בהצלחה תיקיות ה-iPod נוצרו בהצלחה ב - '%s'. לכאורה משהו המסמן ל-iPod להגביר או להנמיך את מהירות ההשמעה שוודית : סטפן אסרהול (stefan asserhall at comhem dot se)
- סנכרן סנכרן (כתיבה של iTunesDB) סנכרון תיקיות באיזה כרטיסיית מיון של רשומה נבחרת לסנכרן תיקיות? סנכרן אנשי קשר, יומן ופתקים סנכרן הכל סנכרן יומן סנכרן אנשי קשר סנכרן פתקים סנכרון _iTunesDB מסנכרן תיקיות סנכרון בוטל סנכרון הושלם. הסנכרון הושלם. קבצים לא נמחקו. מסנכרן אנשי קשר, יומן ופתקים... מסנכרן תיקיית '%s' ערכת התווים של המערכת ט"ב קריאת תגיות התבנית ('%s') לא מתאימה לסוג הקובץ '%s'
+ מספר רצועות לא הועתקו. מספר רצועות לא נכתבו ל-iPod. יצוא בוטל! מיין רצועות לפי: אפשרויות מיון מיון עם תלות בגודל (case) כרטיסייה מיון: כרטיסיות מיון בדיקת קול מקור: דרום אירופאי (ISO-8859-3) מיוחד מציין נתיב מלא כולל אפשרויות שורת פקודה. המחרוזת '%i' תוחלף עם נקודת העגינה של ה-iPod. ציין מרווח דירוג כוכבים החל מ 0 עד 5 התחל תצוגה אוטומטית סטיב גאי: השתמש ב-statvfs() במקום ב-df (מהיר יותר, וניתן להמרה לפלטפורמות שונות בקלות יותר)
+ עצור עצור עדכון תצוגה הרצועה עודכנה בהצלחה קבצים הוספו בהצלחה תיקיות ה-iPod נוצרו בהצלחה ב - '%s'. לכאורה משהו המסמן ל-iPod להגביר או להנמיך את מהירות ההשמעה שוודית:	סטפן אסרהול (stefan asserhall at comhem dot se)
+ סנכרן סנכרון תיקיות באיזה כרטיסיית מיון של רשומה נבחרת לסנכרן תיקיות? סנכרן אנשי קשר, יומן ופתקים סנכרן הכל סנכרן יומן סנכרן אנשי קשר סנכרן פתקים סנכרון _iTunesDB מסנכרן תיקיות סנכרון בוטל סנכרון הושלם. הסנכרון הושלם. קבצים לא נמחקו. מסנכרן אנשי קשר, יומן ופתקים... מסנכרן תיקיית '%s' ערכת התווים של המערכת ט"ב התבנית ('%s') לא מתאימה לסוג הקובץ '%s'
  תבנית עבור שדה המידע: חסום זמנית מיון בזמן החלפת רשימת השמעה או רשומת כרטיסיה (מהיר) תאילנדית (TIS-620) התוכן (הקודם) של התיקיות הבאות יוסר ממסד הנתונים:
 
  ממשק המשתמש הגרפי נבנה בעזרת glade-2
@@ -566,46 +505,40 @@
  אי אפשר לעבד את הרצועה הבאה (הקובץ לא קיים): '%s'
  אי אפשר לעבד את הרצועה הבאה (סוג קובץ ידוע, אך הבדיקה נכשלה): '%s'
  אי אפשר לעבד את הרצועה הבאה (סוג קובץ לא ידוע): '%s'
- הרצועה הבאה איננה יכולה להתעדכן %d הרצועות הבאות אינן יכולות להתעדכן עודכנה הרצועה הבאה עודכנו %d הרצועות הבאות הרצועות הבאות צריכות להיות מועתקות לכונן הקשיח שלך שם השרת של הנתיב '%s' הוא לא חוקי. העותק מהמקומי של הרצועה יקושר מרשימת ההשמעה. אם הרצועה לא זמינה מקומית, תוצג הודעת שגיאה. שם הקובץ המקומי בנתיב '%s' לא יכול לכלול '#' התגיות נכתבות לקבצים על הדיסק הקשיח ועל ה-iPod (אם זמין). הרצועה על ה-iPod מקושרת בקובץ רשימת ההשמעה. פעולת הגרור & שחרר הזאת (%d) (עדיין) לא נתמכת. אם אתה מרגיש שמימושה יהיה ראוי, צור קשר עם המחבר.
+ הרצועה הבאה איננה יכולה להתעדכן %d הרצועות הבאות אינן יכולות להתעדכן עודכנה הרצועה הבאה עודכנו %d הרצועות הבאות הרצועות הבאות צריכות להיות מועתקות לכונן הקשיח שלך שם השרת של הנתיב '%s' הוא לא חוקי. העותק המקומי של הרצועה יקושר מרשימת ההשמעה. אם הרצועה לא זמינה מקומית, תוצג הודעת שגיאה. שם הקובץ המקומי בנתיב '%s' לא יכול לכלול '#' התגיות נכתבות לקבצים על הדיסק הקשיח ועל ה-iPod (אם זמין). הרצועה על ה-iPod מקושרת בקובץ רשימת ההשמעה. פעולת הגרור & שחרר הזאת (%d) (עדיין) לא נתמכת. אם אתה מרגיש שמימושה יהיה ראוי, צור קשר עם המחבר.
 
- זוהי אופציה זהה לזו שב- 'עריכה/ווידוא מחיקה' זוהי הדרך הנכונה, אך אולי לא כל התכניות תומכות בזה עדיין. הסימנייה ID3v2.4 משתמשת ב־unicode לשמור על התגיות, על מנת שלא נצטרך לדאוג לגבי ערכות תווים. gtkpod ישתמש ב־UTF8 כי זה לא יגדיל את הגודל של תגיות ASCII טהורות. תגיות ID3V2.2/4 יכתבו גם אם הן כבר קיימות בקובץ שכותבים עליו. אפשרות זה בעלת משמעות רק אם תפעיל את אפשרות 'מחיקת רצועות שהוסרו' בחלק 'הוספה/עדכון/סנכרון' בכרטיסיה 'קלט/פלט'. האפשרות הזאת תופעל מחדש בזמן שדרוג gtkpod. התוכנה שואלת קוד מהפרוייקטים הבאים: 
- זמן זמן: תיאור סרגל כלים תוויות מידע סך הכל
+ זוהי אופציה זהה לזו שב- 'עריכה/ווידוא מחיקה' זוהי הדרך הנכונה, אך אולי לא כל התכניות תומכות בזה עדיין. הסימנייה ID3v2.4 משתמשת ב־unicode לשמור על התגיות, על מנת שלא נצטרך לדאוג לגבי ערכות תווים. gtkpod ישתמש ב־UTF8 כי זה לא יגדיל את הגודל של תגיות ASCII טהורות. תגיות ID3V2.2/4 יכתבו גם אם הן כבר קיימות בקובץ שכותבים עליו. האפשרות הזאת תופעל מחדש בזמן שדרוג gtkpod. התוכנה שואלת קוד מהפרוייקטים הבאים: 
+ זמן זמן: שם הרצועה סך הכל
 (iPod) סך הכל
-(מקומי) רצועה הרצועה (%s) לא קיימת בתיקיית השורש של mserv (%s) עריכת רצועה מספר רצועה (#) מספר רצועה וסך כל מספר הרצועות על דיסק השמע רצועה מושמעת מספר רצועה רצועות הרצועות שהכי מאזינים להן הועבר מתרגמים העברה טורקית (IBM-857) טורקית (ISO-8859-9) טורקית (Windows-1254) אי אפשר לעשות 'mkdir %s'
+(מקומי) רצועה הרצועה (%s) לא קיימת בתיקיית השורש של mserv (%s) מספר רצועה (#) מספר רצועה וסך כל מספר הרצועות על דיסק השמע מספר רצועה רצועות הרצועות שהכי מאזינים להן הועבר מתרגמים העברה טורקית (IBM-857) טורקית (ISO-8859-9) טורקית (Windows-1254) אי אפשר לעשות 'mkdir %s'
  אי אפשר לפתוח את '%s' לקריאה
  אי אפשר לפתוח '%s' לכתיבה
  אי אפשר לפתוח את קובץ הקונפיגורציה '%s' לקריאה
- יוניקוד (UTF-16BE) יוניקוד (UTF-16LE) יוניקוד (UTF-32BE) יוניקוד (UTF-32LE) יוניקוד (UTF-7) יוניקוד (UTF-8) לא ידוע התעלמות מפעולה לא ידועה (%d) ברשימת השמעה חכמה.
- אפשרות לא ידועה: %s
+ יוניקוד (UTF-16BE) יוניקוד (UTF-16LE) יוניקוד (UTF-32BE) יוניקוד (UTF-32LE) יוניקוד (UTF-7) יוניקוד (UTF-8) לא ידוע אפשרות לא ידועה: %s
  אסימון לא ידוע '%%%c' בתבנית '%s' הסימן '%s' בתבנית '%s' לא ידוע
- ביטול עגינה של '%s' (%s) נכשלה. ביטול עגינה של '%s' נכשלה. רצועות לא דורגו עדכון עדכון _נתוני mserv מקובץ באיזה כרטיסיית מיון של רשומה נבחרת לעדכן? עודכנו רצועות נבחרות עם נתונים מ-mserv מעדכן רצועות נבחרות עם מידע מקובץ. מעדכן %s שוליים עליונים השתמש ב-'עריכה מרובה' גם עבור שדה תיאור השתמש ב-'עריכה-מרובה' עבור בחירת רצועות השתמש ב-'עריכה מרובה' עבור בחירת רצועות השתמש במסד נתונים של mserv על מנת למלא מידע נוסף השתמש במסד הנתונים של mserv על מנת למלא מידע נוסף השתמש בערכת התווים הנבחרת (אפשרויות/'הוספה/עדכון/סנכרון')
-עבור הקובץ הזה. השתמש בערכת תווים הנבחרת (בעמוד 'כללי')
-בזמן כתיבת התגיות השתמש בערכת התווים הנבחרת (בדף ה'ייבוא')
- כאשר התגיות נכתבות השתמש בבחירת ערכת תווים גם בזמן עדכון
- או סנכרון רצועות השתמש בערכת תווים נבחרת גם בזמן עדכון או סנכרון רצועות השתמש בתבנית זאת על מנת לנתח קובץ למידע תג השתמש בתבנית הזאת על מנת לנתח את הקובץ למידע תגית: שם משתמש הנועד לשימוש במסד הנתונים של mserv. שם משתמש: שם משתמש: בדרך כלל אתה לא תרצה לקבוע את התיאור של מספר רצועות לאותו טקסט. אפשרות זאת עלולה למנוע תוצאות לא רצויות (במיוחד שאין עדיין אפשרות 'בטל') וייטנאמית (VISCII) וייטנאמית (Windows-1258) עברית ויזואלית (ISO-8859-8) עוצמה עוצמת קול נרמול עוצמת קול תיקון עוצמת קול בדציבלים (הגבר השמעה) -- צריך להפעיל 'soundcheck' על ה-iPod וולטר בל: טיפול נכון בנתיבי גרירה ושחרור עם תווים מיוחדים או תווי cr ושורות חדשות בסוף
- אזהרה מערבי (IBM-850) מערבי (ISO-8859-1) מערבי (ISO-8859-15) מערבי (Windows-1252) בזמן הוספת תיקיות/קבצים, עדכן מידע של
- רצועות קיימות עם שמות קבצים זהים בזמן הוספת תיקיות/קבצים, עדכן את המידע על
-רצועות קיימות עם שמות קבצים זהים בזמן ההעתקה מה-iPod לא מתבצעת בדיקה האם קובץ היעד קיים. אפשר אפשרות זו והתכנית תבדוק האם גודלו של קובץ היעד הוא זהה לקובץ שעל ה-iPod. אם כן נדלג על הקובץ, ובכך נאפשר סנכרון מהיר של תוכן ה-iPod.   היכן שעגנת את מערכת הקבצים של ה-iPod. בדרך כלל '/mnt/ipod' או משהו דומה. האם הקובץ הועבר כבר אל ה-iPod או לא יבוטל אחרי שתהליך mp3gain יסתיים. כתוב שינויים אל הדיסק/iPod כתוב תגיות ID3 לדיסק כאשר הן משתנות ב-gtkpod כתוב מידע מורחב (שמות קבצים ב-PC ערבובי MD5, ערכות תווים). מומלץ. נכשלה כתיבה ל '%s' (%s). נכשלה כתיבה ל '%s'. שנה: ירוסלב אלצ'נקו: טיפול ברצועות יתומות ומתנדנדות
+ ביטול עגינה של '%s' (%s) נכשלה. ביטול עגינה של '%s' נכשלה. רצועות לא דורגו עדכון עדכון _נתוני mserv מקובץ באיזה כרטיסיית מיון של רשומה נבחרת לעדכן? עודכנו רצועות נבחרות עם נתונים מ-mserv מעדכן רצועות נבחרות עם מידע מקובץ. מעדכן %s שוליים עליונים השתמש ב-'עריכה מרובה' גם עבור שדה שם הרצועה השתמש ב-'עריכה מרובה' עבור בחירת רצועות השתמש במסד נתונים של mserv על מנת למלא מידע נוסף השתמש בערכת התווים הנבחרת (אפשרויות/'הוספה/עדכון/סנכרון')
+עבור הקובץ הזה. השתמש בתבנית הזאת על מנת לנתח את הקובץ למידע תגית: שם משתמש הנועד לשימוש במסד הנתונים של mserv. שם משתמש: בדרך כלל אתה לא תרצה לקבוע את שם הרצועה של מספר רצועות לאותו טקסט. אפשרות זאת עלולה למנוע תוצאות לא רצויות (במיוחד שאין עדיין אפשרות 'בטל') וייטנאמית (VISCII) וייטנאמית (Windows-1258) עברית ויזואלית (ISO-8859-8) עוצמה עוצמת קול תיקון עוצמת קול בדציבלים (הגבר השמעה) -- צריך להפעיל 'soundcheck' על ה-iPod וולטר בל: טיפול נכון בנתיבי גרירה ושחרור עם תווים מיוחדים או תווי cr ושורות חדשות בסוף
+ אזהרה מערבי (IBM-850) מערבי (ISO-8859-1) מערבי (ISO-8859-15) מערבי (Windows-1252) בזמן הוספת תיקיות/קבצים, עדכן את המידע על
+רצועות קיימות עם שמות קבצים זהים בזמן ההעתקה מה-iPod לא מתבצעת בדיקה האם קובץ היעד קיים. אפשר אפשרות זו והתכנית תבדוק האם גודלו של קובץ היעד הוא זהה לקובץ שעל ה-iPod. אם כן נדלג על הקובץ, ובכך נאפשר סנכרון מהיר של תוכן ה-iPod.   היכן שעגנת את מערכת הקבצים של ה-iPod. בדרך כלל '/mnt/ipod' או משהו דומה. האם הקובץ הועבר כבר אל ה-iPod או לא יבוטל אחרי שתהליך mp3gain יסתיים. כתוב שינויים אל הדיסק/iPod כתוב תגיות ID3 לדיסק כאשר הן משתנות ב-gtkpod שנה: ירוסלב אלצ'נקו: טיפול ברצועות יתומות ומתנדנדות
  שנה אתה גם יכול להשתמש בכותרות הטבלאות, אבל זה יאפשר לך למיין רק לפי העמודה המוצגת. לא ייבאת את iTunesDB הקיים ('%s'). זה קרוב לוודאי לא תקין ויביא לאיבוד של המסד הנתונים הקיים.
 
 לחץ אישור אם תרצה להמשיך בכל זאת או ביטול לדלג על השמירה. אם תבטל, תוכל לייבא את מסד הנתונים הקיים לפני קריאה לפונקציה זו שוב.
  אתה לא ייבאת את ה-iTunesDB הקיים. זה כנראה לא תקין ויגרום לאיבוד של מסד הנתונים הקיים.
 
 לחץ 'אישור' על מנת להמשיך כרגיל או 'ביטול' לביטול. אם אתה תבטל, אתה תוכל לייבא את מסד הנתונים הקיים לפני קריאה לפעולה זו שוב.
- אתה תצטרך לרשום את הנתיב באופן מפורש רק אם קובץ הריצה של mp3gain הוא לא בנתיב ברירת המחדל. לדוגמה: '/usr/local/foo/mp3gain'. התכנית mp3gain תכתוב את ערך ההגברה המחושבת ישר לקובץ -- אם אתה לא מעוניין בזאת, קבע את הרשומה הזאת ל-/usr/true או דומה. הקריאה ל-mp3gain תתבצע רק אם התגיות המתאימות עדיין לא נקבעו על ידי המקודד. לדוגמה: מקודד lame גרסה 0.95 כותבת את ערכי ההגברה לתגיות בזמן הקידוד. רמת ההמרה בין mp3gain לזאת של ה-iPod עדיין לא ידועה -- מצפים לעזרה מצדכם. _אודות _כל הרצועות _סדר כרטיסיות מיון _ערכת תווים (ID3, קבצים): _בדיקת קבצי iPod _יצירת רשימות השמעה _יצירת תיקיות iPod _מחק אבל שמור רצועות _מחק לגמרי מה-iPod _תצוגה _הראה רצועות _עריכה _עריכת העדפות _הכנס לתור _קובץ _עזרה _התעלם מחוקים _חלון מידע _קלט/פלט _פחות כרטיסיות מיון _הגבל ל _מקומי _M3U _יותר כרטיסיות מיון _רצועות חדשות שהוספו _נרמל עוצמת קול _מספר כרטיסיות המיון: _מנותק _רש"ה _נגן עכשיו _העדף מקומי ק_ריאת iTuneDB _שמירת סדר רצועות נראות _מיון _סנכרון תיקיות _סרגל כלים _כלים _תוויות מידע _סנכרון רצועות מקובץ _תצוגה _iPod כותר ביצוע ביצוע: %a, כותר: %A, מחבר: %c, תיאור: %t, סגנון: %G, מספר רצועה: %, מספר תקליטור: %C, שנה: %Y, מידע דילוג: %*, האות '%': %%.
-אפשר להפריד מספר תבניות על ידי נקודה־פסיק. יבחר הראשון שיתאים לקובץ. דוגמה:'%a - %A/%T %t.mp3;%t.wav'. מכיל מעתיק... ימים מוחק... לא מכיל גרור ושחרר: התעלמות מ '%s'
+ אתה תצטרך לרשום את הנתיב באופן מפורש רק אם קובץ הריצה של mp3gain הוא לא בנתיב ברירת המחדל. לדוגמה: '/usr/local/foo/mp3gain'. התכנית mp3gain תכתוב את ערך ההגברה המחושבת ישר לקובץ -- אם אתה לא מעוניין בזאת, קבע את הרשומה הזאת ל-/usr/true או דומה. הקריאה ל-mp3gain תתבצע רק אם התגיות המתאימות עדיין לא נקבעו על ידי המקודד. לדוגמה: מקודד lame גרסה 0.95 כותבת את ערכי ההגברה לתגיות בזמן הקידוד. רמת ההמרה בין mp3gain לזאת של ה-iPod עדיין לא ידועה -- מצפים לעזרה מצדכם. _אודות _כל הרצועות _סדר כרטיסיות מיון _בדיקת קבצי iPod _יצירת רשימות השמעה _יצירת תיקיות iPod _תצוגה _הראה רצועות _עריכה _עריכת העדפות _הכנס לתור _ייצא רצועות ממסד הנתונים _קובץ _עזרה _התעלם מחוקים _חלון מידע _פחות כרטיסיות מיון _הגבל ל _מקומי _M3U _יותר כרטיסיות מיון _רצועות חדשות שהוספו _נרמל עוצמת קול _מספר כרטיסיות המיון: _מנותק _PLS _נגן עכשיו _העדף מקומי ק_ריאת iTuneDB _שמירת סדר רצועות נראות _מיון _סנכרון תיקיות _סרגל כלים _כלים _תוויות מידע _סנכרון רצועות מקובץ _תצוגה _iPod כותר אמן אמן: a%, כותר: A%, יוצר: c%, שם הרצועה: t%, סגנון: G%, מספר רצועה: T%, מספר תקליטור: C%, שנה: Y%, מידע דילוג: *%, האות '%': %%.
+אפשר להפריד בין מספר תבניות על ידי ';'. הראשון שיתאים לקובץ יבחר. לדוגמה:
+ '%a - %A/%T %t.mp3;%t.wav'. מכיל מעתיק... ימים מוחק... לא מכיל גרור ושחרר: התעלמות מ '%s'
  מסתיים ב- הקובץ לא נמצא הפורמט לא נתמך סגנון gtkpod מידע gtkpod גרסת gtkpod %s: ממשק חוצה-פלטפורמות רב-שפות לאייפוד(TM) של אפל. היישום gtkpod מצפה שהתגיות של הID3 והקבצים יהיו בקידוד המצוין כאן. תוכל לשנות זאת בשביל פעולות עוקבות של 'הוספת קבצים' ו 'הוספת תיקיות'. 'ערכת התווים של המערכת' היא ערכת התווים בשימוש עבור הלוקל הנוכחי שלך. אפשרויות ה-gtkpod גרסה %s של gtkpod, שימוש:
  מדרוג גבוה ביותר שעות כישלון ביבוא מסד נתונים של iPod: 
 
  כישלון ביבוא מסד נתונים של iPod: '%s'
 
  מסד נתונים של iPod נשמר מסד נתונים של iPod יובא בהצלחה. קובץ iPod מזהה iPod נקודת ה_עיגון של ה-iPod: מבנה התיקיות של ה-iPod חייב להיות זמין לפני סנכרון ה-iPod.
- iTunesDB '%s' שבור: כבר מצאנו mhsds של שתי רשימות השמעה -- מוותר. סכום הביקורת (checksum) של iTunesDB '%s' לא תואם את הסכום בקובץ המידע המורחב '%s'
+ סכום הביקורת (checksum) של iTunesDB '%s' לא תואם את הסכום בקובץ המידע המורחב '%s'
 gtkpod ינסה להתאים את המידע על ידי שימוש ב-MD5. דבר זה עלול לקחת זמן רב.
 
- iTunesDB ('%s'): גודל תחילית של החתיכה mhsd קטנה מהצפוי (%ld<32). מבטל. iTunesDB שבור: נמצא mhyp ב %ld בקובץ '%s'. iTunesDB שבור: אורך חתיכה 0 בחתיכה  %ld בקובץ '%s'. iTunesDB שבור: אין MHOD בהיסט %ld בקובץ '%s'. יכול להיות ש-iTuneDB שבור: מספר רשימות השמעה (mhyp חתיכות) לא עקביות. מנסה להמשיך.
- יכול להיות ש-iTuneDB שבור: מספר רצועות (mhit חתיכות) לא עקביות. מנסה להמשיך.
  אחרון קיים אחרי לפני גדול מ- בטווח  קטן מ- לא קיים לא מקובע מקובע ק"ב קס"ש label21 מושמע בתכיפות נמוכה לא הוספו לאחרונה לא הושמע לאחרונה מדרוג נמוך ביותר עדכון מטא-מידע של m4a/m4p/m4b עבור '%s' נכשל: הסוגים m4a/m4p/m4b לא נתמכים ללא הספריה mp4v2. אתה חייב להדר את קוד המקור של gtkpod ביחד עם ספריית mp4v2.
- דקות חודשים מושמע בתכיפות גבוהה הוספו לאחרונה הושמע לאחרונה mserv שורש ה-mserv: השורש של mserv: מידע קובץ mserv (%s) לא זמין עבור רצועה (%s) בעיה בהשגת מידע מ-mserv החיפוש במסד הנתונים mserv יתבצע בתיקייה זאת עבור מוזיקה. ל/ז n/c קובץ לא קיים לא אחרון לא מקוון prefs_set_pm_sort: התעלמות מסוג לא חוקי '%d'
+ דקות חודשים מושמע בתכיפות גבוהה הוספו לאחרונה הושמע לאחרונה שורש ה-mserv: מידע קובץ mserv (%s) לא זמין עבור רצועה (%s) בעיה בהשגת מידע מ-mserv החיפוש במסד הנתונים mserv יתבצע בתיקייה זאת עבור מוזיקה. ל/ז n/c קובץ לא קיים לא אחרון לא מקוון prefs_set_pm_sort: התעלמות מסוג לא חוקי '%d'
  prefs_set_toolbar_style: התעלמות מסגנון לא חוקי '%d' 
- מתכונן להעתיק... סדר אקראי שניות special_sorttab -- Don't translate! מתחיל ב- תיאור אל  רצועות שבועות חלון1 
\ No newline at end of file
+ מתכונן להעתיק... סדר אקראי שניות special_sorttab -- Don't translate! מתחיל ב- שם הרצועה אל  רצועות שבועות חלון1 
\ No newline at end of file

Modified: gtkpod/branches/upstream/current/po/he.po
===================================================================
--- gtkpod/branches/upstream/current/po/he.po	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/he.po	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/po/it.gmo
===================================================================
--- gtkpod/branches/upstream/current/po/it.gmo	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/it.gmo	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,74 +1,83 @@
-Þ•    1     ¤  C  ,3      8D     9D     ;D     @D     FD  n   MD  €   ¼D  E   =E  I   ƒE     ÍE     ÙE     øE     F  ;   6F  %   rF  3   ˜F  À   ÌF  4   G     ÂG     ËG     ×G     ãG  *   ìG  H   H     `H     yH  
-   ‘H     ŸH     ³H     µH  &   ÔH     ûH  9   I  *   LI  ,   wI     ¤I     ½I  /   ÅI  +   õI     !J     7J     QJ  ,   kJ     ˜J  %   ¶J  ,   ÜJ  -   	K      7K  &   XK     K     ŸK  -   ¿K  &   íK  +   L  &   @L  "   gL  '   ŠL  $   ²L     ×L  '   õL  +   M  R   IM  .   œM  ,   ËM     øM  p   N     N     N     ƒN     ‡N  
-   “N     žN     ¸N     ÖN     éN     ëN     íN     ïN     ñN     óN     õN     ÷N     O     6O     UO  !   pO  
-   ’O      O     ¬O     ½O     ÉO     àO     óO     P     P     4P     8P  "   <P     _P     kP     xP     ”P     ­P  
-   ¼P  
-   ÇP     ÕP     ñP     Q     Q  F   &Q     mQ     sQ     “Q  	   —Q     ¡Q  !   ¾Q  %   àQ     R  9   R  /   LR  J   |R  G   ÇR     S     S     )S     =S  _  SS  2   ³T  2   æT     U  R    U  R   sU  	   ÆU  
-   ÐU  $   ÛU      V  (   V     BV  ‹   ZV     æV     èV     ìV     W     W  3   +W  /   _W  A   W  @   ÑW     X     "X     4X  <   <X     yX     |X  %   ‚X     ¨X     ¬X     µX  .   ÌX     ûX     Y     !Y     AY  ¤   [Y      Z  
-   Z     )Z     >Z     YZ     wZ  0   —Z  -   ÈZ     öZ     [     /[      J[  ;   k[  T   §[     ü[     \     \     :\     Q\  -   i\  *   —\      Â\     ã\     ë\     ñ\     ý\     ]     %]     A]     ^]     t]     ]     §]     Ã]  6   Þ]  .   ^  !   D^  *   f^  #   ‘^  .   µ^  D  ä^  o   )`     ™`  /   ¹`  9   é`  -   #a  =   Qa  !   a  '   ±a  =   Ùa  2   b  !   Jb     lb     €b     •b     «b     Ãb  ;   ×b  J   c  A   ^c      c     ¿c     Çc     Úc     ðc     d     d     0d     Jd  ;   fd     ¢d  .   ²d  1   ád  <   e  G   Pe  D   ˜e  
-   Ýe  0   èe  
-   f     'f     >f     Sf     hf     yf  $   ‘f  M   ¶f     g  `   g     {g  
-   Šg  ’  •g    (i  8   Æj     ÿj     k     k  8   k  3   Qk  &   …k  %   ¬k  !   Òk  (   ôk  J   l     hl     {l      ›l  5   ¼l     òl     m     m  ;   <m     xm  %   Œm  ,   ²m     ßm     äm  \   øm     Un  J   dn     ¯n     Ân  3   Ên  R   þn      Qo  2   ro     ¥o  $   ¼o  $   áo     p  !    p     Bp     _p  &   }p  #   ¤p     Èp  !   çp     	q  (   !q  #   Jq  (   nq      —q  X   ¸q  +   r     =r     Qr  *   jr  	   •r     Ÿr  	   µr     ¿r     Ór     ïr     s  s   s     {s  d   —s  ^   üs  .   [t  6   Št  2   Át     ôt     ÷t     ût     u  A   	u  ^   Ku     ªu     ½u     Òu  (   Ûu  :   v  .   ?v     nv  ž   ‹v     *w     ;w  /  Qw  9   x     »x     ¾x  1   Áx  p   óx  z   dy  K  ßy  z   +{  G   ¦{     î{  ƒ   |  5   }     9}     @}     Ñ}     î}  š   ú}  N   •~     ä~               ,     A     `  E   v  +   ¼  F   è     /€  [   N€     ª€     ¯€  
-   ¿€     Í€  	   Ù€     〠 U   ï€     E     T     Z     x     …     ˆ     ¤  	   ¹     Á     ߁     û     ‚     ‚     $‚     7‚     S‚     s‚     ‚      Œ‚     ­‚     Æ‚  #   Õ‚     ù‚     ƒ     ƒ  Ø   ,ƒ     „  I  „      g…     ˆ…  *   ›…     Æ…  ƒ   Ö…     Z†     o†  )   …†     ¯†     Ɔ     Ù†     í†  4   ý†     2‡     N‡     e‡     j‡  *   ‡  /   ª‡  	   Ú‡  5   ä‡  7   ˆ     Rˆ  «  aˆ  Ú  
-Š  á  è‹  
-   ʍ  4   Ս  3   
-Ž  +   >Ž     jŽ     ~Ž    Ž  $   ˜     ½  )   я     û  (     †   5  '   ¼  ,   ä     ‘     ‘  =   .‘  F   l‘  I   ³‘  '   ý‘  +   %’     Q’  ×   T’     ,“     ?“     S“     i“     |“     “  #   ¢“     Æ“  #   Ï“  $   ó“     ”  ]    ”     ~”  D   ””  E   Ù”     •  	   (•  	   2•  0   <•  	   m•     w•     ~•     ‡•     –•  	   ¥•  (   ¯•  !   Ø•  #   ú•  $   –  &   C–  &   j–  $   ‘–     ¶–  Z   Õ–     0—     7—     C—     W—     o—  ?   †—     Æ—  C   Ù—     ˜  %   )˜     O˜     j˜     s˜     z˜  %   ˜  9   ¥˜     ߘ     ç˜  0   ó˜  <   $™     a™     |™  2   •™     È™  F   Ι  
-   š      š     @š  #   _š  #   ƒš  %   §š  )   Íš     ÷š     	›     ›     -›     @›     Q›  4   j›     Ÿ›     ¤›     ³›  ?   »›     û›     Œœ  5   ©œ  	   ßœ     éœ                 	   3     =  
-   F     Q     Y     u  j   }     è     ù     ž  D   -ž     rž     wž     ‹ž  .   £ž  S   Òž  >   &Ÿ     eŸ     jŸ  	   …Ÿ  .   Ÿ  (   ¾Ÿ     çŸ     ÷Ÿ           !      3      I      a      q   $   „   '   ©      Ñ      è      ÷      ú   .   ¡     5¡  I   O¡     ™¡  H   ¨¡  2   ñ¡     $¢  9   <¢  Ï   v¢  ×   F£    ¤  d   1¥  ˜   –¥     /¦  q   J¦  U   ¼¦  N   §  '   a§  €   ‰§  -   
-¨  S   8¨  9   Œ¨  v   ƨ  8   =©  K  v©  ¤   ª  9   g«  7   ¡«     Ù«     Þ«     ä«     ê«     ò«     û«  
-   ¬     ¬  1   ¬  
-   N¬     \¬  *   i¬  
-   ”¬     ¢¬     ¯¬     ¶¬     Ô¬     ଠ    ì¬     ô¬     ­     ­     2­      H­      i­  ,   Š­     ·­     Ê­     Ý­     ð­     ®     ®     #®  7   +®     c®  %   w®  $   ®     ®     Ñ®     Ø®  (   õ®  -   ¯  ,   L¯     y¯     …¯  %   ’¯  %   ¸¯  &   Þ¯  1   °  4   7°  P   l°  >   ½°  >   ü°  :   ;±  :   v±  7   ±±  8   é±  .   "²  	   Q²  
-   [²  Ÿ   f²     ³     ³     4³     O³     T³     [³  R   p³  `   ó     $´     ,´     >´     S´     i´  W   €´  V   Ø´    /µ     I¶  J   b¶  @   ­¶  .   î¶     ·  .   8·  M   g·     µ·     Ò·     ê·  :   î·     )¸  l   .¸    ›¸  
-  ²¹     ½»     Ä»     л     ã»     ú»     ¼      ¼     ;¼     S¼     p¼     y¼     ‹¼     ‘¼     £¼     ¬¼     ²¼  
-   ¸¼     Ƽ  
-   Ó¼     á¼  	   ñ¼     û¼     ½     ½     ½     +½     =½     S½     \½  	   a½  
-   k½     y½     ˆ½     ¤½     ­½     ƽ     Ͻ  	   Ö½     འ    ù½     ÿ½     ¾     ¾    ¾     ¿  
-   #¿     .¿     3¿     ?¿     P¿  	   m¿     w¿     †¿     ›¿     ¡¿     ¨¿  N   ´¿  Ø   À     ÜÀ     ëÀ     Á     Á  #   *Á     NÁ  #   bÁ  	   †Á     Á     ˜Á  W   «Á  E     ¢   I  U   ì  1   Bà  =   tà  5   ²Ã  ^   èà  [   GÄ     £Ä     ¯Ä     ²Ä  	   »Ä     ÅÄ     ÕÄ     åÄ     òÄ  
-   ùÄ     Å     Å     Å     Å     Å     .Å     CÅ  ¦   YÅ      Æ     Æ     Æ     !Æ     5Æ     JÆ     PÆ     \Æ  1   iÆ     ›Æ  ?   ¸Æ     øÆ     üÆ      Ç     Ç     &Ç  -   .Ç  4   \Ç     ‘Ç     ¦Ç     ³Ç     ¸Ç     ÄÇ     ÊÇ     ÍÇ     ÔÇ     ÚÇ  K  âÇ     .É     0É     6É     <É  q   CÉ     µÉ  O   EÊ  ^   •Ê     ôÊ     Ë     Ë     ;Ë  ?   VË  (   –Ë  =   ¿Ë  ç   ýË  A   åÌ  	   'Í     1Í     >Í     JÍ  "   \Í  W   Í     ×Í  "   íÍ     Î     Î     ;Î  4   =Î  C   rÎ     ¶Î  Q   ÓÎ  0   %Ï  .   VÏ     …Ï     ¡Ï  3   ©Ï  3   ÝÏ     Ð     -Ð     IÐ  +   gÐ     “Ð  )   ²Ð  +   ÜÐ  ,   Ñ  !   5Ñ  *   WÑ     ‚Ñ     ¢Ñ  *   ÂÑ  )   íÑ  -   Ò  5   EÒ  %   {Ò  *   ¡Ò  )   ÌÒ  !   öÒ  ,   Ó  4   EÓ  T   zÓ  6   ÏÓ  >   Ô     EÔ  p   [Ô     ÌÔ     ÎÔ     ÐÔ     ÔÔ     áÔ     îÔ  ,   Õ     0Õ     GÕ     IÕ     KÕ     MÕ     OÕ     QÕ     SÕ  $   UÕ     zÕ  #   ˜Õ      ¼Õ  *   ÝÕ     Ö     Ö     +Ö     IÖ     \Ö     tÖ     ‹Ö     ŸÖ  !   ½Ö     ßÖ     ãÖ  D   çÖ     ,×     E×  !   [×     }×     —×     «×     º×  $   Í×     ò×     
-Ø     Ø  L   4Ø     Ø  .   ‡Ø     ¶Ø     ¼Ø     ÈØ     æØ  -   Ù     1Ù  L   CÙ  1   Ù  E   ÂÙ  _   Ú  	   hÚ     rÚ     ‚Ú     •Ú  `  ªÚ  /   Ü  ;   ;Ü     wÜ  S   Ü  S   ÓÜ  
-   'Ý     2Ý  ?   IÝ     ‰Ý  ,    Ý     ÍÝ  ¢   êÝ     Þ     Þ     “Þ     ©Þ     ¾Þ  9   ÕÞ  4   ß  Q   Dß  V   –ß     íß     à     à  K   'à     sà     và  +   }à     ©à  
-   ­à  $   ¸à  4   Ýà  3   á     Fá  -   Oá  %   }á  Ü   £á  )   €â     ªâ     ¶â     Ìâ     æâ     ã  1   "ã  ;   Tã     ã     ®ã     Ëã      æã  ?   ä  W   Gä     Ÿä  #   ¥ä     Éä     éä     å  <   å  9   \å  %   –å     ¼å     Åå     Ëå     ×å  %   ãå  !   	æ  !   +æ     Mæ     bæ  "   ~æ  !   ¡æ      Ãæ  F   äæ  <   +ç  %   hç  2   Žç  /   Áç  8   ñç  N  *è     yé  &   ùé  D    ê  F   eê  8   ¬ê  B   åê  ,   (ë  4   Uë  D   Šë  :   Ïë  )   
-ì     4ì     Hì     ^ì     {ì     —ì  I   ¯ì  N   ùì  E   Hí  )   Ží     ¸í     Àí     Ôí     ëí     î     î     .î     Gî  A   bî     ¤î  /   ´î  8   äî  E   ï  Q   cï  N   µï     ð  ;   ð  
-   Qð     _ð     ~ð     ˜ð     °ð     Ãð  )   Þð  W   ñ     `ñ  v   yñ     ðñ     ò  ¤  ò  Õ  ´ó  K   Šõ     Öõ     Úõ     çõ  <   ÷õ  =   4ö  *   rö  8   ö  +   Öö  (   ÷  Q   +÷  "   }÷  /    ÷  5   Ð÷  @   ø     Gø  $   [ø     €ø  G    ø     èø  *   ù  4   -ù     bù  !   kù  t   ù     ú  R   ú     dú  
-   wú  N   …ú  h   Ôú  +   =û  @   iû  !   ªû  -   Ìû  /   úû  $   *ü  /   Oü  ,   ü  #   ¬ü  3   Ðü  "   ý  *   'ý  '   Rý  #   zý  &   žý  %   Åý  =   ëý  +   )þ  _   Uþ  ?   µþ  "   õþ     ÿ  '   4ÿ  
-   \ÿ     gÿ  
-   ÿ  .   Šÿ  $   ¹ÿ     Þÿ     úÿ  s   ÿÿ     s  {     e    0   q >   ¢ 4   á                & B   - p   p    á    ô 
-   	 ,    O   D J   ” 9   ß         º    Ì I  ã I   -    w    z <   } s   º Ž   . R  ½ }   	 G   Ž	 ¢   Ö	 n   y
- =   è
-    & “   . '   Â    ê Ë   ÷ K   Ã     
-    0
-    D
-    ]
-    t
-    Œ
- G   ¤
- -   ì
- f        m   ¡         
-   '    2    :    A y   P    Ê    ä $   ë        "    %     C 
-   d    r %   Ž %   ´    Ú 
-   ß    ê #   ü '        H    ] $   q    –    ® 1   ½ %   ï         þ   - !   , ‚  N 5   Ñ     -   !    O «   h        1 <   O    Œ    ¨    Å    â F   û $   B    g    }    … /   › 6   Ë 
-    K   
- F   Y        ¼   Ë ñ  ç    Ù >   æ D   % :   j    ¥    Ä   Ø 3   ç     ! 5   1!    g! )   x! ­   ¢!    P" )   n"    ˜"    ¥" ;   µ" ]   ñ" T   O# 8   ¤# 4   Ý#    $ Ç   $    Ý$    ð$    %    %    2%    D% &   V%    }% )   „% )   ®%    Ø% r   à%    S& b   o& k   Ò&    >'    D'    K' J   R'    '    °'    ¸'    Á'    Ö'    ë' &   ô' *   ( 2   F( *   y( 6   ¤( 3   Û( 2   )     B) `   c)    Ä) 
-   ×)    â)    ÷) .   * Y   @*     š* J   »*    + %   + !   9+ 	   [+    e+    j+ *   p+ ?   ›+    Û+    ì+ 0   ù+ I   *, '   t,    œ, ;   ¸,    ô, V   û,    R- )   m- 0   —- 8   È- 4   . /   6. 0   f.    —.    ¬.    ¿.    ß.    õ.    	/ 5   $/ 
-   Z/    e/    {/ M   ‚/ š   Ð/ %   k0 F   ‘0    Ø0    ï0    
-1    1    -1    H1    `1    x1 	   Œ1    –1    ²1    »1    =2    T2 /   p2 K    2    ì2 +   ñ2 3   3 /   Q3 ^   3 >   à3    4 *   +4    V4 C   o4 '   ³4    Û4    í4    5    5    25    J5    c5    }5 4   š5 1   Ï5 .   6    06    D6    G6 1   W6 *   ‰6 Z   ´6    7 I   7 @   h7    ©7 =   Ã7   8 Ý    9 '  þ9 c   &;    Š; #   (< v   L< b   Ã< S   &= .   z= Œ   ©= 2   6> J   i> =   ´> s   ò> ?   f? x  ¦? À   A =   àA B   B    aB    hB    pB    wB    B 
-   šB    ¨B    ¸B D   ÀB    C    C 0   (C    YC    qC    †C    C 
-   ªC 
-   µC 
-   ÀC    ËC    ÛC    îC     D #   $D )   HD =   rD    °D    ÃD    ÖD    éD    üD    E    E E   (E    nE ,   ‡E (   ´E    ÝE    ïE    øE >   F >   WF =   –F    ÔF    ñF *   G )   .G *   XG =   ƒG =   ÁG \   ÿG O   \H S   ¬H I    I J   JI I   •I I   ßI A   )J    kJ 
-   xJ ¯   †J    6K    JK    dK    K    †K    K j   ¨K r   L 
-   †L    ‘L    ®L     ÎL !   ïL h   M g   zM S  âM +   6O \   bO -   ¿O Q   íO "   ?P >   bP c   ¡P !   Q    'Q    EQ <   IQ    †Q š   ‹Q D  &R D  kS    °U    ½U !   ÎU    ðU    V    "V    7V    TV !   tV    –V    §V 	   ¼V    ÆV    ÞV    íV    óV    úV    W    &W    7W 	   TW    ^W    fW    kW    ˆW    ŸW #   µW    ÙW    âW    çW    îW    X    X    7X    DX    ^X 
-   uX 
-   €X    ŽX    «X    ·X    ½X    ÃX   ËX    æY    ïY    Z    Z    "Z    /Z    MZ    YZ    jZ    Z    ˆZ    Z V   ¦Z â   ýZ    à[    ò[    \ .   \ 3   A\    u\ $   ‹\ 	   °\    º\    Â\ {   á\ G   ]] Å   ¥] p   k^ 4   Ü^ D   _ <   V_ m   “_ k   `    m`    |`    `    ‡`    `    ¢`    µ`    È`    Ï`    à`    í`    ð`    õ`    ý`    a    *a ¬   Ea    òa    ùa    þa !   b    4b    Kb    Qb    cb A   tb .   ¶b F   åb    ,c    1c    6c    Vc    ic 1   qc 8   £c    Üc    õc    d    d    d    d    d 	   %d    /d    l   z  H      ñ      
-   +      þ   ¬  R  =  0      Ù               ¦  q      È                              G   ò      m       ~    /  5  i  -   }  D      o  K   L   M   N   O   P                 (         Ë           b  Œ   è          ñ  e  ‰      ²  T   n  ÷      ¸    |  R  ¤  ×  œ  Q  C          Ÿ  '  S    Z  /  ”   ·       ò  î  ™       î  à  ˆ  é   Õ                  K          Þ  ˜  Q   ö          ”  X      Ð  —  k    j  å    «  ¯   G    l        (          ¨       Z  ý   X  w  "  h  O  ß              „  À   S                             ç      »      »        ü       A  s  ×        ¤       ‚  F   ¢   W  é  ^      “          M      õ       Í   Ò      
-          ±   H   Ø      Ú   …    ~      *  #      t               U    q  Ÿ     ¨    Ý  ë     +      å   b  Y   õ      ‡   ’  Ç   ñ   t  ø    .        ¡   P          Ê        B      ¾      a      í  ò    f       F  Æ       Š  ¿    Ò       ^   ž  ª  ä  Â  ž                 X   Æ  –   ä   §    ì   ¯  ,  –          l      æ   ©   '  æ          º   Û  Á          *      U   ª   Y  Ö  y  ©  ‘  ™    .       S   ­       W     ö  v  ó   H  Ý     0    4      ;  Þ   Ó  Í  Ä   C  '   n       Ž   É       á  ±  ï  >            ¦  M  ‚             Ý  ,  y    *       z   ¬   _   Ì   	    ˆ   ]  Ä                 ¡            #          ù  ê              >      c      ð        %     û       3   ®         J    î   ½                 ^  ƒ      Š  ­       ì      Ë  Û   —       µ          †   ª  +  »                     2          }   ‹      ˜   !   D  ¤  \   #           ã   \  ;   {  ß        `   Ö   ÿ          ÷      ‡      y   ð   ï       4      %  :  )   •   ù       k       T      ÿ         ç   Ó             ’          V  
-  -  m      c         Ð       Ä  k          ¦   
-   [   r  ±  P  ì        
-            u  I  ¼  Ð   Æ     ø   ê   &     ä      ;    ‘  $  ù  r  :   È      ]   j  …    Ü      [  ÷       1       ]  E       >     Ú  á  –  p           E  Ÿ   Ò  í   3  D        w   —    /  ƒ  ‡      °      â   5  à   8     @   ›  '  a        ´  [            á           I   ¾   g  {   Ô      º  ·  ü  à  9   À          „   Ì  â  Ñ          =  <  1            L  o  «  .  ï      !  a   û        ?  p  Í  Ô   ¥      :      ó      7   u   -  Ü        ‰   „  ô   £  ’   ³      Ó   Á      e   ý  Å   Å  B   Ž  ¶          Ï  í  ·  d   !  ã  R   Õ          ¸    ¹  ¢  6   Ù   C  ½  	          ½  /           h        @    b           £  r         V      t    x  e  þ  V   ¼   n  Î    p  ¿   7    0  ß  u  d  ›     ô  #                 Û  â            ý  A     %  E  3  $         ×   Z     µ   ç    f      9    ,   %         ²   Þ  .      "   ¿        È   "      h                š           ˆ  Ü      $  ˜  Ê  Ç  ²     º  ú          (      ‘   •  &   ™  §           _  <     Ñ   @  (  U  5   J       8      2   š  ~   Å  ú  N  Ô  Ž  J  O  Y  ¯  !  K      2  à    $         
-  B              €  {  *        &  Ú      ð  †  …           Ç  ¥  §  ‹   õ        "                     4   à   É  Ï  “  9  µ  i  o             Ñ  ¶       Œ  €       ?   ¥       ö   }  ¢  ã      g  Ë           F  Ö  
-  ,      m  ¶      ¡  |       ¸   1      ‰  )    ‹  ®      Ê   `  |      N  z  
-  °  Q  °     ©  8  ³   g         €  )  «   	     è  +   c  ú   ¾  Ï   ‚  6      £       f      è   x  v   ó          à  “       &      ž            ´                ë   ÿ      ›       ¹   ¨  Š   š  Á   Ø          ?  j         ô  ê    s   Ì  s              T  x                 æ      	  I  œ       q   ¼  û  i   )  Õ  7  A  -  =   `  é  6  <       ³       ´   d  Ù  _          ü  w  Œ  ®      ë  ­  œ                 É    0    Î           À                †  ƒ  W   L  ”  å  1  Ø           ¬  ø  Î  •  v          \          þ  G  ¹                           gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
+Þ•         ü  %  Ü1      pB     qB     sB     xB     ~B  n   …B  €   ôB  E   uC  I   »C     D     D     0D     OD  ;   nD  %   ªD  3   ÐD  À   E  4   ÅE     úE     F     F     F  
+   $F  H   2F  
+   {F     ‰F     ‹F  &   ªF     ÑF  9   èF  *   "G  ,   MG     zG     “G  /   ›G  +   ËG     ÷G     
+H     'H  ,   AH     nH  %   ŒH  ,   ²H  -   ßH      
+I  &   .I     UI     uI  -   •I  &   ÃI  +   êI  &   J  "   =J  '   `J  $   ˆJ     ­J  '   ËJ  +   óJ  R   K  .   rK  ,   ¡K     ÎK  p   äK     UL     WL     YL  
+   eL     pL     ŠL     ¨L     »L     ½L     ¿L     ÁL     ÃL     ÅL     ÇL     ÉL     èL     M     'M  !   BM     dM  
+   M     M     ›M     §M     ¹M     ÊM     ÖM     íM      N     N     N     4N     PN     TN  "   XN     {N     ‡N     ”N  	   °N     ºN  
+   ÓN     áN  
+   ðN  
+   ûN     	O     %O     <O  F   BO     ‰O     ¢O     ¨O     ÈO  	   ÌO     ÖO  !   óO  %   P     ;P  9   GP  /   P  J   ±P  G   üP     DQ     MQ     ^Q     rQ  ]  ˆQ  _  æR  _  FT  C  ¦U  ;  êV  2   &X  =   YX  :   —X  O  ÒX  ˜   "Z  2   »Z     îZ  R   õZ  	   H[  
+   R[  $   ][  (   ‚[  ‹   «[     7\     9\     =\     R\     f\  3   |\  @   °\  (   ñ\  $   ]  .   ?]     n]     ~]     ]  <   ˜]     Õ]     Ø]  %   Þ]     ^     ^     ^  .   (^     W^     v^     }^     ^  ¤   ·^  
+   \_     g_     |_     —_     µ_  0   Õ_  -   `     4`     Q`     m`      ˆ`  ;   ©`  T   å`  P   :a  .   ‹a     ºa     ¿a     Öa     îa     öa     üa     b     b     0b     Mb     cb     zb     –b  6   ±b  .   èb  !   c  %   9c  *   _c  #   Šc  .   ®c  D  Ýc  o   "e     ’e  /   ²e  9   âe  -   f  =   Jf  !   ˆf  '   ªf  =   Òf  2   g  !   Cg     eg     yg     Žg     ¤g     ¼g  ;   Ðg  J   h  A   Wh     ™h     ¸h  #   Àh  #   äh     i     i     1i     Gi     Yi     qi     ‹i  ;   §i     ãi  .   ói  1   "j  7   Tj  <   Œj  
+   Éj  "   Ôj  *   ÷j  (   "k  0   Kk  
+   |k     Šk     –k     ­k     Âk     ×k     ìk     ýk  "   l  "   8l  E   [l  8   ¡l  $   Úl  H   ÿl  M   Hm  ?   –m     Öm  `   ìm  x   Mn  G   Æn     o  
+   o  ’  (o    »p     Yr     ^r  8   jr  3   £r  &   ×r  %   þr  !   $s  (   Fs  J   os     ºs     Ís      ís  5   t     Dt     Ut  5   rt     ¨t  %   ¼t  ,   ât     u     u  \   (u     …u     šu     ©u     ¼u  3   Äu  R   øu      Kv  2   lv     Ÿv     ¶v  &   Óv     úv     w  3   1w  #   ew  
+   ‰w  7   —w  (   Ïw      øw  X   x  +   rx     žx     ²x  *   Ëx  	   öx  	    y     
+y     y     :y     Ly  s   Ry     Æy  d   ây  ^   Gz  .   ¦z  6   Õz  2   {     ?{     B{     F{  A   L{  ^   Ž{     í{      |     |  (   |  :   G|  .   ‚|     ±|     Î|     ß|  0   õ|  /  &}  9   V~     ~     “~  p   –~  z     K  ‚  z   ΀  G   I     ‘  ƒ   "‚  A   ¦‚     è‚     yƒ     „     $„  š   0„  N   Ë„  ]   …     x…     Š…     ¡…     ¶…     Õ…  E   ë…  +   1†  F   ]†     ¤†  [   Æ     ‡     $‡  
+   4‡     B‡  	   N‡     X‡     d‡     s‡     y‡      ˆ‡  $   ©‡  $   ·     ó‡     ˆ     ˆ     !ˆ     =ˆ     Rˆ     nˆ     Šˆ     ¥ˆ     ®ˆ     Áˆ     ݈     ýˆ      	‰     *‰     C‰  #   R‰     v‰     •‰     œ‰  Ø   ©‰     ‚Š  I  šŠ      ä‹     Œ  *   Œ     CŒ  ƒ   SŒ     ׌     ìŒ  )        ,     C     V     j  4   z     ¯     ˍ     ⍠    ç  	   ü  5   Ž  7   <Ž     tŽ  «  ƒŽ  Ú  /  á  
+’  
+   ì“     ÷“     ”  $   ”     B”  )   V”     €”  (   ‘”  †   º”  '   A•  ,   i•  '   –•  +   ¾•  +   ê•     –  ×   –     ñ–     —     —     .—     A—     U—     g—  #   p—      ”—     µ—  ]   ½—     ˜  	   $˜  	   .˜  0   8˜  	   i˜     s˜     z˜     ƒ˜     ’˜  	   ¡˜  (   «˜  !   Ô˜  #   ö˜  $   ™  &   ?™  &   f™  $   ™     ²™  Z   Ñ™     ,š     3š     ?š     Sš     kš  ?   ‚š  &   š     éš     ùš  C   ›     P›  %   \›     ‚›     ›     ¦›     ­›  %   ²›  9   Ø›     œ  <   œ     [œ     {œ  8   —œ  D   Ðœ       '   0  #   X     |  2   •     ȝ  F   Ν  
+   ž      ž     @ž  #   _ž  #   ƒž  %   §ž  )   Íž     ÷ž     	Ÿ     Ÿ     -Ÿ     @Ÿ  4   QŸ     †Ÿ  )   ‹Ÿ  8   µŸ  .   îŸ           ,   &   4   ?   [      ›      ,¡     ¬¡  5   É¡     ÿ¡     ¢     *¢  	   A¢     K¢  
+   T¢     _¢     g¢     ƒ¢  j   ‹¢     ö¢     £     £  D   ;£     €£     …£     ™£     ±£  .   Ê£  S   ù£  >   M¤     Œ¤  	   ‘¤  .   ›¤  (   ʤ     ó¤     ¥     ¥     -¥     ?¥     U¥     m¥     }¥  $   ¥  '   µ¥     Ý¥     ô¥     ¦  .   ¦     5¦  I   O¦     ™¦  W   ¨¦  H    §  2   I§     |§  9   ”§  Ï   Χ  ×   ž¨    v©  1   ‰ª  d   »ª  ˜    «     ¹«  q   Ô«  G   F¬  Y   Ž¬  D   è¬  U   -­  N   ƒ­  7   Ò­  '   
+®  €   2®  -   ³®  S   á®  9   5¯  v   o¯  8   æ¯  K  °  9   k±  7   ¥±     ݱ     â±     è±     î±  
+   û±     	²  1   ²     A²  *   N²     y²     †²     ²     «²     ·²     ò     ˲     ݲ     ò²     	³      ³      @³  ,   a³     Ž³     ¡³     ´³     dz     Ú³     ê³     ú³     ´  %   ´  $   <´  %   a´      ‡´     ¨´     ·´     ¾´  (   Û´  -   µ  ,   2µ     _µ     kµ  %   xµ  &   žµ  1   ŵ  P   ÷µ  8   H¶  .   ¶  	   °¶  Ÿ   º¶     Z·     n·     ˆ·     £·     ¨·  R   ¯·  `   ¸     c¸     k¸     }¸     ’¸     ¨¸  V   ¿¸    ¹     0º  J   Iº  @   ”º  .   Õº     »  .   »     N»  :   R»     »  l   ’»  $  ÿ»    $½  
+  ;¾     FÀ     MÀ     YÀ     lÀ     €À     ’À     ­À     ¶À     ÈÀ     ÎÀ     àÀ     éÀ     Á     Á  
+   Á      Á     -Á  	   =Á     GÁ     NÁ     SÁ     cÁ     wÁ     ‰Á     ŸÁ     ¨Á  	   ­Á  
+   ·Á     ÅÁ     ÔÁ     ðÁ     ùÁ            	   "     ,     E     K     Q     W    ^     fà  
+   oà     zà     à     ‹Ã     œÃ  	   ¹Ã     Ãà     Òà     çà     íà     ôà  N    Ä  Ø   OÄ     (Å     7Å     QÅ     `Å     fÅ  #   …Å     ©Å  #   ½Å  	   áÅ     ëÅ     óÅ  W   Æ  ¢   ^Æ     Ç     
+Ç     Ç  	   Ç     #Ç     3Ç     CÇ     PÇ  
+   WÇ     bÇ     iÇ     lÇ     qÇ     yÇ     ŒÇ     ¡Ç  
+   ·Ç  ¦   ÅÇ     lÈ     tÈ     {È     È     ¡È     ¶È  1   ÂÈ     ôÈ  ?   É     QÉ     UÉ     YÉ     oÉ     É  -   ‡É  4   µÉ     êÉ     ÿÉ     Ê     Ê     Ê     #Ê     &Ê     -Ê     3Ê  K  ;Ê     ‡Ë     ‰Ë     Ë     •Ë  q   œË     Ì  O   žÌ  ^   îÌ     MÍ     \Í     xÍ     ”Í  ?   ¯Í  (   ïÍ  =   Î  ç   VÎ  A   >Ï  	   €Ï     ŠÏ     —Ï     £Ï  
+   µÏ  W   ÃÏ     Ð     'Ð  4   )Ð  C   ^Ð     ¢Ð  Q   ¿Ð  0   Ñ  .   BÑ     qÑ     Ñ  3   •Ñ  3   ÉÑ     ýÑ     Ò     5Ò  +   SÒ     Ò  )   žÒ  +   ÈÒ  ,   ôÒ  !   !Ó  *   CÓ     nÓ     ŽÓ  *   ®Ó  )   ÙÓ  -   Ô  5   1Ô  %   gÔ  *   Ô  )   ¸Ô  !   âÔ  ,   Õ  4   1Õ  T   fÕ  6   »Õ  >   òÕ     1Ö  _   GÖ     §Ö     ©Ö     «Ö     ¸Ö     ÅÖ  ,   ÚÖ     ×     ×      ×     "×     $×     &×     (×     *×  $   ,×     Q×  #   o×      “×  *   ´×  !   ß×     Ø     Ø     Ø     0Ø     NØ     lØ     Ø     —Ø     ®Ø     ËØ     ßØ  !   ýØ     Ù     #Ù  D   'Ù     lÙ     …Ù  !   ›Ù     ½Ù     ÌÙ     æÙ     ùÙ     
+Ú     Ú  $   /Ú     TÚ     oÚ  L   xÚ     ÅÚ     åÚ  .   ëÚ     Û      Û     ,Û     JÛ  -   gÛ     •Û  L   §Û  1   ôÛ  E   &Ü  _   lÜ  	   ÌÜ     ÖÜ     æÜ     ùÜ  `  Ý  R  oÞ  `  Âß  Q  #á  C  uâ  /   ¹ã  ;   éã  ;   %ä  Y  aä  Œ   »å  ;   Hæ     „æ  S   Œæ  
+   àæ     ëæ  ?   ç  ,   Bç  ¢   oç     è     è     è     .è     Cè  9   Zè  V   ”è  :   ëè  &   &é  0   Mé     ~é     ”é     °é  K   ¸é     ê     ê  +   ê     :ê  
+   >ê  $   Iê  4   nê  3   £ê     ×ê  -   àê  %   ë  Ü   4ë     ì     ì     3ì     Mì     jì  1   ‰ì  ;   »ì     ÷ì     í     2í      Mí  ?   ní  W   ®í  g   î  <   nî     «î     ±î     Îî     çî     ðî     öî     ï  %   ï  !   4ï     Vï  "   kï  !   Žï      °ï  F   Ñï  <   ð  %   Uð  /   {ð  2   «ð  /   Þð  8   ñ  N  Gñ     –ò  &   ó  D   =ó  F   ‚ó  8   Éó  B   ô  ,   Eô  4   rô  D   §ô  :   ìô  )   'õ     Qõ     eõ     {õ     ˜õ     ´õ  I   Ìõ  N   ö  E   eö  )   «ö     Õö  4   Ýö  ,   ÷     ?÷     S÷     j÷     ÷     ”÷     ­÷     Æ÷  A   á÷     #ø  /   3ø  8   cø  F   œø  E   ãø     )ù  .   :ù  ?   iù  ?   ©ù  ;   éù  
+   %ú     3ú     Eú     dú     zú     “ú     «ú     ¾ú  %   Ùú  (   ÿú  W   (û  H   €û  )   Éû  N   óû  W   Bü  F   šü     áü  v   úü  –   qý  N   þ     Wþ     jþ  ¤  vþ  Õ       ñ    õ <    =   ? *   } 8   ¨ +   á (   
+ Q   6 "   ˆ /   « 5   Û @       R    f C   †    Ê *   ä 4       D !   M t   o    ä    ü     
+    N   , h   { +   ä @    !   Q ,   s 3     *   Ô #   ÿ >   # %   b    ˆ K   œ =   è +   &	 _   R	 ?   ²	 "   ò	    
+ '   1
+ 
+   Y
+ 
+   d
+ .   o
+ $   ž
+    Ã
+    ß
+ s   ä
+    X {   t e   ð 0   V >   ‡ 4   Æ    û    þ    
+ B   	
+ p   L
+    ½
+    Ð
+ 
+   å
+ ,   ó
+ O     J   p 9   »    õ     1    I  P I   š    ä    ç s   ê Ž   ^ R  í }   @ G   ¾ ¢    n   © @    “   Y Ÿ   í '       µ Ë    K   Ž e   Ú    @    T    m    „    œ G   ´ -   ü f   *    ‘ m   ±        & 
+   7    B    J    Q    `    z     .   ‘ 0   À &   ñ $       =    O    R     p    ‘ %   ­ %   Ó 
+   ù     #    '   :    b $   w    œ    ´ 1   à %   õ        $ þ   3 !   2 ‚  T 5   ×    
+  -   '     U  «   n     !    7! <   U!    ’!    ®!    Ë!    è! F   " $   H"    m"    ƒ"    ‹" 
+   ¡" K   ¬" F   ø"    ?#   [#   j% ñ  †'    x)    …)    ¤) 3   ¸)    ì) 5   *    8* )   I* ­   s*    !+ )   ?+ 8   i+ 4   ¢+ 1   ×+    	, Ç   ,    Ô,    ç,    ü,    -    )-    ;-    M- )   T- (   ~-    §- r   ¯-    ".    (.    /. J   6.    .    ”.    œ.    ¥.    º.    Ï. &   Ø. *   ÿ. 2   */ *   ]/ 6   ˆ/ 3   ¿/ 2   ó/     &0 `   G0    ¨0 
+   »0    Æ0    Û0 .   õ0 Y   $1 9   ~1    ¸1     Í1 J   î1    92 %   F2 !   l2 	   Ž2    ˜2    2 *   £2 ?   Î2    3 I   3 $   e3 !   Š3 F   ¬3 R   ó3 '   F4 '   n4 &   –4    ½4 ;   Ù4    5 V   5    s5 )   Ž5 0   ¸5 8   é5 4   "6 /   W6 0   ‡6    ¸6    Í6    à6     7    7 5   *7 
+   `7 %   k7 H   ‘7 8   Ú7    8    )8 0   08 M   a8 š   ¯8 ‹   J9 %   Ö9 F   ü9    C:    ^:    u:    :    ¨:    À: 	   Ô:    Þ:    ú:    ;    …;    œ; /   ¸; K   è;    4< +   9< 3   e<    ™< /   ´< ^   ä< >   C=    ‚=    Ž= C   §= '   ë=    >    %>    ?>    V>    j>    ‚>    ›>    µ> 4   Ò> 1   ? .   9?    h?    |? 1   ? *   ±? Z   Ü?    7@ Q   F@ I   ˜@ @   â@    #A =   =A   {A Ý   šB '  xC -    D c   ÎD    2E #   ÐE v   ôE H   kF f   ´F M   G b   iG S   ÌG <    H .   ]H Œ   ŒH 2   I J   LI =   —I s   ÕI ?   IJ x  ‰J =   L B   @L    ƒL    ŠL    ’L 
+   ™L    §L    ·L D   ¿L    M 0   M    AM    VM    ]M 
+   zM 
+   …M 
+   M    ›M    «M    ¾M     ÓM #   ôM )   N =   BN    €N    “N    ¦N    ¹N    ÌN    ÜN    ìN    øN ,   O (   >O     gO    ˆO    ¤O    ¶O    ¿O >   ßO >   P =   ]P    ›P    ¸P *   ÊP *   õP =    Q \   ^Q I   »Q A   R    GR ¯   TR    S    S    2S    OS    TS j   [S r   ÆS 
+   9T    DT    aT     T !   ¢T g   ÄT S  ,U +   €V \   ¬V -   	W Q   7W "   ‰W >   ¬W    ëW <   ïW    ,X š   1X H  ÌX D  Z D  Z[    Ÿ]    ¬] !   ½]    ß]    û]    ^    -^    >^ 	   S^    ]^    u^    „^    ¤^    ª^    ±^    Ã^    Ý^ 	   ú^    _    _    _    ._    E_ #   [_    _    ˆ_    _    ”_    ®_    À_    Ý_    ê_    ` 
+   ` 
+   &`    4`    Q`    ]`    c`    i`   q`    Œa    •a    §a    ®a    Èa    Õa    óa    ÿa    b    'b    .b    5b V   Lb â   £b    †c    ˜c 
+   ´c    Âc .   Æc 3   õc    )d $   ?d 	   dd    nd    vd {   •d Å   e    ×e    æe    ée    ñe    úe    f    f    2f    9f    Jf    Wf    Zf    _f    gf    {f    ”f 
+   ¯f ¬   ½f    jg    qg    vg !   Šg    ¬g    Ãg A   Õg .   h F   Fh    h    ’h    —h    ·h    Êh 1   Òh 8   i    =i    Vi    ei    ii    vi    }i    i 	   †i    i    þ       |  ‡  ö  F  ¨         B    ,  î       À   —          ½      Û  Î   Î  p  Þ   †      t   §  è         ¼   "     »     ù  R               @   Õ   A   "      G   H   I   J   K   L       È        M           -     ‡   õ   ƒ   “        l  ò  U       -  r  !  É  G  j  ¡         á     <  é  à      ¯        [  º      ¤              Z      ]              Ç  î                •  ±  l   Á  D  þ     ~  {  {      ¦     ß  d     Z       š  >   s    ©   Ô   ä      Ö      ù             {  ¨          Ð  ï  z           ¯   z      X  Š      à  ;  1   ï   N  Q       ø      Æ      S  ¬           _          0      _      Ÿ         ™   Á  ¼  ë      '   §  x  J  ›  ÿ          ø  k     (            /   ê  %  R             ‹   o      ”       í  ¢  ×   ³   y   »      ‹            f  ð               ð       ‡      ƒ  N  d                  ¡          ¤  ß    ‚  (      W  U  ž       b  =  h  )   •         ×  ª           g          ô  T      |   Í      ¾           ž         M    ~     Ý  °  ;  Ç      i   ô          Ÿ   ™          Ô  `      s  É   N       X   ”            ã   7      3  ³  8  £  Q  ú          ã  £      È   6  S   =           Ü    „   \  µ     û  ­      ½      à  ÷  "   }   ˆ   !     ú          	  ¸          2     Þ  Û   5  ^   Ø   Ü  	          é       ì  Ê   ¬  4  a  ¶    ü  m  Ò          ª  ®   Ï  |  *     ·  Å      e  c  (  ¨  ˜  q   w         A  ¶            $  Ì  @  õ    ü              D      r      Ó  j  Í  [      Ð  /  ^  $       Í   Ä      ¬  ‰  ¤   +  s       C  `  t  ©      Ž  ê  ú       Ì  Ï           9  Ä   ä  Î  V  ‰   *   Œ   æ           ±  8  5   š  ;                       >  r   Ñ  )  f  C   ¯  #      
+  –  ë  #  è      “      L  1      ¢         ó          À              Ê    ‰  Õ    i  Ö       ¹   ¸       ”  €  Y   E   ¥    ®  R  \     '  ’  ]  —      …   ®  }  „  /  –  Ë  ‚  ½   Y  î  T  Ä    ÷   ¼    ‘  k  P      !                          ’          ‹  »   æ  ˜   w   ¿  Ž   2   %   æ     Á   	  G  m           4   l                  J  à   …  ¡  ·      Ý  6  ±   ÿ      û      ¥        ,  ç  
+   €  o   ó   b      ·   ø   x          ê   Y  ñ    '  ò     ´      7    @  O       ´  á  µ  ¾          U          ¿    E      v   }      E  ¹      d      õ      ö    p  Ó  w  
+      €   ñ  +   y  8   #   q  .  Ù   P             .  ?  ž                 0       S      _   £   &      .   L      “  ß   B      «  e  
+  ù  ¥   ?  %    ´   Ù     ×     ©  \  V  Ú  ~          n  Ú    œ  ¦    Š   «   ý  š   Ø  ²           ü          ‘             °       v              Ü   ë   ]   a               ð      :   3   j       Ÿ  P  ì              Ù      ¸  Þ  ï      n   p   
+       K      Æ  i  Z  
+      –   9  ö       *  0  ,   í  1  b   Ç   ò  ­   —   h      I  µ  F       å       ¿     ¶            V   º   â  §   †    5  q                   È  Å       Œ        ç        $              ª  &   H      Ú   œ   	       -                `       ˜  Ñ   Ê      O              4  Ò   o  z  ²          ™  ²  
+        <  ¾  å  É        Ñ  ó    ¦      …      Æ   Ý   â      ³    :    ‚                  À  x     2    è   X  g   ý   ­  B   ^  c  I    ˆ          °  W  ƒ  Ž    m  Ï        á  Ó   f   †   3  y  Ð   
+  &  ¹  M    Ò      <         ÿ          Õ  h                   u     k  ç   Ì   ý      Ô          º  Ë   Q      à  Ö    D   •   „  å         v      û   Š  ô   ˆ      +  )  g  ã    7       C  K  c       Ë  F  Ø  ›       «  n         t    Û     ‘  œ        þ  Å      Œ            u  ä  ’   W             é   [             O        í   A    a         T  ?   â   =      u  9      ¢       ñ   H  e   ›  à   ÷  6   >      :    ì                                    gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
      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.
      mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)
      xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)
@@ -82,8 +91,8 @@
                 but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is
                 used with 'Offline' deactivated.
    -p <filename>:increment playcount for file by one
-  %s Free  %s Pending  <= cts <=   Logic:   Number of tracks in generated playlists:   Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
-  _Charset (ID3, files):   _Number of sort tabs:   disconnected  iPod Mount _Point: # # autoselect master playlist?
+  %s Free  %s Pending  <= cts <=   Logic:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
+  disconnected # # autoselect master playlist?
  # autoset: set empty tag to filename?
  # delete confirmation
  # sort tab: select 'All', last selected page (=category)
@@ -119,31 +128,32 @@
  '%s': only '%%[%s]' allowed.
  '%s-%s' (%s) could not be normalized.
 
- 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: (C) 2002 - 2003
+ 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: (C) 2002 - 2005
 Jorg Schuler (jcsjcs at users dot sourceforge dot net)
 Corey Donohoe (atmos at atmos dot org)
 
 
- + - ... ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Import</b> <b>Play</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> AL: AR: Aborted writing of extended info.
- Aborting... About gtkpod Add Directories Recursively Add Files or Directories Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adding/Updating/Syncing Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
- Album Alex Tribble: iPod eject patch
+ + - ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Ignore Frequent Words</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Order</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> AL: AR: Aborted writing of extended info.
+ Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
+ Advanced Sorting Options Album Alex Tribble: iPod eject patch
  All All (AND) All Tracks Never Listened To All Tracks Played Since Last Time All Tracks not Listed in any Playlist Alphabetize Also include tracks never played in "Best Rated" playlist Always write ID3v2.4 tags (only applies to MP3) Andrew Huntwork: Filename case sensitivity fix and various other bugfixes
  Another instance of gtkpod was detected. Playcount server not started.
- Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Armando Atienza: Support with external playcounts
+ Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from the database? The number of playlists the tracks are member of is indicated in parentheses. 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your iPod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Are you sure you want to remove all tracks from the database? Are you sure you want to remove all tracks from your iPod? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to remove the following track from the playlist "%s"? Are you sure you want to remove the following tracks from the playlist "%s"? Armando Atienza: Support with external playcounts
  Artist As a last resort set the following tags to the
-filename if they are (still) empty: As a last resort set the following tags to the filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
+filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
 
- Auto-Generated Playlists Automatically import iTunesDB on startup Automatically select... Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely from the iPod Before removing tracks completely when
- synchronizing directories Before removing tracks completely when
-synchronizing directories Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
+ Automatically import iTunesDB on startup Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely when
+synchronizing directories Before removing tracks from the harddisk Before removing tracks from the iPod Before removing tracks from the local database Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
  entry (faster!) CD CD Nr CD Nr. and total number of CDS in set CO: Calendar Calendar sync command: Call automatically when synchronizing iTunesDB Can't reorder sorted treeview. Cancel Cannot open '%s' for reading.
 
  Cannot remove entry 'All' Cannot unsort track view because of a bug in the GTK lib you are using (%d.%d.%d < 2.5.4). Once you sort the track view, you cannot go back to the unsorted state.
 
- Cannot write mhod of type %d
  Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Check for existing files when copying from iPod. Checking iPOD files against known files in DB Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Chris Cutler: automatic creation of various playlist types
  Chris Micacchi: when sorting ignore 'the' and similar at the beginning of the title
- Cmpl Command Line for 'Enqueue': Command Line for 'Play Now': Command for 'Enqueue': Command for 'Play now': Command to be called to synchronize calendar: Command to be called to synchronize notes: Command to synchronize contacts: Comment Comp. Compilation Composer Confirm before removing tracks Confirm list of directories Confirm lists of directories Confirmation Dialogue Contacts / Calendar / Notes Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could not create hash value from itunesdb
+ Christoph Kunz: address compatibility issues when writing id3v2.4 type mp3 tags
+ Clinton Gormley: sync scripts for thunderbird
+ Cmpl Command for 'Enqueue': Command for 'Play now': Comment Comp. Compilation Composer Confirm before removing tracks Confirm lists of directories Confirmation Dialogue Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
+ Could not create hash value from itunesdb
  Could not delete backup file: "%s"
  Could not find command '%s' specified for '%s' Could not find mp3gain. I tried to use the following executable: '%s'.
 
@@ -164,51 +174,50 @@
  Could not open '%s' for writing, or file is not an mp4 file.
  Could not open '%s' to calculate MD5 checksum: %s
  Couldn't change tags of file: %s
- Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
- Dangling Tracks Dangling tracks with files on PC were handled. Dangling tracks with no files on PC were removed. Data has been changed and not been saved.
-OK to exit gtkpod? Database in memory corrupt (playlist pointer == NULL). Aborting export. Database in memory corrupt (track pointer == NULL). Aborting export. Date added Date format error: unrecognized character: '%s'
- Date modified Delete But Keep Tracks Delete Confirmation  Delete From Playlist Delete From iPod Delete Including Tracks Delete tracks that have been removed Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted tracks Descending 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 '%': %%. 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 '%': %%. Did not find SLst hunk as expected. Trying to continue.
- Dirs Disc number Display Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
-Tracks Displayed Track Attributes  Don't allow file duplication Duplicate Recognition is based on a md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
+ Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently no iPod database selected Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
+ Dangling Tracks Dangling tracks with files on PC were handled. Dangling tracks with no files on PC were removed. Daniel Kercher: sync scripts for abook and webcalendar
+ Data has been changed and not been saved.
+OK to exit gtkpod? Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
+ Date modified Date played Delete But Keep Tracks Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending 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 '%': %%. 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 '%': %%. Dirs Disc number Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
+Tracks Don't allow file duplication Drag from iPod database not possible in offline mode. Duplicate detection ERROR while opening file: '%s' (%s).
  ERROR while writing tag to file: '%s' (%s).
  Edit Edit Smart Playlist Edward Matteucci: debugging, special playlist creation, most of the volume normalizing code
- Empty Playlist Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.
-
- English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
+ Effective free space Empty Playlist English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
  Error copying '%s' to '%s' (%s)
  Error copying '%s' to '%s': Permission Error (%s)
  Error creating %s: %s
- Error opening '%s' for reading (%s). Error opening '%s' for writing (%s). Error removing '%s' (%s). Error renaming '%s' to '%s' (%s). Error setting ID3 field: %s
- Error when closing '%s' (%s). Error while reading extended info: %s
- Error while reading from '%s' (%s). Error while reading prefs: %s
- Error while writing to '%s' (%s). Error writing to '%s'.
- Exact path for the 'mp3gain' executable: Execution of mp3gain ('%s') failed. Export selected entry of which sort tab? Extended info will not be used.
+ Error setting ID3 field: %s
+ Error while reading extended info: %s
+ Error while reading prefs: %s
+ Error writing to '%s'.
+ Error: drag from iPod not possible in offline mode. Execution of mp3gain ('%s') failed. Export Tracks Export from iPod database not possible in offline mode. Export selected entry of which sort tab? Extended info will not be used.
  Extended info will not be used. If you have non-transferred tracks,
 these will be lost.
  Extended information file not deleted: '%s' Failed Track Update Failed to write '%s-%s'
  File "%s" has zero play length. Ignoring.
- File Size File not found: '%s'. File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
+ File Size File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
  For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing. For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist. Found %d orphaned and %d dangling files. Done. Found %d orphaned and %d dangling files. Processing... French:   David Le Brun (david at dyn-ns dot net)
- GB GE: General Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+ GB GE: Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
  Graeme Wilford: reading and writing of the 'Composer' ID3 tags, progress dialogue during sync
  Greek (ISO-8859-7) Greek (Windows-1253) Grouping Handle mounting/unmounting of iPod drive Handling of dangling tracks with files on PC was canceled. Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
- 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. Hebrew (IBM-862) Hebrew (Windows-1255) 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). Hiroshi Kawashima: Japanese charset autodetecion feature
- Hz ID Icons of buttons were made by Nicolas Chariot.
-
-
- If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Illegal seek to offset %ld (length %ld) in file '%s'. Import Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
- Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
- Itdb_Track ID '%d' not found.
+ Hebrew (IBM-862) Hebrew (Windows-1255) Hebrew: Assaf Gillat (gillata at gmail dot com)
+ 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). Hiroshi Kawashima: Japanese charset autodetecion feature
+ Hz ID If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Ignore these words when at the beginning of the following fields: Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
+ 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. Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
+ James Ligget: replacement of old GTK file selection dialogs with new GTK filechooser dialogs
  Japanese (EUC-JP) Japanese (ISO-2022-JP) Japanese (Shift_JIS) Japanese (automatic detection) Japanese: Ayako Sano
  Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
  Jens Lautenbach: some optical improvements
  Jens Taprogge: Support for LAME's replay gain tag to normalize volume
  Jim Hall: Decent INSTALL file
  Juergen Helmers, Markus Gaugusch: Conversion scripts to sync calendar/contacts to the iPod
- Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Length of smart playlist rule field (%d) not as expected. Trying to continue anyhow.
- Live _updating Local Local filename not valid (%s) Lower Margin MB Malformed line in '%s': %s
- Manual volume adjust Master-PL Match al_l of the following Match an_y of the following Match only _checked tracks Misc Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Music Root:  Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+ Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Live _updating Local Local Database Local database import failed: 
 
+ Local database import failed: '%s'
+
+ Local database successfully imported Local filename not valid (%s) Lower Margin MB Malformed line in '%s': %s
+ Manual volume adjust Match al_l of the following Match an_y of the following Match only _checked tracks Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+
 To avoid this situation in the future either switch on duplicate detection (will provide MD5 checksums) or avoid using the iPod with programs other than gtkpod.
 
  No command set for '%s' No directory names were stored. Make sure that you enable 'Write extended information' in the Export section of the preferences at the time of importing files.
@@ -217,78 +226,81 @@
  No entry selected in Sort Tab %d No entry selected. No information found for user '%s' in '%s' No lower margin No mserv information could be retrieved for the following track No mserv information could be retrieved for the following %d tracks No playlist selected No playlist selected. No tracks available, playlist not created No tracks in selection No tracks selected No tracks selected. No upper margin No valid directories have been found. Sync aborted.
  No valid filename for: %s
 
- Non-transferred tracks None Nordic (ISO-8859-10) Normalization failed: file not available.
- Normalization failed: file type not supported.
- Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Not a OTG playlist file: '%s' (missing mhpo header). Not a Play Counts file: '%s' (missing mhdp header). Not a iTunesDB: '%s' (missing mhdb header). Notes sync command: Nothing to update 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. Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? OTG Playlist OTG Playlist %d OTG playlist file '%s': reference to non-existent track (%d). OTG playlist file ('%s'): header length smaller than expected (%d<20). OTG playlist file file ('%s'): entry length smaller than expected (%d<4). Offline iPod database import failed: 
+ Non-transferred tracks None Nordic (ISO-8859-10) Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Notes sync command: Nothing to update Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? Offline iPod database import failed: 
 
  Offline iPod database import failed: '%s'
 
- Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Opening of '%s' for writing failed. Orphaned Overwrite tags that are already set Overwrite tags that are already set. PC File Patches were supplied by the following people (list may be incomplete -- please contact me)
+ Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Orphaned Overwrite tags that are already set Overwriting existing file: '%s'
+ PC File Patches were supplied by the following people (list may be incomplete -- please contact me)
 
- Path not found: '%s'. Play Counts file ('%s'): entry length smaller than expected (%d<12). Play Counts file ('%s'): header length smaller than expected (%d<96). Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
+ Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
  Plycnt Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
-Export can be continued at a later time. Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
- Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Reading Recent (%d) Relative volume adjustment between -100 and +100 Removal of dangling tracks with no files on PC was canceled. Remove offline playcounts? Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
+Export can be continued at a later time. Problem creating iPod directory: '%s'. Processing '%s' Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
+ Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Recent (%d) Removal of dangling tracks with no files on PC was canceled. Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove Track from Local Database? Remove Tracks from Local Database? Remove offline playcounts? Removed all %d tracks from the database Removed all %d tracks from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
  Samplerate Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Select the mserv music root directory Select the mserv trackinfo root directory Selected
 Playlist Selected
-Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Settings are not saved.
- Show information about problems when accessing mserv Size Smart Playlist Sndchk. Some tracks could not be deleted from the iPod. Export aborted! 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. Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort Tabs Sort tracks according to:  Sorting Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
- Stop Stop Display Update Successful Track Update Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
- Sync Sync (Writing of iTunesDB) Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Tag Reading Template ('%s') does not match file type '%s'
+Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
+ Skipping '%s' to avoid adding playlist file recursively
+ Skipping existing file with same length: '%s'
+ Smart Playlist Sndchk. Some files were not added successfully Some tracks could not be deleted from the iPod. Export aborted! 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. Some tracks were not copied to your harddisk. Only the copied tracks will be included in the current drag and drop operation.
+
+ Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort tracks according to:  Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
+ Stop Stop Display Update Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
+ Sync Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Template ('%s') does not match file type '%s'
  Template for info field:  Temporarily disable sorting when changing playlist
-or tab entry (faster!) Thai (TIS-620) The GUI was created with the help of glade-2 (http://glade.gnome.org/).
+or tab entry (faster!) Thai (TIS-620) The (former) contents of the following directories will be removed from the database:
+
+ The GUI was created with the help of glade-2 (http://glade.gnome.org/).
  The URI '%s' contains invalidly escaped characters The URI '%s' is invalid The URI '%s' is not an absolute URI using the file scheme 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). The following dangling track doesn't have file on PC. 
 Press OK to remove it, CANCEL to leave it as is. The following %d dangling tracks do not have files on PC. 
 Press OK to remove them, CANCEL to leave them. as is The following dangling track has a file on PC.
 Press OK to have them transfered from the file on next Sync, CANCEL to leave it as is. The following %d dangling tracks have files on PC.
-Press OK to have them transfered from the files on next Sync, CANCEL to leave them as is. The following duplicate track has been removed. The following %d duplicate tracks have been removed. The following duplicate track has not been added to the master play list. The following %d duplicate tracks have not been added to the master play list. The following has occured: The following orphaned file had already been added to the iPod again. It will be removed with the next sync:
+Press OK to have them transfered from the files on next Sync, CANCEL to leave them as is. The following directories will be synchronized:
+
+ The following duplicate track has been removed. The following %d duplicate tracks have been removed. The following duplicate track has not been added to the master play list. The following %d duplicate tracks have not been added to the master play list. The following has occured: The following orphaned file had already been added to the iPod again. It will be removed with the next sync:
 %s
 
- The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The hostname of the URI '%s' is invalid The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed. The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). The track on the iPod is referenced in the playlist file. This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
+ The following track could not be processed (file does not exist): '%s'
+ The following track could not be processed (filetype is known but analysis failed): '%s'
+ The following track could not be processed (filetype unknown): '%s'
+ The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The following tracks have to be copied to your harddisk The hostname of the URI '%s' is invalid The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed. The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). The track on the iPod is referenced in the playlist file. This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
 
- This is the same option as in 'Edit/Delete Confirmation' 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. 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
- Time Time: Title Toolbar Tooltips Total
+ This is the same option as in 'Edit/Delete Confirmation' 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
+ Time Time: Title Total
 (iPod) Total
-(local) Track Track (%s) not in mserv music root directory (%s) Track Editing Track Nr (#) Track Nr. and total number of tracks on CD Track Playing Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
+(local) Track Track (%s) not in mserv music root directory (%s) Track Nr (#) Track Nr. and total number of tracks on CD Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
  Unable to open '%s' for reading
  Unable to open '%s' for writing
  Unable to open config file '%s' for reading
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown action (%d) in smart playlist will be ignored.
- Unknown option: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown option: %s
  Unknown token '%%%c' in template '%s' Unknown token '%s' in template '%s'
- Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for track selections Use 'Multi-Edit' for tracks selections Use mserv database to fill additional information Use mserv database to fill in additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
-for this filename. Use selected charset (on the 'General' page)
-when writing tags Use selected charset (on the 'Import' page)
- when writing tags Use selected charset also when updating
- or syncing tracks Use selected charset also when updating 
-or syncing tracks Use this template to parse filename for tag information Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: Username:  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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume Normalization Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
+ Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for tracks selections Use mserv database to fill additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
+for this filename. Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: 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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
  Warning Western (IBM-850) Western (ISO-8859-1) Western (ISO-8859-15) Western (Windows-1252) When adding dirs/files, update information of
- existing tracks with identical filenames When adding dirs/files, update information of
-existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod Write extended information (PC filenames,
- MD5 hashes, charset). Recommended. Writing to '%s' failed (%s). Writing to '%s' failed. YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
- Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. You did not import the existing iTunesDB. This is most likely incorrect and will result in the loss of the existing database.
+existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
+ Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. You did not import the existing iTunesDB ('%s'). This is most likely incorrect and will result in the loss of the existing database.
 
+Press 'OK' if you want to proceed anyhow or 'Cancel' to skip storing. If you cancel, you can import the existing database before calling this function again.
+ You did not import the existing iTunesDB. This is most likely incorrect and will result in the loss of the existing database.
+
 Press 'OK' if you want to proceed anyhow or 'Cancel' to abort. If you cancel, you can import the existing database before calling this function again.
- 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. _About _All Tracks _Arrange Sort Tabs _Charset (ID3, files): _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete But Keep Tracks _Delete Completely From iPod _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _File _Help _Ignore rules _Info Window _Input/Output _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
+ 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. _About _All Tracks _Arrange Sort Tabs _Check iPod's Files _Create Playlists _Create iPod's Directories _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _Export Tracks from Database _File _Help _Ignore rules _Info Window _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
  ends with file not found format not supported genre gtkpod gtkpod Info gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm). 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 options gtkpod version %s usage:
- hours iPod Database Import Failed.
+ highest rating hours iPod Database Import Failed.
 
  iPod Database Import Failed: '%s'
 
  iPod Database Saved iPod Database Successfully Imported iPod File iPod ID iPod Mount _Point: iPod directory structure must be present before synching to the iPod can be performed.
- iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up. iTunesDB '%s' does not match checksum in extended information file '%s'
+ iTunesDB '%s' does not match checksum in extended information file '%s'
 gtkpod will try to match the information using MD5 checksums. This may take a long time.
 
- iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). Aborting. iTunesDB corrupt: found mhyp at %ld in file '%s'. iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'. iTunesDB corrupt: no MHOD at offset %ld in file '%s'. iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. Trying to continue.
- iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. Trying to continue.
- in the last is is after is before is greater than is in the range is less than is not is not set is set kB kbps label21 least often played least recently added least recently played 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.
- minutes months most often played most recently added most recently played mserv mserv Root: mserv Root:  mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
+ in the last is is after is before is greater than is in the range is less than is not is not set is set kB kbps label21 least often played least recently added least recently played lowest rating 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.
+ minutes months most often played most recently added most recently played mserv Root: mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
  prefs_set_toolbar_style: illegal style '%d' ignored
  preparing to copy... random order secs starts with title to tracks weeks window1 Project-Id-Version: it2
 Report-Msgid-Bugs-To: 
-POT-Creation-Date: 2005-07-16 16:18+0900
-PO-Revision-Date: 2005-06-20 23:25+0900
+POT-Creation-Date: 2005-12-14 23:51+0900
+PO-Revision-Date: 2005-09-18 01:54+0900
 Last-Translator: 
 Language-Team:  <it at li.org>
 MIME-Version: 1.0
@@ -310,8 +322,8 @@
                 esportati sull'iPod, ma su ~/.gtkpod/.                L'iPod verrà aggiornato se verrà usato 'Sinc'
                 con 'Offline' de-attivato.
   -p <nomefile>:incrementa il contatore delle riproduzioni di uno
- %s Liberi  %s Pendenti  <= cts <=  Operatori logici: _Numero dei blocchi di ordinamento  Preferenze: Categoria num (%d<%d?) o blocco di ordinamento num (%d<%d?) fuori limite.
- _Charset (ID3, file): _Numero dei blocchi di ordinamento  scollegato  _Punto di montaggio dell'iPod # # seleziona automaticamente la playlist principale?
+ %s Liberi  %s Pendenti  <= cts <=  Operatori logici:  P:%d S:%d/%d  Preferenze: Categoria num (%d<%d?) o blocco di ordinamento num (%d<%d?) fuori limite.
+  scollegato # # seleziona automaticamente la playlist principale?
  # impostazione: impostare un tag vuoto al posto del nome del file?
  # conferma la cancellazione
  #blocco di ordinamento: seleziona 'Tutti', ultima pagina selezionata (=category)
@@ -346,31 +358,33 @@
  '%s': è permesso solo '%%[%s]'.
  '%s-%s' (%s) non può essere normalizzata.
 
- Condizione 'Aggiunta' ignorata a causa di un errore. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' o simile. Premi 'enter' quando hai finito. Condizione 'Modificato' ignorata a causa di un errore. La condizione 'Suonato' è stata ignorata a causa di un errore eseguibile 'mp3gain': (C) 2002 - 2003
-Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+ Condizione 'Aggiunta' ignorata a causa di un errore. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' o simile. Premi 'enter' quando hai finito. Condizione 'Modificato' ignorata a causa di un errore. La condizione 'Suonato' è stata ignorata a causa di un errore eseguibile 'mp3gain': Jörg Schuler (jcsjcs at users dot sourceforge dot net)
 Corey Donohoe (atmos at atmos dot org)
-
-
- + - ... ...con icone ...con testo ...con icone e testo ...voce 'Tutti' nel blocco di ordinamento... ...playlist principale 0 1 2 3 4 5 : <b>Aggiungi/Aggiorna/Sincronizza</b> <b>Playlist Auto-Generata</b> <b>Seleziona automaticamente...</b> <b>Conferma la cancellazione</b> <b>Attributi delle tracce visualizzati</b> <b>Importa</b> <b>Riproduzione</b> <b>Blocchi di ordinamento</b> <b>Sincronizza</b> <b>Sincronizzazione</b> <b>Lettura del Tag</b> <b>Suggerimenti</b> <b>Modifica della traccia</b> <b>Normalizzazione del volume</b> AL: AR: Impossibile aprire "%s" per la scrittura delle informazioni estese.
- Interruzione in corso... A proposito di gtkpod Aggiungi directory ricorsivamente Aggiungi file o directory Aggiungi _Directory Aggiungi _File Aggiungi _Playlist Aggiungi le directory ricorsivamente Aggiungi playlist dal file Aggiunta Aggiungi/Aggiorna/Sincronizza Adrian Ulrich: porting del codice della playlist da mktunes.pl a itunesdb.c
- Album Alex Tribble: patch per l'espulsione del iPod
+ + - ...con icone ...con testo ...con icone e testo ...voce 'Tutti' nel blocco di ordinamento... ...playlist principale 0 1 2 3 4 5 : <b>Aggiungi/Aggiorna/Sincronizza</b> <b>Playlist Auto-Generata</b> <b>Seleziona automaticamente...</b> <b>Conferma la cancellazione</b> <b>Attributi delle tracce visualizzati</b> <b>Ignora le parole frequenti</b> <b>Importa</b> <b>Misc</b> <b>Riproduzione</b> <b>Blocchi di ordinamento</b> <b>Blocchi di ordinamento</b> <b>Sincronizza</b> <b>Sincronizzazione</b> <b>Lettura del Tag</b> <b>Barra degli Strumenti</b> <b>Suggerimenti</b> <b>Modifica della traccia</b> <b>Normalizzazione del volume</b> AL: AR: Impossibile aprire "%s" per la scrittura delle informazioni estese.
+ Interruzione in corso... A proposito di gtkpod Aggiungi directory ricorsivamente Aggiungi _File Aggiungi file o directory Aggiungi _Playlist Aggiungi _Directory Aggiungi _File Aggiungi _Playlist Aggiungi le directory ricorsivamente Aggiungi playlist dal file Aggiunta Adrian Ulrich: porting del codice della playlist da mktunes.pl a itunesdb.c
+ Opzioni di ordinamento avanzate Album Alex Tribble: patch per l'espulsione del iPod
  Tutti Tutti (AND) Tutte le tracce mai ascoltate Riprodotte dall'ultima volta Tutte le tracce non contenute in una Playlist Ordine alfabetico Includi le tracce mai ascoltate nella playlist "Tracce con il voto migliore" Scrivi sempre tag ID3v2.4 (vale solo per gli MP3) Andrew Huntwork: Filename case sensitivity fix e vari altri bugfixes
  E' stata rilevata un'altra istanza di gtkpod. Il server dei conta-riproduzioni non è partito.
- Ogni (OR) Arabo (IBM-864) Arabo (ISO-8859-6) Arabo (Windows-1256) 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 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 cancellare la playlist '%s' Armando Atienza: Supporto per i conta-riproduzioni esterni
+ Ogni (OR) Arabo (IBM-864) Arabo (ISO-8859-6) Arabo (Windows-1256) Sei sicuro di voler eliminare completamente la playlist '%s' e la traccia seguente dal database? Il numero di playlist in cui �presentequesta traccia �indicato tra parentesi. Sei sicuro di voler eliminare completamente la playlist '%s' e le tracce seguente dal database? Il numero di playlist in cui �presen ognita traccia �indicato tra parensi 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. 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. 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 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 completamente la seguente traccia
+dal tuo disco fisso? Il numero di playlist di cui questa traccia fa parte è indicato tra parentesi. Sei sicuro di voler eliminare completamente le seguenti tracce
+dal tuo disco fisso? Il numero di playlist di cui ognuna di queste tracce fa parte è indicata 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. 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. Sei sicuro di voler cancellare la playlist '%s' Sei sicuro di voler eliminare tutte le tracce dal database? Sei sicuro di voler eliminare tutte le tracce dal tuo iPod? 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. 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. Sei sicuro di voler eliminare la seguente traccia
+dalla playlist "%s"? Sei sicuro di voler eliminare le seguenti tracce
+dalla playlist "%s"? Armando Atienza: Supporto per i conta-riproduzioni esterni
  Artista Come ultimo tentativo riempi i tag seguenti con
-il filename se sono (ancora) vuoti: Come ultimo tentativo riempi i tag seguenti con il filename se sono (ancora) vuoti: Ascendente Salvataggio automatico Salvataggio automatico dell'ordine delle tracce disabilitato.
+il filename se sono (ancora) vuoti: Ascendente Salvataggio automatico Salvataggio automatico dell'ordine delle tracce disabilitato.
 
- Playlist Auto-Generata Importa automaticamente l'iTunesDB all'avvio Seleziona automaticamente... Visualizza automaticamente le tracce che corrispondono ai criteri specificati qui sopra. Se non selezionati, devi premere 'Mostra' per attivare la visualizzazione B BPM Baltico (ISO-8859-13) Baltico (ISO-8859-4) Baltico (Windows-1257) Prima di rimuovere le playlist o le tracce dalla playlist Prima di rimuovere completamente le tracce dall'iPod Prima di rimuovere completamente le tracce nella
-sincronizzazione delle directory Prima di rimuovere completamente le tracce durante la
-sincronizzazione delle directory Le meglio votate (%d) Tracce con il voto migliore Bitrate Blocca l'interfaccia mentre cambi playlist o blocco
+ Importa automaticamente l'iTunesDB all'avvio Visualizza automaticamente le tracce che corrispondono ai criteri specificati qui sopra. Se non selezionati, devi premere 'Mostra' per attivare la visualizzazione B BPM Baltico (ISO-8859-13) Baltico (ISO-8859-4) Baltico (Windows-1257) Prima di rimuovere le playlist o le tracce dalla playlist Prima di rimuovere completamente le tracce durante la
+sincronizzazione delle directory Prima di rimuovere completamente le tracce dal disco fisso Prima di rimuovere le tracce dall'iPod Prima di rimuovere le tracce dal database locale Le meglio votate (%d) Tracce con il voto migliore Bitrate Blocca l'interfaccia mentre cambi playlist o blocco
  di voci (più veloce!) CD CD Num CD num. e numero totale dei cd nell'insieme CO: Calendario Comando sincronizzazione calendario: Chiama automaticamente mentre sincronizzi l'iTunesDB Impossibile riordinare la vista ad albero ordinata. Cancella Impossibile aprire il file '%s' in lettura.
 
  Impossibile rimuovere la voce 'Tutti' È Impossibile invertire l'ordinamento delle tracce per un bug delle GTK lib in uso(%d.%d.%d < 2.5.4). Una volta che avrai ordinato la visualizzazione delle tracce,non sarà possibile tornare allo stato 'non ordinato'.
 
- Impossibile scrivere il mhod del tipo %d
  Categoria:  Celtico (ISO-8859-14) Europa Centrale (IBM-852) Europa Centrale (ISO-8859-2) Europa Centrale (Windows-1250) Controlla i file esistenti quando copi dall'iPod. Controllo dei file dell'iPod verso i file conosciuti nel DB Cinese Semplificato (GB18030) Cinese Semplificato (GB2312) Cinese Tradizionale (Big5) Cinese Tradizionale (Big5-HKSCS) Chris Cutler: creazione automatica di diversi tipi di playlist
  Chris Micacchi: ignora 'the' e cose simili all'inizio del titolo durante l'ordinamento
- Comp. Riga di comando per 'Metti in coda' Riga di comando per 'Suona ora' Comando per 'Metti in coda': Comando per 'Suona ora': Comando da richiamare per la sincronizzazione dei calendari: Comando da richiamare per la sincronizzazione delle note: Comando per sincronizzare i contatti: Commento Comp. Compilation Compositore Conferma prima di rimuovere le tracce Conferma la lista delle directory Conferma la lista delle directory Finestra di conferma Contatti / Calendari / Note Comando sincronizzazione contatti: Contenente le tracce visualizzate Contenente le tracce selezionate Copiato %d di %d di una nuova traccia Copiato %d di %d di nuove tracce Copiato %d di %d della traccia Copiato %d di %d delle tracce Copiata una traccia Copiate %d tracce Impossibile creare il valore di hash dal itunesdb
+ Christoph Kunz: risoluzione dei problemi di compatibilità nella scrittura dei tag mp3 di tipo id3v2.4
+ Clinton Gormley: script di sincronizzazione per thunderbird
+ Comp. Comando per 'Metti in coda': Comando per 'Suona ora': Commento Comp. Compilation Compositore Conferma prima di rimuovere le tracce Conferma la lista delle directory Finestra di conferma Comando sincronizzazione contatti: Contenente le tracce visualizzate Contenente le tracce selezionate Copiato %d di %d di una nuova traccia Copiato %d di %d di nuove tracce Copiato %d di %d della traccia Copiato %d di %d delle tracce Copiata una traccia Copiate %d tracce Impossibile trovare il file per '%s' sull'iPod
+ Impossibile creare il valore di hash dal itunesdb
  Impossibile cancellare il file di backup: "%s"
  Impossibile trovare il comando '%s' specificato per '%s' Impossibile trovare mp3gain. È stato provato il seguente esegubile: '%s'.
 
@@ -391,50 +405,49 @@
  Impossibile aprire "%s" in scrittura, o il file non è un file mp4.
  Impossibile aprire '%s' per calcolare il checksum MD5: %s
  Impossibile cambiare il tag del file: %s
- Crea nuova Playlist Crea un File Playlist Crea un file della _Playlist Crea le directory dell'iPod Crea una nuova Playlist Creare la playlist dalle voci selezionate di quale blocco di ordinamento? Creata la playlist '%s' con %d traccia. Creata la playlist '%s' con %d tracce. Creata la playlist con una traccia. Creata la playlist con %d tracce. Creazione di un albero di file conosciuti Crediti Cirillico (IBM-855) Cirillico (ISO-8859-5) Cirillico (ISO-IR-111) Cirillico (KOI8-R) Cirillico (Windows-1251) Cirillico/Russo (CP-866) Cirillico/Ucraino (KOI8-U) D.L. Sharp: Supporto per i file m4b (file AAC con il segnalibro)
- Tracce pendenti Le tracce con i file sul PC sono state gestite. Le tracce pendenti senza file sul PC sono state rimosse. Ci sono dei dati modificati e non salvati.
-Uscire comunque da gtkpod? Database in memoria corrotto (playlist pointer == NULL). Esportazione Interrotta. Database in memoria corrotto (track pointer == NULl). Esportazione interrotta. Data di aggiunta Errore nel formato della data: carattere sconosciuto: '%s'
- Modificato il Cancella ma preserva le tracce Conferma la cancellazione Cancella dalla Playlist Cancella dall'iPod Cancella le tracce incluse Cancella le tracce che sono state rimosse Cancella completamente una traccia dall'iPod Cancella completamente %d tracce dall'iPod Playlist cancellata '%s' Cancellata la playlist '%s' con la %d traccia appartenente. Cancellata la playlist '%s' con le %d tracce appartenenti. _Tracce Cancellate Discendente Determina come costruire la stringa per il campo info. es. '%a/%A/%T - %t.mp3'o '%o'. Puoi separare diverse maschere con punto e virgola -- gtkopd determinerà quale usare a seconda della estensione del nome del file data. %A: artista; %d: album; %n: titolo; %t: genere %G, num della traccia: %T,  num disco: %C, anno: %Y, nome del file originale (necessita del file delle informazioni estese): %o, il carattere '%': %%. 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 '%': %%. Impossibile trovare hunk SLst come ci si aspettava. Si prova a continuare.
- Dir Numero disco Visualizzazione Mostra una lista di tracce che potrebbero essere aggiornate. Mostra una lista di tracce che non possono essere aggiornate. Mostra informazioni sui duplicati scoperti Mostra informazioni a proposito di tracce non aggiornate Mostra informazioni sulle tracce aggiornate Mostra messaggi e avvertimenti all'avvio Mostra la lista dei duplicati che sono stati cancellati dopo l'aggiunta dei file. Mostra la barra degli strumenti... Mostra i suggerimenti nella finestra principale Mostra i suggerimenti nella finestra delle preferenze Mostra le tracce che corrispondono ai criteri entrati qui sopra. Tracce
-Visualizzate Attributi delle tracce visualizzati  Non permettere i file duplicati Il riconoscimento dei file duplicati è basato su un hash md5 sul file. Rilevazione dei duplicati ERRORE nell'apertura del file: '%s' (%s).
+ Crea nuova Playlist Crea un File Playlist Crea un file della _Playlist Crea le directory dell'iPod Crea una nuova Playlist Creare la playlist dalle voci selezionate di quale blocco di ordinamento? Creata la playlist '%s' con %d traccia. Creata la playlist '%s' con %d tracce. Creata la playlist con una traccia. Creata la playlist con %d tracce. Creazione di un albero di file conosciuti Crediti Nessun database iPod è stato selezionato al momento Attualmente solo la votazione è supportata. Cirillico (IBM-855) Cirillico (ISO-8859-5) Cirillico (ISO-IR-111) Cirillico (KOI8-R) Cirillico (Windows-1251) Cirillico/Russo (CP-866) Cirillico/Ucraino (KOI8-U) D.L. Sharp: Supporto per i file m4b (file AAC con il segnalibro)
+ Tracce pendenti Le tracce con i file sul PC sono state gestite. Le tracce pendenti senza file sul PC sono state rimosse. Daniel Kercher: script per la sincronizzazione di abook e webcalendar
+ Ci sono dei dati modificati e non salvati.
+Uscire comunque da gtkpod? Data di aggiunta Data e ora in cui la traccia è stata aggiunta Data e ora in cui la traccia è stata modificat l'ultima voltaa Data e ora in cui la traccia è stata riprodotta l'ultima volta Errore nel formato della data: carattere sconosciuto: '%s'
+ Modificato il Data riproduzione Cancella ma preserva le tracce Cancella dal database Cancella dal disco fisso Cancella dalla Playlist Cancella dall'iPod Cancella le tracce incluse Cancella le tracce incluse (Database) Cancella le tracce incluse (disco fisso) Cancella completamente una traccia dall'iPod Cancella completamente le tracce dall'iPod Cancella la traccia dal disco fisso? Cancella le tracce dal disco fisso? Cancella le tracce che sono state rimosse Cancella %d traccia dalla playlist '%s' Cancella %d tracce dalla playlist '%s' Cancella completamente una traccia dall'iPod Cancella completamente %d tracce dall'iPod Cancella la traccia dal disco fisso Cancella %d tracce dal disco fisso Playlist cancellata '%s' Cancellata la playlist '%s' con la %d traccia appartenente. Cancellata la playlist '%s' con le %d tracce appartenenti. Cancellata la playlist '%s' con la %d traccia appartenente sul disco fisso. Cancellata la playlist '%s' con le %d tracce appartenenti sul disco fisso. Cancella la traccia dal database locale Cancella %d tracce dal database locale _Tracce Cancellate Discendente Determina come costruire la stringa per il campo info. es. '%a/%A/%T - %t.mp3'o '%o'. Puoi separare diverse maschere con punto e virgola -- gtkopd determinerà quale usare a seconda della estensione del nome del file data. %A: artista; %d: album; %n: titolo; %t: genere %G, num della traccia: %T,  num disco: %C, anno: %Y, nome del file originale (necessita del file delle informazioni estese): %o, il carattere '%': %%. 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 '%': %%. Dir Numero disco Mostra una lista di tracce che potrebbero essere aggiornate. Mostra una lista di tracce che non possono essere aggiornate. Mostra informazioni sui duplicati scoperti Mostra informazioni a proposito di tracce non aggiornate Mostra informazioni sulle tracce aggiornate Mostra messaggi e avvertimenti all'avvio Mostra la lista dei duplicati che sono stati cancellati dopo l'aggiunta dei file. Mostra la barra degli strumenti... Mostra i suggerimenti nella finestra principale Mostra i suggerimenti nella finestra delle preferenze Mostra le tracce che corrispondono ai criteri entrati qui sopra. Tracce
+Visualizzate Non permettere i file duplicati Impossibile selezionare dal database dell'iPod in modalità offline Rilevazione dei duplicati ERRORE nell'apertura del file: '%s' (%s).
  ERRORE nella scrittura del tag sul file: '%s' (%s).
  Modifica Modifica la playlist intelligente Edward Matteucci: debugging, creazione delle playlist speciali,buona parte del codice relativo alla normalizzazione
- Playlist Vuota Incontrato un tipo MHOD sconosciuto (%d) mentre si passava l'iTunesDB. Ignorato.
-
- Inglese (US-ASCII) Metti in coda Metti in coda le tracce nella voce selezionata di quale blocco di ordinamento? Ero Carrera: Validazione dei nomi dei file e sincronizzazione rapida nella copia delle tracce dall'iPod
+ Spazio libero effettivo Playlist Vuota Inglese (US-ASCII) Metti in coda Metti in coda le tracce nella voce selezionata di quale blocco di ordinamento? Ero Carrera: Validazione dei nomi dei file e sincronizzazione rapida nella copia delle tracce dall'iPod
  Errore nella copia di '%s' verso '%s' (%s)
  Errore nella copia di '%s' verso '%s': Errore nei permessi (%s)
  Errore nella creazione di %s: %s
- Errore nell'apertura in lettura di '%s' (%s). Errore nell'apertura in scrittura di '%s' (%s). Errore nella rimozione di '%s' (%s). Errore nella rinominazione da '%s' a '%s' (%s). Errore nella impostazione del campo ID3: %s
- Errore nella chiusura di '%s' (%s). Errore nella lettura delle informazioni estese: %s
- Errore nella lettura da '%s' (%s). Errore nella lettura delle preferenze: %s
- Errore nella scrittura verso '%s' (%s). Errore nella scrittura verso '%s'.
- Path esatta per l'eseguibile 'mp3gain' Esecuzione di mp3gain ('%s') fallita. Esportare la voce selezionata di quale blocco di ordinamento? Le informazioni estese non verranno usate.
+ Errore nella impostazione del campo ID3: %s
+ Errore nella lettura delle informazioni estese: %s
+ Errore nella lettura delle preferenze: %s
+ Errore nella scrittura verso '%s'.
+ Errore: il 'drag' dal iPod non è possibile in modalit offline Esecuzione di mp3gain ('%s') fallita. Tracce da esportare L'esportazione dal database dell'iPod non è possibile in modalità offline Esportare la voce selezionata di quale blocco di ordinamento? Le informazioni estese non verranno usate.
  Le informazioni estese non verranno usate. Se hai delle tracce non trasferite, verranno perse.
  Il file delle informazioni estese non è stato cancellato: '%s' Aggiornamento delle tracce fallito Impossibile scrivere %s-%s
  Il file "%s" ha durata zero. Ignorato.
- Dimensione file non trovato: '%s'. Dimensione Dimensione dei file (cancellatinon trasferiti) Dimensione dei file (non trasferiti) Formato del nome del file:  File Trova i file orfani (file senza informazioni nel DB) e tracce fantasma (tracce senza file corrispondente sull'iPod) Flavio Stanchina: bugfixes
+ Dimensione Dimensione Dimensione dei file (cancellatinon trasferiti) Dimensione dei file (non trasferiti) Formato del nome del file:  File Trova i file orfani (file senza informazioni nel DB) e tracce fantasma (tracce senza file corrispondente sull'iPod) Flavio Stanchina: bugfixes
  Per esempio, 'xmms %s' cancellerà la playlist attuale di xmms, aggiungerà la traccia selezionata e comincerà a suonarla. Per esempio, 'xmms -e %s' appenderà (in coda) la traccia selezionata alla playlist corrente di xmms. Trovati %d file orfani e %d pendenti. Terminato. Trovati %d file orfani e %d pendenti. Elaborazione in corso... Francese:   David Le Brun (david at dyn-ns dot net)
- GB GE: Generale Genere Tedesco:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+ GB GE: Genere Tedesco:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
  Graeme Wilford: lettura e scrittura del tag ID3 'Compositore', barra di avanzamento durante la sincronizzazione
  Greco (ISO-8859-7) Greco (Windows-1253) Raggrupamento Gestisci montaggio/smontaggio del drive iPod La gestione delle tracce pendenti con file presenti sul PC è stata cancellata. Calcolato l'hash di %d di %d traccia. Calcolato l'hash di %d di %d tracce. Il file di cui è stato calcolato l'hash è lungo 0 byte
- 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. Ebraico (IBM-862) Ebraico (Windows-1255) È 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). Hiroshi Kawashima: riconoscimento della codifica di carattere Giapponese
- Hz ID Le icone dei buttoni sono state fatte da Nicolas Chariot.
-
-
- Se disponibile, la copia locale della traccia è referenziata nella playlist. Altrimenti è usato il file sul iPod. Se selezionata, l'ordinamento sarà case sensitive. Nota: l'ordinamento case sensitive non funziona bene con la maggior parte delle codifiche. 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'. Se selezioni questa opzione, le tracce che sono state rimosse dalle directory sincronizzate verranno rimosse anche dall'iPod. Se selezioni questo, gtkpod discenderà nelle directory ricorsivamente. Se non selezioni la playlist principale automaticamente, l'importazione iniziale del database sarà molto più veloce perchè non verrà aggiornata l'interfaccia. Se selezioni diverse tracce nella playlist e modifichi il tag della prima i tag delle altre verrà aggiornato. ricerca illegale all'offest %ld (lunghezza %ld) nel file '%s' Importa Importazione di '%s' fallita: m4a/m4p/m4b non è supportata senza librerie mp4v2. Devi compilare i sorgenti di gtkpod insieme alla libreria mp4v2.
- Aumentati i conta-riproduzione per '%s' Informazioni 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. Italiano:  Edward Matteucci (edward_matteucc at users dot sourceforge dot)
- itDB_Track ID '%d' non trovato.
+ Ebraico (IBM-862) Ebraico (Windows-1255) Ebraico: Assaf Gillat (gillata at gmail dot com)
+ È 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). Hiroshi Kawashima: riconoscimento della codifica di carattere Giapponese
+ Hz ID Se disponibile, la copia locale della traccia è referenziata nella playlist. Altrimenti è usato il file sul iPod. Se selezionata, l'ordinamento sarà case sensitive. Nota: l'ordinamento case sensitive non funziona bene con la maggior parte delle codifiche. 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'. Se selezioni questa opzione, le tracce che sono state rimosse dalle directory sincronizzate verranno rimosse anche dall'iPod. Se selezioni questo, gtkpod discenderà nelle directory ricorsivamente. Se non selezioni la playlist principale automaticamente, l'importazione iniziale del database sarà molto più veloce perchè non verrà aggiornata l'interfaccia. Se selezioni diverse tracce nella playlist e modifichi il tag della prima i tag delle altre verrà aggiornato. Ignora le seguenti parole se sono all'inizio dei campi seguetti: Importazione di '%s' fallita: m4a/m4p/m4b non è supportata senza librerie mp4v2. Devi compilare i sorgenti di gtkpod insieme alla libreria mp4v2.
+ Per memorizzare sull'iPod l'ordine delle tracce come visualizzato scegliete 'Salva l'ordine delle tracce' dal menù 'Modifica' o selezionare'Auto Store' sopra. Aumentati i conta-riproduzione per '%s' Informazioni 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. Italiano:  Edward Matteucci (edward_matteucc at users dot sourceforge dot)
+ James Ligget: Sostituzione della 'GTK file selection dialogs' con la nuova 'GTK filechooser dialogs'
  Giapponese (EUC-JP) Giapponese (ISO-2022-JP) Giapponese (Shift_JIS) Giapponese (automatico) Giapponese: Ayako Sano
  Giapponese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
  Jens Lautenbach: alcuni miglioramenti ottici
  Jens Taprogge: Supporto per il tag per il guadagno di riproduzione di LAME per normalizzare il volume
  Jim Hall: File INSTALL decente
  Juergen Helmers, Markus Gaugusch: Script per la conversione per sincronizzarei calendari/contatti con l'iPod
- Genere Coreano (EUC-KR) Modificato Suonato Durata Ultimo Ascolto La lunghezza del campo della regola della playlist intelligente (%d) non è come la si aspettava. Si prova a continuare.
- _aggiornamente in diretta Locale Nome del file locale non valido (%s) Margine inferiore MB Linea malformata in '%s': %s
- Aggiustamento manuale del volume PL principale Confronta tut_ti i seguenti Confronta uno quals_iasi dei seguenti Confronta solo le tracce _selezionate Misc Modificato Più sentite (%d) Tracce riprodotte più recentemente Spostata una traccia Spostate %d tracce Radice della musica: Radice della musica Nome del file sul pc, se disponibile Nome del file sull'iPod Mai riprodotti Non cancellare i file durante la sincronizzazione Non mostrare mai più questa finestra Nuova PL Nuova Playlist Non sono disponibili dei checksum MD5 individuali per le tracce.
+ Genere Coreano (EUC-KR) Modificato Suonato Durata Ultimo Ascolto _aggiornamente in diretta Locale Database Locale Fallita l'importazione del Database locale: 
 
+ Importazione del database locale fallito: '%s'
+
+ Database locale importato con successo Nome del file locale non valido (%s) Margine inferiore MB Linea malformata in '%s': %s
+ Aggiustamento manuale del volume Confronta tut_ti i seguenti Confronta uno quals_iasi dei seguenti Confronta solo le tracce _selezionate Modificato Più sentite (%d) Tracce riprodotte più recentemente Spostata una traccia Spostate %d tracce Radice della musica: Nome del file sul pc, se disponibile Nome del file sull'iPod Mai riprodotti Non cancellare i file durante la sincronizzazione Non mostrare mai più questa finestra Nuova PL Nuova Playlist Non sono disponibili dei checksum MD5 individuali per le tracce.
+
 Nel futuro, per evitare questa situazione, usate l'opzione di rilevamento dei duplicati (aggiungerà i checksum MD5) oppure evitate di usare l'iPod con altri programmi rispetto a gtkpod.
 
  Nessun comando impostato per '%s' Nessun nome di directory è stato memorizzato. Assicurati di aver attivato al momento dell'importazione dei file 'Scrivi informazioni estese' tra le preferenze nella sezione Esportazione.
@@ -442,71 +455,74 @@
 Per sincronizzare le directory adesso, attiva la 'Rilevazione dei duplicati'  ('Non permettere i file duplicati')nella sezione Importazione e aggiungi le directory che vuoi sincronizzare di nuovo.
  Nessuna voce selezionata nel blocco di ordinamento %d Nessuna voce selezionata. Nessuna informazioni sull'utente '%s' in '%s' Nessun margine inferiore Non è stato possibile raccogliere alcuna informazione mserv per la traccia seguente Non è stato possibile raccogliere alcuna informazione mserv per le %d tracce seguenti Nessuna playlist selezionata Nessuna playlist selezionata. Nessuna traccia disponibile, la playlist non è stata creata Nessuna traccia selezionata Nessuna traccia selezionata. Nessuna traccia selezionata. Nessun margine superiore Nessuna directory valida è stata trovata. Sincronizzazione abortita.
  Nessuno nome di file valido per: %s
- Tracce non trasferite Nessuno Nordico (ISO-8859-10) Normalizzazione fallita: file non disponibile.
- Normalizzazione fallita: tipo di file non supportato.
- Normalizza Normalizza le tracce nella voce selezionata di quale blocco di ordinamento? Normalizzato %d di %d della traccia Normalizzato %d di %d delle tracce Normalizzazione in corso... Normalmente la codifica di sistema del carattere specificata la prima volta che importi una traccia viene utilizzata per il nome del file. Se hai scelto questa opzione puoi impostare una codifica differente con il selettore delle codifiche (Preferenze/'Aggiungi/Aggiorna/Sincronizza'). Nota: la codifica è contenuta all'interno del file delle informazioniestese (consulta Preferenze/'Scrittura del iTunesDB'). Le tracce importate prima della V0.51 non avranno alcuna codifica memorizzata. Verrà usato il charset specificato. 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. 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. Mai elencati Non è una file playlist OTG: '%s' (manca l'intestazione mhpo) Non è un file conta riproduzioni: '%s' (intestazione mhdp mancante) Non è un file iTunesDB: '%s' (intestazione mhdb mancante) Comando sincronizzazione note: Nulla da aggiornare Nota: l'ordine delle tracce è sempre contenuto nell'iPod se si usa il drag and drop per sistemare le tracce.
-Per memorizzare l'ordine alfabetico delle tracce nell'iPod devi selezionare 'Salva l'ordine delle tracce' dal menù 'Modifica' o selezionare 'Auto Store' sopra. Scrittura del iTunesDB in corso. Attendere prego... Numero delle playlist Numero di volte in cui la traccia è stata riprodotta Numero di tracce Numero di tracce nelle playlist generate: Numero delle tracce nelle playlist generate 'Ascoltate più spesso', 'Tracce con il voto migliore' e 'Tracce riprodotte più recentemente'. Scegliere '0' per 'nessun limite' Creare le directory seguenti? Vuoi sincronizzare le seguenti directory? Playlist OTG Playlist OTG %d Playlist OTG '%s': Punta ad una traccia non esistente (%d). File playlist OTG ('%s'): lunghezza della intestazione più piccola delle aspettative (%d<20) File playlist OTG ('%s'): lunghezza della voce più piccola delle aspettative (%d<4) Fallita l'importazione del Database offline del ipod: 
+ Tracce non trasferite Nessuno Nordico (ISO-8859-10) Normalizza Normalizza le tracce nella voce selezionata di quale blocco di ordinamento? Normalizzato %d di %d della traccia Normalizzato %d di %d delle tracce Normalizzazione in corso... Normalmente la codifica di sistema del carattere specificata la prima volta che importi una traccia viene utilizzata per il nome del file. Se hai scelto questa opzione puoi impostare una codifica differente con il selettore delle codifiche (Preferenze/'Aggiungi/Aggiorna/Sincronizza'). Nota: la codifica è contenuta all'interno del file delle informazioniestese (consulta Preferenze/'Scrittura del iTunesDB'). Le tracce importate prima della V0.51 non avranno alcuna codifica memorizzata. Verrà usato il charset specificato. 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. 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. Mai elencati Comando sincronizzazione note: Nulla da aggiornare Scrittura del iTunesDB in corso. Attendere prego... Numero delle playlist Numero di volte in cui la traccia è stata riprodotta Numero di tracce Numero di tracce nelle playlist generate: Numero delle tracce nelle playlist generate 'Ascoltate più spesso', 'Tracce con il voto migliore' e 'Tracce riprodotte più recentemente'. Scegliere '0' per 'nessun limite' Creare le directory seguenti? Vuoi sincronizzare le seguenti directory? Fallita l'importazione del Database offline del iPod: 
 
  Fallita l'importazione del Database offline: '%s' 
 
- Ok 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. Una per ogni Album Una per ogni Artista Una per ogni Compositore Una per ogni Genere Una per ogni Voto Una per ogni anno Apertura di '%s' in scrittura fallita. Orfani Sovrascrivi i tag che sono giàimpostati. Sovrascrivi i tag che sono giàimpostati. File PC Patch sono state fornite dalle seguenti persone (la lista potrebbe essere incompleta -- per favore contattatemi)
+ Database offline dell'iPod importato con successo Ok 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. Una per ogni Album Una per ogni Artista Una per ogni Compositore Una per ogni Genere Una per ogni Voto Una per ogni anno Orfani Sovrascrivi i tag che sono giàimpostati. Sovrascrittura del file esistente: '%s'
+ File PC Patch sono state fornite dalle seguenti persone (la lista potrebbe essere incompleta -- per favore contattatemi)
 
- Percorso non trovato: '%s'. File conta-riproduzioni ('%s'): lunghezza della voce più piccoladi quanto ci si aspettava (%d<12) File conta-riproduzioni ('%s'): lunghezza della intestazione più piccolo di quanto ci si aspettava (%d<96) Suona Durata Durata Riproduci le tracce nella voce selezionata di quale blocco di ordinamento? Conta riproduzioni Suonato Playlist Nome della playlist: Tipo delle playlist: Playlist Inserire un nome per la nuova playlist Per favore, consultare la nota precedente. Selezionare la riga di comando per 'Metti in coda' Selezionare il comando per 'Riproduci Ora' Sincronizzare il comando per sincronizzare i calendari Selezionare il comando per sincronizzare i contatti Selezionare Path esatta per l'eseguibile 'mp3gain' Specifica un intervallo di tempo Specificare il comando da richiamare nella sezione 'Strumenti' della finestra delle preferenze.
+ Suona Durata Durata Riproduci le tracce nella voce selezionata di quale blocco di ordinamento? Conta riproduzioni Suonato Playlist Nome della playlist: Tipo delle playlist: Playlist Inserire un nome per la nuova playlist Per favore, consultare la nota precedente. Selezionare la riga di comando per 'Metti in coda' Selezionare il comando per 'Riproduci Ora' Sincronizzare il comando per sincronizzare i calendari Selezionare il comando per sincronizzare i contatti Selezionare Path esatta per l'eseguibile 'mp3gain' Specifica un intervallo di tempo Specificare il comando da richiamare nella sezione 'Strumenti' della finestra delle preferenze.
  Conta riproduzioni Preferenze Preferenze applicate Preferenze non aggiornate Premi il bottone per interrompere l'operazione Premi il bottone per abortire.
-l'esportazione può essere ultimata in un secondo momento. Elaborazione di '%s' in corso... Ramesh Dharan: Multi-Edit (modifica i tag di diverse tracce in una volta)
- Casuale (%d) Playlist random dalle tracce mostrate Rendi random la playlist corrente Voto (%d) Voto Leggi Leggi il database esistente dal disco/iPod Leggi i tag dal contenuto del file (es. tag ID3 in un file MP3) Lettura in corso Recenti (%d) Livellamento relativo del volume tra -100 e +100 La rimozione delle tracce pendenti senza file sul PC è stata cancellata. Rimuovere i conta-riproduzione offline? Ricezione dei dati mserv %s Directory radice del database mserv (radice del trackinfo). Regole Sam Clegg: nomi dei file decisi dall'utente per l'esportazione delle tracce dall'iPod
+l'esportazione può essere ultimata in un secondo momento. Problemi nella creazione delle directory dell'iPod: '%s'. Elaborazione di '%s' Elaborazione di '%s' in corso... Ramesh Dharan: Multi-Edit (modifica i tag di diverse tracce in una volta)
+ Casuale (%d) Playlist random dalle tracce mostrate Rendi random la playlist corrente Voto (%d) Voto Leggi Leggi il database esistente dal disco/iPod Leggi i tag dal contenuto del file (es. tag ID3 in un file MP3) Recenti (%d) La rimozione delle tracce pendenti senza file sul PC è stata cancellata. Rimuovi tutte le tracce dal Database Rimuovi tutte le Tracce dall'iPod Cancella la traccia dalla playlist? Cancella le tracce dalla playlist? Rimuovere le traccia dal database locale? Rimuovere le tracce dal database locale? Rimuovere i conta-riproduzione offline? Rimosse tutte le %d tracce dal database Eliminate tutte le %d tracce dall'iPod Ricezione dei dati mserv %s Directory radice del database mserv (radice del trackinfo). Regole Sam Clegg: nomi dei file decisi dall'utente per l'esportazione delle tracce dall'iPod
  Frequenza di campionamento Seleziona '-l' per nessun limite superire Seleziona '0' per eliminare il limite inferiore. Seleziona la directory di destinazione dell'esportazione Seleziona una directory da aggiungere ricorsivamente Seleziona la directory musicale radice di mserv Seleziona la directory trackinfo radice di mserv Playlist
 selezionata Tracce
-Selezionate Le voci nel _Blocco selezionato _Playlist selezionata _Tracce Selezionate Impostazioni non salvate.
- Mostra informazioni sui problemi nell'accesso a mserv Dimensione Playlist Intelligente Sndchk Alcune tracce non possono essere cancellate dall'iPod. Esportazione abortita! Alcune tracce riprodotte offline non sono state trovate nel iTunesDB. Premi 'OK' per rimuoverle dal file conta-riproduzioni offline, 'Cancel' per tenerle. Alcune tracce non sono state copiate. Alcune tracce non sono state scritte sull'iPod. Esportazione abortita! Blocchi di ordinamento Ordina le tracce secondo:  Ordinamento Opzioni di ordinamento Ordinamento case sensitive Blocco di ordinamento:  Blocco di ordinamento:  Controllo del suono Sorgente: Europa del sud (ISO-8859-3) Speciale Specificare la path esatta incluse le opzioni della linea di comando. '%i' verrà sostituito con il punto di montaggio dell'iPod. Specifica l'intervallo Votazione a stelle da 0 a 5 Far partire la visualizzazione automaticamente  Steve Jay: usa statvfs() invece di df (migliore portabilità, più veloce)
- Stop Ferma l'aggiornamento della visualizzazione Aggiornamento delle tracce completato con successo. Directory dell'iPod create con successo ('%s'). Probabilmente qualcosa che dice all'iPod di aumentare o diminuire la velocità di riproduzione Svedese: Stefan Asserhall (stefan asserhall at comhem dot se)
- Sincronizza Sincronizzazione (scrittura dell'iTunesDB) Sincronizza le directory Sincronizza le directory delle voci di quale blocco di ordinamento? Sincronizza Calendario, Contatti e Note Sincronizza tutto Sincronizza il calendario Sincronizza i contatti Sincronizza le Note Sincronizza l'_iTunesDB Sincronizza le directory Sincronizzazione abortita Sincronizzazione completata. Sincronizzazione completata. Nessun file cancellato. Sincronizzazione di contatti, calendari e note... Sincronizzazione della directory '%s' in corso Codifica di sistema TB Lettura del Tag La maschera ('%s') non coincide con il file '%s'
+Selezionate Le voci nel _Blocco selezionato _Playlist selezionata _Tracce Selezionate Mostra informazioni sui problemi nell'accesso a mserv Dimensione Salto '%s' perchè è una directory.
+ Salto '%s' per evitare di aggiungere file delle playlist ricorsivamente
+ Saltato il file esistente con la stessa lunghezza: '%s'
+ Playlist Intelligente Sndchk Alcuni file non sono stati aggiunti con successo Alcune tracce non possono essere cancellate dall'iPod. Esportazione abortita! Alcune tracce riprodotte offline non sono state trovate nel iTunesDB. Premi 'OK' per rimuoverle dal file conta-riproduzioni offline, 'Cancel' per tenerle. Alcune tracce non sono state copiate sul disco fisso. Solo le tracce copiate saranno incluse nella operazione di 'drag and drop' attuale.
+
+ Alcune tracce non sono state copiate. Alcune tracce non sono state scritte sull'iPod. Esportazione abortita! Ordina le tracce secondo:  Opzioni di ordinamento Ordinamento case sensitive Blocco di ordinamento:  Blocco di ordinamento:  Controllo del suono Sorgente: Europa del sud (ISO-8859-3) Speciale Specificare la path esatta incluse le opzioni della linea di comando. '%i' verrà sostituito con il punto di montaggio dell'iPod. Specifica l'intervallo Votazione a stelle da 0 a 5 Far partire la visualizzazione automaticamente  Steve Jay: usa statvfs() invece di df (migliore portabilità, più veloce)
+ Stop Ferma l'aggiornamento della visualizzazione Aggiornamento delle tracce completato con successo. File aggiunti con successo Directory dell'iPod create con successo ('%s'). Probabilmente qualcosa che dice all'iPod di aumentare o diminuire la velocità di riproduzione Svedese: Stefan Asserhall (stefan asserhall at comhem dot se)
+ Sincronizza Sincronizza le directory Sincronizza le directory delle voci di quale blocco di ordinamento? Sincronizza Calendario, Contatti e Note Sincronizza tutto Sincronizza il calendario Sincronizza i contatti Sincronizza le Note Sincronizza l'_iTunesDB Sincronizza le directory Sincronizzazione abortita Sincronizzazione completata. Sincronizzazione completata. Nessun file cancellato. Sincronizzazione di contatti, calendari e note... Sincronizzazione della directory '%s' in corso Codifica di sistema TB La maschera ('%s') non coincide con il file '%s'
  Maschera per il campo delle informazioni:  Blocca temporanemente l'ordinamento mentre cambi playlist o blocco
- di voci (più veloce!) Thai (TIS-620) La GUI è stata creata con l'aiuto di glade-2 (http://glade.gnome.org/).
+ di voci (più veloce!) Thai (TIS-620) Il contenuto (precedente) delle directory seguente verrà rimosso dal database:
+
+ La GUI è stata creata con l'aiuto di glade-2 (http://glade.gnome.org/).
  La URI '%s' contiene caratteri non validi che sono stati saltati La URI '%s' non è valida La URI '%s' non è una URI assoluto usando lo schema dei file 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). La seguente traccia pendente non ha un file sul PC.
 Premi OK per rimuoverla, CANCEL per lasciare tutto così. Le seguente tracce pendenti non hanno un file sul PC.
 Premi OK per rimuoverle, CANCEL per lasciare tutto così. Le seguente traccia pendente ha un file sul PC.
 Premi OK per trasferirla dal file nella prossima sincronizzazione, CANCEL per lasciare tutto così Le seguenti %d tracce pendenti hanno file sul PC.
-Premi OK per trasferirle dai file nella prossima sincronizzazione, CANCEL per lasciare tutto così La seguente traccia duplicata è stata rimossa. Le seguenti %d tracce duplicate sono state rimosse. La seguente traccia duplicata non è stata aggiunta alla playlist principale Le seguenti %d tracce duplicate non sono state aggiunte alla playlist principale Si è verificato l'errore seguente: I seguenti file orfani sono già stati aggiunti all'iPod di nuovo. Verrà rimosso alla prossima sincronizzazione:
+Premi OK per trasferirle dai file nella prossima sincronizzazione, CANCEL per lasciare tutto così La directory seguente verrà sincronizzata:
+
+ La seguente traccia duplicata è stata rimossa. Le seguenti %d tracce duplicate sono state rimosse. La seguente traccia duplicata non è stata aggiunta alla playlist principale Le seguenti %d tracce duplicate non sono state aggiunte alla playlist principale Si è verificato l'errore seguente: I seguenti file orfani sono già stati aggiunti all'iPod di nuovo. Verrà rimosso alla prossima sincronizzazione:
 %s
 
- La traccia seguente non può essere aggiornata Le %d tracce seguenti non possono essere aggiornate La traccia seguente è stata aggiornata Le %d tracce seguenti sono state aggiornate Il nome dell'host della URI '%s' non è valido La copia locale della traccia èsegnata nella playlist. Se la traccia non è disponibile localmente, verrà mostrato un messaggio di errore. La URI del file locale '%s' non può includere '#' I tag vengono scritti sui file nel tuo disco e sull'iPod (se disponibile). La traccia dell'iPod è referenziata nel file della playlist. Questo tipo DND (%d) non è (ancora) supportato. Se pensi che possa essere utile implementarlo, contatta l'autore.
- Questa è la stessa opzione in 'Edit/Conferma la cancellazione' 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. 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'. Questa opzione verrà riattivata all'aggiornamento di gtkpod. Questo programma prende in prestito codice dai seguenti progetti:
- Durata Durata: Titolo Barra degli strumenti Suggerimenti Totale
+ La traccia seguente non può essereelaborata (il file non esiste): '%s'
+ La traccia seguente non può essere elaborata (tipo di file conosciuto ma l'analisi è fallita): '%s'
+ La traccia seguente non può essereelaborata (tipo di file conosciuto): '%s'
+ La traccia seguente non può essere aggiornata Le %d tracce seguenti non possono essere aggiornate La traccia seguente è stata aggiornata Le %d tracce seguenti sono state aggiornate Le tracce seguente devono essere copiate sul tuo disco fisso Il nome dell'host della URI '%s' non è valido La copia locale della traccia èsegnata nella playlist. Se la traccia non è disponibile localmente, verrà mostrato un messaggio di errore. La URI del file locale '%s' non può includere '#' I tag vengono scritti sui file nel tuo disco e sull'iPod (se disponibile). La traccia dell'iPod è referenziata nel file della playlist. Questo tipo DND (%d) non è (ancora) supportato. Se pensi che possa essere utile implementarlo, contatta l'autore.
+ Questa è la stessa opzione in 'Edit/Conferma la cancellazione' 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. Questa opzione verrà riattivata all'aggiornamento di gtkpod. Questo programma prende in prestito codice dai seguenti progetti:
+ Durata Durata: Titolo Totale
 (iPod) Totale
-(locale) Traccia La traccia (%s) è non nella directory radice musicale di mserv (%s) Modifica della traccia Traccia Num Num. Traccia e numero totale delle tracce sul CD Traccia in riproduzione Numero della traccia Tracce Tracce ascoltate più spesso Trasferiti Traduttori Trasferito Turco (IBM-857) Turco (ISO-8859-9) Turco (Windows-1254) Impossibile eseguire 'mkdir %s'
+(locale) Traccia La traccia (%s) è non nella directory radice musicale di mserv (%s) Traccia Num Num. Traccia e numero totale delle tracce sul CD Numero della traccia Tracce Tracce ascoltate più spesso Trasferiti Traduttori Trasferito Turco (IBM-857) Turco (ISO-8859-9) Turco (Windows-1254) Impossibile eseguire 'mkdir %s'
  Impossibile aprire '%s' in lettura
  Impossibile aprire '%s' per la scrittura
  Impossibile aprire il file di configurazione '%s' in lettura
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Sconosciuto Azione sconosciuta (%d) nella playlist intelligente verrà ignorata.
- Opzione sconosciuta: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Sconosciuto Opzione sconosciuta: %s
  Token sconosciuto '%%%c' nella maschera '%s' Token '%s' sconosciuto nel formato '%s'
- Tracce senza voto Aggiorna Aggiorna i dati _mserv dai File Aggiornare la voce selezionata di quale blocco di ordinamento? Le tracce sono state aggiornate con le informazioni dal mserv. Le tracce sono state aggiornate con le informazioni dal file. Aggiornamento di %s in corso Margine superiore Usa 'Multi-edit' anche per il campo titolo Usa 'Multi-Edit' per le selezioni di file Usa 'Multi-Edit' per la selezione dei file Usa il database mserv per aggiungere informazioni addizionali Usa il database mserv per aggiungere informazioni addizionali Usa la codifica selezionata (vedi sopra: 'Aggiungi/Aggiorna/ Sincronizza')
- per questo file. Usa la codifica selezionata (nella pagina 'Generale')
- per la scrittura dei tag Usa la codifica selezionata (nella pagina 'importazione')
- per la scrittura dei tag Usa la codifica selezionata anche quando aggiorni
-o sincronizzi le tracce Usa la codifica selezionata anche quando aggiorni 
-o sincronizzi le tracce Usa questa maschera per controllare il nome file per informazioni sul tag Usa questa maschera per controllare il nome file per informazioni sul tag Nome utente da utilizzare per la consultazione del database mserv Nome utente: Nome utente:  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'). Vietnamita (VISCII) Vietnamita (Windows-1258) Ebraico visuale (ISO-8859-8) Vol. Volume Normalizzazione del volume Aggiustamento del volume in dB (guadagno di riproduzione) -- bisogna anche attivare 'soundcheck' sull'iPod Waiter Bell: trattamento corretto dei DND URI con la presenza di caratteri di escape e/o cr/nuova linea alla fine
+ Smontaggio di '%s' (%s) fallito. Smontaggio di '%s' fallito. Tracce senza voto Aggiorna Aggiorna i dati _mserv dai File Aggiornare la voce selezionata di quale blocco di ordinamento? Le tracce sono state aggiornate con le informazioni dal mserv. Le tracce sono state aggiornate con le informazioni dal file. Aggiornamento di %s in corso Margine superiore Usa 'Multi-edit' anche per il campo titolo Usa 'Multi-Edit' per la selezione dei file Usa il database mserv per aggiungere informazioni addizionali Usa la codifica selezionata (vedi sopra: 'Aggiungi/Aggiorna/ Sincronizza')
+ per questo file. Usa questa maschera per controllare il nome file per informazioni sul tag Nome utente da utilizzare per la consultazione del database mserv Nome utente: 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'). Vietnamita (VISCII) Vietnamita (Windows-1258) Ebraico visuale (ISO-8859-8) Vol. Volume Aggiustamento del volume in dB (guadagno di riproduzione) -- bisogna anche attivare 'soundcheck' sull'iPod Waiter Bell: trattamento corretto dei DND URI con la presenza di caratteri di escape e/o cr/nuova linea alla fine
  Attenzione Europa occidentale (IBM-850) Europa occidentale (ISO-8859-1) Europa occidentale (ISO-8859-15) Europa occidentale (Windows-1252) Quando aggiungi file/directory, aggiorna anche le informazioni sulle
- tracce esistenti con nome identico Quando aggiungi file/directory, aggiorna anche le informazioni sulle
-tracce esistenti con nome identico Quando copi dall'iPod non sono effettuati controlli sul fatto che il file di destinazione esista. Selezionare questa opzione farà in modo che gtkpod controlli se la dimensione del file di destinazione sia la stessa del file sull'iPod. Se fosse così il file verrà saltato, permettendo una veloce sincronizzazione del contenuto dell'iPod. Durante la sincronizzazione delle directory Dove monti di solito il filesystem del tuo iPod. Di solito '/mnt/ipod' o qualcosa di simile. se il file è stato già trasferito sull'iPod L'operazione verrà interrotta alla conclusione del prossimo  processo di mp3gain Scrivi le modifiche sul disco/iPod Scrivi i tag ID3 sul disco quando vengono modificati in gtkpod Scrivi informazioni estese (nome del file sul PC,
- hash MD5, codifica dei caratteri). Raccomandato. Scrittura verso '%s' falita (%s). Scrittura verso '%s' fallita. AN: Yaroslav Halchenko: Gestione delle tracce orfane e pendenti
- Anno C'è la possibilità di utilizzare l'intestazione della tabella, questo metodo permette però l'ordinamento anche secondo colonne che non vengono mostrate Non hai importato l'iTunesDB esistente. Questo è quasi certamente sbagliato e risulterà in una perdita del database esistente.
+tracce esistenti con nome identico Quando copi dall'iPod non sono effettuati controlli sul fatto che il file di destinazione esista. Selezionare questa opzione farà in modo che gtkpod controlli se la dimensione del file di destinazione sia la stessa del file sull'iPod. Se fosse così il file verrà saltato, permettendo una veloce sincronizzazione del contenuto dell'iPod. Durante la sincronizzazione delle directory Dove monti di solito il filesystem del tuo iPod. Di solito '/mnt/ipod' o qualcosa di simile. se il file è stato già trasferito sull'iPod L'operazione verrà interrotta alla conclusione del prossimo  processo di mp3gain Scrivi le modifiche sul disco/iPod Scrivi i tag ID3 sul disco quando vengono modificati in gtkpod AN: Yaroslav Halchenko: Gestione delle tracce orfane e pendenti
+ Anno C'è la possibilità di utilizzare l'intestazione della tabella, questo metodo permette però l'ordinamento anche secondo colonne che non vengono mostrate Non hai importato l'iTunesDB esistente ('%s'). Questo è quasi  certamente sbagliato e porterà alla perdita del database esistente.
 
 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.
- 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. _A Proposito _Tutte le tracce _Sistema i blocchi di ordinamento _Charset (ID3, file): _Controlla i file dell'iPod _Crea nuova Playlist _Crea le directory dell'iPod _Cancella ma preserva le tracce _Cancella completamente dall'iPod _Visualizzazione _Tracce Visualizzate _Modifica _Modifica le preferenze _Metti in coda _File _Aiuto _Ignora le regole _Finestra di informazioni _Ingresso/Uscita _Meno blocchi di ordinamento _Limita a _Locale _M3U _Più blocchi di ordinamento _Tracce Nuove Aggiunte _Normalizza il Volume _Numero dei blocchi di ordinamento: _Offline _PLS _Suona _Preferisci i file locali _Leggi l'iTunesDB _Salva l'ordine delle tracce _Ordinamento _Sincronizza le directory _Barra degli strumenti _Strumenti _Suggerimenti _Aggiorna le tracce dai file _Visualizza _iPod album artista 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'. contiene copia in corsa... giorni cancellazione in corso... non contiene drag and drop: ignorato '%s'
+ Non hai importato l'iTunesDB esistente. Questo è quasi certamente sbagliato e risulterà in una perdita del database esistente.
+
+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.
+ 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. _A Proposito _Tutte le tracce _Sistema i blocchi di ordinamento _Controlla i file dell'iPod _Crea nuova Playlist _Crea le directory dell'iPod _Visualizzazione _Tracce Visualizzate _Modifica _Modifica le preferenze _Metti in coda _Esporta le tracce dal Database _File _Aiuto _Ignora le regole _Finestra di informazioni _Meno blocchi di ordinamento _Limita a _Locale _M3U _Più blocchi di ordinamento _Tracce Nuove Aggiunte _Normalizza il Volume _Numero dei blocchi di ordinamento: _Offline _PLS _Suona _Preferisci i file locali _Leggi l'iTunesDB _Salva l'ordine delle tracce _Ordinamento _Sincronizza le directory _Barra degli strumenti _Strumenti _Suggerimenti _Aggiorna le tracce dai file _Visualizza _iPod album artista 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'. contiene copia in corsa... giorni cancellazione in corso... non contiene drag and drop: ignorato '%s'
  finisce con file non trovato formato non supportato genere gtkpod informazioni su gtkpod gtkpod Versione %s: Interfaccia per l'Apple iPod (tm) multi-lingua e multi-piattaforma 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. opzioni di gtkpod uso di gtkpod versione %s:
- ore Importazione del database dell'iPod fallito.
+ voto migliore ore Importazione del database dell'iPod fallito.
 
  Importazione del database dell'iPod fallito: '%s'
 
  Database iPod salvato Database iPod importato con successo File iPod iPod ID  _Punto di montaggio dell'iPod La struttura delle directory dell'iPod deve essere presente prima che la sincronizzazione verso l'iPod possa avere inizio.
- iTunesDB '%s' corrotto: trovate già due playlist mhsds -- ci rinuncio. iTunesDB '%s' ha un checksum diverso da quello nel file delle informazioni estese '%s'
+ iTunesDB '%s' ha un checksum diverso da quello nel file delle informazioni estese '%s'
  gtkpod proverà a combinare le informazioni usando il checksum MD5.  l'operazione richiede un pò di tempo.
 
- iTunesDB ('%s'): lunghezza della intestazione del hunk mhsd più piccolo delle aspettative (%ld<32). Interrompo. iTunesDB corrotto: trovato mhyp a %ld nel file '%s'. iTunesDB corrotto: hunk di lunghezza 0 per l'hunk %ld nel file '%s'. iTunesDB corrotto: nessun MHOD all'offest %ld nel file '%s'. L'iTunes è probabilmente corrotto: il numero di playlist (mhyp hunks) è inconsistente. Provo a continuare.
- L'iTunes è probabilmente corrotto: il numero di tracce (mhit hunks) è inconsistente. Provo a continuare.
- tra gli ultimi è è dopo è prima è più grande di è nell'intervallo è più piccolo di non è non è impostato è impostato kB kbps label21 suonato meno spesso aggiunte meno di recente riprodotte meno di recente aggiornamento fallito del metadata m4a/m4p/m4b per '%s': m4a/m4p non sono supportati senza la libreria mp4v2. Devi compilare i sorgenti gtkpod insieme alla libreria mp4v2.
- minuti mesi suonato più spesso tracce aggiunte più recentemente riprodotte più spesso mserv radice del mserv: radice del mserv il file dei dati mserv (%s) non è disponibileper la traccia (%s) problemi nel raccogliere le informazioni mserv Verrà consultato il database mserv per la musica in questa directory. n.d. n.d. nessun nome di file disponibile non tra gli ultimi offline prefs_set_pm_sort: tipo non legale '%d' ignorato
+ tra gli ultimi è è dopo è prima è più grande di è nell'intervallo è più piccolo di non è non è impostato è impostato kB kbps label21 suonato meno spesso aggiunte meno di recente riprodotte meno di recente voto peggiore aggiornamento fallito del metadata m4a/m4p/m4b per '%s': m4a/m4p non sono supportati senza la libreria mp4v2. Devi compilare i sorgenti gtkpod insieme alla libreria mp4v2.
+ minuti mesi suonato più spesso tracce aggiunte più recentemente riprodotte più spesso radice del mserv: il file dei dati mserv (%s) non è disponibileper la traccia (%s) problemi nel raccogliere le informazioni mserv Verrà consultato il database mserv per la musica in questa directory. n.d. n.d. nessun nome di file disponibile non tra gli ultimi offline prefs_set_pm_sort: tipo non legale '%d' ignorato
  prefs_set_toolbar_style: stile non legale '%d' ignorato
  copia in preparazione... ordine casuale sec comincia con titolo a Tracce settimane window1 
\ No newline at end of file

Modified: gtkpod/branches/upstream/current/po/it.po
===================================================================
--- gtkpod/branches/upstream/current/po/it.po	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/it.po	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 '/mnt/ipod/' or similar."
-msgstr ""
-"Dove monti di solito il filesystem del tuo iPod. Di solito '/mnt/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/branches/upstream/current/po/ja.gmo
===================================================================
--- gtkpod/branches/upstream/current/po/ja.gmo	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/ja.gmo	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,71 +1,53 @@
-Þ•    {     ô  U  Ì'       5     !5     #5     /5     N5     m5  ;   Œ5  %   È5  3   î5  À   "6     ã6     ì6     ø6     7  *   
-7  H   87     7     š7     ²7     Æ7     È7  +   á7     
-8     #8     =8  ,   W8     „8  %   ¢8  ,   È8  -   õ8      #9  &   D9     k9     ‹9  -   «9  &   Ù9  +    :  &   ,:  "   S:  $   v:     ›:  +   ¹:  R   å:  .   8;  ,   g;     ”;     ª;  
-   ¶;     Á;     Û;     ù;     <     +<     K<     j<  !   …<  
-   §<     µ<     Á<     Í<     Þ<     õ<     =     =     '=     <=  "   X=     {=     ‡=     ”=  	   °=     º=  
-   Ó=     á=  
-   ð=  
-   û=     	>     %>     <>     B>     Z>     `>  	   d>     n>  !   ‹>  %   ­>     Ó>  9   ß>  /   ?  G   I?     ‘?     š?     «?     ¿?  _  Õ?  2   5A  O  hA     ¸B  R   ¿B  	   C  
-   C     'C  (   @C     iC  ‹   C     
-D     "D     6D  3   LD  /   €D  A   °D  @   òD  (   3E  $   \E  .   E     °E     ÀE     ÒE  <   ÚE     F     F  %   $F     JF     SF     rF     yF     ™F  ¤   ³F  
-   XG     cG     xG     “G     ±G     ÑG     îG     
-H      %H     FH     bH     H     –H     ®H     ¶H     ¼H     ÈH     ÑH     ðH     I     )I     ?I     [I  6   vI  .   ­I  !   ÜI  %   þI  *   $J  #   OJ  .   sJ  D  ¢J  /   çK  9   L  -   QL  =   L  !   ½L  '   ßL  =   M  2   EM  !   xM     šM     ®M     ÃM     ÙM     ñM  ;   N  J   AN  A   ŒN     ÎN  #   ÖN     úN     
-O     #O     9O     KO     cO     }O  <   ™O  
-   ÖO  "   áO  *   P  (   /P  0   XP  
-   ‰P     —P     £P     ºP     ÏP     äP     ùP     Q     Q  "   7Q  "   ZQ  8   }Q  $   ¶Q  M   ÛQ     )R  `   ?R      R  
-   ¯R     ºR     ¿R     ËR  8   ÓR  3   S  &   @S  %   gS  !   S  (   ¯S  J   ØS     #T     6T      VT  5   wT     ­T     ÉT  ;   æT     "U  %   6U     \U     aU     uU     „U     —U  3   ŸU      ÓU  2   ôU     'V  $   >V  $   cV     ˆV  !   ¢V     ÄV  &   âV  #   	W     -W  !   LW     nW  (   †W  (   ¯W      ØW  X   ùW  +   RX     ~X     ’X  *   «X  	   ÖX     àX  	   öX      Y     Y     &Y  ^   ,Y     ‹Y     “Y     ™Y     ¬Y  (   ÁY  .   êY     Z     6Z     GZ  /  ]Z     [  z   [  K  \  z   W]  G   Ò]     ^  ƒ   «^     /_     6_     S_     __     q_     ˆ_     _     ¼_  
-   Ì_     Ú_  	   æ_     ð_     ü_     `     '`     <`     X`     ]`     f`     y`     •`      µ`     Ö`     ï`  #   þ`     "a     Aa     Ha  Ø   Ua     .b  I  Fb      c     ±c  *   Äc     ïc     ÿc     d  )   *d     Td     kd     ~d     ’d  4   ¢d     ×d     ód     ød  	   
-e  5   e  7   Me     …e  Ú  ”e  á  og  
-   Qi     \i  $   ni     “i  )   §i     Ñi  (   âi  †   j  '   ’j  ,   ºj  '   çj  +   k  +   ;k     gk  ×   jk     Bl     Ul     il     l     ’l     ¦l  #   ¸l  #   Ül  $    m      %m     Fm     Nm     dm  	   mm  	   wm  0   m  	   ²m     ¼m     Ãm     Ìm  	   Ûm  (   åm  !   n     0n     On     Vn     bn     vn     Žn  ?   ¥n     ån     øn  %   o     *o     Eo     No     Uo  %   Zo  9   €o     ºo     Âo  0   Îo     ÿo     p  8   ;p     tp     p  
-   •p      p     Àp  #   ßp  #   q     'q     ;q     Nq     _q     xq  )   }q  8   §q  .   àq     r     r  &   &r  ?   Mr     r  5   ªr  	   àr     êr     s     
-s     s  	   4s     >s  
-   Gs     Rs     ns     vs     ‡s     Ÿs     »s     Às     Ôs     ìs  .   t  S   4t     ˆt     t  	   ¨t  .   ²t  (   át     
-u     u     /u     Du     Vu     lu     „u     ”u  $   §u     Ìu     ãu  I   òu     <v  W   Kv  2   £v     Öv  9   îv  Ï   (w  1   øw  d   *x  ˜   x     (y  U   Cy  N   ™y  '   èy  -   z  S   >z  v   ’z  8   	{  ¤   B{  ¦  ç{     Ž~     “~     ™~     Ÿ~     §~  
-   °~     ¾~  *   Ë~  
-   ö~                    6     B     N     V     h     }     ”      ª      Ë  ,   ì     €     ,€     ?€     R€     e€     u€     …€     €  $   ¡€     Æ€     Õ€     Ü€  (   ù€  ,   "     O     [  %   h  %   Ž  &   ´  P   ہ  >   ,‚  >   k‚  :   ª‚  :   å‚  7    ƒ  8   Xƒ  	   ‘ƒ  Ÿ   ›ƒ     ;„     O„     i„     „„     ‰„     „  R   ¥„     ø„      …     …     '…     =…  W   T…  V   ¬…     †  J   †  @   g†  .   ¨†     ׆  .   ò†  M   !‡     o‡     Œ‡     ¤‡  l   ©‡     ˆ     ˆ     )ˆ     <ˆ     Sˆ     gˆ     yˆ     ”ˆ     ¬ˆ     Ɉ     Òˆ     äˆ     êˆ     üˆ     ‰     ‰  
-   ‰     ‰  
-   ,‰     :‰  	   J‰     T‰     d‰     x‰     Š‰      ‰  	   ©‰     ³‰     ‰     Þ‰     ç‰      Š     	Š  	   Š     Š     3Š     9Š     ?Š    FŠ     N‹  
-   W‹     b‹     g‹     s‹     „‹  	   ¡‹     «‹     º‹     Ï‹     Õ‹  Ø   Ü‹     µŒ     ÏŒ     ÞŒ     äŒ  #        '  #   ;  	   _     i     |     ˆ     ‹  	   ”     ž     ®     ¾     ˍ  
-   ҍ     ݍ     ä     ÷     Ž  
-   "Ž     0Ž     8Ž     ?Ž     QŽ     eŽ     zŽ     ~Ž     ”Ž     ¤Ž  -   ¬Ž  4   ÚŽ          $     1     6     B     H     K     R  [  X     ´     ¶     Ð     ߐ     û  ;   ‘  '   S‘  3   {‘    ¯‘     ²’     º’     Â’     Ï’  "   Ö’  J   ù’      D“     e“     x“     ‘“     ““  L   ¬“     ù“     
-”     -”  3   M”  1   ”  1   ³”  3   å”  4   •  4   N•  1   ƒ•  '   µ•  '   Ý•  3   –  /   9–  9   i–  0   £–  0   Ô–  "   —  (   (—  0   Q—  o   ‚—  0   ò—  0   #˜     T˜     n˜     {˜     ˆ˜  '   ›˜     Ø     Û˜     ñ˜     ™     &™     8™     N™  
-   `™     n™     z™     Œ™     ˜™     ®™     À™     Ô™     ä™  %   ø™  
-   š     ,š      ;š     \š  &   oš     –š     ­š     Èš     ßš     úš  .   ›     H›     O›     ^›     g›     n›     z›     ‘›  $   ¦›     Ë›  O   Ô›  &   $œ  B   Kœ     Žœ     ›œ     °œ     Èœ  ¬   ✠ /     ™   ¿     Yž  M   fž     ´ž     ¹ž     ž  $   Ùž     þž  r   Ÿ     Ÿ     ˜Ÿ     ®Ÿ  .   ÆŸ     õŸ  *      *   =   &   h         &   ¬      Ó      å      ò   O   ÿ      O¡     X¡  '   _¡  
-   ‡¡  .   ’¡  
-   Á¡  @   Ì¡  )   
-¢  ©   7¢  
-   ᢠ    ì¢     £     £     8£     V£     n£     …£     š£  %   µ£     Û£  %   û£     !¤     A¤     J¤     Q¤     b¤     i¤     ‚¤     ¡¤     À¤     Ť     Þ¤     ÷¤     ¥     3¥  2   F¥  0   y¥  +   ª¥  +   Ö¥  2  ¦  0   5§  9   f§  5    §  B   Ö§  ?   ¨  3   Y¨  B   ¨  :   Ш  '   ©     3©     R©     e©     }©     Œ©  >   £©  *   â©  J   
-ª     Xª  %   aª     ‡ª     šª     °ª     ƪ     ت     ðª     	«  >   &«     e«     l«      ‡«      ¨«  -   É«     ÷«     þ«     ¬  
-   "¬     -¬     B¬     Y¬     n¬     {¬  !   Š¬  #   ¬¬  S   Ь     $­     C­     a­  ,   z­     §­     ´­     ¹­     Æ­     έ  (   Ó­  0   ü­     -®     H®     e®  "   ‚®  @   ¥®     æ®  "   ú®      ¯  ,   >¯     k¯     |¯  /   •¯  
-   ů  4   Я     °     
-°     %°     .°     >°  6   Q°  *   ˆ°  ;   ³°     ï°  1   ±  1   7±  (   i±  *   ’±  +   ½±  =   é±  -   '²  +   U²  -   ²  )   ¯²     Ù²  6   ó²     *³  N   F³  &   •³     ¼³     ˳  *   å³     ´     ´     >´     M´     f´     y´  \   ‚´     ß´     è´     ñ´     	µ  +   #µ  $   Oµ      tµ     •µ     ªµ  %  ĵ     ê¶  t   í¶    b·  H   w¸  D   À¸  Š   ¹  Z   ¹  
-   ë¹     ö¹     º     º     )º     >º     Qº     cº     sº     „º     •º     žº  #   ¯º     Óº     غ     åº     »     	»     »      »     1»  (   D»     m»     ƒ»     –»     µ»     л     á»  Ø   ò»  )   ˼  7  õ¼  *   -¾     X¾  .   q¾      ¾      ±¾  "   Ò¾  .   õ¾     $¿     ;¿     R¿     k¿  ;   |¿     ¸¿     ׿     Þ¿     ó¿  .    À  #   /À     SÀ  º  _À  Ú       õà     
-Ä  /   'Ä     WÄ     hÄ     {Ä  !   €Ä  §   ¢Ä  )   JÅ  3   tÅ  8   ¨Å  >   áÅ  ,    Æ     MÆ  é   PÆ     :Ç     QÇ     lÇ     Ç     ˜Ç     ­Ç  #   ¾Ç     âÇ     ÿÇ     È  
-   <È     GÈ  
-   bÈ     mÈ     vÈ  ,   È     ¬È     µÈ     ¼È     ÉÈ  
-   ÝÈ  *   èÈ     É     2É     IÉ     RÉ     WÉ     jÉ     É  M   šÉ     èÉ  
-   ùÉ  "   Ê  (   *Ê     SÊ     eÊ     jÊ  0   sÊ  <   ¤Ê     áÊ     êÊ     üÊ      Ë     <Ë  O   MË  $   Ë     ÂË     ÉË  .   ÜË  -   Ì  .   9Ì  .   hÌ     —Ì     ´Ì     ÅÌ     ÚÌ     òÌ  &   ùÌ  D    Í  '   eÍ     Í     ¢Í  "   ³Í  B   ÖÍ  "   Î  ?   <Î  
-   |Î     ‡Î      Î     ©Î  $   ¶Î     ÛÎ  
-   èÎ     óÎ     Ï  
-   "Ï     -Ï  
-   DÏ     RÏ     iÏ     nÏ     Ï     Ï  )   ­Ï  /   ×Ï     Ð     Ð     (Ð  6   ;Ð      rÐ  
-   “Ð     žÐ     ¯Ð     ¸Ð     ÅÐ     ÜÐ     ïÐ     
-Ñ  8   #Ñ     \Ñ     {Ñ  N   ˆÑ     ×Ñ  C   èÑ  7   ,Ò     dÒ  D   ‚Ò  ç   ÇÒ  #   ¯Ó  $   ÓÓ  @   øÓ     9Ô      SÔ     tÔ  '   Ô  >   µÔ  H   ôÔ  Š   =Õ  #   ÈÕ  Ž   ìÕ  È  {Ö     DÙ     MÙ     SÙ  
-   \Ù     gÙ     tÙ     }Ù     ŒÙ     ¥Ù     ®Ù     µÙ     ¾Ù     ÏÙ     ØÙ     áÙ     êÙ     ýÙ     Ú  "   +Ú  ,   NÚ     {Ú     —Ú     ·Ú     ÊÚ     ÝÚ     ðÚ     Û     Û     #Û     (Û  /   >Û  
-   nÛ     yÛ     ~Û  .   ™Û  2   ÈÛ     ûÛ     Ü  (   Ü     5Ü     TÜ  T   sÜ  G   ÈÜ  =   Ý  1   NÝ  0   €Ý  B   ±Ý  C   ôÝ     8Þ  È   DÞ     
-ß     !ß  #   ;ß     _ß     dß     iß  T   vß     Ëß     Ðß     ßß     ñß     à  _   à  c   xà     Üà  D   õà  ,   :á  3   gá  2   ›á  1   Îá  L    â  "   Mâ     pâ     â  z   ’â     
-ã      ã     /ã     Fã     eã     yã     Žã     ¡ã     ¸ã     Ïã     Øã     íã     öã     ÿã     ä  
-   #ä     .ä     ;ä  
-   Dä     Oä  	   dä     nä     ƒä     šä     ­ä     Áä     Ðä     ßä     öä     å     å     5å  
-   Då     Oå     `å     å     ˆå     ‘å    žå     ±æ     Âæ     Îæ  	   Ñæ     Ûæ  )   ðæ     ç     -ç     Fç     ]ç     fç    mç     …è      è     ­è  2   ²è  7   åè     é  %   <é  
-   bé     pé     ˆé     •é     ¦é     µé     Äé     ×é     èé     ûé     ê     ê     0ê     Eê     Xê     kê     xê     {ê     ~ê     ê      ê     ±ê     ¶ê     Ïê  
-   àê  2   ëê  >   ë     ]ë     oë     |ë     ë     ”ë     ë     ¢ë     ¥ë     …          9  Ó  (    )  ¶   =  Ñ   :   d  
-  Û  ;   â  ¢  J        
-  Z       `       Ô      s   Ý          ÿ        B         D  P   °      É   ¼   T     u     Ù    z  Ô       M       7  I  =  ¿   é   4       í  ë       6      ?      L             v  x      f   m  ‹   û       º              –  "  \      „      ±  a   x       $       ÷      %    þ       
-                   §      {  ]  H  G  í   I       k  ë  I          u     Ý  6  3   ù   á   ­   V  ƒ  l        Œ     ?  l      ø  ²  W  ‚    ß       ê  ®   _  ½   ô   @              e   7  K   *             4  ^   ø           õ  ~      c   ù  ¨   Í        ¯      '  K  e     å  G   8         }       i          ›     ‹  ‡     '         À   ,  j   •   q          à   N   Ò      #  v  ×       Y   
-                    ©  O   È       ·   	           a  ¨  n      K    µ   ¡  }  L  !      Q   è   Í  k                 Ü   *          ‡   2  ï       y  ±   q       ï  ¥  Ò           <   /  V   Ì           ^  Ê      ¾  
-   T         »  J  `  )   y         <  Ë      ‚   ¡   Ñ  “   p   õ   ü           Q  ³   Î   ì  Ì        ã       Ó   !  ô  6       9  ü  Æ   E   :      ƒ   ‰            ¬     ˜      w   l   $  ˆ              þ  ,  j      ò           ª        ¦           t     Å  %  	  &   Ä   f         Ü          V      3  w  ´  —  Y  y  µ      «   S  å   1    ¹   W           t  ¥   “  ú   á  ð           Þ   R    o      ^          ñ             Ö       ˜   Š  <              #   ”      Ï  ö   Î  "         ÿ  /       C          ×          i     ¶  0  ú          0             ¹  à   +  ß    ™  â              q  S        O      X        E  g   .  ~   |   T  ò     P  ‘   Ù   æ  ‰       J   ·  ž       Ç       à        É          ¬   )  	  –   0  £  ª  c  1  Õ   Ø  r       ¾   Á   ç         Ž  5   ˆ  ™   (   @   p    B  4  Ÿ   &  È  ;            &             Õ  D                  Œ       n             _  !   ’  -  U       m     (  Ú   ä       ]   n  Ð    š      b        R       "      œ          #  À      ¯   m   A       ½  *  t      ¢         ó                   A  •  ¿         ÷  ³  æ   1   E  ¦   Á  .      Ë   ä  ç      ²      ý  X  œ       b          5  ¼  †  p  H   €      …   L    \  r  ‘    3  F       g      c      /  ý   ›   O      o   P      è  h  z        ;      î  2   '  M  £   D       Ø   i  C     j  °       u      2  ­  ó  «  +       >   Š   Þ  à  ê     û      »       ’       [  B       
-  ©   k  \           {       [   Ç     +  h   b  >  š                 „       ð  N  Â   {  ®         %   A      Y  =   Ä  h  †   x      -      >      —   ”   Ž       F              ,   Æ  ¸   X       Ö  €       ž  î   C  ã  e      z   Ï   v   N      ?   |                  Q        §   ì       8  d   ¤  ¸  .      º      ]  G  Ú  H  R  @      -   M         Z      [  W      s      F  7   Z              Ð               9             U  Ê   ñ  w  `  5      r  8  Û       $  o    é  S   g        d  ´       ¤       f      Ÿ      ö  U  :  a      s  Å   _                 Sort by:   --auto:       same as '-a'.
+Þ•    B     ,    <$      P0     Q0     S0     _0     ~0     0  ;   ¼0  %   ø0  3   1  À   R1     2     2     (2     42  H   =2     †2     ˆ2  +   ¡2     Í2     ã2     ý2  ,   3     D3  %   b3  ,   ˆ3  -   µ3      ã3  &   4     +4     K4  -   k4  &   ™4  +   À4  &   ì4  "   5  $   65     [5  +   y5  R   ¥5  .   ø5  ,   '6     T6     j6  
+   v6     6     ›6     ¹6     Ì6     ë6     7     *7  !   E7  
+   g7     u7     7     7     ž7     µ7     È7     ×7     ç7     ü7  "   8     ;8     G8     T8  	   p8     z8  
+   “8     ¡8  
+   °8  
+   »8     É8     å8     ü8     9     9  	   9     9  !   39  %   U9     {9  9   ‡9  /   Á9  G   ñ9     9:     B:     S:     g:  _  }:  2   Ý;  O  <     `=  R   g=  	   º=  
+   Ä=  (   Ï=  ‹   ø=     „>     ™>     ­>  3   Ã>  @   ÷>  (   8?  $   a?  .   †?     µ?     Å?     ×?  <   ß?     @     #@  %   )@     O@     X@     w@     ~@     ž@  ¤   ¸@  
+   ]A     hA     }A     ˜A     ¶A     ÖA     óA     B      *B     KB     bB     zB     ‚B     ˆB     ”B     B     ¼B     ÙB     ïB     C  6   &C  .   ]C  !   ŒC  %   ®C  *   ÔC  #   ÿC  .   #D  D  RD  /   —E  9   ÇE  -   F  =   /F  !   mF  '   F  =   ·F  2   õF  !   (G     JG     ^G     sG     ‰G     ¡G  ;   µG  J   ñG  A   <H     ~H  #   †H     ªH     ½H     ÓH     éH     ûH     I     -I  <   II  
+   †I  "   ‘I  *   ´I  (   ßI  0   J  
+   9J     GJ     SJ     jJ     J     ”J     ©J     ºJ  "   ÒJ  "   õJ  8   K  $   QK  M   vK     ÄK  `   ÚK     ;L  
+   JL     UL     ZL  8   fL  3   ŸL  &   ÓL  %   úL  !    M  (   BM  J   kM     ¶M     ÉM      éM  5   
+N     @N     ]N  %   qN     —N     œN     °N     ¿N     ÒN  3   ÚN      O  2   /O     bO  &   yO      O     ¿O  (   ×O       P  X   !P  +   zP     ¦P     ºP  *   ÓP  	   þP  	   Q     Q     &Q     8Q  ^   >Q     Q     £Q     ¶Q  (   ËQ  .   ôQ     #R     @R     QR  /  gR     —S  z   šS  K  T  z   aU  G   ÜU     $V  ƒ   µV     9W     VW     bW     tW     ‹W      W     ¿W  
+   ÏW     ÝW  	   éW     óW     ÿW     X     *X     ?X     [X     dX     wX     “X      ³X     ÔX     íX  #   üX      Y     ?Y     FY  Ø   SY     ,Z  I  DZ      Ž[     ¯[  *   Â[     í[     ý[     \  )   (\     R\     i\     |\     \  4    \     Õ\     ñ\     ö\  	   ]  5   ]  7   K]     ƒ]  Ú  ’]  á  m_  
+   Oa     Za  $   la     ‘a  )   ¥a     Ïa  (   àa  †   	b  '   b  ,   ¸b  '   åb  +   
+c  +   9c     ec  ×   hc     @d     Sd     gd     }d     d     ¤d  #   ¶d      Úd     ûd     e  	   e  	   e  0    e  	   Qe     [e     be     ke  	   ze  (   „e  !   ­e     Ïe     îe     õe     f     f     -f  ?   Df     „f     —f  %   £f     Éf     äf     íf     ôf  %   ùf  9   g     Yg     eg     …g  8   ¡g     Úg     õg  
+   ûg     h     &h  #   Eh  #   ih     h     ¡h     ´h     Åh  )   Êh  8   ôh  .   -i     \i     ki  &   si  ?   ši     Úi  5   ÷i     -j     Hj     Xj  	   oj     yj  
+   ‚j     j     ©j     ±j     Âj     Új     öj     ûj     k     'k  .   @k  S   ok     Ãk  	   Èk  .   Òk  (   l     *l     :l     Ol     dl     vl     Œl     ¤l     ´l  $   Çl     ìl     m  I   m     \m  W   km  2   Ãm     öm  9   n  Ï   Hn  1   o  d   Jo  ˜   ¯o     Hp  U   cp  N   ¹p  '   q  -   0q  S   ^q  v   ²q  8   )r  ¦  br     	u     u     u     u  *   'u     Ru     _u     fu     „u     u     œu     ¤u     ¶u     Ëu     âu      øu      v  ,   :v     gv     zv     v      v     ³v     Ãv     Óv     Ûv  $   ïv     w     #w     *w  (   Gw  ,   pw     w     ©w  %   ¶w  &   Üw  P   x  8   Tx  	   x  Ÿ   —x     7y     Ky     ey     €y     …y  R   Œy     ßy     çy     ùy     z     $z  V   ;z     ’z  J   «z  @   öz  .   7{     f{  .   {     °{  l   µ{     "|     )|     5|     H|     \|     n|     ‰|     ’|     ¤|     ª|     ¼|     Å|     Ë|  
+   Ñ|     ß|     ì|  	   ü|     }     }     *}     <}     R}  	   [}     e}     t}     }     ™}     ²}     »}  	   Â}     Ì}     å}     ë}     ñ}    ø}        
+   	               %     6  	   S     ]     l          ‡  Ø   Ž     g€     €     €     –€  #   µ€     Ù€  #   í€  	             .     :     =  	   F     P     `     p     }  
+   „          –     ©     ¾  
+   ԁ     ⁠    ê     ñ     ‚     ‚     ,‚     0‚     F‚     V‚  -   ^‚  4   Œ‚     Á‚     Ö‚     ã‚     è‚     ô‚     ú‚     ý‚     ƒ  [  
+ƒ     f„     h„     u„     ‘„     ­„  ;   É„  '   …  3   -…    a…     d†     l†     t†     †  J   ˆ†     Ó†     Õ†  L   î†     ;‡     O‡     o‡  3   ‡  1   Ç  1   õ‡  3   'ˆ  4   [ˆ  4   ˆ  1   ň  '   ÷ˆ  '   ‰  3   G‰  /   {‰  9   «‰  0   å‰  0   Š  "   GŠ  (   jŠ  0   “Š  o   ÄŠ  0   4‹  0   e‹     –‹     °‹     ½‹     Ê‹  '   Ý‹     Œ     Œ     3Œ     QŒ     hŒ     zŒ     Œ  
+   ¢Œ     °Œ     ¼Œ     ÎŒ     ÚŒ     ðŒ               &  %   :  
+   `     n      }     ž  &   ±     ؍     ï     
+Ž     !Ž     <Ž  .   [Ž     ŠŽ     ‘Ž     šŽ     ¡Ž     ­Ž     ÄŽ  $   ÙŽ     þŽ  O     &   W  B   ~     Á     Ώ     ㏠    û  ¬     /     ™   ò     Œ‘  M   ™‘     ç‘     ì‘  $   õ‘  r   ’     ’     ¤’     º’  .   Ò’  *   “  &   ,“     S“  &   p“     —“     ©“     ¶“  O   Ó     ”     ”  '   #”  
+   K”  .   V”  
+   …”  @   ”  )   Ñ”  ©   û”  
+   ¥•     °•     Ç•     à•     ü•     –     2–     I–     ^–  %   y–     Ÿ–     ¿–     È–     Ï–     à–     ç–      —     —     $—     =—     V—     t—     ’—  2   ¥—  0   Ø—  +   	˜  +   5˜  2  a˜  0   ”™  9   Å™  5   ÿ™  B   5š  ?   xš  3   ¸š  B   ìš  :   /›  '   j›     ’›     ±›     Ä›     Ü›     ë›  >   œ  *   Aœ  J   lœ     ·œ  %   Àœ     æœ     ùœ          %     7     O     h  >   …     ĝ     ˝      æ      ž  -   (ž     Vž     ]ž     nž     ž     –ž     ­ž     ž     Ïž  !   Þž  #    Ÿ  S   $Ÿ     xŸ     —Ÿ     µŸ  ,   Ο     ûŸ           
+         (   "   0   K      |      —      ´   "   Ñ   @   ô      5¡  "   I¡      l¡  ,   ¡     º¡  
+   Ó¡  4   Þ¡     ¢     ¢     3¢     <¢     L¢  6   _¢  *   –¢  ;   Á¢     ý¢  =   £  +   Q£  )   }£  6   §£     Þ£  N   ú£  &   I¤     p¤     ¤  *   ™¤     Ĥ     Ó¤     ⤠    û¤     ¥  \   ¥     t¥     }¥     •¥  +   ¯¥  $   Û¥       ¦     !¦     6¦  %  P¦     v§  t   y§    î§  H   ©  D   L©  Š   ‘©  Z   ª     wª     •ª     šª     ªª     ¿ª     Òª     äª     ôª     «     «     «  #   0«     T«     Y«     f«     ƒ«     Š«     š«     ««  (   ¾«     ç«     ý«     ¬     /¬     J¬     [¬  Ø   l¬  )   E­  7  o­  *   §®     Ò®  .   ë®     ¯      +¯  "   L¯  .   o¯     ž¯     µ¯     ̯     å¯  ;   ö¯     2°     Q°     X°     m°  .   z°  #   ©°     Í°  º  Ù°  Ú  ”²     o´     „´  /   ¡´     Ñ´     â´     õ´  !   ú´  §   µ  )   ĵ  3   îµ  8   "¶  >   [¶  ,   š¶     Ƕ  é   ʶ     ´·     Ë·     æ·     û·     ¸     '¸     8¸     U¸  
+   s¸  
+   ~¸     ‰¸     ’¸  ,   ›¸     ȸ     Ѹ     ظ     å¸  
+   ù¸  *   ¹     /¹     N¹     e¹     n¹     s¹     †¹     ›¹  M   ¶¹     º  
+   º  "   #º  (   Fº     oº     º     †º  0   º  <   Àº     ýº      »     0»  O   A»  $   ‘»     ¶»     ½»  .   л  -   ÿ»  .   -¼  .   \¼     ‹¼     ¨¼     ¹¼     μ  &   Õ¼  D   ü¼  '   A½     i½     ~½  "   ½  B   ²½  "   õ½  ?   ¾     X¾     q¾  $   ~¾     £¾  
+   °¾     »¾     ̾  
+   ê¾     õ¾  
+   ¿     ¿     1¿     6¿     I¿     X¿  )   u¿  /   Ÿ¿     Ï¿     Ô¿  6   ç¿      À  
+   ?À     JÀ     [À     dÀ     qÀ     ˆÀ     ›À     ¶À  8   ÏÀ     Á     'Á  N   4Á     ƒÁ  C   ”Á  7   ØÁ       D   .  ç   s  #   [à  $   à  @   ¤Ã     åà      ÿà      Ä  '   9Ä  >   aÄ  H    Ä  Š   éÄ  #   tÅ  È  ˜Å     aÈ     jÈ     pÈ     yÈ     ˆÈ     ¡È     ¨È     ±È     ÂÈ     ËÈ     ÔÈ     ÝÈ     ðÈ     É  "   É  ,   AÉ     nÉ     ŠÉ     ªÉ     ½É     ÐÉ     ãÉ     öÉ     Ê     Ê     Ê  /   1Ê  
+   aÊ     lÊ     qÊ  .   ŒÊ  2   »Ê     îÊ     úÊ  (   ÿÊ     (Ë  T   GË  C   œË     àË  È   ìË     µÌ     ÉÌ  #   ãÌ     Í     Í  T   Í     fÍ     kÍ     zÍ     ŒÍ     ŸÍ  c   ³Í     Î  D   0Î  ,   uÎ  3   ¢Î  2   ÖÎ  1   	Ï     ;Ï  z   >Ï     ¹Ï     ÌÏ     ÛÏ     òÏ     Ð     Ð     .Ð     7Ð     LÐ     UÐ     ^Ð     uÐ  
+   ‚Ð     Ð     šÐ     £Ð  	   ¸Ð     ÂÐ     ×Ð     îÐ     Ñ     Ñ     $Ñ     3Ñ     JÑ     _Ñ     lÑ     ‰Ñ  
+   ˜Ñ     £Ñ     ´Ñ     ÓÑ     ÜÑ     åÑ    òÑ     Ó     Ó     "Ó  	   %Ó     /Ó  )   DÓ     nÓ     Ó     šÓ     ±Ó     ºÓ    ÁÓ     ÙÔ     ôÔ     Õ  2   Õ  7   9Õ     qÕ  %   Õ  
+   ¶Õ     ÄÕ     ÜÕ     éÕ     úÕ     	Ö     Ö     +Ö     <Ö     OÖ     `Ö     sÖ     „Ö     ™Ö     ¬Ö     ¿Ö     ÌÖ     ÏÖ     ÒÖ     ãÖ     ôÖ     ×     
+×     #×  
+   4×  2   ?×  >   r×     ±×     Ã×     Ð×     Ó×     è×     ñ×     ö×     ù×     è   y  ¢               K   '   ×  ã   §           ”     \      ;   z   5          â  0   Ž   ¸      }   
+  Ý      Z  Ÿ     d                   	   f   È           Z   4  a  ƒ    S  8   ë       
+             Á  /  ì   L           Ó      —  l   @  ê    Ë   ¥        –        ª   Ê         Í   ®   Ò                  b   ñ  ’   ù          Ï   À  (  Þ   ±  ‡      %  ¦       €     C  \   ©  u  ï   ú   -       Ü  +      ›   Ž  ¯  J   0  ß  I   Á      I  _        e   ¢     ²           $         ¬  $      s   	         ã  …           @  B    T   .      9  Ô   ?   ½   m   &  £             ¿                     8  Ç  +   '  |  q  F   Ú      È    ä       |       {   Ì  °  w  §            x  X  b  Ú   Š   d      Õ              s  É            (   Ñ       ø   ]          ñ   ³  
+   Š  ò  þ          o   ^   0  6  Î  E  í           –   w   )  t   ~     n                 õ   ¨  ;  Û          ö  ­   ^      Ô         Ì   ä      3   €   ö                            Õ  1              °     6   ï      É   Ò           ÿ   ´          x   á  4  V   ³   z  Ù      ¼   ÿ  ­                .  `  	      ¯   ‰       •  )       ‹          •     F  ê   “   Ý          >   Ö  ¸   ~     º  7    Ÿ   m  *      ©   ¶          O   Þ                 E   Ø    «          (  ý  p      &      Î   g      Y  æ           à   ¡   r       1  ²  e      q   G   :  2  l    @   œ       D  *          š  <         ¹   þ   o      
+           ¥   !      ¡  '          »              "  _               *  Ó   œ      "       ×      /          ¦      µ      D   ½  ›  ù   †  ´          Ä        î     W                   ˜     ÷  !   Ð   „  ˜  ÷   2   S   Å       ,      Å  A     P      >  A      á   ?      Œ          æ  ò       ‚            #  g      º   i           %    à  :      à   7  c        ?  
+  î  W        ’             ]       #              «  #    3          ”  [   À   V             ˆ   û   =  ª  ,  ý   š   v      í  ,   ž   ¾   3      <  è  Ê      f  Æ   $      R         J  9         5       ™  ;  %   ‰  ƒ   "  å   =   Ï      h       ‚      Ù  `   B  …  7   U   {      p   é  ì  õ      ¨   =      ®  5  ú  &           j   k        »       A  6  ç   G  2  å  Ø     r  t    i  ß   -     ð  j  y   à      “  N   /     M  ±   h    Ö   ‘  ¤     ˆ  [  >    ¶   .           ó   Y   }  ð   ·   ‘      N  ë  )      <  H             ‹   Û   Í  K      Q  é   ¬   X   Œ      O  ¾  ·    µ   
+          †   -  Q   â          c        Ð  M   ¿   u   Ä       ó      ¹      1    T  B   £        ‡   ž              4     ø          ô  ô     Æ  C     L  a   Ñ      k   ¼  ü  Ü   :     Ë  û  8  !      9  —         n   R      +        ¤      v   Ç       ™   H   ç      P         ü                   U  „         Sort by:   --auto:       same as '-a'.
    --mountpoint: same as '-m'.
    --offline:    same as '-o'.
    -a:           import database automatically after start.
@@ -74,8 +56,8 @@
    -o:           use offline mode. No changes are exported to the iPod,
                 but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is
                 used with 'Offline' deactivated.
-  %s Free  %s Pending  <= cts <=   Logic:   Number of tracks in generated playlists:   Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
-  _Charset (ID3, files):   _Number of sort tabs:   iPod Mount _Point: # %d%% (%d:%02d:%02d left) %s:
+  %s Free  %s Pending  <= cts <=   Logic:   Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
+ # %d%% (%d:%02d:%02d left) %s:
 Expected "itunesdb_hash=" but got:"%s"
  %s:
 Format error: %s
@@ -101,16 +83,15 @@
  '%s': no arguments (%%...) allowed.
  '%s': only '%%[%s]' allowed.
  'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Tabs</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> Aborted writing of extended info.
- Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adding/Updating/Syncing Album All All (AND) All Tracks Never Listened To All Tracks Played Since Last Time All Tracks not Listed in any Playlist Alphabetize Also include tracks never played in "Best Rated" playlist Always write ID3v2.4 tags (only applies to MP3) Another instance of gtkpod was detected. Playcount server not started.
+ Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Album All All (AND) All Tracks Never Listened To All Tracks Played Since Last Time All Tracks not Listed in any Playlist Alphabetize Also include tracks never played in "Best Rated" playlist Always write ID3v2.4 tags (only applies to MP3) Another instance of gtkpod was detected. Playcount server not started.
  Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Artist As a last resort set the following tags to the
-filename if they are (still) empty: Ascending Auto Store Auto-Generated Playlists Automatically import iTunesDB on startup Automatically select... Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely from the iPod Before removing tracks completely when
- synchronizing directories Before removing tracks completely when
+filename if they are (still) empty: Ascending Auto Store Automatically import iTunesDB on startup Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely when
 synchronizing directories Before removing tracks from the harddisk Before removing tracks from the iPod Before removing tracks from the local database Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
  entry (faster!) Browse CD Nr CD Nr. and total number of CDS in set Calendar Can't reorder sorted treeview. Cancel Cannot open '%s' for reading.
 
  Cannot remove entry 'All' Cannot unsort track view because of a bug in the GTK lib you are using (%d.%d.%d < 2.5.4). Once you sort the track view, you cannot go back to the unsorted state.
 
- Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Command Line for 'Enqueue': Command Line for 'Play Now': Command for 'Enqueue': Command for 'Play now': Comment Comp. Compilation Composer Confirm before removing tracks Confirm list of directories Confirm lists of directories Confirmation Dialogue Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
+ Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Command for 'Enqueue': Command for 'Play now': Comment Comp. Compilation Composer Confirm before removing tracks Confirm lists of directories Confirmation Dialogue Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
  Could not create hash value from itunesdb
  Could not delete backup file: "%s"
  Could not find command '%s' specified for '%s' Could not find mp3gain. I tried to use the following executable: '%s'.
@@ -129,20 +110,20 @@
  Couldn't change tags of file: %s
  Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Credits Currently no iPod database selected Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) Data has been changed and not been saved.
 OK to exit gtkpod? Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
- Date modified Date played Delete But Keep Tracks Delete Confirmation  Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted tracks Descending Dirs Disc number Display Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed Track Attributes  Don't allow file duplication Duplicate Recognition is based on a md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
+ Date modified Date played Delete But Keep Tracks Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted tracks Descending Dirs Disc number Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Don't allow file duplication Duplicate detection ERROR while opening file: '%s' (%s).
  Edit Edit Smart Playlist Empty Playlist English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Error copying '%s' to '%s' (%s)
  Error copying '%s' to '%s': Permission Error (%s)
  Error creating %s: %s
- Error opening '%s' for reading (%s). Error opening '%s' for writing (%s). Error removing '%s' (%s). Error renaming '%s' to '%s' (%s). Error when closing '%s' (%s). Error while reading extended info: %s
- Error while reading from '%s' (%s). Error while reading prefs: %s
- Error while writing to '%s' (%s). Error writing to '%s'.
- Exact path for the 'mp3gain' executable: Export selected entry of which sort tab? Extended info will not be used.
+ Error while reading extended info: %s
+ Error while reading prefs: %s
+ Error writing to '%s'.
+ Export selected entry of which sort tab? Extended info will not be used.
  Extended info will not be used. If you have non-transferred tracks,
 these will be lost.
  Extended information file not deleted: '%s' Failed Track Update Failed to write '%s-%s'
  File "%s" has zero play length. Ignoring.
- File Size File not found: '%s'. File size File size (deleted) Filename Format:  Files For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist. General Genre Greek (ISO-8859-7) Greek (Windows-1253) Handle mounting/unmounting of iPod drive Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
- Hebrew (IBM-862) Hebrew (Windows-1255) 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). ID If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Import Increased playcount for '%s' Information Japanese (EUC-JP) Japanese (ISO-2022-JP) Japanese (Shift_JIS) Japanese (automatic detection) Korean (EUC-KR) Last Modified Last Played Last Time Last played Local filename not valid (%s) Lower Margin Manual volume adjust Match al_l of the following Misc Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+ File Size File size File size (deleted) Filename Format:  Files For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist. Genre Greek (ISO-8859-7) Greek (Windows-1253) Handle mounting/unmounting of iPod drive Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
+ Hebrew (IBM-862) Hebrew (Windows-1255) 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). ID If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Increased playcount for '%s' Information Japanese (EUC-JP) Japanese (ISO-2022-JP) Japanese (Shift_JIS) Japanese (automatic detection) Korean (EUC-KR) Last Modified Last Played Last Time Last played Local filename not valid (%s) Lower Margin Manual volume adjust Match al_l of the following Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
 
 To avoid this situation in the future either switch on duplicate detection (will provide MD5 checksums) or avoid using the iPod with programs other than gtkpod.
 
@@ -156,41 +137,34 @@
 
  Offline iPod database import failed: '%s'
 
- Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Opening of '%s' for writing failed. Overwrite tags that are already set Overwrite tags that are already set. Overwriting existing file: '%s'
- PC File Path not found: '%s'. Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlists Please enter a name for the new playlist Please refer to the notice below. Please specify a time interval Plycnt Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
-Export can be continued at a later time. Processing '%s'... Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Reading Recent (%d) Relative volume adjustment between -100 and +100 Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove offline playcounts? Rules Samplerate Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Selected Tab _Entry Selected _Playlist Selected _Tracks Settings are not saved.
- Size Skipping '%s' because it is a directory.
+ Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Overwrite tags that are already set Overwriting existing file: '%s'
+ PC File Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlists Please enter a name for the new playlist Please refer to the notice below. Please specify a time interval Plycnt Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
+Export can be continued at a later time. Processing '%s'... Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Recent (%d) Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove offline playcounts? Rules Samplerate Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Selected Tab _Entry Selected _Playlist Selected _Tracks Size Skipping '%s' because it is a directory.
  Skipping '%s' to avoid adding playlist file recursively
  Skipping existing file with same length: '%s'
- Smart Playlist Sndchk. Some files were not added successfully Some tracks could not be deleted from the iPod. Export aborted! Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort Tabs Sort tracks according to:  Sorting Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck South European (ISO-8859-3) Special Specify interval Star rating from 0 to 5 Start display automatically Stop Stop Display Update Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Sync Sync (Writing of iTunesDB) Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing directory '%s' System Charset Temporarily disable sorting when changing playlist
+ Smart Playlist Sndchk. Some files were not added successfully Some tracks could not be deleted from the iPod. Export aborted! Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort tracks according to:  Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck South European (ISO-8859-3) Special Specify interval Star rating from 0 to 5 Start display automatically Stop Stop Display Update Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Sync Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing directory '%s' System Charset Temporarily disable sorting when changing playlist
 or tab entry (faster!) Thai (TIS-620) The (former) contents of the following directories will be removed from the database:
 
  The URI '%s' contains invalidly escaped characters The URI '%s' is invalid The URI '%s' is not an absolute URI using the file scheme 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). The following directories will be synchronized:
 
  The following duplicate track has been removed. The following %d duplicate tracks have been removed. The following duplicate track has not been added to the master play list. The following %d duplicate tracks have not been added to the master play list. The following has occured: The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The hostname of the URI '%s' is invalid The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
 
- This is the same option as in 'Edit/Delete Confirmation' 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. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+ This is the same option as in 'Edit/Delete Confirmation' This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
 This program 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 General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
 
- Time Time: Title Toolbar Tooltips Track Editing Track Nr (#) Track Nr. and total number of tracks on CD Track Playing Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
+ Time Time: Title Track Nr (#) Track Nr. and total number of tracks on CD Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
  Unable to open '%s' for reading
  Unable to open '%s' for writing
  Unable to open config file '%s' for reading
  Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown option: %s
  Unknown token '%s' in template '%s'
- Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for track selections Use 'Multi-Edit' for tracks selections Use selected charset (Preferences/'Adding/Updating/ Syncing')
-for this filename. Use selected charset (on the 'General' page)
-when writing tags Use selected charset (on the 'Import' page)
- when writing tags Use selected charset also when updating
- or syncing tracks Use selected charset also when updating 
-or syncing tracks Use this template to parse filename for tag information Use this template to parse filename for tag information: Username: 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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume Normalization Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Warning Western (IBM-850) Western (ISO-8859-1) Western (ISO-8859-15) Western (Windows-1252) When adding dirs/files, update information of
- existing tracks with identical filenames When adding dirs/files, update information of
-existing tracks with identical filenames When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod Write extended information (PC filenames,
- MD5 hashes, charset). Recommended. Writing to '%s' failed (%s). Writing to '%s' failed. Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. _About _All Tracks _Arrange Sort Tabs _Charset (ID3, files): _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete But Keep Tracks _Delete Completely From iPod _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _File _Help _Ignore rules _Info Window _Input/Output _Less Sort Tabs _Limit to _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _Play Now _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
+ Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for tracks selections Use selected charset (Preferences/'Adding/Updating/ Syncing')
+for this filename. Use this template to parse filename for tag information: Username: 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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Warning Western (IBM-850) Western (ISO-8859-1) Western (ISO-8859-15) Western (Windows-1252) When adding dirs/files, update information of
+existing tracks with identical filenames When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. _About _All Tracks _Arrange Sort Tabs _Check iPod's Files _Create Playlists _Create iPod's Directories _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _File _Help _Ignore rules _Info Window _Less Sort Tabs _Limit to _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _Play Now _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
  ends with file not found format not supported genre gtkpod 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 version %s usage:
  highest rating hours iPod Database Import Failed.
 
@@ -200,7 +174,7 @@
  prefs_set_toolbar_style: illegal style '%d' ignored
  preparing to copy... random order secs starts with title to tracks weeks Project-Id-Version: gtkpod 0.40
 Report-Msgid-Bugs-To: 
-POT-Creation-Date: 2005-07-16 16:18+0900
+POT-Creation-Date: 2005-12-14 23:51+0900
 PO-Revision-Date: 2005-06-20 23:25+0900
 Last-Translator: Kentaro Fukuchi <fukuchi at users.sourceforge.net>
 Language-Team: n/a
@@ -218,8 +192,8 @@
                 ½ñ¤­¹þ¤Þ¤ì¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë ~/.gtkpod/ ¤Ë½ñ¤­¹þ¤Þ¤ì¤Þ¤¹¡£
                 iPod¤Ø½ñ¤­¹þ¤à¤Ë¤Ï¡¢¡Ö¥ª¥Õ¥é¥¤¥ó¡×¤ò̵¸ú¤Ë¤·¤¿¸å¡¢
                 ¡Ö¹¹¿·¡×¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
- %s ¶õ¤­ %s ÉÔ­  <= ²ó¿ô <=  ¾ò·ï:  À¸À®¤¹¤ë¥×¥ì¥¤¥ê¥¹¥È¤Ë²Ã¤¨¤ë¶Ê¿ô:   ÀßÄê: ¥«¥Æ¥´¥ê¡¼¤Î¿ô (%d<%d?) ¤«¡¢¥½¡¼¥È¥¿¥Ö¤Î¿ô (%d<%d?) ¤¬Â¿²á¤®¤Þ¤¹¡£
-  ʸ»ú¥³¡¼¥É(_C) (ID3,¥Õ¥¡¥¤¥ë):  ¥½¡¼¥È¥¿¥Ö¤Î¿ô(_N)  iPod¤Î¥Þ¥¦¥ó¥È¾ì½ê(_P): # %d%% (»Ä¤ê %d:%02d:%02d) %s:
+ %s ¶õ¤­ %s ÉÔ­  <= ²ó¿ô <=  ¾ò·ï:   ÀßÄê: ¥«¥Æ¥´¥ê¡¼¤Î¿ô (%d<%d?) ¤«¡¢¥½¡¼¥È¥¿¥Ö¤Î¿ô (%d<%d?) ¤¬Â¿²á¤®¤Þ¤¹¡£
+ # %d%% (»Ä¤ê %d:%02d:%02d) %s:
 "itunesdb_hash=" ¤¬½ñ¤«¤ì¤Æ¤¤¤ë¤Ù¤­²Õ½ê¤Ë°ã¤¦ÆâÍƤ¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹: "%s"
  %s:
 ½ñ¼°¥¨¥é¡¼: %s
@@ -245,14 +219,14 @@
  '%s': °ú¿ô (%%...) ¤Ï»È¤¨¤Þ¤»¤ó¡£
  '%s': '%%%s' ¤Ï°ì¤Ä¤Þ¤Ç¤·¤«»È¤¨¤Þ¤»¤ó¡£
  ¡ÖÅÐÏ¿Æü¡×¤Î¾ò·ï¤Ï¥¨¥é¡¼¤Î¤¿¤á¤Ë̵»ë¤µ¤ì¤Þ¤·¤¿¡£ 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' ¤Î¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£½ñ¤­¹þ¤ó¤À¤é 'enter' ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ ¡ÖÊѹ¹Æü¡×¤Î¾ò·ï¤Ï¥¨¥é¡¼¤Î¤¿¤á¤Ë̵»ë¤µ¤ì¤Þ¤·¤¿¡£ ¡Ö±éÁÕÆü¡×¤Î¾ò·ï¤Ï¥¨¥é¡¼¤Î¤¿¤á¤Ë̵»ë¤µ¤ì¤Þ¤·¤¿¡£ 'mp3gain' ¥³¥Þ¥ó¥É¤Î¾ì½ê: ¥¢¥¤¥³¥ó¤Î¤ß ¥Æ¥­¥¹¥È¤Î¤ß ¥¢¥¤¥³¥ó¤È¥Æ¥­¥¹¥È ...°Ê²¼¤Î¥½¡¼¥È¥¿¥ÖÆâ¤Î¡Ö¤¹¤Ù¤Æ¡×¤Î¹àÌÜ ...¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È <b>ÅÐÏ¿/¹¹¿·/Ʊ´ü</b> <b>¥×¥ì¥¤¥ê¥¹¥È¤Î¼«Æ°À¸À®</b> <b>¼«Æ°Åª¤ËÁªÂò...</b> <b>ºï½ü¤Î³Îǧ</b> <b>ɽ¼¨¤¹¤ë¶Ê°À­</b> <b>¥¤¥ó¥Ý¡¼¥È</b> <b>¤½¤Î¾</b> <b>ºÆÀ¸</b> <b>¥½¡¼¥È¥¿¥Ö</b> <b>Ʊ´ü</b> <b>¥¿¥°¤ÎÆɤ߹þ¤ß</b> <b>¥Ä¡¼¥ë¥Ð¡¼</b> <b>¥Ä¡¼¥ë¥Á¥Ã¥×</b> <b>¶Ê¤ÎÊÔ½¸</b> <b>²»Î̤ÎÊ¿¶Ñ²½</b> ³ÈÄ¥¾ðÊó¤Î½ñ¤­¹þ¤ß¤ÏÃæ»ß¤µ¤ì¤Þ¤·¤¿¡£
- Ãæ»ß½èÍýÃæ... gtkpod¤Ë¤Ä¤¤¤Æ ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤ËÄɲä·¤Þ¤¹ ¥Õ¥¡¥¤¥ë¤òÄɲä¹¤ë ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹ ¥×¥ì¥¤¥ê¥¹¥È¤òÄɲä¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ë(_D) ¥Õ¥¡¥¤¥ë¤òÄɲ乤ë(_F) ¥×¥ì¥¤¥ê¥¹¥È¤òÄɲ乤ë(_P) ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤ËÄɲä¹¤ë ¥×¥ì¥¤¥ê¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤«¤éÆɤ߹þ¤ó¤ÇÄɲä·¤Þ¤¹ ÅÐÏ¿Æü ÄɲÃ/¹¹¿·/Ʊ´ü ¥¢¥ë¥Ð¥à ¤¹¤Ù¤Æ ¤¹¤Ù¤Æ(AND) °ìÅÙ¤âÄ°¤¤¤¿»ö¤¬¤Ê¤¤¶Ê Á°²ó°Ê¹ßºÆÀ¸¤µ¤ì¤¿¶Ê ¥×¥ì¥¤¥ê¥¹¥È¤ËºÜ¤Ã¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¶Ê ʤٴ¹¤¨ ¡Öɾ²Á¤Î¹â¤¤¶Ê¡×¤Î¥ê¥¹¥È¤òºî¤ëºÝ¤Ë¡¢°ìÅÙ¤â
+ Ãæ»ß½èÍýÃæ... gtkpod¤Ë¤Ä¤¤¤Æ ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤ËÄɲä·¤Þ¤¹ ¥Õ¥¡¥¤¥ë¤òÄɲä¹¤ë ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹ ¥×¥ì¥¤¥ê¥¹¥È¤òÄɲä¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ë(_D) ¥Õ¥¡¥¤¥ë¤òÄɲ乤ë(_F) ¥×¥ì¥¤¥ê¥¹¥È¤òÄɲ乤ë(_P) ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤ËÄɲä¹¤ë ¥×¥ì¥¤¥ê¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤«¤éÆɤ߹þ¤ó¤ÇÄɲä·¤Þ¤¹ ÅÐÏ¿Æü ¥¢¥ë¥Ð¥à ¤¹¤Ù¤Æ ¤¹¤Ù¤Æ(AND) °ìÅÙ¤âÄ°¤¤¤¿»ö¤¬¤Ê¤¤¶Ê Á°²ó°Ê¹ßºÆÀ¸¤µ¤ì¤¿¶Ê ¥×¥ì¥¤¥ê¥¹¥È¤ËºÜ¤Ã¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¶Ê ʤٴ¹¤¨ ¡Öɾ²Á¤Î¹â¤¤¶Ê¡×¤Î¥ê¥¹¥È¤òºî¤ëºÝ¤Ë¡¢°ìÅÙ¤â
 ºÆÀ¸¤µ¤ì¤¿»ö¤Î¤Ê¤¤¶Ê¤âÂоݤȤ·¤Þ¤¹¡£ ¾ï¤Ë ID3v2.4 ¥¿¥°¤ò½ñ¤­¹þ¤à (MP3 ¤Î¤ß) gtkpod ¤¬¤¹¤Ç¤ËÆ°ºîÃæ¤Ç¤¹¡£¥×¥ì¥¤¥«¥¦¥ó¥È¥µ¡¼¥Ð¡¼¤Ïµ¯Æ°¤·¤Þ¤»¤ó¡£
- ¤¤¤º¤ì¤«(OR) ¥¢¥é¥Ó¥¢¸ì (IBM-864) ¥¢¥é¥Ó¥¢¸ì (ISO-8859-6) ¥¢¥é¥Ó¥¢¸ì (Windows-1256) ¥×¥ì¥¤¥ê¥¹¥È '%s' µÚ¤Ó¤½¤ì¤Ë´Þ¤Þ¤ì¤ë°Ê²¼¤Î¶Ê¤òiPod¤«¤éËÜÅö¤Ëºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«? ³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤Ï¡¢¤½¤ì¤¾¤ì¤Î¶Ê¤¬¤¤¤¯¤Ä¤Î¥×¥ì¥¤¥ê¥¹¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¥×¥ì¥¤¥ê¥¹¥È '%s' ¤òËÜÅö¤Ëºï½ü¤·¤Æ¤â¤¤¤¤¤Ç¤¹¤«? °Ê²¼¤Î¶Ê¤ò¥í¡¼¥«¥ë¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é´°Á´¤Ëºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤Ï¡¢¤½¤ì¤¾¤ì¤Î¶Ê¤¬¤¤¤¯¤Ä¤Î¥×¥ì¥¤¥ê¥¹¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¥¢¡¼¥Æ¥£¥¹¥È ºÇ¸å¤Î¼êÃʤȤ·¤Æ¡¢°Ê²¼¤Î¥¿¥°¤¬Ì¤ÀßÄê¤Î¾ì¹ç¤Ë¥Õ¥¡¥¤¥ë̾¤ò¤½¤ÎÃͤȤ·¤Æ»ÈÍѤ¹¤ë: ¾º½ç ¼«Æ°Êݸ ¥×¥ì¥¤¥ê¥¹¥È¤Î¼«Æ°ºîÀ® µ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë iTunesDB ¤òÆɤ߹þ¤à ¼«Æ°Åª¤ËÁªÂò... ³Æ¹àÌܤ¬ÆþÎϤµ¤ì¤ë¤È¤¹¤°¤Ëɽ¼¨¤ò¹¹¿·¤·¤Þ¤¹¡£¤³¤Î¹àÌܤ¬ÁªÂò¤µ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë¤Ï¡¢¡Öɽ¼¨¡×¥Ü¥¿¥ó¤ò²¡¤¹¤È¹¹¿·¤µ¤ì¤Þ¤¹¡£ ¥Ð¥ë¥È¸ì (ISO-8859-13) ¥Ð¥ë¥È¸ì (ISO-8859-4) ¥Ð¥ë¥È¸ì (Windows-1257) ¥×¥ì¥¤¥ê¥¹¥È¤ä¡¢¥×¥ì¥¤¥ê¥¹¥È¤«¤é¶Ê¤òºï½ü¤¹¤ë»þ ¶Ê¤òiPod¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü¤ò¹Ô¤¦ºÝ¤Ë¶Ê¤òºï½ü¤¹¤ë»þ ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü¤ò¹Ô¤¦ºÝ¤Ë¶Ê¤òºï½ü¤¹¤ë»þ ¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ ¶Ê¤òiPod¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ ¶Ê¤ò¥í¡¼¥«¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü¤¹¤ë»þ ɾ²Á¤Î¹â¤¤¶Ê (%d) ɾ²Á¤Î¹â¤¤¶Ê ¥Ó¥Ã¥È¥ì¡¼¥È ¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤ËÅÓÃæ·Ð²á¤Î
+ ¤¤¤º¤ì¤«(OR) ¥¢¥é¥Ó¥¢¸ì (IBM-864) ¥¢¥é¥Ó¥¢¸ì (ISO-8859-6) ¥¢¥é¥Ó¥¢¸ì (Windows-1256) ¥×¥ì¥¤¥ê¥¹¥È '%s' µÚ¤Ó¤½¤ì¤Ë´Þ¤Þ¤ì¤ë°Ê²¼¤Î¶Ê¤òiPod¤«¤éËÜÅö¤Ëºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«? ³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤Ï¡¢¤½¤ì¤¾¤ì¤Î¶Ê¤¬¤¤¤¯¤Ä¤Î¥×¥ì¥¤¥ê¥¹¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¥×¥ì¥¤¥ê¥¹¥È '%s' ¤òËÜÅö¤Ëºï½ü¤·¤Æ¤â¤¤¤¤¤Ç¤¹¤«? °Ê²¼¤Î¶Ê¤ò¥í¡¼¥«¥ë¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é´°Á´¤Ëºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?³ç¸Ì¤ÎÃæ¤Î¿ô»ú¤Ï¡¢¤½¤ì¤¾¤ì¤Î¶Ê¤¬¤¤¤¯¤Ä¤Î¥×¥ì¥¤¥ê¥¹¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¥¢¡¼¥Æ¥£¥¹¥È ºÇ¸å¤Î¼êÃʤȤ·¤Æ¡¢°Ê²¼¤Î¥¿¥°¤¬Ì¤ÀßÄê¤Î¾ì¹ç¤Ë¥Õ¥¡¥¤¥ë̾¤ò¤½¤ÎÃͤȤ·¤Æ»ÈÍѤ¹¤ë: ¾º½ç ¼«Æ°Êݸ µ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë iTunesDB ¤òÆɤ߹þ¤à ³Æ¹àÌܤ¬ÆþÎϤµ¤ì¤ë¤È¤¹¤°¤Ëɽ¼¨¤ò¹¹¿·¤·¤Þ¤¹¡£¤³¤Î¹àÌܤ¬ÁªÂò¤µ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë¤Ï¡¢¡Öɽ¼¨¡×¥Ü¥¿¥ó¤ò²¡¤¹¤È¹¹¿·¤µ¤ì¤Þ¤¹¡£ ¥Ð¥ë¥È¸ì (ISO-8859-13) ¥Ð¥ë¥È¸ì (ISO-8859-4) ¥Ð¥ë¥È¸ì (Windows-1257) ¥×¥ì¥¤¥ê¥¹¥È¤ä¡¢¥×¥ì¥¤¥ê¥¹¥È¤«¤é¶Ê¤òºï½ü¤¹¤ë»þ ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü¤ò¹Ô¤¦ºÝ¤Ë¶Ê¤òºï½ü¤¹¤ë»þ ¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ ¶Ê¤òiPod¤«¤é´°Á´¤Ëºï½ü¤¹¤ë»þ ¶Ê¤ò¥í¡¼¥«¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü¤¹¤ë»þ ɾ²Á¤Î¹â¤¤¶Ê (%d) ɾ²Á¤Î¹â¤¤¶Ê ¥Ó¥Ã¥È¥ì¡¼¥È ¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤ËÅÓÃæ·Ð²á¤Î
 ɽ¼¨¤òÍÞÀ©¤¹¤ë(Æ°ºî¤¬Â®¤¯¤Ê¤ë) ¥Ö¥é¥¦¥º CDÈÖ¹æ CD ÈÖ¹æ¤È¡¢¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤ë CD ¤ÎÁíËç¿ô ¥«¥ì¥ó¥À¡¼ ¥½¡¼¥È¤µ¤ì¤Æ¤¤¤ë½çÈÖ¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó ¥­¥ã¥ó¥»¥ë ¥Õ¥¡¥¤¥ë '%s' ¤òÆɤ߹þ¤â¤¦¤È¤·¤Þ¤·¤¿¤¬¡¢³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
 
  '¤¹¤Ù¤Æ' ¤Î¹àÌܤòºï½ü¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó »È¤ï¤ì¤Æ¤¤¤ë GTK+ ¥é¥¤¥Ö¥é¥ê %d.%d.%d < 2.5.4) ¤Î¥Ð¥°¤Î¤¿¤á¡¢¥½¡¼¥Èɽ¼¨¤ò²ò½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£°ìÅÙ¥½¡¼¥Èɽ¼¨¤òÁª¤ó¤Ç¤·¤Þ¤¦¤È¡¢È󥽡¼¥Èɽ¼¨¤ËÌ᤹¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
 
- ¥«¥Æ¥´¥ê:  ¥±¥ë¥È¸ì (ISO-8859-14) Ãæ±û¥è¡¼¥í¥Ã¥Ñ (IBM-852) Ãæ±û¥è¡¼¥í¥Ã¥Ñ (ISO-8859-2) Ãæ±û¥è¡¼¥í¥Ã¥Ñ (Windows-1250) Ãæ¹ñ¸ì ´ÊÂλú (GB18030) Ãæ¹ñ¸ì ´ÊÂλú (GB2312) Ãæ¹ñ¸ì ÈËÂλú (Big5) Ãæ¹ñ¸ì ÈËÂλú (Big5-HKSCS) ¡Ö±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë¡×¤¿¤á¤Î¥³¥Þ¥ó¥É: ¡Öº£¤¹¤°±éÁաפΤ¿¤á¤Î¥³¥Þ¥ó¥É: ¡Ö±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë¡×¤¿¤á¤Î¥³¥Þ¥ó¥É: ¡Öº£¤¹¤°±éÁաפΤ¿¤á¤Î¥³¥Þ¥ó¥É: ¥³¥á¥ó¥È ºî¶Ê¼Ô ¥³¥ó¥Ô¥ì¡¼¥·¥ç¥ó ºî¶Ê¼Ô ¶Ê¤òºï½ü¤¹¤ëÁ°¤Ë³Îǧ¤¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò³Îǧ¤¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò³Îǧ¤¹¤ë ³Îǧ ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤éºîÀ® ÁªÂò¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤éºîÀ® %d¶ÊÃæ %d¶Ê¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£ %d¶ÊÃæ %d¶Ê¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£ %d¶Ê¥³¥Ô¡¼¤·¤Þ¤·¤¿ iPod ¾å¤Î '%s' ¤ËÁêÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó
+ ¥«¥Æ¥´¥ê:  ¥±¥ë¥È¸ì (ISO-8859-14) Ãæ±û¥è¡¼¥í¥Ã¥Ñ (IBM-852) Ãæ±û¥è¡¼¥í¥Ã¥Ñ (ISO-8859-2) Ãæ±û¥è¡¼¥í¥Ã¥Ñ (Windows-1250) Ãæ¹ñ¸ì ´ÊÂλú (GB18030) Ãæ¹ñ¸ì ´ÊÂλú (GB2312) Ãæ¹ñ¸ì ÈËÂλú (Big5) Ãæ¹ñ¸ì ÈËÂλú (Big5-HKSCS) ¡Ö±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë¡×¤¿¤á¤Î¥³¥Þ¥ó¥É: ¡Öº£¤¹¤°±éÁաפΤ¿¤á¤Î¥³¥Þ¥ó¥É: ¥³¥á¥ó¥È ºî¶Ê¼Ô ¥³¥ó¥Ô¥ì¡¼¥·¥ç¥ó ºî¶Ê¼Ô ¶Ê¤òºï½ü¤¹¤ëÁ°¤Ë³Îǧ¤¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò³Îǧ¤¹¤ë ³Îǧ ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤éºîÀ® ÁªÂò¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤éºîÀ® %d¶ÊÃæ %d¶Ê¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£ %d¶ÊÃæ %d¶Ê¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£ %d¶Ê¥³¥Ô¡¼¤·¤Þ¤·¤¿ iPod ¾å¤Î '%s' ¤ËÁêÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó
  itunesdb ¤«¤é¥Ï¥Ã¥·¥åÃͤòÆɤ߹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿¡£
  ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤¬ºï½ü¤Ç¤­¤Þ¤»¤ó: "%s"
  '%s' ¤Î¤¿¤á¤Î¥³¥Þ¥ó¥É '%s' ¤¬¸«ÉÕ¤«¤ê¤Þ¤»¤ó mp3gain ¤¬¸«ÉÕ¤«¤ê¤Þ¤»¤ó¡£¼Â¹Ô¤·¤¿¤Î¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤¹: '%s'
@@ -271,20 +245,20 @@
  ¼¡¤Î¥Õ¥¡¥¤¥ë¤Î¥¿¥°¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó: %s
  ¿·¤·¤¯¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ®¤·¤Þ¤¹ ¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ® ¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ® (_P) iPod¤Î½é´üÀßÄê ¥×¥ì¥¤¥ê¥¹¥È¤Î¿·µ¬ºîÀ® ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤«¤é¥×¥ì¥¤¥ê¥¹¥È¤òºîÀ®¤·¤Þ¤¹¤«¡© ¿·¤·¤¯¥×¥ì¥¤¥ê¥¹¥È'%s'(%d¶Ê)¤òºîÀ®¤·¤Þ¤·¤¿ ¿·µ¬¥×¥ì¥¤¥ê¥¹¥È¤Ë 1¶ÊÅÐÏ¿¤·¤Þ¤·¤¿¡£ ¿·µ¬¥×¥ì¥¤¥ê¥¹¥È¤Ë %d¶ÊÅÐÏ¿¤·¤Þ¤·¤¿¡£ ¸¢Íøɽ¼¨ iPod ¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó ¥­¥ê¥ë¸ì (IBM-855) ¥­¥ê¥ë¸ì (ISO-8859-5) ¥­¥ê¥ë¸ì (ISO-IR-111) ¥­¥ê¥ë¸ì (KOI8-R) ¥­¥ê¥ë¸ì (Windows-1251) ¥­¥ê¥ë/¥í¥·¥¢¸ì (CP-866) ¥­¥ê¥ë/¥¦¥¯¥é¥¤¥Ê¸ì (KOI8-U) Êѹ¹¤Î¤¢¤Ã¤¿¥Ç¡¼¥¿¤Ï¥»¡¼¥Ö¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
 ËÜÅö¤Ë½ªÎ»¤·¤Þ¤¹¤«? ÅÐÏ¿Æü ÅÐÏ¿¤µ¤ì¤¿¤È¤­¤ÎÆüÉդȻþ¹ï ºÇ¸å¤ËÊѹ¹¤µ¤ì¤¿¤È¤­¤ÎÆüÉդȻþ¹ï ºÇ¸å¤Ë±éÁÕ¤µ¤ì¤¿¤È¤­¤ÎÆüÉդȻþ¹ï ¥Ç¡¼¥¿¥¨¥é¡¼: ¼¡¤Îʸ»ú¤Ï»ÈÍѤǤ­¤Þ¤»¤ó: '%s'
- Êѹ¹Æü ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü ¶Ê¤Ï»Ä¤·¤¿¤Þ¤Þºï½ü ºï½ü¤Î³Îǧ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü ¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü iPod¤«¤éºï½ü Ãæ¤Î¶Ê¤´¤Èºï½ü Ãæ¤Î¶Ê¤´¤Èºï½ü (¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é) Ãæ¤Î¶Ê¤´¤Èºï½ü (¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤é) ¤³¤Î¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü¤·¤Þ¤¹¤«? ¤³¤ì¤é¤Î¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü¤·¤Þ¤¹¤«? Ʊ´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¾Ãµî¤¹¤ë iPod¤«¤é1¶Ê´°Á´¤Ëºï½ü¤·¤Þ¤·¤¿ ¥×¥ì¥¤¥ê¥¹¥È '%s' ¤òºï½ü ¥×¥ì¥¤¥ê¥¹¥È '%s'¡Ê%d ¶ÊÆþ¤ê¡Ë¤òºï½ü¤·¤Þ¤·¤¿ ºï½ü¤µ¤ì¤¿¶Ê ¹ß½ç ¥Ç¥£¥ì¥¯¥È¥ê CD ÈÖ¹æ ɽ¼¨ ¼ÂºÝ¤Ë¹¹¿·¤µ¤ì¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£ ¼ÂºÝ¤Ë¤Ï¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£ ½ÅÊ£¤ò¸«¤Ä¤±¤¿ºÝ¤ËÊó¹ð¤¹¤ë ¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤òɽ¼¨¤¹¤ë ¹¹¿·¤µ¤ì¤¿¶Ê¤Î¾ðÊó¤òɽ¼¨¤¹¤ë µ¯Æ°»þ¤Ë¥á¥Ã¥»¡¼¥¸¤ä·Ù¹ð¤òɽ¼¨¤¹¤ë ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿ºÝ¤Ëȯ¸«¤·¤¿¡¢½ÅÊ£¤¹¤ë¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£ ¥Ä¡¼¥ë¥Ð¡¼¤Îɽ¼¨... ¥Ä¡¼¥ë¥Á¥Ã¥×¤ò¥á¥¤¥ó²èÌ̤Çɽ¼¨¤¹¤ë ¥Ä¡¼¥ë¥Á¥Ã¥×¤òÀßÄê²èÌ̤Çɽ¼¨¤¹¤ë ¾å¤Ç»ØÄꤵ¤ì¤¿¾ò·ï¤Ë¹çÃפ¹¤ë¶Ê¤òɽ¼¨¤·¤Þ¤¹¡£ ɽ¼¨¤¹¤ë¶Ê¤Î¹àÌÜ ¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤ md5¤òÍøÍѤ·¤¿½ÅÊ£¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ½ÅÊ£¤Î¸¡½Ð ¥Õ¥¡¥¤¥ë '%s' ¤ò³«¤¯ºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£ (%s)
+ Êѹ¹Æü ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü ¶Ê¤Ï»Ä¤·¤¿¤Þ¤Þºï½ü ¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü ¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü iPod¤«¤éºï½ü Ãæ¤Î¶Ê¤´¤Èºï½ü Ãæ¤Î¶Ê¤´¤Èºï½ü (¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é) Ãæ¤Î¶Ê¤´¤Èºï½ü (¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤é) ¤³¤Î¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü¤·¤Þ¤¹¤«? ¤³¤ì¤é¤Î¶Ê¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü¤·¤Þ¤¹¤«? Ʊ´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¾Ãµî¤¹¤ë iPod¤«¤é1¶Ê´°Á´¤Ëºï½ü¤·¤Þ¤·¤¿ ¥×¥ì¥¤¥ê¥¹¥È '%s' ¤òºï½ü ¥×¥ì¥¤¥ê¥¹¥È '%s'¡Ê%d ¶ÊÆþ¤ê¡Ë¤òºï½ü¤·¤Þ¤·¤¿ ºï½ü¤µ¤ì¤¿¶Ê ¹ß½ç ¥Ç¥£¥ì¥¯¥È¥ê CD ÈÖ¹æ ¼ÂºÝ¤Ë¹¹¿·¤µ¤ì¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£ ¼ÂºÝ¤Ë¤Ï¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£ ½ÅÊ£¤ò¸«¤Ä¤±¤¿ºÝ¤ËÊó¹ð¤¹¤ë ¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿¶Ê¤òɽ¼¨¤¹¤ë ¹¹¿·¤µ¤ì¤¿¶Ê¤Î¾ðÊó¤òɽ¼¨¤¹¤ë µ¯Æ°»þ¤Ë¥á¥Ã¥»¡¼¥¸¤ä·Ù¹ð¤òɽ¼¨¤¹¤ë ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿ºÝ¤Ëȯ¸«¤·¤¿¡¢½ÅÊ£¤¹¤ë¶Ê¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£ ¥Ä¡¼¥ë¥Ð¡¼¤Îɽ¼¨... ¥Ä¡¼¥ë¥Á¥Ã¥×¤ò¥á¥¤¥ó²èÌ̤Çɽ¼¨¤¹¤ë ¥Ä¡¼¥ë¥Á¥Ã¥×¤òÀßÄê²èÌ̤Çɽ¼¨¤¹¤ë ¾å¤Ç»ØÄꤵ¤ì¤¿¾ò·ï¤Ë¹çÃפ¹¤ë¶Ê¤òɽ¼¨¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤ ½ÅÊ£¤Î¸¡½Ð ¥Õ¥¡¥¤¥ë '%s' ¤ò³«¤¯ºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£ (%s)
  ÊÔ½¸ ¥¹¥Þ¡¼¥È¥×¥ì¥¤¥ê¥¹¥È¤ÎÊÔ½¸ ¶õ¥ê¥¹¥È ±Ñ¸ì (US-ASCII) ±éÁÕ¥­¥å¡¼¤Ë²Ã¤¨¤ë ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¥­¥å¡¼¤Ë²Ã¤¨¤Þ¤¹¤«¡© '%s' ¤ò '%s' ¤Ë¥³¥Ô¡¼Ãæ¤Ë¥¨¥é¡¼È¯À¸: (%s)
  '%s' ¤ò '%s' ¤Ë¥³¥Ô¡¼Ãæ¤Ë¥¨¥é¡¼È¯À¸: µö²Ä¤¬¤¢¤ê¤Þ¤»¤ó (%s)
  '%s'¤ÎºîÀ®¤Ë¼ºÇÔ: %s
- '%s' ¤òÆɤ߹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s) '%s' ¤ò½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s) '%s'¤Îºï½üÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s) '%s'¤ò'%s'¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(%s) '%s' ¤òÊĤ¸¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s) ³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ßÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿: %s
- '%s' ¤ÎÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s) ÀßÄê¥Õ¥¡¥¤¥ë¤Î°Ê²¼¤Î¹Ô¤Ë¸í¤ê¤¬¤¢¤ê¤Þ¤¹: %s
- '%s' ¤Î½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£(%s) '%s'¤Î½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£
- 'mp3gain' ¥³¥Þ¥ó¥É¤Î¾ì½ê: ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ¤¹¤«¡© ³ÈÄ¥¾ðÊó¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
+ ³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ßÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿: %s
+ ÀßÄê¥Õ¥¡¥¤¥ë¤Î°Ê²¼¤Î¹Ô¤Ë¸í¤ê¤¬¤¢¤ê¤Þ¤¹: %s
+ '%s'¤Î½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£
+ ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ¤¹¤«¡© ³ÈÄ¥¾ðÊó¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
  ³ÈÄ¥¾ðÊó¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£iPodËÜÂΤËžÁ÷¤µ¤ì¤Æ¤¤¤Ê¤¤¶Ê¤Ï
 ½ªÎ»»þ¤Ë¼º¤ï¤ì¤Þ¤¹¡£
  ³ÈÄ¥¾ðÊó¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó: '%s' ¶Ê¤Î¹¹¿·¤Ë¼ºÇÔ Êݸ¤¬¤Ç¤­¤Þ¤»¤ó '%s-%s'
  ¥Õ¥¡¥¤¥ë "%s" ¤ÏŤµ¤¬0¤Ê¤Î¤Ç̵»ë¤·¤Þ¤¹¡£
- ¥Õ¥¡¥¤¥ë¥µ¥¤¥º ¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: '%s' ¥Õ¥¡¥¤¥ë¥µ¥¤¥º ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥µ¥¤¥º ¥Õ¥¡¥¤¥ë̾¤Î½ñ¼°:  ¥Õ¥¡¥¤¥ë Î㤨¤Ð 'xmms -e %s' ¤È¤¹¤ë¤È¡¢ÁªÂò¤µ¤ì¤¿¶Ê¤ò xmms ¤Î¤½¤Î»þ¤Î¥×¥ì¥¤¥ê¥¹¥È¤ÎºÇ¸åÈø¤ËÄɲä·¤Þ¤¹ ´ðËÜÀßÄê ¥¸¥ã¥ó¥ë ¥®¥ê¥·¥¢¸ì (ISO-8859-7) ¥®¥ê¥·¥¢¸ì (Windows-1253) iPod¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤ò gtkpod ¤Ç¹Ô¤¦ %d¶ÊÃæ%d¶Ê¤Î¥Ï¥Ã¥·¥å¤òÀ¸À®¤·¤Þ¤·¤¿¡£ ¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤¬ 0 ¥Ð¥¤¥È¤Ç¤¹
- ¥Ø¥Ö¥é¥¤¸ì (IBM-862) ¥Ø¥Ö¥é¥¤¸ì (Windows-1255) ½ÅÊ£¥Á¥§¥Ã¥¯¤ò¹â®²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë»ö¤¬¶¯¤¯¿ä¾©¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥Õ¥¡¥¤¥ë̾¤òÊÝ»ý¤¹¤ë»ö¤ÇID3¥¿¥°¤ÎÊѹ¹¤òiPod¤ËÈ¿±Ç¤µ¤»¤ë»ö¤¬²Äǽ¤Ë¤Ê¤ê¡¢²¾¤ËiPod¤ÎÃæ¿È¤¬²õ¤ì¤¿¤ê¤·¤¿¾ì¹ç¤Ë¤â¡¢ºÆ¹½À®¤òÍưפˤ·¤Þ¤¹¡£(¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î "transferred=" ¤Î¹àÌܤòÊѹ¹¤¹¤ì¤Ð¤è¤¤) ID ʤٴ¹¤¨¤ÎºÝ¤Ë¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤¹¡£¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Î¤Û¤È¤ó¤É¤Îʸ»ú¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ ¤¹¤Ç¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê¤ÈƱ¤¸¥Õ¥¡¥¤¥ë̾(¥Õ¥ë¥Ñ¥¹¤Ç)¤ò»ý¤Ä¶Ê¤òÄɲ䷤褦¤È¤·¤¿¾ì¹ç¡¢¤³¤Î¹àÌܤ¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢¤½¤Î¶Ê¤ò̵»ë¤¹¤ëÂå¤ï¤ê¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê¤Î¾ðÊó¤ò¹¹¿·¤·¤Þ¤¹¡£¤â¤·¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤¬¤Ê¤¯¡¢¡Ö¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤¡×¤Î¹àÌܤòÍ­¸ú¤Ë¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¹¹¿·¤Ï¤Ê¤µ¤ì¤Þ¤»¤ó¡£ ¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢Æ±´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¡¢iPod¾å¤«¤é¤â¾Ãµî¤·¤Þ¤¹¡£ ¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢gtkpod¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ëé¤ê¤Þ¤¹¡£ ¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È¤ò¼«Æ°Åª¤ËÁªÂò¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤È¡¢µ¯Æ°»þ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤àºÝ¤Ë¤Ï²¿¤âɽ¼¨¤·¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢¥¹¥Ô¡¼¥É¤¬Â®¤¯¤Ê¤ê¤Þ¤¹¡£ ¶Ê¥ê¥¹¥È¤Î¶Ê¤òÆó¤Ä°Ê¾åÁªÂò¤·¤Æ¡¢ºÇ½é¤Î¶Ê¤Î¥¿¥°¤òÊѹ¹¤¹¤ë¤È¾¤Î¶Ê¤Ë¤â¤½¤ÎÊѹ¹¤òŬÍѤ·¤Þ¤¹¡£ ¥¤¥ó¥Ý¡¼¥È '%s' ¤ÎºÆÀ¸²ó¿ô¤òÁý¤ä¤·¤Þ¤·¤¿ ¾ðÊó ÆüËܸì (EUC-JP) ÆüËܸì (ISO-2022-JP) ÆüËܸì (Shift_JIS) ÆüËܸì (¼«Æ°È½ÊÌ) ´Ú¹ñ¸ì (EUC-KR) ºÇ¸å¤ËÊѹ¹¤·¤¿Æü ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü Á°²ó°Ê¹ß ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü ¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë̾¤¬ÉÔÀµ¤Ç¤¹ (%s) ²¼¸Â ²»Î̤ÎÄ´À°ÃÍ °Ê²¼¤Ë³ºÅö¤¹¤ë¤â¤Î¤¹¤Ù¤Æ(_l) ¤½¤Î¾ Êѹ¹Æü Îɤ¯Ä°¤¯¶Ê (%d) ºÇ¶áºÆÀ¸¤µ¤ì¤¿¶Ê %d¶Ê¤ò°ÜÆ°¤·¤Þ¤·¤¿ PC ¾å¤Ç¤Î¥Õ¥¡¥¤¥ë̾ (ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç) iPod ¾å¤Ç¤Î¥Õ¥¡¥¤¥ë̾ Ä°¤¤¤¿¤³¤È¤¬¤Ê¤¤¶Ê Ʊ´ü½èÍý¤Ç¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤ ¤³¤Î¼ÁÌä¤òÆóÅÙ¤Èɽ¼¨¤·¤Ê¤¤ ¿·µ¬¥×¥ì¥¤¥ê¥¹¥È ¿·µ¬¥×¥ì¥¤¥ê¥¹¥È ³Æ¶Ê¤ÎMD5 ¥Á¥§¥Ã¥¯¥µ¥à¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+ ¥Õ¥¡¥¤¥ë¥µ¥¤¥º ¥Õ¥¡¥¤¥ë¥µ¥¤¥º ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥µ¥¤¥º ¥Õ¥¡¥¤¥ë̾¤Î½ñ¼°:  ¥Õ¥¡¥¤¥ë Î㤨¤Ð 'xmms -e %s' ¤È¤¹¤ë¤È¡¢ÁªÂò¤µ¤ì¤¿¶Ê¤ò xmms ¤Î¤½¤Î»þ¤Î¥×¥ì¥¤¥ê¥¹¥È¤ÎºÇ¸åÈø¤ËÄɲä·¤Þ¤¹ ¥¸¥ã¥ó¥ë ¥®¥ê¥·¥¢¸ì (ISO-8859-7) ¥®¥ê¥·¥¢¸ì (Windows-1253) iPod¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤ò gtkpod ¤Ç¹Ô¤¦ %d¶ÊÃæ%d¶Ê¤Î¥Ï¥Ã¥·¥å¤òÀ¸À®¤·¤Þ¤·¤¿¡£ ¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤¬ 0 ¥Ð¥¤¥È¤Ç¤¹
+ ¥Ø¥Ö¥é¥¤¸ì (IBM-862) ¥Ø¥Ö¥é¥¤¸ì (Windows-1255) ½ÅÊ£¥Á¥§¥Ã¥¯¤ò¹â®²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë»ö¤¬¶¯¤¯¿ä¾©¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥Õ¥¡¥¤¥ë̾¤òÊÝ»ý¤¹¤ë»ö¤ÇID3¥¿¥°¤ÎÊѹ¹¤òiPod¤ËÈ¿±Ç¤µ¤»¤ë»ö¤¬²Äǽ¤Ë¤Ê¤ê¡¢²¾¤ËiPod¤ÎÃæ¿È¤¬²õ¤ì¤¿¤ê¤·¤¿¾ì¹ç¤Ë¤â¡¢ºÆ¹½À®¤òÍưפˤ·¤Þ¤¹¡£(¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î "transferred=" ¤Î¹àÌܤòÊѹ¹¤¹¤ì¤Ð¤è¤¤) ID ʤٴ¹¤¨¤ÎºÝ¤Ë¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤¹¡£¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Î¤Û¤È¤ó¤É¤Îʸ»ú¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ ¤¹¤Ç¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê¤ÈƱ¤¸¥Õ¥¡¥¤¥ë̾(¥Õ¥ë¥Ñ¥¹¤Ç)¤ò»ý¤Ä¶Ê¤òÄɲ䷤褦¤È¤·¤¿¾ì¹ç¡¢¤³¤Î¹àÌܤ¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢¤½¤Î¶Ê¤ò̵»ë¤¹¤ëÂå¤ï¤ê¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¶Ê¤Î¾ðÊó¤ò¹¹¿·¤·¤Þ¤¹¡£¤â¤·¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤¬¤Ê¤¯¡¢¡Ö¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤òµö¤µ¤Ê¤¤¡×¤Î¹àÌܤòÍ­¸ú¤Ë¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¹¹¿·¤Ï¤Ê¤µ¤ì¤Þ¤»¤ó¡£ ¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢Æ±´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¡¢iPod¾å¤«¤é¤â¾Ãµî¤·¤Þ¤¹¡£ ¤³¤Î¹àÌܤòÍ­¸ú¤Ë¤¹¤ë¤È¡¢gtkpod¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ëé¤ê¤Þ¤¹¡£ ¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È¤ò¼«Æ°Åª¤ËÁªÂò¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤È¡¢µ¯Æ°»þ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤àºÝ¤Ë¤Ï²¿¤âɽ¼¨¤·¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢¥¹¥Ô¡¼¥É¤¬Â®¤¯¤Ê¤ê¤Þ¤¹¡£ ¶Ê¥ê¥¹¥È¤Î¶Ê¤òÆó¤Ä°Ê¾åÁªÂò¤·¤Æ¡¢ºÇ½é¤Î¶Ê¤Î¥¿¥°¤òÊѹ¹¤¹¤ë¤È¾¤Î¶Ê¤Ë¤â¤½¤ÎÊѹ¹¤òŬÍѤ·¤Þ¤¹¡£ '%s' ¤ÎºÆÀ¸²ó¿ô¤òÁý¤ä¤·¤Þ¤·¤¿ ¾ðÊó ÆüËܸì (EUC-JP) ÆüËܸì (ISO-2022-JP) ÆüËܸì (Shift_JIS) ÆüËܸì (¼«Æ°È½ÊÌ) ´Ú¹ñ¸ì (EUC-KR) ºÇ¸å¤ËÊѹ¹¤·¤¿Æü ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü Á°²ó°Ê¹ß ºÇ¸å¤Ë±éÁÕ¤·¤¿Æü ¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë̾¤¬ÉÔÀµ¤Ç¤¹ (%s) ²¼¸Â ²»Î̤ÎÄ´À°ÃÍ °Ê²¼¤Ë³ºÅö¤¹¤ë¤â¤Î¤¹¤Ù¤Æ(_l) Êѹ¹Æü Îɤ¯Ä°¤¯¶Ê (%d) ºÇ¶áºÆÀ¸¤µ¤ì¤¿¶Ê %d¶Ê¤ò°ÜÆ°¤·¤Þ¤·¤¿ PC ¾å¤Ç¤Î¥Õ¥¡¥¤¥ë̾ (ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç) iPod ¾å¤Ç¤Î¥Õ¥¡¥¤¥ë̾ Ä°¤¤¤¿¤³¤È¤¬¤Ê¤¤¶Ê Ʊ´ü½èÍý¤Ç¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤ ¤³¤Î¼ÁÌä¤òÆóÅÙ¤Èɽ¼¨¤·¤Ê¤¤ ¿·µ¬¥×¥ì¥¤¥ê¥¹¥È ¿·µ¬¥×¥ì¥¤¥ê¥¹¥È ³Æ¶Ê¤ÎMD5 ¥Á¥§¥Ã¥¯¥µ¥à¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
 
 °Ê¹ß¤³¤Î¾õ¶·¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢½ÅÊ£¸¡½Ð¤òÍ­¸ú¤Ë¤¹¤ë¤«(¤½¤ì¤Ë¤è¤êMD5¥Á¥§¥Ã¥¯¥µ¥à¤¬Êݸ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹)¡¢gtkpod °Ê³°¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÇiPod¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
 
@@ -297,39 +271,34 @@
 
  ¥ª¥Õ¥é¥¤¥ó¤Ç¤ÎiPod¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: '%s'
 
- ¥ª¥Õ¥é¥¤¥ó¤ÇiPod¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤ß¤Þ¤·¤¿ OK gtkpod ¤Îµ¯Æ°»þ¤Ë 'mount <ipod¤Î¥Þ¥¦¥ó¥È¾ì½ê>' ¤ò¡¢½ªÎ»»þ¤Ë'umount <ipod¤Î¥Þ¥¦¥ó¥È¾ì½ê>' ¤ò¤½¤ì¤¾¤ì¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤è¤êÊ£»¨¤ÊÁàºî¤ò¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢~/.gtkpod/gtkpod.in ¤È ~/.gtkpod/gtkpod.out ¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ³Æ¥¢¥ë¥Ð¥à¤´¤È¤Î¥ê¥¹¥È ³Æ¥¢¡¼¥Æ¥£¥¹¥È¤´¤È¤Î¥ê¥¹¥È ³Æºî¶Ê¼Ô¤´¤È¤Î¥ê¥¹¥È ³Æ¥¸¥ã¥ó¥ë¤´¤È¤Î¥ê¥¹¥È ³Æɾ²ÁÃͤ´¤È¤Î¥ê¥¹¥È ³Æǯ¤´¤È¤Î¥ê¥¹¥È '%s' ¤ò½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤±¤Þ¤»¤ó¡£ ¤¹¤Ç¤Ë¤¢¥¿¥°¾ðÊó¤ò¾å½ñ¤­¤¹¤ë ¤¹¤Ç¤Ë¤¢¥¿¥°¾ðÊó¤ò¾å½ñ¤­¤¹¤ë¡£ ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹: '%s'
- PC¥Õ¥¡¥¤¥ë ¥Ñ¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: '%s' º£¤¹¤°±éÁÕ ±éÁÕ»þ´Ö ±éÁÕ»þ´Ö ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¤·¤Þ¤¹¤«¡© ºÆÀ¸²ó¿ô ±éÁÕÆü ¥×¥ì¥¤¥ê¥¹¥È ¥×¥ì¥¤¥ê¥¹¥È¤Î̾Á°: ºÆÀ¸¥ê¥¹¥È ¿·¤·¤¤¥×¥ì¥¤¥ê¥¹¥È¤Î̾Á°¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ ²¼µ­¤ÎÃí°Õ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ´ü´Ö¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤ ºÆÀ¸²ó¿ô ÀßÄê ÀßÄê¤òŬÍѤ·¤Þ¤·¤¿ ÀßÄê¤Ï¹¹¿·¤µ¤ì¤Þ¤»¤ó ¥Ü¥¿¥ó¤ò²¡¤¹¤ÈÃæ»ß¤·¤Þ¤¹¡£ ¥Ü¥¿¥ó¤ò²¡¤¹¤ÈÃæÃǤ·¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤Ï¸å¤ÇºÆ³«¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£ '%s' ¤Î½èÍýÃæ... ¥é¥ó¥À¥à (%d) ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤é¥é¥ó¥À¥à¤ËºîÀ® ¸½ºß¤Î¥×¥ì¥¤¥ê¥¹¥È¤ò¥é¥ó¥À¥à¤Ëʤٴ¹¤¨¤ë ɾ²Á¤µ¤ì¤¿¶Ê (%d) ɾ²Á Æɤ߹þ¤ß iPod¤Þ¤¿¤Ï¥Ç¥£¥¹¥¯¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤ß¤Þ¤¹ ¥Õ¥¡¥¤¥ë¤«¤é¥¿¥°¾ðÊó¤òÆɤ߹þ¤à (MP3 ¥Õ¥¡¥¤¥ë¤Î ID3 ¥¿¥°¤Ê¤É) Æɤ߹þ¤ß ºÇ¶áÄ°¤¤¤¿¶Ê (%d) ²»Î̤ÎÊäÀµÃÍ(-100¤«¤é+100¤Þ¤Ç) ¤¹¤Ù¤Æ¤Î¶Ê¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü iPod¤«¤é¶Ê¤òºï½ü ¤³¤Î¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü¤·¤Þ¤¹¤«? ¤³¤ì¤é¤Î¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü¤·¤Þ¤¹¤«? ¥ª¥Õ¥é¥¤¥ó¤Ç¤ÎºÆÀ¸²ó¿ô¤òºï½ü¤·¤Þ¤¹¤« ¥ë¡¼¥ë ¥µ¥ó¥×¥ê¥ó¥°¥ì¡¼¥È ¾å¸Â¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï '-1' ¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£ ²¼¸Â¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï '0' ¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£ ¥Õ¥¡¥¤¥ë¤ÎÊݸÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤ ºÆµ¢Åª¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤ ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥È¥¿¥Ö(_E) ¥×¥ì¥¤¥ê¥¹¥È(_P) ÁªÂò¤µ¤ì¤Æ¤¤¤ë¶Ê(_S) ÀßÄê¤ÏÊݸ¤µ¤ì¤Þ¤»¤ó¡£
- ¥µ¥¤¥º '%s' ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤Î¤ÇÈô¤Ð¤·¤Þ¤¹¡£
+ ¥ª¥Õ¥é¥¤¥ó¤ÇiPod¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤ß¤Þ¤·¤¿ OK gtkpod ¤Îµ¯Æ°»þ¤Ë 'mount <ipod¤Î¥Þ¥¦¥ó¥È¾ì½ê>' ¤ò¡¢½ªÎ»»þ¤Ë'umount <ipod¤Î¥Þ¥¦¥ó¥È¾ì½ê>' ¤ò¤½¤ì¤¾¤ì¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤è¤êÊ£»¨¤ÊÁàºî¤ò¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢~/.gtkpod/gtkpod.in ¤È ~/.gtkpod/gtkpod.out ¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ³Æ¥¢¥ë¥Ð¥à¤´¤È¤Î¥ê¥¹¥È ³Æ¥¢¡¼¥Æ¥£¥¹¥È¤´¤È¤Î¥ê¥¹¥È ³Æºî¶Ê¼Ô¤´¤È¤Î¥ê¥¹¥È ³Æ¥¸¥ã¥ó¥ë¤´¤È¤Î¥ê¥¹¥È ³Æɾ²ÁÃͤ´¤È¤Î¥ê¥¹¥È ³Æǯ¤´¤È¤Î¥ê¥¹¥È ¤¹¤Ç¤Ë¤¢¥¿¥°¾ðÊó¤ò¾å½ñ¤­¤¹¤ë ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹: '%s'
+ PC¥Õ¥¡¥¤¥ë º£¤¹¤°±éÁÕ ±éÁÕ»þ´Ö ±éÁÕ»þ´Ö ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¶Ê¤ò±éÁÕ¤·¤Þ¤¹¤«¡© ºÆÀ¸²ó¿ô ±éÁÕÆü ¥×¥ì¥¤¥ê¥¹¥È ¥×¥ì¥¤¥ê¥¹¥È¤Î̾Á°: ºÆÀ¸¥ê¥¹¥È ¿·¤·¤¤¥×¥ì¥¤¥ê¥¹¥È¤Î̾Á°¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ ²¼µ­¤ÎÃí°Õ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ´ü´Ö¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤ ºÆÀ¸²ó¿ô ÀßÄê ÀßÄê¤òŬÍѤ·¤Þ¤·¤¿ ÀßÄê¤Ï¹¹¿·¤µ¤ì¤Þ¤»¤ó ¥Ü¥¿¥ó¤ò²¡¤¹¤ÈÃæ»ß¤·¤Þ¤¹¡£ ¥Ü¥¿¥ó¤ò²¡¤¹¤ÈÃæÃǤ·¤Þ¤¹¡£
+¥Õ¥¡¥¤¥ë¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤Ï¸å¤ÇºÆ³«¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£ '%s' ¤Î½èÍýÃæ... ¥é¥ó¥À¥à (%d) ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê¤«¤é¥é¥ó¥À¥à¤ËºîÀ® ¸½ºß¤Î¥×¥ì¥¤¥ê¥¹¥È¤ò¥é¥ó¥À¥à¤Ëʤٴ¹¤¨¤ë ɾ²Á¤µ¤ì¤¿¶Ê (%d) ɾ²Á Æɤ߹þ¤ß iPod¤Þ¤¿¤Ï¥Ç¥£¥¹¥¯¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÆɤ߹þ¤ß¤Þ¤¹ ¥Õ¥¡¥¤¥ë¤«¤é¥¿¥°¾ðÊó¤òÆɤ߹þ¤à (MP3 ¥Õ¥¡¥¤¥ë¤Î ID3 ¥¿¥°¤Ê¤É) ºÇ¶áÄ°¤¤¤¿¶Ê (%d) ¤¹¤Ù¤Æ¤Î¶Ê¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü iPod¤«¤é¶Ê¤òºï½ü ¤³¤Î¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü¤·¤Þ¤¹¤«? ¤³¤ì¤é¤Î¶Ê¤ò¥×¥ì¥¤¥ê¥¹¥È¤«¤éºï½ü¤·¤Þ¤¹¤«? ¥ª¥Õ¥é¥¤¥ó¤Ç¤ÎºÆÀ¸²ó¿ô¤òºï½ü¤·¤Þ¤¹¤« ¥ë¡¼¥ë ¥µ¥ó¥×¥ê¥ó¥°¥ì¡¼¥È ¾å¸Â¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï '-1' ¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£ ²¼¸Â¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï '0' ¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£ ¥Õ¥¡¥¤¥ë¤ÎÊݸÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤ ºÆµ¢Åª¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤ ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥È¥¿¥Ö(_E) ¥×¥ì¥¤¥ê¥¹¥È(_P) ÁªÂò¤µ¤ì¤Æ¤¤¤ë¶Ê(_S) ¥µ¥¤¥º '%s' ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤Î¤ÇÈô¤Ð¤·¤Þ¤¹¡£
  ¥×¥ì¥¤¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤ÎºÆµ¢Åª¤ÊÅÐÏ¿¤òÈò¤±¤ë¤¿¤á¡¢'%s' ¤ÏÈô¤Ð¤·¤Þ¤¹¡£
  Ʊ¤¸Â礭¤µ¤Î¥Õ¥¡¥¤¥ë¤òÈô¤Ð¤·¤Þ¤¹: '%s'
- ¥¹¥Þ¡¼¥È¥×¥ì¥¤¥ê¥¹¥È ¥µ¥¦¥ó¥É¥Á¥§¥Ã¥¯ °ìÉô¤Î¥Õ¥¡¥¤¥ë¤ÎÄɲä˼ºÇÔ¤·¤Þ¤·¤¿ °ìÉô¤Î¶Ê¤òiPod¤«¤éºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¨¥¯¥¹¥Ý¡¼¥È¤òÃæÃǤ·¤Þ¤¹¡£ °ìÉô¤Î¶Ê¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ °ìÉô¤Î¶Ê¤òiPod¤ËžÁ÷¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¨¥¯¥¹¥Ý¡¼¥È¤òÃæ»ß¤·¤Þ¤¹! ¥½¡¼¥È¥¿¥Ö ¶Ê½ç¤ò¼¡¤Î½ç¤Çʤٴ¹¤¨:  ʤٴ¹¤¨ ¥½¡¼¥È¤ÎÀßÄê ʤٴ¹¤¨¤ÎºÝ¤ËÂçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤¹¤ë ¥½¡¼¥È¥¿¥Ö:  ¥½¡¼¥È¥¿¥Ö ¥µ¥¦¥ó¥É¥Á¥§¥Ã¥¯ ÆîÉô¥è¡¼¥í¥Ã¥Ñ¸ì (ISO-8859-3) ¥¹¥Ú¥·¥ã¥ë ÈϰϤò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤ ɾ²Á (0¤«¤é5) ¼«Æ°Åª¤Ëɽ¼¨¤ò¹¹¿·¤¹¤ë Ãæ»ß ɽ¼¨¤Î¹¹¿·¤ò»ß¤á¤ë ¶Ê¤Î¹¹¿·¤ò´°Î» ¥Õ¥¡¥¤¥ë¤ÎÄɲäËÀ®¸ù¤·¤Þ¤·¤¿ '%s' ¤ËiPod¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤·¤¿¡£ ¤ª¤½¤é¤¯¡¢iPod ¤ËºÆÀ¸Â®ÅÙ¤ÎÊѹ¹¤òÅÁ¤¨¤ë¤¿¤á¤ÎÃÍ ¹¹¿· ¹¹¿· (iTunesDB¤Ø¤Î½ñ¤­¹þ¤ß) ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¹¹¿·¤·¤Þ¤¹¤«¡© ¶Ê¡¢¥«¥ì¥ó¥À¡¼¡¢¥Î¡¼¥È¤òƱ´ü¤¹¤ë ¤¹¤Ù¤ÆƱ´ü ¥«¥ì¥ó¥À¡¼¤òƱ´ü ¶Ê¤òƱ´ü ¥Î¡¼¥È¤òƱ´ü iTunesDB¤ò¹¹¿·¤¹¤ë(_i) ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü Ʊ´ü½èÍý¤ÏÃæÃǤµ¤ì¤Þ¤·¤¿¡£ Ʊ´ü½èÍý¤¬½ªÎ»¤·¤Þ¤·¤¿¡£ Ʊ´ü½èÍý¤¬½ªÎ»¤·¤Þ¤·¤¿¡£ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥Ç¥£¥ì¥¯¥È¥ê '%s' ¤ÎƱ´ü½èÍýÃæ ¥·¥¹¥Æ¥àʸ»ú ¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤Î¼«Æ°Ê¤ٴ¹¤¨¤ò
+ ¥¹¥Þ¡¼¥È¥×¥ì¥¤¥ê¥¹¥È ¥µ¥¦¥ó¥É¥Á¥§¥Ã¥¯ °ìÉô¤Î¥Õ¥¡¥¤¥ë¤ÎÄɲä˼ºÇÔ¤·¤Þ¤·¤¿ °ìÉô¤Î¶Ê¤òiPod¤«¤éºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¨¥¯¥¹¥Ý¡¼¥È¤òÃæÃǤ·¤Þ¤¹¡£ °ìÉô¤Î¶Ê¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ °ìÉô¤Î¶Ê¤òiPod¤ËžÁ÷¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¨¥¯¥¹¥Ý¡¼¥È¤òÃæ»ß¤·¤Þ¤¹! ¶Ê½ç¤ò¼¡¤Î½ç¤Çʤٴ¹¤¨:  ¥½¡¼¥È¤ÎÀßÄê ʤٴ¹¤¨¤ÎºÝ¤ËÂçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤¹¤ë ¥½¡¼¥È¥¿¥Ö:  ¥½¡¼¥È¥¿¥Ö ¥µ¥¦¥ó¥É¥Á¥§¥Ã¥¯ ÆîÉô¥è¡¼¥í¥Ã¥Ñ¸ì (ISO-8859-3) ¥¹¥Ú¥·¥ã¥ë ÈϰϤò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤ ɾ²Á (0¤«¤é5) ¼«Æ°Åª¤Ëɽ¼¨¤ò¹¹¿·¤¹¤ë Ãæ»ß ɽ¼¨¤Î¹¹¿·¤ò»ß¤á¤ë ¶Ê¤Î¹¹¿·¤ò´°Î» ¥Õ¥¡¥¤¥ë¤ÎÄɲäËÀ®¸ù¤·¤Þ¤·¤¿ '%s' ¤ËiPod¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤·¤¿¡£ ¤ª¤½¤é¤¯¡¢iPod ¤ËºÆÀ¸Â®ÅÙ¤ÎÊѹ¹¤òÅÁ¤¨¤ë¤¿¤á¤ÎÃÍ ¹¹¿· ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¹¹¿·¤·¤Þ¤¹¤«¡© ¶Ê¡¢¥«¥ì¥ó¥À¡¼¡¢¥Î¡¼¥È¤òƱ´ü¤¹¤ë ¤¹¤Ù¤ÆƱ´ü ¥«¥ì¥ó¥À¡¼¤òƱ´ü ¶Ê¤òƱ´ü ¥Î¡¼¥È¤òƱ´ü iTunesDB¤ò¹¹¿·¤¹¤ë(_i) ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü Ʊ´ü½èÍý¤ÏÃæÃǤµ¤ì¤Þ¤·¤¿¡£ Ʊ´ü½èÍý¤¬½ªÎ»¤·¤Þ¤·¤¿¡£ Ʊ´ü½èÍý¤¬½ªÎ»¤·¤Þ¤·¤¿¡£ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥Ç¥£¥ì¥¯¥È¥ê '%s' ¤ÎƱ´ü½èÍýÃæ ¥·¥¹¥Æ¥àʸ»ú ¥×¥ì¥¤¥ê¥¹¥È¤ä¥½¡¼¥È¥¿¥Ö¤òÊѹ¹¤·¤¿»þ¤Î¼«Æ°Ê¤ٴ¹¤¨¤ò
 ÍÞÀ©¤¹¤ë (Æ°ºî¤¬Â®¤¯¤Ê¤ë) ¥¿¥¤¸ì (TIS-620) °Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ëÆâÍƤϡ¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü¤µ¤ì¤Þ¤¹:
 
  »ØÄꤵ¤ì¤¿URI '%s' ¤ÏÉÔÀµ¤Ê¥¨¥¹¥±¡¼¥×ʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹ »ØÄꤵ¤ì¤¿URI '%s' ¤ÏÉÔÀµ¤Ç¤¹ »ØÄꤵ¤ì¤¿URI '%s' ¤Ïfile¥¹¥­¡¼¥à¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡¢ÉÔ´°Á´¤ÊURI¤Ç¤¹ ÁªÂò¤òÊѹ¹¤·¤¿»þ¤Ë¡¢¶Ê¤Î¥ê¥¹¥È¤ò¹¹¿·¤·½ª¤ï¤ë¤Þ¤ÇÅÓÃæ·Ð²á¤òɽ¼¨¤·¤Þ¤»¤ó¡£¹¹¿·¤Î¥¹¥Ô¡¼¥É¤Ï®¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤ì¤¬½ª¤ï¤ë¤Þ¤Ç¤Ï²¿¤â¤¹¤ë»ö¤¬¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÀßÄê¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢Ê¤ٴ¹¤¨¤Ï°ì»þŪ¤Ë¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹ (¾å¤ÎÀßÄê¤ò»²¾È)¡£ °Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òƱ´ü¤µ¤»¤Þ¤¹:
 
  °Ê²¼¤Î½ÅÊ£¤·¤¿%d¶Ê¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ °Ê²¼¤Î½ÅÊ£¤·¤¿%d¶Ê¤Ï¥Þ¥¹¥¿¡¼¥×¥ì¥¤¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ °Ê²¼¤ÎÌäÂ꤬ȯÀ¸¤·¤Þ¤·¤¿: °Ê²¼¤Î%d¶Ê¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ °Ê²¼¤Î%d¶Ê¤ò¹¹¿·¤·¤Þ¤·¤¿ »ØÄꤵ¤ì¤¿URI '%s' ¤Î¥Û¥¹¥È̾¤¬ÉÔÀµ¤Ç¤¹ ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤ò»Ø¤¹URI '%s' ¤Ë¤Ï '#' ¤Ï´Þ¤Þ¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó ¥¿¥°¤Ï»È¤Ã¤Æ¤¤¤ë¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤È(²Äǽ¤Ç¤¢¤ì¤Ð)iPod¤ÎξÊý¤Ç½¤Àµ¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¼ïÎà¤Î¥É¥é¥Ã¥°&¥É¥í¥Ã¥× (DND type %d) ¤Ï̤Âбþ¤Ç¤¹¡£¤â¤·¤³¤ÎÁàºî¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬Í­ÍѤÀ¤È¤ª¹Í¤¨¤Ç¤·¤¿¤é¡¢ºî¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£
 
- ¡ÖÊÔ½¸/ºï½ü¤Î³Îǧ¡×¤Î¹àÌܤÈƱ¤¸¤Ç¤¹ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡ÖÆþ½ÐÎϡפΥ¿¥ÖÃæ¤Î¡ÖÄɲÃ/¹¹¿·/Ʊ´ü¡×¤ÎÃæ¤Ë¤¢¤ë¡ÖƱ´ü¸µ¤Çºï½ü¤µ¤ì¤¿¶Ê¤ò¾Ãµî¤¹¤ë¡×¤Î¹àÌܤòÀßÄꤷ¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£ ¤³¤Î¥×¥í¥°¥é¥à¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£¤¢¤Ê¤¿¤Ï¤³¤ì¤ò¡¢¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢ºâÃĤˤè¤Ã¤Æȯ¹Ô¤µ¤ì¤¿ GNU °ìÈ̸ø½°ÍøÍѵöÂú·ÀÌó½ñ(¥Ð¡¼¥¸¥ç¥ó2¤«¡¢´õ˾¤Ë¤è¤Ã¤Æ¤Ï¤½¤ì°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¤¦¤Á¤É¤ì¤«)¤ÎÄê¤á¤ë¾ò·ï¤Î²¼¤ÇºÆÈÒÉÛ¤Þ¤¿¤Ï²þÊѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ ¡ÖÊÔ½¸/ºï½ü¤Î³Îǧ¡×¤Î¹àÌܤÈƱ¤¸¤Ç¤¹ ¤³¤Î¥×¥í¥°¥é¥à¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£¤¢¤Ê¤¿¤Ï¤³¤ì¤ò¡¢¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢ºâÃĤˤè¤Ã¤Æȯ¹Ô¤µ¤ì¤¿ GNU °ìÈ̸ø½°ÍøÍѵöÂú·ÀÌó½ñ(¥Ð¡¼¥¸¥ç¥ó2¤«¡¢´õ˾¤Ë¤è¤Ã¤Æ¤Ï¤½¤ì°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¤¦¤Á¤É¤ì¤«)¤ÎÄê¤á¤ë¾ò·ï¤Î²¼¤ÇºÆÈÒÉÛ¤Þ¤¿¤Ï²þÊѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
 ¤³¤Î¥×¥í¥°¥é¥à¤ÏÍ­ÍѤǤ¢¤ë¤³¤È¤ò´ê¤Ã¤ÆÈÒÉÛ¤µ¤ì¤Þ¤¹¤¬¡¢*Á´¤¯¤Î̵ÊݾÚ*¤Ç¤¹¡£¾¦¶È²ÄǽÀ­¤ÎÊݾڤäÆÃÄê¤ÎÌÜŪ¤Ø¤ÎŬ¹çÀ­¤Ï¡¢¸À³°¤Ë¼¨¤µ¤ì¤¿¤â¤Î¤â´Þ¤áÁ´¤¯Â¸ºß¤·¤Þ¤»¤ó¡£¾Ü¤·¤¯¤ÏGNU °ìÈ̸ø½°ÍøÍѵöÂú·ÀÌó½ñ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
 
 ¤¢¤Ê¤¿¤Ï¤³¤Î¥×¥í¥°¥é¥à¤È¶¦¤Ë¡¢GNU °ìÈ̸ø½°ÍøÍѵöÂú·ÀÌó½ñ¤ÎÊ£À½Êª¤ò°ìÉô¼õ¤±¼è¤Ã¤¿¤Ï¤º¤Ç¤¹¡£¤â¤·¼õ¤±¼è¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢ºâÃĤޤÇÀÁµá¤·¤Æ¤¯¤À¤µ¤¤(°¸Àè¤Ï the Free Software Foundation, Inc., 59 Temple Place,Suite 330, Boston, MA 02111-1307 USA)¡£
 
 
- ±éÁÕ»þ´Ö »þ¹ï: ¥¿¥¤¥È¥ë ¥Ä¡¼¥ë¥Ð¡¼ ¥Ä¡¼¥ë¥Á¥Ã¥× ¶Ê¤ÎÊÔ½¸ ¥È¥é¥Ã¥¯No.(#) ¶ÊÈֹ椪¤è¤Ó CD ¤ÎÁí¶Ê¿ô ¶Ê¤Î±éÁÕ ¶ÊÈÖ¹æ ¶Ê¥ê¥¹¥È ºÆÀ¸²ó¿ô¤Î¿¤¤¶Ê žÁ÷ºÑ¤ß ËÝÌõôÅö žÁ÷ºÑ¤ß ¥È¥ë¥³¸ì (IBM-857) ¥È¥ë¥³¸ì (ISO-8859-9) ¥È¥ë¥³¸ì (Windows-1254) "mkdir %s" ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
+ ±éÁÕ»þ´Ö »þ¹ï: ¥¿¥¤¥È¥ë ¥È¥é¥Ã¥¯No.(#) ¶ÊÈֹ椪¤è¤Ó CD ¤ÎÁí¶Ê¿ô ¶ÊÈÖ¹æ ¶Ê¥ê¥¹¥È ºÆÀ¸²ó¿ô¤Î¿¤¤¶Ê žÁ÷ºÑ¤ß ËÝÌõôÅö žÁ÷ºÑ¤ß ¥È¥ë¥³¸ì (IBM-857) ¥È¥ë¥³¸ì (ISO-8859-9) ¥È¥ë¥³¸ì (Windows-1254) "mkdir %s" ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
  '%s' ¤òÆɤ߹þ¤ß¤Î¤¿¤á¤Ë³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó
  ¥Õ¥¡¥¤¥ë "%s" ¤ò³«¤±¤Þ¤»¤ó
  ÀßÄê¥Õ¥¡¥¤¥ë "%s" ¤ò³«¤±¤Þ¤»¤ó
  Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) ÉÔÌÀ ÉÔÌÀ¤Ê¥ª¥×¥·¥ç¥ó: %s
  '%s' (¥Æ¥ó¥×¥ì¡¼¥È '%s' Ãæ) ¤Ï̤ÃΤΤâ¤Î¤Ç¤¹¡£
- ̤ɾ²Á¤Î¶Ê ¹¹¿· mserv ¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë(_m) ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¹¹¿·¤·¤Þ¤¹¤«¡© ÁªÂò¤µ¤ì¤¿¶Ê¤Î¾ðÊó¤ò¡¢¥Õ¥¡¥¤¥ë¤ò¸µ¤Ë¹¹¿·¤·¤Þ¤·¤¿¡£ %s ¤ò¹¹¿·Ãæ ¾å¸Â ¥¿¥¤¥È¥ë¤Î¹àÌܤâ¡Ö°ìÀÆÊÔ½¸¡×¤ò²Äǽ¤Ë¤¹¤ë ÁªÂò¤µ¤ì¤¿¶Ê¤ò¡Ö°ìÀÆÊÔ½¸¡×¤¹¤ë ÁªÂò¤µ¤ì¤¿¶Ê¤ò¡Ö°ìÀÆÊÔ½¸¡×¤¹¤ë »ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É (¡ÖÀßÄê¡×Æâ¡ÖÅÐÏ¿/¹¹¿·/Ʊ´ü¡×¤ò»²¾È)
-¤ò¥Õ¥¡¥¤¥ë̾¤Ë¤â»ÈÍѤ¹¤ë¡£ ¡Ö´ðËÜÀßÄê¡×¤Î¥Ú¡¼¥¸¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò
-¥¿¥°¤ÎÆɤ߽ñ¤­¤Ë¤â»ÈÍѤ¹¤ë ¡Ö¥¤¥ó¥Ý¡¼¥È¡×¤Î¥Ú¡¼¥¸¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò
-¥¿¥°¤Ë»ÈÍѤ¹¤ë »ØÄꤷ¤¿Ê¸»ú¥³¡¼¥É¤ò¹¹¿·/Ʊ´ü½èÍý¤ÎºÝ¤Ë¤â»ÈÍѤ¹¤ë ÁªÂò¤µ¤ì¤¿Ê¸»ú¥³¡¼¥É¤ò¹¹¿·¡¦Æ±´ü½èÍý¤Ç¤â»ÈÍѤ¹¤ë °Ê²¼¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢¥Õ¥¡¥¤¥ë̾¤«¤é¥¿¥°¾ðÊó¤òÃê½Ð¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë °Ê²¼¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢¥Õ¥¡¥¤¥ë̾¤«¤é¥¿¥°¾ðÊó¤òÃê½Ð¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë: ¥æ¡¼¥¶¡¼Ì¾: ÉáÄ̤ÏÊ£¿ô¤Î¶Ê¤Î¥¿¥¤¥È¥ë¤òƱ¤¸¤â¤Î¤Ë¤¹¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤ÈÂçÄñ¤Ï˾¤Þ¤·¤¯¤Ê¤¤·ë²Ì¤òÆÀ¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£(Æäˡ¢º£¤Î¤È¤³¤í¡Ö¤ä¤êľ¤·¡×¤Ï¸ú¤«¤Ê¤¤¤Î¤Ç¡¢ÁªÂò¤¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó) ¥Ù¥È¥Ê¥à¸ì (VISCII) ¥Ù¥È¥Ê¥à¸ì (Windows-1258) »ë³Ð·Ý½Ñ¸þ¤±¥Ø¥Ö¥é¥¤¸ì (ISO-8859-8) ²»ÎÌ ²»ÎÌ ²»Î̤ÎÊ¿¶Ñ²½ ²»Î̤ÎÄ´À°ÃÍ (dB) ¡½ iPod ¤ÎÀßÄê¤Ç¡Ö¥µ¥¦¥ó¥É¥Á¥§¥Ã¥¯¡×¤ò ON ¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹ ·Ù¹ð À¾ÍÎ (IBM-850) À¾ÍÎ (ISO-8859-1) À¾ÍÎ (ISO-8859-15) À¾ÍÎ (Windows-1252) ¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ëºÝ¤Ë¡¢Æ±¤¸¥Õ¥¡¥¤¥ë̾¤ò
-»ý¤Ã¤¿¶Ê¤¬¤¹¤Ç¤Ë¤¢¤Ã¤¿¤é¤½¤Á¤é¤ò¹¹¿·¤¹¤ë ¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ëºÝ¤Ë¡¢Æ±¤¸¥Õ¥¡¥¤¥ë̾¤Î
-¶Ê¤¬¤¹¤Ç¤Ë¤¢¤Ã¤¿¤é¾ì¹ç¤Ë¤Ï¡¢¤½¤Á¤é¤ò¹¹¿·¤¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü½èÍý»þ iPod¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤·¤¿¾ì½ê¡£Î㤨¤Ð '/mnt/ipod/' ¤Ê¤É¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤¬ iPod ¤ËžÁ÷ºÑ¤ß¤«¤É¤¦¤«¤ò¼¨¤¹ ¸½ºß¼Â¹ÔÃæ¤Î mp3gain ¤¬½ªÎ»¼¡Âè¡¢½èÍý¤òÃæ»ß¤·¤Þ¤¹¡£ ¤³¤ì¤Þ¤Ç¤ÎÊѹ¹ÅÀ¤òiPod¤Þ¤¿¤Ï¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ß¤Þ¤¹ gtkpodÆâ¤ÇÊѹ¹¤¬¤¢¤Ã¤¿ID3¥¿¥°¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤à ³ÈÄ¥¾ðÊó(PC¾å¤Î¥Õ¥¡¥¤¥ë̾,MD5ÃÍ,ʸ»ú¥³¡¼¥É)¤ò½ñ¤­¹þ¤à¡£
-¿ä¾©¤µ¤ì¤ëÀßÄê¤Ç¤¹¡£ '%s'¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£(%s) '%s'¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£ ǯ ɽ¤Î¥Ø¥Ã¥À¤òÁàºî¤·¤Æ¤âʤٴ¹¤¨¤Ï¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤Îµ¡Ç½¤ò»È¤¦¤È¡¢É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¹àÌܤò»È¤Ã¤Æʤٴ¹¤¨¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ gtkpod¤Ë¤Ä¤¤¤Æ(_A) ¤¹¤Ù¤Æ¤Î¶Ê(_A) ¥½¡¼¥È¥¿¥Ö¤òºÆÇÛÃÖ(_A) ʸ»ú¥³¡¼¥É(_C) (ID3,¥Õ¥¡¥¤¥ë): iPod ¤Î¥Á¥§¥Ã¥¯(_C) ¥×¥ì¥¤¥ê¥¹¥ÈºîÀ®(_C) iPod¤Î½é´üÀßÄê(_C) ¶Ê¤Ï»Ä¤·¤¿¤Þ¤Þºï½ü(_D) iPod¤«¤é´°Á´¤Ëºï½ü(_D) ɽ¼¨(_D) ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê(_D) ÊÔ½¸(_E) ÀßÄê(_E) ±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë(_E) ¥Õ¥¡¥¤¥ë(_F) ¥Ø¥ë¥×(_H) ¥ë¡¼¥ë¤ò̵»ë ¾ðÊó(_I) Æþ½ÐÎÏ(_I) ¥½¡¼¥È¥¿¥Ö¤Îºï½ü(_L) À©¸Â (_L) ¥½¡¼¥È¥¿¥Ö¤ÎÄɲÃ(_M) ¿·¤¿¤ËÄɲ䵤줿¶Ê(_N) ¥Ü¥ê¥å¡¼¥à¤ÎÊ¿¶Ñ²½ ¥½¡¼¥È¥¿¥Ö¤Î¿ô(_N): ¥ª¥Õ¥é¥¤¥ó(_O) º£¤¹¤°±éÁÕ(_P) iTunesDB¤òÆɤ߹þ¤à(_R) ¸½ºß¤Î¶Ê½ç¤òÊݸ(_S) ʤٴ¹¤¨(_S) ¥Ç¥£¥ì¥¯¥È¥ê¤òƱ´ü¤µ¤»¤ë(_S) ¥Ä¡¼¥ë¥Ð¡¼(_T) ¥Ä¡¼¥ë(_T) ¥Ä¡¼¥ë¥Á¥Ã¥×(_T) ¥Õ¥¡¥¤¥ë¤ò¸µ¤Ë¶Ê¤ò¹¹¿·¤¹¤ë(_U) ɽ¼¨(_V) ¥¢¥ë¥Ð¥à ¥¢¡¼¥Æ¥£¥¹¥È ¥¢¡¼¥Æ¥£¥¹¥È: %a, ¥¢¥ë¥Ð¥à: %A, ºî¶Ê¼Ô: %c, ¥¿¥¤¥È¥ë: %t, ¥¸¥ã¥ó¥ë: %G, ¥È¥é¥Ã¥¯ÈÖ¹æ: %T, CD ÈÖ¹æ: %C, ǯ: %Y, ¥¹¥­¥Ã¥×: %*, ¥Ñ¡¼¥»¥ó¥Èµ­¹æ: %%¡£¤¤¤¯¤Ä¤«¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò';' ¤Ç¶èÀڤäÆʤ٤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£ºÇ½é¤Ë¹ç¤Ã¤¿¥Æ¥ó¥×¥ì¡¼¥È¤¬»È¤ï¤ì¤Þ¤¹¡£Îã: '%a - %A/%T %t.mp3;%t.wav'. ¤¬¼¡¤Î¤â¤Î¤ò´Þ¤à ¥³¥Ô¡¼Ãæ... Æü ºï½üÃæ... ¤¬¼¡¤Î¤â¤Î¤ò´Þ¤Þ¤Ê¤¤ ¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×: '%s'¤Ï̵»ë¤·¤Þ¤¹
+ ̤ɾ²Á¤Î¶Ê ¹¹¿· mserv ¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë(_m) ¤É¤Î¥½¡¼¥È¥¿¥Ö¤ÇÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¹¹¿·¤·¤Þ¤¹¤«¡© ÁªÂò¤µ¤ì¤¿¶Ê¤Î¾ðÊó¤ò¡¢¥Õ¥¡¥¤¥ë¤ò¸µ¤Ë¹¹¿·¤·¤Þ¤·¤¿¡£ %s ¤ò¹¹¿·Ãæ ¾å¸Â ¥¿¥¤¥È¥ë¤Î¹àÌܤâ¡Ö°ìÀÆÊÔ½¸¡×¤ò²Äǽ¤Ë¤¹¤ë ÁªÂò¤µ¤ì¤¿¶Ê¤ò¡Ö°ìÀÆÊÔ½¸¡×¤¹¤ë »ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É (¡ÖÀßÄê¡×Æâ¡ÖÅÐÏ¿/¹¹¿·/Ʊ´ü¡×¤ò»²¾È)
+¤ò¥Õ¥¡¥¤¥ë̾¤Ë¤â»ÈÍѤ¹¤ë¡£ °Ê²¼¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢¥Õ¥¡¥¤¥ë̾¤«¤é¥¿¥°¾ðÊó¤òÃê½Ð¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë: ¥æ¡¼¥¶¡¼Ì¾: ÉáÄ̤ÏÊ£¿ô¤Î¶Ê¤Î¥¿¥¤¥È¥ë¤òƱ¤¸¤â¤Î¤Ë¤¹¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤ÈÂçÄñ¤Ï˾¤Þ¤·¤¯¤Ê¤¤·ë²Ì¤òÆÀ¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£(Æäˡ¢º£¤Î¤È¤³¤í¡Ö¤ä¤êľ¤·¡×¤Ï¸ú¤«¤Ê¤¤¤Î¤Ç¡¢ÁªÂò¤¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó) ¥Ù¥È¥Ê¥à¸ì (VISCII) ¥Ù¥È¥Ê¥à¸ì (Windows-1258) »ë³Ð·Ý½Ñ¸þ¤±¥Ø¥Ö¥é¥¤¸ì (ISO-8859-8) ²»ÎÌ ²»ÎÌ ²»Î̤ÎÄ´À°ÃÍ (dB) ¡½ iPod ¤ÎÀßÄê¤Ç¡Ö¥µ¥¦¥ó¥É¥Á¥§¥Ã¥¯¡×¤ò ON ¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹ ·Ù¹ð À¾ÍÎ (IBM-850) À¾ÍÎ (ISO-8859-1) À¾ÍÎ (ISO-8859-15) À¾ÍÎ (Windows-1252) ¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲ乤ëºÝ¤Ë¡¢Æ±¤¸¥Õ¥¡¥¤¥ë̾¤Î
+¶Ê¤¬¤¹¤Ç¤Ë¤¢¤Ã¤¿¤é¾ì¹ç¤Ë¤Ï¡¢¤½¤Á¤é¤ò¹¹¿·¤¹¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤ÎƱ´ü½èÍý»þ iPod¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤·¤¿¾ì½ê¡£Î㤨¤Ð '/mnt/ipod/' ¤Ê¤É¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤¬ iPod ¤ËžÁ÷ºÑ¤ß¤«¤É¤¦¤«¤ò¼¨¤¹ ¸½ºß¼Â¹ÔÃæ¤Î mp3gain ¤¬½ªÎ»¼¡Âè¡¢½èÍý¤òÃæ»ß¤·¤Þ¤¹¡£ ¤³¤ì¤Þ¤Ç¤ÎÊѹ¹ÅÀ¤òiPod¤Þ¤¿¤Ï¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ß¤Þ¤¹ gtkpodÆâ¤ÇÊѹ¹¤¬¤¢¤Ã¤¿ID3¥¿¥°¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤à ǯ ɽ¤Î¥Ø¥Ã¥À¤òÁàºî¤·¤Æ¤âʤٴ¹¤¨¤Ï¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤Îµ¡Ç½¤ò»È¤¦¤È¡¢É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¹àÌܤò»È¤Ã¤Æʤٴ¹¤¨¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ gtkpod¤Ë¤Ä¤¤¤Æ(_A) ¤¹¤Ù¤Æ¤Î¶Ê(_A) ¥½¡¼¥È¥¿¥Ö¤òºÆÇÛÃÖ(_A) iPod ¤Î¥Á¥§¥Ã¥¯(_C) ¥×¥ì¥¤¥ê¥¹¥ÈºîÀ®(_C) iPod¤Î½é´üÀßÄê(_C) ɽ¼¨(_D) ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¶Ê(_D) ÊÔ½¸(_E) ÀßÄê(_E) ±éÁÕ¥­¥å¡¼¤ËÆþ¤ì¤ë(_E) ¥Õ¥¡¥¤¥ë(_F) ¥Ø¥ë¥×(_H) ¥ë¡¼¥ë¤ò̵»ë ¾ðÊó(_I) ¥½¡¼¥È¥¿¥Ö¤Îºï½ü(_L) À©¸Â (_L) ¥½¡¼¥È¥¿¥Ö¤ÎÄɲÃ(_M) ¿·¤¿¤ËÄɲ䵤줿¶Ê(_N) ¥Ü¥ê¥å¡¼¥à¤ÎÊ¿¶Ñ²½ ¥½¡¼¥È¥¿¥Ö¤Î¿ô(_N): ¥ª¥Õ¥é¥¤¥ó(_O) º£¤¹¤°±éÁÕ(_P) iTunesDB¤òÆɤ߹þ¤à(_R) ¸½ºß¤Î¶Ê½ç¤òÊݸ(_S) ʤٴ¹¤¨(_S) ¥Ç¥£¥ì¥¯¥È¥ê¤òƱ´ü¤µ¤»¤ë(_S) ¥Ä¡¼¥ë¥Ð¡¼(_T) ¥Ä¡¼¥ë(_T) ¥Ä¡¼¥ë¥Á¥Ã¥×(_T) ¥Õ¥¡¥¤¥ë¤ò¸µ¤Ë¶Ê¤ò¹¹¿·¤¹¤ë(_U) ɽ¼¨(_V) ¥¢¥ë¥Ð¥à ¥¢¡¼¥Æ¥£¥¹¥È ¥¢¡¼¥Æ¥£¥¹¥È: %a, ¥¢¥ë¥Ð¥à: %A, ºî¶Ê¼Ô: %c, ¥¿¥¤¥È¥ë: %t, ¥¸¥ã¥ó¥ë: %G, ¥È¥é¥Ã¥¯ÈÖ¹æ: %T, CD ÈÖ¹æ: %C, ǯ: %Y, ¥¹¥­¥Ã¥×: %*, ¥Ñ¡¼¥»¥ó¥Èµ­¹æ: %%¡£¤¤¤¯¤Ä¤«¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò';' ¤Ç¶èÀڤäÆʤ٤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£ºÇ½é¤Ë¹ç¤Ã¤¿¥Æ¥ó¥×¥ì¡¼¥È¤¬»È¤ï¤ì¤Þ¤¹¡£Îã: '%a - %A/%T %t.mp3;%t.wav'. ¤¬¼¡¤Î¤â¤Î¤ò´Þ¤à ¥³¥Ô¡¼Ãæ... Æü ºï½üÃæ... ¤¬¼¡¤Î¤â¤Î¤ò´Þ¤Þ¤Ê¤¤ ¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×: '%s'¤Ï̵»ë¤·¤Þ¤¹
  ¤¬¼¡¤Î¤â¤Î¤Ç½ª¤ï¤ë ¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó Âбþ¤·¤Æ¤¤¤Ê¤¤·Á¼°¤Ç¤¹ ¥¸¥ã¥ó¥ë gtkpod gtkpod¤Ï¤³¤³¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤¬¡¢ID3¤Î¥¿¥°¤ä¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î¤È¤·¤Æ½èÍý¤·¤Þ¤¹¡£¡Ö¥Õ¥¡¥¤¥ë¤ÎÄɲáפä¡Ö¥Ç¥£¥ì¥¯¥È¥ê¤´¤ÈÄɲáפò¼Â¹Ô¤¹¤ëÁ°¤Ë¤³¤ÎÀßÄê¤òÊѹ¹¤¹¤ì¤Ð¡¢¤³¤ì¤é¤Î½èÍý¤ËÀßÄ꤬ȿ±Ç¤µ¤ì¤Þ¤¹¡£¡Ö¥·¥¹¥Æ¥àʸ»ú¡×¤òÁªÂò¤¹¤ë¤È¡¢¥í¥±¡¼¥ë¤Ç»ØÄꤵ¤ì¤¿¥³¡¼¥É¤¬»È¤ï¤ì¤Þ¤¹¡£ gtkpod version %s »È¤¤Êý:
  ɾ²Á¤Î¹â¤¤¶Ê »þ´Ö iPod¤«¤é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£
 

Modified: gtkpod/branches/upstream/current/po/ja.po
===================================================================
--- gtkpod/branches/upstream/current/po/ja.po	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/ja.po	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 '/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¤Î¥Þ¥¦¥ó¥È¾ì½ê>' ¤ò¡¢½ªÎ»»þ¤Ë'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/branches/upstream/current/po/sv.gmo
===================================================================
--- gtkpod/branches/upstream/current/po/sv.gmo	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/sv.gmo	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,96 +1,113 @@
-Þ•    |     ü  ©  Ü7      €J     J     ƒJ     ˆJ     ŽJ  n   •J  €   K  E   …K  I   ËK     L     !L     @L     _L  ;   ~L  %   ºL  3   àL  À   M  4   ÕM     
-N     N     N     +N  *   4N  
-   _N  H   mN     ¶N     ÏN  
-   çN     õN     	O     O  &   *O     QO  _   hO  9   ÈO  *   P  ,   -P  q   ZP     ÌP     åP  /   íP  +   Q     IQ     _Q     yQ  ,   “Q     ÀQ  %   ÞQ  ,   R  -   1R      _R  &   €R     §R     ÇR  -   çR  &   S  +   <S  &   hS  "   S  '   ²S  $   ÚS     ÿS  '   T  +   ET  R   qT  .   ÄT  ,   óT      U  p   6U     §U     ©U     «U     ¯U  
-   »U     ÆU     àU     þU     V     V     V     V     V     V     V     V     >V     ^V     }V  !   ˜V  
-   ºV     ÈV     ÔV     àV     ñV     ýV     W     'W     6W     FW     [W     wW     „W     ˆW  "   ŒW     ¯W     »W     ÈW  	   äW     îW  
-   X     X  
-   $X  
-   /X     =X     YX     pX     vX  F   ŽX     ÕX     îX     ôX     Y  	   Y     "Y  !   ?Y  %   aY     ‡Y  9   “Y  /   ÍY  J   ýY  G   HZ     Z     ™Z     ªZ     ¾Z  ]  ÔZ  _  2\  _  ’]  C  ò^  ;  6`  2   ra  =   ¥a  :   ãa  O  b  ˜   nc  2   d     :d  R   Ad  R   ”d  	   çd  
-   ñd  $   üd     !e  (   :e     ce  ‹   {e     f     	f     
-f     "f     6f  3   Lf  /   €f  A   °f  @   òf  (   3g  $   \g  .   g     °g     Àg     Òg  <   Úg     h     h     !h  %   'h     Mh     Qh     Zh  .   qh      h     ¿h     Æh     æh  ¤    i     ¥i  
-   Ãi     Îi     ãi     þi     j  0   <j  -   mj     ›j     ¸j     Ôj      ïj  ;   k  T   Lk  P   ¡k  .   òk     !l     &l     Bl     _l     vl  -   Žl  *   ¼l      çl     m     m     m     "m     +m     Jm     fm     ƒm     ™m     µm     Ìm     èm  6   n  .   :n  !   in  %   ‹n  *   ±n  #   Ün  .    o  D  /o  o   tp     äp  /   q  9   4q  -   nq  =   œq  !   Úq  '   üq  =   $r  2   br  !   •r     ·r     Ër     àr     ör     s  ;   "s  J   ^s  A   ©s     ës     
-t  #   t  #   6t     Zt     mt     ƒt     ™t     «t     Ãt     Ýt  ;   ùt     5u  .   Eu  1   tu  7   ¦u  <   Þu  G   v  D   cv  
-   ¨v  "   ³v  *   Öv  (   w  0   *w  
-   [w     iw     uw     Œw     ¡w     ¶w     Ëw     àw     ñw  "   	x  "   ,x  E   Ox  8   •x  $   Îx  H   óx  M   <y  ?   Šy     Êy  `   ày  x   Az  G   ºz     {  
-   {  ’  {    ¯|  8   M~     †~     ‹~     —~  8   Ÿ~  3   Ø~  &     %   3  !   Y  (   {  J   ¤     ï     €      "€  5   C€     y€     Š€     ¦€  ;   À     ÿ€  %     ,   9     f     k  \        ܁     ñ  J    ‚     K‚     ^‚  3   f‚  R   š‚      í‚  2   ƒ     Aƒ  $   Xƒ  $   }ƒ     ¢ƒ  !   ¼ƒ     Þƒ     ûƒ  &   „  #   @„     d„  !   ƒ„     ¥„  (   ½„  #   æ„  (   
-…      3…  X   T…  +   ­…     Ù…     í…  *   †  	   1†     ;†  	   Q†     [†     o†     ‹†     †  s   £†     ‡  d   3‡  ^   ˜‡  .   ÷‡  6   &ˆ  2   ]ˆ     ˆ     “ˆ     —ˆ     Ÿˆ  A   ¥ˆ  ^   çˆ     F‰     Y‰     n‰  (   w‰  :    ‰  .   Û‰     
-Š  ž   'Š     ÆŠ     ׊  /  íŠ  9   Œ     WŒ     ZŒ  1   ]Œ  p   Œ  z      K  {  z   ÇŽ  G   B     Š  ƒ     5   Ÿ     Ր     ܐ     m‘     Š‘  š   –‘  N   1’     €’  ]   Ÿ’     ý’     “     &“     ;“     Z“  E   p“  +   ¶“  F   â“     )”  [   H”     ¤”     ©”  
-   ¹”     Ç”  	   Ó”     Ý”  U   é”     ?•     N•     T•      c•  $   „•  $   ©•     Ε     ì•     ù•     ü•     –  	   -–     7–     S–     o–     Š–     –     ˜–     «–     Ç–     ç–     ó–       —     !—     :—  #   I—     m—     Œ—     “—  Ø    —     y˜  I  ‘˜      Û™     ü™  *   š     :š  ƒ   Jš     Κ     ãš  )   ùš     #›     :›     M›     a›  4   q›     ¦›     ›     Ù›     Þ›  *   ó›  /   œ  	   Nœ  5   Xœ  7   Žœ     Æœ  «  Õœ  Ú  ž  á  \   
-   >¢  4   I¢  3   ~¢  +   ²¢     Þ¢     ò¢    £  $   ¤     1¤  )   E¤     o¤  (   €¤  †   ©¤  '   0¥  ,   X¥     …¥     ’¥  =   ¢¥  F   ॠ I   '¦  '   q¦  +   ™¦  +   Ŧ     ñ¦  ×   ô¦     ̧     ߧ     ó§     	¨     ¨     0¨  #   B¨     f¨  #   o¨  $   “¨      ¸¨     Ù¨  ]   ᨠ    ?©  D   U©  E   š©     à©  	   é©  	   ó©  0   ý©  	   .ª     8ª     ?ª     Hª     Wª  	   fª  (   pª  !   ™ª  #   »ª  $   ߪ  &   «  &   +«  $   R«     w«  Z   –«     ñ«     ø«     ¬     ¬     0¬  ?   G¬  &   ‡¬     ®¬  C   Á¬     ­  %   ­     7­     R­     [­     b­  %   g­  9   ­     Ç­     Ï­  0   Û­  <   ®     I®     i®  8   …®  D   ¾®     ¯  '   ¯  #   F¯     j¯  2   ƒ¯     ¶¯  F   ¼¯  
-   °     °     .°  #   M°  #   q°  %   •°  )   »°     å°     ÷°     ±     ±     .±     ?±  4   X±     ±  )   ’±  8   ¼±  .   õ±     $²     3²  &   ;²  ?   b²     ¢²     3³     ³³  5   г  	   ´     ´     +´     3´     C´  	   Z´     d´  
-   m´     x´     €´     œ´  j   ¤´     µ      µ     8µ  D   Tµ     ™µ     žµ     ²µ     ʵ  .   ãµ  S   ¶  >   f¶     ¥¶     ª¶  	   Ŷ  .   ϶  (   þ¶     '·     7·     L·     a·     s·     ‰·     ¡·     ±·  $   Ä·  '   é·     ¸     (¸     7¸     :¸  .   F¸     u¸  I   ¸     Ù¸  W   è¸  H   @¹  2   ‰¹     ¼¹  9   Ô¹  Ï   º  ×   Þº    ¶»  1   ɼ  d   û¼  ˜   `½     ù½  q   ¾  G   †¾  Y   ξ  D   (¿  U   m¿  N   ÿ  7   À  '   JÀ  €   rÀ  -   óÀ  S   !Á  9   uÁ  v   ¯Á  8   &  K  _  ¤   «Ã  9   PÄ  7   ŠÄ  ¦  ÂÄ     iÇ     nÇ     tÇ     zÇ     ‚Ç     ‹Ç  
-   ˜Ç     ¦Ç  1   ¬Ç  
-   ÞÇ     ìÇ  *   ùÇ  
-   $È     2È     ?È     FÈ     dÈ     pÈ     |È     „È     –È     «È     ÂÈ      ØÈ      ùÈ  ,   É     GÉ     ZÉ     mÉ     €É     “É     £É     ³É  7   »É     óÉ  %   Ê  $   -Ê  %   RÊ      xÊ     ™Ê     ¨Ê     ¯Ê  (   ÌÊ  -   õÊ  ,   #Ë     PË     \Ë  %   iË  %   Ë  &   µË  1   ÜË  4   Ì  P   CÌ  >   ”Ì  >   ÓÌ  :   Í  :   MÍ  7   ˆÍ  8   ÀÍ  .   ùÍ  	   (Î  
-   2Î  Ÿ   =Î     ÝÎ     ñÎ     Ï     &Ï     +Ï     2Ï  R   GÏ  `   šÏ     ûÏ     Ð     Ð     *Ð     @Ð  W   WÐ  V   ¯Ð    Ñ      Ò  J   9Ò  @   „Ò  .   ÅÒ     ôÒ  .   Ó  M   >Ó     ŒÓ     ©Ó     ÁÓ  :   ÅÓ      Ô  l   Ô  $  rÔ    —Õ  
-  ®Ö     ¹Ø     ÀØ     ÌØ     ßØ     öØ     
-Ù     Ù     7Ù     OÙ     lÙ     uÙ     ‡Ù     Ù     ŸÙ     ¨Ù     ®Ù  
-   ´Ù     ÂÙ  
-   ÏÙ     ÝÙ  	   íÙ     ÷Ù     þÙ     Ú     Ú     'Ú     9Ú     OÚ     XÚ  	   ]Ú  
-   gÚ     uÚ     „Ú      Ú     ©Ú     ÂÚ     ËÚ  	   ÒÚ     ÜÚ     õÚ     ûÚ     Û     Û    Û     Ü  
-   Ü     *Ü     /Ü     ;Ü     LÜ  	   iÜ     sÜ     ‚Ü     —Ü     Ü     ¤Ü  N   °Ü  Ø   ÿÜ     ØÝ     çÝ     Þ     Þ     Þ  #   5Þ     YÞ  #   mÞ  	   ‘Þ     ›Þ     £Þ  W   ¶Þ  E   ß  ¢   Tß  U   ÷ß  1   Mà  =   à  5   ½à  ^   óà  [   Rá     ®á     ºá     ½á  	   Æá     Ðá     àá     ðá     ýá  
-   â     â     â     â     â     &â     9â     Nâ  
-   dâ  ¦   râ     ã     !ã     (ã     :ã     Nã     cã     iã     uã  1   ‚ã     ´ã  ?   Ñã     ä     ä     ä     /ä     ?ä  -   Gä  4   uä     ªä     ¿ä     Ìä  #   Ñä     õä     å     å     
-å     å     å    å     ¡æ     £æ     ¨æ     ®æ  }   µæ     3ç  O   Äç  [   è     pè      ƒè      ¤è      Åè  ;   æè  *   "é  4   Mé  Ù   ‚é  9   \ê  	   –ê      ê  
-   ¯ê  
-   ½ê  #   Èê  
-   ìê  m   úê     hë     ‡ë     ¡ë     ­ë     Åë  $   Çë  .   ìë     ì  r   4ì  ?   §ì  -   çì  3   í  ‹   Ií     Õí     îí  +   öí  5   "î     Xî     kî     ‡î  4   £î      Øî  (   ùî  4   "ï  5   Wï  #   ï  (   ±ï  &   Úï  &   ð  &   (ð  #   Oð  ,   sð  &    ð  %   Çð  )   íð  &   ñ     >ñ  '   ]ñ  2   …ñ  l   ¸ñ  2   %ò  1   Xò     Šò     ¦ò     &ó     (ó     *ó  
-   .ó     <ó     Hó  "   eó     ˆó     šó     œó     žó      ó     ¢ó     ¤ó     ¦ó  ,   ¨ó  %   Õó     ûó     ô     4ô     Rô     cô     rô     ô     —ô     «ô     Áô     Õô     èô     üô     õ     1õ     >õ     Bõ  *   Fõ     qõ  	   }õ     ‡õ     ¦õ      ·õ     Øõ     îõ     ö     ö     *ö     Iö     hö  %   pö  P   –ö     çö     ÷  /   
-÷     =÷  
-   B÷  "   M÷  !   p÷  ,   ’÷     ¿÷  H   Ó÷  .   ø  \   Kø  J   ¨ø     óø     ù     ù     )ù  3  @ù  7  tú  )  ¬û    Öü    æý  6   èþ  A   ÿ  <   aÿ  !  žÿ  ™   À  2   Z     W   ” W   ì    D    M ,   _    Œ .   ©    Ø ’   í    €    …    ˜    ®    à 8   Ú $    9   8 9   r &   ¬    Ó /   ó    #    8    N A   [        ¦ 	   © '   ³    Û    ß &   è 7    #   G    k %   r    ˜ Æ   ¶ !   } 
-   Ÿ    ª    À    Û    ù 6    4   P    …    £    À "   Ý 9    	 L   :	 Z   ‡	 8   â	    
-    !
-    :
-    W
-    m
- 3   ‡
- 7   »
- )   ó
- 	       '    -    5    A    `    ~    œ $   ³ '   Ø          ;   = 3   y &   ­ #   Ô +   ø 1   $
- 4   V
- j  ‹
- l   ö    c <   { E   ¸ 4   þ G   3 &   { -   ¢ H   Ð <    (   V        ’    ¥    ¹    Î =   á K    @   k    ¬ 	   Ê 0   Ô &       ,    @    W    n        š    ² <   Î     =   # <   a B   ž :   á D    ?   a 
-   ¡ $   ¯ *   Ô )   ÿ 2   )    \ 
-   k    y    “    ª    À    Ø    ð     !    #   = =   a =   Ÿ $   Ý O    D   R H   —    à k   ù    e V   õ    L    \   e £  ö F   š 	   á 
-   ë    ö 4   û 2   0 (   c .   Œ %   » (   á ?   
-    J "   ^ *    0   ¬    Ý    ê      ?   !     a  *   y  4   ¤     Ù     â  o   û     k! 
-   ƒ! S   ‘!    å!    ø! 1   ý! Z   /" )   Š" =   ´"    ò" 0   # 1   B# !   t# -   –# &   Ä# #   ë# ,   $ !   <$ '   ^$ !   †$    ¨$ 0   Æ$ (   ÷$ .    % /   O% i   % 2   é% !   &    >& 2   [& 
-   Ž&    ™& 
-   ´&    ¿&    Ö&    ô&    '    ' !   ' v   ¯' h   &( A   ( H   Ñ( :   )    U)    \)    `)    i) I   o) n   ¹)    (*    =* 
-   T* 1   _* E   ‘* U   ×* *   -+ »   X+    ,    ', W  ?, Q   —-    é-    ì- 4   ï- h   $.    . f  / †   ‚0 D   	1 —   N1 †   æ1 =   m2 	   «2 ›   µ2    Q3    q3 ³   }3 Z   14 ,   Œ4 i   ¹4    #5    45    J5     ^5    5 N   •5 1   ä5 S   6    j6 j   ‰6    ô6    ù6    7 
-   7 
-   (7 
-   67 k   D7    °7    É7 
-   Ï7 (   Ý7 ,   8 ,   38     `8    8    Ž8    •8    ®8    Å8    Ô8    ë8 !   9    )9    19    99    R9 $   l9 	   ‘9 
-   ›9 &   ¦9    Í9    â9 .   ö9 %   %:    K:    X: ö   e:     \; d  }; &   â<    	= 7   =    U= „   h=    í=    > 2    >    S>    l>    >    —> :   ª>     å>    ?    !?    '? 5   =? 2   s?    ¦? 8   ²? ;   ë?    '@ ç  7@ õ  B %  D    ;F 3   GF 6   {F 1   ²F *   äF    G   'G $   .H    SH !   dH    †H !   ’H ‰   ´H !   >I (   `I 
-   ‰I    —I ?   ¨I A   èI ?   *J 2   jJ 6   J 6   ÔJ    K Û   K    êK    þK    L    -L    AL    UL ,   gL 
-   ”L (   ŸL )   ÈL "   òL    M s   M    M C   ®M D   òM    7N    @N    MN 2   UN    ˆN    —N 	   žN    ¨N    ºN 
-   ÌN (   ×N     O    O    3O -   RO .   €O    ¯O    ÎO K   åO    1P    8P    GP %   _P #   …P W   ©P %   Q    'Q N   9Q    ˆQ )   šQ %   ÄQ    êQ    óQ    ùQ ,   þQ <   +R    hR    qR +   ~R D   ªR "   ïR    S =   0S E   nS #   ´S &   ØS !   ÿS    !T <   =T    zT G   T    ÉT #   ÛT "   ÿT    "U )   @U !   jU ,   ŒU    ¹U    ÌU    ÜU    îU    V #   V 4   7V    lV /   tV L   ¤V 2   ñV    $W 
-   4W 7   ?W <   wW Á   ´W ˆ   vX    ÿX 3   Y    QY    bY    yY    Y    –Y    ´Y    ÅY    ÖY    ãY    ëY    Z i   
-Z    wZ "   †Z    ©Z O   ÁZ    [    [    7[ "   U[ 2   x[ V   «[ F   \    I\ ,   V\    ƒ\ <   š\ 1   ×\    	]    ]    1]    H]    b]    ]    –]    ®] 0   Ã] 5   ô]    *^    E^    W^    ^^ 1   k^    ^ Q   º^    _ W   "_ U   z_ 5   Ð_    ` >   $` ê   c`   Na C  fb /   ªc \   Úc ~   7d    ¶d g   Ðd >   8e U   we =   Íe N   f B   Zf 2   f -   Ðf z   þf 8   yg L   ²g +   ÿg “   +h 8   ¿h O  øh ¿   Hj ?   k 2   Hk à  {k    ?n    Cn    Hn    Nn    Zn 
-   gn    un    …n :   ‹n    Æn    Ön +   æn    o    o    +o    1o 
-   Oo 
-   Zo 
-   ho    so    …o    šo    ±o $   Ðo $   õo 6   p    Qp    dp    wp    Šp    p    ­p    ½p =   Äp    q &   q %   >q &   dq !   ‹q    ­q 	   ¾q    Èq .   èq 0   r 5   Hr 
-   ~r    Œr 1   ™r -   Ër -   ùr >   's >   fs g   ¥s K   
-t H   Yt I   ¢t I   ìt ;   6u <   ru =   ¯u    íu    üu ±   v    ¾v    Ôv    ðv    w    w    w P   0w v   w    øw     x    x    )x    @x e   Xx e   ¾x   $y    9z P   Yz 3   ªz .   Þz %   
-{ 4   3{ W   h{ !   À{    â{    ÿ{ D   |    I| ^   M| =  ¬| ,  ê} 9      Q    U    a    y    —    ¯    Á    ׁ    ò    ‚ 
-   ‚ 	   ‚    )‚    B‚    H‚    O‚    W‚    h‚    ~‚    ‘‚    ª‚    º‚    Á‚    Æ‚    Ý‚    ï‚    ƒ    ƒ    'ƒ 	   ,ƒ    6ƒ    Fƒ    [ƒ    uƒ    ~ƒ    –ƒ    £ƒ 
-   ¬ƒ    ºƒ    Õƒ    Ûƒ    რ   çƒ   îƒ    ú„    …    …    …    $… !   5… 
-   W…    b…    v…    ‹…    ‘…    ˜… U   ®… ÷   †    ü† "   ‡    :‡    G‡ (   N‡ -   w‡    ¥‡ -   ¹‡    ç‡    ð‡    ø‡ R   ˆ M   bˆ Ç   °ˆ X   x‰ B   щ L   Š @   aŠ f   ¢Š a   	‹    k‹    s‹ 	   w‹ 	   ‹    ‹‹    ›‹    ­‹    ¼‹ 
-   Å‹    Ó‹    Ü‹    ã‹ 	   è‹    ò‹    ÿ‹    Œ     Œ º   -Œ    èŒ    ðŒ    ùŒ     
-       "    (    8 B   I #   Œ E   °    ö    Ž    
-Ž    )Ž 
-   6Ž /   AŽ 6   qŽ    ¨Ž    ÁŽ    ÖŽ #   ߎ                      	   '    Ó  v     Ú  5   ÿ  §   Õ  o      "      M  Ä  Ò        f   w  Ê     ‚   ¶      À  _  “   µ  †  P                O              Ø  û  Ê  F       G   p  à   N   O   P   Q   R   S       ¹      
-   T   !  ,  &  ~  «        |   ¯  Õ   h  "   ç   Æ  ó               '   Ç           È   ô         ú  ©  ‰  ð       2   «   X  ‘   €  Š  ç  ã       '  i              Ð             ;  :      #  Û  V  g   è           T     y  C    :           º  n                 ;   %  —  þ  ²  Í  ù        Q  i  ^             Ž  M     S  ¤      ’      É  ¨    ¾            à  é  Û   ª  :  ˆ   Ý   –  ™  ö      î  ö  6  4  t  O              \    \  .   É   š  ?  n   [  ³  H  4   4     B  @               È  Ü   [   >          "  ­  Ì  d  æ     º  1  Ù      q      {  x   €      Þ  b      Y                      »  T  Ô  µ  ž  ß     ½    ±  Ñ  Ç  ®  ×   P  u  ë      Ú       P          3       *    ²   .  œ        ¤      ]   W   ‚  •   Á      ¬    V  ?  å       ô  ‹  -          n      À  u   ;  ›  x        œ  {  %  ¡      í  „       ¥      À   ¼         b  ¿      (       ö   Y  Ÿ          <  ½   Y      +         X   ã  I    ø           û       Ú      Î      º   5      ¿          *           9   O      ˆ  Û  (  ]    ž       Z  $  i    `    »      þ         Ö       =  —       o  <      b  H  ç          e       ”  Ô     á   Œ  m  ¿   ­  ³    p   Z            s    3  °  °  ¥  é  ²      ~     Ü  £  ‡      Ï   ‡   Ï  Ô  W  K  ˆ  F  a  ð    ,  8    ä               R    J          ý      ƒ   Õ  3  q      «          ‹   g          ¸      L     ®         à  l  £       b               ¬  L                  }   |  n  Ñ      	  ô             )  B   B  ì  ¬     Ÿ  o      8  –   ë      Í  z  U  R      	   a  ÷     Ë   â  ·                    j       7  %  †            ó  9      -   à   e        ¢  p  ª           ê  C  %   j  !       m                 
-  6          f  ±             e  ·         +      æ           ¹       ¦               ¢  Ì     Ê  D      #       z             Y  Š  ¼   r  g  -  õ          _   x      î   Æ   ü         ,        0      /  5  h   s  ^  D  v      S    ·    I   Å      ³   å     Ø   H   J          y   .  ï  ×        á  d  7  ¨       d   (  8   î  q  È  ¢   ÷      !  ´  _          }  Ý  ©   7          ¼  y      Ð       Ø     Š       Ü  e      ¾   è  a   `   †                —  ä            G  ’  l  h    1   [  ›       ,      á  ¸               ¨  ž  w              Ó   ò   6  ˜       N  Ä     
-      ¶  ù   q       ›  ê   l               u    }          x  »       K  @  –  '      t  +  ´  Ò  D  `  Ï        F  i   |    2    v  „  ü  d      <  à            Q      ;  ‰  G  Æ      g  B  N      ä      Ÿ   µ       Å       S  k   k  N  9  V       ¯   C      ˜  ý  Î   ø      “  $   c  &     /   I        \                     ™  ª  •  æ  9  1      s  j      ƒ  ò  \  =  K  `  
-          I  ú  A  ì       ¦      Ó  ß    U   ¡   E  Ä  
-  7  L   +    2      y      &  É             €  Á     ï   z      ”   
-      #  K   w  Ù   ¹          Z       ½         "  W          r      Ò   C      c      ì  r   &   '  ë       .      ü         à  	  Z  Ë  
-           ?  ï  E  V  ¯          â     D   8  ˜  5  Œ               é   *  A  í     0  {      ‰   ­       Ž   Ö  ÷  Ö    …          œ   …      T          W  m  >  )  *  Á  §  X      $  M   ‘  k      2  å  ú     p  c         _  0      4      <   ‚    R  3  {   0      ©      Þ      ”      E    ñ  /  u  )           ~      6   ¥   
-             ^  A      h  ´   l    z                     Ì  !  è  A       H     ã      |      $      â       	          c      ×  ò                  :  v  #  Ç  ƒ          G  ñ  ¾      k      Ý      „  í            =      “  J  ñ       m      ]  þ   ?       ù  @     U  J  F     Ë  a  r      f      E       ]  ^  ¤   ‘      Í       t   š      =      ø  f  …   Œ      ó  °             ý         ÿ      ð  X  Î  ¶   /      @  )  1  t          ®   Ž  j  -  M         ’   Å  Ù  (         L  û  ‡    U  š     Q  ÿ     ¡    ™       §    [  Ð      ß    s   ¦  ¸     o   w   õ  •      ‹      £  >   Þ   >  ±   ê  Ñ   õ                            gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
+Þ•         ”  Á  9      L     L     L     L     L     !L  n   (L  €   —L  E   M  I   ^M     ¨M     ´M     ÓM     òM  ;   N  %   MN  3   sN  À   §N  4   hO     O     ¦O     ²O     ¾O  
+   ÇO  H   ÕO  	   P  
+   (P     6P     8P  &   WP     ~P  _   •P  9   õP  *   /Q  ,   ZQ  q   ‡Q     ùQ     üQ     R  /   R  +   MR     yR     R     ©R  ,   ÃR     ðR  %   S  ,   4S  -   aS      S  &   °S     ×S     ÷S  -   T  &   ET  +   lT  &   ˜T  "   ¿T  '   âT  $   
+U     /U  '   MU  +   uU  R   ¡U  .   ôU  ,   #V     PV  p   fV     ×V     ÙV     ÛV  
+   çV     òV     W     *W  	   =W     GW     IW     KW     MW     OW     QW     SW     UW     tW     ƒW     £W     ÂW  !   ÝW     ÿW     X     #X  
+   @X     NX     ZX     fX     ƒX     •X     ¦X     ²X     ÉX     ÜX     ëX     ûX     Y     ,Y     @Y  
+   MY  ¥   XY     þY     Z  	   Z  
+   Z     Z  "   -Z     PZ     \Z  6   iZ      Z     ¤Z  	   ÀZ     ÊZ  
+   ãZ     ñZ  
+    [  
+   [  2   [     L[     h[     [  F   …[     Ì[     å[     ë[     \  	   \     \  !   6\  %   X\     ~\  9   Š\  /   Ä\  J   ô\  G   ?]     ‡]     ]     ¡]     µ]  ]  Ë]  _  )_  _  ‰`  C  éa  ;  -c  2   id  <   œd  =   Ùd  :   e  O  Re  ˜   ¢f  2   ;g     ng  R   ug  	   Èg  
+   Òg  $   Ýg  '   h  (   *h  ‹   Sh     ßh     úh     üh      i     i     )i  3   ?i  @   si  (   ´i  $   Ýi  .   j     1j     Aj     Sj  <   [j     ˜j     Ÿj     ¢j  %   ¨j     Îj     Òj     Ûj  .   òj     !k     @k     Gk     gk  ¤   k     &l  
+   /l     :l     Ol     jl     ˆl      ¨l  0   Él     úl  -   m     0m     Mm     im      „m  ;   ¥m  T   ám  P   6n  .   ‡n     ¶n     »n     Òn     ên     òn     øn     o     o     o     9o     Vo     lo     ƒo     Ÿo  6   ºo  .   ño  !    p  %   Bp  *   hp  #   “p  .   ·p  D  æp  o   +r     ›r  /   »r  9   ër  -   %s  =   Ss  !   ‘s  '   ³s  =   Ûs  2   t  !   Lt     nt     tt     ˆt     t     ³t     Ët  ;   ßt     u  J   6u  A   u     Ãu     âu  #   êu  #   v     2v     Ev     [v     qv     ƒv     ›v     µv  ;   Ñv     
+w  .   w  1   Lw  7   ~w  <   ¶w  
+   ów  "   þw  *   !x  (   Lx  0   ux  
+   ¦x     ´x  
+   Àx     Îx     Õx     ìx     y     y     +y     <y  "   Ty  "   wy  E   šy  8   ày     z  +   4z     `z     wz  $   ’z  H   ·z  M    {  ?   N{     Ž{  `   ¤{  x   |  G   ~|     Æ|  
+   Õ|     à|     ì|  ’  ô|    ‡~  v  %€     œ     ¡  8   ­  3   æ  &   ‚  %   A‚  !   g‚  (   ‰‚  J   ²‚     ý‚     ƒ      0ƒ  5   Qƒ     ‡ƒ     ˜ƒ  5   µƒ  F   ëƒ     2„  %   F„  ,   l„     ™„     ž„     «„  &   ¿„  \   æ„     C…     X…     g…     z…  3   ‚…  R   ¶…      	†  2   *†     ]†     t†  &   ‘†     ¸†     ׆  3   ï†  #   #‡  
+   G‡  7   U‡  (   ‡      ¶‡  X   ׇ  +   0ˆ     \ˆ     pˆ     Žˆ  *   §ˆ  	   Òˆ  	   ܈     æˆ     úˆ  	   ‰      ‰     2‰  s   8‰  ;   ¬‰     è‰  d   Š  ^   iŠ  .   ÈŠ  6   ÷Š  2   .‹     a‹     d‹     h‹  A   n‹  ^   °‹     Œ     "Œ      7Œ     XŒ  (   aŒ  :   ŠŒ  .   ÅŒ     ôŒ          "  0   8  /  i  9   ™Ž     ÓŽ     ÖŽ  l   ÙŽ  p   F  z   ·  K  2  z   ~‘  G   ù‘  š   A’     Ü’  ƒ   m“  A   ñ“     3”     Ä”  %   R•     x•     ••  š   ¡•  N   <–  ]   ‹–     é–     û–     —     '—     F—  E   \—  +   ¢—  F   Η     ˜  [   4˜  C   ˜     Ô˜     Ù˜  
+   é˜     ÷˜  	   ™     
+™     ™     (™     .™      =™  $   ^™  $   ƒ™     ¨™     Æ™     Ó™     Ö™     ò™     š     #š     ?š  $   Zš     š     ˆš     ›š     ·š     ך      ãš     ›     ›     $›  #   3›     W›     v›     }›  4   Š›  $   ¿›  Ø   ä›     ½œ  I  Õœ      ž     @ž  *   Sž     ~ž  ƒ   Žž     Ÿ     'Ÿ  )   =Ÿ     gŸ     ~Ÿ     ‘Ÿ     ¥Ÿ  4   µŸ     êŸ                 "   0   7   5   h   	   ž   5   ¨   7   Þ      ¡  «  %¡  Ú  Ñ¢  á  ¬¤  
+   Ž¦     ™¦     ­¦  $   ¿¦     ä¦  )   ø¦     "§  (   3§  †   \§  '   㧠 ,   ¨  '   8¨  +   `¨  +   Œ¨     ¸¨  ×   »¨     “©     ¦©     º©     Щ     ã©     ÷©     	ª  #   ª      6ª     Wª  ]   _ª     ½ª  	   ƪ  	   Ъ  0   Úª  	   «     «     «     %«     4«  	   C«  (   M«  !   v«  #   ˜«  $   ¼«  &   á«  &   ¬  $   /¬     T¬  Z   s¬     ά     Õ¬     ᬠ    í¬     
+­     ­     +­     7­     K­     c­  ?   z­  &   º­     á­     ñ­  C   ®     H®  %   T®     z®     •®     ž®     ¥®  %   ª®  9   Ю     
+¯  C   ¯     Z¯  <   c¯      ¯     ¾¯     Þ¯     ú¯  8   °  D   D°  -   ‰°     ·°  B   Ò°  F   ±  B   \±  '   Ÿ±  #   DZ  "   ë±     ²  2   '²     Z²     _²  F   e²  
+   ¬²     ·²     ʲ     ê²  #   	³  #   -³  %   Q³  )   w³     ¡³     ³³     ó     ׳     ê³  '   û³  '   #´  #   K´  '   o´     —´  0   ©´  0   Ú´  ,   µ     8µ     Vµ     tµ     Žµ  	   ¬µ  
+   ¶µ  #   ĵ  4   èµ     ¶  )   "¶  8   L¶  .   …¶     ´¶     ö  &   ˶  ?   ò¶     2·     ÷     C¸  5   `¸     –¸     ±¸     Á¸  	   ظ     ⸠ 
+   ë¸     ö¸     þ¸     ¹  j   "¹     ¹     ž¹     ¶¹  D   Ò¹     º     º     0º     9º     Qº  .   jº  S   ™º  >   íº     ,»  	   1»  .   ;»  (   j»     “»     £»     ¸»     Í»     ß»     õ»     
+¼     ¼  $   0¼  '   U¼     }¼     ”¼     £¼  .   ¦¼     Õ¼  I   ï¼     9½  W   H½  H    ½  2   é½     ¾  9   4¾  J   n¾  Ï   ¹¾  ×   ‰¿    aÀ  1   tÁ  d   ¦Á  ˜        ¤Â  q   ¿Â  G   1à  Y   yà  D   Óà  U   Ä  N   nÄ  7   ½Ä  '   õÄ  €   Å  -   žÅ  S   ÌÅ  9    Æ  v   ZÆ  8   ÑÆ  K  
+Ç  9   VÈ  7   È  ¦  ÈÈ     oË     tË     zË     €Ë  
+   Ë     ›Ë  1   ¡Ë     ÓË  *   àË     Ì     Ì     Ì     =Ì     [Ì     xÌ     „Ì     Ì     ˜Ì     ªÌ     ¿Ì     ÖÌ     ÜÌ      òÌ      Í  ,   4Í     aÍ     tÍ     ‡Í     šÍ     ­Í     ½Í     ÍÍ     ÕÍ  %   éÍ  $   Î  %   4Î      ZÎ     {Î     ŠÎ     ‘Î     ¡Î  (   ¾Î  -   çÎ  ,   Ï     BÏ     NÏ  %   [Ï  &   Ï  4   ¨Ï  9   ÝÏ  #   Ð  +   ;Ð  1   gÐ  P   ™Ð  ?   êÐ  ;   *Ñ  8   fÑ  .   ŸÑ  	   ÎÑ  Ÿ   ØÑ  .   xÒ     §Ò     »Ò     ÕÒ     ðÒ     õÒ  R   üÒ  `   OÓ     °Ó     ¸Ó     ÊÓ     ßÓ     õÓ  V   Ô    cÔ     }Õ  J   –Õ  @   áÕ  .   "Ö     QÖ  .   lÖ  N   ›Ö  0   êÖ     ×  :   ×     Z×  l   _×  $  Ì×    ñØ  
+  Ú     Ü     Ü     &Ü     9Ü     MÜ     _Ü     zÜ     ‚Ü     ‹Ü     Ü     £Ü     µÜ     ÍÜ     ÖÜ     óÜ     ùÜ     Ý  
+   Ý     Ý     #Ý  	   3Ý     =Ý     DÝ     IÝ     YÝ     mÝ     Ý     •Ý     žÝ     ¥Ý  	   ªÝ  	   ´Ý  
+   ¾Ý     ÌÝ     ÛÝ     ÷Ý      Þ     Þ     "Þ  	   )Þ     3Þ  	   ?Þ     IÞ     UÞ     nÞ     tÞ     zÞ     €Þ    ‡Þ     ß  
+   ˜ß     £ß     ¨ß     ´ß     Åß  	   âß     ìß     ûß  
+   à     
+à     à     4à     :à     Aà  N   Mà  Ø   œà     uá     „á     žá     ­á     ³á  #   Òá     öá  #   
+â  	   .â     8â     @â  W   Sâ  ¢   «â     Nã     Zã     ]ã  	   fã     pã     €ã     ã     ã  
+   ¤ã     ¯ã     ¶ã     ¹ã     ¾ã     Æã     Ùã     îã  
+   ä  ¦   ä     ¹ä     Áä     Èä     Úä     îä     å  1   å     Aå  ?   ^å     žå     ¢å     ¦å     ¼å     Ìå  -   Ôå  4   æ     7æ     Læ     Yæ  #   ^æ     ‚æ     Žæ     ”æ     —æ     žæ     ¤æ  ƒ  ¬æ     0è     3è     5è     :è     @è  }   Gè     Åè  O   Vé  [   ¦é     ê      ê      6ê      Wê  ;   xê  *   ´ê  4   ßê  Ù   ë  9   îë  	   (ì     2ì  
+   Aì  
+   Oì  
+   Zì  m   hì  
+   Öì     äì     ðì  $   òì  .   í     Fí  r   _í  ?   Òí  -   î  3   @î  ‹   tî      ï     ï     ï  +   $ï  5   Pï     †ï     ™ï     µï  4   Ñï      ð  (   'ð  4   Pð  5   …ð  #   »ð  (   ßð  &   ñ  &   /ñ  &   Vñ  #   }ñ  ,   ¡ñ  &   Îñ  %   õñ  )   ò  &   Eò     lò  '   ‹ò  2   ³ò  l   æò  2   Só  1   †ó     ¸ó     Ôó     Tô     Vô  
+   Xô     fô     rô  "   ô     ²ô  	   Äô     Îô     Ðô     Òô     Ôô     Öô     Øô     Úô  ,   Üô  
+   	õ  %   õ     =õ     Yõ     võ     ”õ     £õ     Âõ     Þõ     ïõ     þõ  ,   ö     8ö     Qö     iö     }ö     “ö     §ö     ºö     Îö     åö     ÷     !÷     .÷  Â   E÷     ø     ø     ø     ø     -ø  *   >ø     iø  	   uø  7   ø  
+   ·ø     Âø     áø      òø     ù     )ù     =ù     Où  .   eù     ”ù     ³ù     Òù  P   Úù     +ú     Kú  /   Qú     ú  
+   †ú  "   ‘ú  !   ´ú  ,   Öú     û  H   û  .   `û  \   û  J   ìû     7ü     Fü     Xü     mü  3  „ü  7  ¸ý  )  ðþ        * 6   , J   c A   ® <   ð !  - ™   O 2   é     W   #    {    „ ,   – 0   à .   ô ’   # !   ¶    Ø    Ý    ð         8   2 9   k &   ¥    Ì /   ì        1    G A   T    –    Ÿ 	   ¢ '   ¬    Ô    Ø &   á 7   	 #   @	    d	 %   k	    ‘	 Æ   ¯	    v
+ 
+   
+    Š
+     
+    »
+    Ù
+    ù
+ 6       L 4   Y    Ž    ¬    É "   æ 9   	 L   C Z    8   ë    $
+    *
+    @
+ 	   Z
+    d
+    j
+ 	   r
+    |
+    ˆ
+    §
+    Å
+ '   Ü
+        ! ;   A 3   } &   ± #   Ø +   ü 1   ( 4   Z j   l   ú    g <    E   ¼ 4    G   7 &    -   ¦ H   Ô <    (   Z    ƒ    Š        °    Ä    Ù =   ì +   * K   V @   ¢    ã 	    0    &   <    c    w    Ž    ¥    ¸    Ñ    é <       B =   Z <   ˜ B   Õ :    
+   S $   a *   † )   ± 2   Û     
+       +    ;    C    ]    s    ‹    £    ¶ !   Î #   ð =    =   R     3   «    ß !   ø $    O   ? D    H   Ô     k   6    ¢ V   2    ‰    ™    ¢    ®   À £  Q t  õ 	   j! 
+   t! 4   ! 2   ´! (   ç! .   " %   ?" (   e" ?   Ž"    Î" "   â" *   # 0   0#    a#    n# A   # M   Ï#    $ *   5$ 4   `$    •$    ž$    ¹$ -   Ò$ o    %    p% 
+   ˆ%    –%    ©% 1   ®% Z   à% )   ;& =   e&    £& &   Â& ,   é& '   '    >' =   \' (   š'    Ã' @   Ó' .   ( /   C( i   s( 2   Ý( !   ) #   2)    V) 2   s) 
+   ¦) 
+   ±)    ¼)    Ó)    ñ)    ø)    	*    * O   ‘* !   á* v   + h   z+ A   ã+ H   %, :   n,    ©,    °,    ´, I   º, n   -    s-    ˆ- $   Ÿ- 
+   Ä- 1   Ï- E   . U   G. *   .    È.    Û. :   ó. W  ./ Q   †0    Ø0    Û0 h   Þ0 h   G1    °1 f  >2 †   ¥3 D   ,4 ©   q4 —   5 †   ³5 0   :6 ›   k6    7 &   —7    ¾7    Þ7 ³   ê7 Z   ž8 i   ù8    c9    t9    Š9     ž9    ¿9 N   Õ9 1   $: S   V:    ª: j   É: U   4;    Š;    ;    ¡; 
+   °; 
+   ¾; 
+   Ì;    Ú;    ó; 
+   ù; (   < ,   0< ,   ]<     Š<    «<    ¸<    ¿<    Ø<    ï<    = !   "= )   D=    n=    v=    = $   ©= 	   Î= &   Ø=    ÿ=    >    > .   /> %   ^>    „>    ‘> H   ž> '   ç> ö   ?     @ d  '@ &   ŒA    ³A 7   ÇA    ÿA „   B    —B    °B 2   ÊB    ýB    C    +C    AC :   TC     C    °C    ËC    ÑC ;   çC 8   #D    \D 8   hD ;   ¡D    ÝD ç  íD õ  ÕF %  ËH    ñJ *   ýJ    (K $   @K    eK !   vK    ˜K !   ¤K ‰   ÆK !   PL (   rL 2   ›L 6   ÎL 6   M    <M Û   ?M    N    /N    DN    ^N    rN    †N 
+   ˜N (   £N "   ÌN    ïN s   öN    jO    sO    €O 2   ˆO    »O    ÊO 	   ÑO    ÛO    íO 
+   ÿO (   
+P    3P    KP    fP -   …P .   ³P    âP    Q K   Q    dQ    kQ    xQ %   ŒQ    ²Q '   ÆQ    îQ    ýQ %   R #   ;R W   _R %   ·R    ÝR    ìR N   þR    MS )   _S %   ‰S    ¯S    ¸S    ¾S ,   ÃS <   ðS    -T K   :T    †T D   ŽT +   ÓT "   ÿT    "U    @U =   TU E   ’U 3   ØU #   V K   0V L   |V E   ÉV &   W !   6W ,   XW    …W <   ¡W    ÞW    äW G   ëW    3X    EX #   cX "   ‡X    ªX )   ÈX !   òX ,   Y    AY    TY    dY    vY    ŠY '   ›Y )   ÃY "   íY (   Z    9Z :   MZ <   ˆZ 5   ÅZ    ûZ !   [    =[     X[    y[    …[ 9   –[ 4   Ð[    \ /   
+\ L   =\ 2   Š\    ½\ 
+   Í\ 7   Ø\ <   ] Á   M] ˆ   ^    ˜^ 3   ¶^    ê^    _    _    4_    E_    V_    c_    k_    …_ i   _    ÷_ "   `    )` O   A`    ‘`    ˜`    ·`    Ã` "   á` 2   a V   7a F   Ža    Õa    âa <   ùa 1   6b    hb    zb    b    §b    Áb    Þb    õb    
+c 0   "c 5   Sc    ‰c    ¤c    ¶c 1   ½c    ïc Q   d    ^d W   td U   Ìd 5   "e    Xe >   ve H   µe ê   þe   éf C  h /   Ei \   ui ~   Òi    Qj g   kj >   Ój U   k =   hk N   ¦k B   õk 2   8l -   kl z   ™l 8   m L   Mm +   šm “   Æm 8   Zn O  “n ?   ão 2   #p à  Vp    s    s    #s 
+   )s    7s    Gs :   Ms    ˆs +   ˜s    Äs    Ðs    Ös    ôs    t 
+   *t 
+   5t 
+   Ct    Nt    `t    ut    Œt    ™t $   ¸t $   Ýt 6   u    9u    Lu    _u    ru    …u    •u    ¥u    ¬u &   Áu %   èu &   v !   5v    Wv 	   hv    rv    v .   °v 0   ßv 5   w 
+   Fw    Tw 1   aw -   “w 8   Áw =   úw +   8x 1   dx >   –x g   Õx K   =y I   ‰y <   Óy =   z    Nz ±   ]z .   {    >{    T{    p{    Ž{    “{ P   ™{ v   ê{    a|    i|    ||    ’|    ©| e   Á|   '}    <~ P   \~ 3   ­~ .   á~ %    4   6 W   k 2   à    ö D   û    @€ ^   D€ =  £€ ,  ၠ9  ƒ    H…    L…    X…    p…    ˆ…    š…    °…    ¹… 
+   ¿… 	   Í…    ×…    ð…    
+†     †    4† 	   ;†    E†    M†    ^†    t†    †    †    ¤†    ©†    À†    Ò†    å†    þ†    
+‡    ‡ 	   ‡    "‡    7‡    G‡    \‡    v‡    ‡    —‡    ¤‡ 
+   ­‡    »‡    ͇ 
+   Ú‡    è‡    ˆ    	ˆ    ˆ    ˆ   ˆ    (‰    4‰    @‰    F‰    R‰ !   c‰ 
+   …‰    ‰    ¤‰    ¬‰    ¸‰    ˉ    à‰    æ‰    í‰ U   Š ÷   YŠ    Q‹ "   l‹    ‹    œ‹ (   £‹ -   Ì‹    ú‹ -   Œ    <Œ    EŒ    MŒ R   dŒ Ç   ·Œ        ‡ 	   ‹ 	   •    Ÿ    ¯    Á    Ѝ 
+   ٍ    ç    ð    ÷ 	   ü    Ž    Ž    $Ž    4Ž º   AŽ    üŽ        
+     
+   (    6 B   F #   ‰ E   ­    ó        
+    & 
+   3 /   > 6   n    ¥    ¾    Ӑ #   ܐ     ‘    ‘    ‘    ‘    ‘ 	   $‘    M  B   k    œ  j     Û   À  -       †  (    …   j   =  @   Œ   ‡  |  Ú      Ø      6    O  %      E     }            -  ü       '  |  í   E       F   [     M   N   O   P   Q   R   Ý  9  V  Œ  S   d      »       Ò  ,  ª   )      
+  Û  "       š       \      Y    ø  q  ¹  L   H   ±   w       •  ¢  ÷  Š  $  Á      Ù  -      r          ;      š  O  m          ~   ì  W          ¼                   ¨  Ô   À      +   m  ²   Œ      )  æ   ê      £       z   í  
+  0       ó   2  S      u   
+     >  –      ‚  ,       ±        @      Q  Ž          U   +  
+     ¼  ,  R  Ö             —   ƒ   è  t    g   ð      l   ‘  Z  c         ï   ´     ô   ?    x   ]   7      G  :  ó  b      Å  ù   (                Ç  ï              û   U      Ï  w      ¼       ‡   :       ´   Ù       ‰            •  ‚      H      “   f      à  É     ƒ  2  P  ‡  ã       ö   .  a  !  t      g        <         è      _   ª  ³      
+  )  b     ¨      †  ¹  =  è         ”  5      /  ç  ®  _  h  X      [  „    ü      o  º  ¸   õ  
+      p  p  Ž  š  2              û  d  é  #  ^  ˆ  D      c  b  ³   ª      '  ë   Ë       Ä  ò     D      Õ  |       z  Ï             8  ˆ   6       ž             ’  °   é  £  S  J   –   ‚       8     £  Ü   µ  ¡  C   j  V           ü  [  o  n  O      ›   X  €  à  Ü  ¶  Ÿ  W      n  f      Ä   A   Þ      —  -  K  …    Y              I           ‡  T  ¤  ö  a      	   !  ¦  J  ÿ  ‰   .        µ               "  l      ›         h                   ž  K  Z    <          ½        º          Í   ‹  ƒ  {   Ý  J          ×  ã            8   ˜   a        î      •   ;  D   ú      þ  È   $      …  i  Û  H  â          ´  c      ­      á      ¸  ²          ²  Q  G   Ö       ^     ï  ™      9         q      ³  '   u  A              7  Í      ù      é             ^        H  a   @  ×  Ð     „  3    A  6         j      ß  Õ   f       Ø  ¨            Y  p  â   :  1         œ   o  Å      7       6  {  R      ¥          Ì   Ï       ¬        á      ~  ñ          @  Q      F  ·        *          ¿   ©  Y         µ         <  €   ò  °      ,  ­   _  ¢   u  T       q       V  &    !            ®   N  ä   `      å  =               ‹      A  Z       \  É  }     –      \     4  I  k  ¡      «  )       Õ  `  ¯  S      %   ½  s      s      9  *           0        (  +  Ð  w      þ   ~  4       ë  h  õ       „     ¿  ;       r  Ÿ       ½   
+      $  û  ¬  [      ô    ;  ‚  c         É   Ê      ø          v  ˆ  .  L  ß             ¶       <  “          ý              ¡  z  À   1      Á  &           ‹     †     ì  %        ˆ      Œ  #  Ë  K   ¿    Ž               Ê       Æ  r   ¢      ˜  =  ¯      õ  ‰  Ç   P        y  s   ÷           Á       t  y  u  x  Ô  N       3  2      §      E  T  €          ¯   F  i   Ò      	  —    °  «      ]  Z        I          w      ˜        /          ã  Ó   à    §         Þ     C      ©  œ          »          º   4      F  þ  Š  Å   i          l          ™   G  G  q            È  Š  ]      /     ÷              n       |  ~      ¥      ô  ¥       &  “  e         }    ä  %  Ò   V      R      ñ   Ì  M  Ø   ’   /   m  e  3  1  ­  Ñ   Ÿ         4  ™  ç  3   s  Í  Ó      !     0  ù  á   x  ú          Ê         *      ÿ               *              ó      ¾   ë      ‘  »  g    K  B  Ð        Ë     >      È      {               o       
+  Ý       Š   X   '      æ  ”   P  à  Ñ  ß  ø   ©   e    ¤  ¾  0  Ú  ƒ        "  (   W    Ô  v                   7  B  1      Ñ          M  b  î     $   €      Ú   â  \        i      Ù         _       r      J  †    Ö      x        y       æ  Î   I  Ü     ú       v  &  v  ?      C          ^       ¬  g  …  ‘   ì      d  ’  ”  ?       #   ®              ·       {  ý  h          Þ  	  y              ò   8  5    ¤   ÿ     m     ]  ¸         Ä  X    B  U  Ì  E  k  å  l      ê   f  T            n  ð  ñ      ö      k     Î  >          ·  ý  Ó  ¹   î  à   "      ›          ä      ç       D    ¶  ‰          e  í    L  +  	  :  p       5     .       t   d   L  U  å   ±  5  Î  Æ         C  ?  „   Ç    z  ž  à   #  §   ¦  ¦   ð   >       N  `         `  ×   ê      9  W  ‹  Ž  ¾  Æ        }  «        
+
+                         gnutools: (mktunes.pl, ported to C) reading and writing of iTunesDB (http://www.gnu.org/software/gnupod/)
      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.
      mp3info:  mp3 playlength detection (http://ibiblio.org/mp3info/)
      xmms:     dirbrowser, mp3 playlength detection (http://www.xmms.org)
@@ -104,8 +121,8 @@
                 but to ~/.gtkpod/ instead. iPod is updated if 'Sync' is
                 used with 'Offline' deactivated.
    -p <filename>:increment playcount for file by one
-  %s Free  %s Pending  <= cts <=   Logic:   Number of tracks in generated playlists:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
-  _Charset (ID3, files):   _Number of sort tabs:   disconnected  iPod Mount _Point: # # autoselect master playlist?
+  %s Free  %s Pending  <= cts <=   Logic:   P:%d T:%d/%d  Preferences: Category nr (%d<%d?) or sorttab nr (%d<%d?) out of range.
+  days old  disconnected # # autoselect master playlist?
  # autoset: set empty tag to filename?
  # delete confirmation
  # position of sliders (paned): playlists, above tracks,
@@ -115,7 +132,7 @@
  # track_nr=5, ipod_id, pc_path, transferred
  # window sizes: main window, confirmation scrolled,
 #               confirmation non-scrolled, dirbrowser, prefs
- %d%% (%d:%02d:%02d left) %s - %s %s does not appear to be a supported wav file.
+ %A %d%% (%d:%02d:%02d left) %s - %s %s does not appear to be a supported wav file.
  %s:
 Expected "itunesdb_hash=" but got:"%s"
  %s:
@@ -145,33 +162,32 @@
  '%s': only '%%[%s]' allowed.
  '%s-%s' (%s) could not be normalized.
 
- 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: (C) 2002 - 2003
+ 'Added' condition ignored because of error. 'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished. 'Modified' condition ignored because of error. 'Played' condition ignored because of error. 'mp3gain' executable: (C) 2002 - 2005
 Jorg Schuler (jcsjcs at users dot sourceforge dot net)
 Corey Donohoe (atmos at atmos dot org)
 
 
- + - ... ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> <b>mserv</b> AL: AR: Aborted writing of extended info.
- Aborting... About gtkpod Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add directories recursively Add playlist from file Added Adding/Updating/Syncing Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
+ + - ...as icons ...as text ...both as icons and text ...entry 'All' in sort tab... ...master playlist ../%A.jpg 0 1 2 3 4 5 : <b>Adding/Updating/Syncing</b> <b>Artwork</b> <b>Auto-Generated Playlists</b> <b>Automatically select...</b> <b>Delete Confirmation</b> <b>Displayed Track Attributes</b> <b>Examples</b> <b>File options</b> <b>Ignore Frequent Words</b> <b>Import</b> <b>Misc</b> <b>Play</b> <b>Podcast subscriptions</b> <b>Sort Order</b> <b>Sort Tabs</b> <b>Sync</b> <b>Synchronization</b> <b>Tag Reading</b> <b>Toolbar</b> <b>Tooltips</b> <b>Track Editing</b> <b>Volume Normalization</b> <b>iPod options</b> <b>mserv</b> <b>n/a</b> <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> AL: AR: Abort all Abort current Abort selected Aborted writing of extended info.
+ Aborting... About gtkpod Accessible by selecting the center button on the iPod. Add Add Directories Recursively Add Files Add Files or Directories Add Playlists Add _Directory Add _Files Add _Playlist Add artwork from file using the following template Add directories recursively Add playlist from file Added Adrian Ulrich: porting of playlist code from mktunes.pl to itunesdb.c
  Advanced Sorting Options Album Alex Tribble: iPod eject patch
  All All (AND) All Tracks Never Listened To All Tracks Played Since Last Time All Tracks not Listed in any Playlist Alphabetize Also include tracks never played in "Best Rated" playlist Always write ID3v2.4 tags (only applies to MP3) Andrew Huntwork: Filename case sensitivity fix and various other bugfixes
  Another instance of gtkpod was detected. Playcount server not started.
- Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from the database? The number of playlists the tracks are member of is indicated in parentheses. 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your iPod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Are you sure you want to remove all tracks from the database? Are you sure you want to remove all tracks from your iPod? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to remove the following track from the playlist "%s"? Are you sure you want to remove the following tracks from the playlist "%s"? Armando Atienza: Support with external playcounts
+ Any (OR) Arabic (IBM-864) Arabic (ISO-8859-6) Arabic (Windows-1256) 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from the database? The number of playlists the tracks are member of is indicated in parentheses. 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 indicated in parentheses. Are you sure you want to delete playlist '%s' and remove the following tracks from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following track completely from your ipod? The number of playlists this track is a member of is indicated in parentheses. Are you sure you want to delete playlist '%s' and the following tracks completely from your ipod? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your harddisk? The number of playlists the tracks are member of is indicated in parentheses. 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 parentheses. Are you sure you want to delete the following tracks completely from your iPod? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to delete the playlist '%s'? Are you sure you want to remove all podcasts from your iPod? Are you sure you want to remove all tracks from the database? Are you sure you want to remove all tracks from your iPod? 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 indicated in parentheses. Are you sure you want to remove the following tracks completely from your local database? The number of playlists the tracks are member of is indicated in parentheses. Are you sure you want to remove the following track from the playlist "%s"? Are you sure you want to remove the following tracks from the playlist "%s"? Armando Atienza: Support with external playcounts
  Artist As a last resort set the following tags to the
-filename if they are (still) empty: As a last resort set the following tags to the filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
+filename if they are (still) empty: Ascending Auto Store Auto Store of track view disabled.
 
- Auto-Generated Playlists Automatically import iTunesDB on startup Automatically select... Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely from the iPod Before removing tracks completely when
- synchronizing directories Before removing tracks completely when
+ Automatically fetch podcasts on startup Automatically import iTunesDB on startup Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying. Automatically sync to iPod B BPM Baltic (ISO-8859-13) Baltic (ISO-8859-4) Baltic (Windows-1257) Before removing playlists or tracks from a playlist Before removing tracks completely when
 synchronizing directories Before removing tracks from the harddisk Before removing tracks from the iPod Before removing tracks from the local database Best Rated (%d) Best Rated Tracks Bitrate Block display when changing playlist or tab
  entry (faster!) Browse CD CD Nr CD Nr. and total number of CDS in set CO: Calendar Calendar sync command: Call automatically when synchronizing iTunesDB Can't reorder sorted treeview. Cancel Cannot open '%s' for reading.
 
  Cannot remove entry 'All' Cannot unsort track view because of a bug in the GTK lib you are using (%d.%d.%d < 2.5.4). Once you sort the track view, you cannot go back to the unsorted state.
 
- Cannot write mhod of type %d
- Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Check for existing files when copying from iPod. Checking iPOD files against known files in DB Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Chris Cutler: automatic creation of various playlist types
+ Category Category:  Celtic (ISO-8859-14) Central European (IBM-852) Central European (ISO-8859-2) Central European (Windows-1250) Change all tracks
+simultaneously Check for existing files when copying from iPod. Checked Checking iPOD files against known files in DB Chinese Simplified (GB18030) Chinese Simplified (GB2312) Chinese Traditional (Big5) Chinese Traditional (Big5-HKSCS) Chris Cutler: automatic creation of various playlist types
  Chris Micacchi: when sorting ignore 'the' and similar at the beginning of the title
  Christoph Kunz: address compatibility issues when writing id3v2.4 type mp3 tags
  Clinton Gormley: sync scripts for thunderbird
- Cmpl Command Line for 'Enqueue': Command Line for 'Play Now': Command for 'Enqueue': Command for 'Play now': Command to be called to synchronize calendar: Command to be called to synchronize notes: Command to synchronize contacts: Comment Comp. Compilation Composer Confirm before removing tracks Confirm list of directories Confirm lists of directories Confirmation Dialogue Contacts / Calendar / Notes Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
+ Cmpl Command for 'Enqueue': Command for 'Play now': Comment Comp. Compilation Compilations Composer Confirm before removing tracks Confirm lists of directories Confirmation Dialogue Contacts sync command: Containing Displayed Tracks Containing Selected Tracks Copied %d of %d new track. Copied %d of %d new tracks. Copied %d of %d track. Copied %d of %d tracks. Copied one track Copied %d tracks Could find file for '%s' on the iPod
  Could not create hash value from itunesdb
  Could not delete backup file: "%s"
  Could not find command '%s' specified for '%s' Could not find mp3gain. I tried to use the following executable: '%s'.
@@ -193,42 +209,37 @@
  Could not open '%s' for writing, or file is not an mp4 file.
  Could not open '%s' to calculate MD5 checksum: %s
  Couldn't change tags of file: %s
- Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently no iPod database selected Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
+ Cover Create New Playlist Create Playlist File Create _Playlist File Create iPod directories Create new Playlist Create playlist file from selected entry of which sort tab? Create podcast logfile at: Created playlist '%s' with %d track. Created playlist '%s' with %d tracks. Created playlist with one track. Created playlist with %d tracks. Creating a tree of known files Credits Currently no iPod database selected Currently only rating is supported. Cyrillic (IBM-855) Cyrillic (ISO-8859-5) Cyrillic (ISO-IR-111) Cyrillic (KOI8-R) Cyrillic (Windows-1251) Cyrillic/Russian (CP-866) Cyrillic/Ukrainian (KOI8-U) D.L. Sharp: Support for m4b files (bookmarkable AAC files)
  Dangling Tracks Dangling tracks with files on PC were handled. Dangling tracks with no files on PC were removed. Daniel Kercher: sync scripts for abook and webcalendar
  Data has been changed and not been saved.
-OK to exit gtkpod? Database in memory corrupt (playlist pointer == NULL). Aborting export. Database in memory corrupt (track pointer == NULL). Aborting export. Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
- Date modified Date played Delete But Keep Tracks Delete Confirmation  Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending 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 '%': %%. 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 '%': %%. Did not find SLst hunk as expected. Trying to continue.
- Dirs Disc number Display Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
-Tracks Displayed Track Attributes  Don't allow file duplication Duplicate Recognition is based on a md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
+OK to exit gtkpod? Date added Date and time track has been added Date and time track has last been modified Date and time track has last been played Date format error: unrecognized character: '%s'
+ Date modified Date played Date released Delete Delete But Keep Tracks Delete From Database Delete From Harddisk Delete From Playlist Delete From iPod Delete Including Tracks Delete Including Tracks (Database) Delete Including Tracks (Harddisk) Delete Track Completely from iPod? Delete Tracks Completey from iPod? Delete Track from Harddisk? Delete Tracks from Harddisk? Delete from computer when  Delete from iPod if podcast has been played Delete from iPod when  Delete once copied to iPod Delete tracks that have been removed Deleted %d track from playlist '%s' Deleted %d tracks from playlist '%s' Deleted one track completely from iPod Deleted %d tracks completely from iPod Deleted one track from harddisk Deleted %d tracks from harddisk Deleted playlist '%s' Deleted playlist '%s' including %d member track Deleted playlist '%s' including %d member tracks Deleted playlist '%s' including %d member track on harddisk Deleted playlist '%s' including %d member tracks on harddisk Deleted track from local database Deleted %d tracks from local database Deleted tracks Descending Description Details 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 '%': %%. 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 '%': %%. 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 '%': %%. Dirs Disc number Display a list of tracks that could actually be updated. Display a list of tracks that could not be updated. Display info about detected duplicates Display info about non-updated tracks Display info about updated tracks Display messages and warnings at startup Display the list of duplicates that have been detected after adding files. Display toolbar... Display tooltips in main window Display tooltips in prefs window Display tracks that match the criteria entered above. Displayed
+Tracks Don't allow file duplication Drag from iPod database not possible in offline mode. Duplicate Recognition is based on a (modified) md5 hash over the file. Duplicate detection ERROR while opening file: '%s' (%s).
  ERROR while writing tag to file: '%s' (%s).
- Edit Edit Smart Playlist Edward Matteucci: debugging, special playlist creation, most of the volume normalizing code
- Effective free space Empty Playlist Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.
-
- English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
+ Edit Edit Details Edit Smart Playlist Edit selected entry of which sort tab? Edward Matteucci: debugging, special playlist creation, most of the volume normalizing code
+ Effective free space Empty Playlist English (US-ASCII) Enqueue Enqueue tracks in selected entry of which sort tab? Ero Carrera: Filename validation and quick sync when copying tracks from the iPod
  Error copying '%s' to '%s' (%s)
  Error copying '%s' to '%s': Permission Error (%s)
  Error creating %s: %s
- Error opening '%s' for reading (%s). Error opening '%s' for writing (%s). Error removing '%s' (%s). Error renaming '%s' to '%s' (%s). Error setting ID3 field: %s
- Error when closing '%s' (%s). Error while reading extended info: %s
- Error while reading from '%s' (%s). Error while reading prefs: %s
- Error while writing to '%s' (%s). Error writing to '%s'.
- Exact path for the 'mp3gain' executable: Execution of mp3gain ('%s') failed. Export selected entry of which sort tab? Extended info will not be used.
+ Error setting ID3 field: %s
+ Error while reading extended info: %s
+ Error while reading prefs: %s
+ Error writing to '%s'.
+ Error: drag from iPod not possible in offline mode. Execution of mp3gain ('%s') failed. Export Tracks Export from iPod database not possible in offline mode. Export selected entry of which sort tab? Extended info will not be used.
  Extended info will not be used. If you have non-transferred tracks,
 these will be lost.
- Extended information file not deleted: '%s' Failed Track Update Failed to write '%s-%s'
+ Extended information file not deleted: '%s' Failed Track Update Failed to set cover art: '%s' Failed to write '%s-%s'
  File "%s" has zero play length. Ignoring.
- File Size File not found: '%s'. File size File size (deleted) File size (non-transferred) Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) Flavio Stanchina: bugfixes
+ File Size File size File size (deleted) File size (non-transferred) File type Filename Format:  Files Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD) First try <i>folder.jpg</i>, then <i>&lt;artist&gt;.jpg</i> Flavio Stanchina: bugfixes
  For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing. For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist. Found %d orphaned and %d dangling files. Done. Found %d orphaned and %d dangling files. Processing... French:   David Le Brun (david at dyn-ns dot net)
- GB GE: General Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
+ GB GE: Genre German:   Jorg Schuler (jcsjcs at users dot sourceforge dot net)
  Graeme Wilford: reading and writing of the 'Composer' ID3 tags, progress dialogue during sync
- Greek (ISO-8859-7) Greek (Windows-1253) Grouping Handle mounting/unmounting of iPod drive Handling of dangling tracks with files on PC was canceled. Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
- 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. Hebrew (IBM-862) Hebrew (Windows-1255) 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). Hiroshi Kawashima: Japanese charset autodetecion feature
- Hz ID Icons of buttons were made by Nicolas Chariot.
-
-
- If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. Illegal seek to offset %ld (length %ld) in file '%s'. Import Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
- Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
- Itdb_Track ID '%d' not found.
+ Greek (ISO-8859-7) Greek (Windows-1253) Group artists on compilation CDs Grouping Handle mounting/unmounting of iPod drive Handling of dangling tracks with files on PC was canceled. Hashed %d of %d track. Hashed %d of %d tracks. Hashed file is 0 bytes long
+ Hebrew (IBM-862) Hebrew (Windows-1255) Hebrew: Assaf Gillat (gillata at gmail dot com)
+ 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). Hiroshi Kawashima: Japanese charset autodetecion feature
+ Hz ID Iain Benson: support for compilation tag in mp3 files and separate display of compilations in the sort tab.
+ If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used. If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets. 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. If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well. If you check this, gtkpod will descend into subdirectories recursively. 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. 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. 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. Ignore these words when at the beginning of the following fields: Import of '%s' failed: m4a/m4p/m4b not supported without the mp4v2 library. You must compile the gtkpod source together with the mp4v2 library.
+ 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. Include broadcast date in track title Increased playcount for '%s' Information 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. Italian:  Edward Matteucci (edward_matteucc at users dot sourceforge dot net)
  James Ligget: replacement of old GTK file selection dialogs with new GTK filechooser dialogs
  Japanese (EUC-JP) Japanese (ISO-2022-JP) Japanese (Shift_JIS) Japanese (automatic detection) Japanese: Ayako Sano
  Japanese: Kentaro Fukuchi (fukuchi at users dot sourceforge dot net)
@@ -236,14 +247,17 @@
  Jens Taprogge: Support for LAME's replay gain tag to normalize volume
  Jim Hall: Decent INSTALL file
  Juergen Helmers, Markus Gaugusch: Conversion scripts to sync calendar/contacts to the iPod
- Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Length of smart playlist rule field (%d) not as expected. Trying to continue anyhow.
- Live _updating Local Local Database Local database import failed: 
+ Keeps all compilation CDs grouped together in the artists sort tab. Kind Korean (EUC-KR) Last Modified Last Played Last Time Last played Live _updating Local Local Database Local database import failed: 
 
  Local database import failed: '%s'
 
  Local database successfully imported Local filename not valid (%s) Lower Margin MB Malformed line in '%s': %s
- Manual volume adjust Master-PL Match al_l of the following Match an_y of the following Match only _checked tracks Misc Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Music Root:  Name of file on PC, if available Name of file on the iPod Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist No MD5 checksums on individual tracks are available.
+ Manual volume adjust Match al_l of the following Match an_y of the following Match only _checked tracks Matching MD5 checksum for file %d/%d Modified Most Listened (%d) Most Recently Played Tracks Moved one track Moved %d tracks Music Root: Name of file on PC, if available Name of file on the iPod Name:  Never Listened Never delete any files when syncing Never show this dialogue again New PL New Playlist Nick Piper: sync script for Palm, type-ahead search
+ Nicolas Chariot: icons of buttons
 
+
+ No MD5 checksums on individual tracks are available.
+
 To avoid this situation in the future either switch on duplicate detection (will provide MD5 checksums) or avoid using the iPod with programs other than gtkpod.
 
  No command set for '%s' No directory names were stored. Make sure that you enable 'Write extended information' in the Export section of the preferences at the time of importing files.
@@ -252,36 +266,38 @@
  No entry selected in Sort Tab %d No entry selected. No information found for user '%s' in '%s' No lower margin No mserv information could be retrieved for the following track No mserv information could be retrieved for the following %d tracks No playlist selected No playlist selected. No tracks available, playlist not created No tracks in selection No tracks selected No tracks selected. No upper margin No valid directories have been found. Sync aborted.
  No valid filename for: %s
 
- Non-transferred tracks None Nordic (ISO-8859-10) Normalization failed: file not available.
- Normalization failed: file type not supported.
- Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Not a OTG playlist file: '%s' (missing mhpo header). Not a Play Counts file: '%s' (missing mhdp header). Not a iTunesDB: '%s' (missing mhdb header). Notes sync command: Nothing to update 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. Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? OTG Playlist OTG Playlist %d OTG playlist file '%s': reference to non-existent track (%d). OTG playlist file ('%s'): header length smaller than expected (%d<20). OTG playlist file file ('%s'): entry length smaller than expected (%d<4). Offline iPod database import failed: 
+ Non-transferred tracks None Nordic (ISO-8859-10) Normalization failed: file not available (%s).
 
+ Normalization failed: file type not supported (%s).
+
+ Normalize Normalize tracks in selected entry of which sort tab? Normalized %d of %d tracks. Normalized %d of %d tracks. Normalizing... 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. 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. 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. Not Listed Notes sync command: Nothing to update Now writing iTunesDB. Please wait... Number of playlists Number of times the track has been played Number of tracks Number of tracks in generated playlists: Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'. OK to create the following directories? OK to synchronize the following directories? Offline iPod database import failed: 
+
  Offline iPod database import failed: '%s'
 
- Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Opening of '%s' for writing failed. Orphaned Overwrite tags that are already set Overwrite tags that are already set. Overwriting existing file: '%s'
+ Offline iPod database successfully imported Ok 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. One for each Album One for each Artist One for each Composer One for each Genre One for each Rating One for each Year Orphaned Overwrite tags that are already set Overwriting existing file: '%s'
  PC File Patches were supplied by the following people (list may be incomplete -- please contact me)
 
- Path not found: '%s'. Play Counts file ('%s'): entry length smaller than expected (%d<12). Play Counts file ('%s'): header length smaller than expected (%d<96). Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
- Plycnt Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
-Export can be continued at a later time. Problem creating iPod directory: '%s'. Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
- Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Reading Recent (%d) Relative volume adjustment between -100 and +100 Removal of dangling tracks with no files on PC was canceled. Remove All Tracks from Database Remove All Tracks from iPod Remove Track From Playlist? Remove Tracks From Playlist? Remove Track from Local Database? Remove Tracks from Local Database? Remove offline playcounts? Removed all %d tracks from the database Removed all %d tracks from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
- Samplerate Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Select the mserv music root directory Select the mserv trackinfo root directory Selected
+ Play Now Play Time Play time Play tracks in selected entry of which sort tab? Playcount Played Playlist Playlist name: Playlist type: Playlists Please enter a name for the new playlist Please refer to the notice below. Please select command for 'Enqueue' Please select command for 'Play Now' Please select command to sync calendar Please select command to sync contacts Please select the mp3gain executable Please specify a time interval Please specify the command to be called on the 'Tools' section of the preferences dialog.
+ Plycnt Podcast RSS Podcast URL Podcast already present: '%s'
+
+ Podcasts Podcasts Preferences Preferences Preferences applied Preferences not updated Press button to abort. Press button to abort.
+Export can be continued at a later time. Problem creating iPod directory: '%s'. Processing '%s' Processing '%s'... Ramesh Dharan: Multi-Edit (edit tags of several tracks in one run)
+ Random (%d) Random Playlist from Displayed Tracks Randomize Current Playlist Rated %d Rating Read Read Existing Database from Disk/iPod Read tags from file contents (e.g. ID3 tags in MP3 files) Recent (%d) Release date (for podcasts displayed next to the title on the iPod) Released Removal of dangling tracks with no files on PC was canceled. Remove All Podcasts from iPod Remove All Tracks from Database Remove All Tracks from iPod Remove Cover Art Remove Track From Playlist? Remove Tracks From Playlist? Remove Track from Local Database? Remove Tracks from Local Database? Remove entry of which sort tab from database? Remove offline playcounts? Remove tracks in selected entry of which filter tab from playlist? Remove tracks in selected entry of which filter tab from the harddisk? Remove tracks in selected entry of which filter tab from the iPod? Removed all %d tracks from the database Removed all %d tracks from the iPod Removed all podcasts from the iPod Retrieving mserv data %s Root directory of mserv database (trackinfo root). Rtng Rules Sam Clegg: user defined filenames when exporting tracks from the iPod
+ Samplerate Save podcasts to:  Select '-1' for no upper limit. Select '0' for no lower limit. Select Export Destination Directory Select directory to add recursively Select the mserv music root directory Select the mserv trackinfo root directory Selected
 Playlist Selected
-Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Settings are not saved.
- Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
+Tracks Selected Tab _Entry Selected _Playlist Selected _Tracks Selected filter tab entry from database Selected filter tab entry from harddisk Selected filter tab entry from iPod Selected filter tab entry from playlist Selected playlist Selected playlist including tracks from database Selected playlist including tracks from harddisk Selected playlist including tracks from iPod Selected tracks from database Selected tracks from harddisk Selected tracks from iPod Selected tracks from playlist Set Cover Set Cover Art Set all podcast genres to 'Podcast' Show information about problems when accessing mserv Size Skipping '%s' because it is a directory.
  Skipping '%s' to avoid adding playlist file recursively
  Skipping existing file with same length: '%s'
  Smart Playlist Sndchk. Some files were not added successfully Some tracks could not be deleted from the iPod. Export aborted! 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. Some tracks were not copied to your harddisk. Only the copied tracks will be included in the current drag and drop operation.
 
- Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort Tabs Sort tracks according to:  Sorting Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
- Stop Stop Display Update Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
- Sync Sync (Writing of iTunesDB) Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Tag Reading Template ('%s') does not match file type '%s'
+ Some tracks were not copied. Some tracks were not written to iPod. Export aborted! Sort tracks according to:  Sorting Options Sorting case sensitive Sorttab:  Sorttabs Soundcheck Source: South European (ISO-8859-3) Special Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod. Specify interval Star rating from 0 to 5 Start display automatically Steve Jay: use statvfs() instead of df (better portability, faster)
+ Stop Stop Display Update Subtitle Successful Track Update Successfully added files Successfully created iPod directories in '%s'. Supposedly something that tells the iPod to increase or decrease the playback speed Swedish: Stefan Asserhall (stefan asserhall at comhem dot se)
+ Sync Sync Dirs Sync dirs of selected entry in which sort tab? Synchronise Contacts, Calendar and Notes Synchronize All Synchronize Calendar Synchronize Contacts Synchronize Notes Synchronize _iTunesDB Synchronize directories Syncing aborted Syncing completed. Syncing completed. No files deleted. Syncing contacts, calendar and notes... Syncing directory '%s' System Charset TB Template ('%s') does not match file type '%s'
  Template for info field:  Temporarily disable sorting when changing playlist
 or tab entry (faster!) Thai (TIS-620) The (former) contents of the following directories will be removed from the database:
 
  The GUI was created with the help of glade-2 (http://glade.gnome.org/).
- The URI '%s' contains invalidly escaped characters The URI '%s' is invalid The URI '%s' is not an absolute URI using the file scheme 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). The following dangling track doesn't have file on PC. 
+ The URI '%s' contains invalidly escaped characters The URI '%s' is invalid The URI '%s' is not an absolute URI using the file scheme The category (e.g. 'Technology' or 'Music') where the podcast was located. 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). The following dangling track doesn't have file on PC. 
 Press OK to remove it, CANCEL to leave it as is. The following %d dangling tracks do not have files on PC. 
 Press OK to remove them, CANCEL to leave them. as is The following dangling track has a file on PC.
 Press OK to have them transfered from the file on next Sync, CANCEL to leave it as is. The following %d dangling tracks have files on PC.
@@ -295,7 +311,7 @@
  The following track could not be processed (filetype unknown): '%s'
  The following track could not be updated The following %d tracks could not be updated The following track has been updated The following %d tracks have been updated The following tracks have to be copied to your harddisk The hostname of the URI '%s' is invalid The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed. The local file URI '%s' may not include a '#' The tags are written to the files on your harddrive and on the ipod (if available). The track on the iPod is referenced in the playlist file. This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.
 
- This is the same option as in 'Edit/Delete Confirmation' 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. 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
+ This is the same option as in 'Edit/Delete Confirmation' 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. This option will be re-activated when you upgrade gtkpod. This program borrows code from the following projects:
  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
 This program 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 General Public License for more details.
@@ -303,57 +319,56 @@
 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
 
- Time Time: Title Toolbar Tooltips Total
+ Time Time: Title Total
 (iPod) Total
-(local) Track Track (%s) not in mserv music root directory (%s) Track Editing Track Nr (#) Track Nr. and total number of tracks on CD Track Playing Track number Tracks Tracks Most Often Listened To Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) Unable to 'mkdir %s'
+(local) Track Track (%s) not in mserv music root directory (%s) Track Nr (#) Track Nr. and total number of tracks on CD Track number Tracks Tracks Most Often Listened To Tracks in Selected Tab _Entry Tracks in Selected _Playlist Transferred Translators Trnsfrd Turkish (IBM-857) Turkish (ISO-8859-9) Turkish (Windows-1254) URL:  Unable to 'mkdir %s'
  Unable to open '%s' for reading
  Unable to open '%s' for writing
  Unable to open config file '%s' for reading
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown action (%d) in smart playlist will be ignored.
- Unknown option: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Unknown Unknown option: %s
  Unknown token '%%%c' in template '%s' Unknown token '%s' in template '%s'
- Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for track selections Use 'Multi-Edit' for tracks selections Use mserv database to fill additional information Use mserv database to fill in additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
-for this filename. Use selected charset (on the 'General' page)
-when writing tags Use selected charset (on the 'Import' page)
- when writing tags Use selected charset also when updating
- or syncing tracks Use selected charset also when updating 
-or syncing tracks Use this template to parse filename for tag information Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: Username:  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). Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume Normalization Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
+ Unmounting of '%s' (%s) unsuccessful. Unmounting of '%s' unsuccessful. Unrated tracks Update Update Podcasts Update _mserv Data from File Update selected entry of which sort tab? Updated selected tracks with data from mserv. Updated selected tracks with info from file. Updating %s Upper margin Use 'Multi-Edit' also for title field Use 'Multi-Edit' for tracks selections Use <i>&lt;Album&gt;.jpg</i> in the parent directory Use <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>... Use <i>folder.jpg</i> as cover art. Use <i>folder.jpg</i>, <i>folder.png</i>... Use mserv database to fill additional information Use selected charset (Preferences/'Adding/Updating/ Syncing')
+for this filename. Use selected encoding (on the 'General' page)
+when writing tags Use selected encoding also when updating 
+or syncing tracks Use this template to parse filename for tag information: Username to be used for mserv database lookup. Username: 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). Uwe Hermann: help with support for iPod Video
+ Vietnamese (VISCII) Vietnamese (Windows-1258) Visual Hebrew (ISO-8859-8) Vol. Volume Volume adjust in dB (replay gain) -- you need to activate 'soundcheck' on the iPod Walter Bell: correct handling of DND URIs with escaped characters and/or cr/newlines at the end
  Warning Western (IBM-850) Western (ISO-8859-1) Western (ISO-8859-15) Western (Windows-1252) When adding dirs/files, update information of
- existing tracks with identical filenames When adding dirs/files, update information of
 existing tracks with identical filenames 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. When syncing directories Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar. Whether the file has already been transferred to the iPod or not Will abort after current mp3gain process ends. Write Changes to Disk/iPod Write ID3 tags to disk when modified in gtkpod Write extended information (PC filenames,
- MD5 hashes, charset). Recommended. Writing to '%s' failed (%s). Writing to '%s' failed. YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
+ MD5 hashes, encoding). Recommended. Writing to video files not yet supported (%s).
+
+ YE: Yaroslav Halchenko: Orphaned and dangling tracks handling
  Year You can also use the table headers, but this allows you to sort according to a column that is not displayed. You did not import the existing iTunesDB ('%s'). This is most likely incorrect and will result in the loss of the existing database.
 
 Press 'OK' if you want to proceed anyhow or 'Cancel' to skip storing. If you cancel, you can import the existing database before calling this function again.
  You did not import the existing iTunesDB. This is most likely incorrect and will result in the loss of the existing database.
 
 Press 'OK' if you want to proceed anyhow or 'Cancel' to abort. If you cancel, you can import the existing database before calling this function again.
- 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. _About _All Tracks _Arrange Sort Tabs _Charset (ID3, files): _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete But Keep Tracks _Delete Completely From iPod _Display _Displayed Tracks _Edit _Edit Preferences _Enqueue _File _Help _Ignore rules _Info Window _Input/Output _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _PLS _Play Now _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
- ends with file not found format not supported genre gtkpod gtkpod Info gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm). 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 options gtkpod version %s usage:
+ 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. _About _All Tracks _Arrange Sort Tabs _Check iPod's Files _Create Playlists _Create iPod's Directories _Delete _Display _Displayed Tracks _Edit _Edit Preferences _Encoding (ID3, files): _Enqueue _Export Tracks from Database _File _General _Help _Ignore rules _Info Window _Less Sort Tabs _Limit to _Local _M3U _More Sort Tabs _Newly Added Tracks _Normalize Volume _Number of sort tabs: _Offline _Other _PLS _Play Now _Podcasts _Prefer Local _Read iTunesDB _Save Displayed Track Order _Sorting _Synchronize Directories _Toolbar _Tools _Tooltips _Track Info _Undo All _Undo Track _Update Tracks from File _View _iPod album artist 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'. contains copying... days deleting... does not contain drag and drop: ignored '%s'
+ ends with file not found folder folder.jpg folder.jpg;%a.jpg format not supported genre gtkpod gtkpod Info gtkpod Version %s: Cross-Platform Multi-Lingual Interface to Apple's iPod(tm). 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 options gtkpod version %s usage:
  highest rating hours iPod Database Import Failed.
 
  iPod Database Import Failed: '%s'
 
  iPod Database Saved iPod Database Successfully Imported iPod File iPod ID iPod Mount _Point: iPod directory structure must be present before synching to the iPod can be performed.
- iTunesDB '%s' corrupt: already found two playlist mhsds -- giving up. iTunesDB '%s' does not match checksum in extended information file '%s'
+ iTunesDB '%s' does not match checksum in extended information file '%s'
 gtkpod will try to match the information using MD5 checksums. This may take a long time.
 
- iTunesDB ('%s'): header length of mhsd hunk smaller than expected (%ld<32). Aborting. iTunesDB corrupt: found mhyp at %ld in file '%s'. iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'. iTunesDB corrupt: no MHOD at offset %ld in file '%s'. iTunesDB possibly corrupt: number of playlists (mhyp hunks) inconsistent. Trying to continue.
- iTunesDB possibly corrupt: number of tracks (mhit hunks) inconsistent. Trying to continue.
  in the last is is after is before is greater than is in the range is less than is not is not set is set kB kbps label21 least often played least recently added least recently played lowest rating 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.
- minutes months most often played most recently added most recently played mserv mserv Root: mserv Root:  mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
+ minutes months most often played most recently added most recently played mserv Root: mserv data file (%s) not available for track (%s) mserv data retrieval problem mserv database lookup will be done for music in this directory. n/a n/c no filename available not in the last offline prefs_set_pm_sort: illegal type '%d' ignored
  prefs_set_toolbar_style: illegal style '%d' ignored
  preparing to copy... random order secs special_sorttab -- Don't translate! starts with title to tracks weeks window1 Project-Id-Version: sv
 Report-Msgid-Bugs-To: 
-POT-Creation-Date: 2005-07-16 16:18+0900
-PO-Revision-Date: 2005-06-22 17:56+0200
+POT-Creation-Date: 2005-12-14 23:51+0900
+PO-Revision-Date: 2005-12-12 18:58+0100
 Last-Translator: Stefan Asserhäll <stefan.asserhall at comhem.se>
 Language-Team: Svenska <sv at li.org>
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 Plural-Forms:  nplurals=2; plural=(n != 1);
-X-Generator: KBabel 1.11
+X-Generator: KBabel 1.11.1
+ 
+
                          gnutools: (mktunes.pl, överförd till C) läsning och skrivning av iTunes databas (http://www.gnu.org/software/gnupod/)
      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.
      mp3info:  detektering av MP3-spelningslängd (http://ibiblio.org/mp3info/)
@@ -368,8 +383,8 @@
                 utan istället till ~/.gtkpod/. iPod uppdateras om 'Synkronisera'
                 används med 'Nerkopplad' inaktiverat.
    -p <filnamn>: öka spelningsantalet för filen med ett
-  %s fritt  %s återstår  <= antal <=   Logiskt:   Antal spår i skapade spellistor:   L:%d S:%d/%d  Inställningar: Kategorinummer (%d<%d?) eller sorteringsfliknummer (%d<%d?) är utanför giltigt intervall.
-  _Teckenkodning (ID3, filer):  A_ntal sorteringsflikar:   nerkopplad  iPod monterings_punkt: # # välj automatiskt huvudspellista?
+  %s fritt  %s återstår  <= antal <=   Logiskt:   L:%d S:%d/%d  Inställningar: Kategorinummer (%d<%d?) eller sorteringsfliknummer (%d<%d?) är utanför giltigt intervall.
+  dagar gammal  nerkopplad # # välj automatiskt huvudspellista?
  # välj automatiskt: ange filnamn i tom tagg?
  # bekräfta borttagning
  # position för skjutreglage (i rutor): spellistor, ovanför spår,
@@ -379,7 +394,7 @@
  # spårnummer=5, iPod-id, PC-sökväg, överförda
  # fönsterstorlekar: huvudfönster, bekräftelse med rullningslist,
 #   bekräftelse utan rullningslist, katalogbläddrare, inställningar
- %d%% (%d:%02d:%02d kvar) %s - %s %s verkar inte vara en wav-fil som stöds.
+ %A %d%% (%d:%02d:%02d kvar) %s - %s %s verkar inte vara en wav-fil som stöds.
  %s:
 Förväntande "itunesdb_hash=", men hittade "%s"
  %s:
@@ -409,33 +424,32 @@
  '%s': bara '%%[%s]' tillåts.
  '%s-%s' (%s) kunde inte normaliseras.
 
- Tillståndet 'Tillagd' ignoreras på grund av fel. 'ÅÅÅÅ-MM-DD TT:MM < d < ÅÅÅÅ-MM-DD TT:MM' eller liknande. Tryck på returtangenten när du är klar. Tillståndet 'Ändrad' ignoreras på grund av fel. Tillståndet 'Spelad' ignoreras på grund av fel. Körbart program 'mp3gain': © 2002 - 2003
+ Tillståndet 'Tillagd' ignoreras på grund av fel. 'ÅÅÅÅ-MM-DD TT:MM < d < ÅÅÅÅ-MM-DD TT:MM' eller liknande. Tryck på returtangenten när du är klar. Tillståndet 'Ändrad' ignoreras på grund av fel. Tillståndet 'Spelad' ignoreras på grund av fel. Körbart program 'mp3gain': © 2002 - 2005
 Jorg Schuler (jcsjcs snabela users punkt sourceforge punkt net)
 Corey Donohoe (atmos snabela atmos punkt org)
 
 
- + - ... ...som ikoner ...som text ...både som ikoner och text ...raden 'Alla' i sorteringsflikar ...huvudspellista 0 1 2 3 4 5 : <b>Tillägg, uppdatering, synkronisering</b> <b>Automatiskt skapade spellistor</b> <b>Välj automatiskt...</b> <b>Bekräfta borttagning</b> <b>Visade spåregenskaper</b> <b>Importera</b> <b>Diverse</b> <b>Spela</b> <b>Sorteringsflikar</b> <b>Synkronisera</b> <b>Synkronisering</b> <b>Taggläsning</b> <b>Verktygsrad</b> <b>Verktygstips</b> <b>Spårredigering</b> <b>Normalisering av volym</b> <b>mServ</b> AL: AR: Avbröt skrivning av utökad information.
- Avbryter... Om gtkpod Lägg till kataloger rekursivt Lägg till filer Lägg till filer eller kataloger Lägg till spellistor Lägg till _katalog Lägg till _filer Lägg till _spellista Lägg till kataloger rekursivt Lägg till spellista från fil Tillagd Tillägg, uppdatering, synkronisering Adrian Ulrich: överföring av spellistans kod från mktunes.pl till itunesdb.c
+ + - ...som ikoner ...som text ...både som ikoner och text ...raden 'Alla' i sorteringsflikar ...huvudspellista ../%A.jpg 0 1 2 3 4 5 : <b>Tillägg, uppdatering, synkronisering</b> <b>Omslag</b> <b>Automatiskt skapade spellistor</b> <b>Välj automatiskt...</b> <b>Bekräfta borttagning</b> <b>Visade spåregenskaper</b> <b>Exempel</b> <b>Inställningar av filer</b> <b>Ignorera vanliga ord</b> <b>Importera</b> <b>Diverse</b> <b>Spela</b> <b>Prenumeration på podradiosändningar</b> <b>Sorteringsordning</b> <b>Sorteringsflikar</b> <b>Synkronisera</b> <b>Synkronisering</b> <b>Taggläsning</b> <b>Verktygsrad</b> <b>Verktygstips</b> <b>Spårredigering</b> <b>Normalisering av volym</b> <b>Inställningar av iPod</b> <b>mServ</b> <b>ej tillgänglig</b> <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.</i> AL: AR: Avbryt alla Avbryt nuvarande Avbryt markerade Avbröt skrivning av utökad information.
+ Avbryter... Om gtkpod Kan kommas åt genom att trycka på iPod-mittenknappen. Lägg till Lägg till kataloger rekursivt Lägg till filer Lägg till filer eller kataloger Lägg till spellistor Lägg till _katalog Lägg till _filer Lägg till _spellista Lägg till omslag från fil med följande mall Lägg till kataloger rekursivt Lägg till spellista från fil Tillagd Adrian Ulrich: överföring av spellistans kod från mktunes.pl till itunesdb.c
  Avancerade sorteringsalternativ Album Alex Tribble: programfix för att mata ut iPod
  Alla Alla (och) Alla spår som aldrig lyssnats på Alla spår som spelats sedan sist Alla spår som inte finns i någon spellista Sortera alfabetiskt Inkludera också spår som aldrig spelats i spellistan "med bäst betyg" Skriv alltid ID3v2.4-taggar (gäller bara MP3) Andrew Huntwork: rättning av skiftlägeskänsliga filnamn och diverse andra felrättningar
  En annan instans av gtkpod detekterades. Spelningsservern startades inte.
- Någon (eller) Arabisk (IBM-864) Arabisk (ISO-8859-6) Arabisk (Windows-1256) Ä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året finns i anges inom parentes. Ä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. Ä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året finns i anges inom parentes. Ä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. Ä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året finns i anges inom parentes. Ä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. Är du säker på att du vill ta bort följande spår helt från hårddisken? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från hårddisken? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från iPod? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från iPod? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort spellistan '%s'? Är du säker på att du vill ta bort alla spår från databasen? Är du säker på att du vill ta bort alla spår från iPod? Är du säker på att du vill ta bort följande spår helt från den lokala databasen? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från den lokala databasen? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår från spellistan "%s"? Är du säker på att du vill ta bort följande spår från spellistan "%s"? Armando Atienza: stöd med externa spelningsantal
+ Någon (eller) Arabisk (IBM-864) Arabisk (ISO-8859-6) Arabisk (Windows-1256) Ä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året finns i anges inom parentes. Ä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. Ä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året finns i anges inom parentes. Ä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. Ä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året finns i anges inom parentes. Ä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. Är du säker på att du vill ta bort följande spår helt från hårddisken? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från hårddisken? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från iPod? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från iPod? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort spellistan '%s'? Är du säker på att du vill ta bort alla podradiosändningar från iPod? Är du säker på att du vill ta bort alla spår från databasen? Är du säker på att du vill ta bort alla spår från iPod? Är du säker på att du vill ta bort följande spår helt från den lokala databasen? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår helt från den lokala databasen? Antal spellistor som spåret finns i anges inom parentes. Är du säker på att du vill ta bort följande spår från spellistan "%s"? Är du säker på att du vill ta bort följande spår från spellistan "%s"? Armando Atienza: stöd med externa spelningsantal
  Artist Om följande taggar (fortfarande) är tomma,
-lagra filnamnet i dem som en sista utväg: Om följande taggar (fortfarande) är tomma, lagra filnamnet i dem som en sista utväg: Stigande Lagra automatiskt Automatisk lagring av spårvy inaktiverad.
+lagra filnamnet i dem som en sista utväg: Stigande Lagra automatiskt Automatisk lagring av spårvy inaktiverad.
 
- Skapa spellistor automatiskt Importera automatiskt iTunes databas vid start Välj automatiskt... 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. byte Taktslag per minut Baltisk (ISO-8859-13) Baltisk (ISO-8859-4) Baltisk (Windows-1257) Innan spellistor eller spår tas bort från en spellista Innan spår tas bort helt från iPod Innan spår tas bort helt vid
-synkronisering av kataloger Innan spår tas bort helt vid
+ Hämta automatiskt podradiosändningar vid start Importera automatiskt iTunes databas vid start 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. Synkronisera automatiskt med iPod byte Taktslag per minut Baltisk (ISO-8859-13) Baltisk (ISO-8859-4) Baltisk (Windows-1257) Innan spellistor eller spår tas bort från en spellista Innan spår tas bort helt vid
 synkronisering av kataloger Innan spår tas bort från hårddisken Innan spår tas bort från iPod Innan spår tas bort från den lokala databasen Med bäst betyg (%d) Spår med bäst betyg Bithastighet Blockera skärmen när spellistor
 eller flikar ändras (snabbare) Bläddra Cd Cd-nummer Cd-nummer och totalt antal cd i albumet KO: Kalender Synkroniseringskommando för kalender: Anropa automatiskt vid synkronisering av iTunes databas Kan inte ordna om sorterad trädvy. Avbryt Kan inte öppna '%s' för läsning.
 
  Kan inte ta bort raden 'Alla' Kan inte göra spårvyn osorterad, beroende på ett fel i GTK-biblioteket du använder (%d.%d.%d < 2.5.4). Så snart du sorterat spårvyn kan du inte gå tillbaka till det osorterade tillståndet.
 
- Kan inte skriva mhod av typen %d
- Kategori:  Keltisk (ISO-8859-14) Centraleuropeisk (IBM-852) Centraleuropeisk (ISO-8859-2) Centraleuropeisk (Windows-1250) Titta efter befintliga filer vid kopiering från iPod. Kontrollerar iPod-filer med kända filer i databasen Förenklad kinesisk (GB18030) Förenklad kinesisk (GB2312) Traditionell kinesisk (Big5) Traditionell kinesisk (Big5-HKSCS) Chris Cutler: skapa olika sorters spellistor automatiskt
+ Kategori Kategori:  Keltisk (ISO-8859-14) Centraleuropeisk (IBM-852) Centraleuropeisk (ISO-8859-2) Centraleuropeisk (Windows-1250) Ändra alla spår
+samtidigt Titta efter befintliga filer vid kopiering från iPod. Kontrollerad Kontrollerar iPod-filer med kända filer i databasen Förenklad kinesisk (GB18030) Förenklad kinesisk (GB2312) Traditionell kinesisk (Big5) Traditionell kinesisk (Big5-HKSCS) Chris Cutler: skapa olika sorters spellistor automatiskt
  Chris Micacchi: ignorera 'the' och liknande i titelns början vid sortering
  Christoph Kunz: hantering av kompatibilitetsfrågor när MP3-taggar av typ id3v2.4 skrivs
  Clinton Gormley: synkroniseringsskript för thunderbird
- Komp. Kommandorad för 'Köa': Kommandorad för 'Spela nu': Kommando för 'Köa': Kommando för 'Spela nu': Kommando att anropa för att synkronisera kalender: Kommando att anropa för att synkronisera anteckningar: Kommando för att synkronisera kontakter: Kommentar Komp. Samling Kompositör Bekräfta innan spår tas bort Bekräfta lista med kataloger Bekräfta lista med kataloger Bekräftelsedialogruta Kontakter, kalender och anteckningar Synkroniseringskommando för kontakter: Som innehåller visade spår Som innehåller markerade spår Kopierade %d av %d nya spår. Kopierade %d av %d nya spår. Kopierade %d av %d spår. Kopierade %d av %d spår. Kopierade ett spår Kopierade %d spår Kunde hitta fil för '%s' på iPod
+ Komp. Kommando för 'Köa': Kommando för 'Spela nu': Kommentar Komp. Samling Samlingar Kompositör Bekräfta innan spår tas bort Bekräfta lista med kataloger Bekräftelsedialogruta Synkroniseringskommando för kontakter: Som innehåller visade spår Som innehåller markerade spår Kopierade %d av %d nya spår. Kopierade %d av %d nya spår. Kopierade %d av %d spår. Kopierade %d av %d spår. Kopierade ett spår Kopierade %d spår Kunde hitta fil för '%s' på iPod
  Kunde inte skapa checksumma från itunesdb
  Kunde inte ta bort säkerhetskopieringsfil: "%s"
  Kunde inte hitta kommandot '%s' som angavs för '%s' Kunde inte hitta mp3gain. Följande körbara program försökte användas: '%s'
@@ -457,42 +471,37 @@
  Kunde inte öppna '%s' för skrivning, eller är filen inte en mp4-fil.
  Kunde inte öppna '%s' för att beräkna MD5-checksumma: %s
  Kunde inte ändra taggar för filen: %s
- Skapa ny spellista Skapa spellistefil Skapa sp_ellistefil Skapa iPod-kataloger Skapa ny spellista Skapa spellistefil från markerad rad för vilken sorts flik? Skapade spellistan '%s' med %d spår. Skapade spellistan '%s' med %d spår. Skapade spellista med ett spår. Skapade spellista med %d spår. Skapar träd med kända filer Tack till För närvarande är ingen iPod-databas markerad För närvarande stöds bara ett betyg Kyrillisk (IBM-855) Kyrillisk (ISO-8859-5) Kyrillisk (ISO-IR-111) Kyrillisk (KOI8-R) Kyrillisk (Windows-1251) Kyrillisk/Rysk (CP-866) Kyrillisk/Ukrainsk (KOI8-U) D.L. Sharp: stöd för m4b-filer (AAC-filer med bokmärken)
+ Omslag Skapa ny spellista Skapa spellistefil Skapa sp_ellistefil Skapa iPod-kataloger Skapa ny spellista Skapa spellistefil från markerad rad för vilken sorts flik? Skapa loggfil för podradiosändningar på: Skapade spellistan '%s' med %d spår. Skapade spellistan '%s' med %d spår. Skapade spellista med ett spår. Skapade spellista med %d spår. Skapar träd med kända filer Tack till För närvarande är ingen iPod-databas markerad För närvarande stöds bara ett betyg Kyrillisk (IBM-855) Kyrillisk (ISO-8859-5) Kyrillisk (ISO-IR-111) Kyrillisk (KOI8-R) Kyrillisk (Windows-1251) Kyrillisk/Rysk (CP-866) Kyrillisk/Ukrainsk (KOI8-U) D.L. Sharp: stöd för m4b-filer (AAC-filer med bokmärken)
  Spår med saknade filer Spår med saknade filer som har filer på PC:n har hanterats. Spår med saknade filer utan filer på PC:n har tagits bort. Daniel Kercher: synkroniseringsskript för abook och webbkalender
  Data har ändrats och inte sparats.
-Ok att avsluta gtkpod? Databas i minnet skadad (spårlistepekare == NULL). Avbryter export. Databas i minnet skadad (spårpekare == NULL). Avbryter export. Tillagd datum Datum och tid då spåret lades till Datum och tid då spåret senast ändrades Datum och tid då spåret senast spelades Fel i datumformat: tecknet känns inte igen: '%s'
- Ändringsdatum Senast spelad Ta bort men behåll spår Bekräfta borttagning  Ta bort från databas Ta bort från hårddisk Ta bort från spellista Ta bort från iPod Ta bort inklusive spår Ta bort inklusive spår (databas) Ta bort inklusive spår (hårddisk) Ta bort spår helt från iPod? Ta bort spår helt från iPod? Ta bort spår från hårddisk? Ta bort spår från hårddisk? Ta bort spår som inte längre finns Tog bort %d spår från spellistan '%s' Tog bort %d spår från spellistan '%s' Tog bort ett spår helt från iPod Tog bort %d spår helt från iPod Tog bort ett spår från hårddisken Tog bort %d spår från hårddisken Tog bort spellistan '%s' Tog bort spellistan '%s' inklusive %d ingående spår Tog bort spellistan '%s' inklusive %d ingående spår Tog bort spellistan '%s' inklusive %d ingående spår från hårddisken Tog bort spellistan '%s' inklusive %d ingående spår från hårddisken Tog bort spår från den lokala databasen Tog bort %d spår från den lokala databasen Borttagna spår Fallande Avgör hur strängen för informationsfältet ska skapas, t.ex. '%a/%A/%T - %t.mp3' eller '%o'. Du kan skilja flera mönster åt med semikolon. Vilket som används avgörs av gtkpod genom filnamnsändelsen som anges. 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, tecknet '%': %%. Avgör filnamn för spåren du kopierar från iPod, t.ex. '%a/%A/%T - %t.mp3' eller '%o'. Du kan skilja flera mönster åt med semikolon. Vilket som används avgörs av gtkpod genom filnamnsändelsen som anges. 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, nuvarande spellista: %p, tecknet '%': %%. Hittade inte SLst data som förväntat. Försöker fortsätta ändå.
- Kataloger Skivnummer Visa Visa en lista med spår som skulle kunna uppdateras. Visa en lista med spår som inte kunde uppdateras. Visa information om detekterade duplikat Visa information om spår som inte uppdaterats Visa information om uppdaterade spår Visa meddelanden och varningar vid start Visa listan med upptäckta duplikat efter filer har lagts till. Visa verktygsrad... Visa verktygstips i huvudfönstret Visa verktygstips i inställningsfönstret Visa spår som uppfyller ovan inskrivna villkor. Visade
-spår Visade spåregenskaper  Tillåt inte duplicerade filer Igenkänning av duplikat är baserat på filens MD5-checksumma. Detektering av duplikat FEL när filen skulle öppnas: '%s' (%s).
+Ok att avsluta gtkpod? Tillagd datum Datum och tid då spåret lades till Datum och tid då spåret senast ändrades Datum och tid då spåret senast spelades Fel i datumformat: tecknet känns inte igen: '%s'
+ Ändringsdatum Senast spelad Utgivningsdatum Ta bort Ta bort men behåll spår Ta bort från databas Ta bort från hårddisk Ta bort från spellista Ta bort från iPod Ta bort inklusive spår Ta bort inklusive spår (databas) Ta bort inklusive spår (hårddisk) Ta bort spår helt från iPod? Ta bort spår helt från iPod? Ta bort spår från hårddisk? Ta bort spår från hårddisk? Ta bort från datorn när  Ta bort från iPod om podradiosändning har spelats Ta bort från iPod när  Ta bort efter kopiering till iPod Ta bort spår som inte längre finns Tog bort %d spår från spellistan '%s' Tog bort %d spår från spellistan '%s' Tog bort ett spår helt från iPod Tog bort %d spår helt från iPod Tog bort ett spår från hårddisken Tog bort %d spår från hårddisken Tog bort spellistan '%s' Tog bort spellistan '%s' inklusive %d ingående spår Tog bort spellistan '%s' inklusive %d ingående spår Tog bort spellistan '%s' inklusive %d ingående spår från hårddisken Tog bort spellistan '%s' inklusive %d ingående spår från hårddisken Tog bort spår från den lokala databasen Tog bort %d spår från den lokala databasen Borttagna spår Fallande Beskrivning Detaljinformation Avgör hur strängen för informationsfältet ska skapas, t.ex. '%a/%A/%T - %t.mp3' eller '%o'. Du kan skilja flera mönster åt med semikolon. Vilket som används avgörs av gtkpod genom filnamnsändelsen som anges. 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, tecknet '%': %%. Avgör filnamn för spåren du kopierar från iPod, t.ex. '%a/%A/%T - %t.mp3' eller '%o'. Du kan skilja flera mönster åt med semikolon. Vilket som används avgörs av gtkpod genom filnamnsändelsen som anges. 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, nuvarande spellista: %p, tecknet '%': %%. 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 '%': %%. Kataloger Skivnummer Visa en lista med spår som skulle kunna uppdateras. Visa en lista med spår som inte kunde uppdateras. Visa information om detekterade duplikat Visa information om spår som inte uppdaterats Visa information om uppdaterade spår Visa meddelanden och varningar vid start Visa listan med upptäckta duplikat efter filer har lagts till. Visa verktygsrad... Visa verktygstips i huvudfönstret Visa verktygstips i inställningsfönstret Visa spår som uppfyller ovan inskrivna villkor. Visade
+spår Tillåt inte duplicerade filer Att dra från iPod-databasen är inte möjlig i nerkopplat läge. Igenkänning av duplikat är baserat på filens (modifierade) MD5-checksumma. Detektering av duplikat FEL när filen skulle öppnas: '%s' (%s).
  FEL när tagg skulle skrivas till filen: '%s' (%s).
- Redigera Redigera smart spellista Edward Matteucci: felsökning, skapa speciella spellistor, den största delen av koden för volymnormalisering
- Verkligt ledigt utrymme Tom spellista Stötte på okänd MHOD-typ (%d) under tolkning av iTunes databas. Ignorerar den.
-
- Engelsk (US-ASCII) Köa Köa spår i markerad rad för vilken sorts flik? Ero Carrera: validering av filnamn och snabbsynkronisering när spår kopieras från iPod
+ Redigera Redigera detaljinformation Redigera smart spellista Redigera markerad rad för vilken sorts flik? Edward Matteucci: felsökning, skapa speciella spellistor, den största delen av koden för volymnormalisering
+ Verkligt ledigt utrymme Tom spellista Engelsk (US-ASCII) Köa Köa spår i markerad rad för vilken sorts flik? Ero Carrera: validering av filnamn och snabbsynkronisering när spår kopieras från iPod
  Fel vid kopiering av '%s' till '%s' (%s)
  Fel vid kopiering av '%s' till '%s': Fel i rättigheter (%s)
  Fel när %s skulle skapas: %s
- Fel när '%s' skulle öppnas för läsning (%s). Fel när '%s' skulle öppnas för skrivning (%s). Fel vid borttagning av '%s' (%s). Fel vid byte av namn på '%s' till '%s' (%s). Fel när ID3-fält skulle ändras: %s
- Fel när '%s' skulle stängas (%s). Fel vid läsning av utökad information: %s
- Fel vid läsning från '%s' (%s). Fel vid läsning av inställningar: %s
- Fel vid skrivning till '%s' (%s). Fel vid skrivning till '%s'.
- Fullständig sökväg till programmet 'mp3gain': Körning av mp3gain ('%s') misslyckades. Exportera markerad rad för vilken sorts flik? Utökad information kommer inte att användas.
+ Fel när ID3-fält skulle ändras: %s
+ Fel vid läsning av utökad information: %s
+ Fel vid läsning av inställningar: %s
+ Fel vid skrivning till '%s'.
+ Fel: att dra från iPod är inte möjligt i nerkopplat läge. Körning av mp3gain ('%s') misslyckades. Exportera spår Export från iPod-databasen är inte möjlig i nerkopplat läge. Exportera markerad rad för vilken sorts flik? Utökad information kommer inte att användas.
  Utökad information kommer inte att användas. Om
 du har spår som inte överförts, går de förlorade.
- Filen med utökad information inte borttagen: '%s' Uppdatering av spår misslyckades Misslyckades skriva '%s-%s'
+ Filen med utökad information inte borttagen: '%s' Uppdatering av spår misslyckades Misslyckades ange omslagsbild: '%s' Misslyckades skriva '%s-%s'
  Filen "%s" har spelningslängden noll. Ignoreras.
- Filstorlek Filen hittades inte: '%s'. Filstorlek Filstorlek (borttagna) Filstorlek (inte överförda) Filnamnsformat:  Filer Hitta övergivna filer (filer utan någon spårinformation i databasen) och saknade spår (spår utan motsvarande filer på iPod) Flavio Stanchina: felrättningar
+ Filstorlek Filstorlek Filstorlek (borttagna) Filstorlek (inte överförda) Filtyp Filnamnsformat:  Filer Hitta övergivna filer (filer utan någon spårinformation i databasen) och saknade spår (spår utan motsvarande filer på iPod) Försök först med <i>katalog.jpg</i>, därefter med <i>&lt;artist&gt;.jpg</i> Flavio Stanchina: felrättningar
  Till exempel rensas XMM:s nuvarande spellista, de markerade spåren läggs till och uppspelning startar med 'xmms %s'. Till exempel läggs de markerade spåren till sist i XMM:s nuvarande spellista (köas) med 'xmms -e %s'. Hittade %d övergivna filer och %d spår med saknade filer. Klar. Hittade %d övergivna filer och %d spår med saknade filer. Behandlar... Franska:   David Le Brun (david snabela dyn-ns punkt net)
- Gibyte GE: Allmänt Genre Tyska:   Jorg Schuler (jcsjcs snabela users punkt sourceforge punkt net)
+ Gibyte GE: Genre Tyska:   Jorg Schuler (jcsjcs snabela users punkt sourceforge punkt net)
  Graeme Wilford: läsning och skrivning av ID3-taggar för 'Kompositör', förloppsdialog under synkronisering
- Grekisk (ISO-8859-7) Grekisk (Windows-1253) Gruppering Hantera montering och avmontering av iPod-enheten Hantering av spår med saknade filer som har filer på PC:n avbröts. Beräknade checksumma för %d av %d spår. Beräknade checksumma för %d av %d spår. Filen med checksumma har storleken 0 byte
- 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. Hebreisk (IBM-862) Hebreisk (Windows-1255) 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). Hiroshi Kawashima: Funktion för automatisk detektering av japansk teckenkodning
- Hz Id Ikoner för knapparna gjordes av Nicolas Chariot.
-
-
- Om tillgänglig, hänvisar spellistan till den lokala kopian av spåret. Annars används filen på iPod. Om markerat är sorteringen skiftlägeskänslig. Observera att skiftlägeskänslig sortering inte fungerar bra med de flesta teckenkodningar. 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. 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. Om du markerar det här, går gtkpod ner i underkataloger rekursivt. Om du inte väljer huvudspellistan automatiskt, går den ursprungliga importen av databasen mycket snabbare eftersom skärmen inte behöver uppdateras. 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. Ogiltig sökning till position %ld (längd %ld) i filen '%s'. Importera 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.
- ökade spelningsantal för '%s' Information 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. Italienska:  Edward Matteucci (edward_matteucc snabela users punkt sourceforge punkt net)
- ITunes databas spår-id '%d' hittades inte.
+ Grekisk (ISO-8859-7) Grekisk (Windows-1253) Gruppera artister på samlingsskivor Gruppering Hantera montering och avmontering av iPod-enheten Hantering av spår med saknade filer som har filer på PC:n avbröts. Beräknade checksumma för %d av %d spår. Beräknade checksumma för %d av %d spår. Filen med checksumma har storleken 0 byte
+ Hebreisk (IBM-862) Hebreisk (Windows-1255) Hebreiska: Assaf Gillat (gillata snabela gmail punkt com)
+ 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). Hiroshi Kawashima: Funktion för automatisk detektering av japansk teckenkodning
+ Hz Id Iain Benson: stöd för samlingstaggen i mp3-filer och separat visning av samlingar i sorteringsfliken.
+ Om tillgänglig, hänvisar spellistan till den lokala kopian av spåret. Annars används filen på iPod. Om markerat är sorteringen skiftlägeskänslig. Observera att skiftlägeskänslig sortering inte fungerar bra med de flesta teckenkodningar. 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. 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. Om du markerar det här, går gtkpod ner i underkataloger rekursivt. 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. Om du inte väljer huvudspellistan automatiskt, går den ursprungliga importen av databasen mycket snabbare eftersom skärmen inte behöver uppdateras. 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. Ignorera dessa ord i början av följande fält: 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.
+ 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. Inkludera sändningsdatum i spårtitel ökade spelningsantal för '%s' Information 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. Italienska:  Edward Matteucci (edward_matteucc snabela users punkt sourceforge punkt net)
  James Ligget: ersättning av gamla GTK dialogrutor för filmarkering med nya GTK dialogrutor för filval
  Japansk (EUC-JP) Japansk (ISO-2022-JP) Japansk (Shift_JIS) Japansk (automatisk detektering) Japanska: Ayako Sano
  Japanska: Kentaro Fukuchi (fukuchi snabela users punkt sourceforge punkt net)
@@ -500,14 +509,17 @@
  Jens Taprogge: stöd för spelningsnivåtagg från LAME vid normalisering av volym
  Jim Hall: hygglig INSTALL-fil
  Juergen Helmers, Markus Gaugusch: konverteringsskript för att synkronisera kalender och kontakter i iPod
- Sort Koreansk (EUC-KR) Senast ändrad Senast spelad Sista gången Senast spelad Regelfältets längd (%d) i den smarta spellistan är inte den förväntade. Försöker fortsätta ändå.
- _Uppdatering under tiden Lokal Lokal databas Import av lokal databas misslyckades: 
+ Behåller alla samlingsskivor grupperade tillsammans i sorteringsfliken för artister Sort Koreansk (EUC-KR) Senast ändrad Senast spelad Sista gången Senast spelad _Uppdatering under tiden Lokal Lokal databas Import av lokal databas misslyckades: 
 
  Import av lokal databas misslyckades: '%s'
 
  Lokal databas importerad med lyckat resultat Lokalt filnamn inte giltigt (%s) Under gräns Mibyte Felaktig rad i '%s': %s
- Manuell volymjustering Huvudspellista Matcha a_lla följande Matcha _någon av följande Matcha bara _kryssmarkerade spår Diverse Ändrad Oftast lyssnade på (%d) Spår som nyligen spelats Flyttade ett spår Flyttade %d spår Musikrot: Musikrot:  Filens namn på PC:n, om tillgängligt Filens namn på iPod Aldrig lyssnade på Ta aldrig bort några filer vid synkronisering Visa aldrig den här dialogrutan igen Ny spellista Ny spellista Inga MD5-checksummor är tillgängliga för enskilda spår.
+ Manuell volymjustering Matcha a_lla följande Matcha _någon av följande Matcha bara _kryssmarkerade spår Matchande MD5-checksumma för filen %d/%d Ändrad Oftast lyssnade på (%d) Spår som nyligen spelats Flyttade ett spår Flyttade %d spår Musikrot: Filens namn på PC:n, om tillgängligt Filens namn på iPod Namn:  Aldrig lyssnade på Ta aldrig bort några filer vid synkronisering Visa aldrig den här dialogrutan igen Ny spellista Ny spellista Nick Piper: synkroniseringsskript för Palm, sökning under inskrivning
+ Nicolas Chariot: ikoner för knappar
 
+
+ Inga MD5-checksummor är tillgängliga för enskilda spår.
+
 För att undvika situationen i framtiden, aktivera antingen detektering av duplikat (som tillhandahåller MD5-checksummor) eller undvik att använda iPod med andra program än gtkpod.
 
  Inget kommando angivet för '%s' Inga katalognamn lagrades. Försäkra dig om att du aktiverar 'Skriv utökad information' under avdelningen Export i inställningarna vid tillfället då filer ska importeras.
@@ -516,36 +528,38 @@
  Ingen rad markerad i sorteringsflik %d Ingen rad markerad. Ingen information hittades för användaren '%s' i '%s' Ingen undre gräns Ingen information kunde hämtas från mserv för följande spår Ingen information kunde hämtas från mserv för följande %d spår Ingen spellista markerad Ingen spellista markerad. Inga spår tillgängliga, spellistan skapades inte Inga spår i markeringen Inga spår markerade Inga spår markerade. Ingen övre gräns Inga giltiga kataloger hittades. Synkronisering avbruten.
  Inget giltigt filnamn för: %s
 
- Spår som inte överförts Ingen Nordisk (ISO-8859-10) Normalisering misslyckades: Filen inte tillgänglig.
- Normalisering misslyckades: Filtypen stöds inte.
- Normalisera Normalisera spår i markerad rad för vilken sorts flik? Normaliserade %d av %d spår. Normaliserade %d av %d spår. Normaliserar... Normalt används teckenkodningen som anges när spåret först importeras för filnamnet. Om du markerar det här alternativet kan du ange en annan teckenkodning i teckensnittsväljaren (Inställningar/'Tillägg, uppdatering, synkronisering'). Observera: kodningsinformationen lagras i filen med utökad information (se Inställningar/'Skrivning av iTunes databas'). Spår som importerats innan version 0.51 har ingen teckenkodning lagrad. Istället används då teckensnittet som anges. 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. 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'. Inte listad Inte en OTG-spellistefil: '%s' (saknar mhpo-huvud). Inte en uppspelningsdatafil: '%s' (saknar mhdp-huvud). Inte en iTunes databas: '%s' (saknar mhdb-huvud). Synkroniseringskommando för anteckningar: Ingenting att uppdatera 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.
-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. Skriver nu iTunes databas. Vänta... Antal spellistor Antal gånger spåret har spelats Antal spår Antal spår i skapade spellistor: Antal spår i de skapade spellistorna 'oftast lyssnats på', 'med bäst betyg' och 'nyligen spelats'. Ange '0' för 'ingen begränsning'. Ok att skapa följande kataloger? Ok att synkronisera följande kataloger? OTG-spellista OTG-spellista %d OTG-spellistefil '%s': Referens till spår som inte finns (%d). OTG-spellistefil ('%s'): Huvudlängd mindre än väntat (%d < 20) OTG-spellistefil ('%s'): Postlängd mindre än väntat (%d < 4) Import av nerkopplad iPod-databas misslyckades: 
+ Spår som inte överförts Ingen Nordisk (ISO-8859-10) Normalisering misslyckades: Filen inte tillgänglig (%s).
 
+ Normalisering misslyckades: Filtypen stöds inte (%s).
+
+ Normalisera Normalisera spår i markerad rad för vilken sorts flik? Normaliserade %d av %d spår. Normaliserade %d av %d spår. Normaliserar... Normalt används teckenkodningen som anges när spåret först importeras för filnamnet. Om du markerar det här alternativet kan du ange en annan teckenkodning i teckensnittsväljaren (Inställningar/'Tillägg, uppdatering, synkronisering'). Observera: kodningsinformationen lagras i filen med utökad information (se Inställningar/'Skrivning av iTunes databas'). Spår som importerats innan version 0.51 har ingen teckenkodning lagrad. Istället används då teckensnittet som anges. 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. 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'. Inte listad Synkroniseringskommando för anteckningar: Ingenting att uppdatera Skriver nu iTunes databas. Vänta... Antal spellistor Antal gånger spåret har spelats Antal spår Antal spår i skapade spellistor: Antal spår i de skapade spellistorna 'oftast lyssnats på', 'med bäst betyg' och 'nyligen spelats'. Ange '0' för 'ingen begränsning'. Ok att skapa följande kataloger? Ok att synkronisera följande kataloger? Import av nerkopplad iPod-databas misslyckades: 
+
  Import av nerkopplad iPod-databas misslyckades: '%s'
 
- Nerkopplad iPod-databas importerad med lyckat resultat Ok 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. En för varje album En för varje artist En för varje kompositör En för varje genre En för varje betyg En för varje år Fel när '%s' skulle öppnas för skrivning. Övergivna Skriv över taggar som redan är angivna Skriv över taggar som redan är angivna. Skriver över befintlig fil: '%s'
+ Nerkopplad iPod-databas importerad med lyckat resultat Ok 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. En för varje album En för varje artist En för varje kompositör En för varje genre En för varje betyg En för varje år Övergivna Skriv över taggar som redan är angivna Skriver över befintlig fil: '%s'
  PC-fil Programfixar har tillhandahållits av följande personer (listan kan vara ofullständig: kontakta mig då gärna)
 
- Sökväg hittades inte: '%s'. Uppspelningsdatafil ('%s'): Postlängd mindre än väntat (%d < 12) Uppspelningsdatafil ('%s'): Huvudlängd mindre än väntat (%d < 96) Spela nu Spelningstid Speltid Spela spår i markerad rad för vilken sorts flik? Spelningsantal Spelad Spellista Spellistans namn: Typ av spellista: Spellistor Skriv in ett namn på den nya spellistan Se anmärkningen nedan. Välj kommando för 'Köa' Välj kommando för 'Spela nu' Välj kommando för att synkronisera kalender Välj kommando för att synkronisera kontakter Välj körbart program mp3gain Ange ett tidsintervall Ange kommandot som ska anropas under 'Verktyg' i inställningsdialogrutan.
- Speln. Inställningar Inställningar ändrade Inställningarna har inte uppdaterats Tryck på knappen för att avbryta. Tryck på knappen för att avbryta.
-Exporten kan fortsättas vid ett senare tillfälle. Problem att skapa iPod-katalog: '%s'. Behandlar '%s'... Ramesh Dharan: Redigera flera (redigera taggar för flera spår på en gång)
- Slumpmässig (%d) Slumpmässig spellista från visade spår Gör nuvarande spellista slumpmässig Betyg %d Betyg Läs Läs befintlig databas från disk eller iPod Läs spår från filinnehåll (t.ex. ID3-taggar i MP3-filer) Läsning Senaste (%d) Relativ volymjustering mellan -100 och +100 Borttagning av spår med saknade filer utan filer på PC:n avbröts. Ta bort alla spår från databasen Ta bort alla spår från iPod Ta bort spår från spellista? Ta bort spår från spellista? Ta bort spår från lokal databas? Ta bort spår från lokal databas? Ta bort nerkopplade spelningsantal? Tog bort alla %d spår från databasen Tog bort alla %d spår från iPod Hämtar data från mserv %s Rotkatalog för mserv databasen (rot för spårinformation). Regler Sam Clegg: användardefinierade filnamn vid export av spår från iPod
- Samplingsfrekvens Välj '-1' för ingen övre gräns. Välj '0' för ingen undre gräns. Välj målkatalog för export Markera katalog att lägga till rekursivt Välj mserv rotkatalog för musik Välj mserv rotkatalog för spårinformation Markerad
+ Spela nu Spelningstid Speltid Spela spår i markerad rad för vilken sorts flik? Spelningsantal Spelad Spellista Spellistans namn: Typ av spellista: Spellistor Skriv in ett namn på den nya spellistan Se anmärkningen nedan. Välj kommando för 'Köa' Välj kommando för 'Spela nu' Välj kommando för att synkronisera kalender Välj kommando för att synkronisera kontakter Välj körbart program mp3gain Ange ett tidsintervall Ange kommandot som ska anropas under 'Verktyg' i inställningsdialogrutan.
+ Speln. Podradio RSS Podradio webbadress Podradiosändning finns redan: '%s'
+
+ Podradiosändningar Inställningar för podradiosändningar Inställningar Inställningar ändrade Inställningarna har inte uppdaterats Tryck på knappen för att avbryta. Tryck på knappen för att avbryta.
+Exporten kan fortsättas vid ett senare tillfälle. Problem att skapa iPod-katalog: '%s'. Behandlar '%s' Behandlar '%s'... Ramesh Dharan: Redigera flera (redigera taggar för flera spår på en gång)
+ Slumpmässig (%d) Slumpmässig spellista från visade spår Gör nuvarande spellista slumpmässig Betyg %d Betyg Läs Läs befintlig databas från disk eller iPod Läs spår från filinnehåll (t.ex. ID3-taggar i MP3-filer) Senaste (%d) Utgivningsdatum (för podradiosändningar visas det intill titeln på iPod) Utgiven Borttagning av spår med saknade filer utan filer på PC:n avbröts. Ta bort alla podradiosändningar från iPod Ta bort alla spår från databasen Ta bort alla spår från iPod Ta bort omslagsbild Ta bort spår från spellista? Ta bort spår från spellista? Ta bort spår från lokal databas? Ta bort spår från lokal databas? Ta bort rad för vilken sorts flik från databasen? Ta bort nerkopplade spelningsantal? Ta bort spår i markerad rad för vilken sorts filterflik från spellistan? Ta bort spår i markerad rad för vilken sorts filterflik från hårddisken? Ta bort spår i markerad rad för vilken sorts filterflik från iPod? Tog bort alla %d spår från databasen Tog bort alla %d spår från iPod Tog bort alla podradiosändningar från iPod Hämtar data från mserv %s Rotkatalog för mserv databasen (rot för spårinformation). Betyg Regler Sam Clegg: användardefinierade filnamn vid export av spår från iPod
+ Samplingsfrekvens Spara podradiosändningar i:  Välj '-1' för ingen övre gräns. Välj '0' för ingen undre gräns. Välj målkatalog för export Markera katalog att lägga till rekursivt Välj mserv rotkatalog för musik Välj mserv rotkatalog för spårinformation Markerad
 spellista Markerade
-spår Markerad _flikrad Markerad _spellista Markerade s_pår Inställningarna har inte sparats.
- Visa information om problem vid användning av mserv Storlek Hoppar över '%s' eftersom det är en katalog.
+spår Markerad _flikrad Markerad _spellista Markerade s_pår Markerade filterflikrad från databasen Markerade filterflikrad från hårddisken Markerade filterflikrad från iPod Markerade filterflikrad från spellistan Markerade spellista Markerade spellistan som innehåller spår från databasen Markerade spellistan som innehåller spår från hårddisken Markerade spellistan som innehåller spår från iPod Markerade spår från databasen Markerade spår från hårddisken Markerade spår från iPod Markerade spår från spellistan Ange omslag Ange omslagsbild Ställ in alla podradiosändningars genre till 'Podradio' Visa information om problem vid användning av mserv Storlek Hoppar över '%s' eftersom det är en katalog.
  Hoppar över '%s' för att undvika att spellistfiler läggs till rekursivt.
  Hoppar över befintlig fil med samma längd: '%s'
  Smart spellista Ljudkontr. Vissa filer kunde inte läggas till med lyckat resultat Vissa spår kunde inte tas bort från iPod. Export avbruten. Vissa spår som spelats i nerkopplat läge hittades inte i iTunes databas. Klicka på 'Ok' för att ta bort dem från filen med nerkopplade spelningsantal, eller 'Avbryt' för att behålla dem. Vissa spår kopierades inte till din hårddisk. Bara de kopierade spåren kommer att ingå i den nuvarande drag och släpp åtgärden.
 
- Några spår kopierades inte. Vissa spår skrevs inte till iPod. Export avbruten. Sorteringsflikar Sortera spår enligt:  Sortera Sorteringsalternativ Skiftlägeskänslig sortering Sorteringsflik:  Sorteringsflikar Ljudkontroll Källa: Sydeuropeisk (ISO-8859-3) Special Ange fullständig sökväg inklusive kommandoradsväljare. '%i' ersätts med monteringspunkten för iPod. Ange intervall Betyg med stjärnor från 0 till 5 Börja visa automatiskt Steve Jay: använd statvfs() istället för df (bättre flyttbarhet, snabbare)
- Stoppa Stoppa uppdatering av skärmen Uppdatering av spår lyckades Filer tillagda med lyckat resultat Skapade iPod-kataloger i '%s' med lyckat resultat. Antagligen något som talar om för iPod att öka eller minska uppspelningshastigheten Svenska: Stefan Asserhäll (stefan asserhall snabela comhem punkt se)
- Synkronisera Synkronisering (skrivning av iTunes databas) Synkronisera kataloger Synkronisera markerad rads kataloger för vilken sorts flik? Synkronisera kontakter, kalender och anteckningar Synkronisera allt Synkronisera kalender Synkronisera kontakter Synkronisera anteckningar Synkronisera _iTunes databas Synkronisera kataloger Synkronisering avbruten Synkronisering klar. Synkronisering klar. Inga filer har tagits bort. Synkroniserar kontakter, kalender och anteckningar... Synkroniserar katalog '%s' Systemets kodning Tibyte Taggläsning Mallen ('%s') passar inte ihop med filtypen '%s'
+ Några spår kopierades inte. Vissa spår skrevs inte till iPod. Export avbruten. Sortera spår enligt:  Sorteringsalternativ Skiftlägeskänslig sortering Sorteringsflik:  Sorteringsflikar Ljudkontroll Källa: Sydeuropeisk (ISO-8859-3) Special Ange fullständig sökväg inklusive kommandoradsväljare. '%i' ersätts med monteringspunkten för iPod. Ange intervall Betyg med stjärnor från 0 till 5 Börja visa automatiskt Steve Jay: använd statvfs() istället för df (bättre flyttbarhet, snabbare)
+ Stoppa Stoppa uppdatering av skärmen Underrubrik Uppdatering av spår lyckades Filer tillagda med lyckat resultat Skapade iPod-kataloger i '%s' med lyckat resultat. Antagligen något som talar om för iPod att öka eller minska uppspelningshastigheten Svenska: Stefan Asserhäll (stefan asserhall snabela comhem punkt se)
+ Synkronisera Synkronisera kataloger Synkronisera markerad rads kataloger för vilken sorts flik? Synkronisera kontakter, kalender och anteckningar Synkronisera allt Synkronisera kalender Synkronisera kontakter Synkronisera anteckningar Synkronisera _iTunes databas Synkronisera kataloger Synkronisering avbruten Synkronisering klar. Synkronisering klar. Inga filer har tagits bort. Synkroniserar kontakter, kalender och anteckningar... Synkroniserar katalog '%s' Systemets kodning Tibyte Mallen ('%s') passar inte ihop med filtypen '%s'
  Mall för informationsfält: Inaktivera sortering tillfälligt när spellistor
 eller flikar ändras (snabbare) Thailändsk (TIS-620) Det (tidigare) innehållet i följande kataloger kommer att tas bort från databasen:
 
  Det grafiska gränssnittet skapades med hjälp av glade-2 (http://glade.gnome.org/).
- Webbadressen '%s' innehåller felaktiga specialtecken Webbadressen '%s' är ogiltig Webbadressen '%s' är inte en absolut webbadress med filschema 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). Följande spår med saknad fil har ingen fil på PC:n.
+ Webbadressen '%s' innehåller felaktiga specialtecken Webbadressen '%s' är ogiltig Webbadressen '%s' är inte en absolut webbadress med filschema Kategorin (t.ex. 'Teknik' eller 'Musik') där podradiosändningen fanns. 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). Följande spår med saknad fil har ingen fil på PC:n.
 Klicka på Ok för att ta bort det, eller Avbryt för att lämna det som det är. Följande %d spår med saknade filer har inga filer på PC:n.
 Klicka på Ok för att ta bort dem, eller Avbryt för att lämna dem som de är. Följande spår med saknad fil har en fil på PC:n.
 Klicka på Ok för att överföra filen vid nästa synkronisering. Avbryt för att lämna det som det är. Följande %d spår med saknade filer har filer på PC:n.
@@ -559,7 +573,7 @@
  Följande spår kunde inte behandlas (filtypen okänd): '%s'
  Följande spår kunde inte uppdateras Följande %d spår kunde inte uppdateras Följande spår har uppdaterats Följande %d spår har uppdaterats Följande spår måste kopieras till din hårddisk Värddator för webbadressen '%s' är ogiltig Spellistan hänvisar till den lokala kopian av spåret. Om spåret inte är tillgängligt lokalt, visas ett felmeddelande. Webbadressen '%s' för lokal fil kan inte innehålla '#' Taggarna skrivs till filer på din hårddisk och på iPod (om tillgänglig). Spellistan hänvisar till spåret på iPod. Den här typen av drag och släpp (%d) stöds inte (ännu). Om du anser att den vore användbart att implementera, kontakta gärna upphovsmannen.
 
- Det här är samma alternativ som i 'Redigera/Bekräfta  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. 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'. Det här alternativet aktiveras igen när du uppdaterar gtkpod. Detta program lånar kod från följande projekt:
+ Det här är samma alternativ som i 'Redigera/Bekräfta  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. Det här alternativet aktiveras igen när du uppdaterar gtkpod. Detta program lånar kod från följande projekt:
  Detta program är fri programvara. Du kan distribuera det och/ellerändra det under villkoren i GNU General Public License, publicerad av Free Software Foundation, antingen version 2 av licensen, eller (om du så önskar) någon senare version.
 
 Detta program distribueras i hopp om att det ska vara användbart, men UTAN NÅGON SOM HELST GARANTI, Även utan underförstådd garanti om SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL. Se GNU General Public License för ytterligare information.
@@ -567,44 +581,41 @@
 Du ska ha fått en kopia av GNU General Public License tillsammans med detta program. Om inte, skriv till Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
 
 
- Tid Tid: Titel Verktygsrad Verktygstips Totalt
+ Tid Tid: Titel Totalt
 (iPod) Totalt
-(lokalt) Spår Spåret (%s) finns inte i mserv rotkatalog för musik (%s) Spårredigering Spårnummer (#) Spårnummer och totalt antal spår på cd:n Spelat spår Spårnummer Spår Spår som oftast lyssnats på Överförd Översättare Överfört Turkisk (IBM-857) Turkisk (ISO-8859-9) Turkisk (Windows-1254) Kan inte skapa katalogen '%s'
+(lokalt) Spår Spåret (%s) finns inte i mserv rotkatalog för musik (%s) Spårnummer (#) Spårnummer och totalt antal spår på cd:n Spårnummer Spår Spår som oftast lyssnats på Spår i markerad _flikrad Spår i markerad _spellista Överförd Översättare Överfört Turkisk (IBM-857) Turkisk (ISO-8859-9) Turkisk (Windows-1254) Webbadress:  Kan inte skapa katalogen '%s'
  Kan inte öppna '%s' för läsning.
  Kan inte öppna '%s' för skrivning
  Kan inte öppna inställningsfilen '%s' för läsning
- Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Okänd Okänd åtgärd (%d) i smart spellista kommer att ignoreras.
- Okänd väljare: %s
+ Unicode (UTF-16BE) Unicode (UTF-16LE) Unicode (UTF-32BE) Unicode (UTF-32LE) Unicode (UTF-7) Unicode (UTF-8) Okänd Okänd väljare: %s
  Okänd beteckning '%%%c' i mallen '%s' Okänd beteckning '%s' i mallen '%s'
- Avmontering av '%s' (%s) misslyckades. Avmontering av '%s' misslyckades. Spår utan betyg Uppdatera Uppdatera _mserv data från fil Uppdatera markerad rad för vilken sorts flik? Uppdaterar markerade spår med data från mserv. Uppdaterar markerade spår med information från fil. Uppdaterar %s Övre gräns Använd också 'Redigera flera' för titelfältet Använd 'Redigera flera' för markerade spår Använd 'Redigera flera' för markerade spår Använd mserv databas för att fylla i ytterligare information Använd mserv databas för att fylla i ytterligare information Använd vald teckenkodning för detta filnamn
+ Avmontering av '%s' (%s) misslyckades. Avmontering av '%s' misslyckades. Spår utan betyg Uppdatera Uppdatera podradiosändningar Uppdatera _mserv data från fil Uppdatera markerad rad för vilken sorts flik? Uppdaterar markerade spår med data från mserv. Uppdaterar markerade spår med information från fil. Uppdaterar %s Övre gräns Använd också 'Redigera flera' för titelfältet Använd 'Redigera flera' för markerade spår Använd <i>&lt;Album&gt;.jpg</i> i överliggande katalog Använd <i>&lt;Album&gt;.jpg</i>, <i>&lt;Album&gt;.png</i>... Använd <i>katalog.jpg</i> som omslagsbild. Använd <i>katalog.jpg</i>, <i>katalog.png</i>... Använd mserv databas för att fylla i ytterligare information Använd vald teckenkodning för detta filnamn
 (Inställningar/'Tillägg, uppdatering, synkronisering'). Använd vald teckenkodning (från sidan 'Allmänt')
-vid skrivning av taggar Använd vald teckenkodning (från sidan 'Import)
 vid skrivning av taggar Använd också vald kodning vid uppdatering
-eller synkronisering av spår Använd också vald kodning vid uppdatering
-eller synkronisering av spår Använd mallen för att tolka filnamnet som tagginformation Använd mallen för att tolka filnamnet som tagginformation: Användarnamn att använda vid uppslagning i mserv databasen. Användarnamn: Användarnamn:  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). Vietnamesisk (VISCII) Vietnamesisk (Windows-1258) Visuell Hebreisk (ISO-8859-8) Vol. Volym Normalisering av volym Volymjustering i dB (spelningsnivå): Du måste aktivera 'ljudkontroll' på iPod Walter Bell: riktig hantering av drag och släpp information med specialtecken och/eller returtecken/nyrader i slutet
+eller synkronisering av spår Använd mallen för att tolka filnamnet som tagginformation: Användarnamn att använda vid uppslagning i mserv databasen. Användarnamn: 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). Uwe Hermann: hjälp med stöd för iPod-video
+ Vietnamesisk (VISCII) Vietnamesisk (Windows-1258) Visuell Hebreisk (ISO-8859-8) Vol. Volym Volymjustering i dB (spelningsnivå): Du måste aktivera 'ljudkontroll' på iPod Walter Bell: riktig hantering av drag och släpp information med specialtecken och/eller returtecken/nyrader i slutet
  Varning Västlig (IBM-850) Västlig (ISO-8859-1) Västlig (ISO-8859-15) Västlig (Windows-1252) När kataloger och filer läggs till, uppdatera information
-om befintliga spår med identiska filnamn När kataloger och filer läggs till, uppdatera information
 om befintliga spår med identiska filnamn Vid kopiering från iPod görs ingen kontroll om målfilen finns. Markeras det här alternativet kontrollerar gtkpod om målfilens längd är samma som filen från iPod. Om det är fallet hoppas filen över, vilket gör det möjligt att snabbt synkronisera innehållet i iPod. Vid synkronisering av kataloger Platsen du monterade iPod-filsystemet. Oftast '/mnt/ipod' eller något liknande. Om filen redan har överförts till iPod eller inte Avbryter efter aktuell mp3gain process slutar. Skriv ändringar till disk eller iPod Skriv ID3-taggar till disk när de ändrats i gtkpod Skriv utökad information (PC-filnamn, MD5-
-checksummor, teckenkodning). Rekommenderas. Fel vid skrivning till '%s' (%s). Fel vid skrivning till '%s'. ÅR: Yaroslav Halchenko: hantering av övergivna filer och saknade spår
+checksummor, teckenkodning). Rekommenderas. Att skriva till videofiler stöds inte än (%s).
+
+ ÅR: Yaroslav Halchenko: hantering av övergivna filer och saknade spår
  År Du kan också använda tabellhuvuden, men här kan du sortera enligt en kolumn som inte visas. Du importerade inte befintlig iTunes databas ('%s'). Det är troligtvis felaktigt och orsakar förlust av den befintliga databasen.
 
 Klicka på 'Ok' om du vill fortsätta ändå eller 'Avbryt' för att avbryta lagringen. Om du avbryter, kan du importera befintlig databas innan du använder den här funktionen igen.
  Du importerade inte befintlig iTunes databas. Det är troligtvis felaktigt och orsakar förlust av den befintliga databasen.
 
 Klicka på 'Ok' om du vill fortsätta ändå eller 'Avbryt' för att avbryta. Om du avbryter, kan du importera befintlig databas innan du använder den här funktionen igen.
- 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. _Om _Alla spår _Ordna sorteringsflikar  _Teckenkodning (ID3, filer): K_ontrollera iPod-filer _Skapa spellistor Skapa iPod-ka_taloger _Ta bort men behåll spår Ta bort _helt från iPod _Visa _Visade spår _Redigera _Redigera inställningar _Köa _Arkiv _Hjälp _Ignorera regler _Informationsfönster _In- och utmatning Färre _sorteringsflikar _Begränsa till _Lokal _M3U _Fler sorteringsflikar _Nytillagda spår _Normalisera volym A_ntal sorteringsflikar: _Nerkopplad _PLS S_pela nu _Föredra lokal _Läs iTunes databas Spara _visad spårordning S_ortera S_ynkronisera kataloger _Verktygsrad Verk_tyg Verktygs_tips _Uppdatera spår från fil _Visa _iPod album artist 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'. innehåller kopierar... dagar tar bort... innehåller inte drag och släpp: ignorerade '%s'
- slutar med filen hittades inte formatet stöds inte genre gtkpod Information om gtkpod gtkpod version %s: Plattformsoberoende flerspråkigt gränssnitt för Apples iPod™. 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. Inställningar för gtkpod Användning av gtkpod version %s:
+ 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. _Om _Alla spår _Ordna sorteringsflikar K_ontrollera iPod-filer _Skapa spellistor Skapa iPod-ka_taloger _Ta bort _Visa _Visade spår _Redigera _Redigera inställningar _Teckenkodning (ID3, filer): _Köa _Exportera spår från databasen _Arkiv _Allmänt _Hjälp _Ignorera regler _Informationsfönster Färre _sorteringsflikar _Begränsa till _Lokal _M3U _Fler sorteringsflikar _Nytillagda spår _Normalisera volym A_ntal sorteringsflikar: _Nerkopplad Ö_vriga _PLS S_pela nu _Podradiosändningar _Föredra lokal _Läs iTunes databas Spara _visad spårordning S_ortera S_ynkronisera kataloger _Verktygsrad Verk_tyg Verktygs_tips _Spårinformation Å_ngra alla Å_ngra spår _Uppdatera spår från fil _Visa _iPod album artist 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'. innehåller kopierar... dagar tar bort... innehåller inte drag och släpp: ignorerade '%s'
+ slutar med filen hittades inte katalog katalog.jpg katalog.jpg;%a.jpg formatet stöds inte genre gtkpod Information om gtkpod gtkpod version %s: Plattformsoberoende flerspråkigt gränssnitt för Apples iPod™. 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. Inställningar för gtkpod Användning av gtkpod version %s:
  högst betyg timmar Import av iPod-databasen misslyckades.
 
  Import av iPod-databasen misslyckades: '%s'
 
  iPod-databas sparad iPod-databasen importerad med lyckat resultat iPod-fil iPod-id iPod monterings_punkt: Katalogstrukturen i iPod måste finnas innan synkronisering av iPod kan utföras.
- iTunes databas '%s' skadad: Två mhsd för spellistor redan hittade. Ger upp. Checksumman för iTunes databas '%s' stämmer inte med den i filen '%s' med utökad information.
+ Checksumman för iTunes databas '%s' stämmer inte med den i filen '%s' med utökad information.
 Ett försök görs av gtkpod att passa ihop informationen med MD5-checksummor. Det kan ta lång tid.
 
- iTunes databas (%s): Huvudlängd för mhsd-data mindre än väntat (%ld < 32). Avbryter. iTunes databas skadad: Hittade mhyp på position %ld i filen '%s'. iTunes databas skadad: Datalängd 0 för data på position %ld i filen '%s'. iTunes databas skadad: Ingen MHOD på position %ld i filen '%s'. iTunes databas möjligen skadad: Antal spellistor (mhyp-data) inte konsekvent. Försöker fortsätta.
- iTunes databas möjligen skadad: Antal spår (mhit-data) inte konsekvent. Försöker fortsätta.
  i sista är är efter är före är större än är i intervallet är mindre än är inte är inte satt är satt Kibyte kbps etikett21 minst spelad tidigast tillagd tidigast spelad lägst betyg Uppdatering av m4a/m4p/m4b metadata för '%s' misslyckades: m4a/m4p/m4b stöds inte utan biblioteket mp4v2. Du måste kompilera källkoden för gtkpod tillsammans med biblioteket mp4v2.
- minuter månader mest spelad senast tillagd senast spelad mserv Rot för mserv: Rot för mserv:  Datafilen från mserv (%s) är inte tillgänglig för spåret (%s) Problem att hämta data från mserv Uppslagning av musik för mserv databasen görs i den här katalogen. ej tillgänglig okänt inget filnamn tillgängligt inte i sista nerkopplad prefs_set_pm_sort: felaktig typ '%d' ignoreras
+ minuter månader mest spelad senast tillagd senast spelad Rot för mserv: Datafilen från mserv (%s) är inte tillgänglig för spåret (%s) Problem att hämta data från mserv Uppslagning av musik för mserv databasen görs i den här katalogen. ej tillgänglig okänt inget filnamn tillgängligt inte i sista nerkopplad prefs_set_pm_sort: felaktig typ '%d' ignoreras
  prefs_set_toolbar_style: felaktig stil '%d' ignoreras
  förbereder kopiering... slumpmässig ordning sekunder special_sorttab -- Don't translate! börjar med titel till spår veckor fönster1 
\ No newline at end of file

Modified: gtkpod/branches/upstream/current/po/sv.po
===================================================================
--- gtkpod/branches/upstream/current/po/sv.po	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/po/sv.po	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 '/mnt/ipod/' or similar."
-msgstr ""
-"Platsen du monterade iPod-filsystemet. Oftast '/mnt/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/branches/upstream/current/scripts/Makefile.am
===================================================================
--- gtkpod/branches/upstream/current/scripts/Makefile.am	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/scripts/Makefile.am	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/scripts/Makefile.in
===================================================================
--- gtkpod/branches/upstream/current/scripts/Makefile.in	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/scripts/Makefile.in	2005-12-29 16:40:29 UTC (rev 90)
@@ -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
 
 

Added: gtkpod/branches/upstream/current/scripts/ldif2vcf.sh
===================================================================
--- gtkpod/branches/upstream/current/scripts/ldif2vcf.sh	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/scripts/ldif2vcf.sh	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,107 @@
+#! /usr/bin/awk -f
+
+function INIT_VAR() {
+	FIRSTNAME="FIRST_NAME"
+	FAMILYNAME="FAMILY_NAME"
+	NICKNAME=""
+	MAIL=""
+	SECONDMAIL=""
+	WORKPHONE=""
+	HOMEPHONE=""
+	CELLPHONE=""
+	ADDRESS=""
+	CITY=""
+	ZIPCODE=""
+	MISC=""
+	MISC1=""
+	MISC2=""
+	MISC3=""
+	MISC4=""
+	URLSITE=""
+
+	URL=""
+	DISPLAY=""}
+
+BEGIN {	INIT_VAR()}
+
+/^givenName:/,/^$/ { DISPLAY="OK" }
+
+/^givenName:/ { FIRSTNAME = substr($0, 12)}
+
+/^sn:/ { FAMILYNAME = substr($0, 5)}
+
+/^xmozillanickname:/ { NICKNAME = substr($0, 19)}
+
+/^mail:/ { MAIL = substr($0, 7)}
+
+/^mozillaSecondEmail:/ { SECONDMAIL = substr($0, 21)}
+
+/^homePhone:/ { HOMEPHONE = substr($0, 12)}
+
+/^mobile:/ { CELLPHONE = substr($0, 9)}
+
+/^telephoneNumber:/ { WORKPHONE = substr($0, 18) }
+
+/^homePostalAddress:/ { ADDRESS = substr($0, 20)}
+
+/^mozillaHomeLocalityName:/ { CITY = substr($0, 26)}
+
+/^mozillaHomePostalCode:/ { ZIPCODE = substr($0, 24)}
+
+/^homeurl:/ { URLSITE = substr($0, 10)}
+
+/^custom1:/ { MISC1 = substr($0, 10)}
+
+/^custom2:/ { MISC2 = substr($0, 10)}
+
+/^custom3:/ { MISC3 = substr($0, 10)}
+
+/^custom4:/ { MISC4 = substr($0, 10)}
+
+/^$/ && DISPLAY == "OK" {
+	# making up the Vcard
+	print "begin:vcard"
+	print "version:3.0"
+	print "n:" FAMILYNAME ";" FIRSTNAME ";;;"
+	print "fn:" FIRSTNAME " " FAMILYNAME
+	if ( NICKNAME ) {
+		print "nickname:" NICKNAME }
+
+	if ( MAIL || URLSITE || SECONDMAIL ) {
+		MAIL?URL="mailto:" MAIL:URL
+		if ( SECONDMAIL ) {
+			URL?URL=URL "\\n(mailto:" SECONDMAIL ")":URL=URL "(mailto:" SECONDMAIL ")" }
+		if ( URLSITE ) {
+			URL?URL=URL "\\n(url:" URLSITE ")":URL=URL "(url:" URLSITE ")" }
+
+		print "url;type=work:" URL }
+
+	if ( HOMEPHONE ) {
+		print "tel;type=home:" HOMEPHONE }
+
+	if ( WORKPHONE ) {
+		print "tel;type=work:" WORKPHONE }
+
+	if ( CELLPHONE ) {
+		print "tel;type=cell:" CELLPHONE }
+
+	if ( ADDRESS && ZIPCODE && CITY ) {
+		print "adr;type=home:;;" ADDRESS ";" ZIPCODE ";" CITY ";;;"
+		print "label;type=home:" ADDRESS "\\n" ZIPCODE " " CITY }
+
+	if ( MISC1 || MISC2 || MISC3 || MISC4 ) {
+		MISC1?MISC=MISC1:MISC
+		if ( MISC2 ) {
+			MISC?MISC=MISC "\\n" MISC2:MISC=MISC MISC2 }
+		if ( MISC3 ) {
+			MISC?MISC=MISC "\\n" MISC3:MISC=MISC MISC3 }
+		if ( MISC4 ) {
+			MISC?MISC=MISC "\\n" MISC4:MISC=MISC MISC4 }
+		
+		print "note:" MISC }
+
+	print "end:vcard"
+
+	INIT_VAR() }
+
+END {exit 0}

Added: gtkpod/branches/upstream/current/scripts/sync-knotes.sh
===================================================================
--- gtkpod/branches/upstream/current/scripts/sync-knotes.sh	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/scripts/sync-knotes.sh	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,69 @@
+#!/bin/bash
+# (c) 2005 Sebastian Scherer <basti _at_ andrew.cmu.edu>
+# Script for syncing knotes with iPod.
+# Recode and options adapted from sync-notes.sh
+#
+# sync-notes.sh [-i <ipod mountpoint>] [-e <encoding>]
+#
+# defaults:
+IPOD_MOUNT=/media/iPod
+ENCODING=ISO-8859-15                          # encoding used by ipod
+
+#First start knotes if it is not started already:
+if dcop knotes 2>/dev/null 1>/dev/null
+then
+   :
+else
+    knotes 2>/dev/null 1>/dev/null
+fi
+
+
+#Set options if other parameters given.
+while getopts i:e: option; do
+    case $option in
+        i) IPOD_MOUNT=$OPTARG;;
+        e) ENCODING=$OPTARG;;
+        \?) echo "Usage: `basename $0` [-i <ipod mountpoint>] [-e <encoding>]"
+	    exit 1;;
+    esac
+done
+
+# set the RECODE command
+if [ $ENCODING = "none" ] || [ $ENCODING = "NONE" ]; then
+    RECODE="cat"    # no conversion
+else
+    which iconv >/dev/null 2>&1
+    if [ "$?" != "0" ]; then
+      echo "iconv utility not found. please install 'iconv'."
+      exit
+    fi
+    RECODE="iconv -f UTF-8 -t $ENCODING"
+fi
+
+# check if iPod mountpoint exists
+if [ ! -d $IPOD_MOUNT/Notes ]; then
+    echo "Error: Cannot find iPod at $IPOD_MOUNT"
+    exit 1
+fi
+
+echo -n "Syncing iPod ... [Notes] "
+#Remove old notes
+mkdir -p $IPOD_MOUNT/Notes
+rm -rf $IPOD_MOUNT/Notes/*
+
+#Add new notes
+INDICES=`dcop knotes KNotesIface notes| awk --field-separator '->' '{print $1}'`
+TITLES=`dcop knotes KNotesIface notes | awk --field-separator '->' '{print $2}'`
+COUNT=1
+for INDEX in $INDICES
+do
+  TITLE=`echo "$TITLES" | sed "$COUNT!d"`
+#  echo "$COUNT Index: $INDEX, Title: $TITLE"
+  TEXT=`dcop knotes KNotesIface text $INDEX`
+  #echo "Text: $TEXT"
+  TITLE=`echo "$TITLE" | sed 's/\W/./g'`
+  echo "$TEXT" | $RECODE > "$IPOD_MOUNT/Notes/${COUNT}-${TITLE}"
+  COUNT=`expr $COUNT + 1`
+done
+
+echo "done!"

Added: gtkpod/branches/upstream/current/scripts/sync-ldif.sh
===================================================================
--- gtkpod/branches/upstream/current/scripts/sync-ldif.sh	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/scripts/sync-ldif.sh	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,158 @@
+#! /bin/sh
+
+# Placed under GPL; to know more, see:
+# 			http://www.gnu.org/licenses/licenses.html
+#
+# if you make any change, I would be happy to be kept advised by
+# sending an email at <sberidot at libertysurf dot fr>.
+#
+# Write "[sync-ldif.sh]" in the subject, otherwise the message is
+# bound to be considered as spam... :(
+#
+#
+# RESTRICTION : I haven't managed yet to read correctly data from
+# ldif files when accents are used, Thunderbird writes the names
+# differently...This is still Chinese for me!! :)
+
+export LDIFAMILYNAME=contactIPOD	# Filenames will look like $LDIFAMILYNAMEXX.vcf, X=[0-9]
+export IPOD_MOUNT=/mnt/ipod		# Mount point of the ipod
+declare LDIFILE=addressbook.ldif	# default filename 'addressbook.ldif'
+declare ENCODING=ISO-8859-15            # To try others encodings : 'iconv --list'
+declare DELETE="NO"			# To delete old .vcf files by default? 'NO'!!
+
+# Exiting function
+function EXITING {
+	export -n LDIFAMILYNAME
+	export -n IPOD_MOUNT
+}
+
+# Please HELP!!! :)
+function DISPLAY_HELP {
+	cat <<- EOF
+		Beware not to share the same familyname with old .vcf in the ipod directory;
+		no one precaution is taken, so files will be overwritten. :(
+		For the moment, I did not manage to make accents be displayed properly,
+		but still working on it. Enjoy!
+
+		Default options:
+		Current Ipod directory is      : $IPOD_MOUNT
+		Current Encoding               : $ENCODING
+		Current template for filenames : $LDIFAMILYNAME[1-9*].vcf
+		$(basename $0) doesn't delete old .vcf files by default, but overwrites.
+
+		Options:
+		Syntax : $(basename $0) -f addbook.ldif -m /media/ipod -n contactIPOD -d (-h)
+		[-f] addbook.ldif  : contains the .ldif Filename
+		[-m] /media/ipod   : contains the ipod Mounted directory
+		[-n] contactIPOD   : contains the .vcf family fileName
+		[-d]               : contains the option to Delete all old .vcf files
+		[-h]               : contains this Help
+	EOF
+}
+
+# $1 contains the directory to be tested
+# Is/Are .vcf file(s) present?
+function TST_VCF {
+	local j
+	for j in "${1%%/}/"* ; do
+		if [ "${j##*.}" = "vcf" ] ; then
+			return 0
+			break
+		fi
+	done
+	return 1
+}
+
+# $1 contains the util name
+# Is $1 already installed?
+function TST_UTIL {
+	which "$1" >/dev/null 2>&1
+	if [ "$?" != "0" ]; then
+		echo "[INSTALL] $1 utility not found, please install $1 package first!"
+		EXITING
+		exit 3
+	fi
+}
+
+# $1 contains the .vcf filename
+# extracts names from .vcf filename
+function EXTRACT_CONTACT_FROM_VCF {
+	local NAME="UNKNOWN"
+	if [ -e "$1" ] ; then
+		NAME=$(grep "fn:" "$1")
+		NAME=${NAME:3}
+	fi
+	echo "$NAME"
+}
+
+function DELETE_VCFILE_FROM_IPOD {
+	# if no .vcf file's found, exit!
+	if ! TST_VCF "$IPOD_MOUNT"/Contacts/ ; then
+		echo "[DELETING] no file detected"
+		return
+	fi
+	# begin to delete
+	local i
+	for i in "$IPOD_MOUNT"/Contacts/*.vcf ; do
+		echo "[DELETING] " $(EXTRACT_CONTACT_FROM_VCF "$i") "from ${i##*/}"
+		rm -f "$i"
+	done
+}
+
+# Is Ipod Directory valid?
+function IS_IPOD_DIR_VALID {
+	# Test of the $IPOD_MOUNT directory
+	if [ ! -d "$IPOD_MOUNT/Contacts/" ]; then
+		echo "$IPOD_MOUNT/Contacts invalid... Exiting."
+		EXITING
+		exit 2
+	fi
+}
+
+# Program's starting here!
+
+# Testing awk and iconv utils...
+TST_UTIL "awk"
+TST_UTIL "iconv"
+
+# picking up and processing parameters from prompt...
+while getopts ":f:m:n:dh:" option ; do
+	case $option in
+		f )	LDIFILE="$OPTARG";;
+		m )     IPOD_MOUNT="${OPTARG%%/}";;
+		n )	LDIFAMILYNAME="$OPTARG";;
+		d )	DELETE="OK";;
+		h | * )	DISPLAY_HELP; EXITING; exit 1;;
+	esac
+done
+
+# check, if not valid, exit!
+IS_IPOD_DIR_VALID
+
+# Is LDIFILE really a ldif file? just testing the extension, and if the file exists...
+if [ "${LDIFILE##*.}" == "ldif" ] || [ "${LDIFILE##*.}" == "LDIF" ] && [ -e "$LDIFILE" ] ; then
+	# The $IPOD_MOUNT/Contacts/ directory will be emptied if '-d' option!
+	if [ "$DELETE" == "OK" ]; then
+		echo "Old contacts being deleted from $IPOD_MOUNT. Work in progress..."
+		DELETE_VCFILE_FROM_IPOD
+		sleep 1
+	fi
+
+	echo "New contacts being synchronised from $LDIFILE. Work in progress..."
+	# Translation from LDIF into VCF, in order to cut standard output in vcf files...
+	# Converting into vcf stream | converting to ENCODING | detection of VCF card
+	#							and writing it into the Ipod
+	ldif2vcf.sh < "$LDIFILE" | iconv -f UTF-8 -t $ENCODING | awk 'BEGIN{RS="\n"; NAME=""; CARD=""; VCFILE=""; NCARD=1} /^fn:/ {NAME=substr($0,4)} /^$/{next} /^end:vcard/ {VCFILE = ENVIRON["IPOD_MOUNT"] "/Contacts/" ENVIRON["LDIFAMILYNAME"] (NCARD-1) ".vcf"; print "[WRITING] " NAME " in " ENVIRON["LDIFAMILYNAME"] (NCARD-1) ".vcf"; print CARD "end:vcard" > VCFILE; CARD=""; VCFILE=""; NCARD++; next} {CARD=CARD $0 RS} END{print (NCARD-1) " vcards added."}' # >/dev/null 2>&1
+
+	if [ "$?" != "0" ]; then
+		echo "[ERROR] An error occured, exiting, sorry for that... Please Report!"
+		EXITING
+		exit 1
+	fi
+	echo "complete!"
+else
+	DISPLAY_HELP
+fi
+
+EXITING
+exit 0

Added: gtkpod/branches/upstream/current/scripts/sync-palm-jppy.py
===================================================================
--- gtkpod/branches/upstream/current/scripts/sync-palm-jppy.py	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/scripts/sync-palm-jppy.py	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,77 @@
+#!/usr/bin/python
+# Script for syncing Palm addressbook data with iPod via Jppy
+# (c) 2005 Nick Piper <nick at nickpiper dot co dot uk>
+#
+
+# Usage:
+# 
+# sync-jppy.py [-i <ipod mountpoint>] [-e <encoding>]
+#
+#
+# with the following defaults: 
+
+IPOD_MOUNT="/media/ipod"         # mountpoint of ipod
+ENCODING="ISO-8859-15"         # encoding used by ipod
+
+# Unless called with "-e=none" this script requires "recode" available
+# from ftp://ftp.iro.umontreal.ca/pub/recode/recode-3.6.tar.gz
+
+# About the encoding used by the iPod (by Jorg Schuler):
+#
+# For some reason the encoding used for the contact files and
+# calender files depends on the language you have set your iPod
+# to. If you set your iPod to German, iso-8859-15 (or -1?) is
+# expected. If you set it to Japanese, SHIFT-JIS is expected. You need
+# to reboot the iPod to have the change take effect, however. (I'm
+# using firmware version 1.3.)
+#
+# If you know of more encodings, please let me know, so they can be
+# added here:
+#
+# iPod language      encoding expected
+# ----------------------------------------
+# German             ISO-8859-15
+# Japanese           SHIFT-JIS
+
+
+from optparse import OptionParser
+import os
+import jppy
+import glob
+
+parser = OptionParser()
+parser.add_option("-i", "--ipod", dest="mountpoint",default=IPOD_MOUNT,
+                  help="use iPod mounted at DIR", metavar="DIR")
+parser.add_option("-e", "--encoding",
+                  dest="encoding", default=ENCODING,
+                  help="encode to ENCODING")
+parser.add_option("-q", "--quiet",
+                  action="store_false", dest="verbose", default=True,
+                  help="don't print status messages to stdout")
+
+(options, args) = parser.parse_args()
+
+if options.verbose:
+    print "Trying to export from Jppy:"
+
+dir = os.path.join(options.mountpoint,"Contacts")
+if not os.path.exists(dir):
+    parser.error("Are you sure the iPod is at %s?" % options.mountpoint)
+
+ab=jppy.addressBook()
+
+n=0
+for r in ab.records():
+    n=n+1
+    card=r.vcard().decode('palmos').encode(options.encoding)
+    open(os.path.join(dir,"jppy-%d.vcf" % n),"w").write(card)
+
+r=0
+dirnamelen=len(os.path.join(os.path.join(dir,"jppy-")))
+for fn in glob.glob(os.path.join(dir,"jppy-*.vcf")):
+    if int(fn[dirnamelen:-4]) > n:
+        r=r+1
+        os.unlink(fn)
+        
+if options.verbose:
+    print "Saved %d records, removed %d records." % (n,r)

Modified: gtkpod/branches/upstream/current/scripts/sync-thunderbird.sh
===================================================================
--- gtkpod/branches/upstream/current/scripts/sync-thunderbird.sh	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/scripts/sync-thunderbird.sh	2005-12-29 16:40:29 UTC (rev 90)
@@ -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=/mnt/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/branches/upstream/current/src/Makefile.am
===================================================================
--- gtkpod/branches/upstream/current/src/Makefile.am	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/Makefile.am	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/Makefile.in
===================================================================
--- gtkpod/branches/upstream/current/src/Makefile.in	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/Makefile.in	2005-12-29 16:40:29 UTC (rev 90)
@@ -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@

Deleted: gtkpod/branches/upstream/current/src/callbacks.c
===================================================================
--- gtkpod/branches/upstream/current/src/callbacks.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/callbacks.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,2034 +0,0 @@
-/* Time-stamp: <2005-04-01 23:11:57 jcs>
-|
-|  Copyright (C) 2002-2003 Jorg Schuler <jcsjcs at users.sourceforge.net>
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  This program is free software; you can redistribute it and/or modify
-|  it under the terms of the GNU General Public License as published by
-|  the Free Software Foundation; either version 2 of the License, or
-|  (at your option) any later version.
-|
-|  This program 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 General Public License for more details.
-|
-|  You should have received a copy of the GNU General Public License
-|  along with this program; 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: callbacks.c,v 1.149 2004/12/29 10:00:29 jcsjcs Exp $
-*/
-
-/* Most function prototypes in this file were written by glade2. */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "charset.h"
-#include "dirbrowser.h"
-#include "display.h"
-#include "file.h"
-#include "info.h"
-#include "misc.h"
-#include "tools.h"
-#include "playlist.h"
-#include "prefs.h"
-#include "prefs_window.h"
-#include "support.h"
-
-void
-on_add_files1_activate                 (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    create_add_files_fileselector ();
-}
-
-
-void
-on_add_directory1_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-  dirbrowser_create ();
-}
-
-
-void
-on_export_itunes1_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-  handle_export ();
-}
-
-
-void
-on_quit1_activate                      (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-  if (!widgets_blocked) gtkpod_main_quit ();
-}
-
-
-void
-on_about1_activate                     (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-  open_about_window (); /* in misc.c */
-}
-
-
-void
-on_add_files1_button                   (GtkButton       *button,
-					gpointer         user_data)
-{
-  create_add_files_fileselector ();
-}
-
-
-void
-on_add_directory1_button               (GtkButton       *button,
-					gpointer         user_data)
-{
-  dirbrowser_create ();
-}
-
-void
-on_export_itunes1_button               (GtkButton       *button,
-					gpointer         user_data)
-{
-  handle_export ();
-}
-
-gboolean
-on_gtkpod_delete_event                 (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data)
-{
-    if (!widgets_blocked)
-    {
-	return gtkpod_main_quit ();
-    }
-    return TRUE; /* don't quit -- would cause numerous error messages */
-}
-
-gboolean
-on_about_window_close                  (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data)
-{
-  close_about_window (); /* in misc.c */
-  return FALSE;
-}
-
-
-void
-on_about_window_close_button           (GtkButton       *button,
-					gpointer         user_data)
-{
-  close_about_window (); /* in misc.c */
-}
-
-void
-on_new_playlist_button                 (GtkButton       *button,
-					gpointer         user_data)
-{
-  add_new_pl_or_spl_user_name (NULL, -1);
-}
-
-void
-on_sorttab_switch_page                 (GtkNotebook     *notebook,
-					GtkNotebookPage *page,
-					guint            page_num,
-					gpointer         user_data)
-{
-    space_data_update ();
-    st_page_selected (notebook, page_num);
-}
-
-
-void
-on_playlist_treeview_drag_data_get     (GtkWidget       *widget,
-					GdkDragContext  *context,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data)
-{
-    GtkTreeSelection *ts = NULL;
-    GString *reply = g_string_sized_new (2000);
-
-    /* printf("sm drag get info: %d\n", info);*/
-    if((data) && (ts = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget))))
-    {
-	switch (info)
-	{
-	case DND_GTKPOD_IDLIST:
-	    gtk_tree_selection_selected_foreach(ts,
-				    on_pm_dnd_get_id_foreach, reply);
-	    break;
-	case DND_GTKPOD_PM_PATHLIST:
-	    gtk_tree_selection_selected_foreach(ts,
-				    on_dnd_get_path_foreach, reply);
-	    break;
-	case DND_TEXT_PLAIN:
-	    gtk_tree_selection_selected_foreach(ts,
-				    on_pm_dnd_get_file_foreach, reply);
-	    break;
-	}
-    }
-    gtk_selection_data_set(data, data->target, 8, reply->str, reply->len);
-    g_string_free (reply, TRUE);
-}
-
-
-/* NOTE: if we do it the "right way" by having this function called as
-   a 'drag_end' callback, we run into the following problem: This is
-   also called with context->action==GDK_ACTION_MOVE if tracks are
-   reordered using drag and drop or when dropping into the master
-   playlist, irrespective of the arguments of
-   'gtk_drop_finish()'. Therefore this function is called directly by
-   on_playlist_treeview_drag_data_received() */
-static void
-tracks_moved_or_copied     (GdkDragContext  *context, gchar *trackids)
-{
-/*      printf ("ttracks_moved_or_copied ts/dc/action: %p/%d\n", context, context?context->action:0);  */
-    if(trackids && context)
-    {
-	gint n=0;
-	gchar *buf = NULL;
-	gchar *ptr = trackids;
-	Playlist *pl = pm_get_selected_playlist ();
-
-	/* count the number of ids */
-	while ((ptr=strchr (ptr, '\n')))
-	{
-	    ++n;
-	    ++ptr;
-	}
-
-	if (pl && (pl->type == PL_TYPE_NORM) &&
-	    (context->action == GDK_ACTION_MOVE))
-	{
-	    guint32 id = 0;
-	    gchar *str = g_strdup (trackids);
-
-	    while(parse_ipod_id_from_string(&str,&id))
-	    {
-		remove_trackid_from_playlist (pl, id);
-	    }
-	    g_free (str);
-
-	    buf = g_strdup_printf (
-		ngettext ("Moved one track",
-			  "Moved %d tracks", n), n);
-	}
-	else if (pl)
-	{
-	    buf = g_strdup_printf (
-		ngettext ("Copied one track",
-			  "Copied %d tracks", n), n);
-	}
-
-	if (buf)
-	{
-	    gtkpod_statusbar_message (buf);
-	    g_free (buf);
-	}
-    }
-}
-
-
-void
-on_playlist_treeview_drag_data_received
-					(GtkWidget       *widget,
-					GdkDragContext  *context,
-					gint             x,
-					gint             y,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data)
-{
-    GtkTreeIter i;
-    GtkTreePath *path = NULL;
-    GtkTreeModel *model = NULL;
-    GtkTreeViewDropPosition pos = 0;
-    gint position = -1;
-    Playlist *pl = NULL;
-
-
-/*     printf ("treeview received drag data/length/format: %p/%d/%d\n", data, data?data->length:0, data?data->format:0); */
-/*     printf ("treeview received drag context/actions/suggested action: %p/%d/%d\n", context, context?context->actions:0, context?context->suggested_action:0); */
-    /* sometimes we get empty dnd data, ignore */
-    if((!context) || (!data) || (data->length < 0)) return;
-    /* yet another check, i think it's an 8 bit per byte check */
-    if(data->format != 8) return;
-    if(gtk_tree_view_get_dest_row_at_pos(GTK_TREE_VIEW(widget),
-					 x, y, &path, &pos))
-    {
-	gboolean del_src;
-
-	if (context && (context->suggested_action & GDK_ACTION_MOVE))
-	     del_src = TRUE;
-	else del_src = FALSE;
-	model = gtk_tree_view_get_model(GTK_TREE_VIEW(widget));
-	if(gtk_tree_model_get_iter(model, &i, path))
-	{
-	    gtk_tree_model_get(model, &i, 0, &pl, -1);
-	}
-	/* get position of current path */
-	position = atoi (gtk_tree_path_to_string (path));
-	/* adjust position */
-	if (pos == GTK_TREE_VIEW_DROP_AFTER)  ++position;
-	/* don't allow drop _before_ MPL */
-	if (position == 0) ++position;
-	switch (info)
-	{
-	case DND_GTKPOD_IDLIST:
-	    if(pl)
-	    {
-		if ((pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE) ||
-		    (pos == GTK_TREE_VIEW_DROP_INTO_OR_AFTER))
-		{ /* drop into existing playlist */
-		    if (pl->type == PL_TYPE_NORM)
-		    {
-			add_idlist_to_playlist (pl, data->data);
-			/* this is a hack -- see comment at
-			   tracks_moved_or_copied */
-			tracks_moved_or_copied (context, data->data);
-			gtk_drag_finish (context, TRUE, del_src, time);
-		    }
-		    else
-		    {
-			gtk_drag_finish (context, FALSE, FALSE, time);
-		    }
-		}
-		else
-		{ /* drop between playlists */
-		    Playlist *plitem;
-		    plitem = add_new_pl_user_name (NULL, position);
-		    if (plitem)
-		    {
-			add_idlist_to_playlist (plitem, data->data);
-			/* this is a hack -- see comment at
-			   tracks_moved_or_copied */
-			tracks_moved_or_copied (context, data->data);
-			gtk_drag_finish (context, TRUE, del_src, time);
-		    }
-		    else
-		    {
-			gtk_drag_finish (context, FALSE, FALSE, time);
-		    }
-		}
-	    }
-	    else gtk_drag_finish (context, FALSE, FALSE, time);
-	    break;
-	case DND_TEXT_PLAIN:
-	    if(pl)
-	    {
-		if ((pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE) ||
-		    (pos == GTK_TREE_VIEW_DROP_INTO_OR_AFTER))
-		{ /* drop into existing playlist */
-		    add_text_plain_to_playlist (pl, data->data, 0, NULL, NULL);
-		    gtk_drag_finish (context, TRUE, FALSE, time);
-		}
-		else
-		{ /* drop between playlists */
-		    add_text_plain_to_playlist (NULL, data->data, position,
-						NULL, NULL);
-		    gtk_drag_finish (context, TRUE, del_src, time);
-		}
-	    }
-	    else gtk_drag_finish (context, FALSE, FALSE, time);
-	    break;
-	case DND_GTKPOD_PM_PATHLIST:
-	    /* dont allow moves before MPL */
-	    position = atoi (gtk_tree_path_to_string (path));
-	    if (position == 0)  pos = GTK_TREE_VIEW_DROP_AFTER;
-	    pm_move_pathlist (data->data, path, pos);
-	    gtk_drag_finish (context, TRUE, FALSE, time);
-	    break;
-	default:
-	    gtkpod_warning (_("This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.\n\n"), info);
-	    gtk_drag_finish (context, FALSE, FALSE, time);
-	    break;
-	}
-	gtk_tree_path_free(path);
-    }
-    else   gtk_drag_finish (context, FALSE, FALSE, time);
-}
-
-
-
-void
-on_track_treeview_drag_data_get        (GtkWidget       *widget,
-					GdkDragContext  *context,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data)
-{
-    GtkTreeSelection *ts = NULL;
-    GString *reply = g_string_sized_new (2000);
-
-/*     printf("tm drag get info: %d\n", info); */
-    if((data) && (ts = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget))))
-    {
-	switch (info)
-	{
-	case DND_GTKPOD_IDLIST:
-	    gtk_tree_selection_selected_foreach(ts,
-				    on_tm_dnd_get_id_foreach, reply);
-	    break;
-	case DND_GTKPOD_TM_PATHLIST:
-	    gtk_tree_selection_selected_foreach(ts,
-				    on_dnd_get_path_foreach, reply);
-	    break;
-	case DND_TEXT_PLAIN:
-	    gtk_tree_selection_selected_foreach(ts,
-				    on_tm_dnd_get_file_foreach, reply);
-	    break;
-	}
-    }
-    gtk_selection_data_set(data, data->target, 8, reply->str, reply->len);
-    g_string_free (reply, TRUE);
-}
-
-
-gboolean
-on_prefs_window_delete_event           (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data)
-{
-  prefs_window_delete ();
-  gtkpod_statusbar_message(_("Preferences not updated"));
-  return FALSE;
-}
-
-
-void
-on_cfg_mount_point_changed             (GtkEditable     *editable,
-					gpointer         user_data)
-{
-    gchar *buf = gtk_editable_get_chars(editable,0, -1);
-    prefs_window_set_mount_point(buf);
-    g_free (buf);
-}
-
-
-void
-on_cfg_md5tracks_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_md5tracks(gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_id3_write_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_id3_write(gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_prefs_ok_clicked                    (GtkButton       *button,
-					gpointer         user_data)
-{
-    prefs_window_ok();
-}
-
-
-void
-on_prefs_cancel_clicked                (GtkButton       *button,
-					gpointer         user_data)
-{
-    prefs_window_cancel();
-    gtkpod_statusbar_message(_("Preferences not updated"));
-}
-
-
-void
-on_prefs_apply_clicked                 (GtkButton       *button,
-					gpointer         user_data)
-{
-    prefs_window_apply ();
-    gtkpod_statusbar_message(_("Preferences applied"));
-}
-
-void
-on_edit_preferences1_activate          (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    if(!widgets_blocked)  prefs_window_create();
-}
-
-gboolean
-on_playlist_treeview_key_release_event (GtkWidget       *widget,
-					GdkEventKey     *event,
-					gpointer         user_data)
-{
-    guint mods;
-
-    mods = event->state;
-
-    if(!widgets_blocked && (mods & GDK_CONTROL_MASK))
-    {
-	switch(event->keyval)
-	{
-	    case GDK_u:
-		do_selected_playlist (update_trackids);
-		break;
-	    case GDK_n:
-		add_new_pl_or_spl_user_name (NULL, -1);
-		break;
-	    default:
-		break;
-	}
-
-    }
-  return FALSE;
-}
-
-
-gboolean
-on_track_treeview_key_release_event     (GtkWidget       *widget,
-					GdkEventKey     *event,
-					gpointer         user_data)
-{
-    guint mods;
-    mods = event->state;
-
-    if(!widgets_blocked && (mods & GDK_CONTROL_MASK))
-    {
-	switch(event->keyval)
-	{
-	    case GDK_d:
-		delete_track_head (FALSE);
-		break;
-	    case GDK_u:
-		do_selected_tracks (update_trackids);
-		break;
-	    default:
-		break;
-	}
-    }
-    return FALSE;
-}
-
-
-void
-on_cfg_delete_track_from_playlist_toggled
-					(GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_delete_track_playlist(
-	    gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_delete_track_from_ipod_toggled  (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_delete_track_ipod(
-	    gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_autoimport_toggled              (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_autoimport(
-	    gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_write_extended_info_toggled     (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_write_extended_info(
-	    gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_offline1_activate                   (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-  prefs_set_offline (
-     gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)));
-  display_set_check_ipod_menu ();
-}
-
-void
-on_import_itunes_mi_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-  handle_import ();
-}
-
-
-void
-on_import_button_clicked               (GtkButton       *button,
-					gpointer         user_data)
-{
-  handle_import ();
-}
-
-
-void
-on_track_treeview_drag_data_received    (GtkWidget       *widget,
-					GdkDragContext  *context,
-					gint             x,
-					gint             y,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data)
-{
-    GtkTreePath *path = NULL;
-    GtkTreeModel *model = NULL;
-    GtkTreeViewDropPosition pos = 0;
-    gboolean result = FALSE;
-
-    /* printf ("sm drop received info: %d\n", info); */
-
-    /* sometimes we get empty dnd data, ignore */
-    if(widgets_blocked || (!context) ||
-       (!data) || (data->length < 0)) return;
-    /* yet another check, i think it's an 8 bit per byte check */
-    if(data->format != 8) return;
-
-    model = gtk_tree_view_get_model(GTK_TREE_VIEW(widget));
-    if(gtk_tree_view_get_dest_row_at_pos(GTK_TREE_VIEW(widget),
-					 x, y, &path, &pos))
-    {
-	switch (info)
-	{
-	case DND_GTKPOD_TM_PATHLIST:
-	    result = tm_move_pathlist (data->data, path, pos);
-	    break;
-	case DND_GTKPOD_IDLIST:
-	    /* is disabled in tm_drop_types anyhow (display.c) */
-	    printf ("idlist not supported yet\n");
-	    break;
-	case DND_TEXT_PLAIN:
-	    result = tm_add_filelist (data->data, path, pos);
-	    break;
-	default:
-	    gtkpod_warning (_("This DND type (%d) is not (yet) supported. If you feel implementing this would be useful, please contact the author.\n\n"), info);
-	    break;
-	}
-	gtk_tree_path_free(path);
-    }
-}
-
-
-void
-on_charset_combo_entry_changed          (GtkEditable     *editable,
-					gpointer         user_data)
-{
-    gchar *descr, *charset;
-
-    descr = gtk_editable_get_chars (editable, 0, -1);
-    charset = charset_from_description (descr);
-    prefs_window_set_charset (charset);
-    g_free (descr);
-    g_free (charset);
-}
-
-void
-on_delete_tracks_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    delete_track_head (FALSE);
-}
-
-
-void
-on_delete_playlist_activate                (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    delete_playlist_head (FALSE);
-}
-
-void
-on_delete_tab_entry_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    gint inst = get_sort_tab_number (
-	_("Delete selected entry of which sort tab?"));
-
-    if (inst != -1)   delete_entry_head (inst, FALSE);
-}
-
-void
-on_delete_full_tracks_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-     delete_track_head (TRUE);
-}
-
-
-void
-on_delete_full_playlist_activate                (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    delete_playlist_head (TRUE);
-}
-
-void
-on_delete_full_tab_entry_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    gint inst = get_sort_tab_number (
-	_("Delete selected entry of which sort tab?"));
-
-    if (inst != -1)
-    {
-	delete_entry_head (inst, TRUE);
-    }
-}
-
-void
-on_ipod_directories_menu               (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    ipod_directories_head ();
-}
-
-void
-on_st_treeview_drag_data_get           (GtkWidget       *widget,
-					GdkDragContext  *context,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data)
-{
-    GtkTreeSelection *ts = NULL;
-
-    if((data) && (ts = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget))))
-    {
-	if(info == DND_GTKPOD_IDLIST)	/* gtkpod/file */
-	{
-	    GString *reply = g_string_sized_new (2000);
-	    gtk_tree_selection_selected_foreach(ts,
-				    on_st_listing_drag_foreach, reply);
-	    if(reply->len)
-	    {
-		gtk_selection_data_set(data, data->target, 8, reply->str,
-				       reply->len);
-	    }
-	    g_string_free (reply, TRUE);
-	}
-	else if(info == DND_TEXT_PLAIN)
-	{
-	    /* FIXME: not implemented yet -- must also change
-	     * st_drag_types in display.c */
-	    g_warning ("Programming error: on_st_treeview_drag_data_get: received file of type 'text/plain'\n");
-	}
-    }
-
-}
-
-/* delete selected entry in sort tab */
-gboolean
-on_st_treeview_key_release_event       (GtkWidget       *widget,
-					GdkEventKey     *event,
-					gpointer         user_data)
-{
-    guint mods;
-    mods = event->state;
-
-    if(!widgets_blocked && (mods & GDK_CONTROL_MASK))
-    {
-	switch(event->keyval)
-	{
-	    case GDK_d:
-		delete_entry_head (st_get_instance_from_treeview (
-				       GTK_TREE_VIEW (widget)), FALSE);
-		break;
-	    case GDK_u:
-		do_selected_entry (update_trackids,
-				   st_get_instance_from_treeview (
-				       GTK_TREE_VIEW (widget)));
-		break;
-	    default:
-		break;
-	}
-
-    }
-  return FALSE;
-}
-
-void
-on_cfg_mpl_autoselect_toggled          (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_mpl_autoselect(gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_block_display_toggled           (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_block_display(gtk_toggle_button_get_active(togglebutton));
-}
-
-void
-on_stop_button_clicked                 (GtkButton       *button,
-					gpointer         user_data)
-{
-    display_stop_update (-1);
-}
-
-void
-on_add_PL_button_clicked               (GtkButton       *button,
-					gpointer         user_data)
-{
-    create_add_playlists_fileselector ();
-}
-
-
-void
-on_add_playlist1_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    create_add_playlists_fileselector ();
-}
-
-void
-on_update_playlist_activate (GtkMenuItem     *menuitem,
-			     gpointer         user_data)
-{
-    do_selected_playlist (update_trackids);
-}
-
-/* update tracks in tab entry */
-void
-on_update_tab_entry_activate        (GtkMenuItem     *menuitem,
-				     gpointer         user_data)
-{
-    gint inst = get_sort_tab_number (
-	_("Update selected entry of which sort tab?"));
-
-    if (inst != -1) do_selected_entry (update_trackids, inst);
-}
-
-void
-on_update_tracks_activate            (GtkMenuItem     *menuitem,
-				     gpointer         user_data)
-{
-    do_selected_tracks (update_trackids);
-}
-
-
-void
-on_mserv_from_file_playlist_menu_activate
-                                        (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    do_selected_playlist (mserv_from_file_trackids);
-}
-
-
-void
-on_mserv_from_file_entry_menu_activate (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    gint inst = get_sort_tab_number (
-	_("Update selected entry of which sort tab?"));
-
-    if (inst != -1) do_selected_entry (mserv_from_file_trackids, inst);
-}
-
-
-void
-on_mserv_from_file_tracks_menu_activate
-                                        (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    do_selected_tracks (mserv_from_file_trackids);
-}
-
-
-void
-on_mserv_use_toggled                   (GtkToggleButton *togglebutton,
-                                        gpointer         user_data)
-{
-    prefs_window_set_mserv_use (
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_mserv_report_probs_toggled          (GtkToggleButton *togglebutton,
-                                        gpointer         user_data)
-{
-    prefs_window_set_mserv_report_probs (
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-
-void
-on_mserv_username_changed              (GtkEditable     *editable,
-                                        gpointer         user_data)
-{
-    gchar *buf = gtk_editable_get_chars (editable,0, -1);
-    prefs_window_set_mserv_username (buf);
-    g_free (buf);
-}
-
-
-void
-on_sync_playlist_activate (GtkMenuItem     *menuitem,
-			     gpointer         user_data)
-{
-    do_selected_playlist (sync_trackids);
-}
-
-/* sync tracks in tab entry */
-void
-on_sync_tab_entry_activate        (GtkMenuItem     *menuitem,
-				     gpointer         user_data)
-{
-    gint inst = get_sort_tab_number (
-	_("Sync dirs of selected entry in which sort tab?"));
-
-    if (inst != -1) do_selected_entry (sync_trackids, inst);
-}
-
-void
-on_sync_tracks_activate            (GtkMenuItem     *menuitem,
-				     gpointer         user_data)
-{
-    do_selected_tracks (sync_trackids);
-}
-
-
-void
-on_cfg_update_existing_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_update_existing(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-void
-on_save_track_order1_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    tm_rows_reordered ();
-    pm_rows_reordered ();
-}
-
-
-void
-on_cfg_show_duplicates_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_show_duplicates(
-	gtk_toggle_button_get_active(togglebutton));
-
-}
-
-
-void
-on_cfg_show_updated_toggled            (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_show_updated(
-	gtk_toggle_button_get_active(togglebutton));
-
-}
-
-
-void
-on_cfg_show_non_updated_toggled        (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_show_non_updated(
-	gtk_toggle_button_get_active(togglebutton));
-
-}
-
-
-void
-on_cfg_show_sync_dirs_toggled        (GtkToggleButton *togglebutton,
-				      gpointer         user_data)
-{
-    prefs_window_set_show_sync_dirs(
-	gtk_toggle_button_get_active(togglebutton));
-
-}
-
-
-void
-on_toolbar_menu_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    prefs_set_display_toolbar (
-	gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)));
-}
-
-
-void
-on_cfg_display_toolbar_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_display_toolbar(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_more_sort_tabs_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    prefs_set_sort_tab_num (prefs_get_sort_tab_num()+1, TRUE);
-}
-
-
-void
-on_less_sort_tabs_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    prefs_set_sort_tab_num (prefs_get_sort_tab_num()-1, TRUE);
-}
-
-void
-on_cfg_toolbar_style_both_toggled      (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-    {
-	prefs_window_set_toolbar_style (GTK_TOOLBAR_BOTH);
-    }
-}
-
-
-void
-on_cfg_toolbar_style_text_toggled      (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-    {
-	prefs_window_set_toolbar_style (GTK_TOOLBAR_TEXT);
-    }
-}
-
-
-void
-on_cfg_toolbar_style_icons_toggled      (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-    {
-	prefs_window_set_toolbar_style (GTK_TOOLBAR_ICONS);
-    }
-}
-
-void
-on_cfg_automount_ipod_toggled          (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_automount(gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_export_playlist_activate  (GtkMenuItem     *menuitem,
-			      gpointer         user_data)
-{
-    Playlist *pl = pm_get_selected_playlist ();
-
-    if (!pl)
-    {
-	gtkpod_statusbar_message (_("No playlist selected"));
-	return;
-    }
-    export_files_init (pl->members);
-}
-
-
-void
-on_export_tab_entry_activate (GtkMenuItem     *menuitem,
-			      gpointer         user_data)
-{
-    TabEntry *entry;
-    gint inst;
-
-    inst = get_sort_tab_number (_("Export selected entry of which sort tab?"));
-    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;
-    }
-    export_files_init (entry->members);
-}
-
-
-void
-on_export_tracks_activate     (GtkMenuItem     *menuitem,
-			      gpointer         user_data)
-{
-    GList *tracks = tm_get_selected_tracks ();
-
-    if (tracks)
-    {
-	export_files_init(tracks);
-	g_list_free (tracks);
-    }
-    else
-    {
-	gtkpod_statusbar_message (_("No tracks selected"));
-    }
-}
-
-
-void
-on_playlist_file_playlist_activate     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    Playlist *pl = pm_get_selected_playlist ();
-
-    if (!pl)
-    {
-	gtkpod_statusbar_message (_("No playlist selected"));
-	return;
-    }
-    export_playlist_file_init (pl->members);
-}
-
-
-void
-on_playlist_file_tab_entry_activate    (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    TabEntry *entry;
-    gint inst;
-
-    inst = get_sort_tab_number (_("Create playlist file from selected entry of which sort tab?"));
-    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;
-    }
-    export_playlist_file_init (entry->members);
-}
-
-
-void
-on_playlist_file_tracks_activate       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    GList *tracks = tm_get_selected_tracks ();
-
-    if (tracks)
-    {
-	export_playlist_file_init(tracks);
-	g_list_free (tracks);
-    }
-    else
-    {
-	gtkpod_statusbar_message (_("No tracks selected"));
-    }
-}
-
-void
-on_play_playlist_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    Playlist *pl = pm_get_selected_playlist ();
-    if (pl)
-	tools_play_tracks (pl->members);
-    else
-	gtkpod_statusbar_message (_("No playlist selected"));
-}
-
-
-void
-on_play_tab_entry_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    TabEntry *entry;
-    gint inst;
-
-    inst = get_sort_tab_number (_("Play tracks in selected entry of which sort tab?"));
-    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;
-    }
-    tools_play_tracks (entry->members);
-}
-
-
-void
-on_play_tracks_activate                 (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    GList *tracks = tm_get_selected_tracks ();
-    if (tracks)
-    {
-	tools_play_tracks (tracks);
-	g_list_free (tracks);
-	tracks = NULL;
-    }
-    else
-	gtkpod_statusbar_message (_("No tracks selected"));
-}
-
-
-void
-on_enqueue_playlist_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    Playlist *pl = pm_get_selected_playlist ();
-    if (pl)
-	tools_enqueue_tracks (pl->members);
-    else
-	gtkpod_statusbar_message (_("No playlist selected"));
-}
-
-
-void
-on_enqueue_tab_entry_activate          (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    TabEntry *entry;
-    gint inst;
-
-    inst = get_sort_tab_number (_("Enqueue tracks in selected entry of which sort tab?"));
-    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;
-    }
-    tools_enqueue_tracks (entry->members);
-}
-
-
-void
-on_enqueue_tracks_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    GList *tracks = tm_get_selected_tracks ();
-    if (tracks)
-    {
-	tools_enqueue_tracks (tracks);
-	g_list_free (tracks);
-	tracks = NULL;
-    }
-    else
-	gtkpod_statusbar_message (_("No tracks selected"));
-}
-
-
-void
-on_arrange_sort_tabs_activate          (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    st_arrange_visible_sort_tabs ();
-}
-
-
-void
-on_cfg_update_charset_toggled          (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_update_charset(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_write_charset_toggled           (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_write_charset(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_add_recursively_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_add_recursively(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-void
-on_cfg_sync_remove_toggled             (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_sync_remove(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_cfg_sync_remove_confirm_toggled     (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_sync_remove_confirm(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_sp_or_button_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    guint32 inst = (guint32)user_data & SP_MASK;
-
-    prefs_set_sp_or (inst, gtk_toggle_button_get_active (togglebutton));
-    sp_conditions_changed (inst);
-}
-
-
-void
-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;
-
-/*     printf ("%d/%d/%d\n",inst,cond,gtk_toggle_button_get_active (togglebutton)); */
-    prefs_set_sp_cond (inst, cond,
-		       gtk_toggle_button_get_active (togglebutton));
-    sp_conditions_changed (inst);
-}
-
-void
-on_sp_rating_n_toggled                 (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    guint32 inst = (guint32)user_data & SP_MASK;
-    guint32 n = (guint32)user_data >> SP_SHIFT;
-
-    prefs_set_sp_rating_n (inst, n,
-			   gtk_toggle_button_get_active (togglebutton));
-    if (prefs_get_sp_cond (inst, T_RATING))
-	sp_conditions_changed (inst);
-}
-
-
-void
-on_sp_entry_activate             (GtkEditable     *editable,
-				  gpointer         user_data)
-{
-    guint32 inst = (guint32)user_data & SP_MASK;
-    T_item item = (guint32)user_data >> SP_SHIFT;
-    gchar *buf = gtk_editable_get_chars(editable,0, -1);
-
-/*    printf ("sp_entry_activate inst: %d, item: %d\n", inst, item);*/
-
-    prefs_set_sp_entry (inst, item, buf);
-    g_free (buf);
-    sp_update_date_interval_from_string (inst, item, TRUE);
-/*     if (prefs_get_sp_autodisplay (inst))  sp_go (inst); */
-    sp_go (inst);
-}
-
-
-void
-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;
-
-    cal_open_calendar (inst, item);
-}
-
-
-void
-on_sp_go_clicked                       (GtkButton       *button,
-					gpointer         user_data)
-{
-    guint32 inst = (guint32)user_data & SP_MASK;
-    sp_go (inst);
-}
-
-
-void
-on_sp_go_always_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    guint32 inst = (guint32)user_data & SP_MASK;
-    gboolean state = gtk_toggle_button_get_active (togglebutton);
-
-    /* display data if autodisplay is turned on */
-    if (state)  on_sp_go_clicked (NULL, user_data);
-    prefs_set_sp_autodisplay(inst, state);
-}
-
-void
-on_sp_playcount_low_value_changed      (GtkSpinButton   *spinbutton,
-					gpointer         user_data)
-{
-    guint32 inst = (guint32)user_data & SP_MASK;
-
-    prefs_set_sp_playcount_low (inst,
-				gtk_spin_button_get_value (spinbutton));
-    if (prefs_get_sp_cond (inst, T_PLAYCOUNT))
-	sp_conditions_changed (inst);
-}
-
-
-void
-on_sp_playcount_high_value_changed     (GtkSpinButton   *spinbutton,
-					gpointer         user_data)
-{
-    guint32 inst = (guint32)user_data & SP_MASK;
-
-    prefs_set_sp_playcount_high (inst,
-				 gtk_spin_button_get_value (spinbutton));
-    if (prefs_get_sp_cond (inst, T_PLAYCOUNT))
-	sp_conditions_changed (inst);
-}
-
-void
-on_cfg_sort_tab_num_sb_value_changed   (GtkSpinButton   *spinbutton,
-					gpointer         user_data)
-{
-    prefs_window_set_sort_tab_num (gtk_spin_button_get_value (spinbutton));
-}
-
-void
-on_tooltips_menu_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    prefs_set_display_tooltips_main (
-	gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)));
-}
-
-
-void
-on_cfg_display_tooltips_main_toggled   (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_display_tooltips_main (
-	gtk_toggle_button_get_active (togglebutton));
-}
-
-
-void
-on_cfg_display_tooltips_prefs_toggled  (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_display_tooltips_prefs (
-	gtk_toggle_button_get_active (togglebutton));
-}
-
-
-void
-on_cfg_multi_edit_toggled              (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_multi_edit (
-	gtk_toggle_button_get_active (togglebutton));
-}
-
-
-void
-on_cfg_multi_edit_title_toggled        (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_multi_edit_title (
-	gtk_toggle_button_get_active (togglebutton));
-}
-
-
-void
-on_new_playlist1_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-  add_new_pl_or_spl_user_name (NULL, -1);
-}
-
-void
-on_smart_playlist_activate             (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    spl_edit_new (NULL, -1);
-}
-
-void
-on_pl_containing_displayed_tracks_activate (GtkMenuItem     *menuitem,
-					    gpointer         user_data)
-{
-    generate_displayed_playlist ();
-}
-
-void
-on_pl_containing_selected_tracks_activate (GtkMenuItem     *menuitem,
-					    gpointer         user_data)
-{
-    generate_selected_playlist ();
-}
-
-void
-on_pl_for_each_artist_activate         (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    generate_category_playlists (T_ARTIST);
-}
-
-void
-on_pl_for_each_album_activate         (GtkMenuItem     *menuitem,
-				       gpointer         user_data)
-{
-    generate_category_playlists (T_ALBUM);
-}
-
-void
-on_pl_for_each_genre_activate         (GtkMenuItem     *menuitem,
-				       gpointer         user_data)
-{
-    generate_category_playlists (T_GENRE);
-}
-
-void
-on_pl_for_each_composer_activate         (GtkMenuItem     *menuitem,
-					  gpointer         user_data)
-{
-    generate_category_playlists (T_COMPOSER);
-}
-
-
-void
-on_most_listened_tracks1_activate       (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    most_listened_pl();
-}
-
-
-void
-on_all_tracks_never_listened_to1_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    never_listened_pl();
-}
-
-void
-on_most_rated_tracks_playlist_s1_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    most_rated_pl();
-}
-
-
-void
-on_most_recent_played_tracks_activate   (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    last_listened_pl();
-}
-
-void
-on_played_since_last_time1_activate    (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    since_last_pl();
-}
-
-
-void
-on_rebuild_ipod_db1_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-/*    rebuild_iTunesDB();*/
-}
-
-
-void
-on_cfg_misc_track_nr_value_changed      (GtkSpinButton   *spinbutton,
-					gpointer         user_data)
-{
-    prefs_window_set_misc_track_nr (gtk_spin_button_get_value (spinbutton));
-}
-
-void
-on_cfg_not_played_track_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_not_played_track (
-	gtk_toggle_button_get_active (togglebutton));
-}
-
-
-
-void
-on_cfg_normalization_level_changed     (GtkEditable     *editable,
-					gpointer         user_data)
-{
-
-}
-
-
-void
-on_cfg_special_export_charset_toggled  (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-
-}
-
-
-void
-on_sorting_clicked                     (GtkButton       *button,
-					gpointer         user_data)
-{
-    sort_window_create ();
-}
-
-
-void
-on_sorting_activate                    (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    sort_window_create ();
-}
-
-
-void
-on_st_ascend_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_st_sort (SORT_ASCENDING);
-}
-
-
-void
-on_st_descend_toggled                  (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_st_sort (SORT_DESCENDING);
-}
-
-
-void
-on_st_none_toggled                     (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_st_sort (SORT_NONE);
-}
-
-
-void
-on_pm_ascend_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_pm_sort (SORT_ASCENDING);
-}
-
-
-void
-on_pm_descend_toggled                  (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_pm_sort (SORT_DESCENDING);
-}
-
-
-void
-on_pm_none_toggled                     (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_pm_sort (SORT_NONE);
-}
-
-
-void
-on_pm_autostore_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    sort_window_set_pm_autostore (gtk_toggle_button_get_active(togglebutton));
-}
-
-
-
-void
-on_tm_ascend_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_tm_sort (SORT_ASCENDING);
-}
-
-
-void
-on_tm_descend_toggled                  (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_tm_sort (SORT_DESCENDING);
-}
-
-
-void
-on_tm_none_toggled                     (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    if (gtk_toggle_button_get_active(togglebutton))
-	sort_window_set_tm_sort (SORT_NONE);
-}
-
-void
-on_tm_autostore_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    sort_window_set_tm_autostore (gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_sort_case_sensitive_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    sort_window_set_case_sensitive(
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_sort_apply_clicked                  (GtkButton       *button,
-					gpointer         user_data)
-{
-    sort_window_apply ();
-}
-
-
-void
-on_sort_cancel_clicked                 (GtkButton       *button,
-					gpointer         user_data)
-{
-    sort_window_cancel ();
-}
-
-
-void
-on_sort_ok_clicked                     (GtkButton       *button,
-					gpointer         user_data)
-{
-    sort_window_ok ();
-}
-
-
-gboolean
-on_sort_window_delete_event            (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data)
-{
-    sort_window_delete ();
-    return FALSE;
-}
-
-void
-on_normalize_selected_playlist_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    Playlist *pl = pm_get_selected_playlist ();
-    if (pl)
-	nm_tracks_list (pl->members);
-    else
-	gtkpod_statusbar_message (_("No playlist selected"));
-}
-
-
-void
-on_normalize_selected_tab_entry_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    TabEntry *entry;
-    gint inst;
-
-    inst = get_sort_tab_number (_("Normalize tracks in selected entry of which sort tab?"));
-    if (inst == -1) return;
-
-    entry = st_get_selected_entry (inst);
-    if (entry)
-    {
-	nm_tracks_list (entry->members);
-    }
-    else
-    {
-	gchar *str = g_strdup_printf(_("No entry selected in Sort Tab %d"),
-				     inst+1);
-	gtkpod_statusbar_message (str);
-	g_free (str);
-	return;
-    }
-}
-
-
-void
-on_normalize_selected_tracks_activate   (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-   GList *tracks = tm_get_selected_tracks ();
-   nm_tracks_list (tracks);
-   g_list_free (tracks);
-}
-
-
-void
-on_normalize_displayed_tracks_activate  (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    GList *tracks = tm_get_all_tracks ();
-    nm_tracks_list (tracks);
-    g_list_free (tracks);
-}
-
-
-void
-on_normalize_all_tracks                (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    Playlist *plitem = get_playlist_by_nr (0);
-    nm_tracks_list (plitem->members);
-}
-
-
-void
-on_normalize_newly_added_tracks        (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    nm_new_tracks ();
-}
-
-
-void
-on_info_window1_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)))
-	 info_open_window ();
-    else info_close_window ();
-}
-
-
-gboolean
-on_gtkpod_info_delete_event            (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data)
-{
-    info_close_window ();
-    return TRUE; /* don't close again -- info_close_window() already does it */
-}
-
-
-void
-on_info_close_clicked                  (GtkButton       *button,
-					gpointer         user_data)
-{
-    info_close_window ();
-}
-
-
-void
-on_cfg_write_id3v24_toggled            (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_id3_write_id3v24
-	(gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_readtags_toggled                    (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_readtags
-	(gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_parsetags_template_changed             (GtkEditable     *editable,
-					gpointer         user_data)
-{
-    gchar *buf = gtk_editable_get_chars (editable,0, -1);
-    prefs_window_set_parsetags_template (buf);
-    g_free (buf);
-}
-
-
-void
-on_parsetags_overwrite_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_parsetags_overwrite
-	(gtk_toggle_button_get_active(togglebutton));
-}
-
-
-void
-on_parsetags_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_parsetags
-	(gtk_toggle_button_get_active(togglebutton));
-}
-
-void
-on_check_ipod_files_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    check_db();
-}
-
-
-void
-on_sync_all_activate                   (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-	tools_sync_all ();
-}
-
-
-void
-on_sync_calendar_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    tools_sync_calendar ();
-}
-
-
-void
-on_sync_contacts_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data)
-{
-    tools_sync_contacts ();
-}
-
-
-void
-on_sync_notes_activate                 (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-	tools_sync_notes ();
-
-}
-
-void
-on_concal_autosync_toggled             (GtkToggleButton *togglebutton,
-					gpointer         user_data)
-{
-    prefs_window_set_concal_autosync
-	(gtk_toggle_button_get_active(togglebutton));
-}
-
-void
-on_pl_for_each_year_activate           (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    generate_category_playlists (T_YEAR);
-}
-
-
-void
-on_all_tracks_not_listed_in_any_playlist1_activate
-                                        (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    generate_not_listed_playlist ();
-}
-
-
-void
-on_random_playlist_activate            (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    generate_random_playlist();
-
-}
-
-
-void
-on_randomize_current_playlist_activate (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    randomize_current_playlist();
-}
-
-void
-on_cfg_temporarily_disable_sorting     (GtkToggleButton *togglebutton,
-                                        gpointer         user_data)
-{
-    prefs_window_set_tmp_disable_sort (
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-void
-on_cfg_startup_messages                (GtkToggleButton *togglebutton,
-                                        gpointer         user_data)
-{
-    prefs_window_set_startup_messages (
-	gtk_toggle_button_get_active(togglebutton));
-}
-
-void
-on_pl_for_each_rating_activate         (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    each_rating_pl();
-}
-
-

Deleted: gtkpod/branches/upstream/current/src/callbacks.h
===================================================================
--- gtkpod/branches/upstream/current/src/callbacks.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/callbacks.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,765 +0,0 @@
-/* Time-stamp: <2004-12-04 11:51:47 jcs>
-|
-|  Copyright (C) 2002-2003 Jorg Schuler <jcsjcs at users.sourceforge.net>
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  This program is free software; you can redistribute it and/or modify
-|  it under the terms of the GNU General Public License as published by
-|  the Free Software Foundation; either version 2 of the License, or
-|  (at your option) any later version.
-|
-|  This program 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 General Public License for more details.
-|
-|  You should have received a copy of the GNU General Public License
-|  along with this program; 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: callbacks.h,v 1.97 2004/12/29 10:00:30 jcsjcs Exp $
-*/
-
-
-/* Most function definitions in this file were written by glade 2 */
-
-#include <gtk/gtk.h>
-
-gboolean
-on_gtkpod_delete_event                 (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data);
-
-void
-on_add_files1_activate                 (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_add_directory1_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_export_itunes1_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_quit1_activate                      (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_about1_activate                     (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_add_files1_button                   (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_add_directory1_button               (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_export_itunes1_button               (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_new_playlist_button                 (GtkButton       *button,
-					gpointer         user_data);
-
-gboolean
-on_about_window_close                  (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data);
-
-void
-on_about_window_close_button           (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_new_playlist_button                 (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_sorttab_switch_page                 (GtkNotebook     *notebook,
-					GtkNotebookPage *page,
-					guint            page_num,
-					gpointer         user_data);
-
-void
-on_playlist_treeview_drag_data_get     (GtkWidget       *widget,
-					GdkDragContext  *drag_context,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data);
-
-void
-on_playlist_treeview_drag_data_received
-					(GtkWidget       *widget,
-					GdkDragContext  *drag_context,
-					gint             x,
-					gint             y,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data);
-
-void
-on_track_treeview_drag_data_get         (GtkWidget       *widget,
-					GdkDragContext  *drag_context,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data);
-
-gboolean
-on_prefs_window_delete_event           (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data);
-
-void
-on_cfg_mount_point_changed             (GtkEditable     *editable,
-					gpointer         user_data);
-
-void
-on_cfg_md5tracks_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_id3_write_toggled                (GtkToggleButton *togglebutton,
-					 gpointer         user_data);
-
-void
-on_prefs_ok_clicked                    (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_prefs_cancel_clicked                (GtkButton       *button,
-					gpointer         user_data);
-
-
-void
-on_prefs_apply_clicked                 (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_edit_preferences1_activate          (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-gboolean
-on_playlist_treeview_key_release_event (GtkWidget       *widget,
-					GdkEventKey     *event,
-					gpointer         user_data);
-
-gboolean
-on_track_treeview_key_release_event     (GtkWidget       *widget,
-					GdkEventKey     *event,
-					gpointer         user_data);
-
-void
-on_cfg_delete_track_from_playlist_toggled
-					(GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_delete_track_from_ipod_toggled  (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_autoimport_toggled              (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_write_extended_info_toggled     (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_offline1_activate                   (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_import_itunes_mi_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_import_button_clicked               (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_track_treeview_drag_data_received    (GtkWidget       *widget,
-					GdkDragContext  *drag_context,
-					gint             x,
-					gint             y,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data);
-void
-on_charset_combo_entry_changed         (GtkEditable     *editable,
-					gpointer         user_data);
-
-void
-on_delete_tracks_activate                    (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_delete_playlist_activate                (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_delete_tab_entry_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_delete_full_tracks_activate                    (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_delete_full_playlist_activate                (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_delete_full_tab_entry_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_ipod_directories_menu               (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_st_treeview_drag_data_get           (GtkWidget       *widget,
-					GdkDragContext  *drag_context,
-					GtkSelectionData *data,
-					guint            info,
-					guint            time,
-					gpointer         user_data);
-
-gboolean
-on_st_treeview_key_release_event       (GtkWidget       *widget,
-					GdkEventKey     *event,
-					gpointer         user_data);
-
-void
-on_cfg_mpl_autoselect_toggled          (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_block_display_toggled           (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_stop_button_clicked                 (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_add_PL_button_clicked               (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_add_playlist1_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_update_playlist_activate            (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_update_tab_entry_activate                  (GtkMenuItem     *menuitem,
-					       gpointer         user_data);
-
-void
-on_update_tracks_activate            (GtkMenuItem     *menuitem,
-				     gpointer         user_data);
-
-void
-on_sync_playlist_activate            (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_sync_tab_entry_activate                  (GtkMenuItem     *menuitem,
-					       gpointer         user_data);
-
-void
-on_sync_tracks_activate            (GtkMenuItem     *menuitem,
-				     gpointer         user_data);
-
-void
-on_cfg_update_existing_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_save_track_order1_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_cfg_show_duplicates_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_show_updated_toggled            (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_show_non_updated_toggled        (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_show_sync_dirs_toggled        (GtkToggleButton *togglebutton,
-				      gpointer         user_data);
-
-void
-on_toolbar_menu_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_cfg_display_toolbar_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_more_sort_tabs_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_less_sort_tabs_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_cfg_toolbar_display_text_toggled    (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_toolbar_style_both_toggled      (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_toolbar_style_text_toggled      (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_toolbar_style_icons_toggled     (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_automount_ipod_toggled          (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_export_playlist_activate  (GtkMenuItem     *menuitem,
-			      gpointer         user_data);
-
-void
-on_export_tab_entry_activate (GtkMenuItem     *menuitem,
-			      gpointer         user_data);
-
-void
-on_export_tracks_activate     (GtkMenuItem     *menuitem,
-			      gpointer         user_data);
-
-void
-on_play_playlist_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_play_tab_entry_activate             (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_play_tracks_activate                 (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_enqueue_playlist_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_enqueue_tab_entry_activate          (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_enqueue_tracks_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_arrange_sort_tabs_activate          (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_cfg_update_charset_toggled          (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_write_charset_toggled           (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_add_recursively_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_sync_remove_toggled             (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_sync_remove_confirm_toggled     (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_sp_or_button_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_sp_rating_n_toggled                 (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_sp_entry_activate          (GtkEditable     *editable,
-			      gpointer         user_data);
-
-void
-on_sp_cal_button_clicked       (GtkButton       *button,
-				gpointer         user_data);
-
-void
-on_sp_cond_button_toggled         (GtkToggleButton *togglebutton,
-				   gpointer         user_data);
-
-void
-on_sp_go_clicked                       (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_sp_go_always_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_sp_playcount_high_value_changed     (GtkSpinButton   *spinbutton,
-					gpointer         user_data);
-
-void
-on_sp_playcount_low_value_changed      (GtkSpinButton   *spinbutton,
-					gpointer         user_data);
-
-void
-on_cfg_sort_tab_num_sb_value_changed   (GtkSpinButton   *spinbutton,
-					gpointer         user_data);
-
-void
-on_tooltips_menu_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_cfg_display_tooltips_main_toggled   (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_display_tooltips_prefs_toggled  (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_multi_edit_toggled              (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_cfg_multi_edit_title_toggled        (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_new_playlist1_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_pl_containing_displayed_tracks_activate (GtkMenuItem     *menuitem,
-					   gpointer         user_data);
-void
-on_pl_containing_selected_tracks_activate (GtkMenuItem     *menuitem,
-					  gpointer         user_data);
-void
-on_pl_for_each_artist_activate         (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_pl_for_each_album_activate         (GtkMenuItem     *menuitem,
-				       gpointer         user_data);
-
-void
-on_pl_for_each_genre_activate         (GtkMenuItem     *menuitem,
-				       gpointer         user_data);
-
-void
-on_pl_for_each_composer_activate         (GtkMenuItem     *menuitem,
-					  gpointer         user_data);
-
-
-void
-on_most_listened_tracks1_activate       (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_most_rated_tracks_playlist_s1_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_most_recent_played_tracks_activate   (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_rebuild_ipod_db1_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_cfg_misc_track_nr_value_changed      (GtkSpinButton   *spinbutton,
-					gpointer         user_data);
-
-void
-on_cfg_not_played_track_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_played_since_last_time1_activate    (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_cfg_normalization_level_changed     (GtkEditable     *editable,
-					gpointer         user_data);
-
-void
-on_sort_case_sensitive_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_sorting_clicked                     (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_sorting_activate                    (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_st_ascend_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_st_descend_toggled                  (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_st_none_toggled                     (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_pm_none_toggled                     (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_pm_descend_toggled                  (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_pm_ascend_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_pm_autostore_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_sort_apply_clicked                  (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_sort_cancel_clicked                 (GtkButton       *button,
-					gpointer         user_data);
-
-void
-on_sort_ok_clicked                     (GtkButton       *button,
-					gpointer         user_data);
-
-gboolean
-on_sort_window_delete_event            (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data);
-
-void
-on_tm_ascend_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_tm_descend_toggled                  (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_tm_none_toggled                     (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-void
-on_tm_autostore_toggled                (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-
-void
-on_normalize_selected_playlist_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_normalize_selected_tab_entry_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_normalize_selected_tracks_activate   (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_normalize_displayed_tracks_activate  (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_normalize_all_tracks                (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_normalize_newly_added_tracks        (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_all_tracks_never_listened_to1_activate
-					(GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_info_window1_activate               (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-gboolean
-on_gtkpod_info_delete_event            (GtkWidget       *widget,
-					GdkEvent        *event,
-					gpointer         user_data);
-
-void
-on_info_close_clicked                  (GtkButton       *button,
-					gpointer         user_data);
-
-
-void
-on_cfg_write_id3v24_toggled            (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_readtags_toggled                    (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_parsetags_template_changed             (GtkEditable     *editable,
-					gpointer         user_data);
-
-void
-on_parsetags_overwrite_toggled         (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_parsetags_toggled                   (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_check_ipod_files_activate           (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-void
-on_sync_all_activate                   (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_sync_calendar_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-void
-on_sync_contacts_activate              (GtkMenuItem     *menuitem,
-					gpointer         user_data);
-
-
-void
-on_sync_notes_activate                 (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_concal_autosync_toggled             (GtkToggleButton *togglebutton,
-					gpointer         user_data);
-
-void
-on_pl_for_each_year_activate           (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_all_tracks_not_listed_in_any_playlist1_activate
-                                        (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_random_playlist_activate            (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_randomize_current_playlist_activate (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-
-void
-on_playlist_file_playlist_activate     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_playlist_file_tab_entry_activate    (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_playlist_file_tracks_activate       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_cfg_temporarily_disable_sorting     (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-on_mserv_from_file_playlist_menu_activate
-                                        (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_mserv_from_file_entry_menu_activate (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_mserv_from_file_tracks_menu_activate
-                                        (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_mserv_use_toggled                   (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-on_mserv_report_probs_toggled          (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-on_mserv_username_changed              (GtkEditable     *editable,
-                                        gpointer         user_data);
-
-void
-on_pl_for_each_rating_activate         (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_smart_playlist_activate             (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_cfg_startup_messages                (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-

Modified: gtkpod/branches/upstream/current/src/confirmation.c
===================================================================
--- gtkpod/branches/upstream/current/src/confirmation.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/confirmation.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/context_menus.c
===================================================================
--- gtkpod/branches/upstream/current/src/context_menus.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/context_menus.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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 */

Added: gtkpod/branches/upstream/current/src/details.c
===================================================================
--- gtkpod/branches/upstream/current/src/details.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/details.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,1386 @@
+/* Time-stamp: <2005-12-11 17:06:58 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/
+| 
+|  This program is free software; you can redistribute it and/or modify
+|  it under the terms of the GNU General Public License as published by
+|  the Free Software Foundation; either version 2 of the License, or
+|  (at your option) any later version.
+| 
+|  This program 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 General Public License for more details.
+| 
+|  You should have received a copy of the GNU General Public License
+|  along with this program; 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: details.c,v 1.8 2005/12/11 08:08:08 jcsjcs Exp $
+*/
+
+/* This file provides functions for the details window */
+
+#include <stdlib.h>
+#include <gtk/gtk.h>
+#include "details.h"
+#include "fileselection.h"
+#include "misc.h"
+#include "misc_track.h"
+#include "prefs.h"
+#include <string.h>
+
+/*
+void details_close (void);
+void details_update_default_sizes (void);
+void details_update_track (Track *track);
+void details_remove_track (Track *track);
+*/
+
+/* List with all detail windows */
+static GList *details = NULL;
+
+struct _Detail
+{
+    GladeXML *xml;      /* XML info                           */
+    GtkWidget *window;  /* pointer to details window          */
+    iTunesDB *itdb;     /* pointer to the original itdb       */
+    GList *orig_tracks; /* tracks displayed in details window */
+    GList *tracks;      /* tracks displayed in details window */
+    Track *track;       /* currently displayed track          */
+    gboolean changed;   /* at lease one track was changed     */
+
+};
+
+typedef struct _Detail Detail;
+
+
+/* string constants for preferences */
+static const gchar *DETAILS_WINDOW_DEFX="details_window_defx";
+static const gchar *DETAILS_WINDOW_DEFY="details_window_defy";
+static const gchar *DETAILS_WINDOW_NOTEBOOK_PAGE="details_window_notebook_page";
+
+
+/* Declarations */
+static void details_update_buttons (Detail *detail);
+static void details_update_thumbnail (Detail *detail);
+static void details_set_track (Detail *detail, Track *track);
+static void details_free (Detail *detail);
+static void details_get_item (Detail *detail, T_item item,
+			      gboolean assumechanged);
+static void details_get_changes (Detail *detail);
+static gboolean details_copy_artwork (Track *frtrack, Track *totrack);
+static void details_undo_track (Detail *detail, Track *track);
+static void details_update_headline (Detail *detail);
+
+
+
+/* Store the window size */
+static void details_store_window_state (Detail *detail)
+{
+    GtkWidget *w;
+    gint defx, defy;
+
+    g_return_if_fail (detail);
+
+    gtk_window_get_size (GTK_WINDOW (detail->window), &defx, &defy);
+    prefs_set_int_value (DETAILS_WINDOW_DEFX, defx);
+    prefs_set_int_value (DETAILS_WINDOW_DEFY, defy);
+
+    if ((w = gtkpod_xml_get_widget (detail->xml, "details_notebook")))
+    {
+	gint page = gtk_notebook_get_current_page (GTK_NOTEBOOK (w));
+	prefs_set_int_value (DETAILS_WINDOW_NOTEBOOK_PAGE, page);
+    }
+}
+
+
+/* Query the state of the writethrough checkbox */
+static gboolean details_writethrough (Detail *detail)
+{
+    GtkWidget *w;
+
+    g_return_val_if_fail (detail, FALSE);
+
+    w = gtkpod_xml_get_widget (detail->xml,
+			       "details_checkbutton_writethrough");
+    return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w));
+}
+
+/* ------------------------------------------------------------
+ *
+ *        Callback functions
+ *
+ * ------------------------------------------------------------ */
+
+static void details_text_changed (GtkWidget *widget,
+				  Detail *detail)
+{
+    ExtraTrackData *etr;
+
+    g_return_if_fail (detail);
+    g_return_if_fail (detail->track);
+    etr = detail->track->userdata;
+    g_return_if_fail (etr);
+    
+    detail->changed = TRUE;
+    etr->tchanged = TRUE;
+    details_update_buttons (detail);
+}
+
+
+static void details_entry_activate (GtkEntry *entry,
+				    Detail *detail)
+{
+    T_item item;
+
+    g_return_if_fail (entry);
+
+    item = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (entry),
+					       "details_item"));
+
+    g_return_if_fail ((item > 0) && (item < T_ITEM_NUM));
+
+    details_get_item (detail, item, TRUE);
+
+    details_update_headline (detail);
+}
+
+
+static void details_checkbutton_toggled (GtkCheckButton *button,
+					 Detail *detail)
+{
+    T_item item;
+
+    g_return_if_fail (button);
+
+    item = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button),
+					       "details_item"));
+    
+    g_return_if_fail ((item > 0) && (item < T_ITEM_NUM));
+
+    details_get_item (detail, item, FALSE);
+}
+
+
+static void details_writethrough_toggled (GtkCheckButton *button,
+					  Detail *detail)
+{
+    details_update_buttons (detail);
+}
+
+
+/****** Navigation *****/
+void details_button_first_clicked (GtkCheckButton *button,
+				   Detail *detail)
+{
+    GList *first;
+    g_return_if_fail (detail);
+
+    first = g_list_first (detail->tracks);
+
+    details_get_changes (detail);
+
+    if (first)
+	details_set_track (detail, first->data);
+}
+
+void details_button_previous_clicked (GtkCheckButton *button,
+				      Detail *detail)
+{
+    gint i;
+
+    g_return_if_fail (detail);
+
+    details_get_changes (detail);
+
+    i = g_list_index (detail->tracks, detail->track);
+
+    if (i > 0)
+    {
+	details_set_track (detail, g_list_nth_data (detail->tracks, i-1));
+    }
+}
+
+void details_button_next_clicked (GtkCheckButton *button,
+				  Detail *detail)
+{
+    GList *gl;
+    g_return_if_fail (detail);
+
+    details_get_changes (detail);
+
+    gl = g_list_find (detail->tracks, detail->track);
+
+    g_return_if_fail (gl);
+
+    if (gl->next)
+	details_set_track (detail, gl->next->data);
+}
+
+void details_button_last_clicked (GtkCheckButton *button,
+				  Detail *detail)
+{
+    GList *last;
+    g_return_if_fail (detail);
+
+    last = g_list_last (detail->tracks);
+
+    details_get_changes (detail);
+
+    if (last)
+	details_set_track (detail, last->data);
+}
+
+
+/****** Thumbnail Control *****/
+static void details_button_set_artwork_clicked (GtkButton *button,
+						Detail *detail)
+{
+    gchar *filename;
+
+    g_return_if_fail (detail);
+    g_return_if_fail (detail->track);
+
+    filename = fileselection_get_cover_filename ();
+
+    if (filename)
+    {
+	if (details_writethrough (detail))
+	{   /* Set thumbnail for all tracks */
+	    GList *gl;
+	    for (gl=detail->tracks; gl; gl=gl->next)
+	    {
+		ExtraTrackData *etr;
+		Track *tr = gl->data;
+		g_return_if_fail (tr);
+		etr = tr->userdata;
+		g_return_if_fail (etr);
+		gp_track_set_thumbnails (tr, filename);
+		etr->tchanged = TRUE;
+	    }
+	}
+	else
+	{   /* Only change current track */
+	    ExtraTrackData *etr = detail->track->userdata;
+	    g_return_if_fail (etr);
+	    gp_track_set_thumbnails (detail->track, filename);
+	    etr->tchanged = TRUE;
+	}
+	detail->changed = TRUE;
+	details_update_thumbnail (detail);
+    }
+    g_free (filename);
+
+    details_update_buttons (detail);
+}
+
+static void details_button_remove_artwork_clicked (GtkButton *button,
+						   Detail *detail)
+{
+    g_return_if_fail (detail);
+    g_return_if_fail (detail->track);
+
+    if (details_writethrough (detail))
+    {   /* Remove thumbnail on all tracks */
+	GList *gl;
+	for (gl=detail->tracks; gl; gl=gl->next)
+	{
+	    ExtraTrackData *etr;
+	    Track *tr = gl->data;
+	    g_return_if_fail (tr);
+	    etr = tr->userdata;
+	    g_return_if_fail (etr);
+
+	    etr->tchanged |= gp_track_remove_thumbnails (tr);
+	    detail->changed |= etr->tchanged;
+	}
+    }
+    else
+    {   /* Only change current track */
+	ExtraTrackData *etr = detail->track->userdata;
+	g_return_if_fail (etr);
+	etr->tchanged |= gp_track_remove_thumbnails (detail->track);
+	detail->changed |= etr->tchanged;
+    }
+
+    details_update_thumbnail (detail);
+
+    details_update_buttons (detail);
+}
+
+
+/****** Window Control *****/
+static void details_button_apply_clicked (GtkButton *button,
+					  Detail *detail)
+{
+    GList *gl, *gl_orig;
+    gboolean changed = FALSE;
+
+    g_return_if_fail (detail);
+
+    details_get_changes (detail);
+
+    for (gl=detail->tracks, gl_orig=detail->orig_tracks;
+	 gl && gl_orig;
+	 gl=gl->next, gl_orig=gl_orig->next)
+    {
+	Track *tr = gl->data;
+	Track *tr_orig = gl_orig->data;
+	ExtraTrackData *etr;
+	g_return_if_fail (tr);
+	g_return_if_fail (tr_orig);
+
+	etr = tr->userdata;
+	g_return_if_fail (etr);
+
+	if (etr->tchanged)
+	{
+	    T_item item;
+	    gboolean tr_changed = FALSE;
+
+	    for (item=1; item<T_ITEM_NUM; ++item)
+	    {
+		tr_changed |= track_copy_item (tr, tr_orig, item);
+	    }
+
+	    tr_changed |= details_copy_artwork (tr, tr_orig);
+
+	    if (tr_changed)
+	    {
+		pm_track_changed (tr_orig);
+	    }
+	    changed |= tr_changed;
+	    etr->tchanged = FALSE;
+	}
+    }
+
+    detail->changed = FALSE;
+
+    if (changed)
+	data_changed (detail->itdb);
+
+    details_update_headline (detail);
+
+    details_update_buttons (detail);
+}
+
+static void details_button_cancel_clicked (GtkButton *button,
+					   Detail *detail)
+{
+    g_return_if_fail (detail);
+
+    details_store_window_state (detail);
+
+    details = g_list_remove (details, detail);
+
+    details_free (detail);
+}
+
+
+static void details_button_ok_clicked (GtkButton *button,
+				       Detail *detail)
+{
+    g_return_if_fail (detail);
+
+    details_button_apply_clicked (NULL, detail);
+    details_button_cancel_clicked (NULL, detail);
+}
+
+
+/* Check if any tracks are still modified and set detail->changed
+   accordingly */
+static void details_update_changed_state (Detail *detail)
+{
+    gboolean changed = FALSE;
+    GList *gl;
+
+    g_return_if_fail (detail);
+
+    for (gl=detail->tracks; gl; gl=gl->next)
+    {
+	ExtraTrackData *etr;
+	Track *track = gl->data;
+	g_return_if_fail (track);
+	etr = track->userdata;
+	g_return_if_fail (etr);
+	changed |= etr->tchanged;
+    }
+
+    detail->changed = changed;
+}
+
+
+static void details_button_undo_track_clicked (GtkButton *button,
+					       Detail *detail)
+{
+    g_return_if_fail (detail);
+
+    details_undo_track (detail, detail->track);
+
+    details_update_changed_state (detail);
+
+    details_set_track (detail, detail->track);
+}
+
+
+static void details_button_undo_all_clicked (GtkButton *button,
+					     Detail *detail)
+{
+    GList *gl;
+
+    g_return_if_fail (detail);
+
+    for (gl=detail->tracks; gl; gl=gl->next)
+    {
+	Track *track = gl->data;
+	g_return_if_fail (track);
+
+	details_undo_track (detail, track);
+    }
+
+    detail->changed = FALSE;
+
+    details_set_track (detail, detail->track);
+}
+
+
+static void details_delete_event (GtkWidget *widget,
+				  GdkEvent *event,
+				  Detail *detail)
+{
+    details_button_cancel_clicked (NULL, detail);
+}
+
+
+/****** Copy artwork data if filaname has changed ****** */
+static gboolean details_copy_artwork (Track *frtrack, Track *totrack)
+{
+    gboolean changed = FALSE;
+    ExtraTrackData *fretr, *toetr;
+
+    g_return_val_if_fail (frtrack, FALSE);
+    g_return_val_if_fail (totrack, FALSE);
+
+    fretr = frtrack->userdata;
+    toetr = totrack->userdata;
+
+    g_return_val_if_fail (fretr, FALSE);
+    g_return_val_if_fail (toetr, FALSE);
+
+    g_return_val_if_fail (fretr->thumb_path_locale, FALSE);
+    g_return_val_if_fail (toetr->thumb_path_locale, FALSE);
+
+    if (strcmp (fretr->thumb_path_locale, toetr->thumb_path_locale) != 0)
+    {
+	itdb_artwork_free (totrack->artwork);
+	totrack->artwork = itdb_artwork_duplicate (frtrack->artwork);
+	totrack->artwork_size = frtrack->artwork_size;
+	totrack->artwork_count = frtrack->artwork_count;
+	g_free (toetr->thumb_path_locale);
+	g_free (toetr->thumb_path_utf8);
+	toetr->thumb_path_locale = g_strdup (fretr->thumb_path_locale);
+	toetr->thumb_path_utf8 = g_strdup (fretr->thumb_path_utf8);
+	changed = TRUE;
+    }
+    return changed;
+}
+
+
+
+/****** Undo one track (no display action) ****** */
+static void details_undo_track (Detail *detail, Track *track)
+{
+    gint i;
+    T_item item;
+    Track *tr_orig;
+    ExtraTrackData *etr;
+
+    g_return_if_fail (detail);
+    g_return_if_fail (track);
+
+    etr = track->userdata;
+    g_return_if_fail (etr);
+
+    i = g_list_index (detail->tracks, track);
+    g_return_if_fail (i != -1);
+
+    tr_orig = g_list_nth_data (detail->orig_tracks, i);
+    g_return_if_fail (tr_orig);
+
+    for (item=1; item<T_ITEM_NUM; ++item)
+    {
+	track_copy_item (tr_orig, track, item);
+    }
+
+    details_copy_artwork (tr_orig, track);
+
+    etr->tchanged = FALSE;
+}
+
+
+/****** Read out widgets of current track ******/
+static void details_get_changes (Detail *detail)
+{
+    T_item item;
+
+    g_return_if_fail (detail);
+    g_return_if_fail (detail->track);
+
+    for (item=1; item<T_ITEM_NUM; ++item)
+    {
+	details_get_item (detail, item, FALSE);
+    }
+}
+
+
+
+/****** Setup of widgets ******/
+static void details_setup_widget (Detail *detail, T_item item)
+{
+    GtkTextBuffer *tb;
+    GtkWidget *w;
+    gchar *buf;
+
+    g_return_if_fail (detail);
+    g_return_if_fail ((item > 0) && (item < T_ITEM_NUM));
+
+    buf = g_strdup_printf ("details_label_%d", item);
+    w = gtkpod_xml_get_widget (detail->xml, buf);
+    gtk_label_set_text (GTK_LABEL (w), gettext (get_t_string (item)));
+    g_free (buf);
+
+    buf = NULL;
+    w = NULL;
+
+    switch (item)
+    {
+    case T_ALBUM:
+    case T_ARTIST:
+    case T_TITLE:
+    case T_GENRE:
+    case T_COMPOSER:
+    case T_FILETYPE:
+    case T_GROUPING:
+    case T_CATEGORY:
+    case T_PODCASTURL:
+    case T_PODCASTRSS:
+    case T_PC_PATH:
+    case T_IPOD_PATH:
+    case T_IPOD_ID:
+    case T_SIZE:
+    case T_TRACKLEN:
+    case T_BITRATE:
+    case T_SAMPLERATE:
+    case T_PLAYCOUNT:
+    case T_BPM:
+    case T_RATING:
+    case T_VOLUME:
+    case T_SOUNDCHECK:
+    case T_CD_NR:
+    case T_TRACK_NR:
+    case T_YEAR:
+    case T_TIME_ADDED:
+    case T_TIME_PLAYED:
+    case T_TIME_MODIFIED:
+    case T_TIME_RELEASED:
+	buf = g_strdup_printf ("details_entry_%d", item);
+	w = gtkpod_xml_get_widget (detail->xml, buf);
+	g_signal_connect (w, "activate",
+			  G_CALLBACK (details_entry_activate),
+			  detail);
+	g_signal_connect (w, "changed",
+			  G_CALLBACK (details_text_changed),
+			  detail);
+	break;
+    case T_COMPILATION:
+    case T_TRANSFERRED:
+    case T_CHECKED:
+	buf = g_strdup_printf ("details_checkbutton_%d", item);
+	w = gtkpod_xml_get_widget (detail->xml, buf);
+	g_signal_connect (w, "toggled",
+			  G_CALLBACK (details_checkbutton_toggled),
+			  detail);
+	break;
+    case T_DESCRIPTION:
+    case T_SUBTITLE:
+    case T_COMMENT:
+	buf = g_strdup_printf ("details_textview_%d", item);
+	w = gtkpod_xml_get_widget (detail->xml, buf);
+	tb = gtk_text_view_get_buffer (GTK_TEXT_VIEW (w));
+	g_signal_connect (tb, "changed",
+			  G_CALLBACK (details_text_changed),
+			  detail);
+	break;
+    case T_ALL:
+    case T_ITEM_NUM:
+	/* cannot happen because of assertion above */
+	g_return_if_reached ();
+    }
+
+    if (w)
+    {
+	g_object_set_data (G_OBJECT (w),
+			   "details_item", GINT_TO_POINTER (item));
+    }
+
+    g_free (buf);
+}
+
+
+static void details_set_item (Detail *detail, Track *track, T_item item)
+{
+    GtkTextBuffer *tb;
+    GtkWidget *w = NULL;
+    gchar *text;
+    gchar *entry, *checkbutton, *textview;
+
+    g_return_if_fail (detail);
+    g_return_if_fail ((item > 0) && (item < T_ITEM_NUM));
+
+    entry = g_strdup_printf ("details_entry_%d", item);
+    checkbutton = g_strdup_printf ("details_checkbutton_%d", item);
+    textview = g_strdup_printf ("details_textview_%d", item);
+
+    if (track != NULL)
+    {
+	track->itdb = detail->itdb;
+	text = track_get_text (track, item);
+	track->itdb = NULL;
+    }
+    else
+    {
+	text = g_strdup ("");
+    }
+
+    switch (item)
+    {
+    case T_ALBUM:
+    case T_ARTIST:
+    case T_TITLE:
+    case T_GENRE:
+    case T_COMPOSER:
+    case T_FILETYPE:
+    case T_GROUPING:
+    case T_CATEGORY:
+    case T_PODCASTURL:
+    case T_PODCASTRSS:
+    case T_PC_PATH:
+    case T_IPOD_PATH:
+    case T_IPOD_ID:
+    case T_SIZE:
+    case T_TRACKLEN:
+    case T_BITRATE:
+    case T_SAMPLERATE:
+    case T_PLAYCOUNT:
+    case T_BPM:
+    case T_RATING:
+    case T_VOLUME:
+    case T_SOUNDCHECK:
+    case T_CD_NR:
+    case T_TRACK_NR:
+    case T_YEAR:
+    case T_TIME_ADDED:
+    case T_TIME_PLAYED:
+    case T_TIME_MODIFIED:
+    case T_TIME_RELEASED:
+	w = gtkpod_xml_get_widget (detail->xml, entry);
+	g_signal_handlers_block_by_func (w, details_text_changed, detail);
+	gtk_entry_set_text (GTK_ENTRY (w), text);
+	g_signal_handlers_unblock_by_func(w, details_text_changed,detail);
+	break;
+    case T_COMMENT:
+    case T_DESCRIPTION:
+    case T_SUBTITLE:
+	w = gtkpod_xml_get_widget (detail->xml, textview);
+	tb= gtk_text_view_get_buffer (GTK_TEXT_VIEW (w));
+	g_signal_handlers_block_by_func (tb,
+					 details_text_changed, detail);
+	gtk_text_buffer_set_text (tb, text, -1);
+	g_signal_handlers_unblock_by_func (tb,
+					   details_text_changed, detail);
+	break;
+    case T_COMPILATION:
+	if ((w = gtkpod_xml_get_widget (detail->xml, checkbutton)))
+	{
+	    if (track)
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w),
+					      track->compilation);
+	    else
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w),
+					      FALSE);
+	}
+	break;
+    case T_TRANSFERRED:
+	if ((w = gtkpod_xml_get_widget (detail->xml, checkbutton)))
+	{
+	    if (track)
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w),
+					      track->transferred);
+	    else
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w),
+					      FALSE);
+	}
+	break;
+    case T_CHECKED:
+	if ((w = gtkpod_xml_get_widget (detail->xml, checkbutton)))
+	{
+	    if (track)
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w),
+					      !track->checked);
+	    else
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w),
+					      FALSE);
+	}
+	break;
+    case T_ALL:
+    case T_ITEM_NUM:
+	/* cannot happen because of assertion above */
+	g_return_if_reached ();
+    }
+
+    g_free (entry);
+    g_free (checkbutton);
+    g_free (textview);
+    g_free (text);
+}
+
+
+
+/* assumechanged: normally the other tracks are only changed if a
+ * change has been done. assumechanged==TRUE will write the
+ * the value to all other tracks even if no change has taken place
+ * (e.g. when ENTER is pressed in a text field) */
+static void details_get_item (Detail *detail, T_item item,
+			      gboolean assumechanged)
+{
+    GtkWidget *w = NULL;
+    gchar *entry, *checkbutton, *textview;
+    gboolean changed = FALSE;
+    ExtraTrackData *etr;
+    Track *track;
+
+    g_return_if_fail (detail);
+    track = detail->track;
+    g_return_if_fail (track);
+    g_return_if_fail ((item > 0) && (item < T_ITEM_NUM));
+
+    etr = track->userdata;
+    g_return_if_fail (etr);
+
+    entry = g_strdup_printf ("details_entry_%d", item);
+    checkbutton = g_strdup_printf ("details_checkbutton_%d", item);
+    textview = g_strdup_printf ("details_textview_%d", item);
+
+    switch (item)
+    {
+    case T_ALBUM:
+    case T_ARTIST:
+    case T_TITLE:
+    case T_GENRE:
+    case T_COMPOSER:
+    case T_FILETYPE:
+    case T_GROUPING:
+    case T_CATEGORY:
+    case T_PODCASTURL:
+    case T_PODCASTRSS:
+    case T_SIZE:
+    case T_BITRATE:
+    case T_SAMPLERATE:
+    case T_PLAYCOUNT:
+    case T_BPM:
+    case T_RATING:
+    case T_VOLUME:
+    case T_CD_NR:
+    case T_TRACK_NR:
+    case T_YEAR:
+    case T_TIME_ADDED:
+    case T_TIME_PLAYED:
+    case T_TIME_MODIFIED:
+    case T_TIME_RELEASED:
+    case T_TRACKLEN:
+    case T_SOUNDCHECK:
+	if ((w = gtkpod_xml_get_widget (detail->xml, entry)))
+	{
+	    const gchar *text;
+
+	    text = gtk_entry_get_text (GTK_ENTRY (w));
+
+	    /* for tracklen and soundcheck the displayed value is only
+	       a rounded figure -> unless 'assumechanged' is set,
+	       compare the string to the original one before assuming
+	       a change took place */
+	    if (!assumechanged &&
+		((item == T_TRACKLEN) || (item == T_SOUNDCHECK)))
+	    {
+		gchar *buf;
+		track->itdb = detail->itdb;
+		buf = track_get_text (track, item);
+		track->itdb = NULL;
+		g_return_if_fail (buf);
+		if (strcmp (text, buf) != 0)
+		    changed = track_set_text (track, text, item);
+		g_free (buf);
+	    }
+	    else
+	    {
+	    changed = track_set_text (track, text, item);
+	    }
+	    /* redisplay some items to be on the safe side */
+	    switch (item)
+	    {
+	    case T_TRACK_NR:
+	    case T_CD_NR:
+	    case T_TRACKLEN:
+	    case T_TIME_ADDED:
+	    case T_TIME_PLAYED:
+	    case T_TIME_MODIFIED:
+	    case T_TIME_RELEASED:
+		details_set_item (detail, track, item);
+		break;
+	    default:
+		break;
+	    }
+	}
+	break;
+    case T_COMMENT:
+    case T_DESCRIPTION:
+    case T_SUBTITLE:
+	if ((w = gtkpod_xml_get_widget (detail->xml, textview)))
+	{
+	    gchar *text;
+	    GtkTextIter start, end;
+	    GtkTextBuffer *tb = gtk_text_view_get_buffer (
+		GTK_TEXT_VIEW (w));
+	    gtk_text_buffer_get_start_iter  (tb, &start);
+	    gtk_text_buffer_get_end_iter  (tb, &end);
+
+	    text = gtk_text_buffer_get_text (tb, &start, &end, TRUE);
+
+	    changed = track_set_text (track, text, item);
+	}
+	break;
+    case T_COMPILATION:
+	if ((w = gtkpod_xml_get_widget (detail->xml, checkbutton)))
+	{
+	    gboolean state;
+	    state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w));
+
+	    if (track->compilation != state)
+	    {
+		track->compilation = state;
+		changed = TRUE;
+	    }
+	}
+	break;
+    case T_CHECKED:
+	if ((w = gtkpod_xml_get_widget (detail->xml, checkbutton)))
+	{
+	    gboolean state;
+	    state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w));
+	    if ((state && (track->checked == 1)) ||
+		(!state && (track->checked == 0)))
+	    {
+		changed = TRUE;
+		if (state)  track->checked = 0;
+		else        track->checked = 1;
+	    }
+	}
+	break;
+    case T_TRANSFERRED:
+    case T_PC_PATH:
+    case T_IPOD_PATH:
+    case T_IPOD_ID:
+	/* These are read-only only */
+	break;
+    case T_ALL:
+    case T_ITEM_NUM:
+	/* cannot happen because of assertion above */
+	g_return_if_reached ();
+    }
+
+    etr->tchanged |= changed;
+    detail->changed |= changed;
+
+/*     if (changed)  printf ("changed (%d)\n", item); */
+
+    /* Check if this has to be copied to the other tracks as well
+       (writethrough) */
+    if ((changed || assumechanged) &&
+	details_writethrough (detail))
+    {   /* change for all tracks */
+	GList *gl;
+	for (gl=detail->tracks; gl; gl=gl->next)
+	{
+	    Track *gltr = gl->data;
+	    g_return_if_fail (gltr);
+
+	    if (gltr != track)
+	    {
+		ExtraTrackData *gletr= gltr->userdata;
+		g_return_if_fail (gletr);
+
+		gletr->tchanged |= track_copy_item (track, gltr, item);
+		detail->changed |= gletr->tchanged;
+	    }
+	}
+    }
+
+    g_free (entry);
+    g_free (checkbutton);
+    g_free (textview);
+
+    details_update_buttons (detail);
+}
+
+
+/* Render the Apply button insensitive as long as no changes were done */
+static void details_update_buttons (Detail *detail)
+{
+    GtkWidget *w;
+    gchar *buf;
+    ExtraTrackData *etr;
+    gboolean apply, undo_track, undo_all, remove_artwork, viewport;
+    gboolean prev, next, ok;
+
+    g_return_if_fail (detail);
+
+    if (detail->track)
+    {
+	gint i;
+	etr = detail->track->userdata;
+	g_return_if_fail (etr);
+
+	details_update_changed_state (detail);
+
+	apply = detail->changed;
+	undo_track = etr->tchanged;
+	undo_all = detail->changed;
+	ok = TRUE;
+	viewport = TRUE;
+	if (details_writethrough (detail))
+	{
+	    GList *gl;
+	    remove_artwork = FALSE;
+	    for (gl=detail->tracks; gl && !remove_artwork; gl=gl->next)
+	    {
+		Track *tr = gl->data;
+		g_return_if_fail (tr);
+		remove_artwork |= (tr->artwork->thumbnails != NULL);
+	    }
+	}
+	else
+	{
+	    remove_artwork = (detail->track->artwork->thumbnails != NULL);
+	}
+	i = g_list_index (detail->tracks, detail->track);
+	g_return_if_fail (i != -1);
+	if (i == 0)  prev = FALSE;
+	else         prev = TRUE;
+	if (i == (g_list_length (detail->tracks)-1))  next = FALSE;
+	else         next = TRUE;
+
+    }
+    else
+    {
+	apply = FALSE;
+	undo_track = FALSE;
+	undo_all = FALSE;
+	ok = FALSE;
+	viewport = FALSE;
+	remove_artwork = FALSE;
+	prev = FALSE;
+	next = FALSE;
+    }
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_apply");
+    gtk_widget_set_sensitive (w, apply);
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_undo_track");
+    gtk_widget_set_sensitive (w, undo_track);
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_undo_all");
+    gtk_widget_set_sensitive (w, undo_all);
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_ok");
+    gtk_widget_set_sensitive (w, ok);
+    w = gtkpod_xml_get_widget (detail->xml,
+			       "details_button_remove_artwork");
+    gtk_widget_set_sensitive (w, remove_artwork);
+    w = gtkpod_xml_get_widget (detail->xml, "details_viewport");
+    gtk_widget_set_sensitive (w, viewport);
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_first");
+    gtk_widget_set_sensitive (w, prev);
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_previous");
+    gtk_widget_set_sensitive (w, prev);
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_next");
+    gtk_widget_set_sensitive (w, next);
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_last");
+    gtk_widget_set_sensitive (w, next);
+
+    if (detail->track)
+    {
+	buf = g_strdup_printf (
+	    "%d / %d",
+	    g_list_index (detail->tracks, detail->track) + 1,
+	    g_list_length (detail->tracks));
+    }
+    else
+    {
+	buf = g_strdup (_("n/a"));
+    }
+    w = gtkpod_xml_get_widget (detail->xml, "details_label_index");
+    gtk_label_set_text (GTK_LABEL (w), buf);
+    g_free (buf);
+}
+
+/* Update the displayed thumbnail */
+static void details_update_thumbnail (Detail *detail)
+{
+    Thumb *thumb;
+    GtkImage *img;
+
+    g_return_if_fail (detail);
+
+    img = GTK_IMAGE (gtkpod_xml_get_widget (detail->xml,
+					    "details_image_thumbnail"));
+
+    gtk_image_set_from_pixbuf (img, NULL);
+
+    if (detail->track)
+    {
+	/* Get large cover */
+	thumb = itdb_artwork_get_thumb_by_type (detail->track->artwork,
+						ITDB_THUMB_COVER_LARGE);
+
+	if (thumb)
+	{
+	    GdkPixbuf *pixbuf;
+	    pixbuf = itdb_thumb_get_gdk_pixbuf (detail->itdb->device,
+						thumb);
+	    if (pixbuf)
+	    {
+		gtk_image_set_from_pixbuf (img, pixbuf);
+		gdk_pixbuf_unref (pixbuf);
+	    }
+	}
+    }
+
+    if (gtk_image_get_storage_type (img) == GTK_IMAGE_EMPTY)
+    {
+	gtk_image_set_from_stock (img, GTK_STOCK_MISSING_IMAGE,
+				  GTK_ICON_SIZE_DIALOG);
+    }
+}
+
+static void details_update_headline (Detail *detail)
+{
+    GtkWidget *w;
+    gchar *buf;
+
+    g_return_if_fail (detail);
+
+    /* Set Artist/Title label */
+    w = gtkpod_xml_get_widget (detail->xml, "details_label_artist_title");
+
+    if (detail->track)
+    {
+	buf = g_markup_printf_escaped ("<b>%s / %s</b>",
+				       detail->track->artist,
+				       detail->track->title);
+    }
+    else
+    {
+	buf = g_strdup (_("<b>n/a</b>"));
+    }
+    gtk_label_set_markup (GTK_LABEL (w), buf);
+    g_free (buf);
+}
+
+
+/* Set the display to @track */
+static void details_set_track (Detail *detail, Track *track)
+{
+    T_item item;
+
+    g_return_if_fail (detail);
+
+    detail->track = track;
+
+    for (item=1; item<T_ITEM_NUM; ++item)
+    {
+	details_set_item (detail, track, item);
+    }
+
+    details_update_headline (detail);
+
+    /* Set thumbnail */
+    details_update_thumbnail (detail);
+
+    details_update_buttons (detail);
+}
+
+
+/* Set the first track of @tracks. If detail->tracks is already set,
+ * replace. */
+static void details_set_tracks (Detail *detail, GList *tracks)
+{
+    GList *gl;
+    g_return_if_fail (detail);
+    g_return_if_fail (tracks);
+
+    if (detail->orig_tracks)
+    {
+	g_list_free (detail->orig_tracks);
+	detail->orig_tracks = NULL;
+    }
+    if (detail->tracks)
+    {
+	for (gl=detail->tracks; gl; gl=gl->next)
+	{
+	    Track *tr = gl->data;
+	    g_return_if_fail (tr);
+	    itdb_track_free (tr);
+	}
+	g_list_free (detail->tracks);
+	detail->tracks = NULL;
+    }
+
+    detail->itdb = ((Track *)tracks->data)->itdb;
+
+    detail->orig_tracks = glist_duplicate (tracks);
+
+    /* Create duplicated list to work on until "Apply" is pressed */
+    for (gl=g_list_last (tracks); gl; gl=gl->prev)
+    {
+	Track *tr_dup;
+	ExtraTrackData *etr_dup;
+	Track *tr = gl->data;
+	g_return_if_fail (tr);
+	
+	tr_dup = itdb_track_duplicate (tr);
+	etr_dup = tr_dup->userdata;
+	g_return_if_fail (etr_dup);
+	etr_dup->tchanged = FALSE;
+	detail->tracks = g_list_prepend (detail->tracks, tr_dup);
+    }
+
+    detail->track = NULL;
+    detail->changed = FALSE;
+
+    details_set_track (detail, g_list_nth_data (detail->tracks, 0));
+}
+
+
+void details_remove_track_intern (Detail *detail, Track *track)
+{
+    gint i;
+    Track *dis_track;
+
+    g_return_if_fail (detail);
+    g_return_if_fail (track);
+
+    i = g_list_index (detail->orig_tracks, track);
+    if (i == -1)
+	return;  /* track not displayed */
+
+    /* get the copied track */
+    dis_track = g_list_nth_data (detail->tracks, i);
+    g_return_if_fail (dis_track);
+
+    /* remove tracks */
+    detail->orig_tracks = g_list_remove (detail->orig_tracks, track);
+    detail->tracks = g_list_remove (detail->tracks, dis_track);
+
+    if (detail->track == dis_track)
+    {   /* find new track to display */
+	dis_track = g_list_nth_data (detail->tracks, i);
+	if ((dis_track == NULL) && (i > 0))
+	{
+	    dis_track = g_list_nth_data (detail->tracks, i-1);
+	}
+	/* set new track */
+	details_set_track (detail, dis_track);
+    }
+
+    details_update_buttons (detail);
+}
+
+
+/* Free memory taken by @detail */
+static void details_free (Detail *detail)
+{
+    g_return_if_fail (detail);
+
+    /* FIXME: how do we free the detail->xml? */
+
+    if (detail->window)
+    {
+	gtk_widget_destroy (detail->window);
+    }
+
+    if (detail->orig_tracks)
+    {
+	g_list_free (detail->orig_tracks);
+    }
+
+    if (detail->tracks)
+    {
+	GList *gl;
+	for (gl=detail->tracks; gl; gl=gl->next)
+	{
+	    Track *tr = gl->data;
+	    g_return_if_fail (tr);
+	    itdb_track_free (tr);
+	}
+	g_list_free (detail->tracks);
+    }
+
+    g_free (detail);
+}
+
+
+/* Open the details window and display the selected tracks, starting
+ * with the first track */
+void details_edit (GList *selected_tracks)
+{
+    Detail *detail;
+    GtkWidget *w;
+    gint defx, defy, page;
+    T_item i;
+
+    g_return_if_fail (selected_tracks);
+
+    detail = g_malloc0 (sizeof (Detail));
+
+    detail->xml = glade_xml_new (xml_file, "details_window", NULL);
+/*  no signals to connect -> comment out */
+/*     glade_xml_signal_autoconnect (detail->xml); */
+    detail->window = gtkpod_xml_get_widget (detail->xml, "details_window");
+    g_return_if_fail (detail->window);
+
+    details = g_list_append (details, detail);
+
+    for (i=1; i<T_ITEM_NUM; ++i)
+    {
+	details_setup_widget (detail, i);
+    }
+
+    /* Navigation */
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_first");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_first_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_previous");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_previous_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_next");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_next_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_last");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_last_clicked),
+		      detail);
+
+    /* Thumbnail control */
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_set_artwork");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_set_artwork_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_remove_artwork");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_remove_artwork_clicked),
+		      detail);
+
+    /* Window control */
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_apply");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_apply_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_cancel");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_cancel_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_ok");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_ok_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_undo_all");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_undo_all_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml, "details_button_undo_track");
+    g_signal_connect (w, "clicked",
+		      G_CALLBACK (details_button_undo_track_clicked),
+		      detail);
+
+    w = gtkpod_xml_get_widget (detail->xml,
+			       "details_checkbutton_writethrough");
+    g_signal_connect (w, "toggled",
+		      G_CALLBACK (details_writethrough_toggled),
+		      detail);
+
+
+
+    g_signal_connect (detail->window, "delete_event",
+		      G_CALLBACK (details_delete_event), detail);
+
+    details_set_tracks (detail, selected_tracks);
+
+    /* set notebook page */
+    w = gtkpod_xml_get_widget (detail->xml, "details_notebook");
+    page = prefs_get_int (DETAILS_WINDOW_NOTEBOOK_PAGE);
+    if ((page >= 0) && (page < 3))
+	gtk_notebook_set_current_page (GTK_NOTEBOOK (w), page);
+
+    /* set default size */
+    defx = prefs_get_int (DETAILS_WINDOW_DEFX);
+    defy = prefs_get_int (DETAILS_WINDOW_DEFY);
+
+    if ((defx != 0) && (defy != 0))
+/* 	gtk_window_set_default_size (GTK_WINDOW (detail->window), */
+/* 				     defx, defy); */
+	gtk_window_resize (GTK_WINDOW (detail->window),
+			   defx, defy);
+
+    gtk_widget_show (detail->window);
+}
+
+
+/* Use the dimension of the first open window */
+void details_update_default_sizes (void)
+{
+    if (details)
+	details_store_window_state (details->data);
+}
+
+
+/* Remove @track from the details window (assuming it was removed
+   from the database altogether */
+void details_remove_track (Track *track)
+{
+    GList *gl;
+
+    g_return_if_fail (track);
+    for (gl=details; gl; gl=gl->next)
+    {
+	Detail *detail = gl->data;
+	g_return_if_fail (detail);
+	details_remove_track_intern (detail, track);
+    }
+}

Added: gtkpod/branches/upstream/current/src/details.h
===================================================================
--- gtkpod/branches/upstream/current/src/details.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/details.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,44 @@
+/* Time-stamp: <2005-12-10 00:46:23 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/
+| 
+|  This program is free software; you can redistribute it and/or modify
+|  it under the terms of the GNU General Public License as published by
+|  the Free Software Foundation; either version 2 of the License, or
+|  (at your option) any later version.
+| 
+|  This program 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 General Public License for more details.
+| 
+|  You should have received a copy of the GNU General Public License
+|  along with this program; 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: details.h,v 1.4 2005/12/09 15:59:12 jcsjcs Exp $
+*/
+
+#ifndef __DETAILS_H__
+#define __DETAILS_H__
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+ 
+#include <gtk/gtk.h>
+#include "itdb.h"
+
+/* details window */
+void details_edit (GList *selected_tracks);
+void details_update_default_sizes (void);
+void details_remove_track (Track *track);
+#endif

Deleted: gtkpod/branches/upstream/current/src/dirbrowser.c
===================================================================
--- gtkpod/branches/upstream/current/src/dirbrowser.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/dirbrowser.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,505 +0,0 @@
-/*
-|  Changed by Jorg Schuler <jcsjcs at users.sourceforge.net> to compile
-|  "standalone" with the gtkpod project 2002/11/24
-|  (http://gtkpod.sourceforge.net)
-|  Modified for UTF8 string handling under GKT2 (Jan 2003).
-|
-|  $Id: dirbrowser.c,v 1.25 2004/02/04 12:23:52 jcsjcs Exp $
-*/
-
-/*  XMMS - Cross-platform multimedia player
- *  Copyright (C) 1998-2002  Peter Alm, Mikael Alm, Olle Hallnas,
- *                           Thomas Nilsson and 4Front Technologies
- *  Copyright (C) 1999-2002  Haavard Kvaalen
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program 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 General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include "misc.h"
-#include "support.h"
-#include "prefs.h"
-#include "track.h"
-#include "charset.h"
-#include "file.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include <dirent.h>
-#include <unistd.h>
-
-#include <string.h>
-
-#include <gtk/gtk.h>
-#include <stdio.h>
-
-/* XPM */
-static char *folder[] =
-{
-	"16 16 16 1",
-	" 	c None",
-	".	c #f4f7e4",
-	"X	c #dee4b5",
-	"o	c #e1e7b9",
-	"O	c #c6cba4",
-	"+	c #dce2b8",
-	"@	c #e9e9ec",
-	"#	c #d3d8ae",
-	"$	c #d8daca",
-	"%	c #b2b2b5",
-	"&	c #767862",
-	"*	c #e3e6c3",
-	"=	c #1b1b1a",
-	"-	c #939684",
-	";	c #555555",
-	":	c #000000",
-	"                ",
-	"                ",
-	"  ::::          ",
-	" :.@@O:         ",
-	":-&&&&&:::::    ",
-	":.@@@@@*$O#O=   ",
-	":@*+XXXX+##O:   ",
-	":.*#oooXXXXX:   ",
-	":@+XoXXXXXX#:   ",
-	":@*ooXXXXXX#:   ",
-	":@**XXXXXXX#:   ",
-	":@*XXXXXXXX%:   ",
-	":$.*OOOOOO%-:   ",
-	" ;:::::::::::   ",
-	"                ",
-	"                "};
-
-/* Icon by Jakub Steiner <jimmac at ximian.com> */
-
-/* XPM */
-static char *ofolder[] =
-{
-	"16 16 16 1",
-	" 	c None",
-	".	c #a9ad93",
-	"X	c #60634d",
-	"o	c #dee4b5",
-	"O	c #9ca085",
-	"+	c #0c0d04",
-	"@	c #2f2f31",
-	"#	c #3b3d2c",
-	"$	c #c8cda2",
-	"%	c #e6e6e9",
-	"&	c #b3b5a5",
-	"*	c #80826d",
-	"=	c #292a1c",
-	"-	c #fefef6",
-	";	c #8f937b",
-	":	c #000000",
-	"                ",
-	"                ",
-	"  ::::          ",
-	" :-%%&:         ",
-	":-;;;OX:::::    ",
-	":-;;;;O;O;&.:   ",
-	":-*X##@@@@@=#:  ",
-	":%*+-%%ooooooO: ",
-	":%X;%ooooooo.*: ",
-	":.+-%oooooooO:  ",
-	":*O-oooooooo*:  ",
-	":O-oooooooo.:   ",
-	":*-%$$$$$$OX:   ",
-	" :::::::::::    ",
-	"                ",
-	"                "};
-
-#define NODE_SPACING 4
-
-static GdkPixmap *folder_pixmap = NULL, *ofolder_pixmap;
-static GdkBitmap *folder_mask, *ofolder_mask;
-static GtkWidget *dirbrowser = NULL;
-
-static GtkWidget *xmms_create_dir_browser(const gchar * title, const gchar * current_path, GtkSelectionMode mode, void (*handler) (gchar *));
-
-struct dirnode
-{
-    unsigned int scanned : 1;
-    char *path;
-    char *dir;
-};
-
-
-/* ------------------------------------------------------------ *
- * functions added for gtkpod                                   *
- * ------------------------------------------------------------ */
-
-/* turn the dirbrowser insensitive (if it's open) */
-void dirbrowser_block (void)
-{
-    if (dirbrowser)
-	gtk_widget_set_sensitive (dirbrowser, FALSE);
-}
-
-/* turn the dirbrowser sensitive (if it's open) */
-void dirbrowser_release (void)
-{
-    if (dirbrowser)
-	gtk_widget_set_sensitive (dirbrowser, TRUE);
-}
-
-/* Callback after one directory has been added */
-static void add_dir_selected (gchar *dir)
-{
-    if (dir)
-    {
-	Playlist *plitem = pm_get_selected_playlist ();
-	add_directory_by_name (dir, plitem,
-			       prefs_get_add_recursively (),
-			       NULL, NULL);
-	prefs_set_last_dir_browse(dir);
-	gtkpod_tracks_statusbar_update();
-    }
-    else
-    {
-	/* clear log of non-updated tracks */
-	display_non_updated ((void *)-1, NULL);
-	/* display log of updated tracks */
-	display_updated (NULL, NULL);
-	/* display log of detected duplicates */
-	remove_duplicate (NULL, NULL);
-    }
-}
-
-void dirbrowser_create (void)
-{
-    if(dirbrowser)  return;
-    dirbrowser = xmms_create_dir_browser (
-	_("Select directory to add recursively"),
-	prefs_get_last_dir_browse (),
-	GTK_SELECTION_MULTIPLE,
-	add_dir_selected);
-    gtk_widget_show (dirbrowser);
-}
-
-/* called when the file selector is closed */
-static void add_dir_close (GtkWidget *w1, GtkWidget *w2)
-{
-    if (dirbrowser)
-    {
-	gint x,y;
-	gtk_window_get_size (GTK_WINDOW (dirbrowser), &x, &y);
-	/* stor size for next time */
-	prefs_set_size_dirbr (x, y);
-	gtk_widget_destroy(dirbrowser);
-	dirbrowser = NULL;
-    }
-}
-
-
-/* ------------------------------------------------------------ *
- * end of added functions                                       *
- * ------------------------------------------------------------ */
-
-static gboolean check_for_subdir(char *path)
-{
-	DIR *dir;
-	struct dirent *dirent;
-	struct stat statbuf;
-	char *npath;
-
-	if ((dir = opendir(path)) != NULL)
-	{
-		while ((dirent = readdir(dir)) != NULL)
-		{
-			if (dirent->d_name[0] == '.')
-				continue;
-
-			npath = g_strconcat(path, dirent->d_name, NULL);
-			if (stat(npath, &statbuf) != -1 &&
-			    S_ISDIR(statbuf.st_mode))
-			{
-				g_free(npath);
-				closedir(dir);
-				return TRUE;
-			}
-			g_free(npath);
-		}
-		closedir(dir);
-	}
-	return FALSE;
-}
-
-static void destroy_cb(gpointer data)
-{
-	struct dirnode *node = data;
-
-	g_free(node->path);
-	g_free(node->dir);
-	g_free(node);
-}
-
-static void add_dir(GtkCTree *tree, GtkCTreeNode *pnode, char* parent, char *dir)
-{
-	struct stat statbuf;
-	char *path;
-	gchar *dir_utf8;
-
-	/* Don't show hidden dirs, nor . and .. */
-	if (dir[0] == '.')
-		return;
-
-	path = g_strconcat(parent, dir, NULL);
-	if (stat(path, &statbuf) != -1 && S_ISDIR(statbuf.st_mode))
-	{
-		gboolean has_subdir;
-		char *text = "";
-		GtkCTreeNode *node;
-		struct dirnode *dirnode = g_malloc0(sizeof (struct dirnode));
-		dirnode->path = g_strconcat(path, "/", NULL);
-		dirnode->dir = g_strdup (dir);
- 		has_subdir = check_for_subdir(dirnode->path);
-		dir_utf8 = charset_to_utf8 (dir);
-		node = gtk_ctree_insert_node(tree, pnode, NULL, &dir_utf8,
-					     NODE_SPACING, folder_pixmap,
-					     folder_mask, ofolder_pixmap,
-					     ofolder_mask, !has_subdir, FALSE);
-		g_free (dir_utf8);
-		gtk_ctree_node_set_row_data_full(tree, node, dirnode,
-						 destroy_cb);
-		if (has_subdir)
-			gtk_ctree_insert_node(tree, node, NULL, &text,
-					      NODE_SPACING, NULL, NULL,
-					      NULL, NULL, FALSE, FALSE);
-	}
-	g_free(path);
-}
-
-static void expand_cb(GtkWidget *widget, GtkCTreeNode *parent_node)
-{
-	struct dirent *dirent;
-	GtkCTree *tree = GTK_CTREE(widget);
-	struct dirnode *parent_dirnode;
-
-	parent_dirnode = gtk_ctree_node_get_row_data(tree, parent_node);
-	if (!parent_dirnode->scanned)
-	{
-		DIR *dir;
-
-		gtk_clist_freeze(GTK_CLIST(widget));
-		gtk_ctree_remove_node(tree,
-				      GTK_CTREE_ROW(parent_node)->children);
-		if ((dir = opendir(parent_dirnode->path)) != NULL)
-		{
-			while ((dirent = readdir(dir)) != NULL)
-			{
-				add_dir(tree, parent_node,
-					parent_dirnode->path, dirent->d_name);
-			}
-			closedir(dir);
-			gtk_ctree_sort_node(tree, parent_node);
-		}
-		gtk_clist_thaw(GTK_CLIST(widget));
-		parent_dirnode->scanned = TRUE;
-	}
-}
-
-static void select_row_cb(GtkWidget *widget, int row, int column, GdkEventButton *bevent, gpointer data)
-{
-	struct dirnode *dirnode;
-	GtkCTreeNode *node;
-	void (*handler) (char *);
-
-	if (bevent && (bevent->type == GDK_2BUTTON_PRESS))
-	{
-		node = gtk_ctree_node_nth(GTK_CTREE(widget), row);
-		dirnode = gtk_ctree_node_get_row_data(GTK_CTREE(widget), node);
-		handler = gtk_object_get_user_data(GTK_OBJECT(widget));
-		if (handler)
-			handler(dirnode->path);
-		if (handler) handler(NULL); /* call once with "NULL" to
-					       indicate "end" */
-	}
-}
-
-static void show_cb(GtkWidget *widget, gpointer data)
-{
-	GtkCTree *tree = GTK_CTREE(data);
-	GtkCTreeNode *node = gtk_object_get_data(GTK_OBJECT(tree),
-						 "selected_node");
-
-	if (node)
-		gtk_ctree_node_moveto(tree, node, -1, 0.6, 0);
-}
-
-static void ok_clicked(GtkWidget *widget, GtkWidget *tree)
-{
-	GtkCTreeNode *node;
-	struct dirnode *dirnode;
-	GList *list_node;
-	GtkWidget *window;
-	void (*handler) (char *) = NULL;
-
-	window = gtk_object_get_user_data(GTK_OBJECT(widget));
-	list_node = GTK_CLIST(tree)->selection;
-	while (list_node)
-	{
-		node = list_node->data;
-		dirnode = gtk_ctree_node_get_row_data(GTK_CTREE(tree), node);
-		handler = gtk_object_get_user_data(GTK_OBJECT(tree));
-		if (handler)
-			handler(dirnode->path);
-		list_node = g_list_next(list_node);
-	}
-	if (handler) handler(NULL); /* call once with "NULL" to
-				       indicate "end" */
-	gtk_widget_hide(window);
-	add_dir_close (widget, tree);
-}
-
-static GtkWidget *xmms_create_dir_browser(const char *title, const char *current_path, GtkSelectionMode mode, void (*handler) (char *))
-{
-	GtkWidget *window, *scroll_win, *tree, *vbox, *bbox, *ok, *cancel, *sep;
-	char *root_text = "/", *text = "";
-	GtkCTreeNode *root_node, *node, *selected_node = NULL;
-	GtkCTree *ctree;
-	struct dirnode *dirnode;
-	gint x,y;
-
-	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-	prefs_get_size_dirbr (&x, &y);
-	gtk_window_set_default_size(GTK_WINDOW(window), x, y);
-	gtk_window_set_title(GTK_WINDOW(window), title);
-	gtk_container_border_width(GTK_CONTAINER(window), 10);
-
-	vbox = gtk_vbox_new(FALSE, 10);
-	gtk_container_add(GTK_CONTAINER(window), vbox);
-
-	scroll_win = gtk_scrolled_window_new(NULL, NULL);
-	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win),
-				       GTK_POLICY_AUTOMATIC,
-				       GTK_POLICY_AUTOMATIC);
-	gtk_box_pack_start(GTK_BOX(vbox), scroll_win, TRUE, TRUE, 0);
-	gtk_widget_show(scroll_win);
-
-	gtk_widget_realize(window);
-	if (!folder_pixmap)
-	{
-		folder_pixmap = gdk_pixmap_create_from_xpm_d(window->window,
-							     &folder_mask,
-							     NULL, folder);
-		ofolder_pixmap = gdk_pixmap_create_from_xpm_d(window->window,
-							      &ofolder_mask,
-							      NULL, ofolder);
-	}
-
-	tree = gtk_ctree_new(1, 0);
-	ctree = GTK_CTREE(tree);
-	gtk_clist_set_column_auto_resize(GTK_CLIST(tree), 0, TRUE);
-	gtk_clist_set_selection_mode(GTK_CLIST(tree), mode);
-	gtk_ctree_set_line_style(ctree, GTK_CTREE_LINES_DOTTED);
-	gtk_signal_connect(GTK_OBJECT(tree), "tree_expand",
-			   GTK_SIGNAL_FUNC(expand_cb), NULL);
-	gtk_signal_connect(GTK_OBJECT(tree), "select_row",
-			   GTK_SIGNAL_FUNC(select_row_cb), NULL);
-	gtk_signal_connect(GTK_OBJECT(window), "show",
-			   GTK_SIGNAL_FUNC(show_cb), tree);
-	gtk_container_add(GTK_CONTAINER(scroll_win), tree);
-	gtk_object_set_user_data(GTK_OBJECT(tree), handler);
-
-	root_node = gtk_ctree_insert_node(ctree, NULL, NULL,
-					  &root_text, NODE_SPACING,
-					  folder_pixmap, folder_mask,
-					  ofolder_pixmap, ofolder_mask,
-					  FALSE, FALSE);
-	dirnode = g_malloc0(sizeof (struct dirnode));
-	dirnode->path = g_strdup("/");
-	gtk_ctree_node_set_row_data_full(ctree, root_node,
-					 dirnode, destroy_cb);
-	node = gtk_ctree_insert_node(ctree, root_node, NULL,
-				     &text, 4, NULL, NULL, NULL,
-				     NULL, TRUE, TRUE);
-	gtk_ctree_expand(ctree, root_node);
-	gtk_widget_show(tree);
-
-	sep = gtk_hseparator_new();
-	gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0);
-	gtk_widget_show(sep);
-
-	bbox = gtk_hbutton_box_new();
-	gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
-	gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
-
-	ok = gtk_button_new_with_label(_("Ok"));
-	gtk_object_set_user_data(GTK_OBJECT(ok), window);
-	GTK_WIDGET_SET_FLAGS(ok, GTK_CAN_DEFAULT);
-	gtk_window_set_default(GTK_WINDOW(window), ok);
-	gtk_box_pack_start(GTK_BOX(bbox), ok, TRUE, TRUE, 0);
-	gtk_signal_connect(GTK_OBJECT(ok), "clicked",
-			   GTK_SIGNAL_FUNC(ok_clicked), tree);
-	gtk_widget_show(ok);
-
-	cancel = gtk_button_new_with_label(_("Cancel"));
-	GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT);
-	gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0);
-	gtk_signal_connect_object(GTK_OBJECT(cancel), "clicked",
-				  GTK_SIGNAL_FUNC(add_dir_close),
-				  GTK_OBJECT(window));
-	gtk_widget_show(cancel);
-
-	gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
-	gtk_widget_show(bbox);
-	gtk_widget_show(vbox);
-
-	if (current_path && *current_path)
-	{
-		char **dir;
-		int i;
-
-		dir = g_strsplit(current_path, "/", 0);
-		node = root_node;
-		for (i = 0; dir[i] != NULL; i++)
-		{
-			if (dir[i][0] == '\0')
-				continue;
-
-			for (node = GTK_CTREE_ROW(node)->children; node != NULL;
-			     node = GTK_CTREE_ROW(node)->sibling)
-			{
-				struct dirnode *dn;
-				dn = gtk_ctree_node_get_row_data(GTK_CTREE(tree), node);
-					if (!strcmp(dir[i], dn->dir))
-					    break;
-			}
-			if (!node)
-				break;
-			if (!GTK_CTREE_ROW(node)->is_leaf && dir[i+1] && *dir[i+1])
-				gtk_ctree_expand(ctree, node);
-			else
-			{
-				selected_node = node;
-				break;
-			}
-		}
-		g_strfreev(dir);
-	}
-
-	if (!selected_node)
-		selected_node = root_node;
-
-	gtk_ctree_select(ctree, selected_node);
-	gtk_object_set_data(GTK_OBJECT(tree), "selected_node", selected_node);
-
-	return window;
-}

Deleted: gtkpod/branches/upstream/current/src/dirbrowser.h
===================================================================
--- gtkpod/branches/upstream/current/src/dirbrowser.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/dirbrowser.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,34 +0,0 @@
-
-/*  XMMS - Cross-platform multimedia player
- *  Copyright (C) 1998-2000  Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program 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 General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-#ifndef XMMS_DIRBROWSER_H
-#define XMMS_DIRBROWSER_H
-#include <gtk/gtk.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-    void dirbrowser_block (void);
-    void dirbrowser_release (void);
-    void dirbrowser_create (void);
-#ifdef __cplusplus
-};
-#endif
-
-
-#endif

Modified: gtkpod/branches/upstream/current/src/display.c
===================================================================
--- gtkpod/branches/upstream/current/src/display.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/display.h
===================================================================
--- gtkpod/branches/upstream/current/src/display.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/display_itdb.c
===================================================================
--- gtkpod/branches/upstream/current/src/display_itdb.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display_itdb.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/display_itdb.h
===================================================================
--- gtkpod/branches/upstream/current/src/display_itdb.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display_itdb.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/display_playlists.c
===================================================================
--- gtkpod/branches/upstream/current/src/display_playlists.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display_playlists.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/display_private.h
===================================================================
--- gtkpod/branches/upstream/current/src/display_private.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display_private.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/display_songs.c
===================================================================
--- gtkpod/branches/upstream/current/src/display_songs.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display_songs.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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,
@@ -1800,6 +1673,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,
@@ -1846,6 +1772,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 ();
 
@@ -1909,21 +1838,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);
@@ -1951,8 +1879,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;
 
@@ -1974,13 +1901,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;
@@ -1989,28 +1929,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");
@@ -2024,6 +1953,9 @@
   case TM_COLUMN_TIME_ADDED:
       text = _("Added");
       break;
+  case TM_COLUMN_TIME_RELEASED:
+      text = _("Released");
+      break;
   case TM_COLUMN_YEAR:
       text = _("Year");
       break;
@@ -2034,9 +1966,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 ();
@@ -2117,6 +2050,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 ();
 }
 
@@ -2125,8 +2069,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 */
@@ -2145,6 +2090,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);
@@ -2218,6 +2167,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);
+  }
 }
 
 
@@ -2258,6 +2219,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/branches/upstream/current/src/display_sorttabs.c
===================================================================
--- gtkpod/branches/upstream/current/src/display_sorttabs.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display_sorttabs.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/display_spl.c
===================================================================
--- gtkpod/branches/upstream/current/src/display_spl.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/display_spl.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/file.c
===================================================================
--- gtkpod/branches/upstream/current/src/file.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/file.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/file.h
===================================================================
--- gtkpod/branches/upstream/current/src/file.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/file.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/file_export.c
===================================================================
--- gtkpod/branches/upstream/current/src/file_export.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/file_export.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/file_itunesdb.c
===================================================================
--- gtkpod/branches/upstream/current/src/file_itunesdb.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/file_itunesdb.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/fileselection.c
===================================================================
--- gtkpod/branches/upstream/current/src/fileselection.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/fileselection.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/fileselection.h
===================================================================
--- gtkpod/branches/upstream/current/src/fileselection.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/fileselection.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/info.c
===================================================================
--- gtkpod/branches/upstream/current/src/info.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/info.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/info.h
===================================================================
--- gtkpod/branches/upstream/current/src/info.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/info.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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);

Deleted: gtkpod/branches/upstream/current/src/interface.c
===================================================================
--- gtkpod/branches/upstream/current/src/interface.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/interface.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,5587 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "callbacks.h"
-#include "interface.h"
-#include "support.h"
-
-#define GLADE_HOOKUP_OBJECT(component,widget,name) \
-  g_object_set_data_full (G_OBJECT (component), name, \
-    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
-
-#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
-  g_object_set_data (G_OBJECT (component), name, widget)
-
-GtkWidget*
-create_gtkpod (void)
-{
-  GtkWidget *gtkpod;
-  GdkPixbuf *gtkpod_icon_pixbuf;
-  GtkWidget *vbox1;
-  GtkWidget *menubar;
-  GtkWidget *menuitem10;
-  GtkWidget *menuitem10_menu;
-  GtkWidget *import_itunes_mi;
-  GtkWidget *image2916;
-  GtkWidget *add_files1;
-  GtkWidget *image2917;
-  GtkWidget *add_directory1;
-  GtkWidget *image2918;
-  GtkWidget *add_playlist1;
-  GtkWidget *image2919;
-  GtkWidget *export_itunes1;
-  GtkWidget *image2920;
-  GtkWidget *separator3;
-  GtkWidget *update_menu;
-  GtkWidget *image2921;
-  GtkWidget *update_menu_menu;
-  GtkWidget *update_playlist_menu;
-  GtkWidget *update_tab_entry_menu;
-  GtkWidget *update_tracks_menu;
-  GtkWidget *mserv_from_file_menu;
-  GtkWidget *image2922;
-  GtkWidget *mserv_from_file_menu_menu;
-  GtkWidget *mserv_from_file_playlist_menu;
-  GtkWidget *mserv_from_file_entry_menu;
-  GtkWidget *mserv_from_file_tracks_menu;
-  GtkWidget *sync_menu;
-  GtkWidget *image2923;
-  GtkWidget *sync_menu_menu;
-  GtkWidget *sync_playlist_menu;
-  GtkWidget *sync_tab_entry_menu;
-  GtkWidget *sync_tracks_menu;
-  GtkWidget *separator6;
-  GtkWidget *export_menu;
-  GtkWidget *image2924;
-  GtkWidget *export_menu_menu;
-  GtkWidget *export_playlist;
-  GtkWidget *export_tab_entry_menu;
-  GtkWidget *export_tracks;
-  GtkWidget *create_playlist_file_menu;
-  GtkWidget *image2925;
-  GtkWidget *create_playlist_file_menu_menu;
-  GtkWidget *playlist_file_playlist;
-  GtkWidget *playlist_file_tab_entry;
-  GtkWidget *playlist_file_tracks;
-  GtkWidget *trennlinie6;
-  GtkWidget *offline_menu;
-  GtkWidget *trennlinie1;
-  GtkWidget *ipod_directories;
-  GtkWidget *image2926;
-  GtkWidget *check_ipod_files_mi;
-  GtkWidget *trennlinie3;
-  GtkWidget *quit1;
-  GtkWidget *menuitem11;
-  GtkWidget *menuitem11_menu;
-  GtkWidget *item2;
-  GtkWidget *image2927;
-  GtkWidget *item2_menu;
-  GtkWidget *new_playlist1;
-  GtkWidget *smart_playlist;
-  GtkWidget *random_playlist;
-  GtkWidget *pl_containing_displayed_tracks;
-  GtkWidget *pl_containing_selected_tracks;
-  GtkWidget *pl_for_each_artist;
-  GtkWidget *pl_for_each_album;
-  GtkWidget *pl_for_each_genre;
-  GtkWidget *pl_for_each_composer;
-  GtkWidget *pl_for_each_year;
-  GtkWidget *pl_for_each_rating;
-  GtkWidget *most_rated_tracks;
-  GtkWidget *most_listened_tracks;
-  GtkWidget *most_recent_played_tracks;
-  GtkWidget *played_since_last_time1;
-  GtkWidget *all_tracks_never_listened_to1;
-  GtkWidget *all_tracks_not_listed_in_any_playlist1;
-  GtkWidget *randomize_current_playlist;
-  GtkWidget *separator1;
-  GtkWidget *sorting1;
-  GtkWidget *image2928;
-  GtkWidget *save_track_order1;
-  GtkWidget *image2929;
-  GtkWidget *separator4;
-  GtkWidget *delete_menu;
-  GtkWidget *image2930;
-  GtkWidget *delete_menu_menu;
-  GtkWidget *delete_playlist_menu;
-  GtkWidget *delete_tab_entry_menu;
-  GtkWidget *delete_tracks_menu;
-  GtkWidget *delete_full_menu;
-  GtkWidget *image2931;
-  GtkWidget *delete_full_menu_menu;
-  GtkWidget *delete_full_playlist_menu;
-  GtkWidget *delete_full_tab_entry_menu;
-  GtkWidget *delete_full_tracks_menu;
-  GtkWidget *separator2;
-  GtkWidget *edit_preferences1;
-  GtkWidget *image2932;
-  GtkWidget *item1;
-  GtkWidget *item1_menu;
-  GtkWidget *toolbar_menu;
-  GtkWidget *tooltips_menu;
-  GtkWidget *info_window_menu;
-  GtkWidget *more_sort_tabs;
-  GtkWidget *image2933;
-  GtkWidget *less_sort_tabs;
-  GtkWidget *image2934;
-  GtkWidget *arrange_sort_tabs;
-  GtkWidget *tools1;
-  GtkWidget *tools1_menu;
-  GtkWidget *play_menu;
-  GtkWidget *image2935;
-  GtkWidget *play_menu_menu;
-  GtkWidget *play_playlist_menu;
-  GtkWidget *play_tab_entry_menu;
-  GtkWidget *play_tracks_menu;
-  GtkWidget *enqueue_menu;
-  GtkWidget *image2936;
-  GtkWidget *enqueue_menu_menu;
-  GtkWidget *enqueue_playlist_menu;
-  GtkWidget *enqueue_tab_entry_menu;
-  GtkWidget *enqueue_tracks_menu;
-  GtkWidget *trennlinie4;
-  GtkWidget *normalize_tracks1;
-  GtkWidget *normalize_tracks1_menu;
-  GtkWidget *normalize_selected_playlist;
-  GtkWidget *normalize_selected_tab_entry;
-  GtkWidget *normalize_selected_tracks;
-  GtkWidget *normalize_displayed_tracks;
-  GtkWidget *normalize_all_tracks;
-  GtkWidget *normalize_newly_added_tracks;
-  GtkWidget *trennlinie5;
-  GtkWidget *sync_all;
-  GtkWidget *sync_contacts;
-  GtkWidget *sync_calendar;
-  GtkWidget *sync_notes;
-  GtkWidget *menuitem13;
-  GtkWidget *menuitem13_menu;
-  GtkWidget *about1;
-  GtkWidget *image2937;
-  GtkWidget *toolbar;
-  GtkIconSize tmp_toolbar_icon_size;
-  GtkWidget *tmp_image;
-  GtkWidget *import_button;
-  GtkWidget *add_files_button;
-  GtkWidget *add_dirs_button;
-  GtkWidget *add_PL_button;
-  GtkWidget *new_PL_button;
-  GtkWidget *export_button;
-  GtkWidget *stop_button;
-  GtkWidget *paned0;
-  GtkWidget *playlist_window;
-  GtkWidget *paned1;
-  GtkWidget *track_window;
-  GtkWidget *paned2;
-  GtkWidget *gtkpod_status;
-  GtkWidget *paned3;
-  GtkWidget *space_statusbar;
-  GtkWidget *tracks_statusbar;
-  GtkAccelGroup *accel_group;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  accel_group = gtk_accel_group_new ();
-
-  gtkpod = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (gtkpod), _("gtkpod"));
-  gtk_window_set_default_size (GTK_WINDOW (gtkpod), 600, 500);
-  gtkpod_icon_pixbuf = create_pixbuf ("gtkpod-icon-48.png");
-  if (gtkpod_icon_pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (gtkpod), gtkpod_icon_pixbuf);
-      gdk_pixbuf_unref (gtkpod_icon_pixbuf);
-    }
-
-  vbox1 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox1);
-  gtk_container_add (GTK_CONTAINER (gtkpod), vbox1);
-
-  menubar = gtk_menu_bar_new ();
-  gtk_widget_show (menubar);
-  gtk_box_pack_start (GTK_BOX (vbox1), menubar, FALSE, FALSE, 0);
-
-  menuitem10 = gtk_menu_item_new_with_mnemonic (_("_File"));
-  gtk_widget_show (menuitem10);
-  gtk_container_add (GTK_CONTAINER (menubar), menuitem10);
-
-  menuitem10_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem10), menuitem10_menu);
-
-  import_itunes_mi = gtk_image_menu_item_new_with_mnemonic (_("_Read iTunesDB"));
-  gtk_widget_show (import_itunes_mi);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), import_itunes_mi);
-
-  image2916 = gtk_image_new_from_stock ("gtk-goto-top", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2916);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (import_itunes_mi), image2916);
-
-  add_files1 = gtk_image_menu_item_new_with_mnemonic (_("Add _Files"));
-  gtk_widget_show (add_files1);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), add_files1);
-
-  image2917 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2917);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files1), image2917);
-
-  add_directory1 = gtk_image_menu_item_new_with_mnemonic (_("Add _Directory"));
-  gtk_widget_show (add_directory1);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), add_directory1);
-
-  image2918 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2918);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_directory1), image2918);
-
-  add_playlist1 = gtk_image_menu_item_new_with_mnemonic (_("Add _Playlist"));
-  gtk_widget_show (add_playlist1);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), add_playlist1);
-
-  image2919 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2919);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_playlist1), image2919);
-
-  export_itunes1 = gtk_image_menu_item_new_with_mnemonic (_("Synchronize _iTunesDB"));
-  gtk_widget_show (export_itunes1);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), export_itunes1);
-
-  image2920 = gtk_image_new_from_stock ("gtk-goto-bottom", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2920);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (export_itunes1), image2920);
-
-  separator3 = gtk_separator_menu_item_new ();
-  gtk_widget_show (separator3);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), separator3);
-  gtk_widget_set_sensitive (separator3, FALSE);
-
-  update_menu = gtk_image_menu_item_new_with_mnemonic (_("_Update Tracks from File"));
-  gtk_widget_show (update_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), update_menu);
-
-  image2921 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2921);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (update_menu), image2921);
-
-  update_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (update_menu), update_menu_menu);
-
-  update_playlist_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (update_playlist_menu);
-  gtk_container_add (GTK_CONTAINER (update_menu_menu), update_playlist_menu);
-
-  update_tab_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (update_tab_entry_menu);
-  gtk_container_add (GTK_CONTAINER (update_menu_menu), update_tab_entry_menu);
-
-  update_tracks_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (update_tracks_menu);
-  gtk_container_add (GTK_CONTAINER (update_menu_menu), update_tracks_menu);
-
-  mserv_from_file_menu = gtk_image_menu_item_new_with_mnemonic (_("Update _mserv Data from File"));
-  gtk_widget_show (mserv_from_file_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), mserv_from_file_menu);
-
-  image2922 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2922);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mserv_from_file_menu), image2922);
-
-  mserv_from_file_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (mserv_from_file_menu), mserv_from_file_menu_menu);
-
-  mserv_from_file_playlist_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (mserv_from_file_playlist_menu);
-  gtk_container_add (GTK_CONTAINER (mserv_from_file_menu_menu), mserv_from_file_playlist_menu);
-
-  mserv_from_file_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (mserv_from_file_entry_menu);
-  gtk_container_add (GTK_CONTAINER (mserv_from_file_menu_menu), mserv_from_file_entry_menu);
-
-  mserv_from_file_tracks_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (mserv_from_file_tracks_menu);
-  gtk_container_add (GTK_CONTAINER (mserv_from_file_menu_menu), mserv_from_file_tracks_menu);
-
-  sync_menu = gtk_image_menu_item_new_with_mnemonic (_("_Synchronize Directories"));
-  gtk_widget_show (sync_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), sync_menu);
-
-  image2923 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2923);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (sync_menu), image2923);
-
-  sync_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (sync_menu), sync_menu_menu);
-
-  sync_playlist_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (sync_playlist_menu);
-  gtk_container_add (GTK_CONTAINER (sync_menu_menu), sync_playlist_menu);
-
-  sync_tab_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (sync_tab_entry_menu);
-  gtk_container_add (GTK_CONTAINER (sync_menu_menu), sync_tab_entry_menu);
-
-  sync_tracks_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (sync_tracks_menu);
-  gtk_container_add (GTK_CONTAINER (sync_menu_menu), sync_tracks_menu);
-
-  separator6 = gtk_separator_menu_item_new ();
-  gtk_widget_show (separator6);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), separator6);
-  gtk_widget_set_sensitive (separator6, FALSE);
-
-  export_menu = gtk_image_menu_item_new_with_mnemonic (_("Copy _Tracks from iPod"));
-  gtk_widget_show (export_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), export_menu);
-
-  image2924 = gtk_image_new_from_stock ("gtk-floppy", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2924);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (export_menu), image2924);
-
-  export_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (export_menu), export_menu_menu);
-
-  export_playlist = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (export_playlist);
-  gtk_container_add (GTK_CONTAINER (export_menu_menu), export_playlist);
-
-  export_tab_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (export_tab_entry_menu);
-  gtk_container_add (GTK_CONTAINER (export_menu_menu), export_tab_entry_menu);
-
-  export_tracks = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (export_tracks);
-  gtk_container_add (GTK_CONTAINER (export_menu_menu), export_tracks);
-
-  create_playlist_file_menu = gtk_image_menu_item_new_with_mnemonic (_("Create _Playlist File"));
-  gtk_widget_show (create_playlist_file_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), create_playlist_file_menu);
-
-  image2925 = gtk_image_new_from_stock ("gtk-floppy", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2925);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (create_playlist_file_menu), image2925);
-
-  create_playlist_file_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (create_playlist_file_menu), create_playlist_file_menu_menu);
-
-  playlist_file_playlist = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (playlist_file_playlist);
-  gtk_container_add (GTK_CONTAINER (create_playlist_file_menu_menu), playlist_file_playlist);
-
-  playlist_file_tab_entry = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (playlist_file_tab_entry);
-  gtk_container_add (GTK_CONTAINER (create_playlist_file_menu_menu), playlist_file_tab_entry);
-
-  playlist_file_tracks = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (playlist_file_tracks);
-  gtk_container_add (GTK_CONTAINER (create_playlist_file_menu_menu), playlist_file_tracks);
-
-  trennlinie6 = gtk_separator_menu_item_new ();
-  gtk_widget_show (trennlinie6);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), trennlinie6);
-  gtk_widget_set_sensitive (trennlinie6, FALSE);
-
-  offline_menu = gtk_check_menu_item_new_with_mnemonic (_("_Offline"));
-  gtk_widget_show (offline_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), offline_menu);
-
-  trennlinie1 = gtk_separator_menu_item_new ();
-  gtk_widget_show (trennlinie1);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), trennlinie1);
-  gtk_widget_set_sensitive (trennlinie1, FALSE);
-
-  ipod_directories = gtk_image_menu_item_new_with_mnemonic (_("_Create iPod's Directories"));
-  gtk_widget_show (ipod_directories);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), ipod_directories);
-
-  image2926 = gtk_image_new_from_stock ("gtk-execute", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2926);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (ipod_directories), image2926);
-
-  check_ipod_files_mi = gtk_menu_item_new_with_mnemonic (_("_Check iPod's Files"));
-  gtk_widget_show (check_ipod_files_mi);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), check_ipod_files_mi);
-  gtk_tooltips_set_tip (tooltips, check_ipod_files_mi, _("Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPOD)"), NULL);
-
-  trennlinie3 = gtk_separator_menu_item_new ();
-  gtk_widget_show (trennlinie3);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), trennlinie3);
-  gtk_widget_set_sensitive (trennlinie3, FALSE);
-
-  quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
-  gtk_widget_show (quit1);
-  gtk_container_add (GTK_CONTAINER (menuitem10_menu), quit1);
-
-  menuitem11 = gtk_menu_item_new_with_mnemonic (_("_Edit"));
-  gtk_widget_show (menuitem11);
-  gtk_container_add (GTK_CONTAINER (menubar), menuitem11);
-
-  menuitem11_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem11), menuitem11_menu);
-
-  item2 = gtk_image_menu_item_new_with_mnemonic (_("_Create Playlists"));
-  gtk_widget_show (item2);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), item2);
-
-  image2927 = gtk_image_new_from_stock ("gtk-copy", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2927);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item2), image2927);
-
-  item2_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (item2), item2_menu);
-
-  new_playlist1 = gtk_menu_item_new_with_mnemonic (_("Empty Playlist"));
-  gtk_widget_show (new_playlist1);
-  gtk_container_add (GTK_CONTAINER (item2_menu), new_playlist1);
-
-  smart_playlist = gtk_menu_item_new_with_mnemonic (_("Smart Playlist"));
-  gtk_widget_show (smart_playlist);
-  gtk_container_add (GTK_CONTAINER (item2_menu), smart_playlist);
-
-  random_playlist = gtk_menu_item_new_with_mnemonic (_("Random Playlist from Displayed Tracks"));
-  gtk_widget_show (random_playlist);
-  gtk_container_add (GTK_CONTAINER (item2_menu), random_playlist);
-
-  pl_containing_displayed_tracks = gtk_menu_item_new_with_mnemonic (_("Containing Displayed Tracks"));
-  gtk_widget_show (pl_containing_displayed_tracks);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_containing_displayed_tracks);
-
-  pl_containing_selected_tracks = gtk_menu_item_new_with_mnemonic (_("Containing Selected Tracks"));
-  gtk_widget_show (pl_containing_selected_tracks);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_containing_selected_tracks);
-
-  pl_for_each_artist = gtk_menu_item_new_with_mnemonic (_("One for each Artist"));
-  gtk_widget_show (pl_for_each_artist);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_for_each_artist);
-
-  pl_for_each_album = gtk_menu_item_new_with_mnemonic (_("One for each Album"));
-  gtk_widget_show (pl_for_each_album);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_for_each_album);
-
-  pl_for_each_genre = gtk_menu_item_new_with_mnemonic (_("One for each Genre"));
-  gtk_widget_show (pl_for_each_genre);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_for_each_genre);
-
-  pl_for_each_composer = gtk_menu_item_new_with_mnemonic (_("One for each Composer"));
-  gtk_widget_show (pl_for_each_composer);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_for_each_composer);
-
-  pl_for_each_year = gtk_menu_item_new_with_mnemonic (_("One for each Year"));
-  gtk_widget_show (pl_for_each_year);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_for_each_year);
-
-  pl_for_each_rating = gtk_menu_item_new_with_mnemonic (_("One for each Rating"));
-  gtk_widget_show (pl_for_each_rating);
-  gtk_container_add (GTK_CONTAINER (item2_menu), pl_for_each_rating);
-
-  most_rated_tracks = gtk_menu_item_new_with_mnemonic (_("Best Rated Tracks"));
-  gtk_widget_show (most_rated_tracks);
-  gtk_container_add (GTK_CONTAINER (item2_menu), most_rated_tracks);
-
-  most_listened_tracks = gtk_menu_item_new_with_mnemonic (_("Tracks Most Often Listened To"));
-  gtk_widget_show (most_listened_tracks);
-  gtk_container_add (GTK_CONTAINER (item2_menu), most_listened_tracks);
-
-  most_recent_played_tracks = gtk_menu_item_new_with_mnemonic (_("Most Recently Played Tracks"));
-  gtk_widget_show (most_recent_played_tracks);
-  gtk_container_add (GTK_CONTAINER (item2_menu), most_recent_played_tracks);
-
-  played_since_last_time1 = gtk_menu_item_new_with_mnemonic (_("All Tracks Played Since Last Time"));
-  gtk_widget_show (played_since_last_time1);
-  gtk_container_add (GTK_CONTAINER (item2_menu), played_since_last_time1);
-
-  all_tracks_never_listened_to1 = gtk_menu_item_new_with_mnemonic (_("All Tracks Never Listened To"));
-  gtk_widget_show (all_tracks_never_listened_to1);
-  gtk_container_add (GTK_CONTAINER (item2_menu), all_tracks_never_listened_to1);
-
-  all_tracks_not_listed_in_any_playlist1 = gtk_menu_item_new_with_mnemonic (_("All Tracks not Listed in any Playlist"));
-  gtk_widget_show (all_tracks_not_listed_in_any_playlist1);
-  gtk_container_add (GTK_CONTAINER (item2_menu), all_tracks_not_listed_in_any_playlist1);
-
-  randomize_current_playlist = gtk_menu_item_new_with_mnemonic (_("Randomize Current Playlist"));
-  gtk_widget_show (randomize_current_playlist);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), randomize_current_playlist);
-
-  separator1 = gtk_separator_menu_item_new ();
-  gtk_widget_show (separator1);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), separator1);
-  gtk_widget_set_sensitive (separator1, FALSE);
-
-  sorting1 = gtk_image_menu_item_new_with_mnemonic (_("_Sorting"));
-  gtk_widget_show (sorting1);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), sorting1);
-  gtk_widget_add_accelerator (sorting1, "activate", accel_group,
-                              GDK_s, GDK_CONTROL_MASK,
-                              GTK_ACCEL_VISIBLE);
-
-  image2928 = gtk_image_new_from_stock ("gtk-sort-ascending", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2928);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (sorting1), image2928);
-
-  save_track_order1 = gtk_image_menu_item_new_with_mnemonic (_("_Save Displayed Track Order"));
-  gtk_widget_show (save_track_order1);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), save_track_order1);
-  gtk_widget_add_accelerator (save_track_order1, "activate", accel_group,
-                              GDK_s, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
-                              GTK_ACCEL_VISIBLE);
-
-  image2929 = gtk_image_new_from_stock ("gtk-justify-fill", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2929);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (save_track_order1), image2929);
-
-  separator4 = gtk_separator_menu_item_new ();
-  gtk_widget_show (separator4);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), separator4);
-  gtk_widget_set_sensitive (separator4, FALSE);
-
-  delete_menu = gtk_image_menu_item_new_with_mnemonic (_("_Delete But Keep Tracks"));
-  gtk_widget_show (delete_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), delete_menu);
-
-  image2930 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2930);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (delete_menu), image2930);
-
-  delete_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (delete_menu), delete_menu_menu);
-
-  delete_playlist_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (delete_playlist_menu);
-  gtk_container_add (GTK_CONTAINER (delete_menu_menu), delete_playlist_menu);
-
-  delete_tab_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (delete_tab_entry_menu);
-  gtk_container_add (GTK_CONTAINER (delete_menu_menu), delete_tab_entry_menu);
-
-  delete_tracks_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (delete_tracks_menu);
-  gtk_container_add (GTK_CONTAINER (delete_menu_menu), delete_tracks_menu);
-
-  delete_full_menu = gtk_image_menu_item_new_with_mnemonic (_("_Delete Completely From iPod"));
-  gtk_widget_show (delete_full_menu);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), delete_full_menu);
-
-  image2931 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2931);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (delete_full_menu), image2931);
-
-  delete_full_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (delete_full_menu), delete_full_menu_menu);
-
-  delete_full_playlist_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (delete_full_playlist_menu);
-  gtk_container_add (GTK_CONTAINER (delete_full_menu_menu), delete_full_playlist_menu);
-
-  delete_full_tab_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (delete_full_tab_entry_menu);
-  gtk_container_add (GTK_CONTAINER (delete_full_menu_menu), delete_full_tab_entry_menu);
-
-  delete_full_tracks_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (delete_full_tracks_menu);
-  gtk_container_add (GTK_CONTAINER (delete_full_menu_menu), delete_full_tracks_menu);
-
-  separator2 = gtk_separator_menu_item_new ();
-  gtk_widget_show (separator2);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), separator2);
-  gtk_widget_set_sensitive (separator2, FALSE);
-
-  edit_preferences1 = gtk_image_menu_item_new_with_mnemonic (_("_Edit Preferences"));
-  gtk_widget_show (edit_preferences1);
-  gtk_container_add (GTK_CONTAINER (menuitem11_menu), edit_preferences1);
-  gtk_widget_add_accelerator (edit_preferences1, "activate", accel_group,
-                              GDK_p, GDK_CONTROL_MASK,
-                              GTK_ACCEL_VISIBLE);
-
-  image2932 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2932);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (edit_preferences1), image2932);
-
-  item1 = gtk_menu_item_new_with_mnemonic (_("_View"));
-  gtk_widget_show (item1);
-  gtk_container_add (GTK_CONTAINER (menubar), item1);
-
-  item1_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (item1), item1_menu);
-
-  toolbar_menu = gtk_check_menu_item_new_with_mnemonic (_("_Toolbar"));
-  gtk_widget_show (toolbar_menu);
-  gtk_container_add (GTK_CONTAINER (item1_menu), toolbar_menu);
-
-  tooltips_menu = gtk_check_menu_item_new_with_mnemonic (_("_Tooltips"));
-  gtk_widget_show (tooltips_menu);
-  gtk_container_add (GTK_CONTAINER (item1_menu), tooltips_menu);
-
-  info_window_menu = gtk_check_menu_item_new_with_mnemonic (_("_Info Window"));
-  gtk_widget_show (info_window_menu);
-  gtk_container_add (GTK_CONTAINER (item1_menu), info_window_menu);
-  gtk_widget_add_accelerator (info_window_menu, "activate", accel_group,
-                              GDK_i, GDK_CONTROL_MASK,
-                              GTK_ACCEL_VISIBLE);
-
-  more_sort_tabs = gtk_image_menu_item_new_with_mnemonic (_("_More Sort Tabs"));
-  gtk_widget_show (more_sort_tabs);
-  gtk_container_add (GTK_CONTAINER (item1_menu), more_sort_tabs);
-
-  image2933 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2933);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (more_sort_tabs), image2933);
-
-  less_sort_tabs = gtk_image_menu_item_new_with_mnemonic (_("_Less Sort Tabs"));
-  gtk_widget_show (less_sort_tabs);
-  gtk_container_add (GTK_CONTAINER (item1_menu), less_sort_tabs);
-
-  image2934 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2934);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (less_sort_tabs), image2934);
-
-  arrange_sort_tabs = gtk_menu_item_new_with_mnemonic (_("_Arrange Sort Tabs"));
-  gtk_widget_show (arrange_sort_tabs);
-  gtk_container_add (GTK_CONTAINER (item1_menu), arrange_sort_tabs);
-
-  tools1 = gtk_menu_item_new_with_mnemonic (_("_Tools"));
-  gtk_widget_show (tools1);
-  gtk_container_add (GTK_CONTAINER (menubar), tools1);
-
-  tools1_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (tools1), tools1_menu);
-
-  play_menu = gtk_image_menu_item_new_with_mnemonic (_("_Play Now"));
-  gtk_widget_show (play_menu);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), play_menu);
-
-  image2935 = gtk_image_new_from_stock ("gtk-cdrom", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2935);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (play_menu), image2935);
-
-  play_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (play_menu), play_menu_menu);
-
-  play_playlist_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (play_playlist_menu);
-  gtk_container_add (GTK_CONTAINER (play_menu_menu), play_playlist_menu);
-
-  play_tab_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (play_tab_entry_menu);
-  gtk_container_add (GTK_CONTAINER (play_menu_menu), play_tab_entry_menu);
-
-  play_tracks_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (play_tracks_menu);
-  gtk_container_add (GTK_CONTAINER (play_menu_menu), play_tracks_menu);
-
-  enqueue_menu = gtk_image_menu_item_new_with_mnemonic (_("_Enqueue"));
-  gtk_widget_show (enqueue_menu);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), enqueue_menu);
-
-  image2936 = gtk_image_new_from_stock ("gtk-cdrom", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2936);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (enqueue_menu), image2936);
-
-  enqueue_menu_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (enqueue_menu), enqueue_menu_menu);
-
-  enqueue_playlist_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (enqueue_playlist_menu);
-  gtk_container_add (GTK_CONTAINER (enqueue_menu_menu), enqueue_playlist_menu);
-
-  enqueue_tab_entry_menu = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (enqueue_tab_entry_menu);
-  gtk_container_add (GTK_CONTAINER (enqueue_menu_menu), enqueue_tab_entry_menu);
-
-  enqueue_tracks_menu = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (enqueue_tracks_menu);
-  gtk_container_add (GTK_CONTAINER (enqueue_menu_menu), enqueue_tracks_menu);
-
-  trennlinie4 = gtk_separator_menu_item_new ();
-  gtk_widget_show (trennlinie4);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), trennlinie4);
-  gtk_widget_set_sensitive (trennlinie4, FALSE);
-
-  normalize_tracks1 = gtk_menu_item_new_with_mnemonic (_("_Normalize Volume"));
-  gtk_widget_show (normalize_tracks1);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), normalize_tracks1);
-
-  normalize_tracks1_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (normalize_tracks1), normalize_tracks1_menu);
-
-  normalize_selected_playlist = gtk_menu_item_new_with_mnemonic (_("Selected _Playlist"));
-  gtk_widget_show (normalize_selected_playlist);
-  gtk_container_add (GTK_CONTAINER (normalize_tracks1_menu), normalize_selected_playlist);
-
-  normalize_selected_tab_entry = gtk_menu_item_new_with_mnemonic (_("Selected Tab _Entry"));
-  gtk_widget_show (normalize_selected_tab_entry);
-  gtk_container_add (GTK_CONTAINER (normalize_tracks1_menu), normalize_selected_tab_entry);
-
-  normalize_selected_tracks = gtk_menu_item_new_with_mnemonic (_("Selected _Tracks"));
-  gtk_widget_show (normalize_selected_tracks);
-  gtk_container_add (GTK_CONTAINER (normalize_tracks1_menu), normalize_selected_tracks);
-
-  normalize_displayed_tracks = gtk_menu_item_new_with_mnemonic (_("_Displayed Tracks"));
-  gtk_widget_show (normalize_displayed_tracks);
-  gtk_container_add (GTK_CONTAINER (normalize_tracks1_menu), normalize_displayed_tracks);
-
-  normalize_all_tracks = gtk_menu_item_new_with_mnemonic (_("_All Tracks"));
-  gtk_widget_show (normalize_all_tracks);
-  gtk_container_add (GTK_CONTAINER (normalize_tracks1_menu), normalize_all_tracks);
-
-  normalize_newly_added_tracks = gtk_menu_item_new_with_mnemonic (_("_Newly Added Tracks"));
-  gtk_widget_show (normalize_newly_added_tracks);
-  gtk_container_add (GTK_CONTAINER (normalize_tracks1_menu), normalize_newly_added_tracks);
-
-  trennlinie5 = gtk_separator_menu_item_new ();
-  gtk_widget_show (trennlinie5);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), trennlinie5);
-  gtk_widget_set_sensitive (trennlinie5, FALSE);
-
-  sync_all = gtk_menu_item_new_with_mnemonic (_("Synchronize All"));
-  gtk_widget_show (sync_all);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), sync_all);
-  gtk_tooltips_set_tip (tooltips, sync_all, _("Synchronise Contacts, Calendar and Notes"), NULL);
-
-  sync_contacts = gtk_menu_item_new_with_mnemonic (_("Synchronize Contacts"));
-  gtk_widget_show (sync_contacts);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), sync_contacts);
-
-  sync_calendar = gtk_menu_item_new_with_mnemonic (_("Synchronize Calendar"));
-  gtk_widget_show (sync_calendar);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), sync_calendar);
-
-  sync_notes = gtk_menu_item_new_with_mnemonic (_("Synchronize Notes"));
-  gtk_widget_show (sync_notes);
-  gtk_container_add (GTK_CONTAINER (tools1_menu), sync_notes);
-
-  menuitem13 = gtk_menu_item_new_with_mnemonic (_("_Help"));
-  gtk_widget_show (menuitem13);
-  gtk_container_add (GTK_CONTAINER (menubar), menuitem13);
-
-  menuitem13_menu = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem13), menuitem13_menu);
-
-  about1 = gtk_image_menu_item_new_with_mnemonic (_("_About"));
-  gtk_widget_show (about1);
-  gtk_container_add (GTK_CONTAINER (menuitem13_menu), about1);
-
-  image2937 = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image2937);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image2937);
-
-  toolbar = gtk_toolbar_new ();
-  gtk_widget_show (toolbar);
-  gtk_box_pack_start (GTK_BOX (vbox1), toolbar, FALSE, FALSE, 0);
-  gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH);
-  tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar));
-
-  tmp_image = create_pixmap (gtkpod, "gtkpod-read.png");
-  gtk_widget_show (tmp_image);
-  import_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Read"));
-  gtk_widget_show (import_button);
-  gtk_container_add (GTK_CONTAINER (toolbar), import_button);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (import_button), tooltips, _("Read Existing Database from Disk/iPod"), NULL);
-
-  tmp_image = create_pixmap (gtkpod, "gtkpod-add-files.png");
-  gtk_widget_show (tmp_image);
-  add_files_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Files"));
-  gtk_widget_show (add_files_button);
-  gtk_container_add (GTK_CONTAINER (toolbar), add_files_button);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (add_files_button), tooltips, _("Add Files or Directories"), NULL);
-
-  tmp_image = create_pixmap (gtkpod, "gtkpod-add-dirs.png");
-  gtk_widget_show (tmp_image);
-  add_dirs_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Dirs"));
-  gtk_widget_show (add_dirs_button);
-  gtk_container_add (GTK_CONTAINER (toolbar), add_dirs_button);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (add_dirs_button), tooltips, _("Add Directories Recursively"), NULL);
-
-  tmp_image = create_pixmap (gtkpod, "gtkpod-add-playlists.png");
-  gtk_widget_show (tmp_image);
-  add_PL_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Playlist"));
-  gtk_widget_show (add_PL_button);
-  gtk_container_add (GTK_CONTAINER (toolbar), add_PL_button);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (add_PL_button), tooltips, _("Add playlist from file"), NULL);
-
-  tmp_image = create_pixmap (gtkpod, "gtkpod-new-playlist.png");
-  gtk_widget_show (tmp_image);
-  new_PL_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("New PL"));
-  gtk_widget_show (new_PL_button);
-  gtk_container_add (GTK_CONTAINER (toolbar), new_PL_button);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (new_PL_button), tooltips, _("Create New Playlist"), NULL);
-
-  tmp_image = create_pixmap (gtkpod, "gtkpod-sync.png");
-  gtk_widget_show (tmp_image);
-  export_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Sync"));
-  gtk_widget_show (export_button);
-  gtk_container_add (GTK_CONTAINER (toolbar), export_button);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (export_button), tooltips, _("Write Changes to Disk/iPod"), NULL);
-
-  tmp_image = gtk_image_new_from_stock ("gtk-stop", tmp_toolbar_icon_size);
-  gtk_widget_show (tmp_image);
-  stop_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Stop"));
-  gtk_container_add (GTK_CONTAINER (toolbar), stop_button);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (stop_button), tooltips, _("Stop Display Update"), NULL);
-
-  paned0 = gtk_hpaned_new ();
-  gtk_widget_show (paned0);
-  gtk_box_pack_start (GTK_BOX (vbox1), paned0, TRUE, TRUE, 0);
-  gtk_paned_set_position (GTK_PANED (paned0), 150);
-
-  playlist_window = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (playlist_window);
-  gtk_paned_pack1 (GTK_PANED (paned0), playlist_window, FALSE, TRUE);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (playlist_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
-  paned1 = gtk_vpaned_new ();
-  gtk_widget_show (paned1);
-  gtk_paned_pack2 (GTK_PANED (paned0), paned1, TRUE, TRUE);
-  gtk_paned_set_position (GTK_PANED (paned1), 180);
-
-  track_window = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (track_window);
-  gtk_paned_pack2 (GTK_PANED (paned1), track_window, TRUE, TRUE);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (track_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
-  paned2 = gtk_hpaned_new ();
-  gtk_widget_show (paned2);
-  gtk_box_pack_start (GTK_BOX (vbox1), paned2, FALSE, TRUE, 0);
-  gtk_paned_set_position (GTK_PANED (paned2), 0);
-
-  gtkpod_status = gtk_statusbar_new ();
-  gtk_widget_show (gtkpod_status);
-  gtk_paned_pack1 (GTK_PANED (paned2), gtkpod_status, TRUE, FALSE);
-  gtk_widget_set_size_request (gtkpod_status, 300, -1);
-  gtk_container_set_border_width (GTK_CONTAINER (gtkpod_status), 1);
-  gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (gtkpod_status), FALSE);
-
-  paned3 = gtk_hpaned_new ();
-  gtk_widget_show (paned3);
-  gtk_paned_pack2 (GTK_PANED (paned2), paned3, TRUE, TRUE);
-  gtk_paned_set_position (GTK_PANED (paned3), 130);
-
-  space_statusbar = gtk_statusbar_new ();
-  gtk_widget_show (space_statusbar);
-  gtk_paned_pack1 (GTK_PANED (paned3), space_statusbar, FALSE, TRUE);
-  gtk_widget_set_size_request (space_statusbar, 80, -1);
-  gtk_container_set_border_width (GTK_CONTAINER (space_statusbar), 1);
-  gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (space_statusbar), FALSE);
-
-  tracks_statusbar = gtk_statusbar_new ();
-  gtk_widget_show (tracks_statusbar);
-  gtk_paned_pack2 (GTK_PANED (paned3), tracks_statusbar, TRUE, TRUE);
-  gtk_widget_set_size_request (tracks_statusbar, 175, -1);
-  gtk_container_set_border_width (GTK_CONTAINER (tracks_statusbar), 1);
-
-  g_signal_connect ((gpointer) gtkpod, "delete_event",
-                    G_CALLBACK (on_gtkpod_delete_event),
-                    NULL);
-  g_signal_connect ((gpointer) import_itunes_mi, "activate",
-                    G_CALLBACK (on_import_itunes_mi_activate),
-                    NULL);
-  g_signal_connect ((gpointer) add_files1, "activate",
-                    G_CALLBACK (on_add_files1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) add_directory1, "activate",
-                    G_CALLBACK (on_add_directory1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) add_playlist1, "activate",
-                    G_CALLBACK (on_add_playlist1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) export_itunes1, "activate",
-                    G_CALLBACK (on_export_itunes1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) update_playlist_menu, "activate",
-                    G_CALLBACK (on_update_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) update_tab_entry_menu, "activate",
-                    G_CALLBACK (on_update_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) update_tracks_menu, "activate",
-                    G_CALLBACK (on_update_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) mserv_from_file_playlist_menu, "activate",
-                    G_CALLBACK (on_mserv_from_file_playlist_menu_activate),
-                    NULL);
-  g_signal_connect ((gpointer) mserv_from_file_entry_menu, "activate",
-                    G_CALLBACK (on_mserv_from_file_entry_menu_activate),
-                    NULL);
-  g_signal_connect ((gpointer) mserv_from_file_tracks_menu, "activate",
-                    G_CALLBACK (on_mserv_from_file_tracks_menu_activate),
-                    NULL);
-  g_signal_connect ((gpointer) sync_playlist_menu, "activate",
-                    G_CALLBACK (on_sync_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) sync_tab_entry_menu, "activate",
-                    G_CALLBACK (on_sync_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) sync_tracks_menu, "activate",
-                    G_CALLBACK (on_sync_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) export_playlist, "activate",
-                    G_CALLBACK (on_export_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) export_tab_entry_menu, "activate",
-                    G_CALLBACK (on_export_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) export_tracks, "activate",
-                    G_CALLBACK (on_export_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) playlist_file_playlist, "activate",
-                    G_CALLBACK (on_playlist_file_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) playlist_file_tab_entry, "activate",
-                    G_CALLBACK (on_playlist_file_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) playlist_file_tracks, "activate",
-                    G_CALLBACK (on_playlist_file_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) offline_menu, "activate",
-                    G_CALLBACK (on_offline1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) ipod_directories, "activate",
-                    G_CALLBACK (on_ipod_directories_menu),
-                    NULL);
-  g_signal_connect ((gpointer) check_ipod_files_mi, "activate",
-                    G_CALLBACK (on_check_ipod_files_activate),
-                    NULL);
-  g_signal_connect ((gpointer) quit1, "activate",
-                    G_CALLBACK (on_quit1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) new_playlist1, "activate",
-                    G_CALLBACK (on_new_playlist1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) smart_playlist, "activate",
-                    G_CALLBACK (on_smart_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) random_playlist, "activate",
-                    G_CALLBACK (on_random_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_containing_displayed_tracks, "activate",
-                    G_CALLBACK (on_pl_containing_displayed_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_containing_selected_tracks, "activate",
-                    G_CALLBACK (on_pl_containing_selected_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_for_each_artist, "activate",
-                    G_CALLBACK (on_pl_for_each_artist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_for_each_album, "activate",
-                    G_CALLBACK (on_pl_for_each_album_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_for_each_genre, "activate",
-                    G_CALLBACK (on_pl_for_each_genre_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_for_each_composer, "activate",
-                    G_CALLBACK (on_pl_for_each_composer_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_for_each_year, "activate",
-                    G_CALLBACK (on_pl_for_each_year_activate),
-                    NULL);
-  g_signal_connect ((gpointer) pl_for_each_rating, "activate",
-                    G_CALLBACK (on_pl_for_each_rating_activate),
-                    NULL);
-  g_signal_connect ((gpointer) most_rated_tracks, "activate",
-                    G_CALLBACK (on_most_rated_tracks_playlist_s1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) most_listened_tracks, "activate",
-                    G_CALLBACK (on_most_listened_tracks1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) most_recent_played_tracks, "activate",
-                    G_CALLBACK (on_most_recent_played_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) played_since_last_time1, "activate",
-                    G_CALLBACK (on_played_since_last_time1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) all_tracks_never_listened_to1, "activate",
-                    G_CALLBACK (on_all_tracks_never_listened_to1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) all_tracks_not_listed_in_any_playlist1, "activate",
-                    G_CALLBACK (on_all_tracks_not_listed_in_any_playlist1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) randomize_current_playlist, "activate",
-                    G_CALLBACK (on_randomize_current_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) sorting1, "activate",
-                    G_CALLBACK (on_sorting_activate),
-                    NULL);
-  g_signal_connect ((gpointer) save_track_order1, "activate",
-                    G_CALLBACK (on_save_track_order1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) delete_playlist_menu, "activate",
-                    G_CALLBACK (on_delete_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) delete_tab_entry_menu, "activate",
-                    G_CALLBACK (on_delete_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) delete_tracks_menu, "activate",
-                    G_CALLBACK (on_delete_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) delete_full_playlist_menu, "activate",
-                    G_CALLBACK (on_delete_full_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) delete_full_tab_entry_menu, "activate",
-                    G_CALLBACK (on_delete_full_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) delete_full_tracks_menu, "activate",
-                    G_CALLBACK (on_delete_full_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) edit_preferences1, "activate",
-                    G_CALLBACK (on_edit_preferences1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) toolbar_menu, "activate",
-                    G_CALLBACK (on_toolbar_menu_activate),
-                    NULL);
-  g_signal_connect ((gpointer) tooltips_menu, "activate",
-                    G_CALLBACK (on_tooltips_menu_activate),
-                    NULL);
-  g_signal_connect ((gpointer) info_window_menu, "activate",
-                    G_CALLBACK (on_info_window1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) more_sort_tabs, "activate",
-                    G_CALLBACK (on_more_sort_tabs_activate),
-                    NULL);
-  g_signal_connect ((gpointer) less_sort_tabs, "activate",
-                    G_CALLBACK (on_less_sort_tabs_activate),
-                    NULL);
-  g_signal_connect ((gpointer) arrange_sort_tabs, "activate",
-                    G_CALLBACK (on_arrange_sort_tabs_activate),
-                    NULL);
-  g_signal_connect ((gpointer) play_playlist_menu, "activate",
-                    G_CALLBACK (on_play_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) play_tab_entry_menu, "activate",
-                    G_CALLBACK (on_play_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) play_tracks_menu, "activate",
-                    G_CALLBACK (on_play_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) enqueue_playlist_menu, "activate",
-                    G_CALLBACK (on_enqueue_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) enqueue_tab_entry_menu, "activate",
-                    G_CALLBACK (on_enqueue_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) enqueue_tracks_menu, "activate",
-                    G_CALLBACK (on_enqueue_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) normalize_selected_playlist, "activate",
-                    G_CALLBACK (on_normalize_selected_playlist_activate),
-                    NULL);
-  g_signal_connect ((gpointer) normalize_selected_tab_entry, "activate",
-                    G_CALLBACK (on_normalize_selected_tab_entry_activate),
-                    NULL);
-  g_signal_connect ((gpointer) normalize_selected_tracks, "activate",
-                    G_CALLBACK (on_normalize_selected_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) normalize_displayed_tracks, "activate",
-                    G_CALLBACK (on_normalize_displayed_tracks_activate),
-                    NULL);
-  g_signal_connect ((gpointer) normalize_all_tracks, "activate",
-                    G_CALLBACK (on_normalize_all_tracks),
-                    NULL);
-  g_signal_connect ((gpointer) normalize_newly_added_tracks, "activate",
-                    G_CALLBACK (on_normalize_newly_added_tracks),
-                    NULL);
-  g_signal_connect ((gpointer) sync_all, "activate",
-                    G_CALLBACK (on_sync_all_activate),
-                    NULL);
-  g_signal_connect ((gpointer) sync_contacts, "activate",
-                    G_CALLBACK (on_sync_contacts_activate),
-                    NULL);
-  g_signal_connect ((gpointer) sync_calendar, "activate",
-                    G_CALLBACK (on_sync_calendar_activate),
-                    NULL);
-  g_signal_connect ((gpointer) sync_notes, "activate",
-                    G_CALLBACK (on_sync_notes_activate),
-                    NULL);
-  g_signal_connect ((gpointer) about1, "activate",
-                    G_CALLBACK (on_about1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) import_button, "clicked",
-                    G_CALLBACK (on_import_button_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) add_files_button, "clicked",
-                    G_CALLBACK (on_add_files1_button),
-                    NULL);
-  g_signal_connect ((gpointer) add_dirs_button, "clicked",
-                    G_CALLBACK (on_add_directory1_button),
-                    NULL);
-  g_signal_connect ((gpointer) add_PL_button, "clicked",
-                    G_CALLBACK (on_add_PL_button_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) new_PL_button, "clicked",
-                    G_CALLBACK (on_new_playlist_button),
-                    NULL);
-  g_signal_connect ((gpointer) export_button, "clicked",
-                    G_CALLBACK (on_export_itunes1_button),
-                    NULL);
-  g_signal_connect ((gpointer) stop_button, "clicked",
-                    G_CALLBACK (on_stop_button_clicked),
-                    NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (gtkpod, gtkpod, "gtkpod");
-  GLADE_HOOKUP_OBJECT (gtkpod, vbox1, "vbox1");
-  GLADE_HOOKUP_OBJECT (gtkpod, menubar, "menubar");
-  GLADE_HOOKUP_OBJECT (gtkpod, menuitem10, "menuitem10");
-  GLADE_HOOKUP_OBJECT (gtkpod, menuitem10_menu, "menuitem10_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, import_itunes_mi, "import_itunes_mi");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2916, "image2916");
-  GLADE_HOOKUP_OBJECT (gtkpod, add_files1, "add_files1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2917, "image2917");
-  GLADE_HOOKUP_OBJECT (gtkpod, add_directory1, "add_directory1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2918, "image2918");
-  GLADE_HOOKUP_OBJECT (gtkpod, add_playlist1, "add_playlist1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2919, "image2919");
-  GLADE_HOOKUP_OBJECT (gtkpod, export_itunes1, "export_itunes1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2920, "image2920");
-  GLADE_HOOKUP_OBJECT (gtkpod, separator3, "separator3");
-  GLADE_HOOKUP_OBJECT (gtkpod, update_menu, "update_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2921, "image2921");
-  GLADE_HOOKUP_OBJECT (gtkpod, update_menu_menu, "update_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, update_playlist_menu, "update_playlist_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, update_tab_entry_menu, "update_tab_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, update_tracks_menu, "update_tracks_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, mserv_from_file_menu, "mserv_from_file_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2922, "image2922");
-  GLADE_HOOKUP_OBJECT (gtkpod, mserv_from_file_menu_menu, "mserv_from_file_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, mserv_from_file_playlist_menu, "mserv_from_file_playlist_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, mserv_from_file_entry_menu, "mserv_from_file_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, mserv_from_file_tracks_menu, "mserv_from_file_tracks_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_menu, "sync_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2923, "image2923");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_menu_menu, "sync_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_playlist_menu, "sync_playlist_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_tab_entry_menu, "sync_tab_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_tracks_menu, "sync_tracks_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, separator6, "separator6");
-  GLADE_HOOKUP_OBJECT (gtkpod, export_menu, "export_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2924, "image2924");
-  GLADE_HOOKUP_OBJECT (gtkpod, export_menu_menu, "export_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, export_playlist, "export_playlist");
-  GLADE_HOOKUP_OBJECT (gtkpod, export_tab_entry_menu, "export_tab_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, export_tracks, "export_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, create_playlist_file_menu, "create_playlist_file_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2925, "image2925");
-  GLADE_HOOKUP_OBJECT (gtkpod, create_playlist_file_menu_menu, "create_playlist_file_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, playlist_file_playlist, "playlist_file_playlist");
-  GLADE_HOOKUP_OBJECT (gtkpod, playlist_file_tab_entry, "playlist_file_tab_entry");
-  GLADE_HOOKUP_OBJECT (gtkpod, playlist_file_tracks, "playlist_file_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, trennlinie6, "trennlinie6");
-  GLADE_HOOKUP_OBJECT (gtkpod, offline_menu, "offline_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, trennlinie1, "trennlinie1");
-  GLADE_HOOKUP_OBJECT (gtkpod, ipod_directories, "ipod_directories");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2926, "image2926");
-  GLADE_HOOKUP_OBJECT (gtkpod, check_ipod_files_mi, "check_ipod_files_mi");
-  GLADE_HOOKUP_OBJECT (gtkpod, trennlinie3, "trennlinie3");
-  GLADE_HOOKUP_OBJECT (gtkpod, quit1, "quit1");
-  GLADE_HOOKUP_OBJECT (gtkpod, menuitem11, "menuitem11");
-  GLADE_HOOKUP_OBJECT (gtkpod, menuitem11_menu, "menuitem11_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, item2, "item2");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2927, "image2927");
-  GLADE_HOOKUP_OBJECT (gtkpod, item2_menu, "item2_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, new_playlist1, "new_playlist1");
-  GLADE_HOOKUP_OBJECT (gtkpod, smart_playlist, "smart_playlist");
-  GLADE_HOOKUP_OBJECT (gtkpod, random_playlist, "random_playlist");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_containing_displayed_tracks, "pl_containing_displayed_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_containing_selected_tracks, "pl_containing_selected_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_for_each_artist, "pl_for_each_artist");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_for_each_album, "pl_for_each_album");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_for_each_genre, "pl_for_each_genre");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_for_each_composer, "pl_for_each_composer");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_for_each_year, "pl_for_each_year");
-  GLADE_HOOKUP_OBJECT (gtkpod, pl_for_each_rating, "pl_for_each_rating");
-  GLADE_HOOKUP_OBJECT (gtkpod, most_rated_tracks, "most_rated_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, most_listened_tracks, "most_listened_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, most_recent_played_tracks, "most_recent_played_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, played_since_last_time1, "played_since_last_time1");
-  GLADE_HOOKUP_OBJECT (gtkpod, all_tracks_never_listened_to1, "all_tracks_never_listened_to1");
-  GLADE_HOOKUP_OBJECT (gtkpod, all_tracks_not_listed_in_any_playlist1, "all_tracks_not_listed_in_any_playlist1");
-  GLADE_HOOKUP_OBJECT (gtkpod, randomize_current_playlist, "randomize_current_playlist");
-  GLADE_HOOKUP_OBJECT (gtkpod, separator1, "separator1");
-  GLADE_HOOKUP_OBJECT (gtkpod, sorting1, "sorting1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2928, "image2928");
-  GLADE_HOOKUP_OBJECT (gtkpod, save_track_order1, "save_track_order1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2929, "image2929");
-  GLADE_HOOKUP_OBJECT (gtkpod, separator4, "separator4");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_menu, "delete_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2930, "image2930");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_menu_menu, "delete_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_playlist_menu, "delete_playlist_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_tab_entry_menu, "delete_tab_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_tracks_menu, "delete_tracks_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_full_menu, "delete_full_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2931, "image2931");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_full_menu_menu, "delete_full_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_full_playlist_menu, "delete_full_playlist_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_full_tab_entry_menu, "delete_full_tab_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, delete_full_tracks_menu, "delete_full_tracks_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, separator2, "separator2");
-  GLADE_HOOKUP_OBJECT (gtkpod, edit_preferences1, "edit_preferences1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2932, "image2932");
-  GLADE_HOOKUP_OBJECT (gtkpod, item1, "item1");
-  GLADE_HOOKUP_OBJECT (gtkpod, item1_menu, "item1_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, toolbar_menu, "toolbar_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, tooltips_menu, "tooltips_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, info_window_menu, "info_window_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, more_sort_tabs, "more_sort_tabs");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2933, "image2933");
-  GLADE_HOOKUP_OBJECT (gtkpod, less_sort_tabs, "less_sort_tabs");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2934, "image2934");
-  GLADE_HOOKUP_OBJECT (gtkpod, arrange_sort_tabs, "arrange_sort_tabs");
-  GLADE_HOOKUP_OBJECT (gtkpod, tools1, "tools1");
-  GLADE_HOOKUP_OBJECT (gtkpod, tools1_menu, "tools1_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, play_menu, "play_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2935, "image2935");
-  GLADE_HOOKUP_OBJECT (gtkpod, play_menu_menu, "play_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, play_playlist_menu, "play_playlist_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, play_tab_entry_menu, "play_tab_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, play_tracks_menu, "play_tracks_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, enqueue_menu, "enqueue_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2936, "image2936");
-  GLADE_HOOKUP_OBJECT (gtkpod, enqueue_menu_menu, "enqueue_menu_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, enqueue_playlist_menu, "enqueue_playlist_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, enqueue_tab_entry_menu, "enqueue_tab_entry_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, enqueue_tracks_menu, "enqueue_tracks_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, trennlinie4, "trennlinie4");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_tracks1, "normalize_tracks1");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_tracks1_menu, "normalize_tracks1_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_selected_playlist, "normalize_selected_playlist");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_selected_tab_entry, "normalize_selected_tab_entry");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_selected_tracks, "normalize_selected_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_displayed_tracks, "normalize_displayed_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_all_tracks, "normalize_all_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, normalize_newly_added_tracks, "normalize_newly_added_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod, trennlinie5, "trennlinie5");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_all, "sync_all");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_contacts, "sync_contacts");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_calendar, "sync_calendar");
-  GLADE_HOOKUP_OBJECT (gtkpod, sync_notes, "sync_notes");
-  GLADE_HOOKUP_OBJECT (gtkpod, menuitem13, "menuitem13");
-  GLADE_HOOKUP_OBJECT (gtkpod, menuitem13_menu, "menuitem13_menu");
-  GLADE_HOOKUP_OBJECT (gtkpod, about1, "about1");
-  GLADE_HOOKUP_OBJECT (gtkpod, image2937, "image2937");
-  GLADE_HOOKUP_OBJECT (gtkpod, toolbar, "toolbar");
-  GLADE_HOOKUP_OBJECT (gtkpod, import_button, "import_button");
-  GLADE_HOOKUP_OBJECT (gtkpod, add_files_button, "add_files_button");
-  GLADE_HOOKUP_OBJECT (gtkpod, add_dirs_button, "add_dirs_button");
-  GLADE_HOOKUP_OBJECT (gtkpod, add_PL_button, "add_PL_button");
-  GLADE_HOOKUP_OBJECT (gtkpod, new_PL_button, "new_PL_button");
-  GLADE_HOOKUP_OBJECT (gtkpod, export_button, "export_button");
-  GLADE_HOOKUP_OBJECT (gtkpod, stop_button, "stop_button");
-  GLADE_HOOKUP_OBJECT (gtkpod, paned0, "paned0");
-  GLADE_HOOKUP_OBJECT (gtkpod, playlist_window, "playlist_window");
-  GLADE_HOOKUP_OBJECT (gtkpod, paned1, "paned1");
-  GLADE_HOOKUP_OBJECT (gtkpod, track_window, "track_window");
-  GLADE_HOOKUP_OBJECT (gtkpod, paned2, "paned2");
-  GLADE_HOOKUP_OBJECT (gtkpod, gtkpod_status, "gtkpod_status");
-  GLADE_HOOKUP_OBJECT (gtkpod, paned3, "paned3");
-  GLADE_HOOKUP_OBJECT (gtkpod, space_statusbar, "space_statusbar");
-  GLADE_HOOKUP_OBJECT (gtkpod, tracks_statusbar, "tracks_statusbar");
-  GLADE_HOOKUP_OBJECT_NO_REF (gtkpod, tooltips, "tooltips");
-
-  gtk_window_add_accel_group (GTK_WINDOW (gtkpod), accel_group);
-
-  return gtkpod;
-}
-
-GtkWidget*
-create_gtkpod_about_window (void)
-{
-  GtkWidget *gtkpod_about_window;
-  GdkPixbuf *gtkpod_about_window_icon_pixbuf;
-  GtkWidget *vbox2;
-  GtkWidget *about_top_box;
-  GtkWidget *logo_image;
-  GtkWidget *about_label;
-  GtkWidget *notebook1;
-  GtkWidget *scrolledwindow2;
-  GtkWidget *credits_textview;
-  GtkWidget *label3;
-  GtkWidget *scrolledwindow3;
-  GtkWidget *translators_textview;
-  GtkWidget *label4;
-  GtkWidget *hbuttonbox2;
-  GtkWidget *about_close;
-
-  gtkpod_about_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_widget_set_size_request (gtkpod_about_window, 350, 0);
-  gtk_window_set_title (GTK_WINDOW (gtkpod_about_window), _("About gtkpod"));
-  gtk_window_set_default_size (GTK_WINDOW (gtkpod_about_window), 450, 450);
-  gtkpod_about_window_icon_pixbuf = create_pixbuf ("gtkpod-icon-48.png");
-  if (gtkpod_about_window_icon_pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (gtkpod_about_window), gtkpod_about_window_icon_pixbuf);
-      gdk_pixbuf_unref (gtkpod_about_window_icon_pixbuf);
-    }
-
-  vbox2 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox2);
-  gtk_container_add (GTK_CONTAINER (gtkpod_about_window), vbox2);
-
-  about_top_box = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (about_top_box);
-  gtk_box_pack_start (GTK_BOX (vbox2), about_top_box, FALSE, FALSE, 0);
-
-  logo_image = create_pixmap (gtkpod_about_window, "gtkpod-logo.png");
-  gtk_widget_show (logo_image);
-  gtk_box_pack_start (GTK_BOX (about_top_box), logo_image, TRUE, TRUE, 0);
-
-  about_label = gtk_label_new ("");
-  gtk_widget_show (about_label);
-  gtk_box_pack_start (GTK_BOX (about_top_box), about_label, FALSE, FALSE, 0);
-  gtk_label_set_justify (GTK_LABEL (about_label), GTK_JUSTIFY_CENTER);
-  gtk_label_set_line_wrap (GTK_LABEL (about_label), TRUE);
-
-  notebook1 = gtk_notebook_new ();
-  gtk_widget_show (notebook1);
-  gtk_box_pack_start (GTK_BOX (vbox2), notebook1, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (notebook1), 2);
-
-  scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow2);
-  gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow2);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
-  credits_textview = gtk_text_view_new ();
-  gtk_widget_show (credits_textview);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow2), credits_textview);
-  gtk_text_view_set_editable (GTK_TEXT_VIEW (credits_textview), FALSE);
-  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (credits_textview), GTK_WRAP_WORD);
-
-  label3 = gtk_label_new (_("Credits"));
-  gtk_widget_show (label3);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label3);
-
-  scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow3);
-  gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow3);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
-  translators_textview = gtk_text_view_new ();
-  gtk_widget_show (translators_textview);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow3), translators_textview);
-  gtk_text_view_set_editable (GTK_TEXT_VIEW (translators_textview), FALSE);
-  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (translators_textview), GTK_WRAP_WORD);
-
-  label4 = gtk_label_new (_("Translators"));
-  gtk_widget_show (label4);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label4);
-
-  hbuttonbox2 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox2);
-  gtk_box_pack_start (GTK_BOX (vbox2), hbuttonbox2, FALSE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox2), 5);
-
-  about_close = gtk_button_new_from_stock ("gtk-close");
-  gtk_widget_show (about_close);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox2), about_close);
-  GTK_WIDGET_SET_FLAGS (about_close, GTK_CAN_DEFAULT);
-
-  g_signal_connect ((gpointer) gtkpod_about_window, "delete_event",
-                    G_CALLBACK (on_about_window_close),
-                    NULL);
-  g_signal_connect_swapped ((gpointer) about_close, "clicked",
-                            G_CALLBACK (on_about_window_close_button),
-                            GTK_OBJECT (gtkpod_about_window));
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (gtkpod_about_window, gtkpod_about_window, "gtkpod_about_window");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, vbox2, "vbox2");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, about_top_box, "about_top_box");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, logo_image, "logo_image");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, about_label, "about_label");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, notebook1, "notebook1");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, scrolledwindow2, "scrolledwindow2");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, credits_textview, "credits_textview");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, label3, "label3");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, scrolledwindow3, "scrolledwindow3");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, translators_textview, "translators_textview");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, label4, "label4");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, hbuttonbox2, "hbuttonbox2");
-  GLADE_HOOKUP_OBJECT (gtkpod_about_window, about_close, "about_close");
-
-  return gtkpod_about_window;
-}
-
-GtkWidget*
-create_prefs_window (void)
-{
-  GtkWidget *prefs_window;
-  GdkPixbuf *prefs_window_icon_pixbuf;
-  GtkWidget *vbox13;
-  GtkWidget *notebook;
-  GtkWidget *scrolledwindow5;
-  GtkWidget *viewport2;
-  GtkWidget *vbox14;
-  GtkWidget *frame6;
-  GtkWidget *vbox15;
-  GtkWidget *hbox8;
-  GtkWidget *label27;
-  GtkWidget *cfg_mount_point;
-  GtkWidget *cfg_automount_ipod;
-  GtkWidget *cfg_autoimport;
-  GtkWidget *label26;
-  GtkWidget *frame7;
-  GtkWidget *vbox16;
-  GtkWidget *hbox9;
-  GtkWidget *label29;
-  GtkWidget *charset_combo;
-  GtkWidget *charset_combo_entry;
-  GtkWidget *cfg_update_charset;
-  GtkWidget *cfg_add_recursively;
-  GtkWidget *cfg_md5tracks;
-  GtkWidget *table2;
-  GtkWidget *cfg_show_duplicates;
-  GtkWidget *hseparator43;
-  GtkWidget *cfg_update_existing;
-  GtkWidget *table1;
-  GtkWidget *cfg_show_updated;
-  GtkWidget *cfg_show_non_updated;
-  GtkWidget *hseparator44;
-  GtkWidget *label46;
-  GtkWidget *table5;
-  GtkWidget *cfg_show_sync_dirs;
-  GtkWidget *cfg_sync_remove;
-  GtkWidget *cfg_sync_remove_confirm;
-  GtkWidget *label28;
-  GtkWidget *frame30;
-  GtkWidget *vbox55;
-  GtkWidget *readtags;
-  GtkWidget *parsetags;
-  GtkWidget *table23;
-  GtkWidget *parsetags_template;
-  GtkWidget *parsetags_overwrite;
-  GtkWidget *label152;
-  GtkWidget *hbox10;
-  GtkWidget *vbox17;
-  GtkWidget *tag_autoset1;
-  GtkWidget *tag_autoset3;
-  GtkWidget *vbox18;
-  GtkWidget *tag_autoset2;
-  GtkWidget *tag_autoset4;
-  GtkWidget *vbox19;
-  GtkWidget *tag_autoset0;
-  GtkWidget *label151;
-  GtkWidget *frame32;
-  GtkWidget *vbox62;
-  GtkWidget *cfg_mserv_use;
-  GtkWidget *table31;
-  GtkWidget *label171;
-  GtkWidget *mserv_music_root_entry;
-  GtkWidget *mserv_music_root_button;
-  GtkWidget *label172;
-  GtkWidget *mserv_trackinfo_root_entry;
-  GtkWidget *mserv_trackinfo_root_button;
-  GtkWidget *label173;
-  GtkWidget *mserv_username_entry;
-  GtkWidget *table30;
-  GtkWidget *cfg_mserv_report_probs;
-  GtkWidget *label170;
-  GtkWidget *frame9;
-  GtkWidget *vbox21;
-  GtkWidget *cfg_write_extended;
-  GtkWidget *label31;
-  GtkWidget *label23;
-  GtkWidget *scrolledwindow6;
-  GtkWidget *viewport3;
-  GtkWidget *vbox23;
-  GtkWidget *frame14;
-  GtkWidget *vbox36;
-  GtkWidget *hbox12;
-  GtkWidget *vbox27;
-  GtkWidget *col_visible1;
-  GtkWidget *col_visible4;
-  GtkWidget *col_visible9;
-  GtkWidget *col_visible19;
-  GtkWidget *col_visible12;
-  GtkWidget *col_visible11;
-  GtkWidget *col_visible18;
-  GtkWidget *vbox28;
-  GtkWidget *col_visible2;
-  GtkWidget *col_visible24;
-  GtkWidget *col_visible10;
-  GtkWidget *col_visible15;
-  GtkWidget *col_visible13;
-  GtkWidget *col_visible22;
-  GtkWidget *col_visible5;
-  GtkWidget *vbox29;
-  GtkWidget *col_visible0;
-  GtkWidget *col_visible25;
-  GtkWidget *col_visible16;
-  GtkWidget *col_visible14;
-  GtkWidget *col_visible7;
-  GtkWidget *col_visible6;
-  GtkWidget *col_visible26;
-  GtkWidget *vbox35;
-  GtkWidget *col_visible3;
-  GtkWidget *col_visible17;
-  GtkWidget *col_visible21;
-  GtkWidget *col_visible8;
-  GtkWidget *col_visible20;
-  GtkWidget *col_visible23;
-  GtkWidget *label37;
-  GtkWidget *frame12;
-  GtkWidget *vbox25;
-  GtkWidget *hbox11;
-  GtkWidget *label35;
-  GtkObject *cfg_sort_tab_num_sb_adj;
-  GtkWidget *cfg_sort_tab_num_sb;
-  GtkWidget *label34;
-  GtkWidget *frame13;
-  GtkWidget *autoselect_vbox;
-  GtkWidget *cfg_mpl_autoselect;
-  GtkWidget *label40;
-  GtkWidget *autoselect_hbox;
-  GtkWidget *label36;
-  GtkWidget *frame16;
-  GtkWidget *vbox31;
-  GtkWidget *cfg_display_toolbar;
-  GtkWidget *table4;
-  GtkWidget *cfg_toolbar_style_both;
-  GSList *cfg_toolbar_style_both_group = NULL;
-  GtkWidget *cfg_toolbar_style_text;
-  GtkWidget *cfg_toolbar_style_icons;
-  GtkWidget *label39;
-  GtkWidget *frame19;
-  GtkWidget *vbox38;
-  GtkWidget *cfg_display_tooltips_main;
-  GtkWidget *cfg_display_tooltips_prefs;
-  GtkWidget *label55;
-  GtkWidget *frame15;
-  GtkWidget *vbox30;
-  GtkWidget *button4;
-  GtkWidget *alignment2;
-  GtkWidget *hbox38;
-  GtkWidget *image1935;
-  GtkWidget *label93;
-  GtkWidget *cfg_tmp_disable_sort;
-  GtkWidget *cfg_block_display;
-  GtkWidget *cfg_startup_messages;
-  GtkWidget *label38;
-  GtkWidget *label25;
-  GtkWidget *scrolledwindow7;
-  GtkWidget *viewport4;
-  GtkWidget *vbox32;
-  GtkWidget *frame10;
-  GtkWidget *vbox22;
-  GtkWidget *cfg_id3_write;
-  GtkWidget *table3;
-  GtkWidget *cfg_write_charset;
-  GtkWidget *cfg_id3_write_id3v24;
-  GtkWidget *cfg_multi_edit;
-  GtkWidget *table7;
-  GtkWidget *cfg_multi_edit_title;
-  GtkWidget *label32;
-  GtkWidget *frame21;
-  GtkWidget *vbox48;
-  GtkWidget *table8;
-  GtkObject *cfg_misc_track_nr_adj;
-  GtkWidget *cfg_misc_track_nr;
-  GtkWidget *label68;
-  GtkWidget *cfg_not_played_track;
-  GtkWidget *label67;
-  GtkWidget *frame11;
-  GtkWidget *vbox24;
-  GtkWidget *cfg_delete_track_from_playlist;
-  GtkWidget *cfg_delete_track_from_ipod;
-  GtkWidget *cfg_sync_remove_confirm2;
-  GtkWidget *label33;
-  GtkWidget *label;
-  GtkWidget *scrolledwindow8;
-  GtkWidget *viewport5;
-  GtkWidget *vbox20;
-  GtkWidget *frame18;
-  GtkWidget *vbox34;
-  GtkWidget *label44;
-  GtkWidget *hbox52;
-  GtkWidget *play_now_path_entry;
-  GtkWidget *play_now_path_button;
-  GtkWidget *label45;
-  GtkWidget *hbox53;
-  GtkWidget *play_enqueue_path_entry;
-  GtkWidget *play_enqueue_path_button;
-  GtkWidget *label43;
-  GtkWidget *frame22;
-  GtkWidget *vbox49;
-  GtkWidget *label148;
-  GtkWidget *hbox54;
-  GtkWidget *mp3gain_path_entry;
-  GtkWidget *mp3gain_path_button;
-  GtkWidget *label69;
-  GtkWidget *frame31;
-  GtkWidget *vbox59;
-  GtkWidget *concal_label;
-  GtkWidget *label156;
-  GtkWidget *hbox55;
-  GtkWidget *sync_contacts_path_entry;
-  GtkWidget *sync_contacts_path_button;
-  GtkWidget *label158;
-  GtkWidget *hbox56;
-  GtkWidget *sync_calendar_path_entry;
-  GtkWidget *sync_calendar_path_button;
-  GtkWidget *label175;
-  GtkWidget *hbox66;
-  GtkWidget *sync_notes_path_entry;
-  GtkWidget *sync_notes_path_button;
-  GtkWidget *concal_autosync;
-  GtkWidget *label157;
-  GtkWidget *label24;
-  GtkWidget *hbuttonbox5;
-  GtkWidget *prefs_cancel;
-  GtkWidget *prefs_apply;
-  GtkWidget *prefs_ok;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  prefs_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_widget_set_size_request (prefs_window, -1, 480);
-  gtk_window_set_title (GTK_WINDOW (prefs_window), _("Preferences"));
-  prefs_window_icon_pixbuf = create_pixbuf ("gtkpod-icon-48.png");
-  if (prefs_window_icon_pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (prefs_window), prefs_window_icon_pixbuf);
-      gdk_pixbuf_unref (prefs_window_icon_pixbuf);
-    }
-
-  vbox13 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox13);
-  gtk_container_add (GTK_CONTAINER (prefs_window), vbox13);
-
-  notebook = gtk_notebook_new ();
-  gtk_widget_show (notebook);
-  gtk_box_pack_start (GTK_BOX (vbox13), notebook, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (notebook), 2);
-
-  scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow5);
-  gtk_container_add (GTK_CONTAINER (notebook), scrolledwindow5);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
-  viewport2 = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (viewport2);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow5), viewport2);
-
-  vbox14 = gtk_vbox_new (FALSE, 4);
-  gtk_widget_show (vbox14);
-  gtk_container_add (GTK_CONTAINER (viewport2), vbox14);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox14), 5);
-
-  frame6 = gtk_frame_new (NULL);
-  gtk_widget_show (frame6);
-  gtk_box_pack_start (GTK_BOX (vbox14), frame6, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame6), GTK_SHADOW_ETCHED_OUT);
-
-  vbox15 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox15);
-  gtk_container_add (GTK_CONTAINER (frame6), vbox15);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox15), 5);
-
-  hbox8 = gtk_hbox_new (FALSE, 4);
-  gtk_widget_show (hbox8);
-  gtk_box_pack_start (GTK_BOX (vbox15), hbox8, FALSE, FALSE, 0);
-
-  label27 = gtk_label_new_with_mnemonic (_(" iPod Mount _Point:"));
-  gtk_widget_show (label27);
-  gtk_box_pack_start (GTK_BOX (hbox8), label27, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label27, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label27), TRUE);
-
-  cfg_mount_point = gtk_entry_new ();
-  gtk_widget_show (cfg_mount_point);
-  gtk_box_pack_start (GTK_BOX (hbox8), cfg_mount_point, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_mount_point, _("Where you mounted your iPod's filesystem. Usually '/mnt/ipod/' or similar."), NULL);
-
-  cfg_automount_ipod = gtk_check_button_new_with_mnemonic (_("Handle mounting/unmounting of iPod drive"));
-  gtk_widget_show (cfg_automount_ipod);
-  gtk_box_pack_start (GTK_BOX (vbox15), cfg_automount_ipod, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_automount_ipod, _("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."), NULL);
-
-  cfg_autoimport = gtk_check_button_new_with_mnemonic (_("Automatically import iTunesDB on startup"));
-  gtk_widget_show (cfg_autoimport);
-  gtk_box_pack_start (GTK_BOX (vbox15), cfg_autoimport, FALSE, FALSE, 0);
-
-  label26 = gtk_label_new (_("Import"));
-  gtk_widget_show (label26);
-  gtk_frame_set_label_widget (GTK_FRAME (frame6), label26);
-  GTK_WIDGET_SET_FLAGS (label26, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label26), TRUE);
-
-  frame7 = gtk_frame_new (NULL);
-  gtk_widget_show (frame7);
-  gtk_box_pack_start (GTK_BOX (vbox14), frame7, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame7), GTK_SHADOW_ETCHED_OUT);
-
-  vbox16 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox16);
-  gtk_container_add (GTK_CONTAINER (frame7), vbox16);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox16), 5);
-
-  hbox9 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox9);
-  gtk_box_pack_start (GTK_BOX (vbox16), hbox9, FALSE, FALSE, 0);
-
-  label29 = gtk_label_new_with_mnemonic (_(" _Charset (ID3, files): "));
-  gtk_widget_show (label29);
-  gtk_box_pack_start (GTK_BOX (hbox9), label29, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label29, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label29), TRUE);
-
-  charset_combo = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (charset_combo)->popwin),
-                     "GladeParentKey", charset_combo);
-  gtk_widget_show (charset_combo);
-  gtk_box_pack_start (GTK_BOX (hbox9), charset_combo, TRUE, TRUE, 0);
-
-  charset_combo_entry = GTK_COMBO (charset_combo)->entry;
-  gtk_widget_show (charset_combo_entry);
-  gtk_tooltips_set_tip (tooltips, charset_combo_entry, _("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."), NULL);
-  gtk_editable_set_editable (GTK_EDITABLE (charset_combo_entry), FALSE);
-
-  cfg_update_charset = gtk_check_button_new_with_mnemonic (_("Use selected charset also when updating\n or syncing tracks"));
-  gtk_widget_show (cfg_update_charset);
-  gtk_box_pack_start (GTK_BOX (vbox16), cfg_update_charset, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_update_charset, _("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."), NULL);
-
-  cfg_add_recursively = gtk_check_button_new_with_mnemonic (_("Add directories recursively"));
-  gtk_widget_show (cfg_add_recursively);
-  gtk_box_pack_start (GTK_BOX (vbox16), cfg_add_recursively, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_add_recursively, _("If you check this, gtkpod will descend into subdirectories recursively."), NULL);
-
-  cfg_md5tracks = gtk_check_button_new_with_mnemonic (_("Don't allow file duplication"));
-  gtk_widget_show (cfg_md5tracks);
-  gtk_box_pack_start (GTK_BOX (vbox16), cfg_md5tracks, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_md5tracks, _("Duplicate Recognition is based on a md5 hash over the file."), NULL);
-
-  table2 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table2);
-  gtk_box_pack_start (GTK_BOX (vbox16), table2, FALSE, FALSE, 0);
-
-  cfg_show_duplicates = gtk_check_button_new_with_mnemonic (_("Display info about detected duplicates"));
-  gtk_widget_show (cfg_show_duplicates);
-  gtk_table_attach (GTK_TABLE (table2), cfg_show_duplicates, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_show_duplicates, _("Display the list of duplicates that have been detected after adding files."), NULL);
-
-  hseparator43 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator43);
-  gtk_box_pack_start (GTK_BOX (vbox16), hseparator43, FALSE, FALSE, 0);
-
-  cfg_update_existing = gtk_check_button_new_with_mnemonic (_("When adding dirs/files, update information of\n existing tracks with identical filenames"));
-  gtk_widget_show (cfg_update_existing);
-  gtk_box_pack_start (GTK_BOX (vbox16), cfg_update_existing, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_update_existing, _("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."), NULL);
-
-  table1 = gtk_table_new (2, 1, FALSE);
-  gtk_widget_show (table1);
-  gtk_box_pack_start (GTK_BOX (vbox16), table1, TRUE, TRUE, 0);
-
-  cfg_show_updated = gtk_check_button_new_with_mnemonic (_("Display info about updated tracks"));
-  gtk_widget_show (cfg_show_updated);
-  gtk_table_attach (GTK_TABLE (table1), cfg_show_updated, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_show_updated, _("Display a list of tracks that could actually be updated."), NULL);
-
-  cfg_show_non_updated = gtk_check_button_new_with_mnemonic (_("Display info about non-updated tracks"));
-  gtk_widget_show (cfg_show_non_updated);
-  gtk_table_attach (GTK_TABLE (table1), cfg_show_non_updated, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_show_non_updated, _("Display a list of tracks that could not be updated."), NULL);
-
-  hseparator44 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator44);
-  gtk_box_pack_start (GTK_BOX (vbox16), hseparator44, FALSE, FALSE, 0);
-
-  label46 = gtk_label_new (_("When syncing directories"));
-  gtk_widget_show (label46);
-  gtk_box_pack_start (GTK_BOX (vbox16), label46, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label46, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label46), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label46), 0, 0.5);
-
-  table5 = gtk_table_new (3, 1, FALSE);
-  gtk_widget_show (table5);
-  gtk_box_pack_start (GTK_BOX (vbox16), table5, TRUE, TRUE, 0);
-
-  cfg_show_sync_dirs = gtk_check_button_new_with_mnemonic (_("Confirm list of directories"));
-  gtk_widget_show (cfg_show_sync_dirs);
-  gtk_table_attach (GTK_TABLE (table5), cfg_show_sync_dirs, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-
-  cfg_sync_remove = gtk_check_button_new_with_mnemonic (_("Delete tracks that have been removed"));
-  gtk_widget_show (cfg_sync_remove);
-  gtk_table_attach (GTK_TABLE (table5), cfg_sync_remove, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_sync_remove, _("If you check this option, tracks that have been removed from the synced directories will be removed from the iPod as well."), NULL);
-
-  cfg_sync_remove_confirm = gtk_check_button_new_with_mnemonic (_("Confirm before removing tracks"));
-  gtk_widget_show (cfg_sync_remove_confirm);
-  gtk_table_attach (GTK_TABLE (table5), cfg_sync_remove_confirm, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_sync_remove_confirm, _("This is the same option as in 'Edit/Delete Confirmation'"), NULL);
-
-  label28 = gtk_label_new (_("Adding/Updating/Syncing"));
-  gtk_widget_show (label28);
-  gtk_frame_set_label_widget (GTK_FRAME (frame7), label28);
-  GTK_WIDGET_SET_FLAGS (label28, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label28), TRUE);
-
-  frame30 = gtk_frame_new (NULL);
-  gtk_widget_show (frame30);
-  gtk_box_pack_start (GTK_BOX (vbox14), frame30, TRUE, TRUE, 0);
-
-  vbox55 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox55);
-  gtk_container_add (GTK_CONTAINER (frame30), vbox55);
-
-  readtags = gtk_check_button_new_with_mnemonic (_("Read tags from file contents (e.g. ID3 tags in MP3 files)"));
-  gtk_widget_show (readtags);
-  gtk_box_pack_start (GTK_BOX (vbox55), readtags, FALSE, FALSE, 0);
-
-  parsetags = gtk_check_button_new_with_mnemonic (_("Use this template to parse filename for tag information"));
-  gtk_widget_show (parsetags);
-  gtk_box_pack_start (GTK_BOX (vbox55), parsetags, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, parsetags, _("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'."), NULL);
-
-  table23 = gtk_table_new (2, 1, FALSE);
-  gtk_widget_show (table23);
-  gtk_box_pack_start (GTK_BOX (vbox55), table23, TRUE, TRUE, 0);
-
-  parsetags_template = gtk_entry_new ();
-  gtk_widget_show (parsetags_template);
-  gtk_table_attach (GTK_TABLE (table23), parsetags_template, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-
-  parsetags_overwrite = gtk_check_button_new_with_mnemonic (_("Overwrite tags that are already set."));
-  gtk_widget_show (parsetags_overwrite);
-  gtk_table_attach (GTK_TABLE (table23), parsetags_overwrite, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-
-  label152 = gtk_label_new (_("As a last resort set the following tags to the filename if they are (still) empty:"));
-  gtk_widget_show (label152);
-  gtk_box_pack_start (GTK_BOX (vbox55), label152, FALSE, FALSE, 4);
-  gtk_label_set_line_wrap (GTK_LABEL (label152), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label152), 0, 0.5);
-
-  hbox10 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox10);
-  gtk_box_pack_start (GTK_BOX (vbox55), hbox10, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox10), 5);
-
-  vbox17 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox17);
-  gtk_box_pack_start (GTK_BOX (hbox10), vbox17, TRUE, TRUE, 0);
-
-  tag_autoset1 = gtk_check_button_new_with_mnemonic (_("Artist"));
-  gtk_widget_show (tag_autoset1);
-  gtk_box_pack_start (GTK_BOX (vbox17), tag_autoset1, FALSE, FALSE, 0);
-
-  tag_autoset3 = gtk_check_button_new_with_mnemonic (_("Genre"));
-  gtk_widget_show (tag_autoset3);
-  gtk_box_pack_start (GTK_BOX (vbox17), tag_autoset3, FALSE, FALSE, 0);
-
-  vbox18 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox18);
-  gtk_box_pack_start (GTK_BOX (hbox10), vbox18, TRUE, TRUE, 0);
-
-  tag_autoset2 = gtk_check_button_new_with_mnemonic (_("Album"));
-  gtk_widget_show (tag_autoset2);
-  gtk_box_pack_start (GTK_BOX (vbox18), tag_autoset2, FALSE, FALSE, 0);
-
-  tag_autoset4 = gtk_check_button_new_with_mnemonic (_("Composer"));
-  gtk_widget_show (tag_autoset4);
-  gtk_box_pack_start (GTK_BOX (vbox18), tag_autoset4, FALSE, FALSE, 0);
-
-  vbox19 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox19);
-  gtk_box_pack_start (GTK_BOX (hbox10), vbox19, TRUE, TRUE, 0);
-
-  tag_autoset0 = gtk_check_button_new_with_mnemonic (_("Title"));
-  gtk_widget_show (tag_autoset0);
-  gtk_box_pack_start (GTK_BOX (vbox19), tag_autoset0, FALSE, FALSE, 0);
-
-  label151 = gtk_label_new (_("Tag Reading"));
-  gtk_widget_show (label151);
-  gtk_frame_set_label_widget (GTK_FRAME (frame30), label151);
-
-  frame32 = gtk_frame_new (NULL);
-  gtk_widget_show (frame32);
-  gtk_box_pack_start (GTK_BOX (vbox14), frame32, TRUE, TRUE, 0);
-
-  vbox62 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox62);
-  gtk_container_add (GTK_CONTAINER (frame32), vbox62);
-
-  cfg_mserv_use = gtk_check_button_new_with_mnemonic (_("Use mserv database to fill in additional information"));
-  gtk_widget_show (cfg_mserv_use);
-  gtk_box_pack_start (GTK_BOX (vbox62), cfg_mserv_use, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_mserv_use, _("Currently only rating is supported."), NULL);
-
-  table31 = gtk_table_new (3, 3, FALSE);
-  gtk_widget_show (table31);
-  gtk_box_pack_start (GTK_BOX (vbox62), table31, FALSE, FALSE, 0);
-
-  label171 = gtk_label_new (_("Music Root: "));
-  gtk_widget_show (label171);
-  gtk_table_attach (GTK_TABLE (table31), label171, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label171), 0, 0.5);
-
-  mserv_music_root_entry = gtk_entry_new ();
-  gtk_widget_show (mserv_music_root_entry);
-  gtk_table_attach (GTK_TABLE (table31), mserv_music_root_entry, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, mserv_music_root_entry, _("mserv database lookup will be done for music in this directory."), NULL);
-
-  mserv_music_root_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (mserv_music_root_button);
-  gtk_table_attach (GTK_TABLE (table31), mserv_music_root_button, 2, 3, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label172 = gtk_label_new (_("mserv Root: "));
-  gtk_widget_show (label172);
-  gtk_table_attach (GTK_TABLE (table31), label172, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label172), 0, 0.5);
-
-  mserv_trackinfo_root_entry = gtk_entry_new ();
-  gtk_widget_show (mserv_trackinfo_root_entry);
-  gtk_table_attach (GTK_TABLE (table31), mserv_trackinfo_root_entry, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, mserv_trackinfo_root_entry, _("Root directory of mserv database (trackinfo root)."), NULL);
-
-  mserv_trackinfo_root_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (mserv_trackinfo_root_button);
-  gtk_table_attach (GTK_TABLE (table31), mserv_trackinfo_root_button, 2, 3, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label173 = gtk_label_new (_("Username: "));
-  gtk_widget_show (label173);
-  gtk_table_attach (GTK_TABLE (table31), label173, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label173), 0, 0.5);
-
-  mserv_username_entry = gtk_entry_new ();
-  gtk_widget_show (mserv_username_entry);
-  gtk_table_attach (GTK_TABLE (table31), mserv_username_entry, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, mserv_username_entry, _("Username to be used for mserv database lookup."), NULL);
-
-  table30 = gtk_table_new (2, 1, FALSE);
-  gtk_widget_show (table30);
-  gtk_box_pack_start (GTK_BOX (vbox62), table30, TRUE, TRUE, 0);
-
-  cfg_mserv_report_probs = gtk_check_button_new_with_mnemonic (_("Show information about problems when accessing mserv"));
-  gtk_widget_show (cfg_mserv_report_probs);
-  gtk_table_attach (GTK_TABLE (table30), cfg_mserv_report_probs, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_mserv_report_probs, _("Currently only rating is supported."), NULL);
-
-  label170 = gtk_label_new (_("mserv"));
-  gtk_widget_show (label170);
-  gtk_frame_set_label_widget (GTK_FRAME (frame32), label170);
-
-  frame9 = gtk_frame_new (NULL);
-  gtk_widget_show (frame9);
-  gtk_box_pack_start (GTK_BOX (vbox14), frame9, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame9), GTK_SHADOW_ETCHED_OUT);
-
-  vbox21 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox21);
-  gtk_container_add (GTK_CONTAINER (frame9), vbox21);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox21), 5);
-
-  cfg_write_extended = gtk_check_button_new_with_mnemonic (_("Write extended information (PC filenames,\n MD5 hashes, charset). Recommended."));
-  gtk_widget_show (cfg_write_extended);
-  gtk_box_pack_start (GTK_BOX (vbox21), cfg_write_extended, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_write_extended, _("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)."), NULL);
-
-  label31 = gtk_label_new (_("Sync (Writing of iTunesDB)"));
-  gtk_widget_show (label31);
-  gtk_frame_set_label_widget (GTK_FRAME (frame9), label31);
-  GTK_WIDGET_SET_FLAGS (label31, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label31), TRUE);
-
-  label23 = gtk_label_new_with_mnemonic (_("_Input/Output"));
-  gtk_widget_show (label23);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), label23);
-
-  scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow6);
-  gtk_container_add (GTK_CONTAINER (notebook), scrolledwindow6);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
-  viewport3 = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (viewport3);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow6), viewport3);
-
-  vbox23 = gtk_vbox_new (FALSE, 4);
-  gtk_widget_show (vbox23);
-  gtk_container_add (GTK_CONTAINER (viewport3), vbox23);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox23), 5);
-
-  frame14 = gtk_frame_new (NULL);
-  gtk_widget_show (frame14);
-  gtk_box_pack_start (GTK_BOX (vbox23), frame14, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame14), GTK_SHADOW_ETCHED_OUT);
-
-  vbox36 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox36);
-  gtk_container_add (GTK_CONTAINER (frame14), vbox36);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox36), 5);
-
-  hbox12 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox12);
-  gtk_box_pack_start (GTK_BOX (vbox36), hbox12, TRUE, TRUE, 0);
-
-  vbox27 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox27);
-  gtk_box_pack_start (GTK_BOX (hbox12), vbox27, TRUE, TRUE, 0);
-
-  col_visible1 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible1);
-  gtk_box_pack_start (GTK_BOX (vbox27), col_visible1, FALSE, FALSE, 0);
-
-  col_visible4 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible4);
-  gtk_box_pack_start (GTK_BOX (vbox27), col_visible4, FALSE, FALSE, 0);
-
-  col_visible9 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible9);
-  gtk_box_pack_start (GTK_BOX (vbox27), col_visible9, FALSE, FALSE, 0);
-
-  col_visible19 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible19);
-  gtk_box_pack_start (GTK_BOX (vbox27), col_visible19, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, col_visible19, _("Relative volume adjustment between -100 and +100"), NULL);
-
-  col_visible12 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible12);
-  gtk_box_pack_start (GTK_BOX (vbox27), col_visible12, FALSE, FALSE, 0);
-
-  col_visible11 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible11);
-  gtk_box_pack_start (GTK_BOX (vbox27), col_visible11, FALSE, FALSE, 0);
-
-  col_visible18 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible18);
-  gtk_box_pack_start (GTK_BOX (vbox27), col_visible18, FALSE, FALSE, 0);
-
-  vbox28 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox28);
-  gtk_box_pack_start (GTK_BOX (hbox12), vbox28, TRUE, TRUE, 0);
-
-  col_visible2 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible2);
-  gtk_box_pack_start (GTK_BOX (vbox28), col_visible2, FALSE, FALSE, 0);
-
-  col_visible24 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible24);
-  gtk_box_pack_start (GTK_BOX (vbox28), col_visible24, FALSE, FALSE, 0);
-
-  col_visible10 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible10);
-  gtk_box_pack_start (GTK_BOX (vbox28), col_visible10, FALSE, FALSE, 0);
-
-  col_visible15 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible15);
-  gtk_box_pack_start (GTK_BOX (vbox28), col_visible15, FALSE, FALSE, 0);
-
-  col_visible13 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible13);
-  gtk_box_pack_start (GTK_BOX (vbox28), col_visible13, FALSE, FALSE, 0);
-
-  col_visible22 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible22);
-  gtk_box_pack_start (GTK_BOX (vbox28), col_visible22, FALSE, FALSE, 0);
-
-  col_visible5 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible5);
-  gtk_box_pack_start (GTK_BOX (vbox28), col_visible5, FALSE, FALSE, 0);
-
-  vbox29 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox29);
-  gtk_box_pack_start (GTK_BOX (hbox12), vbox29, TRUE, TRUE, 0);
-
-  col_visible0 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible0);
-  gtk_box_pack_start (GTK_BOX (vbox29), col_visible0, FALSE, FALSE, 0);
-
-  col_visible25 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible25);
-  gtk_box_pack_start (GTK_BOX (vbox29), col_visible25, FALSE, FALSE, 0);
-
-  col_visible16 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible16);
-  gtk_box_pack_start (GTK_BOX (vbox29), col_visible16, FALSE, FALSE, 0);
-
-  col_visible14 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible14);
-  gtk_box_pack_start (GTK_BOX (vbox29), col_visible14, FALSE, FALSE, 0);
-
-  col_visible7 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible7);
-  gtk_box_pack_start (GTK_BOX (vbox29), col_visible7, FALSE, FALSE, 0);
-
-  col_visible6 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible6);
-  gtk_box_pack_start (GTK_BOX (vbox29), col_visible6, FALSE, FALSE, 0);
-
-  col_visible26 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible26);
-  gtk_box_pack_start (GTK_BOX (vbox29), col_visible26, FALSE, FALSE, 0);
-
-  vbox35 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox35);
-  gtk_box_pack_start (GTK_BOX (hbox12), vbox35, TRUE, TRUE, 0);
-
-  col_visible3 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible3);
-  gtk_box_pack_start (GTK_BOX (vbox35), col_visible3, FALSE, FALSE, 0);
-
-  col_visible17 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible17);
-  gtk_box_pack_start (GTK_BOX (vbox35), col_visible17, FALSE, FALSE, 0);
-
-  col_visible21 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible21);
-  gtk_box_pack_start (GTK_BOX (vbox35), col_visible21, FALSE, FALSE, 0);
-
-  col_visible8 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible8);
-  gtk_box_pack_start (GTK_BOX (vbox35), col_visible8, FALSE, FALSE, 0);
-
-  col_visible20 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible20);
-  gtk_box_pack_start (GTK_BOX (vbox35), col_visible20, FALSE, FALSE, 0);
-
-  col_visible23 = gtk_check_button_new_with_mnemonic ("");
-  gtk_widget_show (col_visible23);
-  gtk_box_pack_start (GTK_BOX (vbox35), col_visible23, FALSE, FALSE, 0);
-
-  label37 = gtk_label_new (_("Displayed Track Attributes "));
-  gtk_widget_show (label37);
-  gtk_frame_set_label_widget (GTK_FRAME (frame14), label37);
-  GTK_WIDGET_SET_FLAGS (label37, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label37), TRUE);
-
-  frame12 = gtk_frame_new (NULL);
-  gtk_widget_show (frame12);
-  gtk_box_pack_start (GTK_BOX (vbox23), frame12, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame12), GTK_SHADOW_ETCHED_OUT);
-
-  vbox25 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox25);
-  gtk_container_add (GTK_CONTAINER (frame12), vbox25);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox25), 5);
-
-  hbox11 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox11);
-  gtk_box_pack_start (GTK_BOX (vbox25), hbox11, FALSE, FALSE, 0);
-
-  label35 = gtk_label_new_with_mnemonic (_(" _Number of sort tabs: "));
-  gtk_widget_show (label35);
-  gtk_box_pack_start (GTK_BOX (hbox11), label35, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label35, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label35), TRUE);
-
-  cfg_sort_tab_num_sb_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
-  cfg_sort_tab_num_sb = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_sort_tab_num_sb_adj), 1, 0);
-  gtk_widget_show (cfg_sort_tab_num_sb);
-  gtk_box_pack_end (GTK_BOX (hbox11), cfg_sort_tab_num_sb, FALSE, TRUE, 0);
-  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (cfg_sort_tab_num_sb), TRUE);
-
-  label34 = gtk_label_new (_("Sort Tabs"));
-  gtk_widget_show (label34);
-  gtk_frame_set_label_widget (GTK_FRAME (frame12), label34);
-  GTK_WIDGET_SET_FLAGS (label34, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label34), TRUE);
-
-  frame13 = gtk_frame_new (NULL);
-  gtk_widget_show (frame13);
-  gtk_box_pack_start (GTK_BOX (vbox23), frame13, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame13), GTK_SHADOW_ETCHED_OUT);
-
-  autoselect_vbox = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (autoselect_vbox);
-  gtk_container_add (GTK_CONTAINER (frame13), autoselect_vbox);
-  gtk_container_set_border_width (GTK_CONTAINER (autoselect_vbox), 5);
-
-  cfg_mpl_autoselect = gtk_check_button_new_with_mnemonic (_("...master playlist"));
-  gtk_widget_show (cfg_mpl_autoselect);
-  gtk_box_pack_start (GTK_BOX (autoselect_vbox), cfg_mpl_autoselect, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_mpl_autoselect, _("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."), NULL);
-
-  label40 = gtk_label_new (_("...entry 'All' in sort tab..."));
-  gtk_widget_show (label40);
-  gtk_box_pack_start (GTK_BOX (autoselect_vbox), label40, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label40, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label40), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5);
-  gtk_misc_set_padding (GTK_MISC (label40), 20, 0);
-
-  autoselect_hbox = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (autoselect_hbox);
-  gtk_box_pack_start (GTK_BOX (autoselect_vbox), autoselect_hbox, TRUE, TRUE, 0);
-
-  label36 = gtk_label_new (_("Automatically select..."));
-  gtk_widget_show (label36);
-  gtk_frame_set_label_widget (GTK_FRAME (frame13), label36);
-  GTK_WIDGET_SET_FLAGS (label36, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label36), TRUE);
-
-  frame16 = gtk_frame_new (NULL);
-  gtk_widget_show (frame16);
-  gtk_box_pack_start (GTK_BOX (vbox23), frame16, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame16), GTK_SHADOW_ETCHED_OUT);
-
-  vbox31 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox31);
-  gtk_container_add (GTK_CONTAINER (frame16), vbox31);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox31), 5);
-
-  cfg_display_toolbar = gtk_check_button_new_with_mnemonic (_("Display toolbar..."));
-  gtk_widget_show (cfg_display_toolbar);
-  gtk_box_pack_start (GTK_BOX (vbox31), cfg_display_toolbar, FALSE, FALSE, 0);
-
-  table4 = gtk_table_new (3, 1, FALSE);
-  gtk_widget_show (table4);
-  gtk_box_pack_start (GTK_BOX (vbox31), table4, FALSE, FALSE, 0);
-
-  cfg_toolbar_style_both = gtk_radio_button_new_with_mnemonic (NULL, _("...both as icons and text"));
-  gtk_widget_show (cfg_toolbar_style_both);
-  gtk_table_attach (GTK_TABLE (table4), cfg_toolbar_style_both, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_toolbar_style_both), cfg_toolbar_style_both_group);
-  cfg_toolbar_style_both_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_toolbar_style_both));
-
-  cfg_toolbar_style_text = gtk_radio_button_new_with_mnemonic (NULL, _("...as text"));
-  gtk_widget_show (cfg_toolbar_style_text);
-  gtk_table_attach (GTK_TABLE (table4), cfg_toolbar_style_text, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_toolbar_style_text), cfg_toolbar_style_both_group);
-  cfg_toolbar_style_both_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_toolbar_style_text));
-
-  cfg_toolbar_style_icons = gtk_radio_button_new_with_mnemonic (NULL, _("...as icons"));
-  gtk_widget_show (cfg_toolbar_style_icons);
-  gtk_table_attach (GTK_TABLE (table4), cfg_toolbar_style_icons, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_toolbar_style_icons), cfg_toolbar_style_both_group);
-  cfg_toolbar_style_both_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_toolbar_style_icons));
-
-  label39 = gtk_label_new (_("Toolbar"));
-  gtk_widget_show (label39);
-  gtk_frame_set_label_widget (GTK_FRAME (frame16), label39);
-  GTK_WIDGET_SET_FLAGS (label39, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label39), TRUE);
-
-  frame19 = gtk_frame_new (NULL);
-  gtk_widget_show (frame19);
-  gtk_box_pack_start (GTK_BOX (vbox23), frame19, FALSE, TRUE, 0);
-
-  vbox38 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox38);
-  gtk_container_add (GTK_CONTAINER (frame19), vbox38);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox38), 5);
-
-  cfg_display_tooltips_main = gtk_check_button_new_with_mnemonic (_("Display tooltips in main window"));
-  gtk_widget_show (cfg_display_tooltips_main);
-  gtk_box_pack_start (GTK_BOX (vbox38), cfg_display_tooltips_main, FALSE, FALSE, 0);
-
-  cfg_display_tooltips_prefs = gtk_check_button_new_with_mnemonic (_("Display tooltips in prefs window"));
-  gtk_widget_show (cfg_display_tooltips_prefs);
-  gtk_box_pack_start (GTK_BOX (vbox38), cfg_display_tooltips_prefs, FALSE, FALSE, 0);
-
-  label55 = gtk_label_new (_("Tooltips"));
-  gtk_widget_show (label55);
-  gtk_frame_set_label_widget (GTK_FRAME (frame19), label55);
-  GTK_WIDGET_SET_FLAGS (label55, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label55), TRUE);
-
-  frame15 = gtk_frame_new (NULL);
-  gtk_widget_show (frame15);
-  gtk_box_pack_start (GTK_BOX (vbox23), frame15, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame15), GTK_SHADOW_ETCHED_OUT);
-
-  vbox30 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox30);
-  gtk_container_add (GTK_CONTAINER (frame15), vbox30);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox30), 5);
-
-  button4 = gtk_button_new ();
-  gtk_widget_show (button4);
-  gtk_box_pack_start (GTK_BOX (vbox30), button4, FALSE, FALSE, 0);
-
-  alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment2);
-  gtk_container_add (GTK_CONTAINER (button4), alignment2);
-
-  hbox38 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox38);
-  gtk_container_add (GTK_CONTAINER (alignment2), hbox38);
-
-  image1935 = gtk_image_new_from_stock ("gtk-sort-ascending", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1935);
-  gtk_box_pack_start (GTK_BOX (hbox38), image1935, FALSE, FALSE, 0);
-
-  label93 = gtk_label_new_with_mnemonic (_("Sorting"));
-  gtk_widget_show (label93);
-  gtk_box_pack_start (GTK_BOX (hbox38), label93, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label93, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label93), TRUE);
-
-  cfg_tmp_disable_sort = gtk_check_button_new_with_mnemonic (_("Temporarily disable sorting when changing playlist\nor tab entry (faster!)"));
-  gtk_widget_show (cfg_tmp_disable_sort);
-  gtk_box_pack_start (GTK_BOX (vbox30), cfg_tmp_disable_sort, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_tmp_disable_sort, _("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."), NULL);
-
-  cfg_block_display = gtk_check_button_new_with_mnemonic (_("Block display when changing playlist or tab\n entry (faster!)"));
-  gtk_widget_show (cfg_block_display);
-  gtk_box_pack_start (GTK_BOX (vbox30), cfg_block_display, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_block_display, _("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)."), NULL);
-
-  cfg_startup_messages = gtk_check_button_new_with_mnemonic (_("Display messages and warnings at startup"));
-  gtk_widget_show (cfg_startup_messages);
-  gtk_box_pack_start (GTK_BOX (vbox30), cfg_startup_messages, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_startup_messages, _("This option will be re-activated when you upgrade gtkpod."), NULL);
-
-  label38 = gtk_label_new (_("Misc"));
-  gtk_widget_show (label38);
-  gtk_frame_set_label_widget (GTK_FRAME (frame15), label38);
-  GTK_WIDGET_SET_FLAGS (label38, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label38), TRUE);
-
-  label25 = gtk_label_new_with_mnemonic (_("_Display"));
-  gtk_widget_show (label25);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), label25);
-
-  scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow7);
-  gtk_container_add (GTK_CONTAINER (notebook), scrolledwindow7);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
-  viewport4 = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (viewport4);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow7), viewport4);
-
-  vbox32 = gtk_vbox_new (FALSE, 4);
-  gtk_widget_show (vbox32);
-  gtk_container_add (GTK_CONTAINER (viewport4), vbox32);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox32), 5);
-
-  frame10 = gtk_frame_new (NULL);
-  gtk_widget_show (frame10);
-  gtk_box_pack_start (GTK_BOX (vbox32), frame10, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame10), GTK_SHADOW_ETCHED_OUT);
-
-  vbox22 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox22);
-  gtk_container_add (GTK_CONTAINER (frame10), vbox22);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox22), 5);
-
-  cfg_id3_write = gtk_check_button_new_with_mnemonic (_("Write ID3 tags to disk when modified in gtkpod"));
-  gtk_widget_show (cfg_id3_write);
-  gtk_box_pack_start (GTK_BOX (vbox22), cfg_id3_write, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_id3_write, _("The tags are written to the files on your harddrive and on the ipod (if available)."), NULL);
-
-  table3 = gtk_table_new (3, 1, FALSE);
-  gtk_widget_show (table3);
-  gtk_box_pack_start (GTK_BOX (vbox22), table3, FALSE, FALSE, 0);
-
-  cfg_write_charset = gtk_check_button_new_with_mnemonic (_("Use selected charset (on the 'Import' page)\n when writing tags"));
-  gtk_widget_show (cfg_write_charset);
-  gtk_table_attach (GTK_TABLE (table3), cfg_write_charset, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_write_charset, _("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."), NULL);
-
-  cfg_id3_write_id3v24 = gtk_check_button_new_with_mnemonic (_("Always write ID3v2.4 tags (only applies to MP3)"));
-  gtk_widget_show (cfg_id3_write_id3v24);
-  gtk_table_attach (GTK_TABLE (table3), cfg_id3_write_id3v24, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_id3_write_id3v24, _("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."), NULL);
-
-  cfg_multi_edit = gtk_check_button_new_with_mnemonic (_("Use 'Multi-Edit' for track selections"));
-  gtk_widget_show (cfg_multi_edit);
-  gtk_box_pack_start (GTK_BOX (vbox22), cfg_multi_edit, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_multi_edit, _("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."), NULL);
-
-  table7 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table7);
-  gtk_box_pack_start (GTK_BOX (vbox22), table7, FALSE, FALSE, 0);
-
-  cfg_multi_edit_title = gtk_check_button_new_with_mnemonic (_("Use 'Multi-Edit' also for title field"));
-  gtk_widget_show (cfg_multi_edit_title);
-  gtk_table_attach (GTK_TABLE (table7), cfg_multi_edit_title, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 20, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_multi_edit_title, _("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)."), NULL);
-
-  label32 = gtk_label_new (_("Track Editing"));
-  gtk_widget_show (label32);
-  gtk_frame_set_label_widget (GTK_FRAME (frame10), label32);
-  GTK_WIDGET_SET_FLAGS (label32, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label32), TRUE);
-
-  frame21 = gtk_frame_new (NULL);
-  gtk_widget_show (frame21);
-  gtk_box_pack_start (GTK_BOX (vbox32), frame21, FALSE, TRUE, 0);
-
-  vbox48 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox48);
-  gtk_container_add (GTK_CONTAINER (frame21), vbox48);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox48), 5);
-
-  table8 = gtk_table_new (1, 2, FALSE);
-  gtk_widget_show (table8);
-  gtk_box_pack_start (GTK_BOX (vbox48), table8, TRUE, TRUE, 0);
-
-  cfg_misc_track_nr_adj = gtk_adjustment_new (25, 0, 100, 1, 10, 10);
-  cfg_misc_track_nr = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_misc_track_nr_adj), 1, 0);
-  gtk_widget_show (cfg_misc_track_nr);
-  gtk_table_attach (GTK_TABLE (table8), cfg_misc_track_nr, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_misc_track_nr, _("Number of tracks in the generated playlists 'Most Often Listened', 'Best Rated' and 'Most Recently Played'. Choose '0' for 'no limit'."), NULL);
-
-  label68 = gtk_label_new (_(" Number of tracks in generated playlists: "));
-  gtk_widget_show (label68);
-  gtk_table_attach (GTK_TABLE (table8), label68, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label68, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label68), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label68), 0, 0.5);
-
-  cfg_not_played_track = gtk_check_button_new_with_mnemonic (_("Also include tracks never played in \"Best Rated\" playlist"));
-  gtk_widget_show (cfg_not_played_track);
-  gtk_box_pack_start (GTK_BOX (vbox48), cfg_not_played_track, FALSE, FALSE, 0);
-
-  label67 = gtk_label_new (_("Auto-Generated Playlists"));
-  gtk_widget_show (label67);
-  gtk_frame_set_label_widget (GTK_FRAME (frame21), label67);
-  GTK_WIDGET_SET_FLAGS (label67, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label67), TRUE);
-
-  frame11 = gtk_frame_new (NULL);
-  gtk_widget_show (frame11);
-  gtk_box_pack_start (GTK_BOX (vbox32), frame11, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame11), GTK_SHADOW_ETCHED_OUT);
-
-  vbox24 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox24);
-  gtk_container_add (GTK_CONTAINER (frame11), vbox24);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox24), 5);
-
-  cfg_delete_track_from_playlist = gtk_check_button_new_with_mnemonic (_("Before removing playlists or tracks from a playlist"));
-  gtk_widget_show (cfg_delete_track_from_playlist);
-  gtk_box_pack_start (GTK_BOX (vbox24), cfg_delete_track_from_playlist, FALSE, FALSE, 0);
-
-  cfg_delete_track_from_ipod = gtk_check_button_new_with_mnemonic (_("Before removing tracks completely from the iPod"));
-  gtk_widget_show (cfg_delete_track_from_ipod);
-  gtk_box_pack_start (GTK_BOX (vbox24), cfg_delete_track_from_ipod, FALSE, FALSE, 0);
-
-  cfg_sync_remove_confirm2 = gtk_check_button_new_with_mnemonic (_("Before removing tracks completely when\n synchronizing directories"));
-  gtk_widget_show (cfg_sync_remove_confirm2);
-  gtk_box_pack_start (GTK_BOX (vbox24), cfg_sync_remove_confirm2, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_sync_remove_confirm2, _("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."), NULL);
-
-  label33 = gtk_label_new (_("Delete Confirmation "));
-  gtk_widget_show (label33);
-  gtk_frame_set_label_widget (GTK_FRAME (frame11), label33);
-  GTK_WIDGET_SET_FLAGS (label33, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label33), TRUE);
-
-  label = gtk_label_new_with_mnemonic (_("_Edit"));
-  gtk_widget_show (label);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 2), label);
-
-  scrolledwindow8 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow8);
-  gtk_container_add (GTK_CONTAINER (notebook), scrolledwindow8);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow8), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
-  viewport5 = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (viewport5);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow8), viewport5);
-
-  vbox20 = gtk_vbox_new (FALSE, 4);
-  gtk_widget_show (vbox20);
-  gtk_container_add (GTK_CONTAINER (viewport5), vbox20);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox20), 5);
-
-  frame18 = gtk_frame_new (NULL);
-  gtk_widget_show (frame18);
-  gtk_box_pack_start (GTK_BOX (vbox20), frame18, FALSE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame18), GTK_SHADOW_ETCHED_OUT);
-
-  vbox34 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox34);
-  gtk_container_add (GTK_CONTAINER (frame18), vbox34);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox34), 5);
-
-  label44 = gtk_label_new (_("Command Line for 'Play Now':"));
-  gtk_widget_show (label44);
-  gtk_box_pack_start (GTK_BOX (vbox34), label44, FALSE, FALSE, 2);
-  GTK_WIDGET_SET_FLAGS (label44, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label44), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label44), 0.01, 0.5);
-
-  hbox52 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox52);
-  gtk_box_pack_start (GTK_BOX (vbox34), hbox52, FALSE, FALSE, 2);
-
-  play_now_path_entry = gtk_entry_new ();
-  gtk_widget_show (play_now_path_entry);
-  gtk_box_pack_start (GTK_BOX (hbox52), play_now_path_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, play_now_path_entry, _("For example, 'xmms %s' will clear xmms' current playlist, add the selected tracks and start playing."), NULL);
-
-  play_now_path_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (play_now_path_button);
-  gtk_box_pack_start (GTK_BOX (hbox52), play_now_path_button, FALSE, FALSE, 0);
-
-  label45 = gtk_label_new (_("Command Line for 'Enqueue':"));
-  gtk_widget_show (label45);
-  gtk_box_pack_start (GTK_BOX (vbox34), label45, FALSE, FALSE, 4);
-  GTK_WIDGET_SET_FLAGS (label45, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label45), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label45), 0.01, 0.5);
-
-  hbox53 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox53);
-  gtk_box_pack_start (GTK_BOX (vbox34), hbox53, FALSE, FALSE, 0);
-
-  play_enqueue_path_entry = gtk_entry_new ();
-  gtk_widget_show (play_enqueue_path_entry);
-  gtk_box_pack_start (GTK_BOX (hbox53), play_enqueue_path_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, play_enqueue_path_entry, _("For example, 'xmms -e %s' will append (enqueue) the selected tracks to xmms' current playlist."), NULL);
-
-  play_enqueue_path_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (play_enqueue_path_button);
-  gtk_box_pack_start (GTK_BOX (hbox53), play_enqueue_path_button, FALSE, FALSE, 0);
-
-  label43 = gtk_label_new (_("Track Playing"));
-  gtk_widget_show (label43);
-  gtk_frame_set_label_widget (GTK_FRAME (frame18), label43);
-  GTK_WIDGET_SET_FLAGS (label43, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label43), TRUE);
-
-  frame22 = gtk_frame_new (NULL);
-  gtk_widget_show (frame22);
-  gtk_box_pack_start (GTK_BOX (vbox20), frame22, FALSE, TRUE, 0);
-
-  vbox49 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox49);
-  gtk_container_add (GTK_CONTAINER (frame22), vbox49);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox49), 5);
-
-  label148 = gtk_label_new (_("Exact path for the 'mp3gain' executable:"));
-  gtk_widget_show (label148);
-  gtk_box_pack_start (GTK_BOX (vbox49), label148, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label148, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label148), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label148), 0.01, 0.5);
-
-  hbox54 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox54);
-  gtk_box_pack_start (GTK_BOX (vbox49), hbox54, FALSE, FALSE, 0);
-
-  mp3gain_path_entry = gtk_entry_new ();
-  gtk_widget_show (mp3gain_path_entry);
-  gtk_box_pack_start (GTK_BOX (hbox54), mp3gain_path_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, mp3gain_path_entry, _("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."), NULL);
-
-  mp3gain_path_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (mp3gain_path_button);
-  gtk_box_pack_start (GTK_BOX (hbox54), mp3gain_path_button, FALSE, FALSE, 0);
-
-  label69 = gtk_label_new (_("Volume Normalization"));
-  gtk_widget_show (label69);
-  gtk_frame_set_label_widget (GTK_FRAME (frame22), label69);
-  GTK_WIDGET_SET_FLAGS (label69, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label69), TRUE);
-
-  frame31 = gtk_frame_new (NULL);
-  gtk_widget_show (frame31);
-  gtk_box_pack_start (GTK_BOX (vbox20), frame31, FALSE, TRUE, 0);
-
-  vbox59 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox59);
-  gtk_container_add (GTK_CONTAINER (frame31), vbox59);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox59), 5);
-
-  concal_label = gtk_label_new ("");
-  gtk_widget_show (concal_label);
-  gtk_box_pack_start (GTK_BOX (vbox59), concal_label, TRUE, TRUE, 4);
-  GTK_WIDGET_SET_FLAGS (concal_label, GTK_CAN_FOCUS);
-  gtk_label_set_justify (GTK_LABEL (concal_label), GTK_JUSTIFY_FILL);
-  gtk_label_set_line_wrap (GTK_LABEL (concal_label), TRUE);
-  gtk_label_set_selectable (GTK_LABEL (concal_label), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (concal_label), 0.01, 0.5);
-
-  label156 = gtk_label_new (_("Command to synchronize contacts:"));
-  gtk_widget_show (label156);
-  gtk_box_pack_start (GTK_BOX (vbox59), label156, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label156, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label156), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label156), 0.01, 0.5);
-
-  hbox55 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox55);
-  gtk_box_pack_start (GTK_BOX (vbox59), hbox55, FALSE, FALSE, 2);
-
-  sync_contacts_path_entry = gtk_entry_new ();
-  gtk_widget_show (sync_contacts_path_entry);
-  gtk_box_pack_start (GTK_BOX (hbox55), sync_contacts_path_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sync_contacts_path_entry, _("Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod."), NULL);
-
-  sync_contacts_path_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (sync_contacts_path_button);
-  gtk_box_pack_start (GTK_BOX (hbox55), sync_contacts_path_button, FALSE, FALSE, 0);
-
-  label158 = gtk_label_new (_("Command to be called to synchronize calendar:"));
-  gtk_widget_show (label158);
-  gtk_box_pack_start (GTK_BOX (vbox59), label158, FALSE, FALSE, 2);
-  GTK_WIDGET_SET_FLAGS (label158, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label158), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label158), 0.01, 0.5);
-
-  hbox56 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox56);
-  gtk_box_pack_start (GTK_BOX (vbox59), hbox56, FALSE, FALSE, 0);
-
-  sync_calendar_path_entry = gtk_entry_new ();
-  gtk_widget_show (sync_calendar_path_entry);
-  gtk_box_pack_start (GTK_BOX (hbox56), sync_calendar_path_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sync_calendar_path_entry, _("Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod."), NULL);
-
-  sync_calendar_path_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (sync_calendar_path_button);
-  gtk_box_pack_start (GTK_BOX (hbox56), sync_calendar_path_button, FALSE, FALSE, 0);
-
-  label175 = gtk_label_new (_("Command to be called to synchronize notes:"));
-  gtk_widget_show (label175);
-  gtk_box_pack_start (GTK_BOX (vbox59), label175, FALSE, FALSE, 2);
-  GTK_WIDGET_SET_FLAGS (label175, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label175), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label175), 0.01, 0.5);
-
-  hbox66 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox66);
-  gtk_box_pack_start (GTK_BOX (vbox59), hbox66, TRUE, TRUE, 0);
-
-  sync_notes_path_entry = gtk_entry_new ();
-  gtk_widget_show (sync_notes_path_entry);
-  gtk_box_pack_start (GTK_BOX (hbox66), sync_notes_path_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sync_notes_path_entry, _("Specify exact path including command line options. '%i' will be replaced with the mount point of the iPod."), NULL);
-
-  sync_notes_path_button = gtk_button_new_with_mnemonic (_("..."));
-  gtk_widget_show (sync_notes_path_button);
-  gtk_box_pack_start (GTK_BOX (hbox66), sync_notes_path_button, FALSE, FALSE, 0);
-
-  concal_autosync = gtk_check_button_new_with_mnemonic (_("Call automatically when synchronizing iTunesDB"));
-  gtk_widget_show (concal_autosync);
-  gtk_box_pack_start (GTK_BOX (vbox59), concal_autosync, FALSE, FALSE, 2);
-
-  label157 = gtk_label_new (_("Contacts / Calendar / Notes"));
-  gtk_widget_show (label157);
-  gtk_frame_set_label_widget (GTK_FRAME (frame31), label157);
-  GTK_WIDGET_SET_FLAGS (label157, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label157), TRUE);
-
-  label24 = gtk_label_new_with_mnemonic (_("_Tools"));
-  gtk_widget_show (label24);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 3), label24);
-
-  hbuttonbox5 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox5);
-  gtk_box_pack_start (GTK_BOX (vbox13), hbuttonbox5, FALSE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox5), 5);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox5), GTK_BUTTONBOX_SPREAD);
-
-  prefs_cancel = gtk_button_new_from_stock ("gtk-cancel");
-  gtk_widget_show (prefs_cancel);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox5), prefs_cancel);
-  GTK_WIDGET_SET_FLAGS (prefs_cancel, GTK_CAN_DEFAULT);
-
-  prefs_apply = gtk_button_new_from_stock ("gtk-apply");
-  gtk_widget_show (prefs_apply);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox5), prefs_apply);
-  GTK_WIDGET_SET_FLAGS (prefs_apply, GTK_CAN_DEFAULT);
-
-  prefs_ok = gtk_button_new_from_stock ("gtk-ok");
-  gtk_widget_show (prefs_ok);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox5), prefs_ok);
-  GTK_WIDGET_SET_FLAGS (prefs_ok, GTK_CAN_DEFAULT);
-
-  g_signal_connect ((gpointer) prefs_window, "delete_event",
-                    G_CALLBACK (on_prefs_window_delete_event),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_mount_point, "changed",
-                    G_CALLBACK (on_cfg_mount_point_changed),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_automount_ipod, "toggled",
-                    G_CALLBACK (on_cfg_automount_ipod_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_autoimport, "toggled",
-                    G_CALLBACK (on_cfg_autoimport_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) charset_combo_entry, "changed",
-                    G_CALLBACK (on_charset_combo_entry_changed),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_update_charset, "toggled",
-                    G_CALLBACK (on_cfg_update_charset_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_add_recursively, "toggled",
-                    G_CALLBACK (on_cfg_add_recursively_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_md5tracks, "toggled",
-                    G_CALLBACK (on_cfg_md5tracks_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_show_duplicates, "toggled",
-                    G_CALLBACK (on_cfg_show_duplicates_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_update_existing, "toggled",
-                    G_CALLBACK (on_cfg_update_existing_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_show_updated, "toggled",
-                    G_CALLBACK (on_cfg_show_updated_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_show_non_updated, "toggled",
-                    G_CALLBACK (on_cfg_show_non_updated_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_show_sync_dirs, "toggled",
-                    G_CALLBACK (on_cfg_show_sync_dirs_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_sync_remove, "toggled",
-                    G_CALLBACK (on_cfg_sync_remove_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_sync_remove_confirm, "toggled",
-                    G_CALLBACK (on_cfg_sync_remove_confirm_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) readtags, "toggled",
-                    G_CALLBACK (on_readtags_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) parsetags, "toggled",
-                    G_CALLBACK (on_parsetags_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) parsetags_template, "changed",
-                    G_CALLBACK (on_parsetags_template_changed),
-                    NULL);
-  g_signal_connect ((gpointer) parsetags_overwrite, "toggled",
-                    G_CALLBACK (on_parsetags_overwrite_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_mserv_use, "toggled",
-                    G_CALLBACK (on_mserv_use_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) mserv_username_entry, "changed",
-                    G_CALLBACK (on_mserv_username_changed),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_mserv_report_probs, "toggled",
-                    G_CALLBACK (on_mserv_report_probs_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_write_extended, "toggled",
-                    G_CALLBACK (on_cfg_write_extended_info_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_sort_tab_num_sb, "value_changed",
-                    G_CALLBACK (on_cfg_sort_tab_num_sb_value_changed),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_mpl_autoselect, "toggled",
-                    G_CALLBACK (on_cfg_mpl_autoselect_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_display_toolbar, "toggled",
-                    G_CALLBACK (on_cfg_display_toolbar_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_toolbar_style_both, "toggled",
-                    G_CALLBACK (on_cfg_toolbar_style_both_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_toolbar_style_text, "toggled",
-                    G_CALLBACK (on_cfg_toolbar_style_text_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_toolbar_style_icons, "toggled",
-                    G_CALLBACK (on_cfg_toolbar_style_icons_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_display_tooltips_main, "toggled",
-                    G_CALLBACK (on_cfg_display_tooltips_main_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_display_tooltips_prefs, "toggled",
-                    G_CALLBACK (on_cfg_display_tooltips_prefs_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) button4, "clicked",
-                    G_CALLBACK (on_sorting_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_tmp_disable_sort, "toggled",
-                    G_CALLBACK (on_cfg_temporarily_disable_sorting),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_block_display, "toggled",
-                    G_CALLBACK (on_cfg_block_display_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_startup_messages, "toggled",
-                    G_CALLBACK (on_cfg_startup_messages),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_id3_write, "toggled",
-                    G_CALLBACK (on_cfg_id3_write_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_write_charset, "toggled",
-                    G_CALLBACK (on_cfg_write_charset_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_id3_write_id3v24, "toggled",
-                    G_CALLBACK (on_cfg_write_id3v24_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_multi_edit, "toggled",
-                    G_CALLBACK (on_cfg_multi_edit_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_multi_edit_title, "toggled",
-                    G_CALLBACK (on_cfg_multi_edit_title_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_misc_track_nr, "value_changed",
-                    G_CALLBACK (on_cfg_misc_track_nr_value_changed),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_not_played_track, "toggled",
-                    G_CALLBACK (on_cfg_not_played_track_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_delete_track_from_playlist, "toggled",
-                    G_CALLBACK (on_cfg_delete_track_from_playlist_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_delete_track_from_ipod, "toggled",
-                    G_CALLBACK (on_cfg_delete_track_from_ipod_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_sync_remove_confirm2, "toggled",
-                    G_CALLBACK (on_cfg_sync_remove_confirm_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) concal_autosync, "toggled",
-                    G_CALLBACK (on_concal_autosync_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) prefs_cancel, "clicked",
-                    G_CALLBACK (on_prefs_cancel_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) prefs_apply, "clicked",
-                    G_CALLBACK (on_prefs_apply_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) prefs_ok, "clicked",
-                    G_CALLBACK (on_prefs_ok_clicked),
-                    NULL);
-
-  gtk_label_set_mnemonic_widget (GTK_LABEL (label27), cfg_mount_point);
-  gtk_label_set_mnemonic_widget (GTK_LABEL (label29), charset_combo_entry);
-  gtk_label_set_mnemonic_widget (GTK_LABEL (label35), cfg_sort_tab_num_sb);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (prefs_window, prefs_window, "prefs_window");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox13, "vbox13");
-  GLADE_HOOKUP_OBJECT (prefs_window, notebook, "notebook");
-  GLADE_HOOKUP_OBJECT (prefs_window, scrolledwindow5, "scrolledwindow5");
-  GLADE_HOOKUP_OBJECT (prefs_window, viewport2, "viewport2");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox14, "vbox14");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame6, "frame6");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox15, "vbox15");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox8, "hbox8");
-  GLADE_HOOKUP_OBJECT (prefs_window, label27, "label27");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_mount_point, "cfg_mount_point");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_automount_ipod, "cfg_automount_ipod");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_autoimport, "cfg_autoimport");
-  GLADE_HOOKUP_OBJECT (prefs_window, label26, "label26");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame7, "frame7");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox16, "vbox16");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox9, "hbox9");
-  GLADE_HOOKUP_OBJECT (prefs_window, label29, "label29");
-  GLADE_HOOKUP_OBJECT (prefs_window, charset_combo, "charset_combo");
-  GLADE_HOOKUP_OBJECT (prefs_window, charset_combo_entry, "charset_combo_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_update_charset, "cfg_update_charset");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_add_recursively, "cfg_add_recursively");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_md5tracks, "cfg_md5tracks");
-  GLADE_HOOKUP_OBJECT (prefs_window, table2, "table2");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_show_duplicates, "cfg_show_duplicates");
-  GLADE_HOOKUP_OBJECT (prefs_window, hseparator43, "hseparator43");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_update_existing, "cfg_update_existing");
-  GLADE_HOOKUP_OBJECT (prefs_window, table1, "table1");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_show_updated, "cfg_show_updated");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_show_non_updated, "cfg_show_non_updated");
-  GLADE_HOOKUP_OBJECT (prefs_window, hseparator44, "hseparator44");
-  GLADE_HOOKUP_OBJECT (prefs_window, label46, "label46");
-  GLADE_HOOKUP_OBJECT (prefs_window, table5, "table5");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_show_sync_dirs, "cfg_show_sync_dirs");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_sync_remove, "cfg_sync_remove");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_sync_remove_confirm, "cfg_sync_remove_confirm");
-  GLADE_HOOKUP_OBJECT (prefs_window, label28, "label28");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame30, "frame30");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox55, "vbox55");
-  GLADE_HOOKUP_OBJECT (prefs_window, readtags, "readtags");
-  GLADE_HOOKUP_OBJECT (prefs_window, parsetags, "parsetags");
-  GLADE_HOOKUP_OBJECT (prefs_window, table23, "table23");
-  GLADE_HOOKUP_OBJECT (prefs_window, parsetags_template, "parsetags_template");
-  GLADE_HOOKUP_OBJECT (prefs_window, parsetags_overwrite, "parsetags_overwrite");
-  GLADE_HOOKUP_OBJECT (prefs_window, label152, "label152");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox10, "hbox10");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox17, "vbox17");
-  GLADE_HOOKUP_OBJECT (prefs_window, tag_autoset1, "tag_autoset1");
-  GLADE_HOOKUP_OBJECT (prefs_window, tag_autoset3, "tag_autoset3");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox18, "vbox18");
-  GLADE_HOOKUP_OBJECT (prefs_window, tag_autoset2, "tag_autoset2");
-  GLADE_HOOKUP_OBJECT (prefs_window, tag_autoset4, "tag_autoset4");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox19, "vbox19");
-  GLADE_HOOKUP_OBJECT (prefs_window, tag_autoset0, "tag_autoset0");
-  GLADE_HOOKUP_OBJECT (prefs_window, label151, "label151");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame32, "frame32");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox62, "vbox62");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_mserv_use, "cfg_mserv_use");
-  GLADE_HOOKUP_OBJECT (prefs_window, table31, "table31");
-  GLADE_HOOKUP_OBJECT (prefs_window, label171, "label171");
-  GLADE_HOOKUP_OBJECT (prefs_window, mserv_music_root_entry, "mserv_music_root_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, mserv_music_root_button, "mserv_music_root_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, label172, "label172");
-  GLADE_HOOKUP_OBJECT (prefs_window, mserv_trackinfo_root_entry, "mserv_trackinfo_root_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, mserv_trackinfo_root_button, "mserv_trackinfo_root_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, label173, "label173");
-  GLADE_HOOKUP_OBJECT (prefs_window, mserv_username_entry, "mserv_username_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, table30, "table30");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_mserv_report_probs, "cfg_mserv_report_probs");
-  GLADE_HOOKUP_OBJECT (prefs_window, label170, "label170");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame9, "frame9");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox21, "vbox21");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_write_extended, "cfg_write_extended");
-  GLADE_HOOKUP_OBJECT (prefs_window, label31, "label31");
-  GLADE_HOOKUP_OBJECT (prefs_window, label23, "label23");
-  GLADE_HOOKUP_OBJECT (prefs_window, scrolledwindow6, "scrolledwindow6");
-  GLADE_HOOKUP_OBJECT (prefs_window, viewport3, "viewport3");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox23, "vbox23");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame14, "frame14");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox36, "vbox36");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox12, "hbox12");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox27, "vbox27");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible1, "col_visible1");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible4, "col_visible4");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible9, "col_visible9");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible19, "col_visible19");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible12, "col_visible12");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible11, "col_visible11");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible18, "col_visible18");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox28, "vbox28");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible2, "col_visible2");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible24, "col_visible24");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible10, "col_visible10");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible15, "col_visible15");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible13, "col_visible13");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible22, "col_visible22");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible5, "col_visible5");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox29, "vbox29");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible0, "col_visible0");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible25, "col_visible25");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible16, "col_visible16");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible14, "col_visible14");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible7, "col_visible7");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible6, "col_visible6");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible26, "col_visible26");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox35, "vbox35");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible3, "col_visible3");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible17, "col_visible17");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible21, "col_visible21");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible8, "col_visible8");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible20, "col_visible20");
-  GLADE_HOOKUP_OBJECT (prefs_window, col_visible23, "col_visible23");
-  GLADE_HOOKUP_OBJECT (prefs_window, label37, "label37");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame12, "frame12");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox25, "vbox25");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox11, "hbox11");
-  GLADE_HOOKUP_OBJECT (prefs_window, label35, "label35");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_sort_tab_num_sb, "cfg_sort_tab_num_sb");
-  GLADE_HOOKUP_OBJECT (prefs_window, label34, "label34");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame13, "frame13");
-  GLADE_HOOKUP_OBJECT (prefs_window, autoselect_vbox, "autoselect_vbox");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_mpl_autoselect, "cfg_mpl_autoselect");
-  GLADE_HOOKUP_OBJECT (prefs_window, label40, "label40");
-  GLADE_HOOKUP_OBJECT (prefs_window, autoselect_hbox, "autoselect_hbox");
-  GLADE_HOOKUP_OBJECT (prefs_window, label36, "label36");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame16, "frame16");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox31, "vbox31");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_display_toolbar, "cfg_display_toolbar");
-  GLADE_HOOKUP_OBJECT (prefs_window, table4, "table4");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_toolbar_style_both, "cfg_toolbar_style_both");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_toolbar_style_text, "cfg_toolbar_style_text");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_toolbar_style_icons, "cfg_toolbar_style_icons");
-  GLADE_HOOKUP_OBJECT (prefs_window, label39, "label39");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame19, "frame19");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox38, "vbox38");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_display_tooltips_main, "cfg_display_tooltips_main");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_display_tooltips_prefs, "cfg_display_tooltips_prefs");
-  GLADE_HOOKUP_OBJECT (prefs_window, label55, "label55");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame15, "frame15");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox30, "vbox30");
-  GLADE_HOOKUP_OBJECT (prefs_window, button4, "button4");
-  GLADE_HOOKUP_OBJECT (prefs_window, alignment2, "alignment2");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox38, "hbox38");
-  GLADE_HOOKUP_OBJECT (prefs_window, image1935, "image1935");
-  GLADE_HOOKUP_OBJECT (prefs_window, label93, "label93");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_tmp_disable_sort, "cfg_tmp_disable_sort");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_block_display, "cfg_block_display");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_startup_messages, "cfg_startup_messages");
-  GLADE_HOOKUP_OBJECT (prefs_window, label38, "label38");
-  GLADE_HOOKUP_OBJECT (prefs_window, label25, "label25");
-  GLADE_HOOKUP_OBJECT (prefs_window, scrolledwindow7, "scrolledwindow7");
-  GLADE_HOOKUP_OBJECT (prefs_window, viewport4, "viewport4");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox32, "vbox32");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame10, "frame10");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox22, "vbox22");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_id3_write, "cfg_id3_write");
-  GLADE_HOOKUP_OBJECT (prefs_window, table3, "table3");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_write_charset, "cfg_write_charset");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_id3_write_id3v24, "cfg_id3_write_id3v24");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_multi_edit, "cfg_multi_edit");
-  GLADE_HOOKUP_OBJECT (prefs_window, table7, "table7");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_multi_edit_title, "cfg_multi_edit_title");
-  GLADE_HOOKUP_OBJECT (prefs_window, label32, "label32");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame21, "frame21");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox48, "vbox48");
-  GLADE_HOOKUP_OBJECT (prefs_window, table8, "table8");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_misc_track_nr, "cfg_misc_track_nr");
-  GLADE_HOOKUP_OBJECT (prefs_window, label68, "label68");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_not_played_track, "cfg_not_played_track");
-  GLADE_HOOKUP_OBJECT (prefs_window, label67, "label67");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame11, "frame11");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox24, "vbox24");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_delete_track_from_playlist, "cfg_delete_track_from_playlist");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_delete_track_from_ipod, "cfg_delete_track_from_ipod");
-  GLADE_HOOKUP_OBJECT (prefs_window, cfg_sync_remove_confirm2, "cfg_sync_remove_confirm2");
-  GLADE_HOOKUP_OBJECT (prefs_window, label33, "label33");
-  GLADE_HOOKUP_OBJECT (prefs_window, label, "label");
-  GLADE_HOOKUP_OBJECT (prefs_window, scrolledwindow8, "scrolledwindow8");
-  GLADE_HOOKUP_OBJECT (prefs_window, viewport5, "viewport5");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox20, "vbox20");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame18, "frame18");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox34, "vbox34");
-  GLADE_HOOKUP_OBJECT (prefs_window, label44, "label44");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox52, "hbox52");
-  GLADE_HOOKUP_OBJECT (prefs_window, play_now_path_entry, "play_now_path_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, play_now_path_button, "play_now_path_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, label45, "label45");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox53, "hbox53");
-  GLADE_HOOKUP_OBJECT (prefs_window, play_enqueue_path_entry, "play_enqueue_path_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, play_enqueue_path_button, "play_enqueue_path_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, label43, "label43");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame22, "frame22");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox49, "vbox49");
-  GLADE_HOOKUP_OBJECT (prefs_window, label148, "label148");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox54, "hbox54");
-  GLADE_HOOKUP_OBJECT (prefs_window, mp3gain_path_entry, "mp3gain_path_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, mp3gain_path_button, "mp3gain_path_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, label69, "label69");
-  GLADE_HOOKUP_OBJECT (prefs_window, frame31, "frame31");
-  GLADE_HOOKUP_OBJECT (prefs_window, vbox59, "vbox59");
-  GLADE_HOOKUP_OBJECT (prefs_window, concal_label, "concal_label");
-  GLADE_HOOKUP_OBJECT (prefs_window, label156, "label156");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox55, "hbox55");
-  GLADE_HOOKUP_OBJECT (prefs_window, sync_contacts_path_entry, "sync_contacts_path_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, sync_contacts_path_button, "sync_contacts_path_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, label158, "label158");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox56, "hbox56");
-  GLADE_HOOKUP_OBJECT (prefs_window, sync_calendar_path_entry, "sync_calendar_path_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, sync_calendar_path_button, "sync_calendar_path_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, label175, "label175");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbox66, "hbox66");
-  GLADE_HOOKUP_OBJECT (prefs_window, sync_notes_path_entry, "sync_notes_path_entry");
-  GLADE_HOOKUP_OBJECT (prefs_window, sync_notes_path_button, "sync_notes_path_button");
-  GLADE_HOOKUP_OBJECT (prefs_window, concal_autosync, "concal_autosync");
-  GLADE_HOOKUP_OBJECT (prefs_window, label157, "label157");
-  GLADE_HOOKUP_OBJECT (prefs_window, label24, "label24");
-  GLADE_HOOKUP_OBJECT (prefs_window, hbuttonbox5, "hbuttonbox5");
-  GLADE_HOOKUP_OBJECT (prefs_window, prefs_cancel, "prefs_cancel");
-  GLADE_HOOKUP_OBJECT (prefs_window, prefs_apply, "prefs_apply");
-  GLADE_HOOKUP_OBJECT (prefs_window, prefs_ok, "prefs_ok");
-  GLADE_HOOKUP_OBJECT_NO_REF (prefs_window, tooltips, "tooltips");
-
-  return prefs_window;
-}
-
-GtkWidget*
-create_special_sorttab (void)
-{
-  GtkWidget *special_sorttab;
-  GdkPixbuf *special_sorttab_icon_pixbuf;
-  GtkWidget *special_viewport;
-  GtkWidget *vbox37;
-  GtkWidget *hbox20;
-  GtkWidget *label52;
-  GtkWidget *sp_or_button;
-  GSList *sp_or_button_group = NULL;
-  GtkWidget *sp_and_button;
-  GtkWidget *hseparator1;
-  GtkWidget *table6;
-  GtkWidget *hbox14;
-  GtkWidget *sp_rating0;
-  GtkWidget *sp_rating1;
-  GtkWidget *sp_rating2;
-  GtkWidget *sp_rating3;
-  GtkWidget *sp_rating4;
-  GtkWidget *sp_rating5;
-  GtkWidget *hbox15;
-  GtkWidget *hbox23;
-  GtkObject *sp_playcount_low_adj;
-  GtkWidget *sp_playcount_low;
-  GtkWidget *label54;
-  GtkObject *sp_playcount_high_adj;
-  GtkWidget *sp_playcount_high;
-  GtkWidget *hbox17;
-  GtkWidget *sp_played_entry;
-  GtkWidget *label49;
-  GtkWidget *sp_played_cal_button;
-  GtkWidget *hbox18;
-  GtkWidget *sp_modified_entry;
-  GtkWidget *label50;
-  GtkWidget *sp_modified_cal_button;
-  GtkWidget *sp_playcount_button;
-  GtkWidget *sp_rating_button;
-  GtkWidget *sp_played_button;
-  GtkWidget *sp_modified_button;
-  GtkWidget *hbox57;
-  GtkWidget *sp_created_entry;
-  GtkWidget *label159;
-  GtkWidget *sp_created_cal_button;
-  GtkWidget *sp_created_button;
-  GtkWidget *hseparator2;
-  GtkWidget *hbox21;
-  GtkWidget *sp_go;
-  GtkWidget *alignment1;
-  GtkWidget *hbox22;
-  GtkWidget *image1056;
-  GtkWidget *label53;
-  GtkWidget *sp_go_always;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  special_sorttab = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (special_sorttab), _("special_sorttab -- Don't translate!"));
-  special_sorttab_icon_pixbuf = create_pixbuf ("gtkpod-icon-48.png");
-  if (special_sorttab_icon_pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (special_sorttab), special_sorttab_icon_pixbuf);
-      gdk_pixbuf_unref (special_sorttab_icon_pixbuf);
-    }
-
-  special_viewport = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (special_viewport);
-  gtk_container_add (GTK_CONTAINER (special_sorttab), special_viewport);
-
-  vbox37 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox37);
-  gtk_container_add (GTK_CONTAINER (special_viewport), vbox37);
-
-  hbox20 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox20);
-  gtk_box_pack_start (GTK_BOX (vbox37), hbox20, FALSE, TRUE, 0);
-
-  label52 = gtk_label_new (_(" Logic: "));
-  gtk_widget_show (label52);
-  gtk_box_pack_start (GTK_BOX (hbox20), label52, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label52, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label52), TRUE);
-
-  sp_or_button = gtk_radio_button_new_with_mnemonic (NULL, _("Any (OR)"));
-  gtk_widget_show (sp_or_button);
-  gtk_box_pack_start (GTK_BOX (hbox20), sp_or_button, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (sp_or_button), sp_or_button_group);
-  sp_or_button_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (sp_or_button));
-
-  sp_and_button = gtk_radio_button_new_with_mnemonic (NULL, _("All (AND)"));
-  gtk_widget_show (sp_and_button);
-  gtk_box_pack_start (GTK_BOX (hbox20), sp_and_button, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (sp_and_button), sp_or_button_group);
-  sp_or_button_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (sp_and_button));
-
-  hseparator1 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator1);
-  gtk_box_pack_start (GTK_BOX (vbox37), hseparator1, FALSE, TRUE, 2);
-
-  table6 = gtk_table_new (5, 2, FALSE);
-  gtk_widget_show (table6);
-  gtk_box_pack_start (GTK_BOX (vbox37), table6, FALSE, TRUE, 0);
-
-  hbox14 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox14);
-  gtk_table_attach (GTK_TABLE (table6), hbox14, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  sp_rating0 = gtk_check_button_new_with_mnemonic (_("0"));
-  gtk_widget_show (sp_rating0);
-  gtk_box_pack_start (GTK_BOX (hbox14), sp_rating0, FALSE, FALSE, 0);
-
-  sp_rating1 = gtk_check_button_new_with_mnemonic (_("1"));
-  gtk_widget_show (sp_rating1);
-  gtk_box_pack_start (GTK_BOX (hbox14), sp_rating1, FALSE, FALSE, 0);
-
-  sp_rating2 = gtk_check_button_new_with_mnemonic (_("2"));
-  gtk_widget_show (sp_rating2);
-  gtk_box_pack_start (GTK_BOX (hbox14), sp_rating2, FALSE, FALSE, 0);
-
-  sp_rating3 = gtk_check_button_new_with_mnemonic (_("3"));
-  gtk_widget_show (sp_rating3);
-  gtk_box_pack_start (GTK_BOX (hbox14), sp_rating3, FALSE, FALSE, 0);
-
-  sp_rating4 = gtk_check_button_new_with_mnemonic (_("4"));
-  gtk_widget_show (sp_rating4);
-  gtk_box_pack_start (GTK_BOX (hbox14), sp_rating4, FALSE, FALSE, 0);
-
-  sp_rating5 = gtk_check_button_new_with_mnemonic (_("5"));
-  gtk_widget_show (sp_rating5);
-  gtk_box_pack_start (GTK_BOX (hbox14), sp_rating5, FALSE, FALSE, 0);
-
-  hbox15 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox15);
-  gtk_table_attach (GTK_TABLE (table6), hbox15, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hbox23 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox23);
-  gtk_box_pack_start (GTK_BOX (hbox15), hbox23, TRUE, TRUE, 0);
-
-  sp_playcount_low_adj = gtk_adjustment_new (1, 0, 2147480000, 1, 10, 10);
-  sp_playcount_low = gtk_spin_button_new (GTK_ADJUSTMENT (sp_playcount_low_adj), 1, 0);
-  gtk_widget_show (sp_playcount_low);
-  gtk_box_pack_start (GTK_BOX (hbox23), sp_playcount_low, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sp_playcount_low, _("Select '0' for no lower limit."), NULL);
-
-  label54 = gtk_label_new (_(" <= cts <= "));
-  gtk_widget_show (label54);
-  gtk_box_pack_start (GTK_BOX (hbox23), label54, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label54, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label54), TRUE);
-
-  sp_playcount_high_adj = gtk_adjustment_new (1, -1, 2147480000, 1, 10, 10);
-  sp_playcount_high = gtk_spin_button_new (GTK_ADJUSTMENT (sp_playcount_high_adj), 1, 0);
-  gtk_widget_show (sp_playcount_high);
-  gtk_box_pack_start (GTK_BOX (hbox23), sp_playcount_high, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sp_playcount_high, _("Select '-1' for no upper limit."), NULL);
-
-  hbox17 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox17);
-  gtk_table_attach (GTK_TABLE (table6), hbox17, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  sp_played_entry = gtk_entry_new ();
-  gtk_widget_show (sp_played_entry);
-  gtk_box_pack_start (GTK_BOX (hbox17), sp_played_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sp_played_entry, _("'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished."), NULL);
-
-  label49 = gtk_label_new ("");
-  gtk_widget_show (label49);
-  gtk_box_pack_start (GTK_BOX (hbox17), label49, FALSE, FALSE, 0);
-
-  sp_played_cal_button = gtk_button_new_with_mnemonic (_("Calendar"));
-  gtk_widget_show (sp_played_cal_button);
-  gtk_box_pack_start (GTK_BOX (hbox17), sp_played_cal_button, FALSE, FALSE, 0);
-
-  hbox18 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox18);
-  gtk_table_attach (GTK_TABLE (table6), hbox18, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  sp_modified_entry = gtk_entry_new ();
-  gtk_widget_show (sp_modified_entry);
-  gtk_box_pack_start (GTK_BOX (hbox18), sp_modified_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sp_modified_entry, _("'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished."), NULL);
-
-  label50 = gtk_label_new ("");
-  gtk_widget_show (label50);
-  gtk_box_pack_start (GTK_BOX (hbox18), label50, FALSE, FALSE, 0);
-
-  sp_modified_cal_button = gtk_button_new_with_mnemonic (_("Calendar"));
-  gtk_widget_show (sp_modified_cal_button);
-  gtk_box_pack_start (GTK_BOX (hbox18), sp_modified_cal_button, FALSE, FALSE, 0);
-
-  sp_playcount_button = gtk_check_button_new_with_mnemonic (_("Playcount"));
-  gtk_widget_show (sp_playcount_button);
-  gtk_table_attach (GTK_TABLE (table6), sp_playcount_button, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 2, 0);
-  gtk_tooltips_set_tip (tooltips, sp_playcount_button, _("Specify interval"), NULL);
-
-  sp_rating_button = gtk_check_button_new_with_mnemonic (_("Rating"));
-  gtk_widget_show (sp_rating_button);
-  gtk_table_attach (GTK_TABLE (table6), sp_rating_button, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 2, 0);
-
-  sp_played_button = gtk_check_button_new_with_mnemonic (_("Played"));
-  gtk_widget_show (sp_played_button);
-  gtk_table_attach (GTK_TABLE (table6), sp_played_button, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 2, 0);
-
-  sp_modified_button = gtk_check_button_new_with_mnemonic (_("Modified"));
-  gtk_widget_show (sp_modified_button);
-  gtk_table_attach (GTK_TABLE (table6), sp_modified_button, 0, 1, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 2, 0);
-
-  hbox57 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox57);
-  gtk_table_attach (GTK_TABLE (table6), hbox57, 1, 2, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  sp_created_entry = gtk_entry_new ();
-  gtk_widget_show (sp_created_entry);
-  gtk_box_pack_start (GTK_BOX (hbox57), sp_created_entry, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, sp_created_entry, _("'DD/MM/YYYY HH:MM < d < DD/MM/YYYY HH:MM' or similar. Press 'enter' when finished."), NULL);
-
-  label159 = gtk_label_new ("");
-  gtk_widget_show (label159);
-  gtk_box_pack_start (GTK_BOX (hbox57), label159, FALSE, FALSE, 0);
-
-  sp_created_cal_button = gtk_button_new_with_mnemonic (_("Calendar"));
-  gtk_widget_show (sp_created_cal_button);
-  gtk_box_pack_start (GTK_BOX (hbox57), sp_created_cal_button, FALSE, FALSE, 0);
-
-  sp_created_button = gtk_check_button_new_with_mnemonic (_("Created"));
-  gtk_widget_show (sp_created_button);
-  gtk_table_attach (GTK_TABLE (table6), sp_created_button, 0, 1, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hseparator2 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator2);
-  gtk_box_pack_start (GTK_BOX (vbox37), hseparator2, FALSE, TRUE, 0);
-
-  hbox21 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox21);
-  gtk_box_pack_start (GTK_BOX (vbox37), hbox21, FALSE, FALSE, 0);
-
-  sp_go = gtk_button_new ();
-  gtk_widget_show (sp_go);
-  gtk_box_pack_start (GTK_BOX (hbox21), sp_go, FALSE, TRUE, 2);
-  gtk_tooltips_set_tip (tooltips, sp_go, _("Display tracks that match the criteria entered above."), NULL);
-
-  alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0);
-  gtk_widget_show (alignment1);
-  gtk_container_add (GTK_CONTAINER (sp_go), alignment1);
-
-  hbox22 = gtk_hbox_new (FALSE, 2);
-  gtk_widget_show (hbox22);
-  gtk_container_add (GTK_CONTAINER (alignment1), hbox22);
-
-  image1056 = gtk_image_new_from_stock ("gtk-execute", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1056);
-  gtk_box_pack_start (GTK_BOX (hbox22), image1056, FALSE, FALSE, 0);
-
-  label53 = gtk_label_new_with_mnemonic (_("_Display"));
-  gtk_widget_show (label53);
-  gtk_box_pack_start (GTK_BOX (hbox22), label53, FALSE, FALSE, 0);
-
-  sp_go_always = gtk_check_button_new_with_mnemonic (_("Start display automatically"));
-  gtk_widget_show (sp_go_always);
-  gtk_box_pack_start (GTK_BOX (hbox21), sp_go_always, FALSE, FALSE, 2);
-  gtk_tooltips_set_tip (tooltips, sp_go_always, _("Automatically start displaying tracks that match the criteria entered above. If not selected, you must press 'Display' to start displaying."), NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (special_sorttab, special_sorttab, "special_sorttab");
-  GLADE_HOOKUP_OBJECT (special_sorttab, special_viewport, "special_viewport");
-  GLADE_HOOKUP_OBJECT (special_sorttab, vbox37, "vbox37");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox20, "hbox20");
-  GLADE_HOOKUP_OBJECT (special_sorttab, label52, "label52");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_or_button, "sp_or_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_and_button, "sp_and_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hseparator1, "hseparator1");
-  GLADE_HOOKUP_OBJECT (special_sorttab, table6, "table6");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox14, "hbox14");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_rating0, "sp_rating0");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_rating1, "sp_rating1");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_rating2, "sp_rating2");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_rating3, "sp_rating3");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_rating4, "sp_rating4");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_rating5, "sp_rating5");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox15, "hbox15");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox23, "hbox23");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_playcount_low, "sp_playcount_low");
-  GLADE_HOOKUP_OBJECT (special_sorttab, label54, "label54");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_playcount_high, "sp_playcount_high");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox17, "hbox17");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_played_entry, "sp_played_entry");
-  GLADE_HOOKUP_OBJECT (special_sorttab, label49, "label49");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_played_cal_button, "sp_played_cal_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox18, "hbox18");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_modified_entry, "sp_modified_entry");
-  GLADE_HOOKUP_OBJECT (special_sorttab, label50, "label50");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_modified_cal_button, "sp_modified_cal_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_playcount_button, "sp_playcount_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_rating_button, "sp_rating_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_played_button, "sp_played_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_modified_button, "sp_modified_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox57, "hbox57");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_created_entry, "sp_created_entry");
-  GLADE_HOOKUP_OBJECT (special_sorttab, label159, "label159");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_created_cal_button, "sp_created_cal_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_created_button, "sp_created_button");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hseparator2, "hseparator2");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox21, "hbox21");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_go, "sp_go");
-  GLADE_HOOKUP_OBJECT (special_sorttab, alignment1, "alignment1");
-  GLADE_HOOKUP_OBJECT (special_sorttab, hbox22, "hbox22");
-  GLADE_HOOKUP_OBJECT (special_sorttab, image1056, "image1056");
-  GLADE_HOOKUP_OBJECT (special_sorttab, label53, "label53");
-  GLADE_HOOKUP_OBJECT (special_sorttab, sp_go_always, "sp_go_always");
-  GLADE_HOOKUP_OBJECT_NO_REF (special_sorttab, tooltips, "tooltips");
-
-  return special_sorttab;
-}
-
-GtkWidget*
-create_calendar_window (void)
-{
-  GtkWidget *calendar_window;
-  GdkPixbuf *calendar_window_icon_pixbuf;
-  GtkWidget *scrolledwindow4;
-  GtkWidget *viewport1;
-  GtkWidget *vbox43;
-  GtkWidget *hbox29;
-  GtkWidget *label64;
-  GtkObject *sorttab_num_spin_adj;
-  GtkWidget *sorttab_num_spin;
-  GtkWidget *label65;
-  GtkWidget *label66;
-  GtkWidget *cat_combo;
-  GtkWidget *cat_entry;
-  GtkWidget *hseparator6;
-  GtkWidget *label63;
-  GtkWidget *hseparator5;
-  GtkWidget *hbox25;
-  GtkWidget *vbox44;
-  GtkWidget *label57;
-  GtkWidget *lower_cal_box;
-  GtkWidget *lower_cal;
-  GtkWidget *lower_time_fullbox;
-  GtkWidget *lower_time;
-  GtkWidget *lower_time_box;
-  GtkObject *lower_hours_adj;
-  GtkWidget *lower_hours;
-  GtkWidget *label59;
-  GtkObject *lower_minutes_adj;
-  GtkWidget *lower_minutes;
-  GtkWidget *hseparator3;
-  GtkWidget *no_lower_margin;
-  GtkWidget *vseparator1;
-  GtkWidget *vbox47;
-  GtkWidget *label58;
-  GtkWidget *upper_cal_box;
-  GtkWidget *upper_cal;
-  GtkWidget *upper_time_fullbox;
-  GtkWidget *upper_time;
-  GtkWidget *upper_time_box;
-  GtkObject *upper_hours_adj;
-  GtkWidget *upper_hours;
-  GtkWidget *label62;
-  GtkObject *upper_minutes_adj;
-  GtkWidget *upper_minutes;
-  GtkWidget *hseparator4;
-  GtkWidget *no_upper_margin;
-  GtkWidget *hseparator7;
-  GtkWidget *hbuttonbox7;
-  GtkWidget *cal_apply;
-  GtkWidget *cal_cancel;
-  GtkWidget *cal_ok;
-
-  calendar_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (calendar_window), _("Calendar"));
-  gtk_window_set_default_size (GTK_WINDOW (calendar_window), 480, 290);
-  calendar_window_icon_pixbuf = create_pixbuf ("gtkpod-icon-48.png");
-  if (calendar_window_icon_pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (calendar_window), calendar_window_icon_pixbuf);
-      gdk_pixbuf_unref (calendar_window_icon_pixbuf);
-    }
-
-  scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow4);
-  gtk_container_add (GTK_CONTAINER (calendar_window), scrolledwindow4);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_SHADOW_ETCHED_IN);
-
-  viewport1 = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (viewport1);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow4), viewport1);
-  gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport1), GTK_SHADOW_ETCHED_IN);
-
-  vbox43 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox43);
-  gtk_container_add (GTK_CONTAINER (viewport1), vbox43);
-
-  hbox29 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox29);
-  gtk_box_pack_start (GTK_BOX (vbox43), hbox29, FALSE, TRUE, 2);
-
-  label64 = gtk_label_new (_("Sorttab: "));
-  gtk_widget_show (label64);
-  gtk_box_pack_start (GTK_BOX (hbox29), label64, FALSE, FALSE, 3);
-  GTK_WIDGET_SET_FLAGS (label64, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label64), TRUE);
-
-  sorttab_num_spin_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
-  sorttab_num_spin = gtk_spin_button_new (GTK_ADJUSTMENT (sorttab_num_spin_adj), 1, 0);
-  gtk_widget_show (sorttab_num_spin);
-  gtk_box_pack_start (GTK_BOX (hbox29), sorttab_num_spin, FALSE, FALSE, 0);
-
-  label65 = gtk_label_new (_("     "));
-  gtk_widget_show (label65);
-  gtk_box_pack_start (GTK_BOX (hbox29), label65, FALSE, FALSE, 0);
-
-  label66 = gtk_label_new (_("Category: "));
-  gtk_widget_show (label66);
-  gtk_box_pack_start (GTK_BOX (hbox29), label66, FALSE, FALSE, 3);
-  GTK_WIDGET_SET_FLAGS (label66, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label66), TRUE);
-
-  cat_combo = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (cat_combo)->popwin),
-                     "GladeParentKey", cat_combo);
-  gtk_widget_show (cat_combo);
-  gtk_box_pack_start (GTK_BOX (hbox29), cat_combo, FALSE, FALSE, 0);
-  gtk_combo_set_value_in_list (GTK_COMBO (cat_combo), TRUE, FALSE);
-
-  cat_entry = GTK_COMBO (cat_combo)->entry;
-  gtk_widget_show (cat_entry);
-
-  hseparator6 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator6);
-  gtk_box_pack_start (GTK_BOX (vbox43), hseparator6, FALSE, FALSE, 0);
-
-  label63 = gtk_label_new (_("Please specify a time interval"));
-  gtk_widget_show (label63);
-  gtk_box_pack_start (GTK_BOX (vbox43), label63, FALSE, FALSE, 3);
-  GTK_WIDGET_SET_FLAGS (label63, GTK_CAN_FOCUS);
-  gtk_label_set_line_wrap (GTK_LABEL (label63), TRUE);
-  gtk_label_set_selectable (GTK_LABEL (label63), TRUE);
-
-  hseparator5 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator5);
-  gtk_box_pack_start (GTK_BOX (vbox43), hseparator5, FALSE, FALSE, 0);
-
-  hbox25 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox25);
-  gtk_box_pack_start (GTK_BOX (vbox43), hbox25, FALSE, TRUE, 0);
-
-  vbox44 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox44);
-  gtk_box_pack_start (GTK_BOX (hbox25), vbox44, TRUE, TRUE, 0);
-
-  label57 = gtk_label_new (_("Lower Margin"));
-  gtk_widget_show (label57);
-  gtk_box_pack_start (GTK_BOX (vbox44), label57, FALSE, FALSE, 2);
-  GTK_WIDGET_SET_FLAGS (label57, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label57), TRUE);
-
-  lower_cal_box = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (lower_cal_box);
-  gtk_box_pack_start (GTK_BOX (vbox44), lower_cal_box, FALSE, FALSE, 0);
-
-  lower_cal = gtk_calendar_new ();
-  gtk_widget_show (lower_cal);
-  gtk_box_pack_start (GTK_BOX (lower_cal_box), lower_cal, TRUE, TRUE, 0);
-  gtk_calendar_display_options (GTK_CALENDAR (lower_cal),
-                                GTK_CALENDAR_SHOW_HEADING
-                                | GTK_CALENDAR_SHOW_DAY_NAMES
-                                | GTK_CALENDAR_WEEK_START_MONDAY);
-
-  lower_time_fullbox = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (lower_time_fullbox);
-  gtk_box_pack_start (GTK_BOX (lower_cal_box), lower_time_fullbox, TRUE, TRUE, 0);
-
-  lower_time = gtk_check_button_new_with_mnemonic (_("Time:"));
-  gtk_widget_show (lower_time);
-  gtk_box_pack_start (GTK_BOX (lower_time_fullbox), lower_time, FALSE, FALSE, 0);
-
-  lower_time_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (lower_time_box);
-  gtk_box_pack_start (GTK_BOX (lower_time_fullbox), lower_time_box, FALSE, FALSE, 0);
-
-  lower_hours_adj = gtk_adjustment_new (0, 0, 23, 1, 2, 10);
-  lower_hours = gtk_spin_button_new (GTK_ADJUSTMENT (lower_hours_adj), 1, 0);
-  gtk_widget_show (lower_hours);
-  gtk_box_pack_start (GTK_BOX (lower_time_box), lower_hours, TRUE, TRUE, 0);
-  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (lower_hours), TRUE);
-  gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (lower_hours), TRUE);
-
-  label59 = gtk_label_new (_(":"));
-  gtk_widget_show (label59);
-  gtk_box_pack_start (GTK_BOX (lower_time_box), label59, FALSE, FALSE, 0);
-
-  lower_minutes_adj = gtk_adjustment_new (3, 0, 59, 1, 5, 2);
-  lower_minutes = gtk_spin_button_new (GTK_ADJUSTMENT (lower_minutes_adj), 1, 0);
-  gtk_widget_show (lower_minutes);
-  gtk_box_pack_start (GTK_BOX (lower_time_box), lower_minutes, TRUE, TRUE, 0);
-  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (lower_minutes), TRUE);
-  gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (lower_minutes), TRUE);
-
-  hseparator3 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator3);
-  gtk_box_pack_start (GTK_BOX (vbox44), hseparator3, FALSE, FALSE, 0);
-
-  no_lower_margin = gtk_check_button_new_with_mnemonic (_("No lower margin"));
-  gtk_widget_show (no_lower_margin);
-  gtk_box_pack_start (GTK_BOX (vbox44), no_lower_margin, FALSE, FALSE, 0);
-
-  vseparator1 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator1);
-  gtk_box_pack_start (GTK_BOX (hbox25), vseparator1, FALSE, FALSE, 0);
-
-  vbox47 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox47);
-  gtk_box_pack_start (GTK_BOX (hbox25), vbox47, TRUE, TRUE, 0);
-
-  label58 = gtk_label_new (_("Upper margin"));
-  gtk_widget_show (label58);
-  gtk_box_pack_start (GTK_BOX (vbox47), label58, FALSE, FALSE, 2);
-  GTK_WIDGET_SET_FLAGS (label58, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label58), TRUE);
-
-  upper_cal_box = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (upper_cal_box);
-  gtk_box_pack_start (GTK_BOX (vbox47), upper_cal_box, FALSE, FALSE, 0);
-
-  upper_cal = gtk_calendar_new ();
-  gtk_widget_show (upper_cal);
-  gtk_box_pack_start (GTK_BOX (upper_cal_box), upper_cal, TRUE, TRUE, 0);
-  gtk_calendar_display_options (GTK_CALENDAR (upper_cal),
-                                GTK_CALENDAR_SHOW_HEADING
-                                | GTK_CALENDAR_SHOW_DAY_NAMES
-                                | GTK_CALENDAR_WEEK_START_MONDAY);
-
-  upper_time_fullbox = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (upper_time_fullbox);
-  gtk_box_pack_start (GTK_BOX (upper_cal_box), upper_time_fullbox, TRUE, TRUE, 0);
-
-  upper_time = gtk_check_button_new_with_mnemonic (_("Time:"));
-  gtk_widget_show (upper_time);
-  gtk_box_pack_start (GTK_BOX (upper_time_fullbox), upper_time, FALSE, FALSE, 0);
-
-  upper_time_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (upper_time_box);
-  gtk_box_pack_start (GTK_BOX (upper_time_fullbox), upper_time_box, FALSE, FALSE, 0);
-
-  upper_hours_adj = gtk_adjustment_new (0, 0, 23, 1, 2, 10);
-  upper_hours = gtk_spin_button_new (GTK_ADJUSTMENT (upper_hours_adj), 1, 0);
-  gtk_widget_show (upper_hours);
-  gtk_box_pack_start (GTK_BOX (upper_time_box), upper_hours, TRUE, TRUE, 0);
-  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (upper_hours), TRUE);
-  gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (upper_hours), TRUE);
-
-  label62 = gtk_label_new (_(":"));
-  gtk_widget_show (label62);
-  gtk_box_pack_start (GTK_BOX (upper_time_box), label62, FALSE, FALSE, 0);
-
-  upper_minutes_adj = gtk_adjustment_new (3, 0, 59, 1, 5, 2);
-  upper_minutes = gtk_spin_button_new (GTK_ADJUSTMENT (upper_minutes_adj), 1, 0);
-  gtk_widget_show (upper_minutes);
-  gtk_box_pack_start (GTK_BOX (upper_time_box), upper_minutes, TRUE, TRUE, 0);
-  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (upper_minutes), TRUE);
-  gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (upper_minutes), TRUE);
-
-  hseparator4 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator4);
-  gtk_box_pack_start (GTK_BOX (vbox47), hseparator4, FALSE, FALSE, 0);
-
-  no_upper_margin = gtk_check_button_new_with_mnemonic (_("No upper margin"));
-  gtk_widget_show (no_upper_margin);
-  gtk_box_pack_start (GTK_BOX (vbox47), no_upper_margin, FALSE, FALSE, 0);
-
-  hseparator7 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator7);
-  gtk_box_pack_start (GTK_BOX (vbox43), hseparator7, FALSE, FALSE, 0);
-
-  hbuttonbox7 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox7);
-  gtk_box_pack_end (GTK_BOX (vbox43), hbuttonbox7, FALSE, TRUE, 2);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox7), GTK_BUTTONBOX_SPREAD);
-
-  cal_apply = gtk_button_new_from_stock ("gtk-apply");
-  gtk_widget_show (cal_apply);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox7), cal_apply);
-  GTK_WIDGET_SET_FLAGS (cal_apply, GTK_CAN_DEFAULT);
-
-  cal_cancel = gtk_button_new_from_stock ("gtk-cancel");
-  gtk_widget_show (cal_cancel);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox7), cal_cancel);
-  GTK_WIDGET_SET_FLAGS (cal_cancel, GTK_CAN_DEFAULT);
-
-  cal_ok = gtk_button_new_from_stock ("gtk-ok");
-  gtk_widget_show (cal_ok);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox7), cal_ok);
-  GTK_WIDGET_SET_FLAGS (cal_ok, GTK_CAN_DEFAULT);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (calendar_window, calendar_window, "calendar_window");
-  GLADE_HOOKUP_OBJECT (calendar_window, scrolledwindow4, "scrolledwindow4");
-  GLADE_HOOKUP_OBJECT (calendar_window, viewport1, "viewport1");
-  GLADE_HOOKUP_OBJECT (calendar_window, vbox43, "vbox43");
-  GLADE_HOOKUP_OBJECT (calendar_window, hbox29, "hbox29");
-  GLADE_HOOKUP_OBJECT (calendar_window, label64, "label64");
-  GLADE_HOOKUP_OBJECT (calendar_window, sorttab_num_spin, "sorttab_num_spin");
-  GLADE_HOOKUP_OBJECT (calendar_window, label65, "label65");
-  GLADE_HOOKUP_OBJECT (calendar_window, label66, "label66");
-  GLADE_HOOKUP_OBJECT (calendar_window, cat_combo, "cat_combo");
-  GLADE_HOOKUP_OBJECT (calendar_window, cat_entry, "cat_entry");
-  GLADE_HOOKUP_OBJECT (calendar_window, hseparator6, "hseparator6");
-  GLADE_HOOKUP_OBJECT (calendar_window, label63, "label63");
-  GLADE_HOOKUP_OBJECT (calendar_window, hseparator5, "hseparator5");
-  GLADE_HOOKUP_OBJECT (calendar_window, hbox25, "hbox25");
-  GLADE_HOOKUP_OBJECT (calendar_window, vbox44, "vbox44");
-  GLADE_HOOKUP_OBJECT (calendar_window, label57, "label57");
-  GLADE_HOOKUP_OBJECT (calendar_window, lower_cal_box, "lower_cal_box");
-  GLADE_HOOKUP_OBJECT (calendar_window, lower_cal, "lower_cal");
-  GLADE_HOOKUP_OBJECT (calendar_window, lower_time_fullbox, "lower_time_fullbox");
-  GLADE_HOOKUP_OBJECT (calendar_window, lower_time, "lower_time");
-  GLADE_HOOKUP_OBJECT (calendar_window, lower_time_box, "lower_time_box");
-  GLADE_HOOKUP_OBJECT (calendar_window, lower_hours, "lower_hours");
-  GLADE_HOOKUP_OBJECT (calendar_window, label59, "label59");
-  GLADE_HOOKUP_OBJECT (calendar_window, lower_minutes, "lower_minutes");
-  GLADE_HOOKUP_OBJECT (calendar_window, hseparator3, "hseparator3");
-  GLADE_HOOKUP_OBJECT (calendar_window, no_lower_margin, "no_lower_margin");
-  GLADE_HOOKUP_OBJECT (calendar_window, vseparator1, "vseparator1");
-  GLADE_HOOKUP_OBJECT (calendar_window, vbox47, "vbox47");
-  GLADE_HOOKUP_OBJECT (calendar_window, label58, "label58");
-  GLADE_HOOKUP_OBJECT (calendar_window, upper_cal_box, "upper_cal_box");
-  GLADE_HOOKUP_OBJECT (calendar_window, upper_cal, "upper_cal");
-  GLADE_HOOKUP_OBJECT (calendar_window, upper_time_fullbox, "upper_time_fullbox");
-  GLADE_HOOKUP_OBJECT (calendar_window, upper_time, "upper_time");
-  GLADE_HOOKUP_OBJECT (calendar_window, upper_time_box, "upper_time_box");
-  GLADE_HOOKUP_OBJECT (calendar_window, upper_hours, "upper_hours");
-  GLADE_HOOKUP_OBJECT (calendar_window, label62, "label62");
-  GLADE_HOOKUP_OBJECT (calendar_window, upper_minutes, "upper_minutes");
-  GLADE_HOOKUP_OBJECT (calendar_window, hseparator4, "hseparator4");
-  GLADE_HOOKUP_OBJECT (calendar_window, no_upper_margin, "no_upper_margin");
-  GLADE_HOOKUP_OBJECT (calendar_window, hseparator7, "hseparator7");
-  GLADE_HOOKUP_OBJECT (calendar_window, hbuttonbox7, "hbuttonbox7");
-  GLADE_HOOKUP_OBJECT (calendar_window, cal_apply, "cal_apply");
-  GLADE_HOOKUP_OBJECT (calendar_window, cal_cancel, "cal_cancel");
-  GLADE_HOOKUP_OBJECT (calendar_window, cal_ok, "cal_ok");
-
-  return calendar_window;
-}
-
-GtkWidget*
-create_sort_window (void)
-{
-  GtkWidget *sort_window;
-  GdkPixbuf *sort_window_icon_pixbuf;
-  GtkWidget *vbox52;
-  GtkWidget *frame26;
-  GtkWidget *vbox53;
-  GtkWidget *hbox30;
-  GtkWidget *table11;
-  GtkWidget *hbox34;
-  GtkWidget *st_ascend;
-  GSList *st_ascend_group = NULL;
-  GtkWidget *image1931;
-  GtkWidget *hbox35;
-  GtkWidget *st_descend;
-  GtkWidget *image1932;
-  GtkWidget *hbox36;
-  GtkWidget *st_none;
-  GtkWidget *image1933;
-  GtkWidget *hbox33;
-  GtkWidget *pm_none;
-  GSList *pm_none_group = NULL;
-  GtkWidget *image1930;
-  GtkWidget *hbox32;
-  GtkWidget *pm_descend;
-  GtkWidget *image1929;
-  GtkWidget *hbox37;
-  GtkWidget *pm_ascend;
-  GtkWidget *image1928;
-  GtkWidget *vseparator2;
-  GtkWidget *vseparator3;
-  GtkWidget *vseparator6;
-  GtkWidget *vseparator8;
-  GtkWidget *table12;
-  GtkWidget *label82;
-  GtkWidget *table13;
-  GtkWidget *label85;
-  GtkWidget *table14;
-  GtkWidget *label86;
-  GtkWidget *table15;
-  GtkWidget *label87;
-  GtkWidget *table16;
-  GtkWidget *label88;
-  GtkWidget *table17;
-  GtkWidget *label89;
-  GtkWidget *label91;
-  GtkWidget *hseparator9;
-  GtkWidget *hseparator10;
-  GtkWidget *hseparator13;
-  GtkWidget *hseparator12;
-  GtkWidget *hseparator11;
-  GtkWidget *vseparator9;
-  GtkWidget *table19;
-  GtkWidget *label95;
-  GtkWidget *hbox40;
-  GtkWidget *hbox42;
-  GtkWidget *pm_autostore;
-  GtkWidget *hbox41;
-  GtkWidget *tm_autostore;
-  GtkWidget *label96;
-  GtkWidget *hbox43;
-  GtkWidget *tm_ascend;
-  GSList *tm_ascend_group = NULL;
-  GtkWidget *image2013;
-  GtkWidget *vseparator7;
-  GtkWidget *hbox44;
-  GtkWidget *tm_descend;
-  GtkWidget *image2014;
-  GtkWidget *hbox45;
-  GtkWidget *tm_none;
-  GtkWidget *image2015;
-  GtkWidget *hbox46;
-  GtkWidget *label97;
-  GtkWidget *sort_combo;
-  GtkWidget *sort_combo_entry;
-  GtkWidget *hseparator15;
-  GtkWidget *cfg_case_sensitive;
-  GtkWidget *hseparator16;
-  GtkWidget *hbox39;
-  GtkWidget *label94;
-  GtkWidget *label92;
-  GtkWidget *hbuttonbox8;
-  GtkWidget *sort_cancel;
-  GtkWidget *sort_apply;
-  GtkWidget *sort_ok;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  sort_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (sort_window), _("Sorting Options"));
-  sort_window_icon_pixbuf = create_pixbuf ("gtkpod-icon-48.png");
-  if (sort_window_icon_pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (sort_window), sort_window_icon_pixbuf);
-      gdk_pixbuf_unref (sort_window_icon_pixbuf);
-    }
-
-  vbox52 = gtk_vbox_new (FALSE, 4);
-  gtk_widget_show (vbox52);
-  gtk_container_add (GTK_CONTAINER (sort_window), vbox52);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox52), 6);
-
-  frame26 = gtk_frame_new (NULL);
-  gtk_widget_show (frame26);
-  gtk_box_pack_start (GTK_BOX (vbox52), frame26, FALSE, FALSE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (frame26), GTK_SHADOW_ETCHED_OUT);
-
-  vbox53 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox53);
-  gtk_container_add (GTK_CONTAINER (frame26), vbox53);
-
-  hbox30 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox30);
-  gtk_box_pack_start (GTK_BOX (vbox53), hbox30, FALSE, TRUE, 0);
-
-  table11 = gtk_table_new (9, 11, FALSE);
-  gtk_widget_show (table11);
-  gtk_box_pack_start (GTK_BOX (hbox30), table11, TRUE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table11), 4);
-
-  hbox34 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox34);
-  gtk_table_attach (GTK_TABLE (table11), hbox34, 3, 4, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  st_ascend = gtk_radio_button_new (NULL);
-  gtk_widget_show (st_ascend);
-  gtk_box_pack_start (GTK_BOX (hbox34), st_ascend, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (st_ascend), st_ascend_group);
-  st_ascend_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (st_ascend));
-
-  image1931 = gtk_image_new_from_stock ("gtk-sort-ascending", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1931);
-  gtk_container_add (GTK_CONTAINER (st_ascend), image1931);
-
-  hbox35 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox35);
-  gtk_table_attach (GTK_TABLE (table11), hbox35, 5, 6, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  st_descend = gtk_radio_button_new (NULL);
-  gtk_widget_show (st_descend);
-  gtk_box_pack_start (GTK_BOX (hbox35), st_descend, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (st_descend), st_ascend_group);
-  st_ascend_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (st_descend));
-
-  image1932 = gtk_image_new_from_stock ("gtk-sort-descending", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1932);
-  gtk_container_add (GTK_CONTAINER (st_descend), image1932);
-
-  hbox36 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox36);
-  gtk_table_attach (GTK_TABLE (table11), hbox36, 7, 8, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  st_none = gtk_radio_button_new (NULL);
-  gtk_widget_show (st_none);
-  gtk_box_pack_start (GTK_BOX (hbox36), st_none, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (st_none), st_ascend_group);
-  st_ascend_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (st_none));
-
-  image1933 = gtk_image_new_from_stock ("gtk-undo", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1933);
-  gtk_container_add (GTK_CONTAINER (st_none), image1933);
-
-  hbox33 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox33);
-  gtk_table_attach (GTK_TABLE (table11), hbox33, 7, 8, 3, 4,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  pm_none = gtk_radio_button_new (NULL);
-  gtk_widget_show (pm_none);
-  gtk_box_pack_start (GTK_BOX (hbox33), pm_none, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (pm_none), pm_none_group);
-  pm_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (pm_none));
-
-  image1930 = gtk_image_new_from_stock ("gtk-undo", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1930);
-  gtk_container_add (GTK_CONTAINER (pm_none), image1930);
-
-  hbox32 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox32);
-  gtk_table_attach (GTK_TABLE (table11), hbox32, 5, 6, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  pm_descend = gtk_radio_button_new (NULL);
-  gtk_widget_show (pm_descend);
-  gtk_box_pack_start (GTK_BOX (hbox32), pm_descend, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (pm_descend), pm_none_group);
-  pm_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (pm_descend));
-
-  image1929 = gtk_image_new_from_stock ("gtk-sort-descending", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1929);
-  gtk_container_add (GTK_CONTAINER (pm_descend), image1929);
-
-  hbox37 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox37);
-  gtk_table_attach (GTK_TABLE (table11), hbox37, 3, 4, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  pm_ascend = gtk_radio_button_new (NULL);
-  gtk_widget_show (pm_ascend);
-  gtk_box_pack_start (GTK_BOX (hbox37), pm_ascend, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (pm_ascend), pm_none_group);
-  pm_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (pm_ascend));
-
-  image1928 = gtk_image_new_from_stock ("gtk-sort-ascending", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image1928);
-  gtk_container_add (GTK_CONTAINER (pm_ascend), image1928);
-
-  vseparator2 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator2);
-  gtk_table_attach (GTK_TABLE (table11), vseparator2, 0, 1, 1, 8,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  vseparator3 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator3);
-  gtk_table_attach (GTK_TABLE (table11), vseparator3, 8, 9, 1, 8,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  vseparator6 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator6);
-  gtk_table_attach (GTK_TABLE (table11), vseparator6, 2, 3, 1, 8,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  vseparator8 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator8);
-  gtk_table_attach (GTK_TABLE (table11), vseparator8, 6, 7, 1, 8,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  table12 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table12);
-  gtk_table_attach (GTK_TABLE (table11), table12, 3, 4, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table12), 3);
-
-  label82 = gtk_label_new (_("Ascending"));
-  gtk_widget_show (label82);
-  gtk_table_attach (GTK_TABLE (table12), label82, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label82, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label82), TRUE);
-
-  table13 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table13);
-  gtk_table_attach (GTK_TABLE (table11), table13, 5, 6, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table13), 3);
-
-  label85 = gtk_label_new (_("Descending"));
-  gtk_widget_show (label85);
-  gtk_table_attach (GTK_TABLE (table13), label85, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label85, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label85), TRUE);
-
-  table14 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table14);
-  gtk_table_attach (GTK_TABLE (table11), table14, 7, 8, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table14), 3);
-
-  label86 = gtk_label_new (_("None"));
-  gtk_widget_show (label86);
-  gtk_table_attach (GTK_TABLE (table14), label86, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label86, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label86), TRUE);
-
-  table15 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table15);
-  gtk_table_attach (GTK_TABLE (table11), table15, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table15), 3);
-
-  label87 = gtk_label_new (_("Playlists"));
-  gtk_widget_show (label87);
-  gtk_table_attach (GTK_TABLE (table15), label87, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label87, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label87), TRUE);
-
-  table16 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table16);
-  gtk_table_attach (GTK_TABLE (table11), table16, 1, 2, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table16), 3);
-
-  label88 = gtk_label_new (_("Sorttabs"));
-  gtk_widget_show (label88);
-  gtk_table_attach (GTK_TABLE (table16), label88, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label88, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label88), TRUE);
-
-  table17 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table17);
-  gtk_table_attach (GTK_TABLE (table11), table17, 1, 2, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table17), 3);
-
-  label89 = gtk_label_new (_("Tracks"));
-  gtk_widget_show (label89);
-  gtk_table_attach (GTK_TABLE (table17), label89, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label89, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label89), TRUE);
-
-  label91 = gtk_label_new ("");
-  gtk_widget_show (label91);
-  gtk_table_attach (GTK_TABLE (table11), label91, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label91), 0, 0.5);
-
-  hseparator9 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator9);
-  gtk_table_attach (GTK_TABLE (table11), hseparator9, 0, 11, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hseparator10 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator10);
-  gtk_table_attach (GTK_TABLE (table11), hseparator10, 0, 11, 8, 9,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hseparator13 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator13);
-  gtk_table_attach (GTK_TABLE (table11), hseparator13, 1, 10, 6, 7,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hseparator12 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator12);
-  gtk_table_attach (GTK_TABLE (table11), hseparator12, 1, 10, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hseparator11 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator11);
-  gtk_table_attach (GTK_TABLE (table11), hseparator11, 1, 10, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  vseparator9 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator9);
-  gtk_table_attach (GTK_TABLE (table11), vseparator9, 10, 11, 1, 8,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  table19 = gtk_table_new (1, 1, FALSE);
-  gtk_widget_show (table19);
-  gtk_table_attach (GTK_TABLE (table11), table19, 9, 10, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table19), 3);
-
-  label95 = gtk_label_new (_("Auto Store"));
-  gtk_widget_show (label95);
-  gtk_table_attach (GTK_TABLE (table19), label95, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label95, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label95), TRUE);
-
-  hbox40 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox40);
-  gtk_table_attach (GTK_TABLE (table11), hbox40, 9, 10, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hbox42 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox42);
-  gtk_box_pack_start (GTK_BOX (hbox40), hbox42, FALSE, FALSE, 0);
-
-  pm_autostore = gtk_check_button_new ();
-  gtk_widget_show (pm_autostore);
-  gtk_box_pack_start (GTK_BOX (hbox42), pm_autostore, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, pm_autostore, _("Please refer to the notice below."), NULL);
-
-  hbox41 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox41);
-  gtk_table_attach (GTK_TABLE (table11), hbox41, 9, 10, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  tm_autostore = gtk_check_button_new ();
-  gtk_widget_show (tm_autostore);
-  gtk_box_pack_start (GTK_BOX (hbox41), tm_autostore, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, tm_autostore, _("Please refer to the notice below."), NULL);
-
-  label96 = gtk_label_new (_("n/a"));
-  gtk_widget_show (label96);
-  gtk_table_attach (GTK_TABLE (table11), label96, 9, 10, 5, 6,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (label96, GTK_CAN_FOCUS);
-  gtk_label_set_justify (GTK_LABEL (label96), GTK_JUSTIFY_CENTER);
-  gtk_label_set_selectable (GTK_LABEL (label96), TRUE);
-
-  hbox43 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox43);
-  gtk_table_attach (GTK_TABLE (table11), hbox43, 3, 4, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  tm_ascend = gtk_radio_button_new (NULL);
-  gtk_widget_show (tm_ascend);
-  gtk_box_pack_start (GTK_BOX (hbox43), tm_ascend, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (tm_ascend), tm_ascend_group);
-  tm_ascend_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (tm_ascend));
-
-  image2013 = gtk_image_new_from_stock ("gtk-sort-ascending", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image2013);
-  gtk_container_add (GTK_CONTAINER (tm_ascend), image2013);
-
-  vseparator7 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator7);
-  gtk_table_attach (GTK_TABLE (table11), vseparator7, 4, 5, 1, 8,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hbox44 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox44);
-  gtk_table_attach (GTK_TABLE (table11), hbox44, 5, 6, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  tm_descend = gtk_radio_button_new (NULL);
-  gtk_widget_show (tm_descend);
-  gtk_box_pack_start (GTK_BOX (hbox44), tm_descend, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (tm_descend), tm_ascend_group);
-  tm_ascend_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (tm_descend));
-
-  image2014 = gtk_image_new_from_stock ("gtk-sort-descending", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image2014);
-  gtk_container_add (GTK_CONTAINER (tm_descend), image2014);
-
-  hbox45 = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (hbox45);
-  gtk_table_attach (GTK_TABLE (table11), hbox45, 7, 8, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  tm_none = gtk_radio_button_new (NULL);
-  gtk_widget_show (tm_none);
-  gtk_box_pack_start (GTK_BOX (hbox45), tm_none, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (tm_none), tm_ascend_group);
-  tm_ascend_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (tm_none));
-
-  image2015 = gtk_image_new_from_stock ("gtk-undo", GTK_ICON_SIZE_BUTTON);
-  gtk_widget_show (image2015);
-  gtk_container_add (GTK_CONTAINER (tm_none), image2015);
-
-  hbox46 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox46);
-  gtk_box_pack_start (GTK_BOX (vbox53), hbox46, TRUE, TRUE, 0);
-
-  label97 = gtk_label_new (_("Sort tracks according to: "));
-  gtk_widget_show (label97);
-  gtk_box_pack_start (GTK_BOX (hbox46), label97, FALSE, FALSE, 4);
-  GTK_WIDGET_SET_FLAGS (label97, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label97), TRUE);
-
-  sort_combo = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (sort_combo)->popwin),
-                     "GladeParentKey", sort_combo);
-  gtk_widget_show (sort_combo);
-  gtk_box_pack_start (GTK_BOX (hbox46), sort_combo, TRUE, TRUE, 0);
-
-  sort_combo_entry = GTK_COMBO (sort_combo)->entry;
-  gtk_widget_show (sort_combo_entry);
-  gtk_tooltips_set_tip (tooltips, sort_combo_entry, _("You can also use the table headers, but this allows you to sort according to a column that is not displayed."), NULL);
-
-  hseparator15 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator15);
-  gtk_box_pack_start (GTK_BOX (vbox53), hseparator15, FALSE, TRUE, 4);
-
-  cfg_case_sensitive = gtk_check_button_new_with_mnemonic (_("Sorting case sensitive"));
-  gtk_widget_show (cfg_case_sensitive);
-  gtk_box_pack_start (GTK_BOX (vbox53), cfg_case_sensitive, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, cfg_case_sensitive, _("If checked, sorting will be case sensitive. Please note that case sensitive sorting will not work well with most charsets."), NULL);
-
-  hseparator16 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator16);
-  gtk_box_pack_start (GTK_BOX (vbox53), hseparator16, FALSE, FALSE, 0);
-
-  hbox39 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox39);
-  gtk_box_pack_start (GTK_BOX (vbox53), hbox39, FALSE, FALSE, 4);
-
-  label94 = gtk_label_new (_("Notice: the track order is always stored to the iPod when you use drag and drop to re-arrange the tracks.\nIn 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."));
-  gtk_widget_show (label94);
-  gtk_box_pack_start (GTK_BOX (hbox39), label94, FALSE, FALSE, 4);
-  GTK_WIDGET_SET_FLAGS (label94, GTK_CAN_FOCUS);
-  gtk_label_set_line_wrap (GTK_LABEL (label94), TRUE);
-  gtk_label_set_selectable (GTK_LABEL (label94), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label94), 0.04, 0.5);
-
-  label92 = gtk_label_new (_("Sorting"));
-  gtk_widget_show (label92);
-  gtk_frame_set_label_widget (GTK_FRAME (frame26), label92);
-  GTK_WIDGET_SET_FLAGS (label92, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label92), TRUE);
-
-  hbuttonbox8 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox8);
-  gtk_box_pack_start (GTK_BOX (vbox52), hbuttonbox8, FALSE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox8), 5);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox8), GTK_BUTTONBOX_SPREAD);
-
-  sort_cancel = gtk_button_new_from_stock ("gtk-cancel");
-  gtk_widget_show (sort_cancel);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox8), sort_cancel);
-  GTK_WIDGET_SET_FLAGS (sort_cancel, GTK_CAN_DEFAULT);
-
-  sort_apply = gtk_button_new_from_stock ("gtk-apply");
-  gtk_widget_show (sort_apply);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox8), sort_apply);
-  GTK_WIDGET_SET_FLAGS (sort_apply, GTK_CAN_DEFAULT);
-
-  sort_ok = gtk_button_new_from_stock ("gtk-ok");
-  gtk_widget_show (sort_ok);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox8), sort_ok);
-  GTK_WIDGET_SET_FLAGS (sort_ok, GTK_CAN_DEFAULT);
-
-  g_signal_connect ((gpointer) sort_window, "delete_event",
-                    G_CALLBACK (on_sort_window_delete_event),
-                    NULL);
-  g_signal_connect ((gpointer) st_ascend, "toggled",
-                    G_CALLBACK (on_st_ascend_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) st_descend, "toggled",
-                    G_CALLBACK (on_st_descend_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) st_none, "toggled",
-                    G_CALLBACK (on_st_none_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) pm_none, "toggled",
-                    G_CALLBACK (on_pm_none_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) pm_descend, "toggled",
-                    G_CALLBACK (on_pm_descend_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) pm_ascend, "toggled",
-                    G_CALLBACK (on_pm_ascend_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) pm_autostore, "toggled",
-                    G_CALLBACK (on_pm_autostore_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) tm_autostore, "toggled",
-                    G_CALLBACK (on_tm_autostore_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) tm_ascend, "toggled",
-                    G_CALLBACK (on_tm_ascend_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) tm_descend, "toggled",
-                    G_CALLBACK (on_tm_descend_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) tm_none, "toggled",
-                    G_CALLBACK (on_tm_none_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) cfg_case_sensitive, "toggled",
-                    G_CALLBACK (on_sort_case_sensitive_toggled),
-                    NULL);
-  g_signal_connect ((gpointer) sort_cancel, "clicked",
-                    G_CALLBACK (on_sort_cancel_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) sort_apply, "clicked",
-                    G_CALLBACK (on_sort_apply_clicked),
-                    NULL);
-  g_signal_connect ((gpointer) sort_ok, "clicked",
-                    G_CALLBACK (on_sort_ok_clicked),
-                    NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (sort_window, sort_window, "sort_window");
-  GLADE_HOOKUP_OBJECT (sort_window, vbox52, "vbox52");
-  GLADE_HOOKUP_OBJECT (sort_window, frame26, "frame26");
-  GLADE_HOOKUP_OBJECT (sort_window, vbox53, "vbox53");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox30, "hbox30");
-  GLADE_HOOKUP_OBJECT (sort_window, table11, "table11");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox34, "hbox34");
-  GLADE_HOOKUP_OBJECT (sort_window, st_ascend, "st_ascend");
-  GLADE_HOOKUP_OBJECT (sort_window, image1931, "image1931");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox35, "hbox35");
-  GLADE_HOOKUP_OBJECT (sort_window, st_descend, "st_descend");
-  GLADE_HOOKUP_OBJECT (sort_window, image1932, "image1932");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox36, "hbox36");
-  GLADE_HOOKUP_OBJECT (sort_window, st_none, "st_none");
-  GLADE_HOOKUP_OBJECT (sort_window, image1933, "image1933");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox33, "hbox33");
-  GLADE_HOOKUP_OBJECT (sort_window, pm_none, "pm_none");
-  GLADE_HOOKUP_OBJECT (sort_window, image1930, "image1930");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox32, "hbox32");
-  GLADE_HOOKUP_OBJECT (sort_window, pm_descend, "pm_descend");
-  GLADE_HOOKUP_OBJECT (sort_window, image1929, "image1929");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox37, "hbox37");
-  GLADE_HOOKUP_OBJECT (sort_window, pm_ascend, "pm_ascend");
-  GLADE_HOOKUP_OBJECT (sort_window, image1928, "image1928");
-  GLADE_HOOKUP_OBJECT (sort_window, vseparator2, "vseparator2");
-  GLADE_HOOKUP_OBJECT (sort_window, vseparator3, "vseparator3");
-  GLADE_HOOKUP_OBJECT (sort_window, vseparator6, "vseparator6");
-  GLADE_HOOKUP_OBJECT (sort_window, vseparator8, "vseparator8");
-  GLADE_HOOKUP_OBJECT (sort_window, table12, "table12");
-  GLADE_HOOKUP_OBJECT (sort_window, label82, "label82");
-  GLADE_HOOKUP_OBJECT (sort_window, table13, "table13");
-  GLADE_HOOKUP_OBJECT (sort_window, label85, "label85");
-  GLADE_HOOKUP_OBJECT (sort_window, table14, "table14");
-  GLADE_HOOKUP_OBJECT (sort_window, label86, "label86");
-  GLADE_HOOKUP_OBJECT (sort_window, table15, "table15");
-  GLADE_HOOKUP_OBJECT (sort_window, label87, "label87");
-  GLADE_HOOKUP_OBJECT (sort_window, table16, "table16");
-  GLADE_HOOKUP_OBJECT (sort_window, label88, "label88");
-  GLADE_HOOKUP_OBJECT (sort_window, table17, "table17");
-  GLADE_HOOKUP_OBJECT (sort_window, label89, "label89");
-  GLADE_HOOKUP_OBJECT (sort_window, label91, "label91");
-  GLADE_HOOKUP_OBJECT (sort_window, hseparator9, "hseparator9");
-  GLADE_HOOKUP_OBJECT (sort_window, hseparator10, "hseparator10");
-  GLADE_HOOKUP_OBJECT (sort_window, hseparator13, "hseparator13");
-  GLADE_HOOKUP_OBJECT (sort_window, hseparator12, "hseparator12");
-  GLADE_HOOKUP_OBJECT (sort_window, hseparator11, "hseparator11");
-  GLADE_HOOKUP_OBJECT (sort_window, vseparator9, "vseparator9");
-  GLADE_HOOKUP_OBJECT (sort_window, table19, "table19");
-  GLADE_HOOKUP_OBJECT (sort_window, label95, "label95");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox40, "hbox40");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox42, "hbox42");
-  GLADE_HOOKUP_OBJECT (sort_window, pm_autostore, "pm_autostore");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox41, "hbox41");
-  GLADE_HOOKUP_OBJECT (sort_window, tm_autostore, "tm_autostore");
-  GLADE_HOOKUP_OBJECT (sort_window, label96, "label96");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox43, "hbox43");
-  GLADE_HOOKUP_OBJECT (sort_window, tm_ascend, "tm_ascend");
-  GLADE_HOOKUP_OBJECT (sort_window, image2013, "image2013");
-  GLADE_HOOKUP_OBJECT (sort_window, vseparator7, "vseparator7");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox44, "hbox44");
-  GLADE_HOOKUP_OBJECT (sort_window, tm_descend, "tm_descend");
-  GLADE_HOOKUP_OBJECT (sort_window, image2014, "image2014");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox45, "hbox45");
-  GLADE_HOOKUP_OBJECT (sort_window, tm_none, "tm_none");
-  GLADE_HOOKUP_OBJECT (sort_window, image2015, "image2015");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox46, "hbox46");
-  GLADE_HOOKUP_OBJECT (sort_window, label97, "label97");
-  GLADE_HOOKUP_OBJECT (sort_window, sort_combo, "sort_combo");
-  GLADE_HOOKUP_OBJECT (sort_window, sort_combo_entry, "sort_combo_entry");
-  GLADE_HOOKUP_OBJECT (sort_window, hseparator15, "hseparator15");
-  GLADE_HOOKUP_OBJECT (sort_window, cfg_case_sensitive, "cfg_case_sensitive");
-  GLADE_HOOKUP_OBJECT (sort_window, hseparator16, "hseparator16");
-  GLADE_HOOKUP_OBJECT (sort_window, hbox39, "hbox39");
-  GLADE_HOOKUP_OBJECT (sort_window, label94, "label94");
-  GLADE_HOOKUP_OBJECT (sort_window, label92, "label92");
-  GLADE_HOOKUP_OBJECT (sort_window, hbuttonbox8, "hbuttonbox8");
-  GLADE_HOOKUP_OBJECT (sort_window, sort_cancel, "sort_cancel");
-  GLADE_HOOKUP_OBJECT (sort_window, sort_apply, "sort_apply");
-  GLADE_HOOKUP_OBJECT (sort_window, sort_ok, "sort_ok");
-  GLADE_HOOKUP_OBJECT_NO_REF (sort_window, tooltips, "tooltips");
-
-  return sort_window;
-}
-
-GtkWidget*
-create_gtkpod_info (void)
-{
-  GtkWidget *gtkpod_info;
-  GdkPixbuf *gtkpod_info_icon_pixbuf;
-  GtkWidget *vbox56;
-  GtkWidget *scrolledwindow10;
-  GtkWidget *viewport7;
-  GtkWidget *vbox57;
-  GtkWidget *hbox49;
-  GtkWidget *table22;
-  GtkWidget *hseparator39;
-  GtkWidget *free_space;
-  GtkWidget *non_transfered_filesize;
-  GtkWidget *hseparator37;
-  GtkWidget *non_transfered_tracks;
-  GtkWidget *vseparator17;
-  GtkWidget *vseparator18;
-  GtkWidget *vseparator19;
-  GtkWidget *hseparator42;
-  GtkWidget *deleted_filesize;
-  GtkWidget *deleted_tracks;
-  GtkWidget *hseparator41;
-  GtkWidget *hseparator38;
-  GtkWidget *total_tracks;
-  GtkWidget *total_playtime;
-  GtkWidget *total_filesize;
-  GtkWidget *total_playlists;
-  GtkWidget *hseparator45;
-  GtkWidget *hseparator35;
-  GtkWidget *hseparator32;
-  GtkWidget *hseparator33;
-  GtkWidget *hseparator34;
-  GtkWidget *playlist_tracks;
-  GtkWidget *playlist_playtime;
-  GtkWidget *playlist_filesize;
-  GtkWidget *vseparator20;
-  GtkWidget *tracks_total;
-  GtkWidget *playtime_total;
-  GtkWidget *filesize_total;
-  GtkWidget *vseparator21;
-  GtkWidget *tracks_selected;
-  GtkWidget *playtime_selected;
-  GtkWidget *filesize_selected;
-  GtkWidget *vseparator22;
-  GtkWidget *hseparator36;
-  GtkWidget *label137;
-  GtkWidget *label139;
-  GtkWidget *label141;
-  GtkWidget *label147;
-  GtkWidget *label149;
-  GtkWidget *label150;
-  GtkWidget *label143;
-  GtkWidget *label145;
-  GtkWidget *label146;
-  GtkWidget *label99;
-  GtkWidget *label153;
-  GtkWidget *label154;
-  GtkWidget *label155;
-  GtkWidget *vbox58;
-  GtkWidget *hbox50;
-  GtkWidget *hbuttonbox9;
-  GtkWidget *info_close;
-
-  gtkpod_info = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (gtkpod_info), _("gtkpod Info"));
-  gtkpod_info_icon_pixbuf = create_pixbuf ("gtkpod-icon-48.png");
-  if (gtkpod_info_icon_pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (gtkpod_info), gtkpod_info_icon_pixbuf);
-      gdk_pixbuf_unref (gtkpod_info_icon_pixbuf);
-    }
-
-  vbox56 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox56);
-  gtk_container_add (GTK_CONTAINER (gtkpod_info), vbox56);
-
-  scrolledwindow10 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scrolledwindow10);
-  gtk_box_pack_start (GTK_BOX (vbox56), scrolledwindow10, TRUE, TRUE, 0);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow10), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
-  viewport7 = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (viewport7);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow10), viewport7);
-
-  vbox57 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox57);
-  gtk_container_add (GTK_CONTAINER (viewport7), vbox57);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox57), 6);
-
-  hbox49 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox49);
-  gtk_box_pack_start (GTK_BOX (vbox57), hbox49, FALSE, FALSE, 6);
-
-  table22 = gtk_table_new (21, 11, FALSE);
-  gtk_widget_show (table22);
-  gtk_box_pack_start (GTK_BOX (hbox49), table22, FALSE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table22), 4);
-  gtk_table_set_col_spacings (GTK_TABLE (table22), 1);
-
-  hseparator39 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator39);
-  gtk_table_attach (GTK_TABLE (table22), hseparator39, 0, 5, 20, 21,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  free_space = gtk_label_new ("");
-  gtk_widget_show (free_space);
-  gtk_table_attach (GTK_TABLE (table22), free_space, 3, 4, 19, 20,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (free_space, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (free_space), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (free_space), 1, 0.5);
-
-  non_transfered_filesize = gtk_label_new ("");
-  gtk_widget_show (non_transfered_filesize);
-  gtk_table_attach (GTK_TABLE (table22), non_transfered_filesize, 3, 4, 17, 18,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (non_transfered_filesize, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (non_transfered_filesize), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (non_transfered_filesize), 1, 0.5);
-
-  hseparator37 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator37);
-  gtk_table_attach (GTK_TABLE (table22), hseparator37, 0, 5, 16, 17,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  non_transfered_tracks = gtk_label_new ("");
-  gtk_widget_show (non_transfered_tracks);
-  gtk_table_attach (GTK_TABLE (table22), non_transfered_tracks, 3, 4, 15, 16,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (non_transfered_tracks, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (non_transfered_tracks), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (non_transfered_tracks), 1, 0.5);
-
-  vseparator17 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator17);
-  gtk_table_attach (GTK_TABLE (table22), vseparator17, 0, 1, 1, 20,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  vseparator18 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator18);
-  gtk_table_attach (GTK_TABLE (table22), vseparator18, 2, 3, 1, 20,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  vseparator19 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator19);
-  gtk_table_attach (GTK_TABLE (table22), vseparator19, 4, 5, 1, 20,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hseparator42 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator42);
-  gtk_table_attach (GTK_TABLE (table22), hseparator42, 1, 4, 12, 13,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  deleted_filesize = gtk_label_new ("");
-  gtk_widget_show (deleted_filesize);
-  gtk_table_attach (GTK_TABLE (table22), deleted_filesize, 3, 4, 13, 14,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (deleted_filesize, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (deleted_filesize), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (deleted_filesize), 1, 0.5);
-
-  deleted_tracks = gtk_label_new ("");
-  gtk_widget_show (deleted_tracks);
-  gtk_table_attach (GTK_TABLE (table22), deleted_tracks, 3, 4, 11, 12,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (deleted_tracks, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (deleted_tracks), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (deleted_tracks), 1, 0.5);
-
-  hseparator41 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator41);
-  gtk_table_attach (GTK_TABLE (table22), hseparator41, 1, 4, 14, 15,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hseparator38 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator38);
-  gtk_table_attach (GTK_TABLE (table22), hseparator38, 0, 5, 18, 19,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  total_tracks = gtk_label_new (_("      "));
-  gtk_widget_show (total_tracks);
-  gtk_table_attach (GTK_TABLE (table22), total_tracks, 3, 4, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (total_tracks, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (total_tracks), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (total_tracks), 1, 0.5);
-
-  total_playtime = gtk_label_new ("");
-  gtk_widget_show (total_playtime);
-  gtk_table_attach (GTK_TABLE (table22), total_playtime, 3, 4, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (total_playtime, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (total_playtime), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (total_playtime), 1, 0.5);
-
-  total_filesize = gtk_label_new ("");
-  gtk_widget_show (total_filesize);
-  gtk_table_attach (GTK_TABLE (table22), total_filesize, 3, 4, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (total_filesize, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (total_filesize), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (total_filesize), 1, 0.5);
-
-  total_playlists = gtk_label_new (_("      "));
-  gtk_widget_show (total_playlists);
-  gtk_table_attach (GTK_TABLE (table22), total_playlists, 3, 4, 9, 10,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (total_playlists, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (total_playlists), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (total_playlists), 1, 0.5);
-
-  hseparator45 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator45);
-  gtk_table_attach (GTK_TABLE (table22), hseparator45, 0, 11, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  hseparator35 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator35);
-  gtk_table_attach (GTK_TABLE (table22), hseparator35, 0, 11, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hseparator32 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator32);
-  gtk_table_attach (GTK_TABLE (table22), hseparator32, 0, 11, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  hseparator33 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator33);
-  gtk_table_attach (GTK_TABLE (table22), hseparator33, 0, 11, 6, 7,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  hseparator34 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator34);
-  gtk_table_attach (GTK_TABLE (table22), hseparator34, 0, 11, 8, 9,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  playlist_tracks = gtk_label_new (_("      "));
-  gtk_widget_show (playlist_tracks);
-  gtk_table_attach (GTK_TABLE (table22), playlist_tracks, 5, 6, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (playlist_tracks, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (playlist_tracks), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (playlist_tracks), 1, 0.5);
-
-  playlist_playtime = gtk_label_new ("");
-  gtk_widget_show (playlist_playtime);
-  gtk_table_attach (GTK_TABLE (table22), playlist_playtime, 5, 6, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (playlist_playtime, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (playlist_playtime), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (playlist_playtime), 1, 0.5);
-
-  playlist_filesize = gtk_label_new ("");
-  gtk_widget_show (playlist_filesize);
-  gtk_table_attach (GTK_TABLE (table22), playlist_filesize, 5, 6, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (playlist_filesize, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (playlist_filesize), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (playlist_filesize), 1, 0.5);
-
-  vseparator20 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator20);
-  gtk_table_attach (GTK_TABLE (table22), vseparator20, 6, 7, 1, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  tracks_total = gtk_label_new ("");
-  gtk_widget_show (tracks_total);
-  gtk_table_attach (GTK_TABLE (table22), tracks_total, 7, 8, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (tracks_total, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (tracks_total), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (tracks_total), 1, 0.5);
-
-  playtime_total = gtk_label_new ("");
-  gtk_widget_show (playtime_total);
-  gtk_table_attach (GTK_TABLE (table22), playtime_total, 7, 8, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (playtime_total, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (playtime_total), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (playtime_total), 1, 0.5);
-
-  filesize_total = gtk_label_new ("");
-  gtk_widget_show (filesize_total);
-  gtk_table_attach (GTK_TABLE (table22), filesize_total, 7, 8, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (filesize_total, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (filesize_total), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (filesize_total), 1, 0.5);
-
-  vseparator21 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator21);
-  gtk_table_attach (GTK_TABLE (table22), vseparator21, 8, 9, 1, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  tracks_selected = gtk_label_new ("");
-  gtk_widget_show (tracks_selected);
-  gtk_table_attach (GTK_TABLE (table22), tracks_selected, 9, 10, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (tracks_selected, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (tracks_selected), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (tracks_selected), 1, 0.5);
-
-  playtime_selected = gtk_label_new ("");
-  gtk_widget_show (playtime_selected);
-  gtk_table_attach (GTK_TABLE (table22), playtime_selected, 9, 10, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (playtime_selected, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (playtime_selected), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (playtime_selected), 1, 0.5);
-
-  filesize_selected = gtk_label_new ("");
-  gtk_widget_show (filesize_selected);
-  gtk_table_attach (GTK_TABLE (table22), filesize_selected, 9, 10, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (filesize_selected, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (filesize_selected), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (filesize_selected), 1, 0.5);
-
-  vseparator22 = gtk_vseparator_new ();
-  gtk_widget_show (vseparator22);
-  gtk_table_attach (GTK_TABLE (table22), vseparator22, 10, 11, 1, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hseparator36 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator36);
-  gtk_table_attach (GTK_TABLE (table22), hseparator36, 0, 5, 10, 11,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
-
-  label137 = gtk_label_new (_("Number of tracks"));
-  gtk_widget_show (label137);
-  gtk_table_attach (GTK_TABLE (table22), label137, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label137, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label137), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label137), 0, 0.5);
-
-  label139 = gtk_label_new (_("Play time"));
-  gtk_widget_show (label139);
-  gtk_table_attach (GTK_TABLE (table22), label139, 1, 2, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 1);
-  GTK_WIDGET_SET_FLAGS (label139, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label139), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label139), 0, 0.5);
-
-  label141 = gtk_label_new (_("File size"));
-  gtk_widget_show (label141);
-  gtk_table_attach (GTK_TABLE (table22), label141, 1, 2, 7, 8,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label141, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label141), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label141), 0, 0.5);
-
-  label147 = gtk_label_new (_("Number of playlists"));
-  gtk_widget_show (label147);
-  gtk_table_attach (GTK_TABLE (table22), label147, 1, 2, 9, 10,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label147, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label147), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label147), 0, 0.5);
-
-  label149 = gtk_label_new (_("Deleted tracks"));
-  gtk_widget_show (label149);
-  gtk_table_attach (GTK_TABLE (table22), label149, 1, 2, 11, 12,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label149, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label149), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label149), 0, 0.5);
-
-  label150 = gtk_label_new (_("File size (deleted)"));
-  gtk_widget_show (label150);
-  gtk_table_attach (GTK_TABLE (table22), label150, 1, 2, 13, 14,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label150, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label150), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label150), 0, 0.5);
-
-  label143 = gtk_label_new (_("Non-transfered tracks"));
-  gtk_widget_show (label143);
-  gtk_table_attach (GTK_TABLE (table22), label143, 1, 2, 15, 16,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label143, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label143), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label143), 0, 0.5);
-
-  label145 = gtk_label_new (_("File size (non-transfered)"));
-  gtk_widget_show (label145);
-  gtk_table_attach (GTK_TABLE (table22), label145, 1, 2, 17, 18,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label145, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label145), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label145), 0, 0.5);
-
-  label146 = gtk_label_new (_("Free space on iPod"));
-  gtk_widget_show (label146);
-  gtk_table_attach (GTK_TABLE (table22), label146, 1, 2, 19, 20,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 0);
-  GTK_WIDGET_SET_FLAGS (label146, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label146), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label146), 0, 0.5);
-
-  label99 = gtk_label_new (_("Total"));
-  gtk_widget_show (label99);
-  gtk_table_attach (GTK_TABLE (table22), label99, 3, 4, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 1);
-  GTK_WIDGET_SET_FLAGS (label99, GTK_CAN_FOCUS);
-  gtk_label_set_justify (GTK_LABEL (label99), GTK_JUSTIFY_CENTER);
-  gtk_label_set_selectable (GTK_LABEL (label99), TRUE);
-
-  label153 = gtk_label_new (_("Selected\nPlaylist"));
-  gtk_widget_show (label153);
-  gtk_table_attach (GTK_TABLE (table22), label153, 5, 6, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 1);
-  GTK_WIDGET_SET_FLAGS (label153, GTK_CAN_FOCUS);
-  gtk_label_set_justify (GTK_LABEL (label153), GTK_JUSTIFY_CENTER);
-  gtk_label_set_selectable (GTK_LABEL (label153), TRUE);
-
-  label154 = gtk_label_new (_("Displayed\nTracks"));
-  gtk_widget_show (label154);
-  gtk_table_attach (GTK_TABLE (table22), label154, 7, 8, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 1);
-  GTK_WIDGET_SET_FLAGS (label154, GTK_CAN_FOCUS);
-  gtk_label_set_justify (GTK_LABEL (label154), GTK_JUSTIFY_CENTER);
-  gtk_label_set_selectable (GTK_LABEL (label154), TRUE);
-
-  label155 = gtk_label_new (_("Selected\nTracks"));
-  gtk_widget_show (label155);
-  gtk_table_attach (GTK_TABLE (table22), label155, 9, 10, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 1, 1);
-  GTK_WIDGET_SET_FLAGS (label155, GTK_CAN_FOCUS);
-  gtk_label_set_justify (GTK_LABEL (label155), GTK_JUSTIFY_CENTER);
-  gtk_label_set_selectable (GTK_LABEL (label155), TRUE);
-
-  vbox58 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox58);
-  gtk_table_attach (GTK_TABLE (table22), vbox58, 5, 11, 9, 21,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  hbox50 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox50);
-  gtk_box_pack_end (GTK_BOX (vbox58), hbox50, FALSE, FALSE, 0);
-
-  hbuttonbox9 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox9);
-  gtk_box_pack_end (GTK_BOX (hbox50), hbuttonbox9, FALSE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox9), 5);
-
-  info_close = gtk_button_new_from_stock ("gtk-close");
-  gtk_widget_show (info_close);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox9), info_close);
-  GTK_WIDGET_SET_FLAGS (info_close, GTK_CAN_DEFAULT);
-
-  g_signal_connect ((gpointer) gtkpod_info, "delete_event",
-                    G_CALLBACK (on_gtkpod_info_delete_event),
-                    NULL);
-  g_signal_connect ((gpointer) info_close, "clicked",
-                    G_CALLBACK (on_info_close_clicked),
-                    NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (gtkpod_info, gtkpod_info, "gtkpod_info");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vbox56, "vbox56");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, scrolledwindow10, "scrolledwindow10");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, viewport7, "viewport7");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vbox57, "vbox57");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hbox49, "hbox49");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, table22, "table22");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator39, "hseparator39");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, free_space, "free_space");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, non_transfered_filesize, "non_transfered_filesize");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator37, "hseparator37");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, non_transfered_tracks, "non_transfered_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vseparator17, "vseparator17");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vseparator18, "vseparator18");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vseparator19, "vseparator19");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator42, "hseparator42");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, deleted_filesize, "deleted_filesize");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, deleted_tracks, "deleted_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator41, "hseparator41");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator38, "hseparator38");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, total_tracks, "total_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, total_playtime, "total_playtime");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, total_filesize, "total_filesize");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, total_playlists, "total_playlists");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator45, "hseparator45");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator35, "hseparator35");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator32, "hseparator32");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator33, "hseparator33");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator34, "hseparator34");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, playlist_tracks, "playlist_tracks");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, playlist_playtime, "playlist_playtime");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, playlist_filesize, "playlist_filesize");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vseparator20, "vseparator20");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, tracks_total, "tracks_total");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, playtime_total, "playtime_total");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, filesize_total, "filesize_total");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vseparator21, "vseparator21");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, tracks_selected, "tracks_selected");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, playtime_selected, "playtime_selected");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, filesize_selected, "filesize_selected");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vseparator22, "vseparator22");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hseparator36, "hseparator36");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label137, "label137");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label139, "label139");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label141, "label141");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label147, "label147");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label149, "label149");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label150, "label150");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label143, "label143");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label145, "label145");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label146, "label146");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label99, "label99");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label153, "label153");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label154, "label154");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, label155, "label155");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, vbox58, "vbox58");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hbox50, "hbox50");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, hbuttonbox9, "hbuttonbox9");
-  GLADE_HOOKUP_OBJECT (gtkpod_info, info_close, "info_close");
-
-  return gtkpod_info;
-}
-
-GtkWidget*
-create_confirm_dialog (void)
-{
-  GtkWidget *confirm_dialog;
-  GtkWidget *dialog_vbox1;
-  GtkWidget *vbox6;
-  GtkWidget *label;
-  GtkWidget *vbox7;
-  GtkWidget *scroller;
-  GtkWidget *text;
-  GtkWidget *option_hbox;
-  GtkWidget *option_vbox;
-  GtkWidget *never_again;
-  GtkWidget *dialog_action_area1;
-  GtkWidget *cancel;
-  GtkWidget *apply;
-  GtkWidget *ok;
-
-  confirm_dialog = gtk_dialog_new ();
-  gtk_window_set_type_hint (GTK_WINDOW (confirm_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
-
-  dialog_vbox1 = GTK_DIALOG (confirm_dialog)->vbox;
-  gtk_widget_show (dialog_vbox1);
-
-  vbox6 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox6);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox6, TRUE, TRUE, 0);
-
-  label = gtk_label_new (_("label21"));
-  gtk_widget_show (label);
-  gtk_box_pack_start (GTK_BOX (vbox6), label, FALSE, TRUE, 6);
-  GTK_WIDGET_SET_FLAGS (label, GTK_CAN_FOCUS);
-  gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
-  gtk_label_set_selectable (GTK_LABEL (label), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0);
-
-  vbox7 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox7);
-  gtk_box_pack_start (GTK_BOX (vbox6), vbox7, TRUE, TRUE, 0);
-
-  scroller = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (scroller);
-  gtk_box_pack_start (GTK_BOX (vbox7), scroller, TRUE, TRUE, 0);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroller), GTK_SHADOW_IN);
-
-  text = gtk_text_view_new ();
-  gtk_widget_show (text);
-  gtk_container_add (GTK_CONTAINER (scroller), text);
-  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text), GTK_WRAP_WORD);
-
-  option_hbox = gtk_hbox_new (TRUE, 0);
-  gtk_widget_show (option_hbox);
-  gtk_box_pack_start (GTK_BOX (vbox6), option_hbox, FALSE, FALSE, 0);
-
-  option_vbox = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (option_vbox);
-  gtk_box_pack_start (GTK_BOX (option_hbox), option_vbox, FALSE, TRUE, 0);
-
-  never_again = gtk_check_button_new_with_mnemonic (_("Never show this dialogue again"));
-  gtk_widget_show (never_again);
-  gtk_box_pack_end (GTK_BOX (option_vbox), never_again, FALSE, FALSE, 0);
-
-  dialog_action_area1 = GTK_DIALOG (confirm_dialog)->action_area;
-  gtk_widget_show (dialog_action_area1);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
-
-  cancel = gtk_button_new_from_stock ("gtk-cancel");
-  gtk_widget_show (cancel);
-  gtk_dialog_add_action_widget (GTK_DIALOG (confirm_dialog), cancel, GTK_RESPONSE_CANCEL);
-  GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
-
-  apply = gtk_button_new_from_stock ("gtk-apply");
-  gtk_widget_show (apply);
-  gtk_dialog_add_action_widget (GTK_DIALOG (confirm_dialog), apply, GTK_RESPONSE_APPLY);
-  GTK_WIDGET_SET_FLAGS (apply, GTK_CAN_DEFAULT);
-
-  ok = gtk_button_new_from_stock ("gtk-ok");
-  gtk_widget_show (ok);
-  gtk_dialog_add_action_widget (GTK_DIALOG (confirm_dialog), ok, GTK_RESPONSE_OK);
-  GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (confirm_dialog, confirm_dialog, "confirm_dialog");
-  GLADE_HOOKUP_OBJECT_NO_REF (confirm_dialog, dialog_vbox1, "dialog_vbox1");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, vbox6, "vbox6");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, label, "label");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, vbox7, "vbox7");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, scroller, "scroller");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, text, "text");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, option_hbox, "option_hbox");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, option_vbox, "option_vbox");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, never_again, "never_again");
-  GLADE_HOOKUP_OBJECT_NO_REF (confirm_dialog, dialog_action_area1, "dialog_action_area1");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, cancel, "cancel");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, apply, "apply");
-  GLADE_HOOKUP_OBJECT (confirm_dialog, ok, "ok");
-
-  return confirm_dialog;
-}
-
-GtkWidget*
-create_export_playlist_file_options (void)
-{
-  GtkWidget *export_playlist_file_options;
-  GtkWidget *options_frame;
-  GtkWidget *alignment4;
-  GtkWidget *vbox61;
-  GtkWidget *table29;
-  GtkWidget *hbox59;
-  GtkWidget *type_m3u;
-  GSList *type_m3u_group = NULL;
-  GtkWidget *type_pls;
-  GtkWidget *hbox60;
-  GtkWidget *source_prefer_local;
-  GSList *source_prefer_local_group = NULL;
-  GtkWidget *source_local;
-  GtkWidget *source_ipod;
-  GtkWidget *label167;
-  GtkWidget *label168;
-  GtkWidget *hbox58;
-  GtkWidget *label165;
-  GtkWidget *export_playlist_file_template;
-  GtkWidget *label166;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  export_playlist_file_options = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (export_playlist_file_options), _("window1"));
-
-  options_frame = gtk_frame_new (NULL);
-  gtk_widget_show (options_frame);
-  gtk_container_add (GTK_CONTAINER (export_playlist_file_options), options_frame);
-  gtk_frame_set_shadow_type (GTK_FRAME (options_frame), GTK_SHADOW_ETCHED_OUT);
-
-  alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1);
-  gtk_widget_show (alignment4);
-  gtk_container_add (GTK_CONTAINER (options_frame), alignment4);
-  gtk_container_set_border_width (GTK_CONTAINER (alignment4), 5);
-  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 0, 0, 12, 0);
-
-  vbox61 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox61);
-  gtk_container_add (GTK_CONTAINER (alignment4), vbox61);
-
-  table29 = gtk_table_new (2, 2, FALSE);
-  gtk_widget_show (table29);
-  gtk_box_pack_start (GTK_BOX (vbox61), table29, FALSE, FALSE, 0);
-
-  hbox59 = gtk_hbox_new (FALSE, 10);
-  gtk_widget_show (hbox59);
-  gtk_table_attach (GTK_TABLE (table29), hbox59, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  type_m3u = gtk_radio_button_new_with_mnemonic (NULL, _("_M3U"));
-  gtk_widget_show (type_m3u);
-  gtk_box_pack_start (GTK_BOX (hbox59), type_m3u, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (type_m3u), type_m3u_group);
-  type_m3u_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (type_m3u));
-
-  type_pls = gtk_radio_button_new_with_mnemonic (NULL, _("_PLS"));
-  gtk_widget_show (type_pls);
-  gtk_box_pack_start (GTK_BOX (hbox59), type_pls, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (type_pls), type_m3u_group);
-  type_m3u_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (type_pls));
-
-  hbox60 = gtk_hbox_new (FALSE, 10);
-  gtk_widget_show (hbox60);
-  gtk_table_attach (GTK_TABLE (table29), hbox60, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  source_prefer_local = gtk_radio_button_new_with_mnemonic (NULL, _("_Prefer Local"));
-  gtk_widget_show (source_prefer_local);
-  gtk_box_pack_start (GTK_BOX (hbox60), source_prefer_local, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, source_prefer_local, _("If available, the local copy of the track is referenced in the playlist. Otherwise the file on the iPod is used."), NULL);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (source_prefer_local), source_prefer_local_group);
-  source_prefer_local_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (source_prefer_local));
-
-  source_local = gtk_radio_button_new_with_mnemonic (NULL, _("_Local"));
-  gtk_widget_show (source_local);
-  gtk_box_pack_start (GTK_BOX (hbox60), source_local, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, source_local, _("The local copy of the track is referenced in the playlist. If the track is not available locally, an error message is displayed."), NULL);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (source_local), source_prefer_local_group);
-  source_prefer_local_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (source_local));
-
-  source_ipod = gtk_radio_button_new_with_mnemonic (NULL, _("_iPod"));
-  gtk_widget_show (source_ipod);
-  gtk_box_pack_start (GTK_BOX (hbox60), source_ipod, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, source_ipod, _("The track on the iPod is referenced in the playlist file."), NULL);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (source_ipod), source_prefer_local_group);
-  source_prefer_local_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (source_ipod));
-
-  label167 = gtk_label_new (_("Playlist type:"));
-  gtk_widget_show (label167);
-  gtk_table_attach (GTK_TABLE (table29), label167, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 4);
-  gtk_misc_set_alignment (GTK_MISC (label167), 0, 0.5);
-
-  label168 = gtk_label_new (_("Source:"));
-  gtk_widget_show (label168);
-  gtk_table_attach (GTK_TABLE (table29), label168, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 4);
-  gtk_misc_set_alignment (GTK_MISC (label168), 0, 0.5);
-
-  hbox58 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox58);
-  gtk_box_pack_start (GTK_BOX (vbox61), hbox58, FALSE, FALSE, 0);
-
-  label165 = gtk_label_new (_("Template for info field: "));
-  gtk_widget_show (label165);
-  gtk_box_pack_start (GTK_BOX (hbox58), label165, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label165, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label165), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label165), 0, 0.5);
-
-  export_playlist_file_template = gtk_entry_new ();
-  gtk_widget_show (export_playlist_file_template);
-  gtk_box_pack_start (GTK_BOX (hbox58), export_playlist_file_template, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, export_playlist_file_template, _("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 '%': %%."), NULL);
-
-  label166 = gtk_label_new (_("gtkpod options"));
-  gtk_widget_show (label166);
-  gtk_frame_set_label_widget (GTK_FRAME (options_frame), label166);
-  gtk_label_set_use_markup (GTK_LABEL (label166), TRUE);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (export_playlist_file_options, export_playlist_file_options, "export_playlist_file_options");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, options_frame, "options_frame");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, alignment4, "alignment4");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, vbox61, "vbox61");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, table29, "table29");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, hbox59, "hbox59");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, type_m3u, "type_m3u");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, type_pls, "type_pls");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, hbox60, "hbox60");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, source_prefer_local, "source_prefer_local");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, source_local, "source_local");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, source_ipod, "source_ipod");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, label167, "label167");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, label168, "label168");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, hbox58, "hbox58");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, label165, "label165");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, export_playlist_file_template, "export_playlist_file_template");
-  GLADE_HOOKUP_OBJECT (export_playlist_file_options, label166, "label166");
-  GLADE_HOOKUP_OBJECT_NO_REF (export_playlist_file_options, tooltips, "tooltips");
-
-  return export_playlist_file_options;
-}
-
-GtkWidget*
-create_export_files_options (void)
-{
-  GtkWidget *export_files_options;
-  GtkWidget *options_frame;
-  GtkWidget *vbox50;
-  GtkWidget *hbox51;
-  GtkWidget *label70;
-  GtkWidget *export_files_template;
-  GtkWidget *export_files_special_charset;
-  GtkWidget *export_files_check_existing;
-  GtkWidget *label72;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  export_files_options = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (export_files_options), _("window1"));
-
-  options_frame = gtk_frame_new (NULL);
-  gtk_widget_show (options_frame);
-  gtk_container_add (GTK_CONTAINER (export_files_options), options_frame);
-  gtk_frame_set_shadow_type (GTK_FRAME (options_frame), GTK_SHADOW_ETCHED_OUT);
-
-  vbox50 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox50);
-  gtk_container_add (GTK_CONTAINER (options_frame), vbox50);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox50), 5);
-
-  hbox51 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox51);
-  gtk_box_pack_start (GTK_BOX (vbox50), hbox51, FALSE, FALSE, 0);
-
-  label70 = gtk_label_new (_("Filename Format: "));
-  gtk_widget_show (label70);
-  gtk_box_pack_start (GTK_BOX (hbox51), label70, FALSE, FALSE, 0);
-  GTK_WIDGET_SET_FLAGS (label70, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label70), TRUE);
-  gtk_misc_set_alignment (GTK_MISC (label70), 0, 0.5);
-
-  export_files_template = gtk_entry_new ();
-  gtk_widget_show (export_files_template);
-  gtk_box_pack_start (GTK_BOX (hbox51), export_files_template, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, export_files_template, _("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 '%': %%."), NULL);
-  gtk_entry_set_text (GTK_ENTRY (export_files_template), _(" "));
-
-  export_files_special_charset = gtk_check_button_new_with_mnemonic (_("Use selected charset (Preferences/'Adding/Updating/ Syncing')\nfor this filename."));
-  gtk_widget_show (export_files_special_charset);
-  gtk_box_pack_start (GTK_BOX (vbox50), export_files_special_charset, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, export_files_special_charset, _("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."), NULL);
-
-  export_files_check_existing = gtk_check_button_new_with_mnemonic (_("Check for existing files when copying from iPod."));
-  gtk_widget_show (export_files_check_existing);
-  gtk_box_pack_start (GTK_BOX (vbox50), export_files_check_existing, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, export_files_check_existing, _("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."), NULL);
-
-  label72 = gtk_label_new (_("gtkpod options"));
-  gtk_widget_show (label72);
-  gtk_frame_set_label_widget (GTK_FRAME (options_frame), label72);
-  GTK_WIDGET_SET_FLAGS (label72, GTK_CAN_FOCUS);
-  gtk_label_set_selectable (GTK_LABEL (label72), TRUE);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (export_files_options, export_files_options, "export_files_options");
-  GLADE_HOOKUP_OBJECT (export_files_options, options_frame, "options_frame");
-  GLADE_HOOKUP_OBJECT (export_files_options, vbox50, "vbox50");
-  GLADE_HOOKUP_OBJECT (export_files_options, hbox51, "hbox51");
-  GLADE_HOOKUP_OBJECT (export_files_options, label70, "label70");
-  GLADE_HOOKUP_OBJECT (export_files_options, export_files_template, "export_files_template");
-  GLADE_HOOKUP_OBJECT (export_files_options, export_files_special_charset, "export_files_special_charset");
-  GLADE_HOOKUP_OBJECT (export_files_options, export_files_check_existing, "export_files_check_existing");
-  GLADE_HOOKUP_OBJECT (export_files_options, label72, "label72");
-  GLADE_HOOKUP_OBJECT_NO_REF (export_files_options, tooltips, "tooltips");
-
-  return export_files_options;
-}
-
-GtkWidget*
-create_spl_window (void)
-{
-  GtkWidget *spl_window;
-  GtkWidget *spl_scroll;
-  GtkWidget *spl_viewport;
-  GtkWidget *vbox63;
-  GtkWidget *spl_name_hbox;
-  GtkWidget *label175;
-  GtkWidget *spl_name_entry;
-  GtkWidget *hseparator47;
-  GtkWidget *hbox61;
-  GtkWidget *spl_all_radio;
-  GSList *spl_all_radio_group = NULL;
-  GtkWidget *spl_any_radio;
-  GtkWidget *spl_none_radio;
-  GtkWidget *spl_rules_frame;
-  GtkWidget *spl_rules_table_align;
-  GtkWidget *label174;
-  GtkWidget *hbox62;
-  GtkWidget *spl_checklimits_button;
-  GtkWidget *spl_limitvalue_entry;
-  GtkWidget *spl_limittype_combobox;
-  GtkWidget *spl_limitsort_label;
-  GtkWidget *spl_limitsort_combobox;
-  GtkWidget *hbox63;
-  GtkWidget *spl_matchcheckedonly_button;
-  GtkWidget *hbox64;
-  GtkWidget *spl_liveupdate_button;
-  GtkWidget *hseparator46;
-  GtkWidget *hbox65;
-  GtkWidget *hbuttonbox11;
-  GtkWidget *spl_cancel_button;
-  GtkWidget *spl_ok_button;
-
-  spl_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (spl_window), _("Smart Playlist"));
-
-  spl_scroll = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_show (spl_scroll);
-  gtk_container_add (GTK_CONTAINER (spl_window), spl_scroll);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (spl_scroll), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (spl_scroll), GTK_SHADOW_IN);
-
-  spl_viewport = gtk_viewport_new (NULL, NULL);
-  gtk_widget_show (spl_viewport);
-  gtk_container_add (GTK_CONTAINER (spl_scroll), spl_viewport);
-
-  vbox63 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox63);
-  gtk_container_add (GTK_CONTAINER (spl_viewport), vbox63);
-
-  spl_name_hbox = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (spl_name_hbox);
-  gtk_box_pack_start (GTK_BOX (vbox63), spl_name_hbox, FALSE, TRUE, 4);
-
-  label175 = gtk_label_new (_("Playlist name:"));
-  gtk_widget_show (label175);
-  gtk_box_pack_start (GTK_BOX (spl_name_hbox), label175, FALSE, FALSE, 5);
-
-  spl_name_entry = gtk_entry_new ();
-  gtk_widget_show (spl_name_entry);
-  gtk_box_pack_start (GTK_BOX (spl_name_hbox), spl_name_entry, TRUE, TRUE, 0);
-
-  hseparator47 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator47);
-  gtk_box_pack_start (GTK_BOX (vbox63), hseparator47, FALSE, TRUE, 4);
-
-  hbox61 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox61);
-  gtk_box_pack_start (GTK_BOX (vbox63), hbox61, FALSE, TRUE, 0);
-
-  spl_all_radio = gtk_radio_button_new_with_mnemonic (NULL, _("Match al_l of the following"));
-  gtk_widget_show (spl_all_radio);
-  gtk_box_pack_start (GTK_BOX (hbox61), spl_all_radio, FALSE, FALSE, 5);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (spl_all_radio), spl_all_radio_group);
-  spl_all_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (spl_all_radio));
-
-  spl_any_radio = gtk_radio_button_new_with_mnemonic (NULL, _("Match an_y of the following"));
-  gtk_widget_show (spl_any_radio);
-  gtk_box_pack_start (GTK_BOX (hbox61), spl_any_radio, FALSE, FALSE, 5);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (spl_any_radio), spl_all_radio_group);
-  spl_all_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (spl_any_radio));
-
-  spl_none_radio = gtk_radio_button_new_with_mnemonic (NULL, _("_Ignore rules"));
-  gtk_widget_show (spl_none_radio);
-  gtk_box_pack_start (GTK_BOX (hbox61), spl_none_radio, FALSE, FALSE, 0);
-  gtk_radio_button_set_group (GTK_RADIO_BUTTON (spl_none_radio), spl_all_radio_group);
-  spl_all_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (spl_none_radio));
-
-  spl_rules_frame = gtk_frame_new (NULL);
-  gtk_widget_show (spl_rules_frame);
-  gtk_box_pack_start (GTK_BOX (vbox63), spl_rules_frame, TRUE, TRUE, 0);
-  gtk_frame_set_shadow_type (GTK_FRAME (spl_rules_frame), GTK_SHADOW_ETCHED_OUT);
-
-  spl_rules_table_align = gtk_alignment_new (0.5, 0.5, 1, 1);
-  gtk_widget_show (spl_rules_table_align);
-  gtk_container_add (GTK_CONTAINER (spl_rules_frame), spl_rules_table_align);
-  gtk_alignment_set_padding (GTK_ALIGNMENT (spl_rules_table_align), 5, 5, 5, 5);
-
-  label174 = gtk_label_new (_("Rules"));
-  gtk_widget_show (label174);
-  gtk_frame_set_label_widget (GTK_FRAME (spl_rules_frame), label174);
-  GTK_WIDGET_SET_FLAGS (label174, GTK_CAN_FOCUS);
-  gtk_label_set_use_markup (GTK_LABEL (label174), TRUE);
-  gtk_label_set_selectable (GTK_LABEL (label174), TRUE);
-
-  hbox62 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox62);
-  gtk_box_pack_start (GTK_BOX (vbox63), hbox62, FALSE, TRUE, 2);
-
-  spl_checklimits_button = gtk_check_button_new_with_mnemonic (_("_Limit to"));
-  gtk_widget_show (spl_checklimits_button);
-  gtk_box_pack_start (GTK_BOX (hbox62), spl_checklimits_button, FALSE, FALSE, 5);
-
-  spl_limitvalue_entry = gtk_entry_new ();
-  gtk_widget_show (spl_limitvalue_entry);
-  gtk_box_pack_start (GTK_BOX (hbox62), spl_limitvalue_entry, FALSE, FALSE, 0);
-  gtk_entry_set_max_length (GTK_ENTRY (spl_limitvalue_entry), 12);
-  gtk_entry_set_width_chars (GTK_ENTRY (spl_limitvalue_entry), 6);
-
-  spl_limittype_combobox = gtk_combo_box_new_text ();
-  gtk_widget_show (spl_limittype_combobox);
-  gtk_box_pack_start (GTK_BOX (hbox62), spl_limittype_combobox, FALSE, TRUE, 0);
-
-  spl_limitsort_label = gtk_label_new (_("   Sort by:"));
-  gtk_widget_show (spl_limitsort_label);
-  gtk_box_pack_start (GTK_BOX (hbox62), spl_limitsort_label, FALSE, FALSE, 5);
-
-  spl_limitsort_combobox = gtk_combo_box_new_text ();
-  gtk_widget_show (spl_limitsort_combobox);
-  gtk_box_pack_start (GTK_BOX (hbox62), spl_limitsort_combobox, FALSE, TRUE, 0);
-
-  hbox63 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox63);
-  gtk_box_pack_start (GTK_BOX (vbox63), hbox63, FALSE, FALSE, 5);
-
-  spl_matchcheckedonly_button = gtk_check_button_new_with_mnemonic (_("Match only _checked tracks"));
-  gtk_widget_show (spl_matchcheckedonly_button);
-  gtk_box_pack_start (GTK_BOX (hbox63), spl_matchcheckedonly_button, FALSE, FALSE, 5);
-
-  hbox64 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox64);
-  gtk_box_pack_start (GTK_BOX (vbox63), hbox64, FALSE, TRUE, 0);
-
-  spl_liveupdate_button = gtk_check_button_new_with_mnemonic (_("Live _updating"));
-  gtk_widget_show (spl_liveupdate_button);
-  gtk_box_pack_start (GTK_BOX (hbox64), spl_liveupdate_button, FALSE, FALSE, 5);
-
-  hseparator46 = gtk_hseparator_new ();
-  gtk_widget_show (hseparator46);
-  gtk_box_pack_start (GTK_BOX (vbox63), hseparator46, FALSE, TRUE, 4);
-
-  hbox65 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (hbox65);
-  gtk_box_pack_start (GTK_BOX (vbox63), hbox65, FALSE, TRUE, 0);
-
-  hbuttonbox11 = gtk_hbutton_box_new ();
-  gtk_widget_show (hbuttonbox11);
-  gtk_box_pack_start (GTK_BOX (hbox65), hbuttonbox11, TRUE, TRUE, 0);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox11), GTK_BUTTONBOX_END);
-
-  spl_cancel_button = gtk_button_new_from_stock ("gtk-cancel");
-  gtk_widget_show (spl_cancel_button);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox11), spl_cancel_button);
-  GTK_WIDGET_SET_FLAGS (spl_cancel_button, GTK_CAN_DEFAULT);
-
-  spl_ok_button = gtk_button_new_from_stock ("gtk-ok");
-  gtk_widget_show (spl_ok_button);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox11), spl_ok_button);
-  GTK_WIDGET_SET_FLAGS (spl_ok_button, GTK_CAN_DEFAULT);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (spl_window, spl_window, "spl_window");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_scroll, "spl_scroll");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_viewport, "spl_viewport");
-  GLADE_HOOKUP_OBJECT (spl_window, vbox63, "vbox63");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_name_hbox, "spl_name_hbox");
-  GLADE_HOOKUP_OBJECT (spl_window, label175, "label175");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_name_entry, "spl_name_entry");
-  GLADE_HOOKUP_OBJECT (spl_window, hseparator47, "hseparator47");
-  GLADE_HOOKUP_OBJECT (spl_window, hbox61, "hbox61");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_all_radio, "spl_all_radio");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_any_radio, "spl_any_radio");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_none_radio, "spl_none_radio");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_rules_frame, "spl_rules_frame");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_rules_table_align, "spl_rules_table_align");
-  GLADE_HOOKUP_OBJECT (spl_window, label174, "label174");
-  GLADE_HOOKUP_OBJECT (spl_window, hbox62, "hbox62");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_checklimits_button, "spl_checklimits_button");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_limitvalue_entry, "spl_limitvalue_entry");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_limittype_combobox, "spl_limittype_combobox");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_limitsort_label, "spl_limitsort_label");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_limitsort_combobox, "spl_limitsort_combobox");
-  GLADE_HOOKUP_OBJECT (spl_window, hbox63, "hbox63");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_matchcheckedonly_button, "spl_matchcheckedonly_button");
-  GLADE_HOOKUP_OBJECT (spl_window, hbox64, "hbox64");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_liveupdate_button, "spl_liveupdate_button");
-  GLADE_HOOKUP_OBJECT (spl_window, hseparator46, "hseparator46");
-  GLADE_HOOKUP_OBJECT (spl_window, hbox65, "hbox65");
-  GLADE_HOOKUP_OBJECT (spl_window, hbuttonbox11, "hbuttonbox11");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_cancel_button, "spl_cancel_button");
-  GLADE_HOOKUP_OBJECT (spl_window, spl_ok_button, "spl_ok_button");
-
-  return spl_window;
-}
-

Deleted: gtkpod/branches/upstream/current/src/interface.h
===================================================================
--- gtkpod/branches/upstream/current/src/interface.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/interface.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,15 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_gtkpod (void);
-GtkWidget* create_gtkpod_about_window (void);
-GtkWidget* create_prefs_window (void);
-GtkWidget* create_special_sorttab (void);
-GtkWidget* create_calendar_window (void);
-GtkWidget* create_sort_window (void);
-GtkWidget* create_gtkpod_info (void);
-GtkWidget* create_confirm_dialog (void);
-GtkWidget* create_export_playlist_file_options (void);
-GtkWidget* create_export_files_options (void);
-GtkWidget* create_spl_window (void);

Modified: gtkpod/branches/upstream/current/src/itdb.h
===================================================================
--- gtkpod/branches/upstream/current/src/itdb.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itdb.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/itdb_itunesdb.c
===================================================================
--- gtkpod/branches/upstream/current/src/itdb_itunesdb.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itdb_itunesdb.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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. "/mnt/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. "/mnt/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. "/mnt/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/branches/upstream/current/src/itdb_playlist.c
===================================================================
--- gtkpod/branches/upstream/current/src/itdb_playlist.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itdb_playlist.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/itdb_private.h
===================================================================
--- gtkpod/branches/upstream/current/src/itdb_private.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itdb_private.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/itdb_track.c
===================================================================
--- gtkpod/branches/upstream/current/src/itdb_track.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itdb_track.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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);
-}

Deleted: gtkpod/branches/upstream/current/src/itunesdb.c
===================================================================
--- gtkpod/branches/upstream/current/src/itunesdb.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itunesdb.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,2624 +0,0 @@
-/* Time-stamp: <2005-03-15 10:11:21 jcs>
-|
-|  Copyright (C) 2002-2003 Jorg Schuler <jcsjcs at users.sourceforge.net>
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  Most of the code in this file has 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: itunesdb.c,v 1.73 2004/12/13 15:57:05 jcsjcs Exp $
-*/
-
-
-
-
-/* Some notes on how to use the functions in this file:
-
-
-   *** Reading the iTunesDB ***
-
-   gboolean itunesdb_parse (gchar *path); /+ path to mountpoint +/
-   will read an iTunesDB and pass the data over to your program. Your
-   programm is responsible to keep a representation of the data.
-
-   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.
-
-   For each track itunesdb_parse() will pass a filled out Track structure
-   to "it_add_track()", which has to be provided. The return value is
-   TRUE on success and FALSE on error. At the time being, the return
-   value is ignored, however.
-
-   The minimal Track structure looks like this (feel free to have
-   it_add_track() do with it as it pleases -- and yes, you are
-   responsible to free the memory):
-
-   typedef struct
-   {
-     gunichar2 *album_utf16;    /+ album (utf16)         +/
-     gunichar2 *artist_utf16;   /+ artist (utf16)        +/
-     gunichar2 *title_utf16;    /+ title (utf16)         +/
-     gunichar2 *genre_utf16;    /+ genre (utf16)         +/
-     gunichar2 *comment_utf16;  /+ comment (utf16)       +/
-     gunichar2 *composer_utf16; /+ Composer (utf16)      +/
-     gunichar2 *fdesc_utf16;    /+ Filetype descr (utf16)+/
-     gunichar2 *ipod_path_utf16;/+ name of file on iPod: uses ":" instead of "/" +/
-     guint32 ipod_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  year;              /+ year                  +/
-     gint32  bitrate;           /+ bitrate               +/
-     gint32  volume;            /+ volume adjustment     +/
-     guint32 soundcheck;        /+ volume adjustment "soundcheck"   +/
-     guint32 time_created;      /+ time when added (Mac type)       +/
-     guint32 time_played;       /+ time of last play (Mac type)     +/
-     guint32 time_modified;     /+ time of last modific. (Mac type) +/
-     guint32 rating;            /+ star rating (stars * 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?    +/
-   } Track;
-
-   "transferred" will be set to TRUE because all tracks read from a
-   iTunesDB are obviously (or hopefully) already transferred to the
-   iPod.
-
-   "recent_playcount" is for information only and will not be stored
-   to the iPod.
-
-   By #defining ITUNESDB_PROVIDE_UTF8, itunesdb_parse() will also
-   provide utf8 versions of the above utf16 strings. You must then add
-   members "gchar *album"... to the Track structure.
-
-   For each new playlist in the iTunesDB, it_add_playlist() is
-   called with a pointer to the following Playlist struct:
-
-   typedef struct
-   {
-     gunichar2 *name_utf16;
-     guint32 type;         /+ 1: master play list (PL_TYPE_MPL) +/
-   } Playlist;
-
-   Again, by #defining ITUNESDB_PROVIDE_UTF8, a member "gchar *name"
-   will be initialized with a utf8 version of the playlist name.
-
-   it_add_playlist() must return a pointer under which it wants the
-   playlist to be referenced when it_add_track_to_playlist() is called.
-
-   For each track in the playlist, it_add_trackid_to_playlist() is called
-   with the above mentioned pointer to the playlist and the trackid to
-   be added.
-
-   gboolean it_add_track (Track *track);
-   Playlist *it_add_playlist (Playlist *plitem);
-   void it_add_trackid_to_playlist (Playlist *plitem, guint32 id);
-
-
-   *** Writing the iTunesDB ***
-
-   gboolean itunesdb_write (gchar *path), /+ path to mountpoint +/
-   will write an updated version of the iTunesDB.
-
-   The "Play Counts" file is renamed to "Play Counts.bak" if it exists
-   to avoid it being read multiple times.
-
-   It uses the following functions to retrieve the data necessary data
-   from memory:
-
-   guint it_get_nr_of_tracks (void);
-   Track *it_get_track_by_nr (guint32 n);
-   guint32 it_get_nr_of_playlists (void);
-   Playlist *it_get_playlist_by_nr (guint32 n);
-
-   The master playlist is expected to be "it_get_playlist_by_nr(0)". Only
-   the utf16 strings in the Playlist and Track struct are being used.
-
-   Please note that non-transferred tracks are not automatically
-   transferred to the iPod. A function
-
-   gboolean itunesdb_copy_track_to_ipod (gchar *path, Track *track, gchar *pcfile)
-
-   is provided to help you do that, however.
-
-   The following functions most likely will also come in handy:
-
-   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);
-   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_convert_filename_fs2ipod(gchar *ipod_file);
-   void itunesdb_convert_filename_ipod2fs(gchar *ipod_file);
-
-   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 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.)
-
-   Define "itunesdb_warning()" as you need (or simply use g_print and
-   change the default g_print handler with g_set_print_handler() as is
-   done in gtkpod).
-
-   Jorg Schuler, 19.12.2002 */
-
-
-/* call itunesdb_parse () to read the iTunesDB  */
-/* call itunesdb_write () to write the iTunesDB */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include "itunesdb.h"
-#include "support.h"
-#include "file.h"
-
-#ifndef P_tmpdir
-#define P_tmpdir	"/tmp"
-#endif
-
-#ifdef IS_GTKPOD
-/* we're being linked with gtkpod */
-#define itunesdb_warning(...) g_print(__VA_ARGS__)
-#else
-/* The following prints the error messages to the shell, converting
- * UTF8 to the current locale on the fly: */
-#define itunesdb_warning(...) do { gchar *utf8=g_strdup_printf (__VA_ARGS__); gchar *loc=g_locale_from_utf8 (utf8, -1, NULL, NULL, NULL); fprintf (stderr, "%s", loc); g_free (loc); g_free (utf8);} while (FALSE)
-#endif
-
-#define ITUNESDB_DEBUG 0
-#define ITUNESDB_MHIT_DEBUG 0
-
-#define ITUNESDB_COPYBLK 262144      /* blocksize for cp () */
-
-/* list with the contents of the Play Count file for use when
- * importing the iTunesDB */
-static GList *playcounts = NULL;
-/* needed to keep a local copy of the IDs in the master playlist */
-static guint32 *mpl_ids = NULL;
-static guint32 mpl_length = 0;
-
-/* structure to hold the contents of one entry of the Play Count file */
-struct playcount {
-    guint32 playcount;
-    guint32 time_played;
-    gint32 rating;
-};
-
-#define NO_PLAYCOUNT (-1)
-
-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
-};
-
-static struct playcount *get_next_playcount (void);
-
-static guint32 utf16_strlen(gunichar2 *utf16_string);
-
-/* Compare the two data. TRUE if identical */
-static gboolean cmp_n_bytes (gchar *data1, gchar *data2, gint n)
-{
-  gint i;
-
-  for(i=0; i<n; ++i)
-    {
-      if (data1[i] != data2[i]) return FALSE;
-    }
-  return TRUE;
-}
-
-
-/* Seeks to position "seek", then reads "n" bytes. Returns -1 on error
-   during seek, or the number of bytes actually read */
-static gint seek_get_n_bytes (FILE *file, gchar *data, glong seek, gint n)
-{
-  gint i;
-  gint read;
-
-  if (fseek (file, seek, SEEK_SET) != 0) return -1;
-
-  for(i=0; i<n; ++i)
-    {
-      read = fgetc (file);
-      if (read == EOF) return i;
-      *data++ = (gchar)read;
-    }
-  return i;
-}
-
-
-/* Get the 1-byte-number stored at position "seek" in "file"
-   (or -1 when an error occured) */
-static guint32 get8int(FILE *file, glong seek)
-{
-  guchar data;
-  guint32 n;
-
-  if (seek_get_n_bytes (file, &data, seek, 1) != 1) return -1;
-  n = data;
-  return n;
-}
-
-/* Get the 4-byte-number stored at position "seek" in "file"
-   in little endian encoding (or -1 when an error occured) */
-static guint32 get32lint(FILE *file, glong seek)
-{
-    guint32 n;
-    if (seek_get_n_bytes (file, (gchar *)&n, seek, 4) != 4) return -1;
-#   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 "file"
-   in big endian encoding (or -1 when an error occured) */
-static guint32 get32bint(FILE *file, glong seek)
-{
-    guint32 n;
-    if (seek_get_n_bytes (file, (gchar *)&n, seek, 4) != 4) return -1;
-#   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 "file"
-   in little endian encoding (or -1 when an error occured) */
-static guint64 get64lint(FILE *file, glong seek)
-{
-    guint64 n;
-
-    if (seek_get_n_bytes (file, (gchar *)&n, seek, 8) != 8) return -1;
-#   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 "file"
-   in big endian encoding (or -1 when an error occured) */
-static guint64 get64bint(FILE *file, glong seek)
-{
-    guint64 n;
-
-    if (seek_get_n_bytes (file, (gchar *)&n, seek, 8) != 8) return -1;
-#   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 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;
-}
-
-
-/* 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. */
-static gboolean 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! */
-	itunesdb_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 itb_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 itb_splr_get_action_type (const SPLRule *splr)
-{
-    SPLFieldType fieldType;
-
-    g_return_val_if_fail (splr != NULL, splft_unknown);
-
-    fieldType = itb_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 */
-	    itunesdb_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 */
-	    itunesdb_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 */
-	    itunesdb_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 */
-	    itunesdb_warning ("Unknown action type %d\n\n", splr->action);
-	    return splat_unknown;
-	}
-
-    case splft_unknown:
-	    /* Unknown action type */
-	    itunesdb_warning ("Unknown action type %d\n\n", splr->action);
-	    return splat_unknown;
-    }
-    return splat_unknown;
-}
-
-
-/* Validate a rule */
-void itb_splr_validate (SPLRule *splr)
-{
-    SPLActionType at;
-
-    g_return_if_fail (splr != NULL);
-
-    at = itb_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;
-    }
-
-}
-
-
-
-
-
-
-
-/* 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 */
-static gint32 get_mhod_type (FILE *file, glong seek, gint32 *ml)
-{
-    gchar data[4];
-    gint32 type = -1;
-
-#if ITUNESDB_DEBUG
-    fprintf(stderr, "get_mhod_type seek: %x\n", (int)seek);
-#endif
-
-    *ml = -1;
-
-    if ((seek_get_n_bytes (file, data, seek, 4) == 4) &&
-	(cmp_n_bytes (data, "mhod", 4) == TRUE))
-    {
-	*ml = get32lint (file, seek+8);    /* total length   */
-	type = get32lint (file, seek+12);  /* mhod_id number */
-    }
-    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 */
-static void *get_mhod (FILE *file, glong seek, gint32 *ml, gint32 *mty)
-{
-  gchar data[4];
-  gunichar2 *entry_utf16 = NULL;
-  SPLPref *splp = NULL;
-  guint8 limitsort_opposite;
-  void *result = NULL;
-  gint32 xl;
-  gint32 header_length;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "get_mhod seek: %x\n", (int)seek);
-#endif
-
-  if (seek_get_n_bytes (file, data, seek, 4) != 4)
-    {
-      *ml = -1;
-      return NULL;
-    }
-  if (cmp_n_bytes (data, "mhod", 4) == FALSE )
-    {
-      *ml = -1;
-      return NULL;
-    }
-  header_length = get32lint (file, seek+4); /* header length  */
-  *ml = get32lint (file, seek+8);           /* total length   */
-  *mty = get32lint (file, seek+12);         /* mhod_id number */
-
-  seek += header_length;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "ml: %x mty: %x, xl: %x\n", *ml, *mty, xl);
-#endif
-
-  switch ((enum MHOD_ID)*mty)
-  {
-  case MHOD_ID_PLAYLIST:
-  case MHOD_ID_MHYP:
-      /* these are not yet supported */
-      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 (file, seek+4);   /* entry length   */
-      entry_utf16 = g_malloc (xl+2);
-      if (seek_get_n_bytes (file, (gchar *)entry_utf16, seek+16, xl) != xl) {
-	  g_free (entry_utf16);
-	  entry_utf16 = NULL;
-	  *ml = -1;
-      }
-      else
-      {
-	  entry_utf16[xl/2] = 0; /* add trailing 0 */
-      }
-      fixup_little_utf16 (entry_utf16);
-      result = entry_utf16;
-      break;
-  case MHOD_ID_SPLPREF:  /* Settings for smart playlist */
-      splp = g_malloc0 (sizeof (SPLPref));
-      splp->liveupdate = get8int (file, seek);
-      splp->checkrules = get8int (file, seek+1);
-      splp->checklimits = get8int (file, seek+2);
-      splp->limittype = get8int (file, seek+3);
-      splp->limitsort = get8int (file, seek+4);
-      splp->limitvalue = get32lint (file, seek+8);
-      splp->matchcheckedonly = get8int (file, seek+12);
-      limitsort_opposite = get8int (file, seek+13);
-      /* 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 ((seek_get_n_bytes (file, data, seek, 4) == 4) &&
-	  (cmp_n_bytes (data, "SLst", 4) == TRUE))
-      {
-	  /* !!! 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_malloc0 (sizeof (SPLRules));
-	  splrs->unk004 = get32bint (file, seek+4);
-	  numrules = get32bint (file, seek+8);
-	  splrs->match_operator = get32bint (file, seek+12);
-	  seek += 136;  /* I can't find this value stored in the
-			   iTunesDB :-( */
-	  for (i=0; i<numrules; ++i)
-	  {
-	      SPLRule *splr = g_malloc0 (sizeof (SPLRule));
-	      guint32 length;
-	      splr->field = get32bint (file, seek);
-	      splr->action = get32bint (file, seek+4);
-	      seek += 52;
-	      length = get32bint (file, seek);
-	      if (spl_action_known (splr->action))
-	      {
-		  gint ft = itb_splr_get_field_type (splr);
-		  if (ft == splft_string)
-		  {
-		      splr->string_utf16 = g_malloc0 (length+2);
-		      if (seek_get_n_bytes (file, (gchar *)splr->string_utf16, seek+4, length) != length) 
-		      {
-			  g_free (splr->string_utf16);
-			  g_free (splr);
-			  splr = NULL;
-			  *ml = -1;
-			  break;  /* exits the "for (i...)" loop */
-		      }
-		      fixup_big_utf16 (splr->string_utf16);
-#ifdef ITUNESDB_PROVIDE_UTF8
-		      splr->string = g_utf16_to_utf8 (
-			  splr->string_utf16, -1, NULL, NULL, NULL);
-/*		      puts(splr->string);*/
-#endif
-		  }
-		  else
-		  {
-		      if (length != 0x44)
-		      {
-			  itunesdb_warning (_("Length of smart playlist rule field (%d) not as expected. Trying to continue anyhow.\n"), length);
-		      }
-		      splr->fromvalue = get64bint (file, seek+4);
-		      splr->fromdate = get64bint (file, seek+12);
-		      splr->fromunits = get64bint (file, seek+20);
-		      splr->tovalue = get64bint (file, seek+28);
-		      splr->todate = get64bint (file, seek+36);
-		      splr->tounits = get64bint (file, seek+44);
-		      /* SPLFIELD_PLAYLIST seem to use these unknowns*/
-		      splr->unk052 = get32bint (file, seek+52);
-		      splr->unk056 = get32bint (file, seek+56);
-		      splr->unk060 = get32bint (file, seek+60);
-		      splr->unk064 = get32bint (file, seek+64);
-		      splr->unk068 = get32bint (file, seek+68);
-		  }  
-		  seek += length+4;
-	      }
-	      else
-	      {
-		  g_free (splr);
-		  splr = NULL;
-	      }
-	      if (splr)
-	      {
-		  splrs->rules = g_list_append (splrs->rules, splr);
-	      } 
-	  }
-	  result = splrs;
-      }
-      else
-      {
-	  *ml = -1;
-      }
-      break;
-  default:
-      itunesdb_warning (_("Encountered unknown MHOD type (%d) while parsing the iTunesDB. Ignoring.\n\n"), *mty);
-      break;
-  }
-  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. */
-static gunichar2 *get_mhod_string (FILE *file, glong seek, gint32 *ml, gint32 *mty)
-{
-    gunichar2 *result = NULL;
-
-    *mty = get_mhod_type (file, seek, ml);
-
-    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 (file, 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 PL, return pos where next PL should be, name and content */
-static glong get_pl(FILE *file, glong seek)
-{
-  guint32 type, tracknum, n;
-  glong nextseek;
-  gint32 zip;
-  Playlist *plitem = NULL;
-  guint32 ref;
-  gchar data[4];
-
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "mhyp seek: %x\n", (int)seek);
-#endif
-
-  if (seek_get_n_bytes (file, data, seek, 4) != 4) return -1;
-  if (cmp_n_bytes (data, "mhyp", 4) == FALSE)      return -1; /* not pl */
-  zip = get32lint (file, seek+4); /* length of header */
-  if (zip == 0) return -1;      /* error! */
-  nextseek = seek + get32lint (file, seek+8); /* possible begin of next PL */
-  tracknum = get32lint (file, seek+16); /* number of tracks in playlist */
-  plitem = g_malloc0 (sizeof (Playlist));
-  /* 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 (file, seek+20) & 0xff;
-  plitem->id = get64lint (file, seek+28);
-  do
-  {
-      gunichar2 *plname_utf16_maybe;
-      SPLPref *splpref = NULL;
-      SPLRules *splrules = NULL;
-
-      seek += zip;
-      if (seek_get_n_bytes (file, data, seek, 4) != 4) return -1;
-      type = get_mhod_type (file, seek, &zip);
-      if (zip != -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 (file, seek, &zip, &type);
-	  if (plname_utf16_maybe)
-	  {
-	      /* sometimes there seem to be two mhod TITLE headers */
-	      g_free (plitem->name_utf16);
-	      plitem->name_utf16  = plname_utf16_maybe;
-
-	  }
-	  break;
-      case MHOD_ID_SPLPREF:
-	  splpref = get_mhod (file, seek, &zip, &type);
-	  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 (file, seek, &zip, &type);
-	  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;
-      }
-  } while (zip != -1); /* read all MHODs */
-
-  if (!plitem->name_utf16)
-  {   /* we did not read a valid mhod TITLE header -> */
-      /* we simply make up our own name */
-	if (plitem->type == PL_TYPE_MPL)
-	    plitem->name_utf16 = g_utf8_to_utf16 (_("Master-PL"), -1,
-						  NULL, NULL, NULL);
-	else plitem->name_utf16 = g_utf8_to_utf16 (_("Playlist"), -1,
-						   NULL, NULL, NULL);
-  }
-#ifdef ITUNESDB_PROVIDE_UTF8
-  plitem->name = g_utf16_to_utf8 (plitem->name_utf16, -1,
-				  NULL, NULL, NULL);
-#endif
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "pln: %s(%d Tracks) \n", plname_utf8, (int)tracknum);
-#endif
-
-  /* add new playlist */
-  plitem = it_add_playlist(plitem);
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "added pl: %s", plitem->plname);
-#endif
-
-  if ((plitem->type == PL_TYPE_MPL) &&
-      (tracknum > 0) &&
-      (mpl_ids == NULL))
-  {   /* we need space to store the mpl IDs locally */
-      mpl_ids = g_malloc0 (tracknum * sizeof (*mpl_ids));
-      mpl_length = tracknum;
-  }
-  n = 0;  /* number of tracks read */
-  while (n < tracknum)
-    {
-      /* We read the mhip headers and skip everything else. If we
-	 find a mhyp header before n==tracknum, something is wrong */
-      if (seek_get_n_bytes (file, data, seek, 4) != 4) return -1;
-      if (cmp_n_bytes (data, "mhyp", 4) == TRUE) return -1; /* Wrong!!! */
-      if (cmp_n_bytes (data, "mhip", 4) == TRUE)
-	{
-	  ref = get32lint(file, seek+24);
-	  it_add_trackid_to_playlist(plitem, ref);
-	  if (plitem->type == PL_TYPE_MPL) mpl_ids[n] = ref;
-	  ++n;
-	}
-      seek += get32lint (file, seek+8);
-    }
-  return nextseek;
-}
-
-
-static glong get_mhit(FILE *file, glong seek)
-{
-  Track *track;
-  gchar data[4];
-#ifdef ITUNESDB_PROVIDE_UTF8
-  gchar *entry_utf8;
-#endif
-  gunichar2 *entry_utf16;
-  gint type;
-  gint zip = 0;
-  struct playcount *playcount;
-  guint32 temp;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "get_mhit seek: %x\n", (int)seek);
-#endif
-
-  if (seek_get_n_bytes (file, data, seek, 4) != 4) return -1;
-  if (cmp_n_bytes (data, "mhit", 4) == FALSE ) return -1; /* we are lost! */
-
-  track = itunesdb_new_track ();
-
-  track->ipod_id = get32lint(file, seek+16);       /* iPod ID          */
-  track->unk020 = get32lint (file, seek+20);
-  track->unk024 = get32lint (file, seek+24);
-  track->rating = get32lint (file, seek+28)>>24;   /* rating          */
-  temp = get32lint (file, seek+32);
-  track->compilation = (temp & 0x00ff0000) >> 16;
-  track->type = temp & 0x0000ffff;
-  track->time_created = get32lint(file, seek+32);  /* creation time    */
-  track->size = get32lint(file, seek+36);          /* file size        */
-  track->tracklen = get32lint(file, seek+40);      /* time             */
-  track->track_nr = get32lint(file, seek+44);      /* track number     */
-  track->tracks = get32lint(file, seek+48);        /* nr of tracks     */
-  track->year = get32lint(file, seek+52);          /* year             */
-  track->bitrate = get32lint(file, seek+56);       /* bitrate          */
-  track->samplerate = get32lint(file,seek+60)>>16; /* sample rate      */
-  track->volume = get32lint(file, seek+64);        /* volume adjust    */
-  track->starttime = get32lint (file, seek+68);
-  track->stoptime = get32lint (file, seek+72);
-  track->soundcheck = get32lint (file, seek+76);   /* soundcheck       */
-  track->playcount = get32lint (file, seek+80);    /* playcount        */
-  track->unk084 = get32lint (file, seek+84);
-  track->time_played = get32lint(file, seek+88);   /* last time played */
-  track->cd_nr = get32lint(file, seek+92);         /* CD nr            */
-  track->cds = get32lint(file, seek+96);           /* CD nr of..       */
-  track->unk100 = get32lint (file, seek+100);
-  track->time_modified = get32lint(file, seek+104);/* last mod. time   */
-  track->unk108 = get32lint (file, seek+108);
-  track->unk112 = get32lint (file, seek+112);
-  track->unk116 = get32lint (file, seek+116);
-  temp = get32lint (file, seek+120);
-  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 (file, seek+124);
-  track->unk128 = get32lint (file, seek+128);
-  track->unk132 = get32lint (file, seek+132);
-  track->unk136 = get32lint (file, seek+136);
-  track->unk140 = get32lint (file, seek+140);
-  track->unk144 = get32lint (file, seek+144);
-  track->unk148 = get32lint (file, seek+148);
-  track->unk152 = get32lint (file, seek+152);
-
-  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 (file, seek+4);             /* 1st mhod starts here! */
-  while(zip != -1)
-    {
-     seek += zip;
-     entry_utf16 = get_mhod_string (file, seek, &zip, &type);
-     if (entry_utf16 != NULL) {
-#ifdef ITUNESDB_PROVIDE_UTF8
-       entry_utf8 = g_utf16_to_utf8 (entry_utf16, -1, NULL, NULL, NULL);
-#endif
-       switch ((enum MHOD_ID)type)
-	 {
-	 case MHOD_ID_ALBUM:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->album = entry_utf8;
-#endif
-	   track->album_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_ARTIST:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->artist = entry_utf8;
-#endif
-	   track->artist_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_TITLE:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->title = entry_utf8;
-#endif
-	   track->title_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_GENRE:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->genre = entry_utf8;
-#endif
-	   track->genre_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_PATH:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->ipod_path = entry_utf8;
-#endif
-	   track->ipod_path_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_FDESC:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->fdesc = entry_utf8;
-#endif
-	   track->fdesc_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_COMMENT:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->comment = entry_utf8;
-#endif
-	   track->comment_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_COMPOSER:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->composer = entry_utf8;
-#endif
-	   track->composer_utf16 = entry_utf16;
-	   break;
-	 case MHOD_ID_GROUPING:
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   track->grouping = entry_utf8;
-#endif
-	   track->grouping_utf16 = entry_utf16;
-	   break;
-	 default: /* unknown entry -- discard */
-#ifdef ITUNESDB_PROVIDE_UTF8
-	   g_free (entry_utf8);
-#endif
-	   g_free (entry_utf16);
-	   break;
-	 }
-     }
-    }
-
-  playcount = get_next_playcount ();
-  if (playcount)
-  {
-      if (playcount->rating != NO_PLAYCOUNT)  track->rating = playcount->rating;
-      if (playcount->time_played) track->time_played = playcount->time_played;
-      track->playcount += playcount->playcount;
-      track->recent_playcount = playcount->playcount;
-      g_free (playcount);
-  }
-  it_add_track (track);
-  return seek;
-}
-
-/* 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 *get_next_playcount (void)
-{
-    struct playcount *playcount = g_list_nth_data (playcounts, 0);
-
-    if (playcount)  playcounts = g_list_remove (playcounts, playcount);
-    return playcount;
-}
-
-/* delete all entries of GList *playcounts */
-static void reset_playcounts (void)
-{
-    struct playcount *playcount;
-    while ((playcount=get_next_playcount())) g_free (playcount);
-}
-
-/* Read the Play Count file (formed by adding "Play Counts" to the
- * directory contained in @dirname) and set up the GList *playcounts
- * */
-static void init_playcounts (const gchar *dirname)
-{
-//  gchar *plcname = g_build_filename (dirname, "Play Counts", NULL);
-  const gchar *db[] = {"Play Counts", NULL};
-  gchar *plcname = resolve_path (dirname, db);
-  FILE *plycts = NULL;
-  gboolean error = TRUE;
-
-  reset_playcounts ();
-
-  if (plcname)  plycts = fopen (plcname, "r");
-
-  if (plycts) do
-  {
-      gchar data[4];
-      guint32 header_length, entry_length, entry_num, i=0;
-      time_t tt = time (NULL);
-
-      localtime (&tt);  /* set the ext. variable 'timezone' (see below) */
-      if (seek_get_n_bytes (plycts, data, 0, 4) != 4)  break;
-      if (cmp_n_bytes (data, "mhdp", 4) == FALSE)      break;
-      header_length = get32lint (plycts, 4);
-      /* all the headers I know are 0x60 long -- if this one is longer
-	 we can simply ignore the additional information */
-      if (header_length < 0x60)                        break;
-      entry_length = get32lint (plycts, 8);
-      /* all the entries I know are 0x0c (firmware 1.3) or 0x10
-       * (firmware 2.0) in length */
-      if (entry_length < 0x0c)                         break;
-      /* number of entries */
-      entry_num = get32lint (plycts, 12);
-      for (i=0; i<entry_num; ++i)
-      {
-	  struct playcount *playcount = g_malloc0 (sizeof (struct playcount));
-	  glong seek = header_length + i*entry_length;
-
-	  playcounts = g_list_append (playcounts, playcount);
-	  /* check if entry exists by reading its last four bytes */
-	  if (seek_get_n_bytes (plycts, data,
-				seek+entry_length-4, 4) != 4) break;
-	  playcount->playcount = get32lint (plycts, seek);
-	  playcount->time_played = get32lint (plycts, seek+4);
-          /* NOTE:
-	   *
-	   * The iPod (firmware 1.3) doesn't seem to use the timezone
-	   * information correctly -- no matter what you set iPod's
-	   * timezone to it will always record in UTC -- we need to
-	   * subtract the difference between current timezone and UTC
-	   * to get a correct display. 'timezone' (initialized above)
-	   * contains the difference in seconds.
-           */
-	  if (playcount->time_played)
-	      playcount->time_played += timezone;
-
-	  /* rating only exists if the entry length is at least 0x10 */
-	  if (entry_length >= 0x10)
-	      playcount->rating = get32lint (plycts, seek+12);
-	  else
-	      playcount->rating = NO_PLAYCOUNT;
-      }
-      if (i == entry_num)  error = FALSE;
-  } while (FALSE);
-  if (plycts)  fclose (plycts);
-  if (error)   reset_playcounts ();
-  g_free (plcname);
-}
-
-
-
-/* Called by read_OTG_playlists(): reads and processes OTG playlist
- * file @filename by adding a new playlist (named @plname) with the
- * tracks specified in @filename. If @plname is NULL, a standard name
- * will be substituted */
-/* Returns FALSE on error, TRUE on success */
-static gboolean process_OTG_file (const gchar *filename,
-				  const gchar *plname)
-{
-    FILE *otgf = NULL;
-    gboolean result = FALSE;
-
-    if (filename)  otgf = fopen (filename, "r");
-    if (otgf)
-    {
-	gchar data[4];
-	guint32 header_length, entry_length, entry_num, i=0;
-
-	if (!plname) plname = _("OTG Playlist");
-
-	if (seek_get_n_bytes (otgf, data, 0, 4) != 4)  goto end;
-	if (cmp_n_bytes (data, "mhpo", 4) == FALSE)    goto end;
-	header_length = get32lint (otgf, 4);
-	/* all the headers I know are 0x14 long -- if this one is
-	 longer we can simply ignore the additional information */
-	if (header_length < 0x14)                      goto end;
-	entry_length = get32lint (otgf, 8);
-	/* all the entries I know are 0x04 long */
-	if (entry_length < 0x04)                       goto end;
-	/* number of entries */
-	entry_num = get32lint (otgf, 12);
-	if (entry_num > 0)
-	{
-	    /* Create new playlist */
-	    Playlist *pl = g_malloc0 (sizeof (Playlist));
-#ifdef ITUNESDB_PROVIDE_UTF8
-	    pl->name = g_strdup (plname);
-#endif
-	    pl->name_utf16 = g_utf8_to_utf16 (plname, -1,
-					      NULL, NULL, NULL);
-	    pl->type = PL_TYPE_NORM;
-	    pl = it_add_playlist (pl);
-
-	    /* Add items */
-	    for (i=0; i<entry_num; ++i)
-	    {
-		guint32 num = get32lint (otgf,
-				      header_length + entry_length *i);
-		if ((num < mpl_length) && mpl_ids)
-		{
-		    it_add_trackid_to_playlist (pl, mpl_ids[num]);
-		}
-	    }
-	}
-	result = TRUE;
-    }
-  end:
-    if (otgf)   fclose (otgf);
-    return result;
-}
-
-
-/* Add the On-The-Go Playlist(s) to the main playlist */
-/* The OTG-Files are located in @dirname */
-static void read_OTG_playlists (const gchar *dirname)
-{
-    gchar *filename;
-    gint i=1;
-    gchar *db[] = {"OTGPlaylistInfo", NULL};
-    gchar *otgname = resolve_path (dirname, (const gchar **)db);
-
-    /* only parse if "OTGPlaylistInfo" exists */
-    if (otgname) do
-    {
-	db[0] = g_strdup_printf ("OTGPlaylistInfo_%d", i);
-	filename = resolve_path (dirname, (const gchar **)db);
-	g_free (db[0]);
-	if (filename)
-	{
-	    gchar *plname = g_strdup_printf (_("OTG Playlist %d"), i);
-	    process_OTG_file (filename, plname);
-	    g_free (filename);
-	    g_free (plname);
-	    ++i;
-	}
-    } while (filename);
-    g_free (otgname);
-}
-
-
-/* Parse the iTunesDB and store the tracks using it_addtrack () defined
-   in track.c.
-   Returns TRUE on success, FALSE on error.
-   "path" should point to the mount point of the iPod,
-   e.g. "/mnt/ipod" and be in local encoding */
-gboolean itunesdb_parse (const gchar *path)
-{
-  gchar *filename;
-  const gchar *db[] = {"iPod_Control","iTunes","iTunesDB",NULL};
-  gboolean result;
-
-  filename = resolve_path(path, db);
-  result = itunesdb_parse_file (filename);
-  g_free (filename);
-  return result;
-}
-
-/* Same as itunesdb_parse(), but let's specify the filename directly */
-gboolean itunesdb_parse_file (const gchar *filename)
-{
-  FILE *itunes = NULL;
-  gboolean result = FALSE;
-  gchar data[8];
-  glong seek=0, pl_mhsd=0;
-  guint32 zip, nr_tracks=0, nr_playlists=0;
-  gboolean swapped_mhsd = FALSE;
-  gchar *dirname=NULL;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "Parsing %s\nenter: %4d\n", filename, it_get_nr_of_tracks ());
-#endif
-
-  if (!filename) return FALSE;
-
-  /* extract valid directory base from @filename */
-  dirname = g_path_get_dirname (filename);
-
-  itunes = fopen (filename, "r");
-  do
-  { /* dummy loop for easier error handling */
-      if (itunes == NULL)
-      {
-	  itunesdb_warning (_("Could not open iTunesDB \"%s\" for reading.\n"),
-			  filename);
-	  break;
-      }
-      if (seek_get_n_bytes (itunes, data, seek, 4) != 4)
-      {
-	  itunesdb_warning (_("Error reading \"%s\".\n"), filename);
-	  break;
-      }
-      /* for(i=0; i<8; ++i)  printf("%02x ", data[i]); printf("\n");*/
-      if (cmp_n_bytes (data, "mhbd", 4) == FALSE)
-      {
-	  itunesdb_warning (_("\"%s\" is not a iTunesDB.\n"), filename);
-	  break;
-      }
-      seek = get32lint (itunes, 4);
-      /* all the headers I know are 0x68 long -- if this one is longer
-	 we can simply ignore the additional information */
-      /* we don't need any information of the mhbd header... */
-      /*      if (seek < 0x68)
-      {
-	  itunesdb_warning (_("\"%s\" is not a iTunesDB.\n"), filename);
-	  break;
-	  }*/
-      do
-      {
-	  if (seek_get_n_bytes (itunes, data, seek, 8) != 8)  break;
-	  if (cmp_n_bytes (data, "mhsd", 4) == TRUE)
-	  { /* mhsd header -> determine start of playlists */
-	      if (get32lint (itunes, seek + 12) == 1)
-	      { /* OK, tracklist, save start of playlists */
-		  if (!swapped_mhsd)
-		      pl_mhsd = seek + get32lint (itunes, seek+8);
-	      }
-	      else if (get32lint (itunes, seek + 12) == 2)
-	      { /* bad: these are playlists... switch */
-		  if (swapped_mhsd)
-		  { /* already switched once -> forget it */
-		      break;
-		  }
-		  else
-		  {
-		      pl_mhsd = seek;
-		      seek += get32lint (itunes, seek+8);
-		      swapped_mhsd = TRUE;
-		  }
-	      }
-	      else
-	      { /* neither playlist nor track MHSD --> skip it */
-		  seek += get32lint (itunes, seek+8);
-	      }
-	  }
-	  if (cmp_n_bytes (data, "mhlt", 4) == TRUE)
-	  { /* mhlt header -> number of tracks */
-	      nr_tracks = get32lint (itunes, seek+8);
-	      if (nr_tracks == 0)
-	      {   /* no tracks -- skip directly to next mhsd */
-		  result = TRUE;
-		  break;
-	      }
-	  }
-	  if (cmp_n_bytes (data, "mhit", 4) == TRUE)
-	  { /* mhit header -> start of tracks*/
-	      result = TRUE;
-	      break;
-	  }
-	  zip = get32lint (itunes, seek+4);
-	  if (zip == 0)  break;
-	  seek += zip;
-      } while (result == FALSE);
-      if (result == FALSE)  break; /* some error occured */
-      result = FALSE;
-      /* now we should be at the first MHIT */
-
-      /* Read Play Count file if available */
-      init_playcounts (dirname);
-
-      /* get every file entry */
-      if (nr_tracks)  while(seek != -1) {
-	  /* get_mhit returns where it's guessing the next MHIT,
-	     if it fails, it returns '-1' */
-	  seek = get_mhit (itunes, seek);
-      }
-
-      /* next: playlists */
-      seek = pl_mhsd;
-      do
-      {
-	  if (seek_get_n_bytes (itunes, data, seek, 8) != 8)  break;
-	  if (cmp_n_bytes (data, "mhsd", 4) == TRUE)
-	  { /* mhsd header */
-	      if (get32lint (itunes, seek + 12) != 2)
-	      {  /* this is not a playlist MHSD -> skip it */
-		  seek += get32lint (itunes, seek+8);
-		  continue;
-	      }
-	  }
-	  if (cmp_n_bytes (data, "mhlp", 4) == TRUE)
-	  { /* mhlp header -> number of playlists */
-	      nr_playlists = get32lint (itunes, seek+8);
-	  }
-	  if (cmp_n_bytes (data, "mhyp", 4) == TRUE)
-	  { /* mhyp header -> start of playlists */
-	      result = TRUE;
-	      break;
-	  }
-	  zip = get32lint (itunes, seek+4);
-	  if (zip == 0)  break;
-	  seek += zip;
-      } while (result == FALSE);
-      if (result == FALSE)  break; /* some error occured */
-      result = FALSE;
-
-#if ITUNESDB_DEBUG
-    fprintf(stderr, "iTunesDB part2 starts at: %x\n", (int)seek);
-#endif
-
-    while(seek != -1) {
-	seek = get_pl(itunes, seek);
-    }
-
-    result = TRUE;
-  } while (FALSE);
-
-  if (itunes != NULL)     fclose (itunes);
-
-  /* Read OTG playlists */
-  read_OTG_playlists (dirname);
-
-  g_free (dirname);
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "exit:  %4d\n", it_get_nr_of_tracks ());
-#endif
-
-  /* clean up used memory */
-  g_free (mpl_ids);
-  mpl_ids = NULL;
-  mpl_length = 0;
-
-  return result;
-}
-
-
-/* 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 };
-
-
-/* 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;
-}
-
-
-/* Write "data", "n" bytes long to current position in file.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put_data (FILE *file, gchar *data, gint n)
-{
-  if (fwrite (data, 1, n, file) != n) return FALSE;
-  return TRUE;
-}
-
-
-/* Write 1-byte integer "n" to "file".
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put8int (FILE *file, guint8 n)
-{
-    return put_data (file, (gchar *)&n, 1);
-}
-
-
-/* Write 4-byte integer "n" to "file" in little endian order.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put32lint (FILE *file, guint32 n)
-{
-#   if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    n = GUINT32_SWAP_LE_BE (n);
-#   endif
-    return put_data (file, (gchar *)&n, 4);
-}
-
-
-/* Write 4-byte integer "n" to "file" at position "seek" in little
-   endian order.
-   After writing, the file position indicator is set
-   to the end of the file.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put32lint_seek (FILE *file, guint32 n, glong seek)
-{
-  gboolean result;
-
-  if (fseek (file, seek, SEEK_SET) != 0) return FALSE;
-  result = put32lint (file, n);
-  if (fseek (file, 0, SEEK_END) != 0) return FALSE;
-  return result;
-}
-
-
-/* Write 8-byte integer "n" to "file" in big little order.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put64lint (FILE *file, guint64 n)
-{
-#   if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    n = GUINT64_SWAP_LE_BE (n);
-#   endif
-    return put_data (file, (gchar *)&n, 8);
-}
-
-
-/* Write 4-byte integer "n" to "file" in big endian order.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put32bint (FILE *file, guint32 n)
-{
-#   if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-    n = GUINT32_SWAP_LE_BE (n);
-#   endif
-    return put_data (file, (gchar *)&n, 4);
-}
-
-
-/* Write 8-byte integer "n" to "file" in big endian order.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put64bint (FILE *file, guint64 n)
-{
-#   if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-    n = GUINT64_SWAP_LE_BE (n);
-#   endif
-    return put_data (file, (gchar *)&n, 8);
-}
-
-
-#if 0
-/* Write 4-byte integer "n" to "file" at position "seek" in big endian
-   order.
-   After writing, the file position indicator is set
-   to the end of the file.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put32bint_seek (FILE *file, guint32 n, glong seek)
-{
-  gboolean result;
-
-  if (fseek (file, seek, SEEK_SET) != 0) return FALSE;
-  result = put32bint (file, n);
-  if (fseek (file, 0, SEEK_END) != 0) return FALSE;
-  return result;
-}
-
-/* Write 8-byte integer "n" to "file" at position "seek" in big endian
-   order.
-   After writing, the file position indicator is set
-   to the end of the file.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put64bint_seek (FILE *file, guint64 n, glong seek)
-{
-  gboolean result;
-
-  if (fseek (file, seek, SEEK_SET) != 0) return FALSE;
-  result = put64bint (file, n);
-  if (fseek (file, 0, SEEK_END) != 0) return FALSE;
-  return result;
-}
-#endif
-
-
-/* Write "n" times 4-byte-zero at current position
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put_n0 (FILE*file, guint32 n)
-{
-  guint32 i;
-  gboolean result = TRUE;
-
-  for (i=0; i<n; ++i)  result &= put32lint (file, 0);
-  return result;
-}
-
-
-
-/* Write out the mhbd header. Size will be written later */
-static void mk_mhbd (FILE *file)
-{
-  put_data (file, "mhbd", 4);
-  put32lint (file, 104); /* header size */
-  put32lint (file, -1);  /* size of whole mhdb -- fill in later */
-  put32lint (file, 1);   /* ? */
-  put32lint (file, 0x0c);/*  - changed to 2 from itunes2 to
-			     3. Probably version.  Had to make this
-			     0xC for shuffle to accept it */
-  put32lint (file, 2);   /* two children in total */
-  put_n0 (file, 20);     /* dummy space */
-}
-
-/* Fill in the length of a standard header */
-static void fix_header (FILE *file, glong header_seek, glong cur)
-{
-  put32lint_seek (file, cur-header_seek, header_seek+8);
-}
-
-
-/* Write out the mhsd header. Size will be written later */
-static void mk_mhsd (FILE *file, guint32 type)
-{
-  put_data (file, "mhsd", 4);
-  put32lint (file, 96);   /* Headersize */
-  put32lint (file, -1);   /* size of whole mhsd -- fill in later */
-  put32lint (file, type); /* type: 1 = track, 2 = playlist */
-  put_n0 (file, 20);    /* dummy space */
-}
-
-
-/* Write out the mhlt header. */
-static void mk_mhlt (FILE *file, guint32 track_num)
-{
-  put_data (file, "mhlt", 4);
-  put32lint (file, 92);         /* Headersize */
-  put32lint (file, track_num);   /* tracks in this itunesdb */
-  put_n0 (file, 20);           /* dummy space */
-}
-
-
-/* Write out the mhit header. Size will be written later */
-static void mk_mhit (FILE *file, Track *track)
-{
-  put_data (file, "mhit", 4);
-  put32lint (file, 156);  /* header size */
-  put32lint (file, -1);   /* size of whole mhit -- fill in later */
-  put32lint (file, -1);   /* nr of mhods in this mhit -- later   */
-  put32lint (file, track->ipod_id); /* track index number
-					* */
-  put32lint (file, track->unk020);
-  put32lint (file, track->unk024);
-  put32lint (file, (track->rating << 24) |
-		(track->compilation << 16) |
-		(track->type & 0x0000ffff));/* rating, compil., type */
-
-  put32lint (file, track->time_created); /* timestamp             */
-  put32lint (file, track->size);    /* filesize                  */
-  put32lint (file, track->tracklen); /* length of track in ms     */
-  put32lint (file, track->track_nr);/* track number               */
-  put32lint (file, track->tracks);  /* number of tracks           */
-  put32lint (file, track->year);    /* the year                   */
-  put32lint (file, track->bitrate); /* bitrate                    */
-  put32lint (file, track->samplerate << 16);
-  put32lint (file, track->volume);  /* volume adjust              */
-  put32lint (file, track->starttime);
-  put32lint (file, track->stoptime);
-  put32lint (file, track->soundcheck);
-  put32lint (file, track->playcount);/* playcount                 */
-  put32lint (file, track->unk084);
-  put32lint (file, track->time_played); /* last time played       */
-  put32lint (file, track->cd_nr);   /* CD number                  */
-  put32lint (file, track->cds);     /* number of CDs              */
-  put32lint (file, track->unk100);
-  put32lint (file, track->time_modified); /* timestamp            */
-  put32lint (file, track->unk108);
-  put32lint (file, track->unk112);
-  put32lint (file, track->unk116);
-  put32lint (file, (track->BPM << 16) |
-		((track->app_rating & 0xff) << 8) |
-		(track->checked & 0xff));
-  put32lint (file, track->unk124);
-  put32lint (file, track->unk128);
-  put32lint (file, track->unk132);
-  put32lint (file, track->unk136);
-  put32lint (file, track->unk140);
-  put32lint (file, track->unk144);
-  put32lint (file, track->unk148);
-  put32lint (file, track->unk152);
-}
-
-
-/* Fill in the missing items of the mhit header:
-   total size and number of mhods */
-static void fix_mhit (FILE *file, glong mhit_seek, glong cur, gint mhod_num)
-{
-  put32lint_seek (file, cur-mhit_seek, mhit_seek+8); /* size of whole mhit */
-  put32lint_seek (file, mhod_num, mhit_seek+12);     /* nr of mhods        */
-}
-
-
-/* Write out one mhod header.
-     type: see enum of MHMOD_IDs;
-     data: utf16 string to pack for text items
-           track ID for MHOD_ID_PLAYLIST
-           SPLPref for MHOD_ID_SPLPREF
-	   SPLRules for MHOD_ID_SPLRULES */
-static void mk_mhod (FILE *file, enum MHOD_ID type, void *data)
-{
-  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:
-      if (data)
-      {
-	  /* length of string in words  */
-	  guint32 len = utf16_strlen ((gunichar2 *)data);
-	  put_data (file, "mhod", 4); /* header                     */
-	  put32lint (file, 24);        /* size of header             */
-	  put32lint (file, 2*len+40);  /* size of header + body      */
-	  put32lint (file, type);      /* type of the entry          */
-	  put_n0 (file, 2);           /* dummy space                */
-	  /* end of header, start of data */
-	  put32lint (file, 1);         /* always 1 for these MHOD_IDs*/
-	  put32lint (file, 2*len);     /* size of string             */
-	  put_n0 (file, 2);           /* unknown                    */
-	  if (len != 0)
-	  {
-	      /* FIXME: this assumes "string" is writable.
-		 However, this might not be the case,
-		 e.g. ipod_name might be in read-only mem. */
-	      fixup_little_utf16(data);
-	      put_data (file, data, 2*len); /* the string */
-	      fixup_little_utf16(data);
-	  }
-      }
-      break;
-  case MHOD_ID_PLAYLIST:
-      put_data (file, "mhod", 4); /* header                     */
-      put32lint (file, 24);        /* size of header             */
-      put32lint (file, 44);        /* size of header + body      */
-      put32lint (file, type);      /* type of the entry          */
-      put_n0 (file, 2);           /* unknown                    */
-      /* end of header, start of data */
-      put32lint (file, (guint32)data);/* track ID of playlist member*/
-      put_n0 (file, 4);           /* unknown                    */
-      break;
-  case MHOD_ID_SPLPREF:
-      if (data)
-      {
-	  SPLPref *splp = data;
-	  put_data (file, "mhod", 4); /* header                 */
-	  put32lint (file, 24);        /* size of header         */
-	  put32lint (file, 96);        /* size of header + body  */
-	  put32lint (file, type);      /* type of the entry      */
-	  put_n0 (file, 2);           /* unknown                */
-	  /* end of header, start of data */
-	  put8int (file, splp->liveupdate);
-	  put8int (file, splp->checkrules? 1:0);
-	  put8int (file, splp->checklimits);
-	  put8int (file, splp->limittype);
-	  put8int (file, splp->limitsort & 0xff);
-	  put8int (file, 0);          /* unknown                */
-	  put8int (file, 0);          /* unknown                */
-	  put8int (file, 0);          /* unknown                */
-	  put32lint (file, splp->limitvalue);
-	  put8int (file, splp->matchcheckedonly);
-	  /* for the following see note at definitions of limitsort
-	     types in itunesdb.h */
-	  put8int (file, (splp->limitsort & 0x80000000) ? 1:0);
-	  put8int (file, 0);          /* unknown                */
-	  put8int (file, 0);          /* unknown                */
-	  put_n0 (file, 14);          /* unknown                */
-      }
-      break;
-  case MHOD_ID_SPLRULES:
-      if (data)
-      {
-	  SPLRules *splrs = data;
-	  glong header_seek = ftell (file); /* needed to fix length */
-	  GList *gl;
-	  gint numrules = g_list_length (splrs->rules);
-
-	  put_data (file, "mhod", 4); /* header                   */
-	  put32lint (file, 24);       /* size of header           */
-	  put32lint (file, -1);       /* total length, fix later  */
-	  put32lint (file, type);     /* type of the entry        */
-	  put_n0 (file, 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 (file, "SLst", 4);      /* header               */
-	  put32bint (file, splrs->unk004); /* unknown              */
-	  put32bint (file, numrules);
-	  put32bint (file, splrs->match_operator);
-	  put_n0 (file, 30);              /* unknown              */
-	  /* end of header, now follow the rules */
-	  for (gl=splrs->rules; gl; gl=gl->next)
-	  {
-	      SPLRule *splr = gl->data;
-	      gint ft = itb_splr_get_field_type (splr);
-/*	      printf ("%p: field: %d ft: %d\n", splr, splr->field, ft);*/
-	      itb_splr_validate (splr);
-	      put32bint (file, splr->field);
-	      put32bint (file, splr->action);
-	      put_n0 (file, 11);          /* unknown              */
-	      if (ft == splft_string)
-	      {   /* write string-type rule */
-		  gint len = utf16_strlen (splr->string_utf16);
-		  put32bint (file, 2*len); /* length of string     */
-		  /* FIXME: this assumes string_utf16 is writable */
-		  fixup_big_utf16 (splr->string_utf16);
-		  put_data (file, (gchar *)splr->string_utf16, 2*len);
-		  fixup_big_utf16 (splr->string_utf16);
-	      }
-	      else
-	      {   /* write non-string-type rule */
-		  put32bint (file, 0x44); /* length of data        */
-		  /* data */
-		  put64bint (file, splr->fromvalue);
-		  put64bint (file, splr->fromdate);
-		  put64bint (file, splr->fromunits);
-		  put64bint (file, splr->tovalue);
-		  put64bint (file, splr->todate);
-		  put64bint (file, splr->tounits);
-		  put32bint (file, splr->unk052);
-		  put32bint (file, splr->unk056);
-		  put32bint (file, splr->unk060);
-		  put32bint (file, splr->unk064);
-		  put32bint (file, splr->unk068);
-	      }
-	  }
-	  /* insert length of mhod junk */
-	  fix_header (file, header_seek, ftell (file));
-      }
-      break;
-  case MHOD_ID_MHYP:
-      printf ("Cannot write mhod of type %d\n", type);
-      break;
-  }
-}
-
-
-/* Write out the mhlp header. Size will be written later */
-static void mk_mhlp (FILE *file, guint32 lists)
-{
-  put_data (file, "mhlp", 4);      /* header                   */
-  put32lint (file, 92);             /* size of header           */
-  put32lint (file, lists);          /* playlists on iPod (including main!) */
-  put_n0 (file, 20);               /* dummy space              */
-}
-
-
-/* Fix the mhlp header (number of playlists) */
-static void fix_mhlp (FILE *file, glong mhlp_seek, gint playlist_num)
-{
-  put32lint_seek (file, playlist_num, mhlp_seek+8); /* nr of playlists    */
-}
-
-
-
-/* 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 (FILE *file)
-{
-  put_data (file, "mhod", 4);      /* header                   */
-  put32lint (file, 0x18);           /* size of header  ?        */
-  put32lint (file, 0x0288);         /* size of header + body    */
-  put32lint (file,MHOD_ID_PLAYLIST);/* type of the entry        */
-  put_n0 (file, 6);
-  put32lint (file, 0x010084);       /* ? */
-  put32lint (file, 0x05);           /* ? */
-  put32lint (file, 0x09);           /* ? */
-  put32lint (file, 0x03);           /* ? */
-  put32lint (file, 0x120001);       /* ? */
-  put_n0 (file, 3);
-  put32lint (file, 0xc80002);       /* ? */
-  put_n0 (file, 3);
-  put32lint (file, 0x3c000d);       /* ? */
-  put_n0 (file, 3);
-  put32lint (file, 0x7d0004);       /* ? */
-  put_n0 (file, 3);
-  put32lint (file, 0x7d0003);       /* ? */
-  put_n0 (file, 3);
-  put32lint (file, 0x640008);       /* ? */
-  put_n0 (file, 3);
-  put32lint (file, 0x640017);       /* ? */
-  put32lint (file, 0x01);           /* bool? (visible? / colums?) */
-  put_n0 (file, 2);
-  put32lint (file, 0x500014);       /* ? */
-  put32lint (file, 0x01);           /* bool? (visible?) */
-  put_n0 (file, 2);
-  put32lint (file, 0x7d0015);       /* ? */
-  put32lint (file, 0x01);           /* bool? (visible?) */
-  put_n0 (file, 114);
-}
-
-
-
-/* Header for new PL item */
-static void mk_mhip (FILE *file, guint32 id)
-{
-  put_data (file, "mhip", 4);
-  put32lint (file, 76);
-  put32lint (file, 76);
-  put32lint (file, 1);
-  put32lint (file, 0);
-  put32lint (file, id);  /* track id in playlist */
-  put32lint (file, id);  /* ditto.. don't know the difference, but this
-			   seems to work. Maybe a special ID used for
-			   playlists? */
-  put_n0 (file, 12);
-}
-
-static void
-write_mhsd_one(FILE *file)
-{
-    Track *track;
-    guint32 i, track_num, mhod_num;
-    glong mhsd_seek, mhit_seek, mhlt_seek;
-
-    track_num = it_get_nr_of_tracks();
-
-    mhsd_seek = ftell (file);  /* get position of mhsd header */
-    mk_mhsd (file, 1);         /* write header: type 1: track  */
-    mhlt_seek = ftell (file);  /* get position of mhlt header */
-    mk_mhlt (file, track_num);  /* write header with nr. of tracks */
-    for (i=0; i<track_num; ++i)  /* Write each track */
-    {
-	if((track = it_get_track_by_nr (i)) == 0)
-	{
-	    g_warning ("Invalid track Index!\n");
-	    break;
-	}
-	mhit_seek = ftell (file);
-	mk_mhit (file, track);
-	mhod_num = 0;
-	if (utf16_strlen (track->title_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_TITLE, track->title_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->ipod_path_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_PATH, track->ipod_path_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->album_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_ALBUM, track->album_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->artist_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_ARTIST, track->artist_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->genre_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_GENRE, track->genre_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->fdesc_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_FDESC, track->fdesc_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->comment_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_COMMENT, track->comment_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->composer_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_COMPOSER, track->composer_utf16);
-	    ++mhod_num;
-	}
-	if (utf16_strlen (track->grouping_utf16) != 0)
-	{
-	    mk_mhod (file, MHOD_ID_GROUPING, track->grouping_utf16);
-	    ++mhod_num;
-	}
-        /* Fill in the missing items of the mhit header */
-	fix_mhit (file, mhit_seek, ftell (file), mhod_num);
-    }
-    fix_header (file, mhsd_seek, ftell (file));
-}
-
-/* corresponds to mk_mhyp */
-static void
-write_playlist(FILE *file, Playlist *pl)
-{
-    GList *gl;
-    glong mhyp_seek = ftell(file);
-    guint32 track_num = g_list_length (pl->members);
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "Playlist: %s (%d tracks)\n", pl->name, track_num);
-#endif
-
-    put_data (file, "mhyp", 4);    /* header                    */
-    put32lint (file, 108);          /* length		        */
-    put32lint (file, -1);           /* size -> later             */
-    if (pl->is_spl)
-	put32lint (file, 4);        /* nr of mhods               */
-    else
-	put32lint (file, 2);        /* nr of mhods               */
-    put32lint (file, track_num);    /* number of tracks in plist */
-    put32lint (file, pl->type);     /* 1 = main, 0 = visible     */
-    put32lint (file, 0);            /* ?                         */
-    put64lint (file, pl->id);       /* 64 bit ID                 */
-    put_n0 (file, 18);             /* ?                         */
-    mk_mhod (file, MHOD_ID_TITLE, pl->name_utf16);
-    mk_long_mhod_id_playlist (file);
-    if (pl->is_spl)
-    {  /* write the smart rules */
-	mk_mhod (file, MHOD_ID_SPLPREF, &pl->splpref);
-	mk_mhod (file, MHOD_ID_SPLRULES, &pl->splrules);
-    }
-    /* write hard-coded tracks */
-    for (gl=pl->members; gl; gl=gl->next)
-    {
-	Track *track = gl->data;
-	mk_mhip (file, track->ipod_id);
-	mk_mhod (file, MHOD_ID_PLAYLIST, (void *)track->ipod_id);
-    }
-   fix_header (file, mhyp_seek, ftell(file));
-}
-
-
-
-/* Expects the master playlist to be (it_get_playlist_by_nr (0)) */
-static void
-write_mhsd_two(FILE *file)
-{
-    guint32 playlists, i;
-    glong mhsd_seek, mhlp_seek;
-
-    mhsd_seek = ftell (file);  /* get position of mhsd header */
-    mk_mhsd (file, 2);         /* write header: type 2: playlists  */
-    mhlp_seek = ftell (file);
-    playlists = it_get_nr_of_playlists();
-    mk_mhlp (file, playlists);
-    for(i = 0; i < playlists; i++)
-    {
-	write_playlist(file, it_get_playlist_by_nr(i));
-    }
-    fix_mhlp (file, mhlp_seek, playlists);
-    fix_header (file, mhsd_seek, ftell (file));
-}
-
-
-/* Do the actual writing to the iTunesDB */
-gboolean
-write_it (FILE *file)
-{
-    glong mhbd_seek;
-
-    mhbd_seek = 0;
-    mk_mhbd (file);
-    write_mhsd_one(file);		/* write tracks mhsd */
-    write_mhsd_two(file);		/* write playlists mhsd */
-    fix_header (file, mhbd_seek, ftell (file));
-    return TRUE;
-}
-
-/* Write out an iTunesDB.
-   Note: only the _utf16 entries in the Track-struct are used
-
-   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.
-   "path" should point to the mount point of the
-   iPod, e.g. "/mnt/ipod" and be in local encoding */
-gboolean itunesdb_write (const gchar *path)
-{
-    gchar *itunes_filename, *itunes_path;
-/*    gchar *tmp_filename = g_build_filename (P_tmpdir, "itunesDB.XXXXXX", NULL);*/
-/*     int fd; */
-    const gchar *itunes[] = {"iPod_Control","iTunes",NULL};
-    gboolean result = FALSE;
-
-    itunes_path = resolve_path(path, itunes);
-    
-    if(!itunes_path)
-      return FALSE;
-    
-    itunes_filename = g_build_filename (itunes_path, "iTunesDB", NULL);
-    /* We write to /tmp/ first, then copy to the iPod. For me this
-       means a speed increase from 38 seconds to 4 seconds (my iPod is
-       mounted "sync" -- that means all changes are written to the
-       iPod immediately. Because we are seeking around the file,
-       writing is slow. */
-/*     printf ("%s: %s\n", P_tmpdir, tmp_filename); */
-/*     fd = mkstemp (tmp_filename); */
-/*     printf ("%s: %d %d\n", tmp_filename, fd, errno); */
-/*     if (fd != -1) */
-/*     { */
-/* 	close (fd); */
-/* 	result = itunesdb_write_to_file (tmp_filename); */
-/* 	if (result) */
-/* 	{ */
-/* 	    itunesdb_cp (tmp_filename, itunes_filename); */
-/* 	    remove (tmp_filename); */
-/* 	} */
-/*     } */
-/*     else */
-/*     {   /\* tmp file could not be opened *\/ */
-/* 	result = itunesdb_write_to_file (itunes_filename); */
-/*     } */
-/*  g_free(tmp_filename);*/
-    result = itunesdb_write_to_file (itunes_filename);
-    g_free(itunes_filename);
-    g_free(itunes_path);
-    return result;
-}
-
-/* Same as itnuesdb_write (), but you specify the filename directly */
-gboolean itunesdb_write_to_file (const gchar *filename)
-{
-  FILE *file = NULL;
-  gboolean result = FALSE;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "Writing to %s\n", filename);
-#endif
-
-  if((file = fopen (filename, "w+")))
-    {
-      write_it (file);
-      fclose(file);
-      result = TRUE;
-    }
-  else
-    {
-      itunesdb_warning (_("Could not open iTunesDB \"%s\" for writing.\n"),
-		      filename);
-      result = FALSE;
-    }
-  if (result == TRUE)
-  {
-      gchar *dirname = g_path_get_dirname (filename);
-      itunesdb_rename_files (dirname);
-      g_free (dirname);
-  }
-  return result;
-}
-
-
-void itunesdb_rename_files (const gchar *dirname)
-{
-    const gchar *db_itd[] =  {"iPod_Control", "iTunes", NULL};
-    const gchar *db_plc_o[] = {"Play Counts", NULL};
-    const gchar *db_otg[] = {"OTGPlaylistInfo", NULL};
-    gchar *itunesdir = resolve_path (dirname, db_itd);
-    gchar *plcname_o = resolve_path (itunesdir, db_plc_o);
-    gchar *plcname_n = g_build_filename (itunesdir, 
-					 "Play Counts.bak", NULL);
-    gchar *otgname = resolve_path (itunesdir, db_otg);
-/*    printf ("%s\n%s\n%s\n%s\n\n", itunesdir, plcname_o, plcname_n, otgname);*/
-    /* rename "Play Counts" to "Play Counts.bak" */
-    if (plcname_o)
-    {
-	if (rename (plcname_o, plcname_n) == -1)
-	{   /* an error occured */
-	    itunesdb_warning (_("Error renaming '%s' to '%s' (%s).\n"),
-			      plcname_o, plcname_n, g_strerror (errno));
-	}
-    }
-    /* remove "OTGPlaylistInfo" (the iPod will remove the remaining
-     * files */
-    if (otgname)
-    {
-	if (unlink (otgname) == -1)
-	{   /* an error occured */
-	    itunesdb_warning (_("Error removing '%s'.\n"), otgname);
-	}
-    }
-    g_free (plcname_o);
-    g_free (plcname_n);
-    g_free (otgname);
-    g_free (itunesdir);
-}
-
-/* Convert string from casual PC file name to iPod iTunesDB format
- * using ':' instead of slashes
- */
-void itunesdb_convert_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 itunesdb_convert_filename_ipod2fs (gchar *ipod_file)
-{
-    g_strdelimit (ipod_file, ":", G_DIR_SEPARATOR);
-}
-
-/* create a new track structure with the "unknowns" filled in correctly
- * */ 
-Track *itunesdb_new_track (void)
-{
-    Track *track = g_malloc0 (sizeof (Track));
-    track->unk020 = 1;
-    return track;
-}
-
-/* Copy one track to the ipod. The PC-Filename is
-   "pcfile" and is taken literally.
-   "path" is assumed to be the mountpoint of the iPod (in local
-   encoding).
-   For storage, the directories "f00 ... f19" will be
-   cycled through. The filename is constructed from
-   "track->ipod_id": "gtkpod_id" and written to
-   "track->ipod_path_utf8" and "track->ipod_path_utf16" */
-gboolean itunesdb_copy_track_to_ipod (const gchar *path,
-				      Track *track,
-				      const gchar *pcfile)
-{
-  static gint dir_num = -1;
-  gchar *track_db_path = NULL, *ipod_fullfile = NULL;
-  gchar *dest_components[] = {"","iPod_Control","Music",NULL,NULL,NULL},
-    *parent_dir_filename;
-  gchar *original_suffix;
-  gchar dir_num_str[5];
-  gboolean success;
-  gint32 oops = 0;
-  gint pathlen = 0;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "Entered itunesdb_copy_track_to_ipod: '%s', %p, '%s'\n", path, track, pcfile);
-#endif
-  if (track == NULL)
-    {
-      g_warning ("Programming error: copy_track_to_ipod () called NULL-track\n");
-      return FALSE;
-    }
-  if(track->transferred == TRUE) return TRUE; /* nothing to do */ 
-
-  if (path) pathlen = strlen (path); /* length of path in bytes */
-  
-  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[3] = dir_num_str;
-  
-  parent_dir_filename = resolve_path(path,(const gchar **)dest_components);
-  if(parent_dir_filename == NULL) {
-          /* Can't find the parent of the filenames we're going to generate to copy into */
-          return FALSE;
-  }
-
-  /* we may need the original suffix of pcfile to construct a correct
-     ipod filename */
-  original_suffix = strrchr (pcfile, '.');
-  /* 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 = "";
-
-  /* If track->ipod_path exists, we use that one instead. */
-
-  for (ipod_fullfile = itunesdb_get_track_name_on_ipod (path, track) ; !ipod_fullfile ; oops++)
-  { /* we need to loop until we find an unused filename */
-      dest_components[4] = 
-        g_strdup_printf("gtkpod%05d%s",track->ipod_id + oops,original_suffix);
-      ipod_fullfile = resolve_path(path,
-                                   (const gchar **)dest_components);
-      if(ipod_fullfile)
-      {
-              g_free(ipod_fullfile);
-              ipod_fullfile = NULL;
-      }
-      else
-      {
-        ipod_fullfile = g_build_filename(parent_dir_filename,
-					 dest_components[4], NULL);
-        track_db_path = g_strjoinv(":", dest_components);
-/* 	printf ("ff: %s\ndb: %s\n", ipod_fullfile, track_db_path); */
-      }
-      g_free(dest_components[4]);
-  }
-  
-  if(!track_db_path)
-    track_db_path = g_strdup(track->ipod_path);
-  
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "ipod_fullfile: '%s'\n", ipod_fullfile);
-#endif
-
-  success = itunesdb_cp (pcfile, ipod_fullfile);
-  if (success)
-  {
-      track->transferred = TRUE;
-#ifdef ITUNESDB_PROVIDE_UTF8
-      if (track->ipod_path) g_free (track->ipod_path);
-      track->ipod_path = g_strdup (track_db_path);
-#endif
-      if (track->ipod_path_utf16) g_free (track->ipod_path_utf16);
-      track->ipod_path_utf16 = g_utf8_to_utf16 (track_db_path, -1, NULL, NULL, NULL);
-  }
-  
-  g_free(parent_dir_filename);
-  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.
-   @path: 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: the file does not necessarily
-   exist. NOTE: this code works around a problem on some systems (see
-   below) and might return a filename with different case than the
-   original filename. Don't copy it back to @track */
-gchar *itunesdb_get_track_name_on_ipod (const gchar *path, Track *track)
-{
-  gchar *result,*buf,*good_path,**components,*resolved;
-
-  if(!track || !track->ipod_path || !*track->ipod_path)
-    return NULL;
-        
-  buf = g_strdup (track->ipod_path);
-  itunesdb_convert_filename_ipod2fs (buf);
-  result = g_build_filename (path, buf, NULL);
-  g_free(buf);
-  if (g_file_test (result, G_FILE_TEST_EXISTS))
-    return result;
-    
-  g_free(result);
-  
-  good_path = g_filename_from_utf8(path,-1,NULL,NULL,NULL);
-  components = g_strsplit(track->ipod_path,":",10);
-  
-  resolved = resolve_path(good_path,(const gchar **)components);
-  
-  g_free(good_path);
-  g_strfreev(components);
-  
-  return resolved;
-}
-
-
-/* Copy file "from_file" to "to_file".
-   Returns TRUE on success, FALSE otherwise */
-gboolean itunesdb_cp (const gchar *from_file, const gchar *to_file)
-{
-  gchar *data=g_malloc (ITUNESDB_COPYBLK);
-  glong bread, bwrite;
-  gboolean success = TRUE;
-  FILE *file_in = NULL;
-  FILE *file_out = NULL;
-
-#if ITUNESDB_DEBUG
-  fprintf(stderr, "Entered itunesdb_cp: '%s', '%s'\n", from_file, to_file);
-#endif
-
-  do { /* dummy loop for easier error handling */
-    file_in = fopen (from_file, "r");
-    if (file_in == NULL)
-      {
-	itunesdb_warning (_("Could not open file \"%s\" for reading.\n"), from_file);
-	success = FALSE;
-	break;
-      }
-    file_out = fopen (to_file, "w");
-    if (file_out == NULL)
-      {
-	itunesdb_warning (_("Could not open file \"%s\" for writing.\n"), to_file);
-	success = FALSE;
-	break;
-      }
-    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! */
-	      itunesdb_warning (_("Error reading file \"%s\".\n"), from_file);
-	      success = FALSE;
-	    }
-	}
-      else
-	{
-	  bwrite = fwrite (data, 1, bread, file_out);
-#if ITUNESDB_DEBUG
-      fprintf(stderr, "itunesdb_cp: wrote %ld bytes\n", bwrite);
-#endif
-	  if (bwrite != bread)
-	    {
-	      itunesdb_warning (_("Error writing PC file \"%s\".\n"),to_file);
-	      success = FALSE;
-	    }
-	}
-    } while (success && (bread != 0));
-  } while (FALSE);
-  if (file_in)  fclose (file_in);
-  if (file_out)
-    {
-      fclose (file_out);
-      if (!success)
-      { /* error occured -> delete to_file */
-#if ITUNESDB_DEBUG
-	  fprintf(stderr, "itunesdb_cp: copy unsuccessful, removing '%s'\n", to_file);
-#endif
-	remove (to_file);
-      }
-    }
-  g_free (data);
-  return success;
-}
-
-
-
-/*------------------------------------------------------------------*\
- *                                                                  *
- *                       Timestamp stuff                            *
- *                                                                  *
-\*------------------------------------------------------------------*/
-
-guint64 itunesdb_time_get_mac_time (void)
-{
-    GTimeVal time;
-
-    g_get_current_time (&time);
-    return itunesdb_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 itunesdb_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 itunesdb_time_host_to_mac (time_t time)
-{
-    return (guint64)(((gint64)time) + 2082844800);
-}

Deleted: gtkpod/branches/upstream/current/src/itunesdb.h
===================================================================
--- gtkpod/branches/upstream/current/src/itunesdb.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itunesdb.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,350 +0,0 @@
-/* Time-stamp: <2004-12-14 00:21:08 jcs>
-|
-|  Copyright (C) 2002-2003 Jorg Schuler <jcsjcs at users.sourceforge.net>
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  Most of the code in this file has 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: itunesdb.h,v 1.29 2004/12/13 15:57:06 jcsjcs Exp $
-*/
-
-#ifndef __ITUNESDB_H__
-#define __ITUNESDB_H__
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include "track.h"
-#include <time.h>
-
-/* We instruct itunesdb_parse to provide utf8 versions of the strings */
-#define ITUNESDB_PROVIDE_UTF8
-
-enum { /* types for playlist->type */
-    PL_TYPE_NORM = 0,       /* normal playlist, visible in iPod */
-    PL_TYPE_MPL = 1         /* master playlist, contains all tracks,
-			       not visible in iPod */
-};
-
-
-
-/* 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
-#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;
-    gunichar2 *string_utf16;   /* data in UTF16 */
-#ifdef ITUNESDB_PROVIDE_UTF8
-    gchar *string;             /* data in UTF8  */
-#endif
-    /* 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 struct
-{
-    gunichar2 *name_utf16;/* name of playlist in UTF16     */
-#ifdef ITUNESDB_PROVIDE_UTF8
-    gchar *name;          /* name of playlist in UTF8      */
-#endif
-    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?               */
-    guint64 id;           /* playlist ID                   */
-    SPLPref splpref;      /* smart playlist prefs          */
-    SPLRules splrules;    /* rules for smart playlists     */
-    glong size;           /* not used by itunesdb.c        */
-} Playlist;
-
-
-gboolean itunesdb_parse (const gchar *path);
-gboolean itunesdb_parse_file (const gchar *filename);
-gboolean itunesdb_write (const gchar *path);
-gboolean itunesdb_write_to_file (const gchar *filename);
-void itunesdb_rename_files (const gchar *dirname);
-gboolean itunesdb_copy_track_to_ipod (const gchar *path, Track *track,
-				      const gchar *pcfile);
-/* smart playlist functions */
-SPLFieldType itb_splr_get_field_type (const SPLRule *splr);
-SPLActionType itb_splr_get_action_type (const SPLRule *splr);
-
-gchar *itunesdb_get_track_name_on_ipod (const gchar *path, Track *s);
-gboolean itunesdb_cp (const gchar *from_file, const gchar *to_file);
-guint64 itunesdb_time_get_mac_time (void);
-void itunesdb_convert_filename_fs2ipod (gchar *ipod_file);
-void itunesdb_convert_filename_ipod2fs (gchar *ipod_file);
-Track *itunesdb_new_track (void);
-time_t itunesdb_time_mac_to_host (guint64 mactime);
-guint64 itunesdb_time_host_to_mac (time_t time);
-
-void itb_splr_validate (SPLRule *splr);
-#endif

Deleted: gtkpod/branches/upstream/current/src/itunessd.c
===================================================================
--- gtkpod/branches/upstream/current/src/itunessd.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itunessd.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,242 +0,0 @@
-/*
-|
-|  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!
-|
-|  $Id: itunesdb.c,v 1.73 2004/12/13 15:57:05 jcsjcs Exp $
-*/
-
-/* 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...
-
-*/
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include "itunesdb.h"
-#include "support.h"
-#include "file.h"
-
-#ifdef IS_GTKPOD
-/* we're being linked with gtkpod */
-#define itunesdb_warning(...) g_print(__VA_ARGS__)
-#else
-/* The following prints the error messages to the shell, converting
- * UTF8 to the current locale on the fly: */
-#define itunesdb_warning(...) do { gchar *utf8=g_strdup_printf (__VA_ARGS__); gchar *loc=g_locale_from_utf8 (utf8, -1, NULL, NULL, NULL); fprintf (stderr, "%s", loc); g_free (loc); g_free (utf8);} while (FALSE)
-#endif
-
-
-
-
-/* Write "data", "n" bytes long to current position in file.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put_data (FILE *file, gchar *data, gint n)
-{
-	if (fwrite (data, 1, n, file) != n) return FALSE;
-	return TRUE;
-}
-
-
-/* Write 1-byte integer "n" to "file".
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put8int (FILE *file, guint8 n)
-{
-	return put_data (file, (gchar *)&n, 1);
-}
-
-
-/* Write 3-byte integer "n" to "file" in big endian order.
-   Returns TRUE on success, FALSE otherwise */
-static gboolean put24bint (FILE *file, guint32 n)
-{
-	gchar buf[3] ;
-	buf[0] = (n >> 16) & 0xff ;
-	buf[1] = (n >> 8)  & 0xff ;
-	buf[2] = (n >> 0)  & 0xff ;
-	return put_data (file, buf, 3);
-}
-
-
-gboolean itunessd_write_it(FILE *file)
-{
-	guint32 i;
-	gunichar2 namebuf[261], *path16 ;
-	gchar *path ;
-	glong pathlen ;
-	guint32 track_num = it_get_nr_of_tracks() ;
-	Track *track ;
-
-	put24bint(file, track_num) ;
-	put24bint(file, 0x010600) ;
-	put24bint(file, 0x12) ;	/* size of header */
-	put24bint(file, 0x0) ;	/* padding? */
-	put24bint(file, 0x0) ;
-	put24bint(file, 0x0) ;
-
-	for(i = 0 ; i < track_num ; i++)
-	{
-		if ( (track = it_get_track_by_nr(i)) == 0 )
-		{
-			g_warning("Invalid track Index!\n") ;
-			break ;
-		}
-		put24bint(file, 0x00022e) ;
-		put24bint(file, 0x5aa501) ;
-		/* starttime is in 256 ms incr. for shuffle */
-		put24bint(file, track->starttime / 256) ;
-		put24bint(file, 0) ;
-		put24bint(file, 0) ;
-		put24bint(file, track->stoptime / 256) ;
-		put24bint(file, 0) ;
-		put24bint(file, 0) ;
-		/* track->volume ranges from -255 to +255 */
-		/* we want 0 - 200 */
-		put24bint(file, ((track->volume + 255) * 201) / 511) ;
-
-		/* XXX FIXME  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? */
-
-		put24bint(file, 0x01) ;
-		put24bint(file, 0x200) ;
-		
-		/* shuffle uses forward slash separator, not colon */
-		path = g_strdup(track->ipod_path) ;
-		itunesdb_convert_filename_ipod2fs(path) ;
-		path16 = g_utf8_to_utf16(path, -1, NULL, &pathlen, NULL) ;
-		
-		g_free(path) ;
-		if(path16 == NULL) {
-			return FALSE ;
-		}
-
-		memset(namebuf, 0, sizeof(namebuf)) ;
-		memcpy(namebuf, path16, pathlen * 2) ;
-
-		g_free(path16) ;
-
-		put_data(file, (gchar *)namebuf, 522) ;
-
-		/* XXX FIXME: should depend on something, not hardcoded */
-		put8int(file, 0x1) ; /* song eligible in shuffle mode */
-		put8int(file, 0) ;
-		put8int(file, 0) ;
-	}
-	return TRUE ;
-}	
-
-
-gboolean itunessd_write_to_file (const gchar *filename)
-{
-	FILE *file = NULL ;
-	gboolean result = FALSE ;
-
-#if ITUNESDB_DEBUG
-	fprintf(stderr, "Writing to %s\n", filename) ;
-#endif
-
-	if ((file = fopen(filename, "w+")) == NULL)
-	{
-		itunesdb_warning(_("Could not open iTunesSD \"%s\" for writing.\n"),
-				 filename) ;
-		return FALSE ;
-	}
-
-	result = itunessd_write_it(file) ;
-	fclose(file) ;
-
-	return result ;
-}
-

Deleted: gtkpod/branches/upstream/current/src/itunessd.h
===================================================================
--- gtkpod/branches/upstream/current/src/itunessd.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/itunessd.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,34 +0,0 @@
-/*
-|
-| Copyright 2005 Steve Wahl <steve at pro-ns dot net>
-| to be used as part of the gtkpod project.
-|
-|  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$
-*/
-
-#ifndef __ITUNESSD_H__
-#define __ITUNESSD_H__
-
-gboolean itunessd_write_to_file (const gchar *filename) ;
-
-#endif /* __ITUNESSD_H__ */

Modified: gtkpod/branches/upstream/current/src/main.c
===================================================================
--- gtkpod/branches/upstream/current/src/main.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/main.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc.c
===================================================================
--- gtkpod/branches/upstream/current/src/misc.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc.h
===================================================================
--- gtkpod/branches/upstream/current/src/misc.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc_confirm.c
===================================================================
--- gtkpod/branches/upstream/current/src/misc_confirm.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc_confirm.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc_conversion.c
===================================================================
--- gtkpod/branches/upstream/current/src/misc_conversion.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc_conversion.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc_input.c
===================================================================
--- gtkpod/branches/upstream/current/src/misc_input.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc_input.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc_playlist.c
===================================================================
--- gtkpod/branches/upstream/current/src/misc_playlist.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc_playlist.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc_track.c
===================================================================
--- gtkpod/branches/upstream/current/src/misc_track.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc_track.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/misc_track.h
===================================================================
--- gtkpod/branches/upstream/current/src/misc_track.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/misc_track.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/mp3file.c
===================================================================
--- gtkpod/branches/upstream/current/src/mp3file.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/mp3file.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/mp4file.c
===================================================================
--- gtkpod/branches/upstream/current/src/mp4file.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/mp4file.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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;
 

Deleted: gtkpod/branches/upstream/current/src/playlist.c
===================================================================
--- gtkpod/branches/upstream/current/src/playlist.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/playlist.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,1228 +0,0 @@
-/*
-|  Copyright (C) 2002 Adrian Ulrich <pab at blinkenlights.ch>
-|                2002-2003 Jörg Schuler  <jcsjcs at users.sourceforge.net>
-|
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  This program is free software; you can redistribute it and/or modify
-|  it under the terms of the GNU General Public License as published by
-|  the Free Software Foundation; either version 2 of the License, or
-|  (at your option) any later version.
-|
-|  This program 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 General Public License for more details.
-|
-|  You should have received a copy of the GNU General Public License
-|  along with this program; 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: playlist.c,v 1.42 2004/12/13 15:57:06 jcsjcs Exp $
-*/
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-#include <string.h>
-#include "prefs.h"
-#include "playlist.h"
-#include "display.h"
-#include "misc.h"
-#include "file.h"
-#include "support.h"
-
-GList *playlists;
-
-/* This function stores the new "plitem" in the global list
-   and adds it to the display model.
-   "plitem" must have "name", "name_utf16", and "type" initialized
-   and all other members set to zero.
-   If "plitem" is a master playlist, and another MPL
-   already exists, only the name of the new playlist is copied
-   and a pointer to the original MPL is returned. This pointer
-   has to be used for consequent calls of add_track(id)_to_playlist()
-   */
-/* @position: if != -1, playlist will be inserted at that position */
-Playlist *add_playlist (Playlist *plitem, gint position)
-{
-    Playlist *mpl;
-
-    if (plitem->id == 0)
-    {
-	GRand *grand = g_rand_new ();
-	plitem->id = ((guint64)g_rand_int (grand) << 32) |
-	    ((guint64)g_rand_int (grand));
-    }
-    if (plitem->type == PL_TYPE_MPL)
-    {
-	/* it's the MPL */
-	mpl = get_playlist_by_nr (0);
-	if (mpl != NULL)
-	{
-	    if (mpl->name)       g_free (mpl->name);
-	    if (mpl->name_utf16) g_free (mpl->name_utf16);
-	    mpl->name = plitem->name;
-	    plitem->name = NULL;
-	    mpl->name_utf16 = plitem->name_utf16;
-	    plitem->name_utf16 = NULL;
-	    pl_free (plitem);
-	    pm_name_changed (mpl);  /* Tell the model about the
-				       name change */
-	    return mpl;
-	}
-    }
-    if (position == -1)  playlists = g_list_append (playlists, plitem);
-    else  playlists = g_list_insert (playlists, plitem, position);
-    pm_add_playlist (plitem, position);
-    return plitem;
-}
-
-/* Create new default rule */
-SPLRule *splr_new (void)
-{
-    SPLRule *splr = g_malloc0 (sizeof (SPLRule));
-    gint value;
-    guint64 v64;
-
-    if (!prefs_get_int_value ("splr_field", &value))
-	value = SPLFIELD_ARTIST;
-    splr->field = value;
-
-    if (!prefs_get_int_value ("splr_action", &value))
-	value = SPLACTION_CONTAINS;
-    splr->action = value;
-
-    if (prefs_get_string_value ("splr_string", &splr->string))
-	splr->string_utf16 = g_utf8_to_utf16 (splr->string, -1,
-					      NULL, NULL, NULL);
-
-    if (!prefs_get_int64_value ("splr_fromvalue", &v64))
-	v64 = 0;
-    splr->fromvalue = v64;
-
-    if (!prefs_get_int64_value ("splr_fromdate", &v64))
-	v64 = 0;
-    splr->fromdate = v64;
-
-    if (!prefs_get_int64_value ("splr_fromunits", &v64))
-	v64 = 0;
-    splr->fromunits = v64;
-
-    if (!prefs_get_int64_value ("splr_tovalue", &v64))
-	v64 = 0;
-    splr->tovalue = v64;
-
-    if (!prefs_get_int64_value ("splr_todate", &v64))
-	v64 = 0;
-    splr->todate = v64;
-
-    if (!prefs_get_int64_value ("splr_tounits", &v64))
-	v64 = 0;
-    splr->tounits = v64;
-
-    return splr;
-}
-
-
-/* add smart rule @splr to playlist @pl at position @pos */
-void splr_add (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 a new smart rule and insert it at position @pos of playlist
- * @pl. A pointer to the newly created rule is returned. */
-SPLRule *splr_add_new (Playlist *pl, gint pos)
-{
-    SPLRule *splr;
-
-    g_return_val_if_fail (pl, NULL);
-
-    splr = splr_new ();
-    splr_add (pl, splr, pos);
-    return splr;
-}
-
-
-/* Return a new playlist struct. It is not entered into the playlist
- * GList */
-Playlist *pl_new (gchar *plname, gboolean spl)
-{
-    Playlist *pl;
-
-    g_return_val_if_fail (plname, NULL);
-
-    pl = g_malloc0 (sizeof (Playlist));
-    pl->type = PL_TYPE_NORM;
-    pl->name = g_strdup (plname);
-    pl->size = 0.0;
-    pl->name_utf16 = g_utf8_to_utf16 (plname, -1, NULL, NULL, NULL);
-    pl->is_spl = spl;
-    if (spl)
-    {   /* set preferred values */
-	gint value;
-	if (!prefs_get_int_value ("spl_liveupdate", &value))
-	    value = TRUE;
-	pl->splpref.liveupdate = value;
-
-	if (!prefs_get_int_value ("spl_checkrules", &value))
-	    value = TRUE;
-	pl->splpref.checkrules = value;
-
-	if (!prefs_get_int_value ("spl_checklimits", &value))
-	    value = FALSE;
-	pl->splpref.checklimits = value;
-
-	if (!prefs_get_int_value ("spl_limittype", &value))
-	    value = LIMITTYPE_HOURS;
-	pl->splpref.limittype = value;
-
-	if (!prefs_get_int_value ("spl_limitsort", &value))
-	    value = LIMITSORT_RANDOM;
-	pl->splpref.limitsort = value;
-
-	if (!prefs_get_int_value ("spl_limitvalue", &value))
-	    value = 2;
-	pl->splpref.limitvalue = value;
-
-	if (!prefs_get_int_value ("spl_matchcheckedonly", &value))
-	    value = FALSE;
-	pl->splpref.matchcheckedonly = value;
-
-	if (!prefs_get_int_value ("splr_match_operator", &value))
-	    value = SPLMATCH_AND;
-	pl->splrules.match_operator = value;
-
-	/* add at least one rule */
-	splr_add_new (pl, 0);
-    }
-    return pl;
-}
-
-
-/* Creates a new playlist (spl = TRUE: smart playlist) */
-Playlist *add_new_playlist (gchar *plname, gint position, gboolean spl)
-{
-  Playlist *plitem;
-  
-  if(!plname) {
-    g_assert_not_reached();
-    return NULL;
-  }
-
-  plitem = pl_new (plname, spl);
-  data_changed (); /* indicate that data has changed in memory */
-  return add_playlist (plitem, position);
-}
-
-
-/* initializes the playlists by creating the master playlist */
-void create_mpl (void)
-{
-  Playlist *plitem;
-
-  if (playlists != NULL) return;  /* already entries! */
-  plitem = g_malloc0 (sizeof (Playlist));
-  plitem->type = PL_TYPE_MPL;  /* MPL! */
-  plitem->name = g_strdup ("gtkpod");
-  plitem->size = 0.0;
-  plitem->name_utf16 = g_utf8_to_utf16 (plitem->name, -1, NULL, NULL, NULL);
-  add_playlist (plitem, -1);
-}
-
-
-/* This function appends the track with id "id" to the
-   playlist "plitem". It then lets the display model know.
-   If "plitem" == NULL, add to master playlist
-   @display: if TRUE, track is added the display.  Otherwise it's only
-   added to memory */
-void add_trackid_to_playlist (Playlist *plitem, guint32 id, gboolean display)
-{
-  Track *track;
-
-  track = get_track_by_id (id);
-  /* printf ("id: %4d track: %x\n", id, track); */
-  add_track_to_playlist (plitem, track, display);
-}
-
-/* This function appends the track "track" to the
-   playlist "plitem". It then lets the display model know.
-   If "plitem" == NULL, add to master playlist
-   @display: if TRUE, track is added the display.  Otherwise it's only
-   added to memory */
-void add_track_to_playlist (Playlist *plitem, Track *track, gboolean display)
-{
-  if (track == NULL) return;
-  if (plitem == NULL)  plitem = get_playlist_by_nr (0);
-  plitem->members = g_list_append (plitem->members, track);
-  ++plitem->num;  /* increase track counter */
-  /* it's more convenient to store the pointer to the track than
-     the ID, because id=track->ipod_id -- it takes more computing
-     power to do it the other way round */
-  if (display)  pm_add_track (plitem, track, TRUE);
-}
-
-/* This function removes the track with id "id" from the
-   playlist "plitem". It then lets the display model know.
-   No action is taken if "track" is not in the playlist.
-   If "plitem" == NULL, remove from master playlist */
-gboolean remove_trackid_from_playlist (Playlist *plitem, guint32 id)
-{
-  Track *track;
-
-  track = get_track_by_id (id);
-  /* printf ("id: %4d track: %x\n", id, track); */
-  return remove_track_from_playlist (plitem, track);
-}
-
-/* This function removes the track "track" from the
-   playlist "plitem". It then lets the display model know.
-   No action is taken if "track" is not in the playlist.
-   If "plitem" == NULL, remove from master playlist.
-   If the track is removed from the MPL, it's also removed
-   from memory completely
-
-   Return value: FALSE, if track was not a member, TRUE otherwise */
-gboolean remove_track_from_playlist (Playlist *plitem, Track *track)
-{
-    if (track == NULL) return FALSE;
-    if (plitem == NULL)  plitem = get_playlist_by_nr (0);
-    if (g_list_find (plitem->members, track) == NULL)
-	return FALSE; /* not a member */
-    pm_remove_track (plitem, track);
-    plitem->members = g_list_remove (plitem->members, track);
-    --plitem->num; /* decrease number of tracks */
-    if (plitem->type == PL_TYPE_MPL)
-    { /* if it's the MPL, we remove the track permanently */
-	gint i, n;
-	n = get_nr_of_playlists ();
-	for (i = 1; i<n; ++i)
-	{  /* first we remove the track from all other playlists (i=1:
-	    * skip MPL or we loop */
-	    remove_track_from_playlist (get_playlist_by_nr (i), track);
-	}
-	remove_track_from_ipod (track);
-    }
-    return TRUE; /* track was a member */
-}
-
-/* checks if "track" is in playlist "plitem". TRUE, if yes, FALSE
-   otherwise */
-gboolean track_is_in_playlist (Playlist *plitem, Track *track)
-{
-    if (track == NULL) return FALSE;
-    if (plitem == NULL)  plitem = get_playlist_by_nr (0);
-    if (g_list_find (plitem->members, track) == NULL)
-	return FALSE; /* not a member */
-    return TRUE;
-}
-
-/* returns in how many playlists (other than the MPL) @track is a
-   member of */
-guint32 track_is_in_playlists (Track *track)
-{
-    guint32 res = 0;
-
-    if (playlists)
-    {
-	GList *gl;
-	for (gl=playlists->next; gl; gl=gl->next)
-	{
-	    if (track_is_in_playlist ((Playlist *)gl->data, track)) ++res;
-	}
-    }
-    return res;
-}
-
-/* Returns the number of playlists
-   (including the MPL, which is nr. 0) */
-guint32 get_nr_of_playlists (void)
-{
-  return g_list_length (playlists);
-}
-
-/* Returns the n_th playlist.
-   Useful for itunesdb: Nr. 0 should be the MLP */
-Playlist *get_playlist_by_nr (guint32 n)
-{
-  return g_list_nth_data (playlists, n);
-}
-
-/* Returns the number of tracks in "plitem" */
-/* Stupid function... but please use it :-) */
-guint32 get_nr_of_tracks_in_playlist (Playlist *plitem)
-{
-  return plitem->num;
-  /* return g_list_length (plitem->members);*/
-}
-
-/* Returns the track nur "n" in playlist "plitem" */
-/* If "n >= number of tracks in playlist" return NULL */
-Track *get_track_in_playlist_by_nr (Playlist *plitem, guint32 n)
-{
-  return g_list_nth_data (plitem->members, n);
-}
-
-
-/* Returns the playlist with the ID @id or NULL if the ID cannot be
- * found. */
-Playlist *get_playlist_by_id (guint64 id)
-{
-    GList *gl;
-
-    for (gl=playlists; gl; gl=gl->next)
-    {
-	Playlist *pl = gl->data;
-	if (pl->id == id)  return pl;
-    }
-    return NULL;
-}
-
-
-/**
- *
- * You must free this yourself
- */
-/* Remove playlist from the list. First it's removed from any display
-   model using remove_playlist_from_model (), then the entry itself
-   is removed from the GList *playlists */
-void remove_playlist (Playlist *playlist)
-{
-  pm_remove_playlist (playlist, TRUE);
-  data_changed ();
-  pl_free(playlist);
-}
-
-/* Move @playlist to the position @pos. It will not move the master
- * playlist, and will not move anything before the master playlist */
-void move_playlist (Playlist *playlist, gint pos)
-{
-    if (!playlist) return;
-    if (pos == 0)  return; /* don't move before MPL */
-
-    if (playlist->type == PL_TYPE_MPL)  return; /* don't move MPL */
-    playlists = g_list_remove (playlists, playlist);
-    playlists = g_list_insert (playlists, playlist, pos);
-}
-
-
-/* Free memory of SPLRule @splr */
-static void splr_free (SPLRule *splr)
-{
-    if (splr)
-    {
-	g_free (splr->string);
-	g_free (splr->string_utf16);
-	g_free (splr);
-    }
-}
-
-/* remove @splr from playlist @pl */
-void splr_remove (Playlist *pl, SPLRule *splr)
-{
-    g_return_if_fail (pl);
-    g_return_if_fail (splr);
-
-    pl->splrules.rules = g_list_remove (pl->splrules.rules, splr);
-    splr_free (splr);
-}
-
-
-/**
- * pl_free - free the associated memory a playlist contains
- * @playlist - the playlist we'd like to free
- */
-void
-pl_free(Playlist *playlist)
-{
-  playlists = g_list_remove (playlists, playlist);
-  g_free (playlist->name);
-  g_free (playlist->name_utf16);
-  g_list_free (playlist->members);
-  g_list_foreach (playlist->splrules.rules,
-		  (GFunc)(splr_free), NULL);
-  g_list_free (playlist->splrules.rules);
-  g_free (playlist);
-}
-
-/* Remove all playlists from the list using remove_playlist () */
-void remove_all_playlists (void)
-{
-  Playlist *playlist;
-
-  while (playlists != NULL)
-    {
-      playlist = g_list_nth_data (playlists, 0);
-      pm_remove_playlist (playlist, FALSE);
-      pl_free (playlist);
-    }
-}
-
-/***
- * playlist_exists(): return TRUE if the playlist @pl exists, FALSE
- * otherwise
- ***/
-gboolean playlist_exists (Playlist *pl)
-{
-    if (g_list_find (playlists, pl))  return TRUE;
-    else                              return FALSE;
-}
-
-
-/** Searches through the playlists starting from position @startfrom
- * and looking for playlist with name  @pl_name
- * @return position of found playlist starting from 1.
- * If it wasn't found - returns 0
- */
-guint get_playlist_by_name(gchar *pl_name, guint startfrom)
-{
-    Playlist *pl;
-    guint pos = 0
-        , i;
-
-    if (startfrom==0) startfrom++;
-
-    for(i = startfrom; i < get_nr_of_playlists(); i++)
-    {
-        pl = get_playlist_by_nr (i);
-        if(pl->name && (strcmp (pl->name, pl_name) == 0))
-        {
-            pos = i;
-            break;
-        }
-    }
-    return pos;
-}
-
-
-/** If playlist @pl_name doesn't exist, then it will be created
- * and added to the tail of playlists, otherwise pointer to an existing
- * playlist will be returned
- */
-Playlist* get_newplaylist_by_name (gchar *pl_name, gboolean spl)
-{
-    Playlist *res = NULL;
-    guint plnum = get_playlist_by_name(pl_name, (guint) 0);
-
-    if (!plnum)
-        res = add_new_playlist(pl_name,-1, spl);
-    else
-        res = get_playlist_by_nr(plnum);
-
-    return res;
-}
-
-
-/* FIXME: this is a bit dangerous. . . we delete all
- * playlists with titles @pl_name and return how many
- * pl have been removed.
- ***/
-guint remove_playlist_by_name(gchar *pl_name){
-    Playlist *pl;
-    guint i;
-    guint pl_removed=0;
-
-    for(i = 1; i < get_nr_of_playlists(); i++)
-    {
-        pl = get_playlist_by_nr (i);
-        if(pl->name && (strcmp (pl->name, pl_name) == 0))
-        {
-            remove_playlist(pl);
-         /* we just deleted the ith element of playlists, so
-          * we must examine the new ith element. */
-            pl_removed++;
-            i--;
-        }
-    }
-    return pl_removed;
-}
-
-
-/* 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;
-}
-
-
-/* Randomize the order of the members of the playlist @pl */
-void randomize_playlist (Playlist *pl)
-{
-    g_return_if_fail (pl);
-
-    pl->members = randomize_glist (pl->members);
-}
-
-
-/* Duplicate SPLRule @splr */
-SPLRule *splr_duplicate (SPLRule *splr)
-{
-    SPLRule *dup = NULL;
-    if (splr)
-    {
-	dup = g_malloc (sizeof (SPLRule));
-	g_assert (dup);
-	memcpy (dup, splr, sizeof (SPLRule));
-
-	/* Now copy the strings */
-	dup->string = g_strdup (splr->string);
-	dup->string_utf16 = utf16_strdup (splr->string_utf16);
-    }
-    return dup;
-}
-
-
-/* Duplicate an existing playlist */
-Playlist *pl_duplicate (Playlist *pl)
-{
-    Playlist *pl_dup = NULL;
-
-    if (pl)
-    {
-	GList *gl;
-	pl_dup = g_malloc (sizeof (Playlist));
-	g_assert (pl_dup);
-	memcpy (pl_dup, pl, sizeof (Playlist));
-	/* clear list heads */
-	pl_dup->members = NULL;
-	pl_dup->splrules.rules = NULL;
-
-	/* Now copy strings */
-	pl_dup->name = g_strdup (pl->name);
-	pl_dup->name_utf16 = utf16_strdup (pl->name_utf16);
-
-	/* 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);
-		
-	}
-    }
-    return pl_dup;
-}
-
-
-/* copy all relevant information for smart playlist from playlist @src
-   to playlist @dest. Already available information is
-   overwritten/deleted. */
-void pl_copy_spl_rules (Playlist *dest, Playlist *src)
-{
-    GList *gl;
-
-    g_return_if_fail (dest != NULL);
-    g_return_if_fail (src != NULL);
-    g_return_if_fail (dest->is_spl);
-    g_return_if_fail (src->is_spl);
-
-    /* remove existing rules */
-    g_list_foreach (dest->splrules.rules, (GFunc)(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);
-    }
-}
-
-
-
-
-/* -------------------------------------------------------------------
- *
- * 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 splr_eval (SPLRule *splr, Track *track)
-{
-    SPLFieldType ft;
-    SPLActionType at;
-    gchar *strcomp = NULL;
-    gint64 intcomp = 0;
-    gboolean boolcomp = FALSE;
-    guint32 datecomp = 0;
-    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 = itb_splr_get_field_type (splr);
-    at = itb_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_created;
-	break;
-    case SPLFIELD_LAST_PLAYED:
-	datecomp = track->time_played;
-	break;
-    case SPLFIELD_PLAYLIST:
-	playcomp = get_playlist_by_id (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 = itunesdb_time_host_to_mac (t);
-	    return (datecomp > mactime);
-	case SPLACTION_IS_NOT_IN_THE_LAST:
-	    time (&t);
-	    t += (splr->fromdate * splr->fromunits);
-	    mactime = itunesdb_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 (track_is_in_playlist (playcomp, track));
-	case SPLACTION_IS_NOT_INT:/* NOT in this playlist? */
-	    return (!track_is_in_playlist (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 (Track *a, Track *b)
-{
-    return strcmp (a->title, b->title);
-}
-static gint compAlbum (Track *a, Track *b)
-{
-    return strcmp (a->album, b->album);
-}
-static gint compArtist (Track *a, Track *b)
-{
-    return strcmp (a->artist, b->artist);
-}
-static gint compGenre (Track *a, Track *b)
-{
-    return strcmp (a->genre, b->genre);
-}
-static gint compMostRecentlyAdded (Track *a, Track *b)
-{
-    return b->time_created - a->time_created;
-}
-static gint compLeastRecentlyAdded (Track *a, Track *b)
-{
-    return a->time_created - b->time_created;
-}
-static gint compMostOftenPlayed (Track *a, Track *b)
-{
-    return b->time_created - a->time_created;
-}
-static gint compLeastOftenPlayed (Track *a, Track *b)
-{
-    return a->time_created - b->time_created;
-}
-static gint compMostRecentlyPlayed (Track *a, Track *b)
-{
-    return b->time_played - a->time_played;
-}
-static gint compLeastRecentlyPlayed (Track *a, Track *b)
-{
-    return a->time_played - b->time_played;
-}
-static gint compHighestRating (Track *a, Track *b)
-{
-    return b->rating - a->rating;
-}
-static gint compLowestRating (Track *a, Track *b)
-{
-    return a->rating - b->rating;
-}
-
-void spl_update (Playlist *spl, GList *tracks)
-{
-    GList *gl;
-    GList *sel_tracks = NULL;
-
-    g_return_if_fail (spl);
-
-    /* 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;
-    data_changed ();
-
-    for (gl=tracks; gl ; gl=gl->next)
-    {
-	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 = splr_eval (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;
-	    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 */
-		add_track_to_playlist (spl, t, FALSE);
-	    }
-	    /* 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 spl_update_all (void)
-{
-    Playlist *mpl;
-
-    mpl = get_playlist_by_nr (0);
-    g_return_if_fail (mpl);
-
-    g_list_foreach (playlists, (GFunc)spl_update, mpl->members);
-}
-
-
-
-/* end of code based on Samuel Wood's work */
-/* ------------------------------------------------------------------- */
-/* functions used by itunesdb (so we can refresh the display during
- * import */
-void it_add_trackid_to_playlist (Playlist *plitem, guint32 id)
-{
-    static Playlist *last_pl = NULL;
-    static GTimeVal *time;
-    static float max_count = REFRESH_INIT_COUNT;
-    static gint count = REFRESH_INIT_COUNT - 1;
-    static gint count_s = 0;
-    float ms;
-    gchar *buf;
-
-    if (!time) time = g_malloc (sizeof (GTimeVal));
-
-    if (plitem != last_pl)
-    {
-	max_count = REFRESH_INIT_COUNT;
-	count = REFRESH_INIT_COUNT - 1;
-	count_s = 0; /* nr of tracks in current playlist */
-	g_get_current_time (time);
-	last_pl = plitem;
-    }
-    add_trackid_to_playlist (plitem, id, TRUE);
-    --count;
-    ++count_s;
-    if ((count < 0) && widgets_blocked)
-    {
-	buf = g_strdup_printf (ngettext ("Added %d+ tracks to playlist '%s'",
-					 "Added %d+ tracks to playlist '%s'",
-					 count_s), count_s, plitem->name);
-	gtkpod_statusbar_message(buf);
-	g_free (buf);
-	while (gtk_events_pending ())  gtk_main_iteration ();
-	ms = get_ms_since (time, TRUE);
-	/* average the new and the old max_count */
-	max_count *= (1 + 2 * REFRESH_MS / ms) / 3;
-	count = max_count - 1;
-#if DEBUG_TIMING
-	printf("it_a_s ms: %f mc: %f\n", ms, max_count);
-#endif
-    }
-}
-
-Playlist *it_add_playlist (Playlist *plitem)
-{
-    Playlist *pl = add_playlist (plitem, -1);
-    gtkpod_tracks_statusbar_update();
-    while (widgets_blocked && gtk_events_pending ())  gtk_main_iteration ();
-    return pl;
-}
-
-
-

Deleted: gtkpod/branches/upstream/current/src/playlist.h
===================================================================
--- gtkpod/branches/upstream/current/src/playlist.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/playlist.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,83 +0,0 @@
-/*
-|  Copyright (C) 2002 Adrian Ulrich <pab at blinkenlights.ch>
-|                2002-2003 Jörg Schuler  <jcsjcs at users.sourceforge.net>
-|
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  This program is free software; you can redistribute it and/or modify
-|  it under the terms of the GNU General Public License as published by
-|  the Free Software Foundation; either version 2 of the License, or
-|  (at your option) any later version.
-|
-|  This program 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 General Public License for more details.
-|
-|  You should have received a copy of the GNU General Public License
-|  along with this program; 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: playlist.h,v 1.34 2004/12/13 15:57:07 jcsjcs Exp $
-*/
-
-#ifndef __PLAYLIST_H__
-#define __PLAYLIST_H__
-
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-#include "itunesdb.h"
-#include "track.h"
-
-
-void create_mpl (void);
-Playlist *add_playlist (Playlist *plitem, gint position);
-Playlist *add_new_playlist (gchar *plname, gint position, gboolean spl);
-void pl_free(Playlist *playlist);
-Playlist *it_add_playlist (Playlist *plitem);
-void randomize_playlist (Playlist *pl);
-void it_add_trackid_to_playlist (Playlist *plitem, guint32 id);
-void add_trackid_to_playlist (Playlist *plitem, guint32 id, gboolean display);
-void add_track_to_playlist (Playlist *plitem, Track *track, gboolean display);
-gboolean remove_trackid_from_playlist (Playlist *plitem, guint32 id);
-gboolean remove_track_from_playlist (Playlist *plitem, Track *track);
-gboolean track_is_in_playlist (Playlist *plitem, Track *track);
-guint32 track_is_in_playlists (Track *track);
-void move_playlist (Playlist *playlist, gint pos);
-void remove_playlist (Playlist *playlist);
-void remove_all_playlists (void);
-guint remove_playlist_by_name(gchar *pl_name);
-gboolean playlist_exists (Playlist *pl);
-#define it_get_nr_of_playlists get_nr_of_playlists
-guint32 get_nr_of_playlists (void);
-#define it_get_playlist_by_nr get_playlist_by_nr
-Playlist *get_playlist_by_nr (guint32 n);
-guint get_playlist_by_name(gchar *pl_name, guint startfrom);
-Playlist* get_newplaylist_by_name (gchar *pl_name, gboolean spl);
-Playlist *get_playlist_by_id (guint64 id);
-
-Playlist *pl_new (gchar *plname, gboolean spl);
-Playlist *pl_duplicate (Playlist *pl);
-void pl_copy_spl_rules (Playlist *dest, Playlist *src);
-
-void splr_remove (Playlist *pl, SPLRule *splr);
-SPLRule *splr_new (void);
-void splr_add (Playlist *pl, SPLRule *splr, gint pos);
-SPLRule *splr_add_new (Playlist *pl, gint pos);
-void spl_update (Playlist *spl, GList *tracks);
-void spl_update_all (void);
-
-
-guint32 get_nr_of_tracks_in_playlist (Playlist *plitem);
-Track *get_track_in_playlist_by_nr (Playlist *plitem, guint32 n);
-#endif

Added: gtkpod/branches/upstream/current/src/podcast.c
===================================================================
--- gtkpod/branches/upstream/current/src/podcast.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/podcast.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,1104 @@
+/* Time-stamp: <2005-12-14 23:11:00 jcs>
+|
+|  Copyright (C) 2002-2005 Alexander Dutton <alexdutton at f2s dot com>
+|  Part of the gtkpod project.
+|
+|  URL: http://www.gtkpod.org/
+|  URL: http://gtkpod.sourceforge.net/
+|
+|  This program is free software; you can redistribute it and/or modify
+|  it under the terms of the GNU General Public License as published by
+|  the Free Software Foundation; either version 2 of the License, or
+|  (at your option) any later version.
+|
+|  This program 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 General Public License for more details.
+|
+|  You should have received a copy of the GNU General Public License
+|  along with this program; 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: podcast.c,v 1.7 2005/11/26 13:44:41 jcsjcs Exp $
+*/
+
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <gtk/gtk.h>
+#include <glib.h>
+#include <pthread.h>
+#ifdef HAVE_GETOPT_LONG_ONLY
+#  include <getopt.h>
+#else
+#  include "getopt.h"
+#endif
+#include "misc.h"
+#include "prefs.h"
+#include "podcast.h"
+#include "info.h"
+#include <time.h>
+#include <curl/curl.h>
+#include <curl/multi.h>
+#include <curl/types.h>
+
+struct podcast
+{
+    gchar *name;                 /* of the podcast */
+    gchar *url;                  /* of XML file */
+};
+
+struct podcast_file
+{
+    gchar *title;                 /* of each individual audio file */
+    gchar *url;                  /* where the audio file is to be found */
+    gchar *desc;                 /* description of audio file (from XML) */
+    gchar *artist;               /* itunes:author in actuality */
+    gchar pubdate[14];           /* "YYYYMMDDHHMMSS" in UTC/GMT*/
+    gchar fetchdate[14];         /* same as above */
+    glong size;                  /* filesize */
+    gchar *local;                /* where the file is kept on the local system */
+    gboolean fetched;            /* whether or not this podcast has been fetched */
+    gboolean tofetch;            /* whether we should fetch this podcast */
+};
+
+enum
+{
+  PCL_TITLE = 0,
+  PCL_URL,
+  PCL_SIZE,
+  PCL_PROGRESS,
+  PCL_NUM_COLS
+};
+
+enum
+{
+  ABORT_SELECTED = 0,
+  ABORT_CURRENT,
+  ABORT_ALL
+};
+
+static GList *podcasts = NULL;
+static GList *podcast_files = NULL;
+static GList *abort_urls = NULL;
+static GList *abort_urls_to_add = NULL;
+
+static GladeXML *podcast_window_xml;
+static GtkWidget *podcast_window = NULL;
+static GtkTreeView *podcast_list = NULL;
+
+static gchar *url_being_fetched = NULL;
+
+static long transfer_total, transfer_done;
+static gint retrieve_url_to_path (gchar *url, gchar *path);
+static gint parse_file_for_podcast_files(gchar *file);
+static void podcast_log (gchar *msg);
+static void create_podcast_list ();
+static gchar *choose_filename(gchar *url);
+
+static void podcast_window_create(void);
+
+static void abort_fetch_response(GtkDialog *dialog, gint arg1, gpointer user_data);
+static void abort_fetch (gint what);
+
+int update_progress(gpointer *data,
+                    double t, /* dltotal */
+                    double d, /* dlnow */
+                    double ultotal,
+                    double ulnow);
+
+void podcast_add (gchar *name, gchar *url)
+{
+    /* assign some memory to hold data for new podcast */
+    struct podcast *podcast = malloc(sizeof(struct podcast));
+    podcast->name = g_strdup(name);
+    podcast->url = g_strdup(url);
+    /* g_free(name); */
+    /* g_free(url); */
+    podcasts = g_list_insert(podcasts, podcast, -1);
+}
+
+gboolean podcast_delete_by_url(gchar *url)
+{
+    int i = 0;
+    struct podcast *podcast = NULL;
+
+    while(i < g_list_length(podcasts)) 
+    {
+        podcast = g_list_nth_data(podcasts, i);
+        if (g_ascii_strcasecmp(podcast->url, url) == 0)
+        {
+            podcasts = g_list_remove(podcasts, podcast);
+            g_free(podcast);
+            return TRUE;
+        }
+        ++i;
+    }
+    return FALSE;
+}
+
+static void podcast_delete_all ()
+{
+    int i = 0;
+    struct podcast *podcast = NULL;
+
+    while(i < g_list_length(podcasts))
+    {
+        podcast = g_list_nth_data(podcasts, i);
+        g_free(podcast->name);
+        g_free(podcast->url);
+        ++i;
+    }
+    i = g_list_length(podcasts) - 1;
+    while(i > -1)
+    {
+        podcast = g_list_nth_data(podcasts, i);
+        podcasts = g_list_remove(podcasts, podcast);
+        --i;
+    }
+}
+
+void podcast_write_from_store (GtkListStore *store)
+{
+    gchar *cfgdir = NULL;
+    FILE *fp = NULL;
+    gboolean have_prefs = FALSE;
+
+    cfgdir = prefs_get_cfgdir ();
+
+    if (cfgdir)
+    {
+	gchar *filename = g_build_filename (cfgdir, "podcast.list", NULL);
+
+        if((fp = fopen(filename, "w")))
+        {
+
+            GtkTreeIter iter;
+            gchar *name, *url;
+
+            podcast_delete_all();
+
+            if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL(store), &iter))
+            {
+                do
+                {
+                    gtk_tree_model_get (GTK_TREE_MODEL(store), &iter,
+                                        PC_SUBS_NAME, &name,
+                                        PC_SUBS_URL, &url,
+                                        -1);
+                    fprintf (fp, "begin podcast\n");
+                    fprintf (fp, "name=%s\n", name);
+                    fprintf (fp, "url=%s\n", url);
+                    fprintf (fp, "end podcast\n");
+
+                    podcast_add(name, url);
+
+                    g_free(name);
+                    g_free(url);
+                } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &iter));
+            }
+
+            fclose(fp);
+            have_prefs = TRUE; /* read prefs */
+        }
+        else
+        {
+            gtkpod_warning(_("Unable to open podcast file '%s' for writing\n"), filename);
+        }
+	g_free (filename);
+	g_free (cfgdir);
+    }
+}
+
+void podcast_read_into_store (GtkListStore *store)
+{
+    int i = 0;
+    struct podcast *podcast = NULL;
+
+    GtkTreeIter iter;
+
+    while(i < g_list_length(podcasts))
+    {
+        podcast = g_list_nth_data(podcasts, i);
+        gtk_list_store_append (store, &iter);
+        gtk_list_store_set (store, &iter,
+                            PC_SUBS_NAME, podcast->name,
+                            PC_SUBS_URL, podcast->url,
+                            -1);
+        ++i;
+    }
+
+}
+
+void podcast_read_from_file ()
+{
+    gchar *cfgdir = NULL, *name = NULL, *url = NULL;
+    gchar buf[PATH_MAX];
+    gchar *line, *arg, *bufp;
+    gint len;
+
+    FILE *fp = NULL;
+
+    cfgdir = prefs_get_cfgdir ();
+
+    if (cfgdir)
+    {
+	gchar *filename = g_build_filename (cfgdir, "podcast.list", NULL);
+
+        if((fp = fopen(filename, "r")))
+        {
+            while (fgets (buf, PATH_MAX, fp))
+            {
+                /* allow comments */
+                if ((buf[0] == ';') || (buf[0] == '#')) continue;
+                arg = strchr (buf, '=');
+                if (!arg || (arg == buf))
+                {
+                    len = strlen(buf);
+                    if((len>0) && (buf[len-1] == 0x0a))  buf[len-1] = 0;
+                    line = g_strdup(buf);
+                    if (g_ascii_strcasecmp (line, "end podcast") == 0 && name != NULL && url != NULL)
+                    {
+                        podcast_add(name, url);
+                        g_free(name);
+                        g_free(url);
+                    }
+                    g_free(line);
+                    continue;
+                }
+                /* skip whitespace */
+                bufp = buf;
+                while (g_ascii_isspace(*bufp)) ++bufp;
+                line = g_strndup (buf, arg-bufp);
+                ++arg;
+                len = strlen (arg); /* remove newline */
+                if((len>0) && (arg[len-1] == 0x0a))  arg[len-1] = 0;
+                /* skip whitespace */
+                while (g_ascii_isspace(*arg)) ++arg;
+                if(g_ascii_strcasecmp (line, "name") == 0)
+                {
+                    name = g_strdup(arg);
+                }
+                else if (g_ascii_strcasecmp (line, "url") == 0)
+                {
+                    url = g_strdup(arg);
+                }
+                g_free(line);
+            }
+            fclose(fp);
+        }
+	g_free (filename);
+	g_free (cfgdir);
+    }
+}
+
+void podcast_file_add (gchar *title, gchar *url, 
+                       gchar *desc, gchar *artist, 
+                       gchar pubdate[14], gchar fetchdate[14], 
+                       glong size, gchar *local,
+                       gboolean fetched, gboolean tofetch)
+{
+    /* assign some memory to hold data for new podcast */
+    struct podcast_file *podcast_file = malloc(sizeof(struct podcast_file));
+    podcast_file->title = g_strdup(title);
+    podcast_file->url = g_strdup(url);
+    podcast_file->desc = g_strdup(desc);
+    podcast_file->artist = g_strdup(artist);
+    podcast_file->local = g_strdup(local);
+/*    podcast_file->pubdate = pubdate; */
+/*    podcast_file->fetchdate = fetchdate; */
+    podcast_file->size = size;
+    podcast_file->fetched = fetched;
+    podcast_file->tofetch = tofetch;
+    podcast_files = g_list_insert(podcast_files, podcast_file, -1);
+
+}
+
+void podcast_file_delete_by_url (gchar *url)
+{
+
+}
+
+gboolean podcast_already_have_url (gchar *url)
+{
+    int i = 0;
+    struct podcast_file *podcast_file = NULL;
+
+    while(i < g_list_length(podcast_files))
+    {
+        podcast_file = g_list_nth_data(podcast_files, i);
+        if (g_ascii_strcasecmp(podcast_file->url, url) == 0)
+            return TRUE;
+        ++i;
+    }
+    return FALSE;
+}
+
+gint podcast_file_read_from_file()
+{
+    gchar *cfgdir = prefs_get_cfgdir ();
+
+    if (cfgdir)
+    {
+        gchar *filename = g_build_filename(cfgdir, "podcast.xml", NULL);
+
+        parse_file_for_podcast_files(filename);
+
+        g_free(filename);
+        g_free(cfgdir);
+        return 0;
+
+    }
+    else
+    {
+        return 1;
+    }
+}
+
+gint podcast_file_write_to_file()
+{
+    gchar *cfgdir = prefs_get_cfgdir ();
+
+    if (cfgdir)
+    {
+        gchar *filename = g_strdup_printf("%s/podcast.xml", cfgdir);
+        FILE *fp = fopen(filename, "w");
+        int i = 0;
+        struct podcast_file *podcast_file;
+
+        fprintf(fp, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+        fprintf(fp, "<rss xmlns:itunes=\"http://example.com/DTDs/Podcast-1.0.dtd\" version=\"2.0\">\n");
+        fprintf(fp, "<channel>\n");
+        fprintf(fp, "  <title>gtkpod local podcast file</title>\n\n");
+
+        while(i < g_list_length(podcast_files))
+        {
+            podcast_file = g_list_nth_data(podcast_files, i);
+
+            fprintf(fp, "  <item>\n");
+            fprintf(fp, "    <title>%s</title>\n",                   podcast_file->title);
+            fprintf(fp, "    <itunes:author>%s</itunes:author>\n",    podcast_file->artist);
+            fprintf(fp, "    <enclosure url=\"%s\" length=%ld />\n",  podcast_file->url, podcast_file->size);
+            fprintf(fp, "    <description>%s</description>\n",       podcast_file->desc);
+            if (podcast_file->local)
+                fprintf(fp, "    <gtkpod:local>%s</gtkpod:local>\n",     podcast_file->local);
+            fprintf(fp, "    <gtkpod:fetched>%d</gtkpod:fetched>\n", podcast_file->fetched);
+            fprintf(fp, "    <gtkpod:tofetch>%d</gtkpod:tofetch>\n", podcast_file->tofetch);
+            fprintf(fp, "  </item>\n");       
+
+            ++i;
+        }
+
+        fprintf(fp, "</channel>\n</rss>\n");
+
+        fclose(fp);
+
+	g_free (cfgdir);
+
+        return 0;
+    }
+    return 1;
+}
+
+void podcast_fetch ()
+{
+    /*pthread_create(&podcast_fetch_tid, NULL, &podcast_fetch_thread,
+      NULL); */
+    podcast_fetch_thread();
+    /* g_thread_create(podcast_fetch_thread, NULL, FALSE, NULL);*/
+}
+
+void podcast_fetch_thread(gpointer data)
+{
+    struct podcast *podcast;
+    struct podcast_file *podcast_file;
+    guint i = 0;
+    gint found = 0;
+    gchar *status_msg = NULL, *cfgdir = NULL;
+
+    podcast_fetch_in_progress = TRUE;
+
+    iTunesDB *itdb = gp_itdb_get_podcast ();
+
+
+    gdk_threads_enter();
+    podcast_window_create();
+    gdk_threads_leave();
+
+    while (gtk_events_pending())  gtk_main_iteration();
+
+    if (g_list_length(podcasts) == 0)
+    {
+        podcast_log(_("Fetch started, but no podcasts to fetch"));
+        return;
+    }
+
+/*
+    gchar *pc_dir = prefs_get_pc_dir();
+    struct stat buf;
+    if (stat (pc_dir, &buf) != -1)
+    {
+        gtkpod_warning(_("The podcast directory (\"%s\") does not exist."), pc_dir);
+        g_free(pc_dir);
+        return;
+    } else {
+        g_free(pc_dir);
+        if (!(S_IFDIR & buf.st_mode))
+        {
+            gtkpod_warning(_("The path given as the podcast directory is not a directory."));
+            return;
+        }
+    }
+*/
+
+    podcast_log(_("Beginning to fetch podcasts"));
+    cfgdir = prefs_get_cfgdir ();
+
+    if (cfgdir)
+    {
+	GtkListStore *model;
+	GtkTreeIter iter;
+	GtkTreePath *path;
+	gchar *filename = g_strdup_printf("%s/tmp.xml", cfgdir);
+
+        while(i < g_list_length(podcasts))
+        {
+            podcast = g_list_nth_data(podcasts, i);
+            if (retrieve_url_to_path(podcast->url, filename))
+            {
+                status_msg = g_strdup_printf("Could not fetch '%s' (%d of %d metafiles)", podcast->name, (i+1), g_list_length(podcasts));
+                podcast_log(_(status_msg));
+                podcast_set_status(_(status_msg));
+                g_free(status_msg);
+            } else {
+                found = parse_file_for_podcast_files(filename);
+                if (found == 1)
+                  status_msg = g_strdup_printf("Fetched '%s' (%d of %d metafiles), finding %d new podcast", podcast->name, (i+1), g_list_length(podcasts), found);
+                else
+                  status_msg = g_strdup_printf("Fetched '%s' (%d of %d metafiles), finding %d new podcasts", podcast->name, (i+1), g_list_length(podcasts), found);
+
+                podcast_log(_(status_msg));
+                podcast_set_status(_(status_msg));
+                g_free(status_msg);
+            }
+            unlink(filename);
+            ++i;
+        }
+        g_free(filename);
+        i = 0;
+
+        gdk_threads_enter();
+
+	model = GTK_LIST_STORE(gtk_tree_view_get_model(podcast_list));
+
+        gtk_list_store_clear (model);
+
+        transfer_total = 0;
+        while(i < g_list_length(podcast_files))
+        {
+            podcast_file = g_list_nth_data(podcast_files, i);
+            if (podcast_file->tofetch)
+            {
+                status_msg = g_strdup_printf("%.2fMb", (double) podcast_file->size / 1024 / 1024);
+                transfer_total += podcast_file->size;
+                gtk_list_store_append (model, &iter);
+                gtk_list_store_set (model, &iter,
+                                    PCL_TITLE, podcast_file->title,
+                                    PCL_URL, podcast_file->url,
+                                    PCL_SIZE, status_msg,
+                                    PCL_PROGRESS, "Pending",
+                                    -1);
+                g_free(status_msg);
+            }
+            ++i;
+        }
+
+        gdk_threads_leave();
+        while (gtk_events_pending())  gtk_main_iteration();
+
+        i = 0;
+        while(i < g_list_length(podcast_files))
+        {
+            podcast_file = g_list_nth_data(podcast_files, i);
+            if (podcast_file->tofetch)
+            {
+                path = gtk_tree_path_new_from_indices(i, -1);
+                gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, path);
+                gtk_tree_path_free(path);
+
+                /* gtk_list_store_set(model, &iter, PCL_PROGRESS, "Fetching");*/
+
+                filename = choose_filename(podcast_file->url);
+                status_msg = g_strdup_printf("Starting download of '%s' to '%s' (%ld bytes)", podcast_file->url, filename, podcast_file->size);
+                podcast_log(_(status_msg));
+                g_free(status_msg);
+                if (retrieve_url_to_path(podcast_file->url, filename))
+                {
+		    /*           gtk_list_store_set(model, &iter, PCL_PROGRESS, "Failed");*/
+                    status_msg = g_strdup_printf("Could not fetch '%s'", podcast_file->title);
+                    podcast_log(_(status_msg));
+                    podcast_set_status(_(status_msg));
+                    g_free(status_msg);
+                } else {
+		    /*            gtk_list_store_set(model, &iter, PCL_PROGRESS, "Done");*/
+                    transfer_done += podcast_file->size;
+                    podcast_file->tofetch = FALSE;
+                    podcast_file->fetched = TRUE;
+                    g_free(podcast_file->local);
+                    podcast_file->local = g_strdup(filename);
+                    status_msg = g_strdup_printf("Fetched '%s'", podcast_file->title);
+                    podcast_log(_(status_msg));
+                    podcast_set_status(_(status_msg));
+                    g_free(status_msg);
+
+                    add_track_by_filename (itdb, filename, NULL, FALSE, NULL, NULL);
+                    
+                }
+                g_free(filename);
+            }
+	    /*        gtk_tree_model_iter_next (GTK_TREE_MODEL(model), &iter);*/
+	    podcast_file_write_to_file();
+            ++i;
+        }
+
+    }
+    podcast_log(_("Completed fetch"));
+    podcast_set_status(_("Completed fetch"));
+
+    podcast_fetch_in_progress = FALSE;
+}
+
+static gchar *choose_filename(gchar *url)
+{
+    gchar *pc_dir;
+    gchar *working;
+
+    g_return_val_if_fail (g_strrstr (url, G_DIR_SEPARATOR_S), NULL);
+
+    pc_dir = prefs_get_pc_dir();
+
+    working = g_build_filename (pc_dir, g_strrstr(url, "/")+1,
+				NULL);
+
+    /* Make sure pc_dir exists */
+    if (!g_file_test (pc_dir, G_FILE_TEST_IS_DIR))
+    {
+	if (!mkdirhier (pc_dir))
+	{
+	    gtkpod_warning (_("Could not create podcast download directory '%s'\n"), pc_dir);
+	}
+    }
+    g_free (pc_dir);
+    return working;
+}
+
+static gint retrieve_url_to_path (gchar *url, gchar *path)
+{
+    int ret = 0;
+
+    CURL *curl;
+    CURLM *curlm;
+
+    gdk_threads_enter();
+    podcast_set_cur_file_name(url);
+    gdk_threads_leave();
+
+    curl = curl_easy_init();
+    curlm = curl_multi_init();
+
+    url_being_fetched = g_strdup(url);
+
+    if (curl)
+    {
+	FILE *fp = fopen(path, "w");
+
+	if (fp != NULL)
+	{
+	    int running_handles = 1;
+
+	    curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, update_progress);
+	    curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE);
+	    curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, NULL);
+	    curl_easy_setopt(curl, CURLOPT_URL, url);
+	    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
+	    curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
+	    curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 15);
+
+	    curl_multi_add_handle(curlm, curl);
+
+	    while (running_handles > 0)
+	    {
+		curl_multi_perform(curlm, &running_handles);
+		while (gtk_events_pending())  gtk_main_iteration();
+	    }
+
+	    fclose(fp);
+	}
+	else
+	{
+	    gtkpod_warning (_("Could not open '%s' for writing podcast download.\n"), path);
+	    ret = -1;
+	}
+
+	g_free(url_being_fetched);
+	url_being_fetched = NULL;
+
+	curl_easy_cleanup(curl);
+	curl_global_cleanup();
+    }
+    return ret;
+}
+
+int update_progress(gpointer *data,
+                    double t, /* dltotal */
+                    double d, /* dlnow */
+                    double ultotal,
+                    double ulnow)
+{
+    gchar *tmp;
+
+/*  printf("%d / %d (%g %%)\n", d, t, d*100.0/t);*/
+
+/*if (t == 0)
+{
+    gtk_progress_bar_pulse(GTK_PROGRESS_BAR (glade_xml_get_widget (podcast_window_xml, "file_progressbar")));
+    while (gtk_events_pending())  gtk_main_iteration();
+}*/
+
+    if (t == 0 || transfer_total == 0) return 0;
+    if (d/t > 1 || (d+transfer_done)/transfer_total > 1) return 0;
+    gdk_threads_enter();
+    gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR (gtkpod_xml_get_widget (podcast_window_xml, "file_progressbar")), d/t);
+    gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR (gtkpod_xml_get_widget (podcast_window_xml, "total_progressbar")), (d+transfer_done)/transfer_total);
+    tmp = g_strdup_printf("%.2fMb of %.2fMb (%.0f%%), 12:32 remaining", (double) (d+transfer_done)/1024/1024, (double) transfer_total/1024/1024, 100*(d+transfer_done)/transfer_total);
+    gtk_progress_bar_set_text(GTK_PROGRESS_BAR (gtkpod_xml_get_widget (podcast_window_xml, "total_progressbar")), tmp);
+    g_free(tmp);
+
+    gdk_threads_leave();
+    while (gtk_events_pending())  gtk_main_iteration();
+    return 0;
+}
+
+static gint parse_file_for_podcast_files(gchar *file)
+{
+    /* This function will get all the information we want  *
+     * but it does so ignoring all heirachies in the file. */
+    FILE *fp = NULL;
+    gchar buf[20000], cur;
+    gint i = 0, found = 0;
+    gboolean is_xml = FALSE, is_rss = FALSE;
+    gchar *tag = NULL, *info = NULL, *value = NULL, *status_msg = NULL, *local = NULL;
+
+    gchar *title = NULL, *desc = NULL, *url = NULL, *artist = NULL;
+    glong size;
+    gboolean tofetch = TRUE, fetched = FALSE;
+    gboolean looking_for_cdata_end = FALSE;
+
+    if((fp = fopen(file, "r")))
+    {
+        while (fgetc(fp) != 0x3C && !feof(fp)) {}     /* search for our first '<' */
+
+        while (!feof(fp))
+        {
+            while ((cur = fgetc(fp)))
+            {
+                looking_for_cdata_end = FALSE;
+                if (cur != 0x20 && cur !=0x3E)            /* a space or a '>' will denote the end of the tag name */
+                {
+                    buf[i++] = cur;
+                    if (i == 8)
+                    {
+                        buf[i] = 0;
+                        if (strcasecmp(buf, "![CDATA[") == 0)
+                          {  looking_for_cdata_end = TRUE; i = 0; }
+                    }
+                } else {
+                    break;
+                }
+                if (looking_for_cdata_end) break;
+            }
+
+            if (!looking_for_cdata_end)
+            {
+
+                buf[i++] = 0;
+                tag = strdup(buf);                          /* retrieve the tag name from the buffer */
+                i = 0;
+
+                while (cur != 0x3E)                         /* make our way to the end of the tag */
+                {
+                    cur = fgetc(fp);
+                    buf[i++] = cur;
+                }
+
+                if (i > 0)
+                {
+                    buf[i] = 0;
+                    info = strdup(buf);
+                    i = 0;
+                }
+
+            }
+
+            while ((cur = fgetc(fp)))
+            {
+                if (feof(fp)) break;
+
+                if (!(cur == 0x3C && !looking_for_cdata_end))  /* if we're in a CDATA, we're looking for the end of a tag */
+                {
+                     buf[i++] = cur;
+                }
+                else
+                { break; }
+
+                if (buf[i-3] == 0x5D && buf[i-2] == 0x5D && buf[i-1] == 0x3E && looking_for_cdata_end)
+                {
+                    i -= 3;
+                    looking_for_cdata_end = 0;
+                }
+            }
+
+            buf[i++] = 0;
+            value = g_strdup(buf);
+            i = 0;
+            if (g_ascii_strcasecmp (tag, "?xml") == 0)
+                is_xml = TRUE;
+            if (g_ascii_strcasecmp (tag, "rss") == 0)
+                is_rss = TRUE;
+            if (g_ascii_strcasecmp (tag, "title") == 0)
+                { g_free(title);  title = g_strdup(value); }
+            if (g_ascii_strcasecmp (tag, "itunes:author") == 0)
+                { g_free(artist); artist = g_strdup(value); }
+            if (g_ascii_strcasecmp (tag, "description") == 0)
+                { g_free(desc);   desc = g_strdup(value); }
+            if (g_ascii_strcasecmp (tag, "gtkpod:tofetch") == 0)
+                tofetch = atoi(value);
+            if (g_ascii_strcasecmp (tag, "gtkpod:fetched") == 0)
+                fetched = atoi(value);
+            if (g_ascii_strcasecmp (tag, "gtkpod:local") == 0)
+                { g_free(local);  local = g_strdup(value); }
+            if (strcasecmp (tag, "enclosure") == 0)
+            {
+                url = podcast_get_tag_attr(info, "url=");
+                info = podcast_get_tag_attr(info, "length=");
+                size = atoi(info);
+            }
+	    else
+	    {
+		size = 0;
+	    }
+
+            if (g_ascii_strcasecmp (tag, "/item") == 0)
+            {
+                if (!podcast_already_have_url(url))
+                {
+                    podcast_file_add(title, url,
+                                     desc, artist,
+                                     NULL, NULL,
+                                     size, local,
+                                     fetched, tofetch);
+                    tofetch = TRUE; fetched = FALSE;
+                    found++;
+                    status_msg = g_strdup_printf("  Found and added '%s'", url);
+                    podcast_log(_(status_msg));
+                    g_free(status_msg);
+                } else {
+                    status_msg = g_strdup_printf("  Found but already have '%s'", url);
+                    podcast_log(_(status_msg));
+                    g_free(status_msg);
+                }
+            }
+
+/*            g_free(value);
+	      g_free(tag);
+	      g_free(info);*/
+        }
+        fclose(fp);
+    } else {
+	/*    gtkpod_warning(_("Failed to open '%s' to read podcast list."), file);
+            gchar *status_msg = g_strdup_printf("Error number is: %d", errno);
+            gtkpod_statusbar_message(_(status_msg));*/
+
+    }
+
+    return found;
+}
+
+gchar *podcast_get_tag_attr(gchar *attrs, gchar *req)
+{
+    char *ret = strstr(attrs, req) + strlen(req);
+    char *ret2 = g_strndup(ret, strstr(ret, " ") - ret);            /* unless malformed, the end of this tag
+                                                                     reads: ' />'. That space has to be there */
+    if ((*ret2) == 0x27 && *(ret2 + strlen(ret2) - 1) == 0x27)
+    {
+        ++ret2;
+        *(ret2 + strlen(ret2) - 1) = 0x00;
+    }
+    if ((*ret2) == 0x22 && *(ret2 + strlen(ret2) - 1) == 0x22)
+    {
+        ++ret2;
+        *(ret2 + strlen(ret2) - 1) = 0x00;
+    }
+    return g_strdup(ret2);
+}
+
+static void podcast_log (gchar *msg)
+{
+    if (prefs_get_pc_log())
+    {
+        FILE *fp = NULL;
+        gchar *filename = prefs_get_pc_log_file();
+        time_t rawtime;
+        struct tm * timeinfo;
+
+        time ( &rawtime );
+        timeinfo = localtime ( &rawtime );
+
+        fp = fopen(filename, "a");
+        if (fp)
+        {
+            fprintf (fp, "%s: %s\n", asctime (timeinfo), msg);
+            fclose(fp);
+        }
+
+        g_free(filename);
+    }
+}
+
+gboolean
+on_podcast_window_delete_event         (GtkWidget       *widget,
+                                        GdkEvent        *event,
+                                        gpointer         user_data)
+{
+  if (podcast_fetch_in_progress)
+  {
+/*    GtkWidget *dialog, *label;
+    dialog = gtk_dialog_new_with_buttons ("Notice",
+                                          NULL,
+                                          GTK_DIALOG_DESTROY_WITH_PARENT,
+                                          GTK_STOCK_OK,
+                                          GTK_RESPONSE_NONE,
+                                          NULL);
+    label = gtk_label_new ("You cannot close this window until all downloads have finished or you click 'Abort All'");
+    g_signal_connect_swapped (dialog,
+                              "response", 
+                              G_CALLBACK (gtk_widget_destroy),
+                              dialog);
+    gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox),
+                       label);
+    gtk_widget_show_all (dialog); */
+  }
+  return podcast_fetch_in_progress;
+}
+
+gboolean
+on_abort_selected_button_clicked       (GtkWidget       *widget,
+                                        gpointer         user_data)
+{
+  abort_fetch(ABORT_SELECTED);
+  return FALSE;
+}
+
+gboolean
+on_abort_current_button_clicked        (GtkWidget       *widget,
+                                        gpointer         user_data)
+{
+  abort_fetch(ABORT_CURRENT);
+  return FALSE;
+}
+
+gboolean
+on_abort_all_button_clicked            (GtkWidget       *widget,
+                                        gpointer         user_data)
+{
+  abort_fetch(ABORT_ALL);
+  return FALSE;
+}
+
+static void abort_fetch (gint what)
+{
+    GtkWidget *dialog, *label;
+    struct podcast_file *podcast_file = NULL;
+
+    switch (what)
+    {
+        case ABORT_SELECTED :
+/*            GtkTreeModel *model;
+	      GtkTreeIter   iter;
+	      gchar *url;
+
+	      model = gtk_tree_view_get_model(podcast_list);
+	      gtk_tree_model_get_iter(model, &iter);
+	      gtk_tree_model_get (model, &iter, PCL_TITLE, &url, -1);*/
+            break;
+
+        case ABORT_CURRENT :
+            if (url_being_fetched)
+                abort_urls_to_add = g_list_append(abort_urls_to_add, g_strdup(url_being_fetched));
+            break;
+        case ABORT_ALL :
+            podcast_files = g_list_first(podcast_files);
+            do
+            {
+                podcast_file = podcast_files->data;
+                if (podcast_file->tofetch)
+                    abort_urls_to_add = g_list_append(abort_urls_to_add, g_strdup(podcast_file->url));
+            } while ((podcast_files = g_list_next(podcast_files)));
+            break;
+    }
+
+    if (g_list_length(abort_urls_to_add) == 0) return;
+
+    dialog = gtk_dialog_new_with_buttons ("Aborting podcast fetching",
+                                          GTK_WINDOW(podcast_window),
+                                          GTK_DIALOG_DESTROY_WITH_PARENT,
+                                          GTK_STOCK_YES,
+                                          GTK_RESPONSE_YES,
+                                          GTK_STOCK_NO,
+                                          GTK_RESPONSE_NO,
+                                          GTK_STOCK_CANCEL,
+                                          GTK_RESPONSE_CANCEL,
+                                          NULL);
+    label = gtk_label_new("You have chosen to abort one or more podcasts.\nWould you like these to be aborted permanently?\n");
+    
+    g_signal_connect(dialog, "response", G_CALLBACK(abort_fetch_response), NULL);
+
+    gtk_container_add(GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label);
+    gtk_widget_show_all(dialog);
+}
+
+
+static void abort_fetch_response           (GtkDialog *dialog,
+                                            gint arg1,
+                                            gpointer user_data)
+{
+    gtk_widget_destroy(GTK_WIDGET(dialog));
+
+    switch (arg1)
+    {
+        case GTK_RESPONSE_YES :
+            break;
+        case GTK_RESPONSE_NO :
+            break;
+        case GTK_RESPONSE_CANCEL :
+            return;
+            break;
+    }
+    abort_urls = g_list_concat(abort_urls, abort_urls_to_add);
+}
+
+static void
+podcast_window_create(void)
+{
+/*    if (podcast_window)
+    {    podcast window already open -- raise to the top 
+        gdk_window_raise (podcast_window->window);
+        return;
+    } */
+
+    podcast_window_xml = glade_xml_new (xml_file, "podcast_window", NULL);
+    glade_xml_signal_autoconnect (podcast_window_xml);
+
+    podcast_window = gtkpod_xml_get_widget(podcast_window_xml,"podcast_window");
+
+    g_return_if_fail (podcast_window);
+
+    create_podcast_list();
+
+    gtk_widget_show(podcast_window);
+
+}
+
+static void create_podcast_list ()
+{
+    GtkCellRenderer     *renderer;
+    GtkTreeModel        *model;
+    GtkWidget *podcast_list_window;
+
+    podcast_list = GTK_TREE_VIEW(gtk_tree_view_new ());
+/*    gtk_widget_set_size_request(GTK_WIDGET (podcast_list), 270, 105);*/
+
+    renderer = gtk_cell_renderer_text_new ();
+    gtk_tree_view_insert_column_with_attributes (podcast_list,
+                                                 -1,
+                                                 "Title",
+                                                 renderer,
+                                                 "text", PCL_TITLE,
+                                                 NULL);
+
+    renderer = gtk_cell_renderer_text_new ();
+    gtk_tree_view_insert_column_with_attributes (podcast_list,
+                                                 -1,
+                                                 "URL",
+                                                 renderer,
+                                                 "text", PCL_URL,
+                                                 NULL);
+
+    renderer = gtk_cell_renderer_text_new ();
+    gtk_tree_view_insert_column_with_attributes (podcast_list,
+                                                 -1,
+                                                 "Size",
+                                                 renderer,
+                                                 "text", PCL_SIZE,
+                                                 NULL);
+
+    renderer = gtk_cell_renderer_text_new ();
+    gtk_tree_view_insert_column_with_attributes (podcast_list,
+                                                 -1,
+                                                 "Progress",
+                                                 renderer,
+                                                 "text", PCL_PROGRESS,
+                                                 NULL); 
+
+    model = GTK_TREE_MODEL(gtk_list_store_new (PCL_NUM_COLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING));
+    gtk_tree_view_set_model (GTK_TREE_VIEW (podcast_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);
+
+    podcast_list_window = gtkpod_xml_get_widget (podcast_window_xml, "podcast_list_window");
+
+    gtk_container_add (GTK_CONTAINER (podcast_list_window), GTK_WIDGET(podcast_list));
+if(podcast_list_window)
+    gtk_widget_show_all (podcast_list_window);
+return;
+}
+
+
+
+
+void podcast_set_status(gchar *status)
+{
+    gdk_threads_enter();
+    gtk_label_set_text (GTK_LABEL (gtkpod_xml_get_widget (podcast_window_xml, "status_label")), status);
+    gdk_threads_leave();
+    while (gtk_events_pending())  gtk_main_iteration();
+}
+
+void podcast_set_cur_file_name(gchar *text)
+{
+    if (g_strrstr(text, "/"))
+    {
+        gchar *working = g_strdup_printf("%s", g_strrstr(text, "/")+1);
+        gtk_progress_bar_set_text (GTK_PROGRESS_BAR (gtkpod_xml_get_widget (podcast_window_xml, "file_progressbar")), working);
+        g_free(working);
+    }
+}
+#endif

Added: gtkpod/branches/upstream/current/src/podcast.h
===================================================================
--- gtkpod/branches/upstream/current/src/podcast.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/podcast.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -0,0 +1,67 @@
+/* Time-stamp: <2005-12-14 23:10:59 jcs>
+|
+|  Copyright (C) 2002-2005 Alexander Dutton <alexdutton at f2s dot com>
+|  Part of the gtkpod project.
+|
+|  URL: http://www.gtkpod.org/
+|  URL: http://gtkpod.sourceforge.net/
+|
+|  This program is free software; you can redistribute it and/or modify
+|  it under the terms of the GNU General Public License as published by
+|  the Free Software Foundation; either version 2 of the License, or
+|  (at your option) any later version.
+|
+|  This program 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 General Public License for more details.
+|
+|  You should have received a copy of the GNU General Public License
+|  along with this program; 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: podcast.h,v 1.5 2005/11/12 08:54:31 jcsjcs Exp $
+*/
+
+#ifndef __PODCAST_H__
+#define __PODCAST_H__
+
+/* FIXME: PODCASTS: remove Podcast menu */
+#if 0
+enum
+{
+  PC_SUBS_NAME = 0,
+  PC_SUBS_URL,
+  PC_SUBS_NUM_COLS
+};
+
+
+gboolean podcast_fetch_in_progress;
+
+void podcast_write_from_store (GtkListStore *store);
+void podcast_read_into_store (GtkListStore *store);
+void podcast_read_from_file ();
+
+void podcast_file_add (gchar *title, gchar *url, 
+                       gchar *desc, gchar *artist, 
+                       gchar pubdate[14], gchar fetchdate[14], 
+                       glong size, gchar *local,
+                       gboolean fetched, gboolean tofetch);
+void podcast_file_delete_by_url (gchar *url);
+gint podcast_file_read_from_file();
+
+gboolean podcast_already_have_url (gchar *url);
+GList *podcast_file_find_to_fetch ();
+void podcast_fetch ();
+void podcast_fetch_thread ();
+
+gchar *podcast_get_tag_attr(gchar *attrs, gchar *req);
+
+void podcast_set_status(gchar *status);
+void podcast_set_cur_file_name(gchar *text);
+#endif
+#endif

Modified: gtkpod/branches/upstream/current/src/prefs.c
===================================================================
--- gtkpod/branches/upstream/current/src/prefs.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/prefs.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/prefs.h
===================================================================
--- gtkpod/branches/upstream/current/src/prefs.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/prefs.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/prefs_window.c
===================================================================
--- gtkpod/branches/upstream/current/src/prefs_window.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/prefs_window.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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/branches/upstream/current/src/prefs_window.h
===================================================================
--- gtkpod/branches/upstream/current/src/prefs_window.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/prefs_window.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -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
+

Deleted: gtkpod/branches/upstream/current/src/support.c
===================================================================
--- gtkpod/branches/upstream/current/src/support.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/support.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,144 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <gtk/gtk.h>
-
-#include "support.h"
-
-GtkWidget*
-lookup_widget                          (GtkWidget       *widget,
-                                        const gchar     *widget_name)
-{
-  GtkWidget *parent, *found_widget;
-
-  for (;;)
-    {
-      if (GTK_IS_MENU (widget))
-        parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
-      else
-        parent = widget->parent;
-      if (!parent)
-        parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
-      if (parent == NULL)
-        break;
-      widget = parent;
-    }
-
-  found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
-                                                 widget_name);
-  if (!found_widget)
-    g_warning ("Widget not found: %s", widget_name);
-  return found_widget;
-}
-
-static GList *pixmaps_directories = NULL;
-
-/* Use this function to set the directory containing installed pixmaps. */
-void
-add_pixmap_directory                   (const gchar     *directory)
-{
-  pixmaps_directories = g_list_prepend (pixmaps_directories,
-                                        g_strdup (directory));
-}
-
-/* This is an internally used function to find pixmap files. */
-static gchar*
-find_pixmap_file                       (const gchar     *filename)
-{
-  GList *elem;
-
-  /* We step through each of the pixmaps directory to find it. */
-  elem = pixmaps_directories;
-  while (elem)
-    {
-      gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
-                                         G_DIR_SEPARATOR_S, filename);
-      if (g_file_test (pathname, G_FILE_TEST_EXISTS))
-        return pathname;
-      g_free (pathname);
-      elem = elem->next;
-    }
-  return NULL;
-}
-
-/* This is an internally used function to create pixmaps. */
-GtkWidget*
-create_pixmap                          (GtkWidget       *widget,
-                                        const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GtkWidget *pixmap;
-
-  if (!filename || !filename[0])
-      return gtk_image_new ();
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return gtk_image_new ();
-    }
-
-  pixmap = gtk_image_new_from_file (pathname);
-  g_free (pathname);
-  return pixmap;
-}
-
-/* This is an internally used function to create pixmaps. */
-GdkPixbuf*
-create_pixbuf                          (const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GdkPixbuf *pixbuf;
-  GError *error = NULL;
-
-  if (!filename || !filename[0])
-      return NULL;
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return NULL;
-    }
-
-  pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
-  if (!pixbuf)
-    {
-      fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
-               pathname, error->message);
-      g_error_free (error);
-    }
-  g_free (pathname);
-  return pixbuf;
-}
-
-/* This is used to set ATK action descriptions. */
-void
-glade_set_atk_action_description       (AtkAction       *action,
-                                        const gchar     *action_name,
-                                        const gchar     *description)
-{
-  gint n_actions, i;
-
-  n_actions = atk_action_get_n_actions (action);
-  for (i = 0; i < n_actions; i++)
-    {
-      if (!strcmp (atk_action_get_name (action, i), action_name))
-        atk_action_set_description (action, i, description);
-    }
-}
-

Deleted: gtkpod/branches/upstream/current/src/support.h
===================================================================
--- gtkpod/branches/upstream/current/src/support.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/support.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,69 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-/*
- * Standard gettext macros.
- */
-#ifdef ENABLE_NLS
-#  include <libintl.h>
-#  undef _
-#  define _(String) dgettext (PACKAGE, String)
-#  define Q_(String) g_strip_context ((String), gettext (String))
-#  ifdef gettext_noop
-#    define N_(String) gettext_noop (String)
-#  else
-#    define N_(String) (String)
-#  endif
-#else
-#  define textdomain(String) (String)
-#  define gettext(String) (String)
-#  define dgettext(Domain,Message) (Message)
-#  define dcgettext(Domain,Message,Type) (Message)
-#  define bindtextdomain(Domain,Directory) (Domain)
-#  define _(String) (String)
-#  define Q_(String) g_strip_context ((String), (String))
-#  define N_(String) (String)
-#endif
-
-
-/*
- * Public Functions.
- */
-
-/*
- * This function returns a widget in a component created by Glade.
- * Call it with the toplevel widget in the component (i.e. a window/dialog),
- * or alternatively any widget in the component, and the name of the widget
- * you want returned.
- */
-GtkWidget*  lookup_widget              (GtkWidget       *widget,
-                                        const gchar     *widget_name);
-
-
-/* Use this function to set the directory containing installed pixmaps. */
-void        add_pixmap_directory       (const gchar     *directory);
-
-
-/*
- * Private Functions.
- */
-
-/* This is used to create the pixmaps used in the interface. */
-GtkWidget*  create_pixmap              (GtkWidget       *widget,
-                                        const gchar     *filename);
-
-/* This is used to create the pixbufs used in the interface. */
-GdkPixbuf*  create_pixbuf              (const gchar     *filename);
-
-/* This is used to set ATK action descriptions. */
-void        glade_set_atk_action_description (AtkAction       *action,
-                                              const gchar     *action_name,
-                                              const gchar     *description);
-

Modified: gtkpod/branches/upstream/current/src/tools.c
===================================================================
--- gtkpod/branches/upstream/current/src/tools.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/tools.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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

Deleted: gtkpod/branches/upstream/current/src/track.c
===================================================================
--- gtkpod/branches/upstream/current/src/track.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/track.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,817 +0,0 @@
-/* Time-stamp: <2005-01-01 15:38:00 jcs>
-|
-|  Copyright (C) 2002-2003 Jorg Schuler <jcsjcs at users.sourceforge.net>
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  This program is free software; you can redistribute it and/or modify
-|  it under the terms of the GNU General Public License as published by
-|  the Free Software Foundation; either version 2 of the License, or
-|  (at your option) any later version.
-|
-|  This program 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 General Public License for more details.
-|
-|  You should have received a copy of the GNU General Public License
-|  along with this program; 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: track.c,v 1.86 2004/12/06 15:21:07 jcsjcs Exp $
-*/
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include "charset.h"
-#include "confirmation.h"
-#include "file.h"
-#include "itunesdb.h"
-#include "md5.h"
-#include "misc.h"
-#include "prefs.h"
-#include "support.h"
-#include "track.h"
-
-/* List with all the tracks */
-GList *tracks = NULL;
-
-static guint32 free_ipod_id (guint32 id);
-static void reset_ipod_id (void);
-
-void
-free_track(Track *track)
-{
-  if (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->album_utf16);
-      g_free (track->artist_utf16);
-      g_free (track->title_utf16);
-      g_free (track->genre_utf16);
-      g_free (track->comment_utf16);
-      g_free (track->composer_utf16);
-      g_free (track->fdesc_utf16);
-      g_free (track->grouping_utf16);
-      g_free (track->pc_path_utf8);
-      g_free (track->pc_path_locale);
-      g_free (track->ipod_path);
-      g_free (track->ipod_path_utf16);
-      g_free (track->md5_hash);
-      g_free (track->hostname);
-      g_free (track->charset);
-      g_free (track->year_str);
-      g_free (track);
-    }
-}
-
-/* Append track to the list */
-/* Note: adding to the display model is the responsibility of
-   the playlist code */
-/* Returns: pointer to the added track -- may be different in the case
-   of duplicates. In that case a pointer to the already existing track
-   is returned. */
-Track *add_track (Track *track)
-{
-  Track *oldtrack, *result=NULL;
-
-  /* fill in additional information from the extended info hash
-     (extended info hash only exists during initial import of the
-     database */
-  fill_in_extended_info (track);
-  if((oldtrack = md5_track_exists_insert (track)))
-  {
-      remove_duplicate (oldtrack, track);
-      free_track(track);
-      result = oldtrack;
-  }
-  else
-  {
-    /* Make sure all strings are initialised -- that way we don't
-     have to worry about it when we are handling the strings */
-    /* exception: md5_hash, hostname, charset: these may be NULL. */
-    validate_entries (track);
-    if(!track->ipod_id)
-	track->ipod_id = free_ipod_id (0);  /* keep track of highest ID used */
-    else
-	free_ipod_id(track->ipod_id);
-
-    tracks = g_list_append (tracks, track);
-    result = track;
-  }
-  return result;
-}
-
-
-/* Make sure all strings are initialised -- that way we don't
-   have to worry about it when we are handling the strings.
-   If a corresponding utf16 string is not set, it will be created from
-   the utf8 string */
-/* exception: md5_hash and hostname: these may be NULL. */
-void validate_entries (Track *track)
-{
-    if (!track) return;
-
-    if (track->album == NULL)           track->album = g_strdup ("");
-    if (track->artist == NULL)          track->artist = g_strdup ("");
-    if (track->title == NULL)           track->title = g_strdup ("");
-    if (track->genre == NULL)           track->genre = g_strdup ("");
-    if (track->comment == NULL)         track->comment = g_strdup ("");
-    if (track->composer == NULL)        track->composer = g_strdup ("");
-    if (track->fdesc == NULL)           track->fdesc = g_strdup ("");
-    if (track->pc_path_utf8 == NULL)    track->pc_path_utf8 = g_strdup ("");
-    if (track->pc_path_locale == NULL)  track->pc_path_locale = g_strdup ("");
-    if (track->ipod_path == NULL)       track->ipod_path = g_strdup ("");
-    if (track->album_utf16 == NULL)
-	track->album_utf16 = g_utf8_to_utf16 (track->album, -1, NULL, NULL, NULL);
-    if (track->artist_utf16 == NULL)
-	track->artist_utf16 = g_utf8_to_utf16 (track->artist, -1, NULL, NULL, NULL);
-    if (track->title_utf16 == NULL)
-	track->title_utf16 = g_utf8_to_utf16 (track->title, -1, NULL, NULL, NULL);
-    if (track->genre_utf16 == NULL)
-	track->genre_utf16 = g_utf8_to_utf16 (track->genre, -1, NULL, NULL, NULL);
-    if (track->comment_utf16 == NULL)
-	track->comment_utf16 = g_utf8_to_utf16 (track->comment, -1, NULL, NULL, NULL);
-    if (track->composer_utf16 == NULL)
-	track->composer_utf16 = g_utf8_to_utf16 (track->composer, -1, NULL, NULL, NULL);
-    if (track->fdesc_utf16 == NULL)
-	track->fdesc_utf16 = g_utf8_to_utf16 (track->fdesc, -1, NULL, NULL, NULL);
-    if (track->ipod_path_utf16 == NULL)
-	track->ipod_path_utf16 = g_utf8_to_utf16 (track->ipod_path, -1, NULL, NULL, NULL);
-    /* Make sure year_str is identical to year */
-    g_free (track->year_str);
-    track->year_str = g_strdup_printf ("%d", track->year);
-}
-
-/**
- * remove_track_from_ipod - in order to delete a track from the system
- * we need to keep track of the Tracks we want to delete next time we
- * export the id.
- * @track - the Track id we want to delete
- */
-void
-remove_track_from_ipod (Track *track)
-{
-    if (track->transferred)
-    {
-	tracks = g_list_remove(tracks, track);
-	md5_track_removed (track);
-	mark_track_for_deletion (track); /* will be deleted on next export */
-    }
-    else
-    {
-	remove_track (track);
-    }
-}
-
-/* Remove track from the list. */
-void remove_track (Track *track)
-{
-  tracks = g_list_remove (tracks, track);
-  md5_track_removed (track);
-  free_track(track);
-}
-
-
-/* Remove all tracks from the list using remove_track () */
-void remove_all_tracks (void)
-{
-  Track *track;
-
-  while (tracks != NULL)
-    {
-      track = g_list_nth_data (tracks, 0);
-      remove_track (track);
-    }
-}
-
-
-/* Returns the number of tracks stored in the list */
-guint get_nr_of_tracks (void)
-{
-  return g_list_length (tracks);
-}
-
-/* Returns the number of tracks not yet transferred to the ipod */
-guint get_nr_of_nontransferred_tracks (void)
-{
-    guint n = 0;
-    Track *track;
-    GList *gl_track;
-
-    for (gl_track = tracks; gl_track; gl_track=gl_track->next)
-    {
-	track = (Track *)gl_track->data;
-	if (!track->transferred)   ++n;
-    }
-    return n;
-}
-
-/* in Bytes, minus the space taken by tracks that will be overwritten
- * during copying. If != NULL, @num will be filled with the number of
- * non-transferred tracks */
-double get_filesize_of_nontransferred_tracks(guint32 *num)
-{
-    double size = 0;
-    guint32 n = 0;
-    Track *track;
-    GList *gl_track;
-
-
-    for (gl_track = tracks; gl_track; gl_track=gl_track->next)
-    {
-	track = (Track *)gl_track->data;
-	if (!track->transferred)
-	{
-	    size += track->size - track->oldsize;
-	    ++n;
-	}
-    }
-    if (num) *num = n;
-    return size;
-}
-
-
-/* Returns the n_th track */
-Track *get_track_by_nr (guint32 n)
-{
-  return g_list_nth_data (tracks, n);
-}
-
-/* Gets the next track (i!=0) or the first track (i=0)
-   This function is optimized for speed, caching a pointer to the last
-   link returned.
-   Make sure that the list of tracks does not get changed during
-   ceonsecutive calls with i=1 or this function might crash. */
-Track *get_next_track (gint i)
-{
-    static GList *lastlink = NULL;
-    Track *result;
-
-    if (i==0)           lastlink = tracks;
-    else if (lastlink)  lastlink = lastlink->next;
-
-    if (lastlink)       result = (Track *)lastlink->data;
-    else                result = NULL;
-
-    return result;
-}
-
-
-/* Returns the track with ID "id". We need to get the last occurence of
- * "id" in case we're currently importing the iTunesDB. In that case
- * there might be duplicate ids */
-Track *get_track_by_id (guint32 id)
-{
-  GList *l;
-  Track *s;
-
-  for (l=g_list_last(tracks); l; l=l->prev)
-  {
-      s = (Track *)l->data;
-      if (s->ipod_id == id)  return s;
-  }
-  return NULL;
-}
-
-
-/* Returns the track with the filename @name or NULL, if none can be
- * found. This function also works if @name is on the iPod. */
-Track *get_track_by_filename (gchar *filename)
-{
-  if (!filename) return NULL;
-
-  if (strncmp (filename, prefs_get_ipod_mount (),
-	       strlen (prefs_get_ipod_mount ())) == 0)
-  {   /* handle track on iPod */
-      GList *l;
-      for (l=tracks; l; l=l->next)
-      {
-	  Track *track = (Track *)l->data;
-	  gchar *mount = charset_from_utf8 (prefs_get_ipod_mount ());
-	  gchar *ipod_path = itunesdb_get_track_name_on_ipod (mount, track);
-	  g_free (mount);
-	  if (ipod_path)
-	  {
-	      if (strcmp (ipod_path, filename) == 0)
-	      {
-		  g_free (ipod_path);
-		  return track;
-	      }
-	      g_free (ipod_path);
-	  }
-      }
-  }
-  else
-  {   /* handle track on local filesystem */
-      GList *l;
-      for (l=tracks; l; l=l->next)
-      {
-	  Track *track = (Track *)l->data;
-	  if (track->pc_path_locale)
-	      if (strcmp (track->pc_path_locale, filename) == 0) return track;
-      }
-  }
-  return NULL;
-}
-
-
-/* renumber ipod ids (used from withing handle_import() */
-void renumber_ipod_ids ()
-{
-    GList *gl_track;
-
-    /* We simply re-ID all tracks. That way we don't run into
-       trouble if some "funny" guy put a "-1" into the itunesDB */
-    reset_ipod_id (); /* reset lowest unused ipod ID */
-    for (gl_track = tracks; gl_track; gl_track=gl_track->next)
-    {
-	((Track *)gl_track->data)->ipod_id = free_ipod_id (0);
-	/*we need to tell the display that the ID has changed (if ID
-	 * is displayed) */
-	/* pm_track_changed (track);*/
-    }
-}
-
-/* used by free_ipod_id() and reset_ipod_id() */
-static guint32 get_id (guint32 id, gboolean reset)
-{
-  static gint32 max_id = 52; /* the lowest valid ID is 53 (itunes,
-			      * MusicMatch: 2 */
-
-  if (reset)
-  { /* reset ipod IDs */
-      max_id = 52;
-  }
-  else
-  { /* register ID */
-      if (id > max_id)     max_id = id;
-      if (id == 0)   ++max_id;
-  }
-  /* return lowest free ID (discarded if reset == TRUE) */
-  return max_id;
-}
-
-
-
-/*  Call with 0 to get a unused ID. It will be registered.
-    Call with anything else to register a used ID. The highest ID use
-    will then be returned */
-/* Called each time by add_track with the ipod_id used.
-   That's how it keeps track of the largest ID used. */
-static guint32 free_ipod_id (guint32 id)
-{
-    return get_id (id, FALSE);
-}
-
-/* reset lowest free ipod ID */
-static void reset_ipod_id (void)
-{
-    get_id (0, TRUE);
-}
-
-/* ------------------------------------------------------------ *\
-|                                                                |
-|         functions for md5 checksums                            |
-|                                                                |
-\* ------------------------------------------------------------ */
-
-/**
- * Register all tracks in the md5 hash and remove duplicates (while
- * preserving playlists)
- */
-void hash_tracks(void)
-{
-   gint ns, count, track_nr;
-   gchar *buf;
-   Track *track, *oldtrack;
-
-   if (!prefs_get_md5tracks ()) return;
-   ns = get_nr_of_tracks ();
-   if (ns == 0)                 return;
-
-   block_widgets (); /* block widgets -- this might take a while,
-			so we'll do refreshs */
-   md5_unique_file_free (); /* release md5 hash */
-   count = 0;
-   track_nr = 0;
-   /* populate the hash table */
-   while ((track = get_track_by_nr (track_nr)))
-   {
-       oldtrack = md5_track_exists_insert(track);
-       ++count;
-/*        printf("%d:%d:%p:%p\n", count, track_nr, track, oldtrack); */
-       if (((count % 20) == 1) || (count == ns))
-       { /* update for count == 1, 21, 41 ... and for count == n */
-	   buf = g_strdup_printf (ngettext ("Hashed %d of %d track.",
-					    "Hashed %d of %d tracks.", ns),
-				  count, ns);
-	   gtkpod_statusbar_message(buf);
-	   while (widgets_blocked && gtk_events_pending ())  gtk_main_iteration ();
-	   g_free (buf);
-       }
-       if (oldtrack)
-       {
-	   remove_duplicate (oldtrack, track);
-       }
-       else
-       { /* if we removed a track (above), we don't need to increment
-	    the track_nr here */
-	   ++track_nr;
-       }
-   }
-   remove_duplicate (NULL, NULL); /* show info dialogue */
-   release_widgets (); /* release widgets again */
-}
-
-
-/* This function removes a duplicate track "track" from memory while
- * preserving the playlists.
- *
- * The md5 hash is not modified.
- *
- * The playcount/recent_playcount are modified to show the cumulative
- * playcounts for that track.
- *
- * The star rating is set to the average of both star ratings if both
- * ratings are not 0, or the higher rating if one of the ratings is 0
- * (it is assumed that a rating of "0" means that no rating has been
- * set).
- *
- * The "created" timestamp is set to the older entry (unless that one
- * is 0).
- *
- * The "modified" and "last played" timestamps are set to the more
- * recent entry.
- *
- * You should call "remove_duplicate (NULL, NULL)" to pop up the info
- * dialogue with the list of duplicate tracks afterwards. Call with
- * "NULL, (void *)-1" to just clean up without dialoge.
- *
- * If "track" does not exist in
- * the master play list, only a message is logged (to be displayed
- * later when called with "NULL, NULL" */
-void remove_duplicate (Track *oldtrack, Track *track)
-{
-   gchar *buf, *buf2;
-   static gint deltrack_nr = 0;
-   static gboolean removed = FALSE;
-   static GString *str = NULL;
-
-/*   printf ("%p, %p, '%s'\n", oldtrack, track, str?str->str:"empty");*/
-
-   if (prefs_get_show_duplicates() && !oldtrack && !track && str)
-   {
-       if (str->len)
-       { /* Some tracks have been deleted. Print a notice */
-	   if (removed)
-	   {
-	       buf = g_strdup_printf (
-		   ngettext ("The following duplicate track has been removed.",
-			     "The following %d duplicate tracks have been removed.",
-			     deltrack_nr), deltrack_nr);
-	   }
-	   else
-	   {
-	       buf = g_strdup_printf (
-		   ngettext ("The following duplicate track has not been added to the master play list.",
-			     "The following %d duplicate tracks have not been added to the master play list.",
-			     deltrack_nr), deltrack_nr);
-	   }
-	   gtkpod_confirmation
-	       (-1,                      /* gint id, */
-		FALSE,                   /* gboolean modal, */
-		_("Duplicate detection"),/* title */
-		buf,                     /* label */
-		str->str,                /* scrolled text */
-		NULL, 0, NULL,      /* option 1 */
-		NULL, 0, NULL,      /* option 2 */
-		TRUE,               /* gboolean confirm_again, */
-		prefs_set_show_duplicates,
-		                    /* ConfHandlerCA confirm_again_handler,*/
-		CONF_NULL_HANDLER,  /* ConfHandler ok_handler,*/
-		NULL,               /* don't show "Apply" button */
-		NULL,               /* don't show "Cancel" button */
-		NULL,               /* gpointer user_data1,*/
-		NULL);              /* gpointer user_data2,*/
-	   g_free (buf);
-       }
-   }
-   if (oldtrack == NULL)
-   { /* clean up */
-       if (str)       g_string_free (str, TRUE);
-       str = NULL;
-       removed = FALSE;
-       deltrack_nr = 0;
-       gtkpod_tracks_statusbar_update();
-   }
-   if (oldtrack && track)
-   {
-       if (prefs_get_show_duplicates ())
-       {
-	   /* add info about it to str */
-	   buf = get_track_info (track);
-	   buf2 = get_track_info (oldtrack);
-	   if (!str)
-	   {
-	       deltrack_nr = 0;
-	       str = g_string_sized_new (2000); /* used to keep record
-						 * of duplicate
-						 * tracks */
-	   }
-	   g_string_append_printf (str, "'%s': identical to '%s'\n",
-				   buf, buf2);
-	   g_free (buf);
-	   g_free (buf2);
-       }
-       /* Set playcount */
-       oldtrack->playcount += track->playcount;
-       oldtrack->recent_playcount += track->recent_playcount;
-       /* Set rating */
-       if (oldtrack->rating && track->rating)
-	   oldtrack->rating =
-	       floor((double)(oldtrack->rating + track->rating + RATING_STEP) /
-		     (2 * RATING_STEP)) * RATING_STEP;
-       else
-	   oldtrack->rating = MAX (oldtrack->rating, track->rating);
-       /* Set 'modified' timestamp */
-       oldtrack->time_modified =  MAX (oldtrack->time_modified,
-				      track->time_modified);
-       /* Set 'played' timestamp */
-       oldtrack->time_played =  MAX (oldtrack->time_played, track->time_played);
-       /* Set 'created' timestamp */
-       oldtrack->time_created =  MIN (oldtrack->time_created, track->time_created);
-
-       /* Update filename if new track has filename set (should be
-	* always!?) */
-       if (track->pc_path_locale)
-       {
-	   g_free (oldtrack->pc_path_locale);
-	   g_free (oldtrack->pc_path_utf8);
-	   oldtrack->pc_path_utf8 = g_strdup (track->pc_path_utf8);
-	   oldtrack->pc_path_locale = g_strdup (track->pc_path_locale);
-       }
-       if (track_is_in_playlist (NULL, track))
-       { /* track is already added to memory -> replace with "oldtrack" */
-	   /* check for "track" in all playlists (except for MPL) */
-	   gint np = get_nr_of_playlists ();
-	   gint pl_nr;
-	   for (pl_nr=1; pl_nr<np; ++pl_nr)
-	   {
-	       Playlist *pl = get_playlist_by_nr (pl_nr);
-	       /* if "track" is in playlist pl, we remove it and add
-		  the "oldtrack" instead (this way round we don't have
-		  to worry about changing md5 hash entries */
-	       if (remove_track_from_playlist (pl, track))
-	       {
-		   if (!track_is_in_playlist (pl, oldtrack))
-		       add_track_to_playlist (pl, oldtrack, TRUE);
-	       }
-	   }
-	   /* remove track from MPL, i.e. from the ipod */
-	   remove_track_from_playlist (NULL, track);
-	   removed = TRUE;
-       }
-       ++deltrack_nr; /* count duplicate tracks */
-       data_changed ();
-   }
-}
-
-
-/* delete all md5 checkums from the tracks */
-void clear_md5_hash_from_tracks (void)
-{
-    GList *l;
-
-    for (l = tracks; l; l = l->next)
-    {
-	C_FREE (((Track *)l->data)->md5_hash);
-    }
-}
-
-
-/* return the address of the UTF8 field @t_item. @t_item is one of
- * (the applicable) T_* defined in track.h */
-gchar **track_get_item_pointer_utf8 (Track *track, T_item t_item)
-{
-    gchar **result = NULL;
-
-    if (track) switch (t_item)
-    {
-    case T_ALBUM:
-	result = &track->album;
-	break;
-    case T_ARTIST:
-	result = &track->artist;
-	break;
-    case T_TITLE:
-	result = &track->title;
-	break;
-    case T_GENRE:
-	result = &track->genre;
-	break;
-    case T_COMMENT:
-	result = &track->comment;
-	break;
-    case T_COMPOSER:
-	result = &track->composer;
-	break;
-    case T_FDESC:
-	result = &track->fdesc;
-	break;
-    case T_GROUPING:
-	result = &track->grouping;
-	break;
-    case T_IPOD_PATH:
-	result = &track->ipod_path;
-	break;
-    case T_YEAR:
-	result = &track->year_str;
-	break;
-    default:
-	result = 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_utf8 (Track *track, T_item t_item)
-{
-    gchar **address = track_get_item_pointer_utf8 (track, t_item);
-
-    if (address) return *address;
-    else         return NULL;
-}
-
-
-/* return the address of the UTF16 field @t_item. @t_item is one of
-(the * applicable) T_* defined in track.h */
-gunichar2 **track_get_item_pointer_utf16 (Track *track, T_item t_item)
-{
-    gunichar2 **result = NULL;
-
-    if (track) switch (t_item)
-    {
-    case T_ALBUM:
-	result = &track->album_utf16;
-	break;
-    case T_ARTIST:
-	result = &track->artist_utf16;
-	break;
-    case T_TITLE:
-	result = &track->title_utf16;
-	break;
-    case T_GENRE:
-	result = &track->genre_utf16;
-	break;
-    case T_COMMENT:
-	result = &track->comment_utf16;
-	break;
-    case T_COMPOSER:
-	result = &track->composer_utf16;
-	break;
-    case T_FDESC:
-	result = &track->fdesc_utf16;
-	break;
-    case T_GROUPING:
-	result = &track->grouping_utf16;
-	break;
-    case T_IPOD_PATH:
-	result = &track->ipod_path_utf16;
-	break;
-    default:
-	result = NULL;
-    }
-    return result;
-}
-
-/* return the UTF16 item @t_item. @t_item is one of
-(the * applicable) T_* defined in track.h */
-gunichar2 *track_get_item_utf16 (Track *track, T_item t_item)
-{
-    gunichar2 **address = track_get_item_pointer_utf16 (track, t_item);
-
-    if (address) return *address;
-    else         return NULL;
-}
-
-
-/* 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. */
-guint32 *track_get_timestamp_ptr (Track *track, T_item t_item)
-{
-    if (track)
-    {
-	switch (t_item)
-	{
-	  case T_TIME_PLAYED:
-	    return &track->time_played;
-	  case T_TIME_MODIFIED:
-	    return &track->time_modified;
-	  case T_TIME_CREATED:
-	    return &track->time_created;
-	default:
-	    break;
-	}
-    }
-    return NULL;
-}
-
-
-/* return the specified timestamp. @t_item is one of
-   (the * applicable) T_* defined in track.h. If the parameters are
-   illegal, "0" is returned. */
-guint32 track_get_timestamp (Track *track, T_item t_item)
-{
-    guint32 *ptr = track_get_timestamp_ptr (track, t_item);
-    if (ptr)  return *ptr;
-    else      return 0;
-}
-
-
-/* Increase playcount of filename <file> by <num>. If md5 is activated,
-   use md5 to find the track. Otherwise use the filename. If @md5 is
-   set, this value is used directly to look up the track in the
-   database (instead of calculating it from the file.
-
-   Return value:
-   TRUE: OK
-   FALSE: file could not be found. */
-gboolean track_increase_playcount (gchar *md5, gchar *file, gint num)
-{
-    gboolean result = FALSE;
-    Track *track = NULL;
-
-    if (md5) track = md5_md5_exists (md5);
-    else     track = md5_file_exists (file, TRUE);
-    if (!track)	  track = get_track_by_filename (file);
-    if (track)
-    {
-	gchar *buf1, *buf;
-	track->playcount += num;
-	data_changed ();
-	pm_track_changed (track);
-	buf1 = get_track_info (track);
-	buf = g_strdup_printf (_("Increased playcount for '%s'"), buf1);
-	gtkpod_statusbar_message (buf);
-	g_free (buf);
-	g_free (buf1);
-	result = TRUE;
-    }
-    return result;
-}
-
-
-/* ------------------------------------------------------------------- */
-/* functions used by itunesdb (so we can refresh the display during
- * import */
-gboolean it_add_track (Track *track)
-{
-    static gint count = 0;
-    Track *result;
-
-    /* fix timestamp (up to V0.51 I used a dummy timestamp -- replace
-       that with the current time) */
-    if (track && (track->time_modified == 0x8c3abf9b))
-	track->time_modified = 0;
-
-    /* fix bitrate (up to V0.51 I used bps instead of kbps) */
-    if (track && (track->bitrate >= 10000))
-	track->bitrate /= 1000;
-
-    result = add_track (track);
-
-    ++count;
-    if ((count % 20) == 0)     gtkpod_tracks_statusbar_update();
-
-    while (widgets_blocked && gtk_events_pending ())  gtk_main_iteration ();
-
-    if (result) return TRUE;
-    else        return FALSE;
-}
-
-Track *it_get_track_by_nr (guint32 n)
-{
-    Track *track = get_track_by_nr (n);
-    while (widgets_blocked && gtk_events_pending ())  gtk_main_iteration ();
-    return track;
-}

Deleted: gtkpod/branches/upstream/current/src/track.h
===================================================================
--- gtkpod/branches/upstream/current/src/track.h	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/track.h	2005-12-29 16:40:29 UTC (rev 90)
@@ -1,172 +0,0 @@
-/* Time-stamp: <2005-03-23 21:58:37 jcs>
-|
-|  Copyright (C) 2002-2003 Jorg Schuler <jcsjcs at users.sourceforge.net>
-|  Part of the gtkpod project.
-|
-|  URL: http://gtkpod.sourceforge.net/
-|
-|  This program is free software; you can redistribute it and/or modify
-|  it under the terms of the GNU General Public License as published by
-|  the Free Software Foundation; either version 2 of the License, or
-|  (at your option) any later version.
-|
-|  This program 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 General Public License for more details.
-|
-|  You should have received a copy of the GNU General Public License
-|  along with this program; 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: track.h,v 1.68 2004/12/30 04:34:04 jcsjcs Exp $
-*/
-
-#ifndef __SONG_H__
-#define __SONG_H__
-
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-#include <glib.h>
-
-typedef struct
-{
-  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 "/"*/
-  gunichar2 *album_utf16;    /* album (utf16)          */
-  gunichar2 *artist_utf16;   /* artist (utf16)         */
-  gunichar2 *title_utf16;    /* title (utf16)          */
-  gunichar2 *genre_utf16;    /* genre (utf16)          */
-  gunichar2 *comment_utf16;  /* comment (utf16)        */
-  gunichar2 *composer_utf16; /* Composer (utf16)       */
-  gunichar2 *fdesc_utf16;    /* eg. "MP3-File"...(utf8)*/
-  gunichar2 *grouping_utf16; /* ? (utf16)              */
-  gunichar2 *ipod_path_utf16;/* name of file on iPod: uses ":" instead of "/"*/
-  gchar   *pc_path_utf8;     /* PC filename in utf8 encoding   */
-  gchar   *pc_path_locale;   /* PC filename in locale encoding */
-  guint32 ipod_id;           /* unique ID of track     */
-  gint32  size;              /* size of file in bytes  */
-  gint32  oldsize;           /* used when updating tracks: size on iPod */
-  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                   */
-  gchar   *year_str;         /* year as string -- always identical to year */
-  gint32  volume;            /* volume adjustment              */
-  guint32 soundcheck;        /* volume adjustment "soundcheck" */
-  guint32 peak_signal;	     /* LAME Peak Signal * 0x800000    */
-  gdouble radio_gain;	     /* RadioGain in dB
-				(as defined by www.replaygain.org) */
-  gdouble audiophile_gain;   /* AudiophileGain in dB 
-				(as defined by www.replaygain.org)  */
-  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? */
-  guint32 time_created;      /* time when added (Mac type)          */
-  guint32 time_played;       /* time of last play (Mac type)        */
-  guint32 time_modified;     /* time of last modification (Mac type)*/
-  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     */
-  gchar   *hostname;         /* name of host this file has been imported on*/
-  gboolean transferred;      /* has file been transferred to iPod?  */
-  gchar   *md5_hash;         /* md5 hash of file (or NULL)          */
-  gchar   *charset;          /* charset used for ID3 tags           */
-  gint16 BPM;                /* supposed to vary the playback speed */
-/* present in the mhit but not used by gtkpod yet */
-  guint32 unk020, unk024, unk084, unk100, unk108, unk112, unk116, unk124;
-  guint32 unk128, unk132, unk136, unk140, unk144, unk148, unk152;
-  guint8  app_rating;        /* star rating set by appl. (not iPod) */
-  guint16 type;
-  guint8  compilation;   /* FIXME: not displayed */
-  guint32 starttime;
-  guint32 stoptime;
-  guint8  checked;
-} Track;
-/* !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
-
-/* 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. */
-typedef enum {
-    T_ALL = 0,      /* all fields */
-    T_ALBUM,
-    T_ARTIST,
-    T_TITLE,
-    T_GENRE,
-    T_COMMENT,
-    T_COMPOSER,
-    T_FDESC,
-    T_PC_PATH,
-    T_IPOD_PATH,
-    T_IPOD_ID,
-    T_TRACK_NR,
-    T_TRANSFERRED,
-    T_SIZE,
-    T_TRACKLEN,
-    T_BITRATE,
-    T_SAMPLERATE,
-    T_BPM,
-    T_PLAYCOUNT,
-    T_RATING,
-    T_TIME_CREATED,
-    T_TIME_PLAYED,
-    T_TIME_MODIFIED,
-    T_VOLUME,
-    T_SOUNDCHECK,
-    T_YEAR,
-    T_CD_NR,
-    T_GROUPING,
-    T_COMPILATION,
-} T_item;
-
-void free_track(Track *track);
-gboolean it_add_track (Track *track);
-Track *add_track (Track *track);
-void validate_entries (Track *track);
-void remove_track (Track *track);
-void remove_all_tracks (void);
-#define it_get_nr_of_tracks get_nr_of_tracks
-guint get_nr_of_tracks (void);
-guint get_nr_of_nontransferred_tracks (void);
-double get_filesize_of_nontransferred_tracks (guint32 *num);
-Track *it_get_track_by_nr (guint32 n);
-Track *get_next_track (gint i);
-Track *get_track_by_nr (guint32 n);
-Track *get_track_by_id (guint32 id);
-Track *get_track_by_filename (gchar *name);
-void remove_track_from_ipod (Track *track);
-void hash_tracks(void);
-void remove_duplicate (Track *oldtrack, Track *track);
-void clear_md5_hash_from_tracks (void);
-void renumber_ipod_ids ();
-gchar **track_get_item_pointer_utf8 (Track *track, T_item t_item);
-gchar *track_get_item_utf8 (Track *track, T_item t_item);
-gunichar2 **track_get_item_pointer_utf16 (Track *track, T_item t_item);
-gunichar2 *track_get_item_utf16 (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);
-gboolean track_increase_playcount (gchar *md5, gchar *file, gint num);
-#endif

Modified: gtkpod/branches/upstream/current/src/wavfile.c
===================================================================
--- gtkpod/branches/upstream/current/src/wavfile.c	2005-12-29 16:23:41 UTC (rev 89)
+++ gtkpod/branches/upstream/current/src/wavfile.c	2005-12-29 16:40:29 UTC (rev 90)
@@ -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