More UTF8 bugs fixed based on more mp3 test.

On Ubuntu it works fine.


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1779 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
yangjixian 2011-08-05 14:25:02 +00:00
parent 3ac6ba3567
commit 86a3f15843
4 changed files with 38 additions and 42 deletions

View File

@ -5,7 +5,7 @@ object Main: TMain
Width = 893
ActiveControl = Panel4
Caption = 'titel'
ClientHeight = 604
ClientHeight = 602
ClientWidth = 893
Icon.Data = {
3E42000000000100010040400000010020002842000016000000280000004000
@ -548,7 +548,7 @@ object Main: TMain
object StatusBar1: TStatusBar
Left = 0
Height = 22
Top = 582
Top = 580
Width = 893
Panels = <
item
@ -562,7 +562,7 @@ object Main: TMain
end
object Splitter1: TSplitter
Left = 288
Height = 582
Height = 580
Top = 0
Width = 8
AutoSnap = False
@ -572,19 +572,19 @@ object Main: TMain
end
object Panel1: TPanel
Left = 296
Height = 582
Height = 580
Top = 0
Width = 597
Align = alClient
BevelOuter = bvNone
ClientHeight = 582
ClientHeight = 580
ClientWidth = 597
TabOrder = 0
OnClick = Panel1Click
OnResize = Panel1Resize
object TitleTree: TListView
Left = 0
Height = 152
Height = 150
Top = 5
Width = 587
Align = alTop
@ -604,22 +604,18 @@ object Main: TMain
item
AutoSize = True
Caption = 'Title'
Width = 36
end
item
AutoSize = True
Caption = 'Album'
Width = 49
end
item
AutoSize = True
Caption = 'Track'
Width = 44
end
item
AutoSize = True
Caption = 'Genre'
Width = 47
end
item
AutoSize = True
@ -631,7 +627,7 @@ object Main: TMain
AutoSize = True
Caption = 'Length'
MaxWidth = 60
Width = 51
Width = 57
end>
PopupMenu = titlelistmenu
ReadOnly = True
@ -654,7 +650,7 @@ object Main: TMain
Cursor = crVSplit
Left = 0
Height = 10
Top = 157
Top = 155
Width = 597
Align = alTop
ResizeAnchor = akTop
@ -662,7 +658,7 @@ object Main: TMain
object Panel3: TPanel
Left = 0
Height = 415
Top = 167
Top = 165
Width = 597
Align = alClient
BevelOuter = bvNone
@ -847,7 +843,7 @@ object Main: TMain
end
object current_title_edit: TEdit
Left = 12
Height = 25
Height = 21
Top = 109
Width = 200
Color = clBtnFace
@ -856,7 +852,7 @@ object Main: TMain
end
object current_title_edit1: TEdit
Left = 12
Height = 25
Height = 21
Top = 141
Width = 200
Color = clBtnFace
@ -865,9 +861,9 @@ object Main: TMain
end
object randomcheck: TCheckBox
Left = 135
Height = 21
Height = 19
Top = 257
Width = 71
Width = 62
Caption = 'Random'
OnChange = randomcheckChange
TabOrder = 3
@ -950,10 +946,10 @@ object Main: TMain
TabOrder = 2
object filetypebox: TComboBox
Left = 360
Height = 25
Height = 21
Top = 8
Width = 90
ItemHeight = 17
ItemHeight = 13
ItemIndex = 0
Items.Strings = (
'all types'
@ -971,7 +967,7 @@ object Main: TMain
end
object searchstr: TEdit
Left = 120
Height = 25
Height = 21
Top = 8
Width = 232
OnKeyUp = searchstrKeyUp
@ -1013,11 +1009,11 @@ object Main: TMain
end
object clear_list: TBitBtn
AnchorSideBottom.Side = asrCenter
Left = 504
Left = 499
Height = 30
Hint = 'Clear Playlist'
Top = 7
Width = 79
Width = 84
Anchors = [akTop, akRight]
AutoSize = True
Caption = 'Clear'
@ -1084,9 +1080,9 @@ object Main: TMain
end
object lblPath: TLabel
Left = 8
Height = 13
Height = 14
Top = 56
Width = 43
Width = 50
Caption = 'lblPath'
ParentColor = False
end
@ -1094,19 +1090,19 @@ object Main: TMain
end
object Panel4: TPanel
Left = 0
Height = 582
Height = 580
Top = 0
Width = 288
Align = alLeft
BorderSpacing.InnerBorder = 30
BevelOuter = bvNone
ClientHeight = 582
ClientHeight = 580
ClientWidth = 288
TabOrder = 1
OnClick = Panel4Click
object ArtistTree: TTreeView
Left = 26
Height = 572
Height = 570
Top = 5
Width = 259
Align = alClient
@ -1147,9 +1143,9 @@ object Main: TMain
OnClick = ArtistSrchFieldClick
object Label2: TLabel
Left = 77
Height = 13
Height = 14
Top = 8
Width = 37
Width = 43
Caption = 'Search'
ParentColor = False
end
@ -1200,7 +1196,7 @@ object Main: TMain
end
object artistsearch: TEdit
Left = 8
Height = 25
Height = 21
Top = 32
Width = 110
OnKeyUp = ArtistTreeKeyUp
@ -1210,7 +1206,7 @@ object Main: TMain
end
object ToolBar1: TToolBar
Left = 0
Height = 577
Height = 575
Top = 5
Width = 26
Align = alLeft

View File

@ -2263,9 +2263,9 @@ var
begin
DebugOutLn('** Loadfile **', 2);
Application.ProcessMessages;
{$IFDEF WINDOWS}
//Ubuntu need this {$IFDEF WINDOWS}
aPath := UTF8Decode(path);
{$ENDIF}
// {$ENDIF}
if FileExists(aPath) then
begin
z := MediaCollection.GetIndexByPath(path);

View File

@ -18,7 +18,7 @@
<AutoIncrementBuild Value="True"/>
<MinorVersionNr Value="3"/>
<RevisionNr Value="5"/>
<BuildNr Value="739"/>
<BuildNr Value="740"/>
<StringTable ProductVersion="0.3.5.737"/>
</VersionInfo>
<BuildModes Count="1">

View File

@ -268,11 +268,11 @@ Begin
If tagpos<>3 Then
Begin
p := @buf[4];
ftitle := GetCString(P, 30);
fartist := GetCString(P, 30);
falbum := GetCString(P, 30);
fyear := GetCString(P, 4);
fcomment := GetCString(P, 30);
ftitle := UTF8Encode(GetCString(P, 30));
fartist := UTF8Encode(GetCString(P, 30));
falbum := UTF8Encode(GetCString(P, 30));
fyear := UTF8Encode(GetCString(P, 4));
fcomment := UTF8Encode(GetCString(P, 30));
// now p is pointing to genreid
fgenreid := ord(P^);
if fgenreid>high(ID3Genre) then
@ -285,12 +285,12 @@ Begin
ftrack := '';
End; // else writeln('no id3v1 tag');
except WriteLn(Filename+' -> exception while reading id3v1 tag... skipped!!'); end;
{$IFNDEF WINDOWS}
(* {$IFNDEF WINDOWS}
If ((artistv2<>'')) And (CactusConfig.id3v2_prio Or (artist='')) Then Fartist := artistv2;
If ((titlev2<>'')) And (CactusConfig.id3v2_prio Or (title='')) Then Ftitle := titlev2;
If ((albumv2<>'')) And (CactusConfig.id3v2_prio Or (album='')) Then Falbum := albumv2;
If ((commentv2<>'')) And (CactusConfig.id3v2_prio Or (comment='')) Then Fcomment := commentv2;
{$ELSE}
{$ELSE} *)
if Length(Trim(fartist)) <> 0 then begin
If ((artistv2<>'')) And (CactusConfig.id3v2_prio Or (artist='')) Then Fartist := UTF8Encode(artistv2);
end else Fartist := artistv2;
@ -303,7 +303,7 @@ Begin
if Length(Trim(Fcomment)) <> 0 then begin
If ((commentv2<>'')) And (CactusConfig.id3v2_prio Or (comment='')) Then Fcomment := UTF8Encode(commentv2);
end else Fcomment := commentv2;
{$ENDIF}
// {$ENDIF}
If ((yearv2<>'')) And (CactusConfig.id3v2_prio Or (year='')) Then Fyear := yearv2;
If ((trackv2<>'')) And (CactusConfig.id3v2_prio Or (track='')) Then ftrack := trackv2;
fileclose(mp3filehandle);