[Pkg-kde-extras] Bug#807896: kid3 does not substitute slashes when building filename

2015-12-14 Thread Urs Fleisch
String replacements are not performed by default. If you want them to
be executed automatically, go to "Settings/Configure Kid3.../Files" and
make sure that "Format while editing" is checked. If this checkbox is
not checked, you can perform the string replacements using the menu
"Tools/Apply Filename Format".

The same options exist for tags, its "Format while editing" checkbox
can be found in "Settings/Configure Kid3.../Tags/Tag 1 and Tag 2" and
the manual menu function is "Tools/Apply Tag Format".

___
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-extras


[Pkg-kde-extras] Bug#680915: kid3: Pipes cause tag corruption

2012-08-26 Thread Urs Fleisch
> For the Debian maintainers: Please reassign this bug to libid3-3.8.3c2a.
> Unfortunately, id3lib is not actively maintained, but I will try to fix
> the bug there and send a patch for id3lib.

Here is a patch for id3lib, it has to be applied after
debian/patches/30-fix-utf16.patch because it modifies the same file.
It just inserts a BOM before each string of a string list, so that
a valid string list is written.

---
diff -ru id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
--- id3lib-3.8.3.orig/src/io_helpers.cpp2012-08-26 19:52:21.523825799 
+0200
+++ id3lib-3.8.3/src/io_helpers.cpp 2012-08-26 19:53:02.060028394 +0200
@@ -373,10 +373,17 @@
 //}
 // Right code
 unsigned char *pdata = (unsigned char *) data.c_str();
+unicode_t lastCh = BOM;
 for (size_t i = 0; i < size; i += 2)
 {
   unicode_t ch = (pdata[i] << 8) | pdata[i+1];
+  if (lastCh == 0 && ch != BOM)
+  {
+// Last character was NULL, so start next string with BOM.
+writer.writeChars((const unsigned char*) &BOM, 2);
+  }
   writer.writeChars((const unsigned char*) &ch, 2);
+  lastCh = ch;
 }
 // End patch
   }

---

Regards,
Urs
diff -ru id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
--- id3lib-3.8.3.orig/src/io_helpers.cpp	2012-08-26 19:52:21.523825799 +0200
+++ id3lib-3.8.3/src/io_helpers.cpp	2012-08-26 19:53:02.060028394 +0200
@@ -373,10 +373,17 @@
 //}
 // Right code
 unsigned char *pdata = (unsigned char *) data.c_str();
+unicode_t lastCh = BOM;
 for (size_t i = 0; i < size; i += 2)
 {
   unicode_t ch = (pdata[i] << 8) | pdata[i+1];
+  if (lastCh == 0 && ch != BOM)
+  {
+// Last character was NULL, so start next string with BOM.
+writer.writeChars((const unsigned char*) &BOM, 2);
+  }
   writer.writeChars((const unsigned char*) &ch, 2);
+  lastCh = ch;
 }
 // End patch
   }
___
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-extras

[Pkg-kde-extras] Bug#680916: kid3: Performer tag silently replaced with an Arranger one

2012-08-25 Thread Urs Fleisch
Kid3 supports lots of different tag formats. All these formats have different 
fields, not all fields are present in all formats. Kid3 tries to unify the 
common field types between all supported formats, the unified fields are the 
"standard" fields from Title to Genre and additional fields from Album Artist 
to Website. Besides these unified fields, a lot of other format specific fields 
are supported, for ID3v2.3.0 from AENC to WXXX.

Now there is the problem that not all of the unified fields can be 
unambiguously mapped to the fields of all formats. Here we have the Performer 
and Arranger fields. For ID3v2.4.0, Arranger is mapped to "TIPL Involved people 
list" and Performer is mapped to "TMCL Musician credits list".

  TMCL
   The 'Musician credits list' is intended as a mapping between
   instruments and the musician that played it. Every odd field is an
   instrument and every even is an artist or a comma delimited list of
   artists.

  TIPL
   The 'Involved people list' is very similar to the musician credits
   list, but maps between functions, like producer, and names.

However, in ID3v2.3.0, there is no such thing as TMCL, only IPLS (Involved 
people list), so both musicians and other involved people like the producer 
have to use the IPLS field. That's why Kid3 maps both Performer and Arranger to 
IPLS, and when the file is read back, there are two IPLS frames which are 
displayed as Arranger.

