mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-29 07:02:34 +02:00
2022-08-30 Fred Gleason <fredg@paravelsystems.com>
* Modified the full disc ripper in rdlibrary(1) to use CD-Text. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
9587f4300e
commit
e7a03c8b52
@ -20912,3 +20912,5 @@
|
||||
2022-08-25 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Fixed a bug in rdservice(8) that could cause a segfault when
|
||||
started with a previous instance running.
|
||||
2022-08-30 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Modified the full disc ripper in rdlibrary(1) to use CD-Text.
|
||||
|
@ -2,7 +2,7 @@
|
||||
##
|
||||
## icons/automake.am for Rivendell
|
||||
##
|
||||
## (C) Copyright 2002-2006,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
## (C) Copyright 2002-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License version 2 as
|
||||
@ -272,6 +272,10 @@ uninstall-local:
|
||||
EXTRA_DIST = admin.xpm\
|
||||
blueball.png\
|
||||
blueball.xpm\
|
||||
cd_text-55x47.xpm\
|
||||
cd_text.svg\
|
||||
cddb-60x25.xcf\
|
||||
cddb-60x25.xpm\
|
||||
chain.png\
|
||||
chain.xpm\
|
||||
checkmark.xpm\
|
||||
|
290
icons/cd-text-55x47.xpm
Normal file
290
icons/cd-text-55x47.xpm
Normal file
@ -0,0 +1,290 @@
|
||||
/* XPM */
|
||||
static const char * cd_text_55x47_xpm[] = {
|
||||
"55 47 240 2",
|
||||
" c None",
|
||||
". c #FFFFFF",
|
||||
"+ c #C5C5C5",
|
||||
"@ c #666666",
|
||||
"# c #A4A4A4",
|
||||
"$ c #DEDEDE",
|
||||
"% c #616161",
|
||||
"& c #484848",
|
||||
"* c #575757",
|
||||
"= c #B8B8B8",
|
||||
"- c #DADADA",
|
||||
"; c #5F5F5F",
|
||||
"> c #585858",
|
||||
", c #BEBEBE",
|
||||
"' c #B2B2B2",
|
||||
") c #C3C3C3",
|
||||
"! c #C0C0C0",
|
||||
"~ c #B5B5B5",
|
||||
"{ c #AFAFAF",
|
||||
"] c #7F7F7F",
|
||||
"^ c #E6E6E6",
|
||||
"/ c #E1E1E1",
|
||||
"( c #888888",
|
||||
"_ c #B7B7B7",
|
||||
": c #626262",
|
||||
"< c #4C4C4C",
|
||||
"[ c #5C5C5C",
|
||||
"} c #999999",
|
||||
"| c #7D7D7D",
|
||||
"1 c #131313",
|
||||
"2 c #8B8B8B",
|
||||
"3 c #1D1D1D",
|
||||
"4 c #979797",
|
||||
"5 c #464646",
|
||||
"6 c #414141",
|
||||
"7 c #818181",
|
||||
"8 c #222222",
|
||||
"9 c #989898",
|
||||
"0 c #404040",
|
||||
"a c #070707",
|
||||
"b c #565656",
|
||||
"c c #505050",
|
||||
"d c #838383",
|
||||
"e c #7A7A7A",
|
||||
"f c #2C2C2C",
|
||||
"g c #1B1B1B",
|
||||
"h c #919191",
|
||||
"i c #171717",
|
||||
"j c #080808",
|
||||
"k c #F5F5F5",
|
||||
"l c #424242",
|
||||
"m c #474747",
|
||||
"n c #777777",
|
||||
"o c #000000",
|
||||
"p c #5E5E5E",
|
||||
"q c #DFDFDF",
|
||||
"r c #B4B4B4",
|
||||
"s c #E9E9E9",
|
||||
"t c #0F0F0F",
|
||||
"u c #828282",
|
||||
"v c #454545",
|
||||
"w c #F0F0F0",
|
||||
"x c #E4E4E4",
|
||||
"y c #787878",
|
||||
"z c #4E4E4E",
|
||||
"A c #848484",
|
||||
"B c #444444",
|
||||
"C c #161616",
|
||||
"D c #151515",
|
||||
"E c #4D4D4D",
|
||||
"F c #EAEAEA",
|
||||
"G c #3F3F3F",
|
||||
"H c #B3B3B3",
|
||||
"I c #393939",
|
||||
"J c #8E8E8E",
|
||||
"K c #EEEEEE",
|
||||
"L c #E3E3E3",
|
||||
"M c #E8E8E8",
|
||||
"N c #868686",
|
||||
"O c #3D3D3D",
|
||||
"P c #8A8A8A",
|
||||
"Q c #7C7C7C",
|
||||
"R c #4A4A4A",
|
||||
"S c #5B5B5B",
|
||||
"T c #494949",
|
||||
"U c #010101",
|
||||
"V c #121212",
|
||||
"W c #ABABAB",
|
||||
"X c #1F1F1F",
|
||||
"Y c #696969",
|
||||
"Z c #3C3C3C",
|
||||
"` c #878787",
|
||||
" . c #B6B6B6",
|
||||
".. c #A8A8A8",
|
||||
"+. c #181818",
|
||||
"@. c #050505",
|
||||
"#. c #606060",
|
||||
"$. c #9F9F9F",
|
||||
"%. c #040404",
|
||||
"&. c #6A6A6A",
|
||||
"*. c #AEAEAE",
|
||||
"=. c #F6F6F6",
|
||||
"-. c #1A1A1A",
|
||||
";. c #DDDDDD",
|
||||
">. c #9B9B9B",
|
||||
",. c #CCCCCC",
|
||||
"'. c #D9D9D9",
|
||||
"). c #FDFDFD",
|
||||
"!. c #FEFEFE",
|
||||
"~. c #E7E7E7",
|
||||
"{. c #FBFBFB",
|
||||
"]. c #EFEFEF",
|
||||
"^. c #EDEDED",
|
||||
"/. c #FAFAFA",
|
||||
"(. c #FCFCFC",
|
||||
"_. c #B1B1B1",
|
||||
":. c #757575",
|
||||
"<. c #141414",
|
||||
"[. c #EBEBEB",
|
||||
"}. c #DCDCDC",
|
||||
"|. c #D3D3D3",
|
||||
"1. c #BFBFBF",
|
||||
"2. c #CACACA",
|
||||
"3. c #2E2E2E",
|
||||
"4. c #7E7E7E",
|
||||
"5. c #9C9C9C",
|
||||
"6. c #030303",
|
||||
"7. c #292929",
|
||||
"8. c #555555",
|
||||
"9. c #808080",
|
||||
"0. c #202020",
|
||||
"a. c #797979",
|
||||
"b. c #C6C6C6",
|
||||
"c. c #020202",
|
||||
"d. c #D2D2D2",
|
||||
"e. c #F2F2F2",
|
||||
"f. c #4F4F4F",
|
||||
"g. c #E5E5E5",
|
||||
"h. c #111111",
|
||||
"i. c #D8D8D8",
|
||||
"j. c #0E0E0E",
|
||||
"k. c #F8F8F8",
|
||||
"l. c #969696",
|
||||
"m. c #313131",
|
||||
"n. c #A9A9A9",
|
||||
"o. c #ECECEC",
|
||||
"p. c #A3A3A3",
|
||||
"q. c #545454",
|
||||
"r. c #ACACAC",
|
||||
"s. c #C9C9C9",
|
||||
"t. c #383838",
|
||||
"u. c #252525",
|
||||
"v. c #909090",
|
||||
"w. c #676767",
|
||||
"x. c #363636",
|
||||
"y. c #898989",
|
||||
"z. c #BDBDBD",
|
||||
"A. c #9D9D9D",
|
||||
"B. c #5A5A5A",
|
||||
"C. c #8D8D8D",
|
||||
"D. c #595959",
|
||||
"E. c #333333",
|
||||
"F. c #2F2F2F",
|
||||
"G. c #060606",
|
||||
"H. c #F3F3F3",
|
||||
"I. c #9E9E9E",
|
||||
"J. c #F1F1F1",
|
||||
"K. c #212121",
|
||||
"L. c #959595",
|
||||
"M. c #BABABA",
|
||||
"N. c #BBBBBB",
|
||||
"O. c #C7C7C7",
|
||||
"P. c #F4F4F4",
|
||||
"Q. c #2A2A2A",
|
||||
"R. c #CBCBCB",
|
||||
"S. c #F7F7F7",
|
||||
"T. c #707070",
|
||||
"U. c #303030",
|
||||
"V. c #E0E0E0",
|
||||
"W. c #A0A0A0",
|
||||
"X. c #BCBCBC",
|
||||
"Y. c #D7D7D7",
|
||||
"Z. c #515151",
|
||||
"`. c #3E3E3E",
|
||||
" + c #AAAAAA",
|
||||
".+ c #B0B0B0",
|
||||
"++ c #737373",
|
||||
"@+ c #5D5D5D",
|
||||
"#+ c #DBDBDB",
|
||||
"$+ c #0D0D0D",
|
||||
"%+ c #CFCFCF",
|
||||
"&+ c #3A3A3A",
|
||||
"*+ c #CECECE",
|
||||
"=+ c #191919",
|
||||
"-+ c #0C0C0C",
|
||||
";+ c #6C6C6C",
|
||||
">+ c #323232",
|
||||
",+ c #262626",
|
||||
"'+ c #9A9A9A",
|
||||
")+ c #343434",
|
||||
"!+ c #2B2B2B",
|
||||
"~+ c #232323",
|
||||
"{+ c #D0D0D0",
|
||||
"]+ c #CDCDCD",
|
||||
"^+ c #272727",
|
||||
"/+ c #F9F9F9",
|
||||
"(+ c #101010",
|
||||
"_+ c #1C1C1C",
|
||||
":+ c #D5D5D5",
|
||||
"<+ c #353535",
|
||||
"[+ c #0A0A0A",
|
||||
"}+ c #3B3B3B",
|
||||
"|+ c #525252",
|
||||
"1+ c #717171",
|
||||
"2+ c #A5A5A5",
|
||||
"3+ c #6F6F6F",
|
||||
"4+ c #D1D1D1",
|
||||
"5+ c #6E6E6E",
|
||||
"6+ c #4B4B4B",
|
||||
"7+ c #E2E2E2",
|
||||
"8+ c #636363",
|
||||
"9+ c #646464",
|
||||
"0+ c #686868",
|
||||
"a+ c #C1C1C1",
|
||||
"b+ c #C8C8C8",
|
||||
"c+ c #D4D4D4",
|
||||
"d+ c #858585",
|
||||
"e+ c #434343",
|
||||
"f+ c #0B0B0B",
|
||||
"g+ c #090909",
|
||||
"h+ c #939393",
|
||||
"i+ c #C4C4C4",
|
||||
"j+ c #535353",
|
||||
"k+ c #A2A2A2",
|
||||
"l+ c #ADADAD",
|
||||
"m+ c #7B7B7B",
|
||||
"n+ c #D6D6D6",
|
||||
"o+ c #6D6D6D",
|
||||
"p+ c #A6A6A6",
|
||||
"q+ c #767676",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . + @ @ @ @ # . $ % & * = - ; & > , ' @ ) . ! @ ~ { @ @ ] ^ / @ ( . _ * & % ! : : : $ . . . ",
|
||||
". . . . . . . . . . < [ } } | 1 . 2 3 4 5 6 7 8 9 0 < ] a b . c a d e f 7 g 7 h i j k l m 4 3 n [ o p q . . . ",
|
||||
". . . . . . . . . . & r . . s t . u v . w x y z . A 6 ] B C ^ D 0 d e E F G e m d g H I J . ^ K L o M . . . . ",
|
||||
". . . . . . . . . . & r . . s t . N O . r P Q m . | v ] z * R S T d e U o V W j T X Y Z ` . ( .L o M . . . . ",
|
||||
". . . . . . . . . . & ~ . . F t . ..U +.@.#.$.U +.%.&.] z *.o ' T d e < =.. H -.;.>.X ; @.+.U ..L o M . . . . ",
|
||||
". . . . . . . . . . & .. . F t . . ^ ,.'.).. x ,.- !.K ~.{.;.{.~.].^.M . . ].^ . /.;.{.'.,.^ . (.q ).. . . . ",
|
||||
". . . . _.Q n n n :.<.! . . [.t . }.e n n n ... . . .Q n n n n n n n n |.. . . 1.] n n n n n n d 2.. . . . . ",
|
||||
". . . p 3.4.( ( ( ( 5.).. . [.t . @ l ( ( y 6./.. &.7.Q ( ( ( ( ( ( ( c 8.. . 9.0.a.( ( ( ( ( ( :.+.9 . . . . ",
|
||||
". . b.8 =.. . . . . . . . . [.t . #.>.. . . c.=.d.-.e.. . . . . . . . W f.. g.h.M . . . . . . . . i.j.k.. . . ",
|
||||
". . l.% . . . i.m m.n.. . . o.t . #.>.. . . c.=.p.q.. . . . . . . . . r.c . = G . . . s.t.6 i.. . . u.d.. . . ",
|
||||
". . v.w.. . . x.y.z.<./ . . o.t . #.>.. . . c.=.A.B.. . (.C.> 8.D.@ @ E.; . ' v . . . F.4 9.T . . . f ,.. . . ",
|
||||
". . v.w.. . . G.H.. 5 r . . o.t . #.5.. . . 6.=.A.B.. . $.m.9 } } } } I.[.. ' v . . . j J.i.K.. . . f ,.. . . ",
|
||||
". . v.w.. . . %.k . & ' . . o.t . #.5.. . . 6.=.A.B.. . L.0 M.N.N.N.O.P.. . ' v . . . G.P.'.0.. . . Q.R.. . . ",
|
||||
". . v.w.. . . %.k . & ' . . ^.t . #.5.. . . %.=.A.B.. . S.T.B B B t.f C _ . ' v . . . G.P.s a U.E.m.@.V.. . . ",
|
||||
". . v.w.. . . %.k . & ' . . ^.t . #.5.. . . %.=.W.* . . . . . . . . . X.D J.' v . . . G.P.. - N.N.N.Y.. . . . ",
|
||||
". . v.w.. . . %.k . & ' . . ^.t . #.A.. . . @.=.2.8 k.. . . . . . . . . t., ' v . . . G.P.. . . . . . . . . . ",
|
||||
". . v.w.. . . %.k . & ' . . K t . #.A.. . . @.=.. Z.`.>. + + +W / . . . 5 .+' v . . . G.P.).y 8.8.8.++{.. . . ",
|
||||
". . v.w.. . . %.k . & ' . . K t . #.A.. . . G.=.. (.} @+8.8.8.f.<./ . . 5 _.' v . . . G.P.#+$+l.} 4 V %+. . . ",
|
||||
". . v.w.. . . %.k . & ' . . K t . #.I.. . . G.=.. . . . . . . (.&+_.. . v _.' v . . . G.P.'.K.. . . f ,.. . . ",
|
||||
". . v.w.. . . t ^ . t., . . ].t . #.I.. . . a =.*+=+h.h.h.h.h.-+Z k . . v ' ' v . . . t x 2.7.. . . f ,.. . . ",
|
||||
". . v.w.. . . ;+>+q.,+=.. . ].t . #.I.. . . a =.'+T K K K K K e.. . . . B H ' v . . . [ 6 )+n . . . !+,.. . . ",
|
||||
". . W & . . . !.*.9 ].. . . w t . #.I.. . . j =.'+@+. . . . . . . . . !.~+{+]+^+!.. . /+$...).. . /.(+M . . . ",
|
||||
". . w _+h s K K K K K K K K :+t . #.y.K K ^ @.=.'+R K K K K K K K K V.T.<+(.{.m.n x K K K K K K / % & . . . . ",
|
||||
". . . :+B [+o o o o o o o o o Z.. A.@.o o o }+. %+V o o o o o o o o 1 D.~.. . L |+j.o o o o o o V ; ^.. . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . o.n n 4.' ^.1+k y.@+p v.].1+%+1+1+1+~.2+@ + . W.~ . . . . 2+@ b.!.n / . ] i.7 n e A.{.y ;.A.#.[ 9./.. . . ",
|
||||
". . }.o 3+c c.:+o 4+o :.5+o 4+o 1.6+o q.7+3.C 8+. |+a.. . . . 3.C 9+).o O.. t .1 b 0+U a+[+a+%.% 7 o R.. . . ",
|
||||
". . }.o K ;.o 2.o b+o ^. +W.i.o M '.o e.L U 9 =+!.|+a.. . . L U 9 =+(.o O.. t .1 = . 1 ' [+X.o ,.. G.! . . . ",
|
||||
". . }.o K c+o ]+o R.o ^ d+e+,.o M '.o e.} f+[ o *+|+y {.!.. 9 f+[ o %+%.! !.g+X.1 = ).$+ .[+1.o O.(.6.) . . . ",
|
||||
". . }.o V G.g #+o ;.j g +.$+- o M '.o e.f.T.;.e+A |+o o h+. z 1+;.e+d+0.1 K.c.Y.1 j.g+g+i.[+a+=+<.X 6.$ . . . ",
|
||||
". . k.,.,.}././+{+(.M ) i+F /.{+{./+{+).7+H.. o.s q %+%+[.. 7+H.. o.s w b.a+7+. {+,.Y.P.. |.P.].+ a+x . . . . ",
|
||||
". . . b+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +,.. . . . ",
|
||||
". . } D q.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.j+1 k+. . . ",
|
||||
". . R p.. . . . . . . . . . . . o.i+i+i+i+x R.i+i+i+s q . . . #+d.i+i+i+i+. . . . . . . . . . . . . '+j+. . . ",
|
||||
". . v l+. . . . . . . . . . . . $ 4 n 9+4 %+q.4 4 4 V.&.Y.. J .+{ 4 e+4 4 !.. . . . . . . . . . . . # z . . . ",
|
||||
". . v l+. . . . . . . . . . . . . . b+... . m+. . . . P.* X.9.. . . 1+. . . . . . . . . . . . . . . # z . . . ",
|
||||
". . v l+. . . . . . . . . . . . . . b+... . `.[ [ [ ~.. # =+e.. . . 1+. . . . . . . . . . . . . . . # z . . . ",
|
||||
". . v l+. . . . . . . . . . . . . . b+... . m+. . . . ^.[ n+T.. . . 1+. . . . . . . . . . . . . . . # z . . . ",
|
||||
". . v l+. . . . . . . . . . . . . . b+... . o+'.'.'.e.B.V.. p+W.. . 1+. . . . . . . . . . . . . . . # z . . . ",
|
||||
". . v l+. . . . . . . . . . . . . . g.:+. . v.u u u z.+ . . . ..).. M.. . . . . . . . . . . . . . . # z . . . ",
|
||||
". . o+& + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +n.6 q+. . . ",
|
||||
". . ].T.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 B B B B B B B B v ++e.. . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
|
47
icons/cd-text.svg
Normal file
47
icons/cd-text.svg
Normal file
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Creator: CorelDRAW -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="4.619in" height="3.854in" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 4.619 3.854" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.fil0 {fill:black}
|
||||
]]>
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Layer_x0020_1">
|
||||
<metadata id="CorelCorpID_0Corel-Layer"/>
|
||||
<g id="_57672680">
|
||||
<path id="_57718848" class="fil0" d="M3.94838 2.90459l-3.37499 0 -0.381909 0c-0.0919213,0 -0.166701,0.0747953 -0.166701,0.16672l0 0.591043c0,0.0445315 0.0173425,0.0863976 0.0488346,0.11789 0.0314882,0.0314882 0.0733465,0.0488307 0.117866,0.0488307l4.23604 -3.93701e-006c0.0445236,0 0.086378,-0.0173386 0.117866,-0.0488268 0.0314921,-0.0314921 0.0488346,-0.0733543 0.0488346,-0.117886l0 -0.591047c0,-0.0445315 -0.0173425,-0.0863937 -0.0488346,-0.117886 -0.0314882,-0.0314882 -0.0733465,-0.0488307 -0.117866,-0.0488307l-0.479134 -3.93701e-006 0 0.0972244 0.479134 0c0.0185512,0 0.0359921,0.00722835 0.0491181,0.0203583 0.0131299,0.013126 0.0203583,0.0305787 0.0203583,0.0491378l3.93701e-006 0.591043c0,0.0383228 -0.0311732,0.0694961 -0.0694803,0.0694961l-4.23604 0c-0.0185512,0 -0.0359961,-0.00722441 -0.049122,-0.0203504 -0.013126,-0.0131299 -0.0203583,-0.0305787 -0.0203583,-0.0491417l0 -0.591047c0,-0.018563 0.00723228,-0.0360118 0.0203583,-0.0491378 0.013126,-0.0131299 0.0305709,-0.0203543 0.049122,-0.0203543l0.381909 -3.93701e-006 3.37499 0 0 -0.0972244z"/>
|
||||
<path id="_58508176" class="fil0" d="M4.09237 0.309791c-0.000330709,0.0127835 -0.000751969,0.0232953 -0.00117717,0.0270591 -0.00327559,0.028811 0,0.0424409 -0.0830945,0.0424409 -0.0830827,-3.93701e-006 -0.079811,-0.013626 -0.0830866,-0.0424409 -0.00106693,-0.00938189 -0.00205512,-0.0606969 -0.00195276,-0.0847008 0.000102362,-0.0240118 0.000885827,-0.0753228 0.00195276,-0.0847008 0.00327559,-0.0288228 0,-0.0424449 0.0830866,-0.0424449 0.0830945,0 0.079815,0.013626 0.0830945,0.0424449 0.000444882,0.00392913 0.00084252,0.0152362 0.00116142,0.0288031l0.113665 -3.93701e-006c-0.000728346,-0.0257559 -0.00194882,-0.0472835 -0.00322047,-0.0585 -0.00655512,-0.0576378 0.0161496,-0.112827 -0.194567,-0.112827 -0.210717,0 -0.188016,0.0551929 -0.194567,0.112827 -0.00212992,0.0187638 -0.00411024,0.0663858 -0.00390551,0.114402 0.000208661,0.0480079 0.00177165,0.0956339 0.00390551,0.114398 0.00655512,0.0576339 -0.0161535,0.112827 0.194567,0.112827 0.21072,0 0.188012,-0.055189 0.194567,-0.112827 0.00124803,-0.0109646 0.00229528,-0.0317717 0.00299606,-0.0567559l-0.113425 0z"/>
|
||||
<polygon id="_57069896" class="fil0" points="2.7446,0.0364488 2.6337,0.360437 2.52278,0.0364488 2.35687,0.0355787 2.35687,0.470472 2.46778,0.470472 2.46778,0.14648 2.57867,0.470472 2.68959,0.470472 2.79962,0.14648 2.79962,0.470472 2.91052,0.470472 2.91052,0.0355787 "/>
|
||||
<polygon id="_56712032" class="fil0" points="4.23092,0.0355787 4.54967,0.0355787 4.54967,0.14648 4.44574,0.14648 4.44574,0.470472 4.33484,0.470472 4.33484,0.14648 4.23092,0.14648 "/>
|
||||
<polygon id="_58293864" class="fil0" points="3.37598,0.470472 3.50319,0.0351457 3.66853,0.0351457 3.79602,0.470472 3.68513,0.470472 3.65893,0.38052 3.5134,0.38052 3.53402,0.309791 3.63796,0.309791 3.58644,0.132508 3.48688,0.470472 "/>
|
||||
<path id="_57704664" class="fil0" d="M2.08978 0.125004c0.0830906,0 0.079811,0.013626 0.0830906,0.0424449 0.00106299,0.00937795 0.00184646,0.060689 0.00195276,0.0847008 9.84252e-005,0.0240039 -0.000889764,0.0753189 -0.00195276,0.0847008 -0.00327559,0.028811 0,0.0424409 -0.0830906,0.0424409 -0.0830906,-3.93701e-006 -0.079815,-0.013626 -0.0830906,-0.0424409 -0.00106693,-0.00938189 -0.00205512,-0.0606969 -0.00195276,-0.0847008 0.000102362,-0.0240118 0.000885827,-0.0753228 0.00195276,-0.0847008 0.00327559,-0.0288228 0,-0.0424449 0.0830906,-0.0424449l0.000129921 -0.100083c-0.21072,0 -0.188016,0.0551929 -0.194567,0.112827 -0.00213386,0.0187638 -0.00411024,0.0663858 -0.00390551,0.114402 0.000204724,0.0480079 0.00177165,0.0956339 0.00390551,0.114398 0.00655118,0.0576339 -0.0161535,0.112827 0.194567,0.112827 0.21072,0 0.188012,-0.055189 0.194567,-0.112827 0.00212992,-0.0187638 0.00369685,-0.0663858 0.00390157,-0.114398 0.000204724,-0.0480197 -0.00177165,-0.0956378 -0.00390157,-0.114402 -0.00655512,-0.0576378 0.0161496,-0.112827 -0.194567,-0.112827l-0.000129921 0.100083z"/>
|
||||
<path id="_57094768" class="fil0" d="M1.71532 0.309791c-0.000334646,0.0127835 -0.000748031,0.0232953 -0.00117717,0.0270591 -0.00327559,0.028811 0,0.0424409 -0.0830945,0.0424409 -0.0830866,-3.93701e-006 -0.079811,-0.013626 -0.0830906,-0.0424409 -0.00106299,-0.00938189 -0.00205118,-0.0606969 -0.00194882,-0.0847008 0.000102362,-0.0240118 0.000885827,-0.0753228 0.00194882,-0.0847008 0.00327953,-0.0288228 0,-0.0424449 0.0830906,-0.0424449 0.0830945,0 0.079815,0.013626 0.0830945,0.0424449 0.000448819,0.00392913 0.00084252,0.0152362 0.00116142,0.0288031l0.113665 -3.93701e-006c-0.000728346,-0.0257559 -0.00194882,-0.0472835 -0.00322441,-0.0585 -0.00655118,-0.0576378 0.0161535,-0.112827 -0.194563,-0.112827 -0.210717,0 -0.188016,0.0551929 -0.194567,0.112827 -0.00213386,0.0187638 -0.00411024,0.0663858 -0.00390157,0.114402 0.000200787,0.0480079 0.00176772,0.0956339 0.00390157,0.114398 0.00655118,0.0576339 -0.0161535,0.112827 0.194567,0.112827 0.210717,0 0.188012,-0.055189 0.194563,-0.112827 0.00124803,-0.0109646 0.00229921,-0.0317717 0.003,-0.0567559l-0.113425 0z"/>
|
||||
<path id="_57649192" class="fil0" d="M3.18056 0.371012l-0.0672953 -3.93701e-005 0 -0.0992008 0.0672795 -0.000405512c0.0830866,0 0.0805079,-0.013622 0.0837835,-0.0424409 0.00107087,-0.00938583 0.000846457,-0.00167323 0.000744094,-0.0256811 -9.84252e-005,-0.0240079 0.000322835,-0.0157638 -0.000744094,-0.0251457 -0.00327165,-0.028815 -0.00069685,-0.0424449 -0.0837874,-0.0424449l-0.067311 0.000177165 0.000114173 0.334205 -0.111126 0 0 -0.434457 0.178343 -3.93701e-006c0.210713,0 0.187618,0.0553425 0.195374,0.112827 0.00092126,0.00681102 0.000917323,0.038252 0.000917323,0.0551969 3.93701e-006,0.0136142 0,0.0450551 -0.000917323,0.0550236 -0.0053189,0.0577677 0.0153386,0.11239 -0.195374,0.11239z"/>
|
||||
<path id="_58296408" class="fil0" d="M4.35506 2.42522c0.0830906,0 0.079815,0.013622 0.0830906,0.0424409 0.00106693,0.00937795 0.00184646,0.0606929 0.00194882,0.0847008 0.000106299,0.0240039 -0.00088189,0.0753189 -0.00194882,0.0847008 -0.00327559,0.0288189 0,0.0424409 -0.0830945,0.0424409 -0.0830866,0 -0.079811,-0.013622 -0.0830906,-0.0424409 -0.00106299,-0.00938189 -0.00205118,-0.0606929 -0.00194882,-0.0847008 0.000106299,-0.0240079 0.000885827,-0.0753189 0.00194882,-0.0847008 0.00327953,-0.0288189 0,-0.0424409 0.0830906,-0.0424409l0.000133858 -0.100087c-0.210717,0 -0.188016,0.0551929 -0.194567,0.112827 -0.00213386,0.0187638 -0.00411024,0.0663858 -0.00390157,0.114402 0.000204724,0.0480118 0.00176772,0.0956378 0.00390157,0.114398 0.00655118,0.0576339 -0.0161496,0.112827 0.194567,0.112827 0.210717,-3.93701e-006 0.188012,-0.055189 0.194563,-0.112827 0.00213386,-0.0187598 0.00370079,-0.0663858 0.00390157,-0.114398 0.000208661,-0.0480157 -0.00176772,-0.0956378 -0.00390157,-0.114402 -0.00655118,-0.0576339 0.0161535,-0.112823 -0.194563,-0.112823l-0.000129921 0.100083z"/>
|
||||
<polygon id="_58327216" class="fil0" points="2.59974,2.76647 2.72694,2.33114 2.89228,2.33114 3.01978,2.76647 2.90887,2.76647 2.88268,2.67652 2.73715,2.67652 2.75777,2.60579 2.86172,2.60579 2.81019,2.4285 2.71063,2.76647 "/>
|
||||
<polygon id="_57116472" class="fil0" points="1.67554,2.76647 1.80275,2.33114 1.96809,2.33114 2.09558,2.76647 1.98468,2.76647 1.95848,2.67652 1.81296,2.67652 1.83358,2.60579 1.93753,2.60579 1.886,2.4285 1.78644,2.76647 "/>
|
||||
<polygon id="_58044672" class="fil0" points="0.653559,2.33579 0.653559,2.77068 0.54265,2.77068 0.54265,2.33579 "/>
|
||||
<polygon id="_57661776" class="fil0" points="1.30239,2.33579 1.30239,2.77068 1.19148,2.77068 1.19148,2.33579 "/>
|
||||
<polygon id="_59329400" class="fil0" points="1.36133,2.33579 1.68009,2.33579 1.68009,2.44669 1.57616,2.44669 1.57616,2.77068 1.46526,2.77068 1.46526,2.44669 1.36133,2.44669 "/>
|
||||
<polygon id="_59330448" class="fil0" points="2.26693,2.66065 2.26693,2.33579 2.15602,2.33579 2.15602,2.77111 2.44245,2.77111 2.44245,2.66065 "/>
|
||||
<polygon id="_59217328" class="fil0" points="4.08988,2.33579 4.08988,2.77068 3.97898,2.77068 3.97898,2.33579 "/>
|
||||
<path id="_59218232" class="fil0" d="M3.65281 2.33605l0.0602598 0c0.210717,0 0.188008,0.0554488 0.194563,0.113087 0.00213386,0.0187638 0.0041063,0.0524094 0.00390157,0.100425 -0.000200787,0.0480118 -0.00177165,0.0895315 -0.00390157,0.108295 -0.00655118,0.0576339 0.0161496,0.112827 -0.194567,0.112827l-0.193433 -3.93701e-006 0 -0.43463 0.133177 0 -0.00174409 0.0999449 -0.0200827 -0.000133858 0 0.235618 0.0819528 -0.000885827c0.0830945,0 0.079815,-0.0136181 0.0830906,-0.042437 0.00107087,-0.00938189 0.00205512,-0.0545866 0.00195276,-0.0785945 -0.000102362,-0.0240118 -0.000885827,-0.0613465 -0.00195276,-0.0707283 -0.00327559,-0.0288189 0,-0.0424409 -0.0830906,-0.0424409l-0.0618701 -0.000397638 0.00174409 -0.0999449z"/>
|
||||
<path id="_59219920" class="fil0" d="M3.44683 2.55236l-0.00011811 -0.216575 -0.113319 0 0 0.216575c0.000102362,0.0240039 -0.000885827,0.0753189 -0.00195276,0.0847008 -0.00327559,0.0288189 0,0.0424409 -0.0830906,0.0424409 -0.0830906,0 -0.079815,-0.013622 -0.0830906,-0.0424409 -0.00106693,-0.00938189 -0.00188583,-0.0606929 -0.00178346,-0.0847008l0.000165354 -0.216571 -0.11363 0 0 0.216571c0.000204724,0.0480118 0.00176772,0.0956378 0.00390157,0.114398 0.00655512,0.0576339 -0.0161535,0.112827 0.194567,0.112827 0.210717,-3.93701e-006 0.188012,-0.055189 0.194567,-0.112827 0.00212992,-0.0187598 0.00357874,-0.0663858 0.00378346,-0.114398z"/>
|
||||
<path id="_59221088" class="fil0" d="M1.00649 2.61c-0.000334646,0.0127835 -0.000748031,0.0232953 -0.00117717,0.0270551 -0.00327559,0.0288189 0,0.0424409 -0.0830906,0.0424409 -0.0830906,0 -0.079815,-0.013622 -0.0830945,-0.0424409 -0.00106299,-0.00938189 -0.00205118,-0.0606929 -0.00194882,-0.0847008 0.000102362,-0.0240079 0.000885827,-0.0753189 0.00194882,-0.0847008 0.00327953,-0.0288189 0,-0.0424409 0.0830945,-0.0424409 0.0830906,0 0.079811,0.013622 0.0830906,0.0424409 0.000448819,0.00392913 0.00084252,0.00125984 0.00116142,0.0148307l0.113665 0c-0.000732283,-0.0257638 -0.00194882,-0.033315 -0.00322441,-0.0445315 -0.00655118,-0.0576339 0.0161535,-0.112823 -0.194567,-0.112823 -0.210717,-3.93701e-006 -0.188012,0.055189 -0.194563,0.112823 -0.00213386,0.0187638 -0.0041063,0.0663858 -0.00390157,0.114402 0.000204724,0.0480118 0.00176772,0.0956378 0.00390157,0.114398 0.00655118,0.0576339 -0.0161535,0.112827 0.194563,0.112827 0.21072,-3.93701e-006 0.188016,-0.055189 0.194567,-0.112827 0.00124409,-0.0109606 0.00229921,-0.0317677 0.003,-0.056752l-0.113425 0z"/>
|
||||
<polygon id="_59222240" class="fil0" points="0.922083,2.54014 0.922083,2.61 1.11991,2.61 1.11991,2.54014 "/>
|
||||
<path id="_59224136" class="fil0" d="M0.212984 2.33605l0.060252 0c0.21072,0 0.188016,0.0554488 0.194567,0.113087 0.00213386,0.0187638 0.00411024,0.0524094 0.00390157,0.100425 -0.000200787,0.0480118 -0.00176772,0.0895315 -0.00390157,0.108295 -0.00655118,0.0576339 0.0161535,0.112827 -0.194567,0.112827l-0.193433 -3.93701e-006 0 -0.43463 0.133181 0 -0.00174803 0.0999449 -0.0200866 -0.000133858 0 0.235618 0.0819606 -0.000885827c0.0830866,0 0.079811,-0.0136181 0.0830866,-0.042437 0.00107087,-0.00938189 0.00205512,-0.0545866 0.00195276,-0.0785945 -9.84252e-005,-0.0240118 -0.00088189,-0.0613465 -0.00195276,-0.0707283 -0.00327165,-0.0288189 0,-0.0424409 -0.0830866,-0.0424409l-0.061874 -0.000397638 0.00174803 -0.0999449z"/>
|
||||
<path id="_59225576" class="fil0" d="M1.02375 2.10803l-0.694197 -0.000811024c-0.100445,0 -0.181866,-0.0814291 -0.181866,-0.181862l0 -1.05667c0,-0.100449 0.0814173,-0.181862 0.181866,-0.181862l0.434472 -0.000492126c0.0521732,0 0.0944803,-0.0422913 0.0944803,-0.0944803l0.00127165 -0.422484c0,-0.0218661 0.0177323,-0.0395945 0.0395984,-0.0395945l0.254705 -3.93701e-006c0.0218661,0 0.0396102,0.0177323 0.0396102,0.0396024l0.00261417 1.8992c0,0.0218701 -0.0177323,0.0396181 -0.0395984,0.0396181l-0.132957 -0.00015748 -0.00323228 0.0943622 0.173732 -5.11811e-005c0.0521732,0 0.0944803,-0.0422913 0.0944803,-0.0944803l0 -1.97884c0,-0.0521732 -0.0423071,-0.0944685 -0.0944803,-0.0944685l-0.334165 -3.93701e-006c-0.0521732,0 -0.0944803,0.0422992 -0.0944803,0.0944724l0.000476378 0.423543c0,0.0218701 -0.0177323,0.0396142 -0.0396142,0.0396142l-0.396913 -0.000724409c-0.153122,0 -0.277256,0.124114 -0.277256,0.27724l0 1.05666c0,0.15311 0.124134,0.277244 0.277256,0.277244l0.690965 -0.000204724 0.00323228 -0.0943622z"/>
|
||||
<path id="_59227312" class="fil0" d="M0.765594 1.71909l0 -0.68361c0,-0.0572913 -0.0464488,-0.103732 -0.103748,-0.103732 -0.0572874,0 -0.103732,0.0464449 -0.103732,0.103732l3.93701e-006 0.737925c0,0.0572835 0.0464409,0.103748 0.103728,0.103748 0.0572992,-3.93701e-006 0.103744,-0.0464606 0.103744,-0.103748l3.93701e-006 -0.054315 0.0942992 0.00323228 0 0.0510827c0,0.109362 -0.0886732,0.198035 -0.198047,0.198035 -0.109362,-3.93701e-006 -0.198031,-0.0886693 -0.198031,-0.198035l3.93701e-006 -0.737925c0,-0.109366 0.0886654,-0.198031 0.198028,-0.198031 0.109374,0 0.198047,0.0886693 0.198047,0.198031l0 0.686843 -0.0942992 -0.00323228z"/>
|
||||
<path id="_59229240" class="fil0" d="M1.68356 2.10802l-0.129925 7.87402e-006c-0.0218819,0 -0.0396142,-0.017748 -0.0396142,-0.0396142l0.00159449 -1.34114c0,-0.0218819 0.0177283,-0.0396102 0.0396102,-0.0396102l0.254705 -3.93701e-006c0.0218819,0 0.0396142,0.0177323 0.0396142,0.0396142l0.00261024 1.34113c0,0.021878 -0.0177323,0.0396102 -0.0395984,0.0396102l-0.128996 7.87402e-006 0 0.0939803 0.166543 0.000173228c0.052185,0 0.0944764,-0.0422913 0.0944764,-0.0944646l3.93701e-006 -1.42079c0,-0.0521772 -0.0422953,-0.0944803 -0.0944843,-0.0944803l-0.334177 0c-0.0521732,0 -0.0944685,0.0423071 -0.0944685,0.0944803l-0.00019685 1.42042c0,0.052185 0.0419764,0.0944803 0.0941457,0.0944803l0.168157 0.000177165 0 -0.0939803z"/>
|
||||
<path id="_59230816" class="fil0" d="M2.88351 0.951547l-0.279823 -0.000385827c-0.0860945,0 -0.155909,0.0698268 -0.155909,0.155925 0,0.0861063 0.069811,0.155917 0.155909,0.155917l0.383378 0.00104331c0.100433,0 0.181862,0.0814331 0.181862,0.18187l-0.0012874 0.477268c0,0.100449 -0.0814291,0.18187 -0.181866,0.18187l-0.761024 0.00137795c-0.0218661,0 -0.0396142,-0.0177441 -0.0396142,-0.0396063l3.93701e-006 -0.184843c0,-0.0218858 0.0177441,-0.0396142 0.0396102,-0.0396142l0.518661 -0.00169291c0.0861142,0 0.155929,-0.0698031 0.155929,-0.155917 3.93701e-006,-0.0861102 -0.0698189,-0.155917 -0.155929,-0.155917l-0.3755 -0.00148031c-0.100437,0 -0.181866,-0.0814331 -0.181866,-0.181866l0 -0.476811c0,-0.100449 0.0814291,-0.181862 0.181866,-0.181862l0.705445 -0.00329921c0.0218661,0 0.0395945,0.017748 0.0395945,0.0396142l1.9685e-005 0.189055c0,0.0218701 -0.0177323,0.0396142 -0.0396142,0.0396142l-0.189846 -0.000259843 -0.00323622 0.0929567 0.232024 6.69291e-005c0.0521732,0 0.0944803,-0.0419724 0.0944803,-0.0941417l0.000354331 -0.264839c0,-0.052185 -0.0422992,-0.0944803 -0.0944843,-0.0944803l-0.744736 0.000338583c-0.15311,0 -0.27724,0.124114 -0.27724,0.27724l0 0.476807c0,0.153106 0.124126,0.27724 0.27724,0.27724l0.3755 -0.000645669c0.034626,0 0.0626811,0.028063 0.0626811,0.0626693 0,0.034626 -0.0280591,0.0626811 -0.0626811,0.0626811l-0.559016 -0.000110236c-0.0521732,0 -0.0944685,0.0422913 -0.0944685,0.0944803l0 0.264299c0,0.052189 0.0422953,0.0944843 0.0944685,0.0944843l0.801382 -0.000165354c0.15311,0 0.27724,-0.124118 0.27724,-0.27724l0.00128346 -0.477276c0,-0.153106 -0.12413,-0.277236 -0.27724,-0.277236l-0.383374 0.00108661c-0.0346063,0 -0.0626654,-0.0280551 -0.0626654,-0.0626772 0,-0.0346102 0.0280551,-0.0626693 0.0626654,-0.0626693l0.276587 8.66142e-005 0.00323622 -0.0929567z"/>
|
||||
<path id="_59232120" class="fil0" d="M4.29369 1.21375l0.120181 0c0.021878,0 0.0396102,-0.0177283 0.0396102,-0.0396102l-0.0005 -0.305453c0,-0.100449 -0.0814213,-0.181862 -0.18187,-0.181862l-0.601232 0c-0.100445,0 -0.181878,0.0814173 -0.181878,0.181866l0 1.05666c0,0.100433 0.0814291,0.181866 0.181878,0.181866l0.601236 0c0.100449,0 0.181862,-0.0814291 0.181862,-0.181862l0.000503937 -0.290433c0,-0.0218858 -0.0177323,-0.0396142 -0.0396142,-0.0396142l-0.226811 0c-0.0218701,0 -0.0396024,0.0177323 -0.0396024,0.0396142l0.00127559 0.13848c0,0.109362 -0.0688701,0.198035 -0.178232,0.198035 -0.109374,-3.93701e-006 -0.178232,-0.0886693 -0.178232,-0.198035l0 -0.737925c0,-0.109366 0.0688543,-0.198031 0.178232,-0.198031 0.109362,0 0.178232,0.0886693 0.178232,0.198031l-0.00127165 0.138657c0,0.0218858 0.0177283,0.0396181 0.0395945,0.0396181l0.106638 -3.93701e-006 -0.00323228 0.0952244 -0.142693 0c-0.0521732,0 -0.0944803,-0.0423071 -0.0944803,-0.0944803l0.00114567 -0.179016c0,-0.0572913 -0.0266457,-0.103732 -0.0839331,-0.103732 -0.0573031,0 -0.0839488,0.0464449 -0.0839488,0.103732l3.93701e-006 0.737925c0,0.0572835 0.0266417,0.103748 0.0839449,0.103748 0.0572874,-3.93701e-006 0.0839331,-0.0464606 0.0839331,-0.103748l-0.00114567 -0.178835c0,-0.0521693 0.0423071,-0.0944803 0.0944803,-0.0944803l0.30628 -3.93701e-006c0.0521811,0 0.0944764,0.042315 0.0944764,0.0944882l-0.000165354 0.33078c0,0.15311 -0.124118,0.277244 -0.277244,0.277244l-0.601232 -3.93701e-006c-0.153122,0 -0.277252,-0.12413 -0.277252,-0.277236l0 -1.05667c0,-0.153126 0.12413,-0.277236 0.277252,-0.277236l0.601236 0c0.153122,0 0.27724,0.124114 0.27724,0.27724l0.000169291 0.345803c0,0.0521693 -0.0422992,0.0944803 -0.0944843,0.0944803l-0.163583 0 0.00323228 -0.0952244z"/>
|
||||
<polygon id="_56723472" class="fil0" points="2.24678,3.62504 1.85894,3.62504 1.85894,3.09997 2.09687,3.09997 2.24678,3.09997 2.24678,3.15847 1.90661,3.15847 1.90661,3.32314 2.23234,3.32314 2.23234,3.38165 1.90661,3.38165 1.90661,3.56654 2.24678,3.56654 2.24678,3.61174 "/>
|
||||
<polygon id="_56724072" class="fil0" points="2.71473,3.62504 2.52622,3.37442 2.33845,3.62504 2.26767,3.62504 2.27734,3.61233 2.48072,3.34481 2.29222,3.09997 2.36084,3.09997 2.52478,3.31448 2.69234,3.09997 2.75879,3.09997 2.74898,3.11276 2.57101,3.34481 2.78407,3.62504 "/>
|
||||
<polygon id="_56725056" class="fil0" points="3.23707,3.15847 3.0403,3.15847 3.0403,3.62504 2.98902,3.62504 2.98902,3.15847 2.79401,3.15847 2.79401,3.11174 2.79401,3.09997 3.23707,3.09997 3.23707,3.12736 "/>
|
||||
<polygon id="_57678824" class="fil0" points="1.79958,3.15847 1.6028,3.15847 1.6028,3.62504 1.55152,3.62504 1.55152,3.15847 1.35652,3.15847 1.35652,3.11174 1.35652,3.09997 1.79958,3.09997 1.79958,3.12736 "/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
BIN
icons/cddb-60x25.xcf
Normal file
BIN
icons/cddb-60x25.xcf
Normal file
Binary file not shown.
144
icons/cddb-60x25.xpm
Normal file
144
icons/cddb-60x25.xpm
Normal file
@ -0,0 +1,144 @@
|
||||
/* XPM */
|
||||
static const char * cddb_60x25_xpm[] = {
|
||||
"60 25 116 2",
|
||||
" c None",
|
||||
". c #FFFFFF",
|
||||
"+ c #E2E2E2",
|
||||
"@ c #757575",
|
||||
"# c #2F2F2F",
|
||||
"$ c #0F0F0F",
|
||||
"% c #080808",
|
||||
"& c #202020",
|
||||
"* c #3D3D3D",
|
||||
"= c #868686",
|
||||
"- c #DEDEDE",
|
||||
"; c #F7F7F7",
|
||||
"> c #000000",
|
||||
", c #070707",
|
||||
"' c #161616",
|
||||
") c #373737",
|
||||
"! c #6D6D6D",
|
||||
"~ c #C7C7C7",
|
||||
"{ c #252525",
|
||||
"] c #6F6F6F",
|
||||
"^ c #E9E9E9",
|
||||
"/ c #9E9E9E",
|
||||
"( c #1F1F1F",
|
||||
"_ c #4D4D4D",
|
||||
": c #ECECEC",
|
||||
"< c #1E1E1E",
|
||||
"[ c #EAEAEA",
|
||||
"} c #A8A8A8",
|
||||
"| c #4E4E4E",
|
||||
"1 c #BBBBBB",
|
||||
"2 c #EEEEEE",
|
||||
"3 c #F8F8F8",
|
||||
"4 c #E0E0E0",
|
||||
"5 c #C4C4C4",
|
||||
"6 c #7B7B7B",
|
||||
"7 c #424242",
|
||||
"8 c #FCFCFC",
|
||||
"9 c #EBEBEB",
|
||||
"0 c #C0C0C0",
|
||||
"a c #383838",
|
||||
"b c #F9F9F9",
|
||||
"c c #B5B5B5",
|
||||
"d c #1B1B1B",
|
||||
"e c #7D7D7D",
|
||||
"f c #F2F2F2",
|
||||
"g c #111111",
|
||||
"h c #7C7C7C",
|
||||
"i c #CBCBCB",
|
||||
"j c #0C0C0C",
|
||||
"k c #959595",
|
||||
"l c #9C9C9C",
|
||||
"m c #535353",
|
||||
"n c #969696",
|
||||
"o c #2E2E2E",
|
||||
"p c #FEFEFE",
|
||||
"q c #8A8A8A",
|
||||
"r c #313131",
|
||||
"s c #676767",
|
||||
"t c #545454",
|
||||
"u c #8B8B8B",
|
||||
"v c #E5E5E5",
|
||||
"w c #020202",
|
||||
"x c #F0F0F0",
|
||||
"y c #B8B8B8",
|
||||
"z c #1D1D1D",
|
||||
"A c #BDBDBD",
|
||||
"B c #BABABA",
|
||||
"C c #121212",
|
||||
"D c #D9D9D9",
|
||||
"E c #2B2B2B",
|
||||
"F c #A9A9A9",
|
||||
"G c #242424",
|
||||
"H c #CCCCCC",
|
||||
"I c #0A0A0A",
|
||||
"J c #6C6C6C",
|
||||
"K c #FAFAFA",
|
||||
"L c #DADADA",
|
||||
"M c #F4F4F4",
|
||||
"N c #474747",
|
||||
"O c #606060",
|
||||
"P c #030303",
|
||||
"Q c #F3F3F3",
|
||||
"R c #E4E4E4",
|
||||
"S c #898989",
|
||||
"T c #333333",
|
||||
"U c #2C2C2C",
|
||||
"V c #101010",
|
||||
"W c #808080",
|
||||
"X c #989898",
|
||||
"Y c #C2C2C2",
|
||||
"Z c #A6A6A6",
|
||||
"` c #505050",
|
||||
" . c #BCBCBC",
|
||||
".. c #EFEFEF",
|
||||
"+. c #E1E1E1",
|
||||
"@. c #C5C5C5",
|
||||
"#. c #C1C1C1",
|
||||
"$. c #6E6E6E",
|
||||
"%. c #3B3B3B",
|
||||
"&. c #484848",
|
||||
"*. c #F6F6F6",
|
||||
"=. c #9A9A9A",
|
||||
"-. c #060606",
|
||||
";. c #4F4F4F",
|
||||
">. c #EDEDED",
|
||||
",. c #A4A4A4",
|
||||
"'. c #737373",
|
||||
"). c #0E0E0E",
|
||||
"!. c #3E3E3E",
|
||||
"~. c #151515",
|
||||
"{. c #363636",
|
||||
"]. c #C8C8C8",
|
||||
"^. c #040404",
|
||||
"/. c #1A1A1A",
|
||||
"(. c #555555",
|
||||
"_. c #C6C6C6",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . + @ # $ % & * = - . . ; > > > > , ' ) ! ~ . . . . . ; > > > > , ' ) ! ~ . . . . . ; > > > > > , { ] ^ . . . . ",
|
||||
". . . . / , > > > > > > > ( . . ; > > > > > > > > > _ : . . . ; > > > > > > > > > _ : . . . ; > > > > > > > > < [ . . . ",
|
||||
". . . } > > | 1 2 3 4 5 6 7 . . ; > $ . . 8 9 0 ! , > a b . . ; > $ . . 8 9 0 ! , > a b . . ; > $ . . . 2 c d > e . . . ",
|
||||
". . f g > h . . . . . . . . . . ; > $ . . . . . . i j > k . . ; > $ . . . . . . i j > k . . ; > $ . . . . . l > m . . . ",
|
||||
". . n > o p . . . . . . . . . . ; > $ . . . . . . . q > r . . ; > $ . . . . . . . q > r . . ; > $ . . . . . l > s . . . ",
|
||||
". . t > u . . . . . . . . . . . ; > $ . . . . . . . v > w f . ; > $ . . . . . . . v > w f . ; > $ . . . x y z > A . . . ",
|
||||
". . r > B . . . . . . . . . . . ; > $ . . . . . . . . C > D . ; > $ . . . . . . . . C > D . ; > > > > > > > E F . . . . ",
|
||||
". . G > ~ . . . . . . . . . . . ; > $ . . . . . . . . ( > H . ; > $ . . . . . . . . ( > H . ; > > > > > > > I J K . . . ",
|
||||
". . r > B . . . . . . . . . . . ; > $ . . . . . . . . g > L . ; > $ . . . . . . . . g > L . ; > $ . . . M i N > O . . . ",
|
||||
". . t > u . . . . . . . . . . . ; > $ . . . . . . . v > P Q . ; > $ . . . . . . . v > P Q . ; > $ . . . . . M j w R . . ",
|
||||
". . n > # p . . . . . . . . . . ; > $ . . . . . . . S > T . . ; > $ . . . . . . . S > T . . ; > $ . . . . . . U > 1 . . ",
|
||||
". . f V > W . . . . . . . . . . ; > $ . . . . . . i j > X . . ; > $ . . . . . . i j > X . . ; > $ . . . . . M j > Y . . ",
|
||||
". . . Z > > ` ...b +.@.h 7 . . ; > $ . . 8 : #.$., > %.b . . ; > $ . . 8 : #.$., > %.b . . ; > $ . . . M H &.> V *.. . ",
|
||||
". . . . =.-.> > > > > > > ( . . ; > > > > > > > > > ;.>.. . . ; > > > > > > > > > ;.>.. . . ; > > > > > > > > w ,.. . . ",
|
||||
". . . . . 4 '.o )., & !.= - . . ; > > > > -.~.{.! ].. . . . . ; > > > > -.~.{.! ].. . . . . ; > > > > > ^./.(._.. . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
|
@ -881,6 +881,14 @@
|
||||
<source>Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1644,6 +1652,14 @@ vozík</translation>
|
||||
<source>Unable to read CD.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create temporary directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CD-TEXT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEditAudio</name>
|
||||
|
@ -877,6 +877,14 @@
|
||||
<source>Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1638,6 +1646,14 @@ Cart</source>
|
||||
<source>Unknown</source>
|
||||
<translation type="obsolete">Unbekannt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create temporary directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CD-TEXT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEditAudio</name>
|
||||
|
@ -877,6 +877,14 @@
|
||||
<source>Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1631,6 +1639,14 @@ Cartucho</translation>
|
||||
<source>Unable to read CD.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create temporary directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CD-TEXT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEditAudio</name>
|
||||
|
@ -847,6 +847,14 @@
|
||||
<source>Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1468,6 +1476,14 @@ Cart</source>
|
||||
<source>Unable to read CD.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create temporary directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CD-TEXT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEditAudio</name>
|
||||
|
@ -877,6 +877,14 @@
|
||||
<source>Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1633,6 +1641,14 @@ Cart</source>
|
||||
<source>Unknown</source>
|
||||
<translation type="obsolete">Ukjent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create temporary directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CD-TEXT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEditAudio</name>
|
||||
|
@ -877,6 +877,14 @@
|
||||
<source>Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1633,6 +1641,14 @@ Cart</source>
|
||||
<source>Unknown</source>
|
||||
<translation type="obsolete">Ukjent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create temporary directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CD-TEXT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEditAudio</name>
|
||||
|
@ -877,6 +877,14 @@
|
||||
<source>Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disc Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1639,6 +1647,14 @@ Cartão</translation>
|
||||
<source>Unknown</source>
|
||||
<translation type="obsolete">Desconhecido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create temporary directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CD-TEXT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEditAudio</name>
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// RDDiscLookup instance class for accessing the FreeDB CD Database.
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -59,7 +59,7 @@ RDCddbLookup::~RDCddbLookup()
|
||||
|
||||
QString RDCddbLookup::sourceName() const
|
||||
{
|
||||
return QString("FreeDB");
|
||||
return QString("CDDB");
|
||||
}
|
||||
|
||||
|
||||
@ -156,7 +156,7 @@ void RDCddbLookup::readyReadData()
|
||||
f0.erase(f0.begin());
|
||||
f0.erase(f0.begin());
|
||||
f0.erase(f0.begin());
|
||||
discRecord()->setDiscTitle(f0.join(" "));
|
||||
discRecord()->setDiscTitle(RDDiscRecord::RemoteSource,f0.join(" "));
|
||||
snprintf(buffer,2048,"cddb read %s %08x\n",
|
||||
(const char *)discRecord()->discGenre().utf8(),
|
||||
discRecord()->discId());
|
||||
@ -248,10 +248,12 @@ void RDCddbLookup::readyReadData()
|
||||
discRecord()->setDiscGenre(f0.at(0));
|
||||
f0=titlesBox()->currentText().split("/");
|
||||
if(f0.size()==2) {
|
||||
discRecord()->setDiscTitle(f0.at(1).trimmed());
|
||||
discRecord()->setDiscTitle(RDDiscRecord::RemoteSource,
|
||||
f0.at(1).trimmed());
|
||||
}
|
||||
else {
|
||||
discRecord()->setDiscTitle(titlesBox()->currentText().trimmed());
|
||||
discRecord()->setDiscTitle(RDDiscRecord::RemoteSource,
|
||||
titlesBox()->currentText().trimmed());
|
||||
}
|
||||
snprintf(buffer,2048,"cddb read %s %08x\n",
|
||||
(const char *)discRecord()->discGenre().utf8(),
|
||||
@ -291,7 +293,8 @@ void RDCddbLookup::readyReadData()
|
||||
}
|
||||
ParsePair(&line,&tag,&value,&index);
|
||||
if(tag=="DTITLE") {
|
||||
discRecord()->setDiscTitle(value.left(value.length()-1));
|
||||
discRecord()->setDiscTitle(RDDiscRecord::RemoteSource,
|
||||
value.left(value.length()-1));
|
||||
}
|
||||
if(tag=="DYEAR") {
|
||||
discRecord()->setDiscYear(value.toUInt());
|
||||
@ -305,7 +308,8 @@ void RDCddbLookup::readyReadData()
|
||||
discRecord()->setDiscPlayOrder(value);
|
||||
}
|
||||
if((tag=="TTITLE")&&(index!=-1)) {
|
||||
discRecord()->setTrackTitle(index,value.left(value.length()-1));
|
||||
discRecord()->setTrackTitle(RDDiscRecord::RemoteSource,index,
|
||||
value.left(value.length()-1));
|
||||
}
|
||||
if((tag=="EXTT")&&(index!=-1)) {
|
||||
discRecord()->
|
||||
@ -340,19 +344,19 @@ void RDCddbLookup::errorData(QAbstractSocket::SocketError err)
|
||||
}
|
||||
lookup_state=0;
|
||||
QApplication::restoreOverrideCursor();
|
||||
emit lookupDone(RDCddbLookup::LookupError,err_msg);
|
||||
}
|
||||
|
||||
|
||||
void RDCddbLookup::FinishCddbLookup(RDCddbLookup::Result res,
|
||||
const QString &err_msg)
|
||||
{
|
||||
printf("FinishCddbLookup(%d,%s)\n",res,err_msg.toUtf8().constData());
|
||||
SendToServer("quit");
|
||||
lookup_socket->close();
|
||||
lookup_state=0;
|
||||
QApplication::restoreOverrideCursor();
|
||||
emit lookupDone(res,err_msg);
|
||||
profile("CDDB lookup finished");
|
||||
processLookup(res,err_msg);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// RDDiscLookup instance class for accessing the FreeDB CD Database.
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -56,16 +56,16 @@ class RDCddbLookup : public RDDiscLookup
|
||||
|
||||
private:
|
||||
void FinishCddbLookup(RDCddbLookup::Result res,const QString &err_msg);
|
||||
QString DecodeString(QString &str);
|
||||
void ParsePair(QString *line,QString *tag,QString *value,int *index);
|
||||
int GetIndex(QString *tag);
|
||||
void SendToServer(const QString &msg);
|
||||
QTcpSocket *lookup_socket;
|
||||
int lookup_state;
|
||||
QString lookup_username;
|
||||
QString lookup_appname;
|
||||
QString lookup_appver;
|
||||
QString lookup_hostname;
|
||||
QString DecodeString(QString &str);
|
||||
void ParsePair(QString *line,QString *tag,QString *value,int *index);
|
||||
int GetIndex(QString *tag);
|
||||
void SendToServer(const QString &msg);
|
||||
QTcpSocket *lookup_socket;
|
||||
int lookup_state;
|
||||
QString lookup_username;
|
||||
QString lookup_appname;
|
||||
QString lookup_appver;
|
||||
QString lookup_hostname;
|
||||
};
|
||||
|
||||
#endif // RDCDDBLOOKUP_H
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Base class for CD metadata lookup methods
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -29,8 +29,6 @@
|
||||
#include <qregexp.h>
|
||||
#include <qtimer.h>
|
||||
|
||||
#include <discid/discid.h>
|
||||
|
||||
#include "rdtempdirectory.h"
|
||||
#include "rddisclookup.h"
|
||||
#include "rdprofile.h"
|
||||
@ -39,8 +37,20 @@ RDDiscLookup::RDDiscLookup(const QString &caption,FILE *profile_msgs,
|
||||
QWidget *parent)
|
||||
: RDDialog(parent)
|
||||
{
|
||||
QString err_msg;
|
||||
|
||||
lookup_caption=caption;
|
||||
lookup_profile_msgs=profile_msgs;
|
||||
lookup_has_cd_text=false;
|
||||
lookup_disc=NULL;
|
||||
|
||||
lookup_temp_directory=new RDTempDirectory("rddisclookup");
|
||||
if(!lookup_temp_directory->create(&err_msg)) {
|
||||
QMessageBox::warning(this,caption+" - "+tr("Error"),
|
||||
tr("Unable to create temporary directory")+
|
||||
" \""+lookup_temp_directory->path()+"\".\n"+
|
||||
"["+err_msg+"]");
|
||||
}
|
||||
|
||||
lookup_titles_label=new QLabel(tr("Multiple Matches Found!"),this);
|
||||
lookup_titles_label->setAlignment(Qt::AlignCenter|Qt::AlignVCenter);
|
||||
@ -58,6 +68,12 @@ RDDiscLookup::RDDiscLookup(const QString &caption,FILE *profile_msgs,
|
||||
}
|
||||
|
||||
|
||||
RDDiscLookup::~RDDiscLookup()
|
||||
{
|
||||
delete lookup_temp_directory;
|
||||
}
|
||||
|
||||
|
||||
QSize RDDiscLookup::sizeHint() const
|
||||
{
|
||||
return QSize(400,140);
|
||||
@ -66,7 +82,7 @@ QSize RDDiscLookup::sizeHint() const
|
||||
|
||||
QString RDDiscLookup::sourceName() const
|
||||
{
|
||||
return QString();
|
||||
return QString(tr("CD-TEXT"));
|
||||
}
|
||||
|
||||
|
||||
@ -76,6 +92,23 @@ QPixmap RDDiscLookup::sourceLogo() const
|
||||
}
|
||||
|
||||
|
||||
QPixmap RDDiscLookup::sourceLogo(RDDiscRecord::DataSource src) const
|
||||
{
|
||||
QPixmap ret=RDLibraryConf::cdServerLogo(RDLibraryConf::DummyType);
|
||||
|
||||
switch(src) {
|
||||
case RDDiscRecord::LocalSource:
|
||||
case RDDiscRecord::LastSource:
|
||||
break;
|
||||
|
||||
case RDDiscRecord::RemoteSource:
|
||||
ret=sourceLogo();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscLookup::sourceUrl() const
|
||||
{
|
||||
return QString();
|
||||
@ -90,61 +123,99 @@ void RDDiscLookup::setCddbRecord(RDDiscRecord *rec)
|
||||
|
||||
void RDDiscLookup::lookup()
|
||||
{
|
||||
QString rip_dev=rda->libraryConf()->ripperDevice();
|
||||
|
||||
if(discRecord()->tracks()==0) {
|
||||
return;
|
||||
}
|
||||
|
||||
profile("starting CD-TEXT lookup");
|
||||
if((lookup_has_cd_text=ReadCdText(rip_dev))) {
|
||||
profile("CD-TEXT lookup success");
|
||||
}
|
||||
else {
|
||||
profile("CD-TEXT lookup failure");
|
||||
}
|
||||
|
||||
//
|
||||
// Get some basic disc parameters,
|
||||
//
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
DiscId *disc=discid_new();
|
||||
if(discid_read_sparse(disc,rda->libraryConf()->ripperDevice().toUtf8(),0)==0) {
|
||||
if(lookup_disc!=NULL) {
|
||||
discid_free(lookup_disc);
|
||||
lookup_disc=NULL;
|
||||
}
|
||||
lookup_disc=discid_new();
|
||||
if(discid_read_sparse(lookup_disc,rip_dev.toUtf8(),0)==0) {
|
||||
QMessageBox::warning(this,caption()+" - "+tr("Error"),
|
||||
tr("Unable to read CD.")+
|
||||
"\n["+QString::fromUtf8(discid_get_error_msg(disc))+"]");
|
||||
discid_free(disc);
|
||||
"\n["+QString::fromUtf8(discid_get_error_msg(lookup_disc))+"]");
|
||||
discid_free(lookup_disc);
|
||||
lookup_disc=NULL;
|
||||
return;
|
||||
}
|
||||
discRecord()->setDiscId(QString(discid_get_freedb_id(disc)).toUInt(NULL,16));
|
||||
discRecord()->setDiscMbId(discid_get_id(disc));
|
||||
discRecord()->setMbSubmissionUrl(discid_get_submission_url(disc));
|
||||
discRecord()->setDiscId(QString(discid_get_freedb_id(lookup_disc)).toUInt(NULL,16));
|
||||
discRecord()->setDiscMbId(discid_get_id(lookup_disc));
|
||||
discRecord()->setMbSubmissionUrl(discid_get_submission_url(lookup_disc));
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
//
|
||||
// Call the low-level driver to do its lookup.
|
||||
//
|
||||
lookupRecord();
|
||||
}
|
||||
|
||||
|
||||
void RDDiscLookup::lookupRecord()
|
||||
{
|
||||
processLookup(RDDiscLookup::ExactMatch,"OK");
|
||||
}
|
||||
|
||||
|
||||
void RDDiscLookup::processLookup(RDDiscLookup::Result result,
|
||||
const QString &err_msg)
|
||||
{
|
||||
QString rip_dev=rda->libraryConf()->ripperDevice();
|
||||
|
||||
//
|
||||
// If the low-level driver didn't find ISRCs, and the user has requested
|
||||
// them, try to find them on the disc.
|
||||
//
|
||||
// WARNING: This operation can be VERY expensive if the disc does not in
|
||||
// WARNING: This operation can take a long time if the disc does not in
|
||||
// fact contain ISRCs!
|
||||
//
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
if((!discRecord()->hasIsrcs())&&rda->libraryConf()->readIsrc()) {
|
||||
if(discid_read(disc,rda->libraryConf()->ripperDevice().toUtf8())==0) {
|
||||
if(discid_read(lookup_disc,rip_dev.toUtf8())==0) {
|
||||
QMessageBox::warning(this,caption()+" - "+tr("Error"),
|
||||
tr("Unable to read CD.")+
|
||||
"\n["+QString::fromUtf8(discid_get_error_msg(disc))+"]");
|
||||
discid_free(disc);
|
||||
"\n["+QString::fromUtf8(discid_get_error_msg(lookup_disc))+"]");
|
||||
discid_free(lookup_disc);
|
||||
lookup_disc=NULL;
|
||||
return;
|
||||
}
|
||||
discRecord()->setMcn(discid_get_mcn(disc));
|
||||
int first=discid_get_first_track_num(disc);
|
||||
int last=discid_get_last_track_num(disc);
|
||||
discRecord()->setMcn(discid_get_mcn(lookup_disc));
|
||||
int first=discid_get_first_track_num(lookup_disc);
|
||||
int last=discid_get_last_track_num(lookup_disc);
|
||||
for(int i=first;i<=last;i++) {
|
||||
if((i-first)<discRecord()->tracks()) {
|
||||
discRecord()->setIsrc(i-first,
|
||||
RDDiscLookup::normalizedIsrc(discid_get_track_isrc(disc,i)));
|
||||
RDDiscLookup::normalizedIsrc(discid_get_track_isrc(lookup_disc,i)));
|
||||
}
|
||||
}
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
discid_free(disc);
|
||||
discid_free(lookup_disc);
|
||||
lookup_disc=NULL;
|
||||
|
||||
emit lookupDone(RDDiscLookup::ExactMatch,"OK");
|
||||
}
|
||||
|
||||
|
||||
bool RDDiscLookup::hasCdText() const
|
||||
{
|
||||
return lookup_has_cd_text;
|
||||
}
|
||||
|
||||
|
||||
@ -361,3 +432,86 @@ QString RDDiscLookup::normalizedUpcA(const QString &barcode,bool *ok)
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscLookup::tempDirectoryPath() const
|
||||
{
|
||||
return lookup_temp_directory->path();
|
||||
}
|
||||
|
||||
|
||||
bool RDDiscLookup::ReadCdText(const QString &cdda_dev)
|
||||
{
|
||||
RDProfile *title_profile=new RDProfile();
|
||||
bool ret=false;
|
||||
QString str;
|
||||
QString cmd;
|
||||
|
||||
//
|
||||
// Write the Track Title Data to a Temp File
|
||||
//
|
||||
QByteArray output;
|
||||
Q3Process *proc=new Q3Process(this);
|
||||
proc->addArgument("cdda2wav");
|
||||
proc->addArgument("-D");
|
||||
proc->addArgument(cdda_dev);
|
||||
proc->addArgument("--info-only");
|
||||
proc->addArgument("-v");
|
||||
proc->addArgument("titles");
|
||||
proc->setWorkingDirectory(tempDirectoryPath());
|
||||
if(!proc->start()) {
|
||||
delete proc;
|
||||
return false;
|
||||
}
|
||||
while(proc->isRunning()) {
|
||||
output=proc->readStderr();
|
||||
if(output.size()>0) { // Work around icedax(1)'s idiotic user prompt
|
||||
if(strncmp(output,"load cdrom please and press enter",33)==0) {
|
||||
proc->kill();
|
||||
delete proc;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if((!proc->normalExit())||(proc->exitStatus()!=0)) {
|
||||
delete proc;
|
||||
return false;
|
||||
}
|
||||
delete proc;
|
||||
|
||||
//
|
||||
// Read the Track Title Data File
|
||||
//
|
||||
for(int i=0;i<lookup_record->tracks();i++) {
|
||||
title_profile->setSource(tempDirectoryPath()+
|
||||
QString().sprintf("/audio_%02d.inf",i+1));
|
||||
str=title_profile->stringValue("","Albumtitle","");
|
||||
str.remove("'");
|
||||
if((!str.isEmpty())&&(str!="''")) {
|
||||
lookup_record->setDiscTitle(RDDiscRecord::LocalSource,str);
|
||||
ret=true;
|
||||
}
|
||||
|
||||
str=title_profile->stringValue("","Albumperformer","");
|
||||
str.remove("'");
|
||||
if((!str.isEmpty())&&(str!="''")) {
|
||||
lookup_record->setDiscArtist(RDDiscRecord::LocalSource,str);
|
||||
ret=true;
|
||||
}
|
||||
|
||||
str=title_profile->stringValue("","Tracktitle","");
|
||||
str.remove("'");
|
||||
if((!str.isEmpty())&&(str!="''")) {
|
||||
lookup_record->setTrackTitle(RDDiscRecord::LocalSource,i,str);
|
||||
ret=true;
|
||||
}
|
||||
|
||||
str=title_profile->stringValue("","Performer","");
|
||||
str.remove("'");
|
||||
if((!str.isEmpty())&&(str!="''")) {
|
||||
lookup_record->setTrackArtist(RDDiscRecord::LocalSource,i,str);
|
||||
ret=true;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Base class for CD metadata lookup methods
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -24,6 +24,8 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <discid/discid.h>
|
||||
|
||||
#include <qcombobox.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpixmap.h>
|
||||
@ -33,6 +35,7 @@
|
||||
|
||||
#include <rddiscrecord.h>
|
||||
#include <rddialog.h>
|
||||
#include <rdtempdirectory.h>
|
||||
|
||||
class RDDiscLookup : public RDDialog
|
||||
{
|
||||
@ -40,12 +43,15 @@ class RDDiscLookup : public RDDialog
|
||||
public:
|
||||
enum Result {ExactMatch=0,NoMatch=1,LookupError=2};
|
||||
RDDiscLookup(const QString &caption,FILE *profile_msgs,QWidget *parent=0);
|
||||
~RDDiscLookup();
|
||||
QSize sizeHint() const;
|
||||
virtual QString sourceName() const;
|
||||
virtual QPixmap sourceLogo() const;
|
||||
QPixmap sourceLogo(RDDiscRecord::DataSource src) const;
|
||||
virtual QString sourceUrl() const;
|
||||
void setCddbRecord(RDDiscRecord *);
|
||||
void lookup();
|
||||
bool hasCdText() const;
|
||||
static bool isrcIsValid(const QString &isrc);
|
||||
static QString formattedIsrc(const QString &isrc,bool *ok=NULL);
|
||||
static QString normalizedIsrc(const QString &isrc,bool *ok=NULL);
|
||||
@ -62,28 +68,34 @@ class RDDiscLookup : public RDDialog
|
||||
void cancelData();
|
||||
|
||||
protected:
|
||||
virtual void lookupRecord()=0;
|
||||
virtual void lookupRecord();
|
||||
void processLookup(RDDiscLookup::Result result,const QString &err_msg);
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
RDDiscRecord *discRecord() const;
|
||||
void profile(const QString &msg);
|
||||
QComboBox *titlesBox();
|
||||
QStringList *titlesKey();
|
||||
QString tempDirectoryPath() const;
|
||||
|
||||
private:
|
||||
QLabel *lookup_titles_label;
|
||||
QComboBox *lookup_titles_box;
|
||||
QStringList lookup_titles_key;
|
||||
QPushButton *lookup_ok_button;
|
||||
QPushButton *lookup_cancel_button;
|
||||
RDDiscRecord *lookup_record;
|
||||
QTcpSocket *lookup_socket;
|
||||
int lookup_state;
|
||||
QString lookup_username;
|
||||
QString lookup_appname;
|
||||
QString lookup_appver;
|
||||
QString lookup_hostname;
|
||||
FILE *lookup_profile_msgs;
|
||||
QString lookup_caption;
|
||||
bool ReadCdText(const QString &cdda_dev);
|
||||
QLabel *lookup_titles_label;
|
||||
QComboBox *lookup_titles_box;
|
||||
QStringList lookup_titles_key;
|
||||
QPushButton *lookup_ok_button;
|
||||
QPushButton *lookup_cancel_button;
|
||||
RDDiscRecord *lookup_record;
|
||||
QTcpSocket *lookup_socket;
|
||||
int lookup_state;
|
||||
QString lookup_username;
|
||||
QString lookup_appname;
|
||||
QString lookup_appver;
|
||||
QString lookup_hostname;
|
||||
FILE *lookup_profile_msgs;
|
||||
QString lookup_caption;
|
||||
RDTempDirectory *lookup_temp_directory;
|
||||
bool lookup_has_cd_text;
|
||||
DiscId *lookup_disc;
|
||||
};
|
||||
|
||||
#endif // RDDISCLOOKUP_H
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Container Class for Compact Disc Metadata
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -18,6 +18,8 @@
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "rddiscrecord.h"
|
||||
|
||||
RDDiscRecord::RDDiscRecord()
|
||||
@ -28,12 +30,19 @@ RDDiscRecord::RDDiscRecord()
|
||||
|
||||
void RDDiscRecord::clear()
|
||||
{
|
||||
for(int i=0;i<RDDiscRecord::LastSource;i++) {
|
||||
disc_has_data[i]=false;
|
||||
disc_disc_title[i]="";
|
||||
disc_disc_artist[i]="";
|
||||
disc_disc_album[i]="";
|
||||
for(int j=0;j<CDROM_LEADOUT;j++) {
|
||||
disc_track_title[i][j]="";
|
||||
disc_track_artist[i][j]="";
|
||||
}
|
||||
}
|
||||
disc_tracks=0;
|
||||
disc_disc_id=0;
|
||||
disc_disc_length=0;
|
||||
disc_disc_title="";
|
||||
disc_disc_artist="";
|
||||
disc_disc_album="";
|
||||
disc_disc_author="";
|
||||
disc_disc_year=0;
|
||||
disc_disc_genre="";
|
||||
@ -41,9 +50,7 @@ void RDDiscRecord::clear()
|
||||
disc_disc_playorder="";
|
||||
disc_disc_release_mb_id="";
|
||||
for(int i=0;i<CDROM_LEADOUT;i++) {
|
||||
disc_track_title[i]="";
|
||||
disc_track_extended[i]="";
|
||||
disc_track_artist[i]="";
|
||||
disc_track_isrc[i]="";
|
||||
disc_track_offset[i]=0;
|
||||
disc_track_recording_mb_id[i]="";
|
||||
@ -63,6 +70,12 @@ void RDDiscRecord::setTracks(int num)
|
||||
}
|
||||
|
||||
|
||||
bool RDDiscRecord::hasData(RDDiscRecord::DataSource src) const
|
||||
{
|
||||
return disc_has_data[src];
|
||||
}
|
||||
|
||||
|
||||
unsigned RDDiscRecord::discLength() const
|
||||
{
|
||||
return disc_disc_length;
|
||||
@ -95,7 +108,7 @@ QString RDDiscRecord::discMbId() const
|
||||
|
||||
void RDDiscRecord::setDiscMbId(const QString &mbid)
|
||||
{
|
||||
disc_disc_mb_id=mbid;
|
||||
disc_disc_mb_id=mbid.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -107,7 +120,7 @@ QString RDDiscRecord::mcn() const
|
||||
|
||||
void RDDiscRecord::setMcn(const QString &mcn)
|
||||
{
|
||||
disc_mcn=mcn;
|
||||
disc_mcn=mcn.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -119,7 +132,7 @@ QString RDDiscRecord::trackRecordingMbId(int track) const
|
||||
|
||||
void RDDiscRecord::setTrackRecordingMbId(int track,const QString &str)
|
||||
{
|
||||
disc_track_recording_mb_id[track]=str;
|
||||
disc_track_recording_mb_id[track]=str.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -131,7 +144,7 @@ QString RDDiscRecord::discReleaseMbId() const
|
||||
|
||||
void RDDiscRecord::setDiscReleaseMbId(const QString &mbid)
|
||||
{
|
||||
disc_disc_release_mb_id=mbid;
|
||||
disc_disc_release_mb_id=mbid.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -143,55 +156,61 @@ QString RDDiscRecord::mbSubmissionUrl() const
|
||||
|
||||
void RDDiscRecord::setMbSubmissionUrl(const QString &url)
|
||||
{
|
||||
disc_mb_submission_url=url;
|
||||
disc_mb_submission_url=url.trimmed();
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscRecord::discTitle() const
|
||||
QString RDDiscRecord::discTitle(RDDiscRecord::DataSource src) const
|
||||
{
|
||||
return disc_disc_title;
|
||||
return disc_disc_title[src];
|
||||
}
|
||||
|
||||
|
||||
void RDDiscRecord::setDiscTitle(QString title)
|
||||
void RDDiscRecord::setDiscTitle(RDDiscRecord::DataSource src,
|
||||
const QString &title)
|
||||
{
|
||||
int n;
|
||||
|
||||
disc_disc_title=title;
|
||||
disc_has_data[src]=true;
|
||||
disc_disc_title[src]=title.trimmed();
|
||||
if((n=title.find(" / "))!=-1) {
|
||||
disc_disc_artist=title.left(n);
|
||||
disc_disc_album=title.right(title.length()-n-3);
|
||||
disc_disc_artist[src]=title.left(n).trimmed();
|
||||
disc_disc_album[src]=title.right(title.length()-n-3).trimmed();
|
||||
disc_disc_author="";
|
||||
}
|
||||
else {
|
||||
disc_disc_album=title;
|
||||
disc_disc_artist=title;
|
||||
disc_disc_album[src]=title.trimmed();
|
||||
disc_disc_artist[src]=title.trimmed();
|
||||
disc_disc_author="";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscRecord::discArtist() const
|
||||
QString RDDiscRecord::discArtist(RDDiscRecord::DataSource src) const
|
||||
{
|
||||
return disc_disc_artist;
|
||||
return disc_disc_artist[src];
|
||||
}
|
||||
|
||||
|
||||
void RDDiscRecord::setDiscArtist(QString artist)
|
||||
void RDDiscRecord::setDiscArtist(RDDiscRecord::DataSource src,
|
||||
const QString &artist)
|
||||
{
|
||||
disc_disc_artist=artist;
|
||||
disc_has_data[src]=true;
|
||||
disc_disc_artist[src]=artist.trimmed();
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscRecord::discAlbum() const
|
||||
QString RDDiscRecord::discAlbum(RDDiscRecord::DataSource src) const
|
||||
{
|
||||
return disc_disc_album;
|
||||
return disc_disc_album[src];
|
||||
}
|
||||
|
||||
|
||||
void RDDiscRecord::setDiscAlbum(QString album)
|
||||
void RDDiscRecord::setDiscAlbum(RDDiscRecord::DataSource src,
|
||||
const QString &album)
|
||||
{
|
||||
disc_disc_album=album;
|
||||
disc_has_data[src]=true;
|
||||
disc_disc_album[src]=album.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -203,7 +222,7 @@ QString RDDiscRecord::discAuthor() const
|
||||
|
||||
void RDDiscRecord::setDiscAuthor(QString author)
|
||||
{
|
||||
disc_disc_author=author;
|
||||
disc_disc_author=author.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -227,7 +246,7 @@ QString RDDiscRecord::discGenre() const
|
||||
|
||||
void RDDiscRecord::setDiscGenre(QString genre)
|
||||
{
|
||||
disc_disc_genre=genre;
|
||||
disc_disc_genre=genre.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -239,7 +258,7 @@ QString RDDiscRecord::discLabel() const
|
||||
|
||||
void RDDiscRecord::setDiscLabel(const QString &str)
|
||||
{
|
||||
disc_disc_label=str;
|
||||
disc_disc_label=str.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -251,7 +270,7 @@ QString RDDiscRecord::discExtended() const
|
||||
|
||||
void RDDiscRecord::setDiscExtended(QString text)
|
||||
{
|
||||
disc_disc_extended=text;
|
||||
disc_disc_extended=text.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -263,7 +282,7 @@ QString RDDiscRecord::discPlayOrder() const
|
||||
|
||||
void RDDiscRecord::setDiscPlayOrder(QString order)
|
||||
{
|
||||
disc_disc_playorder=order;
|
||||
disc_disc_playorder=order.trimmed();
|
||||
}
|
||||
|
||||
|
||||
@ -284,19 +303,21 @@ void RDDiscRecord::setTrackOffset(int track,unsigned frames)
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscRecord::trackTitle(int track) const
|
||||
QString RDDiscRecord::trackTitle(RDDiscRecord::DataSource src,int track) const
|
||||
{
|
||||
if(track<CDROM_LEADOUT) {
|
||||
return disc_track_title[track];
|
||||
return disc_track_title[src][track];
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
void RDDiscRecord::setTrackTitle(int track,QString title)
|
||||
void RDDiscRecord::setTrackTitle(RDDiscRecord::DataSource src,int track,
|
||||
const QString &title)
|
||||
{
|
||||
if(track<CDROM_LEADOUT) {
|
||||
disc_track_title[track]=title;
|
||||
disc_has_data[src]=true;
|
||||
disc_track_title[src][track]=title.trimmed();
|
||||
}
|
||||
}
|
||||
|
||||
@ -313,24 +334,26 @@ QString RDDiscRecord::trackExtended(int track) const
|
||||
void RDDiscRecord::setTrackExtended(int track,QString text)
|
||||
{
|
||||
if(track<CDROM_LEADOUT) {
|
||||
disc_track_extended[track]=text;
|
||||
disc_track_extended[track]=text.trimmed();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscRecord::trackArtist(int track) const
|
||||
QString RDDiscRecord::trackArtist(RDDiscRecord::DataSource src,int track) const
|
||||
{
|
||||
if(track<CDROM_LEADOUT) {
|
||||
return disc_track_artist[track];
|
||||
return disc_track_artist[src][track];
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
void RDDiscRecord::setTrackArtist(int track,QString artist)
|
||||
void RDDiscRecord::setTrackArtist(RDDiscRecord::DataSource src,int track,
|
||||
const QString &artist)
|
||||
{
|
||||
if(track<CDROM_LEADOUT) {
|
||||
disc_track_artist[track]=artist;
|
||||
disc_has_data[src]=true;
|
||||
disc_track_artist[src][track]=artist.trimmed();
|
||||
}
|
||||
}
|
||||
|
||||
@ -355,17 +378,38 @@ QString RDDiscRecord::isrc(int track) const
|
||||
}
|
||||
|
||||
|
||||
void RDDiscRecord::setIsrc(int track,QString isrc)
|
||||
void RDDiscRecord::setIsrc(int track,const QString &isrc)
|
||||
{
|
||||
if(track<CDROM_LEADOUT) {
|
||||
disc_track_isrc[track]=isrc;
|
||||
disc_track_isrc[track]=isrc.trimmed();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscRecord::dump()
|
||||
QString RDDiscRecord::summary(RDDiscRecord::DataSource src) const
|
||||
{
|
||||
QString ret="RDDiscRecord::dump()\n";
|
||||
QString ret;
|
||||
|
||||
if(!discTitle(src).isEmpty()) {
|
||||
ret+="<strong>"+QObject::tr("Disc Title")+"</strong>: "+
|
||||
discTitle(src)+"<br>\n";
|
||||
}
|
||||
if(!discArtist(src).isEmpty()) {
|
||||
ret+="<strong>"+QObject::tr("Disc Artist")+"</strong>: "+
|
||||
discArtist(src)+"<br>\n";
|
||||
}
|
||||
for(int i=0;i<tracks();i++) {
|
||||
ret+="<strong>"+QObject::tr("Track")+QString().sprintf(" %2d: ",i+1)+
|
||||
"</strong>"+trackTitle(src,i)+"<br>\n";
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QString RDDiscRecord::dump(RDDiscRecord::DataSource src) const
|
||||
{
|
||||
QString ret=QString().sprintf("RDDiscRecord::dump(%u)\n",src);
|
||||
|
||||
ret+=QString().sprintf("tracks: %d\n",tracks());
|
||||
ret+=QString().sprintf("discLength: %d\n",discLength());
|
||||
@ -373,9 +417,9 @@ QString RDDiscRecord::dump()
|
||||
ret+="mcn: "+mcn()+"\n";
|
||||
ret+="discMbId: "+discMbId()+"\n";
|
||||
ret+="mbSubmissionUrl: "+mbSubmissionUrl()+"\n";
|
||||
ret+="discTitle: "+discTitle()+"\n";
|
||||
ret+="discArtist: "+discArtist()+"\n";
|
||||
ret+="discAlbum: "+discAlbum()+"\n";
|
||||
ret+="discTitle: "+discTitle(src)+"\n";
|
||||
ret+="discArtist: "+discArtist(src)+"\n";
|
||||
ret+="discAlbum: "+discAlbum(src)+"\n";
|
||||
ret+="discAuthor: "+discAuthor()+"\n";
|
||||
ret+=QString().sprintf("discYear: %u\n",discYear());
|
||||
ret+="discGenre: "+discGenre()+"\n";
|
||||
@ -385,7 +429,7 @@ QString RDDiscRecord::dump()
|
||||
for(int i=0;i<tracks();i++) {
|
||||
QString num=QString().sprintf("(%d): ",i+1);
|
||||
ret+="trackOffset"+num+QString().sprintf("%u",trackOffset(i))+"\n";
|
||||
ret+="trackTitle"+num+trackTitle(i)+"\n";
|
||||
ret+="trackTitle"+num+trackTitle(src,i)+"\n";
|
||||
ret+="trackExtended"+num+trackExtended(i)+"\n";
|
||||
ret+="trackRecordingMbId"+num+trackRecordingMbId(i)+"\n";
|
||||
ret+="isrc"+num+isrc(i)+"\n";
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Container Class for Compact Disc Metadata
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -25,22 +25,15 @@
|
||||
#include <qstring.h>
|
||||
#include <linux/cdrom.h>
|
||||
|
||||
|
||||
/**
|
||||
* @short A container class for CDDB data.
|
||||
* @author Fred Gleason <fredg@paravelsystems.com>
|
||||
**/
|
||||
|
||||
class RDDiscRecord
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Create an RDDiscRecord object
|
||||
**/
|
||||
enum DataSource {LocalSource=0,RemoteSource=1,LastSource=2};
|
||||
RDDiscRecord();
|
||||
void clear();
|
||||
int tracks() const;
|
||||
void setTracks(int num);
|
||||
bool hasData(RDDiscRecord::DataSource src) const;
|
||||
unsigned discLength() const;
|
||||
void setDiscLength(unsigned len);
|
||||
unsigned discId() const;
|
||||
@ -53,12 +46,12 @@ class RDDiscRecord
|
||||
void setDiscReleaseMbId(const QString &mbid);
|
||||
QString mbSubmissionUrl() const;
|
||||
void setMbSubmissionUrl(const QString &url);
|
||||
QString discTitle() const;
|
||||
void setDiscTitle(QString title);
|
||||
QString discArtist() const;
|
||||
void setDiscArtist(QString artist);
|
||||
QString discAlbum() const;
|
||||
void setDiscAlbum(QString album);
|
||||
QString discTitle(DataSource src) const;
|
||||
void setDiscTitle(DataSource src,const QString &title);
|
||||
QString discArtist(DataSource src) const;
|
||||
void setDiscArtist(DataSource src,const QString &artist);
|
||||
QString discAlbum(DataSource src) const;
|
||||
void setDiscAlbum(DataSource src, const QString &album);
|
||||
QString discAuthor() const;
|
||||
void setDiscAuthor(QString author);
|
||||
unsigned discYear() const;
|
||||
@ -73,18 +66,19 @@ class RDDiscRecord
|
||||
void setDiscPlayOrder(QString order);
|
||||
unsigned trackOffset(int track) const;
|
||||
void setTrackOffset(int track,unsigned frames);
|
||||
QString trackTitle(int track) const;
|
||||
void setTrackTitle(int track,QString title);
|
||||
QString trackTitle(DataSource src,int track) const;
|
||||
void setTrackTitle(DataSource src,int track,const QString &title);
|
||||
QString trackExtended(int track) const;
|
||||
void setTrackExtended(int track,QString text);
|
||||
QString trackArtist(int track) const;
|
||||
void setTrackArtist(int track,QString artist);
|
||||
QString trackArtist(DataSource src,int track) const;
|
||||
void setTrackArtist(DataSource src,int track,const QString &artist);
|
||||
QString trackRecordingMbId(int track) const;
|
||||
void setTrackRecordingMbId(int track,const QString &str);
|
||||
bool hasIsrcs() const;
|
||||
QString isrc(int track) const;
|
||||
void setIsrc(int track,QString isrc);
|
||||
QString dump();
|
||||
void setIsrc(int track,const QString &isrc);
|
||||
QString summary(RDDiscRecord::DataSource src) const;
|
||||
QString dump(RDDiscRecord::DataSource src) const;
|
||||
|
||||
private:
|
||||
int disc_tracks;
|
||||
@ -94,21 +88,22 @@ class RDDiscRecord
|
||||
QString disc_disc_release_mb_id;
|
||||
QString disc_mb_submission_url;
|
||||
unsigned disc_disc_length;
|
||||
QString disc_disc_title;
|
||||
QString disc_disc_artist;
|
||||
QString disc_disc_album;
|
||||
QString disc_disc_title[RDDiscRecord::LastSource];
|
||||
QString disc_disc_artist[RDDiscRecord::LastSource];
|
||||
QString disc_disc_album[RDDiscRecord::LastSource];
|
||||
QString disc_disc_author;
|
||||
unsigned disc_disc_year;
|
||||
QString disc_disc_genre;
|
||||
QString disc_disc_label;
|
||||
QString disc_disc_extended;
|
||||
QString disc_disc_playorder;
|
||||
QString disc_track_title[CDROM_LEADOUT];
|
||||
QString disc_track_title[RDDiscRecord::LastSource][CDROM_LEADOUT];
|
||||
QString disc_track_extended[CDROM_LEADOUT];
|
||||
QString disc_track_artist[CDROM_LEADOUT];
|
||||
QString disc_track_artist[RDDiscRecord::LastSource][CDROM_LEADOUT];
|
||||
QString disc_track_isrc[CDROM_LEADOUT];
|
||||
unsigned disc_track_offset[CDROM_LEADOUT];
|
||||
QString disc_track_recording_mb_id[CDROM_LEADOUT];
|
||||
bool disc_has_data[RDDiscRecord::LastSource];
|
||||
};
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// RDDiscLookup instance class for dummy lookup
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -30,5 +30,5 @@ RDDummyLookup::RDDummyLookup(const QString &caption,FILE *profile_msgs,
|
||||
|
||||
void RDDummyLookup::lookupRecord()
|
||||
{
|
||||
emit lookupDone(RDDiscLookup::NoMatch,"OK");
|
||||
processLookup(RDDiscLookup::NoMatch,"OK");
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// RDDiscLookup instance class for dummy lookup
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
|
@ -279,7 +279,7 @@ void RDFontEngine::MakeFonts(const QFont &default_font)
|
||||
|
||||
font_big_label_font=QFont(family,label_size+4,QFont::Bold);
|
||||
font_big_label_font.setPixelSize(label_size+4);
|
||||
font_big_label_font_metrics=new QFontMetrics(font_label_font);
|
||||
font_big_label_font_metrics=new QFontMetrics(font_big_label_font);
|
||||
|
||||
font_label_font=QFont(family,label_size,QFont::Bold);
|
||||
font_label_font.setPixelSize(label_size);
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Abstract an RDLibrary Configuration.
|
||||
//
|
||||
// (C) Copyright 2002-2003,2016-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -18,14 +18,20 @@
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <QPixmap>
|
||||
|
||||
#include <rddb.h>
|
||||
#include <rdconf.h>
|
||||
#include <rdlibrary_conf.h>
|
||||
#include <rdescape_string.h>
|
||||
|
||||
//
|
||||
// Global Classes
|
||||
// Logos
|
||||
//
|
||||
#include "../icons/cd-text-55x47.xpm"
|
||||
#include "../icons/cddb-60x25.xpm"
|
||||
#include "../icons/musicbrainz-159x25.xpm"
|
||||
|
||||
RDLibraryConf::RDLibraryConf(const QString &station)
|
||||
{
|
||||
RDSqlQuery *q;
|
||||
@ -428,6 +434,30 @@ QString RDLibraryConf::cdServerTypeText(RDLibraryConf::CdServerType type)
|
||||
}
|
||||
|
||||
|
||||
QPixmap RDLibraryConf::cdServerLogo(CdServerType type)
|
||||
{
|
||||
QPixmap ret;
|
||||
|
||||
switch(type) {
|
||||
case RDLibraryConf::DummyType:
|
||||
ret=QPixmap(cd_text_55x47_xpm);
|
||||
break;
|
||||
|
||||
case RDLibraryConf::CddbType:
|
||||
ret=QPixmap(cddb_60x25_xpm);
|
||||
break;
|
||||
|
||||
case RDLibraryConf::MusicBrainzType:
|
||||
ret=QPixmap(musicbrainz_159x25_xpm);
|
||||
break;
|
||||
|
||||
case RDLibraryConf::LastType:
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
void RDLibraryConf::SetRow(const QString ¶m,int value) const
|
||||
{
|
||||
RDSqlQuery *q;
|
||||
|
@ -84,6 +84,7 @@ class RDLibraryConf
|
||||
bool searchLimited() const;
|
||||
void setSearchLimited(bool state) const;
|
||||
static QString cdServerTypeText(CdServerType type);
|
||||
static QPixmap cdServerLogo(CdServerType type);
|
||||
|
||||
private:
|
||||
void SetRow(const QString ¶m,int value) const;
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// RDDiscLookup instance class for MusicBrainz
|
||||
//
|
||||
// (C) Copyright 2003-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2003-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Library General Public License
|
||||
@ -53,7 +53,6 @@
|
||||
#include "rdconf.h"
|
||||
#include "rdmblookup.h"
|
||||
|
||||
#include "../icons/musicbrainz-159x25.xpm"
|
||||
#include "../icons/cover_art_default-60x60.xpm"
|
||||
|
||||
QString err_str="OK";
|
||||
@ -118,7 +117,7 @@ QString RDMbLookup::sourceName() const
|
||||
|
||||
QPixmap RDMbLookup::sourceLogo() const
|
||||
{
|
||||
return QPixmap(musicbrainz_159x25_xpm);
|
||||
return RDLibraryConf::cdServerLogo(RDLibraryConf::MusicBrainzType);
|
||||
}
|
||||
|
||||
|
||||
@ -246,7 +245,7 @@ void RDMbLookup::lookupRecord()
|
||||
result_code=RDDiscLookup::NoMatch;
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
emit lookupDone(result_code,err_str);
|
||||
processLookup(result_code,err_str);
|
||||
}
|
||||
|
||||
|
||||
@ -260,7 +259,8 @@ RDDiscLookup::Result RDMbLookup::ProcessRelease(MusicBrainz5::CRelease *release)
|
||||
// Extract Basic Release Data
|
||||
//
|
||||
discRecord()->setDiscReleaseMbId(QString::fromUtf8(release->ID().c_str()));
|
||||
discRecord()->setDiscAlbum(QString::fromUtf8(release->Title().c_str()));
|
||||
discRecord()->setDiscAlbum(RDDiscRecord::RemoteSource,
|
||||
QString::fromUtf8(release->Title().c_str()));
|
||||
//discRecord()->setDiscGenre();
|
||||
QStringList f0=QString::fromUtf8(release->Date().c_str()).split("-");
|
||||
discRecord()->setDiscYear(f0.at(0).toInt());
|
||||
@ -284,7 +284,7 @@ RDDiscLookup::Result RDMbLookup::ProcessRelease(MusicBrainz5::CRelease *release)
|
||||
QString::fromUtf8(credits->Item(j)->Artist()->Name().c_str());
|
||||
str+=QString::fromUtf8(credits->Item(j)->JoinPhrase().c_str());
|
||||
}
|
||||
discRecord()->setDiscArtist(str);
|
||||
discRecord()->setDiscArtist(RDDiscRecord::RemoteSource,str);
|
||||
}
|
||||
|
||||
//
|
||||
@ -307,7 +307,8 @@ RDDiscLookup::Result RDMbLookup::ProcessRelease(MusicBrainz5::CRelease *release)
|
||||
MusicBrainz5::CTrack *track=tracks->Item(k);
|
||||
MusicBrainz5::CRecording *recording=track->Recording();
|
||||
discRecord()->
|
||||
setTrackTitle(k,QString::fromUtf8(recording->Title().c_str()));
|
||||
setTrackTitle(RDDiscRecord::RemoteSource,k,
|
||||
QString::fromUtf8(recording->Title().c_str()));
|
||||
discRecord()->
|
||||
setTrackRecordingMbId(k,QString::fromUtf8(recording->ID().c_str()));
|
||||
MusicBrainz5::CISRCList *isrcs=recording->ISRCList();
|
||||
|
@ -2,7 +2,7 @@
|
||||
##
|
||||
## Automake.am for rivendell/rdlibrary
|
||||
##
|
||||
## (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
## (C) Copyright 2002-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License version 2 as
|
||||
|
@ -602,18 +602,23 @@ void CdRipper::stoppedData()
|
||||
|
||||
void CdRipper::lookupDoneData(RDDiscLookup::Result result,const QString &err_msg)
|
||||
{
|
||||
RDDiscRecord::DataSource src=RDDiscRecord::RemoteSource;
|
||||
|
||||
switch(result) {
|
||||
case RDDiscLookup::ExactMatch:
|
||||
if(rip_cdrom->status()!=RDCdPlayer::Ok) {
|
||||
return;
|
||||
}
|
||||
rip_artist_edit->setText(rip_disc_record->discArtist());
|
||||
rip_album_edit->setText(rip_disc_record->discAlbum());
|
||||
//
|
||||
// FIXME: What do we do if we get BOTH local and remote data?
|
||||
//
|
||||
rip_artist_edit->setText(rip_disc_record->discArtist(src));
|
||||
rip_album_edit->setText(rip_disc_record->discAlbum(src));
|
||||
rip_label_edit->setText(rip_disc_record->discLabel());
|
||||
rip_other_edit->setText(rip_disc_record->discExtended());
|
||||
for(int i=0;i<rip_disc_record->tracks();i++) {
|
||||
rip_track_list->findItem(QString().sprintf("%d",i+1),0)->
|
||||
setText(2,rip_disc_record->trackTitle(i));
|
||||
setText(2,rip_disc_record->trackTitle(src,i));
|
||||
rip_track_list->findItem(QString().sprintf("%d",i+1),0)->
|
||||
setText(3,rip_disc_record->trackExtended(i));
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// CD Disk Ripper Dialog for Rivendell.
|
||||
//
|
||||
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -122,8 +122,8 @@ DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode,
|
||||
rip_apply_box->setChecked(true);
|
||||
rip_apply_box->setDisabled(true);
|
||||
rip_apply_label=new QLabel(rip_apply_box,tr("Apply")+" "+
|
||||
rip_disc_lookup->sourceName()+" "+
|
||||
tr("Values to Carts"),this);
|
||||
tr("Metadata")+" "+
|
||||
tr("Values to Carts"),this);
|
||||
rip_apply_label->setFont(labelFont());
|
||||
rip_apply_label->setAlignment(Qt::AlignLeft);
|
||||
rip_apply_box->setChecked(false);
|
||||
@ -769,7 +769,7 @@ void DiskRipper::mediaChangedData()
|
||||
rip_cutnames.push_back(QString());
|
||||
rip_end_track.push_back(-1);
|
||||
rip_wave_datas.push_back(new RDWaveData());
|
||||
rip_wave_datas.back()->setTitle(tr("Track")+QString().sprintf(" %d",rip_cdrom->tracks()-i+1));
|
||||
rip_wave_datas.back()->setTitle(tr("Track")+QString().sprintf(" %d",i));
|
||||
l=new RDListViewItem(rip_track_list);
|
||||
l->setText(0,QString().sprintf("%d",i));
|
||||
if(rip_cdrom->isAudio(i)) {
|
||||
@ -779,6 +779,7 @@ void DiskRipper::mediaChangedData()
|
||||
l->setText(4,tr("Data Track"));
|
||||
}
|
||||
l->setText(1,RDGetTimeLength(rip_cdrom->trackLength(i)));
|
||||
l->setText(2,rip_wave_datas.back()->title());
|
||||
}
|
||||
rip_disc_record.clear();
|
||||
rip_cdrom->setCddbRecord(&rip_disc_record);
|
||||
@ -803,40 +804,63 @@ void DiskRipper::stoppedData()
|
||||
|
||||
|
||||
void DiskRipper::lookupDoneData(RDDiscLookup::Result result,
|
||||
const QString &err_msg)
|
||||
const QString &err_msg)
|
||||
{
|
||||
RDDiscRecord::DataSource src=RDDiscRecord::LastSource;
|
||||
if(rip_disc_record.hasData(RDDiscRecord::LocalSource)) {
|
||||
src=RDDiscRecord::LocalSource;
|
||||
}
|
||||
else {
|
||||
if(rip_disc_record.hasData(RDDiscRecord::RemoteSource)) {
|
||||
src=RDDiscRecord::RemoteSource;
|
||||
}
|
||||
else {
|
||||
rip_apply_box->hide();
|
||||
rip_apply_label->hide();
|
||||
rip_track=-1;
|
||||
return; // Apply no metadata
|
||||
}
|
||||
}
|
||||
|
||||
switch(result) {
|
||||
case RDDiscLookup::ExactMatch:
|
||||
if(rip_cdrom->status()!=RDCdPlayer::Ok) {
|
||||
rip_track=-1;
|
||||
return;
|
||||
}
|
||||
rip_artist_edit->setText(rip_disc_record.discArtist());
|
||||
rip_album_edit->setText(rip_disc_record.discAlbum());
|
||||
rip_artist_edit->setText(rip_disc_record.discArtist(src));
|
||||
rip_album_edit->setText(rip_disc_record.discAlbum(src));
|
||||
rip_other_edit->setText(rip_disc_record.discExtended());
|
||||
for(int i=0;i<rip_disc_record.tracks();i++) {
|
||||
rip_track_list->findItem(QString().sprintf("%d",i+1),0)->
|
||||
setText(2,rip_disc_record.trackTitle(i));
|
||||
setText(2,rip_disc_record.trackTitle(src,i));
|
||||
rip_track_list->findItem(QString().sprintf("%d",i+1),0)->
|
||||
setText(3,rip_disc_record.trackExtended(i));
|
||||
rip_wave_datas[i]->setTitle(rip_disc_record.trackTitle(i));
|
||||
rip_wave_datas[i]->setArtist(rip_disc_record.discArtist());
|
||||
rip_wave_datas[i]->setAlbum(rip_disc_record.discAlbum());
|
||||
rip_wave_datas[i]->setLabel(rip_disc_record.discLabel());
|
||||
rip_wave_datas[rip_wave_datas.size()-i-1]->setTitle(rip_disc_record.trackTitle(src,i));
|
||||
rip_wave_datas[rip_wave_datas.size()-i-1]->setArtist(rip_disc_record.discArtist(src));
|
||||
rip_wave_datas[rip_wave_datas.size()-i-1]->setAlbum(rip_disc_record.discAlbum(src));
|
||||
rip_wave_datas[rip_wave_datas.size()-i-1]->setLabel(rip_disc_record.discLabel());
|
||||
}
|
||||
rip_apply_box->setChecked(true);
|
||||
rip_apply_box->setEnabled(true);
|
||||
rip_apply_label->setEnabled(true);
|
||||
rip_browser_button->setDisabled(rip_disc_lookup->sourceUrl().isNull());
|
||||
rip_browser_label->setDisabled(rip_disc_lookup->sourceUrl().isNull());
|
||||
rip_apply_box->show();
|
||||
rip_apply_label->show();
|
||||
break;
|
||||
|
||||
case RDDiscLookup::NoMatch:
|
||||
rip_apply_box->hide();
|
||||
rip_apply_label->hide();
|
||||
rip_track=-1;
|
||||
break;
|
||||
|
||||
case RDDiscLookup::LookupError:
|
||||
QMessageBox::warning(this,"RDLibrary - "+rip_disc_lookup->sourceName()+
|
||||
" "+tr("Lookup Error"),err_msg);
|
||||
rip_apply_box->hide();
|
||||
rip_apply_label->hide();
|
||||
rip_track=-1;
|
||||
break;
|
||||
}
|
||||
@ -1061,7 +1085,7 @@ void DiskRipper::RipTrack(int track,int end_track,QString cutname,QString title)
|
||||
runImport(rda->user()->name(),rda->user()->password(),
|
||||
&audio_conv_err))) {
|
||||
case RDAudioImport::ErrorOk:
|
||||
cart->setMetadata(rip_wave_datas[track-1]);
|
||||
cart->setMetadata(rip_wave_datas[rip_wave_datas.size()-track]);
|
||||
cut->setDescription(rip_wave_datas[track-1]->title());
|
||||
cut->setIsrc(rip_disc_record.isrc(rip_track_number-1));
|
||||
cut->setRecordingMbId(rip_disc_record.trackRecordingMbId(rip_track_number-1));
|
||||
@ -1141,6 +1165,7 @@ QString DiskRipper::BuildTrackName(int start_track,int end_track) const
|
||||
}
|
||||
item=(RDListViewItem *)item->nextSibling();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// CD Disk Ripper Dialog for Rivendell
|
||||
//
|
||||
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2022 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
|
@ -752,6 +752,10 @@ Selection</source>
|
||||
<source>Lookup Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditCart</name>
|
||||
|
@ -751,6 +751,10 @@ Selection</source>
|
||||
<source>Lookup Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditCart</name>
|
||||
|
@ -752,6 +752,10 @@ Selection</source>
|
||||
<source>Lookup Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditCart</name>
|
||||
|
@ -580,6 +580,10 @@ Selection</source>
|
||||
<source>Lookup Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditCart</name>
|
||||
|
@ -744,6 +744,10 @@ Selection</source>
|
||||
<source>Lookup Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditCart</name>
|
||||
|
@ -744,6 +744,10 @@ Selection</source>
|
||||
<source>Lookup Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditCart</name>
|
||||
|
@ -745,6 +745,10 @@ Selection</source>
|
||||
<source>Lookup Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditCart</name>
|
||||
|
Loading…
x
Reference in New Issue
Block a user