So this is not a bug in Kid3, only a thing where ID3v2.3.0 is not as expressive 
as ID3v2.4.0. You can use ID3v2.4.0 if this is really a problem.

___
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-extras


[Pkg-kde-extras] Bug#680915: kid3: Pipes cause tag corruption

2012-08-25 Thread Urs Fleisch
This is a bug in id3lib. As can be seen in the Kid3 source code:

mp3file.cpp:465
  // This will not work with buggy id3lib. A BOM 0xfffe is written before
  // the first string, but not before the subsequent strings. Prepending a
  // BOM or changing the byte order does not help when id3lib rewrites
  // this field when another frame is changed. So you cannot use
  // string lists with Unicode encoding.

Kid3 uses the pipe character to separate strings in string lists. The IPLS 
frame contains a string list with alternating involvement, involvee strings, 
see http://www.id3.org/id3v2.3.0#sec4.4. So in this example, "Vocal|Artist 
Name" is a string list with involvement "Vocal" and involvee "Artist Name" and 
more could follow. Unfortunately, id3lib does not correctly encode string lists 
when UTF16 is used as encoding. You have the following possible workarounds:

- When using string lists, do not use UTF16 encoding. You can set "ISO-8859-1" 
as text encoding for ID3v2 in the Kid3 settings. Kid3 will automatically use 
UTF16 when a field contains non-ASCII characters. This will let you correctly 
encode those involved people lists if they contain only ASCII characters.

- You can use ID3v2.4.0, where these problems do not exist. However, not all 
devices support ID3v2.4.0.

For the Debian maintainers: Please reassign this bug to libid3-3.8.3c2a. 
Unfortunately, id3lib is not actively maintained, but I will try to fix the bug 
there and send a patch for id3lib.

Regards,
Urs

___
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-extras


[Pkg-kde-extras] Bug#648904: Kid3 doesn't handle UTF-8 properly with ID3v2 tags despite configuration

2011-11-15 Thread Urs Fleisch
The encoding of ID3v2 tags is stored separately in every frame, so you 
cannot just switch one option to change them all. The encoding set in 
Settings, Configure Kid3, Tags tab, ID3v2 section, "Text encoding" is 
the encoding used for newly created frames. Normally, you do not have to 
change this from "ISO-8859-1" because Kid3 will automatically choose the 
correct encoding (UTF-16 for ID3v2.3 and UTF-8 for ID3v2.4) if a frame 
contains non-ASCII characters.


To view and change the encoding of a frame, select it and click the 
"Edit" button. You can set the encoding with the combo box at the top. 
Note that ID3v2.3 does not support UTF-8, so you should use UTF-16. For 
ID3v2.4, UTF-8 is a good choice. You can see in the "Edit" dialog that 
"id3v2" does not write the tags correctly, it always sets the encoding 
to "ISO-8859-1", so Kid3 displays "Bonne journée" correctly. If you 
enter "Bonne journée" in Kid3, it will automatically set the encoding to 
UTF16.





___
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-extras


[Pkg-kde-extras] Bug#555018: FTBFS with binutils-gold

2009-11-08 Thread Urs Fleisch
This should be fixed in version 1.3. For version 1.2, you could apply 
the patches 
http://sourceforge.net/tracker/?func=detail&aid=2843313&group_id=70849&atid=529223
 
and 
http://sourceforge.net/tracker/?func=detail&aid=2843311&group_id=70849&atid=529223.




___
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-kde-extras


[Pkg-kde-extras] Bug#465675: kid3: Changing interface language to a nonexistant translation switches some messages to German

2008-02-14 Thread Urs Fleisch
Because Kid3 is an extra KDE program, its translations are included in 
the package, and not in the KDE language packs. So if you have Kid3 
installed, you have also the German translation installed. I suppose 
that the fallback was set to German, which would be an explanation for 
the German interface elements.

Another question is why Polish was selectable. The next version of Kid3 
will have a Polish translation, but in 0.10 there is no Polish 
translation and thus this option should not be offered. The system will 
look through all translation directories for a kid3.mo translation file, 
so you can check what's going on by starting Kid3 like this:

strace -e trace=file /usr/bin/kid3

Then go to "Switch application language" and look at the trace output. I 
have

access("/usr/share/locale/pl/LC_MESSAGES/kid3.mo", R_OK) = 0

but you should not have a Polish kid3.mo on your system.



___
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-kde-extras